张晨曦计算机系统结构课后习题.pdf

上传人:文*** 文档编号:91497433 上传时间:2023-05-27 格式:PDF 页数:36 大小:5.92MB
返回 下载 相关 举报
张晨曦计算机系统结构课后习题.pdf_第1页
第1页 / 共36页
张晨曦计算机系统结构课后习题.pdf_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《张晨曦计算机系统结构课后习题.pdf》由会员分享,可在线阅读,更多相关《张晨曦计算机系统结构课后习题.pdf(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第1章计算机系统结构的基本概念1.1解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器,应用语言机器级等虚拟机:用软件实现的机器翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。计算机系统结构:传统机器程

2、序员所看到的计算机属性,即概念性结构与功能特性。在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。A m d a h l定律:当对个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。程序的局部性原理

3、:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。C P I:每条指令执行的平均时钟周期数。测试程序套件:由各种不同的真实应用程序构成的组测试程序,用来测试计算机在各个方面的处理性能。存储程序计算机:冯诺依曼结构计算机。其基本点是指令驱动。程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。软件兼容:一个软件可以不经修改或者只需少量修改就可以由台计算机移植到另一台计算机上运行。差别只是执行时间的不同。向上

4、(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。向 后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能运行于在它之后(前)投入市场的计算机。兼容机:由不同公司厂家生产的具有相同系统结构的计算机。模拟:用软件的方法在一台现有的计算机(称为宿主机)上实现另一台计算机(称为虚拟机)的指令系统。仿真:用一台现有计算机(称为宿主机)上的微程序去解释实现另一台计算机(称为目标机)的指令系统。并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相互重叠,就存在并行性。它包括同时性与并发性两种含义。时间重叠:在并行性概念中引入时间

5、因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。资源重复:在并行性概念中引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。耦合度:反映多机系统中各计算机之间物理连接的紧密程度和交互作用能力的强弱。紧密耦合系统:又称直接耦合系统。在这种系统中,计算机之间的物理连接的频带较高,一般是通过总线或高速开关互连,可以共享主存。松散耦合系统:又称间接耦合系统,般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。计算机之间

6、的相互作用是在文件或数据集一级上进行。异构型多处理机系统:由多个不同类型、至少担负不同功能的处理机组成,它们按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。同构型多处理机系统:由多个同类型或至少担负同等功能的处理机组成,它们同时处理同作业中能并行执行的多个任务。1.2 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计等属于计算机实现。计算机组成是计算机系统

7、结构的逻辑实现。计算机实现是计算机组成的物理实现。种体系结构可以有多种组成。一种组成可以有多种实现。1.3 计算机系统结构的F l y n n分类法是按什么来分类的?共分为哪儿类?答:F l y n n分类法是按照指令流和数据流的多倍性进行分类。把计算机系统的结构分为:(1)单指令流单数据流S I S D(2)单指令流多数据流S I M D(3)多指令流单数据流M I S D(4)多指令流多数据流M I M D1.4 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的

8、总体上的改进。(2)A m d a h l定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。(3)C P U性能公式。执行一个程序所需的C P U时 间=IC XCPI X时钟周期时间。(4)程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。1.5 分别从执行程序的角度和处理数据的角度来看,计算机系统中并行性等级从低到高可分为哪几级?答:从处理数据的角度来看,并行性等级从低到高可分为:(1)字串位串:每次只对一个字的一位进行处理。这是最基本的串行处理方式,不存在并行性;(2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。已开

9、始出现并行性;(3)字并位串:同时对许多字的同一位(称为位片)进行处理。这种方式具有较高的并行性;(4)全并行:同时对许多字的全部位或部分位进行处理。这是最高一级的并行。从执行程序的角度来看,并行性等级从低到高可分为:(1)指令内部并行:单条指令中各微操作之间的并行;(2)指令级并行:并行执行两条或两条以上的指令;(3)线程级并行:并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位;(4)任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段),以子程序或进程为调度单元;(5)作业或程序级并行:并行执行两个或两个以上的作业或程序。1.6某台主频为40 0 M H

10、z的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:指令类型指令执行数量平均时钟周期数整数450001求该计算机的有效C P I、M I P S 和程序执行时间。数据传送750002浮点80004分支15002解:(1)C P I =(450 0 0 X 1 +750 0 0 X 2+80 0 0 X 4+1 50 0 X 2)/1 295 0 0 =1.7 7 6(2)M I P S 速率=V C P I =4 0 0/1.7 7 6 =2 2 5.2 2 5 M I P S(3)程序执行时间=(4 5 0 0 0 X 1 +7 5 0 0 0 X 2 +8 0 0 0

11、 X 4+1 5 0 0 X 2)/4 0 0=5 7 5 s1.7 将计算机系统中某一功能的处理速度加快1 0 倍,但该功能的处理时间仅为整个系统运行时间的4 0%,则采用此增强功能方法后,能使整个系统的性能提高多少?解由题可知:可改进比例=4 0%=0.4 部件加速比=1 0根据A md a h l 定律可知:1系统加速比=(1-0.4)0.4+-1 0=1.5 6 2 5采用此增强功能方法后,能使整个系统的性能提高到原来的1.5 6 2 5 倍。1.8 计算机系统中有三个部件可以改进,这三个部件的部件加速比为:部件加速比尸3 0;部件加速比2=2 0;部件加速比3=1 0(1)如果部件1

12、 和部件2的可改进比例均为3 0%,那么当部件3的可改进比例为多少时,系统加速比才可以达到1 0?(2)如果三个部件的可改进比例分别为3 0%、3 0%和 2 0%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?解:(1)在多个部件可改进情况下,A md a h l 定理的扩展:(H)+君已知 S 1 =3 0,$2=2 0,S 3=1 0,Sn 1 0,F|0.3,F 2=0.3,得:io=-!-1-(0.3 +0.3 +尸 3)+(0,3 /3 0 +0.3 /2 0 +g/1 0)得 F 3=0.3 6,即部件3的可改进比例为3 6%。(2)设系统改进前

13、的执行时间为T,则 3个部件改进前的执行时间为:(0 3+0.3+0.2)T =0.8 T,不可改进部分的执行时间为0.2 T。已知3 个部件改进后的加速比分别为S i=3 0,S2=2 0,S3=1 0,因此3个部件改进后的执行时间为:;=些+里+些=0.0 4 5 73 0 2 0 1 0改进后整个系统的执行时间为:T n =0.0 4 5 T+0.2 T =0.2 4 5 T那么系统中不可改进部分的执行时间在总执行时间中占的比例是:0.2 T0.2 4 5 7=0.8 21.9 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体数据如下表所示:(1)改进后,各类操作的加

14、速比分别是多少?(2)各类操作单独改进后,程序获得的加速比分别是多少?(3)4类操作均改进后,整个程序的加速比是多少?操作类型程序中的数量(百万条指令)改进前的执行时间(周期)改进后的执行时间(周期)操作11021操作2302015操作335103操作41541解:根据A md a h l 定律5“=可得(1-F e)+北4类操作均改进后,整个程序的加速比:操作类型各类操作的指令条数在程序中所占的比例F,各类操作的加速比Si各类操作单独改进后,程序获得的加速比操作111.1%21.06操作233.3%1.331.09操作338.9%3.331.37操作416.7%41.14(1-Z 号)+Z/

15、第 2 章指令集结构的分类2.1 解释下列术语堆栈型机器:C P U 中存储操作数的单元是堆栈的机器。累加器型机器:C P U 中存储操作数的单元是累加器的机器。通用寄存器型机器:C P U 中存储操作数的单元是通用寄存器的机器。C I S C:复杂指令集计算机R I S C:精简指令集计算机寻址方式:指令系统中如何形成所要访问的数据的地址。一般来说,寻址方式可以指明指令中的操作数是一个常数、一个寄存器操作数或者是一个存储器操作数。数据表示:硬件结构能够识别、指令系统可以直接调用的那些数据结构。2.2 区别不同指令集结构的主要因素是什么?根据这个主要因素可将指令集结构分为哪3 类?答:区别不同

16、指令集结构的主要因素是CPU中用来存储操作数的存储单元。据此可将指令系统结构分为堆栈结构、累加器结构和通用寄存器结构。2.3 常见的3 种通用寄存器型指令集结构的优缺点有哪些?答:指令系统结构类型优 点缺 点寄存器寄存器型(0,3)指令字长固定,指令结构简洁,是一种简单的代码生成模型,各种指令的执行时钟周期数相近。与指令中含存储器操作数的指令系统结构相比,指令条数多,目标代码不够紧凑,因而程序占用的空间比较大。寄存器-存储器型(1,2)可以在A L U指令中直接对存储器操作数进行引用,而不必先用load指令进行加载。容易对指令进行编码,目标代码比较紧凑。由于有一个操作数的内容将被破坏,所以指令

17、中的两个操作数不对称。在一条指令中同时对寄存器操作数和存储器操作数进行编码,有可能限制指令所能够表示的寄存器个数。指令的执行时钟周期数因操作数的来源(寄存器或存储器)不同而差别比较大。存储器-存储器型(2,2)或(3,3)目标代码最紧凑,不需要设置寄存器来保存变量。指令字长变化很大,特别是3操作数指令。而且每条指令完成的工作也差别很大。对存储器的频繁访问会使存储器成为瓶颈。这种类型的指令系统现在已不用了。2.4 指令集应满足哪几个基本要求?答:对指令集的基本要求是:完整性、规整性、高效率和兼容性。完整性是指在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令集所提供的指令足够使

18、用。规整性主要包括对称性和均匀性。对称性是指所有与指令集有关的存储单元的使用、操作码的设置等都是对称的。均匀性是指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。高效率是指指令的执行速度快、使用频度高。2.5 指令集结构设计所涉及的内容有哪些?答:(1)指令集功能设计:主要有RISC和 CISC两种技术发展方向;(2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频率,根据适用频率设置必要的寻址方式。(3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有:浮点数据类型、整型数据类型、字符型、十进制数据类型等等。(4

19、)寻址方式的表示:可以将寻址方式编码于操作码中,也可以将寻址方式作为一个单独的域来表示。(5)指令集格式的设计:有变长编码格式、固定长度编码格式和混合型编码格式3 种。2.6 简述CISC指令集结构功能设计的主要目标。从当前的计算机技术观点来看,CISC指令集结构的计算机有什么缺点?答:主要目标是增强指令功能,把越来越多的功能交由硬件来实现,并且指令的数量也是越来越多。缺点:(1)C I S C 结构的指令集中,各种指令的使用频率相差悬殊。(2)C I S C 结构指令的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。(3)C I S C 结构指令集的复

20、杂性给V L S I 设计增加了很大负担,不利于单片集成。(4)C I S C 结构的指令集中,许多复杂指令需要很复杂的操作,因而运行速度慢。(5)在C I S C 结构的指令集中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技 术(如流水技术)来提高系统的性能。2.7 简述R I S C 指令集结构的设计原则。答(1)选取使用频率最高的指令,并补充些最有用的指令;(2)每条指令的功能应尽可能简单,并在一个机器周期内完成;(3)所有指令长度均相同;(4)只有L o a d 和 S t o r e操作指令才访问存储器,其它指令操作均在寄存器之间进行;(5)以简单有效的方式支持高级语

21、言。2.8 指令中表示操作数类型的方法有哪几种?答:操作数类型有两种表示方法:(1)操作数的类型由操作码的编码指定,这是最常见的一种方法;(2)数据可以附上山硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。2.9 表示寻址方式的主要方法有哪些?简述这些方法的优缺点。答:表示寻址方式有两种常用的方法:3)将寻址方式编于操作码中,由操作码在描述指令的同时也描述了相应的寻址方式。这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了 C P U 对指令译码的难度。(2)为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。这种方

22、式译码较慢,但操作码和寻址独立,易于指令扩展。2.1 0 通常有哪几种指令格式,请简述其适用范围。答:(1)变长编码格式。如果系统结构设计者感兴趣的是程序的目标代码大小,而不是性能,就可以采用变长编码格式。(2)固定长度编码格式。如果感兴趣的是性能,而不是程序的目标代码大小,则可以选择固定长度编码格式。(3)混合型编码格式。需要兼顾降低目标代码长度和降低译码复杂度时,可以采用混合型编码格式。2.1 1 根据C P U 性能公式简述R I S C 指令集结构计算机和C I S C 指令集结构计算机的性能特点。答:C P U 性能公式:C P U 时间=I C X C P I X T其中,I C

23、为目标程序被执行的指令条数,C P 1 为指令平均执行周期数,T 是时钟周期的时间。相同功能的C I S C 目标程序的指令条数I C c i s c 少于R I S C 的ICRISC,但是C I S C 的C P I c i s c和 Tc i s c 都大于R I S C 的CPIRISC和TRISC,因此,C I S C 目标程序的执行时间比R I S C 的更长。第3章流水线技术3.1 解释下列术语流水线:将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。单功能流水线:指流水线的各段之间的连接固定不变、只能完成一种固定功能的流水

24、线。多功能流水线:指各段可以进行不同的连接,以实现不同的功能的流水线。静态流水线:指在同一时间内,多功能流水线中的各段只能按同种功能的连接方式工作的流水线。当流水线要切换到另一种功能时,必须等前面的任务都流出流水线之后,才能改变连接。动态流水线:指在同一时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能的流水线。它允许在某些段正在实现某种运算时,另一些段却在实现另一种运算。部件级流水线:把处理机中的部件进行分段,再把这些部件分段相互连接而成。它使得运算操作能够按流水方式进行。这种流水线也称为运算操作流水线。处理机级流水线:又称指令流水线。它是把指令的执行过程按照流水方式进行处

25、理,即把一条指令的执行过程分解为若干个子过程,每个子过程在独立的功能部件中执行。处理机间流水线:又称为宏流水线。它是把多个处理机串行连接起来,对同一数据流进行处理,每个处理机完成整个任务中的一部分。前一个处理机的输出结果存入存储器中,作为后一个处理机的输入。线性流水线:指各段串行连接、没有反馈回路的流水线。数据通过流水线中的各段时,每一个段最多只流过一次。非线性流水线:指各段除了有串行的连接外,还有反馈回路的流水线。顺序流水线:流水线输出端任务流的顺序与输入端任务流入的顺序完全相同。乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成。这种流水线又

26、称为无序流水线、错序流水线、异步流水线。吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。流水线的加速比:使用顺序处理方式处理一批任务所用的时间与按流水处理方式处理同一批任务所用的时间之比。流水线的效率:即流水线设备的利用率,它是指流水线中的设备实际使用时间与整个运行时间的比值。数据相关:考虑两条指令,和j,i 在/的前面,如果下述条件之一成立,则称指令j 与指令i数据相关:(1)指令)使用指令i 产生的结果;(2)指令,与指令/数据相关,而指令A又与指令,数据相关。名相关:如果两条指令使用了相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。控制相关:是指由分支指令引起

27、的相关。它需要根据分支指令的执行结果来确定后面该执行哪个分支上的指令。反相关:考虑两条指令,和i在j的前面,如果指令,所写的名与指令i所读的名相同,则称指令i和/发生了反相关。输出相关:考虑两条指令i和j,i在/的前面,如果指令j和指令i所写的名相同,则称指令,和,发生了输出相关。换名技术:名相关的两条指令之间并没有数据的传送,只是使用了相同的名。可以把其中一条指令所使用的名换成别的,以此来消除名相关。结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。控制冲突:流水线遇到分支指令或其它会改变P C值的指令

28、所引起的冲突。定向:用来解决写后读冲突的。在发生写后读相关的情况下,在计算结果尚未出来之前,后面等待使用该结果的指令并不见得是马上就要用该结果。如果能够将该计算结果从其产生的地方直接送到其它指令需要它的地方,那么就可以避免停顿。写后读冲突:考虑两条指令i和j,且i在j之前进入流水线,指令j用到指令i的计算结果,而且在i将结果写入寄存器之前就去读该寄存器,因而得到的是旧值。读后写冲突:考虑两条指令i和j,且i在j之前进入流水线,指令j的目的寄存器和指令i的源操作数寄存器相同,而且j在i读取该寄存器之前就先对它进行了写操作,导致i读到的值是错误的。写后写冲突:考虑两条指令i和j,且i在j之前进入流

29、水线,指令j和指令i的结果单元(寄存器或存储器单元)相同,而且j在i写入之前就先对该单元进行了写入操作,从而导致写入顺序错误。这时在结果单元中留下的是i写入的值,而不是j写入的。链接技术:具有先写后读相关的两条指令,在不出现功能部件冲突和V i冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的。分段开采:当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。半性能向量长度:向量处理机的性能为其最大性能As的一半时所需的向量长度。向量长度临界值:向量流水方式的处理速度优于标量串行方式的处理速度时所需的向量长度的最小值。

30、3.2 指令的执行可采用顺序执行、重叠执行和流水线三种方式,它们的主要区别是什么?各有何优缺点。答:(1)指令的顺序执行是指指令与指令之间顺序串行。即上一条指令全部执行完后,才能开始执行下一条指令。优点:控制简单,节省设备。缺点:执行指令的速度慢,功能部件的利用率低。(2)指令的重叠指令是在相邻的指令之间,让第k 条指令与取第k+1条指令同时进行。重叠执行不能加快单条指令的执行速度,但在硬件增加不多的情况下,可以加快相邻两条指令以及整段程序的执行速度。与顺序方式相比,功能部件的利用率提高了,控制变复杂了。(3)指令的流水执行是把一个指令的执行过程分解为若干个子过程,每个子过程由专门的功能部件来

31、实现。把多个处理过程在时间上错开,依次通过各功能段,每个子过程与其它的子过程并行进行。依靠提高吞吐率来提高系统性能。流水线中各段的时间应尽可能相等3.3 简述先行控制的基本思想。答:先行控制技术是把缓冲技术和预处理技术相结合。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。预处理技术是指预取指令、对指令进行加工以及预取操作数等。采用先行控制方式的处理机内部设置多个缓冲站,用于平滑主存、指令分析部件、运算器三者之间的工作。这样不仅使它们都能独立地工作,充分忙碌而不用相互等待,而且使指令分析部件和运算器分别能快速地取得指令和操作数,大幅度地提高指令的执行速度和部件的效率

32、。这些缓冲站都按先进先出的方式工作,而且都是由一组若干个能快速访问的存储单元和相关的控制逻辑组成。采用先行控制技术可以实现多条指令的重叠解释执行。3.4 设一条指令的执行过程分成取指令、分析指令和执行指令三个阶段,每个阶段所需的 时 间 分 别 为 和 2 4 t。分别求出下列各种情况下,连续执行N 条指令所需的时间。(1)顺序执行方式;(2)只 有“取指令”与“执行指令”重叠;(3)“取指令”、“分析指令”与“执行指令”重叠。解:(1)每条指令的执行时间为:t+a t+2 N=4 4 t连续执行N条指令所需的时间为:4NAt(2)连续执行N 条指令所需的时间为:4A t+3(N-l)A t=

33、(3N+1)At(3)连续执行N 条指令所需的时间为:4A t+2(N-l)A t=(2N+2)At3.5 简述流水线技术的特点。答:流水技术有以下特点:(1)流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。(2)流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。(3)流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。(4)流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。(5)流水线需要有通过时间和排

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

35、干个延迟槽构成。不管分支是否成功,都要按顺序执行延迟槽中的指令。3 种方法的共同特点:它们对分支的处理方法在程序的执行过程中始终是不变的。它们要么总是预测分支成功,要么总是预测分支失败。3.8 简述延迟分支方法中的三种调度策略的优缺点。调度策略对调度的要求对流水线性能改善的影响从前调度分支必须不依赖于被调度的指令总是可以有效提高流水线性能从目标处调度如果分支转移失败,必须保证被调度的指令对程序的执行没有影响,可能需要复制被调度指令分支转移成功时,可以提高流水线性能。但由于复制指令,可能加大程序空间从失败处调度如果分支转移成功,必须保证被调度的指令对程序的执行没有影响分支转移失败时,可以提高流水

36、线性能3.9列举出下面循环中的所有相关,包括输出相关、反相关、真相关。for(i=2;i 2 3 -a 4 -出5 0 ns 5 0 ns 1 0 0 ns 2 0 0 ns(1)求连续输入1 0 条指令,该流水线的实际吞吐率和效率;(2)该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你所给出的两种新的流水线,连续输入1 0 条指令时,其实际吞吐率和效率各是多少?解:(1)Tpipeline=):Ati+(n l)Atmaxi=l=(50+50+100+200)+9x200=2200(ns)TP=%g%20(Z)mV A tj 400E=TP-1=1=TP-m 45 45

37、.45%11(2)瓶颈在3、4段。变成八级流水线(细分)入-出T 1 I 2 I 3T 3_2 I 4i T 4 4一50ns 50ns 50ns 50ns 50ns 50nsT pipeline=):Ati+(n 1)Atm=50 x8+9x50=850(ns)TP=%Mm%5(n b)mV A ti-400 10E=TP 旦 一=TP 坪=58.82%m 8 17 重复设置部件TP=%i =%5(n)E=400 x 1%58.82%850ns3.1 3有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一次,然后才能流到第4段。如果每段经过次所需要的时间都是,问:(1)当在流水线的

38、输入端连续地每时间输入任务时,该流水线会发生什么情况?(2)此流水线的最大吞吐率为多少?如果每2,输入一个任务,连续 处 理1 0个任务时的实际吞吐率和效率是多少?(3)当每段时间不变时,如何提高该流水线的吞吐率?仍连续 处 理1 0个任务时,其吞吐率提高多少?解:(1)会发生流水线阻塞情况。第 1个任务S1S2S3S3S4第 2 个任务S1S2stallS3S3S4第 3 个任务S1stallS2stallS3S3S4第 4 个任务SIstallS2stallS3S3S4(2)段T P=XpeHne=AE=TP-5%=5%2 54.35%(3)重复设置部件A tAt t tA t段上I3_2

39、3_ 12189101105 5 7 7 96 7 8 9 104 5 6 7 8 9 10时间1 4 2TP=喔/1 pipeline吞 吐 率 提 高 倍 数=二 =1.6 4%3&3.1 4 有一条静态多功能流水线由5 段组成,加法用1、3、4、5 段,乘法用1、2、5段,第 3段的时间为243其余各段的时间均为A t,而且流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中。现要在该流水线上计算n(A,+B,),画出其时空图,并计算其吞吐率、加速比和效率。i=,加法解:首先,应选择适合于流水线工作的算法。对于本题,应先计算A 1 +B|、A 2 +B 2、A 3+B 3 和 A 4

40、+B 4;再计算(A +B )X(A 2+B 2)和(A 3 +B 3)X(A4+B4);然后求总的结果。其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工作。段5432ABC八 八AXBXCXDdiB=A2+B2C=A3+B3 D=A4+B41输入6789 10 11 12 13 14 15 16 17 18A C AXB时间&B,B2 B3B D CXD由图可见,它 在 1 8 个 时 间 中,给出了 7个结果。所以吞吐率为:7TP=-18 Ar如果不用流水线,由于一次求积需3 A 6 一次求和需5 A/,则产生上述7个结果共需(4 x5+3 x3)r=2 9 A/o所以加速

41、比为:S=至 竺=1.6118 Ar该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得:4 x 5 4-3 x 3八 E=-=0.3225x183.1 5 动态多功能流水线山6个功能段组成,如下图:加法乘法其中,S I、S 4、S 5、S 6 组成乘法流水线,S K S 2、S 3、S 6 组成加法流水线,各个功能段时间均为5 0 n s,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲5寄存器,若以最快的方式用该流水计算:X iyi Z ii=l(1)画出时空图;(2)计算实际的吞吐率、加速比和效率。解:机器一共要做1 0 次乘法,4次加法。加速比=第=2.55效

42、率=掇=42.42%3.16在 MIPS流水线上运行如下代码序列:LOOP:LWRI,0(R2)DADDIURI,RI,#1SWRI,0(R2)DADDIUR2,R2,#4DSUBR4,R3,R2BNEZR4,LOOP其中:R 3的初值是R2+396。假设:在整个代码序列的运行过程中,所有的存储器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器文件“定 向 问:(1)在没有任何其它定向(或旁路)硬件的支持下,请画出该指令序列执行的流水线时空图。假设采用排空流水线的策略处理分支指令,且所有的存储器访问都命中C ache,那么执行上述循环需要多少个时钟周期?(2)假

43、设该流水线有正常的定向路径,请画出该指令序列执行的流水线时空图。假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都命中C ache,那么执行上述循环需要多少个时钟周期?(3)假设该流水线有正常的定向路径和一个单周期延迟分支,请对该循环中的指令进行调度,你可以重新组织指令的顺序,也可以修改指令的操作数,但是注意不能增加指令的条数。请画出该指令序列执行的流水线时空图,并计算执行上述循环所需要的时钟周期数。解:寄存器读写可以定向,无其他旁路硬件支持。排空流水线。旨 令LWDADDIUSWDADDIUDSUBBNEZLW1 2 3 4 5 6IF ID EX M WBIF S S ID EX

44、IF S7MS8 9 10 11WBID EX M WBIF ID EX MIF S S12 13 14 15WBID EX M WBIF S S IDIF16 17 18 19EX M WBS S IF ID20 21EX M22WB第 i 次 迭 代(i=0.9 8)开始周期:1+(iX17)总的时钟周期数:(98X17)+18=1684有正常定向路径,预测分支失败。指令LWDADDIUSWDADDIUDSUBBNEZLW12 3 4IF ID EX MIF ID SIF ScWBEXIDIFi 6 7M WBEX MID EXIF IDIF8WBMEXIDIF9WBMEXmiss10WB

45、Mmiss11WBIF1 13 14ID EX M15WB第 i 次 迭 代(i=0.9 8)开始周期:1+(iXIO)总的时钟周期数:(98X10)+11=991有正常定向路径。单周期延迟分支。LOOP:LWRI,0(R2)DADDIUR2,R2,#4DADDIURI,RI,#1DSUBR4,R3,R2BNEZR4,LOOPSWRI,-4(R2)第 i 次 迭 代(i=0.9 8)开始周期:1+(i X6)总的时钟周期数:(98X6)+10=598指令1 234567891011LWIF IDEXMWBDADDIUIFIDEXMWBDADDIUIFIDEXMWBDSUBIFIDEXMWBBN

46、EZIFIDEXMWBSWIFIDEXMWBLWIFIDEXMWB3.17假设各种分支指令数占所有指令数的百分比如下:条件分支20%(其中的60%是分支成功的)跳转和调用5%现有一条段数为4的流水线,无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第三个时钟周期结束时才能够被解析出来。第一个流水段是完全独立于指令类型的,即所有类型的指令都必须经过第一个流水段的处理。请问在没有任何控制相关的情况下,该流水线相对于存在上述控制相关情况下的加速比是多少?解:没有控制相关时流水线的平均C P I=1存在控制相关时:由于无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第3个时钟周

47、期结束时才能被解析出来。所以:(1)若使用排空流水线的策略,则对于条件分支,有两个额外的s t a l l,对无条件分支,有一个额外的s t a l l:C P I=1+2 0%*2+5%*1 =1.4 5加速比 S=C P I/1 =1.4 5(2)若使用预测分支成功策略,则对于不成功的条件分支,有两个额外的s t a l l,对无条件分支和成功的条件分支,有一个额外的s t a l l 1:C P 1 =1+2 0%*(6 0%*1+4 0%*2)+5%*1 =1.3 3力 口 速 比 S=C P I/1 =1.3 3(3)若使用预测分支失败策略,则对于成功的条件分支,有两个额外的s t

48、a l l;对无条件分支,有一个额外的s t a l l;对不成功的条件分支,其目标地址已经由PC值给出,不必等待,所以无延迟:C P I =1+2 0%*(6 0%*2 +4 0%*0)+5%*1 =1.2 9加速比 S=C P I/1 =1.2 93.1 8 在 C R A Y-1 机器上,按照链接方式执行下述4条向量指令(括号中给出了相应功能部件的执行时间),如果向量寄存器和功能部件之间的数据传送需要1 拍,试求此链接流水线的通过时间是多少拍?如果向量长度为6 4,则需多少拍才能得到全部结果?V。一存储器(从存储器中取数:7 拍)V 2-V()+V|(向量加:3 拍)V3 V 2 VA

49、3 (按(A 3)左移:4 拍)V5V3AV4(向量逻辑乘:2 拍)解:通过时间就是每条向量指令的第一个操作数执行完毕需要的时间,也就是各功能流水线由空到满的时间,具体过程如下图所示。要得到全部结果,在流水线充满之后,向T 通过=(7+1)+(1+3+1)+(1+4+1)+(1+2+1)=2 3(拍)T 总共=T 通 过 +(6 4-1)=2 3+6 3=8 6(拍)3.19某向量处理机有16个向量寄存器,其中V。V5中分别放有向量A、B、C、D、E、F,向量长度均为8,向量各元素均为浮点数;处理部件采用两条单功能流水线,加法功能部件时间为2 拍,乘法功能部件时间为3 拍。采用类似于CARY-

50、1的链接技术,先计算(A+B)*C,在流水线不停流的情况下,接着计算(D+E)*F。(1)求此链接流水线的通过时间?(设寄存器入、出各需1 拍)(2)假如每拍时间为50ns,完成这些计算并把结果存进相应寄存器,此处理部件的实际吞吐率为多少MFLOPS?解:(1)我们在这里假设A+B 的中间结果放在V 6 中,(A+B)X C 地最后结果放在V 7中,D+E 地中间结果放在V 8中,(D+E)X F 的最后结果放在V 9中。具体实现参考下图:通过时间应该为前者(A+B)X C)通过的时间:Tffla=(l+2+l)+(l+3+l)=9(拍)(2)在 做 完(A+B)X C 之后,作(C+D)X

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com