1.存储器的分类
层次分类
主存储器(内存):存放程序和数据,CPU可以直接随机访问,可以和高速缓冲存储器(Cache)以及辅助存储器交换数据。特点是容量较小,存取速度较快,每位价格较高
辅助存储器:外存,存放暂时不用的程序和数据,以及永久保存的信息,不能与Cpu直接交换信息,特点是容量大存取速度慢,成本低。
高速缓冲存储器:Cache,位于主存和CPU之间,用来存放正在执行的程序段和数据
cpu不能直接访问硬盘
主存和Cache之间的数据调动由硬件自动完成
主存和外存是由硬件和操作系统共同完成的
1.半导体存储芯片的基本结构
半导体存储芯片内有存储矩阵(存储体),译码驱动电路和读写电路
2.随机存储器
3..只读存储器ROM
ROM和RAM都支持随机存取的存储器,ROM一旦有信息不会随断电丢失,结构简单,位密度比可读写存储器高,非易失性
掩膜式只读存储器(MROM):写入后无法改变,可靠性高,集成度高,价格便宜,灵活性差
一次可编程只读存储器(PROM):写入无法改变
可擦除可编程只读存储器(EPROM):可以改写,全部擦出后编程,紫外线擦除和电擦除,写入时间长
闪速存储器(Flash Menory):
固态硬盘(Solid State Drives)
1.连接原理
2.位扩展法
对存储芯片扩位(即进位扩展,用多个存储器件对字长进行扩充,增加存储字长),使其扩展位数与CPU的数据线数相等。位扩展的连接方式是将多个存储芯片的地址端,片选端和读写控制端相应并联,数据端分析引出。
3.字扩展法
指增加存储器中字的数量,位数不变。字扩展将芯片的地址线,数据线,读写控制线相应并联,由片信号来区分各芯片的地址范围。
4.字位同时扩展法
即增加字数量,也增加字长;
5.存储芯片的地址分配和片选
CPu要实现对存储单元的访问,首先要选择存储芯片,即进行片选;,然后再为选中的芯片依地址码选择相应的存储单元,以进行数据数据的存取,即字选。
片内的字选通常是由CPU送出的N条低位地址线完成的,地址线直接接到所有存储芯片的地址输入端。
1)线选法
用除片内寻址外的高位地址线直接分别接至各个存储芯片的片选端,片选地址线每次寻址时只能有一位有效,不允许同时多位有效;优点:不需要地址译码器,线路简单。缺点:地址空间不连续,选片的地址线必须分时为低电平,不能充分利用系统的存储空间,造成地址资源浪费。
2)译码片选法
用除片内寻址外的高位地址线通过地址译码器芯片产生片选信号。
6.存储器与CPU的连接
1) 合理选择存储芯片
存储芯片类型(RAM和ROM)和数量的选择。选择ROM存放系统程序,标准子程序和各类常数,RAM是为用户编程而设置的。
2)地址线的选择
存储容量不同地址线数不同,通常将CPU地址线得低位与存储芯片得地址相连接,,以选择芯片中的某一单元,
3)数据线的连接
CPU得数据线与存储芯片得数据线数不一定相等,想等时可以直接连接;不相等时必须对存储芯片扩位。
4)读写命令线的连接
一般可以直接与存储芯片得读写控制端相连,通常高电平为读,低电平为写
5)片选线得连接
为提高CPU访问存储器的速度,可以采用双端口存储器,多模块存储器等技术,同属并行技术,前者空间并行,后者时间并行。
1.双端口RAM
指同一个存储器有左右两个独立的端口,分别具有两组相互独立的地址线、数据线和读写控制线,允许俩个独立的控制器同时异步的访问存储单元,两个端口地址不同,两个端口上进行读写操作一定不会发生冲突。
两个端口同时存取存储器的同一地址单元时,就会因数据冲突造成数据存储或读取错误;
2.多模块存储器
1) 单体多字存储器
特点:只有一个存储体,每个存储单元存储m个字,总线宽度为m个字,一次并行读出m个字,地址必须顺序排列并处于同一存储单元。
单体多字系统在一个存取周期内,从同一地址取出m条指令,逐条将指令送至CPU执行,每隔1/m存取周期;
缺点:指令和数据在主存内必须是连续存放的。
2)多体并行存储器
由多体模块组成,每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路,地址寄存器和数据寄存器。
模块字长等于数据总线宽度,模块存取一个字的存取周期T,总线传送周期为r,为实现流水线方式存取,存储器交叉模块数应大于等于: m=T/r
m为交叉存取度,连续时间需要 T+(m+1)r . 顺序方式连续读取m各字需要mT
模块序号=访问地址%存储器交叉模块数
主存和联机工作的辅存构成了虚拟存储器,虚拟存储器是透明的。
3.段式虚拟存储器
段式虚拟存储器中的段是按程序得逻辑结构划分的,各段长度因程序而异,把虚拟地址分为两部分:段号和段内地址。虚拟地址到实际地址之间的变换是由段表来实现的。段表是程序的逻辑段和在主存中存放地址的对照表。段表每一行记录了与某个段对应的段号,装入位,段起点和段长等信息。具有逻辑独立性,易于编译,管理,修改和保护,便于多道程序的共享。
5.快表TLB
把经常访问的页表放在高速缓冲器组成的快表中,放在主存上的页表表示慢表,同时进行查找,
6.虚拟存储器与Cache比较
不同: