1、第三章 存储系统,3.1 存储器概述 3.2 SRAM存储器3.3 DRAM存储器3.4 只读存储器和闪速存储器3.5 并行存储器3.6 Cache存储器,第3章 内部存储器,3.1 存储器概述,3.1.1 存储器分类 3.1.2 存储器的分级结构 3.1.3 主存储器的技术指标,半导体存储器 磁表面存储器,存储器分类,按存储介质分,随机存储器 顺序存储器,按存取方式分,任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关,只能按某种顺序来存取,存取时间和存储单元的物理位置有关,只读存储器ROM 随机读写存储器RAM,按存储内容可变性分,半导体存储器 磁表面存储器,易失性存储器
2、 非易失性存储器,按信息易失性分,RAM 磁表面存储器,主存储器 辅助存储器 高速缓冲存储器 控制存储器,按在计算机系统中的作用分,3.1.2 存储器的分级结构,高速缓冲存储器:高速小容量半导体存储器,存放计算机运行期间的大量程序和数据,内存:CPU可直接访问的存储器,外存:大容量辅助存储器。用来存放系统程序和大型数据文件及数据库。,play,3.1.3 主存储器的技术指标,主存储器的主要几项技术指标,3.2 SRAM存储器,3.2.1 基本的静态存储元阵列3.2.2 基本的SRAM逻辑结构3.2.3 存储器的读写周期,目前广泛使用的内存是半导体存储器。 优点:存取速度快,存储体积小,可靠性高
3、,价格低; 缺点:断电后不能保存信息。 根据存储原理不同,可分为静态读写存储器(SRAM)和动态读写存储器(DRAM)。 SRAM存取速度快,但容量不如DRAM大。,3.2.1 基本的静态存储元阵列,play,锁存器作为存储元,3.2.2 基本的SRAM逻辑结构,SRAM芯片大多采用双译码方式,以便组织更大的存储容量。,二级译码: 将地址分成x向、y向两部分,第一级进行x向(行译码)和y向(列译码)的独立译码,然后在存储阵列中完成第二级的交叉译码。,play,读与写的互锁逻辑,3.2.3 存储器的读写周期,3.2.3 存储器的读写周期,play,【例】 下图是SRAM的写入时序图。其中R/W是
4、读/写命令控制线,当R/W线为低电平时,存储器按给定地址把数据线上的数据写入存储器。请指出下图写入时序中的错误,并画出正确的写入时序图。,play,3.3 DRAM存储器,3.3.1 DRAM存储位元的记忆原理3.3.2 DRAM芯片的逻辑结构3.3.3 读/写周期、刷新周期3.3.4 存储器容量的扩充3.3.5 高级的DRAM结构3.3.6 DRAM主存读/写的正确性校验,3.3.1 DRAM存储位元的记忆原理,DRAM的存储元是由一个MOS晶体管和电容器组成的记忆电路。,play,3.3.2 DRAM芯片的逻辑结构,play,3.3.2 DRAM芯片的逻辑结构,DRAM与SRAM不同的是:
5、 (1)增加了行地址锁存器和列地址锁存器。行地址由行选通信号/RAS打入到行地址锁存器;列地址由列选通信号/CAS打入到列地址锁存器。 (2)增加了刷新计数器和相应的控制电路。DRAM读出后必须刷新,而未读写的存储元也要定期刷新,而且要按行刷新,所以刷新计数器的长度等于行地址锁存器。,3.3.3 读/写周期、刷新周期,读周期、写周期的定义是从行选通信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间,也就是连续两个读周期的时间间隔。,play,2、刷新周期,刷新周期:DRAM存储位元是基于电容器上的电荷量存储,这个电荷量随着时间和温度而减少,因此必须定期地刷新,以保持它们原来记忆的正确信
6、息。 刷新操作有两种刷新方式: 集中式刷新:DRAM的所有行在每一个刷新周期中都被刷新。 例如刷新周期为8ms的内存,将8ms时间分为两部分:前一段时间进行正常的读/写操作,后一段时间(8ms至正常读/写周期时间)做为集中刷新操作时间。 分散式刷新:每一行的刷新插入到正常的读/写周期之中。 假设DRAM有1024行,如果刷新周期为8ms,则每一行必须每隔8ms1024=7.8us进行一次。,存储器与CPU连接,存储器与CPU之间,要完成: 地址线的连接; 数据线的连接; 控制线的连接。 存储器芯片结构:芯片的存储容量2MN存储单元数每个存储单元的数据位数M芯片地址线的个数;N数据线的个数 存储
7、器芯片的容量是有限的,为了满足实际存储器的容量要求,需要对存储器进行扩展。字长位数扩展 字存储容量扩展字位同时扩展法,3.3.4 存储器容量的扩充,字长位数扩展法 当芯片的单元数满足存储器单元数的要求,但单元中的位数不满足要求时,需要进行字长位数扩展。字存储容量扩展法 当芯片单元中的的位数满足存储器位数的要求,但单元数不满足存储器单元数要求时,需进行字存储容量扩展。字位同时扩展法 当芯片的单元数和单元的数据位均不满足存储器的要求时需要进行字和位的同时扩展。,1字长位数扩展,当芯片的单元数满足存储器单元数的要求,但单元中的位数不满足要求时,需要进行字长位数扩展。 例:用1K4位的存储器芯片构成1
8、K8位的存储器。解: 需要 (1K8)/(1K4)2片地址线:存储器10根;芯片10根数据线:存储器8根;芯片4根2片芯片的数据线分别连接D7D4、D3D0控制线:读写控制、使能控制,E,控制总线,字长位数扩展的连接方式: 多个RAM芯片使用相同的地址信号、控制信号,数据线单独列出,分别接到数据总线的对应位。,2字存储容量扩展,当芯片单元中的的位数满足存储器位数的要求,但单元数不满足存储器单元数要求时。 例:用16K8位的存储器芯片构成64K8位的存储器。 思路:1)所需芯片数量:(64K8位)/(16K8位) =4片2)芯片的连接方式 地址线:存储器16位A15A0;芯片14位A13A0高两
9、位地址A15、A14用于选择芯片 数据线:存储器8位;芯片8位 控制线:读写控制;片选由高位地址经译码进行控制,课本P73,例3,字存储容量扩展,用4片16K8位RAM,扩展成64K8位存储器,play,字存储容量扩展,字存储容量扩展的连接方式: 各芯片使用相同的数据线、控制线。 CPU地址位数 芯片的地址输入位数 取一部分CPU地址,送各芯片的地址线; 另一部分CPU地址(高位地址),经译码器产生一组片选信号,各芯片的片选端选用其中一个片选信号。,3字和位同时扩展,当芯片的单元数和单元的数据位均不满足存储器的要求时需要进行字和位的同时扩展。 例:用2114芯片(1K4位)组成4K8位存储器。
10、 解:所需芯片数:地址线:存储器12位A11A0;2114芯片10位A9A0高两位地址A11、A10用于选择芯片 数据线:存储器8位;芯片4位。两片2114的数据线分别连接D7D4和 D3D0 将2114芯片分为4组,每组2片芯片。 控制线:读写控制;片选由高位地址经译码进行控制, 4组芯片,字和位同时扩展的连接方式: 各芯片的片内地址线、读/写控制线均对应地并接在地址和控制总线的对应位上; 由高位地址(n位)译码产生2n个片选信号,决定芯片分成2n个组; 由数据线决定每组的芯片片数。,存储器模块条,存储器通常以插槽用模块条形式供应市场。这种模块条常称为内存条,它们是在一个条状形的小印制电路板
11、上,用一定数量的存储器芯片,组成一个存储容量固定的存储模块。 内存条有30脚、72脚、100脚、144脚、168脚、184脚、240脚等多种形式。,3.3.5 高级的DRAM结构,1、FPM DRAM 快速页模式动态存储器 2、CDRAM 带高速缓冲存储器(cache)的动态存储器 3、SDRAM 同步型动态存储器 4、DDR DDR SDRAM,双倍速率SDRAM,3.3.6 DRAM主存读/写的正确性校验,DRAM通常用做主存储器,其读写操作的正确性与可靠性至关重要。因此需进行正确性校验。 正常的数据位上增加附加位,用于读/写操作正确性校验。增加的附加位也要同数据位一起写入DRAM中保存。
12、,奇偶校验码 海明校验码 CRC校验码,3.4 只读存储器和闪速存储器,3.4.1 只读存储器ROM 3.4.2 FLASH存储器,3.4.1 只读存储器,1.ROM的分类只读存储器简称ROM,它只能读出,不能写入。它的最大优点是具有不易失性。,PROM,EPROM E2PROM,1. 掩模ROM,掩膜ROM的逻辑符号和内部逻辑框图,2. 可编程ROM,1)、EPROM -光擦除可编程只读存储器 2)、E2PROM -电擦除可编程只读存储器,紫外线照射擦除信息,3.4.2 FLASH存储器,FLASH存储器也翻译成闪速存储器,它是高密度非失易失性的读/写存储器。 高密度意味着它具有巨大比特数目
13、的存储容量。 非易失性指存放的数据在没有电源时可以长期保存。 它既有RAM的优点,又有ROM的优点,称得上是存储技术划时代的进展。 FLASH存储元是在EPROM存储元基础上发展起来的,由此可以看出创新与继承的关系。,闪速存储器中的存储元,由单个MOS晶体管组成,除漏极D和源极S外,还有一个控制栅和浮空栅。,写0,就是要在控制栅C上加正电压,存储元擦除后原始状态全为1,晶体管源极S加上正电压 ,吸收浮空栅中的电子,使全部存储元变成1状态,FLASH存储器基本操作,读出电路检测到有电流,表示存储元中存1,控制栅加上正电压,41,FLASH存储器的阵列结构,在某一时间只有一条行选择线被激活。,42
14、,目前市场上常见的FLASH存储器: U盘 CF卡 SM卡 SD/MMC卡记忆棒,3.5 并行存储器, 3.5.1 双端口存储器空间并行技术 3.5.2 多模块交叉存储器时间并行技术,3.5.1 双端口存储器,1.双端口存储器的逻辑结构 双端口存储器是指同一个存储器具有两组相互独立的读写控制线路,是一种高速工作的存储器。,2.无冲突读写控制当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。 3.有冲突的读写控制当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了BUSY标志。,3.5.2多模块交叉存储器,1.存储器的模块化组织,交叉方式,某个模块进
15、行存取时,其他模块不工作。 某一模块出现故障时,其他模块可照常工作。通过增添模块来扩充存储器容量比较方便。 各模块串行工作,存储器的带宽受到了限制。,地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。,设存储容量为32字,分成M0M3共四个模块,每个模块8个字,play,48,2.多模块交叉存储器的基本结构,四模块交叉存储器结构框图,流水线方式存取示意图,若存取周期是T,总线传送周期是,存储器的交叉模块数为m,则T=m。 T/称为交叉存取度。 要求:模块数 T/。 交叉存储器连续读取n个字所需的时间为:
16、 t1=T+(n-1) 顺序方式存储器连续读取n个字所需时间为: t2=nT,play,【例4】 设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。若连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?带宽=单位时间里存储器所存取的信息量 【解】连续读出4个字的信息总量是:q464位256b顺序存储器所需时间: t2=nT4200ns810-7s 连续读出4个字,交叉存储器所需时间:t1=T+(n-1)200350350ns3.510-7s交叉存储器的带宽为:W1q/t1256b(3.51
17、0-7s)730Mb/s顺序存储器的带宽为W2q/t2256b(810-7s)320Mb/s,二模块交叉存储器的实例,D31D24,D23D16,D15D8,D7D0,A20,A21,A20 A12,A11 A3,play,二模块交叉存储器中的零等待存取,play,基本原理 按内容寻址的存储器。 特点 存取快,但容量小。 用途 Cache行地址、段页管理中的快表。,相联存储器,3.6 Cache存储器,3.6.1 cache基本原理 3.6.2 主存与cache的地址映射 3.6.3 替换策略 3.6.4 cache的写操作策略 3.6.5 奔腾PC机的cache,3.6.1 cache基本原
18、理,Cache的功能 目的:解决CPU和主存之间速度不匹配的问题。 容量:在主存几百MB情况下,设置几百KB。 硬件:SRAM。 管理:全硬件实现。对用户透明。 位置:,2. cache的基本原理,Cache由存储体(SRAM)、相联存储表、管理逻辑组成。 CPU与cache之间的数据交换以字为单位 Cache与主存间的数据传送以数据块为单位 一个块(Block)由若干字组成,play,3.Cache的命中率,命中率(Hit Rate):, cache/主存系统的平均访问时间ta:ta=htc+(1-h)tm tc命中时的cache访问时间tm未命中时的主存访问时间,h命中率 Nccache完
19、成存取的总次数 Nm主存完成存取的总次数,设r=tm/tc表示主存慢于cache的倍率,e表示访问效率,【例5】CPU执行一段程序时,cache完成存取的次数 为1900次,主存完成存取的次数为100次,已知cache 存取周期为50ns,主存存取周期为250ns,求cache/主 存系统的效率和平均访问时间。 【解】命中率:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95平均访问时间:ta=htc+(1-h)tm=60ns访问效率:e=tc/ta=50/60=83.3%,Cache结构,Cache的数据块称为行 用Li表示,其中i=0,1,m-1,共有m行 主存的数据块称为
20、块(Block) 用Bj表示,其中j=0,1,n-1,共有n块 行与块是等长的,包含k=2w个主存字 字是CPU每次访问存储器时可存取的最小单位,Cache:,内存地址:,3.6.2 主存与Cache的地址映射,地址映射即是把主存地址定位到cache中。 全相联映射(fully associative mapping) 可以将一个主存块存储到任意一个Cache行 直接映射(direct mapping) 将一个主存块存储到唯一的一个Cache行 组相联映射(set associative mapping) 可以将一个主存块存储到唯一的一个Cache组中任意一个行,直接映射、2/4/8路组相联映
21、射使用较多,全相联映射,主存的一个块直接拷贝到cache中的任意一行上 优点:命中率较高,Cache的存储空间利用率高 缺点:线路复杂,成本高,速度低,全相联映射,全相联映射的检索过程,play,直接映射,多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。 cache的行号i和主存的块号j有如下函数关系:i=j mod m (m为cache中的总行数) 优点:硬件简单,容易实现 缺点:命中率低, Cache的存储空间利用率低,直接映射,直接映射的检索过程,play,组相联映射,将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的,即有如下
22、函数关系:muv 组号 qj mod u 组间采用直接映射,组内为全相联 硬件较简单,速度较快,命中率较高,组相联方式中若每组行数为v,常称之为v路组相联cache。,组相联映射,组相联映射的检索过程,play,3.6.3 替换策略,替换问题 新主存块要进入Cache,决定替换哪个原主存块 直接映射,只能替换唯一的一个Cache行 全相联和组相联,需要选择替换策略(算法) 1. 最不经常使用算法(LFU: least-frequently used)替换使用次数最少的块 2. 近期最少使用算法(LRU: least-recently used)替换最久没有被使用的块 3. 随机法(random
23、)随意选择被替换的块,不依赖以前的使用情况,每行设置一个计数器。从0开始计数,每访问一次, 被访行的计数器增1。当需要替换时,将计数值最小的行换出,同时将这些行的计数器都清零。,每行也设置一个计数器,cache每命中一次,命中行计数器清零,其它各行计数器增1。当需要替换时,将计数值最大的行换出。,3.6.4 cache的写操作策略,写入策略解决主存内容的更新问题,保持正确 写回法(write back)只写入Cache,在被替换时才写回主存 全写法(write through) 写入Cache的同时也写入主存 写一次法 写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主
24、存,3.6.5 奔腾PC机的cache,补充:9.4 虚拟存储器,9.4.1 虚拟存储器的基本概念 9.4.2 页式虚拟存储器 9.4.3 段式虚拟存储器和段页式虚拟存储器 9.4.4 虚存的替换算法,9.4.1 虚拟存储器的基本概念,虚拟存储器: 在主存-外存层次间 借助于磁盘辅助存储器实现 以透明方式提供给用户 一个比实际主存空间大得多的程序地址空间 作用:扩大主存容量,提高辅存访问速度,有效管理存储系统,虚拟:利用其他部件实现的本来不存在的事物或属性 透明:本来存在的事物或属性,从某种角度看似乎不存在,70,虚拟存储器的基本概念,物理地址(实地址):(对应主存物理空间)由CPU地址引脚送
25、出,用于访问主存的地址 逻辑地址(虚地址):(对应主存逻辑空间)由编译程序生成的,是程序的逻辑地址 存储管理部件(MMU)负责将虚拟地址转为物理地址 虚存机制要解决的关键问题 (1) 调度问题:决定哪些程序和数据应被调入主存。 (2) 地址映射问题:在访问主存时把虚地址变为主存物理地址(内地址变换);在访问辅存时把虚地址变成辅存的物理地址(外地址变换),以便换页。 (3) 替换问题:决定哪些程序和数据应被调出主存。 (4) 更新问题:确保主存与辅存的一致性。,71,主存-外存层次的基本信息传送单位段:按程序逻辑划分为可变长的块,称为段页:机械地划分为大小相同的块,称为页面段页:程序按模块分段,
26、段内分页,虚拟存储器的管理 段式管理:把主存按段分配的存储管理方式 页式管理:以定长页面进行存储管理的方式 段页式管理:分段和分页相结合,9.4.2 页式虚拟存储器,逻辑页:页式虚拟存储系统中,虚拟空间分成页; 物理页:主存空间也分成同样大小的页。 虚存地址:高字段为逻辑页号,低字段为页内行地址。实存地址:高字段为物理页号,低字段为页内行地址。,页式管理的地址变换:用页表,play,快表与慢表,play,为避免页表已保存或已调入主存时对主存访问次数的增多, 把页表的最活跃部分存放在高速存储器中组成快表。 转换后援缓冲器TLB:专用于页表缓存的高速存储部件,段式虚拟存储器,在段式虚拟存储系统中,
27、段是按照程序的逻辑结构划分的,各个段的长度因程序而异。 虚拟地址由段号和段内地址组成,为了把虚拟地址变换成实主存地址,需要一个段表。段表的表项至少包含下面三个字段:(1) 有效位:指明该段是否已经调入实存。(2) 段起址:指明该段在实存中的首地址。(3) 段长:记录该段的实际长度。,段式管理的地址变换:用段表,play,段页式虚拟存储器,段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。 它把程序按逻辑单位分段以后,再把每段分成固定大小的页。 虚拟地址格式如下:,指示哪个基址寄存器,从中取出段表的起始地址,由段号,从段表中取出页表起始地址,由页号,从页表中取出物理页号,【例】 假设有三道
28、程序(用户标志号为A,B,C),其基址寄存器内容分别为SA,SB,SC ,逻辑地址到物理地址的变换过程见演示。在主存中,每道程序都有一张段表,A程序有4段,C程序有3段。每段应有一张页表,段表的每行就表示相应页表的起始位置,而页表内的每行即为相应的物理页号。请说明虚实地址变换过程。,1) SC+1b 2) b+2 10 3) 得物理地址,play,3.6.5 替换算法,页面失效(缺页) 当CPU访存时,页表项装入位为0,指示包含此虚拟地址的页还未调入。主存未命中 若调入新页时,主存已满! 替换 虚拟存储器的替换策略多采用 近期最少使用(LRU)算法 最不经常使用(LFU)算法 先进先出(FIF
29、O)算法,将主存近期内长久未被访问过的页换出,将主存一段时间内被访问次数最少的页换出,先被存入主存的页最先被换出,【例】假设主存只有a,b,c三个页框,组成a进c出的FIFO队列,进程访问页面的序列是0,1,2,4,2,3,0,2,1,3,2号。若采用FIFO算法,FIFO算法+LRU算法,用列表法分别求两种替换策略情况下的命中率。,命中,命中,命中,命中,命中,2/11= 18.2%,3/11= 27.3%,调入,调入,调入,替换,替换,替换,替换,替换,替换,调入,调入,调入,替换,替换,替换,替换,替换,81,第三章 小结,对存储器的要求是容量大、速度快、成本低。为了解决这三方面的矛盾,
30、计算机采用多级存储体系结构,即cache、主存和外存。 CPU能直接方问内存(cache、主存),但不能直接访问外存。 存储器的技术指标有存储容量、存取时间、存储周期、存储器带宽。广泛使用的SRAM和DRAM都是半导体随机读写存储器。前者速度比后者快,但集成度不如后者高。二者的优点是体积小,可靠性高,价格低廉,缺点是断电后不能保存信息。 为了满足实际存储器的容量要求,需要对存储器进行扩展。采取字扩展、位扩展和字位同时扩展三种扩展方式。,82,第三章 小结,只读存储器和闪速存储器正好弥补了SRAM和DRAM的缺点,即使断电也仍然保存原先写入的数据。闪速存储器能提供高性能、低功耗、高可靠性以及以及
31、移动性。 双端口存储器和多模块交叉存储器属于并行存储器。前者采用空间并行技术,后者采用时间并行技术。 cache是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一项重要的硬件技术,并且发展为多级cache体系,指令cache与数据cache分设体系 。,83,第三章 小结,主存与cache的地址映射有全相联、直接、组相联三种方式。 组相联方式适度兼顾了前二者的优点又尽量避免其缺点,从灵活性、命中率、硬件投资来说较为理想,得到了普遍采用。 虚拟存储器指的是主存-外存层次,是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。按照主存-外存层次的信息传送单位不同,虚拟存储
32、器有页式、段式、段页式三类。,84,1. 某计算机字长32位,其存储容量为32KB,若按字编址,那么它的寻址范围是_。 一个字=N个字节 一个字节等于8位 8n=32 所以一个字4个字节4B 32KB/4B=8K A. 032K B. 016K C. 08K D. 032KB 注:若按字节编址呢? 2. 某一SRAM芯片,其容量为5128位,除电源端和接地端外,该芯片引出线的最小数目应为_。 A. 23 B. 25 C. 50 D. 193.交叉存贮器实质上是一种_存贮器,它能_执行_独立的读写操作。 A. 模块式,并行,多个 B. 模块式,串行,多个 C. 整体式,并行,一个 D. 整体式,
33、串行,多个,C,D,A,85,4.双端口存储器在_情况下会发生读 / 写冲突。 A. 左右端口的地址码不同 B. 左右端口的地址码相同 C. 左右端口的数据码相同 D. 左右端口的数据码不同 5.DRAM为防止存储的信息电荷泄漏而丢失信息,由外界按一定规律不断给栅极进行充电,这种操作称为 。对于 4个64K 8位的DRAM芯片构成的存贮器,若芯片行地址有10位,读写周期为0.5us,则对全部存贮单元刷新一遍,需要的实际刷新时间是_。 行地址10位,有2的十次方行,1024*0.5=512us,B,刷新,512us,86,解:cache的组织结构:组数: (16K8位)/(4832位)=27主存
34、块数: (4M8位)/(832位)=217 (1)地址位数:22位。,例:设某机主存容量4MB,Cache容量16KB,每字块有8个字,每字32位,设计一个四路组相联映象(即Cache每组内共有4个字块)的Cache组织,要求: (1)画出主存地址字段中各段的位数(按字节编址 4MB共4*2的20次方B (字节),共2的22次方,22位); (2)设Cache的初态为空,CPU依次从主存第0、1、299号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少? (3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?,7,块内字 字节,
35、3,2,10,87,例:设某机主存容量4MB,Cache容量16KB,每字块有8个字,每字32位,设计一个四路组相联映象(即Cache每组内共有4个字块)的Cache组织,要求: (2)设Cache的初态为空,CPU依次从主存第0、1、299号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?,(2)解:当CPU读0号字单元时,将主存0号字块(07)调入Cache(0组x号块),CPU访存一次。 CPU读8号字单元时,将1号块(815)调入Cache(1组x号块),访存一次 主存读96号单元时,将12号块(96103)调入Cache(12组x号块)。 访存次数:1
36、00/8=13次,就把主存中的100个数调入Cache。 除读第1遍时CPU需访问主存13次外,以后重复读时不需再访问主存。则在800个读操作中:访Cache次数=(100-13)+700=787次 Cache命中率=787/800= 0.98,88,例:设某机主存容量4MB,Cache容量16KB,每字块有8个字,每字32位,设计一个四路组相联映象(即Cache每组内共有4个字块)的Cache组织,要求: (3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?,(3)解:设主存周期为T。100个字重复读取8次用时:无cache:800T有cache:( 787T/6 )+13T=144.167T800T/144.167T=5.55速度提高倍数:4.55,