`
tubaluer
  • 浏览: 1440228 次
文章分类
社区版块
存档分类
最新评论
  • sblig: c / c++ 是不一样的都会输出 100
    j = j++

计算机组成-流水线问题

 
阅读更多

计算机组成中的可以分为四个考点部分:流水线问题、高速缓冲存储器Cache问题、内存编址问题、数值校验码问题

一:流水线问题

(1)流水线的概念

流水线是指程序执行多条指令重叠进行操作的一种准并行处理技术。

若一条指令由多个部件完成,那么使用流水线操作,可以使各个部件同时操作,但是此时的同时是针对不同的指令而言。

看个例子:

若是一条指令是由取值、分析、执行三个部件完成。若没有采用流水线技术,当一条指令完成后,才能执行下一条指令,运行结果如下:

若是采用流水线技术,结果如下:

使用流水线技术,三条指令完成的时间缩短了。但是需要注意,这里的时间是说的指令的总的时间。而单独的一条指令的时间却没有改变。指令的总时间是因为充分利用设备的空闲时间而提高了设备的利用率,从而缩短了总的时间,因而提高了指令的速度。

(2)流水线中计算问题

·流水线指令运行时间:

指令是由多个部件构成的,所以Δti是各个部件所使用的时间。n:代表指令的个数。Δtj是各个部件中运行时间最长的时间。为什么如此,可以通过上图推出。

·流水线的吞吐率(TP):单位时间内流水线所完成的任务数量。

其中:n:代表指令的条数,即任务的个数。Tk:代表指令运行的时间。

·流水线的加速比S:不使用流水线技术与使用流水线技术之比。

其中Tk:流水线指令的运行时间,可以通过公式求出,而T0是各个指令时间之和。

·流水线的效率:流水线的设备利用率。n个任务占用的时空区与k个流水段总的时空区之比。

通过加速比公式可得:效率和加速比之间的关系:

若是各个部件的运行时间相同,则效率和吞吐率之间可以:

这个流水线部分,只要把流水线的概念就是第一个和第二图弄明白,后面的公式部分即可以理解啦。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics