考研408复习日志
计算机组成原理
>存储系统之按字节寻址&&按字寻址
1. 必备知识
(1.1)什么是字长?
在32位系统中,字长就是32bite,即4Byte,也就是4个字节,而在64位系统中,字长就是64bite,即8Byte,也就是8个字节,所以在不同的机器平台,一个字的字长是不一样的。
(1.2)什么是寻址?
寻址,就是寻找地址,当CPU想要获得某一个数据的地址时,便通过存储器获得该数据的地址。
2. 按字节寻址
(2.1)原理
因为存储器内部按照一定规律,划分了若干个存储单元,一般情况下,以8位二进制为一个存储单元,也就是一个字节,我们这里以一个1MB大小的存储器,32位系统为例。
按字节寻址就是直接对一个确定的字节进行定位,因为1MB = 1024K = 1024*1024Byte,也就是2 ^ 20次方 ,如果我们从地址为0,存储容量为1Byte的存储单元开始,依次向前遍历,那么要一直遍历到地址为2 ^ 20 - 1的存储单元,我们才算完成了对这个存储器的全部访问,这就说明,我们必须有20根数据线,因为存储单元的地址最大可以达到2 ^ 20-1,所以我们要采用20根数据线对每一个存储单元的地址进行编码,如图1.1所示:
图1.1
3. 按字寻址
(3.1)原理
不同于按字节寻址,按字寻址,不是像按字节寻址一样,把最小寻址单元定为字节,而是把最小寻址单元定为字,我们假设在32位系统中,有一个1MB大小的存储器,因为32位系统的字的长度是4个字节,所以存储器就被分成每4个字节为一个最小寻址单元的模式,那么1MB大小的存储器会包含多少个这样的最小寻址单元,显然是:(1024*1024)/4,也就是2 ^ 18个,所以和上面的原理一样,我们就得有18根数据线,才能够表示这2 ^ 18个最小寻址单元的地址,但是这里有一个问题,就是如果我们采用这种寻址方式,找到了某一个字,那要怎么确定我们要访问的字节呢?
所以我们还是需要两根线,两根线的高低电平的状态会有4种组合,即:00,01,10,11,正好对应我们找到的这个字中含有的4个字节的次序,所以按字寻址方式,我们用18+2根线确定我们要找的字节的位置。
PS:后续还会定期继续更新内容,直到考研结束!(想继续和我一起讨论的点波关注哦),我主要是想定期督促自己!哈哈!
》》2021/6/3于赣州
下一期内容:半导体存储芯片的基本结构