八、存储器1.存储器的基本组成及其读写操作(1)存储器的基本组成
主存储器由存储体、地址译码电路、驱动电路、读写电路和控制电路等组成。主存储器主要功能是:①存储体:是信息存储的集合体,由某种存储介质按一定结构组成的存储单元的集合。通常是二维阵列组织,是可供CPU和计算机其他部件访问的地址空间。
②地址寄存器、译码电路与驱动器:即寻址系统,将CPU确定的地址先送至地址寄存器中,然后根据译码电路找到应访问的存储单元。在存储体与译码器之间的驱动器的功能是减轻译码线驱动负载能力。由于一条译码线需要与它控制的所有存储单元相联,其负载很大。需要增夹荦动器,以译码线连叫荦动器的输入端,由驱动器的输出端控制连接在译码线上的所有存储单元。③读写电路与数据寄存器:根据CPU的命令,将数据从数据寄存器中写入存储体中特定的存储单元或将存储体中指定单元的内容读到数据寄存器中。
④控制电路:接收CPU传来的控制命令,经过控制电路一系列的处理,产生一组时序信号控制存储器的操作。
在存储器的组成中,存储体是核心,其余部分是存储体的外围线路。不同的存储器都是由这几部分组成,只是在选用不同的存储介质和不同的存取方式时,各部分的结构与工作方式略有变化。
(2)存储体阵列
计算机存储器中存储的是“0”和“1”的信息,每一个能存储一位二进制并能保持两种状态的元件称为记忆元件。若干记忆元件组成存储单元,一个存储单元能够存储一个或几个字节的二进制信息。每个存储单元都有一个地址编号,用以唯一标识存储单元的位置。信息按地址存入指定的存储单元中,按地址从指定的存储单元中取出。存储单元的集合称为存储体。由于存储体中存储单元的每个二进制位必须并行工作,因此将存储单元按其地址的顺序组成存储阵列。
(3)存储器的地址译码系统
CPU要访问存储单元的地址由地址总线输入到地址寄存器中。地址译码器将地址转换为对应地址线(字线)上的控制信号,以表示选中某一单元,并驱动相应的读写电路,完成对存储单元的读写操作。
地址译码为两种方式:一种是单译码方式,仅有一个译码器。译码器输出的每条译码线对应一个存储单元。如地址位数N=10,即译码器可以有2 10 =1024种状态,对应有1024条译码线(字线)即1024个存储单元。另外一种是双译码方式,将译码器分成X向和Y向两个译码器,通过双译码器的相互作用确定存储单元的地址。
设地址长度n仍为10,将其中的前5位输入到X地址译码器中,译出X 0 到X 31 译码线,分别选择0~31行。将后5位输入到Y地址译码器中译出Y 0 到Y 31 译码线,分别选择0~31列。X向译码器和Y向译码器引出的地址线都是2 5 =32条。若采用X向和Y向交*选择,可以选择从存储单元(0,0)至(31,31)共2 5 ×2 5 =1024个存储单元地址。即同样可以提供1024种状态,而地址线只需要64条,比单译码器节省93.75%的地址线。
(4)存储器的读写操作
在CPU向存储体发生读操作命令时,首先由CPU将相应存储单元的地址码送至地址寄存器中;地址译码器将地址寄存器中的地址编码译成相应地址线(字线)的高电位,标志指定的存储单元;然后在CPU的统一控制下,由控制电路将读命令转换成读写电路的操作,执行将指定存储单元的内容传送到数据寄存器的操作,完成了整个存储器读的操作。存储器写的操作与读的操作相类似。
不同类型的存储器根据其特点有不同的读写操作控制电路、控制机构、读写电路及地址译码器,但它们的基本操作原理大同小异。
2.RAM的结构、组织及其应用
半导体存储器有体积小、存取速度快、生产制造易于自动化等特点,其性能价格比远远高于磁芯存储器,因而得到广泛的应用。
半导体存储器的种类很多,就其制造工艺可以分成双极型半导体存储器和金属-氧化物-半导体存储器(简称MOS型存储器)。MOS型存储器按其工作状态又可以分为静态和动态两种。动态存储器必须增设恢复信息的电路,外部线路复杂。但其内部线路简单,集成度高,价格较静态存储器便宜。因此经常用做大容量的RAM。
静态存储器和动态存储器的主要差别在于:静态存储器存储的信息不会自动消失,而动态存储器存储的信息需要在再生电路的帮助下才能保持。但无论双极型或MOS型存储器,其保持的信息将随电源的撤消而消失。
(1)RAM的组织
半导体RAM芯片是在半导体技术和集成电路工艺支持下的产物。一般计算机中使用的RAM芯片均有自己的存储体阵列、译码电路、读写控制电路和I/O电路。①RAM的并联
为扩展存储器的字长,可以采用并联存储器芯片的方式实现。②RAM的串联
为扩展存储器的存储单元数量,可以采用多个芯片地址串联的方式解决。③地址复用的RAM组织
随着大规模集成电路技术的发展,使得一块存储器芯片能够容纳更多的内容。其所需地址线随之增加,为了保持芯片的外部封装不变,一般采用地址复用的技术,即采用地址分批送入的结构保证不增加芯片的地址引脚。
(2)RAM的实际应用
由于一个存储器的芯片一般不能满足使用的要求,所以通常将若干个存储器芯片按串联和并联的两种方式相结合连接,组成一定容量和字长的存储器。
如果设计的存储器容量有x字,字长为y,而采用的芯片为N×M位。要组成满足字长要求的存储器所需芯片数为:y/M。根据容量要求,组成要求容量的RAM所需芯片数为:(x/N)×(y/M)。
3.ROM的工作原理及其应用
使用时只读出不写入的存储器称为只读存储器(ROM)。ROM中的信息一旦写入就不能进行修改,其信息断电之后也仍然保留。一般用于存放微程序、固定子程序、字母符号阵列等信息。
ROM和RAM相比,使用时不需写入、再生和刷新等操作,所以其电路比较简单,但同样有地址译码器、数据读出电路等。制作ROM的半导体材料有二极管、MOS电路和双极型晶体管等。因制造工艺和功能不同,一般分为普通ROM、可编程ROM(PROM)、可擦写可编程ROM(EPROM)和电可擦写可编程ROM(EEPROM)等。
(1)ROM的工作原理
一般的ROM使用掩模式ROM。这类ROM由生产厂家做成,用户不能加以修改。
掩模ROM的特点是其存储内容出厂时由生产厂家一次制成,用户不能对其内容进行修改,而依赖于生产厂家,这种ROM适用于定型批量制作。在实际使用过程中,部分用户希望自己根据需要填写ROM的内容,因此产生可编程ROM(PROM)。PROM与掩模ROM的主要区别是PROM在出厂时其内容均为“0”或“1”,用户在使用前按照自己的需要利用工具将编码写入PROM中,一次写入不可修改。PROM的使用相当于由用户ROM生产的最后一道工序中———向ROM中写入编码,其余同掩模ROM的使用完全相同。
(2)EPROM和EEPROM的工作原理
为了适应程序调试的要求,针对一般PROM的不可修改特性,设计出可以多次擦写的可编程ROM(EPROM)。其特点是可以根据用户的要求用工具擦去ROM中原有的存储内容,重新写入新的编码。擦除和写入可以根据用户的要求用工具擦去R0M中原有的存储内容,重新写入新的编码。擦除和写入可以多次进行,其内容同样不会因断电而丢失。最常见的EPROM是UVEPROM,其存储元件常用浮置栅型MOS管组成。出厂时全部置“0”或“1”,由用户通过高压脉冲写入信息。擦写时通过其外部的一个石英玻璃窗,利用紫外线的照射,使浮栅上的电荷获得高能而泄漏,恢复原有的全“0”或全“1”状态,允许用户重新写入信息。平时窗口上必须贴有不透明胶纸,以防光线进入而造成信息流失。
另有一种EPROM是通过电气方法擦除其中的已有内容,也称为电可擦写编程ROM(EEPROM)。
4.外存储器的工作原理
外存储器是指那些不能被CPU直接访问的,读取速度较内存慢,容量比内存大,通常用来存放不常用的程序和数据的存储器。磁带、磁盘存储器是现今最常用的外存,因其利用磁表面介质存储数据,通常也称为磁表面存储器。而光盘是外存发展的方向,有必要了解它们的原理和应用。
(1)磁盘存储器
磁盘存储器具有容量大,存取速度高(相对其他种类外存储器)的特点,因而在各种类型的计算机中普遍被用做主要的外存储器。磁盘存储器避免了磁带存储的缺点。磁盘存储器将磁性材料涂粘在以某种材料为主的圆片上,用若干封闭的圆形磁道代替了磁带的长形磁道。使用时,通过磁盘面的高速旋转代替磁带的直线运动,减少寻找特定位置的时间。
磁盘存储器由磁盘、磁头、定位系统和传动系统等部分组成,一般也将这些部件统称为磁盘驱动器。根据盘片的基本组成材料将磁盘分为硬盘和软盘两种。所谓硬盘是指由金属材料制成一定厚度的盘片基体,这些盘片一般组合成盘片组构成硬盘驱动器的存储主体。
软盘和硬盘盘片记录信息的方式相同,都是将每个盘面由外向内分成若干个磁道,每个磁道也划分为多个扇区,信息以扇区为单位存储。
扇区是磁盘存放信息的最小物理单位。扇区包括头空、序标、数据区、检验字段和尾空等几个部分。通常对磁盘进行的所谓格式化操作就是在磁盘上划分磁道、扇区及扇区内各特定区域,刚出厂的磁盘上没有这些划分,所以必须在格式化后才能使用。
磁盘区域的划分随计算机系统的不同而不同,其存储容量也有较大的差别。但可以通过查阅计算机系统相应的说明掌握磁盘容量的数据。计算一个磁盘容量的公式是:磁盘存储容量=盘面数×每盘面磁道数×每磁道扇区数×每扇区存储容量
(2)光盘存储器
所谓光盘(CD)是利用光学原理读写信息的存储器。由于光盘的容量大、速度较快、不易受干扰等特点,光盘的应用愈来愈广泛。
光盘系统一般是由光学、电气和机械部件组成。
从结构上看光盘存储器同磁盘存储器基本相同,两者均有存储信息的盘片、机械驱动部件、定位部件和读写机构。不同的是后者利用磁性原理存储信息,利用磁头存取信息;而前者是利用光学原理存储信息并用光学读写头来存取这些信息。
光盘本身是靠盘面上一些能够影响光线反射的表面特征存储信息,例如现在常用的只读光盘(CD-ROM)上利用光盘表面的凹凸不平表示“0”和“1”。以CD-ROM为例,读取数据时,由机械驱动部件和定位部件负责确定读取的位置。激光器发出激光经光学线路至聚焦透镜射向光盘表面,表面的凹凸不平造成反射光的变化,利用数据光检测器将这些变化转换为数据“0”和“1”的电信号传输到数据输出端,整个读取工作完成。其他类型光盘的写入过程大体与此相同,唯一的差别是数据自数据输入端传来。
一般将光盘存储器分为只读式(readonly)、一次写入式(writeonce)和可擦式(erasable)或可逆式(reversible)三种。只读式光盘利用材料表面的凹凸不平的特征记录信息,在出厂前由生产厂家将有关信息存放到光盘上。对于一次写入式光盘,用户可以利用会聚的激光束在光盘表面照射使材料发生永久性变化而记录信息。这种光盘现已普遍用于多媒体系统。可擦式光盘利用激光在磁性材料上或相变材料上实现信息的存储和擦除。
光盘存储器的记录密度高,存储容量大,一片5.25英寸大小的一次写入式光盘可以存储680MB的信息,其容量远远大于外形同样大小的软磁盘。光盘信息的保存时间也比磁盘的长。目前影响光盘普遍应用的主要原因是光盘存储器的读写速度慢和光盘驱动器的成本高。随着技术的进步,以上问题是可以解决的。因此光盘存储器有广泛的应用前景。
5.虚拟存储的概念、作用和工作过程
(1)虚拟存储的概念、作用
一般将由主存和部分辅
存组成的存储结构称为虚拟存储器,其对应的存储地址称为虚拟地址(逻辑地址),其对应的存储容量称为虚拟容量。将实际主存地址称为物理地址或实地址,主存的容量称为实存容量。
当用虚拟地址访问主存时,系统首先查看所用虚拟地址对应的单元内容是否已装入主存。如果在主存中,可以通过辅助软、硬件自动把虚拟地址变成主存的物理地址后,对主存相应单元进行访问。如果不在主存中,通过辅助的软、硬件将虚拟地址对应的内容调入主存中,然后再进行访问。因此,对虚拟存储器的每次访问都必须进行虚实地址的变换。
虚拟存储器的作用是扩大整个主存的容量,允许在程序中使用比主存容量大得多的虚拟存储器。同时可以减轻人们编程中对程度进行分块的苦恼,从而提高软件开发的效率。虚拟存储器是实现利用小容量的主存运行大规模的程序的一种有效的办法。尽管实现虚拟存储要增加一些额外的投资和软件开销,虚拟存储技术在各种计算机系统中仍得到了广泛的应用。
虚拟存储器必须建立在主存-辅存结构上,但一般的主存-辅存系统并不一定是虚拟存储器,虚拟存储器与一般的主存-辅存系统的本质区别是:
①虚拟存储器允许人们使用比主存容量大得多的地址空间来访问主存,非虚拟存储器最多只允许人们使用主存的整个空间,一般只允许使用操作系统分配的主存中的某一部分空间。
②虚拟存储器每次访问主存时必须进行虚、实地址的变换,而非虚拟存储系统则不必变换。
(2)虚拟存储的工作原理
虚拟存储技术,实际上是将编写程序时所用的虚拟地址(逻辑地址)转换成较小的物理地址。在程序运行时随时进行这种变换。为了便于主存与辅存之间信息的交换,虚拟存储器一般采用二维或三维的复合地址格式。采用二维地址格式时,将整个存储器划分为若干页(或段),每个页(或段)又包括若干存储单元。采用三维地址格式时将整个存储空间分为若干段,每段分为若干页,每页又包括若干存储单元。根据地址格式不同,虚拟存储器分为:页式虚拟存储器、段式虚拟存储器和段页式虚拟存储器。
在虚拟存储器中逻辑地址与物理地址之间的对应称为地址映象。通常有三种地址映象的方式:全相联映象、直接映象和组相联映象。①全相联映象
任一逻辑页能映象到实际主存的任意页面位置称为全相联映象,通常利用页表法进行地址间的变换。
②直接映象
每个逻辑页只能映象到一个特定页面的方式称为直接映象。如主存实际有2 P 页,虚拟存储器的逻辑空间有2 P 页,则将逻辑空间按物理空间大小分为2 P -P块,块内各页只能映象到主存的相应页中。即所有各块的第0页对应主存的第0页,各块的第n页对应主存的第n页。若程序需要轮流使用第i块和第j块的第m页,只能将两页交替在主存和辅存之间调入调出,形成存储页面的“抖动”。③组相联映象
组相联映象方法是先按直接映象方法将虚拟存储空间(逻辑空间)分成若干块,在主存和逻辑空间中的各块内划分为若干组,每个组间按直接映象方法控制。可以这样理解,如果将组相联映象方法中的组按直接映象方法的页来看待,组相联方法与直接映象方法相同,逻辑空间的各组内的页只能与对应的物理空间组相联。但在组内各页与物理空间的页面之间采用全相联映象方法处理。因此,可以认为组相联映象是全相联映象和直接映象方法的结合。
6.缓冲技术使用
缓冲技术就是为缓解慢速设备对整个计算机系统速度的影响,在计算机的某些部件中划定一块区域,模拟慢速设备的操作,将对慢速设备的操作先存放在此区域中,其他部件完成这一操作后可以继续其他工作,而慢速设备可以用自己的速度逐渐完成相应的操作。做为中间缓冲的区域称为缓冲区,相应的技术称为缓冲技术。
在整个存储体系的组织中,缓冲技术成为解决容量与速度之间矛盾的主要方法。实际上在计算机系统中缓冲技术解决了许多难题,促进了计算机系统的发展。在存储体系中,缓冲技术主要体现在Cache的应用和磁盘缓冲的使用。