Click to edit Master subtitle style
9
/
1
2
/
1
2
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)
9
/
1
2
/
1
2
8.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.
9
/
1
2
/
1
2
8.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.
9
/
1
2
/
1
2
8.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)
9
/
1
2
/
1
2
8.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
⇒
Click to edit Master subtitle style
9
/
1
2
/
1
2
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)
9
/
1
2
/
1
2
8.2 Bộ nhớ Cache (Cache memory)
9
/
1
2
/
1
2
8.2 Bộ nhớ Cache (Cache memory)
8.2.1 Tổ chức
a) MMU (memory management unit)
9
/
1
2
/
1
2
8.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ạ:
v
Kiểu tương ứng trực tiếp (Direct Mapping)
v
Kiểu hoàn toàn phối hợp (Fully Associative Mapping)
v
Kiểu phối hợp theo tập hợp (Set – Associative
Mapping)
9
/
1
2
/
1
2
8.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
v
Kiểu tương ứng trực tiếp (Direct Mapping)
9
/
1
2
/
1
2
9
/
1
2
/
1
2
8.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
v
Kiểu tương ứng trực tiếp (Direct Mapping)
9
/
1
2
/
1
2
9
/
1
2
/
1
2
9
/
1
2
/
1
2
8.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
v
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