




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章存储器系统主要内容:6.1存储器系统概述6.2并行主存储器系统6.3高速缓冲存储器Cache6.4虚拟存储器(略)6.5辅助存储器(略)第6章存储器的结构6.1存储器系统概述6.1.1存储器器分类1.按功能划分:可分为主存储器、辅助存储器和高速缓存2.按存储介质划分:分为半导体存储器、磁表面存储器和光盘存储器等。3.按系统组织划分:分为物理存储器和虚拟存储器其中,虚拟存储器是依靠操作系统提供的存储器管理功能的支持而实现的。通常,把提供给用户编程的存储器,即在软件编程上使用的存储器称为虚拟存储器。它的存储容量即虚拟存储空间被称为虚拟空间,而面向虚拟存储器的编程地址称为虚拟地址,也称为逻辑地址;在物理上存在的主存储器被称为物理存储器,其地址称为物理地址。6.1.2存储系统的分层结构工作特点:1、采用多级存储技术,减轻存储器带宽对系统性能影响。本质上把瓶颈部件分为多个流水线部件,加大操作时间的重叠、提高速度,从而减缓固定瓶颈。2、在CPU内部设置各种Cache,以减轻对存储器存取的压力。增加CPU中寄存器的数量,也可大大缓解对存储器的压力。其本质是缓冲技术,用于减缓暂时性瓶颈6.2并行主存储器系统1.单体多字并行主存系统2.多体交叉存取方式的并行主存系统1.单体多字并行主存系统多个并行的存储体共用一套地址寄存器,按同一地址码并行地访问各自的对应单元。优点:特别适合矩形运算。2.多体交叉存取方式的并行主存系统各存储体采用交叉编址。一段连续的程序或数据,将交叉地存放在各个存储体中。各存储体采用分时访问,由存储控制部件按优先级排除确定各设备的访问请求。6.3高速缓冲存储器Cache6.3.1Cache的分级结构6.3.2Cache的工作原理6.3.3Cache与主存储器的地址映像6.3.4Cache的替换策略6.3.5Cache的写回策略6.3.6Cache的性能指标6.3.1Cache的分级结构L1Cache,包括数据缓存和指令缓存,内置于CPU,其容量和结构对CPU的性能影响较大,其容量通常在32~256KB之间。L2Cache,分内置和外置。内置二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量一般为几兆字节。L3Cache,分为外置和内置。L3缓存最早应用于AMD发布的K6-III处理器,当时的L3缓存受限于制造工艺,并没有被集成到芯片内部,而是集成在主板上,称为外置缓存。之后Intel把L3缓存集成到了服务器级的Itanium处理器之中。L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。6.3.2Cache的工作原理1.香农,1968年,局部性原理:计算机程序在执行时,对存储器的访问具有明显的局部性特征,包括:(1)时间局部性是指:当一个数据被访问时,在近期内它很可能再次被访问。例如,在循环结构中,一些数据会被反复使用,这就体现了时间局部性。(2)空间局部性是指:当一个存储单元被访问时,其附近的存储单元也很快会被访问。例如,在一个数组或结构体中,访问其中一个元素时,往往会同时访问其周围的元素,这就体现了空间局部性。局部性原理揭示了程序在访问存储器时的规律性,使得计算机系统可以更好地预测和优化程序的执行,为计算机系统的优化提供了重要的理论依据。2.Cache硬件结构及缓存原理6.3.3Cache与主存储器的地址映像1.全相联映像案例分析【例6.1】已知主存容量为64KB,Cache为4KB,假设一个存储块的大小是1KB,若主存为第9块的内容已通过预取装入Cache中的第2块,现在希望访问偏移量为800的地址单元,请使用十六进制分别指出该单元在主存和Cache中的地址编号。解:根据已知,主存单元地址需要16位二进制数表示,Cache单元地址需要12位二进制数表示。存储块为1KB,块内地址为0~1023,需要10位二进制数表示。主存的地址位数=6位块号+10位块内地址=16位,即被划分为64块。Cache的地址位数=2位块号+10位块内地址=12位,即被划分为4块。内存第9块且偏移量800的单元地址=1000(块号)+1100100000(偏移量)=8320HCache第2块且偏移量800的地址=01(块号)+1100100000(偏移量)=1320H2.直接映像案例分析【例6.2】采用直接映像方式,一个具有4KB的Cache的32位微处理器,主存的容量为16MB,假定Cache块的大小为4个32位的字(设地址单元以字节为单位编址)。(1)分别指出块内地址、Cache块号以及主存块号的位数;(2)求主存地址为ABCDEFH的单元在Cache中的什么位置?解:(1)主存块的大小=Cache块的大小=4个32位的字=16字节,块内地址的位数=4位;Cache块的个数=4KB÷16字节=256(个);因256=28,故Cache块号的位数=8位;主存块的个数=16MB÷16字节=1M(个);因1M=220,故主存块号的位数=20位:(2)主存地址位数=主存块号+块内地址=24位;Cache地址位数=Cache块号+块内地址=12位。主存地址=ABCDEFH=101010111100110111101111块内地址=1111,主存块号=10101011110011011110。Cache块号=主存块号modCache块的个数=10101011110011011110mod256=11011110因此,主存地址ABCDEFH在Cache中的位置是:块号11011110,块内地址11113.组相连映像案例分析【例6.3】容量为64块的Cache采用组相联方式映像,字块大小为128字节,每4块为一组,若主容量为4096块,且以字节编址,那么主存地址为多少位,主存区号为多少位?分区数=主存容量/Cache容量=4096/64=64;区内分组数=64/4=16;组内分块数=4块/组;块内地址=128字节;主存地址位数=6+4+2+7=19;主存区号=6位。分区区内分组组内分块块内地址解:根据题意,主存地址格式:6.3.4Cache的替换策略策略:随机,FIFO,LRU等。LRU的基本思想:当Cache已全部分配时若需要调入新内存块,则选择最近最少使用的缓存块进行替换。具体实现:方法1:计数器法(略)方法2:寄存器栈法(重点)方法3:比较对法(略)先进先出法(FIFO法)FIFO是一种常见的Cache替换策略,它的思想是将最早进入Cache存的数据块替换出去。FIFO策略的原理很简单,当Cache满时,待替换的数据块是最早进入Cache的那个。缓存维护一个队列,每次有数据块进入Cache时,将其加入队列的末尾;每次需要替换数据块时,将队列的头部的数据块替换出去。【例6.4】假设Cache分为3块,初始状态为空,某程序访问6块信息,所访问的块地址流依次为:1、2、3、2、3、4、1、2、4、5、3、6、5、4、2。如果采用全相联映像,请分析采用FIFO策略的访问过程并计算命中率。最近最少使用法(LRU法)LRU(LeastRecentlyUsed)的思想:在一段时间内,如果数据没有被访问到,那么在未来一段时间内也很可能不会被访问到,进而选择替换最长时间未被访问的数据。优点:(1)实现简单,容易理解;
(2)LRU算法在某些场景下能够有效地减少Cache的替换次数,降低了系统的访问延迟。缺陷:(1)需要维护一个访问时间的记录,这需要较大的开销来实现;
(2)对于具有较差的局部性的工作负载,LRU算法可能导致较差的Cache命中率,从而降低系统性能案例分析【例6.5】如果采用组相联映像,假设寄存器栈的容量为4,Cache分为2组,2块/组,共4块,初始状态为空,某程序访问6块数据信息,访问顺序是:0、1、2、1、2、3、0、1、3、4、2、5、4、3、1。请分析使用LRU策略的寄存器栈法的访问过程并计算命中率。解:小结,LRU——寄存器栈法的替换规则1、设寄存器栈,以记录存入Cache的主存块号;2、当Cache未满时,如果未命中,则先将栈内各单元依次下压一个单元,再将新的内存块号压入栈顶;3、当Cache已满时,若命中,则把被命中的块号升到栈顶,其他该下沉的下沉;若不命中,则先淘汰栈底,再把新的内存块号压入堆栈。思考:寄存器栈的容量多大合适?课堂练习【考研真题】假设某计算机按字编址,Cache有4个行,Cache和主存之间交换的块大小为1个字。若Cache的内容初始为空,采用2路组相联映射方式和LRU替换算法,当访问的主存地址依次为0,4,8,2,0,6,8,6,4,8时,命中Cache的次数为多少?分别发生在何时?6.3.5Cache的写入策略1.写回法(WriteBack):指将写操作先更新到缓存中,而不立即写回到主存。只有当缓存被替换或某个缓存块被修改时,才将该块数据写回到主存。2.全写法(WriteThrough):是指每次写操作都会立即将数据写回到主存或下一级缓存。3.写一次法(WriteOnce):将写回法和全写法相结合,写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。6.3.6Cache的性能指标1.Cache命令率:Cache访问中的命中率是衡量Cache效率的重要指标。命中率越高,正确获取数据的机会就越大。2.Cache的容量(略)思考:如何提高Cahce的命中率?6.4虚拟存储器(略)1.虚拟存储器的概念由于主机的实际可寻址空间为2n(n为地址总线数),远远大于物理存储空间,因此可以将超出物理存储空间之外的可寻址空间称为虚拟存储空间,简称虚地址。实际应用中,为了提高内存的效率,OS把当前暂时不使用的数据存储到特定磁盘文件中,当需要时再调入内存。若把该文件看作虚拟存储器,且OS提供了自动虚/实地址转换和数据调度管理,则编程时可直接地址访问。2.虚拟存储器的工作机制在采用虚拟存储器技术后S1:把物理地址空间和虚拟地址空间统一编址(统称逻辑地址)。S2:程序员按逻辑地址进行编程,最终由OS实现虚/实地址转换和数据调度管理。S3:CPU执行程序时,按程序提供的逻辑地址访问存储器。存储管理硬件先判断该地址是否在主存中,以决定是否直接访问主存。S4:如果数据不在主存中,则通过缺页中断处理程序,把数据先调入主存再进行访问。3.页式虚拟存储器(1)分页:将虚存和主存空间都划分若干个大小相同的页。用户程序按页访问存储地址。(2)建立页表页号控制位修改位替换控制位读/写保护位实页号表示虚页在磁盘中的位置虚页是否已调入内存表示相应的主存页是否修改表示相应的主存页是否需要替换表示读/写权限控制表示虚页在主存中的位置页表的起始地址保存到页表基址寄存器中(3)虚实地址转换过程首先将虚页号与页表起始地址合并,形成访问页表对应的地址。然后查页表并根据装入位判断该虚页是否在主存中。如果是,则将实页号与页内地址拼接,形成有效的主存实地址。(4)缺页中断与淘汰算法当虚页不在主存中时,系统产生缺页中断,通过中断方式进行预调或请调;若主存已满,可按淘汰算法先把可替换的内容转入虚存再把所需页调入主存。(5)页式虚拟存储器的优点与不足优点:根据存储器自身的物理结构分页,有利于存储空间的利用与整体处理。不足:页的划分不能反映程序的逻辑结构,给程序的执行、保护与共享带来困难思考:有哪些淘汰算法?P2374.段式虚拟存储器(1)分段:先将用户按模块结构分段,再对虚存和主存空间进行动态分段。(2)建立段表段号装入位段起点段长其他控制位表示是否已经调入主存在主存中的起始地址表示数据或程序的长度段表起始地址保存在段表基址寄存器中。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中心粮库项目可持续发展分析
- 游泳馆装修保修合同模板
- 2025年度辅导员学生安全教育与管理聘用合同
- 2025年度药店药品价格调整与定价策略合同
- 二零二五年度足疗店技师技能认证与合作推广合同
- 2025年度酒店食堂承包及膳食供应合同
- 年回收利用4万吨阳极碳渣可行性研究报告建议书
- 2025年度出租房屋意外事故责任界定与房东无关协议
- 第二单元 地表形态的塑造(单元教学设计)高二地理第一学期同步备考系列(人教版2019选择性必修1)
- 2025年度银行资金监管与金融业务流程优化协议
- 研学旅行概论教学课件汇总完整版电子教案
- 控股集团公司组织架构图.docx
- DB11_T1713-2020 城市综合管廊工程资料管理规程
- 最常用2000个英语单词_(全部标有注释)字母排序
- 气管套管滑脱急救知识分享
- 特种设备自检自查表
- 省政府审批单独选址项目用地市级审查报告文本格式
- 往复式压缩机安装方案
- 汉字的演变甲骨文PPT课件
- 在银行大零售业务工作会议上的讲话讲解学习
- 古代传说中的艺术形象-
评论
0/150
提交评论