版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章
存储系统5/10/2026l掌握半导体存储器的分类、组成及组成部件的作用及工作原理、读/写操作的基本过程。l掌握SRAM、DRAM芯片的组成特点、工作过程、典型芯片的引脚信号、了解DRAM刷新的基本概念。l掌握半导体存储器的主要技术指标、芯片的扩充、CPU与半导体存储器间的连接。l熟悉Cache的基本概念、特点、在系统中的位置。l熟悉虚拟存储器的基本概念、特点、工作原理。5/10/20262存储器的出现1951年,中国移民王安发明了磁芯存储器,IBM于1956年购买了这项技术专利。5/10/202633.1存储器概述
存储器是计算机系统中的记忆设备,用来存放程序和数据。存储元:存储一位(bit)二进制代码的存储元件称为基本存储单元(或存储元、存储位、记忆单元)。存储单元:主存中最小可编址的单位,是CPU对主存可访问操作的最小单位。存储体:多个存储单元按一定规则组成一个整体。存贮器:存贮体同周围的逻辑线路一起组成。存贮体中,为区分不同的存贮单元,对每一单元给一个编号,这个编号叫地址,地址与存贮单元一一对应。5/10/20264存储器分类按存储介质分:半导体存储器、磁表面存储器按存储方式分:随机存储器、顺序存储器按存储器的读写功能分:只读存储器(ROM)、随机读写存储器(RAM)按信息的易失性分:非永久记忆的存储器、永久记忆性存储器按在计算机系统中的作用分:主存储器、辅助存储器、高速缓冲存储器、控制存储器等。5/10/20265分级存储体系对存储器的要求:容量大,速度快,成本低难以兼顾三者???采用多级存储器体系结构5/10/20266AnexamplememoryhierarchyregistersL0:on-chipL1
cache(SRAM)L1:off-chipL2
cache(SRAM)L2:localsecondarystorage(localdisks)L4:L5:remotesecondarystorage(distributedfilesystems,Webservers)Larger,slower,andcheaper(perbyte)storagedevicesSmaller,faster,andcostlier(perbyte)storagedevicesmainmemory
(DRAM)L3:L3:5/10/20267存储系统的分层结构
——MemoryHierarchy
存储器访问的局部性(Locality)原理时间局部性:当前正在使用的信息很可能是后面立即还要用的信息,例程序循环和堆栈操作.空间局部性:指连续使用到的信息很可能在存储空间上相邻或相近,以顺序执行的程序和数据(如数组),便是如此.访问顺序性:指令顺序执行比转移执行的可能性大(约5:1)局部性原理是存储系统层次结构技术可行性的基础。一般:CPU频繁访问的信息
高速存储器中
CPU不频繁访问的信息
低速存储器中5/10/20268存储系统的层次结构
三级两层次的整体。用户就可以使用一个大容量(决定于辅存)、低价格(接近于辅存)、高速度(主要决定于高速缓存)的存储器系统
CPU高速缓存(Cache)辅助硬件主存辅助存储器辅助软、硬件三级存储系统5/10/20269分级存储体系5/10/202610主存储器的技术指标存储器的技术指标包括:存储容量;存取时间(存储器访问时间)、存储周期和存储器带宽;可靠性;功耗及集成度等。
指标存储容量存取时间存储周期存储器带宽
含义在一个存储器中可以容纳的存储单元总数启动到完成一次存储器操作所经历的时间连续启动两次操作所需间隔的最小时间单位时间里存储器所存取的信息量
表现存储空间的大小主存的速度主存的速度数据传输速率技术指标
单位字数,字节数nsns位/秒,字节/秒5/10/202611主存储器的技术指标
存取时间TA(MemoryAccessTime):存储器收到读或写的地址到从存储器读出(写入)信息所需的时间.存储周期TM(MemoryCycleTime):指连续启动二次独立的存储器操作(例连续2次读)所需间隔的最小时间.一般TM>TA.带宽BM:指每秒访问二进制位的数目.
BM=W/TM例:若TM=500ns,每周期访问16位,则BM=16/0.5=32Mbps要提高BM可从以下三方面入手:(1)使TM
(2)使W
(3)增加存储体容量:指计算机存储信息的能力,即最大的二进制信息量,以b或B表示。
5/10/2026123.2随机读写存储器半导体记忆元件:二进制的记忆元件要有2个确定状态,表示逻辑值“0”和“1”检测2个状态电信号.转换工艺双极型MOS型TTL型ECL型速度很快、功耗大、容量小电路结构PMOSNMOSCMOS功耗小、容量大工作方式静态MOS动态MOS(静态MOS除外)5/10/202613(1)RAM(RandomAccessMemory):能随机地对存储器中任一单元存取,存取时间与该单元的物理位置无关.要求:有2种稳定状态.在外部信号激励下,2种稳定状态能进行无数次相互转换.在外部信号激励下,能读出2种稳定状态.存储可靠.
主存的组成5/10/202614
主存的组成(2)RAM分类:
SRAM(StaticRAM):即静态RAM
-利用开关特性记忆,只要电源有电,就能稳定保存信息.
DRAM(DynamicRAM):即动态RAM
-除需电源外,还要定期对它充电(刷新).5/10/202615
主存的组成(3)SRAM记忆元件:有双极型和MOS型两种以MOS为例
当栅极和源极间加有正电压Vgs(大于门限电压)时,D与S间形成一个导电沟道,MOS导通。单管MOS存储单元没有记忆功能,必须使用具有双稳态的触发器作为记忆元件G
VCCDS-SourceGate-Drain5/10/202616
3.2.1SRAM存储器T1,T2—工作管T3,T4--负载管,作为阻抗T5,T6,T7,T8—(控制管)读写控制门,用来选中记忆单元一个存储元表示一位二进制的1和0.设T1截止,T2导通,“1”态(A=1,B=0)T1导通,T2截止,“0”态(A=0,B=1)A、B两点电位总是相反MOS管静态记忆单元特点:优点:非破坏性读出,抗干扰强,可靠.缺点:记忆单元管子多,占硅片面积大,功耗较大,集成度不高.Vss(0V)T4T3T1T2T7T8T5T6VDD(5V)I/OO/IY地址译码线X地址译码线AB5/10/202617六管MOS单元的读写过程写操作
写“1”:在I/O线上输入高电位,在I/O线上输入低电位,开启T5,T6,T7,T8四个晶体管。把高、低电位分别加在A,B点,使T1管截止,使T2管导通,将“1”写入存储元.
写“0”:在I/O线上输入低电位,在I/O线上输入高电位,打开T5,T6,T7,T8四个开门管。把低、高电位分别加在A,B点,使T1管导通,T2管截止,将“0”信息写入了存储元。读操作若某个存储元被选中,则该存储元的T5,T6,T7,T8管均导通,A,B两点与位线D与D相连。存储元的信息被送到I/O与I/O线上。I/O与I/O线接着一个差动读出放大器,从其电流方向可以判知所存信息是“1”还是“0”。5/10/202618A´T1
~T4T5T6T7T8A写放大器写放大器DIN写选择读选择读放位线A位线A´列地址选择行地址选择DOUT
①静态RAM基本电路的读
操作行选
T5、T6开T7、T8开列选读放DOUTVAT6T8DOUT5/10/202619T1~T4T5T6T7T8A´ADIN位线A位线A´列地址选择行地址选择写放写放读放DOUT写选择读选择
②静态RAM基本电路的写
操作行选T5、T6开两个写放DIN列选T7、T8开(左)
反相T5A´(右)
T8T6ADINDINT75/10/202620基本的静态存储元阵列
存储位元:
锁存器(触发器)三组信号线地址线数据线控制线5/10/202621SRAM存储器芯片实例5/10/202622123456789181716151413121110A2A1A0A3A4A5A6A7A8A9CSGNDVCCD3D2D1D0R/WRAM2114管脚图故其容量为:1024字×4位(又称为1K×4)RAM2114共有10根地址线,4根数据线。5/10/202623存储器的读、写周期5/10/202624存取周期:读周期时间TRC=写周期时间tWC5/10/2026253.2.2DRAM存储器动态RAM是利用栅极电容上的电荷来记忆信息的。电容上的电荷有泄漏,不可能长久保存,因此需要定时充电补充,这个过程叫刷新。这种电路因要不断补充电荷,故称为动态存贮单元电路。5/10/202626CDVss(0V)CD四管DRAM存储器Vss(0V)T1T2T5T7T8T6I/OO/IVss(0V)预充T10T9EDX地址译码线Y地址译码线ABC1C2DD5/10/202627四管DRAM存储器写操作Vss(0V)T1T2T5T7T8T6I/OO/IVss(0V)Vss(0V)预充T10T9EDX地址译码线Y地址译码线ABC1C2CDCD截止状态导通装态低电位高电位放电充电DD5/10/202628四管DRAM存储器读操作Vss(0V)T1T2T5T7T8T6I/OO/IVss(0V)Vss(0V)预充T10T9EDX地址译码线Y地址译码线ABC1C2CDCDDD5/10/2026291、MOS管做为开关使用,而所存储的信息1或0则是由电容器上的电荷量来体现——当电容器充满电荷时,代表存储了1,当电容器放电没有电荷时,代表存储了0。2、图(a)表示写1到存储位元。此时输出缓冲器关闭、刷新缓冲器关闭,输入缓冲器打开(R/W为低),输入数据DIN=1送到存储元位线上,而行选线为高,打开MOS管,于是位线上的高电平给电容器充电,表示存储了1。3、图(b)表示写0到存储位元。此时输出缓冲器和刷新缓冲器关闭,输入缓冲器打开,输入数据DIN=0送到存储元位线上;行选线为高,打开MOS管,于是电容上的电荷通过MOS管和位线放电,表示存储了0。4、图(c)表示从存储位元读出1。输入缓冲器和刷新缓冲器关闭,输出缓冲器/读放打开(R/W为高)。行选线为高,打开MOS管,电容上所存储的1送到位线上,通过输出缓冲器/读出放大器发送到DOUT,即DOUT=1。5、图(d)表示(c)读出1后存储位元重写1。由于(c)中读出1是破坏性读出,必须恢复存储位元中原存的1。此时输入缓冲器关闭,刷新缓冲器打开,输出缓冲器/读放打开,DOUT=1经刷新缓冲器送到位线上,再经MOS管写到电容上。注意,输入缓冲器与输出缓冲器总是互锁的。这是因为读操作和写操作是互斥的,不会同时发生。单管动态存储电路5/10/202630DRAM存储器名称优点缺点四管存储元电路外围电路比较简单,刷新时不需要另加外部逻辑管子多,占用的芯片面积大单管存储元电路元件数量少,集成度高需要有高鉴别能力的读出放大器配合工作,外围电路比较复杂。5/10/202631DRAM存储芯片实例16K*1位DRAM芯片21165/10/202632DRAM存储器读/写周期读周期、写周期的定义是从行选通信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间,也就是连续两个读周期的时间间隔。通常为控制方便,读周期和写周期时间相等。5/10/202633DRAM的刷新刷新周期:动态MOS存储器采用“读出”方式进行刷新。从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫刷新周期,一般为2ms,4ms或8ms。常用的刷新方式有:集中式分散式异步式5/10/202634集中刷新方式RW刷新刷新RW刷新…RW…RW刷新间隔2ms读写/维持刷新过程/死区50ns50ns2ms内集中安排所有刷新周期。用在实时要求不高的场合。5/10/202635分散刷新方式RW刷新刷新RW刷新…RW…RW刷新间隔2ms50ns50ns存储周期各刷新周期分散安排在存取周期中。用在低速系统中5/10/202636异步刷新方式RW刷新1…RWRW15.5微秒50nsRW128…RW…各刷新周期分散安排在2ms内每隔一段时间刷新一行。每隔15.5微秒提一次刷新请求,刷新一行;2毫秒内刷新完所有行用在大多数计算机中。2ms128行≈15.5微秒15.5微秒50ns5/10/202637DRAM存储器控制电路5/10/202638DRAM的发展FPMDRAM(FastPageModeDRAM)EDRAM(EnhancedDRAM)在普通DRAM芯片中增加了一小容量的SRAMCache,猝发式读取可以大大提高访问速度EDODRAM(EnhancedDataOutDRAM)SDRAM(SynchronousDRAM)PC66PC100PC133168pinDDRSDRAM(doubledataratesynch.DRAM)PC1600PC2100PC2700PC3200184/240pinDDR200DDR266DDR333DDR400RDRAM(RambusDRAM)。。。5/10/202639FPMDRAM(快速页模式动态存储器)根据程序的局部性原理来实现的。页是由一个唯一的行地址和该行中所有的列地址确定的若干存储单元的组合。快速页模式允许在选定的行中对每一列地址进行快速的读/写操作。同步DRAM(SDRAM)普通DRAMCPU访问的过程是先给出要访问单元的地址和控制信号(R/W),经过一段延迟时间(存取时间)向DRAM写入数据或从DRAM中读出数据。在这一段延迟时间内,CPU只能等待。SDRAM与CPU的数据交换时钟信号同步,且以处理器/主存总线的最高速度运行,不需要等待时间。DDRSDRAMDDR(DoubleDataRate)SDRAM。利用时钟周期的上沿和下沿分别进行两次数据传输,从而实现双倍数据传输速率5/10/2026403.2.3主存储器结构存储体读写电路驱动器译码器地址寄存器MAR地址总线….….….....数据寄存器MDR数据总线...控制电路….读
写5/10/202641存储器的组成组成一个存储器时需考虑的问题:①芯片的选择类型;速度、容量、功耗等②芯片的数量③芯片的连接5/10/202642存储器扩展的主要方法位扩展只在位数方向扩展(加大字长)数据线的扩展字扩展仅在字数方向扩展地址线的扩展字位扩展在位数方向和字数方向上扩展数据线和地址线的扩展5/10/2026431.位扩展当芯片的存储单元数满足存储器要求,但位数不满足要求时,需要进行位扩展。位扩展的连接方式:各存储器芯片的地址线、片选信号线和读/写控制线对应并接各芯片的数据线单独列出5/10/202644用1K×4位存储器芯片组成1K
×
8位的存储器?片例1:用2114存储器芯片组成1K×8位的存储器10根地址线DD……D0479AA0•••CSWE
2片4根数据线2114#2A9……A0D3D2D1D0WECS2114#1A9……A0D3D2D1D0WECS低4位高4位8根数据线5/10/2026452.字扩展当芯片的的位数满足存储器位数的要求,而芯片的存储单元数(或字数)不满足存储器要求时,需要进行字扩展。字扩展的连接方式:将所有芯片的地址线、数据线、读/写控制线均对应地并接由片选信号选择工作芯片5/10/202646例2:用1K
×
8位存储器芯片组成2K
×
8位的存储器?片2片D7D0•••••••••••••••WEA1A0•••A9A10CS0
1CS1简单译码(门电路组成)8根数据线11根地址线1K×8位
#21K×8位
#110根地址线5/10/202647采用专用译码器扩展
如2-4线译码器74139、3-8线译码器74138、4-16线译码器4067等。例3:用16K×8位存储器芯片组成64K×8位的存储器?片
4片用16位地址线中的低14位A13~A0进行片内寻址,高两位地址A15、A14用于选择芯片,即选片寻址。14根地址线16根地址线5/10/202648设存储器从0000H开始连续编址,则四块芯片的地址分配为:
C000H~FFFFH
0000000000000011111111111111
11
4
8000H~BFFFH
0000000000000011111111111111
10
3
4000H~7FFFH
0000000000000011111111111111
01
2
0000H~3FFFH
0000000000000011111111111111
00
1地址范围片内地址
A13A12A11A10A9A8A7A6A5A4A3A2A1A0选片地址
A15A14芯片号5/10/202649BY0Y1AY2Y3A13CSA12#416K×8位A0WED7~D0A13CSA12#316K×8位A0WED7~D0
A13CSA12#216K×8位A0WED7~D0A13CSA12#1
16K×8位A0WED7~D0
A15A14WE8D7~D0•••A13A12A05/10/2026503.字位扩展
当芯片的存储单元数和位数均不满足存储器的要求时需要进行字位扩展。字位扩展:按位扩展和字扩展的方法分别在位方向和字方向进行扩展。先位扩展再字扩展5/10/202651例4:
用1K
×
4位存储器芯片组成4K
×
8位的存储器A8A9A0...WED7D0…A11A102-4译码CS1……CS2……CS3……CS0……1K×41K×41K×41K×41K×41K×4?片8片8根数据线12根地址线4根数据线10根地址线1K×41K×45/10/202652存储器与CPU连接CPU对存储器进行读/写操作首先由地址总线给出地址信号然后要发出读操作或写操作的控制信号最后在数据总线上进行信息交流地址线的连接数据线的连接控制线的连接5/10/2026535/10/202654讨论什么时候需要进行芯片扩展?若系统需要的存储容量为128K×8位,而1)可选的芯片只有256K×8位的芯片2)可选的芯片只有128K×16位的芯片是否需要扩展?
如何处理?5/10/2026553.3半导体ROM记忆元件
——ReadOnlyMemory特点:只能读出,不能写入的无源存储器,是非易失性器件.主要用于存储常用的固定信息,根据其物理特性可分成:(1)MROM(MaskROM)
采用二次光刻掩模工艺一次制成.(2)PROM(ProgrammableROM):常用的是熔丝型.(目前已淘汰)
写入:出厂时完成,存“0”要用大电流把熔丝熔断,断后不能恢复.
由于可靠性差,并只能一次性编程,目前已经淘汰。(3)EPROM(ErasableProgrammableROM):可改写的ROM也称可擦可编程的ROM.常用的是用浮动栅雪崩注入型MOS管构成,称FAMOS(FloatinggateAvalancheinjectionMOS).按擦除方法,可分成两种EPROM.5/10/202656
半导体ROM记忆元件
——ReadOnlyMemory脱机擦除
半导体ROM记忆元件
——ReadOnlyMemory
紫外线擦除EPROM(UVEPROM--UltraVioletEPROM)特点:有一石英窗口,改写时要将其置于一定波长的紫外线灯下,照射一定时间,使浮栅上的电荷形成光电流而泄放掉.恢复到不带电的“1”状态.即回到信息擦除状态.然后才可重新写入信息.写后要贴住石英玻璃窗口.此类EPROM存在两个问题:A.用紫外线灯的擦除时间长.B.只能整片擦除,不能改写个别单元或个别位.
电可改写EPROM(EEPRPM--ElectricallyErasablePROM)
可字擦除,页擦除和全片擦除,都可联机状态下擦除.脱机擦除5/10/202657新型存储器FlashMemoryNVRAM(Non-volatileRAM)FRAM(铁电RAM)MRAM(磁阻RAM)PRAM(相变RAM)NRAM(纳米管RAM)5/10/202658闪速存储器FlashMemory闪速存储器又称快擦存储器,是在EEPROM基础上发展起来的新型电可擦可编程的非易失性存储器。特点:高密度/非易失性/读/写,兼有RAM和ROM的特点.但它只能整片擦除.可代替软盘和硬盘.擦写次数可达10万次以上.读取时间小于10ns。5/10/2026593.4并行存储器5/10/2026603.4.1双端口存储器(DualPortMemory)指同一个存储器具有两组相互独立的读写控制线路,是一种高速工作的存储器。特点:每个芯片有二组DB,AB,CB,形成二个访问端口,允许二个端口并行独立的读写.注意:如2个端口同时访问同一存储单元,由片内仲裁逻辑(Arbitrate)决定由哪个端口访问,可让2个CPU同时访MM,或1个端口面向CPU,1个面向I/O处理.5/10/202661双端口存储器—无冲突读写控制当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。当任一端口被选中驱动时,就可对整个存储器进行存取每一个端口都有自己的片选控制和输出驱动控制5/10/202662当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了BUSY标志。由片上的判断逻辑决定对哪个端口优先进行读写操作,而暂时关闭另一个被延迟的端口。当发生冲突时,判断逻辑可以使地址匹配或片使能匹配下降至5ns,并决定对那个端口进行存取。判断方式有两种:CE判断:
如果地址匹配且在CE之前有效,片上的控制逻辑在CEL和CER之间进行判断来选择端口。(2)地址有效判断:
如果CE在地址匹配之前变低,片上的控制逻辑在左、右地址间进行判断来选择端口。双端口存储器—有冲突的读写控制5/10/2026633.4.2多模块交叉存储器一、存储器的模块化组织一个由若干个模块组成的主存储器是线性编址的。地址在各模块中的安排有两种方式:一种是顺序方式,一种是交叉方式。例:设存储器容量为32字,分成M0-M3共四个模块,每个模块8个字顺序方式:
M0:0-7 M1:8-15 M2:16-23 M3:24-31交叉方式:
M0:0,4,...mod4=0 M1:1,5,...mod4=1 M2:2,6,...mod4=2 M3:3,7,...mod4=35/10/202664存储器模块的两种组织方式5/10/202665假设有n个存储体,每个存储体的容量为m个存储单元顺序方式:高位选模块,低位选块内地址特点:某个模块进行存取时,其他模块不工作,优点是某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。缺点是各模块串行工作,存储器的带宽受到了限制。每个存储体内的地址片选,存储体选择5/10/202666交叉方式(可以实现多模块流水式并行存取)高位选块内地址,低位选模块特点:连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。优点是对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。使用场合为成批数据读取。每个存储体内的地址片选,存储体选择5/10/202667二、多模块交叉存储器的基本结构四模块交叉存储器:主存被分成4个相互独立、容量相同的模块CPU同时访问四个模块,由存储器控制部件控制分时使用数据总线进行信息传递对每一模块,从CPU给出访存命令直到读出信息使用一个存取周期时间对CPU,可在一个存取周期内连续访问四个模块各模块的读写过程将重叠进行,所以是一种并行存储器结构四模块交叉存储器结构框图5/10/202668模块字长等于数据总线宽度,设模块存取一个字的存储周期为T,总线传送周期为τ,存储器的交叉模块数为m,为了实现流水线方式存取,应当满足:
T=mτm=T/τ称为交叉存取度交叉存储器连续读取m个字所需的时间为
t1=T+(m-1)τ顺序方式存储器连续读取m个字所需时间为
t2=mT
5/10/202669【例】设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期τ=50ns。问顺序存储器和交叉存储器的带宽各是多少?【解】
顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:q=64位×4=256位顺序存储器和交叉存储器连续读出4个字所需的时间分别是:
t2=mT=4×200ns=800ns=8×10-7s;
t1=T+(m-1)τ=200ns+150ns=350ns=3.5×10-7s顺序存储器和交叉存储器的带宽分别是:
W2=q/t2=256÷(8×10-7)=32×107(b/s)=320(Mb/s)
W1=q/t1=256÷(3.5×10-7)=73×107(b/s)=730(Mb/s)5/10/2026703.5Cache一、Cache的功能Cache旨在解决CPU和主存之间的速度匹配问题,提高主存系统的性价比。根据局部性原理,在主存和CPU之间设置一个高速的容量相对较小的缓冲存储器Cache若事先将CPU在某一小段时间内所要访问的程序和数据从主存调入Cache中,则当CPU需要这些程序和数据时,就不必从主存储器取指令和取数据,而只需访问这个高速存储器,这样可大大提高存取速度。Cache一般由高速的SRAM组成,工作速度接近于CPU速度。包括管理在内的全部功能由硬件实现,对程序员透明。5/10/202671ALU通用寄存器L1L2主存辅存CPU存储系统存储系统层次结构图CPUCACHEL1CACHEL2MMAMCPU与存储器系统的关系块传送字传送5/10/202672图书馆与cache的对比MainMemoryOff-chipcacheon-chipcacheDISK5/10/202673二、Cache的基本原理工作原理基于程序访问的局部性原理CPU与Cache之间的数据交换以字为单位,而Cache与主存之间的数据交换则是以块为单位的。主存和Cache都划分为相同大小的块,一个块由若干个定长字组成。5/10/202674Cache的读写过程读:CPU读主存时,把地址同时送给cache和主存,cache控制逻辑依据地址判断此字是否在cache中若在cache中,此字立即传送给CPU;否则,则用主存读周期把此字从主存读出送到CPU,同时,把含有这个字的整个数据块从主存读出送到cache中,并采用一定的替换策略将cache中的某一块替换掉,替换算法由cache管理逻辑电路来实现。写:比读操作复杂。因cache中保存的是主存中某些信息的副本,所以有主/副本一致的问题
A.CPU从cache读入数据,重新写入修改后的新数据
B.主存数据被修改造成主副本不同5/10/202675Cache的读操作流程5/10/202676cache原理图5/10/202677关键问题如何判断一个数据在cache中?数据查找DataIdentification如需访问的数据在cache中,存放在什么地方?地址映射AddressMappingcache满了以后如何处理?替换策略PlacementPolicy如何保证cache与memory的一致性?写入策略WritePolicy5/10/202678相联存储器(associativememory)
通常的存储器都是按地址访问的,而相联存储器则是按内容进行访问的。相联存储器是指其中任一存储项内容作为地址来存取的存储器。相联存储器中每个字由若干字段组成,每个字段描述对象的1个属性,即内容。存放在相联存储器中的项的格式:KEY,DATA,其中键KEY是地址,而数据DATA是被读写信息。物理地址职工号姓名出生年月工资(元)n800张明1940.25000n+1540王芳1960.13000n+2920李萍1942.540005/10/202679相联存储器相联存储器的基本原理是把存储单元所存内容的一部分作为检索项(关键字)去检索存储器,并将存储器中与检索项符合的存储单元内容进行读出或写入。基本操作:读、写、检索(比较),检索只能按内容进行。附加操作:>,<,MAX,MIN等逻辑检索,比一般M贵且复杂用途:用于虚拟存储器中存放段表、页表、快表及cache的指令cache,数据cache及数据、指令的混合cache等.5/10/202680相联存储器的组成框图比较线路译码选择电路代码寄存器符合寄存器……………12m30检索寄存器屏蔽寄存器符合寄存器00100检索寄存器00001101屏蔽寄存器00001000存储体00111111000110000000011101010101000001010
0110011001110000101111101……5/10/202681三、Cache的命中率在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有
h=Nc/(Nc+Nm)影响命中率的因素程序行为(局部性)
cache容量组织方式块大小5/10/202682平均访问时间和访问效率若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则cache/主存系统的平均访问时间ta为:
ta=htc+(1-h)tm
设r=tm/tc表示主存慢于cache的倍率,e表示访问效率,则有
为提高访问效率,命中率h越接近于1越好,r值以5—10为宜,不宜太大。5/10/202683例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=60ns5/10/202684四、主存与cache地址映射关系为了把主存块放到cache中,必须应用某种方法把主存地址定位到cache中,称为地址映射全相联(fully-associated)直接相联(directmapped)组相联(set-associated)无论选择那种映射方式,都要把主存和cache划分为同样大小的“块”。选择哪种映射方式,要考虑:硬件是否容易实现地址变换的速度是否快主存空间的利用率是否高主存装入一块时,发生冲突的概率5/10/2026851、全相联映射方式第0块第0块第1块…第n-1块………L0L1…Ln-1Cache主存………主存中任何一块均可映射到Cache中的任意一块5/10/202686全相联映射地址变换N=区内块数,阴影区表示查找范围5/10/202687Cache全相联映射载入过程222622261641618载入载入命中命中载入载入命中载入t222226222622262226222616222616422261641601234567418操作地址块号块分配情况5/10/202688特点及适用场合特点:优点:灵活,冲突概率小,cache利用率高缺点:比较器电路难于设计和实现适用场合:适用于小容量的Cache5/10/2026892、直接映射方式将主存按Cache的大小分成大小相等的区,每个区的第i块只能装入cache的第i块。若Cache块号i,共n块,主存块号j,则i=jmodn一个主存块只能拷贝到cache的一个特定位置上去第0块第0块第0区第m区第1块…第n-1块第n块第n+1块…第2n-1块第2n块……第3n-1块第mn块第mn+1块第mn+2块第(m+1)n-1块Tag0Tag1…Tagn-1Cache主存……第1区第2区区地址5/10/202690直接映射的地址变换访问cache5/10/202691Cache直接映射载入过程222622261641618载入载入命中命中载入载入命中替换t22222626222622262216262226221622160123456741618操作地址块号块分配情况5/10/202692特点及适用场合特点优点:硬件实现简单,成本低缺点:冲突概率高,cache效率降低适用场合适合大容量cache5/10/2026933、组相联映射方式首先把主存与cache按同样大小分为u组,每组v块,然后再将主存按cache大小分区。MM与cache的映射规则是:主存任何一区的i组只能映射到cache的第i组,但主存任何一组的各块可映射到cache相应组的任何一块中去。若主存块组号j,块号k,j=k/v
主存对应cache组号q,则q=jmodu5/10/202694组相联映射地址变换N=区内块数,阴影区表示查找范围,根据组号在块表中寻找组,组内相联查找。5/10/202695Cache组相联映射载入过程例:设有8个块,分成2个组222622261641618载入载入命中命中载入载入命中载入t222226262226222622261622261622426162241601234567418操作地址块号块分配情况5/10/202696Cache组相联映射载入过程例:设有8个块,分成4个组5/10/202697特点组相联映射方式是全相联映射和直接映射方式的折衷方案,适度兼顾二者的优点又尽量避免二者的缺点,因此被普遍采用。组相联映射方式的每组行数v一般较小,典型值为2、4、8、16。这种规模的v路比较器容易设计和实现,而块在组中的排放又有一定的灵活性,使冲突减少。为强调比较器的规模和存放的灵活程度,常称之为v路组相联cache。5/10/202698例:设有一个cache的容量为2K字,每个块为16字,求
(1)该cache可容纳多少个块?
(2)如果主存的容量是256K字,则有多少个块?
(3)主存的地址有多少位?cache地址有多少位?
(4)在直接映射方式下,主存中的第i块映象到cache中哪一个块中?
(5)进行地址映象时,存储器的地址分成哪几段?各段分别有多少位?解:(1)cache中有2048/16=128个块。(2)主存有256K/16=16384个块。(3)主存容量为256K=218字,所以主存字地址为18位。
cache容量为2K=211字,所以cache字地址为11位。(4)主存中的第i块映象到cache中第imod128个块中。(5)存储器的字地址分成三段:区号、块号、块内字地址。区号的长度为18-11=7位,块号为7位(128个块)。块内字地址为4位(16字)。5/10/202699五、cache的替换策略5/10/2026100替换策略先进先出法 -先装入Cache的主存块,替换时先被淘汰。用FIFO队列实现;容易实现,较好地利用空间的局部性原理最近最不经常使用(LFU)算法: -被访问的行计数器增加1,换值小的行。不能反映近期cache的访问情况近期最少使用(LRU)算法 -被访问的行计数器置0,其他的计数器增加1,换值大的行。符合cache的工作原理随机替换法 -从特定的行位置中随机地选取一行换出即可。硬件上容易实现,且速度也比前两种策略快。缺点是随意换出的数据很可能马上又要使用,从而降低命中率和cache工作效率。但这个不足随着cache容量增大而减小。随机替换策略的功效只是稍逊于前两种策略。5/10/2026101先进先出替换策略(FIFO)2211221971643载入载入命中载入载入替换替换替换t012322221122111922111971611197716161171911222222111943地址块号操作5/10/2026102最不经常使用(LFU)算法22112219111643载入载入命中载入命中载入替换替换t01232202211221111922111119222111416111162221111619112222122111194322命中221111619222操作地址块号5/10/2026103近期最少使用(LRU)算法2211221971643载入载入命中载入载入替换替换替换t01232202211102221131912231119271411621973701602216172193111222202211121904030地址块号操作5/10/2026104六、cache的写操作策略由于cache的内容是部分主存内容的副本,应该与主存内容保持一致。CPU对cache的写入更改了cache内容,如何与主存内容保持一致可采用三种写操作策略:同时CPUcacheMMcacheCPUMM先后写回法:写命中时,只改cache,只有当此行被换出时才写回主存全写法:写命中时,Cache与内存一起写写一次法:与写回法一致,但是第一次Cache命中时采用全写法5/10/20261051、写回法
CPU对cache写命中时只修改cache的内容不立即写入主存,只当此行被换出时才写回主存;每个cache行必须配置一个修改位,以反映此行是否被CPU修改过。CPU对cache写未命中时为包含欲写字的主存块在cache分配一行,将此块整个拷贝到Cache后在cache中对其进行修改将主存写修改操作统一留待换出时进行。优点:写cache与写主存分开进行方式可显著减少写主存次数缺点:但存在cache/主存不一致性的隐患5/10/20261062、全写法
CPU对cache写命中时:cache与主存同时发生写修改
CPU对cache写未命中时:直接向主存写入但是否将修改过的主存块取到cache有两种选择:一种是取主存块到cache并为它分配一个行位置另一种是不取主存块到cache优点:cache每行无需设置一个修改位以及相应的判测逻辑较好地维护了cache与主存的内容一致性缺点:cache对CPU向主存的写操作无高速缓存功能,降低了cache的功效。5/10/20261073、写一次法一种基于写回法又结合了全写法的写策略,即写命中和写未命中的处理与写回法基本相同,只是第一次写命中时要同时写入主存。这是因为第一次cache写命中时,CPU要在总线上启动一个存储器写周期。其它cache监听到此主存块地址及写信号后,即可拷贝该块或及时作废,以便维护系统全部cache的一致性。尔后若有对片内cache此行的再次或多次写命中,则按写回法处理,无需再送出信号了。5/10/20261083.6虚拟存储器(P2829.4)一、基本概念:虚拟存储器是以存储器访问局部性原理为基础,建立在主—辅存体系上的存储器管理技术.基本思想:通过某种策略,把辅存中信息的一部分调入主存,在用户面前呈现的是比主存大得多的地址空间.虚拟(逻辑)地址:是访问虚拟空间的指令地址码
面向程序员物理(实存)地址:实际主存的地址.
存储器管理:页式管理定长,以页为单位装入程序.段式管理不定长,以程序模块大小分割.段页式5/10/2026109基本概念用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。5/10/2026110虚存的访问原理虚存空间的用户程序按照虚地址编程并存放在辅存中。程序运行时CPU以虚地址访问主存,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。每次访存时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存。每个程序的虚地址空间可以远大于实地址空间,也可以远小于实地址空间。前一种情况以提高存储容量为目的;后一种情况则以地址变换为目的。通常出现在多用户或多任务系统中:实存空间较大,而单个任务并不需要很大的地址空间,较小的虚存空间则可以缩短指令中地址字段的长度。5/10/2026111Cache与虚存的异同在三级存储体系中,cache-主存和主存-辅存这两个存储层次有许多相同点:出发点相同:都是为了提高存储系统的性能价格比而构造的分层存储体系,都力图使存储系统的性能接近高速存储器,而价格和容量接近低速存储器。原理相同:都是利用了程序运行时的局部性原理,把最近常用的信息块从相对慢速而大容量的存储器调入相对高速而小容量的存储器。5/10/2026112Cache-主存和主存-辅存这两个存储层次也有许多不同之处:侧重点不同:cache主要解决主存与CPU的速度差异问题;虚存主要解决存储容量问题,另外还包括存储管理、主存分配和存储保护等方面。数据通路不同:CPU与cache和主存之间均有直接访问通路;而虚存所依赖的辅存与CPU之间不存在直接的数据通路,当主存不命中时只能通过调页解决,CPU最终还是要访问主存。透明性不同:cache的管理完全由硬件完成;而虚存管理由软件(操作系统)和硬件共同完成。未命中时的损失不同:主存的存取时间是cache的存取时间的5~10倍,而通常比辅存的存取速度快上千倍,故主存未命中时系统的性能损失要远大于cache未命中时的损失。5/10/2026113虚存机制要解决的关键问题调度问题:决定哪些程序和数据应被调入主存。地址映射问题:在访问主存时把虚地址变为主存物理地址(这一过程称为内地址变换);在访问辅存时把虚地址变成辅存的物理地址(这一过程称为外地址变换),以便换页。此外还要解决主存分配、存储保护与程序再定位等问题。替换问题:决定哪些程序和数据应被调出主存。更新问题:确保主存与辅存的一致性。在操作系统的控制下,硬件和系统软件为用户解决了上述问题,从而使应用程序的编程大大简化。5/10/2026114二、页式虚拟存储器1、页式虚存地址映射页式虚拟存储系统中虚地址空间被分成等长大小的页,称为逻辑页;主存空间也被分成同样大小的页,称为物理页每页长度是2的整数幂,从512几KB,故页的起点都落在低位字段为零的地址上地址由页号和页内地址两部分组成,按页管理,以页为单位往内存调。虚地址和实存地址分为两个字段虚地址:高字段为逻辑页号,低字段为页内地址(偏移量)实存地址:高字段为物理页号,低字段为页内地址实地址和虚地址的页内地址相同虚--实地址转换:逻辑地址
实存地址页表逻辑页号页内地址实存页号页内地址页表=5/10/2026115页式虚拟存储器页面映像的一个实例5/10/2026116CPU访主存
送程序虚地址
它在MM中?找页(主存中)
调页(从辅存)
为此要为每个程序建立一张页表.
页表:是一张虚地址页号与实地址页号的对照表,是存储管理软件在主存运行时,为每个程序自动建立的,存放在主存特定区域,对程序员是透明的。
页表信息字:是按虚页号排列来描述每张虚页的状况.含实页号和其它信息
,是虚页号
实页号.在不在对照5/10/2026117页表信息字A.实页号:即物理页号.
P=0--该虚页内容没装入内存,访问无效
P=1--该虚页内容已装入内存,访问有效
P=0查内存有否空页
启动I/O调页
P=1访问
P=1由实地址访内存
按替换策略将某页变空页
C.修改位:用于记录虚页内容在主存中是否被修改过,若改过,则当主存中这一空间被新页覆盖时,要把修改部分写回辅存.D.替换控制位:反映该页在主存中的活跃程度.E.其它:访问权限控制等.B.装入位(有效位)P0001005装入位修改位
替换位
实页号有无虚0页1号5/10/2026118页式虚拟存储器工作原理5/10/2026119页式虚拟存储器地址映象方法
与块表的区别:基号,表长,查找方式,装入位 问题:页表过长5/10/2026120456虚拟地址逻辑页号页内行地址物理页号页内行地址+页表基地址页表基址寄存器页表实存地址3300主存页面号30003003456300页式虚拟存储器地址映象5/10/2026121查页表,虚实地址转换该页在主存?读主存,取出单元操作数主存有空页淘汰旧页旧页改过?旧页调入外存从辅存调入新页更新页表YNNYNY物理地址访存(逻辑地址)调页操作流程5/10/2026122转换后援缓冲器(快表/TLB表)1.问题的提出:页表在主存中
查页表
取数
失效
页面替换修改(又访存)2.解决方法之一:把页表中最活跃部分放在高速存储器中,组成一快表(用硬件),以减少开销.
保存在主存中的完整页表则称为慢表。首次访存第2次访存*缺点:多次访存5/10/2026123TLB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业数据中心故障紧急处理方案
- 新能源材料实验室安全操作指南
- 2026年系统故障报告处理函(3篇)
- 企业品牌推广与市场策略模板
- 企业人力资源招聘流程标准化操作指引
- 企业战略管理决策与实施手册
- 公司培训资源调配标准化手册
- 企业内外部沟通协调指南促进信息流畅通
- 道德与法治班会课件
- 企业资产保护安全防范方案
- DLT596-2021电力设备预防性试验规程
- “多测合一”收费指导标准(示范文本)
- 2025届云南师大附中高一下数学期末检测试题含解析
- T-NIFA 22-2023 金融数据安全应急响应和处置指引
- 肌骨系统超声临床应用课件
- 《插花基础知识》课件
- 社会体育指导员工作规范课件
- 人教版 七年级下册 历史 期中测试(一)
- 手机保护壳工业分析与模具设计说明书-毕业论文
- 八年级数学-张美玲-海伦公式
- 2022年浙江杭州市中考英语试卷真题及答案详解(含作文范文)
评论
0/150
提交评论