如果要访问数组的元素i,我们将执行以下操作: i *(每个元素的大小)+数组的起始地址=元素的存储位置。然后,CPU 直接访问在RAM中的该位置。这是怎么发生的?
假设我要定位的内存地址是5064,我想CPU必须从1到5064顺序搜索,当内存地址达到5064时,返回该项目。但这显然不是RAM的工作方式,因为这本身并不是直接访问。
答案 0 :(得分:0)
在硬件级别,它使用诸如 Line Decoder 的电路来实现RAM中存储单元的即时定位。
上述电路通过使用三个位(A0,A1,A2)可以表示8个存储单元。每个位都有两个状态0或1,例如101将激活A0,A2。在这种情况下,将选择相应的输出,例如Z2。所有输出Z0,Z1..Z7可以被电路连接到存储单元。这样,内存地址的选择就是恒定的操作。