什么是流水线排空时间

来源:百度知道 编辑:UC知道 时间:2024/05/24 13:16:23
指令在流水线技术下所用的总时间如何运行?

计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行.由于这种工作方式与工厂中的生产流水线十分相似,因此称为流水线技术.
通常,可以从两个方面来提高处理机内部的并行性,一个是所谓的空间并行性,即在一个处理机内设置多个独立的操作部件,并且使这些部件并行工作;另一个是所谓的时间并行性,就是采用流水线技术.流水线技术是一种非常经济,对提高计算机的运算速度非常有效的技术.采用流水线技术只需增加少量硬件就能把计算机的运算速度提高几倍,成为计算机中普遍使用的一种并行处理技术.
计算机各个部分几乎都可以采用流水线技术,如果指令的执行过程可以采用流水线,那么称为指令流水线.运算器中的操作部件,如浮点加法器,浮点乘法器等可以采用流水线,称为操作部件流水线;多个计算机之间,通过存储器连接,也可以采用流水线,称为宏流水线.
流水线的基本概念
一条指令的执行过程可以分为多个阶段
取指令:按照指令计数器的内容访问主存储器,取出一条指令送到指令寄存器.
指令分析:对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的地址,并用这个地址读取操作数.
指令执行:根据操作码的要求,完成指令规定的功能,即把运算结果写到通用寄存器或主存中.

如果取指令、分析指令、执行指令的时间都相等,每段的时间都为t,则n条指令所用的时间为:
顺序执行
T=3nt
一次重叠执行
T=(1+2n)t
两次重叠执行
T=(n+2)t

流水线需要有装入时间和排空时间。装入时间是指第一个任务进入流水线到输出流水线的时间。排空时间是指第n个(最后一个)任务进入流水线到输出流水线的时间。