计算机系统结构第四章(习题解答)
- 格式:doc
- 大小:327.00 KB
- 文档页数:15
第四章复习题一、单项选择题1. 在可变分区存储管理中,若采用最先适应分配算法宜将空闲区按(B)次序登记在空闲区表中。
A. 地址递减B. 地址递增C. 长度递减D. 长度递增2. 采用固定分区存储管理的计算机系统中(D)的做法是错误的。
A. 为作业分配的分区不能小于作业长度B. 可同时在多个分区中各装一个作业C. 不允许多个作业同时存放在一个分区中D. 一个分区中可同时装入多个作业3. 不适宜采用虚拟存储管理技术的存储管理方式是(D)。
A. 页式B. 段式C. 段页式D. 可变分区4. 在多道程序设计系统中,采用了页式存储管理。
如果允许并行工作的道数为n(n>1),则系统中同时建立的页表数一定为(C)。
A. 1B. nC. <=nD. n+15. 在单用户连续存储管理中,可供用户使用的主存区域起始地址存放在(B)。
A. 基址寄存器B. 界限寄存器C. 限长寄存器D. 相联寄存器6. 重定位的含义是(C)。
A. 把主存中的一个程序从一个区域重新定位到另一个区域B. 把绝对地址转换成逻辑地址C. 把逻辑地址换砖成绝对地址D. 把辅助存储器中的程序定位到主存的某个区域7. 在分页式存储管理中,逻辑地址由页号和页内地址两部分组成。
因而,分页的工作是在(C)时进行的。
A. 用户编制程序B. 地址转换C. 操作系统装入作业D. 系统初始化8. 采用固定分区存储管理的计算机系统中(D)的做法是错误的。
A. 为作业分配的分区不能小于作业长度B. 可同时在多个分区中各装一个作业C. 不允许多个作业同时存放在一个分区中D. 一个分区中可同时装入多个作业9. 在分页式虚拟存储管理中,若发现所要访问的页面不在主存储器中,则硬件要产生一个(C)中断。
A. I/OB. 缺段C. 缺页D. 访管10. 主存储器的每个存储单元都有一个地址与其对应,假定这些地址用n个二进制位来区分,则主存储器的容量为(D)。
A. 2n个字B. 2n-1个字C. 2n-1个字节D. 2n个字节11. LRU页面调度算法总是选择(C)页面调出。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构: 按照计算机语言从低级到高级的次序, 把计算机系统按功能划分成多级层次结构, 每一层以一种不同的语言为特征。
这些层次依次为: 微程序机器级, 传统机器语言机器级, 汇编语言机器级, 高级语言机器级, 应用语言机器级等。
虚拟机: 用软件实现的机器。
翻译: 先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序, 然后再在这低一级机器上运行, 实现程序的功能。
解释: 对于高一级机器上的程序中的每一条语句或指令, 都是转去执行低一级机器上的一段等效程序。
执行完后, 再去高一级机器取下一条语句或指令, 再进行解释执行, 如此反复, 直到解释执行完整个程序。
计算机系统结构: 传统机器程序员所看到的计算机属性, 即概念性结构与功能特性。
在计算机技术中, 把这种本来存在的事物或属性, 但从某种角度看又好像不存在的概念称为透明性。
计算机组成: 计算机系统结构的逻辑实现, 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现: 计算机组成的物理实现, 包括处理机、主存等部件的物理结构, 器件的集成度和速度, 模块、插件、底板的划分与连接, 信号传输, 电源、冷却及整机装配技术等。
系统加速比: 对系统中某部分进行改进时, 改进后系统性能提高的倍数。
Amdahl定律: 当对一个系统中的某个部件进行改进后, 所能获得的整个系统性能的提高, 受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理: 程序执行时所访问的存储器地址不是随机分布的, 而是相对地簇聚。
包括时间局部性和空间局部性。
CPI: 每条指令执行的平均时钟周期数。
测试程序套件: 由各种不同的真实应用程序构成的一组测试程序, 用来测试计算机在各个方面的处理性能。
存储程序计算机: 冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中, 机器一旦启动, 就能按照程序指定的逻辑顺序执行这些程序, 自动完成由程序所描述的处理工作。
第四章存储器管理一、单项选择题1、存储管理的目的是(C )。
A.方便用户B.提高内存利用率C.方便用户和提高内存利用率D.增加内存实际容量2、在( A)中,不可能产生系统抖动的现象。
A.固定分区管理B.请求页式管理C.段式管理D.机器中不存在病毒时3、当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为(B )。
A.源程序B.目标程序C.可执行程序D.非执行程序4、可由CPU调用执行的程序所对应的地址空间为(D )。
A.符号名空间B.虚拟地址空间C.相对地址空间D.物理地址空间5、存储分配解决多道作业[1C]划分问题。
为了实现静态和动态存储分配,需采用地址重定位,即把[2C]变成[3D],静态重定位由[4D]实现,动态重定位由[5A]实现。
供选择的答案:[1]:A 地址空间 B 符号名空间 C 主存空间 D 虚存空间[2]、[3]: A 页面地址 B 段地址 C 逻辑地址 D 物理地址 E 外存地址 F 设备地址[4]、[5]: A 硬件地址变换机构 B 执行程序 C 汇编程序D 连接装入程序E 调试程序F 编译程序G 解释程序6、分区管理要求对每一个作业都分配(A )的内存单元。
A.地址连续B.若干地址不连续C.若干连续的帧D.若干不连续的帧7、(C )存储管理支持多道程序设计,算法简单,但存储碎片多。
A.段式B.页式C.固定分区D.段页式8、处理器有32位地址,则它的虚拟地址空间为( B)字节。
A.2GBB.4GBC.100KBD.640KB9、虚拟存储技术是( A)。
A.补充内存物理空间的技术B.补充相对地址空间的技术C.扩充外存空间的技术D.扩充输入输出缓冲区的技术10、虚拟内存的容量只受( D)的限制。
A.物理内存的大小B.磁盘空间的大小C.数据存放的实际地址D.计算机地址字长11、虚拟存储技术与(A )不能配合使用。
A.分区管理B.动态分页管理C.段式管理D.段页式管理12、(B )是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据。
word 文档下载后可自由复制编辑你计算机系统结构清华第 2 版习题解答word 文档下载后可自由复制编辑1 目录1.1 第一章(P33)1.7-1.9 (透明性概念),1.12-1.18 (Amdahl定律),1.19、1.21 、1.24 (CPI/MIPS)1.2 第二章(P124)2.3 、2.5 、2.6 (浮点数性能),2.13 、2.15 (指令编码)1.3 第三章(P202)3.3 (存储层次性能), 3.5 (并行主存系统),3.15-3.15 加 1 题(堆栈模拟),3.19 中(3)(4)(6)(8)问(地址映象/ 替换算法-- 实存状况图)word 文档下载后可自由复制编辑1.4 第四章(P250)4.5 (中断屏蔽字表/中断过程示意图),4.8 (通道流量计算/通道时间图)1.5 第五章(P343)5.9 (流水线性能/ 时空图),5.15 (2种调度算法)1.6 第六章(P391)6.6 (向量流水时间计算),6.10 (Amdahl定律/MFLOPS)1.7 第七章(P446)7.3 、7.29(互连函数计算),7.6-7.14 (互连网性质),7.4 、7.5 、7.26(多级网寻径算法),word 文档下载后可自由复制编辑7.27 (寻径/ 选播算法)1.8 第八章(P498)8.12 ( SISD/SIMD 算法)1.9 第九章(P562)9.18 ( SISD/多功能部件/SIMD/MIMD 算法)(注:每章可选1-2 个主要知识点,每个知识点可只选 1 题。
有下划线者为推荐的主要知识点。
)word 文档 下载后可自由复制编辑2 例 , 习题2.1 第一章 (P33)例 1.1,p10假设将某系统的某一部件的处理速度加快到 10倍 ,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知: Fe=0.4, Se=10,根据 Amdahl 定律S n To T n1 (1Fe )S n 1 10.6 0.4100.64 Fe Se 1.56word 文档 下载后可自由复制编辑例 1.2,p10采用哪种实现技术来求浮点数平方根 FPSQR 的操作对系统的性能影响较大。
1. 假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t 、2△t 和3△t 。
在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。
⑴ 顺序执行方式。
⑵ 仅“取指令”和“执行”重叠。
⑶ “取指令”、“分析”和“执行”重叠。
答:⑴ 顺序执行方式12 ......1 2 12T =∑=++n1i i i i )t t t (执行分析取址=n(△t +2△t +3△t)=6n △t⑵ 仅“取指令”和“执行”重叠12 ......1 212T =6△t +∑=+1-n 1i i i )t t (执行分析=6△t +(n-1)(2△t +3△t)=(5n +1)△t⑶ “取指令”、“分析”和“执行”重叠12 34 ......1 2 3 41234△t2△t3△t△t2△t3△t△t2△t3△tT =6△t +∑=1-n 1i i )t (执行=6△t +(n-1)(3△t)=(3n +3)△t2. 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t 。
开始5个任务,每间隔一个△t 向流水线输入一个任务,然后停顿2个△t ,如此重复。
求流水线的实际吞吐率、加速比和效率。
答:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 56 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23我们可以看出,在(7n+1)Δt 的时间内,可以输出5n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率可以认为满足:)n (t75t )n /17(5t )1n 7(n 5TP ∞→∆=∆+=∆+=加速比为:)n (720n /17201n 7n 20t )1n 7(t 4n 5S ∞→=+=+=∆+∆⨯=从上面的时空图很容易看出,效率为:)n (75n /1751n 7n 5t )1n 7(4t 4n 5E ∞→=+=+=∆+⨯∆⨯=3. 用一条5个功能段的浮点加法器流水线计算∑==101i i A F 。
计算机系统结构(第2版)郑伟明汤志忠课后习题答案以及例题收录片上地址模块内部体号模式5: 4高阶交叉4低阶交叉16存储器模块每4个形成一个大模块:片上地址模块内部体号模式6: 4并行访问4低阶交叉31 0模块片上地址模块号输出选择(1)所有这些存储器可以并行工作,因此带宽可以增加一般来说,并行内存访问的优点是简单且易于实现,缺点是访问冲突大。
高阶交错存储器具有扩展方便、存取效率低的优点。
低阶交叉存取存储器可以分时方式提高速度46,但扩展不方便。
(2)各种存储器的带宽与其工作频率有关。
不考虑冲突,如果有足够多的独立控制电路和寄存器,那么它们的带宽是相同的。
(3)存储器原理图注意,并行存取存储器非常类似于低阶交叉存取存储器,除了并行存取存储器使用存储器模块号(存储体号)来选择输出结果,而低阶交叉存取存储器用于为存储器模块(存储体)生成芯片选择信号,这通过流水线操作提高了存取速度。
3.14在页面虚拟内存中,一个程序由从P1到P5的5个虚拟页面组成程序执行过程中依次访问的页面如下:P2、P3、P2、P1、P5、P2、P4、P5、P3、P2、P5、P2假设系统为该程序的主存储器分配三个页面,主存储器的三个页面分别由先进先出、先进先出和优化调度(1)绘制主内存页面条目、替换和命中的表(2)计算三种页面替换算法的页面命中率3.15(1)当分配的主内存页的数量大于或等于5时,可以达到最高的页命中率,除了第一次调入未命中,所有访问都在47: 7实际命中之后,因此可以达到的最高页命中率是H?7?0.5833 12(2)由于当页面数大于或等于5时肯定可以达到最高的命中率,让我们看看当页面数小于5时是否可以达到命中率:当由分配的主存储器页面数等于4时,调度过程如下:489 LFU算法4调用中4 5 4 5 3 4 5* 3 2调用中4 5 3 2命中1 5 3* 2调用中1 5 3 2*命中1 5 3* 2命中1 5* 3 2命中1 5 3 2命中1 5 3* 2命中1 5 3 * 2命中1 5 3 2命中1 5 3 2命中1 5 3 2命中7调用中此时也能达到最高命中率。
第 4 章 习 题 答 案3. 已知某机主存空间大小为64KB ,按字节编址。
要求: (1)若用1K×4位的SRAM 芯片构成该主存储器,需要多少个芯片? (2)主存地址共多少位?几位用于选片?几位用于片内选址? (3)画出该存储器的逻辑框图。
参考答案: (1)64KB / 1K×4位 = 64×2 = 128片。
(2)因为是按字节编址,所以主存地址共16位,6位选片,10位片内选址。
(3)显然,位方向上扩展了2倍,字方向扩展了64倍。
下图中片选信号CS 为高电平有效。
A 15A 10A 9A 0D 0D 7……WE…4. 用64K×1位的DRAM 芯片构成256K×8位的存储器。
要求:(1) 计算所需芯片数,并画出该存储器的逻辑框图。
(2) 若采用异步刷新方式,每单元刷新间隔不超过2ms ,则产生刷新信号的间隔是多少时间?若采用集中刷新方式,则存储器刷新一遍最少用多少读写周期? 参考答案:(1)256KB / 64K×1位 = 4×8 = 32片。
存储器逻辑框图见下页(图中片选信号CS 为高电平有效)。
(2)因为每个单元的刷新间隔为2ms ,所以,采用异步刷新时,在2ms 内每行必须被刷新一次,且仅被刷新一次。
因为DRAM 芯片存储阵列为64K=256×256,所以一共有256行。
因此,存储器控制器必须每隔2ms/256=7.8µs 产生一次刷新信号。
采用集中刷新方式时,整个存储器刷新一遍需要256个存储(读写)周期,在这个过程中,存储器不能进行读写操作。
A 17A 16A 15A 0D 0D 7………5. 用8K×8位的EPROM 芯片组成32K×16位的只读存储器,试问:(1)数据寄存器最少应有多少位? (2) 地址寄存器最少应有多少位? (3) 共需多少个EPROM 芯片? (4) 画出该只读存储器的逻辑框图。
第四章题解计算机组成原理习题解答第四章4.2❒4.2在存储系统的层次结构中,设计高速缓冲存储器和虚拟存储器的目的各是什么?对这两个存储层次的管理有何异同点?❒题解:1、设计cache的目的是为了提高存储器的访问速度。
Cache层使得CPU在对存储器进行访问时,速度可以接近Cache的速度,容量可以达到主存的容量。
设计虚存的目的是为了提高存储器的容量。
虚拟存储技术使得用户在使用存储器时,感觉可用容量接近于辅存的容量,而访问速度上接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
2、两个存储层次管理的异同点:两个层次的功能均由系统自动实现,对用户来讲都是透明的。
第四章4.2两个存储层次均以信息块作为基本信息的传送单位,Cache存储器每次传送的信息块是定长的,只有几十字节,而虚拟存储器信息块划分方案很多,有页、段等等,长度均在几百~几百K 字节左右。
主存Cache 存储体系中CPU与Cache和主存都建立了直接访问的通道。
一旦不命中时,CPU 就直接访问主存并同时向Cache调度信息块。
而辅助存储器与CPU之间没有直接通路,一旦在主存不命中时,只能从辅存调块到主存。
Cache 存储器存取信息的过程、地址变换和替换策略全部用硬件实现,对程序员均是透明的。
而主存-辅存层次的虚拟存储器基本上是由操作系统的存储管理软件并辅助一些硬件来进行信息块的划分和主存-辅存之间的调度,所以对设计存储管理软件的系统程序员来说,它是不透明的,而对应用程序员,因为虚拟存储路提供了庞大的逻辑空间可以任意使用,是透明的。
第四章4.4❒4.4 图4-3中,如果检索寄存器的值为“**** 1011 **** ****”,屏蔽寄存器的值是什么?检索完成后,匹配寄存器中的值又是什么?❒题解:❒屏蔽寄存器的值是:0000 1111 0000 0000;完成检索后匹配寄存器的值为:01000…第四章4.74.7 将数据Cache和指令Cache分开有什么好处?答:将数据Cache和指令Cache分开有如下好处:1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成;2)指令Cache可用ROM实现,以提高指令存取的可靠性;3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。
第四章存储体系历年真题精选1. 下列说法正确的是( D )。
A. Cache容量一般不大,命中率不会很高B. Cache本身速度很快,但地址变换速度很慢C. Cache芯片速度一般比CPU速度慢数十倍D. Cache存储器查映像表和访问物理Cache其间可以流水,使速度与CPU匹配2.以下与虚拟存储器的等效访问速度无关的是( D )。
A. 页地址流B. 页面调度策略C. 主存的容量D. 辅存的容量3. 页面虚拟存储器把(程序)空间和(主存)空间都机械等分成相同大小的页面。
4. Cache若采用全相联映像规则,则主存中(任意一)块都可映像装入到Cache中的(任意一)块的位置上。
5. 解决计算机主存与CPU的速度差对机器性能的影响,可采用哪三种解决方法?(p86)6. 对于二级虚拟存储层次,其等效访问时间与主、辅存的访问时间有什么关系?可采取哪些措施提高存储层次的等效访问速度?(至少提出两种)(P88)7. 有一个虚拟存贮器,主存有0~3四页位置,程序有0~7八个虚页,采用全相联映象和FIFO替换算法。
给出如下程序页地址流;2,3,5,2,4,0,1,2,4,6。
(1)假设程序的2,3,5页已先后装入主存的第3、2、0页位置,请画出上述页地址流工作过程中,主存各页位置上所装程序各页页号的变化过程图,标出命中时刻。
(2)求出此期间虚存总的命中率H。
(50%)8. 某虚拟存储器共8个页面,每页为1024个字,实际主存为4K个字,采用页表法进行地址映象。
映象表的内容如下表所示。
(1)求出会发生页面失效的全部虚页号;(2,3,5,7)(2)求出虚地址为:0,3728,1023,1024,7800,6800的主存实地址。
(3072,页失效,4095,1024,页失效,656)同步强化练习一.单项选择题。
1. 替换算法要解决的问题是( C )。
A.用户的虚页如何与主存的实页对应B.如何用主存的实页号替代多用户的虚页号C.当页面失效,选择主存中哪个页作为被替换的页D.新用户要进入主存,选择哪个用户作为被替换的用户2. 虚拟存储器地址变换是指( C )。
1. 假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的时间分别是△t 、2△t 和3△t 。
在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。
⑴ 顺序执行方式。
⑵ 仅“取指令”和“执行”重叠。
⑶ “取指令”、“分析”和“执行”重叠。
答:⑴ 顺序执行方式12 ......1 2 12T =∑=++n1i i i i )t t t (执行分析取址=n(△t +2△t +3△t)=6n △t⑵ 仅“取指令”和“执行”重叠12 ......1 212T =6△t +∑=+1-n 1i i i )t t (执行分析=6△t +(n-1)(2△t +3△t)=(5n +1)△t⑶ “取指令”、“分析”和“执行”重叠 1 23 4 ......1 2 3 4 1234△t2△t3△t△t2△t3△t△t2△t3△tT =6△t +∑=1-n 1i i )t (执行=6△t +(n-1)(3△t)=(3n +3)△t2. 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t 。
开始5个任务,每间隔一个△t 向流水线输入一个任务,然后停顿2个△t ,如此重复。
求流水线的实际吞吐率、加速比和效率。
答:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23我们可以看出,在(7n+1)Δt 的时间,可以输出5n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率可以认为满足:)n (t75t )n /17(5t )1n 7(n 5TP ∞→∆=∆+=∆+=加速比为:)n (720n /17201n 7n 20t )1n 7(t 4n 5S ∞→=+=+=∆+∆⨯=从上面的时空图很容易看出,效率为:)n (75n /1751n 7n 5t )1n 7(4t 4n 5E ∞→=+=+=∆+⨯∆⨯=3. 用一条5个功能段的浮点加法器流水线计算∑==101i i A F 。
每个功能段的延迟时间均相等,流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。
要求用尽可能短的时间完成计算,画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。
答:首先需要考虑的是“10个数的和最少需要做几次加法?”,我们可以发现,加法的次数是不能减少的:9次;于是我们要尽可能快的完成任务,就只有考虑如何让流水线尽可能充满,这需要消除前后指令之间的相关。
由于加法满足交换律和结合律,我们可以调整运算次序如以下的指令序列,我们把中间结果寄存器称为R ,源操作数寄存器称为A ,最后结果寄存器称为F ,并假设源操作数已经在寄存器中,则指令如下:I1: 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 。
时空图如下(图中的数字是指令号):1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21整个计算过程需要21Δt ,所以吞吐率为:t43.0t 73t 219TP ∆≈∆=∆=加速比为:1429.2715t 21t 59S ≈=∆∆⨯=效率为:43.073t 215t 59E ≈=∆⨯∆⨯=4. 一条线性静态多功能流水线由6个功能段组成,加法操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每个功能段的延迟时间均相等。
流水线的输出端与输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。
用这条流水线计算向量点积i 60i i b a B A ⨯=⨯∑=,画出流水线时空图,计算流水线的实际吞吐率、加速比和效率。
答:我们安排运算次序如下:把中间结果寄存器称为R ,源操作数寄存器称为A 、B ,最后结果寄存器称为F ,并假设源操作数已经在寄存器中,则指令如下:I1: R0←A0*B0 I8: R7←R0+R1 I2: R1←A1*B1 I9: R8←R2+R3 I3: R2←A2*B2 I10: R9←R4+R5 I4: R3←A3*B3 I11: R10←R6+R7 I5: R4←A4*B4 I12: R11←R8+R9 I6: R5←A5*B5 I13: F ←R10+R11 I7: R6←A6*B6假设功能段的延迟为Δt 。
时空图如下(图中的数字是指令号):1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 10 11 12 13 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 131 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24整个计算过程需要24Δt ,所以吞吐率为:t54.0t 2413TP ∆≈∆=加速比为:17.2613t 24t 46t 47S ≈=∆∆⨯+∆⨯=效率为:36.03613t 246t 134E ≈=∆⨯∆⨯=5. 一条有三个功能段的流水线如下图。
每个功能段的延迟时间均相等,都为△t 。
其中功能段S 2的输出要返回到它自己的输入端循环一次。
⑴ 如果每间隔一个△t 向流水线的输入端连续输入新任务,问这条流水线会发生什么情况?⑵ 求这条流水线能够正常工作的最大吞吐率、加速比和效率。
⑶ 有什么办法能够提高这条流水线的吞吐率,画出新的流水线。
答: ⑴如果每间隔一个△t 向流水线的输入端连续输入新任务,流水线S2功能段存在资源冲突。
见下表:⑵每间隔两个△t 向流水线的输入端连续输入新任务(如见下表所示)可获得最佳性能。
△t △t △t我们可以看出:在(2n+2)Δt 的时间,可以输出n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率为:)n (t 21t )n /22(1t )2n 2(n TP ∞→∆=∆+=∆+=加速比为:)n (2n/1121n n 2t )2n 2(t 4n S ∞→=+=+=∆+∆⨯=效率为:)n (32n /3323n 3n 2t )2n 2(3t 4n E ∞→=+=+=∆+⨯∆⨯=⑶如要提高这条流水线的吞吐率,可采用:将功能段S2重复设置一次,见下图:6. 一条有4个功能段的非线性流水线,每个功能段的延迟时间都相等,都为20ns ,它的预约表如下:⑴ 写出流水线的禁止向量和初始冲突向量。
⑵ 画出调度流水线的状态图。
⑶ 求流水线的最小启动循环和最小平均启动距离。
△t △t △t △t⑷求平均启动距离最小的恒定循环。
⑸求流水线的最大吞吐率。
⑹按照最小启动循环连续输入10个任务,求流水线的实际吞吐率。
⑺画出该流水线各功能段之间的连接图。
答:⑴禁止向量F=(6,4,2);冲突向量C=(101010)。
⑵⑶∴流水线的最小启动循环为:(1,7)或(3,5)或(5,3),最小平均启动距离为4。
⑷由上表可知:平均启动距离最小的恒定循环为(5)。
⑸采用最小平均启动距离为4的最小启动循环可获得流水线的最大吞吐率,以(1,7)为例:(其他类似,最大吞吐率皆相同)当任务数为偶数2n 时:)n (t41t n 8n 2t 7)1n (t n t 7n 2TP ∞→∆=∆=∆⋅-+∆⋅+∆=当任务数为奇数2n+1时:)n (t41n /t 7t 8n /12t 7t n 81n 2t 7n t n t 71n 2TP ∞→∆=∆+∆+=∆+∆+=∆⋅+∆⋅+∆+=∴ 流水线的最大吞吐率为:)s /(M 5.12ns2041t 41任务=⨯=∆⑹10个任务的实际吞吐率:利用上式可得(偶数个任务)TP 10=1/4△t=12.5M(任务/s)。
⑺该流水线的连接图为:7. 一条由4个功能段组成的非线性流水线的预约表如下,每个功能段的延迟时间都为10ns 。
输入⑴ 写出流水线的禁止向量和初始冲突向量。
⑵ 画出调度流水线的状态图。
⑶ 求流水线的最小启动循环和最小平均启动距离。
⑷ 在流水线中插入一个非计算延迟功能段后,求该流水线的最佳启动循环及其最小平均启动距离。
⑸ 画出插入一个非计算延迟功能段后的流水线预约表(5行8列)。
⑹ 画出插入一个非计算延迟功能段后的流水线状态变换图。
⑺ 分别计算在插入一个非计算延迟功能段前、后的最大吞吐率。
⑻ 如果连续输入10个任务,分别计算在插入一个非计算延迟功能段前、后的实际吞吐率。
答: ⑴禁止向量F=(5,2,1);冲突向量C=(10011)。
⑵⑶最小启动循环为(3),最小平均启动距离为3。
⑷插入一个非计算延迟功能段后,最小平均启动距离为2(因为预约表中每行至多2个×),相应地可改进最小启动循环为(2)。
⑸i=4⑹流水线的禁止向量为(1,3,7),流水线的冲突向量为1000101, 流水线的状态图如下:流水线的最小启动循环为(2),最小平均启动距离为2。
⑺插入前:)s /(1033.3ns1031t 31t 3)1n (t 6n TP 7n max lim任务数⨯≈⨯=∆=∆⨯-+∆=∞→插入后:)s /(105ns1021t 21t 2)1n (t 6n TP 7n max lim 任务数⨯=⨯=∆=∆⨯-+∆=∞→ ⑻连续输入10个任务,插入前的实际吞吐率为:)s /(1003.3ns103310t 3310t 39t 610TP 7任务数⨯≈⨯=∆=∆⨯+∆= 连续输入10个任务,插入后的实际吞吐率为: )s /(1085.3ns 102610t 2610t 29t 810TP 7任务数⨯≈⨯=∆=∆⨯+∆=8. 在流水线处理机中,有独立的加法操作部件和乘法操作部件各一个,加法操作部件为4段流水线,乘法操作部件6段流水线,都在第一段从通用寄存器读操作数,在最后一段把运算结果写到通用寄存器中。