




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 存储器系统引入:电子计算机是20世纪人类最伟大的发明之一。随着计算机的广泛应用,人类社会生活的各个方面都发生了巨大的变化。特别是微型计算机技术和网络技术的高速发展,计算机逐渐走进了人们的家庭,正改变着人们的生活方式。计算机逐渐成为人们生活和工作不可缺少的工具,掌握计算机的使用也成为人们必不可少的技能。本章知识要点:1)存储器的分类和三层体系结构2)RAM、ROM芯片的结构、工作原理3)存储器的扩展方法4)高速缓冲存储器技术5)虚拟存储器技术6)存储保护4.1 存储器概述4.1.1 存储器的分类在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是一种记忆部件,是用来存储程序和数据的,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,常用的分类方法有以下几种。一、按其用途分(1)内存储器内存储器又叫内存,是主存储器。用来存储当前正在使用的或经常使用的程序和数据。CPU可以对他直接访问,存取速度较快。(2)外存储器外存储器又叫外存,是辅助存储器。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。外存的特点是容量大,所存的信息既可以修改也可以保存。存取速度较慢,要用专用的设备来管理。计算机工作时,一般由内存ROM中的引导程序启动程序,再从外存中读取系统程序和应用程序,送到内存的RAM中,程序运行的中间结果放在RAM中,(内存不够是也可以放在外存中)程序的最终结果存入外部存储器。二、按存储介质分(1)半导体存储器早期的半导体存储器,普遍采用典型的晶体管触发器和一些选择电路构成的存储单元。现代半导体存储器多为用大规模集成电路工艺制成的一定容量的芯片,再由若干芯片组成大容量的存储器。半导体存储器又分为双极型半导体存储器和MOS型半导体存储器。(2)磁表面存储器再金属或非金属基体的表面上,涂敷一层磁性材料作为记录介质,这层介质称为磁层。工作时,磁层随机体高速运动,用磁头再磁层上进行读写操作。如磁盘存储器和磁带存储器。其特点是:存储容量大,价格低,但结构为机电组合,工艺复杂、存取速度慢,主要用做辅助存储器。(3)光存储器。如CD,VCD,MO,MD,DVD。三、按存取方式分(1)随机存取存储器随机存取存储器简称RAM,也叫做读/写存储器,既能方便地读出所存数据,又能随时写入新的数据。RAM的缺点是数据的易失性,即一旦掉电,所存的数据全部丢失。(2)只读存储器只读存储器通常简写为ROM。ROM存放的数据一般不能用简单的方法对其内容进行改写,正常使用时主要对其进行读取操作,ROM还具有掉电后其内部信息不丢失的特点(通常叫非易失性),一般用于存放一些固定的数据或程序,其一般在器件生产出厂前由生产厂家将内容直接写入在器件中。(3)顺序存取存储器访问存储器所用的时间由被访问数据所处的物理位置来决定。例如,在磁带存储器中,访问记录在磁带末尾的数据要比访问记录在磁带头部的数据花费更多的时间。(4)直接存取存储器直接存取存储器如磁盘存储器和光盘存储器等,访问每个存储单元的时间可能不相同,但也不象磁带存储器那样,完全由被访问数据所处的物理位置来决定。磁盘、光盘等可以在两个方向上同时寻址,实际的访问时间与发出读写命令时磁头所处的位置等因素有关。四、按信息可保存性分(1)易失性存储器断电后,存储的信息将消失的存储器。RAM是易失性存储器。(2)非易失性存储器断电后,存储的信息仍然保存再存储器中,称为非易失性存储器,ROM,FLASH和磁性材料存储器为非易失性存储器。4.1.2存储体系与层次结构一、访存的局部性原理计算机对存储器的要求是高速度、大容量、低价格。从大量的统计中得到的一个规律是,程序中对于存储空间90%的访问局限于存储空间的10%的区域中,而另外10%的访问则分布在存储空间的其余90%的区域中。这就是通常说的局部性原理。访存的局部性规律包括两个方面:(1)时间局部性:如果一个存储项被访问,则可能该项会很快被再次访问。 (2)空间局部性:如果一个存储项被访问,则该项及其邻近的项也可能很快被访问。 二、存储器的层次结构中央处理器主存(内存)辅存(外存)高速缓存(Cache)图4-1 三层存储体系结构人们为了解决存储器容量和速度的矛盾,应用了访问局部性原理,把存储体系设计成为层次化的结构以满足使用要求。存储体系结构包括不同层次上的存储器,通过适当的硬件、软件有机地组合在一起形成计算机的存储体系结构。现在大多数人都将高性能计算机的存储体系结构描述成如图4-1所示的三层存储器层次结构。三级存储结构是高速缓存(Cache)、主存储器(MM)和辅助存储器(外存)。也有人将存储器层次分为四层,是将CPU内部的寄存器也看作是存储器的一个层次。即是由寄存器、高速缓存(Cache)、主存(内存)、外存组成。其中寄存器是最高层次的存储部件,容量最小,速度最快。寄存器对程序员是不透明的,对它的访问需按寄存器名访问而不是按地址。有一些简单的计算机没有高速缓存(Cache),则这样的计算机的存储体系就剩下主存和辅存两个层次。(1)主存储器用来存放需CPU运行的程序和数据。用半导体RAM构成,常包含少部分ROM。可由CPU直接编程访问,采取随机存取方式,即:可按某个随机地址直接访问任一单元(不需顺序寻找),存取时间与地址无关。存储容量较大,常用字节数表示,有时也用单元数位数表示。速度较快,以存取周期表示。 (2)Cache位于CPU与主存之间(有些Cache集在CPU芯片之中),用来存放当前运行的程序和数据,它的内容是主存某些局部区域(页)的复制品。它用快速的半导体RAM构成,采取随机存取方式。存储容量较小而速度最快。 (3)外存储器用来存放暂不运行但需联机存放的程序和数据。用磁盘、光盘、磁带等构成,磁盘用于需频繁访问场合,光盘目前多用于提供系统软件,而磁带多用于较大系统的备份。CPU不能直接编址访问外存,而是将它当作外围设备调用。磁带采取顺序存取方式。磁盘与光盘采取直接存取(半顺序)方式,先直接定位到某个局部区域,再在其中顺序存取。外存容量可以很大,以字节数表示。4.1.3存储器的性能指标一、存储容量由于一般存储器都采用一维线性编址,存储器中的每个能够存放数据的单元都被赋予一个地址,因此,简单地说,存储容量(Memory Capacity)是指存储器中所具有的存储单元的个数,或所具有的地址个数。表示存储器容量的单位主要有字节(Byte),简写为B;位(bit),简写为b;字(Word),简写为W。其中,最常用的单位是字节B,一个字节由8位组成,即1B8b。对于32位计算机系统,一个字有32位,即1W32b8B。因为存储器的容量一般都很大,因此,要用千(Kilo)、兆(Mega)、千兆(Giga)、兆兆(Tera)等单位来表示。二、存取时间存取时间又称为存储器访问时间,是指启动一次存储器操作到完成该操作所需的时间。写入时为存数时间,读出时为取数时间。用TA表示。(1)取数时间Tr:从向存储器发出读操作命令到数据从存储器中读出所经历的时间。(2)存数时间Ta:从启动一次访问存储器操作到完成该操作所经历的时间,这里所说的访问存储器操作包括读操作、写操作、交换操作等。三、存储周期存储周期又称为访问周期,是指连续启动两次独立的存储器操作所需间隔的最小时间。用TMC表示。存储周期的倒数,称为存储器速度(用S表示)。它表示每秒从存储器进出信息的最大数量,其单位用字/秒或字节/秒表示。四、可靠性存储器的可靠性用平均故障时间MTBF来描述,它可以理解为两次故障之间的平均时间间隔。MTBF越长,说明存储器的可靠性越高。五、性能价格比性能价格比是衡量存储器经济性能好坏的综合性指标。存储器的价格通常用每位的价格来表示,例如每位多少美分($c/bit)。目前,静态存储器的价格大致为10-4$c/bit,动态存储器的价格大致为10-7$c/bit,磁表面存储器的价格大致为10-10$c/bit。 衡量存储器的性能还可以有其他一些参数,例如功耗。目前,功耗已经成为提高存储器性能的一个重大障碍。大家知道,芯片集成度提高得很快,于是,芯片的散热就成了大问题。因此,降低存储器芯片的功耗是当前一个重大得研究课题。通常,存储器的维持功耗要远远低于工作功耗,因此,当外部不访问存储器时,存储器一般处于维持状态,以减小功耗,降低存储器的温度。4.2 主存储器主存储器又称内存,通常由半导体存储器构成。通用微型计算机的主存包含只读存储器ROM(Read Only Memory)和随机存取存储器RAM (Read Only Memory)。其中ROM支持基本的监控和输入输出管理,RAM则面向用户。4.2.1随机存取存储器RAMRAM就是我们平常所说的内存,主要用来存放各种现场的输入、输出数据,中间计算结果,以及与外部存储器交换信息。它的存储单元根据具体需要可以读出,也可以写入或改写。一旦关闭电源或发生断电,其中的数据就会丢失。现在的RAM多为MOS型半导体电路,它分为静态(SRAM)和动态(DRAM)两种。静态RAM是靠双稳态触发器来记忆信息的;动态RAM是靠MOS电路中的栅级电容来记忆信息的。由于电容上的电荷会泄漏,需要定时给予补充,所以动态RAM需要设置刷新电路。但动态RAM比静态RAM集成度高、功耗低,从而成本也低,适于作大容量存储器。所以主内存通常采用动态RAM,而高速缓冲存储器(Cache)则使用静态RAM。另外,内存还应用于显卡,声卡及CMOS等设备中,用于充当设备缓存或保存固定的程序及数据。动态RAM按制造工艺的不同,又可分为动态随机存储器(Dynamic RAM)、扩展数据输出随机存储器(Extened Data Out RAM)和同步动态随机存储器(Sysnchromized Dynamic RAM)。一、SRAM的组成图4-2 SRAM结构框图SRAM由存储器、地址译码电路、读写控制电路、输入/输出控制电路和片选控制组成。如图4-2所示。(1)存储体半导体存储体由多个基本存储电路组成,每个基本存储电路对应一个二进制数位。SRAM中的每一位均存储在四个晶体管当中,这四个晶体管组成了两个交叉耦合反向器。这个存储单元具有两个稳定状态,通常表示为0和1。另外还需要两个访问晶体管用于控制读或写操作过程中存储单元的访问。因此,一个存储位通常需要六个MOSFET。对称的电路结构使得SRAM的访问速度要快于DRAM。一个基本存储电路只能存储一个二进制位。将基本的存储电路有规则地组织起来,就是存储体。存储体是存储单元的集合。在较大容量的存储器中,往往把各个字的同一位组织在一个集成片中。如图中的40961位,是指4096个字的同一位。由这样的16个片子则可组成409616的存储器。同一位的这些字排成矩阵,如64644096。由X(行线)和Y(列线)的交叉来选择所需要的单元。(2)地址译码电路地址译码器的输入信息来自CPU的地址寄存器。地址寄存器用来存放所要访问(写入或读出)的存储单元的地址。CPU要选择某一存储单元,就在地址总线上输出此单元的地址信号给地址译码器。地址译码器把用二进制代码表示的地址转换成输出端的高电位,用来驱动相应的读写电路,以便选择所要访问的存储单元。地址译码有两种方式:一种是单译码方式,适用于小容量存储器;另一种是双译码方式,适用于大容量存储器。单译码结构也称字结构。在这种方式中,地址译码器只有一个,译码器的输出叫字选线,而字选线选择某个字(某存储单元)的所有位。例如,地址输人线n4,经地址译码器译码,可译出2416个状态,分别对应16个字地址。为了节省驱动电路,存储器中通常采用双译码结构。采用双译码结构,可以减少选择线的数目。在这种译码方式中,地址译码器分成X向和Y向两个译码器。若每一个有n2个输入端,它可以译出2 n/2个输出状态,那么两个译码器交叉译码的结果,共可译出2 n22 n22n个输出状态,其中n为地址输入量的二进制位数。但此时译码输出线却只有 2 2 n2根。例如n12,双译码输出状态为2124096个,而译码线仅只有2 26128根。 (3)读写控制电路存储器的基本操作是读操作和写操作,访问SRAM时,对被选中的寄存器,究竟是读还是写,通过读/写控制线进行控制。如果是读,则被选中单元存储的数据经数据线、输入/输出线传送给CPU;如果是写,则CPU将数据经过输入/输出线、数据线存入被选中单元。一般SRAM的读/写控制线高电平为读,低电平为写;也有的RAM读/写控制线是分开的,一根为读,另一根为写。(4)输出驱动电路RAM通过输入/输出端与计算机的中央处理单元(CPU)交换数据,读出时它是输出端,写入时它是输入端,即一线二用,由读/写控制线控制。输入/输出端数据线的条数,与一个地址中所对应的寄存器位数相同,例如在10241位的RAM中,每个地址中只有1个存储单元(1位寄存器),因此只有1条输入/输出线;而在2564位的RAM中,每个地址中有4个存储单元(4位寄存器),所以有4条输入/输出线。也有的RAM输入线和输出线是分开的。RAM的输出端一般都具有集电极开路或三态输出结构。(5)片选控制由于受RAM的集成度限制,一台计算机的存储器系统往往是由许多片RAM组合而成。CPU访问存储器时,一次只能访问RAM中的某一片(或几片),即存储器中只有一片(或几片)RAM中的一个地址接受CPU访问,与其交换信息,而其他片RAM与CPU不发生联系,片选就是用来实现这种控制的。通常一片RAM有一根或几根片选线,当某一片的偏选线接入有效电平时,该片被选中,地址译码器的输出信号控制该片某个地址的寄存器与CPU接通;当片选线接入无效电平时,则该片与CPU之间处于断开状态。(6)RAM的输入/输出控制电路图4-3输入/输出控制电路图4-3给出了一个简单的输入/输出控制电路。当选片信号CS1时,G5、G4输出为0,三态门G1、G2、G3均处于高阻状态,输入/输出(I/O)端与存储器内部完全隔离,存储器禁止读/写操作,即不工作。当CS0时,芯片被选通:当1时,G5输出高电平,G3被打开,于是被选中的单元所存储的数据出现在I/O端,存储器执行读操作;当0时,G4输出高电平,G1、G2被打开,此时加在I/O端的数据以互补的形式出现在内部数据线上,并被存入到所选中的存储单元,存储器执行写操作。二、SRAM的容量扩展目前生产的存储器芯片的容量是有限的,它在字数或字长方面与实际存储器的要求都有差距,所以需要在字向和位向两方面进行扩充才能满足实际存储器的容量要求,通常采用位扩展法、字扩展法、字位同时扩展法。 (1)位扩展法图4-4 位扩展法假定使用8Kl的RAM存储器芯片,那么组成8K8位的存储器,可采用图4-4所示的位扩展法。此时只加大字长,而存储器的字数与存储器芯片字数一致。图中,每一片RAM是81921,故其地址线为13条(A0A12),可满足整个存储体容量的要求。每一片对应于数据的1位(只有1条数据线),故只需将它们分别接到数据总线上的相应位即可。在这种方式中,对片子没有选片要求,就是说片子按已被选中来考虑。如果片子有选片输入端,可将它们直接接地。在这种连接时,每一条地址总线接有8个负载,每一条数据线接有一个负载。(2)字扩展法字扩展是仅在字向扩充,而位数不变,因此将芯片的地址线、数据线、读写控制线并联,而由片选信号来区分各片地址,故片选信号端连接到选片译码器的输出端。图4-5是用16K8位的芯片采用字扩展法组成64K8位的存储器连接图。图中4个芯片的数据线与数据总线D一D相连,地址总线低位地址A一A与各芯片的14位地址端相连,两位高位地址A14,A经译码器和4个片选端相连。 图4-5字扩展法(3)字位同时扩展法用容量为lk位的存储芯片设计容量为MN位的存储器(lM,kN,需要字向、位向同时进行扩展。共需存储芯片数为:( M / l ) ( N / k )。例:用256K8位的存储芯片设计容量为2048K32位的存储器。 解:需存储芯片数为:(2048K / 256K) (32 /8)= 32(片) 由每组四片存储芯片完成位扩展;八组这样的存储芯片完成字扩展,参考图4-6。 图4-6字位扩展法三、DRAM的组成动态随机访问存储器(DRAM)是一种随机访问记忆体(RAM),不会一直保存记忆内容,随着时间而将内容流失。DRAM用于通常的数据存取。我们常说内存有多大,主要是指DRAM的容量。DRAM中的每一位数据均存储于一个电容当中,储存在电容中的电子的数量决定了该位数据对应的是1还是0。由于DRAM的存储单元由电容组成,相对于SRAM来说,它占用的面积也更小,从而其价格也更便宜。电容总是趋向于释放电荷,因此DRAM还需要周期性的刷新操作,否则数据就会丢失。正是因为DRAM需要周期的刷新操作,所以相对于静态RAM(SRAM)来说,DRAM是动态的。另外,当DRAM的电源供应停止后,存储于其中的数据会丢失,因此,DRAM是一种非永久性存储器(易失性存储器)。DRAM中的电容通常被组织成一个正方阵列,这个阵列由若干行和若干列组成,其中的每一个电容都可以看成是阵列的一个单元,这些单元通过阵列的行和列的地址译码器来寻址。对于任何一个单元的读操作,整个行均被读出,然后重新写回(刷新)。对于任何一个单元的写操作,整个行均被读出,然后改变其中一个单元的值,最后将整个行写回。典型情况下,DRAM的制造厂家规定DRAM的每一行必须在64ms以内执行一次刷新操作。通常使用刷新逻辑来自动完成刷新操作,这使得DRAM的实现更加复杂,但由于其价格便宜、容量大,因此它在某些应用场合比SRAM更加具有吸引力。四、DRAM的电器特性(1)集成度高,功耗低 (2)具有易失性,必须刷新。 (3)破坏性读出,必须读后重写 (4)读后重写,刷新均经由刷新放大器进行。 (5)刷新时只提供行地址,由各列所拥有的刷新放大器,(6)对选中行全部存储细胞实施同时集体读后重写(再生)。五、DRAM的刷新动态MOS存储器采用“读出”方式进行刷新。因为在读出过程中恢复了存储单元的MOS栅极电容电荷,并保持原单元的内容,所以读出过程就是再生过程。通常,在再生过程中只改变行选择线地址,每次再生一行。依次对存储器的每一行进行读出,就可完成对整个DRAM的刷新。从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫刷新周期,一般为2ms,4ms或8ms。常用的刷新方式有三种,一种是集中式,另一种是分散式,第三种是异步式。(1)集中式刷新方式 以2116芯片为例,假定读写周期为500 ns,那么刷新128行所需时间为50012810364s,如果采用集中式刷新方式,那么必须在2 ms的时间内集中用64s的时间对存储器进行刷新操作,在此期间不允许CPU或其他处理机访问存储器。(2)分散式刷新方式分散式刷新方式是每读写一次存储器就刷新一行存储元,假定存储器的读写周期为500ns,那么相当于读写周期延长为1000ns。这就是说,每读写128次存储器就能对128行存储元刷新一遍,其刷新的间隔为128s,在2ms时间内,能对每个存储元刷新16遍。这显然没有必要,而且存储器访问速度因此而降低一倍。其优点是不出现“死时间”。(3)异步式刷新方式前述两种刷新方式的结合,基本思想是将刷新操作平均分配到整个刷新间隔时间内进行。访问周期为500ns,整个芯片共128行,即2ms时间内,只要求刷新128次,于是每行的刷新间隔为: 2 ms/128 15.625s于是将2ms时间分成128段,每段155s,在每段内利用05s的时间刷新一行,保证在2ms时间内能对整个芯片刷新一遍。 图4-7 SRAM 6116引脚排列图这种刷新方式是把集中式刷新的64s“死时间”分散成每155s出现05s的死时间,这对CPU的影响不大,而且不降低存储器的访问速度,控制上也并不复杂,是一种比较实用的方式。除此之外,异步式刷新还可采用利用CPU不访问存储器的空闲时间,对存储器进行刷新操作,这种方式完全不出现“死时间”,也不降低存储器的访问速度,但是必须保证在2mS时间内能刷新一遍整个芯片,否则将造成严重后果,因此这种方式控制比较复杂,实现起来比较困难。 六、典型RAM芯片介绍下面我们来介绍一种典型SRAM存储器芯片HM6116。 HM6116芯片的存储容量为2K*8位,片内有16384(即16K)个存储单元,排列成128*128的矩阵,构成2K个字,字长8位,可构成2KB(B字节)的内存。该芯片有11条地址线,分成7条行地址线A4A0,4条列地址线A0A3,一个11位地址码选中一个8位存储字,需有8条数据线D0D7与同一地址的8位存储单元相连,由这8条数据线进行数据的读出与写入。(1)HM6116引脚图图4-7所示是2K8位静态CMOS RAM6116的引脚排列图。6116的24个引脚中除11条地址线(A0A10)、8条数据线(D0D7)、l条电源线Vcc和1条接地线GND外,还有3条控制线片选信号、写允许信号和输出允许信号。HM6116是一种20488位的高速静态CMOS随机存取存储器,它的特征是:1)高速度。存取时间为100ns/120ns/150ns/200ns(分别以6116-10、6116-12、6116-15、6116-20为标志);2)低功耗。运行时为150mW,空载时为100mW;3)与TTL兼容;4)管脚引出与标准的2K*8的芯片(例如2716芯片)兼容;5)完全静态无需时钟脉冲与定时选通脉冲。6)存储容量为2K8位,该芯片有11条地址线,8条数据线。(2)芯片工作方式和控制信号之间的关系下表所列是6116的工作方式与控制信号之间的关系,读出和写入线是分开的,而且写入优先。表4-1 静态RAM6116工作方式与控制信号之间的关系工作状态1高 阻 态低功耗维持001稳定输 出读00稳定输 入写4.2.2只读存储器ROM一、ROM的分类只读存储器简称ROM,它只能读出,不能写入,故称为只读存储器。工作时,将一个给定的地址码加到ROM的地址码输入端,此时,便可在它的输出端得到一个事先存入的确定数据。只读存储器的最大优点是具有不易失性,即使供电电源切断,ROM中存储的信息也不会丢失。因而ROM获得了广泛的应用。只读存储器存入数据的过程,称为对ROM进行编程。与RAM不同,ROM一般需由专用装置写入数据。按照数据写入方式特点不同,ROM可分为以下几种:(1)固定ROM。也称掩膜ROM,这种ROM在制造时,厂家利用利用掩膜技术直接把数据写入存储器中,ROM制成后,其存储的数据也就固定不变了,用户对这类芯片无法进行任何修改。(2)一次性可编程ROM(PROM)。PROM在出厂时,存储内容全为1(或全为0),用户可根据自己的需要,利用编程器将某些单元改写为0(或1)。PROM一旦进行了编程,就不能再修改了。(3)光可擦除可编程ROM(EPROM)。EPROM是采用浮栅技术生产的可编程存储器,它的存储单元多采用N沟道叠栅MOS管,信息的存储是通过MOS管浮栅上的电荷分布来决定的,编程过程就是一个电荷注入过程。编程结束后,尽管撤除了电源,但是,由于绝缘层的包围,注入到浮栅上的电荷无法泄漏,因此电荷分布维持不变,EPROM也就成为非易失性存储器件了。当外部能源(如紫外线光源)加到EPROM上时,EPROM内部的电荷分布才会被破坏,此时聚集在MOS管浮栅上的电荷在紫外线照射下形成光电流被泄漏掉,使电路恢复到初始状态,从而擦除了所有写入的信息。这样EPROM又可以写入新的信息。(4)电可擦除可编程ROM(E2PROM)。E2PROM也是采用浮栅技术生产的可编程ROM,但是构成其存储单元的是隧道MOS管,隧道MOS管也是利用浮栅是否存有电荷来存储二值数据的,不同的是隧道MOS管是用电擦除的,并且擦除的速度要快的多(一般为毫秒数量级)。E2PROM的电擦除过程就是改写过程,它具有ROM的非易失性,又具备类似RAM的功能,可以随时改写(可重复擦写1万次以上)。目前,大多数E2PROM芯片内部都备有升压电路。因此,只需提供单电源供电,便可进行读、擦除/写操作,这为数字系统的设计和在线调试提供了极大方便。(5)快闪存储器(Flash Memory)。快闪存储器的存储单元也是采用浮栅型MOS管,存储器中数据的擦除和写入是分开进行的,数据写入方式与EPROM相同,需要输入一个较高的电压,因此要为芯片提供两组电源。一个字的写入时间约为200微秒,一般一只芯片可以擦除/写入100次以上。二、ROM的内部结构由地址译码器和存储矩阵组成,图4-8所示是ROM的内部结构示意图。图4-9标准28脚双列直插EPROM 2764引脚图图4-8 ROM的内部结构图三、ROM典型芯片介绍EPROM2764的引脚排列和功能框图如图4-9所示。在正常使用时,VCC=+5V、VIH为高电平,即VPP引脚接+5V、引脚接高电平,数据由数据总线输出。在进行编程时,引脚接低电平,VPP引脚接高电平(编程电平+25V),数据由数据总线输入。:输出使能端,用来决定是否将ROM的输出送到数据总线上去,当=0时,输出可以被使能,当=1时,输出被禁止,ROM数据输出端为高阻态。:片选端,用来决定该片ROM是否工作,当=0时,ROM工作,当=1时,ROM停止工作,且输出为高阻态(无论为何值)。ROM输出能否被使能决定于+的结果,当+=0时,ROM输出使能,否则将被禁止,输出端为高阻态。另外,当=1时,还会停止对ROM内部的译码器等电路供电,其功耗降低到ROM工作时的10%以下。这样会使整个系统中ROM芯片的总功耗大大降低。四、ROM容量的扩展图4-10 ROM的位扩展(1)位扩展(现有型号的EPROM,输出多为8位。)如图4-10所示是将两片2764扩展成16k16位EPROM的连线图。图4-11 ROM的字扩展(2)字扩展用8片2764扩展成64k8位EPROM,如图4-11所示。4.3 高速缓冲存储器(Cache Memory)技术4.3.1高速缓冲存储器概述一、高速缓存的作用和特点高速缓冲存储器是为了解决CPU和主存之间速度匹配问题而采用的一项重要技术。Cache是一块专门的存储区域,采用高速的存储器件构成,介于CPU和主存之间。它将CPU对内存的读取改为先读Cache,如果Cache中没有,再到内存中取,但读取的信息同时进入Cache,当下一次读取该信息时就只需从Cache中读取。由于Cache比内存速度要快得多,所以在使用Cache后计算机的速度有明显提高。把CPU最近最可能用到的少量信息(数据或指令)从主存复制到Cache中,当CPU下次再用到这些信息时,它就不必访问慢速的主存,而直接从快速的Cache中得到,从而提高了速度。从功能上看,Cache是主存的缓冲存储器,由高速的SRAM组成。为追求高速,包括管理在内的全部功能由硬件实现,因而对程序员是透明的。它有以下特点:(1)高速:存取速度比主存快,以求与CPU匹配。由高速的SRAM组成,全部功能由硬件实现,保证了高速度。(2)容量小:因价格贵,所以容量较小,一般为几百KB,作为主存的一个副本可分为片内Cache和片外Cache。二、命中率评价Cache性能关键的指标是Cache的命中率。所谓命中率就是指CPU所要访问的信息再Cache中的比率。相反,将CPU所要访问的信息不在Cache中的比率称为失效率。因为Cache的容量远远小于内存,它只可能存放内存的一部分数据。CPU自然是先访问Cache,再访问主存,如果数据在Cache中为命中,在不在内存中为不命中,Cache容量越大,命中率越高。而当容量超过一定值后,命中率随容量的增加将不会有明显的提高。4.3.2高速缓冲存储器的工作原理高速缓冲存储器最主要是由存储体、Cache-主存地址映像和Cache替换机构组成。一、Cache存储体Cache存储体是以一定的字容量所组成的存储模块。通常以“命中率”来衡量Cache的效率。所谓命中率,是指CPU所要访问的信息在Cache中的比率。二、地址映像地址映像的功能是把CPU发送来的主存地址转换成Cache的地址。当信息按这种方式装入Cache中后,执行程序时,应将主存地址变换为Cache地址,这个变换过程叫作地址变换。地址映象方式通常采用直接映象、全相联映象、组相联映象三种。(1)直接映象每个主存地址映像到Cache中的一个指定地址的方式,称为直接映象方式。在直接映象方式下,主存中存储单元的数据只可调入Cache中的一个位置,如果主存中另一个存储单元的数据也要调入该位置则将发生冲突。地址映像的方法一般是将主存空间按Cache的尺寸分区,每区内相同的块号映像到Cache中相同的块位置。一般地,Cache被分为2N块,主存被分为同样大小的2M块,主存与Cache中块的对应关系可用如下映像函数表示:j = i mod 2N。式中,j是Cache中的块号,i是主存中的块号。直接映象是一种最简单的地址映像方式,它的地址变换速度快,而且不涉及其他两种映像方式中的替换策略问题。但是这种方式的块冲突概率较高,当称序往返访问两个相互冲突的块中的数据时,Cache的命中率将急剧下降,因为这时即使Cache中有其他空闲块,也因为固定的地址映像关系而无法应用。(2)全相联映象主存中的每一个字块可映像到Cache任何一个字块位置上,这种方式称为全相联映像。这种方式只有当Cache中的块全部装满后才会出现块冲突,所以块冲突的概率低,可达到很高的Cache命中率;但实现很复杂。当访问一个块中的数据时,块地址要与Cache块表中的所有地址标记进行比较已确定是否命中。在数据块调入时存在着一个比较复杂的替换问题,即决定将数据块调入Cache中什么位置,将Cache中那一块数据调出主存。为了达到较高的速度,全部比较和替换都要用硬件实现。(3)组相联映象组相联映象方式是直接映象和全相联映象的一种折衷方案。这种方法将存储空间分为若干组,各组之间是直接映像,而组内各块之间则是全相联映像。它是上述两种映像方式的一般形式,如果组的大小为1,即Cache空间分为2N组,就变为直接映像;如果组的大小为Cache整个的尺寸,就变为了全相联映像。组相联方式在判断块命中及替换算法上都要比全相联方式简单,块冲突的概率比直接映像的低,其命中率也介于直接映像和全相联映像方式之间。三、替换机构Cache和存储器一样具有两种基本操作,即读操作和写操作。当CPU发出读操作命令时,根据它产生的主存地址分为两种情形:一种是需要的数据已在Cache中,那么只需直接访问Cache,从对应单元中读取信息到数据总线;另一种是需要的数据尚未装入Cache,CPU需从主存中读取信息的同时,应将从主存中取出的内容放到Cache中。若Cache中尚有空闲的块,则可将新的内容写入;若Cache中的块都已装满,则需进行替换。替换机构是按替换算法设计的,其作用是指出应该替换的块号。替换算法与Cache的命中率相关,替换机构由硬件实现。常见的替换策略有两种:(1)先进先出策略(FIFO)FIFO(First In First Out)策略总是把最先调入的Cache字块替换出去,它不需要随时记录各个字块的使用情况,较容易实现;缺点是经常使用的块,如一个包含循环程序的块也可能由于它是最早的块而被替换掉。(2)最近最少使用策略(LRU)LRU(Least Recently Used)策略是把当前近期Cache中使用次数最少的那块信息块替换出去,这种替换算法需要随时记录Cache中字块的使用情况。LRU的平均命中率比FIFO高,在组相联映像方式中,当分组容量加大时,LRU的命中率也会提高。综上所述:当CPU要求访存时,地址总线上给出了主存地址,此地址经主存Cache地址映象变换机构,形成Cache地址。如果转换后的Cache地址与CPU欲访问的主存地址已建立了对应关系,即已命中,则CPU直接访问Cache存储体。如果转换后的Cache地址与CPU欲访问的主存地址未建立对应关系,即未命中,此刻CPU不仅需访问主存,同时要将该存储字所在的主存块一并调入Cache。调入Cache的前提是Cache中还有空块未被装满,否则需通过Cache替换机构,替换出Cache的某字块,重新装入新字块。4.4虚拟存储器4.4.1 虚拟存储器的基本概念虚拟存储器位于主存-辅存层次。根据程序运行的局部性原理,一个程序运行时,在一小段时间内,只会用到程序和数据的一小部分,仅把这些程序和数据装入主存储器即可,更多的部分可以在用到时随时从磁盘调入主存储器,这是提出虚拟存储器的核心依据。虚拟存储器所追求的目标是摆脱主存储器容量的限制,降低存储一定信息所用的成本。虚拟存储器,通常是指高速磁盘上的一片存储空间,其功能是通过硬件、软件的办法,可以将其作为主存储器的扩展的存储空间一样来使用,这就使得程序设计人员能够使用比主存储器实际容量大得多的存储空间来设计和运行程序。虚拟存储器中经常使用三种基本管理技术:页式存储管理,段式虚拟存储器,段页式虚拟存储器。4.4.2 页式存储管理一、页和页表页式存储管理,是另一种经常用到的虚拟存储器管理技术。它的主要思路是把虚拟(逻辑)地址空间和主存实际(物理)地址空间,都分成大小相等的页,并规定页的大小为2的整数次方个字,则所有地址都可以用页号拼接页内地址的形式来表示。虚拟地址用虚页号拼接页内地址给出,主存实际地址用实页号拼接页内地址给出。通常要建立一张虚地址页号和实地址页号的对照表,记录程序再虚页调入主存时安排再主存中的位置,这张表叫做页表。页表由若干表目组成,每个虚页号对应页表中的一个表目。二、地址映象变换图4-12给出了页式存储器管理的地址变换过程。这一地址变换过程是:用虚地址中的虚页号与页表基地址相加,求出对应该虚页的页表表目在主存中的实际地址,从该表目的实页号字段取出实页号再拼上虚地址中的页内地址,就得到读主存数据用的实存地址。当需要把一页从虚存调入主存时,操作系统从主存储器的空闲区找出一页分配给这一页,把该页的内容写入主存,把主存储器的实际页号写进轧表的相应表目的实页号字段,写装入位为1。图4-12 页式存储器管理的虚-实地址转换当下次要读该页内的某个存储单元时,首先要读一次主存,通过查页表求出实存地址,尔后再读一次主存,才能取得要读的数据,为读一个数据变成两次读主存,实际应用中是难以令人接受的。怎么解决这一问题呢?答案是设立一个完全用快速硬件实现的一个容量很小的(一般在1664个表目之间)快速页表(英文为Translation Lookaside Buffer,简写为TLB,译为中文叫做转换旁路缓冲器),用于存放在页表中使用最频繁的、为数不多的那些表目的内容。它的最重要的两项内容是虚页号和实页号。经快表实现的地址转换过程,用虚地址中的虚页号去与快表中虚页号字段的内容相比较,与哪个表目中的虚页号相同,则可以取出该表目中的实页号,并与页内地址拼接出实存地址。这一过程可以很快完成,很有点类似于高速缓冲存储器的运行原理。当在快表中找不到该虚页号时,就要到主存中经慢表(可以这样称呼罢!)找出该虚页号对应的实页号,在得到一个实存地址的同时,并用该虚页号和实页号替换掉修改快表的一个表目的内容,以反映这次操作的现实形势。4.4.3段式存储管理一、段在程序设计过程中,通常会把在逻辑上、处理功能上有一定的独立性的程序段落单独划分成一个独立的程序单位,供主程序或其它程序部分调用,一个大的程序是由许多程序单位经过连接而组成的。此时的每个程序单位就是一个程序段,可以用段名或段号来指明程序段,每个段的长度是随意的,由组成程序段的指令条数决定,或由组成数据段的数据数目决定。在处理和运行这样的程序时,把段作为信息单位,实现在主存-辅存之间传送和定位是合理的。为此,必须把主存按段进行分配与管理,这种管理方式被称为段式存储管理。二、逻辑地址图4-13逻辑地址一个逻辑地址由逻辑段号拼接上段内地址组成(每段的第一个字的段内地址均默认为0)。在程序运行过程中,当用到某一段并将其调入主存时,它被分配在一片连续的主存区域,该主存区域的起始单元用于存放该段的第一个字,以后各字均依次顺序存放。图4-13给出了由三段组成的一个程序的逻辑地址空间,其中两段已装入主存的示意表示。三、地址映象变换图4-14给出了页式存储器管理的地址变换过程。由此可见,段式存储管理的核心问题是变逻辑地址中的逻辑页号为主存中的一个存储区域的起始地址,这是通过在系统中设置一个段表完成的。段表也是一个特定的段,通常被保存在主存中。为访问段表,段表在主存中的起始地址被写入到一个被称为段表基地址寄存器的专用的寄存器中。段表由多个入口(表项)组成,每个表项由3部分内容构成:段起始地址,段的长度,段的装入位。段起始地址给出的是本段在主存中的起始地址,该起始地址加上段内地址就得到本段的一个字在主存中的真正地址,段的长度用于进行主存使用的合法性检查,当出现段内地址超过段的长度时,就能发现遇到主存使用越界的错误。段的装入位用于判断本段是否已装入主存。图4-14给出了由逻辑地址到主存实际地址的转换过程。图4-14段式存储器管理的地址变换四、优点首先,段的分界与程序的自然分界相对应;其次,段逻辑上的独立性使其易于分别编译、管理、修改和保护,也便于多道程序实现对段的共享。但段长的不确定性,会给主存空间的分配与管理带来麻烦,而且容易造成在段间留下许多零碎的、难以使用的小的存储空间,浪费存储器的有效可用容量,假若碎块太多,甚至会使整个存储器都难以利用。4.4.4段页式存储管理一、段页式存储管理段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。在这种方式中,把程序按逻辑单位分段以后,再把每段分成固定大小的页。程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护。因此,它可以兼备页式和段式系统的优点。其缺点是在地址映象过程中需要多次查表。在段页式虚拟存储系统中,每道程序通过一个段表和一组页表来进行定位的。段表中的每个表目对应一个段,每个表目有个指向该段的页表起始地址(页号)及该段的控制保护信息。由页表指明该段各页在主存中的位置以及是否已装入、已修改等状态信息。计算机中一般都采用这种段页式存储管理方式。 如果有多个用户在机器上运行,即称为多道程序,多道程序的每一道(每个用户)一个基号(用户标志号),可由它指明该道程序的段表起始地址(存放在基址寄存器中)。这样,虚拟地址应包括基号、段号、页号、页内地址。格式如下:每道程序可由若干段组成。而每段又由若干页组成,由段表指明该页表的起始地址,由页表指明该段各页在主存中的位置以及是否已装入等控制信息。二、地址变换图4-15 段页式存储器管理地址变换段页式虚拟存储系统由虚拟地址向实在存地址的变换至少需要两次表(段表与页表)。段、页表构成表层次。当然,表层次不只段页式有,页表也会有,这是因为整个页表是连续存储的。当一个页表的大小超过一个页面的大小时,页表就可能分成几个页,分存于几个不连续的主存页面中,然后,将这些页表的起始地址又放入一个新页表中。这样,就形成了二级页表层次。一个大的程序可能需要多级页表层次。对于多级表层次,在程序运行时,除了第一级页表需驻留在主存之外,整个页表中只需有一部分是在主存中,大部分可存于外存,需要时再由第一级页表调入,从而可减少每道程序占用的主存空间。如图4-15所示。 4.5存储保护在多用户计算机系统中,当多个用户共享主存时,就有多个用户程序和系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中扎染课件
- 2025年春季学校工作计划(蛇舞春雷启新程 育人为本奏华章)
- 高中公民政治课课件
- 高三正确使用词语课件
- 2025年资产证券化行业市场前景及投资研究报告
- 研发中心租赁合同附加研发设备及技术服务协议
- 品牌家居样板间租赁服务及维护合作协议
- 离婚户口迁移约定及子女抚养权转移服务合同
- 离婚户口迁移处理及财产分割及子女抚养权明确合同
- 广告媒体排期代理执行合同
- 人教版(2024)八年级上册数学全册教案
- (高清版)DB11∕T 2440-2025 学校食堂病媒生物防制规范
- GB/T 7324-2010通用锂基润滑脂
- 重庆医科大学护理学考研大纲
- 品管圈提高痰培养标本留取率
- 护理管理学第五章 人力资源管理
- TSG11-2020 锅炉安全技术规程
- 物业小区绿化服务程序
- 土地管理法(1986年版)
- 动物遗传学第十章遗传病的传递方式.ppt
- 延期缴纳税款申请报告申请延期缴纳税款报告2p.doc
评论
0/150
提交评论