2013-02-05 48 views
5

Tôi có câu hỏi cơ bản về chính sách theo sau là hệ thống bộ nhớ.Gỡ bỏ bộ nhớ cache khỏi bộ nhớ cache L1 khi xóa L2

Hãy xem xét một lõi với bộ nhớ cache L1 và L2 riêng tư. Sau L2 cache, chúng ta có một bus mà lưu lượng kết nối chạy. Bây giờ, nếu một dòng bộ nhớ cache cho địa chỉ (X) được gỡ bỏ khỏi bộ nhớ cache L2, nó là cần thiết để gỡ bỏ địa chỉ đó từ bộ nhớ cache L1 ??

Lý do trục xuất có thể giúp duy trì sự bất biến của giao thức kết hợp [nếu một dòng trong l2 cho thấy không hợp lệ, lõi này không chứa địa chỉ này].

Trả lời

10

three different designs và tất cả đều được sử dụng.

  1. Dành riêng: Dữ liệu trong bộ nhớ cache L1 không bao giờ trong bộ nhớ cache L2. Dữ liệu trong bộ đệm L2 không bao giờ trong bộ nhớ cache L1.

  2. Bao gồm: Dữ liệu trong bộ nhớ cache L1 cũng phải nằm trong bộ nhớ cache L2.

  3. Không: Dữ liệu trong bộ nhớ cache L1 có thể có hoặc không nằm trong bộ đệm L2.

Mỗi loại trong số này đều có ưu điểm và nhược điểm. Lược đồ bao gồm cho phép giao thức kết hợp cache để bỏ qua cache L1 - nếu dữ liệu không nằm trong cache L2, nó không nằm trong cache L1. Nhưng lược đồ độc quyền giúp sử dụng bộ nhớ cache quý giá hiệu quả nhất.

Thiết kế bao gồm đang trở nên phổ biến hơn vì đồng bộ hóa nội bộ nhanh hơn đang trở nên quan trọng hơn so với kích thước bộ nhớ cache hiệu quả hơn một chút.

+0

tôi có nghi ngờ về kích thước đường kẻ. bạn có thể làm rõ cùng http://stackoverflow.com/questions/14707803/line-size-of-l1-and-l2-caches –

+0

Bạn có thể cung cấp thêm một số thông tin về vấn đề này không: "Thiết kế hòa nhập đang trở nên phổ biến hơn vì nhanh hơn đồng bộ hóa giữa các lõi đang trở nên quan trọng hơn là có kích thước bộ nhớ cache hiệu quả hơn một chút "? – rkioji

Các vấn đề liên quan