第4章 存储器
一、概述
(一)存储器分类
1.按存储介质分类
(1)半导体存储器;
(2)磁表面存储器;
(3)磁芯存储器;
(4)光盘存储器。
2.按存取方式分类
(1)随机存储器(Random Access Memory,RAM);
(2)只读存储器(Read Only Memory,ROM);
(3)串行访问存储器。
3.按在计算机中的作用分类
(1)主存储器;
(2)辅助存储器;
(3)缓冲存储器。
(二)存储器的层次结构
图4-1 存储器速度、容量和位价的关系
存储系统层次结构主要体现在缓存-主存和主存-辅存这两个存储层次上,如图4-2所示。
图4-2 缓存-主存层次和主存-辅存层次
二、主存储器
(一)概述
主存的实际结构如图4-3所示。
图4-3 主存的基本组成
1.主存中存储单元地址的分配
主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。
图4-4 字节寻址的主存地址分配
2.主存的技术指标
(1)存储容量
存储容量是指主存能存放二进制的总位数,即存储容量=存储单元个数×存储字长。
(2)存储速度
存储速度是由存取时间和存取周期来表示的。
(3)存储器带宽
它表示单位时间内存储器存取的信息量,单位可用字/秒或字节/秒或位/秒表示。为了提高存储器的带宽,可以采用以下措施:
①缩短存取周期;
②增加存储字长,使每个存取周期可读/写更多的二进制位数;
③增加存储体。
(二)半导体存储芯片简介
1.半导体存储芯片的基本结构
半导体存储芯片采用超大规模集成电路制造工艺,在一个芯片内集成具有记忆功能的存储矩阵、译码驱动电路和读/写电路等,如图4-5所示。
图4-5 存储芯片的基本结构
2.半导体存储芯片的译码驱动方式
半导体存储芯片的译码驱动方式有两种:线选法和重合法,如图4-6和图4-7所示。
图4-6 16×1字节线选法结构示意图
图4-7 1K×1位重合法结构示意图
(三)随机存取存储器
随机存取存储器按其存储信息的原理不同,可分为静态RAM和动态RAM两大类。
1.静态RAM(Static RAM,SRAM)
(1)静态RAM基本单元电路
图4-8是一个由6个MOS管组成的基本单元电路。
图4-8 静态RAM的基本单元电路
2.动态RAM(Dynamic RAM,DRAM)
(1)动态RAM的基本单元电路
常见的动态RAM基本单元电路有三管式和单管式两种,它们的共同特点都是靠电容存储
电荷的原理来储存信息。
(2)动态RAM时序
动态RAM的行、列地址是分别传送的,因此分析其时序时,应特别注意RAS、CAS与地址的关系。
(3)动态RAM的刷新
刷新的过程实质上是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程
①集中刷新
集中刷新是在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。
图4-9 集中刷新时间分配示意图
②分散刷新
图4-10 分散刷新时间分配示意图
③异步刷新
异步刷新是前两种方式的结合,它既可缩短"死时间",又充分利用最大刷新间隔为2ms的特点。
图4-11 异步刷新时间分配示意图
3.动态RAM与静态RAM的比较
(1)动态RAM的应用比静态RAM要广泛得多。其原因如下:
①在同样大小的芯片中,动态RAM的集成度远高于静态RAM,如动态RAM的基本单元电
路为一个MOS管,静态RAM的基本单元电路可为4~6个MOS管;
②动态RAM行、列地址按先后顺序输送,减少了芯片引脚,封装尺寸也减少;
③动态RAM的功耗比静态RAM小;
④动态RAM的价格比静态RAM的价格便宜。
随着动态RAM容量不断扩大,速度不断提高,它被广泛应用于计算机的主存。
(2)动态RAM也有缺点:
①由于使用动态元件(电容),因此它的速度比静态RAM低;
②动态RAM需要再生,故需配置再生电路,也需要消耗一部分功率。
(四)只读存储器
1.掩模型ROM,如图4-12所示。
图4-12 1K×l位的MOS管掩模ROM
2.PROM
PROM是可以实现一次性编程的只读存储器。
3.EPROM
EPROM是一种可擦除可编程只读存储器。它可以由用户对其所存信息作任意次的改写。
(五)存储器与CPU的连接
1.存储容量的扩展
(1)位扩展,可以扩展存储器的地址;
(2)字扩展是指增加存储器字的位数。
(六)存储器的校验
表4-1表示使用汉明码代码长度与检测位位数的关系。
表4-1 汉明码长度与检测位位数的关系
(七)提高访存速度的措施
1.单体多字系统;
2.多体并行系统;
3.高性能存储芯片。
三、高速缓冲存储器
(一)概述
1.问题的提出
(1)在多体并行存储系统中,由于I/0设备向主存请求的级别高于CPU访存,这就出现了CPU等待I/0设备访存的现象,致使CPU空等一段时间,甚至可能等待几个主存周期,从而降低了 CPU的工作效率。为了避免CPU与I/0设备争抢访存,可在CPU与主存之间加一级缓存(参见图4-3),这样,主存可将CPU要取的信息提前送至缓存,一旦主存在与I/O设备交换时,CPU可直接从缓存中读取所需信息,不必空等而影响效率。
(2)从另一角度来看,主存速度的提高始终跟不上CPU的发展。所以出现了高速缓存Cache来解决主存与CPU速度的不匹配问题。Cache的出现使CPU可以不直接访问主存,而与高速Cache交换信息。
2.Cache的工作原理
Cache的容量与块长是影响Cache效率的重要因素,通常用"命中率"来衡量Cache的效率。命中率是指CPU要访问的信息已在Cache内的比率。
在一个程序执行期间,设Nc为访问Cache的总命中次数,Nm为访问主存的总次数,则命中率h为:
h = N e N e + N m \ h =\frac{N_e}{N_e+N_m}\ h=Ne+NmNe
设tc为命中时的Cache访问时间,tm为未命中时的主存访问时间,l-h表示未命中率,则Cache一主存系统的平均访问时间ta为ta=htc+(1-h)tm
用e表示访问效率,则有
e = t e t a ∗ 100 % = t e h t e + ( 1 − h ) t m ∗ 100 % \ e =\frac{t_e}{t_a}*100\% =\frac{t_e}{ht_e+(1-h)t_m}*100\% e=tate∗100%=hte+(1−h)tmte∗100%
3.Cache的基本结构
Cache的基本结构原理框图如图4-13所示。
图4-13 Cache的基本结构原理框图
它主要由Cache存储体、地址映射变换机构、Cache替换机构组成。
(1)Cache存储体
Cache存储体以块为单位与主存交换信息,为加速Cache与主存之间的调动,主存大多采用多体结构,且Cache访存的优先级最高。
(2)地址映射变换机构
地址映射变换机构是将CPU送来的主存地址转换为Cache地址。
(3)替换机构
当Cache内容已满,无法接受来自主存块的信息时,就由Cache内的替换机构按一定的替换算法来确定应从Cache内移出哪个块返回主存,而把新的主存块调入Cache。
(4)Cache的读写操作
读操作的过程可用流程图4-14来描述。
①写直达法(Write-through),又称为存直达法(Store-through),即写操作时数据既写入Cache又写入主存。它能随时保证主存和Cache的数据始终一致,但增加了访存次数。
②写回法(Write-back),又称为拷回法(Copy-back),即写操作时只把数据写入Cache而不写入主存,当Cache数据被替换出去时才写回主存。
图4-14 Cache的读数操作流程
4.Cache的改进
(1)单一缓存和两级缓存;
(2)统一缓存和分立缓存。
(二)Cache-主存地址映射
1.直接映射
每个主存块只与一个缓存块相对应。
图4-15 直接映射
(1)优点:这种方式的优点是实现简单,只需利用主存地址的某些位直接判断,即可确定所需字块是否在缓存中。
(2)缺点:直接映射方式的缺点是不够灵活,因每个主存块只能固定地对应某个缓存块,即使缓存内还空着许多位置也不能占用,使缓存的存储空间得不到充分的利用。
2.全相联映射
全相联映射允许主存中每一字块映射到Cache中的任何一块位置上,如图4-16所示。这种方式灵活,命中率也更高,缩小了块冲突率。但是这种方式所需的逻辑电路甚多,成本较高。
图4-16 全相联映射
3.组相联映射
组相联映射是对直接映射和全相联映射的一种折中。
图4-17 组相联映射
(三)替换策略
1.先进先出(First-In-First-Out,FIFO)算法;
2.近期最少使用(Least Recently Used,LRU)算法;
3.随机法。
四、辅助存储器
(一)概述
1.辅助存储器的特点
辅助存储器作为主存的后援设备又称为外部存储器,简称外存,它与主存一起组成了存储器系统的主存-辅存层次。与主存相比,辅存具有容量大、速度慢、价格低、可脱机保存信息等特点,属"非易失性"存储器。目前,广泛用于计算机系统的辅助存储器有硬磁盘、软磁盘、磁带、光盘等,前三种均属磁表面存储器。
2.磁表面存储器的主要技术指标:
(1)记录密度
记录密度通常是指单位长度内所存储的二进制信息量。
(2)存储容量
存储容量是指外存所能存储的二进制信息总数量,一般以位或字节为单位。
(3)平均寻址时间
它是平均找道时间tsa和平均等待时间twa之和。
(4)数据传输率
数据传输率是指单位时间内磁表面存储器向主机传送数据的位数或字节数。
(5)误码率
误码率是衡量磁表面存储器出错概率的参数,它等于从辅存读出时,出错信息位数和读出信息的总位数之比。
(二)磁记录原理和记录方式
1.磁记录原理
磁表面存储器通过磁头和记录介质的相对运动完成读/写操作。
2.磁表面存储器的记录方式
磁记录方式又称为编码方式,它是按某种规律将一串二进制数字信息变换成磁表面相应的磁化状态。常用的记录方式有六种,如图4-18所示。
图4-18 六种磁记录方式的写入电流波形
(1)归零制(RZ);
(2)不归零制(NRZ);
(3)"见1就翻"的不归零制(NRZ1);
(4)调相制(PM);
(5)调频制(FM);
(6)改进型调频制(MFM)。
3.评价记录方式的主要指标
(1)编码效率;
(2)自同步能力。
(三)硬磁盘存储器
1.硬磁盘存储器类型
(1)按磁头的工作方式可分为固定磁头磁盘存储器和移动磁头磁盘存储器;
(2)按磁盘是否具有可换性可分为可换盘磁盘存储器和固定盘磁盘存储器。
2.硬磁盘存储器的结构
(1)磁盘驱动器;(2)磁盘控制器;(3)盘片。
图4-19 磁盘存储器基本结构示意图
3.硬磁盘存储器的发展动向
(1)半导体盘;
(2)提高磁盘记录密度;
(3)提高磁盘的数据传输率和缩短平均存取时间;
(4)采用磁盘阵列RAID。
4.硬磁盘的磁道记录格式
(1)定长记录格式;
(2)不定长记录格式。
(四)软磁盘存储器
1.概述
(1)软磁盘存储器与硬磁盘存储器的存储原理和记录方式是相同的,但结构上有较大差别:
①软盘转速低,存取速度慢;
②软盘都是活动头,可换盘片结构;
③软盘磁头直接接触盘片进行读/写;
④软盘价格便宜,盘片保存方便、使用灵活、具有互换性;
⑤软盘对环境的要求不苛刻。
(2)软磁盘存储器的种类主要是按其盘片尺寸不同而区分的,现有8英寸、5.25英寸、3.5英寸和2.5英寸几种。
2.软磁盘盘片
图4-20所示为软磁盘盘片及其外形示意图。
图4-20 软磁盘盘片及外形
软盘分为单面单密度(SS、SD)、双面单密度(DS、SD)、单面双密度(SS、DD)、双面双密度(DS、DD)四种。对于5.25英寸和3.5英寸的磁盘机而言,均采用双面双密度及高密度(四倍密度)的记录方式。
3.软磁盘的记录格式
软磁盘存储器采用软分段格式,软分段格式有IBM格式和非IBM格式两种。
4.软磁盘驱动器和控制器
软磁盘存储器也由软磁盘驱动器、软磁盘控制器和软磁盘盘片3部分组成。
(五)磁带存储器
1.概述
磁带存储器也属于磁表面存储器,记录原理和记录方式与磁盘存储器是相同的。
磁带机正朝着提高传输率、提高记录密度、改善机械结构、提高可靠性等方向发展。
2.数据流磁带机
数据流磁带机是将数据连续地写到磁带上,每个数据块后有一个记录间隙,使磁带机在数据块间不启/停,简化了磁带机的结构,用电子控制替代了机械启/停式控制,降低了成本,提高了可靠性。
3.磁带的记录格式
磁带上的信息可以以文件形式存储,也可以按数据块存储。磁带可以在数据块之间启/停,进行数据传输。按数据块存储的磁带互换性更好。
(六)循环冗余校验码
循环冗余校验(Cyclic Redundancy Check,CRC)码可以发现并纠正信息在存储或传送过程中连续出现的多位错误代码。CRC码是基于模2运算而建立编码规律的校验码。模2运算的特点是不考虑进位和借位的运算。
1.CRC码的编码方法
设待编的信息码组为Dn-1Dn-2...D2D1D0,共n位,它可用多项式M(x)表示:
将信息码组左移k位,得M(x)·xk,即成n+k位信息码组:
空出的k位用来拼接k位校验位。
CRC码就是用多项式M(x)·xk除以生成多项式G(x)(即产生校验码的多项式),所得余数作为校验位。为了得到k位余数(校验位),G(x)必须是k+1位。
设所得余数为R(x),商为Q(x),则有M(X)·xk=Q(x)·G(x)+R(x)。
将余数拼接在左移了k位后的信息位后面,就构成了这个有效信息的CRC码。这个CRC码用多项式表示为:
因此,所得CRC码是一个可被生成多项式G(x)除尽的数码。如果CRC码在传输过程中不出错,其余数必为0;如果传输过程中出错,则余数不为0,再由该余数指出哪一位出错,即可纠正。
2.CRC码的译码和纠错
将收到的循环校验码用约定的生成多项式G(x)去除,如果无错,则余数应为0,如果某一位出错,则余数不为0。不同的出错位其余数也不同,表4-2列出了对应G(x)=1011的出错模式。
表4-2 对应G(x)=1011的循环的出错模式
注意:从检错和纠错的要求出发,生成多项式应满足以下要求:
①任何一位发生错误,都应该使余数不为零;
②不同位发生错误应使余数不同;
③对余数继续作模2除,应使余数循环。
(七)光盘存储器
1.概述
光盘(Optical Disk)是利用光学方式进行读/写信息的圆盘。光盘存储器是在激光视频唱片和数字音频唱片基础上发展起来的。根据光存储性能和用途的不同,光盘存储器可分为三类。
(1)只读型光盘(CD-ROM);
(2)只写一次型光盘(WORM);
(3)可擦写型光盘。
2.光盘的存取原理
光盘存储器利用激光束在记录表面上存储信息,根据激光束和反射光的强弱不同,可以实现信息的读/写。
3.光盘存储器的组成
光盘存储器与磁盘存储器很相似,它也由盘片、驱动器和控制器组成。
4.光盘存储器与其他辅助存储器的比较
(1)光盘的耐用性好,其使用寿命可长达数十年以上;
(2)光盘可靠性高,对使用环境要求不高,机械振动的问题甚少,不需要采取特殊的防震和防尘措施;
(3)记录密度高,可达108位/平方厘米,约为磁盘的10~100倍;
(4)光盘记录头分量重,体积大,写入速度低;
(5)光盘的介质互换性好,存储容量大,可用于文献档案、图书管理、多媒体等方面的应用。但由于目前价格比较贵,故尚不能替代磁带机。