(b)直接映射的cache检索过程000011011000001(a)组相联映射示意图120页PPT
CACHE深入介绍(刘艳波)
CACHE深入介绍Cache是我们经常关心的话题,K6-Ⅲ的推出引出了一种全新的缓存结构即Tri-level Cache设计思想。
那么对于微机系统而言,Cache到底有什么作用?它的工作原理又是如何的呢?·使用Cache的必要性所谓Cache即高速缓冲存储器,它位于CPU与主存即DRAM(Dynamic RAM动态存储器)之间,是通常由SRAM(Static RAM静态存储器)构成的规模较小但存取速度很快的存储器。
目前计算机主要使用的内存为DRAM,它具有价格低、容量大等特点,但由于使用电容存储信息,存取速度难以提高,而CPU每执行一条指令都要访问一次或多次主存,DRAM的读写速度远低于CPU速度,因此为了实现速度上的匹配,只能在CPU指令周期中插入wait状态,高速CPU处于等待状态将大大降低系统的执行效率。
SRAM由于其采用了与CPU相同的制作工艺,因此与DRAM相比,它的存取速度快,但体积大、功耗大,价格很高,不可能也不必要将所有的内存都采用SRAM。
因此为了解决速度与成本的矛盾就产生了一种分级处理的方法,即在主存和CPU之间加装一个容量相对较小的SRAM作为高速缓冲存储器;当采用Cache 后,在Cache中保存着主存中部分内容的副本(称为存储器映象),CPU在读写数据时,首先访问Cache (由于Cache的速度与CPU相当,所以CPU可以在零等待状态下完成指令的执行),只有当Cache中无CPU所需的数据时(这称之"未命中",否则称为"命中"),CPU才去访问主存。
而目前大容量Cache 能使CPU访问Cache命中率高达90%-98%,从而大大提高了CPU访问数据的速度,提高了系统的性能。
·使用Cache的可行性对大量的典型程序的运行情况分析结果表明,在一个较短的时间内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。
地址映像
区号根据 Cache 容量划分 区号长度=主存地址位数-Cache 地址位数 主存的块号和 Cache 块号的长度相同,位数 K 取决于 Cache 中能容纳的个数 J K=LOG2J 主存的块内地址和 Cache 的块内地址长度相同,位数 M 取决于块的容量 Q M=LOG2Q
例题: 容量为 64 块的 Cache 采用组相联方式映像,字块大小为 128 字节,每 4 块为一组,若主容 量为 4096 块,且以字编址,那么主存地址为(19)位,主存区号为(6)位。
方法一: 分区数=主存容量/Cache 容量=4096/64=64; 区内分组数=64/4=16; 组内分块数=4 块/组; 块内地址=128 字节; 所以根据公式: 主存地址位数=6+4+2+7=19; 主存区号=6 位。
方法二: 主存地址的位数 A 由主存容量 N 决定 A=log2N=区号位数+块号位数+块内地址位数 所以: A=LOG2N=LOG2(4096*128)=LOG2(2^12*2^7)=LOG2(2^19)=19; Cache 地址的位数 B 由 Cache 容量 H 决定 B128)=13. 区号的计算方法同上!
Cache 与主存地址映像知识点及例题分析
知识点:Cache 与主存地址映 Cache 和主存都被分成若干个大小相等的块,每块由若干个字节组成,主存和 Cache 的数据 交换是以块为单位,需要考虑二者地址的逻辑关系。 地址映像:把主存地址空间映像到 Cache 地址空间,即按某种规则把主存的块复制到 Cache 中。 一、全相连映像 主存中任何一个块均可以映像装入到 Cache 中的任何一个块的位置上。主存地址分为块号和 块内地址两部分,Cache 地址也分为块号和块内地址。Cache 的块内地址部分直接取自主存 地址的块内地址段。主存块号和 Cache 块号不相同,Cache 块号根据主存块号从块表中查找。 Cache 保存的各数据块互不相关,Cache 必须对每个块和块自身的地址加以存储。当请求数 据时,Cache 控制器要把请求地址同所有的地址加以比较,进行确认。 特点:灵活,块冲突率低,只有在 Cache 中的块全部装满后才会出现冲突,Cache 利用率高。 但地址变换机构复杂,地址变换速度慢,成本高。 公式: 主存地址位数=块号+块内地址; Cache 地址位数=块号+块内地址。 二、直接映像 把主存分成若干区,每区与 Cache 大小相同。区内分块,主存每个区中块的大小和 Cache 中块的大小相等,主存中每个区包含的块的个数与 Cache 中块的个数相等。任意一个主存块 只能映像到 Cache 中唯一指定的块中,即相同块号的位置。主存地址分为三部分:区号、块 号和块内地址,Cache 地址分为:块号和块内地址。直接映像方式下,数据块只能映像到 Cache 中唯一指定的位置,故不存在替换算法的问题。它不同于全相连 Cache,地址仅需比 较一次。 特点:地址变换简单、速度快,可直接由主存地址提取出 Cache 地址。但不灵活,块冲突率 较高,Cache 空间得不到充分利用。 公式: 主存地址位数=区号+区内分块号+块内地址; Cache 地址位数=块号+块内地址。 三、组相连映像 组相连映像是前两种方式的折衷。主存按 Cache 容量分区,每个区分为若干组,每组包含若 干块。Cache 也进行同样的分组和分块。主存中一个组内的块数与 Cache 中一个组内的块数 相等。组间采用直接方式,组内采用全相连方式。组的容量=1 时,即直接映像,组的容量 =整个 Cache 的容量时,即全相连映像。Cache 的存在对于程序员透明,Cache 的地址变换 和数据块的替换算法都采用硬件实现。 公式: 主存地址位数=区号+组号+主存块号+块内地址; Cache 地址位数=组号+组内块号+块内地址。 四、主存地址和 Cache 地址的相关计算 主存地址的位数 A 由主存容量 N 决定(N 位容量) A=log2N=区号位数+块号位数+块内地址位数 Cache 地址的位数 B 由 Cache 容量 H 决定 B=LOG2H=块号位数+块内地址位数
体系结构试题及答案
一.名词解释2:1Cache经验规则:大小为N得直接印象Cache得失效率约等于大小为N/2得两路组相联Cache得失效率。
通道处理机:通道得专用处理机,来专门负责整个计算机体系得输入/输出工作。
通道处理机只能执行有限得一组输入/输出指令。
透明性:在计算机技术中,把这种本来存在得事物或属性,但从某种角度瞧又好像不存在得概念称为透明性。
向量处理机:设置了向量数据表示与相应得向量指令得流水线处理机称为向量处理机。
虚拟Cache:直接用虚拟地址进行访问得Cache计算机系统结构:传统机器程序员所瞧到得计算机属性,即概念性结构与功能特性。
系列机:由同一厂家生产得具有相同系统结构、但具有不同组成与实现得一系列不同型号得计算机。
同构型多处理机系统:由多个同类型或至少担负同等功能得处理机组成,它们同时处理同一作业中能并行执行得多个任务。
堆栈型机器:CPU 中存储操作数得单元就是堆栈得机器。
累加器型机器:CPU 中存储操作数得单元就是累加器得机器。
通用寄存器型机器:CPU 中存储操作数得单元就是通用寄存器得机器。
数据相关:考虑两条指令i与j,i在j得前面,如果下述条件之一成立,则称指令j与指令i数据相关:(1)指令j使用指令i产生得结果;(2)指令j与指令k数据相关,而指令k又与指令i数据相关。
定向:用来解决写后读冲突得。
在发生写后读相关得情况下,在计算结果尚未出来之前,后面等待使用该结果得指令并不见得就是马上就要用该结果。
如果能够将该计算结果从其产生得地方直接送到其它指令需要它得地方,那么就可以避免停顿。
指令级并行:简称ILP。
就是指指令之间存在得一种并行性,利用它,计算机可以并行执行两条或两条以上得指令。
指令得动态调度:就是指在保持数据流与异常行为得情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线得利用率且减少停顿现象。
就是由硬件在程序实际运行时实施得。
指令得静态调度:就是指依靠编译器对代码进行静态调度,以减少相关与冲突。
计组answer02
“计算机组织结构”作业02参考答案任桐炜rentw@1.一个组关联Cache由64个行组成,每组4行。
主存储器包含4K个块,每块128字,请表示主存地址的格式。
由每块128字得到块内地址长7位,64行每组4行得一共16组,需要4位表示,标记需要12(4K)-4(组号)=8位2.一个两路组关联的Cache具有8K字节的容量,每行16字节。
64M字节的主存时字节可寻址的(即以字节为单位进行访问)。
请给出主存地址格式。
根据每行16个字节,算出块内地址为4;根据2^9行和2路组,算出组号为8位;根据主存为64M。
即:[花霞,121250049]3.假设Cache有4K字,每行32字。
对十六进制主存地址:111111、666666、BBBBBB,请用十六进制格式表示如下信息:(1)直接映射Cache的地址格式,(2)全关联映射Cache 的地址格式,(3)两路组关联Cache的地址格式。
(提示:每个映射方式下,需要将标记、块内地址等分开表示。
)[刘璟121250083]1)共6位说明地址长24,cache一共有4K/32=2^7行,即标记12行号7块内地址52)块号194.计算机系统包含容量为32K×16位的主存,按字编址,每字16位。
Cache采用4路组关联的映射方式,数据区大小为4K字,主存块大小为64字。
假设Cache初始时是空的,处理器顺序地从存储单元(每个存储单元中包含1个字)0,1,…,4351中取数,然后再重复这一顺序9次,并且Cache的速度是主存的10倍,同时假设块替换用LRU算法。
请说明使用Cache后的改进。
主存地址为:标记5,组号4,块内地址64352/64=68,即在前68块中操作10次,第一个轮回68次全部未命中,第二个轮回0,1,2,3四个组分别有编号未命中,未命中号为:0,1,2,3,16,17,18,19,32,33,34, 35,48,49,50,51,64,65,66,67共20次(因为只有四路,所以读取64~67的时候替换0,1,2,3那一路,下一次读取0,1,2,3的时候因为是LRU就去替换16~19那一路,,以下类推,轮番替换,所以上面这20个数是永远未命中的)得命中率为P=(4352*10-68-20*9)/43520=99.43%设cache的读取时间为T,则主存的读取时间为10T,则使用缓存后,系统效率提高到原来的N倍,N为:N= 10T/(T+10*0.0057T)=9.55.考虑一个每行16个字节的4行Cache,主存按每块16个字节划分,即块0有地址0到15的16个字节,等等。
(b)直接映射的cache检索过程000011011000001(a)组相联映射示意图
存取时间、存储周期、存储器带宽怎样反映主存的 速度指标?
SRAM中,用一个锁存器作为存储元。 只要直流供电电源一直加在这个记忆电路上,
它就无限期地保持记忆的1状态或0状态。如果 电源断电,那么存储的数据(1或0)就会丢失 。
基本静态存储元结构图
正逻辑体制:高电平VH用逻辑“1”表示,低电平VL用逻 辑“0”来表示,这种逻辑体制称为正逻辑体制。 负逻辑体制:高电平VH用逻辑“0”表示,低电平VL用逻 辑“1”来表示,这种逻辑体制称为负逻辑体制。 每种逻辑门用不同的逻辑体制来描述其逻辑功能是不同 的,即每种逻辑门都有两种等效逻辑符号,两种逻辑符 号可以进行等效。 两种逻辑符号等效变换规则:1)只要在一种逻辑符号 的所有输入、输出端同时加上或者去掉小圈(当一根线 上有两个小圈,相当于两次取反,则无需画圈)2)将 原来的符号互换(与←→或、同或←→异或)即可。 由此可得到:正与 = 负或 正与非 = 负或非 正或 = 负与 正或非 = 负与非
几个概念: 1、存储位元:存储一位(bit)二进制代码的存 储元件称为基本存储单元(或存储位元) 2、存储单元:主存中最小可编址的单位,是C PU对主存可访问操作的最小单位;每个由若干 个存储位元组成。 3、存储器:多个存储单元按一定规则组成一个 整体。
按存储介质分类:磁表面/半导体存储器 按存取方式分类:随机/顺序存取 按读写功能分类:ROM,RAM
正逻辑的或非门
负逻辑的或非门 (相当于与非门)
正逻辑的与门
负逻辑的与门 (相当于或非门)
0 0 0 0 0 0
1 1
0 0
0 0
11
读命令
1
0
0
1
0
Cache的原理与地址映像机制
二、பைடு நூலகம்址映像机制
4. 查找方法
基于目录表的查找
只需查找候选位置 所对应的目录表项
二、地址映像机制
4. 查找方法
并行查找 顺序查找
二、地址映像机制
4. 查找方法
顺序查找
主候选位置 (MRU块)
二、地址映像机制
4. 查找方法
并行查找
硬件: 相联存储器 单体多字存储器
二、地址映像机制
4. 查找方法
常用的地址映像方式 直接映像方式
全相联映像方式
组相联映像方式
二、地址映像机制
1. 直接相联
t位 Cache存储体 0 标记 * 1 标记
比较器(t位) 主存储体 字块0 字块1
字块 0 字块 1
…
…
字块2c-1
2c-1
标记 字块
2c-1
字块2c
字块2c +1 字块2c+1-1
=
有效位=1? 是 命中 否
命中率 与 Cache 的 容量 与 块长 有关 H
C
命中率
CPU 欲访问的信息在 Cache 中的 比率
命中率 与 Cache 的 容量 与 块长 有关
H 1 容量大
容量小 BC
Cache –主存系统的效率
效率 e 与 命中率 有关
访问 Cache 的时间 e= × 100% 平均访问时间
设 Cache 命中率 为 h,访问 Cache 的时间为 tc , 访问 主存 的时间为 tm
标记 标记 字块0 字块1 …
主存储器
字块0
字块1
标记
字块2c-1 字块2c-1 …
…
主存地址
主存字块标记 字块内地址
《计算机系统结构》张晨曦 问答题 第5章
第5章存储层次1. 单级存储器的主要矛盾是什么?通常采取什么方法来解决?主要矛盾:(1) 速度越快,每位价格就越高。
(2) 容量越大,每位价格就越低。
(3) 容量越大,速度越慢。
采取多级存储层次方法来解决。
2. 评价存储层次的主要参数有哪些?存储层次的平均每位价格、命中率或失效率、平均访问时间。
3. “Cache-主存”和“主存-辅存”层次的主要区别是什么?4. 在存储层次中应解决哪四个问题?(1)映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。
(2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块。
(3)替换算法:当发生失效时,应替换哪一块。
(4)写策略:当进行写访问时,应进行哪些操作。
5. 地址映像方法有哪几种?它们各有什么优缺点?(1)全相联映像。
实现查找的机制复杂,代价高,速度慢。
Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。
(2)直接映像。
实现查找的机制简单,速度快。
Cache空间的利用率较低,块冲突概率较高,因而Cache的失效率也高。
(3)组相联映像。
组相联是直接映像和全相联的一种折中。
6. 组相联Cache比相同容量的直接映像Cache的失效率低。
由此是否可以得出结论:采用组相联Cache一定能带来性能上的提高?为什么?不一定。
因为组相联命中率的提高是以增加命中时间为代价的,组相联需要增加多路选择开关。
7. Cache中,有哪两种实现并行查找的方法?(1)用相联存储器实现。
(2)用单体多字存储器和比较器来实现。
8. 替换算法有哪几种?它们各有什么优缺点?(1)随机法:简单、易于用硬件实现,但这种方法没有考虑Cache块过去被使用的情况,反映不了程序的局部性,所以其失效率比LRU的高。
(2)先进先出法:容易实现。
它虽然利用了同一组中各块进入Cache的顺序这一“历史”信息,但还是不能正确地反映程序的局部性。
(3)最近最少使用法LRU:失效率最低。
(b)直接映射的cache检索过程000011011000001(a)组相联映射示意图
(1)如上图所示,这是EPROM的写入过程,在漏极加高 压,电子从源极流向漏极沟道充分开启。在高压的作 用下,电子的拉力加强,能量使电子的温度极度上升, 变为热电子。此时,若在G2栅上加正电压,形成方 向与沟道垂直的电场,使热电子能跃过SiO2的势垒, 注入到浮栅中。在没有别的外力的情况下,电子会很 好的保持着。(即:写入“0”的过程。) (2)在需要消去电子时,利用紫外线进行照射,给电 子足够的电量能逃逸出浮栅。(即可以抹成“1”)。
2、刷新周期 刷新周期:DRAM存储位元是基于电容器上的 电荷量存储,这个电荷量随着时间和温度而减 少,因此必须定期地刷新,以保持它们原来记
◦ 刷新操作有两种刷新方式:
集中式刷新:DRAM的所有行在每一个刷新周期中都被刷 新。 分散式刷新:每一行的刷新插入到正常的读/写周期之中。
集中式刷新: 例如刷新周期为8ms的内存来说,所有行的集 中式刷新必须每隔8ms进行一次。为此将8ms 时间分为两部分:前一段时间进行正常的读/ 写操作,后一段时间(8ms至正常读/写周期 时间)做为集中刷新操作时间。 分散式刷新: 例如p70图3.7所示的DRAM有1024行,如果 刷新周期为8ms,则每一行必须每隔 8ms÷1024=7.8us进行一次。
由于CPU和主存储器之间在速度上是不匹配的, 这种情况便成为限制高速计算机设计的主要问 题。为了提高CPU和主存之间的数据传输率, 除了主存采用更高速的技术来缩短读出时间外, 还可以采用并行技术的存储器。
1、双端口存储器的逻辑结构 双端口存储器由于同一个存储器具有两组 相互独立的读写控制电路而得名。由于进行 并行的独立操作,因而是一种高速工作的存 储器,在科研和工程中非常有用。 举例说明, 双端口存储器IDT7133的逻辑框图 。如下 页图。
CACHE与主存之间的全相联映射,直接映射和组相联映射的区别
目录表存放在相关(联)存储器中,其中包括三部分:数据块在主存的块地址、存入缓存后的块地址、及有效位(也称装入位)。由于是全相联方式,因此,目录表的容量应当与缓存的块数相同。
举例:某机主存容量为1M,Cache的容量为32KB, 每块的大小为16个字(或字节)。 划出主、缓存的地址格式、
相关存储器中每个单元包含有:
主存地址中的区号E与组内块号B,两者结合在一起,其对应的字段是缓存块地址b。相关存储器的容量,应与缓存的块数相同。当进行数据访问时,先根据组号,在目录表中找到该组所包含的各块的目录,然后将被访数据的主存区号与组内块号,与本组内各块的目录同时进行比较。如果比较相等,而且有效位为“1”则命中。
举例:上例中,主存容量为1M,
Cache的容量为32KB,每块的大小为16个字(或字节)。划出主、缓存的地址格式、目录表格式及其容量。
容量:与缓冲块数量相同即211=2048(或32K/16=2048)。
3.组相联映象方式
组相联的映象规则:
(1) 主存和Cache按同样大小划分成块。
(2) 主存和Cache按同样大小划分成组。
(1) CPU写Cache,没有立即写主存;
(2) I/O处理机或I/O设备写主存。
从而造成Cache与主存内容的不一致,如图2.3.8所示。
对Cache进行写操作时引起的不一致的解决方法:
1.全写法亦称写直达法(WT法-Write through)
方法:在对Cache进行写操作的同时,也对主存该内容进行写入。
当容量达到一定程度后,容量的增加命中率的改善并不大;Cache块容量加大,
命中率也明显增加,但增加到一定值之后反而出现命中率下降的现象;直接映象法命中率比较低,全相联方式命中率比较高,在组相联方式中,组数分得越多,则命中率下降。
Cache映像、查找和替换
3. 组相联映象及其变换
映象规则: 主存和Cache按同样大小划分成块和组。 主存和Cache的组之间采用直接映象方式。 在两个对应的组内部采用全相联映象方式。 组相联映象方式的优点: 块的冲突概率比较低, 块的利用率大幅度提高, 块失效率明显降低。 组相联映象方式的缺点: 实现难度和造价要比直接映象方式高。
区内块号 B
块内地址 W
组内块号 b
块内 w
≠
E
b
块表(按地址访问,读出的多个区号进行相联比较,e 是有效位)
3.3.3 Cache替换算法及其实现
使用的场合: 直接映象方式实际上不需要替换算法 全相联映象方式的替换算法最复杂 主要用于组相联、段相联等映象方式中 要解决的问题: 记录每次访问Cache的块号 在访问过程中,对记录的块号进行管理 根据记录和管理结果,找出替换的块号 主要特点:全部用硬件实现
LRU算法的优缺点 主要优点: (1)命中率比较高, (2)能够比较正确地利用程序的局部性特点, (3)充分地利用历史上块地址流的分布情况, (4)是一种堆栈型算法,随着组内块数增加, 命中率单调上升。 主要缺点: 控制逻辑复杂,因为增加了判断和处理是否 命中的情况。
例3.13:IBM 370/165机的Cache采用组相联 映象方式。每组有4块,为了实现LRU替换 算法,在块表中为每一块设置一个 2 位的计 数器。在访问Cache的过程中,块的装入、 替换及命中时,计数器的工作情况如表:
机器型号 DEC VAX-11/780 Amdahl 470/V6 Intel i860 D-Cache Honeywell 66/60 Amdahl 470/V7 IBM 370/168 IBM3033 Motolola 88110 Cache 块数 Cb 每组的块数 Gb Cache 组数 Cg 1024 512 256 512 2048 1024 1024 256 2 2 2 4 4 8 16 2 512 256 128 128 512 128 64 128
2021年辽宁警察学院计算机应用技术专业《计算机组成原理》科目期末试卷A(有答案)
2021年辽宁警察学院计算机应用技术专业《计算机组成原理》科目期末试卷A(有答案)一、选择题1、关于Cache的3种基本映射方式,下面叙述中错误的是()。
A.Cache的地址映射有全相联、直接和多路组相联3种基本映射方式B.全相联映射方式,即主存单元与Cache单元随意对应,线路过于复杂,成本太高C.多路组相联映射是全相联映射和直接映射的一种折中方案,有利于提高命中率D.直接映射是全相联映射和组相联映射的一种折中方案,有利于提高命中率2、某C语言程序段如下:for(i=0;i<9;i++){temp=1;for(j=0;j<=i;j++)temp+=a[J];sum+=temp;}下列关于数组a的访问局部性的描述中,正确的是()。
A.时间局部性和空间局部性皆有B.无时间局部性,有空间局部性C.有时间局部性,无空间局部性D.时间局部性和空间局部性皆无3、用海明码对长度为8位的数据进行检/纠错时,若能纠正一位错,则校验位数至少为()。
A.2B.3C.4D.54、设x为整数,[x]补=1.x1x2x3x4x5,若要x<-16,x1~ x5应满足的条件是()。
A. x1~ x5至少有一个为1B.x1必须为1,x2~x5至少有一个为1C.x1必须为0,x2~x5至少有一个为1D.x1必须为0,x2~x5任意5、计算机中表示地址时,采用()。
A.原码B.补码C.移码D.无符号数6、关于总线的叙述,下列说法正确的是()。
I.总线忙信号由总线控制器建立II.计数器定时查询方式不需要总线同意信号III.链式查询、计数器查询、独立请求方式所需控制线路由少到多排序是:链式查询、独立请求方式、计数器查询A.仅I、IIIB.仅II,IIIC.仅IIID.仅II7、总线的半同步通信方式是()。
A.既不采用时钟信号,也不采用握手信号B.只采用时钟信号,不采用握手信号C.不采用时钟信号,只采用握手信号D.既采用时钟信号,又采用握手信号8、()可区分存储单元中在放的是指令还是数据。
Cache的地址映射
全相联映射是指主存中任一块都可以映射到Cache中任一块的方式,也就是说,当主存中的一块需调入Cache时,可根据当时Cache 的块占用或分配情况,选择一个块给主存块存储,所选的Cache块可以是Cache中的任意一块。
例如,设Cache共有2C块,主存共有2M 块,当主存的某一块j需调进Cache中时,它可以存入Cache的块0、块1、…、块i、… 或块2C -1的任意一块上。
如图4-28所示。
在全相联映射方式下,CPU的访主存地址为如下形式:其中,M为主存的块号,W为块内的字号。
而CPU访Cache的地址形式为:其中,C为Cache的块号,W为块内的字号。
主存地址到Cache地址的转换是通过查找一个由相联存储器实现的块表来完成的,其形成过程如图4-29示。
匸存地址(.\ichci = j mod 2C(4.2)图4-29全相联映射的地址转换当一个主存块调入Cache 中时,会同时在一个存储主存块号和 Cache 块号映射表的相联存储器中进行登记。
CPU 访存时,首先,根 据主存地址中的主存块号 M 在相联存储器中查找Cache 块号,若找 到,则本次访Cache 命中,于是将对应的Cache 块号取出,并送访 Cache 地址的块号C 字段;紧接着将主存地址的块内字号 W 直接送 Cache 地址的块内字号 W 字段,从而形成一个访 Cache 的地址;最 后根据该地址完成对Cache 单元的访问.全相联映射方式的优点是 Cache 的空间利用率高,但缺点是相联 存储器庞大,比较电路复杂,因此只适合于小容量的Cache 之用。
2.直接相联映射直接相联映射方式是指主存的某块j 只能映射到满足如下特定关 系的Cache 块i 中:MW十存块号 Cached 号Hl联存储器JiJtO上图中,主存的第0、2C、2C+1、… 块只能映射到Cache的第0块,主存的第1、2C+1、2C+1+1>… 块只能映射到Cache的第1块,.... ,主存的第2C-1、2C+ /、…2M-1块只能映射到Cache的第2C-1 块。
第10章答案高速缓存
1、解:页大小为4KB=212B,页内地址为[11:0]位。
cache容量64KB=216B,地址范围为[15:0];cache块大小为32B=25B,地址范围为[4:0]。
1)直接相联:cache索引位数为地址的[15:5],需要页着色的是地址[15:12],共4位;2)二路组相联:cache索引位数为地址的[14:5],需要页着色的是地址[14:12],共3位;3)四路组相联:cache索引位数为地址的[13:5],需要页着色的是地址[13:12],共2位。
2、解:MissPenalty L1=HitTime L2 + MissPenalty L2 × MissRate L21)直接相联:MissPenalty L1=4 + 60 × 25% = 19个时钟周期2)2路组相联:MissPenalty L1=5 + 60 × 20% = 17个时钟周期3)4路组相联:MissPenalty L1=6 + 60 × 15% = 15个时钟周期3、解:1)MissRate = CacheMissOps/MemOps每1000条指令中load/store指令的条数是1000×(26%/74%)=35132KB指令cache MissRate为0.0015;32KB数据cache MissRate为38/351=0.1083指令cache和数据cache各32KB的MissRate = (1.5 + 38)/(1000+351) = 0.029264KB一体cache的MissRate = 40/(1000+351) = 0.0296所以指令cache和数据cache各32KB组织方式缺失率更低2)指令cache和数据cache各32KB的AMAT =1+0.0292×100=3.9264KB一体cache的AMAT =1+0.0296×100=3.964、解:5、答:包含式cache关系中一级cache的内容是二级cache内容的真子集;非包含式cache关系中一级cache的内容与二级cache内容无交集。
计算机体系结构第五章练习题参考解答
第 五 章5.34 在一个采用组相联映象方式的Cache 存储系统中,主存由B 0~B 7共8块组成,Cache 有2组,每组2块,每块大小为16B 。
在一个程序执行过程中,访存的主存块地址流为:B 6,B 2,B 4,B 1,B 4,B 6,B 3,B 0,B 4,B 5,B 7,B 3。
(1)写出主存地址的格式,并标出各字段的长度。
(2)写出Cache 地址的格式,并标出各字段的长度。
(3)指出主存与Cache 之间各个块的映象关系。
(4)若Cache 的4个块号为C 0、C 1、C 2和C 3,列出程序执行过程中的Cache 块地址流。
(5)若采用FIFO 替换算法,计算Cache 的块命中率。
(6)若采用LRU 替换算法,计算Cache 的块命中率。
(7)若改为全相联映象方式,再做(5)和(6)。
(8)若在程序执行过程中,每从主存装入一块到Cache ,平均要对这个块访问16次,计算在这种情况下的Cache 命中率。
解:(1)(2)采用组相联映象时,主存和Cache 地址的格式分别为:主存按Cache 的大小分区,现主存有8个块,Cache 有2×2=4个块,则主存分为8/4=2个区,区号E 的长度为1位。
又每区有2个组,则组号G 、g 的长度都为1位。
而每组有2个块,则块号B 、b 的长度又都为1位。
每块大小为16个存储字,故块内地址W 、w 的长度都为4位。
(3)根据组相联映象的规则,主存块0~7与Cache 块0~3之间的映象关系为:主存块0、1、4、5与Cache 块0、1之间全相联,主存块2、3、6、7与Cache 块2、3之间全相联。
(4)根据组相联映象的规则,该主存块地址流相应的一种Cache 块地址流如下表所示(组内替换算法为FIFO )。
时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块地址流: C 2 C 3 C 0 C 1 C 0 C 2 C 2 C 0 C 0 C 0 C 3 C 2(5)组内替换算法采用FIFO 时,Cache 块0~3的使用过程如下表所示。
2021年南昌交通学院计算机科学与技术专业《计算机组成原理》科目期末试卷A(有答案)
2021年南昌交通学院计算机科学与技术专业《计算机组成原理》科目期末试卷A(有答案)一、选择题1、四地址指令OPA1A2A3A4的功能为(A1)OP(A2)一A3,且A4给出下一条指令地址,假设A1,A2,A3,A4都为主存储器地址,则完成上述指令需要访存()次。
A.2B.3C.4D.52、某指令系统有200条指令,对操作码采用固定长度二进制编码时,最少需要用()A.4B.8C.16D.323、某机器字长为8位,采用原码表示法(其中一位为符号位),则机器数所能表示的范围是()。
A.-127~+127B.-127~+128C.-128~+127D.-128~+1284、为了表示无符号十进制整数,下列哪些是合法的8421BCD码?()I.01111001 Ⅱ.11010110 Ⅲ.00001100 Ⅳ.1000010lA.I、IⅡB.Ⅱ、ⅢC.I、ⅣD.I、Ⅱ、Ⅲ5、对于相同位数(设为N位,且各包含1位符号位)的二进制补码小数和十进制小数,(二进制小数所表示的数的个数)/(十进制小数所能表示的数的个数)为()。
A.(0.2)NB. (0.2)N-1C. (0.02)ND. (0.02)N-16、假定编译器将赋值语句“x=x+3;”转换为指令“add xaddr,3”,其中xaddr是x 对应的存储单元地址。
若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写(Write Trough)方式,则完成该指令功能需要访问主存的次数至少是()。
A.0B.1C.2D.347、在对破坏性读出的存储器进行读/写操作时,为维持原存信息不变,必须辅以的操作是()。
A.刷新B.再生C.写保护D.主存校验8、下列选项中,能缩短程序执行时间的措施是()。
1.提高CPU时钟频率Ⅱ.优化数据通路结构ll.对程序进行编译优化A.仪I、ⅡB.仅I、ⅢC.仅Ⅱ、ID.I、Ⅱ、Ⅲ9、下列关于配备32位微处理器的计算机的说法中,正确的是()。
2022年贵州建设职业技术学院计算机应用技术专业《计算机系统结构》科目期末试卷A(有答案)
2022年贵州建设职业技术学院计算机应用技术专业《计算机系统结构》科目期末试卷A(有答案)一、选择题1、块冲突概率最高的Cache地址映象方式是( )A.段相联B.组相联C.直接D.全相联2、计算机系统的层次结构按照由高到低的顺序分别为()。
A.高级语言机器级,汇编语言机器级,传统机器语言机器级,微程序机器级B.高级语言机器级,应用语言机器级,汇编语言机器级,微程序机器级C.应用语言机器级,传统机器语言机器级,汇编语言机器级,操作系统机器级D.应用语言机器级,操作系统机器级,微程序机器级,传统机器语言机器级3、CRAY-I的流水线是( )A.多条单功能流水线B.一条单功能流水线C.多条多功能流水线D.一条多功能流水线4、下列说法正确的是( )A.Cache容量一般不大,命中率不会很高B.Cache芯片速度一般比CPU的速度慢数十倍C.Cache本身速度很快。
但地址变换的速度很慢D.Cache存贮器查映象表和访问物理Cache其间可以流水,使速度与CPU匹配5、静态流水线是指( )A.只有一种功能的流水线B.功能不能改变的流水线C.同时只能完成一种功能的多功能流水线D.可同时执行多种功能的流水线6、目前,MO由()实现,M1用()实现,M2至M5大多用()实现。
A.软件,固件,硬件B.固件,软件,硬件C.硬件,软件,固件D.硬件,固件,软件7、以下说法不正确的是( )A.线性流水线是单功能流水线B.动态流水线是多功能流水线C.静态流水线是多功能流水线D.动态流水线只能是单功能流水线8、在多用户机器上,应用程序员不能使用的指令是()A.“执行”指令B.“访管”指令C.“启动IO”指令D“测试与置定”指令9、多处理机的各自独立型操作系统()。
A.要求管理程序不必是可再入的B.适合于紧耦合多处理机C.工作负荷较平衡D.有较高的可靠性10、费林按指令流和数据流的多倍性把计算机系统分类,这里的多倍性指()。