第05章 流水线课后习题
流水线课后习题

第5章课后习题1.填空题(1) 衡量流水线性能的主要指标有、和。
(2) 指令乱序流动可能造成、、三种数据相关。
(3) 解决数据相关主要有法和法。
(4) 超标量处理机开发的是并行性,而超流水线处理机开发的是并行性。
(1). 吞吐率、加速比、效率(2). 先写后读、先读后写、写写(3). 推后分析、设置专用路径(4). 空间、时间2.假设一条指令的执行过程分为"取指令"、"分析"和"执行"三段,每一段的时间分别为△t、2△t和3△t。
在下列各种情况下,分别写出连续执行n条指令所需要的时间表达式。
(1) 顺序执行方式。
(2) 仅"取指令"和"执行"重叠。
(3) "取指令"、"分析"和"执行"重叠。
第2题(1) 顺序执行时每条指令用时=△t+2△t+3△t=6△t,因此n条指令所需要的时间=6n*△t(2) 第一条指令完成需要时间=△t+2△t+3△t=6△t,根据题义,下一条指令的"取指令"与上一条指令"执行"的最后一个△t重叠。
因此,自从第一条指令完成后,每隔4△t完成一条指令。
所以余下的n-1条指令用时(n-1)*4△t.所以,n条指令所需要的时间=6△t+(n-1)*4△t=2(2n+1)△t。
(3) 第一条指令完成需要时间=△t+2△t+3△t=6△t,由于一条指令的"取指令"和"分析"阶段和下一条指令的"执行"阶段重叠,因此,此后每3△t 完成一条指令,余下的n-1条指令用时(n-1)*3△t.因此n条指令所需要的时间=6△t+(n-1)*3△t=3(n+1)△t3.用一条5个功能段的浮点加法器流水线计算F=。
每个功能段的延迟时间均相等,流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。
标准流水线测测试试题

2.请写出2种数据相关方式,并举例说明分别在什么情况下发生(采用设计程序段的方式来说明)
答:
⑴写读相关:
例如程序段R0=R1×R4; R2=R0×R3若第二条指令在第一条指令前执行则最终的结果与正确结果不同,此时发生写读相关
⑵读写相关
例如程序段R2=R0×R3; R3=R4-1若第二条指令在第一条指令前执行则最终的结果与正确结果不同,此时发生读写数据相关
A. 2.4
B. 2.46
C. 2.67
D. 2.75
答案:B
★★
16.一条4个功能段的加-乘静态流水线,四个功能段如下所示,计算 ,最少需要经过多少时间,假设运算的结果有专门的输出通路连接到输入端。并且只有当一个流水线排空后流水线才可以发生另一种运算。
(1)取指
(2)译码、取数
(3)运算
(4)写结果
A. 流水线设备
B. 上海流水线
C. 无锡流水线
D. 杭州流水线
答案B
★★
3.假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间均为 ,连续执行n条指令所需要花费的最短时间约为(假设仅有“取指令”和“分析”可重叠并假设n足够大):
A.
B.
C.
D.
答案B
★★
4.假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间分别为 、 和 ,连续执行n条指令所需要花费的最短时间约为(假设仅有“取指令”和“执行”可重叠并假设n足够大):
超标量处理机一般具有多于一条的流水线,一台m度的超标量处理机可同时发射m条指令,指令的发射等待时间为1个时钟,指令的并行度为m。
超流水线处理机一般具有一条k段的超流水线,一台n度的超流水处理机可以同时发射一条指令,指令的发射等待时间为1/n个时钟周期,每个时钟周期共发射n条指令。指令的并行度为n。
计算机网络第五章课后习题答案

5—01 试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
5—02 网络层提供数据报或虚电路服务对上面的运输层有何影响?答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。
但提供不同的服务质量。
5—03 当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的?答:都是。
这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
5—04 试用画图解释运输层的复用。
画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP数据报上。
5—05 试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。
答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。
有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。
因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
5—06 接收方收到有差错的UDP用户数据报时应如何处理?答:丢弃5—07 如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由答:可能,但应用程序中必须额外提供与TCP相同的功能。
5—08 为什么说UDP是面向报文的,而TCP是面向字节流的?答:发送方UDP 对应用程序交下来的报文,在添加首部后就向下交付IP 层。
UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
接收方UDP 对IP 层交上来的UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
第5章 流水线 习题

一、选择题1、重叠寄存器技术主要用于解决在RISC系统中因________而导致的问题。
A)JMP指令影响流水线B)CALL指令的现场保护C)只有LOAD和STORE指令带来的访问存储器不便D)存储器访问速度2、为使流水计算机运行效率高________A)各过程段时间要不同B)连续处理的任务类型应该不同C)连续处理的任务类型应该相同D)连续处理的任务数尽可能少3、流水操作中,遇到数据相关时,采用的解决办法有________。
A)用优化编译器检测,通过指令重新排序的办法B)数据重定向技术C)延迟转移技术D)加快和提前形成条件码4、流水线的技术指标不包括________A)响应比 B)吞吐率C)加速比 D)效率5、RISC采用重叠寄存器窗口技术,可以减少( )A.绝大多数指令的执行时间B.目标程序的指令条数C.程序调用引起的访存次数D.CPU访存的访问周期6、静态流水线是指( )A.功能不能改变的流水线B.各段之间的连接是固定不变的流水线C.可同时执行多种功能的流水线D.同时只能完成一种功能的多功能流水线7、指令流水线属于( )A.操作流水线B.部件级流水线C.处理机级流水线D.系统级流水线二、填空题1、相关有“先写后读”相关、相关和相关三种。
2、广义说来,并行性既包含性,又包含性。
3、提高计算机系统并行性的主要技术途径有_______________、_______________和资源共享。
4、提高计算机系统并行性的主要技术途径有时间重叠、_______和______。
5、解决重叠和流水中操作数相关的两种基本方法是_____________法和_____________法。
6、流水线按处理的级别可以分为部件级、________________和_______________。
7、按多功能流水线的各段能否允许同时用于多种不同功能联接流水,可把流水线分为_______流水线和_______流水线。
8、推后“分析k+1”和设置“_______”是解决重叠方式相关处理的两种基本方法。
软件工程第五版课后习题答案第五章

习题5
3(1)数据流图如下:
对数据流图划分边界,如下所示:
按照以上数据流图设计软件结构,如下所示:
4(1)数据流图如下:
(2)需求说明:
功能需求:系统需要能查出教师的原有工资,计算出教师的现有工资,并打印相关信息。
数据需求:教师的原有工资信息,教师赡养的人数,教师的工龄
行为需求:系统要能判断原有工资是否符合涨工资要求,要精确计算现有工资,要提供给用户调查信息的借口与界面。
(3)用a 算法的HIPO 图:
教师档案
办公室磁带 打印原有工资和新工资信息 提取原工资
信息
计算新工资 办公室磁带
年工资大于等于$26000 年工资小于$26000
用b算法的HIPO图:
对于算法(a):优点:这样设置符合常规思路,容易让人理解
缺点:计算的次数较多。
检索效率低。
对于算法(b):优点:计算的次数较少,效率高
缺点:该算法不易于理解。
涉及到排序算法的设计。
(4)所画的数据流图更符合a算法。
5.答:需求分析:要实现三大功能,发牌;确定获胜方和牌型;模拟多次游戏,计算牌型的获胜和平局的概率。
分析后,设计的HIPO图如下:流程图在下页:
控制流程图如下:。
解析JAVA程序设计第五章课后答案

第5章习题解答1.流的主要特征有哪些,用流来实现JAVA中的输入输出有什么优点?答: 一是单向性,即数据只能从数据源流向数据宿;二是顺序性,先从数据源流出的数据一定比后流出的数据先到达数据宿;三是数据流必须而且只能和一个数据源与一个数据宿相连。
优点是体现了面向对象程序设计的概念,通过流可以把对不同类型的输入/输出设备的操作统一为用流来实现。
2.对字节流和字符流进行读写操作的一般步骤是什么?答:声明流对象,创建流对象,通过流对象进行读(写)操作,关闭流对象。
3. 有哪些常用的字节流和字符流,他们的主要区别是什么?答: InputStream/OutputStrem:普通字节流,所有字节流的基类。
FileInputStream/ FileOutputStream:用于从文件中读写数据。
BufferedInputStream/ BufferedOutputStream:用于从缓冲区输入流中读写数据。
采用缓冲区流可减少实际上从外部输入设备上读写数据的次数,从而提高效率。
DataInputStream/ DataOutputStream:按读写数据对象的大小从字节流中读写数据,而不是象其它字节流那样以字节为基本单位。
PipedInputStream/ PipedOutputStream:管道输流用于从另一个线程中读写数据。
4.么是异常?说明Java中的异常处理机制?试述JAVA中异常的抛出和传递过程?答: 异常是程序设计语言提供的一种机制,它用于在程序运行中的非常规情况下,控制程序对非常规情况进合理的处理。
Java提供了try-catch-finally语句来对异常进行处理。
先按照正常顺序执行try子句中的语句,若在执行过程中出现异常,则try子句中还未被执行的语句将再也不会被执行。
而程序控制立即转移到catch子句,将发生的异常与catch子句中的异常进行匹配,若找到一个匹配,就执行该catch子句中的语句。
《计算机科学导论》第五章课后作业解答(个人版)

《计算机科学导论》第五章课后作业解答(个⼈版)1.计算机由哪三个⼦系统组成?CPU、主存和输⼊/输出⼦系统。
2.CPU由哪⼏个部分组成?算术逻辑单元(ALU),控制单元和⼀系列寄存器。
3.ALU的功能是什么?算术逻辑单元负责算术、移位和逻辑运算。
4.控制单元的功能是什么?控制单元控制各个⼦系统的操作。
5.主存的功能是什么?存储数据和程序指令。
6.定义RAM、ROM、SRAM、DRAM、PROM、EPROM和EEPROM。
存储器的类型主要有两种:RAM和ROM。
RAM:随机存取存储器是计算机中主存的主要部分。
可以使⽤存储单元地址来随机存取⼀个数据项,⽽不需要存取位于它前⾯的所有数据项。
⽤户可对其读写,且具有易失性。
ROM:和RAM⼀样,可能随机存取。
该存储器的内容是由制造商写进去的。
⽤户只能读不能写,具有⾮易失性。
SRAM:静态RAM通过使⽤传统的触发器门电路来保存数据,存取速度⾼,但价格昂贵。
DRAM:动态RAM通过使⽤电容器来保存数据,存取速度稍慢,但价格便宜。
PROM:可编程只读存储器在计算机发货时是空⽩的,⽤户可借⽤⼀些特殊的设备将程序存储在上⾯,之后就⽆法再次重写了。
EPROM:可擦除的可编程只读存储器,⽤户需要⽤⼀种可以发出紫外光的特殊仪器对其重写,在重写之前还得拆下来再重新安装。
EEPROM:电可擦除的可编程只读存储器,重写时⽤电⼦脉冲即可,⽆需从计算机上下来。
7.⾼速缓冲存储器的作⽤是什么?提⾼CPU存取内存中数据的速度。
8.描述⼀下磁盘的物理组成?磁盘由⼀张张磁⽚叠加⽽成。
这些磁⽚由薄磁膜封装起来。
信息通过盘上每⼀个磁⽚的读/写磁头读写磁介质表⾯来进⾏读取和存储。
9.磁盘和磁带表⾯是怎样组织的?磁盘的盘⾯被划分成磁道,每个磁道⼜分成若⼲个扇区,磁道间通过磁道内部间隔隔开,扇区之间通过扇区内部间隔隔开。
磁带在宽度上可分为9个磁道,磁道上的每个点可分别存储1位的信息,同时垂直切⾯的9个点可以存储8位的信息,另外的1位⽤于错误检测。
《现代操作系统第四版》第五章答案

第五章输入/输出习题1.芯片技术的进展已经使得将整个控制器包括所有总线访问逻辑放在一个便宜的芯片上成为可能。
这对于图1-5 的模型具有什么影响?答:(题目有问题,应该是图1-6 )在此图中,一个控制器有两个设备。
单个控制器可以有多个设备就无需每个设备都有一个控制器。
如果控制器变得几乎是自由的,那么只需把控制器做入设备本身就行了。
这种设计同样也可以并行多个传输,因而也获得较好的性能。
2.已知图5-1 列出的速度,是否可能以全速从一台扫描仪扫描文档并且通过802.1 lg 网络对其进行传输?请解释你的答案。
答:太简单了。
扫描仪最高速率为400 KB/Sec ,而总线程和磁盘都为16.7MB/sec ,因此磁盘和总线都无法饱和。
3.图5-3b 显示了即使在存在单独的总线用于内存和用于I/O 设备的情况下使用内存映射I/O 的一种方法,也就是说,首先尝试内存总线,如果失败则尝试I/O总线。
一名聪明的计算机科学专业的学生想出了一个改进办法:并行地尝试两个总线,以加快访问I/O 设备的过程。
你认为这个想法如何?答:这不是一个好主意。
内存总线肯定比I/O 总线快。
一般的内存请求总是内CPU 要一直等待I/O 总线完成,那存总线先完成,而I/O 总线仍然忙碌。
如果就是将内存的性能降低为I/O 总线的水平。
4.假设一个系统使用DMA 将数据从磁盘控制器传送到内存。
进一步假设平均花费t2ns 获得总线,并且花费t1ns 在总线上传送一个字(t1>>t2 )。
在CPU 对DMA 控制器进行编程之后,如果(a)采用一次一字模式,(b)采用突发模式,从磁盘控制器到内存传送1000 个字需要多少时间?假设向磁盘控制器发送命令需要获取总线以传输一个字,并且应答传输也需要获取总线以传输一个字。
答:(a)1000 ×[(t1+t2)+(t1+t2)+(t1+t2)];第一个(t1+t2) 是获取总线并将命令发送到磁盘控制器,第二个(t1+t2) 是用于传输字,第三个(t1+t2) 是为了确认。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章课后习题1.填空题(1) 衡量流水线性能的主要指标有(2) 指令乱序流动可能造成(3) 解决数据相关主要有(4) 超标量处理机开发的是行性。
(1). 吞吐率、加速比、效率(2). 先写后读、先读后写、写写(3). 推后分析、设置专用路径(4). 空间、时间2.假设一条指令的执行过程分为"取指令"、"分析"和"执行"三段,每一段的时间分别为△t、2△t和3△t。
在下列各种情况下,分别写出连续执行n条指令所需要的时间表达式。
(1) 顺序执行方式。
(2) 仅"取指令"和"执行"重叠。
(3) "取指令"、"分析"和"执行"重叠。
第2题(1) 顺序执行时每条指令用时=△t+2△t+3△t=6△t,因此n条指令所需要的时间=6n*△t(2) 第一条指令完成需要时间=△t+2△t+3△t=6△t,根据题义,下一条指令的"取指令"与上一条指令"执行"的最后一个△t重叠。
因此,自从第一条指令完成后,每隔4△t完成一条指令。
所以余下的n-1条指令用时(n-1)*4△t.所以,n条指令所需要的时间=6△t+(n-1)*4△t=2(2n+1)△t。
(3) 第一条指令完成需要时间=△t+2△t+3△t=6△t,由于一条指令的"取指令"和"分析"阶段和下一条指令的"执行"阶段重叠,因此,此后每3△t 完成一条指令,余下的n-1条指令用时(n-1)*3△t.因此n条指令所需要的时间=6△t+(n-1)*3△t=3(n+1)△t3.用一条5个功能段的浮点加法器流水线计算F=。
每个功能段的延迟时间均相等,流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。
要求用尽可能短的时间完成计算,画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。
第3题假设每个功能段的延迟时间为△t。
F==[(A1+1A2)+6(A3+2A4)+8(A5+3A6)]+9[(A7+4A8)+7(A9+5A10)]由上面的时空图可以看出,在20△t时间内共完成9个加法操作。
因此:吞吐率为:TP= 9/20=0.45加速比为:Sp= 9*5/20=2.5效率为:E= 45/(20*5)=45%4.设有一个15000条指令的程序在一台时钟速率为25MHz的线性流水线处理机上执行。
假设该指令流水线有5段,并且每个时钟周期发射一条指令。
忽略由于转移指令和无序执行造成的损失。
(1) 用该流水线执行这一程序,并用流过延迟与其相等的一个等效非流水线处理机执行同一程序,将两者加以比较,并计算其加速比。
(2) 该流水线处理机的效率是多少?(3) 计算该流水线的吞吐率。
第4题(1) 等效的非流水处理机执行一条指令需要的时间是5个时钟周期。
依照加速比定义,(2) 效率E为(3) 吞吐率TP为5.设有5段流水线处理机的预约表如下:(1) 列出禁止等待时间和冲突向量集。
(2) 画出状态转换图,说明不引起流水线冲突的所有可能的启动序列(循环)。
(3) 根据状态图列出所有简单循环。
(4) 从简单循环中找出迫切循环。
(5) 此流水线的最小平均等待时间(MAL)是多少?(6) 使用此流水线时,列出可允许的最小恒定循环。
(7) 该流水线的最大吞吐率是多少?(8) 如果使用最小恒定循环,则吞吐率是多少?第5题(1) 禁止等待时间是:3,4,5。
冲突向量为(11100)。
(2) 状态转换图如下所示:(3) 简单循环如下:(1,1,6),(2,6),(6),(1,6)(4) 迫切(最小启动)循环为(1,1,6)(5) 最小平均等待时间MAL为(6) 最小恒定循环为(6)。
(7) 设该流水线的时钟周期为τ,则该流水线的最大吞吐率TP MAX为(8) 使用最小恒定循环时,设该流水线的时钟周期为τ,该流水线的吞吐率为6.下列汇编代码在一台3段流水线处理机上执行,每一段都有冒险(相关)检测和分解。
这三段是取指令、取操作数(根据要求取一个或者多个)和执行(包括写回操作)。
试说明在代码执行中所有可能的相关情况。
Inc R0/R0←(R0)+1/Mul ACC,R0/ACC←(ACC)×(R0)/Store R1,ACC/R1←(ACC)/Add ACC,R0/ACC←(ACC)+(R0)/Store M,ACC /M←(ACC)/第6题我们首先给上面的指令序列编号如下:I1:Inc R0 /R0←(R0)+1/I2:Mul ACC,R0 /ACC←(ACC)×(R0)/I3:Store R1,ACC /R1←(ACC)/I4:Add ACC,R0 /ACC←(AC C)+(R0)/I5:Store M,ACC/M←(ACC)/我们使用IF、OF和EX来分别代表流水线的取指令、取操作数和执行三段。
下面的图表显示了执行的序列:图中的箭头方向是同一条指令在流水线中的流动方向,从图中我们可以看出:在t3时刻:O(I1)∩ I(I2)= {R0} ,会发生RAW相关;在t4时刻:O(I2)∩ I(I3)= {Acc} ,会发生RAW相关;在t6时刻:O(I4)∩ I(I5)= {Acc} ,会发生RAW相关。
其中我们用O(I1)表示指令I1的输出寄存器(如R0表示寄存器,而Acc表示表示累加器),I(I2)表示指令I2的输入寄存器。
下面的调度方法能够避免相关的发生:其中,Stall表示流水线停顿,通过这种方法,可以避免相关的发生。
7.设有4段流水线处理机如下,此流水线的总求值时间为6个时钟周期,所有相继段必须在每个时钟周期之后才能使用。
(1) 列出这一流水线的4行六列预约表。
(2) 列出任务启动之间的禁止等待时间集。
(3) 画出表示所有可能的等待时间循环的状态图。
(4) 根据状态图列出所有的迫切(最小启动)循环。
(5) 最小平均等待时间值是多少?第7题可能会有多种方案。
答案一:(1) 预约表如下所示:(2) 禁止等待时间为:4,冲突向量为:(1000)。
(3) 状态转移图如下:(4) 简单循环如下所示:(1,5),(1,1,5),(1,1,1,5),(1,2,5),(1,2,3,5),(1,2,3,2,5),(1,2,3,2,1,5),(2,5),(2,1,5) (2,1,2,5),(2,1,2,3,5),(2,3,5),(3,5),(3),(3,2,5),(3,2,1,5),(3,2,1,2,5),(5),(3,2,1,5)(5) 最小启动循环如下:(1,1,1,5)和(1,2,3,2)(6) 平均最小等待时间为:(7) 最大的吞吐量为:答案二:(1) 预约表如下所示:(2) 禁止等待时间为:2和4,冲突向量为:(1010)。
(3) 状态转移图如下:(4) 简单循环如下所示:(3),(5),(1,5)和(3,5)(5) 最小启动循环如下:(1,5)和(3)(6) 最小平均等待时间为:(7) 最大吞吐量为:8.三条功能流水线f1,f2和f3可用下面的预约表来描述:用这三条流水线还可形成一个组合流水线网络如下:通过此组合流水线的每个任务按以下的次序使用流水线:第一是f1,其次是f2和f3,再是f1,然后得到输出。
双多路转换器从(A,B)或(X,Y)中选择一对输入,并把他们输入给f1。
组合流水线的使用也是用组合的预约表来描述的。
(1)(2) 写出禁止启动循环和初始冲突向量。
(3) 画出能清楚表示所有等待时间循环的状态图。
(4) 列出所有简单循环和迫切(最小启动)循环。
(5) 计算此组合流水线的MAL和最大吞吐率。
第8题(1) 预约表如下:(2) 禁止等待时间为:8,1,7,9,3,2;初始冲突向量为:(111000111)(3) 状态转换图如下:(4) 简单循环为:(5),(6),(10),(4,6),(4,10),(5,6),(5,10);其中最小启动循环为:(5)和(4,6);(5) 最小平均启动距离为:(6) 最大吞吐量为;9.假设一个四段流水线(其时钟周期τ=20ns)的预约表如下:(1)哪些是禁止等待时间和初始冲突向量?(2) 画出调度该流水线的状态变换图。
(3) 确定与最佳迫切循环相关联的MAL。
(4) 确定与MAL和给定的τ相对应的流水线吞吐率。
(5) 确定该流水线的MAL下限。
从上面的状态图你得到最佳等待时间了吗?如果允许你在上面的流水线中插入一个非计算延迟段,使最短迫切循环中的等待时间为1,其目的是要产生一张新的预约表,以获得下限最佳等待时间。
(6) 画出5行7列修改后的预约表。
(7) 为得到最佳循环画出新的状态变换图。
(8) 根据状态图列出所有的简单循环和迫切循环。
(9) 证明新的MAL等于下限。
(10) 这条流水线的最佳吞吐率是多少?与上面的吞吐率相比,改善的百分比是多少?第9题(1) 禁止等待时间为:1,2,5;初始冲突向量为:(10011);(2) 状态转移图如下:(3) 最小平均等待时间为:(4) 最大吞吐量为:(million operation per second)(5) 最小的平均等待时间为2,因此,这种调度方法不是最优的。
(6) 插入非计算性延迟后,预约表如下所示:(7) 状态转换图变成如下所示:(8) 简单循环如下:(4),(5),(7),(3,1),(3,4),(3,5,4),(3,5,7),(1,7)(5,4),(5,7),(3,7),(1,3,4),(1,3,5,4),(1,3,5,7)(1,3,7),(1,4,3),(1,4,4),(1,4,7),(5,3,4),(5,3,7)(5,3,1,7)其中最小启动循环为(1,3)(9) 此时的最小启动距离为:(10) 此时的最大吞吐率为:10.假设分支概率(相对于所有的指令)为:条件分支20%,跳转和过程调用:5%,其中,条件成功分支有60%可能执行。
在一个4段的流水线中,如果分支指令在第2个时钟周期末决定是否是条件失败分支,在第3个时钟周期末决定是否是条件成功分支。
假定第1个时钟周期的操作和条件分支无关,并且忽略其他流水停顿,那么,如果没有控制相关的话,处理器能快多少?第10题我们使用加速比来衡量控制相关引起的流水线的效率下降。
考虑如下的公式:这个公式中假设输入的任务数目足够多,并且我们假设所有的流水线停顿都由控制相关引起(因为我们只关心控制相关),而式中的流水线平均停顿数定义为平均每条指令执行过程流水线停顿的时钟周期数,该公式可以看成是流水线加速比公式的极限情况。
理想状态下,如果没有控制相关,也就没有流水线停顿,于是,有为了得到因为控制相关引起的流水线平均停顿数,我们需要三方面的信息:(1) 我们需要知道程序中的控制流指令类型。