存储体与MAR
① 【计算机组成原理】存储器设计问题
1、要考虑速度问题,即CPU和存储器之间的速度;
2、容量问题,CPU的访问地址线要能够足够存储单元用。
3、成本问题,要适合要设计的系统,成本要低;
4、可靠性问题
5、存储器类型,选用eeprom还是flash rom,还是EPROM等等
第一问:ROM需要6个,先用两个组成2K*8一组,再用3组组成6K*8的ROM;RAM需要4个芯片组成2K*8.总计8K,所以需要13条地址线。片选信号,CPU的WR RD分别连接RAM芯片的EN ,OE ; EA连接ROM的OE。
芯片数量的计算方法为 数量n =ROM或RAM的总容量/ROM或RAM单个芯片的容量
② CPU中的MAR MDR中英文全称是什么
MAR的英文全称为Memory Address Register,其中文名为地址寄存器。
MDR的英文全称为Memory Data Register,其中文名为数据寄存器。
MAR(地址寄存器)的作用是:用来存放预访问的存储单元的地址,其位数对应存储单元的个数。
MDR(数据寄存器)的作用是:是存储器数据寄存器,用来存放从存储体某单元取出的代码。
(2)存储体与MAR扩展阅读:
计算机指令执行过程:
程序中第一条指令的地址置于PC 中,根据PC 取出第一条指令,经过译码、执行步骤等,控制计算机各功能部件协同运行,完成这条指令的功能,并计算下一条指令的地址。用新得到的指令地址继续读出第二条指令并执行,直到程序结束为止。
下面以取数指令(即将指令地址码指示的存储单元中的操作数取出后送至运算器的ACC 中)为例进行说明,其信息流程如下:
1、取指令:PC 一>MAR—>M—>MDR—>IR
根据PC 取指令到IR, 将PC 的内容送MAR, MAR 中的内容直接送地址线,同时控制器将读信号送读/写信号线,主存根据地址线上的地址和读信号,从指定存储单元读出指令,送到数据线上, MDR 从数据线接收指令信息,并传送到IR 中。
2、分析指令:OP(IR)—>CU 指令译码并送出控制信号。控制器根据IR 中指令的操作码,生成相应的控制信号,送到不同的执行部件。在本例中, IR 中是取数指令,因此读控制信号被送到总线的控制线上。
3、执行指令: Ad(IR)—>MAR—>M—>MDR—>ACC 取数操作。将IR 中指令的地址码送MAR, MAR 中的内容送地址线,同时控制器将读信号送读/写信号线从主存指定存储单元读出操作数,并通过数据线送至MDR, 再传送到ACC 中。
此外,每取完一条指令,还需为取下一条指令做准备,形成下一条指令的地址,即(PC)+1 —> PC 。