字节如何解决现代计算机中实现的问题



我很难理解如何实现32位计算机字节地址:

RAM本身可寻址是否含义第一个字节具有地址为0和第二个1等?在这种情况下,不会花4个读取周期来读一个32位单词并浪费数据总线的宽度?

或RAM由32位单词组成含义地址为0点到前4个字节,然后地址为2分为5至8?在这种情况下,我希望RAM界面能够使字节解决(从CPU的角度来看)

将RAM视为带有N条目的8位结构。n通常是引用内存(256 MB -256m条目,2GB -2G条目等)时的大小。当您访问此内存时,您可以解决的最小单元是这些条目之一,即8位(1个字节)。由于您只能在字节级别访问它,因此我们称其为字节可寻址内存。

现在,您要访问此内存的问题,而不仅仅是访问字节。在大多数情况下,内存访问是通过缓存发送以减少内存访问延迟的。比字节或单词比字节或单词更高的粒度存储数据,通常是单词的多个。为此,Caches探索了一个名为" Locality"的属性。当地意味着,我们很可能很快就可以访问此数据项或附近的数据项。因此,不仅获取字节,而且所有相邻字节都不是浪费。将其视为未来的投资,可以为您节省多个您本来可以做的数据。

RAM中的内存地址从0th地址开始,并且使用具有8位寄存器或32位寄存器的寄存器访问它们。基于这些寄存器,CPU访问了特定地址的值。如果您确实需要了解其工作原理,则需要使用汇编语言运行几个程序,以通过使用寄存器直接读取值并注册移动命令来导航物理内存。

最新更新