第三章、 存储器层次机构
基础概念
存储元件:用一个具有两种稳定状态,并且在一定条件下状态可相互转换的物理器件来表示二进制数码0和1,这种器件称为存储元件。
存储单元:由若干个存储元组成一个存储单元。
存储器:由若干个存储单元组成了存储器。
存放一个机器字的存储单元,称为字存储单元。相应的单元地址为字地址。
存放一个字节的单元,称为字节单元。相应的地址称为字节地址。
一个16位二进制的字存储单元可存放两个字节,可以按字地址寻址,也可以按字节地址寻址。
存储容量:在一个存储器中可以容纳的存储单元总数通常称为该存储器的存储容量。1KB=2^10B, 1MB=220B,1GB=230B,1TB=2^40B
存储器的带宽:是单位时间里存储器所存取的信息量。通常以位/秒或字节/秒来表示
(一) 存储器的分类
(二) 存储器的层次化结构
(三) 半导体随机存取存储器
半导体存储器的优缺点:
优:半导体存储器的优点是存取速度快,存储体积小,可靠高,价格低廉;
缺:断电后存储器不能保存信息
1. SRAM存储器的工作原理
六管静态MOS存储元是由两个MOS反相器交叉耦合而成的触发器。一个存储元存一位二进制代码,如果一个存储单元为n位,则需由n个存储元才能组成一个存储单元 。
SRAM的组成
存储体:存储单元的集合。
地址译码器:地址译码器的输入信息来自CPU的地址寄存器。地址译码有两种方式:单译码方式和双译码方式。
驱动器:通常加在译码器的输出之后。
I/O电路:处在数据总线和被选用的单元之间,用以控制被选中的单元读出或写入。
片选与读/写控制电路:在地址选择时,首先要进行选片。
输出驱动电路:
2. DRAM存储器的工作原理
动态RAM的存储元件依靠电容上的电荷表示存储的数据信息,而电容的绝缘电阻不可能无限大,因此漏电不可避免。
每隔一定的时间就对存储体中全部的存储电进行充电,以补充所消失的电荷,维持原存信息不变,这个过程称为“刷新”。
显然,只要定时给全部存储元电路执行一边读操作,而信息不向外输出,那么就可实现信息再生或刷新。
(四) 只读存储器
信息只能读出不能随意写入的存储器,称为只读存储器,记为只读存储器ROM。
它的特点是通过一定方式将信息写人之后,信息就固定在ROM中,供电电源切断之后,信息也不会丢失。
它的最大优点是具有不易失性。
只读存储器主要用来存放一些不需要修改的程序,如微程序、子程序、某些系统软件和用户软件。
- 掩膜式ROM
数据在芯片制造过程中就确定
优 点:可靠性和集成度高,价格便宜
缺 点:不能重写 - PROM:用户可自行改变产品中某些存储元,用户可编程一次
- EPROM–可擦除可编程只读存储器(Erasible Programmable ROM) - 优点:可以多次改写ROM中的内容
- E2PROM 又记为EEPROM,是电可擦除电可
改写的只读存储器。在EPROM中的信息是用电的
方式编程写入的,但要擦除它们要靠外界的紫外线
照射才行。
而E2PROM由于其本身带有UPP编程电源,故
可以使用单一的十 5V电源擦除和写入,而不必外加
UPP编程电源和紫外灯,使用十分方便。 - Flash Memory闪速存储器(Flash Memory)是一种快擦写存储器,也是一种具有不挥发性的存储器,可以在线进行擦除和重写。目前其集成度和价格已接近EEPROM,因而它是 EPROM和E2PROM的理想替代器件。
Flash Memory与E2PROM的逻辑结构相似,是在它的基础上制作的,最主要的区别在于存储元的结构和制作工艺。
EEPROM可以进行字节擦除,而Flash Memory 不能按字节擦除,只能整片擦除。
闪速存储器:是一种高密度的、非易失性的读写半导体存储器。
特点:1.固有的非易失性
2.廉价的高密度
3.可直接执行
4.固态性能
5.高传输率
闪速存储器的工作原理
闪速存储器是在EEPROM功能基础上增加了电路的电擦除和重新编程能力。芯片引入一个指令寄存器来实现这种功能。其作用是:
(1)保证TTL电平的控制信号输入;
(2)在擦除和编程过程中稳定供电;
(3)最大限度的与EEPROM兼容。
(五) 主存储器与CPU的连接
CPU对存储器进行读/写操作,首先由地址总线给出地址信号,然后要发出读操作或写操作的控制信号,最后在数据总线上进行信息交流,要完成地址线的连接、数据线的连接和控制线的连接。
存储器芯片的容量是有限的,为了满足实际存储器的容量要求,需要对存储器进行扩展。
位扩展法
字扩展法
字位同时扩展法
例3:CPU的地址总线16根,双向数据总线8根,控制总线中与主存有关的信号MERQ,R/W。主存地址空间分配如下:0—8191为系统程序区,由只读存储芯片组成,8192—32767为用户程序区,最后2K地址空间为系统工作区。
现有芯片:
EPROM 8K8
SRAM 16K1,2K8,4K8,8K*8
请设计该计算机主存储器,画出主存储器逻辑框图。
(六) 双口RAM和多模块存储器
(七) 高速缓冲存储器(Cache)
1. 程序访问的局部
2. Cache的基本工作原理
3. Cache和主存之间的映射方式
全相联映射方式
在全相联映射中,将主存中一个块的地址与块的内容一起存于CACHE的行中,其中块地址存于CACHE 行的标记部分中。
CACHE的数据块大小称为行。主存的数据块大小称为块。行与块是等长的。
直接映射方式
cache的行号i和主存的块号j有如下函数关系:i=j mod m (m为cache中的总行数)
直接映射方式的优点是硬件简单,成本低。
缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。因此适合大容量cache采用。
组相联映射方式这种方式是前两种方式的折衷方案。它将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的,即有如下函数关系:
m=u×v 组号 q=j mod u
组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。
4. Cache中主存块的替换算法
cache工作原理要求它尽量保存最新数据,必然要产生替换。
替换策略
随机法
FIFO
LRU
5. Cache写策略
(八) 虚拟存储器
1. 虚拟存储器的基本概念 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b0eb7fe1cf146c65355048b71df62ae5.png)
2. 页式虚拟存储器 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8aac0be970c60f0be2a6df06904dc96c.png)
3. 段式虚拟存储器 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d559177567b77e9d310334cd8741dbeb.png)
4. 段页式虚拟存储器 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f74e26f8e8e89b48447c69e1276023de.png)
5. TLB(快表)
为了避免页表已保存或已调入主存储器时对主存访问次数的增多, 把页表的最活跃部分存放在高速存储器中组成快表。
快表由硬件组成,比页表小得多,查表时,由逻辑页号同时去查快表和慢表,当在快表中有此逻辑页号时,就能很快地找到对应的物理页号送入实主存地址寄存器,从而做到虽采用虚拟存储器但访主存速度几乎没有下降。