Cache Memory
Giảng viên: TS. Trần Ngọc Thịnh
Nhóm 1:
Lê Minh Châu
Đoàn Xuân Duy
Lê Hồng Dũng
Âu Mậu Dương
Nguyễn Văn Dương
Trịnh Văn Giang
Nội dung báo cáo
Thuật ngữ
Đặt vấn đề
Giải pháp
Đánh giá
Cách đưa dữ liệu từ RAM vào Cache
Phương pháp thay thế dữ liệu trong Cache
Thuật giải thay thế
2
Thuật ngữ
1.
2.
3.
4.
5.
Block: đơn vị dữ liệu được chuyển giữa cache và bộ nhớ chính
Hit: dữ liệu cần cho bộ xử lý có ở cache
Miss: dữ liệu cần cho bộ xử lý không có ở cache
Hit time: thời gian xác định một truy cập có thực sự là hit + thời gian truy cập và chuyển dữ liệu từ cache cho bộ
xử lý
Miss penalty: thời gian xác định một truy cập có phải là miss + thời gian thay thế một block ở cache bàng block
tương ứng ở bộ nhớ + thời gian chuyển dữ liệu cần thiết cho bộ xử lý
3
Đặt vấn đề
Độ trễ của RAM với CPU ngày càng tang khi tốc độ tăng
4
Giải pháp
5
Thông số đánh giá của các loại bộ nhớ
6
Cách đưa dữ liệu từ RAM vào Cache
7
Phương pháp ánh xạ dữ liệu trong Cache (1/3)
Fully associative cache
Map dữ liệu từ RAM vào Cache
Ưu điểm:
Đưa dữ liệu vô nhanh
Đơn giản trong thiết kế
Nhược điểm:
Phải dò tìm dữ liệu trong cache
Khi cần truy xuất
8
Phương pháp ánh xạ dữ liệu trong Cache (2/3)
Direct-mapped Cache
1 địa chỉ trên RAM tương ứng với 1 vị
trí trong cache
Ưu điểm:
Map từ RAM vào cache nhanh
Đơn giản trong thiết kế
Nhược điểm:
Thay thế dữ liệu trong cache liên tục
khi CPU yêu cầu dữ liệu → hiệu suất giảm
9
Phương pháp ánh xạ dữ liệu trong Cache (3/3)
W-way Set-associative Cache
Tổ chức Cache:
Ưu điểm:
Tốc độ map từ RAM
vào Cache nhanh
Truy xuất dữ liệu trong
cache
Nhược điểm:
Phải dò tìm dữ liệu
trong cache
Phức tạp trong thiết kế
Giá thành cao
10
Thuật giải thay thế (1/3)
Ánh xạ trực tiếp (direct-mapped):
Không phải lựa chọn
Mỗi Block chỉ ánh xạ vào một Line xác định
Thay thế Block ở Line đó
11
Thuật giải thay thế (2/3)
Fully Associative hay Set Associative:
FIFO (First In First Out): Là một chính sách thay thế rất đơn giản, khi bộ nhớ cache đầy nó chỉ đơn giản là thay thế dữ liệu trong Line
đầu tiên mà đã được đặt trong bộ nhớ Cache bằng dữ liệu mới, và thay thế tiếp theo sẽ là Line thứ hai được đặt trong bộ nhớ cache
và vv ....
Random: Khi cache đầy thì chọn ngẫu nhiên Line nào đó và thay thế
LFU (Least Frequently Used-Thường xuyên sử dụng nhất)
LFU giữ một danh sách của tất cả các trang được tham chiếu trong bộ nhớ cache và bao nhiêu lần họ đã được tham chiếu trong quá khứ. Khi Cache trở
nên đầy đủ nó sẽ thay thế các trang đó đã được nhắc đến ít nhất, với những cái mới.
12
Thuật giải thay thế (3/3)
LRU (Least Recently Used- Sử dụng gần đây nhất):
Bộ nhớ cache xếp mỗi dòng trong một tập theo cách gần đây họ đã được truy cập và thay thế dòng ít sử dụng gần đây nhất
Quan sát là dòng mà không được tham chiếu trong thời gian gần đây sẽ không phải là tham chiếu trong tương lai gần
13
Hiệu suất của Cache
14
Nâng cao hiệu suất của Cache
15