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ọ.
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 trả lời:
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.