【发布时间】:2019-11-05 02:43:16
【问题描述】:
在 64 位机器上,我们知道地址是 8 个字节。 但是,我并不完全清楚一个地址中有多少字节的信息。 虚拟内存中的每个字节都有地址吗?还是内存中的每 64 位都有一个地址? 还是取决于架构?如果它取决于架构,那么我应该如何找到?
【问题讨论】:
-
一个字节通常有一个地址,尽管有些架构要求内存访问为aligned。这个previous question 可能很有趣。您可以通过阅读其数据表了解特定处理器的要求。
-
有例外,但大多数系统内存是字节可寻址的,一个字节是 8 位(有例外)。所以通常一个地址定义一个字节。但是您可以使用从该字节开始的寻址模式,并且可以包含多个字节。您可以从该地址开始进行 16 位传输,它将访问从该地址开始的两个字节,一个是地址,另一个是地址......等等。
-
如何找到是阅读该架构和/或芯片的文档。