欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第4章存储器学习.pptx

    • 资源ID:80095550       资源大小:1.38MB        全文页数:142页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章存储器学习.pptx

    1.对于一定容量的存储器,按字节或字访问对于一定容量的存储器,按字节或字访问 的寻址范围是不同的的寻址范围是不同的*难难 点点2.多体并行结构存储器顺序编址和交叉编址多体并行结构存储器顺序编址和交叉编址 对访存速度的影响对访存速度的影响3.不同的不同的 Cache 主存地址映射,直接影响主存主存地址映射,直接影响主存地址字段的分配、替换策略及命中率地址字段的分配、替换策略及命中率第1页/共142页4.1 4.1 概概 述述一、存储器分类按存储介质分类按存取方式分类按在计算机中的作用分类第2页/共142页1.按存储介质分类(1)半导体存储器:(2)磁表面存储器:(3)磁芯存储器:(4)光盘存储器:易失TTL、MOS磁头、载磁体硬磁材料、环状元件激光、磁光材料非易失第3页/共142页(1)存取时间与物理地址无关(随机访问)顺序存取存储器:磁带2.按存取方式分类(2)存取时间与物理地址有关(串行访问)随机存储器:只读存储器:直接存取存储器:磁盘在程序的执行过程中可读可写在程序的执行过程中只读第4页/共142页3.按在计算机中的作用分类(1)主存储器:(2)辅助存储器:(3)缓冲存储器:可以直接和CPU交换信息。是主存的后援存储器,存放暂时不用的程序和数据,不能与CPU直接交换信息。位于两个速度不同的部件之中,起到缓冲作用。第5页/共142页磁盘磁带光盘 缓存(Cache)闪速存储器(Flash Memory)存储器主存辅存MROMPROMEPROMEEPROM随机存储器(RAM)只读存储器ROM静态 RAM动态 RAM图4.1 4.1 存储器分类第6页/共142页1.存储器的3个主要性能指标 二、存储器的层次结构速度容量位价 一般来说,速度越高,位价越高;容量越大,位价越低,而且容量越大,速度必越低。人们追求大容量、高速度、低位价的存储器,可惜这是很难达到的。第7页/共142页高低小大快慢辅存寄存器缓存主存磁盘光盘磁带光盘磁带速度容量 价格 位CPUCPU主机图4.2 4.2 存储速度、容量和位价的关系第8页/共142页缓存CPU主存辅存缓存主存辅存主存虚拟存储器10 ns20 ns200 nsms虚地址逻辑地址实地址物理地址主存储器(速度)(容量)图4.3 4.3 缓存主存层次和主存辅存层次2.缓存-主存层次和主存-辅存层次第9页/共142页4.2 4.2 主存储器主存储器一、概述1.主存的基本组成存储体驱动器译码器MAR控制电路读写电路MDR地址总线数据总线读写图4.4 4.4 主存的基本组成第10页/共142页2.主存和 CPU 的联系MDRMARCPU主 存读数据总线地址总线写图4.5 4.5 主存和CPUCPU的联系第11页/共142页 高位字节地址为字地址 低位字节地址为字地址设地址线 24 根 按字节寻址若字长为 16 位 按字寻址若字长为 32 位 按字寻址字地址字节地址11109876543210840字节地址字地址4523014203.主存中存储单元地址的分配224=16 M8 M4 M图4.6 4.6 字节寻址的主存地址分配(a)IBM370(a)IBM370(b)PDP-11(b)PDP-11第12页/共142页 如如 16 MB(227位)位)的存储器的存储器按按 字节字节 寻址寻址按按 字(字(16位)位)寻址寻址按按 字字(32位)位)寻址寻址224=16 M223 =8 M222 =4 M寻址范围寻址范围字节字节 寻址寻址字(字(16位)位)寻址寻址字字(32位)位)寻址寻址24 位位23 位位22 位位字节地址字节地址字节地址字节地址第13页/共142页4.主存的技术指标(1)存储容量存储容量 主存存放二进制代码的总位数,即主存存放二进制代码的总位数,即 存储容量存储容量=存储单元数存储单元数存储字长存储字长 它的容量也可用字节总数来表示,即它的容量也可用字节总数来表示,即 存储容量存储容量=存储单元数存储单元数存储字长存储字长/8 目前的计算机存储容量大多以字节来表示。目前的计算机存储容量大多以字节来表示。第14页/共142页存取时间 启动一次存储器操作(读或写)到完成该操作所需的全部时间,又称为存储器的访问时间。存取时间分读出时间和写入时间(3)存储器的带宽 单位时间内存储器存取的信息量,单位可用字/秒或字节/秒或位/秒表示。(2)存储速度 由存取时间和存取周期来表示存取周期 连续两次独立的存储器操作,(读或写)所需的最小间隔时间。通常存取周期大于存取时间。第15页/共142页二、半导体存储芯片简介1.半导体存储芯片的基本结构译码驱动存储矩阵读写电路片选线读/写控制线地址线数据线读/写控制线(低电平写,高电平读)(允许读)WE(允许写)WEOE图4.7 4.7 存储器芯片的基本结构片选线 CS CE第16页/共142页存储芯片片选线的作用:用来选择存储芯片 用 16K 1位 的存储芯片组成 64K 8位 的存储器 32片当地址为 65535 时,此 8 片的片选有效 8片16K 1位 8片16K 1位 8片16K 1位 8片16K 1位图4.8 64K84.8 64K8位的存储器第17页/共142页2.半导体存储芯片的译码驱动方式(1)线选法 线选法用一根字选择线(字线),直接选中一个存储单元的各位。这种方式结构简单,但只适于容量不大的存储芯片。第18页/共142页0,015,015,70,7 读/写控制电路 地址译码器 字线015168矩阵07D07D 位线 读/写选通A3A2A1A000000,00,7007D07D 读/写选通 读/写控制电路 图4.9 1614.9 161字节线选法结构示意图第19页/共142页(2)重合法 重合法由X、Y两个方向的选择线决定被选中的存储单元,因此称为重合法。第20页/共142页A3A2A1A0A40,310,031,031,31 Y 地址译码器 X地址译码器 3232 矩阵A9I/OA8A7A56AY0Y31X0X31D读/写00000000000,031,00,31I/OD0,0读图4.10 1K14.10 1K1位重合法结构示意图第21页/共142页三、随机存取存储器(RAM)1.静态 RAM(Static RAM,SRAM)(1)静态 RAM 基本电路A 触发器非端1T4T触发器5TT 6、行开关7TT 8、列开关7TT 8、一列共用A 触发器原端T1 T4T5T6T7T8AA写放大器写放大器DIN写选择读选择DOUT读放位线A位线A列地址选择行地址选择T1 T4图4.11 4.11 静态RAMRAM的基本单元电路第22页/共142页 由于静态 RAM存储器是触发器存储信息,因此即使信息读出后它仍保持其原状态,不需要再生。但电源掉电时,原存信息丢失,故它属易失性半导体存储器。第23页/共142页(2)静态 RAM 芯片举例Intel 2114 外特性存储容量1K4 位I/O1I/O2I/O3I/O4A0A8A9WECSVCCGNDIntel 2114图4.12 Intel 2114 4.12 Intel 2114 外特性示意图第24页/共142页DD预充电信号读选择线写数据线写选择线读数据线VCgT4T3T2T11(1)动态 RAM 基本单元电路 2.动态 RAM(DRAM)读出与原存信息相反写入与输入信息相同DDV0 11 0T3T2T1图4.17 4.17 三管MOSMOS动态RAMRAM基本单元电路第25页/共142页单管MOS动态 RAM 基本单元电路读出时数据线有电流 为“1”;写入时 CS 充电 为”1”放电为”0”数据线CsT字线0 1T无电流有电流图4.18 4.18 单管MOSMOS动态RAMRAM基本单元电路第26页/共142页(2)动态 RAM 刷新 刷新 刷新过程实质上是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程,因此刷新也称为再生。刷新周期(再生周期)规定在一定时间内,对动态RAM的全部基本单元电路必作一次刷新,一般取2ms。刷新是一行行进行的,即刷新与行地址有关。刷新方式 集中刷新 分散刷新 异步刷新第27页/共142页 集中刷新 在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。假设以128 128 矩阵为例,存取周期为0.5 s,刷新周期为2ms。第28页/共142页“死时间率”为 128/4 000 100%=3.2%“死区”为 0.5 s s 128=64 s s 周期序号地址序号tc0123871 387201tctctctc3999VW01127读/写或维持刷新读/写或维持3872个周期(1936 s)128个周期(64 s)刷新时间间隔(2ms)刷新序号tcXtcY 图4.24 4.24 集中刷新时间分配示意图第29页/共142页 分散刷新 对每行存储单元的刷新分散到每个存取周期内完成。其中将机器的存取周期 tC 分成两段,前半段 tM 用来读/写或维持信息,后半段tR用来刷新,即 tC=tM+tR。因为读/写周期为 0.5 s,则存取周期为1 s。第30页/共142页 每隔128 s就将存储器全部刷新一遍,比允许2ms要短得多,并且无“死区”,但存取周期长了,整个系统速度降低了。W/RREF0W/RtRtMtCREF126REF127REFW/RW/RW/RW/R刷新间隔128个存取周期图4.25 4.25 分散刷新时间分配示意图第31页/共142页异步刷新 异步刷新是前两种方式的结合,它既可缩短“死时间”,又充分利用最大刷新间隔为2ms的特点。对该例,可采取在2ms内对128行各刷新一遍,即每隔 15.6 s(2000 s 128=15.6 s)刷新一行,而每行刷新时间仍为 0.5 s。第32页/共142页 每行每隔 2 ms 刷新一次,“死区”为 0.5 s 将刷新安排在指令译码阶段,不会出现“死区”图4.26 4.26 异步刷新时间分配示意图第33页/共142页 3.动态 RAM 和静态 RAM 的比较DRAMSRAM存储原理集成度芯片引脚功耗价格速度刷新电容触发器高低少多小大低高慢快有无主存缓存第34页/共142页 四、只读存储器(ROM)1.掩模 ROM(MROM)行列选择线交叉处有 MOS 管为“1”;行列选择线交叉处无 MOS 管为“0”。此ROM制成后不可能改变原行、列交叉处的MOS管是否存在,所以用户是无法改变原始状态的。图4.27 1K14.27 1K1位的MOSMOS管掩模ROMROM第35页/共142页 2.PROM(一次性编程)VCC行线列线熔丝熔丝断为“0”;熔丝未断为“1”若欲存“0”,则置耦合元件一大电流,将熔丝烧掉。若欲存“1”,则耦合处不置大电流,熔丝不断。图4.28 4.28 双极型镍铬熔丝式单元电路第36页/共142页 3.EPROM(多次性编程)(1)N型沟道浮动栅 MOS 电路G 栅极;S 源极;D 漏极紫外线全部擦洗D 端加正电压,形成浮动栅,S 与 D 不导通为“0”D 端不加正电压,不形成浮动栅,S 与 D 导通为“1”SGDN+N+P基片GDS浮动栅SiO2+_ _ _ 图4.30 N4.30 N型沟道浮动栅型MOSMOS电路第37页/共142页控制逻辑Y 译码X 译码数据缓冲区Y 控制128 128存储矩阵PD/ProgrCSA10A7A6A0DO0DO7112A7A1A0VSSDO2DO0DO127162413VCCA8A9VPPCSA10PD/ProgrDO3DO7(2)2716 EPROM 的逻辑图和引脚PD/ProgrPD/Progr功率下降/编程输入端,读出时为低电平图4.31 27164.31 2716型EPROMEPROM逻辑图及引脚图第38页/共142页 4.EEPROM(多次性编程)电可擦写局部擦写全部擦写5.Flash Memory(闪速型存储器)比 EEPROM快EPROM价格便宜 集成度高EEPROM电可擦洗重写具备 RAM 功能第39页/共142页 五、存储器与 CPU 的连接 1.存储器容量的扩展 由于单片存储器芯片的容量总是有限的,很难满足实际的需要,因此,必须将若干存储芯片连在一起才能组成足够容量的存储器,称为存储容量的扩展,通常有位扩展和字扩展。(1)位扩展 位扩展是指增加存储字长第40页/共142页 用 1K 4位 存储芯片组成 1K 8位 的存储器?片10根地址线8根数据线DDD0479AA021142114CSWE2片图4.32 4.32 由2 2片1K41K4位的芯片组成1K81K8位的存储器第41页/共142页图4.33 4.33 由8 8片16K116K1位的芯片组成16K816K8位的存储器第42页/共142页 用 1K 8位 存储芯片组成 2K 8位 的存储器11根地址线8根数据线?片2片1K 8 8位1K 8 8位D7D0WEA1A0A9CS0A10 1CS1图4.34 4.34 由2 2片1K81K8位的芯片组成2K82K8位的存储器(2)字扩展 字扩展是指增加存储字的数量第43页/共142页用 1K 4位 存储芯片组成 4K 8位 的存储器8根数据线12根地址线WEA8A9A0.D7D0A11A10CS0CS1CS2CS3片选译码1K41K41K41K41K41K41K41K4?片8片(3)字、位扩展 字、位扩展是指既增加存储字的数量,又增加存储字长图4.35 4.35 由8 8片1K41K4位的芯片组成4K84K8位的存储器第44页/共142页(1)地址线的连接(2)数据线的连接(3)读/写命令线的连接(4)片选线的连接(5)合理选择存储芯片(6)其他 时序、负载 2.存储器与 CPU 的连接 第45页/共142页例4.1第46页/共142页图4.36 4.36 译码器和门电路第47页/共142页解:(1)先将16进制地址范围写成二进制地址码,并确定其总容量0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0A15A14A13 A11 A10 A7 A4 A3 A00 1 1 0 0 1 1 1 1 1 1 1 1 1 1 10 1 1 0 1 0 0 0 0 0 0 0 0 0 0 00 1 1 0 1 0 1 1 1 1 1 1 1 1 1 12K8位 ROM6000H67FFH1K8位 RAM6800H6BFFH第48页/共142页(2)选择存储芯片根据地址范围的容量以及该范围在计算机系统中的作用,选择存储芯片2K8位ROM1K8位RAM2片1K4位的RAM1片 2K8位的ROM第49页/共142页(3)分配CPU 地址线A10 A0 接 2K 8位 ROM 的地址线A9 A0 接 1K 4位 RAM 的地址线C B A0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0A15 A13 A11 A10 A7 A4 A3 A00 1 1 0 0 1 1 1 1 1 1 1 1 1 1 10 1 1 0 1 0 0 0 0 0 0 0 0 0 0 00 1 1 0 1 0 1 1 1 1 1 1 1 1 1 12K 8位1片 ROM1K 4位2片RAM剩下的高位地址线与访存控制信号MREQ共同产生存储芯片的片选信号。第50页/共142页(4)片选信号的形成 由图 4.36 给出的 74138 译码器输入逻辑关系,与本题步骤(3)分配地址线的分析,未参与存储芯片地址连线的高位地址与访存控制信号MREQ共同确定片选信号。第51页/共142页 2K 8位 ROM 1K 4位 RAM1K 4位 RAM&PD/ProgrY5Y4G1CBAG2BG2AMREQA14A15A13A12A11A10A9A0D7D4D3D0WR图4.37 4.37 例4.1 CPU4.1 CPU与存储芯片的连接图例 4.1 CPU 与存储器的连接图第52页/共142页例4.2第53页/共142页解:(1)先将16进制地址范围写成二进制地址码,并确定其总容量第54页/共142页(2)选择存储芯片根据地址范围的容量以及该范围在计算机系统中的作用,选择存储芯片第55页/共142页(3)分配CPU地址线第56页/共142页(4)片选信号的形成图4.38 4.38 例4.2 CPU4.2 CPU与存储芯片的连接图第57页/共142页例 4.3第58页/共142页图4.39 4.39 例4.3 4.3 芯片第59页/共142页解:第60页/共142页(3)(3)该题的难点在于片选逻辑。由于CPU按字访问还是按字节访问受BHE和A0的控制,因此可用BHE和A0分别控制138译码器的输入端B和A,而A15A1与存储芯片的地址线相连,余下的A16接138译码器的输入端C。A19、A18、A17作为与门的输入端,与门的输出接至138译码器的G1端,G2A和G2B与IO/M相连,以确保正常工作。具体连接如图4.20所示。第61页/共142页图4.40 4.40 例4.3 CPU 4.3 CPU 与存储器芯片的连接图第62页/共142页第63页/共142页(1)地址线的连接地址线的连接 存储芯片容量不同,其地址线数也不同,而存储芯片容量不同,其地址线数也不同,而CPU 的地址线数往往比存储芯片的地址线数要多。的地址线数往往比存储芯片的地址线数要多。CPU地址线的低位与存储芯片的地址线相连。地址线的低位与存储芯片的地址线相连。CPU地址线的高位或作存储芯片扩充用,或作其他用地址线的高位或作存储芯片扩充用,或作其他用法,如作片选信号等。法,如作片选信号等。(2)数据线的连接 CPU的数据线与存储芯片的数据线数也不一定相等。此时必须对存储芯片扩位,使其数据位数与CPU的数据 线数相等。总结:存储器与 CPU 的连接 第64页/共142页(3)读/写命令线的连接 CPU读写命令线一般可直接与存储芯片的读/写控制端相连,通常高电平为读,低电平为写。第65页/共142页(4)片选线的连接片选信息的连接是CPU与存储芯片正确工作的关键。由于存储器是由许多存储芯片叠加组成的,哪一片被选中完全取决于该存储芯片的片选控制端CS是否能接收到来自CPU的片选有效信号。片选有效信号与CPU的访存控制信号MREQ(低电平有效)有关。若CPU要访问I/O,则MREQ信号为高,表示不要求存储器工 作。片选信号还与地址有关因为CPU给出的存储单元地址的位数往往大于存储芯片的地址线数,故那些未与存储芯片连上的高位地址必须和访存控制信号共同作用,产生存储器的片选信号。通常用到一些逻辑电路,如译码器和及其他各种门电路。第66页/共142页(5)合理选择存储芯片 合理选择存储芯片主要是指存储芯片类型(RAM或ROM)和数量的选择。ROM存放系统程序、标准子程序和各类常数等。RAM则是为用户编程而设置的。在考虑芯片数量时,要尽量使连线简单方便。(6)其他 时序、负载第67页/共142页习题课P150 4.6 P150 4.6 某机字长3232位,其存储容量是64KB64KB,按节编址其寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配。4.12 4.12 画出用1024*41024*4位的存储芯片组成一个容量为64K*864K*8位存储逻辑框图。要求将64K64K分成4 4个页面,每个页面分1616组,共需多少片存储芯片?第68页/共142页P151 4.14 P151 4.14 某8 8位微型计算机地址码为1818位,若使用4K*44K*4位的RAMRAM芯片组成模块板结构的存储器,试问:(1)(1)该机所允许的最大主存空间是多少?(2)(2)若每个模板为32*832*8位,共需几个模块板?(3)(3)每个模板内共有几片RMARMA芯片?(4)(4)共有多少片RAMRAM?(5)CPU(5)CPU如何选择各模块板?第69页/共142页 存储器的地址空间分布图和存储器的地址译码电路分别如图1 1所示,图中(b)(b)中的A A、B B两组跨接端子可按要求分别进行接线,如1414中的任一端子可以和5757中的任意一端跨接。7413974139是2 2线-4-4线译码器(译码输出低电平有效),使能端G G接地表示译码器处于正常译码状态。试完成A A组跨接端子与B B组跨接端子内部的连接,以便使地址译码电路按图(a)(a)的要求进行正确寻址。第70页/共142页第71页/共142页3 3、p151 4.16p151 4.16,扩展如下问题:(1)(1)若运行时发现不论往哪片RAMRAM存储8K8K数据,以4000O4000O为起始地址的存储芯片都有与之相同的数据,分析故障原因。(2)(2)若出现译码中的地址线A13A13与CPUCPU断线,并搭接到地电平上的故障,后果如何?(3)(3)如果运行时发现只有以0000H0000H为起始地址的一片存储芯片不能读/写,分析故障原因,如何解决?(4)(4)如果发现只能对1414片RAMRAM进行读/写,试分析原因。第72页/共142页 采用高速器件 调整主存结构1.单体多字系统 W位W位W位W位W位 地址寄存器 主存控制器.单字长寄存器 数据寄存器 存储体 采用层次结构 Cache 主存 增加存储器的带宽 七、提高访存速度的措施图4.41 4.41 单体四字结构存储器第73页/共142页M0M1M2M3体内地址体号体号地址00 000000 000100 111101 000001 000101 111110 000010 000110 111111 000011 000111 11112.多体并行系统(1)高位交叉(顺序存储)第74页/共142页M0地址01n1M1nn+12n1M22n2n+13n1M33n3n+14n1地址译码体内地址体号体号图4.42 4.42 高位交叉编址的多体存储器第75页/共142页M0M1M2M3体号体内地址地址0000 000000 010000 100000 110001 000001 010001 100001 111111 001111 011111 101111 11(2)低位交叉(交叉存储或模M编址)各个体轮流编址第76页/共142页M0地址044n4M1154n3M2264n2M3374n1地址译码 体号体内地址图4.43 4.43 低位交叉的多体存储器第77页/共142页低位交叉的特点在不改变存取周期的前提下,增加存储器的带宽时间 单体访存周期 单体访存周期启动存储体 0启动存储体 1启动存储体 2启动存储体 3图4.44 44.44 4个存储体交叉访问的时间关系第78页/共142页 设四体低位交叉存储器,存取周期为T,总线传输周期为,为实现流水线方式存取,应满足 T 4。连续读取 4 个字所需的时间为 T(4 1)图4.45 4.45 四体低位交叉编址存储器流水线工作方式示意图T字体号时间W4W3W2W1W0M0M0M1M2M3第79页/共142页解:连续读出四个字的信息量是32*4=128位;顺序存储存储器连续读出4个字的时间是 200ns*4=800ns=8*10-7s交叉存储存储器连续读出4个字的时间是 200ns+(4-1)*50ns=350ns=3.5*10-7s顺序存储器的带宽是 128/8*10-7s=16*107bps交叉存储器的带宽是 128/3.5*10-7=37*107bps例 4.6 设有4个模块组成的四体存储器结构,每个体的存储字长为32位,存取周期为200ns。假设数据总线宽度为32位,总线传输周期为50ns,试求顺序存储和交叉存储的存储器带宽。第80页/共142页3.高性能存储芯片(1)SDRAM(同步 DRAM)在系统时钟的控制下进行读出和写入CPU 无须等待(2)RDRAM由 Rambus 开发,主要解决 存储器带宽 问题(3)带 Cache 的 DRAM 在 DRAM 的芯片内 集成 了一个由 SRAM 组成的 Cache,有利于 猝发式读取 第81页/共142页4.3 4.3 高速缓冲存储器高速缓冲存储器一、概述1.问题的提出避免 CPU“空等”现象CPU 和主存(DRAM)的速度差异缓存CPU主存容量小速度高容量大速度低程序访问的局部性原理第82页/共142页2.Cache 的工作原理(1)主存和缓存的编址 主存块号主存012m1字块 0字块 1字块 M1主存块号块内地址m位b位n位M块B个字缓存块号块内地址c位b位C块B个字 字块 0字块 1字块 C1012c1标记Cache缓存块号图 4.49 Cache-4.49 Cache-主存存储空间的基本结构主存和缓存按块存储 块的大小相同B 为块长第83页/共142页(2)命中与未命中缓存共有 C 块主存共有 M 块M C主存块调入缓存主存块与缓存块建立了对应关系命中未命中主存块与缓存块未建立对应关系主存块未调入缓存用标记记录与某缓存块建立了对应关系的主存块号第84页/共142页(3)Cache 的命中率CPU 欲访问的信息在 Cache 中的比率。命中率与Cache 的容量与块长 有关。Nc Nc+Nmh=在一个程序执行期间,设Nc为访问Cache的总命中次数,Nm为访问主存的总次数,则命中率h为第85页/共142页(4)Cache 主存系统的效率 ta=htc+(1h)tm设tc为命中时的Cache访问时间,tm为未命中时的主存访问时间,则Cache-主存系统的平均访问时间ta为使Cache-主存系统的平均访问时间ta越接近tc越好。用e表示访问效率,则有 =100%h tc+(1h)tmtctae=100%tc第86页/共142页例4.7 假设CPU执行某段程序时,共访问Cache命中2000次,访问主存50次。已知Cache的存取周期为50ns,主存的存取周期为200ns。求Cache-主存系统的命中率、效率和平均访问时间。解(1)Cache的命中率为 2000/(2000+50)=0.97(2)e=100%=91.7%h tc+(1h)tmtc(3)平均访问时间为 50ns*0.97+200ns*(1-0.97)=54.5ns第87页/共142页3.Cache 的基本结构的基本结构Cache替换机构Cache存储体主存Cache地址映射变换机构图4.50 Cache4.50 Cache的基本结构原理框图由CPU完成第88页/共142页(1)Cache存储体 Cache存储体以块为单位与主存交换信息(2)地址映射变换机构 将CPU送来的主存地址转换为Cache地址。它与主存地址以什么样的函数关系映射到Cache中(地址映射)有关。(3)替换机构 当Cache内容已满,无法接受来自主存块的信息时,就由Cache内的替换机构按一定替换算法来确定应从Cache内移出哪个块返回主存,而把新的主存块调入Cache。第89页/共142页4.Cache的读写操作 访问Cache取出信息送CPU 访问主存取出信息送CPU将新的主存块调入Cache中执行替换算法 腾出空位 结束命中?Cache满?CPU发出访问地址 开始是否是否图4.51 Cache4.51 Cache的读数操作流程读第90页/共142页 写直达法 写回法写操作时数据既写入Cache又写入主存 写操作时只把数据写入 Cache 而不写入主存,当 Cache 数据被替换出去时才写回主存 写操作时间就是访问主存的时间,读操作时不涉及对主存的写操作,更新策略比较容易实现写操作时间就是访问 Cache 的时间,读操作 Cache 失效发生数据替换时,被替换的块需写回主存,增加了 Cache 的复杂性写写操作比较复杂,目前主要采用以下两种方法:第91页/共142页5.Cache 的改进(1)增加 Cache 的级数片载(片内)Cache、片外 Cache(2)统一缓存和分立缓存指令 Cache数据 Cache与主存结构有关,主存采用指令、数据分开的存储方案与指令执行的控制方式有关,当采用超前控制或流水线控制第92页/共142页二、Cache主存的地址映射 由主存的地址映射到Cache地址称为地址映射。地址映射方式很多,有直接映射(固定的映射关系)、全相联映射(灵活性大的映射关系)、组相联映射(上述两种映射的折中)直接映射全相联映射组相联映射地址映射方式第93页/共142页 字块2m1 字块2c+1 字块2c+11 字块2c+1 字块2c 字块2c1 字块1 字块0主存 字块 1 标记 字块 0 标记字块 2c1标记Cachet位012c1 字块字块地址 主存字 块标记t 位c 位b 位主存地址 比较器(t位)=不命中有效位=1?*m位 Cache内地址否是命中1.直接映射i=j mod C 字块2c+1 字块2c 字块0 字块 0图4.54 4.54 直接映射第94页/共142页 每个缓存块 i 可以和若干个主存块对应;每个主存块 j 只能和一个缓存块对应i=j mod C其中,i为缓存块号,j j为主存块号,C C为缓存块数 这种方式的优点是实现简单,只需利用主存地址的某些位直接判断,即可确定所需字块是否在缓存中;缺点是不够灵活,因每个主存块只能固定地对应某个缓存块,即使缓存块空着许多位置也不能占用,使缓存的存储空间得不到充分利用。第95页/共142页2.全相联映射字块2m1字块2c1字块1 字块0字块2c1字块1字块0标记标记标记主存字块标记 字块内地址主存地址m=t+c 位b位m=t+cCache主存 字块0图4.55 4.55 全相联映射第96页/共142页 全相联映射允许主存中每一字块映射到Cache中的任何一块位置上,即主存中的任一块可以映射到缓存 中的任一块。这种方式灵活,命中率高,缩小了块冲突。与直接映射相比,它的主存字块标记从t位增加到t+c位,这就使Cache“标记”位数增多,而且访问Cache时主存字块标记需和Cache的全部“标记”位进行比较,才能判断出所访问主存地址的内容是否已在Cache内。总之,这种方式所需逻辑电路甚多,成本较高。第97页/共142页字块2m1字块2c-r+1 字块2c-r+1 字块2c-r字块2c-r 字块1 字块0 字块 3标记 字块 1标记字块 2c1标记 字块 2标记 字块 0标记字块 2c2标记 字块内地址组地址主存字块标记s=t+r 位q=cr 位b 位组012c-r1主存地址Cache主存m 位共 Q 组,每组内两块(r=1)13.组相联映射 字块0 字块 1 字块 0 字块2c-r 字块2c-r+1图4.56 4.56 组相联映射第98页/共142页组相联映射是对直接映射和全相联映射的一种折中。它把Cache分为Q组,每组有R块,并有以下关系:i=j mod Q其中,i为缓存组号,j为主存块号。直接映射全相联映射某一主存块 j 按模 Q 映射到缓存的第 i 组中的任一块第99页/共142页 组相联映射中,主存的第 j 块会映射到Cache的第 i 组内,两者之间是一一对应,属直接映射关系;另一方面,主存的第 j 块可以映射到Cache的第 i 组内中的任一块,这又体现出全相联映射关系。可见,组相联映射的性能及复杂性介于直接映射和全相联映射两者之间。第100页/共142页 例4.8 假设主存容量为512KB,Cache容量为4KB,每个字块为16个字,每个字32位。(1)Cache地址有多少位?可容纳多少块?(2)主存地址有多少位?可容纳多少块?(3)在直接映射方式下,主存的第几块映射到Cache中的第5块(设起始字块为第1块)?(4)画出直接映射方式下主存地址字段中各段的位数。解:(1)212=4KB,Cache地址为12位。每块容量为16*4B(32/4)=64B,4KB/64B=64块。(2)219=512KB,主存地址为19位。512KB/64B=8192块(3)在直接映射方式下,由于Cache共有64块,主存共有8192块,因此主存的第5,64+5,264+5,213-64+5块都能映射到Cache的第5块中。第101页/共142页(4)主存字块标记 缓存字块标记字块内地址7位6位6位图4.57 4.57 例4.84.8主存地址各字段的分配例4.9 假设主存容量为512K16位,Cache容量为409616位,块长为4个16位的字,访存地址为字地址。(1)在直接映射方式下,设计主存的地址格式。(2)全相联映射方式下,设计主存的地址格式。(3)在二路组相联映射方式下,设计主存的地址格式。(4)若主存容量为512K32位,块长不变,在四路组相联映射方式下,画出直接映射方式下,设计主存的地址格式。第102页/共142页解:(1)主存字块标记缓存字块标记字块内地址7位10位2位(a)(a)直接映射方式主存地址格式主存字块标记字块内地址17位2位(b)(b)全相联映射方式主存地址格式(2)(3)主存字块标记组地址字块内地址8位9位2位(c)(c)两路组相联映射方式主存地址格式第103页/共142页(4)主存字块标记组地址字块内地址10位8位2位(d)(d)四路组相联映射方式主存地址格式例4.10 假设Cache的工作速度是主存的5倍,且Cache被访问命中的概率为95%,则采用Cache后,存储器性能提高多少?解:设Cache的存取周期为t,主存的存取周期为5t,则系统的平均访问时间为 ta=0.95t+0.055t=1.2t性能为原来的 5t/1.2t-1=3.17倍,即提高了3.17倍。图4.58 4.58 例4.94.9主存地址格式第104页/共142页例4.11 设某主机主存容量为16MB,Cache容量为8KB。每字块有8个字,每字为32位。设计一个四路组相联映射的Cache组织。(1)画出主存地址字段中各段的位数。(2)设Cache初态为空,CPU依次从主存第0,1,2,99号单元读出100个字(主存一次读出一个字),并重复此次序读10次,问命中率是多少?(3)若Cache的速度是主存速度的5倍,试问有Cache和无Cache相比,速度提高多少倍?(4)系统的效率多少?第105页/共142页主存字块标记组地址13位6位5位解:(1)图4.59 4.59 例4.10 4.10 主存地址字段字块内地址(2)由于每个字块中有8个字,而且初态Cache为空,因此CPU读第0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入Cache第0组中的任一块内,接着CPU读17号单元时均命中。同理,CPU读第8,16,96号单元时均未命中。可见CPU在连续读100个字中共有13次未命中,而后9次循环读100个字全部命中,命中率为 10010-13/10010=0.987第106页/共142页(3)根据题意,设主存存取周期为5t,Cache的存取周期为 t,没有Cache的访问时间为5t1000,有Cache的访问时间为t(1000-13)+5t13,则有Cache和没有Cache相比,速度提高的倍数为 5t1000/(t(1000-13)+5t13)-1=3.75(4)根据(2)求得命中率0.987,主存的存取周期为5t,Cache的存取周期为t,得系统的效率为 t/(0.987 t+(1-0.987)5t)100%=95%第107页/共142页三、替换算法 当新的主存块需要调入Cache并且它的可用空间位置又被占满时,需要替换掉Cache的数据,这就产生了替换策略(算法)问题。在直接映射的Cache中,由于某个主存块只与一个Cache字块有映射关系,因此替换策略很简单。而在组相联和全相联映射的Cache中,主存块可以写入Cache中若干位置,这就有一个选择替换掉哪一个Cache字块的问题,即所谓替换算法问题。常用的替换算法如下:先进先出(First-In-First-Out,FIFO)近期很少使用(Least Recently Used,LRU)随机法 第108页/共142页1.先进先出(FIFO)算法 选择最早调入Cache的字块进行替换。特点:它不需要随时记录各字块的使用情况,所以容易实现,开销小;缺点是可能把一些需要经常使用的程序块也作为最早进入Cache的块而被替换出去。如循环程序等。2.近期最少使用(L

    注意事项

    本文(第4章存储器学习.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开