资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第5章,存储系统,1,本章主要内容,微型机的存储系统、分类及其特点,半导体存储芯片的外部特性及其与系统,的连接,存储器扩展技术,高速缓存,2,5.1 概 述,内容:,微型机的存储系统,半导体存储器的基本概念,存储器的分类及其特点,两类半导体存储器的主要区别,3,微型机的存储系统,将两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件或软硬件相结合的方法组织起来 这样就构成了计算机的存储系统。,系统的存储速度接近最快的存储器,容量接近最大的存储器。,4,微型机的存储系统,Cache,存储系统,解决速度问题,虚拟存储系统,解决容量问题,高速缓冲存储器,主存储器,主存储器,磁盘存储器,5,存储器的层次结构,微机拥有不同类型的存储部件,由上至下容量越来越大,但速度越来越慢,寄存器堆,高速缓存,主存储器,联机外存储器,脱机外存储器,快,慢,小,大,容量,速度,CPU,内核,6,两大类,内存、外存,内存,存放当前运行的程序和数据。,特点,:,快,容量小,随机存取,,CPU,可直接访问,。,通常由,半导体存储器,构成,RAM,、,ROM,外存,存放非当前使用的程序和数据。,特点,:,慢,容量大,顺序存取,/,块存取,。,需调入内存后,CPU,才能访问,。,通常由,磁、光存储器,构成,也可以由半导体存储器构成,磁盘、磁带,、,CD-ROM,、,DVD-ROM,、,固态盘,7,半导体存储器,由能够表示二进制数,“,0,”,和,“,1,”,的、具有记忆功能的一些半导体器件组成。如,触发器、,MOS,管的栅极电容等,。,能存放一位二进制数的器件称为一个存储元。,若干存储元构成一个存储单元。,8,内存储器的分类,内存储器,随机存取存储器(,RAM),R,andom,A,ccess,M,emory,只读存储器(,ROM),R,ead,O,nly,M,emory,9,随机存取存储器(,RAM),RAM,静态存储器(,SRAM),S,tatic,RAM,动态存储器(,DRAM),D,ynamic,RAM,10,只读存储器(ROM),只读存储器,掩模,ROM,一次性可写,ROM,EPROM,EEPROM,11,存储器的主要技术指标,存储容量,:,存储单元个数,M,每单元位数,N,存取时间,:,从启动读,(,写,),操作到操作完成的时间,存取周期,:,两次独立的存储器操作所需间隔的最小时间,平均故障间隔时间,MTBF,(,可靠性,),功耗,:动态功耗、静态功耗,12,5.2 随机存取存储器,要求掌握:,SRAM,与,DRAM,的主要特点,几种常用存储器芯片及其与系统的连接,存储器扩展技术,13,一、静态存储器,SRAM,特点:,用双稳态触发器存储信息。,速度快(,5ns,),不需刷新,外围电路比较简单,但集成度低(存储容量小,约,1Mbit/,片),功耗大。,在,PC,机中,,SRAM,被广泛地用作高速缓冲存储器,Cache,。,对容量为,M*N,的,SRAM,芯片,其地址线数,=,2,M,;数据线数,=N,。反之,若,SRAM,芯片的地址线数为,K,,则可以推断其单元数为,2,K,个。,14,典型,SRAM,芯片,CMOS RAM,芯片6264(8,K*8):,主要引脚功能,工作时序,与系统的连接使用,15,SRAM 6264芯片,6264,外部引线图,逻辑符号:,6264,D,7,-D,0,A,12,-A,0,OE,WE,CS,1,CS,2,16,6264芯片的主要引线,地址线:,A,0,A,12,数据线:,D,0,D,7,输出允许信号:,OE,写允许信号:,WE,选片信号:,CS,1,、,CS,2,17,6264的工作过程,读操作,写操作,写操作的工作时序,18,6264芯片与系统的连接,D0D7,A,0,A,12,WE,OE,CS,1,CS,2,A,0,A,12,MEMW,MEMR,译码,电路,高位地址信号,D0D7, ,19,译码电路,将输入的一组二进制编码变换为一个特定的控制信号,即:,将输入的一组高位地址信号通过变换,产生一个有效的控制信号,用于,选中,某一个存储器芯片,从而确定该存储器芯片在内存中的地址范围。,20,全地址译码,用全部的高位地址信号作为译码信号,使得存储器芯片的每一个单元都占据一个唯一的内存地址。,存储器,芯片,译,码,器,低位地址,高位地址,全部地址,片选信号,21,全地址译码例,6264,芯片的地址范围:,F0000HF1FFFH,1111000,0000,1111000,1111,A,19,A,18,A,17,A,16,A,15,A,14,A,13,&,1,#,CS,1,A,1,2,A,0,D,7,D,0,高位地址线全部参加译码,6264,A,12,-A,0,D,7,-D,0,#OE,#WE,22,部分地址译码,用,部分高位地址,信号(而不是全部)作为译码信号,使得被选中得存储器芯片占有几组不同的地址范围。,下例使用高5位地址作为译码信号,从而使被选中芯片的每个单元都占有两个地址,即这两个地址都指向同一个单元。,23,部分地址译码例,同一物理存储器占用两组地址:,F0000HF1FFFH B0000HB1FFFH,A,18,不参与译码,A,19,A,17,A,16,A,15,A,14,A,13,&,1,到,6264,CS,1,24,应用举例,将,SRAM 6264,芯片与系统连接,使其地址范围为:,3,8000,H39FFFH,和,78000H79FFFH,。,选择使用74,LS138,译码器构成译码电路,Y0#,G1 Y1#,G,2A,Y2#,G,2B,Y3#,Y4#,A Y5#,B Y6#,C Y7#,片选信号输出,译码允许信号,地址信号,(接到不同的存储体上),74LS138,逻辑图:,25,74LS138,的真值表:(注意:输出低电平有效),可以看出,当译码允许信号有效时,,Yi,是输入,A,、,B,、,C,的函数,即,Y,=,f(A,B,C),1,1,1,1,1,1,1,1,X X X,其 他 值,0,1,1,1,1,1,1,1,1 1 1,1 0 0,1,0,1,1,1,1,1,1,1 1 0,1 0 0,1,1,0,1,1,1,1,1,1 0 1,1 0 0,1,1,1,0,1,1,1,1,1 0 0,1 0 0,1,1,1,1,0,1,1,1,0 1 1,1 0 0,1,1,1,1,1,0,1,1,0 1 0,1 0 0,1,1,1,1,1,1,0,1,0 0 1,1 0 0,1,1,1,1,1,1,1,0,0 0 0,1 0 0,Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0,C B A,G,1,G,2A,G,2B,26,应用举例,(,续,):,D0D7,A,0,A,12,WE,OE,CS,1,CS,2,A,0,A,12,MEMW,MEMR,D0D7,G,1,G,2A,G,2B,C,B,A,&,&,A,19,A,14,A,13,A,17,A,16,A,15,+5V,Y,0,下图中,A18,不参与译码,故,6264,的地址范围为:,3,8000,H39FFFH,78000H79FFFH,6264,27,二、动态随机存储器,DRAM,特点:,DRAM,是靠,MOS,电路中的栅极电容来存储信息的,由于电容上的电荷会逐渐泄漏,需要定时充电以维持存储内容不丢失(称为,动态刷新,),所以动态,RAM,需要设置,刷新,电路,相应外围电路就较为复杂。,刷新定时间隔一般为几微秒几毫秒,DRAM,的特点是集成度高(存储容量大,可达,1Gbit/,片以上),功耗低,但速度慢(,10ns,左右),需要刷新。,DRAM,在微机中应用非常广泛,如微机中的内存条(主存)、显卡上的显示存储器几乎都是用,DRAM,制造的。,28,常见,DRAM,的种类:,SDRAM,(,Synchronous DRAM,),它在,1,个,CPU,时钟周期内可完成数据的访问和刷新,即可与,CPU,的时钟同步工作。,SDRAM,的工作频率目前最大可达,150MHz,,存取时间约为,5,10ns,,最大数据率为,150MB/s,,是当前微机中流行的标准内存类型。,RDRAM,(,Rambus,DRAM,),是由,Rambus,公司所开发的高速,DRAM,。其最大数据率可达,1.6GB/s,。,DDR DRAM,(,Double Data Rate DRAM,),是对,SDRAM,的改进,它在时钟的上升沿和下降沿都可以传送数据,其数据率可达,200-800 MB/s,。主要应用在主板和高速显示卡上。,RAM,的,3,个特性:,1,)可读可写,非破坏性读出,写入时覆盖原内容。,2,)随机存取,存取任一单元所需的时间相同。,3,)易失性(或挥发性)。当断电后,存储器中的内容立即消失。,29,典型,DRAM,芯片2164,A,2164,A:64K1,采用,行地址,和,列地址,来确定一个单元;,行列地址,分时,传送,,共用一组地址线;,地址线的数量仅,为同等容量,SRAM,芯片的一半。,行地址,1,0,0,0,1 0 0 0,列地址,30,主要引线,RAS:,行地址选通信号,用于锁存行地址;,CAS:,列地址选通信号。,地址总线上先送上行地址,后送上列地址,它们分别在,RAS,和,CAS,有效期间被锁存在地址锁存器中。,D,IN:,数据输入,D,OUT:,数据输出,WE=0,数据写入,WE=1,数据读出,WE:,写允许信号,31,工作原理,三种操作:,数据读出,数据写入,刷新,参见工作时序图(教材,p208-p209),32,刷新,将存放于每位中的信息读出再照原样写入原单元的过程,刷新,刷新的时序图,33,2164,A,在系统中的连接,见教材,p210,图5-18,34,三、存储器扩展技术,位扩展,扩展每个存储单元的位数,字扩展,扩展存储单元的个数,字位扩展,二者的综合,用多片存储芯片构成一个需要的内存空间,它们在整个内存中占据不同的地址范围,任一时刻仅有一片(或一组)被选中。,35,位扩展,存储器的存储容量等于:,单元数,每单元的位数,当构成内存的存储器芯片的字长小于内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求。,字节数,字长,36,位扩展例,用8片2164,A,芯片构成64,KB,存储器。,2164A: 64K x 1,,需,8,片构成,64K x 8,(,64KB,),LS1,3,8,A,8,A,19,2164A,2164A,2164A,DB,AB,D,0,D,1,D,7,A,0,A,7,译码输出,读写信号,A,0,A,19,D,0,D,7,A,0,A,7,A,0,A,7,37,位扩展方法:,将每片的地址线、控制线并联,数据线分别引出。,位扩展特点:,存储器的单元数不变,位数增加。,38,字扩展,地址空间的扩展。芯片每个单元中的字长满足,但单元数不满足。,扩展原则:,每个芯片的地址线、数据线、控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围。,39,字扩展例,用两片64,K8,位的,SRAM,芯片构成容量为128,KB,的存储器,40,字位扩展,根据内存容量及芯片容量确定所需存储芯片数;,进行位扩展以满足字长要求;,进行字扩展以满足容量要求。,若已有存储芯片的容量为,LK,,要构成容量为,M N,的存储器,需要的芯片数为:,(,M / L) (N / K),41,字位扩展例,用,4K1,位的芯片组成,16KB,的存储器。,扩成,4KB 8,片,再扩成,16KB 4*8=32,片,地址线需,14,根(,A0-A13,),其中,12,根(,A0-A11,)用于片内寻址,,2,根(,A12,,,A13,)用于片选译码。连接图。,注意:以上的例子中所需的地址线数并未从系统整体上考虑。在实际系统中,总线中的地址线数往往要多于所需的地址线数,这时除片内寻址的低位地址线,(,即片内地址线,),外,剩余的高位地址线一般都要用于片选译码。,42,8088,系统中存储器的连接使用方法,存储器与,8088,系统总线的连接的要点是:,存储器的地址范围?,根据要求的地址范围可确定用哪几根地址线进行片选,哪几根地址线做片内寻址以及如何进行片选译码。,系统总线上与存储器有关的信号线有哪些?,熟悉与存储器有关的总线信号和存储芯片引脚的功能。,译码电路的构成(译码器的连接方法),系统地址空间一般比存储芯片的容量大(即总线中的地址线数多于存储芯片的地址线数),物理内存实际只占用系统地址空间的一小块区域。把物理内存分配到系统地址空间的哪一块区域,取决于如何进行地址译码。,43,8088,系统中存储器连接涉及到的总线信号包括:,地址线,A19-A0,数据线,D7-D0,存储器读信号,MEMR#,存储器写信号,MEMW#,需要考虑的存储芯片引脚,地址线,A,n-1,-A,0,:接地址总线的,A,n-1,-A,0,数据线,D,7,-D,0,:接数据总线的,D,7,-D,0,片选信号,CS#(CE#),(,可能有多根,),:接地址译码器的片选输出,输出允许,OE#(,有时也称为读出允许,),:接,MEMR#,写入允许,WE#,:接,MEMW#,44,*补充:8086的16位存储器接口,数据总线为16位,但存储器按字节进行编址,用两个8位的存储体(,BANK),构成16位,BANK1,奇数地址,BANK0,偶数地址,D15-D0,D7-D0,D15-D8,A19-A0,译码器,控制信号,体选信号,和读写控制,如何产生?,如何连接?,45,*8086的16位存储器接口,读写数据有以下几种情况:,读写从偶数地址开始的16位的数据,读写从奇数地址开始的16位的数据,读写从偶数地址开始的8位的数据,读写从奇地址开始的8位的数据,8086读写16位数据的特点:,读16位数据时会读两次,每次8位。,读高字节时,BHE=0,A0=1;,读低字节时,BHE=1,A0=0,每次只使用数据线的一半:,D15-D8,或,D7-D0,写16位数据时一次写入。,BHE,和,A0,同时为0,同时使用全部数据线,D15D0,46,*8086的16位存储器接口,两种译码方法,独立的存储体译码器,每个存储体用一个译码器;,缺点:电路复杂,使用器件多。,独立的存储体写选通,译码器共用,但为每个存储体产生独立的写控制信号,但无需为每个存储体产生独立的读信号,因为8086每次仅读1字节。对于字,8086会连续读2次。,电路简单,节省器件。,47,1)独立的存储体译码器,D15-D9,D8-D0,高位存储体,(奇数地址),低位存储体,(偶数地址),A16-A1,A15-A0,A15-A0,D7-D0,D7-D0,64,KB8,片,64,KB8,片,CS#,Y0#,Y7#,Y0#,Y7#,C,B,A,A19,A18,A17,C,B,A,A19,A18,A17,CS#,G1,G2A#,G2B#,G1,G2A#,G2B#,OE#,WE#,OE#,WE#,MEMR#,MEMW#,BHE#,A0,Vcc,Vcc,注意这些信号线的连接方法,MEMW#,信号同时有效,但只有一个存储体被选中,读16位数据时每个体被选中几次?,48,2)独立的存储体写选通,D15-D9,D8-D0,高位存储体,(奇数地址),低位存储体,(偶数地址),A16-A1,A15-A0,A15-A0,D7-D0,D7-D0,64,KB8,片,64,KB8,片,CS#,Y0#,Y7#,C,B,A,A19,A18,A17,CS#,G1,G2A#,G2B#,OE#,WE#,OE#,WE#,MEMR#,BHE#,A0,Vcc,GND,MEMW#,1,1,每个存储体用不同的读控制信号,读16位数据时每个体被选中几次?,49,5.3 只读存储器(,ROM),掩模,ROM,一次性可写,ROM,可读写,ROM,分 类,EPROM(,紫外线擦除),EEPROM(,电擦除),50,一、,EPROM,特点:,可多次编程写入;,掉电后内容不丢失;,内容的擦除需用紫外线擦除器。,51,EPROM 2764,8,K8bit,芯片,其引脚与SRAM 6264完全兼容,地址信号:A,0, A,12,数据信号:D,0, D,7,输出信号:OE,片选信号:CE,编程脉冲输入:PGM,52,2764的工作方式,数据读出,编程写入,擦除,标准编程方式,快速编程方式,编程写入的特点:,每出现一个编程负脉冲就写入一个字节数据,工作方式,53,二、,EEPROM,(,E,2,PROM,),特点:,可在线编程写入;,掉电后内容不丢失;,电可擦除。,54,典型,E,2,PROM,芯片98,C64A,8,K8bit,芯片,13根地址线(A,0, A,12,),8位数据线(D,0, D,7),输出允许信号(OE),写允许信号(WE),选片信号(CE),状态输出端(READY/BUSY),55,工作方式,数据读出,编程写入,擦除,字节写入:每一次,BUSY,正脉冲写,入一个字节,自动页写入:每一次,BUSY,正脉写,入一页(1,32字节),字节擦除:一次擦除一个字节,片擦除:一次擦除整片,56,E,2,PROM,的应用,可通过编写程序实现对芯片的读写,但,每写入一个字节都需判断,READY/BUSY,端的状态,仅当该端为高电平时才可写,入下一个字节。,57,四、闪速,E,2,PROM,特点:,通过向内部控制寄存器写入命令的方法来控制芯片的工作方式,而非用引脚的信号来控制芯片的工作。,应用,BIOS,,便携式闪存硬盘,58,工作方式,数据读出,编程写入,擦 除,读单元内容,读内部状态寄存器内容,读芯片的厂家及器件标记,数据写入,写软件保护,字节擦除,块擦除,片擦除,擦除挂起,59,5.4 高速缓存(,Cache),了解:,Cache,的基本概念;,基本工作原理;,命中率;,Cache,的分级体系结构,60,1,)为什么需要高速缓存?,CPU,工作速度与内存工作速度不匹配,例如,,800MHz,的,PIII CPU,的一条指令执行时间约为,1.25ns,,而,133MHz,的,SDRAM,存取时间为,7.5ns,,即,83%,的时间,CPU,都处于等待状态,运行效率极低。,解决:,CPU,插入等待周期,降低了运行速度;,采用高速,RAM,成本太高;,在,CPU,和,RAM,之间插入高速缓存,成本上升不多、但速度可大幅度提高。,61,2,)工作原理,基于程序执行的两个特征:,程序访问的局部性:过程、循环、子程序。,数据存取的局部性:数据相对集中存储。,存储器的访问相对集中的特点使得我们可以把频繁访问的指令、数据存放在速度非常高(与,CPU,速度相当)的,SRAM,高速缓存,CACHE,中。需要时就可以快速地取出。,62,DB,CPU,Cache,控制部件,Cache,RAM,AB,送主存地址,检索,(,用主存地址作为关键字,查找,CAM),前提:每次访问的主存地址都保留在,CAM,内。,CAMContent,Access Memory,命中则发出读,Cache,命令,从,Cache,取数据,不命中则发出读,RAM,命令,从,RAM,取数据,Cache,的工作原理图示,63,取指令、数据时先到,CACHE,中查找:,找到(称为命中),直接取出使用;,没找到,到,RAM,中取,并同时存放到,CACHE,中,以备下次使用。,只要命中率相当高,就可以大大提高,CPU,的运行效率,减少等待。现代计算机中,CACHE,的命中率都在,90%,以上。,命中率影响系统的平均存取速度,系统的平均存取速度,Cache,存取速度,命中率+,RAM,存取速度,不命中率,64,例如:,RAM,的存取时间为,8ns,,,CACHE,的存取时间为,1ns,,,CACHE,的命中率为,90%,。则存储器整体访问时间由没有,CACHE,的,8ns,减少为:,1ns90% + 8ns10% = 1.7ns,速度提高了近,4,倍。,在一定的范围内,,Cache,越大,命中率就越高,但相应成本也相应提高,Cache,与内存的空间比一般为1,128,65,*Cache,系统有三个需要解决的主要问题:,主存,Cache,地址变换,解决:,把,Cache,与主存都分成大小相同的页,(,若主存容量为,2,n,,,Cache,容量为,2,m,,页的大小为,2,p,(即页内地址有,p,位),则主存的页号共有,(n-p),位,,Cache,页号共有,(m-p),位),这样,主存,Cache,地址变换,就是如何把主存页映射到,Cache,页上,(,即只映射页号,)。,全相连映射,主存任意页可映射到,Cache,的任意页。这需要有一个很大的页号映射表(共有,2m-p,项),放在,CAM,存储器中。昂贵,但冲突小。,直接映射,主存页号,B,与,Cache,页号,b,满足关系:,b=B mod 2m-p,例如:主存,0,、,4,、,8,、,12,,,页映射到,Cache,的,0,页,主存,1,、,5,、,9,、,13,,,映射到,Cache,的,1,页,依此类推。,不需要页号映射表,但冲突概率高。,组相连映射,把页分组,然后结合上面两种方法:组间直接映射,组内全映射。,66,不命中时如何替换,Cache,内容,有以下几种替换算法:,随机替换,先进先出,FIFO,最近最少使用,LRU,(,Least Recently Used,),最久没有使用,LFU,(,Least Frequently Used,),Cache,与主存的一致性,两种常用的更新算法:,写穿式,(,WT,,,Write Through,),同时更新,回写式,(,WB,,,Write Back,),仅当替换时才更新主存,67,*Cache,的读写操作,写操作,读操作,贯穿读出式,旁路读出式,写穿式,回写式,68,写穿式(,Write Through,),从,CPU,发出的写信号送,Cache,的同时也写入主存。,CPU,Cache,主 存,69,回写式(,Write Back,),数据一般只写到,Cache,,,当,Cache,中的数据被再次更新时,才将原来的数据写入主存相应页,并接受新的数据。,CPU,Cache,主 存,更新,写入,70,贯穿读出式,CPU,Cache,主 存,CPU,对,主存,的,所有数据请求,都,首先,送到,Cache,,在,Cache,中查找。,若,命中,,则,切断,CPU,对,主存,的,请求,,并将,数据,送出;,如果,不,命中,,则将,数据请求,传给,主存,。,71,旁路读出式,CPU,向,Cache,和,主存同时发出,数据,请求。,如果命中,,则,Cache,将,数据送给,CPU,,并同时中断,CPU,对,主存,的,请求,;若不,命中,,,Cache,不做,任何动作,,由,CPU,直接访问主存,。,CPU,Cache,主 存,72,3,),PC,机中的,CACHE,一般有两级,CACHE,(有的具有三级),L1 CACHE,容量一般为8,KB,64KB,L2 CACHE,容量一般为128,KB,2MB,新型,CPU,一般将这两级,CACHE,都做在,CPU,内核中。而且运行速度与,CPU,内核相同,使,CPU,的整体性能有了极大的提高。,指令,Cache,和数据,Cache,各种,CPU,的,Cache,配置见教材,p229,表,5-5,。,73,IBM PC/XT的内存空间分配,00000,H,9FFFFH,BFFFFH,FFFFFH,RAM,区,640,KB,保留区 128,KB,ROM,区 256,KB,74,作业,P244,5.3,5.5,5.7,5.10,5.11,(注意地址范围是,F0000H,F1FFFH,),谢谢!,75,
展开阅读全文