




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4章章 存储系统存储系统 本章介绍了计算机中各种常见存储器芯片的结构和工作原理,以及当存储器芯片不满足系统需求时,如何对存储器进行扩展,采用何种方式对存储器进行管理以提高存储空间的利用率。本章要点:u 存储器分类及其工作原理u 芯片扩展方法u 存储空间管理方法 4.1 计算机存储系统组织方式计算机存储系统组织方式随着计算机和网络技术的发展,人们对计算机的要求逐渐提高,从最开始只需要计算机代替人进行计算,逐渐过渡到要求计算机系统能长时间保存大量信息,并且方便用户进行异地查询。为了满足人们对各类信息的查询要求,现在的计算机必须要配备容量较大的存储系统。但是计算机存储系统,特别是磁盘存储系统,自
2、身存在很难克服的缺陷,如读取速度慢、寻道时间长等。然而,尽管存储器速度提升缓慢,处理器的处理能力却在快速提高。这就造成了新的矛盾,存储器的数据传输速度远远小于处理器处理数据的速度,使得存储器的性能成为计算机系统性能的瓶颈。基于以上原因,计算机中配置存储器时,需要考虑两方面的问题:(1)如何利用有限的存储空间尽可能多地存储数据、方便快捷地读出数据。(2)如何将慢速的磁盘存储器和快速的处理器匹配起来。第1个问题的解决方法,我们将在4.5节中详细介绍。下面简单介绍第2个问题的解决方法。 为了同时满足用户对容量和速度的要求,计算机系统往往会采用以下的存储器配置方法,如图4-1所示。大容量磁盘存储器处于
3、存储系统的最底层,其主要作用是给计算机系统提供一个较大的存储容量,因此,对它的要求主要是存储容量要尽可能大。在计算机中配置了磁盘存储器后已经解决了容量问题,为什么还要加内存呢?原因在于匹配CPU和磁盘的速度。从前面的分析我们可以知道,计算机中,CPU的处理速度比磁盘的读写速度快得多,如果不进行速度匹配,则会出现CPU长时间等待磁盘输入数据的情况,从而降低CPU利用率,影响系统性能。内存的读写速度比CPU的速度慢,但是比磁盘快,刚好可以起到速度匹配的作用,同时,因为内存解决的主要问题不是容量问题,所以对其容量的要求不是特别高。寄存器和Cache都是CPU中的存储器,但是二者作用却不完全相同。寄存
4、器的读写速度最快,主要用于直接提供CPU计算所需要的数据;Cache,又叫高速缓存,作用与内存相似,主要用于匹配相对低速的内存和高速的寄存器。由此可见,二者对速度的要求都很高,而对容量的要求则较小。基于以上的原因,目前市场上的主流磁盘容量都在160G以上,内存的容量大都是512M或1G,而Cache的容量则在1M左右。 4.2半导体存储器芯片介绍半导体存储器芯片介绍目前,几乎所有的存储器都是用半导体材料做成的。但是根据存储器的使用特性可以将存储器分为两类:随机存取存储器(Random Access Memory,RAM)和只读存储器(Read-Only Memory,ROM)。只读存储器跟随机
5、存储器不同,用户在使用时只能读取其中的数据,如果要对ROM中的数据进行修改,则必须采用特殊的方法进行,因此ROM可以用于保存不需要经常改变的程序和数据,如:设备驱动程序等。同时,ROM有掉电保护功能,可用于制造磁盘等能长时间保存信息且不受断电影响的存储器。常用ROM有以下五类:l掩模式(Masked)ROM:该种ROM不允许用户对其修改。l可编程ROM(Programmable ROM,PROM):该种ROM允许用户对其进行一次修改,一旦程序或数据写入则不允许用户再次修改。l可擦除PROM(Erasable PROM,EPROM):该种ROM允许用户在第一次写入数据后再次进行修改,但是修改时必
6、须先用紫外光擦除原来的数据。l电可擦除PROM (Electrically Erasable ROM,EEPROM 又叫E2PROM):该种存储器与PROM一样可以对数据进行多次修改,但是不同的是E2PROM不需要紫外光擦除,而是采用加电的方式进行擦除。l闪存(Flash memory)。闪存是电可擦除只读存储器(EEPROM)的变种,所不同的是,闪存的删除写入是以字节为单位,而EEPROM是以整块芯片为单位。现在的U盘、MP3和MP4等都使用的是闪存。4.2.1 SRAM芯片的结构和工作原理1内部存储单元SRAM的一个存储单元可以用来保存一 位数据,即可保存一个“0”或一个“1”。电路如图4
7、-2所示。图4-2 SRAM内部存储单元电路中使用的T1、T2、T3、T4均是NMOS管。X是单元行地址选择线,Y是单元列地址选择线。作为存储单元电路,该电路至少应该有保持、写入和读出三种状态。(1)保持图中T1、T2、T3、T4能构成一个双稳态电路。T1和T2在某一时刻只能有一个处于导通状态。当T1截止、T2导通时,节点A处于高电平状态,节点B处于低电平状态。A的高电平可以保证T2持续导通,B的低电平可以保证T1持续截止。反之亦然。如果没有外界因素的影响,该电路的状态将长时间保持。所以,SRAM不需要经常刷新。约定:T1截止、T2导通时表示该单元电路状态为“1”,T1导通、T2截止时表示该单
8、元电路状态为“0”。从以上分析可以看出,A点的状态即为单元电路保存的信息状态,A为高电平时,单元信息为“1”,A为低电平时,单元信息为“0”。因此,读出时,只需要读出A点的状态即可。(2)写入要对此单元进行写入操作,要选中该单元,并且要将数据放在数据线上。选中时,该单元的行选择线X和列选择线Y都处于高电平状态,X、Y的高电平,使得T5T8全部导通。如果待写入的数据是“0”,则I/0数据线被置为低电平,数据线被置为高电平,不管A、B之前的状态如何,此时A点将被强制置为低电平,B点将被强制置为高电平,进而使得T1导通而T2截止。反之如果待写入数据为“1”,使得T1截止而T2导通。(3)读出跟写入一
9、样,读出单元数据时,也要先选中该电源。不同的是,此时往数据线上放数据。选中时,该单元的行选择线X和列选择线Y都处于高电平状态,X、Y的高电平,使得T5T8全部导通。I/O数据线直接与A点相连, AB两点的状态将通过数据线输出。4.2.2 DRAM芯片的结构和工作原理相对于SRAM来说,DRAM具有容易集成、位价格低、容量大和功耗低等优点,但是由于受到器件的限制,DRAM的存取速度比SRAM慢,而且需要定时刷新。1内部存储单元内部存储单元 跟跟SRAM一样,一样,DRAM的一个存储单元的一个存储单元也可以用来保存一位数据,即可保存一个也可以用来保存一位数据,即可保存一个“0”或一个或一个“1”。
10、常见的。常见的DRAM的基本存的基本存储电路可以分为多管型和单管型,下面以单储电路可以分为多管型和单管型,下面以单管型为例介绍电路原理。单管型存储单元如管型为例介绍电路原理。单管型存储单元如图所示。图所示。电路中的电容C和NMOS管T是电路的核心器件。单元存储的信息是通过电容的高低电压来表示的。电容充电后的高电位表示“1”,放电后的低电位表示“0”,读出时只要能读出C的电位即可。T管的栅极接行选择信号,源极通过T2接数据线,其作用是控制对C的充电。当T管导通时,源极电位与电容电位相同。对单元电路的写入、读出和保持这三个基本操作的基本原理如下:(1)写入要对单元进行写入,行列选择信号必须有效,且
11、待写入数据需要放在数据线上。此时T1、T2导通,数据线与源极相连,而源极电位与电容电位相同,因此,数据线上的电位将强制修改电容的电位,从而完成写入操作。(2)读出该单元的行列选择地址有效时,T1、T2导通,所以电容电位的高低能通过数据线输出。(3)保持单元电路是通过C的高低电位表示信息,然而电容的电压不能长时间保持,如果不定期对C的数据进行刷新,则其保存的信息“1”经过一段时间后将会变为“0”导致数据丢失。通常每12ms就需要对其状态进行一次刷新。2典型芯片的工作原理下面我们以Intel 2164A芯片为例介绍DRAM芯片的工作过程。(1)芯片简介)芯片简介Intel2164A芯片存储容量为6
12、4K1位、最大存取时间为200ns、刷新时间间隔为2ms,采用双列直插式封装,有16个引脚,其引脚图如图4-5所示。各引脚功能:RAS:行地址选通信号,用于锁存行地址, 低电平有效,兼作芯片选择信号。为低电平时,表明芯片当前接收的是行地址;CAS:列地址选通信号;地址总线上先送上行地址,后送上列地址,它们分别在RAS和CAS有效期间被锁存芯片中。A0A7:地址线;用来分时接收CPU送来的8位行、列地址;DIN:数据输入;DOUT:数据输出;NC:未用引脚;VCC :+5V电源引脚;GND:接地引脚;WE读写允许控制信号输入引脚,当其为低电平时,执行写操作;否则,执行读操作。(2)工作原理)工作
13、原理2164A有64K1位的存储空间,需要16位地址线才能寻址,由于其存储单元采用矩阵的方式设置,我们只要知道某个存储单元的行列地址就可以对该单元进行读写,所以芯片16位地址线又可以分成8位行地址线和8为列地址线,为了节约成本和减少芯片引脚数量,芯片只用了8位地址线,采用分时的方式分别传送行地址和列地址。传送地址时,先传送8位行地址,后传送8位列地址。为了区别行列地址,芯片设置了两个低电平有效的引脚RAS(Row Address Strobe)和CAS(Column Address Strobe)分别作为行地址选通信号和列地址选通信号。当RAS信号为低电平时,把此时地址线上的8位地址信号送至内
14、部的行地址锁存器,同理当CAS信号为低电平时,把此时地址线上的8位地址信号送至内部的列地址锁存器。2164A的输入输出数据线使用了不同的引脚,在实际使用时,常将这两位数据线与数据总线的同一位相连。为了保证正确的接收数据和输出数据,芯片设置了读写允许控制信号输入引脚。当WE0时,芯片接收数据,并根据行列地址信号将此数据写入到相应的存储单元;当WE1时,芯片根据行列地址信号读出相应的存储单元的数据,并且输出到数据总线上。 4.2.3 ROM的结构和原理下面,我们以EPROM的典型芯片Intel 2716为例介绍ROM芯片的工作原理。1内部存储单元EPROM的基本电路如图4-6所示,其核心器件是浮置
15、栅雪崩注入型场效管(Floating grid Avalanche injection,FAMOS)。图4-6 EPROM内部存储单元在没有被写入数据前,FAMOS管的栅极没有电子,源漏极间没有形成导电沟道,不导通,此时保存的信息为“1”。对其进行写入操作后,其栅极上被注入电子,源漏极间形成导电沟道,管子导通,此时保存的信息为“0”。2典型芯片的工作原理(1)芯片简介)芯片简介Intel 2716是容量为2K8位,读出时间在350ns450ns,有24个引脚,采用双列直插式封装的芯片。芯片引脚图如图4-7所示。各引脚功能如下:Al0 A0:地址信号输入引脚,可寻址芯片的2K个存储单元;O7O0
16、:双向数据信号输入输出引脚;CS:片选信号输入引脚,低电平有效,只有当该引脚转入低电平时,才能对相应的芯片进行操作;PD/PGM:数据输出允许控制信号引脚,低电平时允许数据输出;Vcc:+5V电源;VPP:+25V/+5V电源,用于在专用装置上进行写操作;GND:接地引脚。(2)工作原理芯片有两个电源输入引脚VCC和VPP。引脚VCC作为芯片电源引脚,一直接高电平,即VCC1。引脚VPP用以控制是否对芯片进行写操作。当VPP+5V时,不允许对写芯片,但是当VPP+25V时,能对芯片读操作也能进行写操作。4.2.4相联存储器相联存储器(associative memory)是一种根据存储内容来进
17、行存取的存储器,也称为按内容访问存储器(content addressed memory)。它跟一般的存储器不同,一般存储器进行读写时,需要控制芯片提供读写的单元地址,而相联存储器则是按顺序写入,根据需要读取的内容读出。严格地说,相联存储器是一种存取方法,而不是一种存储器。任何一个记录都有很多的数据项,如学生的姓名、学号、联系方式等,每个数据项都是不完全相同的,特别是同一所学校的学生的学号是不可能重复的,因此,在对这类数据进行读出时,选定一个数据项作为相联关键字来代表要查找的对象,如学生的学号。读出时,根据中央处理单元给出的这个相联关键字,用它和存储器中所有单元中的一部分信息进行比较,如果相等
18、,则将此单元中余下的信息读出。这是实现存储器并行操作的一种有效途径,特别适合于信息的检索和更新。现在的大部分数据库都是采用这种方法实现的。为了进行正确比较,存储器必须设置一定的机构来实现比较的过程,这些机构包括:比较寄存器,屏蔽寄存器,字选择寄存器,查找结果寄存器等。各寄存器作用如下:(1)比较寄存器用来存放检索字,其位数和相联存储器的存储单元位数相等。(2)屏蔽寄存器用来存放屏蔽码,其位数和检索寄存位数相同。当按内容进行检索时,相应地把MR中要比较的位设置成“1”,不要比较的设置成“0”。置“1”的字段为关键字段。(3)查找结果寄存器:位数等于相联存储器的存储单元位数,每一位对应一个存储单元
19、,位的序数即为相联存储器的单元地址。若比较结果第i个字满足要求,则将第i位置为“1”,其余的均为“0”。 (4)字选择寄存器:位数与记录的数据项的数量相同,用以确定哪些字参与检索,参与检索的则相应位为“1”,其余的为“0”。4.3主存储系统主存储系统主存储器主要有以下几个性能指标:l存储容量:所谓存储容量即存储器能够保存的数据的数量。常用的单位有GB、MB、KB等。1GB=1024MB,1MB=1024KB,1KB=1024B。也可以用乘积的方式表示,公式为:容量字数字长 如1KB可以表示为1K8位,1MB可以表示为1M8位等。l存取速度:所谓存取速度即是单位时间内存储器能读写的位数或字节数。
20、该参数跟存储器的时钟频率有关。一般情况下,时钟频率越高,存取速度越快。如果用位数衡量,常用单位有Kb/s、Mb/s等;如果用字节数衡量,常用单位有KB/s、MB/s等。l读写周期:所谓读写周期是指读写一位或一个字节所需要的时间。该参数与存取速度成反比。存取速度越快,周期越短,反之亦然。前面我们介绍了几种常用的存储器芯片的结构、电路和工作原理。但是不同的应用场合会对芯片提出不同的要求。现有的芯片往往不能完全满足系统的需要,因此如何用现有的芯片来实现系统的性能要求就成为了存储系统必须解决的重要问题之一。芯片不满足使用的需要主要有以下几个方面:1位数不够如系统需要的存储容量为128K8位,可选的芯片
21、却只有128K1位或者128K4位的芯片。这种情况下,芯片能够满足128K的要求,而位数却不能满足8位的要求。此时需要对位数进行扩展,即位扩展。2字数不够如系统需要的存储容量为256K8位,可选的芯片却只有64K8位或者128K8位的芯片。这种情况下,芯片能满足8位的要求,但却不能满足容量256K的要求。此时需要对字进行扩展,即字扩展。3字数位数均不够如系统需要的存储容量为256K8位,可选的芯片却只有64K4位或者128K4位等芯片。这种情况下,芯片既不能满足8位的要求,又不能满足容量256K的要求。此时需要对位数和字同时进行扩展,即字位扩展。当芯片不能直接满足系统需求时,设计者就需要对存储
22、器进行扩展。上述三种情况是对存储器进行扩展时的三种主要情况,因此对存储器的扩展又主要有位扩展、字扩展和字位扩展。如果发生下述情况:系统需要的存储容量为128K8位,可选的芯片只有256K8位的芯片,这时不需要进行芯片扩展,只需要在编程时仅使用低地址空间即可;系统需要的存储容量为128K8位,可选的芯片只有128K16位的芯片,这时也不需要进行芯片扩展,只需要在编程时只使用输出数据的低8位,高8位悬空或者置零即可。所以只有当可选芯片的字或位不够用时才需要进行芯片扩展。4.3.1 位扩展 所谓位扩展,就是当单个芯片的容量能满足要求,但是输出位数不满足系统对存储器输出位数的要求时,通过几个芯片同时输
23、出的方式对存储器的输出位数进行扩展。根据前面的介绍,我们知道了何时需要进行位扩展,那么如何用位数较少的芯片来扩展位数较多的存储器呢?比如,系统需要的存储容量为128K8位,可选的芯片却只有128K4位的芯片。其扩展过程如下:(1)确定扩展类型:仔细分析系统要求可知,系统需要的容量跟芯片容量刚好相等,但是位数不同,因此我们需要进行位扩展;(2)需要确定所需芯片的数量,系统要求存储器每次输出8位数据,而一片芯片每次只能输出4位,则为了满足系统需求,每次要两片芯片同时输出,因此在对芯片进行选择时,这两片芯片的片选信号和地址线必须相同,实际连接电路时只需要将片选信号和地址线连在一起即可;(3)因为扩展
24、时需要由两个4位组成一个8位进行输出,所以要确定哪4位为高4位,哪4位为低4位。根据以上步骤,可以得出如图4-8所示的扩展电路图。图中,两芯片的片选信号、读写控制信号和地址信号连在一起,当系统需要进行读写时,两块芯片将同时工作。现以读地址为1024的单元为例介绍扩展后的存储器工作过程:控制芯片将其与片选信号相连的引脚置为低电平;将与读写控制线相连的引脚置为低电平;将待读取地址(00100H)通过地址总线传送给存储器,因为两块芯片的以上三个信号相同,它们将同时把其1024单元中的地址放到数据线上输出,两组输出数据线分别连接控制芯片的数据线的高4位和低4位,所以控制器在发出一个读信号后,将收到一组
25、8位的数据。从而实现了用两片4位输出芯片扩展为一个8位输出的存储器。4.3.2 字扩展所谓字扩展,就是当单个芯片输出位数满足系统要求,而容量不满足要求时,用多个芯片采用地址分段的方式对存储容量进行扩展,参与扩展的每个芯片的地址范围不同。注意:在学习本节内容的过程中,大家一定要注意字扩展和位扩展方法的不同。下面用一个例子解释字扩展的方法:系统需要的存储容量为256K8位,可选的芯片只有64K8位。其扩展的步骤如下:(1)确定扩展类型)确定扩展类型分析系统要求可知,芯片输出数据的位数与系统需求一致,所以不需要进行位扩展;芯片容量只有系统需求的四分之一,所以本例中,为了满足系统需求,需要用多个小容量
26、芯片组成一个较大容量的存储器,即字扩展。(2)确定芯片数量)确定芯片数量系统需要256K的容量,如果用64K的芯片则需要4片才能满足系统需求。所以本例中,参加扩展的芯片数量为4。注意:如果实际需要的容量不是芯片容量的整数倍,则扩展后的容量不能比系统需要的容量小。(3)选择合适的扩展方法)选择合适的扩展方法字扩展时常采用的方法有线选法、数字逻辑法和译码法。下面分别对以上三种方法进行介绍。 线选法:所谓线选法就是在产生片选信号(低电平有效)时,不是由几位地址线的组合状态经过运算后得出,而是用直接将控制器的一根地址线与芯片使能端相连。线选法是字扩展中最简单的方法,其优点是片选信号的产生过程简单,不容
27、易出现错误。但是由于每个芯片都占用一根地址线,当芯片数量增多时要求控制器地址线数量很多,而且此方法会严重浪费控制器的逻辑地址空间,限制了程序的规模。采用线选法对上述例子进行字扩展的电路图如图4-9所示。图中芯片的地址信号都是使用的A15A0这16位低地址线,但是芯片的片选信号都分别占用了A16A19中的一根地址线,则每个芯片的地址见表4-3所示。假设控制器的地址线共有20根,即A19A0,寻址空间大小为1M。从上表中我们可以看出,被浪费的地址空间是00000H6FFFFH、80000HAFFFFH、C0000HCFFFFH和F0000FFFFFH四个范围,地址空间大小占768K,占控制器寻址空
28、间的75,对地址空间造成了严重的浪费,且当系统需求增大时,被浪费的地址也无法再被利用。芯片编号 A15A0 A19A16 地址范围 10000HFFFFH 1110B E0000HEFFFFH 20000HFFFFH 1101B D0000HDFFFFH 30000HFFFFH 1011B B0000HBFFFFH 40000HFFFFH 0111B 70000H7FFFFH 为了克服线选法对地址空间的浪费,我们常采用数字逻辑法和译码法进行字扩展。数字逻辑法:所谓数字逻辑法即用数字逻辑电路对两位高地址进行逻辑运算产生片选信号。各个芯片的存储单元的地址情况:256K的容量需要18根地址线(A17
29、A0),而64K的容量需要16根地址线,因此只需要从系统的18根地址线中取出低16位(A15A0)即可对芯片内的每个存储单元进行寻址,剩余的两位高地址(A17、A16)有4种组合,每一种组合刚好可以用作产生片选信号。每个芯片的地址范围见表4-4所示。芯片编号 地址范围低16位地址范围(A15A0) 高2位地址(A17 A16) 100000H0FFFFH 0000HFFFFH 00B 210000H1FFFFH 0000HFFFFH 01B 320000H2FFFFH 0000HFFFFH 10B 430000H3FFFFH 0000HFFFFH 11B 从上述例子中,我们可以看出:逻辑运算法
30、克服了线选法的缺点,地址空间的利用率达到了100,同时也节省了两根地址线,所以存储器的容量还可以进一步扩展。但是片选信号的产生复杂,容易出现错误。随着扩展时所需芯片数量的增加,电路的复杂性将会成级数方式增加。为了达到地址空间100的利用率和使用的地址线尽可能少的要求,克服逻辑运算法产生片选信号过程复杂的缺点,实际进行字扩展时常常采用第三种方法,即译码法。译码法:所谓译码法就是对几根地址线的组合状态用译码器译码后产生片选信号。其原理与逻辑运算法类似,不同之处在于片选信号的产生方法,逻辑运算法是对地址状态经过组合逻辑电路运算后得出片选信号,而译码法则是用译码器译码产生。根据参与译码的地址线的数量,
31、可以将译码法分为:完全译码法和部分译码法。完全译码法是指所有地址线状态都作为译码器输入的方法。部分译码法是指部分地址线状态作为译码器输入的方法。译码法进行字扩展时,各芯片的地址空间跟逻辑运算法的芯片地址空间一样,如表4-5所示,因此只需要对两位地址通过2-4译码器译码,即可产生4块芯片需要的片选信号,所以采用的译码方法是部分译码法,芯片扩展后的电路图如图4-11所示。与逻辑运算法相比,译码法产生片选信号时,用译码器替代了复杂的数字组合逻辑电路。片选信号的产生简单明了,不容易出现错误,更降低了成本。译码法不仅继承了逻辑运算法的优点、克服了逻辑运算法的缺点,还方便存储容量再次扩展。比如:现在需要将
32、系统容量从256K提高到512K,译码法只需要将2-4译码器更改为3-8译码器,然后将译码器输出与各芯片片选引脚相连即可;而采用逻辑运算时,需要重新计算每个片选信号与地址输入信号的关系,然后根据此关系式选择正确的门电路画出组合逻辑电路图,最后将每个组合逻辑电路的输出与各芯片片选信号相连。因此,译码法是较方便且不容易出错的字扩展方法。4.3.3 字位扩展所谓字位扩展,就是当单个芯片的输出位数和容量同时不满足系统要求时,用多个芯片结合位扩展和字扩展的方法对存储器进行扩展。在实际芯片扩展时,常常会需要用到这种扩展。例子:如系统需要的存储容量为256K8位,可选的芯片容量只有128K4位。在这种情况下
33、,存储器需要一次输出8位,而芯片却只能一次输出4位,需要进行位扩展;存储器要求容量为256K,而芯片容量却只有128K,需要进行字扩展。扩展过程中,需要用到位扩展的方法,也会用到字扩展的方法。扩展步骤如下:(1)位扩展:根据位扩展的原理,此处需要两个芯片同时输出才能满足系统对位数的要求,因此,连接电路时,这两块芯片的片选引脚必须接同一个片选信号,保证两块芯片同时被选中。(2)字扩展:位扩展时,虽然是两块128K的芯片同时工作,但是存储器容量仍然是128K,只是输出变成了8位,构成了128K8位的芯片。因此要构成256K8位的存储器,必须先将两块芯片构成一组,此时,这一组芯片可以当成一个128K
34、8位的芯片使用,然后由两组芯片组成系统需要的存储器。此处只需要两组就可以达到要求,所以片选信号产生时,没有用到译码器,而选择了一个非门;如果需要多组,则需要通过译码芯片产生片选信号。(3)连接数据输出线。 字位扩展后的电路图如图4-12所示。电路中的4块芯片从左向右编号分别为1、2、3、4,其中1、2号芯片构成一组,3、4号芯片构成一组。从图中,我们可以看见每组芯片输出都是8位,地址线A16A0能对组内128K的地址范围进行寻址。A17作为片选信号,当A17为低电平时,芯片1、2被选中,当A17为高电平时,芯片3、4被选中。因此,芯片1、2构成的芯片组地址范围是00000H1FFFFH,2、3
35、构成的芯片组地址范围是20000H3FFFFH。综上所述,可以得到以下结论,假定系统需要的存储容量为MN位,可选的存储芯片容量只有xy位(xM,yN),此时需要在字向和位向同时进行扩展,共需(M/x)(N/y)块存储芯片。 思考:假如计算机存储系统中单片ROM容量为4K8,单片RAM容量为8K8,请设计计算机存储系统电路图,要求ROM为16KB,RAM容量为64KB。4.4 高速缓冲存储器高速缓冲存储器Cache4.4.1 Cache基本原理1设置Cache的必要性计算机有两个核心器件,一个内存,另外一个则是CPU。二者是否能较好配合,将直接影响计算机性能。早期的CPU跟内存的速度相差不多,但
36、是随着计算机硬件技术的发展,CPU的速度提高的比内存快,现在内存和CPU的读写速度相差23个数量级。如果仅仅依靠内存给CPU传输数据,那么CPU可能会长时间等待,降低资源利用率。所以,必须对二者速度进行匹配。匹配内存和CPU的速度有以下三个方法:(1)降低CPU速度;(2)采用高速的SRAM作为内存的存储器;(3)根据程序执行的局部性原理,在二者之间设置一定的缓冲器。显然,第一个方法降低了计算机性能,不可能采用;第二个方法需要用价格昂贵的SRAM来制作容量高达几百兆的内存,成本过高。因此第三个方法则呈了现代计算机的首选方法。实际的计算机系统中,常常在CPU和内存间设置一个容量不大(常常为几十至
37、几百K)但是速度跟CPU速度相同的Cache作为缓冲器,把正在执行的指令代码单元附近的一部分指令代码或数据存入Cache中,CPU需要数据时,直接从Cache中读取,这种方法解决了速度不匹配的问题,又不会大幅度增加成本。 2. 基本原理Cache又叫高速缓存,是高速缓冲存储器(Cache Memory)的简称。作为一种存储器,Cache有一定的存储空间,但Cache的主要作用不是进行数据存储,所以其存储空间较小。根据Cache所处位置的不同,可以将Cache分为一级Cache和二级Cache。与CPU集成在同一块芯片中的是一级Cache(简称L1 Cache ),其容量常常为几十KB几百KB;
38、不与CPU集成在同一块芯片中的是二级Cache(简称L2 Cache ),其容量常常为几百KB2MB。目前市场上比较高档的CPU常常配有512KB、1MB或者2MB的Cache。配置了Cache的CPU和内存之间的存储结构如图4-13所示。在Cache控制器的作用下, CPU首先访问Cache,如其需要的数据在Cache中,则直接访问Cache即可,否则再访问内存。如果设置了L2 Cache,则系统将按照L1 Cache、L2 Cache、内存的顺序访问。值得注意的是:Cache不能被用户直接访问,用户不能使用Cache地址进行编程。Cache一般由SRAM、TRAM和控制器组成。其中,SRA
39、M提供存储空间, 它的容量即为Cache的容量;TRAM保存Cache中的数据在主存中的地址;控制器则是实现比较和控制Cache的读写操作等功能。当CPU需要内存中某一地址的数据时,控制器首先将该地址信号与TRAM中的地址进行比较,如果找到相同的地址,说明内存中的数据在Cache中,则CPU直接访问Cache,否则CPU将访问内存。当CPU所需要的数据没有在Cache中时,控制器还要完成对Cache的修改,将内存中的数据读取到Cache中,以保证Cache命中率尽可能高,提高数据访问速度。 4.4.2 地址映像 Cache作为CPU和内存间的缓冲存储器,理想情况下,应该保证CPU每次需要访问的
40、数据都在Cache中。但是,用户程序却是按照内存地址编写的,Cache所做的工作是在CPU访问内存前,根据程序执行的局部性原理,先将内存中的数据读出,当CPU需要时再提供给它。所以,“Cache所保存的数据到底是内存中的哪些数据,地址是什么?”就成了关键性问题。这一问题实际上也是Cache的存储空间与内存之间的地址映像问题。常用的地址映像方式有三种:全相联映像、直接映像和组相联映像。1全相联映像所谓全相联映像是指将内存和Cache按找固定的相同的大小进行分块。内存的块和Cache的块可以任意对应,即内存的任何一块都可以映像到Cache的任何一块,在Cache的存储空间被占满的情况下,也允许确实已被占满的Cache存储器中替换出任何一个旧块。这种映像方式的优点是映像过程灵活
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025农业用地流转合同范本(乙方与村委会签订)示例
- 2025年综合消防维护保养合同终稿
- 2025撤销购房合同模板
- 2025商务合同范本短期劳动合同书
- 小学三年级演讲稿15篇
- 小学二年级音乐说课稿
- 城市智慧交通与BIM技术的结合
- 高级钢琴调律师考试试题及答案
- 林蛙养殖合同转让协议书
- 寻找小绿人试题及答案
- 粮食熏蒸作业管理制度
- 医院医保奖惩管理制度
- Python数据科学与机器学习结合试题及答案
- 2025-2030中国EHS管理软件行业市场现状供需分析及投资评估规划分析研究报告
- 高考数学基本技能试题及答案
- 建筑工程项目的整体策划与实施试题及答案
- 托育转让合同协议书
- 【遵义】2025年第十三届贵州人才博览会遵义市事业单位引进人才47人笔试历年典型考题及考点剖析附带答案详解
- 山洪灾害防御培训
- 地理西亚测试题及答案
- 购犬协议书范本
评论
0/150
提交评论