计算机体系结构课后答案

合集下载

(完整版)计算机系统结构课后习题答案

(完整版)计算机系统结构课后习题答案

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。

这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。

包括时间局部性和空间局部性。

CPI:每条指令执行的平均时钟周期数。

测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。

存储程序计算机:冯·诺依曼结构计算机。

其基本点是指令驱动。

程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。

系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。

计算机系统结构课后答案chap2-answer

计算机系统结构课后答案chap2-answer

第二章计算机指令集结构设计名词解释1.堆栈型机器——CPU中存储操作数的单元是堆栈的机器。

2.累加型机器——CPU中存储操作数的单元是累加器的机器。

3.通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。

4.CISC——复杂指令集计算机。

5.RISC——精简指令集计算机。

@2.2堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点2.3常见的三种通用寄存器型机器的优缺点各有哪些指令集结构设计所涉及的内容有哪些(1)指令集功能设计:主要有RISC和CISC两种技术发展方向;(2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;(3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。

(4)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。

(5)((6)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。

简述CISC计算机结构指令集功能设计的主要目标。

从当前的计算机技术观点来看,CISC结构有什么缺点CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。

从目前的计算机技术观点来看,CISC结构存在以下几个缺点:(1)在CISC结构的指令系统中,各种指令的使用频率相差悬殊。

(2)CISC结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。

(3)CISC结构的指令系统的复杂性给VLSI设计带来了很大负担,不利于单片集成。

(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。

(5)^(6)在结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。

计算机体系结构答案

计算机体系结构答案

计算机体系结构答案2021 福师网院一、填空题(每空1分,共14分)1.高速缓冲存储器的地址映象方式有三种,它们分别是:全向量方式,直接相联方式,组相联方式。

2. 虚拟存储器的三种管理方式是段式管理,页式管理和段页式管理。

3.从主存的角度来看,“Cache—主存”层次的目的是为了提高速度,而“主存—辅存”层次的目的是为了扩大容量。

4.根据指令间的对同一寄存器读和写操作的先后次序关系,数据相关冲突可分为RAW 、WAR 和WAW 三种类型。

5.当代计算机体系结构的概念包括指令集结构、计算机组成和计算机实现三个方面的内容。

二、名词解释(每题2分,共16分)计算机体系结构:答:计算机体系结构包括指令集结构、计算机组成和计算机实现三个方面的内容。

兼容机:答:不同厂家生产的具有相同计算机结构的计算机;系列机:同一厂家生产的具有相同计算机结构,但具有不同组成和实现的一系列不同档次不同型号的机器;写直达法:答:执行“写”操作时,不仅写入Cache,而且也写入下一级存储器。

高速缓冲存储器:答:为解决CPU与主存储器间速度差而在内存储器和CPU之间增加的一种存取速度远高于普通内存的特殊存储器。

延迟转移技术:答:为了使指令流水线不断流,在转移指令之后插入一条不相关的有效的指令,而转移指令被延迟执行,这种技术称为延迟转移技术。

线性流水线:答:指各段串行连接、没有反馈回路的流水线。

数据通过流水线中的各段时,每一个段最多只流过一次;非线性流水线:指各段除了有串行的连接外,还有反馈回路的流水线。

流水线的吞吐率:答:在单位时间内流水线所完成的任务数量或输出结果的数量。

并行性:答:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。

只要在时间上相互重叠,就存在并行性。

它包括同时性与并发性两种含义。

三、简答题(每题5分,共30分)1. 如有一个经解释实现的计算机,可以按功能划分成4级。

每一级为了执行一条指令需要下一级的N条指令解释。

计算机体系结构 习题与答案

计算机体系结构 习题与答案

第二章习题(P69-70)一、复习题1.简述冯∙诺依曼原理,冯∙诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心?答:冯∙诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。

这3条合称冯∙诺依曼原理冯∙诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。

(P51-P54)2.简述计算机体系结构与组成、实现之间的关系。

答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。

计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。

同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。

计算机实现,是计算机组成的物理实现, 就是把完成逻辑设计的计算机组成方案转换为真实的计算机。

计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。

在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。

(P47-P48)3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构?答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。

(P55)4.简述RISC技术的特点?答:从指令系统结构上看,RISC 体系结构一般具有如下特点:(1) 精简指令系统。

可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令;(2) 减少指令系统可采用的寻址方式种类,一般限制在2或3种;(3) 在指令的功能、格式和编码设计上尽可能地简化和规整,让所有指令尽可能等长;(4) 单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。

第3章计算机网络体系结构(习题参考答案)

第3章计算机网络体系结构(习题参考答案)

第3章计算机网络体系结构三、简答题1. 为什么要采用分层的方法解决计算机的通信问题?通过分层的方法,使得计算机网络复杂的通信处理问题转化成为若干相对较小的层次内的局部问题,对其进行的研究和处理变得相对容易。

2. “各层协议之间存在着某种物理连接,因此可以进行直接的通信。

”这句话对吗?不对。

物理连接只存在于最底层的下面。

各层协议之间只存在着称为“对等层通信”的逻辑连接。

3. 请简要叙述服务与协议之间的区别。

通过协议的规定,下一层可以为上一层提供服务,但是对于上一层的服务用户来说下面的协议是透明的。

协议是存在于对等层之间的,是水平的;服务存在于直接相邻的两个层次之间,是垂直的。

4. 请描述一下通信的两台主机之间通过OSI模型进行数据传输的过程。

发送数据的具体过程为:要进行通信的源用户进程首先将要传输的数据送至应用层并由该层的协议根据协议规范进行处理,为用户数据附加上控制信息后形成应用层协议数据单元再送至表示层;表示层根据本层的协议规范对收到的应用层协议数据单元进行处理,给应用层协议数据单元附加上表示层的控制信息后形成表示层的协议数据单元再将它传送至下一层。

数据按这种方式逐层向下传送直至物理层,最后由物理层实现比特流形式的传送。

当比特流沿着传输介质经过各种传输设备后最终到达了目标系统。

此后,接收数据的具体过程为:按照发送数据的逆过程,比特流从物理层开始逐层向上传送,在每一层都按照该层的协议规范以及数据单元的控制信息完成规定的操作,而后再将本层的控制信息剥离,并将数据部分向上一层传送,依此类推直至最终的、通信的目的用户进程。

5. 请简述虚电路服务的特点。

虚电路服务要求发送分组之前必须建立连接,即虚电路。

之后所有的分组都沿着虚电路依次进行传送。

在所有分组传送完毕后要释放连接。

它可以提供顺序、可靠的分组传输,适用于长报文的通信,一般应用于稳定的专用网络。

6. 请简述无连接服务的特点。

无连接服务无需事先建立连接。

计算机体系结构课后答案

计算机体系结构课后答案

计算机体系结构课后答案【篇一:计算机体系结构习题(含答案)】1、尾数用补码、小数表示,阶码用移码、整数表示,尾数字长p=6(不包括符号位),阶码字长q=6(不包括符号位),为数基值rm=16,阶码基值re=2。

对于规格化浮点数,用十进制表达式写出如下数据(对于前11项,还要写出16进值编码)。

(1)最大尾数(8)最小正数(2)最小正尾数(9)最大负数(3)最小尾数(10)最小负数(4)最大负尾数(11)浮点零(5)最大阶码(12)表数精度(6)最小阶码(13)表数效率(7)最大正数(14)能表示的规格化浮点数个数2.一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。

尾数用原码、纯小数表示,阶码用移码、整数表示。

(1) 设计这种浮点数的格式(2) 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。

3.某处理机要求浮点数在正数区的积累误差不大于2-p-1 ,其中,p是浮点数的尾数长度。

(1) 选择合适的舍入方法。

(2) 确定警戒位位数。

(3) 计算在正数区的误差范围。

4.假设有a和b两种不同类型的处理机,a处理机中的数据不带标志符,其指令字长和数据字长均为32位。

b处理机的数据带有标志符,每个数据的字长增加至36位,其中有4位是标志符,它的指令数由最多256条减少到不到64条。

如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。

对于一个由1000条指令组成的程序,分别计算这个程序在a处理机和b处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发?5.一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。

(1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。

6.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令3类,并假设每个地址字段的长度均为6位。

计算机系统结构__《张晨曦、王志英》课后习题参考答案

计算机系统结构__《张晨曦、王志英》课后习题参考答案

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。

这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。

虚拟机:用软件实现的机器。

翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。

执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。

计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。

包括时间局部性和空间局部性。

CPI:每条指令执行的平均时钟周期数。

测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。

存储程序计算机:冯·诺依曼结构计算机。

其基本点是指令驱动。

程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。

系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。

计算机系统结构(高教版)张晨曦 习题答案 第二章

计算机系统结构(高教版)张晨曦 习题答案 第二章

2.1 解释下列术语:堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。

累加型机器——CPU 中存储操作数的单元是累加器的机器。

通用寄存器型机器——CPU 中存储操作数的单元是通用寄存器的机器。

CISC——复杂指令集计算机。

RISC——精简指令集计算机。

寻址方式:一种指令集结构如何确定所要访问的数据的地址。

数据表示:指计算机硬件能够直接识别、指令集可以直接调用的数据类型。

2.4 指令集应满足那几个基本要求?(书P32-33)答:对指令集的基本要求是:完整性、规整性、高效率和兼容性。

完整性:指在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令集所提供的指令够用。

完整性要求指令集功能齐全、使用方便。

规整性:主要包括对称性和均匀性。

对称性是指所有与指令集有关的存储单元的使用、操作码的设置等都是对称的。

均匀性是指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。

高效率:指令的执行速度快、使用频率高。

在RISC机体系结构中,大多数指令都能在一个节拍内完成,而且只设置使用频率高的指令。

兼容性:系列机各机种之间具有相同的基本结构和共同的基本指令集,因而,指令系统是兼容的,即各机种上基本软件可以通用。

2.5 指令集结构设计所涉及的内容有哪些?答:1)指令集功能设计:主要有RISC和CISC两种技术发展方向;2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,查看各种寻址方式的使用频度,根据使用频度设置相应必要的寻址方式;3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有浮点数据类型(可以采用IEEE754标准)、整形数据类型(8位、16位、32位的表示方法)、字符类型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等;4)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示;5)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章存储层次5.1名词解释1.存储层次——采用不同的技术实现的存储器,处在离CPU不同距离的层次上,目标是达到离CPU 最近的存储器的速度,最远的存储器的容量。

2.全相联映象——主存中的任一块可以被放置到Cache中任意一个地方。

3.直接映象——主存中的每一块只能被放置到Cache中唯一的一个地方。

4.组相联映象——主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache分成若干组,每组由若干块构成)。

5.替换算法——由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。

这时,需要被迫腾出其中的某一块,以接纳新调入的块。

6.L RU——选择最近最少被访问的块作为被替换的块。

实际实现都是选择最久没有被访问的块作为被替换的块。

7.写直达法——在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。

8.写回法——只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。

9.按写分配法——写失效时,先把所写单元所在的块调入Cache,然后再进行写入。

10.不按写分配法——写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。

11.写合并——在往缓冲器写入地址和数据时,如果缓冲器中存在被修改过的块,就检查其地址,看看本次写入数据的地址是否和缓冲器内某个有效块的地址匹配。

如果匹配,就将新数据与该块合并。

12.命中时间——访问Cache命中时所用的时间。

13.失效率——CPU访存时,在一级存储器中找不到所需信息的概率。

14.失效开销——CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。

15.强制性失效——当第一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。

16.容量失效——如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种失效就称作容量失效。

17.冲突失效——在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。

18.2:1Cache经验规则——大小为N的直接映象Cache的失效率约等于大小为N /2的两路组相联Cache 的实效率。

19.相联度——在组相联中,每组Cache中的块数。

20.Victim Cache——位于Cache和存储器之间的又一级Cache,容量小,采用全相联策略。

用于存放由于失效而被丢弃(替换)的那些块。

每当失效发生时,在访问下一级存储器之前,先检查Victim Cache中是否含有所需块。

21.伪相联Cache——一种既能获得多路组相联Cache的低失效率,又能获得直接映象Cache的命中速度的相联办法。

22.故障性预取——在预取时,若出现虚地址故障或违反保护权限,就会发生异常。

23.非故障性预取——在预取时,若出现虚地址故障或违反保护权限,不发生异常。

24.非阻塞Cache——Cache在等待预取数据返回时,还能继续提供指令和数据。

25.子块放置技术——把一个Cache块划分为若干小块,称为子块(sub-blocks),并为每个子块赋予一位有效值,用于说明该子块中的数据是否有效。

失效时,只需从下一级存储器调入一个子块。

26.尽早重启动——在请求字没有到达时,CPU处于等待状态。

一旦请求字到达,就立即发送给CPU,让等待的CPU尽早重启动,继续执行。

27.请求字优先——调块时,首先向存储器请求CPU所要的请求字。

请求字一旦到达,就立即送往CPU,让CPU继续执行,同时从存储器调入该块的其余部分。

28.多级包容性——一级存储器(Cache)中的数据总位于下一级存储器中。

29.虚拟Cache——地址使用虚地址的Cache。

30.多体交叉技术——具有多个存储体,各体之间按字交叉的存储技术。

31.存储体冲突——多个请求要访问同一个体。

32.TLB——一个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内容的一个副本。

5.3 降低Cache失效率有哪几种方法?简述其基本思想。

常用的降低Cache失效率的方法有下面几种:(1)增加Cache块大小。

增加块大小利用了程序的空间局部性。

(2)提高相联度,降低冲突失效。

(3)Victim Cache,降低冲突失效。

(4)伪相联Cache,降低冲突失效。

(5)硬件预取技术,指令和数据都可以在处理器提出访问请求前进行预取。

(6)由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令,在数据被用到之前发出预取请求。

(7)编译器优化,通过对软件的优化来降低失效率。

5.4简述减小Cache失效的几种方法。

(1)让读失效优先于写。

(2)子块放置技术。

(3)请求字处理技术。

(4)非阻塞Cache技术。

(5)采用两级Cache、5.5通过编译器对程序优化来改进Cache性能的方法有哪几种?简述其基本思想。

(1)数组合并,通过提高空间局部性来减少失效次数。

有些程序同时用相同的索引来访问若干个数组的同一维,这些访问可能会相互干扰,导致冲突失效,可以将这些相互独立的数组合并成一个复合数组,使得一个Cache块中能包含全部所需元素。

(2)内外循环交换。

循环嵌套时,程序没有按数据在存储器中的循序访问。

只要简单地交换内外循环,就能使程序按数据在存储器中的存储循序进行访问。

(3)循环融合。

有些程序含有几部分独立的程序断,它们用相同的循环访问同样的数组,对相同的数据作不同的运算。

通过将它们融合成一个单一循环,能使读入Cache的数据被替换出去之前得到反复的使用。

(4)分块。

通过改进时间局部性来减少失效。

分块不是对数组的整行或整列进行访问,而是对子矩阵或块进行操作。

5.6 在“Cache—主存”层次中,主存的更新算法有哪几种??它们各有什么特点?(1)写直达法易于实现,而且下一级存储器中的数据总是最新的。

(2)写回法速度块,“写”操作能以Cache存储器的速度进行。

而且对于同一单元的多个写最后只需一次写回下一级存储器,有些“写”只到达Cache,不到达主存,因而所使用的存储器频带较低。

5.7 组相联Cache比相同容量的之直接映象Cache的失效率低。

由此是否可以得出结论:采用组相联Cache一定能带来性能上的提高?为什么?答:不一定。

因为组相联命中率的提高是以增加命中时间为代价的,组相联需要增加多路选择开关。

5.8 写出三级Cache的平均访问时间T A的公式。

平均访存时间=命中时间+失效率×失效开销只有第I层的失效时才会访问第I+1设三级Cache的命中率分别为H L1、 H l2、 H L3,失效率分别为M l1、M l2、M L3,第三级Cache 的失效开销为P L3。

平均访问时间T A =H L1+M l1{H l2+M l2(H L3+M L3×P L3)}5.9给定以下的假设,试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU的性能。

由计算结果能得出什么结论?(1)理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次;(2)两者Cache容量均为64KB,块大小都是32字节;(3)组相联Cache中的多路选择器使CPU的时钟周期增加了10%;(4)这两种Cache的失效开销都是80ns;(5)命中时间为1个时钟周期;(6)64KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%。

解:平均访问时间=命中时间+失效率×失效开销平均访问时间1-=2.0+1.4% *80=3.12ns路=2.0*(1+10%)+1.0% *80=3.0ns平均访问时间2-路两路组相联的平均访问时间比较低CPU ti me=(CPU执行+存储等待周期)*时钟周期CPU time =IC (CPI 执行+总失效次数/指令总数*失效开销) *时钟周期=IC ((CPI 执行*时钟周期)+(每条指令的访存次数*失效率*失效开销*时钟周期))CPU time 1-way =IC(2.0*2+1.2*0.014*80)=5.344ICCPU time 2-way =IC(2.2*2+1.2*0.01*80)=5.36IC 相对性能比:=--1waytime 2way time CPUCPU 5.36/5.344=1.003直接映象cache 的访问速度比两路组相联cache 要快1.04倍,而两路组相联Cache 的平均性能比直接映象cache 要高1.003倍。

因此这里选择两路组相联。

5.10 假设一台计算机具有以下特性:(1) 95%的访存在Cache 中命中;(2) 块大小为两个字,且失效时整个块被调入; (3) CPU 发出访存请求的速率为109字/秒; (4) 25%的访存为写访问;(5) 存储器的最大流量为109字/秒(包括读和写); (6) 主存每次只能读或写一个字;(7) 在任何时候,Cache 中 有30%的块被修改过; (8) 写失效时,Cache 采用写分配法。

现欲给计算机增添一台外设,为此想先知道主存的频带已经使用了多少。

试对于以下两种情况计算主存频带的平均使用比例。

(1)写直达Cache ; (2)写回法Cache 。

解:采用按写分配(1)写直达cache 访问命中,有两种情况:读命中,不访问主存;写命中,更新cache 和主存,访问主存一次。

访问失效,有两种情况:读失效,将主存中的块调入cache 中,访问主存两次;写失效,将要写的块调入cache ,访问主存两次,再将修改的数据写入cache 和主存,访问主存一次,共三次。

上述分析如下表所示。

一次访存请求最后真正的平均访存次数=(71.3%*0)+(23.8%*1)+(3.8%*2)+(1.3%*3)=0.35已用带宽=0.35×109/10 9=35.0%(2)写回法cache 访问命中,有两种情况:读命中,不访问主存;写命中,不访问主存。

采用写回法,只有当修改的cache 块被换出时,才写入主存;访问失效,有一个块将被换出,这也有两种情况:如果被替换的块没有修改过,将主存中的块调入cache 块中,访问主存两次;如果被替换的块修改过,则首先将修改的块写入主存,需要访问主存两次;然后将主存中的块调入cache块中,需要访问主存两次,共四次访问主存。

所以:一次访存请求最后真正的平均访存次数=66.5%*0+28.5%*0+3.5%*2+1.5%*4=0.13已用带宽=0.13×10 9/10 9=13%5.11 伪相联中,假设在直接映象位置没有发现匹配,而在另一个位置才找到数据(伪命中)时,需要1个额外的周期,而且不交换两个Cache中的数据,失效开销为50个时钟周期。

相关文档
最新文档