Silde bài giảng Hệ thống bộ nhớ
Trang 1Chương VIII: Hệ thống bộ nhớ
8.1 Các cấp bộ nhớ
8.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
8.2.2 Kỹ thuật thay thế khối nhớ
8.2.3 Chiến thuật ghi
8.2.4 Các loại cache
8.3 Bộ nhớ trong (Main memory)
8.4 Bộ nhớ ảo (Virtual memory)
Trang 28.1 Các cấp bộ nhớ
Các cấp bộ nhớ bắt đầu từ bộ nhớ nhanh, dung lương
ít đến các bộ nhớ chậm với dung lượng lớn hơn nhiều
Trang 38.1 Các cấp bộ nhớ
Khi bộ vi xử lý cần truy cập đến một từ nhớ (hay một câu lệnh), việc tìm kiếm từ nhớ được thực thi theo thứ tự:
B1 Tìm từ nhớ trong bộ nhớ mức cao nhất (cache)
Xác suất tìm thấy từ nhớ ở đây là h1 (tỷ số thành công _ hit ratio)
Xác suất không tìm thấy từ nhớ ở đây là (1-h1) (tỷ số thất bại _ miss ratio)
B2 Khi không tìm thấy từ nhớ trong bước 1 thì tìm ở cấp bộ nhớ thấp hơn
(trong cache L2, hoặc memory)
Tương tự như trên ta có các tỷ số h2, (1-h2)
Quá trình tiếp diễn cho đến khi tìm thấy từ nhớ cần thiết hoặc hết cấp bộ nhớ
Khi tìm thấy, từ nhớ sẽ được chuyển cho bộ xử lý và cập nhật lại dữ liệu trong các cấp bộ nhớ cần thiết.
Trang 48.1 Các cấp bộ nhớ
Công thức tính thời gian trung bình tìm thấy một từ nhớ (giả sử cấp bộ nhớ có 3 cấp)
Trang 58.1 Các cấp bộ nhớ
Dữ liệu nào nên được đưa vào cache?
Tổ chức sao cho các lệnh và dữ liệu thường dùng được nằm trong cache, làm tăng hiệu quả và tốc độ máy tính
Trang 6Chương VIII: Hệ thống bộ nhớ
8.1 Các cấp bộ nhớ
8.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
8.2.2 Kỹ thuật thay thế khối nhớ
8.2.3 Chiến thuật ghi
8.2.4 Các loại cache
8.3 Bộ nhớ trong (Main memory)
8.4 Bộ nhớ ảo (Virtual memory)
Trang 78.2 Bộ nhớ Cache (Cache memory)
Trang 88.2.1 Tổ chức
a) MMU (memory management unit)
Trang 98.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Để máy tính chạy nhanh các lệnh và dữ liệu thường dùng phải được đưa vào cache.
Nhưng dung lượng bộ nhớ cache nhỏ, nên chỉ chứa được một phần chương trình nằm trong bộ nhớ trong như thế nào để biết khối dữ liệu nào đó của cache tương ứng với phần nào trong bộ nhớ chính (ánh xạ) và các khối nhớ của bộ nhớ chính đặt vào trong cache như thế nào?
Có 3 kỹ thuật ánh xạ:
Kiểu tương ứng trực tiếp (Direct Mapping)
Kiểu hoàn toàn phối hợp (Fully Associative Mapping)
Kiểu phối hợp theo tập hợp (Set – Associative Mapping)
Trang 108.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Kiểu tương ứng trực tiếp (Direct Mapping)
Trang 128.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Kiểu tương ứng trực tiếp (Direct Mapping)
Trang 158.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Kiểu tương ứng trực tiếp (Direct Mapping)
Ưu điểm: rất đơn giản,không cần tốn thời gian tìm kiếm, cơ chế
thay thế khối nhớ đơn giản
Nhược điểm: sử dụng cache không hiệu quả.
Ví dụ: bộ vi xử lý chỉ yêu cầu các khối có thứ tự
0,128,256,384,3968 trong ví dụ 2 trên Như vậy vị trí 0 của
cache phải hoạt động xóa nạp liên tục, trong khi các vị trí khác trống
Trang 168.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Kiểu hoàn toàn phối hợp (Fully Associative Mapping)
Một khối trong bộ nhớ trong có thể được đặt vào vị trí trống bất
kì trong cache Nếu không còn vị trí nào trống, kỹ thuật thay thế khối sẽ được thực hiện (trình bày trong slide sau)
Trang 188.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Kiểu hoàn toàn phối hợp (Fully Associative Mapping)
Trang 218.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Kiểu hoàn toàn phối hợp (Fully Associative Mapping)
Ưu điểm: sử dụng cache hiệu quả, khắc phục khuyết điểm của
Direct mapping
Khuyết điểm: đòi hỏi thiết kế phần cứng phức tạp nhằm tìm
kiếm khối nhanh hơn
Trang 228.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Có 3 kỹ thuật ánh xạ:
Kiểu tương ứng trực tiếp (Direct Mapping)
Ưu điểm: rất đơn giản,không cần tốn thời gian tìm kiếm, cơ chế thay thế khối nhớ
đơn giản
Nhược điểm: sử dụng cache không hiệu quả.
Kiểu hoàn toàn phối hợp (Fully Associative Mapping)
Ưu điểm: sử dụng cache hiệu quả, khắc phục khuyết điểm của Direct mapping
Khuyết điểm: đòi hỏi thiết kế phần cứng phức tạp nhằm tìm kiếm khối nhanh hơn
Kiểu phối hợp theo tập hợp (Set – Associative Mapping)
Dung hòa ưu, khuyết điểm của hai cách trên Cache được chia ra làm các tập hợp, mỗi tập hợp chứa các khối trong đó Số lượng các khối trong mỗi tập hợp bằng nhau Một khối trong bộ nhớ trong thuộc tập hợp nào của cache được xác định theo công thức mod giống Direct Mapping; và trong mỗi tập hợp các khối được đặt ở vị trí bất kì như trong Fully Associative Mapping.
Trang 238.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Kiểu phối hợp theo tập hợp (Set – Associative Mapping)
s: số thứ tự của tập hợp mà khối được đặt vào
i: số thứ tự của khối trong bộ nhớ trong
S: số tập hợp cache có
Trang 2412 mod 4 = 0
Trang 258.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
b) Các kỹ thuật ánh xạ giữa bộ nhớ chính và cache
Kiểu phối hợp theo tập hợp (Set – Associative Mapping)
Trang 28Chương VIII: Hệ thống bộ nhớ
8.1 Các cấp bộ nhớ
8.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
8.2.2 Kỹ thuật thay thế khối nhớ
8.2.3 Chiến thuật ghi
8.2.4 Các loại cache
8.3 Bộ nhớ trong (Main memory)
8.4 Bộ nhớ ảo (Virtual memory)
Trang 298.2 Bộ nhớ Cache (Cache memory)
8.2.2 Kỹ thuật thay thế khối nhớ
Như vậy, khi cần lấy dữ liệu, vi xử lý đưa địa chỉ tới MMU, MMU phân tích (theo
3 kỹ thuật ánh xạ), để xem xét xem dữ liệu có trong cache hay không
Nếu có: dữ liệu được đưa cho vi xử lý
Nếu không: vào bộ nhớ trong lấy khối dữ liệu mà bộ xử lý cần đưa vào cache Như vậy, nếu các vị trí trong cache đều không trống thì khối nào sẽ nhường chỗ cho khối mới này?
Đối với Direct Mapping: khối mới luôn viết vào đúng vị trí theo công thức
Đối với Fully Associative Mapping và Associative Mapping như thế nào?
Trang 30
8.2 Bộ nhớ Cache (Cache memory)
8.2.2 Kỹ thuật thay thế khối nhớ
Đối với Fully Associative Mapping và Associative Mapping:
Trang 31
Chương VIII: Hệ thống bộ nhớ
8.1 Các cấp bộ nhớ
8.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
8.2.2 Kỹ thuật thay thế khối nhớ
8.2.3 Chiến thuật ghi
8.2.4 Các loại cache
8.3 Bộ nhớ trong (Main memory)
8.4 Bộ nhớ ảo (Virtual memory)
Trang 328.2 Bộ nhớ Cache (Cache memory)
8.2.3 Chiến thuật ghi
1 Ghi đồng thời (Write-through): Thông tin được ghi đồng thời vào khối của cache và
khối của bộ nhớ trong
Cách này làm chậm tốc độ chung của hệ thống
2 Ghi lại (Write-back): Để đảm bảo tốc độ xử lý, thông tin cần ghi chỉ được ghi vào khối
trong của cache, Dirty bit hay Update bit được thiết lập Việc ghi vào bộ nhớ trong sẽ bị hoãn lại cho đến khi cần có thay thế khối Khi một khối bị thay thế, khối này sẽ được ghi lại bộ nhớ trong chỉ khi Dirty bit hay Update bit được thiết lập
Cách làm này tăng tốc độ hệ thống lên rất nhiều; tuy nhiên việc đồng nhất dữ liệu giữa cache và bộ nhớ trong chỉ được đảm bảo vào thời gian thay thế khối.
Nếu khối cần khi không có trong cache:
• Ghi có nạp (write-allocate): khối cần ghi từ bộ nhớ trong được nạp vào trong cache
• Ghi không nạp (write-no-allocate): khối được thay đổi ở bộ nhớ trong không được đưa vào cache
Trang 33Chương VIII: Hệ thống bộ nhớ
8.1 Các cấp bộ nhớ
8.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
8.2.2 Kỹ thuật thay thế khối nhớ
8.2.3 Chiến thuật ghi
8.2.4 Các loại cache
8.3 Bộ nhớ trong (Main memory)
8.4 Bộ nhớ ảo (Virtual memory)
Trang 348.2 Bộ nhớ Cache (Cache memory)
8.2.4 Các loại cache
Trang 358.2 BỘ NHỚ CACHE (CACHE MEMORY)
8.2.4 Các loại cache
Một số máy tính dùng một cache duy nhất để chứa đồng thời cả lệnh và dữ liệu
Một số máy sử dụng cache lệnh riêng, cache dữ liệu riêng
(Pentium, Pentium 4, Itanium, PowerPC 620, IBM SP, …)
Ưu khuyết điểm là gì?
Trang 36Chương VIII: Hệ thống bộ nhớ
8.1 Các cấp bộ nhớ
8.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
8.2.2 Kỹ thuật thay thế khối nhớ
8.2.3 Chiến thuật ghi
8.2.4 Các loại cache
8.3 Bộ nhớ trong (Main memory) (tự đọc)
8.4 Bộ nhớ ảo (Virtual memory)
Trang 378.4 BỘ NHỚ ẢO (VIRTUAL MEMORY)
Trang 38http://www.mediafire.com/?64ec2ohb86ym2ym