2012-06-19 8 views
24

bất cứ ai có thể giải thích bộ đệm tải là gì và nó khác với hàng đợi không hợp lệ như thế nào. và cũng có sự khác biệt giữa bộ đệm cửa hàng và viết bộ đệm kết hợp? Các giấy bởi Paul E MCKENNY http://www.rdrop.com/users/paulmck/scalability/paper/whymb.2010.07.23a.pdf giải thích rất độc đáo về bộ đệm cửa hàng và hàng đợi huỷ bỏ hiệu lực nhưng tiếc là không nói về ghi kết hợp bộ đệmbộ đệm cửa hàng là gì?

Trả lời

27

Một hàng đợi vô hiệu là giống như một bộ đệm cửa hàng, nhưng nó là một phần của hệ thống bộ nhớ, không phải CPU. Về cơ bản nó là một hàng đợi theo dõi các sự mất hiệu lực và đảm bảo rằng chúng hoàn thành đúng cách để một bộ nhớ cache có thể sở hữu một dòng bộ nhớ cache để sau đó nó có thể viết dòng đó. Hàng đợi tải là một cấu trúc đầu cơ theo dõi tải trọng trong chuyến bay trong bộ xử lý đơn hàng. Ví dụ, sau đây có thể xảy ra

  1. CPU suy đoán ra tải từ X
  2. tải Đó là vào chương trình để sau một cửa hàng để Y, nhưng địa chỉ của Y không được giải quyết, vì vậy các cửa hàng không tiến hành.
  3. Y được giải quyết và hóa ra bằng X. Tại thời điểm lưu trữ Y được giải quyết, cửa hàng đó tìm kiếm hàng đợi tải cho các lần tải đầu cơ đã phát hành, nhưng có mặt sau khi lưu vào Y trong chương trình gọi món. Nó sẽ nhận thấy tải tới X (bằng Y) và phải làm bíp các lệnh đó bắt đầu bằng tải X và theo sau.

Bộ đệm cửa hàng là cấu trúc đầu cơ tồn tại trong CPU, giống như hàng đợi tải và cho phép CPU suy đoán trên cửa hàng. Một bộ đệm kết hợp ghi là một phần của hệ thống bộ nhớ và về cơ bản có một loạt các ghi nhỏ (nghĩ 8 byte ghi) và gói chúng vào một giao dịch lớn hơn (một dòng bộ nhớ cache 64 byte) trước khi gửi chúng vào hệ thống bộ nhớ. Các ghi này không mang tính đầu cơ và là một phần của giao thức kết hợp. Mục tiêu là để tiết kiệm băng thông xe buýt. Thông thường, một bộ đệm kết hợp ghi được sử dụng cho các ghi chú không được ghi vào các thiết bị I/O (thường dùng cho các card đồ họa). Nó điển hình trong các thiết bị I/O để thực hiện một loạt các chương trình của các thanh ghi thiết bị bằng cách ghi 8 byte và bộ đệm kết hợp ghi cho phép các ghi được kết hợp thành các giao dịch lớn hơn khi vận chuyển chúng qua bộ đệm.

+19

Tôi chỉ chú ý đến câu hỏi, và tôi sẽ phát minh ra kết hợp ghi và bộ đệm tải của Intel, hoặc ít nhất tên của tôi nằm trong nhiều bằng sáng chế - nhưng câu trả lời ở trên là hoàn toàn tốt. –

+7

Bộ đệm lưu trữ = không phải luôn luôn có tính đầu cơ, không phải lúc nào cũng bên trong CPU. Có thể có các bộ đệm lưu trữ bên ngoài CPU, ví dụ: giữa ghi thông qua L1 và L2. –

+9

Tải bộ đệm (1) giữ tải sau khi tải địa chỉ đã được tính toán, nhưng cho đến khi tải thực sự sẵn sàng để thực thi; hoặc, sau khi bạn cố gắng thực hiện tải, nhưng xác định rằng có sự cố, chẳng hạn như bộ nhớ cache bị thiếu hoặc một cửa hàng trước đó đến cùng một địa chỉ chưa sẵn sàng cho dữ liệu. (2) có thể được sử dụng để xác minh rằng các tải không theo thứ tự được suy đoán chính xác, như Martin mô tả. –