计算机体系结构课后习题原版答案_张晨曦著 (1)

上传人:mg****85 文档编号:34178320 上传时间:2018-02-21 格式:DOC 页数:25 大小:693KB
返回 下载 相关 举报
计算机体系结构课后习题原版答案_张晨曦著 (1)_第1页
第1页 / 共25页
计算机体系结构课后习题原版答案_张晨曦著 (1)_第2页
第2页 / 共25页
计算机体系结构课后习题原版答案_张晨曦著 (1)_第3页
第3页 / 共25页
计算机体系结构课后习题原版答案_张晨曦著 (1)_第4页
第4页 / 共25页
计算机体系结构课后习题原版答案_张晨曦著 (1)_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《计算机体系结构课后习题原版答案_张晨曦著 (1)》由会员分享,可在线阅读,更多相关《计算机体系结构课后习题原版答案_张晨曦著 (1)(25页珍藏版)》请在金锄头文库上搜索。

1、第 1 章 计算机系统结构的基本概念1.1 解释下列术语计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。差别只是执行时间的不同。向上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。向后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能运行于在它之后(前)投

2、入市场的计算机。兼容机:由不同公司厂家生产的具有相同系统结构的计算机。同构型多处理机系统:由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。1.2 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计等属于计算机实现。计算机组成是计算机系统结构的逻辑实现。计算机实现是计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实现。1.4 计算机系统设计中经

3、常使用的 4 个定量原理是什么?并说出它们的含义。答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。 (2)Amdahl 定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。 (3)CPU 性能公式。执行一个程序所需的 CPU 时间 = IC CPI 时钟周期时间。 (4)程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。1.5 分别从执行程序的角度和处理数据的角度来看,计算机系统中并行性等级从低到高可分为哪几级? 答:从处理数据的角度来看,并行性等级从低到高可分

4、为:(1)字串位串:每次只对一个字的一位进行处理。这是最基本的串行处理方式,不存在并行性;(2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。已开始出现并行性;(3)字并位串:同时对许多字的同一位(称为位片)进行处理。这种方式具有较高的并行性;(4)全并行:同时对许多字的全部位或部分位进行处理。这是最高一级的并行。从执行程序的角度来看,并行性等级从低到高可分为:(1)指令内部并行:单条指令中各微操作之间的并行;(2)指令级并行:并行执行两条或两条以上的指令;(3)线程级并行:并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位;(4)任务级或过程级并行:并行执

5、行两个或两个以上的过程或任务(程序段) ,以子程序或进程为调度单元;(5)作业或程序级并行:并行执行两个或两个以上的作业或程序。1.7 将计算机系统中某一功能的处理速度加快 10 倍,但该功能的处理时间仅为整个系统运行时间的 40%,则采用此增强功能方法后,能使整个系统的性能提高多少?解 由题可知: 可改进比例 = 40% = 0.4 部件加速比 = 10根据 Amdahl 定律可知:562.104.1系 统 加 速 比采用此增强功能方法后,能使整个系统的性能提高到原来的 1.5625 倍。第 2 章 指令集结构的分类2.1解释下列术语堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。累加器

6、型机器:CPU 中存储操作数的单元是累加器的机器。通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。2.2 指令集结构设计所涉及的内容有哪些?答: (1) 指令集功能设计:主要有 RISC 和 CISC 两种技术发展方向; (2) 寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频率,根据适用频率设置必要的寻址方式。 (3) 操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有:浮点数据类型、整型数据类型、字符型、十进制数据类型等等。 (4) 寻址方式的表示:可以将寻址方式编码于操作码中,也可以将寻址方式作为一个单独的域来表示。 (5)

7、指令集格式的设计:有变长编码格式、固定长度编码格式和混合型编码格式 3 种。2.3 简述 CISC 指令集结构功能设计的主要目标。从当前的计算机技术观点来看,CISC 指令集结构的计算机有什么缺点?答:主要目标是增强指令功能,把越来越多的功能交由硬件来实现,并且指令的数量也是越来越多。缺点: (1) CISC 结构的指令集中,各种指令的使用频率相差悬殊。 (2)CISC 结构指令的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。 (3)CISC 结构指令集的复杂性给 VLSI设计增加了很大负担,不利于单片集成。 (4)CISC 结构的指令集中,许多复杂指

8、令需要很复杂的操作,因而运行速度慢。 (5) 在 CISC 结构的指令集中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。2.4简述 RISC 指令集结构的设计原则。答(1) 选取使用频率最高的指令,并补充一些最有用的指令;(2)每条指令的功能应尽可能简单,并在一个机器周期内完成;(3)所有指令长度均相同;(4)只有 Load 和 Store 操作指令才访问存储器,其它指令操作均在寄存器之间进行; (5) 以简单有效的方式支持高级语言。2.5 表示寻址方式的主要方法有哪些?简述这些方法的优缺点。答:表示寻址方式有两种常用的方法:(1)将寻址方式编

9、于操作码中,由操作码在描述指令的同时也描述了相应的寻址方式。这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了 CPU 对指令译码的难度。 (2)为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。这种方式译码较慢,但操作码和寻址独立,易于指令扩展。第 3 章 流水线技术3.1 解释下列术语数据相关:考虑两条指令 i 和 j,i 在 j 的前面,如果下述条件之一成立,则称指令 j 与指令 i 数据相关: (1)指令 j 使用指令 i 产生的结果;(2)指令 j 与指令 k 数据相关,而指令 k 又与指令 i 数据相关。名相关:如果两

10、条指令使用了相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。控制相关:是指由分支指令引起的相关。它需要根据分支指令的执行结果来确定后面该执行哪个分支上的指令。反相关:考虑两条指令 i 和 j,i 在 j 的前面,如果指令 j 所写的名与指令 i 所读的名相同,则称指令 i 和 j 发生了反相关。输出相关:考虑两条指令 i 和 j,i 在 j 的前面,如果指令 j 和指令 i 所写的名相同,则称指令 i 和 j 发生了输出相关。定向:用来解决写后读冲突的。在发生写后读相关的情况下,在计算结果尚未出来之前,后面等待使用该结果的指令并不见得是马上就要用该结果。如果能够将该计算结果从其

11、产生的地方直接送到其它指令需要它的地方,那么就可以避免停顿。3.3 简述先行控制的基本思想。答:先行控制技术是把缓冲技术和预处理技术相结合。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。预处理技术是指预取指令、对指令进行加工以及预取操作数等。采用先行控制方式的处理机内部设置多个缓冲站,用于平滑主存、指令分析部件、运算器三者之间的工作。这样不仅使它们都能独立地工作,充分忙碌而不用相互等待,而且使指令分析部件和运算器分别能快速地取得指令和操作数,大幅度地提高指令的执行速度和部件的效率。这些缓冲站都按先进先出的方式工作,而且都是由一组若干个能快速访问的存储单元和相关的控

12、制逻辑组成。采用先行控制技术可以实现多条指令的重叠解释执行。 3.6 解决流水线瓶颈问题有哪两种常用方法?答:细分瓶颈段与重复设置瓶颈段3.7 减少流水线分支延迟的静态方法有哪些?答:(1)预测分支失败:沿失败的分支继续处理指令,就好象什么都没发生似的。当确定分支是失败时,说明预测正确,流水线正常流动;当确定分支是成功时,流水线就把在分支指令之后取出的指令转化为空操作,并按分支目标地址重新取指令执行。(2)预测分支成功:当流水线 ID 段检测到分支指令后,一旦计算出了分支目标地址,就开始从该目标地址取指令执行。(3)延迟分支:主要思想是从逻辑上“延长”分支指令的执行时间。把延迟分支看成是由原来

13、的分支指令和若干个延迟槽构成。不管分支是否成功,都要按顺序执行延迟槽中的指令。3 种方法的共同特点:它们对分支的处理方法在程序的执行过程中始终是不变的。它们要么总是预测分支成功,要么总是预测分支失败。3.9 列举出下面循环中的所有相关,包括输出相关、反相关、真相关。for (i=2; i100; i=i+1)ai=bi+ai ;/* s1 */ci+1=ai+di ; /* s2 */ai-1=2*bi ; /* s3 */bi+1=2*bi ;/* s4 */解:展开循环两次:ai = bi + ai ; /* s1 */ci+1 = ai + di ; /* s2 */ai-1 = 2 *

14、 bi ; /* s3 */bi+1 = 2 * bi ; /* s4 */ai+1 = bi+1 + ai+1 ; /* s1 */ci+2 = ai+1 + di+1 ; /* s2 */ai = 2 * bi+1 ; /* s3 */bi+2 = 2 * bi+1 ; /* s4 */输出相关:无反相关:无真相关:S1&S2由于循环引入的相关:S4&S4 (真相关) 、S1&S4(真相关) 、S3 &S4(真相关) 、S1&S3 (输出相关、反相关) 、S2&S3 (反相关) 。3.10 简述三种向量处理方式,它们对向量处理机的结构要求有何不同?答 (1)横向处理方式:若向量长度为 N,

15、则水平处理方式相当于执行 N 次循环。若使用流水线,在每次循环中可能出现数据相关和功能转换,不适合对向量进行流水处理。 (2)纵向处理方式:将整个向量按相同的运算处理完毕之后,再去执行其他运算。适合对向量进行流水处理,向量运算指令的源/目向量都放在存储器内,使得流水线运算部件的输入、输出端直接与存储器相联,构成 M-M 型的运算流水线。 (3)纵横处理方式:把长度为 N 的向量分为若干组,每组长度为 n,组内按纵向方式处理,依次处理各组,组数为N/n ,适合流水处理。可设长度为 n 的向量寄存器,使每组向量运算的源/目向量都在向量寄存器中,流水线的运算部件输入、输出端与向量寄存器相联,构成 R

16、-R 型运算流水线。3.12 有一指令流水线如下所示 入 1 2 3 4 出 50ns 50ns 10ns 20ns (1) 求连续输入 10 条指令,该流水线的实际吞吐率和效率;(2) 该流水线的“ 瓶颈” 在哪一段?请采取两种不同的措施消除此“ 瓶颈”。对于你所给出的两种新的流水线,连续输入 10 条指令时,其实际吞吐率和效率各是多少?解:(1) 20(ns)209)5t1(tTmaxm1iipieln)(nsP1piel 45.%0TPmtE1ii (2) 瓶颈在 3、4 段。 变成 八级流水线(细分) 850(ns)9t1)(tTmaxm1iipieln)(ns85P1piel58.2%1704TPmtE1i 重复设置部件1 23-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号