主存储器(简称主存或内存):包括存储体M、各种逻辑部件及控制部件等。存储体由许多存储单元组成,每个存储单元又包含若干个存储元件(或称为存储基元、存储元),每个存储元件寄存一位二进制数。存储单元包含的存储元件的个数称之为存储字长。故存储字长为8位,意味着:一个存储单元可以存储8位二进制数目。
例如:把存储体看做一栋大楼,存储单元可看做大楼中的每个房间,存储元则可以看做每个房间中的一张床位,床位有人则为1,没人则为0,则床位数则为存储字长。
主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写入)、取(读出),这种方式称为按地址访问存储器(访存)。这种性质对计算机的组成和操作十分有利,只要事先按顺序输入,采用程序计数器加1的方法即可。如需反复重复某条指令,只要指出其相应的单元地址号即可,不必重复存储同一数据或同一指令,大大提高了存储空间的利用率。指令和数据都由存储单元地址号反映,故可使用一套控制线路来完成两种截然不同的操作。
怎样实现按地址访问的方式呢?
主存中必须配置 MAR(Memory Address Register:存储器地址寄存器)和MDR(Memory DataRegister:存储器数据寄存器) 两个寄存器。
MAR:用来存放欲访问的存储单元的地址,其位数对应存储单元的个数。
MDR:用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。