1.概述
(1)存储器分类(按介质分,按存取方式分,按在计算机中的功能分)
(2)存储器的系统划分及层次结构(三个层次结构说明)
2.主存储器
(1)主存储器的基本构成
(2)主存储器和CPU的联系
(3)主存中存储单元的分配
(4)主存的技术指标(容量,速度。价格)
3.半导体芯片简介
(1)半导体芯片基本结构(图,地址线 ,数据线 控制线 ,芯片容量)
(2)半导体芯片译码驱动方式(线选法和重合法)
4.随机存取存储器(RAM定义)
(1)SRAM基本单元电路
(2)SRAM工作原理(存储信息,读数据,写数据)
(3)DRAM基本单元电路
(4)DRAM工作原理(存储信息,读数据,写数据)
(5)DRAM的刷新实质
(6)DRAM的刷新方式及特点(集中刷新 分散刷新 异步刷新)
(7)DRAM和SRAM的比较1.2.3.4.5.
5.只读存储器(ROM定义)
MROM
PROM
EPROM
EEPROM
Flash Memory
6.CPU和存储器的连接
(1)字扩展 位扩展 字位扩展
(2)CPU和存储器的连接方式(1.数据线 2.地址线 3.读写控制线 4.片选线)
(3)芯片的合理选择
7.存储器的校验(编码的最小距离 汉明码的组成 汉明码的纠错过程)
8.提高访存速度的措施(双口RAM和多模块存储器)
(1)双口RAM
(2)单体多字系统
(3)多体并行系统(高位交叉 低位交叉)
(4)高性能存储芯片(CDRAM RDRAM SDRAM)
9.高速缓冲存储器(Cache)
(1)为什么要使用Cache?
(2)Cache的工作原理
(3)命中与未命中
(4)Cache的基本结构(Cache存储器 地址映射变换机构 替换机构 )
(5)Cache的读写操作(写直达法和写回法)
(6)Cache的改进(增加Cache的级数 统一缓存和分离缓存)
(7)Cache-主存映射(直接映射 全相联映射 组相连映射)
(8)Cache的替换策略(随机替换 FIFO先进先出替换 LRU近期最少使用替换)
第四章 存储器
1.概述
(1)存储器分类
按存储介质分类:1.半导体存储器:体积小功耗低,电源断开后保留的信息随之消失。具有易失性。
2.磁表面存储器:具有磁头和磁载体。具有易失性。
3.磁芯存储器 :不易失的永久性存储器。
4.光盘存储器:激光和磁光材料。具有非易失性。
按存取方式分:
1.存取顺序与物理地址无关:
RAM(随机存取存储器):程序执行过程中可读可写。分为SRAM和DRAM。
ROM(只读存储器):程序执行过程中只能读。
2.存取方式与物理地址有关:
顺序存取存储器:磁带。
直接存取存储器:磁盘。对于磁道是直接寻址,对于磁道上的单元是顺序寻址。
3.按照在计算机中的功能分类:
主存:RAM(用户程序及系统程序工作区)和ROM(系统程序区)
缓存:Cache。用于主存和CPU之间的速度匹配。
辅存:磁带磁盘光盘。
闪存。Flash Memory。
(2)存储器的层次结构:
CPU<——>缓存<——>主存<——>辅存
^ ^
|_________________________|
1.主存-辅存层次结构:为了解决存储系统的容量问题。由硬件和操作系统自动完成。
2.缓存-主存结构层次:主要解决CPU和主存之间的速度不匹配问题。由硬件自动完成。
3.在主存-辅存结构层次逐渐形成了虚拟存储器层次。称指令的地址码为虚地址或逻辑地
址,主存地址为物理地址或实际地址。对于虚拟存储器而言,逻辑地址转换为物理地址
是自动完成的。
2.主存储器
(1)概述
主存的基本构成:MAR和MDR一般制作在CPU芯片内。图
主存和CPU的联系:图
主存中存储单元地址的分配:按字寻址和字节寻址。
大端存储(字地址为高位字节地址)
小端存储(字地址为低位字节地址)
主存的技术指标:
1.存储容量:指存储的二进制代码的位数。存储容量=2^地址线*数据线根数(bit)。
2.存取速度: (1)存取时间指启动一次存储器操作到结束该操作所用的时间。也叫存储器的
访问时间。
(2)存取周期指进行连续两次独立的存储器操作所需的最小间隔时间。通常
存储周期大于存取时间。
(3)存取带宽:单位时间内存取的二进制代码的位数。
(2)半导体芯片简介
半导体芯片的基本结构:图
地址线:与芯片的容量有关。单向输入。
数据线:双向传输,位数和芯片可读出写入的数据位数,容量有关。
控制线:主要有读写控制线(WE/OE)和片选线(CS)。
芯片容量:=2^地址线*数据线(bit)。
半导体芯片译码驱动方式:
1.线选法:如16K*8位芯片。只适用于小容量的简单芯片。
2.重合法:如1K*1位芯片。布成二维阵列,分为行地址和列地址。
(3)随机存取存储器
RAM:在计算机运行过程中既能读又能写的存储器。
SRAM:静态随机存储器。由触发器原理制成,具有记忆功能,但具有易失性。
SRAM基本单元电路:由四个MOS管组成的触发器。
SRAM芯片举例:1K*4位2114RAM芯片(64*64存储矩阵)。
分析:地址线为10根,数据线为4根。共有1024*4个单元电路。即将单元电路分为
4组。要组成64*64存储矩阵即使行地址为6位,列地址为4位。没个列地址对应
四个单元电路。
SRAM的存储时序:图。
DRAM:动态随机存储器。由电容充放电原理制作,具有易失性。需要刷新。
DRAM的基本单元电路:由三MOS管或单MOS管与电容器组合制成。
DRAM的芯片举例:16K*1位4116DRAM芯片(128*128存储矩阵)。只有七根地址线。
DRAM的存取时序:图。
DRAM的刷新:DRAM在存储信息时,电容每隔1-2ms会漏电,为了信息的保留,每隔一
段时间将电容上的信息读出再重新写入称为刷新。刷新是以行为单位。
DRAM的刷新方式:
1.集中刷新:规定时间内对全部存储单元集中一段时间进行逐行刷新。
以4116为例128*128矩阵需要刷新128次。集中刷新指在2ms的周期内
将128行集中刷新。死区或死时间为128个存取周期。
2.分散刷新:指对每行存储单元的刷新分散到各个存取周期内完成。把存取周期Tc分为
Tm和Tr两部分。前半部分执行存取,后半部分执行刷新。刷新一次的时间
为128个存储周期,比2ms短很多,但是由于加长了存储周期的长度,
计算机速度会下降。但是不存在访存的死时间。
3.异步刷新:将每行的刷新平均分散到2ms的时间内,尽可能的利用刷新间隔,又缩短了
死时间。
DRAM和SRAM的比较:
1.DRAM的体积小,功耗小,封装度集成度高。
2.DRAM速度相比较SRAM来说更低。因此SRAM更多的使用在Cache中。
(4)只读存储器ROM
MROM(Mask ROM),掩膜只读存储器,行列交叉处有MOS管为1没有为0。不可重写。
PROM,一次性可编程只读存储器,利用熔丝断开为0链接为1,只能实现一次性编程。
EPROM,可擦除可多次编程只读存储器,利用紫外线擦除(MOS管栅极。。)。不能局部擦除。
EEPROM,电可擦除可多次编程只读存储器,可局部擦除。
Flash Memory,具有RAM功能。
(5)CPU和存储器的连接
存储器容量的扩展:1.字扩展2.位扩展3.字位同时扩展。
存储器和CPU的连接:1.地址线:芯片地址线和CPU低位地址线连接,高位地址线用作片选或扩展。
2.数据线必须位数与CPU相等,因此芯片必须经过位扩展才能与CPU相连。
3.读写控制线:与WE或还有OE相连,低电平有效。
4.片选线:片选信号有效与否与访存信号MREQ有关。若MREQ为高则为访IO
还与地址线有关。
芯片的合理选择:芯片选择时尽量使片选逻辑简单,芯片数量少。RAM为用户设计,ROM为系统程序设计
(6)存储器的校验
编码的最小距离:编码之间互相变化需要改变的最小位数。编码的纠错检错能力与最小距离有关。
汉明码的组成:汉明码为分组奇偶校验。组成要素为:
汉明码为k位,传输数据为n位,(1)则满足2^k>=k+n+1(2)2^k位为Ci校验位(3)用奇偶校验。
汉明码的纠错过程:形成新的校验位Pi。通常来说2^k位不需要纠错。
(7)提高访存速度的措施
1.采取高速器件2.使用cache-主存结构层次3.调整主存结构
双口RAM:具有两组相互独立的地址线 数据线 读写控制线。因此可以进行并行的独立操作,是一种高速的存储器。
1)单体多字系统:可以增加主存的带宽,但是贮存的最大带宽受到了限制,提高单体存储字的传输效率。结构简单,速度很快。但是会
向主存中写入错误数据。适用前提指令和数据必须在主存中连续存放。
2)多体并行系统:高位交叉:高位地址为体号,低位地址为存储字号。但是这种高位交叉不能提高
访存带宽,只能增大主存容量。不同的请求源并行的访问不同的体。
低位交叉:高位地址为存储体内存储单元地址,低位地址为体号。扩充容量的同时
提高了带宽。在不改变存取周期的前提下提高带宽。设n体低位
交叉,存取周期为T,总线传输周期为t,则连续读取M个字用时
为:
T+(m-1)t
体现在相同的请求源并行访问不同的体。!!
3)高性能存储芯片:CDRAM RDRAM SDRAM
3.高速缓冲存储器:为什么使用Cache?
(1)1.为了使匹配CPU和主存之间的速度差异。2.IO设备的访存优先级比CPU高,在IO访存的
时候会使CPU空等一段时间,为了防止CPU的空等,用缓存与CPU进行直接信息交换。
cache通常由SRAM构成。
(2)cache的工作原理:将主存分成M个块,每个块中有B个存储单元。而Cache分为C个块,每个
块中同样有B个存储单元。设地址线为n根,则主存中前m为地址表示
块地址,cache中前c位地址表示块地址。而主存和cache后r位表示块中
存储单元地址。cache前标识用来与主存匹配。
CPU与Cache之间一般按字传输,主存和cache之间一般按块传输。
一般来说每块取4-8个字,取和多体低位交叉一个存取周期传输的存储字数相同。
命中和未命中:命中指cache中的块在主存中有映射,即cache块与主存块有对应关系。
未命中指cache块没有与主存块产生对应关系。
命中率指访cache次数比上访存和访cache次数之和。
访存平均时间指ta=h*tc+(1-h)*tm
cache效率为tc/ta
(3)cache的基本结构:
1.cache存储体以块为单位组成,cache的访存优先级最高。
2.cache地址映射变换机构:将送来的主存地址中的块地址取出转化为cache地址。转化后的
cache地址如果命中,则CPU直接访问cache,若不命中,则CPU访存,同时
将该块送入cache中。主存块地址转换为cache块地址是透明的。
3.cache替换机构:如果转换后的cache块地址未命中,则CPU访存的同时,将该块一并送入cache
中,被替换的块写回主存或直接废弃。
4.cache的读写操作:
读操作相对来说十分简单。图。
写操作分为两种:写直达法和写回法。
写直达法:在CPU需要将数据写入cache中时,将主存中对应的块也一并改写。该操作
时刻保持主存与cache的数据信息的一致性,更新起来较简单。进行块替换操作
时不需将cache块再写回主存。但是增加了访存次数。
写回法:若命中,cpu直接将数据写入cache块中,但对主存块不进行更新。在该cache块
被替换时,将该cache块的内容写回主存中。但是对于多处理器系统会出现错误。
而且在cache块标志位需要标志cache块中数据是否被改写。比较麻烦但速度较快。
(4)cache的改进
1.增加cache的级数:片内(片载)cache和片外cache两层结构。片载cache与CPU制作在同一芯片
上。
2.统一缓存和分离缓存:即指令和数据是否存放在同一cache内。与主存结构有关,也与指令控制
方式有关。
(5)cache-主存映射:
1.直接映射:(固定的映射关系)。将主存分为若跟个组,每组所含的块数与cache的块数相同。即
非常固定的映射关系i=j mod C。如每一区的第1块只能存放在cache的第一块......每一区
的第C块只能放在cache的第C块。每个缓存块对应若干个主存快,每个主存块只对应一
个缓存块。
所以可以将n位地址分为(可以用t位做cache映射标记)
t(表示主存组地址) + c(表示cache块地址) + b(表示块内偏移地址)位
这个方法的优点是实现非常简单,且速度很快,但是cache利用率很低(调入冲突)。
2.全相联映射:每个主存块都可以放在任意的cache块中。
1.方式灵活命中率高。
2.但是cpu给出的地址需要与所有cache标记比较,且比较位数由t为变为t+c位。
3.组相联映射:是对直接映射和全相联映射的折中。将缓存分为Q组,每组有R个块。则映射关系为:
i = j mod Q,即将n位主存地址分为:
m-q(主存字块标记) + q(cache组地址) + b(块内偏移地址)位
(6)cache的替换策略
1.随机替换2.先进先出替换(FIFO)3.近期最少使用替换(LRU)