Làm thế nào để tính toán số lượng thẻ, chỉ mục và bit offset của các bộ đệm khác nhau?


18

Đặc biệt:

1) Bộ đệm được ánh xạ trực tiếp với 4096 khối / dòng trong đó mỗi khối có 8 từ 32 bit. Có bao nhiêu bit cần thiết cho các trường thẻ và chỉ mục, giả sử địa chỉ 32 bit?

2) Câu hỏi tương tự như 1) nhưng cho bộ đệm hoàn toàn liên kết ?

Sửa lỗi cho tôi nếu tôi sai, phải không:

bit bits = độ dài bit địa chỉ - số mũ của chỉ số - số mũ của offset?

[Là phần bù = 3 do 2 ^ 3 = 8 hay là 5 từ 2 ^ 5 = 32?]


một số giải thích về thẻ, chỉ mục và phần bù trong cs.stackexchange.com/questions/33818/iêu
Ran G.

Câu trả lời:


20

Câu hỏi như đã nêu không hoàn toàn có thể trả lời. Một từ đã được định nghĩa là 32 bit. Chúng ta cần biết hệ thống là "địa chỉ byte" (bạn có thể truy cập một đoạn dữ liệu 8 bit) hoặc "địa chỉ từ" (đoạn dữ liệu có thể truy cập nhỏ nhất là 32 bit) hoặc thậm chí là "địa chỉ nửa từ" ( khối dữ liệu nhỏ nhất bạn có thể truy cập là 16 bit.) Bạn cần biết điều này để biết bit thứ tự thấp nhất của địa chỉ đang nói gì với bạn.

Sau đó, bạn làm việc từ dưới lên. Giả sử hệ thống là địa chỉ byte .

Sau đó, mỗi khối bộ đệm chứa 8 từ * (4 byte / từ) = 32 = 2 5 byte, do đó phần là 5 bit.

Các chỉ số cho một bộ nhớ cache ánh xạ trực tiếp là số khối trong bộ nhớ cache (12 bit trong trường hợp này, bởi vì 2 12 = 4096).

Sau đó, thẻ là tất cả các bit còn lại, như bạn đã chỉ ra.

Khi bộ đệm được liên kết nhiều hơn nhưng vẫn giữ nguyên kích thước, có ít bit chỉ mục hơn và nhiều bit thẻ hơn.


yup đó là địa chỉ byte nhưng câu hỏi tôi đã xem không nêu cụ thể
compski

3

Công thức của bạn cho các bit thẻ là chính xác.

Việc bù là ba bit hay năm bit tùy thuộc vào việc bộ xử lý sử dụng địa chỉ byte (octet) hay địa chỉ từ. Ngoài DSP, hầu hết tất cả các bộ xử lý gần đây đều sử dụng địa chỉ byte, do đó sẽ an toàn khi giả sử địa chỉ byte (và năm bit bù).


Tôi không biết có sự khác biệt như vậy, vâng, đó là địa chỉ byte
compski

1
Trước giữa những năm 1970, chúng ta có thể giả định một cách hợp lý rằng một "từ" là kích thước của đơn vị dữ liệu có địa chỉ nhỏ nhất. Bảng này trên trang wikipedia trên word thật thú vị (nếu bạn thích kiểu đó, (mà tôi làm.))
Logic lang thang

1

Tôi đang học bài kiểm tra cuối cùng của môn Hệ thống máy tính, tôi đã mò mẫm một lúc và thấy câu hỏi này. Và phần này của câu hỏi là nhầm lẫn: "trong đó mỗi khối có 8 từ 32 bit". Một từ có 4 byte (hoặc 32 bit), vì vậy câu hỏi chỉ cần là "... trong đó mỗi khối có 8 từ"

Câu trả lời là - Mỗi khối là 32 byte (8 từ), vì vậy chúng ta cần 5 bit bù để xác định byte nào trong mỗi khối - Ánh xạ trực tiếp => số bộ = số khối = 4096 => chúng ta cần 12 bit chỉ mục để xác định bộ nào

=> thẻ bit = 32 - 12 - 5 = 15

Để kết hợp hoàn toàn, số lượng tập hợp là 1 => không có bit chỉ mục => bit bit = 32 - 0 - 5 = 27


1

Không có bit chỉ mục trong bộ đệm liên kết đầy đủ. Các bit chỉ mục được sử dụng để xác định duy nhất bộ thuộc về khối. Trong bộ đệm liên kết hoàn toàn, tất cả các khối về cơ bản là một phần của cùng một bộ.


-1

trong chỉ số ánh xạ liên kết đầy đủ là 0 b / s như bạn nói set = 1 vì vậy index = log của 1 trong cơ sở 2 = 0 set offset = log của kích thước khối của cơ sở byte 2, vì vậy sử dụng 8 = 2 ^ 3 hoặc 32 = 2 ^ 5 thẻ = 32-0-5 = 27 cho chỉ mục trực tiếp = 2 ^ 12 = 12 offset = 0 bit tag = 32-12-0 = 20


Tôi thấy điều này rất không thể đọc được. Xin vui lòng, sử dụng một số dấu câu.
David Richerby
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.