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