




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,系统总线,存储器,运算器,控制器,接口与通信,输入/输出设备,计算机组成原理,第四章存储器,复习与作业,第4章存储器4.4辅助存储器(不讲了)演讲下周第一次课(23、24日)题目:任意(只要是有关辅助存储器的)内容:关于辅助存储器的分类、工作原理、先进技术等等可以从书中4.4中选取内容,也可以从网上自己搜索整理。(例如:硬盘、光盘工作原理、读取方式、主流产品、主要型号参数的说明等等,移动硬盘,磁盘阵列先进存储设备的技术应用与发展)要求:每小班四名同学(只能多不能少)每人6分钟(大概10张PPT左右),准备充分,讲述流利。凡演讲者,期末考试卷面成绩+5分。,3.1、主存储器概述3.2、主存储器构成3.3、主存储器扩展3.4、主存储器与CPU的连接3.5、提高主存储器性能的技术3.5.1、提高主存的制造技术3.5.2、双端口存储器3.5.3、单体并行多字存储器3.5.4、多体并行交叉存储器,3、主存储器,角度二:提高存储体系结构,角度一:硬件提高元器件,存储系统中主要是通过并行主存储器和设置Cache来提高速度。,双端口存储器和多体交叉存储器属于并行存储器。前者采用空间并行技术,后者采用时间并行技术。,第四章存储器,辅助存储器,为了弥补主存速度的不足,在CPU与主存之间设置一个高速小容量的缓冲存储器,称高速缓存(Cache),主要由高速的SRAM组成。其工作原理如下:,我们利用程序运行的局部性特点,把CPU正在访问和即将访问的若干程序块和数据块从主存调入高速缓存中,使CPU大部分从高速缓存中读取指令和存取数据,极大地提高了CPU的访问速度。,4、高速缓冲存储器(Cache),CPU,Cache,主存DRAM,地址总线,相联存储表,命中,未命中,数据总线,块,字,字,CPU读取数据字时:1)CPU输出字地址同时送到Cache和主存;2)Cache先判断该字是否在Cache中;如果在,Cache直接送给CPU;如果不在,再去主存中读取。3)去主存取字时不仅把该字取出,同时还把该字附近的一块数据都取出送给Cache,以便CPU下次读取字时在Cache中读取。Cache的命中率高达98%以上。,4、高速缓冲存储器(Cache),CPU,Cache,主存DRAM,地址总线,相联存储表,命中,未命中,数据总线,块,字,字,增加Cache后,使主存的平均存取时间尽可能接近Cache的。由于程序访问的局部性使之可能。在一个程序执行期间命中率与程序的行为、Cache的容量、组织方式、块的大小有关。Tc表示命中时的Cache读写时间,Tm表示未命中时的主存读写时间,1-h表示未命中率,则Cache/主存系统的平均访问时间Ta为:主存慢于Cache的倍率r:为提高访问效率,命中率越接近1越好,r值以510为宜。,命中率h=Cache完成存取的总次数/(Cache完成存取的总次数+主存完成存取的总次数),Ta=h*Tc+(1-h)Tm,r=Tm/Tc,4、高速缓冲存储器(Cache),考研试题精选:假设:CPU执行某段程序时,共访问Cache3800次,访问主存200次,已知Cache存取周期为50ns,主存存取周期为250ns。求:Cache主存系统的平均存取时间和效率。,解:系统命中率h=3800/3800+200=0.95系统平均存取时间Ta=50ns*0.95+250ns*(1-0.95)=60ns系统效率=(Cache存取时间/平均存取时间)=50ns/60ns=83.3%,4、高速缓冲存储器(Cache),公式一,考研试题精选:例:CPU执行一段程序时,Cache完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache存取周期为50ns,主存存取周期为250ns。求:Cache/主存系统的效率和平均访问时间。解:系统命中率h=1900/(1900+100)=0.95倍率r=Tm/Tc=250ns/50ns=5系统效率=1/(r+(1-r)h)=1/(5+(1-5)*0.95)=83.3%系统平均访问时间Ta=h*Tc+(1-h)Tm=0.95*50ns+0.05*250ns=47.5+12.5=60ns,4、高速缓冲存储器(Cache),公式二,CPU与Cache之间的数据交换以“字”为单位,而Cache与主存之间的数据交换以“块”为单位。一块由若干个字组成,块是定长的。为了实现Cache的上述功能,需要解决这样一些问题:1)Cache与主存中存储单元地址映象关系,主存大而Cache小;(主存中的存储单元放在Cache中哪个存储单元?)2)如何实现地址转换,将访问主存的地址转换成访问Cache的地址;(CPU直接输出的是访问主存单元地址,主存长地址变Cache短地址?)3)若访问Cache未命中且Cache未满时,数据块如何调入?Cache已满时,数据块如何替换?先来先走?4)数据的一致性问题:Cache中的更新数据与内存中的陈旧数据之间的更新。,4、高速缓冲存储器(Cache),第四章存储系统,辅助存储器,Cache的全部功能都是由硬件完成的,对程序员来说是透明的。,4.1、地址映象,映象:其物理意义就是位置的对应关系,将主存地址变成Cache地址。常见的映象方式主要有三种:1)直接映象2)全相联映象3)组相联映象,CPU,Cache,主存DRAM,地址总线,相联存储表,命中,未命中,数据总线,块,字,字,0块,1块,15块,0区,1区,255区,Cache,主存,区号,块号,块内地址,块号,块内地址,主存地址,Cache地址,7位,4位,9位,4位,9位,4.1、地址映象直接映像,第0块,第1块,第15块,第16块,第17块,第31块,第2032块,第2033块,第2047块,0,1,2,3,Cache块号,主存区号,块表,直接映象方式是多对一影射。主存中的一块只能映象到Cache某一个固定的块中。直接映象的关系式:K=ImodMK:Cache块号,I:主存块号,M:Cache总块数,0,0163248.2032,1,1173349.2033,4.1、地址映象直接映像,CPU先送出一个主存地址,用主存地址中的区号与块表中区号比较,若命中:访Cache(按主存地址的块号+块内地址)读出一字送CUP;若未命中:访内存(按主存地址的区号+块号)读出一块送Cache。,区号,块号,块内地址,Cache块号,块内地址,比较,命中,未命中访问内存,访问Cache,按块号查找块表,主存地址,Cache地址,4.1、地址映象直接映像,000,001,010,011,Cache块号,区号标记,例1:设有一个Cache的容量为2KB,每个块为16字(一字一字节)求:1)该Cache可容纳多少个块?2KB=2048B2048B/16B=128块2)如果主存容量为256KB,则有多少块?256KB=256*1024B=262144B262144B/16B=16384块3)主存地址有多少位?Cache地址有多少位?主存有18位,Cache有11位。4)在直接映象方式下,主存中第135块映象到Cache中哪块?K=ImodM=135mod128=75)进行地址映射时,主存地址分成哪几段?各段分别有多少位?主存地址分为三段:主存区号位数=主存地址位数Cache地址位数=18-11=7位Cache块号位数=7位27=128块内地址位数=4位24=16,主存区号,块号,块内地址,4.1、地址映象直接映像,例2:设一个Cache中有8块,访问主存进行读操作的块地址依次为:10110、11010、10110、11010、10000、00100、10010,求每次访问时Cache的内容。,主存区号,块号,块内地址,2位,3位,主存块号,Cache块号,块内地址,比较,未命中访问内存,000001010011100101110111,000001010011100101110111,内存10区,10110,块表,000001010011100101110111,Cache,调入,调入,10,4.1、地址映象直接映像,例2:设一个Cache中有8块,访问主存进行读操作的块地址依次为:10110、11010、10110、11010、10000、00100、10010,求每次访问时Cache的内容。,主存区号标记,块号,块内地址,2位,3位,主存块号,Cache块号,块内地址,比较,未命中访问内存,11,10,000001010011100101110111,000001010011100101110111,11,内存11区,11010,块表,000001010011100101110111,Cache,调入,调入,4.1、地址映象直接映像,例2:设一个Cache中有8块,访问主存进行读操作的块地址依次为:10110、11010、10110、11010、10000、00100、10010,求每次访问时Cache的内容。,主存区号标记,块号,块内地址,2位,3位,主存块号,Cache块号,块内地址,比较,命中,11,10,000001010011100101110111,10110,块表,000001010011100101110111,Cache,访问Cache,4.1、地址映象直接映像,例2:设一个Cache中有8块,访问主存进行读操作的块地址依次为:10110、11010、10110、11010、10000、00100、10010,求每次访问时Cache的内容。,主存区号标记,块号,块内地址,2位,3位,主存块号,Cache块号,块内地址,比较,命中,11,10,000001010011100101110111,11010,块表,000001010011100101110111,Cache,访问Cache,4.1、地址映象直接映像,例2:设一个Cache中有8块,访问主存进行读操作的块地址依次为:10110、11010、10110、11010、10000、00100、10010,求每次访问时Cache的内容。,主存区号标记,块号,块内地址,2位,3位,主存块号,Cache块号,块内地址,比较,未命中访问内存,11,10,000001010011100101110111,000001010011100101110111,内存10区,10000,块表,000001010011100101110111,Cache,调入,调入,10,4.1、地址映象直接映像,例2:设一个Cache中有8块,访问主存进行读操作的块地址依次为:10110、11010、10110、11010、10000、00100、10010,求每次访问时Cache的内容。,主存区号标记,块号,块内地址,2位,3位,主存块号,Cache块号,块内地址,比较,未命中访问内存,11,10,000001010011100101110111,000001010011100101110111,内存00区,00100,块表,000001010011100101110111,Cache,调入,调入,10,00,4.1、地址映象直接映像,例2:设一个Cache中有8块,访问主存进行读操作的块地址依次为:10110、11010、10110、11010、10000、00100、10010,求每次访问时Cache的内容。,主存区号标记,块号,块内地址,2位,3位,主存块号,Cache块号,块内地址,比较,未命中访问内存,11,10,000001010011100101110111,000001010011100101110111,内存10区,10010,块表,000001010011100101110111,Cache,替换,替换,10,00,10,4.1、地址映象直接映像,直接映射方式的优点:硬件比较简单,成本低。直接映射方式的缺点:1)每个主存块对应Cache中一个固定的位置,Cache中即使有空的块,但是如果不是对应的内存块则不能调入进去,所以Cache的利用率不高。2)若未命中,从主存读入的块替换出Cache原先存放的块,但很有可能很短一段时间后又要换入。,4.1、地址映象直接映像,0块,1块,15块,0块,1块,15块,2047块,Cache,主存,2)全相联映象主存中任一块都可以映象到Cache中任一块上。(必须采用相联存储器),块号,块内地址,块号,块内地址,主存地址,Cache地址,11位,9位,4位,9位,4.1、地址映象全相联映像,块表,主存块号,0,1,2,3,Cache块号,主存块号,块内地址,主存地址,Cache块号,块内地址,比较,命中,未命中访问内存,块表,访问Cache,主存块号标记,Cache块号,Cache地址,4.1、地址映象全相联映像,查找速度比较慢,实现成本高,很难实现。必须采用相联存储器P153。,主存块号,块内地址,主存地址,Cache块号,块内地址,比较,命中,块表,访问Cache,01101001,主存块号标记,101,Cache块号,Cache地址,例:设全相联映象下,访问主存进行读操作的块地址为:01101001,块表如下,求访问时Cache的块号。,101,4.1、地址映象全相联映像,3)组相联映象(普遍采用)前两种映象的折中方案:组与组之间直接映象,组内全相联映象。将Cache分成u组,每组v块,将主存也分成U组,每组V块,u=V(主存中一个组内的块数=Cache中组数)主存块放到Cache哪个组是固定的,但存放到该组哪个块是灵活的。,主存组号,块号,主存地址,Cache地址,7位,块内地址,3位,Cache组号,3位,块号,块内地址,1位,9位,Cache中每组分2块(1位):两路组相联映象;Cache中每组分4块(2位):四路组相联映象;,9位,4.1、地址映象组相联映像,0块,1块,0块,1块,7块,0块,1块,7块,0块,1块,7块,0组,1组,255组,Cache,主存,0块,1块,0块,1块,0组,1组,7组,共分8组,主存分256组,每组8块,Cache分8组,每组2块。主存中0、8、16映射于Cache第0组的第0或1块。,两路组相联映象,共分256组,每组分8块,4.1、地址映象组相联映像,比较,命中,未命中访问内存,查找块表,访问Cache,000,001,010,011,主存组号,Cache组号,主存组号,主存地址,Cache地址,7位,3位,块号,块内地址,9位,Cache组号,块号,块内地址,Cache块号,3位,1位,9位,4.1、地址映象组相联映像,比较,命中,查找块表,访问Cache,主存组号,主存地址,Cache地址,7位,3位,块号,块内地址,9位,Cache组号,块号,块内地址,3位,1位,9位,例:设一个Cache中有8块,块表如下,访问主存进行读操作的地址为:0101011001000100110、求访问时Cache的地址。,0011000100110,4.1、地址映象组相联映像,001,主存组号标记,0101011,Cache组号,1,Cache块号,第四章存储系统,辅助存储器,Cache的全部功能都是由硬件完成的,对程序员来说是透明的。,有了Cache使CPU的工作效率大大提高。但是当未命中而将新的主存块调入Cache中而它的可用位置又已被占满时,就产生替换算法问题。替换算法目的:获得最高命中率,使CPU访问的块尽可能都在Cache中。1)先进先出算法FIFO按调入Cache的先后决定淘汰的顺序,淘汰最先调入Cache的块。这种方法:实现容易,系统开销少,但不一定合理,因为有些最先调入的块可能正在使用。2)最近最少使用算法LRU为Cache各块建立一个LRU目录,记录其调用情况,当需要替换时将在最近一段时间内使用最少的块替换出去。这种方法:命中率高,但算法复杂,系统开销大。,4.2、替换算法,LRU替换算法的平均命中率高于FIFO替换算法的平均命中率。应为LRU替换算法反映了程序的局部性特点。,例:设一个容量为4个块的全相联Cache,分别采用FIFO和LRU替换算法,假定访问的主存地址块序列为2、11、2、9、7、6、4、3,画出每次访问后Cache中的内容变化情况。解:FIFO先进先出替换算法主存地址块号:211297643Cache块分配情况:操作状态调入调入命中调入调入替换替换替换,4.2、替换算法,例:设一个容量为4个块的全相联Cache,分别采用FIFO和LRU替换算法,假定访问的主存地址块序列为2、11、2、9、7、6、4、3,画出每次访问后Cache中的内容变化情况。解:LRU最近最少使用替换算法主存地址块号211297643Cache块分配情况:操作状态调入调入命中调入调入替换替换替换,4.2、替换算法,第四章存储系统,辅助存储器,Cache的全部功能都是由硬件完成的,对程序员来说是透明的。,1)、指令Cache和数据Cache随着计算机技术的发展和处理速度的加快,存取数据的操作经常会与取指令的操作发生冲突,从而延迟了指令的读取。发展的趋势是将指令Cache和数据Cache分开而成为两个相互独立的Cache。2)、多层次Cache结构片内Cache的容量受芯片集成度的限制,容量小,命中率低。于是推出了二级Cache方案:一级Cache(L1)在CPU芯片内,容量小,速度快;二级Cache(L2)在CPU芯片外,容量大,SRAM存储器。两级Cache之间一般有专用总线相连。,4.3、多层次的Cache,3)、Cache的一致性问题CPU对Cache的写入更改了Cache的内容,可选用写操作策略使Cache内容与主存内容保持一致。常用的写操作策略:(1)写回法当CPU写Cache命中时,只修改Cache的内容,而不立即写入主存;只有当此块被换出时才写回主存。减少了访问主存的次数,但存在不一致性的隐患。(2)写直达法当CPU写Cache命中时,同时修改Cache与主存的内容,维护了一致性。当CPU写Cache未命中时,直接修改内存的内容。但是降低了Cache的功效。(3)写一次法基于以上两种方法,第一次写命中时使用写直达法(同时修改Cache与主存的内容),以后命中和未命中使用写回法(只修改Cache的内容),4.3、多层次的Cache,奔腾PC机采用两级Cache结构:安装在主板上的2级Cache(L2)和集成在CPU内的1级Cache(L1)都采用2路组相联映射方式。CPU中的L1分设指令Cache和数据Cache。2级Cache采用的是写回法,1级数据Cache采用的是写一次法。为了维护Cache的一致性,L1和L2均采用MESI协议。2级Cache的内容是主存的子集,而1级Cache又是2级Cache的子集。,4.3、多层次的Cache,奔腾PC机的Cache,考研试题精选:设某机主存容量为16MB,按字节寻址。Cache容量为16KB。每块8个字,每个字32位。设计一个四路组相联映射(Cache每组4块)的Cache,要求:1)画出主存地址字段中各段的位数。,解1)按字节寻址(一个存储单元一字节),所以计算一块内有多少字节:每块8个字,每字32位(4B),每块32B(25B),所以块内地址5位。Cache容量16KB=214B,每块25B每组4块=4*25B=27BCache组数=总容量/组容量=214B/27B=27,Cache组数=内存块数,所以内存块地址7位。内存容量16MB,所以内存地址总位数24位,所以内存组地址12位。,解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住宅小区保安培训大纲
- 妇产科诊疗常规
- 古诗活动教师培训
- 支原体肺炎治疗
- 血管造影术后护理
- 掌骨骨折第四护理常规
- 肿瘤放疗进修护士专题汇报
- 服务语言技巧培训
- 财务政策培训
- 员工培训成果应用
- 全国二卷2025年高考数学真题含解析
- 护理急诊急救培训课件
- 2025年卫生系统招聘考试(公共基础知识)新版真题卷(附详细解析)
- 2024年司法局司法辅助岗招聘考试笔试试题(含答案)
- 2025邯郸武安市选聘农村党务(村务)工作者180名笔试备考试题及答案详解一套
- 重庆市普通高中2025届高一下化学期末学业质量监测试题含解析
- 2025年人力资源管理师考试试卷及答案
- 北方华创招聘笔试题库2025
- 2025郑州航空工业管理学院辅导员考试试题及答案
- 浙江省嘉兴市2023-2024学年高一下学期6月期末考试英语试题(含答案)
- 多模态数据融合的智能告警机制-洞察阐释
评论
0/150
提交评论