版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.1计算机存储系统概述4.2计算机主存储器4.3并行存储器结构4.4Cache存储系统4.5虚拟存储器第4章计算机存储系统4.1.1存储器分类半导体存储器:用半导体器件组成的存储器磁表面存储器:用磁性材料做成的存储器
按存储介质分
按存储方式分随机存储器:任何存储单元的内容都能被随机存取,
且存取时间和存储单元的物理位置无关顺序存储器:只能按某种顺序来存取,存取时间和存
储单元的物理位置有关
按存储器的读写功能分:ROM,RAM
按信息的可保存性分:易失性,非易失性
按在计算机系统中的作用分:主存、辅存、高速缓存半导体存储器计算机由多种存储器构成存储系统。存储系统以多层次结构进行工作。
由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次。其中高速缓存和主存间称为Cache-主存存储层次(Cache存储系统);主存-辅存存储层次(虚拟存储系统)。Cache存储系统是为解决主存速度不足而提出来的。虚拟存储系统是为解决主存容量不足而提出来的。4.1.2存储器系统组成4.1.3存储器的分级结构寄存器微处理器内部的存储单元高速缓存(Cache)完全用硬件实现主存储器的速度提高主存储器存放当前运行程序和数据,采用半导体存储器构成辅助存储器磁记录或光记录方式磁盘或光盘形式存放可读可写或只读内容以外设方式连接和访问存储系统的结构特点:1)容量特点:辅存→主存→Cache(小)2)速度特点:Cache→主存→辅存(慢)3)Cache的位置:在CPU的片内,独立芯片,在存储芯片内寄存器缓存主存磁盘磁带4.1.3存储器的分级结构4.1.4主存储器的技术指标存储容量主存存储容量:以字节B(Byte)为基本单位半导体存储器芯片:以位b(Bit)为基本单位存储容量以210=1024规律表达KB,MB,GB和TB存取时间(访问时间)Ta
发出读/写命令到数据传输操作完成所经历的时间存取周期Tm两次存储器访问所允许的最小时间间隔通常Tm>Ta
对任何一种存储器,在读写操作之后,总要有一段恢复内部状态的复原时间存储器带宽(数据传输速率)单位时间里存储器所存取的信息量4.2计算机主存储器4.2.1主存储器的基本结构主存储器通常由存储体、地址译码驱动电路、I/O和读写电路组成。存储体地址线读/写控制线I/O地址译码驱动和读写电路数据线4.2计算机主存储器主存功能:存放当前运行的程序和数据,供CPU直接访问主存储器与CPU通过系统总线联系AB━地址来自CPU的AR寄存器(MAR)DB━数据通过CPU的DR寄存器中转(MDR)CB━包括WE/RD、Ready等引脚位是存储器存储信息的最小单位。存放存储字或存储字节的主存空间称为存储单元大量存储单元的集合构成一个存储体MB,程序和数据都存放在存储体中,它是存储器的核心。1.主存基本要点4.2计算机主存储器2.存储器组织
一个存储单元可能存放一个字,也可能存放一个字节,这是由计算机的结构确定的。存储单元是CPU对主存可访问操作的最小存储单位。字节寻址——8位二进制编码为1字节,设计其存储单元,并给予独立的地址。字寻址——16、32、64位二进制编码定义为1(机器)字,通过地址,按字访问。4.2计算机主存储器
例如,IBM370机是字长为32位的计算机,主存按字节编址,每一个存储字包含4个单独编址的存储字节,字地址即是该字高位字节的地址,其字地址总是等于4的整数倍,正好用地址码的最末两位来区分同一个字的四个字节。PDP-11机是字长为16位的计算机,主存也按字节编址,每一个存储字包含2个单独编址的存储字节,它的字地址总是2的整数倍,但却是用低位字节地址作为字地址,并用地址码的最末1位来区分同一个字的两个字节。00001444488910115672312235字地址字地址字节地址字节地址4.2计算机主存储器4.数据在主存中的存放在采用字节编址的情况下,数据在主存储器中的几种不同存放方法。假设,存储字为64位(8个字节),机器字长为32位,读/写的数据有四种不同长度,它们分别是字节(8位)、半字(16位)、单字(32位)和双字(64位)。字节半字单字双字4.2计算机主存储器SRAM(静态RAM:StaticRAM)以触发器为基本存储单元不需要额外的刷新电路速度快,但集成度低,功耗和价格较高DRAM(动态RAM:DynamicRAM)存储电路以电容为基础要不断进行刷新(Refresh)操作集成度高、价格低、功耗小,但速度较SRAM慢NVRAM(非易失RAM:Non-VolatileRAM)带有后备电池的SRAM芯片断电后由电池维持供电4.2.2SRAM存储器(P68)6个开关管组成一个存储元,存储一位信息N(=1/4/8/16/32)个存储元组成一个存储单元存储器芯片的大量存储单元构成存储体存储器芯片结构:
存储单元数×每个存储单元的数据位数 =2M×N=芯片的存储容量M=芯片地址线的个数N=数据线的个数举例存储结构2K×816K位存储容量11个地址引脚8个数据引脚1、SRAM的结构6个MOS管构成RAM存储电路X地址选择Y地址选择T8BT7AT6T5T2T1T4T3VCC所有存储元共用此电路图静态RAM的基本存储电路I/O
I/OT3、T4是负载管,T1、T2为工作管,T5、T6、T7、T8是控制管。该电路有两种稳定状态:T1截止,T2导通为状态“1”;T2截止,T1导通为状态“0”。6264SRAM芯片28脚双列直插(DIP)芯片容量:64K位存储结构:8K×813个地址线A12~A08个数据线D7~D0控制引脚片选:CS1*,CS2读控制:OE*写控制:WE*无连接NC6116HM6116是一种2K*8位的高速静态CMOS随机存取存储器,HM6116有11条地址线(A0~A10)、8条数据线(I/O1~I/O8)、1条电源线、1条接地线GND和3条控制线——片选信号CE、写允许信号WE和输出允许信号OE(3条控制线低电平有效)。6116是2K*8SRAM★例:一维译码与二维译码,译码输出选择线减少。设:有1K×1位的SRAM,其结构为32×32阵列。一维译码输出选择线为210=1024条二维译码输出选择线为25×25=64条选择线的减少可简化电路设计工作,降低电路相互干扰。2、地址译码方式:地址译码电路能把地址线送来的地址信号翻译成对应存储单元的选择信号。1)单译码方式---字选法2)双译码方式---重合法译码器A5A4A3A2A1A06301存储单元64个单元单译码A3A4A5A2A1A0行译码710列译码01764个单元双译码双译码方式行译码,其输出线选中存储矩阵中一行的所有存储单元。
列译码,其输出线选中一列的所有单元。
工作方式:行列同时选择的单元被访问。静态RAM芯片有2114(1K×4)WECS&&11输入数据控制630列I/O电路列选A0SA4SI/O4I/O3I/O2I/O1A5A9630GNDVCC行选存储单元64行×64列GND2114
A6A5A4A3A0A1A2CSVCCA7A8A9I/O1I/O2I/O3I/O4WE3、SRAM的工作时序(P68图)读期间,地址输入信息不允许改变,片选信号CS在地址有效之后变为有效,使芯片被选中,最后在数据线上得到读出的信号。写允许信号WE在读周期中保持高电平。写周期除了要加地址和片选信号外,还要加一个低电平有效的写入脉冲WE,并提供写入数据。4.2.3DRAM存储器(P69)
单管动态基本存储电路---它由T1管和寄生电容Cs组成。C1VSCDVDT2T1T3预充T4读数据线数据输出刷新控制写数据线写入选择线读出选择线
图3管动态存储电路1.DRAM存储元结构2.存储器结构DRAM芯片的引脚复用与接口(1)地址引脚复用━地址信号分时(2)控制信号RAS(行)和CAS(列)(3)控制信号的生成(接口)★例:芯片━Intel8203-DRAM控制器芯片将接口电路和刷新电路集成于一身。3.DRAM的工作方式(1)写操作方式——电容充电(2)读操作方式——破坏性读出,重写(刷新)(3)定时刷新方式——保持电容电平动态RAM芯片
Intel2116单管动态RAM芯片引脚与信号:16个引脚存储容量:16k×1位数据线:Din,Dout地址线:A6~
A0,7条控制线:CAS行选通、RAS列选通、WE写读允许线不足:地址线分时复用4.DRAM的刷新和重写(P71)1)DRAM需要定时刷新,原因是DRAM保存电平信号的电容存在漏电现象。2)一般选定MOS型动态存储器允许的最大刷新间隔为2ms,即应在2ms内,将全部存储体刷新一遍。3)刷新和重写(再生)是两个完全不同的概念。重写是随机的,某个存储单元只有在破坏性读出之后才需要重写。而刷新是定时的,即使许多记忆单元长期未被访问,若不及时补充电荷的话,信息也会丢失。重写一般是按存储单元进行的,而刷新通常以存储体矩阵中的一行为单位进行的。5.刷新方式常见的刷新方式有集中式、分散式;1)集中式刷新所有的行在每一个刷新周期中都被刷新。
在刷新间隔内,前段时间进行正常操作,不刷新;需要刷新时,暂停读/写周期,集中刷新整个存储器集中刷新期间必须停止读/写,这一段时间称为“死区”,而且存储容量越大,死区就越长
5.刷新方式常见的刷新方式有集中式、分散式;1)集中式刷新所有的行在每一个刷新周期中都被刷新。
在刷新间隔内,前段时间进行正常操作,不刷新;需要刷新时,暂停读/写周期,集中刷新整个存储器集中刷新期间必须停止读/写,这一段时间称为“死区”,而且存储容量越大,死区就越长
DRAM定时刷新需专门的控制电路刷新控制逻辑电路、刷新定时器、刷新地址计数器、刷新放大器
DRAM存储器的刷新需要有硬件电路的支持,包括刷新计数器、刷新/访存裁决、刷新控制逻辑等。这些控制线路形成DRAM控制器。刷新间隔(2ms)读/写操作刷新013967396839993968个周期(1984µs)32个周期(16µs)……
在最大刷新间隔2ms内共可以安排4000个存取周期,从0~3967个周期内进行读/写操作或保持,而从3968~3999这最后32个周期集中安排刷新操作。2)分散刷新方式指把刷新操作分散到每个存取周期内进行,此时系统的存取周期被分为两部分,前一部分时间进行读/写操作或保持,后一部分时间进行刷新操作。一个系统存取周期内刷新存储矩阵中的一行。刷新间隔(32µs)周期0周期1周期31读/写读/写读/写刷新刷新刷新…分散刷新方式没有死区,但是加长了系统的存取周期,如存储芯片的存取周期为0.5s,则系统的存取周期应为1s,降低了整机的速度;第二是刷新过于频繁(本例中每32s就重复刷新一遍),尤其是当存储容量比较小的情况下,没有充分利用所允许的最大刷新间隔(2ms)。说明1M×1位(=512×2048)DRAM芯片的刷新方法,刷新周期定为8ms【解】逐行进行刷新
512行,每行2048个存储元同时进行刷新,整个芯片在8ms内进行512次刷新操作集中刷新 在8ms中某个时间段,连续进行512次刷新操作 “死时间”:t0=512T
(T为存储器读写周期)异步刷新8ms分成512个时间段,每隔8ms÷512=15.625µs对芯片刷新一次(一行),消除长时间的“死时间”6、动态存储器(DRAM)与静态存储器(SRAM)优缺点比较1)EDRAM芯片
EDRAM芯片又称增强型DRAM芯片,它在DRAM芯片上集成了一个SRAM实现的小容量高速缓冲存储器,从而使DRAM芯片的性能得到显著改进
2)EDRAM内存条一片EDRAM的容量为1M×4位,8片这样的芯片(位扩展)可组成1M×32位的存储模块。当某模块被选中,此模块的8个EDRAM芯片同时动作,8个4位数据端口D3—D0同时与32位数据总线交换数据,完成一次32位字的存取7、高性能的主存储器高性能DRAMFPMDRAM(快页方式DRAM)同一行的传送仅改变列地址页内访问速度加快EDODRAM(扩展数据输出DRAM)数据输出有效时间加长(扩展)SDRAM(同步DRAM)公共的系统时钟,没有等待状态支持猝发传送,内部采用交叉存储DDRDRAM(双速率DRAM)同步时钟前沿和后沿各进行一次数据传送RDRAM(RambusDRAM)Rambus公司专利技术,全新设计
存储器芯片的容量是有限的,为了满足实际存储器的容量要求,需要对存储器进行扩展。
要组成一个主存,首先要考虑选片的问题,然后就是如何把芯片连接起来的问题。根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出总的芯片数,即4.2.4存储器容量扩充(P72)总容量芯片容量总片数=1、位扩展法
位扩展指只在位数方向扩展(加大字长),而芯片的字数和存储器的字数是一致的。位扩展的连接方式是将各存储芯片的地址线、片选线和读/写线相应地并联起来,而将各芯片的数据线单独列出。如用64K×1的SRAM芯片组成64K×8的存储器,需要8个芯片。
容量地址数据存储器64K×8168
存储芯片64K×11611、位扩展法演示64K×8
芯片组A15~A0D7~D0__CS___WE__CSA0A15D0D7___WE64K×112345678I/OI/OI/OI/OI/OI/OI/OI/O......................……地址总线数据总线..字扩展是指仅在字数方向扩展,而位数不变。字扩展将芯片的地址线、数据线、读/写线并联,由片选信号来区分各个芯片。如用16K×8的SRAM组成64K×8的存储器,需要4个芯片。2、字扩展
容量地址数据存储器64K×8168
存储芯片16K×8148
A15A14CPUA0A13
WED0~D72:4译码器CE16K×8WECE16K×8WECE16K×8WECE16K×8WE16K×8字扩展法组成64K×8RAM…11100100演示
在同一时间内四个芯片中只能有一个芯片被选中。四个芯片的地址分配如下:第一片最低地址0000H
最高地址3FFFH
第二片最低地址4000H
最高地址7FFFH
第三片最低地址8000H
最高地址BFFFH
第四片最低地址C000H
最高地址FFFFH3、字和位同时扩展
当构成一个容量较大的存储器时,往往需要在字数方向和位数方向上同时扩展,这将是前两种扩展的组合,实现起来也是很容易的。如用16K×4的SRAM组成64K×8的存储器,需要?芯片。2:4译码器D7~D0A13~A0WED7~D4D3~D016K×416K×416K×416K×416K×416K×416K×416K×4CS0A14A15CS1CS2CS3字位同时扩展:2114存储芯片1K×4扩展成2K×8存储器D4--D7D3--D0A0A1…A9WECPUA102114CSR/W2114CSR/W2114CSR/W2114CSR/W[例]:利用2K×4位的存储芯片,组成16K×8位的存储器,共需要多少块芯片?
[解]:(16K×8)/(2K×4)=8×2=16即:共需16块芯片。(既需要位扩展,又需要字扩展)[例]:利用1K×4位的存储芯片,组成2K×8位的存储器,共需要芯片数:(2K×8)/(1K×4)=2×2=44、存储器的地址分配(1)片选方法线选法(译码)——高位未用地址线直接作片选信号,接存储芯片CS引脚。部分译码(法)——将部分高位地址线,经译码器译码后作片选信号,接存储芯片CS引脚全译码(法)——将全部高位地址线,经译码器译码后作片选信号,接存储芯片CS引脚
A9~A0
D7~D0
A9~A0
CS
OE2114
WED7~D4
A9~A0
D7~D0
A9~A0
CS
OE2114
WE
D7~D4
A9~A0
D7~D0
A9~A0
CS
OE2114
WE
D7~D4
A9~A0
D7~D0
A9~A0
CS
OE2114
WE
D7~D4
A13
A12
A11
A10
A9~A0
D7~D0
WE
RD
1)用线选法将2114(1K×4)芯片组成4KB存储器组A15~A14A13~
A10A9~A0一个可用地址1234××××××××1110110110110111全0~全1全0~全1全0~全1全0~全13800H~3BFFH3400H~37FFH2C00H~2FFFH1C00H~1FFFH
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D4
6:64译
码
器
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D4
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D4
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D0
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D0
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D4
A15~A10
A9~A0
IO/M
CPU
WE
D7~D0
2)用全译码法将2114芯片组成4KB存储器
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D4
译码器
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D4
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D4
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D0
A9~A0
D7~D0
A9~A0
CS
2114
WE
D7~D4
A15
︰
A12
A11
A10
A9~A0
IO/M
CPU
WE
D7~D0
3)用部分译码将2114芯片组成4KB存储器A15~A12A11~
A10A9~A0一个可用地址1234××××××××××××××××00011011全0~全1全0~全1全0~全1全0~全10000H~03FFH0400H~07FFH0800H~0BFFH0C00H~0FFFH未用★例:某CPU为16位地址线,主存储器设计如图,用2片ROM和2片RAM构成,读写控制信号分开。请分析该主存的技术参数、片选方式、地址分配情况。思考题:某SRAM芯片,存储容量为64K×16位,该芯片的地址线和数据线数目为______。A64,16B16,64C64,8D16,16思考题:某计算机字长32位,其存储容量为4MB,若按半字编址,它的寻址范围是______。A0~32MB0~4MC0~2MD0~1M思考题:某计算机字长16位,它的存贮容量是64KB,若按字编址,那么它的寻址范围是_____A.0~64KB.0~32KBC.0~64KBD.0~32k思考题:某机字长32位,存储容量为1MB,若按字编址,它的寻址范围是_____。A.0~1MB.0~512KBC.0~256KD.0~256KB思考题:某RAM芯片,其容量为512×8位,除电源和接地端外,该芯片引出线的最小数目应是____。A.23B.25C.17D.19思考题:某DRAM芯片,其存储容量为512K×8位,该芯片的地址线和数据线数目为______。A.8,512B.512,8C.18,8D.19,8思考题:在无其他说明时,存储单元是指____。A.存放一个二进制信息位的存储元B.存放一个机器字的所有存储元集合C.存放一个字节的所有存储元集合D.存放两个字节的所有存储元集合4.2.5只读存储器ROM的最大优点是具有非易失性,即使电源断电,ROM中存储的信息也不会丢失。
1、ROM的类型
ROM工作时只能读出,不能写入,那么ROM中的内容是如何事先存入的呢?我们把向ROM写入数据的过程称为对ROM进行编程,根据编程方法的不同,ROM通常可以分为以下几类:(1)掩膜式ROM(MROM)它的内容是由半导体生产厂家按用户提出的要求在芯片的生产过程中直接写入的,写入后任何人都无法改变其内容。(2)一次可编程ROM(PROM)
PROM允许用户利用专门的设备(编程器或写入器)写入自己的程序,但一旦写入后便无法改变,因此它是一种一次性可编程的ROM。(3)可擦除可编程ROM用户利用编程器写入,而且可以对其内容进行多次改写。但要注意的是:在+5V的电源条件下只能读出不能写入,用编程器写入信息时必须用+25V的高压。与前两种ROM相比,EPROM使用起来最为方便,因此应用非常广泛。EPROM(紫外线擦除)用紫外线灯进行擦除的,所以只能对整个芯片擦除,而不能对芯片中个别需要改写的存储单元单独擦除和重写。
EEPROM(电擦除)用电气方法来进行擦除的,它在联机条件下可以用字擦除方式擦除,也可以用数据块擦除方式擦除。以字擦除方式操作时,能够只擦除被选中的那个存储单元的内容;在数据块擦除方式操作时,可擦除数据块内所有单元的内容。(4)闪速存储器(flashmemory)
一种快擦写型存储器,它的主要特点是:既可在不加电的情况下长期保存信息,又能在线进行快速擦除与重写,兼备了EEPROM和RAM的优点。目前,大多数微机的主板采用闪速存储器来存储BIOS(基本输入/输出系统)程序。闪速存储器除了具有ROM的一般特性外,还有低电压改写的特点,便于用户自动升级BIOS。FlashMemory可用作固态大容量存储器。分类:常用的为NOR型和NAND型。
通常,NOR型比较适合存储程序代码,其随机读写速度快,但容量一般较小(比如小于32MB),且价格较高;而NAND型容量可达lGB以上,价格也相对便宜,适合存储数据,但一般只能整块读写数据,随机存取能力差。4.3并行存储器结构1.双端口存储器(P84)1)结构
一个存储体,两组相互独立的读写控制电路(P85图)总线信号:AB,DB,CB应用如图:4.3并行存储器结构2)特点——并行(双端口同时访问)
高速3)读写——区分左右通道L/R
通道信号4)冲突——当两个端口同时存取同一个存储单元,产生
读写冲突。解决方法:设置BUSY标志2.多体(模块)交叉存储器(P87)
速度和容量是主存储器设计的两大主要课题。如果主存储体由物理上互相分隔的若干个模块构成,并给每个模块配置自己的存储器地址寄存器(MAR)、存储器数据寄存器(MDR)和读写电路,使每个模块都成为一个能独立进行读写操作的存储器,那么就有可能在任一给定时刻对几个模块同时执行读或写操作,从而提高整个主存的平均存取时间。
由多个能独立操作的模块所组成的存储器,称为多模块存储器(多体存储器),其地址分配方案有两种:顺序方式、交叉方式。1)顺序方式特点:易扩充容量故障局部性。各模块彼此串行工作主存地址被分成高n位和低m位,高位(n)表示模块号,低位(m位)表示块内地址;2)交叉方式特点:多模块并行工作,速度快不易扩展故障全局性。主存地址被分成高n位和低m位,低位表示模块号,高位表示块内地址;各模块间采用多模块交叉编址;
3、多模块交叉存储器的基本结构主存被分为4个相互独立、容量相同的模块,每个模块有自己的读写控制电路、地址寄存器和数据寄存器,各自以同等的方式与CPU交换信息,大大提高存储器的带宽。4.4Cache存储系统引出:1、Cache作用(P90)在相对容量较大而速度较慢的主存与高速处理器之间设置的少量但快速的存储器程序具有局部性原理,把程序中正在使用的部分存放在一个高速的容量较小的Cache中,使CPU的访存操作大多数针对Cache进行,从而使程序的执行速度大大提高4.4.1Cache基本原理4.4.1Cache基本原理Cache和主存都被分成若干个大小相等的块,每块由若干字组成。CPU与cache之间的数据交换以字为单位Cache与主存间的数据传送以数据块为单位一个块(Block)由若干字组成2、Cache基本结构(P91)4.Cache的命中率当CPU读取主存中的一个字时,该字的主存地址被发给Cache和主存,Cache控制逻辑依据地址判断该字当前是否存在于Cache中若在,该字立即被从Cache传送给CPU,称为命中;若不在,则用主存读周期把该字从主存读出送到CPU,同时把含有这个字的整个数据块从主存读出送到Cache中,并采用一定的替换策略将Cache中的某一块替换掉。
Cache的工作效率通常用“命中率”来表示命中率:CPU要访问的信息在Cache中的概率Cache的命中率越高,CPU访问主存的速度就越接近访问Cache的速度通常Cache的容量越大,存储的块也越多,CPU的命中率就越高但当Cache的容量达到一定值时,命中率并不会随着容量的增大而增加,而成本却相应增加所以,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【例】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)=84.3%ta=tc/e=50ns/0.833=60ns
或者,ta=h·tc+(1-h)·tm=60nsCache结构Cache的数据块称为行(线Line,槽Slot)用Li表示,其中i=0,1,…,m-1,共有m=2r行主存的数据块称为块(Block)用Bj表示,其中j=0,1,…,n-1,共有n=2s块行与块是等长的,包含k=2w个主存字字是CPU每次访问存储器时可存取的最小单位Cache由数据存储器和标签存储器组成数据存储器:高速缓存主存数据标签存储器:保存数据所在主存的地址信息Cache的容量很小,保存的只是主存内容的一个子集,且Cache与主存的数据交换是以块为单位。为了把信息放到Cache中,必须应用某种函数把主存地址定位到Cache中,这称为地址映射CPU执行程序时,会将程序中的主存地址变换成Cache地址,这个变换过程叫做地址变换假设某台计算机主存容量为1MB,被分为2048块,每块512B,Cache容量为8KB,被分为16块,每块也是512BCache存储器分块Cache共分为2r=m
块,块地址编码为r位。Cache块长=2w
个单元时,块内单元地址需要w位编码主存分块主存为配合Cache存储器的工作,采取了同样的分块方式,即主存的块长与Cache的块长相等。主存共分为2s=n块,块地址编码为s位。主存块长=2w
个单元,块内单元地址编码为w位。主存容量=2s+w,主存的(字节)地址编码为s+w位★例:主存2MB,Cache16KB,块长32B。求位数w=?s=?r=?求块数m=?n=?4.4.2主存与Cache的地址映射Cache通过地址映射(mapping)的方法确定主存块与Cache行之间的对应关系,确定一个主存块应该存放到哪个Cache行中全相联映射(fullyassociativemapping)可以将一个主存块存储到任意一个Cache行直接映射(directmapping)将一个主存块存储到唯一的一个Cache行组相联映射(setassociativemapping)可以将一个主存块存储到唯一的一个Cache组中任意一个行直接映射、2/4/8路组相联映射使用较多全相联映射1、全相联(P93图)组织:主存任意块→Cache任意块。标记存放:主存块地址s位地址映射:无约束关系(i:Cache块号,j:主存块号)Cache控制器结构:Cache所有块标记参加比较优点:命中率高问题:比较电路复杂直接映射2、直接映射(P94图)组织:主存按Cache长度分区,同行块为一组,组内主存块直接映射到指定Cache块。标记存放:主存区地址s-r位(见前页图)地址映射:公式i=j(mod2r=m)(i:Cache块号,j:主存块号)Cache控制器结构:Cache仅一个块标记参加比较优点:电路简问题:命中低★例:设有一简化Cache存储系统,采取直接相联方式映像,按4个32位的字分块,主存有8块,Cache存储器有4块。问:(1)主存的7号块映射到Cache存储器的哪一字块中?(2)CPU读主存地址1001001单元中的内容时,可在Cache存储器的什么地址中找到其信息?解:(1)地址映射公式:i=j(mod2r=m)=7mod4=3主存7号块映射到Cache3号块中(2)主存地址分解1001001映射到Cache存储器后,单元地址是001001w位s位r位练习:已知某计算机存储系统主存由2片6164芯片(8K×8位)构成,Cache存储器为1KB。该存储系统按4个32位字分块,采用直接相联方式映像。问:1、主存地址有多少位?2、主存有多少块?3、Cache存储器地址有多少位?4、Cache存储器有多少块?5、Cache存储器的块地址有多少位?6、主存的123H号块映射到Cache存储器的块地址是多少?(用二进制表示)7、映射后,Cache标记的内容是什么?(用二进制表示)★例:已知某计算机存储系统主存由2片6164芯片(8K×8位)构成,Cache存储器为1KB。该存储系统按4个32位字分块,采用直接相联方式映像。问:主存地址有多少位?【答:16K=2^14→14位主存有多少块?【答:16K÷(4×32÷8)=1024块Cache存储器地址有多少位?【答:1K=2^10→10位Cache存储器有多少块?【答:1K÷(4×32÷8)=64块Cache存储器的块地址有多少位?【答:64=2^6→6位主存的123H号块映射到Cache存储器的块地址是多少?(用二进制表示)【答:主存地址0100100011映射为Cache地址是取后6位,=100011。映射后,Cache标记的内容是什么?(用二进制表示)【答:标记为主存区号,=0100。组相联映射3、组相联——k路组相联组织:Cache分路,主存按Cache路长分区,同行块为一组,组内主存块映射到组内Cache块(Cache块地址依组排序=横排)2023/1/3185标记存放:主存区地址s-d位地址映射:公式i=jmod2dCache控制器结构:Cache组内2r-d=k个块标记参加比较★例:设有一简化Cache存储系统,采取组相联方式映像,Cache共有8个块,分为2个组。某次工作时,CPU访存读操作的块地址序列为:10110,11010,11011,10000……问:若Cache存储器原始为空,每次CPU访存后,Cache中的内容是如何变化的?解:地址映射公式:i=(jmod2d)=(jmod2)1)主存块10110B=22→i=0+X→在Cache的0号组中安排0号块→i=02)主存块11010B=26→i=0+X→在Cache的0号组中安排1号块→i=13)主存块11011B=27→i=1+X→在Cache的1号组中安排0号块→i=04)主存块10000B=16→i=0+X→在Cache的0号组中安排2号块→i=201237654★例:某计算机主存地址为32位,按字节编址。设:Cache为128块,采用4路组相联方式,块大小为64Byte,每块设置了1位有效位。采用一次性写回(WriterBack)策略,为此每块设置1位“脏(Dirty)”位。要求:(1)分别指出主存地址中标记(Tag)、组号(Index)和块内地址(Offset)三部分的位置和位数(2)计算该数据Cache的总位数(请给出详细计算过程解:(1)块=64B=2^6B,∴w=6位,主存地址低6位Cache块=128=2^7,路=4=2^2,∴d=5位,主存地址中间5位主存地址=32位,∴标记=32-w-d=21位,主存地址高21位(2)Cache数据块位数=128块×64×8=65536Cache的标记项总位数=128块×(21+1+1)=2944Cache的总位数=65536+2944=68480bit★例:假设主存容量为512KB,cache容量为4KB,每个字块为16个字,每个字32位,按字节编址。(1)cache地址有多少位?可容纳多少块?(2)主存地址多少位?可容纳多少块?(3)在直接映射方式下,主存的第几块映射到cache的第5块(设起始字块为第1块)?(4)画出直接映射方式下主存地址字段中各段的位数。答案:(1)12,64(2)19,8192(3)5,64+5,2×64+5,……..,213-64+5(4)主存标记7位(s-r)+6位(r)+6位(w)★例:某计算机的cache共有16块,采用2路组相联映射方式,每个主存块大小32字节,按字节编址。主存129号单元所在的主存块应装到的cache组号是————。A0B2C.4D6Cache存储系统★思考题:主存贮器和CPU之间增加Cache的目的是___。A解决CPU和主存之间的速度匹配问题B扩大主存贮器容量C扩大CPU中通用寄存器的数量D既扩大主存贮器容量,又扩大CPU中通用寄存器的数量★思考题:以知Cache命中率H=0.98,主存比Cache慢四倍,以知主存存取周期为200ns,求Cache/主存的效率和平均访问时间。解:R=Tm÷Tc=4;Tc=Tm÷4=50nsE=1÷[R+(1-R)H]=1÷[4+(1-4)×0.98]=0.94Ta=Tc÷E=Tc×[4-3×0.98]=50×1.06=53ns。Cache存储系统★思考题:已知Cache/主存系统效率为85%,平均访问时间为60ns,Cache比主存快4倍,求主存储器周期是多少?Cache命中率是多少?解:∵ta=tc÷e∴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.944.4.3替换策略替换问题新主存块要进入Cache,决定替换哪个原主存块直接映射,只能替换唯一的一个Cache行全相联和组相联,需要选择替换策略(算法)1.最不常用(LFU:least-frequentlyused)
替换使用次数最少的块(计数器每访问一次就增1)2.最近最少使用法(LRU:least-recentlyused)
本指替换近期最少使用的块,实际实现的是替换最久没有被使用的块(命中行计数器清零,其他行增1)3.随机法(random)
随意选择被替换的块,不依赖以前的使用情况4.4.4写入策略Cache存储系统的主要存储空间是主存,Cache存储器中存放的只是内容的副本(映像)。程序执行过程中,如果对某个单元进行了写操作,内容是写入Cache存储器的。将修改过的内容副本送回主存保存,保持Cache存储器与主存内容一致。写入策略解决主存内容的更新问题,保持正确写回法写直达法主存直接写(1)写回法所有修改都在Cache存储器中完成,并用标志将修改过的块进行注明。当Cache存储器中做过标注的块被从Cache存储器中替换出来的时候,将整块内容一次全部写入主存。优点:操作速度快。缺点:实现起来技术比较复杂(2)写直达法(全写法Writethrough)将每次写入Cache存储器中的内容同时写入主存,使Cache存储器与主存始终保持一致。优点:随时保持主存数据的正确性。缺点:若一个块中有多个数据被修改,就需要多次对主存进行写操作,这将大大影响计算机的运行速度。(3)主存直接写若程序写入的数据位置根本不在Cache存储器中(如某一操作数),此时的写操作将把内容直接写入主存,不需要再经过Cache存储器。80486的片上Cache指令和数据共用的4路组相联Cache结构8KB容量分成128组,每组有4路,每组每路为一行,每行16个字节(128位)每行对应21位标签,一个有效位每组中4路对应3位LRU位,用于实现伪LRU替换算法采用4级缓冲直写策略,允许6个连续的写操作而无等待写命未中时,采用不写分配法,只将数据写入主存,不进行Cache的回填80486片上Cache的结构Pentium的片上Cache指令和数据分离的2路组相联Cache结构指令Cache和数据Cache都是8KB,共16KB8KB容量分成128组,每组2路,每行32个字节LRU算法,回写策略(可动态改变为直写策略)4.5
虚拟存储器1、虚拟存储系统构造(P100)4.5
虚拟存储器2、虚拟存储器的基本概念
虚拟存储器由主存储器和联机工作的辅助存储器(通常为磁盘存储器)共同组成,这两个存储器在硬件和系统软件的共同管理下工作,对于应用程序员是透明的,可以把它们看作是一个单一的存储器。虚拟存储器将主存或辅存的地址空间统一编址,形成一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风电项目规划选址论证报告
- 后浇带混凝土处理施工指南
- 洪涝灾害遥感数据质量核查报告
- 医院精细化管理院感风险管控手册
- 新型农药制剂项目技术方案
- 高纯电子级氧化铜粉项目竣工验收报告
- 吉林卷 科学 2013年中考四月调考
- 中职钳工实训车间建设标准
- 2026海南定安县融媒体中心招聘就业见习生4人考前冲刺试卷(预热题)附答案详解
- 仙女湖区2026年小学教师选调笔试题库(基础题)附答案详解
- 养老院章程范本2016
- DB52T 1283-2018 精准扶贫 农村“组组通”硬化路建设与管理养护规范
- 车厢维修合同范本
- CSAE标准-汽车整车气动声学风洞风噪试验-车内风噪测量方法编制说明
- (高清版)JTG 3810-2017 公路工程建设项目造价文件管理导则
- 英语48个国际音标课件(单词带声、附有声国际音标图)
- 安徽省蚌埠市蚌山区2023-2024学年八年级上学期月考数学试题
- 标准钎探记录表
- SFSP5660锤片式粉碎机使用说明书
- 建筑马明哲的管理之路平安心语
- 先天性心脏病介入治疗的护理
评论
0/150
提交评论