存储器的基本组成
这里讨论的是主存,即内存。
主存储器包括存储体、MAR、MDR、各种逻辑部件及控制电路。
存储器内部结构说明
一个主存储器(内存条)由多个存储体组成,一个存储体中有许多存储单元,一个存储单元中有若干个(8、16、32个等)存储元件;
每个存储元件能存储一个二进制数 “0” 或 “1”;
存储字、存储字长
存储字:一个存储单元可存储一串二进制代码,一个存储单元存储的二进制代码称为存储字;
存储字长:一个存储单元存储的二进制代码的位数;存储字长可以是8位、16位、32位等。
一个存储字可以表示一个二进制数、十进制数、十六进制数、一串字符、ASCII码、一条指令等。
如:存储字0011011001111101,可表示16位的二进制数,也可表示十进制数13949,也可表示十六进制数367DH,亦或表示两个ASCII码“6”和“}”,也可表示某条指令。
指令与数据保存在存储器中;
按地址寻访
按地址寻访:赋予每个存储单元一个地址号,按存储单元的地址号实现对存储字的存(写入)、取(读出)。
如,将编写好的程序的各条指令预先存入各存储单元,当运行程序时,只要给出程序首条指令在主存中的首地址,然后采用程序计数器加1的方法,自动形成下一条指令所在存储单元的地址,机器便可自动完成整个程序的运行。
又如,当需要重复使用某个数据或某条指令时,只要指出其相应的存储单元地址号即可,不必占用更多的存储单元重复存放同一数据或同一指令,从而提高存储空间利用率。
两个寄存器
MAR(Memory Address Register), 存储器地址寄存器。
- 作用:存放存储单元的地址(编号)。
- MAR 的位数与存储单元的个数对应。如,若存储单元有1024=210个,则MAR有10位。
- MAR 反映存储单元的个数。
- MDR(Memory Data Register),存储器数据寄存器。
- 作用:存放准备存入存储单元的数据,或存放从存储单元中取出准备送往 CPU 的数据。
- MDR 的位数等于存储字长。
- MDR 反映存储字长,及单个存储单元的长度。