JavaScript is required

Cho máy tính có dung lượng bộ nhớ chính: 128MB, cache: 64KB, line: 8 byte, độ dài ngăn nhớ: 1 byte. Trong trường hợp kỹ thuật ánh xạ trực tiếp, dạng địa chỉ do bộ xử lý phát ra để truy nhập cache là:

A.
12 + 10 + 5
B.
13 + 10 + 4
C.
14 + 11 + 2
D.
14 + 10 + 3
Trả lời:

Đáp án đúng: D


Địa chỉ do bộ xử lý phát ra trong kỹ thuật ánh xạ trực tiếp được chia thành ba phần: Tag, Line (Index), và Offset (Word). 1. **Xác định số bit cho Offset:** - Kích thước line là 8 byte. Vậy số bit cần thiết cho offset là log2(8) = 3 bit. 2. **Xác định số bit cho Line (Index):** - Kích thước cache là 64KB = 2^16 bytes. - Số lượng line trong cache là (kích thước cache) / (kích thước line) = 2^16 / 2^3 = 2^13 lines. - Vậy số bit cần thiết cho index là log2(2^13) = 13 bit. 3. **Xác định số bit cho Tag:** - Dung lượng bộ nhớ chính là 128MB = 2^27 bytes. - Vậy địa chỉ bộ nhớ chính cần 27 bit. - Số bit cho tag = (tổng số bit địa chỉ) - (số bit index) - (số bit offset) = 27 - 13 - 3 = 11 bit. (Đề bài có lẽ bị sai vì không có đáp án nào đúng). Tuy nhiên, nếu chúng ta xem xét các đáp án đã cho và giả sử có một sai sót nhỏ trong đề bài, ta có thể phân tích như sau. Đáp án gần đúng nhất có thể là (D) 14 + 10 + 3 với cách tính khác: 1. **Offset:** 3 bits (đúng như trên). 2. **Index:** Nếu Index là 10 bit, thì số dòng trong Cache là 2^10 = 1024 dòng. Mà mỗi dòng 8 bytes, suy ra kích thước Cache là 1024 * 8 = 8192 bytes = 8KB. Điều này mâu thuẫn với đề bài là 64KB. 3. **Tag:** Nếu bộ nhớ chính là 128MB = 2^27 bytes, địa chỉ cần 27 bit. Suy ra Tag = 27 - 10 - 3 = 14 bits. Vậy đáp án D: 14 + 10 + 3 có thể đúng nếu cache chỉ có 8KB. Do đó, với dữ kiện đề bài, không có đáp án chính xác, tuy nhiên đáp án D có thể đúng trong một số trường hợp đặc biệt nếu kích thước cache bị sai lệch. Vì không có đáp án chính xác, tôi sẽ chọn một đáp án gần đúng nhất dựa trên phân tích trên, tuy nhiên cần lưu ý rằng đề bài có thể có sai sót.

Câu hỏi liên quan