Bài giảng Kiến trúc máy tính - Chương 5: Bộ nhớ đệm (Caches) - Tạ Kim Huệ
Chương 5
Bộ nhớ đệm (Caches)
Nội dung
• Phâ n cấp bộ nhớ
– Làm thế nào để tạo ra một bộ nhớ lớn và nhanh?
– Liên kết SRAM, DRAM, và đĩa cứng
• Caching
– Những bộ nhớ nhỏ lưu những dữ liệu quan trọng
– Ví dụ
• Bộ nhớ cache làm việc như thế nào?
– Cá c thẻ: Tags
– Cá c khối: Blocks (lines)
• Thực thi
– 3 loại cache: kết hợp toàn phần (Fully‐associative), kết hợp theo tập
hợp (set‐associative), á nh xạ trực tiếp (direct‐mapped)
• Hiệu năng
Đặt vấn đề
• Cần bộ nhớ lớn và nhanh
– Bộ nhớ lệnh lớn ISA : 232 memory address (4GB)
– Yêu cầu nhanh vì 33% cá c lệnh là loads/stores và 100% cá c lệnh cần phải tải
về thanh ghi lệnh
• Tồn tại bộ nhớ có thể có dung lượng lớn và truy nhập nhanh?
Bộ nhớ lớn và nhanh
• Cá c loại bộ nhớ đã có ?
– Hard disk: Huge (1000 GB) Super slow (1M cycles)
– Flash: Big (100 GB) Very slow (1k cycles)
– DRAM: Medium (10 GB) Slow (100 cycles)
– SRAM: Small (10 MB) Fast (1‐10 cycles)
• Cần bộ nhớ nhanh và lớn
– Khô ng thể sử dụng SRAM (too small)
– Khô ng thể sử dụng DRAM (too slow and small)
– Khô ng thể sử dụng Flash/Hard disk (way too slow)
• Có thể kết nối giữa chúng:
– Speed từ (small) SRAMs
– Size từ (big) DRAM và Hard disk
Xâ y dựng một phâ n cấp sử dụng cô ng nghệ khá c để tận dụng cá c ưu điểm của
cá c bộ nhớ có sẵn.
Phâ n cấp bộ nhớ
• Phâ n loại:
– Dung lượng nhỏ và nhanh: SRAM
– Chậm: DRAM
– Đĩa cứng dung lượng lớn nhưng
rất chậm
• Viễn cảnh:
– Rất lớn
– Rất nhanh (on average)
• Mục tiêu?
– Lưu trữ thô ng tin quan trọng trong
bộ nhớ nhanh.
– Di chuyển những thô ng tin khô ng
quan trọng vào bộ nhớ chậm
Ví dụ: sửa video
• Video dung lượng lớn (lớn hơn DRAM)
• Lưu vào ổ cứng
• Tải phần cần chỉnh sửa vào DRAM
• CPU tải dữ liệu để xử lý vào cache.
• Di chuyển dữ liệu mới vào DRAM và
cache khi xử lý video
• Chú ý:
– Lưu những dữ liệu quan trọng vào
bộ nhớ nhanh
– Di chuyển những dữ liệu khô ng
quan trọng vào bộ nhớ chậm
Phâ n cấp bộ nhớ ngày nay (Intel
Nehalem)
So sá nh sự phá t triển cô ng nghệ…
Làm thế nào để SRAMs có dung
lượng lớn hơn, DRAM truy cập
nhanh hơn?
Cá c ý tưởng cơ bản về cache
• Đặt những dữ liệu quan trọng trong bộ
nhớ nhỏ và nhanh (cache).
• Nếu truy cập (load/store) những dữ liệu
quan trọng, cần thực hiện nhanh.
• Nếu truy cập (load/store) những dữ liệu
khá c, dịch chuyển dữ liệu vào trong cache.
• Nếu đặt chí nh xá c dữ liệu cần dùng vào
cache, khi đó hầu hết cá c truy cập sẽ tì m
ra dữ liệu hữu í ch trong cache và trở nên
nhanh hơn.
Hiệu năng của caches
• Truy nhập dữ liệu trong DRAM hết 100 chu kỳ
• Truy nhập dữ liệu trong Cache (SRAM) hết 1 chu kỳ
• Tỷ lệ lệnh load/stores là 33%.
Bỏ qua việc tải lệnh (Cần
thêm bộ nhớ thứ hai sau
đó)
Tí nh toá n hiệu năng cache
• Sử dụng DRAM:
– Truy nhập dữ liệu trong DRAM hết 100 chu kỳ
– (33% tải/lưu dữ liệu)*100 chu kỳ = 33 chu kỳ truy cập bộ nhớ/ lệnh.
• Sử dụng một SRAM cache hoàn hảo (dữ liệu trong cache 100% thời
gian):
– (33% tải/lưu dữ liệu)*1 chu kỳ = 0.33 chu kỳ truy cập bộ nhớ / lệnh.
• Sử dụng SRAM cache thực tế hơn (dữ liệu ở trong 90% thời gian):
– (33% tải/lưu dữ liệu)*(1 chu kỳ 90% thời gian + 100 chu kỳ 10% thời
gian)
=0.33*(1*0.9+100*0.1) =0.33*(1.9) = 0.67 chu kỳ truy cập bộ nhớ / lệnh
Ví dụ: bộ nhớ đệm
Example: caching instructions
Example: caching instructions
Example: caching instructions
Example: caching instructions
Example: caching instructions
Example: caching instructions
Example: caching instructions
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 5: Bộ nhớ đệm (Caches) - Tạ Kim Huệ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_kien_truc_may_tinh_chuong_5_bo_nho_dem_caches_ta_k.pptx

