二进制格式的内存地址。计算机组织

时间:2014-04-30 18:18:37

标签: memory operating-system virtual-memory

我在理解这里发生的事情时遇到了一些问题,似乎无法解决这个问题。

注意: Course notes about topic

示例:

Memory location 0x1f6
What is the binary format of this address? 1 1111 0110
What are tag, block index, and block offset? 3, 7, 6

我自己的工作:

Memory location 0x033
What is the binary format of this address? 0 0011 0011
What are tag, block index, and block offset? 0 6, 3

Memory location 0x009
What is the binary format of this address? 0 0000 1001
What are tag, block index, and block offset? 0, 1, 1

Memory location 0x652
What is the binary format of this address? 0110 0101 0010
What are tag, block index, and block offset? 12, 10, 2

这些是我的尝试,但我不知道如果我做得对,我感觉我不是,至少对于最后一个,我认为是错的。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

我最终搞清楚了。块偏移取决于块大小,在这种情况下为16字节,因此它需要4个二进制数字来表示它。接下来,块索引取决于块的数量,在这种情况下为8(0-7),这需要3个二进制数字。最后,在将十六进制内存位置转换为二进制数后,标记由剩余的二进制数字组成。

实施例

Memory location 0x652
What is the binary format of this address? 0110 0101 0010
What is the binary representation of tag, block index, and block offset? 1100 101 0010
What are tag, block index, and block offset? 12, 7, 2