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

Tags: #about#cache