版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章存储子系统4.1存储系统概述4.2半导体存储原理4.3主存储器的组织4.4高速缓冲存储器4.5并行存储系统返回4.1存储系统概述存储系统是由存放程序和数据的各种存储设备、控制部件和管理信息调度的设备(硬件)和算法(软件)组成,是计算机系统的重要组成部分。主存储器不能同时满足存取速度快、存储容量大、成本低的要求,现代计算机系统需要有速度由慢到快、容量由大到小的多级层次存储器,结合最优的控制调度算法及成本,构成具有可接受性能的存储系统。4.1.1存储系统的层次结构存储系统是指把两种或者两种以上不同存储容量、不同存取速度、不同价格的存储器组成层次结构,通过管理软件和辅助硬件将不同性能的存储器组合成有机的整体,这称为计算机的存储层次或存储体系。下一页返回4.1存储系统概述存储系统的性能由构成它的多个存储器性能决定,其速度接近于存储器中速度最快的,单位价格接近于存储器中价格最便宜的,而容量等于或者接近于存储器容量最大的。现代计算机对存储器的要求是容量大、速度快、成本低,但在一个存储器中要求同时兼顾这三方面是困难的。为了解决这方面的矛盾,目前在计算机系统中,通常采用多级存储器体系结构,即使用高速缓冲存储器(Cache)、主存储器和外存储器,如图4-1所示。CPU能直接访问的存储器称为内存储器,它包括Cache和主存储器。上一页下一页返回4.1存储系统概述CPU不能直接访问外存储器,外存储器的信息必须调入内存储器后才能被CPU处理。在这3种存储器中,Cache容量最小,辅存容量最大;Cache的速度最快,辅存的速度最慢;Cache的价格最高,辅存的价格最低。为了解决三者之间的性能矛盾,采用了层次结构的存储系统。1.主存与辅存之间的关系主存的优点是速度快,缺点是容量较小、单位成本高、断电后信息丢失;辅存的优点是容量大、信息长久保存、单位成本低,缺点是存取速度慢。上一页下一页返回4.1存储系统概述构造“主存-辅存”存储系统的目的是弥补主存容量的不足,该存储系统是在主存外增加一个容量更大、价格更低、速度更慢的存储器(称为辅存,一般是硬盘),依靠辅助软硬件的作用,将其与主存构成一个整体。“主存-辅存”存储系统常被用来实现虚拟存储器,向编程人员提供更大的虚拟存储空间。通过软件、硬件结合,将主存和辅存统一成一个整体,形成了一个存储系统。从整体上看,其速度接近于主存的速度,容量接近于辅存的容量,每位平均价格接近于辅存平均价格,解决了容量与成本间的矛盾。这种系统就是现在广泛使用的虚拟存储系统,虚地址与实地址的转换都不必由应用程序员来安排,即对应用程序员是透明的。上一页下一页返回4.1存储系统概述2.主存和高速缓存(Cache)之间的关系CPU性能提升很快,但主存性能的提高却相对较慢,因此,CPU和主存之间频率平衡的问题越来越大。为解决CPU和主存之间的速度差距、提高整机的运算速度,在CPU和主存之间增加一级或两级速度高、容量较小且每位价格高的高速缓冲存储器(Cache)。Cache的优点是速度快,容量小,单位成本高。借助于系统硬件,将Cache与主存构成一个存储系统,该系统速度接近于Cache的速度,但价格和容量还是接近于主存,从而弥补了主存速度的不足。Cache的存储控制和管理完全由硬件实现。上一页下一页返回4.1存储系统概述4.1.2存储器的分类1.按存储介质分类存储器中的存储体负责以存储元件的状态变化来存储二进制数据,存储元件、存储体采用的物理材料一般被称为存储介质。当前根据存储介质主要将存储器分为半导体存储器、磁存储器和光存储器三种。半导体存储器是用半导体器件组成的存储器。按其制造工艺可再分为双极晶体管存储器和MOS晶体管存储器。该类存储器体积小、存储速度快、存储密度高、与逻辑电路接入容易,主要用作高速缓冲存储器、主存储器、只读存储器、堆栈存储器等。半导体存储器主要分为双极型半导体存储器(TTI型)和MOS型半导体存储器。上一页下一页返回4.1存储系统概述TTI型存储器虽然存取速度较快,但是由于功耗较大且集成度低,导致成本较高,在现代的计算机组成中往往只用其来制作高速缓存;而MOS型存储器功耗小、集成度高,虽然存取速度略低但成本也相应较低,现在的主存储器(内存)大多使用MOS型存储器。磁表面存储器是用某些磁性材料做成的存储器。磁盘存储器、磁带存储器均属于此类存储器。该类存储器存储容量大,价格低;记录介质可以重复使用;存储的信息可以长期存在不丢失,甚至可以脱机存储。对该类存储器进行非破坏性读出时不需要再生信息。磁表面存储器在计算机系统中作为辅助大容量存储器使用,用以存放系统文件、大型文件、数据库等大量数据和信息。上一页下一页返回4.1存储系统概述磁存储器主要分为磁芯存储器和磁表面存储器。前者由于制作工艺复杂、成本较高,已经基本被半导体存储器所取代。磁表面存储器是将磁性材料涂于载体介质表面作为存储介质的存储器,通过电磁原理进行二进制数据的记录。常见的磁盘、磁带都属于磁表面存储器。光存储器是指利用光学原理进行二进制数据存取的存储器,CD、DVD等光盘形式的存储器都属于光存储器。总体而言,现代计算机还是电子计算机,由于光也可利用“通”、“断”两种状态来表示二进制数据,很多研究机构和科研人员正在着力进行光计算机的研究。2.按功能分类上一页下一页返回4.1存储系统概述前者由于制作工艺复杂、成本较高,已经基本被半导体存储器所取代。磁表面存储器是将磁性材料涂于载体介质表面作为存储介质的存储器,通过电磁原理进行二进制数据的记录。常见的磁盘、磁带都属于磁表面存储器。光存储器是指利用光学原理进行二进制数据存取的存储器,CD、DVD等光盘形式的存储器都属于光存储器。总体而言,现代计算机还是电子计算机,由于光也可利用“通”、“断”两种状态来表示二进制数据,很多研究机构和科研人员正在着力进行光计算机的研究。2.按功能分类上一页下一页返回4.1存储系统概述通常外存不直接和计算机的其他部件交换数据,只是成批地与主存交换信息。常见的外存设备有硬盘、闪盘、光盘和磁带等。外存容量大、存取速度慢、断电后数据不丢失。高速缓冲存储器简称Cache,用来存放主存中经常使用的内容的备份,它被用在两个速度不同的部件CPU与主存之间,起到速度缓冲的作用。目前CPU中一般都包含有片内一级Cache和二级Cache,较新的CPU还包含有三级Cache。Cache的存储容量很小,但是存取速度极快,一般来说,完全可以跟上CPU的运算速度,但Cache的价格也是极高的。上一页下一页返回4.1存储系统概述控制存储器用来存放实现全部指令系统的所有微程序,是一种只读型存储器,一旦微程序固化,机器运行时则只读不写。每次读出一条微指令,运行这条微指令;再重复这一过程直到运行结束。通常将读出一条微指令并执行微指令的时间总和称为一个微指令周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微指令的数量。对控制存储器的要求是读出周期要短,因此通常采用双极型半导体只读存储器。3.按访问方式分类上一页下一页返回4.1存储系统概述对存储器的访问实质上就是对存储单元的访问,根据寻找访问单元的方式,可以将存储器分为两类———随机访问存储器和顺序访问存储器。随机访问存储器(RandomAccessMemory,RAM)是应用较多的存储器,大多半导体存储器都属于随机访问存储器。这里所指的随机指的是被访问单元的位置是随机的、独立的。换言之,RAM中的每一个单元都可以独立地直接访问。在不考虑访问局部性原理等统计策略级问题的前提下,每两次连续访问之间的关系是独立的,两次访问单元的位置与访问时间无关。在计算机系统中,RAM主要用作主存和高速缓冲存储器。上一页下一页返回4.1存储系统概述顺序访问存储器(SequentialAccessMemory,SAM),SAM中的单元一般不能被独立访问。当有存取操作时,SAM先根据欲访问单元地址定位至一个储存块(存储单元集合),再按顺序寻找到欲访问的单元进行存取操作。最为极限的情况下,SAM会从存储体的第一个单元开始按顺序逐个查找,直至找到欲访问单元。因此,相比RAM而言,SAM往往具有较低的访问速度,但在价格、容量的指标上优势比较明显。上一页返回4.2半导体存储原理目前使用广泛的内部存储器是半导体存储器。根据信息存储的机理不同,又分为静态读写存储器(SRAM)和动态读写存储器(DRAM)。SRAM的优点是存取速度快,但存储容量没有DRAM的大。4.2.1静态存储单元与芯片1.静态随机存储器原理静态随机存储器(StaticRandomAccessMemory,SRAM)是一种重要的随机存储器,也是当前应用最广的一种随机存储器。其名称的“静态”主要是相对于动态随机存储器的“动态”而言的,即该种存储器只要保持有源状态,其中所储存的数据就可以一直保持而不丢失。下一页返回4.2半导体存储原理动态随机存取内存(DRAM)里面所储存的数据即使在有源状态下也只能保持较短的时间,需要不断地进行刷新来维持数据的存储状态。目前的SRAM主要使用价格低廉、功耗较小的MOS管制作。图4-2所示为SRAM存储位元的一种六管存储位元电路基本结构,其中的T1和T2管构成双稳态正反馈电路,T3和T4管作为负载管,T5和T6管作为控制字线和位线的门控管。当没有访问操作时,字线处于低电平状态,两根位线上呈高电平状态。由于门控管T5和T6截止,T1和T2将保持原有的稳定状态。当存储元进行写入访问时,字线上需加载高电平。上一页下一页返回4.2半导体存储原理欲写0时,在位线0上加载低电平;欲写1时,在位线1上加载低电平。当位线0上加载低电平时,T2管被截止T1管导通,这种状态被记为0。反之,T1管被截止T2管导通,这种状态被记为1。当存储元进行读取访问时,字线上也需加载高电平,T5和T6管被打开。当存储状态为0的时候,电流将通过T5和T1管流入地线。当存储状态为1的时候,电流将流到位线1上。这样的电流流动不会改变T1和T2管的状态,因此被称为非破坏性读出,即数据读出后对存储单元的数据存储状态没有影响。2.静态随机存储器芯片结构上一页下一页返回4.2半导体存储原理静态随机存储器芯片由存储体、地址译码器、驱动器I/O电路等组成。地址译码器输出有64条选择线,称为行线,其作用是打开每个存储位元的输入与非门。当外部输入数据为1时,锁存器记忆1;当外部输入数据为0时,锁存器记忆0。地址译码有两种方式:一种是单译码方式,适用于小容量存储器;另一种是双译码方式,适用于大容量存储器。单译码结构也称字结构,在这种方式中,地址译码器只有一个,译码器的输出叫字选线,而字选线选择某个字(某存储单元)的所有位。上一页下一页返回4.2半导体存储原理第二种是目前的SRAM芯片都普遍采用的双译码方式,以便组织更大的存储容量。双译码方式的实质是采用了二级译码,即将地址分成X向、Y向两部分,第一级进行X向(行译码)和Y向(列译码)的独立译码,然后在存储阵列中完成第二级的交叉译码。而数据宽度有1位、2位、8位,甚至有更多的字节。3.芯片的封装将存储体、译码器以及I/O电路等控制电路封装起来,则成了存储器芯片。图4-4(a)表示存储容量为32K×8位的SRAM逻辑结构图。上一页下一页返回4.2半导体存储原理它的地址线共15条,其中X方向8条(A0~A7),经行译码输出256行,Y方向7条(A8~A14),经列译码输出128列,存储阵列为三维结构,即256行×128列×8位。双向数据线有8条,即D0~D7,向SRAM写入信息时,8个输入缓冲器被打开,而8个输出缓冲器被关闭,因而8条I/O数据线上的数据写入到存储阵列中去。从SRAM读出信息时,8个输出缓冲器被打开,8个输入缓冲器被关闭,读出的数据送到8条I/O数据线上。结合存储位元与芯片结构,可以得知使用SRAM芯片进行访问操作的一般控制流程。上一页下一页返回4.2半导体存储原理首先,SRAM芯片往往提供片选信号CS、访问功能控制信号等基本控制信号线与数据总线、地址总线接口。当欲访问SRAM芯片的时候,首先将地址信号送上地址总线,然后送出片选信号和访问功能控制信号,最后再与数据总线进行数据的交换。数据总线上的数据往往需要保持较长的时间,以增加数据访问的可靠性,即防止数据总线上的数据没有被及时接收。数据总线上出现有效数据后,功能控制信号才能恢复成非有效状态,地址总线上的地址信号也才允许变更。地址总线上的有效信号持续时间称为访问周期,又称为存取周期。上一页下一页返回4.2半导体存储原理读取操作中地址总线上的有效信号持续时间称为读周期时间;存储操作中地址总线上的有效信号持续时间称为写周期时间。通常情况下,令读周期时间等于写周期时间,即两者都等于存取周期。SRAM的特点是在有源的条件下所存储的数据不会丢失,结构比较简单,具有较高的可靠性,访问速度也比较快,功耗较小。但由于构成一个存储单元往往需要多个MOS管才能完成,这使得SRAM的成本相对较高,集成度也较低。4.静态随机存储器的读/写时序(1)读周期时序上一页下一页返回4.2半导体存储原理静态随机存储器的读、写周期的时序借助静态RAM芯片2114的读、写周期来说明。读周期时序如图4-5所示,在整个读周期中,WE始终为高电平,因而图中将其省略了。读周期tRC是指对芯片进行两次连续读操作的最小间隔时间。读时间tA表示从地址有效到数据稳定所需的时间,显然读时间小于读周期。从片选失效到输出高阻需一段时间tOTD,故地址失效后,数据线上的有效数据有一段维持时间tOHA,以保证所读的数据可靠。(2)写周期时序上一页下一页返回4.2半导体存储原理写周期tWC是对芯片进行连续两次写操作的最小间隔时间。图4-6是2114RAM写周期时序。写周期包括滞后时间tAW、写入时间tW和写恢复时间tWR。在有效数据出现前,RAM的数据线上存在着前一时刻的数据DOUT(如图4-5所示的维持时间),故在地址线发生变化后,CS、WE均需滞后tAW再有效,以避免将无效数据写入到RAM的错误。但写允许WE失效后,地址必须保持一段时间,称为写恢复时间。此外,RAM数据线上的有效数据(即CPU送至RAM的写入数据DIN)必须在CS、WE失效前的tDW时刻出现,并延续一段时间tDH(此刻地址线仍有效,tWR>tDH),以保证数据的可靠写入。上一页下一页返回4.2半导体存储原理已封装的RAM芯片读写时序关系已被确定,因此,将芯片与CPU连接时,必须注意芯片中相互间的时序匹配关系,否则RAM将无法正常工作。对于具体某个RAM芯片的读/写周期时序,可以分别查看其具体的参数资料。4.2.2动态存储单元与芯片1.动态随机存储器原理SRAM成本高的主要原因在于使用了较多的MOS管来设计存储位元,那么如果降低组成存储位元的MOS管数量,显而易见可以降低存储器的成本。上一页下一页返回4.2半导体存储原理SRAM中利用MOS管的翻转状态来表示二进制的状态,即利用数据线上是否有电流流动来表示被存储的数据是“0”还是“1”。电容作为储能器件也可以实现类似的功能,即利用内部是否存储有电荷来表示二进制的状态。使用电容代替MOS管来做状态存储器件显然可以极大地降低成本,这就是动态随机存储器的设计初衷。动态随机存取存储器(DynamicRandomAccessMemory,DRAM)也是一种半导体存储器,主要的作用原理是利用电容内是否储存有电荷来代表一个二进制位(bit)是1还是0。上一页下一页返回4.2半导体存储原理常见的DRAM存储位元结构有四管MOS型、三管MOS型和单管MOS型。下面主要对单管MOS型的工作方式进行介绍。单管MOS型动态存储单元结构如图4-7所示。当存储单元被选中后,字选择线加载高电平,使得控制管T被打开,电流在数据线和存储电容C之间流动。写入1时,数据线呈高电平状态,电流通过T流入C中;写入0时,数据线呈低电平状态,将C中的电流导出,使其内部不存有正电荷。读出时,如果C中有正电荷,将有电流流过T管,拉升数据线上的电平状态;否则数据线仍保持低电平状态。上一页下一页返回4.2半导体存储原理DRAM的读取是破坏性的读取,一旦进行读取操作,将可能导致电容中失去正电荷,呈现无电荷状态,因此必须在读出后进行重写工作,即还原读取前电容的存储状态,即“刷新”。电容在实际工作中会有漏电的现象,从而导致内部存储正电荷不足而丢失存储的状态。虽然读出后的重写工作可以为电容补充电荷,但是并不是每一个电容在电荷泄漏前都可以被访问到。因此,为了使其能正常工作,即使没有读取操作,也要进行周期性的重写工作,否则无法长期保持存储状态。也正是由于需要周期性的定时刷新,这种利用电容存储电荷性质制成的存储器被称为“动态”存储器。上一页下一页返回4.2半导体存储原理2.动态RAM芯片结构与封装动态RAM存储器的封装与静态RAM存储器的封装类似,1M×4位的芯片逻辑和管脚图如图4-8所示。图4-8(a)为1M×4位DRAM芯片的管脚图,其中有两个电源脚、两个地线脚,为了对称,还有一个空脚(NC)。图4-8(b)是该芯片的逻辑结构图。通过与前面的SRAM进行比较,存储芯片结构不同的是:①增加了行地址锁存器和列地址锁存器。②增加了刷新计数器和相应的控制电路。上一页下一页返回4.2半导体存储原理4.2.3动态存储器的刷新刷新的过程实质是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程。由于存储单元被访问是随机的,有可能某些存储单元长期得不到访问,不能进行存储器的读/写操作,其存储单元内的原信息将会慢慢消失。为此,必须采用定时刷新的方法,它规定在一定的时间内,对动态RAM的全部基本单元电路必须做一次刷新,一般取2ms,这个时间称为刷新周期,又称再生周期。刷新是一行一行进行的,必须在刷新周期内,由专用的刷新电路来完成对基本单元电路的逐行刷新,才能保证动态RAM内的信息不丢失。通常有三种刷新方式:集中式刷新、分散式刷新和异步式刷新。上一页下一页返回4.2半导体存储原理1.集中式刷新集中式刷新是在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作,此时称为CPU的“死区”。例如,对刷新周期为2ms的内存来说,所有行的集中式刷新必须每隔2ms进行一次。为此,将2ms的时间分为两部分:前一段时间进行正常的读/写操作,后一段时间(2ms至正常读/写周期时间)作为集中刷新操作时间。此时正常的读/写操作停止,数据线输出被封锁。等所有行刷新结束后,又开始正常的读/写周期。2.分散式刷新方式上一页下一页返回4.2半导体存储原理在这种刷新方式中,定义系统对存储器的存取周期是存储器本身的存取周期的两倍。把系统的存取周期平均分为两个操作阶段,前一个阶段用于对存储器的正常访问,后一个阶段用于刷新操作,每次刷新一行,如图4-9(b)所示。显然这种刷新方式没有“死区”,但由于没有充分利用所允许的最大的刷新时间间隔,以致刷新过于频繁,人为降低了存储器的速度。3.异步式刷新方式异步式刷新方式是上述两种方式的折中。。仍然使用上面相同的例子,只要每隔2ms/128=15.625μs时间间隔刷新一次(128个存储单元电路)即可。上一页下一页返回4.2半导体存储原理取存取周期的整数倍,则每隔15.5μs时间间隔刷新一次,在15.5μs中前15μs(即30个存取周期)用于正常的存储器的访问,后0.5μs用于刷新,如图4-9(c)所示。异步式刷新方式既充分利用了所允许的最大的刷新时间间隔,保持了存储器的应有速度,又大大缩短了“死区”时间,所以是一种常用的刷新方式。4.2.4半导体只读存储器与芯片半导体只读存储器常作为主存的一部分,用于存放一些固定的程序,如监控程序、启动程序、磁盘引导程序等。只要一接通电源,这些程序就能自动运行。上一页下一页返回4.2半导体存储原理此外,只读存储器还可以用作控制存储器、函数发生器、代码转换器等。在输入/输出设备中,常用ROM存放字符、汉字等的点阵图形信息。按ROM的原始定义,一旦注入原始信息即不能改变,但随着用户的需要,总希望能任意修改ROM内的原始信息。这便出现了PROM、EPROM和EEPROM等。对半导体ROM而言,基本器件为两种:MOS型和TTL型。1.掩模ROMMOS型掩模ROM如图4-10所示,其容量为1K×1位,采用重合法驱动,行、列地址线分别经行、列译码器,各有32根行、列选择线。上一页下一页返回4.2半导体存储原理行选择线与列选择线交叉处既可有耦合元件MOS管,也可以没有。列选择线各控制一个列控制管,32个列控制管的输出端共连一个读放大器。当地址为全“0”时,第0行、第0列被选中,若其交叉处有耦合元件MOS管,因其导通而使列线输出为地电平,经读放大器反相为高电平,输出“1”。当地址A4~A0为1111,A9~A5为00000时,即第31行、第0列被选中,但此刻行、列的交叉处无MOS管,0列线输出为高电平,经读放大器反相为“0”输出。可见,用行、列交叉处是否有耦合元件MOS管,便可区分原存“1”还是存“0”。当然,此ROM制成后不可能改变原行、列交叉处的MOS管是否存在,所以,用户是无法改变原始状态的。上一页下一页返回4.2半导体存储原理2.PROMPROM是可以实现一次性编程的只读存储器,图4-11示意一个由双极型电路和熔丝构成的基本单元电路。在这个电路中,基极由行线控制,发射极与列线之间形成一条镍铬合金薄膜制成的熔丝(可用光刻技术实现),集电极接电源VCC。熔丝断和未断可区别其所存信息是“1”或“0”3.EPROMEPROM是一种可擦除可编程只读存储器。它可以由用户对其所存信息做任意次的改写。上一页下一页返回4.2半导体存储原理目前用得较多的EPROM是由浮动栅雪崩注入型MOS管构成,又称为FAMOS型EPROM。用MOS管构成的EPROM存储阵列结构示意图如图4-12所示。工作时根据送来的地址选中某一条字线,便之为高电平,从而使与该字线连接的MOS管导通。若与其相连的MOS管有电荷(即原存0),则MOS管导通,因此相应位线为低电平,经读出放大器输出为0。若与其相连的MOS管无电荷(即原存1),则由于MOS管不通,使MOS管无导通回路,因而相应位线为高电平,经读出放大器输出为1。上一页下一页返回4.2半导体存储原理目前EPROM芯片有很多种,图4-12所示的是Intel2716芯片的内部结构图。2716芯片是一个2K×8位的EPROM芯片,正常工作时,要求单一的+5V电源。VPP在脱机编程时加+25V电源,正常工作时加+5V电源。表4-1给出了该芯片的工作模式选择。EPROM的改写可用两种方法,一种用紫外线照射,但擦除时间比较长,而且不能对个别需改写的单元进行单独擦除或重写。另一种方法用电气方法将存储内容擦除,再重写。甚至在联机条件下,用字擦除方式或页擦除方式,既可局部擦写,又可全部擦写,这种EPROM就是EEPROM。上一页下一页返回4.2半导体存储原理进入到20世纪80年代,又出现了一种闪速存储器(FlashMemory),又称快擦型存储器,它是在EPROM和EEPROM工艺基础上产生的一种新型的,具有性能价格比更好、可靠性更高的可擦写非易失性存储器。它既有EPROM的价格便宜、集成度高的优点,又有EEPROM电可擦除重写的特性。它具有整片擦除的特点,其擦除、重写的速度快。一块1M位的闪速存储芯片的擦除、重写时间小于5μs,比一般标准的EEPROM快得多,已具备了RAM的功能,可与CPU直接连接。它还具有高速编程的特点,例如,采用快速脉冲编程算法对28F256闪速存储芯片每字节的编程时间仅需100μs。上一页下一页返回4.2半导体存储原理此外,该器件具有存储器访问周期短、功耗低及与计算机接口简单等优点。在需要周期性地修改存储信息的应用场合,闪速存储器是一个极为理想的器件,因为它至少可以擦写/编程10000次,这足以满足用户的需要。它比较适合于作为一种高密度、非易失的数据采集和存储器件。在便携式计算机、工控系统及单片机系统中得到大量应用,近年来已将它用于微型计算机中存放输入/输出驱动程序和参数等。非易失性、长期反复使用的大容量闪速存储器还可替代磁盘,例如,在笔记本手掌型袖珍计算机中都大量采用闪速存储器做成固态盘替代磁盘,使计算机平均无故障时间大大延长,功耗更低,体积更小,消除了机电式磁盘驱动器所造成的数据“瓶颈”。上一页返回4.3主存储器的组织4.3.1存储容量的扩展CPU对存储器进行读写操作,首先要由地址总线给出地址信号,然后要发出相应的读、写控制信号,最后才能在数据总线上进行信息交流。所以,存储芯片与CPU的连接主要有以下三个部分:地址信号线的连接、数据信号线的连接、控制信号线的连接。由于一块存储器芯片的容量是有限的,因此内存总是由一定数量的存储器芯片构成。要组成一个主存储器,首先考虑如何选芯片以及如何把许多芯片连接起来的问题,然后通过地址信号线、数据信号线和控制信号线三个部分将整个存储器与CPU连接起来。下一页返回4.3主存储器的组织存储芯片的选择通常要考虑存取速度、存储容量、电源电压、功耗及成本等多方面的因素。就内存所需芯片的数量而言,可由下面的公式求得:常见的RAM芯片类型以及相关参数信息见表4-2。通常存储器芯片在单元数和位数方面都与要搭建的存储器有很大差距,所以需要在字方向和位方向两个方面进行扩展,按扩展方向分为下列三种情况:1.位扩展上一页下一页返回4.3主存储器的组织如果芯片的单元数(字数)与存储器要求的单元数是一致的,但是存储芯片中单元的位数不能满足存储器的要求,就需要进行位扩展,即位扩展只是进行位数扩展(加大字长),不涉及增加单元数。位扩展的连接方式是将所有存储器芯片的地址线、片选信号线和读/写控制线一一并联起来,而将各芯片的数据线单独列出,分别接到CPU数据总线的对应位。如图4-13所示,图中MREQ为CPU访问存储器请求信号。例如用64K×1的SRAM芯片组成64K×8的存储器,需要8个芯片。存储器位扩展存储器如图4-14所示。上一页下一页返回4.3主存储器的组织2.字扩展字扩展仅是单元数扩展,也就是在字方向扩展,而位数不变。在进行字扩展时,将所有芯片的地址线、数据线和读/写控制线一一对应地并联在一起,利用片选信号来区分被选中的芯片,片选信号由高位地址(除去用于芯片内部寻址的地址之后的存储器高位地址部分)经译码进行控制。例如用16K×8位的存储器芯片构成64K×8位的存储器。上一页下一页返回4.3主存储器的组织其连接如图4-15所示。3.字和位同时扩展在组成主存储器时,很多情况下需要字和位同时扩展,可以看成是位扩展与字扩展的组合,按下面的规则实现:①确定组成主存储器需要的芯片总数。②所有芯片对应的地址线接在一起,接到CPU引脚的对应位,所有芯片的读写控制线接在一起,接入CPU的读写控制信号上。③所有处于同一地址区域的芯片的片选信号接在一起,接到片选译码器对应的输出端。上一页下一页返回4.3主存储器的组织④所有处于不同地址区域的同一位芯片的数据输入/输出线对应地接在一起,接到CPU数据总线的对应位。4.3.2主存储器与CPU、系统总线的连接存储芯片与CPU芯片相连时,特别要注意片与片之间的地址线、数据线和控制线的连接。1.地址线的连接存储芯片的容量不同,其地址线数也不同,CPU的地址线数往往比存储芯片的地址线数多。通常总是将CPU地址线的低位与存储芯片的地址线相连。上一页下一页返回4.3主存储器的组织CPU地址线的高位或在存储芯片扩充时用,或做其他用途,如片选信号等。2.数据线的连接同样,CPU的数据线数与存储芯片的数据线数也不一定相等。此时,必须对存储芯片扩位,使其数据位数与CPU的数据线数相等。3.读/写命令线的连接CPU读/写命令线一般可直接与存储芯片的读/写控制端相连,通常高电平为读,低电平为写。有些CPU的读/写命令线是分开的,此时CPU的读命令线应与存储芯片的允许读控制端相连,而CPU的写命令线则应与存储芯片的允许写控制端相连。上一页下一页返回4.3主存储器的组织4.片选线的连接片选线的连接是CPU与存储芯片正确工作的关键。存储器由许多存储芯片组成,哪一片被选中完全取决于该存储芯片的片选控制端CS能否接收到来自CPU的片选有效信号。片选有效信号与CPU的访存控制信号MREQ(低电平有效)有关,因为只有当CPU要求访存时,才需选择存储芯片。若CPU访问I/O,则MREQ为高电平,表示不要求存储器工作。此外,片选有效信号还和地址有关,因为CPU的地址线往往多于存储芯片的地址线,那些未与存储芯片连上的高位地址和访存控制信号共同产生存储芯片的片选信号。上一页下一页返回4.3主存储器的组织通常需用到一些逻辑电路,如译码器及其他各种门电路,来产生片选有效信号。5.合理选择存储芯片合理选择存储芯片主要是指存储芯片类型(RAM或ROM)和数量的选择。通常选用ROM存放系统程序、标准子程序和各类常数等。RAM则是为用户编程而设置的。此外,在考虑芯片数量时,要尽量使连线简单方便。在实际应用中,CPU与存储芯片相连时还要考虑两者时序的配合、速度、负载匹配等问题。上一页返回4.4高速缓冲存储器4.4.1Cache在存储体系中的地位和作用随着集成电路技术不断进步,导致生产成本不断降低,CPU的功能不断增强,运算速度也越来越快,微型计算机的应用领域也不断拓展,使得系统软件和应用软件都变得越来越大,客观上需要大容量的内存支持软件的运行,因此需要计算机配备较大容量的内存。综合成本和容量两方面因素考虑,现代计算机广为采用的内存实现方法是用DRAM构成的内存。因为DRAM的功耗和成本较低,构成大容量的内存也不困难。下一页返回4.4高速缓冲存储器但DRAM的速度相对较慢,很难满足高性能CPU在速度上的要求,同时程序执行所需要使用的指令或数据在存储器中很可能是在同一地址的附近(至少在一段时间内是这样的),那么就产生了高速缓冲存储器(Cache)的设计理念,即只将CPU最近需要使用的少量指令或数据以及存放它们的内存单元的地址复制到速度较快的Cache中,以便提供给CPU使用,用少量速度较快的SRAM构成Cache置于CPU和主存之间。这种设计思想利用了SRAM的速度优势和DRAM的高集成度、低功耗及低成本的特点。上一页下一页返回4.4高速缓冲存储器随着大规模集成电路技术的不断进步,CPU的工作频率进一步提高,虽然DRAM技术和生产工艺也在不断进步,DRAM的读写周期在不断缩短,即速度也在不断提高,但是仍然达不到同阶段的CPU对内存速度上的要求。问题依然存在,且变得更加严重,所以在目前的系统中,均采用了Cache和DRAM内存的组合结构。基于目前的大规模集成电路技术和生产工艺,已经可以在CPU芯片内部放置一定容量的Cache。CPU芯片内部的Cache称为一级(L1)Cache,CPU外部由SRAM构成的Cache称为二级(L2)Cache。目前最新的CPU内部已经可以放置二级甚至三级Cache。上一页下一页返回4.4高速缓冲存储器4.4.2Cache的结构及工作原理当CPU需要数据或指令时,它首先访问Cache,看所需要的数据或指令是否在Cache中,方法是将CPU提供的数据或指令在内存中存放位置的内存地址,首先与Cache中已存放的数据或指令的地址相比较,若相等,说明可以在Cache中找到需要的数据或指令,称为Cache命中;若不相等,说明CPU需要的数据或指令不在Cache中,称为未命中,需要从内存中提取。若CPU需要的指令或数据在Cache中,则不需任何等待状态Cache就可以将信息传送给CPU;上一页下一页返回4.4高速缓冲存储器若数据或指令不在Cache中,存储器控制电路会从内存中取出数据或指令传送给CPU,同时在Cache中拷贝一份副本。之所以这样做,是为了防止CPU以后在访问同一信息时又会出现未命中的情况,从而尽量降低CPU访问速度相对较慢的内存的概率。换言之,CPU访问Cache的命中率越高,系统性能就越好。目前在绝大多数有Cache的系统中,Cache的命中率一般能做到高于85%。Cache的命中率取决于下面三个因素:Cache的大小、Cache的组织结构和程序的特性。上一页下一页返回4.4高速缓冲存储器容量相对较大的Cache,命中率会相应地提高,但容量太大,成本就会变得不合理。遵循局部性原理的程序在运行时,Cache命中率也会很高。然而,Cache的组织结构的好坏,对命中率也会产生较大的影响。就Cache的组织结构而言,有三种类型的Cache:全相连映像方式、直接映像方式和组相连映像方式。1.全相连映像方式Cache在全相连映像方式的Cache中,任意主存单元的数据或指令可以存放到Cache的任意单元中去,两者之间的对应关系不存在任何限制。上一页下一页返回4.4高速缓冲存储器在Cache中,用于存放数据或指令的静态存储器(SRAM)称为内容Cache,用于存放数据或指令在内存中所在单元的地址的静态存储器称为标识Cache(tagCache)。下面例子假设主存地址是16位(即主存容量为64K),主存每个存储单元是8位。假设内容Cache的容量是128字节,即有128个单元(也称有128行),每个单元(每行)的宽度为8位;标识Cache也应该有128个单元(128行),为了存放主存单元的地址,标识Cache每个单元(每行)的宽度应为16位。当CPU要访问内存时,它送出的16位地址先与标识Cache中的128个地址比较。上一页下一页返回4.4高速缓冲存储器若所需数据或指令的地址在标识Cache中,即命中,从内容Cache与之对应的单元(行)中读出数据或指令送给CPU;若不命中,则从主存中读出所需的数据或指令送给CPU,同时在Cache中存放一份副本,即将数据或指令写入内容Cache,并将该数据或指令所在的内存单元的地址写入标识Cache。图4-20是全相联映像的块间映射示意图。显然,对于全相连映像Cache,Cache中存储的数据越多,命中率越高。但增加Cache的容量带来的问题是,每次访问内存都要进行大量的地址比较,既耗时同时效率也低。上一页下一页返回4.4高速缓冲存储器另外,若Cache的容量太小,如16个单元(行),由于命中率太低,CPU就要频繁地等待操作系统将Cache中的信息换入换出,因为在向Cache中写入新信息之前,必须将Cache中已有的信息保存在主存中。2.直接映像方式Cache直接映像Cache与全相连映像Cache完全相反,它只需要做次地址比较即可确定是否命中。在这种Cache结构中,地址分为两部分:索引和标识。索引是地址的低位部分,直接作为内容Cache。单元的地址定位到内容Cache的相应单元,而地址的高位部分作为标识存储在标识Cache中。上一页下一页返回4.4高速缓冲存储器但是,这种方式所需的逻辑电路甚多,成本较高,实际的Cache还要采用各种措施来减少地址的比较次数。每个主存块只与一个缓存块相对应,映射关系式为:映射结果表明每个缓存块对应若干个主存块,直接映射方式主存块和缓存块的对应关系见表4-3。在直接映射方式Cache中,Cache字块与主存块对应的关系如图4-21的所示。3.组相连映像Cach上一页下一页返回4.4高速缓冲存储器组相连映像Cache是介于全相连映像Cache和直接映像Cache之间的一种结构。在直接映像Cache中,每个索引在Cache中只能存放一个标识。而在组相连映像中,对应每个索引,在Cache中能存放的标识数量增加了,从而增加了命中率。参见图4-22,将2路组相连映像Cache与直接映像Cache相比较,可看出只增加少量的SRAM,就可提高Cache命中率。组相联映射是对直接映射和全相联映射的一种折中。它把Cache分为Q组,每组有R块,并有以下关系:上一页下一页返回4.4高速缓冲存储器某一主存块按模Q将其映射到缓存的第i组内,如图4-22所示。根据上述假设条件,组相联映射的含义是:主存的某一字块可以按模16映射到Cache某组的任一字块中。即主存的第0、16、32二字块可以映射到Cache第0组2个字块中的任一字块;主存的第15、31、47二字块可以映射到Cache第15组中的任一字块。显然,主存的第j块会映射到Cache的第i组内,两者之间一一对应,属直接映射关系;另一方面,主存的第j块可以映射到Cache的第i组内中的任一块,这又体现出全相联映射关系。可见,组相联映射的性能及其复杂性介于直接映射和全相联映射两者之间,当r=0时是直接映射方式,当r=c时是全相联映射方式。上一页下一页返回4.4高速缓冲存储器4.4.3替换策略当新的主存块需要调入Cache。并且它的可用空间位置又被占满时,需要替换掉Cache的数据,这就产生了替换策略(算法)问题。在直接映射的Cache中,由于某个主存块只与一个Cache字块有映射关系,因此替换策略很简单。而在组相联和全相联映射的Cache中,主存块可以写入Cache中若干位置,这就有一个选择替换掉哪一个Cache字块的问题,即所谓替换算法问题。理想的替换方法是把未来很少用到的或者很久才用到的数据块替换出来,但实际上很难做到。常用的替换算法有先进先出算法、近期最少使用算法和随机法。上一页下一页返回4.4高速缓冲存储器1.先进先出(First-In-First-Out,FIFO)算法FIFO算法选择最早调入Cache的字块进行替换,它不需要记录各字块的使用情况,比较容易实现,开销小,但没有根据访存的局部性原理,故不能提高Cache的命中率。因为最早调入的信息可能以后还要用到,或者经常要用到,如循环程序。2.近期最少使用(LeastRecentlyUsed,LRU)算法LRU算法比较好地利用访存局部性原理,替换出近期用得最少的字块。上一页下一页返回4.4高速缓冲存储器它需要随时记录Cache中各字块的使用情况,以便确定哪个字块是近期最少使用的字块。它实际是一种推测的方法,比较复杂,一般采用简化的方法,只记录每个块最近一次使用的时间。LRU算法的平均命中率比FIFO的高。3.随机法随机法是随机地确定被替换的块,比较简单,可采用一个随机数产生器产生一个随机的被替换的块,但它也没有根据访存的局部性原理,故不能提高Cache的命中率。上一页返回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赣州金一交联科技有限公司年新增1万吨电线电缆建设项目水土保持报告表
- 河南省部分重点中学2025-2026学年高二历史上学期10月末质量检测试题
- 2026滨海辅警面试题目及答案
- 2025年测绘无人机在港口码头扩建中的测绘技术
- 内蒙古乌兰察布市2026届高三下第三次月考化学试题含解析
- 新疆昌吉九中2026届高三下学期期中(文理)化学试题含解析
- 2025年中国细竹帘市场调查研究报告
- 2025年中国米线机市场调查研究报告
- 2026届甘肃省武威市第二中学高考化学试题模拟卷(5)含解析
- 2025年中国益菌多微生态制剂市场调查研究报告
- 2026全国一卷语文真题 (回忆版)
- 2025年贵州省黔南州事业单位遴选笔试真题及参考答案
- 2026二季度重庆巫山县事业单位公开考调25人笔试备考题库及答案解析
- 2026年六年级下册古文古诗断句专项题目及答案(部编版)
- 安徽省皖江名校联盟2026年5月高三最后一卷地理+答案
- 2026-2030中国电热合金行业发展分析及发展战略研究报告
- 2026年超声诊断仪行业分析报告及未来发展趋势报告
- 2025湖南省长沙市中考英语真题(解析版)
- 2026年陕西省基层法律服务工作者执业核准考试综合能力测试题及答案二
- 辽宁省沈阳126中学2026届初中英语毕业考试模拟冲刺卷含答案
- 2026大学生云南西部计划志愿者招募笔试试题库
评论
0/150
提交评论