计算机体系结构第二章练习题参考解答
计算机体系结构课后习题原版答案

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
计算机系统结构课后答案unit2

第2章数据表示与指令系统1、数据结构和机器的数据表示之间是什么关系确定和引入数据表示的基本原则是什么?答:数据表示是能由硬件直接识别和引用的数据类型。
数据结构反映各种数据元素或信息单元之间的结构关系。
数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。
不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。
数据表示和数据结构是软件、硬件的交界面。
除基本数据表示不可少外,高级数据表示的引入遵循以下原则:(1)看系统的效率有否提高,是否养活了实现时间和存储空间。
(2)看引入这种数据表示后,其通用性和利用率是否高。
2、标志符数据表示与描述符数据表示有何区别描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?答:标志符数据表示指将数据类型与数据本身直接联系在一起,让机器中每个数所都带类型樗位。
其优点是:(1)简化了指令系统和程序设计;(2)简化了编译程序;(3)便于实现一致性校验;(4)能由硬件自动变换数据类型;(5)支持数据库系统的实现与数据类型无关;(6)为软件调试和应用软件开发提供支持。
缺点是:(1)会增加程序所点的主存空间;(2)在微观上对机器的性能(运算速度)不利。
数据描述符指数据的描述与数据分开存放,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址住处它具备标志符数据表示的优点,并减少了标志符数据表示所占的空间,为向量和数组结构的实现提供支持。
数据描述符方法优于标志符数据表示,数据的描述与数据分开,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址信息,减少了樗符数据表示所占的窨。
用描述符方法实现阵列数据的索引比用变址方法实现要方便,且便于检查出程序中的阵列越界错误。
但它不能解决向量和数组的高速运算问题。
而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。
第2章计算机体系结构习题与答案

第二章习题(P69-70)一、复习题1. 简述冯?诺依曼原理,冯?诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心?答:冯?诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。
这3条合称冯?诺依曼原理OgtiojDo冯?诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。
(P51-P54)r1fl4bu o2. 简述计算机体系结构与组成、实现之间的关系。
答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。
计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。
同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。
计算机实现,是计算机组成的物理实现,就是把完成逻辑设计的计算机组成方案转换为真实的计算机。
计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。
在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。
(P47-P48)28BoSAn03. 根据指令系统结构划分,现代计算机包含哪两种主要的体系结构?答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。
(P55)4简述RISC技术的特点?答:从指令系统结构上看,RISC体系结构一般具有如下特点:(1) 精简指令系统。
可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令;hJslBtfo(2) 减少指令系统可采用的寻址方式种类,一般限制在2或3种;(3) 在指令的功能、格式和编码设计上尽可能地简化和规整,让所有指令尽可能等长;(4)单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。
计算机体系结构课后习题原版答案-张晨曦着

第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. 数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统时,确定数据表示的原则主要有哪几个?答:略2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其指令字长和数据字长均为32位。
B 处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。
如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。
对于一个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发?答:我们可以计算出数据的总数量:∵ 程序有1000条指令组成,且每条指令平均要访问两个操作数∴ 程序访问的数据总数为:1000×2=2000个∵ 每个数据平均访问8次∴ 程序访问的不同数据个数为:2000÷8=250对于A 处理机,所用的存储空间的大小为:bit 4000032250321000Mem Mem Mem data n instructio A =?+?=+=对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为:bit 3900036250301000Mem Mem Mem data n instructio B =?+?=+=由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。
3. 对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。
假设存放在这个存储器中的数据中有20%是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16位数据,有20%是独立的32位数据,另外30%是独立的64位数据;并且规定只能从一个存储字的起始位置开始存放数据。
⑴计算这种存储器的存储空间利用率。
计算机系统结构 第二章(习题解答)

1. 数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统时,确定数据表示的原则主要有哪几个? 答:略2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其指令字长和数据字长均为32位。
B 处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。
如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。
对于一个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 答:我们可以计算出数据的总数量:∵ 程序有1000条指令组成,且每条指令平均要访问两个操作数 ∴ 程序访问的数据总数为:1000×2=2000个 ∵ 每个数据平均访问8次∴ 程序访问的不同数据个数为:2000÷8=250对于A 处理机,所用的存储空间的大小为:bit 4000032250321000Mem Mem Mem data n instructio A =⨯+⨯=+=对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为:bit 3900036250301000Mem Mem Mem data n instructio B =⨯+⨯=+=由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。
3. 对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。
假设存放在这个存储器中的数据中有20%是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16位数据,有20%是独立的32位数据,另外30%是独立的64位数据;并且规定只能从一个存储字的起始位置开始存放数据。
⑴计算这种存储器的存储空间利用率。
⑵给出提高存储空间利用率的方法,画出新方法的逻辑框图,并计算这种方法的存储空间利用率。
计算机组成与系统结构第二章习题及答案

一、填空题(20每空2分)1.计数制中使用的数据个数被称为。
(基)2.移码常用来表示浮点数的部分,移码和补码比较,它们除外,其他各位都相同。
(阶码,符号位)3.码值80H:若表示真值0,则为;若表示-128,则为;若表示-127,则为;若表示-0,则为。
(移码补码反码原码)4. 在浮点运算过程中,如果运算结果的尾数部分不是形式,则需要进行规格化处理。
设尾数采用补码表示形式,当运算结果时,需要进行右规操作;当运算结果时,需要进行左规操作。
(规格化溢出不是规格化数)二、选择题(20每题2分)1.以下给出的浮点数,______是规格化浮点数。
(B)A.2^-10×0. B.2^-11×0.C.2^-100×1. D.2^-1×0.2.常规乘除法器乘、除运算过程采用部分积、余数左移的做法,其好处是______。
(C)A.提高运算速度 B. 提高运算精度C. 节省加法器的位数D. 便于控制3.逻辑异运算和的结果是。
(B)A. B.C. D.4.浮点数尾数基值rm=8,尾数数值部分长6位,可表示的规格化最小正尾数为。
(C)1.A.0.5 B.0.25 C.0.125 D.1/645.当浮点数尾数的基值rm=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大尾数值是。
(D)A.1/2B.15/16C.1/256D.255/2566.两个补码数相加,采用1位符号位,当时表示结果溢出。
(D)A、符号位有进位B、符号位进位和最高数位进位异或结果为0C、符号位为1D、符号位进位和最高数位进位异或结果为17.运算器的主要功能时进行。
(C)A、逻辑运算B、算术运算C、逻辑运算和算术运算D、只作加法8.运算器虽有许多部件组成,但核心部件是。
(B)A、数据总线B、算术逻辑运算单元C、多路开关D、累加寄存器9.在定点二进制运算中,减法运算一般通过来实现。
(D)A、原码运算的二进制减法器B、补码运算的二进制减法器C、补码运算的的十进制加法器D、补码运算的的二进制加法器10.ALU属于部件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章
2.13 在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指令、指令译码需要一个时钟周期,MOVE、ADD和MUL操作分别需要2个、3个和4个时钟周期,每个操作都在第一个时钟周期从通用寄存器中读操作数,在最后一个时钟周期把运算结果写到通用寄存器中。
k: MOVE R1,R0 ;R1← (R0)
k+1: MUL R0,R2,R1 ;R0← (R2)×(R1)
k+2: ADD R0,R2,R3 ;R0← (R2)+(R3)
(1)就程序本身而言,可能有哪几种数据相关?
(2)在程序实际执行过程中,哪几种数据相关会引起流水线停顿?
(3)画出指令执行过程的流水线时空图,并计算完成这3条指令共需要多少个时钟周期?
解:(1)就程序本身而言,可能有三种数据相关。
若3条指令顺序流动,则k指令对R1寄存器的写与k+1指令对R1寄存器的读形成的“先写后读”相关。
若3条指令异步流动,则k指令对R0寄存器的读与k+1指令对R0寄存器的写形成的“先读后写”相关,k+2指令对R0寄存器的写与k+1指令对R0寄存器的写形成的“写—写”相关。
(2)在程序实际执行过程中,二种数据相关会引起流水线停顿。
一是“先写后读”相关,k指令对R1的写在程序执行开始后的第四个时钟;k+1指令对R1的读对指令本身是第三个时钟,但k+1指令比k指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟要读R1。
不能在同一时钟周期内读写同一寄存器,因此k+1指令应推迟一个时钟进入流水线,产生了流水线停顿。
二是“写—写”相关,k+1指令对R0的写对指令本身是第六个时钟,而要求该指令进入流水线应在程序执行开始后的第三个时钟,所以对R0的写是在程序执行开始后的第八个时钟。
k+2指令对R0的写对指令本身是第五个时钟,而k+2指令比k+1指令晚一个时钟进入流水线,则在程序执行开始后的第四个时钟,所以对R0的写是在程序执行开始后的第八个时钟。
不能在同一时钟周期内写写同一寄存器,因此k+2指令应推迟一个时钟进入流水线,产生了流水线停顿。
另外,可分析“先读后写”相关不会产生流水线的停顿。
(3)由题意可认位该指令流水线由六个功能段取指、译码、取数、运一、运二和存数等组成,则程序指令执行过程的流水线时空图如下图所示。
若3条指令顺序流动,共需要9个
空间
存数 K存数 K+1存数 K+2存数
运二 K+1运二
运一 K+1运一 K+2运一
取数 K取数 K+1取数 K+2取数
译码 K译码 K+1译码 K+2译码
取指 K取指 K+1取指 K+2取指时间
0 1 2 3 4 5 6 7 8 9
2.23 有一条5个功能段的线性动态多功能流水线如图所示,其中1→2→3→5功能段组成加法流水线,1→4→5功能段组成乘法流水线,设每个功能段的延迟时间均相等为△t 。
用
这条流水线计算F=41
()i
i i a b =+∏,画出流水线时空图,并计算流水线的实际吞吐率、加速比
和效率。
解:由于该流水线为动态双功能流水线,计算要求先加后乘,因此应先设置加法功能,连续计算出(a 1+b 1)、(a 2+b 2)、(a 3+b 3)、(a 4+b 4)四个加法后;再设置乘法功能,而且按[(a 1+b 1)×(a 2+b 2)]×[(a 3+b 3)×(a 4+b 4)]顺序做3个乘法。
因此可画出该流水线的时空图如图所示,图
中A=a 1+b 1,B=a 2+b 2,C=a 3+b 3,D=a 4+b 4。
由时空图可以看出,在总共12个△t 的时间内输出7个结果,所以有: TP = n/Tn = 7/12△t
而当用串行方法完成操作时,需要四次加法和三次乘法,完成一次加法需要4△t ,完成一次乘法需要3△t ,完成该运算总共需要时间为:
T 0 = 4×4△t+3×3△t = 25△t
所以 S = T 0/Tn = 2.08
E = 有效时空区面积/全部时空区面积
= (4×4△t+3×3△t)/(5×12△t) = 0.42
2.24 有一条3个功能段的流水线如下图所示,每个功能段的延迟时间均为△t ,但是,功能段S 2的输出要返回到它自己的输入端循环执行一次。
输入 输出
△t △t △t
(1)如果每隔一个△t 向流水线连续输入任务,这条流水线会发生什么问题?
(2)求这条流水线能够正常工作的实际吞吐率、加速比和效率。
S 1 S 2 S 3 S 1 S 2 S 3
S 5 S 4 X Y S5 S4 S3 S2 S1 1 2 3 4 三 一
二 一 二 一 二 1 2 3 4 A B C D A ·B C ·D (A ·B)×(C ·D) t 7 t 13
1 b 1
2 b 2
3 b 3
4 b 4 B D A ·B C ·D 时间
1 2 3 4 1 2 3 4 三 三
(3)可用什么办法来提高流水线的吞吐率,画出改进后的流水线结构。
解:(1)每个任务在段S 2要反馈循环一次,执行时间为2Δt ,其它各段的执行时间为Δ
t ,因此应按瓶颈段的执行时间2Δt 流入任务,才不会发生冲突现象,否则会发生流水线的阻塞。
(2)若连续输入n 个任务,则流水线的实际吞吐率、加速比和效率分别为:
TP = n/(4Δt +2(n –1)Δt )= n/2(n + 1)Δt →1/2Δt
S = 4n Δt/(4Δt +2(n –1)Δt )= 2n/(n + 1)→2
E = 4n Δt/3(4Δt +2(n –1)Δt )= 2n/3(n + 1)→2/3
(3)为提高流水线的吞吐率,可重复设置段S 2,并使两个段S 2串连在一起,从而消除瓶
颈段S 2,而且各段执行时间相等为Δt ,流水线的段数为4。
流水线的结构如下图所示。
△t △t △t △t
2.25 在一个5段的流水线处理机上需经9△t 才能完成一个任务,其预约表为:
(1)写出流水线的初始冲突向量。
(2)画出流水线任务调度的状态有向图。
(3)求出流水线的最优调度策略及最小平均延迟时间和流水线的最大吞吐率。
(4)按最优调度策略连续输入8个任务时,流水线的实际吞吐率是多少?
解:(1)根据初始冲突向量的构成方法,对预约表各行中打“×”的拍数求出差值,除去重复的后汇集在一起,即得到延迟禁止表为F ={1,5,6,8}。
由F 可得到初始冲突向量为:
C =(10110001)
(2)根据后继冲突向量的递推规则C j = SHR (k )(C i )∨C 0则可得出所有的后继状态,具体有:
C 0四个后继状态:C 1 =SHR (2)(C 0)∨C 0 = 10111101 7
C 2 =SHR (3)(C 0)∨C 0 = 10110111 C 3 =SHR (4)(C 0)∨C 0 = 10111011 3 2
C 4 =SHR (7)(C 0)∨C 0 = 10110001=C 0 7 4 7
C 1二个后继状态:C 5 =SHR (2)(C 1)∨C 0 = 10111111 C 6 =SHR (7)(C 1)∨C 0 = 10110001=C 0 7
C 2二个后继状态:C 7 =SHR (4)(C 2)∨C 0 = 10111011=C 3 3 4 7 2
C 8 =SHR (7)(C 2)∨C 0 = 10110001=C 0
C 3二个后继状态:C 9 =SHR (3)(C 3)∨C 0 = 10110111=C 2
C 10=SHR (7)(C 3)∨C 0 = 10110001=C 0
C 5一个后继状态:C 11=SHR (7)(C 5)∨C 0 = 10110001=C 0
时间 1 2 3 4 5 6 7 8 9 流水段 S 1 × × S 2 × × × S 3 × S 4 × × S 5 × ×
S 1 S 2 S 3 S 2 10110001 C 0
10110111 C 2 10111101 C 1
10111011 C 3 10111111 C 5
由后继状态和引起状态转移的时间间隔可得到状态有向图如上图所示。
(3)由状态转移有向图可得到无冲突的任务调度策略及其平均延迟时间,如下表所示。
调度策略平均延迟时间特别地,从C0出发的[3,(4,3)]也是一个(2,2,7)(2+2+7)△t/3 = 3.67△t 任务调度策略,除第一条有向弧外,第二、三条(2,7)(2+7)△t/2 = 4.5△t 有向组成一个环路,该调度策略为(4,3)。
从表(3,4,7)(3+4+7)△t/3 = 4.67△t 中可以得到平均延迟时间最小的调度策略为(4,(3,7)(3+7)△t/2 = 5△t 3),该调度策略则为最优调度策略,相应的最小(4,3,7)(4+3+7)△t/3 = 4.67△t 平均延迟时间为3.5△t,所以流水线的最大吞吐(4,7)(4+7)△t/2 = 5.5△t 率为:
(7) 7△t TP max = 1/(3.5△t)= 0.286/△t
3,(4,3)(4+3)△t/2 = 3.5△t
(4)按最优调度策略[3,(4,3)]连续输入8个任务时,流水线的实际吞吐率为:
TP = 8/[(3 + 4 + 3 + 4 + 3 + 4 + 3 + 9)△t] = 0.24/△t。