版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南大学计算机与通信学院1第9章存储器结构9.1存储器的层次结构9.2Cache存储器9.3虚拟存储器9.4基本Cache和虚拟存储器的扩展9.5实例:Pentium/Windows个人计算机上的内存管理湖南大学计算机与通信学院29.1存储器的层次结构图9.1一般的存储器层次物理内存:由动态RAM组成。Cache存储器:由静态RAM构成,比DRAM快得多,但也昂贵的多。Cache是物理内存的部分副本。虚拟存储器:空间比物理内存大得多逻辑空间。虚拟管理器通过在物理内存和一个存储介质之间调度来达到访问的目的。湖南大学计算机与通信学院3哈佛结构:计算机存储系统的Cache层次中,每一级Cache包含两个单独的Cache存储器,其中一个是指令Cache,一个是数据Cache。9.2Cache存储器
大部分计算机在CPU和物理内存之间包含一个较小容量的Cache存储器,而不是使用Cache存储器构建计算机的整个存储系统。目标是在合理的价格下减少处理器的内存访问时间。湖南大学计算机与通信学院49.2.1相联存储器一般存储器:接收一个地址,访问该地址中的数据。相联存储器:并行搜索所有单元,标记那些与特定数据匹配的单元,然后连续读出匹配的数据值。湖南大学计算机与通信学院5考虑一个由8个字单元组成的简单的相联存储器,每个单元有16位,如图9.2所示。除数据位外,每单元都有一个额外的标记位V。(数据有效位,为1说明这个单元数据有效,为0说明数据无效)图9.2相联存储器的内部组织结构湖南大学计算机与通信学院6为了从相联存储器中读出一个值,CPU必须给出两个值,即要被匹配的数据值、以及哪些位需要检查。第一个值是参数或数据,第二个值是屏蔽位或关键位
如果满足如下的公式,则匹配就会发生湖南大学计算机与通信学院7屏蔽寄存器中值为1的每一位,单元中的值与数据寄存器中的值都相同单元的有效位被设置为1;例如(参考图9.2):屏蔽寄存器K1111000000000000数据寄存器D1010XXXXXXXXXXXX数据位M1010110100000111执行0000XXXXXXXXXXXX执行1111XXXXXXXXXXXX执行1111111111111111湖南大学计算机与通信学院8Vi始终为1,所以最终结果为:1111111111111111找到一个匹配因此该数据位M对应的匹配寄存器的一个单元设置为1湖南大学计算机与通信学院9将数据写回相联存储器CPU把数据送到数据寄存器并发出写信号。相联存储器检查所有单元的有效位,并找到有效位为0的一个单元,如果找到,把数据存到这个单元,同时将有效位设为1。如果没有找到,必须采用替换算法清除一个单元来保存数据。
常见的替换算法FIFOLRURANDOM湖南大学计算机与通信学院109.2.2相联映象的Cache存储器图9.3相对简单CPU的相联Cache64K的8位内存湖南大学计算机与通信学院11图9.3中:每一个单元中的前16位由内存地址构成,可以寻址到64K的地址空间。后8位描述的是存储在该物理内存地址中的数据。屏蔽寄存器只需设置一次。在上图中可以设成111111111111111100000000湖南大学计算机与通信学院12作用于数据行或数据块的相联存储器存储器在每个单元存储4个字节的数据。(如图9.4)同一个单元的4个数据具有相同的高位地址,即高14位相同。比图9.3中的相联存储器采用了更多的位数(46位vs24位)。湖南大学计算机与通信学院13图9.4相对简单CPU中,行大小为4字节的相联Cache湖南大学计算机与通信学院14优点:利用了访问的局部性原理:当内存单元X中的指令被访问时,下一条被执行的指令非常有可能就在内存单元X+1中。例如: 当访问地址0单元的时候,整个块(0,1,2,3)的值都被从物理内存读入CPU。当CPU下次要执行在内存单元1、2、3中的指令时,他们已在cache中即能被访问而不必从较慢的物理内存中读取。湖南大学计算机与通信学院15
不仅指令具有访问的局部性,数据同样也具有访问的局部性
如编译器通常将一列数组元素安排到相邻的内存单元中,以方便处理器顺序访问数据值。
湖南大学计算机与通信学院169.2.3直接映象的Cache存储器一种利用标准的SRAM、廉价的Cache映射方案物理内存Cache深度为1k64kx8位xxxxxx11111111111111111111湖南大学计算机与通信学院17索引
Cache地址的低十位,用来选择Cache
的一个特定单元标签
原始地址中不是索引的那些高位。直接映象的Cache存储器一个单元包括(图9.5): 标签 数据 有效值湖南大学计算机与通信学院18图9.5相对简单CPU的直接映象Cache湖南大学计算机与通信学院19另外一种直接映像Cache存储器图9.6:相对简单的CPU中,行大小为4字节的直接映像Cache湖南大学计算机与通信学院20直接映像的Cache存储器
优点:
价格低
容量大
缺点:灵活性差如前所述,物理内存中 任何形式为xxxxxx11 11111111的地址都只能 映射到Cache中地址为 1111111111的单元中湖南大学计算机与通信学院21JUMP1000HJUMP0000HJUMP0000HJUMP1000H考虑下面的代码:0000000000000000(0000H):JUMP1000H0001000000000000(1000H):JUMP0000H直接映象Cache地址0000000000湖南大学计算机与通信学院22
第一条指令被取出放入cache中。基于低10位地址位,它被映射到cache单元0000000000。标志域被设置为地址位中的6个高位,即000000。现在,它被执行,CPU在单元1000H中取指令,它的低10位也为000000,因此,它被取出并装入cache中,并且设置标志值为000100,覆盖以前的值。JUMP跳转反过来执行到单元0000H,这样,尽管其他cache单元全都可用,但这两条指令仍会不断的彼此覆盖。湖南大学计算机与通信学院239.2.4组相联映像的cache存储器特点灵活性增强 减少由直接映像带来的覆盖数据的问题采用比较便宜的SRAMN路组相联:每个单元能够包含N个字节或字
直接映像的cache可以看作是一个一路 组相联映像cache存储器湖南大学计算机与通信学院24考察大小为1k的2路组相联cache(如图9.7)该cache有1k个数据入口,每个单元2个数据值,因此有512个单元用9个地址位选择cache单元,剩下的7位说明标签值计数值用来纪录数据什么时候被访问过了图9.7相对简单CPU的2路组相联cache湖南大学计算机与通信学院25JUMP1000HJUMP0000HJUMP0000HJUMP1000H重新考虑下面的代码:0000000000000000(0000H):JUMP1000H0001000000000000(1000H):JUMP0000H组相联映象cache湖南大学计算机与通信学院26
用在9.2.3的代码例子中,cache就不会覆盖任一条指令。JUMP1000H这条指令将会被取出存入cache单元0的一路中。然后,指令0000H将会被取出放入同一单元的另一路中。从这可以看出,指令都从cache取出并被连续的执行。湖南大学计算机与通信学院27一种采用数据行的组相联cache图9.8相对简单CPU中具有4字节数据行的2路组相联cache湖南大学计算机与通信学院289.2.5在cache中替换数据问题的引出:计算机开始执行一个程序。它 从内存中取指令和数据,同时 将这些值载入cache。当cache为 空或很少被占用时,会工作的 很好。但是,最终计算机会要 将数据移入到已占用的cache单 元。此时,将哪个数据移出 cache,以及此数据如何在保存 到物理内存,这一问题就变得 至关重要湖南大学计算机与通信学院29替换策略:FIFO先进先出原则LRU近期最少使用原则随机策略湖南大学计算机与通信学院301.FIFO先进先出策略按顺序填充相联存储器,当cache
占满时返回最顶单元,用新数据 替换原有数据只要一个寄存器就能实现
该寄存器保存下一个要被替换的 单元的指针性能好湖南大学计算机与通信学院312.LRU近期最少使用策略跟踪单元的访问顺序,用新的数 据替换近期最少使用的数据每个cache单元需要一个计数器
最近访问的数据,将相应的计数 器置为0;其余的计数器依次加1性能没有FIFO好湖南大学计算机与通信学院32例:在一个4路组相联cache单元中应用LRU策略TDCVTDCVTDCVTDCVCc21Bb11Aa01---01.Cache单元的当前状态2.CPU访问DTDCVTDCVTDCVTDCVCc31Bb21Aa11Dd01湖南大学计算机与通信学院333.CPU访问ETDCVTDCVTDCVTDCVEe01Bb31Aa21Dd114.CPU访问ATDCVTDCVTDCVTDCVEe11Bb31Aa01Dd21湖南大学计算机与通信学院343.RANDOM随机策略随机的选择一个单元给新的数据 使用性能较好,与FIFO策略差不多湖南大学计算机与通信学院359.2.6写数据到cache写直达法
每次信息从CPU写入cache单元 中时,也要写回相应的物理内存 单元中
回写法
写入cache中的值并不总是被写 回物理内存。仅在数据被移出
cache时写回物理内存一次
湖南大学计算机与通信学院36处理写失效问题按写分配法
把单元装入cache,然后使用写 直达法或写回法把数据写到cache
不按写分配法
直接更新物理内存中的值,而 不把值写回cache
湖南大学计算机与通信学院379.2.7cache的性能评判性能的标准Cache命中率
要访问的数据已在cache中Cache失效率
要访问的数据不在cache中湖南大学计算机与通信学院38命中率:指由cache(而不是物理内存) 提供服务的访存百分比
平均访问时间:是cache访问时间Tc和内 存访问时间Tp的加权平均,权 值是hTm=hTc+(1-h)Tp湖南大学计算机与通信学院39表9.1hTm(单位ns)0600.1550.2500.3450.4400.5350.6300.7250.8200.915110Tc=10nsTp=60ns结论:增加命中率能够减少平均访问时间湖南大学计算机与通信学院409.3虚拟存储器存储管理单元 在物理内存和较慢的存储设备间移动数据虚拟存储器的主要实现方法:分页和分段交换磁盘交换文件湖南大学计算机与通信学院419.3.1分页
页面:在分页技术中,整个逻辑地址空间被划分为连续的块叫做页面页面的特点:每个页尺寸相同页面不可重叠,每个逻辑地址确切地 属于某个页面湖南大学计算机与通信学院42一个页面或者包含程序指令或者包含数据,不能同时包含两者4.可能导致内部碎片问题内部碎片:假设MMU实现的页式存储器中每个页面大小为4K,一个4K+1大小的程序需要MMU分配两个存储器页面,尽管它的第二个页面只用了4K单元的一个单元,这就是所谓的内存碎片湖南大学计算机与通信学院43图9.10相对简单CPU一种可能的内存配置它具有64k的逻辑地址空间,16k的物理内存,页面大小4k湖南大学计算机与通信学院44分页系统必须解决的问题:何时将某页移入内存?CPU如何在物理内存找到数据,尤其逻辑地址和物理地址不一至的情况下?当所有页框都装有页面,而CPU需要访问的数据不在这些页面怎么办?湖南大学计算机与通信学院45存储管理单元处理上述所有问题完成逻辑地址到物理地址的转换产生缺页故障,将数据从页面装入到物理内存产生请求页,把新的请求页移入到物理内存湖南大学计算机与通信学院46图9.11存储器层次结构中的MMU配置湖南大学计算机与通信学院47
在处理器需要访问数据,MMU将数据从逻辑地址装入物理地址的整个处理过程中,CPU没有访问物理单元的任何信息 例:指令LDAC4324H如何理解? 答案:把数据从逻辑地址4234H装入累加器将逻辑单元4234H的数据装入累加器,此数据实际存储在物理单元3234H中系统更倾向解释成1湖南大学计算机与通信学院48页表的概念MMU用页表来跟踪哪一页存储在哪个帧中
页表的组成(如图9.12):帧指示域(frame)有效位(valid)计数值(count,有些页表不需要)脏位(dirty)湖南大学计算机与通信学院49
图9.12(a)为页表,(b)为对应的物理内存
相对简单CPU的页表,有16K的物理内存,页面大小为4K。页表包含了16个单元,每一单元对应逻辑地址空间的一个页面,它包含一个2bit的域,表明了该逻辑页存储在哪一个页框中每一单元还包含一个有效位
0页,对应于逻辑地址0000H~1FFFH,存储在1号页框中,物理地址为1000H~1FFFH
湖南大学计算机与通信学院50MMU中逻辑地址到物理地址的转换MMU将逻辑地址看作两个部分 页和偏移量例:考虑LDAC4234H,MMC如何将逻辑 地址4234H转换成物理地址(如图9.13)湖南大学计算机与通信学院51图9.13用页表将逻辑地址转换成物理地址高4位逻辑地址表明页号,剩下的12位为偏移量四个高位为0100
页框号11表明页被映射到页框3此值与12位的偏移量拼接,生成物理地址11001000110100湖南大学计算机与通信学院52图9.13所示的MMU并没有很好的转换地址
?
因为从页表中读页框号会有一个延时,并且由于取出相邻的指令,系统可能连续的成百上千次的读这一相同的值
变换旁视缓冲器可以解决上述问题(图9.14),其功能跟页表一样,可产生帧值,但它更快,这样就提高了性能湖南大学计算机与通信学院53图9.14使用TLB转换逻辑地址到物理地址注意TLB没有必要包含计数位或者脏位,因为这些信息仍然保存在页表中。TLB中的每一个地址入口包含在页表中,但反过来不成立
湖南大学计算机与通信学院54例:考虑一台含有相对简单CPU,相同内存配置的计算机。它必须取、翻译和执行下列程序(如表9.8)0000H:LDAC4234H0003H:STAC4235H0006H:JUMP1000H1000-1063H:(100registerinstructions)1064H:JUMP2000H2000H-2031H:(50registerinstructions)2032H:JUMP0100H0100H-01C7H:(200registerinstructions)01C8H:JUMP3000H3000H-3063H:(100registerinstructions)3064H:JUMP0000H4234H:27H(datavalue)湖南大学计算机与通信学院55PageTableAdress0000H0003H0006H1000H-1064H2000H-2032H0100H-01C8H3000H-3064H0000HPageFVCDFVCDFVCDFVCDFVCDFVCDFVCDFVCD00110011001100110012001100110011012100211021202130-0--231003110312031303110011204110011011111112111311131-0--2100表9.8使用LRU替换算法的部分页表和TLB值TLBPFVPFVPFVPFVPFVPFVPFVPFV0010010010010010010010014114114114114114113113110001211211211214210000231231231231湖南大学计算机与通信学院56PageTableAdress0000H0003H-0006H1000H-1064H2000H-2032H0100H-01C8H3000H-3064H0000HPageFVDFVDFVDFVDFVDFVDFVD0010010010010010--0-1101210210210210--0-231031031031030100104110111111111111111210表9.9使用FIFO替换算法的部分页表和TLB值PFVPFVPFVPFVPFVPFVPFV00100100100100130130141141141141141141101100121121121121421000231231231231湖南大学计算机与通信学院579.3.1分段
分段:在分段技术中,程序被划分为几段,每段为一个自包含的单元分段的特点:每个段大小可以变化分段存在外部碎片问题湖南大学计算机与通信学院58外部碎片:内存驻留有3个段,另有8K自由空间。而这8K空间被划分开了,于是不移动或撤除某个当前载入段的话,大小超过3K的段已无法装入内存(如图9.16)图9.16由于分段引起的物理内存外部碎片湖南大学计算机与通信学院59分段机制中逻辑地址到物理地址的转换
图9.15分段机制中逻辑地址到物理地址的转换逻辑地址被剖分为段号和偏移量
湖南大学计算机与通信学院60段号输入到段表中,如果段已被装入内存,输出段的起始地址和段大小如果段不在物理内存中,就产生一个缺段,MMU装入新段到内存中偏移量与段大小进行比较,如果前者大于后者,或者相等,说明所访问单元不在段内,就产生一个错误如果偏移量有效,则与段地址的起始值相加,形成一个正确的物理内存地址
湖南大学计算机与通信学院61分段机制中的一个严重缺陷 在分页机制中,页号送到页表(和TLB)以产生页框号。该值和偏移量拼接构成物理地址。而在分段机制中,通过页表或TLB产生的起始地址要与偏移量相加,此过程消耗的时间比拼接要多得多
湖南大学计算机与通信学院62带分页的分段分页和分段两种机制的结合体在内存中不必是一个连续整块逻辑地址被划分为三个部分段号2.页号3.偏移量湖南大学计算机与通信学院63图9.17
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年电商平台运营管理服务协议版B版
- 个人门窗安装合同范本(2024版)
- 二手房中介劳动合同模板(2024版)
- 二零二五版绿色建材认证及采购合同3篇
- 二零二五年度蔬菜产业数据共享协议2篇
- 2025年度航空客运服务采购与质量管理体系合同3篇
- 二零二五版LNG现货交易与风险管理合同2篇
- 2025年度锌锭生产技术改造升级合作协议3篇
- 2024版居间销售合同
- 二零二五年度住宅小区公共收益管理服务协议
- TSGD7002-2023-压力管道元件型式试验规则
- 2024年度家庭医生签约服务培训课件
- 建筑工地节前停工安全检查表
- 了不起的狐狸爸爸-全文打印
- 国际经济学国际贸易的标准理论
- 8D报告培训教材(PPT 47页)
- -居民死亡医学证明(推断)书
- 糖尿病酮症酸中毒病例讨论-文档资料
- 液相色谱质谱质谱仪LCMSMSSYSTEM
- 民办非企业单位章程核准表-空白表格
- 派克与永华互换表
评论
0/150
提交评论