资源预览内容
第1页 / 共72页
第2页 / 共72页
第3页 / 共72页
第4页 / 共72页
第5页 / 共72页
第6页 / 共72页
第7页 / 共72页
第8页 / 共72页
第9页 / 共72页
第10页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第三章第三章 存储系统存储系统 13.1 3.1 存储系统概述存储系统概述一、存储器分类一、存储器分类1 1、按存储介质分类、按存储介质分类 存储介质存储介质必须有必须有区别明显的两个物理状态区别明显的两个物理状态( (表示表示0/1)0/1) * *半导体存储器:半导体存储器:如内存;如内存; * *磁性材料存储器:磁性材料存储器:如磁盘、磁带;如磁盘、磁带; * *光介质存储器:光介质存储器:如光盘如光盘非易失存储器非易失存储器易失性存储器易失性存储器2 2、按存取方式及功能分类、按存取方式及功能分类 * *顺序存取存储器顺序存取存储器(SAM)(SAM):按按记录块记录块为单位进行编址,为单位进行编址, 存取时间与存取时间与读读/ /写头到访问地址的相对位置写头到访问地址的相对位置有关;有关; * *随机存取存储器随机存取存储器(RAM)(RAM):按按存储字存储字为单位进行编址,为单位进行编址, 存取时间与访问的地址无关存取时间与访问的地址无关( (时间固定时间固定) );23 3、按在计算机中的作用分类、按在计算机中的作用分类 * *直接存取存储器直接存取存储器(DAM)(DAM): 信息存取信息存取区域定位区域定位与与RAMRAM类似,类似,区域内操作区域内操作与与SAMSAM类似;类似; * *只读存储器只读存储器(ROM)(ROM):操作方式为操作方式为只能取、不能存只能取、不能存 可由可由RAMRAM或或DAMDAM构成,信息读取的定位由存储器结构决定构成,信息读取的定位由存储器结构决定 * *主存储器主存储器(MM)(MM):可直接可直接与与CPUCPU交换信息交换信息的的MEMMEM 构成构成MOSMOS型半导体、动态型半导体、动态RAMRAM和和ROMROM * *辅助存储器辅助存储器(AM)(AM):主存的后援主存的后援MEMMEM 构成构成磁性磁性/ /光介质材料、光介质材料、SAM/DAMSAM/DAM * *高速缓冲存储器高速缓冲存储器(Cache)(Cache):CPUCPU与主存间与主存间的缓冲的缓冲MEMMEM 构成构成MOSMOS型型半导体、静态半导体、静态RAMRAM * *控制存储器控制存储器(CM)(CM):CPUCPU内部内部存放微程序的存放微程序的MEMMEM 构成构成MOSMOS型半导体、型半导体、ROMROM3二、存储器的主要性能指标二、存储器的主要性能指标 * *容量容量(S)(S):能存储的二进制信息总量,常以字节能存储的二进制信息总量,常以字节(B)(B)为单位为单位 * *速度速度(B)(B):常用带宽、存取时间或存取周期表示常用带宽、存取时间或存取周期表示 存取时间存取时间(T(TA A) )指指MEMMEM从收到命令到结果输出从收到命令到结果输出所需时间;所需时间; 存取周期存取周期(T(TM M) )指指连续访存连续访存的最小间隔时间,的最小间隔时间,T TM M=T=TA A+T+T恢复恢复 * *价格:价格:常用总价格常用总价格C C或每位价格或每位价格c c表示,表示,c=C/Sc=C/S。 带宽带宽(B(BM M) )指指单位时间内单位时间内MEMMEM最多可读写最多可读写的二进制位数;的二进制位数; B BM M=W/T=W/TM M,其中,其中W W为一次读写的数据宽度,为一次读写的数据宽度, 常以常以bpsbps为单位为单位4三、层次结构存储系统三、层次结构存储系统1 1、层次结构的引入、层次结构的引入 * *程序访问程序访问局部性规律:局部性规律: 程序执行时,指令和数据呈现的程序执行时,指令和数据呈现的相对相对簇聚特性簇聚特性。 * *用户需求矛盾的解决方案:用户需求矛盾的解决方案: * *用户需求的矛盾:用户需求的矛盾:需求需求大容量、高速度、低价格大容量、高速度、低价格 矛盾矛盾? 时间局部性时间局部性被访问过的信息被访问过的信息,可能很快,可能很快被再次访问被再次访问; 空间局部性空间局部性被访问信息的被访问信息的相邻信息相邻信息,可能很快,可能很快被访问被访问高速度、大容量、低价格高速度、大容量、低价格 近期常用数据近期常用数据放在放在“前方前方”MEM(MEM(快而小快而小快而小快而小) )中;中; 近期不用数据近期不用数据放在放在“后方后方”MEM(MEM(慢而大慢而大慢而大慢而大) )中。中。52 2、层次结构的存储系统、层次结构的存储系统(1)(1)层次存储系统组成层次存储系统组成 * *思想:思想:用用多种类型多种类型MEMMEM构成前方构成前方- -后方的后方的层次结构层次结构; 各层各层MEMMEM之间信息传递之间信息传递是是“透明透明”的的S SM1M1SSM2M2BBM2M2B BMnMn 前方前方MEMMEM中信息中信息为后方为后方MEMMEM中信息的中信息的副本副本;寄存器寄存器M M1 1M M2 2M Mn n存储系统存储系统CPUCPUM M1 1M M2 2M Mn n(2)(2)常见的存储系统层次结构常见的存储系统层次结构 围绕主存的层次结构一般为围绕主存的层次结构一般为“Cache-Cache-主存主存- -辅存辅存”三种三种MEMMEM构成的构成的两个存储层次两个存储层次CacheCache辅存辅存主存主存6 * *“Cache-Cache-主存主存”存储层次:存储层次: -设置设置高速缓冲存储器高速缓冲存储器 目标目标解决解决主存速度主存速度问题问题(Cache(Cache的速度,主存的容量的速度,主存的容量) )CPUCPUCacheCache主存主存辅助辅助硬件硬件主存主存地址地址CPUCPU主存主存辅存辅存辅助辅助软件软件主存主存地址地址程序覆盖技术程序覆盖技术CPUCPU主存主存辅存辅存辅助辅助软软硬硬硬硬件件程序程序地址地址虚拟存储技术虚拟存储技术OSOS程序程序虚拟存储器虚拟存储器-按按程序地址程序地址访问的访问的“存储器存储器”用户程序用户程序 * *“主存主存- -辅存辅存”存储层次:存储层次: 目标目标解决解决主存容量主存容量问题问题( (主存的速度,辅存的容量主存的速度,辅存的容量) ) 可能存在:可能存在:( (执行的执行的) )程序空间程序空间主存空间主存空间7(3)(3)层次存储系统的工作方式层次存储系统的工作方式 * *程序执行需求:程序执行需求:即将执行的即将执行的指令和数据存放在指令和数据存放在主存主存中中 * *层次存储系统的工作方式:层次存储系统的工作方式:虚拟存储器虚拟存储器程序地址程序地址CPUCPU辅存辅存辅辅存存地地址址产生硬件中断产生硬件中断/ /异常,由异常,由OSOS处理处理虚存辅虚存辅助硬件助硬件虚存辅虚存辅助软件助软件主存地址主存地址不命中不命中命中命中主存主存主存主存CacheCacheC Ca ac ch he e地地址址主主存存地地址址CacheCache辅辅助硬件助硬件不命中不命中命命中中83.2 3.2 半导体存储器基础半导体存储器基础静态静态RAM(SRAM)RAM(SRAM)动态动态RAM(DRAM)RAM(DRAM)半导体半导体ROMROM( (永久型永久型) ) 双极型双极型RAM(TTLRAM(TTL、ECL)ECL)MOSMOS型型RAMRAM半导体半导体RAMRAM( (易失型易失型) ) MROM MROM PROMPROMEPROMEPROMEEPROM(EEEPROM(E2 2PROM)PROM)FLASHFLASH * *静态静态RAMRAM用用触发器触发器存储信息,存储信息,长时间不访问及信息读出后长时间不访问及信息读出后信息值信息值( (状态状态) )保持不变保持不变; * *动态动态RAMRAM用用电容电容存储信息,存储信息,长时间不访问及信息读出后长时间不访问及信息读出后信信息值息值( (状态状态) )被破坏被破坏,需,需及时恢复及时恢复信息值信息值( (称为刷新及再生称为刷新及再生) )。91 1、SRAMSRAM存储元的组成原理存储元的组成原理 存储元存储元RAMRAM中中存储存储1 1位二进制信息的电路;位二进制信息的电路;一、静态一、静态RAM(StaticRAM(Static RAM RAM,SRAM)SRAM) 保持保持使使W=VW=V地地T T5 5和和T T6 6截止截止T T1 1、T T2 2状态保持不变;状态保持不变; 写入写入在在W W线上加正脉冲线上加正脉冲( (时时长为写入延迟长为写入延迟)T)T5 5和和T T6 6导通;导通; 若写若写“0 0”,使,使D=VD=V地地、D=VD=V中中T T2 2截止截止T T1 1导通导通;若写;若写“1 1”,使,使T T1 1截止截止T T2 2导通导通; 读出读出在在W W线上加正脉冲线上加正脉冲;D=D=VD=D=V中中D D或或D D产生压降产生压降( (若若信息为信息为“0 0”则则D D电压下降电压下降)用差动放大器可检测出所读信息,用差动放大器可检测出所读信息,T T1 1、T T2 2状态保持不变状态保持不变( (非破坏性读非破坏性读) )。 * *6 6管管MOSMOS静态存储元工作原理:静态存储元工作原理:字选择线字选择线W W6 6管管MOSMOS型静态存储元电路型静态存储元电路V VCCCCT T1 1T T2 2A AB BD DD DT T5 5T T6 6T T4 4T T3 3102 2、SRAMSRAM芯片的组成原理芯片的组成原理(1)(1)存储芯片基本组成存储芯片基本组成 主要由主要由存储阵列、地址译码器、存储阵列、地址译码器、I/OI/O电路、控制电路等组成电路、控制电路等组成 * *存储阵列:存储阵列:不同的存储单元有不同的存储单元有一维一维和和二维二维两种组织方式两种组织方式X X译译码码器器64646464存储矩阵存储矩阵I/OI/O电路电路读读/ /写写WEWE驱驱动动器器0 01 16363A A6 6A A7 7A A1111Y Y译码器译码器A A0 0 A A1 1 A A5 5输出驱动器输出驱动器控制电路控制电路数据数据D D片选片选CSCS 正方形阵列正方形阵列 减少减少信号延迟信号延迟可可减少减少连线长度连线长度 地址译码方式地址译码方式决定决定11 * *地址译码器:地址译码器:有有一维一维、二维二维两种译码方式两种译码方式 译码器输出线数译码器输出线数2 2M M根根 2 22 2M/2M/2根根 * *驱动器:驱动器:X X译码器每个输出译码器每个输出需控制需控制同一行各存储元同一行各存储元的字选线的字选线 设置设置驱动器驱动器增加驱动能力增加驱动能力 I/OI/O电路电路输出时需驱动输出时需驱动总线信号总线信号( (负载大负载大) )X X译译码码器器A A6 6A A1111D DI/OI/O电路电路读读 写写Y Y译码器译码器数据数据D DA A0 0 A A5 5存储元存储元存储元存储元存储元存储元存储元存储元D DD DD D驱驱动动器器输出驱动器输出驱动器 常见译码方式常见译码方式二维译码方式二维译码方式 同一列存储元同一列存储元共用位选择线共用位选择线12 * *I/OI/O电路:电路:根据根据内部读内部读/ /写信号写信号,检测,检测/ /控制控制D D及及D D线线 被选存储元被选存储元 * *片选与控制电路:片选与控制电路: 片选片选MEMMEM常由常由多个芯片多个芯片组成,组成,读读/ /写操作写操作常针对常针对某个芯片某个芯片D DA A0 0A A6 6WEWEA A7 7CSCSCSCS1#1#芯片芯片( (地址范围为地址范围为128255)128255)0#0#芯片芯片( (地址范围为地址范围为0127)0127) 控制电路控制电路根据片选根据片选CSCS及及WEWE信号信号 生成生成内部读内部读/ /写信号写信号CSCS写写读读WEWE& & &1113(2)SAM(2)SAM芯片参数与结构芯片参数与结构 * *芯片相关参数:芯片相关参数: 存储阵列容量存储阵列容量 数据引脚数量数据引脚数量 地址引脚数量地址引脚数量 练习练习11某某SRAMSRAM芯片容量为芯片容量为4K4K位,数据引脚位,数据引脚( (双向双向) )为为8 8根,地根,地址引脚为多少根?若数据引脚改为址引脚为多少根?若数据引脚改为3232根,地址引脚为多少根?根,地址引脚为多少根?1114 * *SRAMSRAM芯片结构组织:芯片结构组织: -以以Intel 2114 SRAMIntel 2114 SRAM芯片为例芯片为例 参数参数容量容量= =1K1K4 4位,位,数据引脚数据引脚= =4 4根根( (双向双向) ),地址引脚地址引脚= =1010根根 结构结构正方形存储阵列正方形存储阵列(64(6464)64);I/OI/O电路;电路; 二维译码二维译码行行译译码码器器A A3 3A A8 8I/OI/O电路电路列译码器列译码器A A2 2 A A1 1 A A0 0 A A9 9D DD D D DD DD DD D D DD DD D0 0D D3 3I/OI/O电路电路读读写写CSCS& & &WEWEY Y0 0Y Y6363Y Y0 0 Y Y1515存储元存储元存储元存储元存储元存储元存储元存储元6464行行6464列列存储元存储元存储元存储元存储元存储元存储元存储元13153 3、SRAMSRAM芯片的读写时序芯片的读写时序 * *读周期时序:读周期时序: ( (存储器对外部信号的存储器对外部信号的时序要求时序要求时序要求时序要求) )t tA At tRCRC地址地址CSCSI/OI/O1414WEWEt tOTDOTDt tCOCOt tCXCX数据出数据出 SRAMSRAMCSCS有效有效时时开始读开始读操作、操作、CSCS无效时无效时结束读结束读操作操作 1316 * *写周期时序:写周期时序:t tWCWC地址地址CSCSI/OI/O1414WEWEt tAWAWt tW Wt tWRWRt tDWDWt tDHDH数据入数据入 SRAMSRAMCSCS有效有效时时开始写开始写操作、操作、CSCS无效时无效时结束写结束写操作操作17二、动态存储器二、动态存储器(Dynamic RAM(Dynamic RAM,DRAM)DRAM)1 1、动态、动态RAMRAM存储元工作原理存储元工作原理写入写入所写数据加到所写数据加到WDWD上上; 打开打开T T3 3对对C CS S充电充电/ /放电放电保持保持断开断开T T3 3无放电回路无放电回路C CS S可保存信息可保存信息( (会会缓慢泄漏缓慢泄漏) ) 需定时刷新需定时刷新C CS S中信息中信息读出读出在在上加正脉冲上加正脉冲对对C CD D预充电;预充电;打开打开T T2 2读读RDRD上电压变化上电压变化( (非破坏性读非破坏性读) ) 刷新刷新先读出先读出数据、数据、再写入再写入所读数据所读数据 * *3 3管管MOSMOS式动态存储元工作原理:式动态存储元工作原理: 动态动态RAMRAM目标:目标:降低功耗、节约成本降低功耗、节约成本写数据线写数据线WDWD读选择线读选择线T T4 4E ED D读数据线读数据线RDRD预充电预充电C CD D& & &字选字选择线择线T T3 3T T2 2C CS ST T1 1写选择线写选择线读选择读选择写选择写选择1018数据线数据线D DC CD D字选择线字选择线X XT T1 1C CS S * *单管单管MOSMOS式动态存储元工作原理:式动态存储元工作原理: 写入写入所写数据加到所写数据加到D D上上, 打开打开T T1 1对对C CS S充电或放电;充电或放电; 保持保持断开断开T T1 1无放电回路无放电回路信息存信息存 储在储在C CS S中中( (会缓慢泄漏会缓慢泄漏) ); 读出读出在在D D上加正脉冲上加正脉冲对对C CD D预充电,预充电, 打开打开T T1 1读读D D上上电压变化电压变化( (破坏性读破坏性读) ) C CS S得到充电得到充电 刷新刷新步骤与读操作完全相同。步骤与读操作完全相同。 立即立即用所读数据用所读数据对对C CS S重新写入重新写入称为称为再生再生再生再生192 2、DRAMDRAM芯片的基本组成芯片的基本组成20(2)(2)单管单管MOSMOS式式DRAMDRAM芯片的组成芯片的组成 * *基本结构:基本结构:通常通常通常通常采用采用地址分两次传送方式地址分两次传送方式组织组织 增设增设地址锁存器地址锁存器、时序控制电路时序控制电路,再生电路再生电路19X X译译码码器器I/OI/O电路电路Y Y译码器译码器D D读出读出再生再生放大器放大器A A6 6A A1111A A5 5 A A0 064646464D DD DWEWE时序控制时序控制电路电路行行地地址址锁锁存存器器列地址锁存器列地址锁存器RASRASCASCASA A5 5A A0 0行时钟行时钟列时钟列时钟写时钟写时钟读出读出再生再生放大器放大器 * *芯片操作:芯片操作:读、写、刷新读、写、刷新( (行刷新行刷新方式方式 无列地址无列地址)21(3)DRAM(3)DRAM芯片组成示例芯片组成示例 * *Intel 4116Intel 4116芯片:芯片:单管单管MOSMOS存储元、地址分两次传送存储元、地址分两次传送 参数参数容量容量=16K=16K1 1位;地址引脚位;地址引脚=14/2=7=14/2=7根;根; 数据引脚数据引脚=2=2根根( (单向单向D DININ/D/DOUTOUT、共、共1 1位宽度位宽度) ) 结构结构2 2个个6464128128存储阵列,时钟发生器串联存储阵列,时钟发生器串联6:646:64行行译码器译码器6464128128存储矩阵存储矩阵128128个读出个读出再生放大器再生放大器7:1287:128列译码器列译码器6464128128存储矩阵存储矩阵行时钟发生器行时钟发生器列时钟发生器列时钟发生器写时钟发生器写时钟发生器数据输数据输入缓冲入缓冲数据输数据输出驱动出驱动RASRASCASCAS WE WED DININD DOUTOUT6:646:64行行译码器译码器A A1212A A7 7A A1313A A6 6A A0 0A A6 6 A A0 0列列地地址址锁锁存存器器行行地地址址锁锁存存器器223 3、DRAMDRAM芯片的操作时序芯片的操作时序 * *读周期时序:读周期时序:t tA At tCRDCRD地址地址I/OI/O有效有效t tDOHDOHt tCACCAC行地址行地址列地址列地址t tAHAHt tAHAHt tRACRACt tRCLRCLRASRASWEWECASCAS DRAMDRAMRASRAS有效时有效时开始开始操作、操作、RASRAS无效时无效时结束结束操作操作23 * *刷新周期时序:刷新周期时序: 与读周期类似,区别在于与读周期类似,区别在于CASCAS在整个操作过程中无效在整个操作过程中无效 行刷新行刷新行刷新行刷新时时不需要列地址不需要列地址t tA At tCRFCRF地址地址I/OI/O行地址行地址t tRCRCRASRASCASCASt tDOHDOH23244 4、DRAMDRAM芯片的刷新芯片的刷新 * *刷新周期:刷新周期:同一存储元同一存储元连续两次刷新的最大间隔连续两次刷新的最大间隔; 与与DRAMDRAM存储元材料及芯片组成有关存储元材料及芯片组成有关 * *刷新方法:刷新方法:每个刷新周期内,每个刷新周期内,循环进行循环进行所有行所有行的的行刷新行刷新(1)DRAM(1)DRAM芯片刷新方式芯片刷新方式 通常有通常有集中式、分散式、异步式三种方式集中式、分散式、异步式三种方式 * *集中式刷新:集中式刷新:将所有行刷新将所有行刷新集中集中在刷新周期的后部在刷新周期的后部周期序号周期序号 1 1 2 2 n n+1 n+2 n n+1 n+2 n+mn+m地址行号地址行号X X Y Y R R 0 1 0 1 m-m-1 1t tC C t tC C t tC C t tC C t tC C t tC C读读/ /写写/ /空闲空闲刷新刷新刷新周期刷新周期( (如如2ms)2ms)时长时长t tC C芯片的存取周期芯片的存取周期m m行刷新的循环次数行刷新的循环次数n n刷新周期内可访存次数刷新周期内可访存次数设设t tC C=0.5us=0.5us、m=128m=128次,则次,则n=2000/0.5-128=3872n=2000/0.5-128=3872次次 特点特点存在存在“死区死区”( (不能进行读不能进行读/ /写操作的时间段写操作的时间段) )25 * *分散式刷新:分散式刷新:将行刷新分散在将行刷新分散在每个存取周期每个存取周期中中地址行号地址行号R/W R/W R/WR/W R/WR/W R/WR/W R/WR/W R/WR/W REF REF REFREF REFREF X X 0 0 Y Y 1 1 R R m-1m-1 A BA B t tM M t tR R刷新周期刷新周期真实刷新真实刷新 t tC C停止刷新停止刷新 特点特点避免了避免了“死区死区”,增加了存取时间,增加了存取时间(1(1倍倍) ) * *异步式刷新:异步式刷新:将行刷新将行刷新均匀分布均匀分布在刷新周期中在刷新周期中15.5s15.5s地址行号地址行号X X Y Y 0 0 R R S S 1 1 A BA B m-1m-1t tC C t tC C t tC C t tC C t tC C t tC C t tC C t tC C t tC CR/W R/W R/WR/W REFREF R/W R/W R/WR/W REF REF R/W R/W R/WR/W REFREF15.5s15.5s15.5s15.5s刷新周期刷新周期( (如如2ms)2ms)设芯片需刷新设芯片需刷新128128次,则每次刷新间隔次,则每次刷新间隔2000/128=15.5s2000/128=15.5s 特点特点“死区死区”可忽略,支持固有的存取周期可忽略,支持固有的存取周期 最常用最常用最常用最常用26(2)DRAM(2)DRAM芯片刷新实现芯片刷新实现 按约定的刷新方式按约定的刷新方式,由,由专用电路专用电路定时产生定时产生行刷新命令行刷新命令 * *DRAMDRAM芯片的刷新电路:芯片的刷新电路:DRAMDRAM芯片芯片CPUCPU行行/ /列地址列地址刷新地址计数器刷新地址计数器地址多地址多路开关路开关定时定时发生器发生器仲裁仲裁电路电路刷新定时器刷新定时器地址地址读读/ /写写RASRASWEWECASCAS固化了刷新方式固化了刷新方式 * *刷新电路在计算机的位置:刷新电路在计算机的位置: 通常通常通常通常独立存在独立存在于于DRAMDRAM芯片芯片/ /模块之外模块之外 DRAMDRAM控制器控制器产生行刷新地址产生行刷新地址275 5、MOSMOS型型SRAMSRAM与与DRAMDRAM芯片比较芯片比较 * *DRAMDRAM芯片的优点:芯片的优点: * *DRAMDRAM芯片的缺点:芯片的缺点: DRAMDRAM速度速度远低于远低于SRAM SRAM 使用使用动态元件动态元件( (电容电容) )所致所致 * *RAMRAM芯片应用:芯片应用: SRAMSRAM芯片芯片常用来构成常用来构成高速度、小容量高速度、小容量MEMMEM,如,如CacheCache DRAMDRAM芯片芯片常用来构成常用来构成大容量大容量MEMMEM,如主存,如主存 DRAMDRAM集成度集成度远高于远高于SRAMSRAM; 常采用常采用单管单管MOSMOS存储元存储元 DRAMDRAM地址引脚地址引脚是是SRAMSRAM的一半;的一半;常采用常采用地址分两次传送地址分两次传送方式方式 DRAMDRAM功耗功耗约为约为SRAMSRAM的的1/41/4; 采用单管采用单管MOSMOS存储元所致存储元所致 DRAMDRAM成本成本远低于远低于SRAMSRAM28三、只读存储器三、只读存储器(Read only Memory(Read only Memory,R0M)R0M) * *ROMROM:信息注入信息注入MEMMEM后后不能再改变不能再改变,它具有,它具有非易失性非易失性 * *半导体半导体ROMROM:具有具有非易失性非易失性的半导体的半导体MEMMEM,如,如EPROMEPROM、FLASHFLASH等等 * *ROMROM芯片组成:芯片组成:与与SRAMSRAM类似,区别在于类似,区别在于存储元的实现及操作存储元的实现及操作1 1、掩模、掩模ROM(MROM)ROM(MROM) * *特征:特征:用户用户不可修改不可修改信息;信息; * *存储元状态:存储元状态:用用MOSMOS管管的的有有/ /无无表示表示“1”/“0”1”/“0”;行行地地址址译译码码器器A A5 5A A9 9V VCCCCD D列地址译码器列地址译码器A A0 0 A A4 4 选通选通 0 0 1 131310 1 310 1 31 * *数据读出:数据读出:字选线加电压时,字选线加电压时,位线电压为所选存储元的数据位线电压为所选存储元的数据292 2、可编程、可编程ROM(PROM)ROM(PROM) * *特征:特征:用户可用户可一次性修改一次性修改信息信息( (电写入电写入) ); * *存储元状态:存储元状态:用用二极管二极管/ /熔丝熔丝的的通通/ /断断表示表示“1”/“0”1”/“0”;V VCCCC字选择线字选择线X X数数据据线线D DV VCCCC熔丝未断熔丝未断( (“1”)字选择线字选择线X X数数据据线线D D熔丝已断熔丝已断( (“0”)V VD DV VD D * *数据写入:数据写入:字线字线X X加电压,加电压,若写若写0 0 V VD D=V=V地地熔丝熔断,熔丝熔断, 若写若写1 1 V VD D=V=V中中熔丝不断;熔丝不断; * *数据读出:数据读出:字线字线X X加电压、加电压、V VD D=V=V中中, 检测检测V VD D变化可读出数据变化可读出数据303 3、可擦除可编程、可擦除可编程ROM(EPROM)ROM(EPROM) * *特征:特征:用户用户可多次修改可多次修改信息信息( (电写入、光擦除电写入、光擦除) ); * *存储元状态:存储元状态:常用常用浮栅雪崩注入浮栅雪崩注入MOSMOS管管( (即即FAMOSFAMOS管管) )的的浮栅浮栅G Gf f是是/ /否带电荷否带电荷表示表示“1”/“0”1”/“0”;D DS SN N基体基体P P源极源极S S漏极漏极D DSiOSiO2 2P P浮栅浮栅G Gf fN N基体基体P P源极源极S S漏极漏极D DSiOSiO2 2P P浮栅浮栅G Gf f314 4、电可擦除可编程、电可擦除可编程ROM(EROM(E2 2PROM)PROM) * *特征:特征:用户用户可多次修改可多次修改信息信息( (电写入、电擦除电写入、电擦除) ); * *存储元状态:存储元状态:用用浮栅隧道氧浮栅隧道氧化层化层MOSMOS管管( (即即FlotoxFlotox管管) )的的浮栅浮栅是是/ /否带电荷否带电荷表示表示“1”/“0”1”/“0”;N N 基体基体P PS SD DG GC CSiOSiO2 2P PD DS SG GC C325 5、闪速存储器、闪速存储器(FLASH)(FLASH) * *特征:特征:用户用户可多次修改可多次修改信息信息( (电写入、电擦除电写入、电擦除) ); * *存储元状态:存储元状态:与叠栅与叠栅EPROMEPROM类似,但类似,但氧化层氧化层更薄更薄D DS SP P基体基体N NS SD DG GC CSiOSiO2 2N NG GC C操作操作速度更快速度更快速度更快速度更快333.3 3.3 主存储器主存储器一、主存储器的组成一、主存储器的组成 * *主存储器相关概念:主存储器相关概念: 主存容量主存容量= =主存单元长度主存单元长度主存单元个数主存单元个数实际配置实际配置的主存的主存b bw-1w-1 b b0 0主主存存地地址址空空间间主存单元长度主存单元长度0 000000 0 0 001011 1 0 010100 0 1 111111 1主存地址长度主存地址长度A An-1n-1 A A0 0计算机结构设计时确定的参数计算机结构设计时确定的参数软硬件遵守此约定软硬件遵守此约定( (如如CPUCPU引脚数量引脚数量等等) )34 * *应用对主存空间的需求:应用对主存空间的需求:系统程序区系统程序区( (如机器如机器启动时启动时的的BIOS)BIOS)用户程序区用户程序区( (如机器如机器启动后启动后的的OSOS等等) )b bx x b b0 00 00 0 1 11 1主主存存地地址址空空间间需求需求只读、非易失性只读、非易失性需求需求读写读写 * *主存储器的组成:主存储器的组成: 由由ROMROM、RAMRAM芯片芯片组成的组成的特定特定存储字长存储字长的存储器;的存储器; ROMROM空间大小空间大小固定固定、RAMRAM空间空间大小大小可选配可选配(最大空间最大空间) )静态程序区静态程序区( (大小固定大小固定) )动态程序区动态程序区( (大小可选大小可选) )SRAMSRAM或或DRAMDRAMROMROM主存单元长度主存单元长度( (特定值特定值) )CPUCPU按此设置引脚按此设置引脚35二、主存储器的逻辑设计二、主存储器的逻辑设计 存储器容量存储器容量= =存储字长存储字长存储字数存储字数 = =存储单元长度存储单元长度存储单元个数存储单元个数 * *主存逻辑设计:主存逻辑设计:使用使用ROMROM、SRAMSRAM或或DRAMDRAM芯片进行芯片进行容量扩展容量扩展,实现实现主存单元长度主存单元长度和和主存单元个数主存单元个数。 * *存储器容量扩展方法:存储器容量扩展方法:位扩展法、字扩展法、字位扩展法位扩展法、字扩展法、字位扩展法1 1、位扩展法、位扩展法 ( (又称又称并联扩展并联扩展) ) * *目的:目的:扩展存储器的扩展存储器的存储字长存储字长 * *芯片连接特征:芯片连接特征: 各芯片各芯片数据引脚数据引脚连接不同,连接不同,其余引脚其余引脚连接相同连接相同36 例例1 1用用1K1K1 1位位SRAMSRAMSRAMSRAM芯片芯片芯片芯片构成构成1K1K4 4位存储模块位存储模块A A9 9A A0 0D D3 3DD0 0WEWE1K1K1b1bSRAMSRAMCSCS1K1K1b1bSRAMSRAM1K1K1b1bSRAMSRAM1K1K1b1bSRAMSRAM1K1K1b1b1K1K1b1bbitbit3 3 bit bit0 00000000000000000000000000000010000000001 11111111111111111111372 2、字扩展法、字扩展法 ( (又称又称串联扩展串联扩展) ) * *目的:目的:扩展存储器的扩展存储器的存储字数存储字数 例例2 2用用1K1K4 4位位SRAMSRAMSRAMSRAM芯片芯片芯片芯片构成构成2K2K4 4位存储模块位存储模块 解:解:芯片数量芯片数量 各芯片各芯片地址范围地址范围存储模块有存储模块有loglog2 2(2K)=11(2K)=11位地址,位地址,共需共需(2K(2K4b)4b)(1K(1K4b)=24b)=2片;片;A A9 9A A0 0D D3 3DD0 0WEWE1K1K4b4bSRAM(0#)SRAM(0#)CSCSA A10101K1K4b4bSRAM(1#)SRAM(1#)& & &b b3 3 b b0 01K1K4b4b(1#)(1#)0 00000000000(000H)0000000000(000H) 0 01111111111(3FFH)1111111111(3FFH)1 10000000000(400H)0000000000(400H) 1 11111111111(7FFH)1111111111(7FFH)1K1K4b4b(0#)(0#) 各芯片各芯片片选有效逻辑片选有效逻辑0#0#、1#1#芯片分别为芯片分别为A A1010=0=0、A A1010=1=1 练习练习1 1用用1M1M4 4位位SRAMSRAM芯片构成芯片构成4M4M4 4位存储模块位存储模块38CSCSA A2121A A20202:42:4译码器译码器1M1M4(0#)4(0#)1M1M4(1#)4(1#)1M1M4(2#)4(2#)1M1M4(3#)4(3#)Y Y0 0Y Y3 3GEGEB BA A393 3、字位扩展法、字位扩展法 * *目的:目的:同时扩展存储器的同时扩展存储器的存储字长存储字长和和存储字数存储字数 例例3 3用用1K1K4 4位位SRAMSRAMSRAMSRAM芯片芯片芯片芯片构成构成2K2K8 8位存储模块位存储模块 解:解:芯片数量芯片数量 共需共需(2K(2K8b)8b)(1K(1K4b)=44b)=4片;片;芯片芯片片选有效逻辑片选有效逻辑0#0#、1#1#A A1010= =0 02#2#、3#3#A A1010= =1 1b b7 7 b b4 41#1#1K1K4b4bb b3 3 b b0 00#0#1K1K4b4b3#3#1K1K4b4b2#2#1K1K4b4b0 00000000000(000H)0000000000(000H)0 01111111111(3FFH)1111111111(3FFH)1 10000000000(400H)0000000000(400H)1 11111111111(7FFH)1111111111(7FFH)A A1010D D3 3D D0 0A A9 9A A0 0D D7 7D D4 4WEWE1K1K4b4bSRAM(0#)SRAM(0#)CSCS1K1K4b4bSRAM(1#)SRAM(1#)1K1K4b4bSRAM(2#)SRAM(2#)1K1K4b4bSRAM(3#)SRAM(3#)& & & 连接图连接图 各芯片地址范围各芯片地址范围存储模块有存储模块有loglog2 2(2K)=11(2K)=11位地址,位地址,40 练习练习2 2用用1K1K4 4位位SRAMSRAM芯片构成芯片构成4K4K8 8位存储模块位存储模块 例例4 4用用1K1K4 4位位ROMROMROMROM、1K1K8 8位位SRAMSRAMSRAMSRAM芯片构成芯片构成4K4K8 8位存储模位存储模块,其中前块,其中前1KB1KB空间为只读空间空间为只读空间 解:解:芯片数量芯片数量 共需共需ROM 2ROM 2片、片、SRAM 3SRAM 3片;片; 各芯片地址范围各芯片地址范围 模块有模块有loglog2 2(4K)=12(4K)=12位地址位地址 芯片有芯片有1010位地址位地址ROM 1#ROM 1# ROM 0#ROM 0#SRAM 1#SRAM 1#00 00 XXXXXXXXXXXXXXXXXXXX0101 XXXXXXXXXX XXXXXXXXXX1010 XXXXXXXXXX XXXXXXXXXX1111 XXXXXXXXXX XXXXXXXXXXSRAM 2#SRAM 2#SRAM 3#SRAM 3# 连接图连接图A A1111A A1010D D3 3D D0 0A A9 9A A0 0D D7 7D D4 4WEWE1K1K4b4bROM(1#)ROM(1#)CSCS1K1K8b8bSRAM(1#)SRAM(1#)1K1K8b8bSRAM(2#)SRAM(2#)1K1K8b8bSRAM(3#)SRAM(3#)1K1K4b4bROM(0#)ROM(0#)2:42:4译码器译码器Y Y0 0B BA AGEGE41三、主存储器与三、主存储器与CPUCPU的连接的连接 简化复杂度简化复杂度重点讨论重点讨论SRAMSRAMSRAMSRAM主存主存主存主存与与CPUCPU的连接的连接42(1)(1)数据线的连接数据线的连接 * *要求:要求:主存数据线数主存数据线数CPUCPU数据引脚数数据引脚数 * *连接:连接: CPUCPU数据引脚数据引脚与主存与主存数据线数据线一一对应连接一一对应连接(2)(2)地址线的连接地址线的连接 * *要求:要求:实际的实际的主存地址空间主存地址空间CPUCPU支持的支持的主存地址空间主存地址空间 * *连接:连接:b b7 7 b b0 0A A1919A A18 18 A A0 0512KB 512KB SRAMSRAM512KB 512KB SRAMSRAMCPUCPU支持的支持的主存地主存地址空间址空间实际的实际的主存地主存地址空间址空间0 0 0 00 0 0 0 1 11 11 1 0 00 0 1 1 1 11 1CPUCPU地址引脚低位地址引脚低位与主存与主存地址线地址线一一对应一一对应连接;连接;CPUCPU地址引脚高位地址引脚高位与主存与主存片选线片选线按按一定逻辑一定逻辑连接连接43CPUCPU读读/ /写命令线写命令线与主存与主存读读/ /写线写线直接直接连接;连接;CPUCPU其余命令线其余命令线与主存与主存片选线片选线按按一定逻辑一定逻辑连接连接 (3)(3)命令线的连接命令线的连接 * *命令线功能:命令线功能:MEMMEM操作操作IO/MIO/M为低、为低、RD WR=1RD WR=1 I/OI/O操作操作IO/MIO/M为高、为高、RD WR=1RD WR=1 无操作无操作 RD WR=0RD WR=0(4)(4)片选线的连接片选线的连接 * *有效逻辑:有效逻辑:对对MEMMEM操作操作、操作地址、操作地址在主存地址范围内在主存地址范围内时时& & 主主 存存CSCSWEWED D7 7D D0 0A A1818A A0 08088CPUCPUD D7 7D D0 0A A1818A A0 0A A1919RDRDWRWRIO/MIO/M=1=1& & * *连接:连接:4544三、三、提高访存速度的措施提高访存速度的措施 * *CPUCPU的访存特征:的访存特征: 一次访存的信息常为多个存储字,一次访存的信息常为多个存储字, 多次访存的地址常为连续的;多次访存的地址常为连续的;1 1、多模块存储器、多模块存储器 -多体存储器多体存储器452 2、高性能存储器、高性能存储器(1)EDO (1)EDO DRAMDRAM(Extended(Extended Data Output Data Output DRAMDRAM,扩展数据输出,扩展数据输出DRAM) ) * *提高性能思路:提高性能思路:同时读出同时读出并缓冲并缓冲一行信息一行信息,减小,减小平均平均T TM M * *实现原理:实现原理:用用SRAMSRAMSRAMSRAM保存保存上次读操作上次读操作的的一行信息一行信息一行信息一行信息,当前读操作,当前读操作的的行地址行地址若与上次读操作若与上次读操作相同相同,则直接从,则直接从SRAMSRAM中取出信息中取出信息(2)SDRAM(2)SDRAM(Synchronous DRAM,(Synchronous DRAM,同步同步DRAM) ) MEMMEM从从所接收地址所接收地址开始,开始,连续读连续读/ /写写多个存储字多个存储字( (内部计数内部计数器产生各存储字地址器产生各存储字地址) ),减少了,减少了多个地址连续多个地址连续数据传送的平均数据传送的平均T TM M(3)DDR (3)DDR SDRAMSDRAM(Double(Double Data Rate SDRAM Data Rate SDRAM,双数据速率,双数据速率DRAM) ) 463 3、双端口存储器、双端口存储器 -同时支持两个操作同时支持两个操作 * *结构:结构:2 2套译码套译码+I/O+I/O+读写电路,读写电路,1 1个存储阵列个存储阵列+ +判断逻辑电路判断逻辑电路473.4 3.4 高速缓冲存储器高速缓冲存储器一、一、CacheCache的基本原理的基本原理 * *CacheCache的功能:的功能:是是主存主存的的快速快速缓冲器缓冲器数据为主存中数据的数据为主存中数据的拷贝拷贝存储阵列存储阵列控制器控制器阵列地址阵列地址CPUCPU主存主存( (SRAMSRAM) )主存地址主存地址主存地址主存地址 * *CacheCache的性能:的性能: 命中率命中率(H)(H)H HC C=N=NC C/(N/(NC C+N+NM M) ) 其中其中,N,NC C、N NM MCPUCPU访存在访存在CacheCache、主存中的、主存中的命中命中命中命中次数次数 平均访问时间平均访问时间T TA A=H=HC CT TCacheCache+(1-H+(1-HC C)T)TMemMem 481 1、CacheCache的存储空间管理的存储空间管理 (1)Cache(1)Cache与主存的信息交换单位与主存的信息交换单位 * *目标:目标:尽量减小平均访问时间尽量减小平均访问时间T TA A * *减小减小T TA A的方法分析:的方法分析: 提高提高H HC C 程序访问局部性程序访问局部性程序访问局部性程序访问局部性 减小减小T TMemMem相邻信息相邻信息一起一起一起一起在在CacheCache中中 * *CacheCache与主存的信息交换单位:与主存的信息交换单位:字块字块( (又称又称块块或或行行) )49(2)Cache(2)Cache的存储空间管理的存储空间管理 * *CacheCache阵列的编址单位:阵列的编址单位:与主存相同与主存相同( (字或字节字或字节) ); * *CacheCache与主存间的信息交换管理:与主存间的信息交换管理:交换单位为块交换单位为块 主存与主存与CacheCache均均划分划分成若干成若干大小相同的块大小相同的块; CacheCache块块存放存放主存块主存块信息时,信息时,标志标志对应主存块的块号;对应主存块的块号;有效位有效位 块标记块标记* *0 00 *0 *块块0 0块块2 2c c-1-1CacheCache空间空间0 0 2 2b b-1-10 0 2 2b b-1-1块块0 0块块2 2m m-1-1主存空间主存空间0 0 2 2b b-1-10 0 2 2b b-1-1c c位位b b位位CacheCache地址地址CacheCache块号块号块内地址块内地址m m位位b b位位主存主存地址地址主存块号主存块号块内地址块内地址1 i1 i块目录表块目录表62502 2、CacheCache的基本工作原理的基本工作原理 * *完成访问步骤:完成访问步骤:访问访问CacheCache阵列阵列有空位置有空位置i?i?调入调入目标块目标块( (到块到块i i位置位置) )Y YN N找出找出被替换块被替换块i i腾空腾空块块i i中内容中内容替换算法替换算法N N查查目录表目录表命中?命中?块内地址块内地址主存地址主存地址CacheCache块号块号CacheCache地址地址主存块号主存块号块内地址块内地址Y Y地址地址变换变换CPUCPU操作操作= =写?写?Y Y将数据将数据写回写回主存主存N N映像规则映像规则写策略写策略地址地址变换变换( (主存地址主存地址CacheCache地址地址) ); 访问访问CacheCache阵列;阵列; 保持保持一致性一致性(Cache(Cache与主存之间与主存之间) ) * *实现要求:实现要求:全部工作均由硬件完成全部工作均由硬件完成全部工作均由硬件完成全部工作均由硬件完成( (对程序员透明对程序员透明) )! * *相关技术相关技术映像规则、替换算法、写策略;映像规则、替换算法、写策略;513 3、CacheCache的结构与组成的结构与组成 * *存储体:存储体:由由SRAMSRAM构成构成 * *地址映像及变换机构:地址映像及变换机构:由目录表、比较器等组成;由目录表、比较器等组成; 目录表目录表行数行数=Cache=Cache块数,表项块数,表项= =有效位有效位+ +块标记块标记+ +CPUCPU主存主存地址地址MEM BusMEM Bus存储体存储体(SRAM)(SRAM)控制器控制器地址映像及地址映像及变换机构变换机构数据数据( (字字/ /次次) )主存主存(DRAM)(DRAM)替换替换机构机构MUXMUX命令命令数据数据( (块块/ /次次) )主存地址主存地址命令命令CacheCache地址地址命令命令 地址映像机构地址映像机构决定查目录表的决定查目录表的哪些行哪些行及及块标记块标记组成组成 影响变换的性能及成本影响变换的性能及成本 地址变换机构地址变换机构查表并比较,命中时查表并比较,命中时直接形成直接形成CacheCache地址地址 不命中时不命中时调入块或替换块调入块或替换块后再后再形成形成6452 * *控制器:控制器:CacheCache工作过程中所有的工作过程中所有的信号产生及时序控制信号产生及时序控制块内地址块内地址t t主存地址:主存地址:块号块号 比较器比较器1 1不命中不命中的处理的处理不命中时不命中时块内地址块内地址t t块号块号CacheCache地址地址: :命命中中时时j j块块0 0块块2 2c c-1-1目目录录表表块块j j1 i1 i0 a0 a1 b1 b有效位有效位 块标记块标记i i * *替换机构:替换机构:按替换算法按替换算法选择选择某被替换块,再某被替换块,再块写回块写回及及块调入块调入 被替换块被替换块目标块目标块6553二、二、CacheCache的相关技术的相关技术1 1、地址映像及变换、地址映像及变换 * *实现功能:实现功能:某主存块可存放到某主存块可存放到CacheCache中中哪些块位置哪些块位置?(1)(1)全相联地址映像及变换全相联地址映像及变换 * *映像规则:映像规则:主存块主存块i i可映射到可映射到CacheCache的任意一个块;的任意一个块;块内地址块内地址t tb b位位主存主存地址地址块号块号i im m位位块内地址块内地址t t块号块号j jCacheCache地址地址直接直接主存空间主存空间CacheCache空间空间块块0 0块块2 2m m-1-1块块i i块块0 0块块2 2c c-1-1块块j j目录表:目录表: 块块 标标 记记-主存地址的块号主存地址的块号(m(m位位) ) 查表行数查表行数所有行所有行 * *性能指标:性能指标:调入块时的调入块时的块块冲突概率冲突概率、地址变换的、地址变换的速度与成本速度与成本 54 * *地址变换方法:地址变换方法: 比较比较目录表目录表所有行所有行,命中时行号命中时行号即为变换后的块号;即为变换后的块号; 查表区域查表区域=?1 1不命中时不命中时不命中不命中的处理的处理 * *特征:特征:块映像块映像块冲突概率块冲突概率最低最低; 地址变换地址变换速度速度最慢最慢、或成本、或成本最高最高块内地址块内地址t tb b位位主存地址:主存地址:块号块号i im m位位块内地址块内地址t t块号块号CacheCache地址:地址:块块0 0块块2 2c c-1-1目录表目录表块块j j1 i1 i0 a0 a1 b1 b有效位有效位 块标记块标记命命中中时时j j55 例例1 1:CPUCPU支持最大主存容量支持最大主存容量1MB1MB、按字节编址,块大小、按字节编址,块大小16B16B,CacheCache容量为容量为8KB8KB。全相联映像方式时,。全相联映像方式时,主存地址格式及参数?主存地址格式及参数?CacheCache地址格式及参数?地址格式及参数?目录表行数?块标记位数?目录表行数?块标记位数?若目录表项为若目录表项为 ,CPUCPU访问访问36454H36454H主存单元时,主存单元时,则则CacheCache命中时的目录表项?命中时的目录表项? 解:解:主存地址格式:主存地址格式:块内地址块内地址块号块号4 4位位1616位位 主存地址长度主存地址长度=log=log2 2(1MB/1B)=log(1MB/1B)=log2 22 22020=20=20位,位, 块内地址长度块内地址长度=log=log2 2(16B/1B)=log(16B/1B)=log2 216=416=4位,位, CacheCache有有 个块,个块, CacheCache块号位数块号位数= = 位,位,块内地址块内地址块号块号4 4位位9 9位位 目录表行数目录表行数= = 行,块标记位数行,块标记位数= = 位;位;51251216169 9(8KB/16B)=512(8KB/16B)=512 主存地址主存地址=(=( 00110011 01100110 01000100 01010101 0100)0100)2 2, CacheCache命中时目录表项命中时目录表项=1=H56 块块0 0 块块G-1G-1区区0 0 块块G G 块块2G-12G-1区区1 1 块块(2(2m-cm-c-1)G-1)G 块块2 2m-cm-cG-1G-1区区2 2m-cm-c-1-1 块块0 0 块块1 1 块块G-1G-1主存空间主存空间CacheCache空间空间块内地址块内地址t tc c位位b b位位主存主存地址地址区内块号区内块号j j区号区号r rm-cm-c位位块内地址块内地址t t块号块号j jCacheCache地址地址直接直接目录表:目录表: 块块 标标 记记-主存地址的区号主存地址的区号( (m-cm-c位位) ) 查表行数查表行数-一行一行(2)(2)直接地址映像及变换直接地址映像及变换 * *映像规则:映像规则:主存块主存块i i可映射到可映射到CacheCache的块的块j=(i mod G)j=(i mod G);57 * *地址变换方法:地址变换方法: 比较比较目录表目录表相应行相应行,命中时命中时主存地址的主存地址的区内块号区内块号即为变换即为变换后的块号;后的块号;查表区域查表区域=?1 1块内地址块内地址t t块号块号CacheCache地址地址: :主存地址:主存地址:块内地址块内地址t tc c位位b b位位区内块号区内块号j j区号区号r rm-cm-c位位块块0 0块块2 2c c-1-1目录表目录表块块j j1 r1 r0 a0 a1 b1 b有效位有效位 块标记块标记j j命中时命中时不不命命中中时时不命中不命中的处理的处理 * *特征:特征:块映像块映像块冲突概率块冲突概率最高最高; 地址变换地址变换速度速度最快最快、成本、成本最低最低6958 例例2 2:CPUCPU支持最大主存容量支持最大主存容量1MB1MB、按字节编址,块大小、按字节编址,块大小16B16B,CacheCache容量为容量为8KB8KB。直接映像方式时,。直接映像方式时, 主存及主存及CacheCache地址格式及参数?地址格式及参数? 目录表行数?块标记位数?目录表行数?块标记位数?若目录表项为若目录表项为 ,CPUCPU访存地址为访存地址为36454H36454H时,则时,则可能命中的可能命中的CacheCache块号?命中时的目录表项?块号?命中时的目录表项? 解:解:主存地址主存地址2020位、位、CacheCache地址地址1313位,其中块内地址位,其中块内地址4 4位,位, 目录表行数目录表行数= = 行,块标记位数行,块标记位数= = 位;位;5125127 77 7位位9 9位位4 4位位4 4位位块内地址块内地址区号区号区内块号区内块号块内地址块内地址块号块号主存地址格式主存地址格式CacheCache地址格式地址格式9 9位位13-413-4位位20-9-420-9-4位位 可能命中的可能命中的CacheCache块号块号= =0 0 01000100 01010101, 主存地址主存地址=(=( 00110011 0110110 0 01000100 01010101 0100)0100)2 2, 命中时目录表项命中时目录表项=1= 70直接映像直接映像59(3)(3)组相联地址映像及变换组相联地址映像及变换 -直接映像与全相联映像的折中直接映像与全相联映像的折中 n n n n路组相联路组相联路组相联路组相联映像映像组内块数为组内块数为n n的组相联映像的组相联映像区区0 0区区1 1区区2 2m m/(G/n)-1/(G/n)-1假设假设Q=2Q=2m m/(G/n)/(G/n)主存空间主存空间 块块( (Q-Q-1)(G/n)+01)(G/n)+0 块块(Q-1)(G/n)+G/n-1(Q-1)(G/n)+G/n-1 块块(G/n)+0(G/n)+0 块块(G/n)+G/n-1(G/n)+G/n-1 块块0 0 块块G/n-1G/n-1组组0 0CacheCache空间空间组组G/n-1G/n-1 块块(G/n-1)n+0(G/n-1)n+0 块块(G/n-1)n+n-1(G/n-1)n+n-1 块块0+00+0 块块0+n-10+n-1 * *映像规则:映像规则:将将CacheCache中块分组,每组为中块分组,每组为n n个块个块( (共共G/nG/n个组个组) ),主存块主存块i i可映像到可映像到CacheCache的的第第j j组组(j=i mod G/n)(j=i mod G/n)中的中的任意块任意块。60块内地址块内地址t t主存地址主存地址: :区内块号区内块号g g区号区号r r块内地址块内地址t t组内块号组内块号s sCacheCache地址地址: :直接直接组号组号g gc-logc-log2 2n nb bm-(c-m-(c-loglog2 2n)n)loglog2 2n nb bc-logc-log2 2n n目录表:目录表:块块 标标 记记-主存地址的区号主存地址的区号m-(c-logm-(c-log2 2n)n)位位 查表行数查表行数-n n行行( (组内所有行组内所有行) ) * *目录表的组织:目录表的组织:种类种类每块一行式、每组一行式;每块一行式、每组一行式; 性能性能每组一行式每组一行式较优较优( (定位方便、并行查表定位方便、并行查表) )有效位有效位 块标记块标记 有效位有效位 块标记块标记组组0 0组组G/n-1G/n-1组内块组内块0 0 组内块组内块n-1n-1组组0 0组内块组内块0 0组内块组内块n-1n-1组组G/n-1G/n-1有效位有效位 块标记块标记组内块组内块0 0组内块组内块n-1n-161 * *地址变换方法:地址变换方法: * *特征:特征:块映像块映像块冲突概率块冲突概率较低较低; ( (全相联映像全相联映像x直接映像直接映像) ) 地址变换地址变换查表速度查表速度最快最快、成本、成本较低较低 比较比较目录表目录表相应组所有行相应组所有行,命中时命中时主存地址的主存地址的区内块号区内块号即即为变换后的组号、组内各块为变换后的组号、组内各块比较结果的编码比较结果的编码即为组内块号;即为组内块号;72查表查表区域区域=?1 1=?1 11 1不命中不命中的处理的处理块内地址块内地址t t主存地址主存地址: :区内块号区内块号g g区号区号r r块内地址块内地址t t组内块号组内块号CacheCache地址地址: :组号组号 组组0 0组组g g1 r1 r有效位有效位 块标记块标记 有效位有效位 块标块标记记1 h1 h编编码码器器命命中中时时s sg g7462 例例3 3:CPUCPU支持最大主存容量支持最大主存容量1MB1MB、按字节编址,块大小、按字节编址,块大小16B16B,CacheCache容量容量8KB8KB。采用。采用4 4路组相联映像方式时,路组相联映像方式时, 主存及主存及CacheCache地址格式及参数?地址格式及参数? 目录表中块标记位数?目录表中块标记位数?若目录表项为若目录表项为 ,CPUCPU访存地址为访存地址为36454H36454H时,则时,则可能命中的可能命中的CacheCache块号?命中时的目录表项?块号?命中时的目录表项? 解:解:主存地址主存地址2020位、位、CacheCache地址地址1313位,其中块内地址位,其中块内地址4 4位,位,9 9位位7 7位位4 4位位4 4位位13-2-413-2-4位位20-7-420-7-4位位块内地址块内地址区号区号区内块号区内块号块内地址块内地址组内块号组内块号主存地址格式主存地址格式CacheCache地址格式地址格式组号组号2 2位位7 7位位4 4路组相联路组相联组相联映像组相联映像 目录表块标记位数目录表块标记位数= = 位;位;9 9 可能命中的可能命中的CacheCache块号块号= =100100 01010101XXXX,即组内任意块,即组内任意块, 主存地址主存地址=(=( 00110011 01100110 0 0100100 01010101 0100)0100)2 2, 命中时目录表项命中时目录表项=1= 632 2、替换算法、替换算法 * *实现功能:实现功能:CacheCache无空位置时,无空位置时,如何选择如何选择 被替换的块被替换的块? * *性能指标:性能指标:对命中率对命中率H H的的影响程度影响程度、替换算法的、替换算法的实现开销实现开销 * *常见替换算法:常见替换算法: RANDRAND算法算法随机确定的随机确定的块作为被替换块;块作为被替换块; FIFOFIFO算法算法最早最早最早最早调入调入的块作为的块作为被替换被替换块;块;整个整个CacheCache需需1 1个个随机数发生器随机数发生器H H是是随机随机的的65 LRULRU算法算法近期近期最少使用最少使用最少使用最少使用的的块作为被替换块;块作为被替换块; 各个块的计数器:各个块的计数器:通常设置在目录表中通常设置在目录表中LRULRU位位有效位有效位块标志块标志目录表项目录表项64虚拟存储器虚拟存储器一、虚拟存储器概念一、虚拟存储器概念651 1、虚拟存储器概念、虚拟存储器概念 * *定义:定义:程序执行时程序执行时,地址空间地址空间= =程序地址空间程序地址空间的的“存储器存储器”CPUCPU虚拟存储器虚拟存储器程序逻辑地址程序逻辑地址 * *相关术语:相关术语: 虚拟地址虚拟地址( (虚地址虚地址) )程序的逻辑地址;程序的逻辑地址; 物理地址物理地址( (实地址实地址) )CPUCPU访问时的主存地址;访问时的主存地址; 虚拟地址空间虚拟地址空间程序逻辑地址构成的空间程序逻辑地址构成的空间 * *组成:组成:由主存及辅存构成由主存及辅存构成、按程序逻辑地址访问按程序逻辑地址访问的存储层次的存储层次CPUCPU程序逻程序逻辑辑地址地址虚拟存储器虚拟存储器辅存辅存主存主存辅助辅助软硬件软硬件程序程序执行执行所需所需程序程序存储存储所需所需虚存空间虚存空间= =程序空间程序空间所需所需662 2、虚拟存储器的工作原理、虚拟存储器的工作原理虚拟虚拟存储器存储器主存主存辅存辅存辅助辅助软硬件软硬件数据数据虚拟虚拟地址地址命令命令 * *虚拟存储器实质:虚拟存储器实质:是是面向程序面向程序的的存储器模型存储器模型, 即即面向程序面向程序的的主存主存- -辅存层次管理机构辅存层次管理机构! * *地址空间种类:地址空间种类: * *工作原理:工作原理:地址变换、访问实现、保持一致性;地址变换、访问实现、保持一致性;虚存虚存- -主存主存地址映像及变换地址映像及变换成功时成功时系统异常系统异常不成功时不成功时虚存虚存- -辅存辅存地址映像及变换地址映像及变换不成功时不成功时成功时成功时主存存储管理主存存储管理主存空间主存空间辅辅存存空空间间虚存空间虚存空间6567二、虚拟存储器的存储管理二、虚拟存储器的存储管理 * *虚存虚存( (辅存辅存)-)-主存信息交换单位种类:主存信息交换单位种类: 程序段程序段程序模块化结构的基本空间单位程序模块化结构的基本空间单位( (大小可变大小可变) ), 信息页信息页大小固定大小固定的信息空间单位,常称页或页面的信息空间单位,常称页或页面 页类似于页类似于CacheCache块,页大小一般有几块,页大小一般有几KBKB * *虚存空间管理方式:虚存空间管理方式: ( (又称为虚存管理又称为虚存管理) ) 段式管理段式管理 以以程序段程序段为交换单位的虚存为交换单位的虚存- -主存管理方式主存管理方式 页式管理页式管理 以以信息页信息页为交换单位的虚储为交换单位的虚储- -主存管理方式主存管理方式 段页式管理段页式管理 段式段式+页式的虚存页式的虚存- -主存管理方式主存管理方式( (以以信息页信息页为单位为单位) )1 1、虚拟存储器的管理方式、虚拟存储器的管理方式68(1)(1)段式存储管理段式存储管理 * *管理方法:管理方法:虚存空间虚存空间按程序模块化结构划分成若干按程序模块化结构划分成若干程序段程序段( (大小可变大小可变) ),主存空间主存空间以程序段为单位以程序段为单位分配给虚存使用;分配给虚存使用;段表段表装入位装入位 段起始地址段起始地址 段长段长 1 0K 1K1 0K 1K 0 0 4K 4K 1 4K 2K 1 4K 2K段号段号0 01 12 2虚地址虚地址实地址实地址段号段号段内地址段内地址物理地址物理地址段表段表基址基址段表段表( (主存中主存中) )装入位装入位 段首址段首址 段长段长 1 1 1 1 xx xx 段号段号0 0i i+ +段首址段首址+ +1K1K长度长度 程序逻辑空间程序逻辑空间4K4K段段1 12K2K段段0 0段段2 2 0 01K1K4K4K6K6K 段段0 0段段2 2地址地址 主存物理空间主存物理空间 * *虚虚- -实地址变换方法:实地址变换方法:一次查表一次查表 管理表格管理表格一个段表一个段表( (行数行数= =程序的段数,程序的段数,2 2段号位数段号位数) )69(2)(2)页式存储管理页式存储管理 * *管理方法:管理方法:虚存空间虚存空间和主存空间按和主存空间按信息页信息页( (大小固定大小固定) )划分成划分成若干逻辑页和物理页,若干逻辑页和物理页,主存空间主存空间以信息页为单位以信息页为单位分配给虚存使用分配给虚存使用 管理表格管理表格一个页表一个页表逻辑页号逻辑页号 程序逻辑空间程序逻辑空间物理页号物理页号 主存物理空间主存物理空间 0 01 12 23 3 0 01 12 23 34 4页表页表装入位装入位 物理页号物理页号 1 21 2 1 1 1 1 0 0 0 0 1 4 1 4逻辑页号逻辑页号 0 0 1 1 2 2 3 3 * *虚虚- -实地址变换方法:实地址变换方法:一次查表一次查表页表页表基址基址页表页表( (主存中主存中) )装入位装入位 物理页号物理页号 1 1 1 1 xx xx 逻辑页号逻辑页号 0 0 i i虚地址虚地址实地址实地址逻辑页号逻辑页号页内地址页内地址物理页号物理页号 页内地址页内地址+ +70(3)(3)段页式存储管理段页式存储管理 * *管理方法:管理方法:虚存空间虚存空间先分段、再分页,主存空间只分页,先分段、再分页,主存空间只分页,主主存空间存空间以页为单位以页为单位分配给程序用;分配给程序用; 管理表格管理表格一个一个段表段表 一组一组页表页表 * *虚虚- -实地址变换方法:实地址变换方法:两次查表两次查表虚地址虚地址实地址实地址逻辑页号逻辑页号 页内地址页内地址物理页号物理页号 页内地址页内地址段号段号页表页表( (主存中主存中) )装入位装入位 物理页号物理页号 1 1 1 1 xx xx 段表段表( (主存中主存中) )装入位装入位 页表基址页表基址 1 1 1 1 yyyy 装入位装入位 物理页号物理页号 段表段表基址基址+ + +712 2、虚拟存储器的种类、虚拟存储器的种类 通常通常按虚存管理方式按虚存管理方式分类。分类。 * *段式虚拟存储器:段式虚拟存储器: 采用采用段式虚存管理方式段式虚存管理方式 信息交换单位为信息交换单位为段段,用,用一个段表一个段表管理管理 * *页式虚拟存储器:页式虚拟存储器: 采用采用页式虚存管理方式页式虚存管理方式 信息交换信息交换单位为单位为页页,用,用一个页表一个页表管理管理 * *段页式虚拟存储器:段页式虚拟存储器: 采用采用段页式虚存管理方式段页式虚存管理方式 信息交换单位为信息交换单位为页页,用,用一个段表一个段表及及一组页表一组页表管理管理 特点特点便于程序共享与保护,主存利用率不高便于程序共享与保护,主存利用率不高( (碎片碎片) ) 特点特点主存利用率较高,不利于程序共享与保护主存利用率较高,不利于程序共享与保护( (段边界段边界) ) 特点特点同时具有段式及页式的优点,地址变换需同时具有段式及页式的优点,地址变换需2 2次查表次查表989972
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号