Chapter-5-存储器(1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电子科技大学计算机科学与工程学院计算机组成与设计硬件/软件接口第5章大容量和高速度:开发存储器层次结构电子科技大学计算机科学与工程学院5.1引言冯·若依曼(Von·Nouma)美籍匈牙利数学家1903–1957存储程序概念。要运行的程序必须先调入内存,然后再执行。程序MemoryCPULoadAllExecuteOnebyone电子科技大学计算机科学与工程学院基本术语及概念存储器的分类半导体存储器1.静态随机存储器—SRAM2.动态随机存储器—DRAM磁表面存储器:容量、存储周期例:2GB60ns容量、转速例:200GB7200转/分3.闪存-FlashMemory电子科技大学计算机科学与工程学院光盘存储器:1.CD-ROM:只读性光盘2.WORM:写入式(只能写一次)3.CD-RW:可擦/写光盘基本术语及概念DVD-DigitalVersatileDisc4.7GBVCD-VideoCompactDisc700MB电子科技大学计算机科学与工程学院基本术语及概念存储器存取方式•可按地址随机地访问任一存储单元随机存取存储器(RAM)•访问时间与访问地址无关顺序存取存储器(SAM)必须按顺序访问,例如:磁带。速度慢,现在已Out了。电子科技大学计算机科学与工程学院存储器的主要性能指标存储容量单位:Byte、KB、MB、GB存取周期CPU连续访存中平均一次存取操作所需的时间。基本术语及概念电子科技大学计算机科学与工程学院5.1引言控制器数据路径存储器处理器输入输出指令数据存储器向处理器提供指令和数据但问题是:存储器太小、太慢?电子科技大学计算机科学与工程学院5.1引言局部性原理时间局部性如果某个数据被访问,那么很快它有可能再次被访问。空间局部性如果某个数据被访问,那么与它邻近的数据有可能很快被访问。Really?别骗我!电子科技大学计算机科学与工程学院5.1引言问题:存储器太小、太慢办法:存储器系统分层结构控制器数据路径存储器(内存)(DRAM)处理器寄存器L1Cache(SRAM)L2Cache(SRAM)外存(硬盘)电子科技大学计算机科学与工程学院StaticRAM(SRAM)静态存储器5.1引言用于制造寄存器、L1/L2Cache存取速度快:0.5~25ns(集成的更快)集成度低、价格贵功耗大电子科技大学计算机科学与工程学院DynamicRAM(DRAM)动态存储器5.1引言用于计算机主存的制造存取速度慢:50~70ns需周期性刷新功耗小集成度高,价格便宜电子科技大学计算机科学与工程学院5.1引言处理器数据行或块命中:数据在高层存储器缺失:数据没有位于高层存储器电子科技大学计算机科学与工程学院术语命中率在高层存储器中找到访问数据的比例。缺失率在高层存储器中没有找到访问数据的比例。缺失率=1–命中率电子科技大学计算机科学与工程学院术语命中时间访问高层存储器所需的时间。缺失代价将数据块从低层搬到高层存储器并送到处理器所需的时间。判断时间+数据传送时间电子科技大学计算机科学与工程学院5.2Cache的基本原理DRAM的发展趋势容量:4倍/3年速度:2倍/10年电子科技大学计算机科学与工程学院5.2Cache的基本原理CPU与Memory的速度差110100100019801981198319841985198619871988198919901991199219931994199519961997199819992000CPU1982增长:50%/年性能“Moore’sLaw”DRAM电子科技大学计算机科学与工程学院5.2Cache的基本原理寻址的速度差异寻址延时与制造材料的物理特性有关带宽的增加•并行传输:多位同时传输•突发传输(Bursttransfers)在一个读写周期内实现多次传输。电子科技大学计算机科学与工程学院5.2Cache的基本原理利用带宽支持存储器的分层结构使用Cache支持访问的局部性分层设计存储器,实现内存中大块数据的传输电子科技大学计算机科学与工程学院当前计算机的存储器结构SystemControllerL1CacheMainMemory(DRAM)GraphicsProcessor(I/OBus)L2CacheProcessor电子科技大学计算机科学与工程学院Cache的原理CPU主存Cache插入到CPU与主存间由快速SRAM实现存储程序的部分指令数据操作:命中(在Cache中)未命中(不在Cache中)电子科技大学计算机科学与工程学院实现Cache的4个关键问题1:数据块放在Cache的什么地方?2:如何在Cache中找到所需的数据块?3:Cache未命中时如何转换数据块?4:写数据时如何写?A.只写Cache?B.只写Memory?C.同时时写Cache和Memory?D.其它?电子科技大学计算机科学与工程学院基本的Cache设计直接映射主存中每一个页只能映射到某一固定的Cache页中,直接映射有如下函数关系:K=jmodK:Cache的页号j:主存的页号n:Cache页号的位数Cache中的页数=2nCache中的页数电子科技大学计算机科学与工程学院基本的Cache设计假定:主存的容量为1MB,每页大小512B,分为2048页;Cache的容量为8KB,每页大小512B,分为16页;二者必须相等电子科技大学计算机科学与工程学院基本的Cache设计组号第0页7位Cache组号第1页……组号第15页第0页第1页…第15页第16页第17页…第31页第2032页第2033页…第2047页…0组1组127组主存组号组内页号页内地址XXYYZZ749定位Cache页,读取组号相等吗?据此判断内存目标页是否在Cache中电子科技大学计算机科学与工程学院基本的Cache设计特点:硬件实现容易;Cache利用率低;电子科技大学计算机科学与工程学院5.2.1Cache的访问内存地址结构的设计组号组内页号数据页(512B)4位7位主存的容量为1MB,每页大小512B,分为2048页512=299位16=242048/16=128=27电子科技大学计算机科学与工程学院5.2.1Cache的访问Cache地址结构的设计Cache的容量为8KB,每页大小512B,分为16页标记位有效位数据页(512B)1位7位标记位=2048÷16=128=27必须与主存页大小相同电子科技大学计算机科学与工程学院5.2.1Cache的访问000010100101110100100…1110101011…1……………0000101010XXXXXXXXX098121119VTagData=DATAHIT电子科技大学计算机科学与工程学院举例假设一个直接映射的Cache,有16KB数据,块大小4个字,地址32位,那么Cache总共有多少位?(即Cache的大小)参考答案:MIPS中:32位/字=4字节/字块大小:4字/块=16字节/块=128位/块16KB分为:16K÷16=1K=1024(块)电子科技大学计算机科学与工程学院举例数据块0128bit有效位1bit标记位18bit数据块1有效位标记位数据块1023有效位标记位……102418+1+128×1024=147×210=147𝐾𝑏𝑖𝑡𝑠=18.4𝐾𝐵电子科技大学计算机科学与工程学院举例对于前面例子,若内存地址分别为100005和0x100005的字节将分别映到Cache的哪一块?100005÷16=6250.3125参考答案:对于内存地址100005∴该内存地址位于第?????块映射到Cache的块=6250𝑚𝑜𝑑1024=1066249块?6250块?6251块?6250块电子科技大学计算机科学与工程学院10位举例参考答案:对于内存地址0x100005010100000000000000000001500001十六进制二进制=0映射到Cache的块=第𝟎块电子科技大学计算机科学与工程学院缺失率与块大小电子科技大学计算机科学与工程学院缺失率与块大小Cache块较大时,一旦缺失,带来的延时和开销是比较大的。提前重启(earlyrestart)当块中所需字一旦返回就马上执行,而不需要等待整个块都传过来再执行。该技术用于指令访问,效果较好,因为指令通常是连续的。该技术用于数据Cache效率要低一些,因为请求的数据其分布无法预知。电子科技大学计算机科学与工程学院缺失率与块大小请求字优先/关键字优先缺失时,先将请求字从存储器传输到Cache中,然后再传输该块的剩余部分,之后再从块的开始部分传输。该技术的延时性能比提前重启要好一些。电子科技大学计算机科学与工程学院5.2.2Cache的缺失处理指令Cache缺失的处理步骤将PC-4送到存储器中通知主存执行读操作,并等待主存访问完成写Cache项,并设置Cache相关标志重新取指令,此时指令在Cache中电子科技大学计算机科学与工程学院5.2.3写操作处理Write-through(写直达/通写)当需要写数据时(执行Store指令),将数据同时写入Cache和主存中。优点:Cache和主存的内容保持一致。缺点:耗时长,效率低。电子科技大学计算机科学与工程学院5.2.3写操作处理写缺失当要写的数据不在Cache中时,发生写缺失。1.将主存中的数据块读到Cache;2.将要写的数据写到Cache和主存中;为什么不直接写到Cache和主存?电子科技大学计算机科学与工程学院5.2.3写操作处理写直达方法简单,但效率低下例如,10%的指令是store,没有Cache失缺的情况下,CPI为1.0,每次写操作要额外花费100个周期,此时CPI为:CPI-ClockcyclePerInstruction𝑪𝑷𝑰=𝟏.𝟎+𝟏𝟎𝟎×𝟏𝟎%=𝟏𝟏电子科技大学计算机科学与工程学院5.2.3写操作处理写缓冲(Writebuffer)当有数据需要写入主存时:将数据写入Cache和写缓冲区(writebuffer)后,处理器继续执行;当写主存操作完成后,写缓冲区里的数据被释放;若写缓冲区满,则处理器必须等待一个写操作完成后(释放一个空位)才能将数据写入写缓冲区。电子科技大学计算机科学与工程学院5.2.3写操作处理写回机制(Write–back回写)当有数据需要写入主存时:先将数据写入Cache,并作已修改标记;当被修改的Cache块被替换时才将Cache的内容写回主存;电子科技大学计算机科学与工程学院精解写缺失时的策略写直达/通写(writethrough)1.写分配策略(writeallocate)2.写不分配策略(nowriteallocate)写回机制/回写(writeback)电子科技大学计算机科学与工程学院5.2.4例子:内置FastMATH处理器嵌入式MIPS处理器12级流水线每个时间周期能完一个指令和数据的存取指令Cache和数据Cache分离每个Cache的容量:16𝐾𝐵=256块×16字/块电子科技大学计算机科学与工程学院5.2.4例子:内置FastMATH处理器电子科技大学计算机科学与工程学院5.2.4例子:内置FastMATH处理器SPEC2000的缺失率指令Cache:0.4%数据Cache:11.4%加权平均:3.2%电子科技大学计算机科学与工程学院精解分离Cache与混合Cache缺失率对比Cache总容量:32KB分离Cache的实际缺失率:3.24%混合Cache的实际缺失率:3.18%电子科技大学计算机科学与工程学院5.2.5设计支持Cache的存储系统主存是由DRAM构成数据宽度固定通过总线(Bus)与处理器连接•总线频率比处理要慢很多假设:地址(address)传输需要1个总线周期存储器存储需要15个总线周期数据(data)传输需要1个总线周期电子科技大学计算机科学与工程学院5.2.5设计支持C

1 / 82
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功