版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成与体系第三章课件第1页,共115页。教材白中英,计算机组成原理·网络版,科学出版社,2002参考书石磊,计算机组成原理·第2版,清华大学出版社,2006钱晓捷,微型计算机原理及应用,清华大学出版社,2006王爱英,计算机组成与结构·第3版,清华大学出版社,2001白中英邝坚,计算机组织与结构·网络版,科学出版社,20032第2页,共115页。3.1存储器概述3.2半导体存储器芯片3.3主存储器3.4高速存储器3.5cache存储器3.6虚拟存储器3.7存储保护第3章存储系统第3页,共115页。3.1存储器概述
存储器是计算机系统中的记忆设备,用来存放程序和数据。一个二进制代码位是存储器中最小的存储单位,称为一个存储位或存储元。由若干个存储元组成一个存储单元,由许多存储单位组成一个存储器。第4页,共115页。3.1.1存储器分类半导体存储器:用半导体器件组成的存储器磁表面存储器:用磁性材料做成的存储器★按存储介质分★按存储方式分
随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关顺序存储器:只能按某种顺序来存取,存取时间和存储单元的物理位置有关★按存储器的读写功能分:ROM,RAM
★按信息的可保存性分:非永久记忆,永久记忆
★按在计算机系统中的作用分:
主存、辅存、高速缓存、控制存储器第5页,共115页。3.1.2存储器的分级结构寄存器微处理器内部的存储单元高速缓存(Cache)完全用硬件实现主存储器的速度提高主存储器存放当前运行程序和数据,采用半导体存储器构成辅助存储器磁记录或光记录方式磁盘或光盘形式存放可读可写或只读内容以外设方式连接和访问示意图虚拟存储器第6页,共115页。分层存储器系统之间的连接关系第7页,共115页。存储访问的局部性原理分级结构解决存储器件的容量、速度和价格矛盾出色效率来源于存储器访问的局部性原理: 处理器访问存储器时,所访问的存储单元在一段时间内都趋向于一个较小的连续区域中空间局部:紧邻被访问单元的地方也将被访问时间局部:刚被访问的单元很快将再次被访问程序运行过程中,绝大多数情况都能够直接从快速的存储器中获取指令和读写数据;当需要从慢速的下层存储器获取指令或数据时,每次都将一个程序段或一个较大数据块读入上层存储器,后续操作就可以直接访问快速的上层存储器第8页,共115页。3.1.3主存储器的技术指标存储容量主存存储容量:以字节B(Byte)为基本单位半导体存储器芯片:以位b(Bit)为基本单位存储容量以210=1024规律表达KB,MB,GB和TB厂商常以103=1000规律表达KB,MB,GB和TB存取时间(访问时间)发出读/写命令到数据传输操作完成所经历的时间存取周期两次存储器访问所允许的最小时间间隔(单位ns)存取周期略大于存取时间存储器带宽(数据传输速率)单位时间里存储器所存取的信息量(单位位/秒)第9页,共115页。3.2随机读写存储器SRAM(静态RAM:StaticRAM)以触发器为基本存储单元不需要额外的刷新电路速度快,但集成度低,功耗和价格较高DRAM(动态RAM:DynamicRAM)以单个MOS管为基本存储单元要不断进行刷新(Refresh)操作集成度高、价格低、功耗小,但速度较SRAM慢NVRAM(非易失RAM:Non-VolatileRAM)带有后备电池的SRAM芯片断电后由电池维持供电第10页,共115页。3.2.1SRAM存储器6个开关管组成一个存储元,存储一位信息N(=1/4/8/16/32)个存储元组成一个存储单元存储器芯片的大量存储单元构成存储体存储器芯片结构: 存储单元数×每个存储单元的数据位数 =2M×N=芯片的存储容量M=芯片地址线的个数N=数据线的个数举例存储结构2K×816K位存储容量11个地址引脚8个数据引脚第11页,共115页。基本的SRAM逻辑结构SRAM芯大多采用双译码方式,以便组织更大的存储容量。采用了二级译码:将地址分成x向、y向两部分如图所示。第12页,共115页。SRAM的控制信号片选(CS*或CE*)片选有效,才可以对芯片进行读/写操作无效时,数据引脚呈现高阻状态,并可降低功耗读控制(OE*)芯片被选中有效,数据输出到数据引脚对应存储器读MEMR*写控制(WE*)芯片被选中的前提下,若有效,将数据写入对应存储器写MEMW*SRAM2114第13页,共115页。读与写的互锁逻辑 控制信号中CS是片选信号,CS有效时(低电平),门G1、G2均被打开。OE为读出使能信号,OE有效时(低电平),门G2开启,当写命令WE=1时(高电平),门G1关闭,存储器进行读操作。写操作时,WE=0,门G1开启,门G2关闭。注意,门G1和G2是互锁的,一个开启时另一个必定关闭,这样保证了读时不写,写时不读。第14页,共115页。静态MOS存储器基本存储元—6管静态MOS存储元由两个MOS反相器交叉耦合而成的双稳态触发器。T3、T4管是负载管,T1、T2管是工作管。T5、T6、T7、T8为控制管或开门关。第15页,共115页。六管SRAM存储元电路图第16页,共115页。静态MOS存储器基本存储元—6管静态MOS存储元B、存储元的工作原理①写操作。如果要写入“1”,则在I/O线上输入高电位,而在I/O线上输入低电位,并通过开启T5、T6、T7、T8四个晶体管,把高、低电位分别加在A、B点,从而使T1管截止,使T2管导通。写“0”的情况完全类似。要同时打开T5、T6、T7、T8这四个管子,必须把X地址译码线和Y地址移码线同时输入高电位。第17页,共115页。静态MOS存储器基本存储元—6管静态MOS存储元B、存储元的工作原理②读操作。 读操作时,若某个存储元被选中,则该存储元的T5、T6、T7、T8管均导通,于是A、B两点与位线D、D相连,存储元的信息被送到I/O与I/O线上。I/O与I/O线接着一个差动读出放大器,从其电流方向,可以判知所存信息是“1”还是“0”。第18页,共115页。存储器的读写周期读周期读出时间Taq读周期时间Trc写周期写周期时间Twc写时间twd存取周期读周期时间Trc=写时间twd第19页,共115页。静态MOS存储器RAM结构与地址译码—字结构或单译码方式(1)结构:
(A)存储容量M=W行×b列;
(B)阵列的每一行对应一个字,有一根公用的字选择线W;
(C)每一列对应字线中的一位,有两根公用的位线BS0
与BS1
。
(D)存储器的地址不分组,只用一组地址译码器。(2)字结构是2度存储器:只需使用具有两个功能端的基本存储电路:字线和位线(3)优点:结构简单,速度快:适用于小容量M(4)缺点:外围电路多、成本昂贵,结构不合理结构。第20页,共115页。静态MOS存储器地址写选通b7读出写入读选通A3A2A1A0字线W15W1W0BS1BS0字结构或单译码方式的RAM16选
1地址译码器FFFFFFFFFFFFFFFFFF读写电路读写电路读写电路……::b1读出写入b0读出写入第21页,共115页。静态MOS存储器RAM结构与地址译码—位结构或双译码方式(1)
结构:
(A)容量:N(字)×b(位)的RAM,把每个字的同一位组织在一个存储片上,每片是N×1;再把b片并列连接,组成一个N×b的存储体,就构成一个位结构的存储器。
(B)在每一个N×1存储片中,字数N被当作基本存储电路的个数。若把N=2n个基本存储电路排列成Nx行与Ny列的存储阵列,把CPU送来的n位选择地址按行和列两个方向划分成nx
和ny
两组,经行和列方向译码器,分别选择驱动行线X与列线Y。
(C)采用双译码结构,可以减少选择线的数目。(2)三度存储器:三个功能端(3)优:驱动电路节省,结构合理,适用于大容量存储器。第22页,共115页。静态MOS存储器Y1Y64X64X1A5A4A3A2A1A0位结构双译码方式的RAMX地址译码64,164,641,641,1I/OY地址译码A6A7A8A9A10A11第23页,共115页。静态MOS存储器RAM结构与地址译码—字段结构(1)结构:
(A)存储容量W(字)×B(位),W>>b:分段Wp
(=W/S)×Sb(B)字线分为两维结构:(C)位线有Sb对(D)双地址译码器(2)三度结构(3)优:对字结构存储器的改进与提高,结构合理,适用于大容量存储器。第24页,共115页。静态MOS存储器Sb对位/读出线An-1An1An1-1A1A0字段结构RAM段译码器,从2n2=S段中取1(共n2
位〕行译码器共n1
位
列I/O电路
存储阵列
Wp×Sbb位b位……段1段2段Sb根数据线读/写控制线第25页,共115页。CPU对存储器进行读/写操作,首先由地址总线给出地址信号,然后要对存储器发出读操作或写操作的控制信号,最后在数据总线上进行信息交流。所以,存储器与CPU之间,要完成:①地址线的连接;②数据线的连接;③控制线的连接。
存储器芯片的容量是有限的,为了满足实际存储器的容量要求,需要对存储器进行扩展。存储器与CPU连接
第26页,共115页。静态MOS存储器用静态MOS存储片组成RAM
位扩展法:例如:用8K×1的RAM存储芯片,组成8K×8位的存储器,按8位=m×1的关系来确定位扩展所需要的芯片数。共需8片,每一芯片的数据线分别接到数据总线的相应位。
字扩展法:字扩展:字向扩展而位数不变,将芯片的地址线、数据线、读写控制线并联,而由片选信号来区分各片地址。例如:用16k×8位的芯片采用字扩展法组成64k×8位的存储器:4个芯片。地址分配:地址总线低位地址A0-A13与各芯片的14位地址端相连,而高两位的地址A14、A15经2:4译码器和4个芯片的片选端CE相连。第27页,共115页。静态MOS存储器用静态MOS存储片组成RAM字位同时扩展法:一个存储器的容量假定为M×N位,若使用l×k位的芯片(l<M,k<N)需要在字向和位向同时进行扩展。此时共需要(M/l)×(N/k)个存储器芯片。其中,M/l表示把M×N的空间分成(M/l)个部分(称为页或区),每页(N/k)个芯片。地址分配:(A)用log2l位表示低位地址:用来选择访问页内的l个字(B)
用log2(M/l)位表示高位地址:用来经片选译码器产生片选信号。第28页,共115页。8K×1位扩展组成的8K×8RAM87654328k×1
中央处理器
CPUA0A12D0::D7…位扩展法:只加长每个存储单元的字长,而不增加存储单元的数量演示第29页,共115页。
A15A14CPUA0A13
WED0~D72:4译码器CE16K×8WECE16K×8WECE16K×8WECE16K×8WE16K×8字扩展法组成64K×8RAM…11100100字扩展法:仅增加存储单元的数量,而各单元的位数不变演示第30页,共115页。字位同时扩展:2114存储芯片1K×4扩展成2K×8存储器D4--D7D3--D0A0A1…A9WECPUA102114CSR/W2114CSR/W2114CSR/W2114CSR/W字位同时扩展法:既增加存储单元的数量,也加长各单元的位数第31页,共115页。存储器系统的存储容量:M×N位使用芯片的存储容量:L×K位(L≤M,K≤N)需要存储器芯片个数:(M×N)/(L×K)[例]:利用2K×4位的存储芯片,组成16K×8位的存储器,共需要多少块芯片?[解]:(16K×8)/(2K×4)=8×2=16即:共需16块芯片。(既需要位扩展,又需要字扩展)[又例]:利用1K×4位的存储芯片,组成2K×8位的存储器,共需要芯片数:(2K×8)/(1K×4)=2×2=4字、位同时扩展法:第32页,共115页。
计算机是一个有严格时序控制要求的机器。与CPU连接时,CPU的控制信号与存储器的读、写周期之间的配合问题是非常重要的。
注意:读出时间与读周期是两个不同的概念。
读出时间:是指从CPU给出有效地址开始,到外部数据总线上稳定地出现所读出的数据信息所经历的时间。
读周期时间:则是指对存储片进行两次连续读操作时所必须间隔的时间。
显然总有:读周期≥读出时间存储器的读、写周期第33页,共115页。(1)静态RAM基本电路A´触发器非端1T4T~触发器5TT6、行开关7TT8、列开关7TT8、一列共用A
触发器原端T1~T4T5T6T7T8A´A写放大器写放大器DIN写选择读选择DOUT读放位线A位线A´列地址选择行地址选择T1~T4第34页,共115页。A´T1
~T4T5T6T7T8A写放大器写放大器DIN写选择读选择读放位线A位线A´列地址选择行地址选择DOUT
①静态RAM基本电路的读操作
行选
T5、T6开T7、T8开列选读放DOUTVAT6T8DOUT第35页,共115页。T1~T4T5T6T7T8A´ADIN位线A位线A´列地址选择行地址选择写放写放读放DOUT写选择读选择
②静态RAM基本电路的写操作
行选T5、T6开
两个写放DIN列选T7、T8开(左)反相T5A´(右)T8T6ADINDINT7第36页,共115页。ACSDOUT地址有效地址失效片选失效数据有效数据稳定高阻
静态RAM(2114)
读时序tAtCOtOHAtOTDtRC片选有效读周期
tRC
地址有效下一次地址有效读时间
tA
地址有效数据稳定tCO
片选有效数据稳定tOTD
片选失效输出高阻tOHA
地址失效后的数据维持时间第37页,共115页。ACSWEDOUTDIN静态RAM(2114)写时序tWCtWtAWtDWtDHtWR写周期
tWC
地址有效下一次地址有效写时间
tW
写命令WE
的有效时间tAW
地址有效片选有效的滞后时间tWR
片选失效下一次地址有效tDW数据稳定
WE失效tDH
WE失效后的数据维持时间第38页,共115页。3.2.2DRAM动态MOS存储器4管动态M0S存储元电路 在6管静态存储元电路中,信息是存于T0,T1管的栅极电容上,由负载管T4
,T5
经外电源给T0
,T1
管栅极电容不断地进行充电以补充电容电荷。维持原有信息所需要的电荷量。 由于MOS的栅极电阻很高,栅极电容经栅漏(或栅源)极间的泄漏电流很小,在一定的时间内(如2ms),存储的信息电荷可以维持住。为了减少管子以提高集成度。可以去掉补充电荷的负载管和电源,变成4管动态存储元:第39页,共115页。动态MOS存储器预充预充VDCDCDVSVSVDDBT3C1C0T1T0T2ADBS1BS0字线选择4管动态存储电路第40页,共115页。动态MOS存储器4管动态M0S存储元电路①写入操作:当写入时,字选择线加入高电平,打开T2
、T3
控制管,将BS0
,BS1
上的信息存储在T0
、T1
管的栅极电容上。当T2
、T3
管截止时,靠T0
、T1
管栅极电容的存储作用,在一定时间内,(如2ms)可以保留所写入的信息。②读出操作:当读出时,先给出预充信号,于是电源就向位线的寄生电容CD
充电,使它们都达到电源电压(CD
=VD
),当字选择线使T2
、T3
管导通时,存储的信息通过A、B端向位线输出。若原存信息为1,则电容C1
上存有电荷,T1
管导通而T0
管截止,因此,位线BS1
的预充电荷经T1
管泄漏,位线BS1
有读出电流流过。经读出放大电路鉴别输出。与此同时,BS0
上的预充电荷CD
可以通过A点向C1
进行充电。故读出过程也是刷新过程。③再生操作:“再生”或“刷新”。由于4管存储元的信息电荷有泄漏,电荷数不象6管存储元电路由电源经负载管源源不断地补充,时间一长就会丢失信息。必须设法在外界按一定规律不断给栅极进行充电,按需要补足栅极的信息电荷。第41页,共115页。动态MOS存储器4管动态M0S存储元电路
刷新过程:在字选择线上加一个脉冲就能实现自动刷新。显然,只要定时给全部存储元电路执行一遍读操作,而信息不向外输出,那么就可以实现动态存储器的再生或刷新。第42页,共115页。动态MOS存储器单管动态存储元: 为了进一步缩小存储器体积,提高集成度,在大容量动态存储器中都采用单管动态存储元电路。如图6.20存储元由T1和CS构成。 写入时,字选择线加高电平,使T1管导通,写入信息由数据线D(位线)存入电容CS中。 读出时,首先要对数据线上的分布电容CD预充电,再加入字脉冲,使T1管导通,CS与CD上电荷重新分配以达到平衡。根据动态平衡的电荷数多少来判断原存信息是0或1,因此,每次读出后,存储内容就被破坏。是破坏性读出,必须采取措施,以便再生原存信息。 动态MOS随机存储芯片的组成大体与静态MOS随机芯片相似,由存储体和外围电路组成,但外围电路由于再生操作要复杂得多。第43页,共115页。动态MOS存储器DCDCST1数据线字选择线单管动态存储电路第44页,共115页。单管存储元电路和四管存储元电路对比第45页,共115页。DRAM的刷新(Refresh)刷新是对动态存储元不断充电的过程DRAM不进行刷新,存储的信息会丢失DRAM内部有“读出再生放大电路”的刷新电路设计有仅行地址有效的刷新周期每次刷新一行存储单元存储系统的外部刷新控制电路将刷新行地址同时送达所有DRAM芯片所有DRAM芯片同时进行一行的刷新在一定时间间隔内启动一次刷新(异步刷新)每次行地址增量第46页,共115页。刷新周期从上次对整个存储器刷新结束时刻,到本次对整个存储器完成全部刷新一遍为止的时间间隔一般为2ms,4ms或8ms刷新方式集中式分散式异步式刷新方式第47页,共115页。3872周期(1936μs)128周期(64μs)4000周期存储系统周期tctctctctctctctc
在刷新间隔内,前段时间进行正常操作,不刷新;需要刷新时,暂停读/写周期,集中刷新整个存储器由于刷新集中进行,会造成芯片“死时间”过长;因为芯片在刷新过程中,禁止了正常的读/写操作第48页,共115页。
把一个存储周期分为两半,前半段时间用来读/写操作或维持信息,后半段时间作为刷新操作时间加长了系统周期,刷新过于频繁第49页,共115页。
前两种方式的结合,把刷新操作平均分散到整个刷新周期(PC机采用的刷新方式)例如:将6116芯片在2ms内分散地把128行刷新一遍2000s÷128=15.625s15.5s即每隔15.5s刷新一行第50页,共115页。
说明1M×1位(=512×2048)DRAM芯片的刷新方法,刷新周期定为8ms【例2】【解】逐行进行刷新
512行,每行2048个存储元同时进行刷新,整个芯片在8ms内进行512次刷新操作集中刷新 在8ms中某个时间段,连续进行512次刷新操作
“死时间”:t0=512T
(T为存储器读写周期)异步刷新8ms分成512个时间段,每隔8ms÷512=15.625µs对芯片刷新一次(一行),消除长时间的“死时间”第51页,共115页。
DRAM存储器的刷新需要有硬件电路的支持,包括刷新计数器、刷新/访存裁决、刷新控制逻辑等。这些控制线路形成DRAM控制器。存储器控制电路第52页,共115页。
(1)地址多路开关:刷新时需要提供刷新地址,非刷新时需提供读写地址,由多路开关进行选择。
(2)刷新定时器:定时电路用来提供刷新请求。
(3)刷新地址计数器:只用RAS信号的刷新操作,需要提供刷新地址计数器。
(4)仲裁电路:对同时产生的来自CPU的访问存储器的请求和来自刷新定时器的刷新请求的优先权进行裁定。
(5)定时发生器:提供行地址选通信号RAS、列地址选通信号CAS和写信号WE.
第53页,共115页。读/写周期读周期、写周期的定义是从行选通信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间,也就是连续两个读周期的时间间隔。通常为控制方便,读周期和写周期时间相等。第54页,共115页。ROM芯片的类型ROM最大优点:不易失性MROM(掩膜ROM)掩膜工艺直接制作。只能读出,不能再进行改变。可靠性高,集成度高,价格便宜;不能重写。PROM一次编程ROMEPROM(可擦除可编程ROM)紫外光擦除、并可重复编程的ROMEEPROM(电擦除可编程ROM)擦除和编程(擦写)通过加电进行第55页,共115页。掩模ROM的阵列结构和存储元第56页,共115页。掩模ROM的逻辑符号和内部逻辑框图第57页,共115页。可编程ROMEPROM叫做光擦除可编程可读存储器。它的存储内容可以根据需要写入,当需要更新时将原存储内容抹去,再写入新的内容。第58页,共115页。FlashMemory(闪速存储器)新型的电擦除可编程ROM快速擦除整片或数据块闪速存储器是在EPROM功能基础上增加了芯片的电擦除和重新编程能力闪速存储器特点:廉价的高密度可直接执行固态性能
闪速存储器第59页,共115页。FLASH存储元在EPROM存储元基础上发展起来的,由此可以看出创新与继承的关系。如右图所示为闪速存储器中的存储元,由单个MOS晶体管组成,除漏极D和源极S外,还有一个控制栅和浮空栅。第60页,共115页。加速CPU与存储器之间
有效传输的措施缩短存储器读出时间,或加长存储器的字长。采用并行操作的双端口存储器。在CPU和主存储器之间插入一个高速缓冲存储器(cache),以缩短读出时间。在每个存储器周期中存取几个字。第61页,共115页。3.4高速存储器3.4.1
双端口存储器同一个存储器具有两组相互独立的读写控制线路,提供了两个相互独立的端口,都可以对存储器中任何位置上的数据进行独立的存取操作 因其进行的是并行的独立操作,因而是一种高速工作的存储器。 两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。 当两个端口同时存取存储器同一存储单元时,通过BUSY标志解决冲突问题。第62页,共115页。第63页,共115页。3.4.2多模块存储器方案一:顺序方式
(a)主存地址被分成高n位和低m位,高位(n)表示模块号,低位(m位)表示块内地址;
(b)在一个模块内,程序是从低位地址连续存放;
(c)对连续单元存取,一般仅对一个模块操作。
(d)特点:易扩充容量故障局部性。
(e)缺点:各模块串行工作,带宽受到限制。第64页,共115页。3.4.2多模块存储器方案二:交叉方式
(a)主存地址被分成高n位和低m位,低位(m位)表示模块号,高位(n)表示块内地址;
(b)各模块间采用多模块交叉编址;
(c)对连续字的成块传送可以重叠进行实现流水线并行存取。
(d)特点:多模块并行工作,速度快不易扩展故障全局性。第65页,共115页。交叉方式多模块存储器
模块i
模块2n-1
模块0块内行地址模块号MARn位m位
多模块交叉存取存储器结构框图............数据总线第66页,共115页。3.4.3
相联存储器
按内容寻址的存储器把存储单元所存内容的某一部分作为检索项,去检索该存储器。(选来寻址存储器的子段叫做关键字)对存储器中与该检索项符合的存储单元内容进行读出或写入。相联存储器主要用于虚拟存储器中存放分段表、页表和快表。第67页,共115页。检索寄存器:用来存放检索字。屏蔽寄存器:用来存放屏蔽码。符合寄存器:用来存放按检索项内容检索存储体中与之符合的单元地址。比较线路:把检索项和从存储体中读出的所有单元内容的相应位进行比较,如果有某个存储单元和检索项符合,就把符合寄存器的相应位置“1”,表示该字已被检索。代码寄存器:用来存放存储体中读出的代码,或者存放向存储体中写入的代码。存储体:由高速半导体存储器构成,以求快速存取。第68页,共115页。第69页,共115页。3.5
Cache存储器在相对容量较大而速度较慢的主存与高速处理器(cpu)之间设置的少量但快速的存储器主要目的:提高存储器速度为追求高速,包括管理在内的全部功能由硬件实现第70页,共115页。3.5.1Cache基本原理CPU与cache之间的数据交换以字(字节)为单位Cache与主存间的数据传送以数据块为单位一个块(Block)由若干字组成,是定长的。第71页,共115页。cache基本原理地址映射;替换策略;写一致性;性能评价。第72页,共115页。Cache的读操作高速命中(Hit):微处理器读取主存的内容已包含在Cache中,可以直接读取Cache,不用访问主存从CPU接收地址RAY(命中hit)N(失效miss)开始Cache中含RA?从Cache读RA的字送CPU从主存读含RA的块向CPU传送RA的字向Cache传送含RA的主存块结束高速失效(Miss)、缺失、未命中:微处理器读取主存的内容不在Cache中,需要访问主存读取一个数据块第73页,共115页。Cache的工作原理1、Cache以块为单位进行操作2、当CPU发出访内操作请求后,首先由Cache控制器判断当前请求的字是否在Cache中,若在,叫命中,否则,不命中3、
若命中:若是“读”请求,则直接对Cache读,与主存无关若是“写”请求:Cache单元与主存单元同时写(Writethrough写)只更新Cache单元并加标记,移出时修改主存(写回Copyback)只写入主存,并在Cache中加标记,下次从MM读出,保证正确。4、未命中时:若是“读”请求,则从主存读出所需字送CPU,且把含该字的一块送Cache,称“装入通过”,若Cache已满,置换算法;若是“写”请求,直接写入主存。第74页,共115页。Cache的命中率命中率(HitRate):高速命中的概率h=NcNc+Nmcache/主存系统的平均访问时间ta:
ta=htc+(1-h)tm tc=命中时的cache访问时间
tm=未命中时的主存访问时间h=命中率Nc=cache完成存取的总次数Nm=主存完成存取的总次数第75页,共115页。设r=tm/tc表示主存慢于cache的倍率tce=ta=tchtc+
(1-h)tm1h+
(1-h)r==1r+
(1-r)hCache的访问效率e第76页,共115页。【例5】CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。【解】h=Nc/(Nc+Nm)=1900/(1900+100)=0.95r=tm/tc=250ns/50ns=5e=1/(r+(1-r)h)=1/(5+(1-5)×0.95)=83.3%ta=tc/e=50ns/0.833=60ns
或者,ta=h·tc+(1-h)·tm=60ns第77页,共115页。Cache结构Cache的数据块称为行(线Line,槽Slot)用Li表示,其中i=0,1,…,m-1,共有m=2r行主存的数据块称为块(Block)用Bj表示,其中j=0,1,…,n-1,共有n=2s块行与块是等长的,包含k=2w个主存字字是CPU每次访问存储器时可存取的最小单位Cache由数据存储器和标签存储器组成数据存储器:高速缓存主存数据标签存储器:保存数据所在主存的地址信息第78页,共115页。3.5.2主存与Cache的地址映射Cache通过地址映射(mapping)的方法确定主存块与Cache行之间的对应关系,确定一个主存块应该存放到哪个Cache行中全相联映射(fullyassociativemapping)可以将一个主存块存储到任意一个Cache行直接映射(directmapping)将一个主存块存储到唯一的一个Cache行组相联映射(setassociativemapping)可以将一个主存块存储到唯一的一个Cache组中任意一个行直接映射、2/4/8路组相联映射使用较多第79页,共115页。全相联映射优点:命中率较高,Cache的存储空间利用率高缺点:线路复杂,成本高,速度低第80页,共115页。1、将地址分为两部分(块号和字),在内存块写入Cache时,同时写入块号标记;2、CPU给出访问地址后,也将地址分为两部分(块号和字),比较电路块号与Cache表中的标记进行比较,相同表示命中,访问相应单元;如果没有命中访问内存,CPU直接访问内存,并将被访问内存的相对应块写入Cache。第81页,共115页。直接映射优点:硬件简单,容易实现缺点:命中率低,Cache的存储空间利用率低第82页,共115页。1、映射方法(一对多)如:i=jmodm主存第j块内容拷贝到Cache的i行一般I和m都是2N级
[例]cache容量16字,主存容量256字,则地址2,18,34…..242等都存放在cache的地址2内,如果第一次2在cache中,下次访问34内容,则不管cache其他位置的内容访问情况,都会引起2块内容的替换第83页,共115页。2、基本原理利用行号选择相应行;把行标记与CPU访问地址进行比较,相同表示命中,访问Cache;如果没有命中,访问内存,并将相应块写入Cache第84页,共115页。组相联映射组间采用直接映射,组内为全相联硬件较简单,速度较快,命中率较高第85页,共115页。前两者的组合Cache分组,组间采用直接映射方式,组内采用全相联的映射方式Cache分组U,组内容量V映射方法(一对多)q=jmodu主存第j块内容拷贝到Cache的q组中的某行地址变换设主存地址x,看是不是在cache中,先y=xmodu,则在y组中一次查找分析:比全相联容易实现,冲突低v=1,则为直接相联映射方式u=1,则为全相联映射方式v的取值一般比较小,一般是2的幂,称之为v路组相联cache.第86页,共115页。3.5.3替换策略替换问题新主存块要进入Cache,决定替换哪个原主存块直接映射,只能替换唯一的一个Cache行全相联和组相联,需要选择替换策略(算法)1.最不常用(LFU:least-frequentlyused)
替换使用次数最少的块,不能严格反应近期访问情况。2.最近最少使用法(LRU:least-recentlyused)
本指替换近期最少使用的块,实际实现的是替换最久没有被使用的块,符合cache工作原理,有较高命中率。3.随机法(random)
随意选择被替换的块,不依赖以前的使用情况。但换出的数据很可能马上又要使用,从而降低了命中率和cache工作效率。第87页,共115页。LRU替换算法LRU能较好地反映程序的局部性,因而其命中率较高,但实现的硬件较复杂2路组相联:使用一个二进制位进行标记。4/8路组相联:运用堆栈型算法。最近访问的块放上面,最下面存放最久没有访问的块。替换最下面的块第88页,共115页。例子:设cache有1、2、3、4共4个块,a、b、c、d等为主存中的块,访问顺序一次如下:a、b、c、d、b、b、c、c、d、d、a,下次若要再访问e块。
问,采用LFU和LRU算法替换结果是不是相同?
第89页,共115页。
LFU(最不经常使用)LRU(近期最少使用)
说明1块2块3块4块说明1块2块3块4块aa进入1000a进入0111bb进入1100b进入1022cc进入1110c进入2103dd进入1111d进入3210b命中1211命中4021b命中1311命中5032c命中1321命中6103c命中1331命中7204d命中1332命中8310d命中1333命中9420a命中2333命中0531e替换a1000替换b1042第90页,共115页。3.5.4写入策略处理器对Cache读占大多数,也容易提高速度写入Cache有些问题:确认命中,才可以对Cache块写入写入的数据字数不定写入后可能导致与主存内容不一致写入策略解决主存内容的更新问题,保持正确直写法(writethrough)=全写法写入Cache的同时也写入主存(下一级存储器)回写法(writeback)=写回法只写入Cache,在被替换时才写回主存第91页,共115页。直写和回写的比较直写策略优点:简单可靠缺点:总线操作频繁、影响工作速度解决方法:在Cache与主存间设置一级/多级缓冲器,形成实用的“缓冲直写”方式,提高速度回写策略优点:可以减少写入主存次数、提高速度缺点:硬件结构比较复杂实现方法:为了表明Cache是否被修改,需要设置一个更新位(update,污染位dirtybit)。替换时只需将被修改的Cache块内容写入主存第92页,共115页。写未命中的处理方法写访问并不需要Cache块中所有数据。写未命中时,写入的数据是否还要将其读回Cache呢?写分配法(writeallocate,WTWA)
先把数据所在的块调入Cache,然后再进行写入。类似读失效的方式,也称fetchonwrite不写分配法(no-writeallocate,WTNWA)
直接把数据写入下一级存储器,不将相应的块调入Cache,也称writearound直写策略通常配合不写分配法,回写策略一般采用写分配法第93页,共115页。写一次法将直写法与写回法相结合。写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。(为何?)第94页,共115页。Cache一致性有了Cache,同一个数据会在主存也会在Cache有了多级Cache,在主存、一级、二级或三级Cache中可能存在同一个数据的多个拷贝多处理器系统存在有多个Cache,同一个数据的拷贝份数会更多如何保证它们都相同,或者说如何保证程序获得最新的正确的数据,就是Cache数据的一致性问题第95页,共115页。实现Cache一致性的基本方案软件方法:由编译程序和操作系统在编译时分析代码,避免共享变量进入Cache硬件方法:程序运行时动态处理,对程序员和编译员透明,称为Cache一致性协议(Cachecoherenceprotocol)目录(directory):物理主存中共享数据的状态及相关信息保存在目录中,通常由中央控制器集中维护监听(snoopy):各个Cache除保存数据拷贝外,也保存数据的共享状态信息,通过监听总线操作判断第96页,共115页。MESI协议商业化多处理器系统中,Cache块常利用标签中额外的2位记录其数据共享的4种状态:修改(modified)、唯一(exclusive)、共享(shared)和无效(invalid);所以也称为MESI协议修改M:该Cache块已经被修改(与主存不同),而且只在这个Cache中可用唯一E:该Cache块与对应主存块相同,而且不存在于其它Cache中共享S:该Cache块与对应主存块相同,但可能存在于其它Cache中无效I:该Cache块包含的数据无效第97页,共115页。Pentium的L1和L2级Cache数据一致性Pentium采用MESI协议,配合第一次直写(writethrough),以后回写(writeback),实现L1和L2Cache的数据一致,也称为一次写(writeonce)操作L1状态L1数据L2数据
复位或清洗后
读入数据
第1次直写
再次回写
发生替换后无效I共享S唯一E修改M共享S无效有效有效有效有效无效有效有效无效有效第98页,共115页。3.6
虚拟存储器虚拟存储器: 在主存-外存层次间 借助于磁盘辅助存储器实现 由系统软件和辅助硬件管理 以透明方式提供给用户 一个比实际主存空间大得多的程序地址空间作用:扩大主存容量,提高辅存访问速度,有效管理存储系统虚拟:利用其他部件实现的本来不存在的事物或属性透明:本来存在的事物或属性,从某种角度看似乎不存在第99页,共115页。3.6.1虚拟存储器的基本概念物理地址(实地址):(对应主存物理空间)由CPU地址引脚送出,用于访问主存的地址虚拟地址(虚地址):(对应主存逻辑空间)由编译程序生成的,是程序的逻辑地址CPU理解虚拟地址,并将其转换成物理地址主存-外存层次的基本信息传送单位
段:按程序逻辑划分为可变长的块,称为段 页:机械地划分为大小相同的块,称为页面 段页:程序按模块分段,段内分页第100页,共115页。段式管理:把主存按段分配的存储管理方式优点:段的界线分明,段易于编译、管理、修改和保护,便于多道程序共享缺点:段的长度各不相同,主存空间分配麻烦页式管理:以定长页面进行存储管理的方式优点:页的起点和终点地址固定,方便造页表,新页调入主存也很容易掌握,比段式空间浪费小缺点:处理、保护和共享都不及段式来得方便段页式管理:分段和分页相结合的存储管理方式优点:综合段式和页式管理方式的特点缺点:需要多次查表过程虚拟存储器的管理第101页,共115页。3.6.2页式虚拟存储器逻辑页:页式虚拟存储系统中,虚拟空间分成页;物理页:主存空间也分成同样大小的页。虚存地址分为两个字段:高字段为逻辑页号,低字段为页内行地址。实存地址也分两个字段:高字段为物理页号,低字段为页内行地址。逻辑页号页内行地址物理页号页内行地址第102页,共115页。页式管理的地址变换:用页表页面基地址逻辑页号页内行地址物理页号页内行地址页表基址寄存器虚存地址实存地址+页表(在主存中)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026天津市肿瘤医院上合办辅助岗位招聘笔试备考题库及答案详解
- 2026年河南高职单招统一模拟试题及参考答案(原版真题风格)
- 2026年遂昌县带编教师招聘笔试备考试题及答案解析
- 2026年东源县带编教师招聘考试备考题库及答案解析
- 2026年江达县带编教师招聘考试备考题库及答案解析
- 2026年屏山县带编教师招聘笔试参考题库及答案解析
- 2026年汪清县带编教师招聘笔试备考试题及答案解析
- 2026年农安县带编教师招聘考试备考试题及答案解析
- 2026年云和县带编教师招聘考试模拟试题及答案解析
- 2026年乐东黎族自治县带编教师招聘笔试备考试题及答案解析
- 2026江西吉安峡江县招聘基层就业公共服务岗位工作人员2人考试备考试题及答案详解
- 2027届新高考化学精准突破复习-电化学备考策略
- 2026年高考语文备考之修辞手法及表达效果(知识清单)
- 血液透析中心工作制度
- 长沙银行招聘笔试题库
- 2026年质量月活动实施方案
- 国家能源集团企业文化与基础知识
- 医院安全风险分级管控和隐患排查治理双重预防机制管理制度
- 《旅游服务质量管理》课件-第1章 旅游服务质量基础理论
- 养老院安全生产培训课件
- 国网线路安规培训课件
评论
0/150
提交评论