1、第3章 主存储器与存储体系1第3章 主存储器与存储体系3.1 存储器基本概念3.2 半导体存储器芯片的结构及工作原理 3.3 半导体存储器的组成与控制 3.4 高速存储器3.5 Cache存储器3.6 虚拟存储器 第3章 主存储器与存储体系23.1 存储器基本概念3.1.1 存储器的分类3.1.2 主存储器的主要技术指标3.1.3 主存储器中数据的存放3.1.4 主存储器的基本操作3.1.5 存储系统的层次结构第3章 主存储器与存储体系33.1.1 存储器的分类1)按在计算机系统中的作用分类主存储器辅助存储器高速缓冲存储器2)按存储介质分类磁存储器光盘存储器半导体存储器第3章 主存储器与存储体
2、系43)按存取方式分类随机存取存储器(RAM)顺序存取存储器(SAM)直接存取存储器(DAM)4)按信息的可保存性分类易失性存储器非易失性存储器第3章 主存储器与存储体系53.1.2 主存储器的主要技术指标1)存储容量2)存取速度(1)存取时间(访问时间或读/写时间)从启动一次存储器操作到完成该操作所经历的时间。(2)存取周期(读写周期/主存周期)连续启动两次独立的存储器操作(如连续两次读操作)所需的最小时间间隔。(3)存储器带宽单位时间里存储器所存取的信息量。第3章 主存储器与存储体系63)功耗反映存储器的耗电量,也相应地反映了发热程度。4)可靠性通常以平均无故障时间(MTBF)来衡量两次故
3、障之间的平均时间间隔。第3章 主存储器与存储体系73.1.3 主存储器中数据的存放n若按字节编址,包含多字节的机器字在存储器中存放的问题1)大端存放和小端存放多字节的机器字在存储器中存放的次序有两种:大端存放和小端存放大端存放:高字节存放在低地址中,字地址等于最高字节地址小端存放:低字节存放在低地址中,字地址等于最低字节地址第3章 主存储器与存储体系8(a)大端存放 (b)小端存放 78H 56H 9AH 4DH 2000H 2001H 2002H 2003H 存储器 4DH 9AH 56H 78H 2000H 2001H 2002H 2003H 存储器 例如:字数据78569A4DH的大端和
4、小端存放 第3章 主存储器与存储体系92)对准边界 为便于支持对字节、半字、字、双字等运算,一般要求按字节编址的计算机多字节数据存放时对准边界。对准边界64位双字地址的最低三位二进制位应是00032位字地址的最低两位二进制位应是0016位半字地址的最低一位二进制位应是0第3章 主存储器与存储体系10例如:数据存放对准边界2008H 90H 87H 45H 12H 2004H 00H FFH 2000H 78H 56H 9AH 4DHD31D24D23D16D15D8D7D0对准边界造成一部分存储空间的浪费第3章 主存储器与存储体系11例如:数据存放不对准边界2008H 45H 12H 2004
5、H 00H FFH 87H 90H2000H 78H 56H 9AH 4DHD31D24D23D16D15D8D7D0不对边界,需要用二个存储器周期读出32位数据。第3章 主存储器与存储体系123.1.4 主存储器的基本操作1)主存储器和CPU的连接 CPU AR DR 2n字(m 位/字)主存 AB n 位 DB m 位 Read Write Ready 第3章 主存储器与存储体系132)读信息字过程(1)地址AR AB(2)Read(3)Wait for Ready(4)(AR)DBDR3)写信息字过程(1)地址AR AB(2)数据DR DB(3)Write(4)Wait for Read
6、y第3章 主存储器与存储体系144)CPU与主存速度匹配的两种方式同步存储器存取 CPU与主存采用统一时钟,无需Ready。异步存储器存取 CPU与主存间无统一时钟,存储器用Ready通知CPU是否准备好。第3章 主存储器与存储体系153.1.5 存储系统的层次结构n为了解决存储容量、存取速度、价格之间的矛盾,组成多级存储体系,即由多种性能不同、价格不同、存储技术不同的存储器,按层次结构合理地、有机地组织成一个整体。使整个存储系统的性能价格比得到优化。n三级存储体系结构分为:“高速缓存主存”、“主存辅存”两个层次。第3章 主存储器与存储体系161)Cache-主存层次在CPU与主存之间加入一级
7、与CPU速度处于同一数量级的Cache,以提高存储系统的整体速度。2)主存辅存层次编程不必考虑存储器分配工作,也无需考虑主存空间大小,即面向用户的存储器是一个虚拟存储器。n合理地组织存储体系后,从整体看,CPU能以接近Cache的速度访问存储器,而总存储容量相当于联机外存的总容量。第3章 主存储器与存储体系173.2 半导体存储器芯片的结构及工作原理n按读写功能可分为两类:随机存取存储器(RAM)和只读存储器(ROM)n随机存取存储器(RAM)在程序的执行过程中能随机读出信息,又能随机写入信息是一种易失性的存储器n只读存储器(ROM)在程序的执行过程中只能随机读出信息,不能写入信息的存储器是一
8、种非易失性的存储器第3章 主存储器与存储体系183.2.1 半导体随机存取存储器RAMnRAM按工作方式可分为静态RAM(SRAM)动态RAM(DRAMnSRAM在不断电的条件下能够保持所存信息,无需刷新,且为非破坏性读出。nDRAM在不断电的条件下不能够保持所存信息,需要定时刷新,且为破坏性读出。第3章 主存储器与存储体系191)RAM的基本结构n由存储体、地址译码驱动器、双向三态缓冲器和读写控制逻辑组成。第3章 主存储器与存储体系20(1)存储体存储体是存储信息的实体。一个基本存储电路(或存储元件)只能存储1位信息0或1,把大量的基本存储电路以矩阵的形式排列组成的存储体称为存储矩阵。第3章
9、 主存储器与存储体系21(2)片内地址译码器地址译码器是用来接受CPU送至地址总线上的地址信息,产生地址译码信号,选中存储矩阵中某一单元,以便在读/写信号的配合下实现对选中单元的读写操作。片内地址译码方式有二种:单译码方式和双译码方式。第3章 主存储器与存储体系22(3)双向三态缓冲器及读/写控制逻辑双向三态缓冲器:用作输入/输出控制电路,以便RAM的数据输入/输出端能方便地挂接到数据总线上读/写控制逻辑:接受来自CPU或外部电路的控制信号,经组合变换后,对存储体、地址译码器及双向三态缓冲器进行控制。第3章 主存储器与存储体系23(1)SRAM基本存储电路6个MOS管组成的RS触发器2)静态R
10、AM(SRAM)保持写入读出 第3章 主存储器与存储体系24第3章 主存储器与存储体系25(2)SRAM芯片的结构示例4K1位SRAM的结构框图第3章 主存储器与存储体系263)动态RAM(DRAM)(1)DRAM基本存储电路动态RAM是以MOS管栅极电容是否充有电荷来存储信息的。DRAM集成度较SRAM高,功耗、成本、速度较SRAM低。保持写入读出 第3章 主存储器与存储体系27注意:由于电容的泄漏,信息不可能长期保存,需要定期对Cs刷新。破坏性读出。读出时,需要立即进行重写。读出信息需要经鉴别能力强的放大器放大后送到DB,CPU才能正确读取。第3章 主存储器与存储体系28(2)DRAM芯片
11、的结构示例行地址选通信号列地址选通信号16K1位DRAM框图第3章 主存储器与存储体系29地址线分时引入芯片。当某一行被选中时,该行所有基本存储电路的内容都被选通读出到列放大器鉴别和重写。RAS#兼作片选信号,在整个读、写周期均处于有效状态。行地址也用作刷新地址,刷新时地址计数,实现一行一行的刷新。第3章 主存储器与存储体系30(3)DRAM的发展 增强型 DRAM(EDRAM)cache DRAM(CDRAM)EDO DRAM(Extended Data Out DRAM)SDRAM(Synchronous DRAM)Rambus DRAM(RDRAM)集成随机存储器(IRAM)第3章 主存
12、储器与存储体系313.2.2 半导体只读存储器ROMn按信息写入的方式不同可分为:掩膜ROM可编程ROM(PROM)可擦除可编程ROM紫外光擦除的EPROM电子擦除的EEPROM快速擦写存储器(Flash Memory)第3章 主存储器与存储体系321)ROM的基本结构ROM由地址译码器、输出缓冲器和存储体组成。第3章 主存储器与存储体系33采用掩膜工艺,将固定的程序代码直接注入ROM芯片内,用户不能修改其内容。掩膜ROM大量生产时,成本很低。2)掩膜ROM第3章 主存储器与存储体系343)PROM生产时,写入全“1”(或全“0”)信息。用户根据需要以编程方式写入自己的程序代码。用户一次编程写
13、入代码后,不能再对写入的内容进行修改擦除,即PROM为一次可编程只读存储器。第3章 主存储器与存储体系354)可擦除可编程ROM(1)紫外光可擦除的ROM(EPROM)用户利用编程器写入信息,信息可长期保持。EPROM的擦除为整片擦除。EPROM的基本存储电路当EPROM导通,则读出“0”信息;当EPROM截止,则读出“1”信息。全“1”是EPROM的初始状态。第3章 主存储器与存储体系36EPROM芯片的结构示例一片2K8位EPROM芯片的结构框图 第3章 主存储器与存储体系37(2)EEPROM电擦除只读存储器可以字节为单位进行内容改写,而且无论是字节还是整片改写,均可在应用系统中在线进行
14、。擦除操作一般是在写入过程中自动完成,但擦除、改写时间较读取时间长,且写入次数有限制,约为几百次到几万次。第3章 主存储器与存储体系385)快速擦写存储器(Flash Memory)Flash Memory既可在不加电情况下长期保存信息,又能在线进行快速擦除与重写,兼有RAM和ROM的优点。Flash Memory的擦除为块擦除。按擦除和使用方式,Flash Memory主要有三类:整体擦除Flash Memory对称型块结构Flash Memory带自举块Flash Memory。第3章 主存储器与存储体系393.3 半导体存储器的组成与控制n如何用存储芯片组成一个实际的主存储器?需要考虑三
15、个问题:选片问题存储容量的扩展问题存储控制问题3.3.1 主存储器扩展3.3.2 主存储器与CPU的连接3.3.3 动态存储器的控制第3章 主存储器与存储体系403.3.1 主存储器扩展n位扩展:在单元中位数上的扩展n字扩展:在地址单元数量上的扩展n字位同时扩展第3章 主存储器与存储体系411)位扩展n位扩展可采用各芯片并联的方法。1K41K4D0D3D0D3第3章 主存储器与存储体系422)字扩展n例如:用4片2K8位的芯片组成8K8的存储器,如何保证当CPU发出地址信号时,同时只有一片被选中,即地址如何分配,片选信号如何产生?n产生片选有三种方法线选法全译码法部分译码法第3章 主存储器与存
16、储体系43(1)线选法 CE A10A0 WE 2K8 1#OE D7D0 CE A10A0 WE 2K8 2#OE D7D0 CE A10A0 WE 2K8 3#OE D7D0 CE A10A0 WE 2K8 4#OE D7D0 A10A0 A14 A13 A12 A11 RD D7D0 WR 第3章 主存储器与存储体系44各芯片间地址不连续。有相当数量的地址不能使用,否则造成片选混乱。若高位地址没有使用,将造成地址重叠区。n线选法影响地址区的有效使用,限制了芯片的进一步扩充。第3章 主存储器与存储体系45(2)全译码 CE A10A0 WE 2K8 4 OE D7D0 Y0 译 Y1 码
17、Y2 器 Y3 Y31 G A10A0 A15A11 M/IO RD D7D0 WR CE A10A0 WE 2K8 3 OE D7D0 CE A10A0 WE 2K8 2 OE D7D0 CE A10A0 WE 2K8 1 OE D7D0 1第3章 主存储器与存储体系46每块芯片的地址范围是唯一的,无地址重叠区。各芯片间的地址是连续的,寻址空间得到充分利用。多余的译码输出线,有利于系统的扩充。第3章 主存储器与存储体系47(3)部分译码法 CE A10A0 WE 2K8 1 OE D7D0 CE A10A0 WE 2K8 2 OE D7D0 CE A10A0 WE 2K8 3 OE D7D0
18、 CE A10A0 WE 2K8 4 OE D7D0 Y3 译 Y2 码 Y1 器 Y0 G A10A0 A12A11 M/IO A15 A13 RD D7D0 WR&第3章 主存储器与存储体系48常用的地址译码器:74LS138译码器 C CA A第3章 主存储器与存储体系493)字位同时扩展 C S0 16K 4 16K 4 16K 4 16K 4 16K 4 16K 4 16K 4 16K 4 译 码 器 C S1 C S2 C S3 D3D0 D7D4 A15 A14 A13A0 W E 第3章 主存储器与存储体系50n例题1:某系统中要配置总容量为6K8位的主存储器。其中固化区4K字
19、节,选用2K8的EPROM芯片,要求起始地址为0000H;工作区2K字节,选用1K4的SRAM芯片,要求起始地址为2000H。系统中的地址总线为16根A15A0,双向数据总线为8根D7D0。试组织该存储器。4)主存储器扩展举例第3章 主存储器与存储体系51n解:按题意,需2片2K8的EPROM芯片,每片为一组,无需位扩展。起始地址为0000H,EPROM芯片的存储空间分配如下:A15A14A13A12A11A10A0地址范围1#EPROM00000000000H000001107FFH2#EPROM00001000800H00001110FFFH第3章 主存储器与存储体系52n按题意,需4片1
20、K4的SRAM芯片,每2片组成一组。起始地址为2000H,SRAM存储空间分配如下:A15A14A13A12A11A10A9A0地址范围1#SRAM2#SRAM001000002000H0010001123FFH3#SRAM4#SRAM001001002400H0010011127FFH第3章 主存储器与存储体系53片选信号的产生(方法一)第3章 主存储器与存储体系54片选信号的产生(方法二)第3章 主存储器与存储体系55 1 1 1 1 4 4 4 4 1K41K41K41K42K82K8存储器的逻辑图 第3章 主存储器与存储体系56n例题2:设CPU共有16根地址线(A15A0),16根数
21、据线(D15D0),并用#MREQ作访存控制信号(低电平有效),用R/#W作读写控制信号(高电平为读,低电平为写)。存储器的地址空间分布图如下面所示(按字编址),现有芯片ROM 8K*8bit和SRAM 16K*16bit,设计此存储系统,将SRAM和ROM与CPU连接。(译码器选用74LS138)第3章 主存储器与存储体系570000H1FFFHROM2000H9FFFHSRAM1C000HFFFFHSRAM2解:ROM组:0000H1FFFH;(2片8K8bit ROM,位扩展)SRAM1组:2000H9FFFH;(2片16K16bit SRAM)SRAM2组:C000HFFFFH;(1片
22、16K16bit SRAM)第3章 主存储器与存储体系58 D15D0 A13A0 SRAM2#WE#CS A#Y7#Y6#Y4#Y3#Y2#Y1#Y0 B 74LS1348 C#G2A#G2B G1 器 Y0 A12A0 D15D0 A13 R/#W A13 A14 A15#MREQ D15D0 A13A0 SRAM1-2#WE#CS D15D0 A13A0 SRAM1-1#WE#CS D7D0 A12A0 ROM#CE#OE D7D0 A12A0 ROM#CE#OE D7D0 D15D8+5v&第3章 主存储器与存储体系593.3.2 主存储器与CPU的连接n存储器与CPU连接,在实际应用
23、中需要考虑如下问题:1)CPU总线负载能力2)信号线的配合与连接3)时序配合问题4)存储器体结构问题 第3章 主存储器与存储体系60q信号线的配合与连接当CPU(或系统总线)的信号要求与存储器的信号要求不同时,要配合必要的辅助电路。数据线例:DRAM芯片对输出线无三态驱动,就需外加三态门,才能与CPU数据总线相连。第3章 主存储器与存储体系61地址线CPU地址总线的高位产生片选信号的问题。CPU的地址、数据线分时使用,需要将地址信息存入地址锁存器,该锁存器的输出线接至存储器的地址线。对于分时输入行、列地址的DRAM芯片,需要在CPU与存储芯片之间加多路转换器,并用RAS#和CAS#将地址的低位
24、与高位送入存储器。第3章 主存储器与存储体系62控制线CPU提供的控制信号:RD#、WR#、M/IO#总线控制器提供的控制信号:MRDC#、MWTC#PC总线提供的控制信号:MEMR#、MEMW#一般RD#可直接连至存储器的OE#端,WR#连接存储器的WE#端。对于DRAM需要产生RAS#和CAS#信号第3章 主存储器与存储体系63n确定所组织的存储器是采用单存储体结构还是多存储体结构。n一般,对于CPU的外部数据总线为2n8位的计算机系统(n可取0、1、2、3),需用2n个由字节组成的存储体,当n=3时,可以支持8、16、32和64位数据的操作。p存储器体结构问题第3章 主存储器与存储体系6
25、4n32位存储器由4个体组成,体选信号BE0 BE3BE3BE2BE1BE000000003HFFFFFFFFH 00000002HFFFFFFFEH00000001HFFFFFFFDH00000000HFFFFFFFCHD31D24D23D16D15D8D7D0第3章 主存储器与存储体系65 32位*8 1 32位*8 2 32位*8 3 32位*8 4 MWTC MRDC 例如:80386与SRAM的连接 第3章 主存储器与存储体系6632位存储器的存储体写信号 1 1 1 1 MWTC BE0 BE1 BE2 BE3 WR0 WR1 WR2 WR3 第3章 主存储器与存储体系673.3.
26、3 动态存储器的控制1)刷新方式2)动态RAM控制器3)例题n为了保持DRAM存储信息的正确性,必须反复地在放掉电荷之前再通以新的电流进行充电,以恢复原来的电荷,这一过程称为刷新。n对DRAM的刷新采用的是按行刷新的方法,多片可以同时刷新。n一般DRAM的刷新周期都是2ms。第3章 主存储器与存储体系681)刷新方式n集中刷新、分散刷新和异步刷新。(1)集中刷新例如:某存储器包含若干个1K1位的DRAM芯片,该芯片的存储体被排列成3232的矩阵,对该芯片采用集中刷新方式,则应集中安排32个刷新周期。设该存储器的存取周期为500ns,则在刷新时间间隔2ms内可安排4000个周期。第3章 主存储器
27、与存储体系69集中刷新方式的优点:读/写操作和刷新是分段进行,系统的存取周期不受刷新工作的影响。控制简单,系统的存取速度较高。缺点:在刷新期间不能读写,形成一段死区。(例中的死区时间为32500ns=16s,死区率D=324000=0.8%。)第3章 主存储器与存储体系70(2)分散刷新方式如果芯片的存取时间为500ns,则系统的存取周期就应安排两倍的时间即1s,对于3232的矩阵,刷新时间间隔即为32s。第3章 主存储器与存储体系71分散刷新方式的优点:控制简单;主存工作没有长的死区。缺点:主存利用率低,工作速度降低一倍,没有充分利用所允许的最大刷新间隔2ms,故该方式只能用于低速系统。第3
28、章 主存储器与存储体系72(3)异步刷新方式这种方式对于3232的存储矩阵的DRAM,每行刷新的时间间隔是2ms32=62.5s。当每隔62.5s提出一次刷新请求,响应后安排一个刷新周期。第3章 主存储器与存储体系73若提出刷新请求时,CPU访存尚未结束,此时,需等待主存有空时再安排刷新周期,这就是该方式被称为异步刷新的原因。异步刷新方式是集中和分散二种刷新方式的结合,对分散方式而言减少了刷新次数;对集中方式而言缩短了主存工作的死区。第3章 主存储器与存储体系742)动态RAM控制器 AB 读/写 CPU DRAM 刷新地址计数器 地址多路开关 刷新 定时器 仲裁 电路 定时 发生器 RAS
29、CAS WR nDRAM存储器的刷新以及行、列地址信号分时引入芯片需要有硬件电路的支持。DRAM控制器第3章 主存储器与存储体系753)例题:用16K1位的DRAM芯片构成64K8位的存储器,该存储器采用奇偶校验。求总共需要多少片芯片画出存储体连接示意图写出各芯片/RAS和/CAS的形成条件若芯片内部存储位元排列成128*128的矩阵,芯片刷新周期2ms,采用异步刷新方式,问存储器的刷新信号周期是多少?RA S CA S A 6|16K*1bit A 0 W E D in D out 第3章 主存储器与存储体系76总共需要4*9=36(片)存储体连接示意图16K*1 WE RAS CAS 16
30、K*1 WE RAS CAS 16K*1 WE RAS CAS 16K*1 WE RAS CAS 第3章 主存储器与存储体系77形成条件/RAS0=/(/A15*/A14*t0)/CAS0=/(/A15*/A14*t1)/RAS1=/(/A15*A14*t0)/CAS1=/(/A15*A14*t1)/RAS2=/(A15*/A14*t0)/CAS2=/(A15*/A14*t1)/RAS3=/(A15*A14*t0)/CAS3=/(A15*A14*t1)74LS139 Y0 Y1 Y2 Y3 1 1 1 1&RAS0 CAS0 t0 t1 A17 A16 第3章 主存储器与存储体系78存储器的刷
31、新信号周期若芯片内部存储位元排列成128*128的矩阵,芯片刷新周期2ms,采用异步刷新方式,存储器的刷新信号周期是:2ms/128=15.6s第3章 主存储器与存储体系793.4 高速存储器n提高存储器与CPU之间有效数据传送速率的途径主要有如下几种:缩短访存时间,或增加存储器的字长;采用并行操作的双端口存储器;采用高速缓冲存储器(cache);在每个存储器周期中存取多个字。3.4.1 双端口存储器3.4.2 多体交叉存储器3.4.3 相联存储器 第3章 主存储器与存储体系803.4.1 双端口存储器n具有两个彼此独立的读/写口,每个读/写口都有一套独立的地址寄存器和译码电路,可以并行工作。
32、存储体(含判断逻辑)译码 译码 地址寄存器 地址寄存器 地址 A 地址 B 数据 A 数据 B 面向CPU的端口 面向外设接口的端口 面向处理器A面向处理器B第3章 主存储器与存储体系813.4.2 多体交叉存储器nM个容量相同的存储体组成主存储器时,它们都具有自己的地址寄存器AR、数据寄存器DR和读写电路等,并各自以同等的方式与CPU交换信息,称为多体结构或多模块存储器。1)多体交叉存储器编址方式多体交叉存储器采用低位交叉编址方式地址由二部分组成:低位为模块号 高位为块内地址若M个模块上交叉编址,则称为模M交叉编址第3章 主存储器与存储体系82设存储器包含M个模块,每个模块容量为L,则第i个
33、模块Mi的地址编号为:M*j+i i=0,1,2,M-1 j=0,1,2,L-1l例如:M=4 最低二位地址M0 0,4,8,12,4*j+0,00M1 1,5,9,13,4*j+1,01M2 2,6,10,14,4*j+2,10M3 3,7,11,15,4*j+3,11一般,M=2m第3章 主存储器与存储体系83AR M0 DR AR Mi DR AR M2m-1 DR 译码器 块内地址 模块号 n-m m 第3章 主存储器与存储体系842)多体交叉存储器的访问方式n采用交叉访问方式CPU访存时各体分时启动读/写,时间错过M分之一存取时间,各模块选中单元分时通过数据总线与CPU交换信息。在理
34、想情况下,相当于在一个存储周期内CPU访问M次存储器,使存储器的存取速度提高M倍。第3章 主存储器与存储体系85 M0 M1 M2 M3 单模块访问周期 T T/4 T/2 3T/4 T 第3章 主存储器与存储体系86在实际应用中,信息传输速度要比理想值低,因为:在执行程序时,有存储地址“相关”问题;程序执行转移指令。第3章 主存储器与存储体系87n例题:在一个具有8体的多体交叉存储器中,设处理器的访存地址为以下8进制,求该存储器比单体存储器的平均访问速度提高多少?10018,10028,10038,11008解:设存储器的访问周期为T 单体存储器:(11008 10018+1)T=1008
35、T=64T 8体的多体交叉存储器:1001810078-T 1010810778-7T 11008 -T 平均访问速度提高:(64-9)/64=85.9%。第3章 主存储器与存储体系883.4.3 相联存储器n相联存储器是一种按内容存取的存储器。译码选择电路输入寄存器屏蔽寄存器输出寄存器查找结果寄存器字选择寄存器第3章 主存储器与存储体系89存放在相联存储器中的学生信息 学号姓名性别成绩02101108陈 莹女9002101115周 贤男7802101122张 伟男9502101106蔡 晨女8702101125唐 浩男89第3章 主存储器与存储体系901)输入寄存器输入寄存器中存放将要查找的
36、信息内容或要比较的数。提供给输入寄存器的信息格式应该与在存储体中存放的内容格式相同。2)屏蔽寄存器屏蔽寄存器中存放屏蔽字段信息,使得要查找的字段输入,其它字段屏蔽。要查找的字段称为关键字段。第3章 主存储器与存储体系913)存储体及比较部件存储体具有处理信息的能力,能进行各种比较操作。比较操作包括位比较和字比较。位比较是指每一位与关键字段的相应位进行比较,如果相等则位符合标志置“1”。字比较是在位符合标志的基础上进行的,如果所有位的符合标志都为“1”,则字符合标志送查找结果寄存器。第3章 主存储器与存储体系924)查找结果寄存器依字比较结果置位相应位。查找结果寄存器的位数同存储器的字数。5)字
37、选择寄存器选择查找结果送寻址译码电路。字选择寄存器可以给出查找范围。利用字选择寄存器可进行两次查找,以获得满足某范围要求的信息。第3章 主存储器与存储体系936)寻址译码电路查找结果寄存器的内容通过字选择寄存器后送寻址译码电路进行译码,找到所要检索的地址,并将其输出。如果找到多个相符信息,则逐个按地址顺序输出。7)输出寄存器输出寄存器用来存放存储体中读出的信息,或者存放向存储体中写入的信息。第3章 主存储器与存储体系943.5.1 Cache系统基本结构3.5.2 Cache存储器的地址映象 3.5.3 替换策略3.5.4 Cache与主存的一致性问题3.5.5 Pentium PC机的Cac
38、he3.5 高速缓冲存储器第3章 主存储器与存储体系95高速缓冲技术利用了程序的局部性原理 n程序的局部性原理程序中对于存储空间90%的访问局限于存储空间的10%的区域中,而另外10%的访问则分布在存储空间的其余90%的区域中。n时间局部性和空间局部性时间局部性是指如果一个存储单元被访问,则可能该存储单元很快被再次访问。空间局部性是指如果一个存储单元被访问,则该存储单元及其邻近的存储单元也可能很快被访问。第3章 主存储器与存储体系963.5.1 Cache系统基本结构第3章 主存储器与存储体系97Cache系统包括:Cache控制器(虚框内)Cache存储体控制器部分包含:主存地址寄存器MA
39、主存-Cache地址变换机构 替换控制部件 Cache地址寄存器CPU不仅与Cache相连,与主存也保持通路。Cache中只存放由主存调入的部分程序和数据,内容调入通常是以块为单位。第3章 主存储器与存储体系98CPU送主存单元地址,由地址总线传送到MA主存-Cache地址变换机构从MA获取地址并判断是否命中Cache。命中,则将访问地址变换成在Cache中的地址,然后访问Cache。未命中,CPU转去访问主存,并将包含该存储单元的一块信息装入Cache。若Cache已被装满,则需要在替换控制部件的控制下,用新块替换旧块采用的替换算法体现在替换控制部件中,由硬件逻辑完成。第3章 主存储器与存储
40、体系99设Cache的存取时间为tC,命中率为h,主存的存取时间为tM,则平均存取时间t=h*tC+(1-h)(tC+tM)第3章 主存储器与存储体系1003.5.2 Cache存储器的地址映像n为了把信息放到Cache存储器,必须应用某种函数把主存地址映像到Cache中定位,称做地址映像。n当信息按某种映像关系装入Cache后,执行程序时,应将主存地址变换为Cache地址,这个变换过程称为地址变换。n地址映像的方式:直接映像、全相联映像和组相联映像三种。第3章 主存储器与存储体系101n主存空间分为:Mm(0)、Mm(1)、Mm(i)、Mm(2m-1)nCache空间分为:Mc(0)、Mc(
41、1)、Mc(j)、Mc(2c-1)n字块大小:2bn例如:设某计算机主存容量1MB,划分为214 块(m=14),每块64B(b=6);Cache容量8KB,划分为27 块(c=7),每块64B(b=6)。第3章 主存储器与存储体系1021)直接映像规定主存中的某一块只能映像到Cache的一个特定块中。映像函数:j=i mod 2c第3章 主存储器与存储体系103主存 字块0 字块1 字块27-1 字块27 字块27+1 字块27+1-1 字块213 字块214-1 7位 Cache 标记 字块0 标记 字块1 标记 字块27-1 0组 1组 27-1组 7位 7位 6位 直接映像字块214-
42、27第3章 主存储器与存储体系104主存地址:高14位为主存块号m (高7位组号、低7位组内块号)低6位为块内地址bCache地址:高7位为块号c低6位为块内地址b主存地址变换为Cache地址只需提取主存地址的低13位。第3章 主存储器与存储体系105Cache由两个存储体构成:标记存储体tag SRAM 存放主存的组号数据存储体Cache SRAM存放组内对应块的主存信息在访存时,主存地址高7位与对应Cache块的7位标记比较,若两者相同则表示命中。第3章 主存储器与存储体系106例:CPU要存取地址为12FE8H单元数据,给出Cache系统操作过程。CPU送12FE8H至主存地址寄存器MA
43、。来自MA的低13位0111111101000选中Cache对应单元。来自MA的高7位0001001与所选中单元的tag值相比较,若相同则命中,CPU访问Cache;若不同则没命中。当没命中时,CPU直接访问主存,并将主存中的第(00010010111111)调入Cache的第(0111111)块,第(0111111)块内原信息被覆盖,同时块的标记tag改为0001001。第3章 主存储器与存储体系107n优点:容易实现,地址变换速度快,不涉及替换策略问题。n缺点:不够灵活,使Cache的存储空间得不到充分利用。第3章 主存储器与存储体系1082)全相联映像全相联映像规定主存的每一块可映像到C
44、ache的任一块。主存地址分成二部分:高14位主存块号m,低6位为块内地址b。Cache中的标记t=m=14位,表示它现在所映像的主存块号。第3章 主存储器与存储体系109 主存 字块 0 字块 1 字块 214-3 字块 214-2 字块 214-1 14 位 Cache 标记 字块 0 标记 字块 1 标记 字块 27-1 14 位 6 位 第3章 主存储器与存储体系110当程序访问Cache时,来自主存地址寄存器MA中的高14位块号与Cache标记一一比较,发现有相等,表示要访问单元的信息已经装入到Cache中,这时把相同标记对应的Cache块号(7位)与来自主存地址寄存器MA的低6位主
45、存块内地址组合即获得访问Cache的地址。第3章 主存储器与存储体系111n优点:灵活,命中率、利用率高。n缺点:比较次数多,软件实现失掉高速缓存作用,硬件实现成本高。第3章 主存储器与存储体系1123)组相联映像一种折衷方案,主存和Cache皆分组,且主存中一个组内的块数和Cache中分组数相同主存地址:主存组号(t+r)组内块号(c)块内地址(b)Cache地址:Cache组号(c=c-r)组内块号(r)块内地址(b)第3章 主存储器与存储体系113主存与Cache中块的对应关系可用映像函数表示:j=(i mod 2c)2r+k (k:0 2r-1)当Cache只有一组就是前述的全相联映象
46、方式;当Cache分为2c组,每组只有一块就是前述的直接映像方式。第3章 主存储器与存储体系114主存 字块 0 字块 1 字块 26-1 字块 26 字块 26+1 字块 26+1-1 字块 214-26 字块 214-1 8 位 Cache 标记 字块 0 标记 字块 1 标记 字块 2 标记 字块 3 标记 字块 27-2 标记 字块 27-1 0 组 1 组 28-1组 8 位 6 位 6 位 0 组 1 组 26-1组 第3章 主存储器与存储体系115映像规律:主存中的各块与Cache的组号间有固定的映像关系,但可自由映像到对应的Cache组中的任何一块中。Cache分为2c组,c=
47、c-r=7-1=6;每组2块,r=1主存分为2t+r组,t+r=7+1,每组2c 块当程序访问Cache时,根据主存地址的组内块号找到对应的Cache组,并将该Cache组内各块标记一一与主存地址组号比较,若有相同,则表明要访问单元的信息已经装入到Cache中。第3章 主存储器与存储体系116访问Cache的地址为:Cache组号为主存的组内块号Cache组内块号为与主存组号相同标记的Cache组内块号Cache块内地址为主存块内地址。第3章 主存储器与存储体系117例如:来自MA的地址为12FE8H,Cache的第111111组第0块的标记为00010010,则访问Cache的地址为1111
48、110101000B。n组相联映像方式在判断命中以及替换算法上要比全相联方式简单,较直接映像方式灵活且利用率高,它的命中率介于直接映像和全相联映像方式之间。第3章 主存储器与存储体系118n直接映象规定主存中的某一块只能映像到Cache的一个特定块中。n全相联映像规定主存的每一块可映像到Cache的任一块。n主存中的各块与Cache的组号间有固定的映像关系,但可自由映像到对应的Cache组中的任何一块。第3章 主存储器与存储体系1193.5.3 替换策略n当CPU访问Cache没命中时,需从主存调新块进入Cache,若Cache中相应位置已被信息占满,那么就必须去掉旧块。这个过程由替换控制部件
49、控制完成。替换应遵循一定的规则,这些规则称为替换策略或替换算法。n常用的替换算法有两种:先进先出算法(FIFO)近期最少使用算法(LRU)第3章 主存储器与存储体系1201)先进先出算法(FIFO)FIFO(First In First Out)算法按调入Cache的先后决定淘汰的顺序。在需要替换时,将最先调入Cache的块作为被替换的块。这种算法的优点是容易实现,系统开销少,只需利用主存中块调度的历史信息。该算法不一定合理,最先调入的主存块,很可能也是经常使用的块。如一个包含程序循环的块。第3章 主存储器与存储体系121该算法的优点是正确反映了程序的局部性。设置且跟踪一个调用情况记录表(LR
50、U目录)2)近期最少使用算法(LRU)第3章 主存储器与存储体系1223.5.3 Cache与主存的一致性问题n当CPU发出写操作命令时,Cache没有命中,CPU直接对存储器单元写入信息,多数计算机系统不同时把这个地址单元所在的块调入Cache中。n当CPU发出写操作命令时,Cache命中,CPU把新的内容写入Cache,对相应存储器单元内容的改写常采用两种方法:写直达法和回写法。第3章 主存储器与存储体系1231)写直达法n写直达法(通过式写法,简称通写法)同时写入 Cache和主存。保证主存和Cache内容相同,方法简单可靠。对Cache的更新同时要写主存,速度会受影响。替换时,Cach
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。