1.基本组成
1.主存储器的基本组成和读写操作
主存储器被称为主存/内存。是计算机中存储程序的重要部件
主存储器内部包含了存储体、各种逻辑部件以及控制电路等。
主存是通过寻址的方式对存储体内的存储单元进行读写操作的。
主存首先要从MAR获取地址,之后译码器对地址译码、再经过驱动电路,进而通过选择线选中所需访问的单元。读出时,需要经过读出放大器才能被选中存储单元的内容送到MDR;写入时,MDR中的数据也需要经过写入电路才能被存入被选中的单元。
译码器、驱动器和读写电路都集成在DRAM存储芯片中,而MAR和MDR则集成在CPU芯片内。存储芯片可以通过总线和CPU相连
从主存读取某个字时,首先是CPU将字的地址送到MAR,然后通过地址总线送至主存
然后发出读的命令。
主存的译码器将地址总线送来的地址译码,导通对应存储单元的选择线,收到读信号后,便将该单元的内容送至数据总线上,进而交给MDR。
如果要写的话,仍然是CPU把地址送到MAR,并把要写的数据送到MDR,然后发出写命令;主存译码器依旧是译码,接到写的命令后,将数据线的信息写入到相应的存储单元。
译码器:具有翻译功能的组合逻辑电路器件,可以将以二进制码表示的输入状态,转换成对应的特定输出信号。 译码就是编码的逆过程。
2.主存中地址的分配
主存中各存储单元的空间为止,都是由存储单元的地址号表示的。
地址总线的作用就是给出要访问的存储单元的地址。
===================================================
存储字节必须是字节(8位)的整数倍,不同机器的存储字长不同。
计算机一般即可以按字来寻址,也可以按字节寻址。
eg:一台机器存储字长为32位,并且可以按字节寻址,那么它的每个存储子都包含了4哥具有独立地址的字节。
字地址是用该字高位字节的地址来表示的,所以字地址总是4的整数倍,即二进制末二位总是0.
这样,对于同一个字内的字节,可以用地址末两位来进行区分,高位则是完全相同的。
2.容量拓展
单片存储芯片的容量有限,很难满足我们实际应用的需要,所以主存一般不会直接使用单个芯片实现,而是需要将多个存储芯片连在一起拓展成更大的存储器。这称为储存容量的拓展,主要的方法有位拓展和字拓展。
1.位拓展
位拓展即对字长进行拓展,也就是增加存储的字长。
这种情况下:
- 系统地址线位数等于芯片地址线位数
- 系统数据线位数多余芯片数据线位数
位拓展的连接方式:各芯片的地址线、片选线和读写控制线与系统总线相应并联;
各芯片的数据线单独引出,分别连接系统数据线,各芯片同时工作
2.字拓展
字拓展的连接方式:
各芯片的地址线与系统地址线低位相互连接
系统地址线的高位通过译码得到各芯片的片选信息。
芯片的数据线和读写控制线与系统总线相应并联。
各芯片分时工作,同一时间只能有一个芯片被选中。
被拓展后的地址线有11位,高位的不同表示选择不同的芯片。
3.同时拓展
3.CPU与主存的连接
- 合理选择存储芯片。通常ROM存放系统程序,RAM组成用户区(用户操作)
- 地址线的连接:CPU地址线的低位与存储芯片的地址线相连,以选择存储芯片中的某个单元(字选);CPU地址线的高位在托冲存储芯片时用,以选择存储芯片(片选)。
- 数据线的连接:比较CPU的数据线数和存储芯片的数据位数。如果相等则直接相连;如果不等,则必须对存储芯片进行扩位(位扩展),使其数据位数与CPU的数据线数量相等。
- 读/写命令线的连接:直接将CPU的读写命令线和存储芯片的读写控制端相连即可。
- 片选线的连接:片选信号一般由系统地址线高位译码,它是主存与CPU连接的关键。