Mỗi Block của BNC chỉ được ánh xạ vào một Line duy nhất:
45á nh xạ trực tiếp
Như vậy: L0 : B0, Bm, B2m, ..., Bnm L1 : B1, Bm+1, B2m+1, ..., Bnm+1 . . . . Lm-1: Bm-1, B2m-1, B3m-1, ..., B(n+1)m-1
46
ánh xạ trực tiếp
Khi đó, địa chỉ do CPU phát ra gồm 3 trường:
• Word: xác định số hiệu ngăn nhớ trong Block
⇒ Block (Line) có 2w ngăn nhớ
• Line: xác định số hiệu Line trong cache
⇒ Cache có 2r Line, cache chứa 2r + w ngăn nhớ
• Tag: xác định Block nào đang ở trong Line
⇒ BNC chứa 2(s - r) + r + w = 2s + w ngăn nhớ
Tag Line Word
47
Ví dụ 1
Cho máy tính có dung lượng:
• BNC = 128 MB, cache = 256 KB, line = 32 byte, • Độ dài ngăn nhớ = 1 byte.
Tìm dạng địa chỉ do BXL phát ra?
Giải: Ta có:
• BNC = 128 MB = 27 * 220 byte = 227 byte
• Cache = 256 KB = 28 * 210 byte = 218 byte
• Line = 32 byte = 25 byte ⇒ w = 5
• Số lượng Line trong cache: 218/25 = 213 ⇒ r = 13
• Số bit của phần Tag: 27 - 13 - 5 = 9, s - r = 9
513 13
48
Ví dụ 2
Cho máy tính có dung lượng:
• BNC = 256 MB, cache = 64 KB, line = 16 byte, • Độ dài ngăn nhớ = 4 byte.
Tìm dạng địa chỉ do BXL phát ra?
Giải: Ta có:
• BNC = 256 MB = 228 byte = 228/22 = 226 ng/nhớ
• Cache = 64 KB = 216 byte = 216/22 = 214 ng/nhớ
• Line = 16 byte =24/22 = 22 ng/nhớ ⇒ w = 2
• Số lượng Line trong cache: 214/22 = 210 ⇒ r = 10
• Số bit của phần Tag: 26 - 10 - 2 = 9, s - r = 14
210 10
49
50
Nhận xét
ưu điểm:
• Dễ thực hiện, vì một Block được ánh xạ cố định
vào một Line ⇒ không cần thuật toán chọn Line.
• Thiết kế mạch đơn giản.
Nhược điểm:
51
ánh xạ liên kết hoàn toàn
Mỗi Block trong BNC được ánh xạ vào một Line bất kỳ trong Cache
Khi đó, địa chỉ do BXL phát ra có dạng:
• Word: xác định ngăn nhớ trong Block
⇒ Block có 2w ngăn nhớ
• Tag: xác định Block đang ở trong Line
⇒ Số lượng Block: 2s
⇒ Dung lượng BNC: 2s + w ngăn nhớ
Tag Word
52
53
Nhận xét
ưu điểm:
• Tỉ lệ cache hit cao hơn ánh xạ trực tiếp vì một
Block được phép vào một Line bất kỳ.
Nhược điểm:
• Thiết kế mạch tương đối phức tạp, thể hiện ở
54
ánh xạ liên kết tập hợp