




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理第四章存储系统2/6/2023上午10时23分1第一章计算机系统概论第二章运算方法和运算器第三章存储系统第四章指令系统第五章中央处理器第六章总线系统第七章外围设备第八章输入输出系统目录2教材白中英,计算机组成原理·网络版,科学出版社,2002参考书石磊,计算机组成原理·第2版,清华大学出版社,2006钱晓捷,微型计算机原理及应用,清华大学出版社,2006王爱英,计算机组成与结构·第3版,清华大学出版社,2001白中英邝坚,计算机组织与结构·网络版,科学出版社,200333.1存储器概述3.2随机读写存储器3.3只读存储器和闪速存储器
3.4高速存储器3.5cache存储器
3.6虚拟存储器第3章存储系统3.1.1存储器分类半导体存储器:用半导体器件组成的存储器磁表面存储器:用磁性材料做成的存储器★按存储介质分
★按存储方式分
随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关(半导体)顺序存储器:只能按某种顺序来存取,存取时间和存储单元的物理位置有关(磁表面)★按存储器的读写功能分:ROM,RAM
★按信息的可保存性分:非永久记忆,永久记忆
★按在计算机系统中的作用分:
控制存储器、高速缓存、主存、辅存虚拟存储器磁盘cache3.1.2存储器的分级结构寄存器微处理器内部的存储单元高速缓存(Cache)完全用硬件实现主存储器的速度提高主存储器存放当前运行程序和数据,采用半导体存储器构成辅助存储器磁记录或光记录方式磁盘或光盘形式存放可读可写或只读内容以外设方式连接和访问示意图存储访问的局部性原理分级结构解决存储器件的容量、速度和价格矛盾出色效率来源于存储器访问的局部性原理:
处理器访问存储器时,所访问的存储单元在一段时间内都趋向于一个较小的连续区域中空间局部:紧邻被访问单元的地方也将被访问时间局部:刚被访问的单元很快将再次被访问程序运行过程中,绝大多数情况都能够直接从快速的存储器中获取指令和读写数据;当需要从慢速的下层存储器获取指令或数据时,每次都将一个程序段或一个较大数据块读入上层存储器,后续操作就可以直接访问快速的上层存储器3.1.3主存储器的技术指标存储容量主存存储容量:以字节B(Byte)为基本单位半导体存储器芯片:以位b(Bit)为基本单位存储容量以210=1024表达KB,MB,GB和TB存取时间(访问时间)发出读/写命令到数据传输操作完成所经历的时间存取周期两次存储器访问所允许的最小时间间隔存取周期大于等于存取时间存储器带宽(数据传输速率)单位时间里存储器所存取的信息量3.2随机读写存储器SRAM(静态RAM:StaticRAM)以触发器为基本存储单元不需要额外的刷新电路速度快,但集成度低,功耗和价格较高DRAM(动态RAM:DynamicRAM)以单个MOS管为基本存储单元要不断进行刷新(Refresh)操作集成度高、价格低、功耗小,但速度较SRAM慢3.2.1SRAM存储器六管静态MOS存储元是由两个MOS反相器交叉耦合而成的触发器。一个存储元存一位二进制代码。3.2.1SRAM存储存储阵列1、存储元
SRAM中,用一个锁存器(触发器)作为存储元。只要直流供电电源一直加在这个记忆电路上,它就无限期地保持记忆的1状态或0状态。如果电源断电,那么存储的数据(1或0)就会丢失。2、三组信号线地址线
数据线
控制线图3.2基本的静态存储元阵列
3.2.2基本SRAM的逻辑结构SRAM芯大多采用双译码方式,以便组织更大的存储容量。存储阵列为三维结构,即256行×128列×8位地址译码器二级译码:将地址分成x向、y向两部分第一级进行x向(行译码)和y向(列译码)的独立译码,然后在存储阵列中完成第二级的交叉译码。读与写的互锁逻辑控制信号中/CS是片选信号,/CS有效时(低电平),门G1、G2均被打开。/OE为读出使能信号,/OE有效时(低电平),门G2开启,当写命令/WE=1时(高电平),门G1关闭,存储器进行读操作。写操作时,/WE=0,门G1开启,门G2关闭。注意,门G1和G2是互锁的,一个开启时另一个必定关闭,这样保证了读时不写,写时不读。32K×8位的SRAM逻辑结构图
3.2.2SRAM存储器N(=1/4/8/16/32)个存储元组成一个存储单元存储器芯片由大量存储单元构成存储体存储器芯片结构:
存储单元数×每个存储单元的数据位数 =2M×N=芯片的存储容量M=芯片地址线的个数N=数据线的个数举例存储结构2K×816K位存储容量11个地址引脚8个数据引脚6264SRAM芯片28脚双列直插(DIP)芯片容量:8KB13个地址线A12~A08个数据线D7~D0存储结构:8K×8控制引脚片选:CS1*,CS2读控制:OE*写控制:WE*无连接NC计算机是一个有严格时序控制要求的机器。与CPU连接时,CPU的控制信号与存储器的读、写周期之间的配合问题是非常重要的。
注意:读出时间与读周期是两个不同的概念。
读出时间:是指从CPU给出有效地址开始,到外部数据总线上稳定地出现所读出的数据信息所经历的时间。
读周期时间:则是指对存储片进行两次连续读操作时所必须间隔的时间。
显然总有:读周期≥读出时间3.2.3存储器的读、写周期读周期在读周期中,地址线先有效,以便进行地址译码,选中存储单元。为了读出数据,片选信号/CS和读出使能信号/OE也必须有效(由高电平变为低电平)。从地址有效开始经tAQ(读出)时间,数据总线I/O上出现了有效的读出数据。之后/CS、/OE信号恢复高电平,tRC以后才允许地址总线发生改变。tRC时间称为读周期时间。写周期数据总线I/O上必须置写入数据,在tWD时间段将数据写入存储器。在写周期中,也是地址线先有效,接着片选信号/CS有效,写命令/WE有效(低电平)。之后撤消写命令/WE和/CS。为了写入可靠,I/O线的写入数据要有维持时间thD,/CS的维持时间也比读周期长。tWC时间称为写周期时间。为了控制方便,一般取tRC=tWC,通常称为存取周期。【例3.1】图3.5(a)是SRAM的写入时序图。其中R/W是读/写命令控制线,当R/W线为低电平时,存储器按给定地址把数据线上的数据写入存储器。请指出图3.5(a)写入时序中的错误,并画出正确的写入时序图。
读/写入时序图解:写入存储器的时序信号必须同步。当R/W线加负脉冲时,地址线和数据线的电平必须是稳定的。当R/W线达到低电平时,数据立即被存储。当R/W线处于低电平时,如果数据线改变了数值,那么存储器将存储新的数据⑤。当R/W线处于低电平时地址线如果发生了变化,那么同样数据将存储到新的地址②或③。3.3DRAM存储器3.3.1DRAM存储位元的记忆原理SRAM存储器的存储位元是一个触发器,它具有两个稳定的状态。而DRAM存储器的存储元是由一个MOS晶体管和电容器组成的记忆电路:图3.6一个DRAM存储元的写、读、刷新操作0恒101DRAM芯片图3.7(a)示出1M×4位DRAM芯片的管脚图,其中有两个电源脚、两个地线脚,为了对称,还有一个空脚(NC)。1M×4位DRAM芯片的逻辑结构图与SRAM不同的是:(1)增加了行地址锁存器和列地址锁存器。采取的办法是分时传送地址码。先传送地址码A10~A19,由行选通信号RAS打入到行地址锁存器;然后传送地址码A0~A9,由列选通信号CRS打入到列地址锁存器。芯片内部两部分合起来,地址线宽度达20位,存储容量为1M×4位。(2)增加了刷新计数器和相应的控制电路。DRAM读出后必须刷新,而未读写的存储元也要定期刷新,而且要按行刷新,刷新操作与读/写操作是交替进行的,所以通过2选1多路开关来提供刷新行地址或正常读/写的行地址。读周期、写周期读周期、写周期的定义是从行选通信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间,也就是连续两个读周期的时间间隔。通常为控制方便,读周期和写周期时间相等。DRAM的刷新(Refresh)(1)DRAM的刷新利用电容存储电荷的原理来保存信息的,由于电容会逐渐放电,所以,对动态RAM必须不断进行读出和再写入,以使泄放的电荷受到补充,也就是进行刷新。刷新是对动态存储元不断充电的过程
动态MOS存储器采用“读出”方式进行刷新,先将原存信息读出,再由刷新放大器形成原信息并重新写入。(2)刷新周期从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫刷新周期。一般为2ms,4ms,8ms。(3)刷新方式常用的刷新方式有三种:
集中式、分散式、异步式。
在整个刷新间隔内,前一段时间重复进行读/写周期或维持周期,等到需要进行刷新操作时,便暂停读/写或维持周期,而逐行刷新整个存储器,它适用于高速存储器。tCtCtCtCtCtCtC•
集中式刷新
例如:对128128矩阵存储器刷新。刷新时间相当于128个读周期;设刷新周期为2ms,读/写周期为0.5s,则刷新周期有4000个周期,其中
3782个周期(1936s)用来读/写或维持信息;
128个周期(64s)用来刷新操作;当3781个周期结束,便开始进行128个周期,64s的刷新操作集中式刷新适用于高速存储器。存在不能进行读写操作的死区时间.tCtCtCtCtCtCtC把一个存储周期tc分为两半,周期前半段时间tm用来读/写操作或维持信息,周期后半段时间tr作为刷新操作时间。这样,每经过128个系统周期时间,整个存储器便全部刷新一遍。•分散式刷新分散式刷新系统速度降低,但不存在停止读写操作的死时间。W/RREFW/RREFW/RREF•异步式刷新是前两种方式的结合。例如:对2116来说,在2ms中内把128行刷新一遍。
2000s12815.5
s
即:每15.5s刷新一行。
说明1M×1位(=512×2048)DRAM芯片的刷新方法,刷新周期定为8ms【例2】【解】分散式刷新:逐行进行刷新
512行,每行2048个存储元同时进行刷新,整个芯片在8ms内进行512次刷新操作。集中刷新 在8ms中某个时间段,连续进行512次刷新操作
“死时间”:t0=512T
(T为存储器读写周期)异步刷新8ms分成512个时间段,每隔8ms÷512=15.625µs对芯片刷新一次(一行),消除长时间的“死时间”
CPU对存储器进行读/写操作,首先由地址总线给出地址信号,然后要对存储器发出读操作或写操作的控制信号,最后在数据总线上进行信息交流。所以,存储器与CPU之间,要完成:①地址线的连接;②数据线的连接;③控制线的连接。
存储器芯片的容量是有限的,为了满足实际存储器的容量要求,需要对存储器进行扩展。3.3.4存储器容量的扩展A0A12D0D7位扩展法只加大字长,而存储器的字数与存储器芯片字数一致,对片子没有选片要求。用8k*1的片子组成8k*8的存储器需8个芯片地址线——需13根数据线——8根控制线——WR接存储器的WE
WRWE2:416K816K816K816K8字扩展法用16K8位的芯片组成64K8位的存储器需4个芯片地址线——共需16根片内:(214=16384)14根,选片:2根数据线——8根控制线——WE存储器系统的存储容量: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字、位同时扩展法:字位同时扩展:2114存储芯片1K×4扩展成2K×8存储器
D4--D7D3--D0A0A1…A9WECPUA10
2114CSR/W
2114CSR/W
2114CSR/W
2114CSR/W字位同时扩展法:既增加存储单元的数量,也加长各单元的位数例设有若干片256K×8位的SRAM芯片,问:
(1)采用字扩展方法构成2048KB的存储器需要多少片SRAM芯片?
(2)该存储器需要多少字节地址位?
(3)画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。解:(1)该存储器需要2048K/256K=8片SRAM芯片; (2)需要21条地址线,因为221=2048K,其中高3位用于芯片选择,低18位作为每个存储器芯片的地址输入。 (3)该存储器与CPU连接的结构图如下。
ramsel73-8译码ramsel2ramsel1ramsel0…A20-18A20-0A17-0OE#MREQ#R/W#CPUD7~D0D7~D0D7~D0D7~D0D7~D0WEA
CE256K×8DWEA
CE256K×8DWEA
CE256K×8DWEA
CE256K×8D例
设有若干片256K×8位的SRAM芯片,问:
(1)如何构成2048K×32位的存储器?
(2)需要多少片RAM芯片?
(3)该存储器需要多少字节地址位?
(4)画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。解:采用字位扩展的方法。需要32片SRAM芯片。
ramsel73-8译码ramsel2ramsel1ramsel0…A22-20A22-2A19-2OE#MREQ#R/W#CPUD31~D0D31~D0D31~D0D31~D0D31~D0WEA
CE256Kx84片DWEA
CE256Kx84片DWEA
CE256Kx84片DWEA
CE256Kx84片D3.3.5高性能的主存储器主要技术手段:提高时钟频率和带宽,缩短存储周期,增加小块SRAM。FPMDRAM(快页方式DRAM)同一行的传送仅改变列地址页内访问速度加快FPMDRAM(快页方式DRAM)CDRAM芯片(带高速缓冲存储器的DRAM)
CDRAM芯片又称增强型DRAM芯片,它在DRAM芯片上集成了一个SRAM实现的小容量高速缓冲存储器,从而使DRAM芯片的性能得到显著改进3.3.5高性能的主存储器如果连续的地址高11位相同,意味着属于同一行地址,那么连续变动的9位列地址就会使SRAM中相应位组连续读出,这称为猝发式读取。
CDRAM内存条1.一片CDRAM的容量为1M×4位,8片这样的芯片(位扩展)可组成1M×32位的存储模块。BE3-BE0接CAS3-CAS0同时有效
1M*4b-1M*32b2.A23-A22用作模块选择,接CAS3-CAS0。当某模块被选中,此模块的8个CDRAM芯片同时动作,8个4位数据端口D3—D0同时与32位数据总线交换数据,完成一次32位字的存取。4MB-16MB高性能DRAMSDRAM(同步DRAM(SynchronousDRAM))公共的系统时钟,它与CPU的数据交换同步于外部的系统时钟信号,并且以CPU/存储器总线的最高速度运行,而不需要插入等待状态。采用成组传送方式,内部采用交叉存储3.3.6DRAM主存储器读、写的正确性校验DRAM通常用做主存储器,其读写操作的正确性与可靠性至关重要。增加的附加位要同数据位一起写入DRAM中保存。奇偶校验海明校验主存正确性校验3.3ROM芯片ROM叫做只读存储器。它工作时只能读出,不能写入。其中存储的原始数据,必须在它工作以前写入。3.3ROM芯片的类型MROM(掩膜ROM)掩膜工艺直接制作,是一个存储内容固定的ROM,由生产厂家提供产品。OTP-ROM(一次性编程ROM)用户后写入内容,允许用户进行一次性编程可编程存储器用户写入内容,可以多次写入。EPROM(可擦除可编程ROM)紫外光擦除、并可重复编程的ROMEEPROM(电擦除可编程ROM)擦除和编程(擦写)通过加电进行FlashMemory(闪速存储器)新型的电擦除可编程ROM快速擦除整片或数据块
2764EPROM芯片存储容量64K位存储结构8K×813个地址线A12~A08个数据线O7~O0控制信号片选CE*输出OE*编程控制PGM*编程电源VppEPROM工作方式前4种正常读取状态,后4种为编程状态“读Intel标识符“用于识别器件、防止假冒标准EPROM编程写入每个存储单元需50ms宽负脉冲快速编程重复送1ms宽的编程负脉冲写入后即进行校验再送4×N宽度的脉冲巩固示意图例CPU的地址总线16根(A15—A0,A0为低位);双向数据总线8根(D7—D0),控制总线中与主存有关的信号有:
MREQ,R/W。主存地址空间分配如下:
0—8191为系统程序区,由只读存储芯片组成;
8192—32767为用户程序区;最后(最大地址)2K地址空间为系统程序工作区。
现有如下存储器芯片:
EPROM:8K×8位(控制端仅有CS);SRAM:16K×1位,2K×8位,4K×8位,8K×8位.解:(1)主存地址空间分布如图所示。16根地址线寻址——64K0000~FFFFH(65535)EPROM:8K×8位SRAM:16K×1位,2K×8位,4K×8位,8K×8位.00001FFF20007FFFF800FFFF63488请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及3∶8译码器74LS138)与CPU的连接,说明选哪些存储器芯片,选多少片。(2)连接电路片内寻址:8K芯片——片内13根A12~A02K芯片——片内11根A10~A0片间寻址:前32KA15A14A13
000001
010011最后2K111加A12A11
1100001FFF20003FFF60007FFFF800FFFF40005FFF63488ABCY0Y1Y2Y3Y7。。。。。MREQA0A12A0A12A0A12A0A12A0A10CSCSCSCSCSR/WR/WR/WR/W3.4.2闪速存储器1.什么是闪速存储器FlashMemory
闪速存储器是一种高密度、非易失性的读/写半导体存储器.是在EPROM功能基础上增加了芯片的电擦除和重新编程能力.它突破了传统的存储器体系,改善了现有存储器的特性。它既有RAM的优点,又有ROM的优点,
特点:固有的非易失性(2)廉价的高密度(3)可直接执行(4)固态性能3.5高速存储器3.5.1
双端口存储器同一个存储器具有两组相互独立的读写控制线路,提供了两个相互独立的端口,都可以对存储器中任何位置上的数据进行独立的存取操作3.5.2
多模块交叉存储器每个模块各自以等同的方式与CPU传送信息。连续地址分布在相邻的模块,对连续字的成块传送可以重叠进行实现流水线并行存取3.5.3
相联存储器按内容寻址的存储器把存储单元所存内容的某一部分作为检索项,去检索该存储器,并对存储器中与该检索项符合的存储单元内容进行读出或写入3.5
双端口存储器1.双端口存储器的逻辑结构双端口存储器
——指同一个存储器具有两组相互独立的读写控制线路,
是一种高速工作的存储器。双读单写端口存储器单元结构2.无冲突的读写控制3.有冲突的读写控制3.5.2多模块交叉存储器1).存储器的模块化组织一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中有两种安排方式:
顺序方式
交叉方式顺序方式各模块一个接一个串行工作。同一个模块内的地址都是连续的。交叉方式连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。模体地址编址序列对应二进制地址最低二位M0M1M2M30,4,8,12,...4j+0,...1,5,9,13,...4j+1,...2,6,10,14,...4j+2,...3,7,11,15,...4j+3,...000110112)模四交叉各模块的编址序列3)
多模块交叉存储器存取控制方式多模块交叉存储器可以有两种不同的方式进行访问:一种是所有模块同时启动一次存储周期,相对各自的数据寄存器并行地读出或写入信息;称为“同时访问”,同时访问要增加数据总线宽度。(2)交叉访问:一个模块的存储周期T,总线传送周期τ交叉存取度m=T/τ(3)存储器的模块数M>=m顺序存储器t2=nT
交叉存储器t1=T+(n-1)τ设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期τ=50ns。问顺序存储器和交叉存储器连续读出32个字所需的时间?【解】
顺序存储器和交叉存储器连续读出4个字所需的时间分别是:
t2=mT=4×200ns=800ns=8×10-7s;
t1=T+(m-1)τ=200ns+150ns=350ns=35×10-7s顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:q=64位×4=256位顺序存储器和交叉存储器的带宽分别是:
W2=q/t2=256÷(8×10-7)=32×107[位/s];W1=q/t1=256÷(35×10-7)=73×107[位/s]3.6
Cache存储器Cache:asafeplaceforhidingorstoringthings.在相对容量较大而速度较慢的主存与高速处理器之间设置的少量但快速的存储器(SRAM)主要目的:提高存储器速度为追求高速,包括管理在内的全部功能由硬件实现3.6.1Cache基本原理CPU与cache之间的数据交换以字(字节)为单位Cache与主存间的数据传送以数据块为单位一个块(Block)由若干字组成Cache的读操作高速命中(Hit):微处理器读取主存的内容已包含在Cache中,可以直接读取Cache,不用访问主存从CPU接收地址RAY(命中hit)N(失效miss)开始Cache中含RA?从Cache读RA的字送CPU从主存读含RA的块向CPU传送RA的字向Cache传送含RA的主存块结束高速失效(Miss)、缺失、未命中:微处理器读取主存的内容不在Cache中,需要访问主存读取一个数据块Cache的命中率命中率(HitRate):高速命中的概率h=NcNc+Nmcache/主存系统的平均访问时间ta:
ta=htc+(1-h)tm tc=命中时的cache访问时间
tm=未命中时的主存访问时间h=命中率Nc=cache完成存取的总次数Nm=主存完成存取的总次数设r=tm/tc表示主存慢于cache的倍率tce=ta=tchtc+
(1-h)tm1h+
(1-h)r==1r+
(1-r)hCache的访问效率e【例5】CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求:cache命中率是多少?cache/主存系统平均访问时间和效率。【解】
h=Nc/(Nc+Nm)=1900/(1900+100)=0.95
ta=h·tc+(1-h)·tm=60nse=tc/ta=60/50=0.833或者r=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【例】已知cache/主存系统效率为85%,平均访问时间为60ns,主存存取周期是cache存取周期4倍,求主存储器周期是多少?cache命中率是多少?解:因为:e=tc/ta所以:tc=ta×e=60×0.85=510ns(cache存取周期)tm=tc×r=510×4=204ns(主存存取周期)因为:e=1/[r+(1–r)h]所以:h=2.4/2.55=0.94ta=h·tc+(1-h)·tm3.6.2主存与Cache的地址映射Cache通过地址映射(mapping)的方法确定主存块与Cache行之间的对应关系,确定一个主存块应该存放到哪个Cache行中全相联映射(fullyassociativemapping)可以将一个主存块存储到任意一个Cache行直接映射(directmapping)将一个主存块存储到唯一的一个Cache行组相联映射(setassociativemapping)可以将一个主存块存储到唯一的一个Cache组中任意一个行直接映射、2/4/8路组相联映射使用较多Cache存储器——地址映射CACHE的数据块大小称为行(块)。主存的数据块大小称为块。行与块是等长的。1全相联映射方式:
在全相联映射中,将主存中一个块的地址与块的内容一起存于CACHE的行(块)中,其中块地址存于CACHE行(块)的标记部分中。是一种多对一的映射关系第N-1块···第1块第0块第MN-1块···第1块第0块图全相联映像1.全相联映象变换过程,如图
块内地址15块标记......1块标记0块标记2047块…15块…1块0块主存块标号11位Cache主存主存地址主存块号11位9位由于每个Cache块可以映射2048个主存块中的任一块,因此每块的Cache标记也需要11位,用来表明它现在所映像的主存块号。例如:某机主存为1MB,Cache为8KB,按每块512B划分。主存分为2048块;Cache为16块。块内地址块号B块内地址块号b有效位Cache块号b主存块号BbB主存地址Cache地址命中逐行相联比较目录表(由相联存储器组成,共Cb个字)地址变换过程:标记位数B+b位,使Cache标记容量加大;在访问Cache时,需要和Cache的全部标记进行“比较”才能判断出所访主存地址的内容是否已在Cache中。由于Cache速度要求高,所以全部“比较”操作都要用硬件实现,所需逻辑电路甚多,以致无法用于Cache中。全相联映射方式优点:可使主存的一个块直接拷贝到cache中的任意一行(块)上,非常灵活。命中率较高,Cache的存储空间利用率高主要缺点:是比较器电路难于设计和实现,线路复杂,成本高,速度低。因此只适合于小容量cache采用。是一个理想的方案,实际上由于它的成本太高而不能采用。例题:设一个全相联映像的Cache中有8个块,访问主存进行读的块地址顺序为十进制数22、26、22、26、16、4、6、18、14、17、25,求每次访问后Cache中的内容。表昂全相联映像的块分配情况访问顺序1234567891011主存块地址22262226164618141725000块2222222222222222222225001块26262626262626262626010块16161616161616011块444444100块66666101141414111块1717操作状态调入调入命中命中调入调入调入调入调入调入替换
这也是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行(块)位置上去。
2直接映射方式第N-1块···第1块第0块第MN-1块···第(M-1)N-1块第(M-1)N块···第N-1块···第1块第0块第0组第M-1组主存cache的直接映射图cache的行(块)号i和主存的块号j有如下函数关系:i=jmodN(N为cache中的总行数)块内地址B组内块号地址S组号地址Q块内地址B组内块号地址S有效位组号Q(按地址访问)1相等比较主存地址Cache地址比较相等,且有效位为1,访问Cache块失效命中组表存储器地址映象表根据S找到S行直接相联映像主存地址格式:QSB组号组内块号块内地址Cache地址格式:SB组内块号块内地址主存中存储块的数据可以调入Cache中相同组号内的任一块中,而主存中一个组的地址空间只能映像到Cache中相同组中。
地址变换过程用主存地址中的块号S去访问组表存储器把读出来的组号与主存地址中组号Q进行比较比较结果相等,且有效位为1,则Cache命中,主存地址中的块号S与块内地址B构成Cache地址比较结果相等,有效位为0,表示Cache中的这一块已经作废比较结果不相等,有效位为0,表示Cache中的这一块是空的直接映象方法的主要优点硬件实现很简单,成本低。不需要相联访问存储器,访问速度也比较快.直接映象方法的主要缺点
块的冲突率太高,每个主存块在cache中只有一个固定的位置。因此适合大容量cache采用。
第一组的第0块和第二组的第0块都映象到cache第0块例如:设有一个Cache容量4K字,每个块为32字,主存的容量为256K字,试问:(1)该Cache分为多少块?主存可分为多少块?(2)在直接映像方式下,主存的第j块映像到Cache中的哪一块?(3)进行直接地址映像时,Cache地址有多少位?Cache的地址分为哪几段?各段分别为几位?(4)进行直接地址映像时,主存地址有多少位?分为哪几段?各段分别为几位?解:(1)Cache中有4K/32=1024*4/32=128块;主存可分为256K/32=8192块(2)i=jmod128
i是Cache的字块号,j是主存的字块号。(3)Cache的容量4K字=212字,Cache的字地址为12位。分成两段:块地址和块内地址。每个块为32字=25字,块内地址是5位字地址;Cache中有128块=27块,块地址为7位。(4)主存的容量256K字=218字,所以主存的地址为18位。分成三段:主存字块标记(主存组地址)、块地址和块内地址。主存字块标记的长度为主存地址长度减去Cache地址长度之差,即18-12=6位。因为主存的块地址和块内地址与Cache的相同,所以块内地址是5位,块地址为7位。
例如:设一个直接相联映像的Cache中有8个块,访问主存进行读的块地址顺序为十进制数22、26、22、26、16、4、16、18,求每次访问后Cache中的内容。
解:22MOD8=6表直接映像的块分配情况访问顺序12345678主存块地址222622261641618Cache0块16161616Cache1块Cache2块26262626262618Cache3块Cache4块444Cache5块Cache6块2222222222222222Cache7块操作状态调入调入命中命中调入调入命中替换
这种方式是前两种方式的折衷方案。定义及规则:各组之间是直接映象,组内各块间是全相联映象组号相同每个组号相同的主存块可以映象到组号相同的任意cache块中它将cache分成u组,每组v块,主存块存放到cache哪个组是固定的,至于存到该组哪一块是灵活的,即有如下函数关系:cache分成u组,每组v块,Cache块数:N=u×v
主存块号:j主存对应Cache的组号:q=Int(j/v)modu
3组相联映射方式方法1图组相联映象主存第N-1块······第0块第MN-1块······第(M-1)N块···第N-1块······第0块第0组第1组第0区第M-1区第0组第1组第0组第1组Cache组相联映像主存地址格式:tqsb区号组号组内块号块内地址Cache地址格式:qS`b组号组内块号块内地址主存中存储块的数据可以调入Cache中相同组号内的任一块中,而主存中一个组的地址空间只能映像到Cache中相同组中。
块内地址b组内块号地址s组号地址q区号地址t块内地址b组内块号地址s′组号地址q相联比较组内块号s′区号t,组内块号s相联比较(S个块)主存地址不等相等Cache地址组内相联查找块表存储器q地址变换过程用主存地址的组号按地址访问块表存储器把读出来的一组区号和块号与主存地址中的区号和块号进行相联比较如果有相等的,表示Cache命中,取出组内块号s′与块内地址b构成Cache地址如果没有相等的,表示Cache没有命中例题:
设一个4路组相连映像的Cache中有8个块,访问主存进行读的块地址顺序为十进制数22、26、22、26、16、4、16、18,求每次访问后Cache中的内容。地址的分段:主存:区号、组号、块号、块内地址;CACHE:组号、块号、块内地址;q=Int(j/v)modu=int(22/4)mod2=5mod2=1
q=Int(j/v)modu=int(26/4)mod2=6mod2=04路组相连映像的块分配情况访问顺序12345678组号主存块地址222622261641618Cache000块26262626262626第0组Cache001块16161616Cache010块Cache011块18Cache100块2222222222222222第1组Cache101块444Cache110块Cache111块操作状态调入调入命中命中调入调入命中调入3组相联映射方式方法2组相联映射方式方法2P97-98Cache:每组v行,m组。共i=m*v行主存:每组m行,n组。共j=n*m行主存每组的第q行一定映射到Cache的第q组的任意行。组相联映像方式的优点:块的冲突率比较低块的利用率大幅度提高块失效率明显降低组相联映像方式的缺点:实现难度和造价要比直接映象方式高3.6.3替换策略替换问题新主存块要进入Cache,决定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度次季度智慧园区数字文化墙施工验收标准协议
- 在线课程视频制作服务合同范文
- 委托合同(供委托培训用)5篇
- 运输公司车辆保险合同7篇
- 赠与协议书(不动产)5篇
- 城市绿化维护合同
- 施工现场防水施工安全协议
- 科学研究成果评审会服务协议
- 反馈体验协议
- 种苗合同范本
- 抵押变更协议书模板
- 新闻事业管理自考资料
- DZ∕T 0212.3-2020 矿产地质勘查规范 盐类 第3部分:古代固体盐类(正式版)
- 工程变更通知单ECN模板-20220213
- 化工和危险化学品生产经营单位二十条重大隐患判定标准释义(中化协)
- 技能成才教育
- 10月自考外国文学史(00540)试题及答案解析与评分标准
- 专项报告模板
- 《风的形成》参考课件
- 老年衰弱护理课件
- 个人所得税自行纳税申报表
评论
0/150
提交评论