Lời xin lỗi của tôi nếu điều này là sai stackexchange cho việc này; nó chỉ có vẻ như là gần nhất với một nơi có thể giúp đỡ cho kiến trúc máy tính. Đối với một vấn đề bài tập về nhà trong các hệ thống máy tính của tôi đã hỏi:Bộ nhớ cache được ánh xạ trực tiếp Lượt truy cập/Miss
Consider three direct mapped caches X, Y, and Z each interpreting an
8-bit address slightly differently according to the {tag:setIdx:byteOffset}
format specified. For each address in the reference stream, indicate whether the
access will hit (H) or miss (M) in each cache.
C1 C2 C3
Address Formats: {2:2:4} {2:3:3} {2:4:2}
Address References in Binary: 00000010, 00000100...
tôi phải nói cho dù mỗi người trong số các tài liệu tham khảo địa chỉ sẽ dẫn đến một hit hoặc bỏ lỡ nhưng tôi không biết bắt đầu từ đâu. Đối với các định dạng, tôi nghĩ rằng thẻ có nghĩa là thẻ dữ liệu trong một khối bộ nhớ cache, setIdx có nghĩa là số bit được cho để biểu diễn các khối khác nhau trong bộ nhớ cache và bù đắp là byte cụ thể trong một khối mà bạn có thể lựa chọn.
Tôi cảm thấy như tôi không hiểu những gì một hit hoặc bỏ lỡ là. Tôi nghĩ có 3 loại: bắt buộc, năng lực và xung đột. Làm thế nào tôi có thể biết đó là một lỗi bắt buộc nếu tôi không biết những gì đã có trong bộ nhớ cache? Làm thế nào tôi có thể cho biết dung lượng bộ đệm được cung cấp bởi các định dạng thẻ?
Cảm ơn mọi gợi ý hoặc mẹo.
Biến bù byte là gì? – KWJ2104
bù đắp byte là khối lớn bao nhiêu. Ví dụ: sử dụng cùng một tham chiếu như trên, giả sử C1 có {00 00 0010} được tải trong khối {00}, khối này chứa bộ nhớ {00 00 0000} đến {00 00 1111}. Tuy nhiên, nếu bạn cố tìm kiếm {01 00 0010}, nó sẽ bị bỏ lỡ vì thẻ khác. (Ngoài ra, tôi giả định đây là bản đồ liên kết thiết lập 1 chiều) –