Chap2: TỔ CHỨC BỘ NHỚ MÁY TÍNH
(memory organization)
GV: TS. Trần Thị Minh Khoa
1.
2.
3.
4.
5.
6.
7.
2
Tổng quan về hệ thống bộ nhớ
Bộ nhớ bán dẫn
Bộ nhớ chính
Bộ nhớ cache
Bộ nhớ ngồi
Bộ nhớ ảo
Hệ thống nhớ trên máy tính cá nhân
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Nguyên tắc chung của cache
1.
Nguyên lý cục bộ hoá tham chiếu bộ nhớ: Trong một khoảng
thời gian đủ nhỏ CPU thường chỉ tham chiếu các thơng tin
trong một khối bộ nhớ cục bộ
Ví dụ:
3
Cấu trúc chương trình tuần tự
Vịng lặp có thân nhỏ
Cấu trúc dữ liệu mảng
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Nguyên tắc chung của cache
1.
4
Cache có tốc độ nhanh hơn bộ nhớ chính
Cache được đặt giữa CPU và BNC nhằm tang tốc đọ CPU truy cập bộ
nhớ
Cache có thể được đặt trên chip CPU
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Ví dụ về thao tác của cache
5
CPU yêu cầu nội dung của ngăn nhớ
CPU kiểm tra trên cache với dữ liệu này
Nếu có, CPU nhận dữ liệu từ cache (nhanh)
Nếu khơng có, đọc Block nhớ chứa dữ liệu từ bộ nhớ chính vào
cache
Tiếp đó chuyển dữ liệu từ cache vào CPU
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Cấu trúc chung của cache / bộ nhớ chính
6
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Cấu trúc chung của cache / bộ nhớ chính
Bộ nhớ chính có 2N byte nhớ
BNC và cache được chia thành các khối có kích thước bằng
nhau
7
BNC: B0, B1, B2, …, Bp-1 (p Blocks)
BN cache: L0, L1, L2, …, Lm-1 (m Lines)
Kích thước của Block = 8, 16, 32, 64, 128 bytes
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Cấu trúc chung của cache / bộ nhớ chính
Một số Block của bộ nhớ chính được nạp vào các Line của
cache.
Nội dung Tag (thẻ nhớ) cho biết Block nào của bộ nhớ chính
hiện đang được chứa ở Line đó.
Khi CPU truy nhập (đọc/ghi) một từ nhớ, có hai khả năng xảy
ra:
8
Từ nhớ đó có trong cache (cache hit)
Từ nhớ đó khơng có trong cache (cache miss)
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Các phương pháp ánh xạ
2.
9
Ánh xạ trực tiếp (Direct mapping)
Ánh xạ liên kết toàn phần (Fully associative mapping)
Ánh xạ liên kết tập hợp (Set associative mapping)
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Ánh xạ trực tiếp
Mỗi block của BNC chỉ có thể được nạp vào 1 line của cache:
Tổng quát
10
B0 L0
B1 L1
…
Bm-1 Lm-1
Bm L0
Bm+1 L1
Bj chỉ có thể nạp vào Lj mod m
m là số line của cache
He thong may tinh -
Minh hoạ ánh xạ trực tiếp
11
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Đặc điểm của ánh xạ trực tiếp
Mỗi một địa chỉ N bit của bộ nhớ chính gồm 3 trường:
12
Trường WORD gồm W bit xác định một từ nhớ trong Block hay Line
2W = kích thước của Block hay Line
Trường LINE gồm L bit xác định một trong số các Line trong cache:
2L = số Line trong cache = m
Trường TAG gồm T bit
T = N – (W+L)
Bộ so sánh đơn giản
Xác suất cache hit thấp
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Ánh xạ liên kết tồn phần
Mỗi Block có thể nạp vào bất kỳ Line nào của cache
Địa chỉ của bộ nhớ chính bao gồm 2 trường
13
Trường WORD giống như trường hợp ánh xạ trực tiếp
Trường TAG dùng để xác định Block của bộ nhớ chính
TAG xác định Block đang nằm ở Line đó
He thong may tinh -
Minh hoạ ánh xạ liên kết toàn phần
14
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Đặc điểm của ánh xạ liên kết toàn phần
15
So sánh đồng thời với tất cả các Tag mất nhiều thời gian
Xác suất cache hit cao
Bộ so sánh phức tạp
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Ánh xạ liên kết tập hợp
Cache được chia thành các Tập (set)
Mỗi Set chứa một số Line
Ví dụ
Ánh xạ theo nguyên tắc sau:
16
4 Line/Set 4 cách ánh xạ liên kết tập hợp
B0 S0
B1 S1
B2 S2
…
He thong may tinh -
Minh hoạ ánh xạ liên kết tập hợp
17
He thong may tinh -
4. Bộ nhớ đệm nhanh (Cach Memory)
Đặc điểm của ánh xạ liên kết tập hợp
18
Kích thước Block = 2W Word
Trường Set có S bit dùng để xác định một trong số V = 2S Set
Trường Tag có T bit: T = N – (W+S)
Tổng quát cho cả 2 phương pháp trên
Thông thường 2, 4, 8, 16 Lines/Set
He thong may tinh -
Ví dụ về Ánh xạ địa chỉ
Khơng gian địa chỉ bộ nhớ chính = 4GB
Dung lượng bộ nhớ cache là 256KB
Kích thước Line (Block) = 32 bytes
Xác định số bit của các trường địa chỉ cho 3 trường hợp
tổ chức:
19
Ánh xạ trực tiếp
Ánh xạ liên kết toàn phần
Ánh xạ liên kết tập hợp 4 đường
He thong may tinh -
Với ánh xạ trực tiếp
Bộ nhớ chính = 4GB = 232 byte N = 32 bit
Cache = 256KB = 218 byte
Line = 32byte = 25 byte W = 5 bit
Số Line trong Cache = 218 / 25 = 213 Line L = 13 bit
T = 32 – (13+5) = 14 bit
Tag
14 bit
20
Line
13 bit
Word
5 bit
He thong may tinh -
Với ánh xạ liên kết tồn phần
Bộ nhớ chính = 4GB = 232 byte N = 32 bit
Line = 32byte = 25 byte W = 5 bit
Số bít của trường Tag sẽ là: T = 32 – 5 = 27 bit
Tag
27 bit
21
Word
5 bit
He thong may tinh -
Với ánh xạ liên kết tập hợp 4 đường
Bộ nhớ chính = 4GB = 232 byte N = 32 bit
Line = 32byte = 25 byte W = 5 bit
Số Line trong Cache = 218 / 25 = 213 Line
Một Set có 4 Line = 22 line
Số Set trong cache = 213 / 22 = 211 Set S = 11 bit
T = 32 – (11+5) = 16 bit
Tag
16 bit
22
Set
11 bit
Word
5 bit
He thong may tinh -
Xác định chỉ số dòng trên cache đang lưu block có địa chỉ
sau: 3FE9704Ah
Giải:
3FE9704Ah = 0011 1111 1110 1001 0111 0000 0100 1010 b
Tag
Line
Word
Size
14 bit
13 bit
5 bit
Hệ 2
0011 1111 1110 10
01 0111 0000 010
0 1010
Hệ 10
4090
2946
10
23
He thong may tinh -