Bộ xử lý bộ đệm L1, L2 và L3 đều được làm bằng SRAM?


10

Bộ xử lý có lưu trữ L1, L2 và L3 đều được làm bằng SRAM không? Nếu đúng, tại sao L1 nhanh hơn L2 và L2 nhanh hơn L3? Tôi đã không hiểu phần này khi tôi đọc về họ.


Câu hỏi liên quan: Tại sao chúng ta cần nhiều cấp bộ nhớ cache? . Cũng có phần liên quan: Bộ nhớ cache đa cấp trong bộ xử lý là gì? . Từ nhận xét của bạn ở đó, tôi thấy bạn đã tìm thấy câu hỏi sau.
Paul A. Clayton

Câu trả lời:


12

Nói chung , tất cả chúng đều được thực hiện với SRAM.

(Các chip POWER và zArch architecture của IBM sử dụng bộ nhớ DRAM cho L3. Đây được gọi là DRAM nhúng vì nó được triển khai trong cùng loại công nghệ xử lý như logic, cho phép logic nhanh được tích hợp vào cùng chip với DRAM. chip L3 đã sử dụng eDRAM; POWER7 có L3 trên cùng chip với lõi xử lý.)

Mặc dù họ sử dụng SRAM, nhưng tất cả họ không sử dụng cùng một thiết kế SRAM. SRAM cho L2 và L3 được tối ưu hóa về kích thước (để tăng công suất cho kích thước chip có thể sản xuất giới hạn hoặc giảm chi phí cho công suất nhất định) trong khi SRAM cho L1 có nhiều khả năng được tối ưu hóa về tốc độ.

Quan trọng hơn, thời gian truy cập có liên quan đến kích thước vật lý của bộ lưu trữ. Với cách bố trí hai chiều người ta có thể mong đợi độ trễ truy cập vật lý là xấp xỉ tỉ lệ với căn bậc hai của công suất. (Kiến trúc bộ đệm không đồng nhất khai thác điều này để cung cấp một tập hợp bộ đệm ở độ trễ thấp hơn. Các lát L3 của bộ xử lý Intel gần đây có hiệu ứng tương tự; một cú đánh vào lát cục bộ có độ trễ thấp hơn đáng kể.) Hiệu ứng này có thể làm cho bộ đệm DRAM nhanh hơn so với bộ đệm SRAM ở dung lượng cao vì DRAM nhỏ hơn về mặt vật lý.

Một yếu tố khác là hầu hết các bộ đệm L2 và L3 sử dụng truy cập nối tiếp các thẻ và dữ liệu trong đó hầu hết các bộ đệm L1 truy cập song song các thẻ và dữ liệu. Đây là một tối ưu hóa năng lượng (tỷ lệ bỏ lỡ L2 cao hơn tỷ lệ bỏ lỡ L1, vì vậy việc truy cập dữ liệu có thể bị lãng phí nhiều hơn; truy cập dữ liệu L2 thường đòi hỏi nhiều năng lượng hơn - liên quan đến dung lượng-- và bộ nhớ cache L2 thường có tính kết hợp cao hơn có nghĩa là nhiều mục nhập dữ liệu sẽ phải được đọc theo suy đoán). Rõ ràng, việc phải chờ khớp thẻ trước khi truy cập dữ liệu sẽ thêm thời gian cần thiết để truy xuất dữ liệu. (Truy cập L2 thường chỉ bắt đầu sau khi xác nhận bỏ lỡ L1, do đó độ trễ phát hiện lỗi L1 được thêm vào tổng độ trễ truy cập của L2.)

Ngoài ra, bộ đệm L2 cách xa vật lý thực thi hơn. Đặt bộ đệm dữ liệu L1 gần với công cụ thực thi (để trường hợp phổ biến của lần truy cập L1 nhanh) thường có nghĩa là L2 phải được đặt ở xa hơn.


Câu trả lời chính xác. Nhưng tôi không đồng ý với tuyên bố của bạn rằng tỷ lệ bỏ lỡ L2 cao hơn tỷ lệ bỏ lỡ L1. Khi chúng ta di chuyển thấp hơn trong hệ thống phân cấp bộ nhớ, chúng ta có các cấu trúc lớn hơn cung cấp các lỗi nhỏ hơn nhưng độ trễ tăng lên.
Harshavardhan Ramanna

@HarshavardhanRamanna Có tăng khả năng và khả năng kết hợp giúp bỏ lỡ tỷ lệ, nhưng bộ lọc cấp thấp hơn truy cập (chuyển giao toàn bộ một khối từ L2 lọc ra địa phương không gian ngắn hạn trong khối; lần truy cập chỉ tính cho một lần truy cập trong L2 trong khi bản thân khối có khả năng cung cấp lượt truy cập trong L1 để truy cập bổ sung). Các tổng tỷ lệ bỏ lỡ đi xuống (ví dụ, một L2 với 80% tỷ lệ trúng phong nha và L1 với 95% tỷ lệ trúng được một 99% tỷ lệ tổng hit).
Paul A. Clayton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.