Cache liên kết tập hợp

Một phần của tài liệu Tối ưu hoá và đánh giá hiệu năng của tổ chức cache trong hệ thống vi xử lý thế hệ sau (Trang 46 - 48)

6. Cấu trúc của luận án

2.1.3.3. Cache liên kết tập hợp

Cache liên kết tập hợp là sự kết hợp của hai tổ chức cache: cache liên kết đầy

đủ và cache sắp xếp trực tiếp nhưng chỉ tận dụng các ưu điểm và hạn chếcác nhược

điểm của hai tổ chức cache này.

Nguyên tắc sắp xếp:

- Cache được chia thành S tập hợp, mỗi tập hợp có K dòng.

- Một khối của bộ nhớ chính chỉ được sắp xếp trực tiếp vào một tập hợp phù hợp theo “s= b mod S” (trong đó b là địa chỉ khối, S là số tập hợp, s là số hiệu của

tập hợp phù hợp với khối và là số dư của b chia cho S).

Hình 2.6 diễn giải sơ đồ tìm kiếm trong cache liên kết tập hợp 2-dòng, trong

đó mỗi tập hợp chỉ có 2-dòng, mỗi dòng có kích thước bằng một khối gồm 32 từ. Dung lượng của cache là 216 = C × 25 có số dòng C = 211 hay số tập hợp 211/2 = 210 và D = 10 là số bit của trường địa chỉ tập hợp. Địa chỉ mà CPU tham chiếu là

A035F002H được diễn giải như sau: trường địa chỉ tập hợp (D = 10 bit) có giá trị

380H của địa chỉ A035F002H trỏ đến tập hợp trong cache phải tham chiếu, trường địa chỉ khối (S - D = 17 bit) giá trị 1406BH của địa chỉ A035F002H được so sánh

với từng giá trị của hai thẻ của hai dòng trong tập hợp 380H được chọn. Nếu trùng (trúng cache) thì trường địa chỉ của từ (W = 5) giá trị 02H sẽ trỏ từ thứ 32 của dòng

được chọn trong tập hợp 0F80H.

Hình 2.6: Tìm kiếm trong cache liên kết tập hợp [62, 72].

Ưu điểm:

Sơ đồ tìm kiếm đơn giản, có tốc độ tìm kiếm nhanh và chi phí thấp, bởi vì nó chỉ cần so sánh địa chỉ yêu cầu với một địa chỉ của tập hợp tương ứng trong cache. Trong tập hợp được chọn, một khối có thể sắp xếp vào bất kỳ dòng nào (theo cách của cache liên kết đầy đủ). Do đó, tận dụng được ưu điểm của cache liên kết đầy đủ,

đó là tỷ số trúng cache cao.

Cache liên kết tập hợp diễn giải một địa chỉ bộ nhớ chính gồm ba phần: trường

thẻ có (S - D) bit chứa địa chỉ khối, trường tập hợp có D bit chứa địa chỉ tập hợp và

trường từ có W bit chứa địa chỉ của từ trong khối.

B0 Bj BM-1 D Địa chỉ bộ nhớ Cache Tập hợp Từ W W S-D Thẻ Khối W S Bộ nhớ chính Trượt cache Trúng cache 11.1000.0000 0.0010 Tập hợp (D=10) Từ (W=5) 1.0100.0000.0110.1011 Thẻ (S-D=17) Thẻ L0 Tập hợp 0 Tập hợp i (380H) Tập hợp (S-1) A035F002H L1 Li So sánh LC-1 LC-2 Li+1 1406BH

Để giảm mức độ phức tạp và chi phí của sơ đồ so sánh tìm kiếm, mỗi tập hợp

chỉ có ít dòng, thường là 2-, 4-, 8-dòng,… Cache liên kết tập hợp thường gắn với số lượng dòng trong một tập hợp và gọi là cache liên kết tập hợp n-dòng. Nếu mỗi tập

hợp có 4-dòng thì đó là cache liên kết tập hợp 4-dòng và một khối có thể sắp xếp

vào bất kỳ dòng nào trong 4-dòng của tập hợp được chọn theo nguyên tắc sắp xếp

trực tiếp “s = b mod S”.

Tổ chức cache liên kết tập hợp hạn chế được trường hợp tham chiếu lặp đi, lặp

lại đến một số khối của bộ nhớ chính có sắp xếp vào cùng một dòng của cache sắp

xếp trực tiếp, tận dụng được ưu điểm của cache liên kết đầy đủ và hạn chế sự phức

tạp của sơ đồ tìm kiếm nếu mỗi tập hợp chỉ có số ít dòng. Cache liên kết tập hợp 2- , 4-, …, n-dòng cho tỷ số trúng cache cao [39]. Do đó, chúng được dùng phổ biến trong các chip đơn lõi và đa lõi. Hầu hết, các kiến trúc Pentium của Intel sử dụng tổ

chức cache liên kết tập hợp 2-dòng, trong đó dòng cache có kích thước 32B (hay

256 bit), trang cache ở bộ nhớ chính có kích thước 4KB hay 128 dòng cache (vì 128 × 32B = 4096B), mỗi tập hợp có 2 dòng cache. Kiến trúc Pentium 4 của Intel với

L2 và L3 cache có tổ chức cache liên kết tập hợp 8-dòng với kích thước mỗi dòng là 128B. Kiến trúc Nehalem Xeon 4, 6-lõi với 2-luồng/lõi của Intel với 3 cấp cache

(L1, L2, L3) trên chip, trong đó: mỗi lõi có L1I cache 32KB liên kết tập hợp 4- dòng, L1D cache 32KB liên kết tập hợp 4-dòng, L2 cache 256KB liên kết tập hợp

8-dòng và tất cả các lõi chia sẻ L3 cache (23)MB liên kết tập hợp 16-dòng. Tương

tự, kiến trúc Core i7 4-lõi, 2-luồng/lõi của Intel, cũng có 3 cấp cache trên chip,

trong đó: mỗi lõi có L1I cache 32KB liên kết tập hợp 4-dòng, L1D cache 32KB liên

kết tập hợp 4-dòng, L2 cache 256KB liên kết tập hợp 8-dòng và tất cả các lõi chia sẻ L3 cache 8MB liên kết tập hợp 16-dòng [25].

Một phần của tài liệu Tối ưu hoá và đánh giá hiệu năng của tổ chức cache trong hệ thống vi xử lý thế hệ sau (Trang 46 - 48)

Tải bản đầy đủ (PDF)

(153 trang)