about cache
* Vai trò:
CPU cache memory
_Là bộ nhớ trung gian giữa CPU và Memory
_lưu trữ lệnh và dữ liệu trên Cpu
_là bộ nhớ thông minh có khả năng đoán trước yêu cầu về lệnh và dữ liệu của CPU
_Vai trò chính của Cache : Tăng hiệu năng dung hòa tốc độ CPU và bộ nhớ chính
Giảm giá thành
*Nguyên lý hoạt động:
Dựa trên 2 nguyên lý cơ bản:
a)Lân cận về không gian:(Special locality)
_Xác suất Cpu sẽ truy cập vào mục tin liền kề là rất cao
_Không gian chu trình: Áp dụng cho lệnh và dữ liệu có tính tuần cao
b)Lân cận về thời gian(temporal locality)
_Nếu CPU đang truy cập vào 1 mục tin thì xác suất Cpu sẽ truy cập lại mục tin đó trong tương lai gần là rất cao
_Không gian chu trình: Áp dụng cho dữ liệu và khối lệnh nằm trong vòng lặp (hv2)
*Kiến trúc của cache:
Có hai loại kiến trúc(hv2)
Cache controler: điều khiển cache
SRAM: chứa dữ liệu lệnh
Tag Ram: chứa địa chỉ ô nhớ
BSB:back side bus
FSB:Front side bus
BSB>>FSB>>system bus
*Đặc điểm:
+Look Aside:
Cache,memory CPU system bus
Cache và memory đều thấy chu kì bus của CPU tại cùng một thời điểm
Ưu điểm: khá đơn giản
Hist chậm, Miss nhanh
+Look throught:
cache <=> Cpu: BSB
Cache <=> Mem:FSB
Cache thấy chu kì bus của CPU trước: sau đó truyền cho
Kiến trúc này phức tạp hơn
Hist nhanh miss chậm
*Tổ chức cache:
Có 3 ánh xạ
1)Ánh xạ trực tiếp
Memory chia làm m trang(P0,P1,Pm-1); mỗi trang chia làm n dòng
Cache cũng chia ra làm n dòng.
Kích thước 1 dòng của 1 trang memory và 1 dòng cache là bằng nhau.
Ánh xạ dòng 0 0(cache)(tương tự)
Ưu điểm:khá đơn giản, nhanh
Nhược điểm: dễ xảy ra xung đột
2)Ánh xạ kết hợp đầy đủ:
Đặc điểm: Mem được chia làm m dòng
Cache chia làm n dong
Ánh xạ: 1 dòng mem được ánh xạ vào 1 dòng bất kỳ của cache
Ưu điểm: mềm dẻo, khó gây xung đột
Nhược điểm: Phức tạp: lưu dữ liệu, lưu địa chỉ mem, các bộ so sánh địa chỉ. Cồng kềnh và chậm
3)Ánh xạ tập kết hợp
Mem được chia làm m trang
1 trang có n dòng
Cache được chia làm k đường, mỗi đường gồm n dòng.
_Ánh xạ trang:1 trang có thể ánh xạ vào 1 đường bất kì
Pj wayj
_Ánh xạ dòng:
Dòng 0(Pj) dòng 0(wayj)
Dòng 1(Pj)dòng 1(wayj)
Khuyết điểm: phức tạp.
Ưu điểm: khá mềm dẻo và nhanh.
*Các chính sách thay thế:
+Thay thế ngẫu nhiên:
Dòng cần thay thế sẽ được chọn ngẫu nhiên. Đơn giản nhưng hiệu năng thấp
+Vào trước ra sau(FiFO):
_Dòng được nạp vào cache trước sẽ được thay trước. Có hiệu năng cao hơn so với pp ngẫu nhiên, tuy nhiên lại phức tap do cần có 1 mạch để theo dõi trật tự các dòng được nạp vào trong cache.
_Hiệu năng chưa cao do chưa được quan tâm đến các dòng thực sự được sử dụng
+LRU(Least recently used)
_Thay thế dòng ít được sử dụng gần đây nhất.
_Là phương pháp có hệ số tỉ hiệu năng cao nhất do nó quan tâm đến các dòng được sử dụng.
_Phương pháp này phức tạp do cần có mạch đếm tần suất sử dụng(truy cập) của các dòng được truy cập trong cache
*Các yếu tố ảnh hưởng đến hiệu năng cache và giải pháp.
+)Thời gian trung bình truy nhập hệ thống nhớ
t = hist cost +(Miss rate)*(Miss penalty)=t.cache +(1-H)t.mem
+) Kích thước cache
Theo thống kê miss rate lệnh << miss rate dữ liệu
_cache lớn:
Có nhiều dòng hơn, nhiều đường hơn thời gian tìm kiếm sẽ lâu nên chậm
_cache lớn giảm được thời gian chuyển đổi giữa hai chương trình, vì nếu cache nhỏ thì chương trình trong cache sẽ bị thay đổi thường xuyên.Xu hướng muốn có cache lớn sẽ hỗ trợ pipeline tốt hơn, hỗ trợ đa nhiệm và xử lí // tốt hơn.
* Tách cache lệnh và cache dữ liệu
CPU
iC L2 Memory
DC
Ic: instruction cache cache lệnh
DC: Data cache cache dữ liệu
+ Tăng tài nguyên giảm xung đột về truy cập
+ Dễ tối ưu hóa cache
+ Tích hợp thêm nhiều phần tử xử lí khác vào trong ic:Tiền giải mã, dự đoán rẽ nhánh
Chỉ chia L1 mà ko chia L2 do Cpu và cache trao đổi theo đơn vị cơ số, L2 bao phủ lân cận của L1 nên khi chia L2 cần phải tăng gấp đôi kênh dẫn và điều khiển
* Tạo cache thành nhiều mức:
CPU L1 L2 ... L3 Mem
Dung hòa tốc độ tốt hơn giữa Cpu và mem, giảm được giá thành
Bạn đang đọc truyện trên: AzTruyen.Top