存储器
主存储器
MAR和MDR是制作在CPU芯片内的,不是在主存里。
寻址(重点)
按字节寻址的范围:2地址线数量
按字寻址的范围的求法:首先要看机器字长,机器字长/8=字数(?),字节寻址的范围/字数=按字寻址的范围。
存储容量
存储容量=存储单元个数x存储字长=存储单元个数x存储字长/8
(按后面公式计算的话单位是b)
存储速度
存储时间也称为访问时间,指启动一次存储器到完成操作所需的全部时间。
存储周期指存储器连续两次独立操作所需的最小间隔时间。通常存取周期大于存储时间。
存储器带宽
表示单位时间内存储器存储的信息量,用字/秒或者字节/秒或者位/秒表示。
半导体存储芯片基本结构
包括译码驱动,存储矩阵,读写电路,数据线,片选线,地址线,读写控制线。
译码驱动方式通常使用重合法。(类似横纵坐标吧)
随机存取储存器(RAM)
静态RAM
用触发器原理,需要6个MOS管,信息读出后仍保持原状,因此不需要再生。但是断电的时候存储信息会丢失。
要注意读写周期时序!(书上79,80页)
不管是读操作还是写操作,地址线上的地址一直都是不变的。
动态RAM
动态RAM依靠电容来寄存信息,因此即使电源不掉电,信息也会自动消失,这就需要对存储单元进行再生(刷新)。
动态RAM的时序(85页)
动态RAM的刷新方式:
- 集中刷新:把所有的储存单元集中时间刷新,会有死时间。
- 分散刷新:每读/写完一次就刷新一次,虽然没有死时间,但是存取周期也变长了。
- 异步刷新:把刷新时间间隔均分到每一行,在均分的最后时间段刷新,可以提高系统效率。
只读存储器(ROM)
这部分应该没什么很重要的知识点,刷题库遇到了再说。
存储器与CPU的连接(好像是重点)
位扩展:增加存储字长
字扩展:增加存储器字的数量(片选信号)
要看地址空间分配,多少位有变化就连多少根线,注意一定要连访存控制信号MREQ。书里用的74138,但正常对于程序员来说应该不用太了解硬件芯片吧……?(遇到再说)
存储器校验
汉明码
在2n位置设置校验码,然后xxx1,xx1x,x1xx,1xxx这样分组,校验码奇偶可以自己定,检验出来如果有错的根据重合判定出哪位是错的。
提高访存速度
单体多字
只有连续存放的数据和指令才能用这个,别的情况不行。
多体并行
感觉就是之前那个扩展存储容量,片选信号的方法?
高位交叉编址只能提高容量,不能提升带宽,很容易一个体很忙,别的体都很闲。
低位交叉编址比较好,可以提升带宽的。存取周期=模块数x总线传输周期。连续读取n个字所需时间=存取周期+(n-1)总线传输周期。