1. 计算机系统结构流水线的问题,求详细解答,画图的过程,脑子笨学的慢,求教!!
首先需要考虑的是,10 个数的的和最少需要做几次加法。我们可以发现,加法的 次数是不能减少的:9 次;于是我们要尽可能快的完成任务,就只有考虑如何让流水线尽可 78 能充满,这需要消除前后指令之间的相关。由于加法满足交换率和结合率,我们可以调整 运算次序如以下的指令序列,我们把中间结果寄存器称为 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。时空图如下,图中的数字是指令 号。 79 整个计算过程需要 21Δ t,所以吞吐率为: Tp ? 9 3 ? 21?t 7 ?t 加速比为: S? 9 ? 5?t 45 ? ? 2.1429 21?t 21 效率为: E? T0 9 ? 5?t 3 ? ? k ? Tk 5 ? 21?t 7 80 5.9 一条线性静态多功能流水线由 6 个功能段组成,加法操作使用其中的 1、2、3、6 功能段, 乘法操作使用其中的 1、4、5、6 功能段,每个功能段的延迟时间均相等。流水线的输入端与输出端之间有直接数据通路,而且设置有足够的缓冲寄存器。
2. 流水线时空图
http://hi..com/newhor/blog/item/c85a18090442f7206b60fb0f.html
习题5.8
3. 什么是指令流水,画出指令二级流水和四级流水的示意图,它们中哪一个更能提高处理器速度,为什么
就是CPU的各个寄存器同时工作,一个寄存器在处理完一个指令的特定功能后马上执行下一条指令的相关功能,而不是等该指令全部执行完后再去执行。比如有两个人做包子,一个人负责滚面皮,一个人负责包,滚面皮的不需要等包的包完一个后再去滚下一个,而是在包的同时滚下一个面皮,这就是流水线
4. 如何理解指令流水线中的"吞吐率
假设一个四段流水线,取指段的时间为t,译码段的时间为t,取数段的时间为3t,执行段的时间为t。流水线示意图如下:
为了便于计算假设取指和译码段总是连续执行的。流水线执行n条指令时其执行过程的时空图如下图所示:
从图中不难看出,第一条指令的执行时间是6t;第二条指令在执行时停顿了两个周期,第二条指令的完成时间比第一条指令的完成时间晚3t;第三条、第四条......第n条与此相同。
因此,该流水线执行n条指令的时间就是:6t+(n-1)3t
流水线的实际吞吐率就是:n/6t+(n-1)3t
流水线时间计算公式:一条指令所需时间+(指令条数-1)*时间最长的指令的一段 // 6t+(n-1)3t
吞吐率公式:指令条数 除以 流水线时间 // n/(6t+(n-1)3t)
5. 计算机系统结构中流水线的时空图怎么画
描述流水线的工作过程,通常采用时(间)空(间)图的方法。在时空图中,纵坐标表示指令序列,横坐标表示时间。
1.指令流水线过程段
图5-20表示流水CPU中一个指令周期的任务分解。假设指令周期包含取指令(IF)、指令译码(ID)、指令执行(EX)、访存取数(MEM)、结果写回(WB)5个子过程(过程段),流水线由这5个串联的过程段组成,各个过程段之间设有高速缓冲寄存器,以暂时保存上一过程段子任务处理的结果,在统一的时钟信号控制下,数据从一个过程段流向相邻的过程段。
当流水线满载时,每一个时钟周期可以执行2条以上的指令。因此,图5-23中仅用了9个时钟周期就完成了10条指令,每条指令平均用时0.9个时钟周期。
超标量流水计算机是时间并行技术和空间并行技术的综合应用。
6. 计算机流水线时空图的结构和特点,求教
计算机语言具有高级语言和低级语言之分。 高级语言如C,FORTRAN等,其语句和用法与具体机器的指令系统无关。 低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 高级语言与计算机的硬件结构及指令系统无关,在编写程序方面比汇编语言优越。但是高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。 高级语言难易程度 较难 C语言比较通用 只有个别的复杂程序才用得到高级语言
7. 计算机系统结构标题处理机时空图。请问时空图里的加法是怎么加,乘法又是怎么乘的啊
看这个例子画的是静态流水线,第一组阴影是做乘法,第二、第三组阴影是做加法。
8. 请帮忙解决一道关于流水线技术的题
1.指令流水线的连接图
2.流水线执行的时空图
3计算其加速比、吞吐率和效率
设某个流水线有M个流水段组成,每段经过的时间都是Δt,共有N个任务将要经过流水线。则Te=M*Δt,Td=(M-1)* Δt,T=Te+(N-1)* Δt=N*Δt+(M-1)* Δt
加速比是并行计算领域最重要的性能指标之一,它是串行处理所花时间与采用并行处理后所花时间的比值。在评价流水线时,加速比等于顺序串行所花时间与等效的流水处理所花时间的比值。
吞吐率是衡量流水线性能的重要指标,它是指在单位时间内流水线所完成的任务数和输出结果的数量。
基于上面相同的假设,加速比Sp=(N*M*Δt)/T=(N*M)/(M+N-1)=M/[1+(M-1)/N], 吞吐率Tp=N/T=1/{Δt*[1+(M-1)/N]}=(1/Δt)/[1+(M-1)/N].
记(1/Δt)为“最大吞吐率Tpmax”, 则Tp=Tpmax/[1+(M-1)/N].
效率是指流水线索设备利用率。从时-空图上看,所谓效率,就是N个任务占用的时空区和M个段总的时空区之比,
即:E=(M*N*Δt)/(M*T)=N/[N+(M-1)]=Tp*Δt
9. 指令流水线有取指、译码、执行、访存、写回5个过程段,共有15条指令连续输出此流水线。
2):11/(15*100ns)=7.3*106条指令/秒