【发布时间】:2019-03-26 22:53:47
【问题描述】:
我们来看一个写包的例子:假设 CPU 写了 使用 32 位将
0x12345678的值设置为物理地址0xfdaff040寻址这个例子来自这个site(我没看懂原帖的解释)
- 为什么地址从第二位开始
[31 : 2] - 为什么地址不一样
【问题讨论】:
-
地址不一样只是因为图文原文不一致。
我们来看一个写包的例子:假设 CPU 写了 使用 32 位将
0x12345678的值设置为物理地址0xfdaff040寻址这个例子来自这个site(我没看懂原帖的解释)
[31 : 2]
【问题讨论】:
对齐的 32 位块的地址总是在地址末尾有两个零位。您可以将其视为将块的地址写入 32 位插槽,或者将除以 4 的地址写入地址的第 2 位到第 31 位。结果都是一样的,因为除以四相当于右移两位。
【讨论】:
first_be和last_be用于指示哪些字节是有效的。