第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:MIPS 流⽔线,后半拍写 GPRs。
求阻塞法处理 RAW 冒险时的执⾏时间。
ADD R4,R5,R6SUB R7,R4,R6OR R8,R4,R6SW R6,20(R4)LW R9,20(R8)I1-I2 冒险,停 3 拍。
此时 I1-I3, I1-I4 均已消除。
I3-I5 冒险,停 2 拍。
故执⾏时间为 5+4+3+2=14拍。
例2:MIPS 流⽔线,前半拍写 GPRs。
求转发法处理 RAW 冒险时的执⾏时间。
假设存在 EX-EX,MEM-EX 的转发线路。
ADD R4,R5,R6SUB R7,R4,R6OR R8,R4,R6SW R6,20(R4)LW R9,20(R8)I1-I2 冒险,利⽤ EX-EX 线路转发,停 0 拍。
I1-I3 冒险,利⽤ MEM-EX 线路转发,停 0 拍。
I1-I4 冒险,同拍内 GPRs 先写后读,停 0 拍。
I3-I5 冒险,利⽤ MEM-EX 线路转发,停 0 拍。
故执⾏时间为 5+4=9 拍。
例3:MIPS 流⽔线,前半拍写 GPRs。
求转发法处理 RAW 冒险时的执⾏时间。
假设仅存在 EX-EX 的转发线路。
ADD R4,R5,R6SUB R7,R4,R6OR R8,R4,R6SW R6,20(R4)LW R9,20(R8)I1-I2 冒险,利⽤ EX-EX 线路转发,停 0 拍。
I1-I3 冒险,⽆法转发,停 1 拍(注意不是 2 拍!)。
此时 I1-I4 冒险已经消除。
I3-I5 冒险,⽆法转发,停 1 拍。
故执⾏时间为 5+4+1+1=11 拍。
例4:MIPS 流⽔线,后半拍写 GPRs。
求转发法处理 RAW 冒险时的执⾏时间。
假设仅存在 EX-EX 的转发线路。
ADD R4,R5,R6SUB R7,R4,R6OR R8,R4,R6SW R6,20(R4)LW R9,20(R8)I1-I2 冒险,利⽤ EX-EX 线路转发,停 0 拍。
流水线题解
• I1:
Hale Waihona Puke R1←A1+A2• I2:
R2←A3+A4
• I3:
R3←A5+A6
• I4:
R4←A7+A8
• I5:
R5←A9+A10
• I6:
R6←R1+R2
• I7:
R7←R3+R4
• I8:
R8←R5+R6
• I9:
F←R7+R8
这并不是唯一可能的计算方法。假设功能段的延迟
为Δt。时空图如下,图中的数字是指令号。
Z=A+B+C+D+E+F+G+H
1 2 34
5
6
解: TP=7/15△t E=7*4/(15*4)=7/15=46%
Sp=4*7/15=28/15=1.87
7
空间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 23 4
5
6
7
1 2 34
5
6
7
12 3 4
5
6
1 23 4
部件
规格化 尾乘3 尾乘2 尾乘1 阶加
输入 A C BD
输出
A*B C*D
A*BC*D
11
时间
A*B*C*D
图(B)
流水线按图(b)组织时,实现A*B*C*D的时空关系如图(B) 吞吐率TP=3/(11⊿t) 效率E =(3×5⊿t)/(5×11⊿t)=3/11=27.3%
n TP=
m
Σ△ti+(n-1)△tj
i=1
n 4时,TP 4 4 (6 9)t 15t
第05章流水线课后习题
第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=。
每个功能段的延迟时间均相等,流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。
1.流水线练习
第五章 标量处理机1 选择题1. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间分别为t ∆、t ∆2和t ∆3,顺序执行n 条指令至少需要花费的时间为: A. t n ∆3 B. t n ∆2 C. t n ∆6 D. t n ∆2. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间均为t ∆,连续执行n 条指令所需要花费的最短时间约为(假设仅有“取指令”和“执行”可重叠并假设n 足够大): A. t n ∆3 B. t n ∆2C. t n ∆23D. t n ∆3. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间分别为t ∆、t ∆2和t ∆3,连续执行n 条指令所需要花费的最短时间约为(假设仅有“取指令”和“执行:”可重叠并假设n 足够大): A. t n ∆6 B. t n ∆5 C. t n ∆3 D. t n ∆4. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段分别只有一个部件可供使用并且执行时间分别为t ∆、t ∆2和t ∆3,连续执行n 条指令所需要花费的最短时间约为(假设“取指令”、“分析”和“执行”可重叠并假设n 足够大): A. t n ∆6 B. t n ∆2 C. t n ∆3 D. t n ∆5. 看下述程序段:k : R0=R1×R4k+1: R6=R5+1 k+2: R2=R0×R3 k+3: R3=R4-1 k+4: R2=R5 K+5: ……下列哪个数据相关没有在上述程序段中发生 A. 先写后读相关 B. 写-写相关 C. 先读后写相关 D. 以上都不对 6. 看下述程序段:k : R5=R2 k+1: R0=R1×R4 k+2: R2=R5+1 k+3: R4=R0×R3 k+4: R3=R4-1 K+5: ……k 和k+2之间发生的是什么数据相关 I. 先写后读相关 II.写-写相关III. 先读后写相关 A. 只有I B. 只有I 、II C. 只有I 、III D. 以上都不对7. 一条流水线可分为k 段,各段的执行时间都是t ∆,共向该流水线输入n 个任务,第n 个任务结束于: A. t nk ∆B. ()t n k ∆+C. ()1-+n kD. ()t n k ∆-+18. 一条流水线的可分为k 段,各段的执行时间都是t ∆,共向该流水线输入n 个任务,求该流水线实际吞吐率的为:A. tk nTP ∆=B. ()t n k n TP ∆-+=1C. TP =19. 一条流水线可以由以下时空图来表示,求该流水线的实际吞吐率(假设B. MIPS 04.1C. MIPS 9709.0D. MIPS 9615.010. 一条4段的流水线可以由以下时空图来表示,求该流水线的实际吞吐率(假B. MIPS 165.0C. MIPS 167.0D. MIPS 328.011. 一条流水线可以由以下时空图来表示,求该流水线的加速比B. 3C. 4D. 612.一条4段流水线,每段执行时间为1ns,求该流水线执行100条指令最大效率为:A. 100%B. 96.2%C. 97.1%D. 388%2.计算题1.一条流水线连接图如下所示,画出100条指令连续通过该流水线的时空图,2. 用1条5个功能段的浮点加法器流水线计算∑==101i i A F 。
计算机系统结构第五章(习题)
1. 向量流水机的工作方式可分为哪两大类?它们的主要特点是什么?2. 向量的加工方法有哪几种?各有什么特点?试从加工速度、需用中间变量等方面加以比较。
3. 在CRAY1机上,V为向量寄存器,设向量长度均为32,s为标量寄存器,所用浮点功能执行部件的执行时间分别为:加法需6拍,相乘需7拍,从存储器读数需6拍,求倒数近似值需14拍,打入寄存器及启动功能部件(包括寄存器)各需1拍。
问下列各指令组中的哪些指令可以链接?哪些指令可以并行执行?试说明其原因并分别计算出各指令组全部完成所需的拍数。
(1)V0←存储器V1←V2+V3V4←V5*V6 (2)V2←V0*V1V3←存储器V4←V2+V3(3)V0←存储器V3←V1+V2V4←V0*V3V6←V4+V5 (4)V0←存储器V1←1/V0V3←V1+V2V5←V3*V4(5)V0←存储器V1←V2+V3V4←V5*V6s0←s1+s2 (6)V3←存储器V2←V0+V1s0←s2+s3V3←V1*V4(7)V3←存储器V2←V0+V1V4←V2*V3存储器←V4 (8)V0←存储器V2←V0+V1V3←V2*V1V5←V3*V44. 在CRAYl机上,按链接方式执行下述4条向量指令(括号中给出相应功能部件时间),如果向量寄存器和功能部件之间的数据传送需1拍,试求此链接流水线的流过时间为多少拍?如果向量长度为64,则需多少拍能得到全部结果?V0←存储器(存储器取数:7拍)V2←V0+Vl (向量加:3拍)V3←V2<A3 (按(A3)左移:4拍)V5←V3∧V4 (向量逻辑乘:2拍)5. 若某个向量机其向量方式的执行速率Rv=10MFLOPS,标量方式的执行速率Rs=1MFLOPS,设α是程序中可向量化的百分比。
要求:⑴推导该向量机的平均执行速率Ra的公式。
⑵画出在(0,1)范围内,Ra与α的关系图。
⑶为使平均执行速率Ra=7.5MFlOPS,则α应取何值?⑷假定Rs=1MFLOPS,α=0.7,则为使Ra=2MFLOPS,Rv应取何值?。
计算机系统结构第5章部分习题参考答案
第5章部分习题参考答案5.1 解释下列术语⏹一次重叠-执行第K条指令与分析第K+1条指令在时间上重叠。
这是最简单的重叠方式。
⏹单功能流水线-只能完成一种运行或处理功能的流水线。
⏹多功能流水线-在同一时间或在不同时间能够完成两个或两个以上功能的流水线。
可分为静态和动态流水线。
⏹静态流水线-在同一时间内流水线只能以一种方式工作。
可以是单功能,也可以是多功能。
⏹动态流水线-在同一时间内流水线可以连接成不同的功能子集,以完成不同的运算或处理功能。
⏹非线性流水线-在流水线的各功能部件之间存在着反馈(或前馈)回路的流水线。
⏹全局性相关-进入流水线的转移指令(特别是条件转移指令)与后续指令之间引起的相关。
这种相关引起的范围是全局性的。
⏹局部性相关-只发生在相邻或相近的几条指令之间的相关,其影响范围是局部性的。
它包括主存资源相关和寄存器数据相关。
⏹先行控制-包括缓冲技术和预处理技术。
通过对指令流和数据流的预处理和缓冲,尽量使指令的分析部件和执行部件独立工作,提高其利用率。
⏹先写后读相关-若顺序指令i(写)先于指令j(读)对同一寄存器访问,由于异步流动可能使得指令j先于i之前执行。
⏹先读后写相关-若顺序指令i(读)先于指令j(写)对同一寄存器访问,由于异步流动可能使得指令j先于i之前执行。
⏹写与写相关-若顺序指令i(写)先于指令j(写)对同一寄存器访问,由于异步流动可能使得指令j先于i之前执行。
⏹向量流水技术-向量数据表示与流水技术的结合。
⏹超标量处理机-在处理机内重复设置多套功能部件组成多条流水线,以保证在一个时钟周期内同时发送两条或两条以上指令。
⏹超长指令字处理机-利用编译技术将多条可并行执行的打住组成一条超长指令,实现多个微操作的并行执行。
⏹超流水线处理机-将流水线的各功能段细分成更多(一般大于或等于8)的子功能段,利用程序的并发性,使指令解释过程中的每个微操作在更短的时间内完成。
以保证一个时钟周期可分时发送多条指令。
流水线习题
1. 设一条指令的执行过程分成取指令、分析指令和执行指令三个阶段,每个阶段所需的时间分别为△t、△t和2△t 。
分别求出下列各种情况下,连续执行N条指令所需的时间。
(1)顺序执行方式;(2)只有“取指令”与“执行指令”重叠;(3)“取指令”、“分析指令”与“执行指令”重叠。
2. 列举出下面循环中的所有相关,包括输出相关、反相关、真相关。
for (i=2; i<100; i=i+1)a[i]=b[i]+a[i] ;/* s1 */c[i+1]=a[i]+d[i] ; /* s2 */a[i-1]=2*b[i] ; /* s3 */b[i+1]=2*b[i] ;/* s4 */3. 有一指令流水线如下所示出50ns 50ns 100ns 200ns(1)求连续输入10条指令,该流水线的实际吞吐率和效率;(2)该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。
对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少?4 . 有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一次,然后才能流到第4段。
如果每段经过一次所需要的时间都是t ∆,问:(1) 当在流水线的输入端连续地每t ∆时间输入任务时,该流水线会发生什么情况? (2) 此流水线的最大吞吐率为多少?如果每t ∆2输入一个任务,连续处理10个任务时的实际吞吐率和效率是多少? (3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务时,其吞吐率提高多少?5. 有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3段的时间为2△t ,其余各段的时间均为△t ,而且流水线的输出可以直接返回输入端或 暂存于相应的流水寄存器中。
现要在该流水线上计算,画出其时空图,并计算其吞吐率、加速比和效率。
6. 动态多功能流水线由6个功能段组成,如下图:其中,S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为50ns ,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,若以最快的方式用该流水计算:∑=51i iii zy x(1) 画出时空图; (2) 计算实际的吞吐率、加速比和效率。
计算机系统结构课后习题答案
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
流水问题应用题及答案
流水问题应用题及答案问题描述某工厂生产一个产品的生产线上,有三个加工车间 A、B、C,它们都有自己的生产能力和效率。
三个车间的效率不同,导致它们的生产速度不同。
生产线的组成如下:•车间 A 生产速度:3个单位/小时•车间 B 生产速度:2个单位/小时•车间 C 生产速度:1个单位/小时这三个车间生产出来的产品需要进行组装,每个产品需要 1 个单位的时间进行组装。
现在,工厂需要根据市场的需求来制定生产计划,以满足市场的需求。
已知工厂一周的生产时间为 24 小时,市场的需求量为 120 个单位。
请问,该工厂在一周内最多能生产多少个产品?问题分析这是一个典型的流水线问题,可以通过流水线平衡的方法来进行求解。
流水线平衡是指通过调整流水线生产的速度比例,使得每个环节的生产效率大致相等,从而达到整条生产线效率最大化的目的。
在本题中,车间 A 生产速度最快,车间 C 生产速度最慢,因此可以考虑将车间 A 和车间 B 进行平衡,使得它们的生产速度相等,这样可以让组装线始终保持忙碌状态,从而提高整条生产线的效率。
具体地,我们首先需要计算出车间 A 和车间 B 在生产速度上的比例。
由题目可知,车间 A 的生产速度是车间 B 的 1.5 倍,即$r_{AB}=\\frac{3}{2}$。
为了保持组装线的连续性,我们需要让车间 A 和车间 B 的生产速度比例为组装时间与生产时间之比,即$\\frac{1}{2}$。
因此,我们可以得到如下的方程:$$\\frac{3}{2}x+\\frac{2}{2}x+1=24$$其中,x表示车间 B 的生产时间,$\\frac{3}{2}x$ 表示车间 A 的生产时间。
解上述方程,可以得到x=6。
因此,在一周内,车间 A 的生产量为 $\\frac{3}{2}\\times6=9$ 个单位,车间 B 的生产量为 $2\\times6=12$ 个单位,车间 C 的生产量为$1\\times24=24$ 个单位。
- 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) 我们需要知道程序中的控制流指令类型。