|
知识路径: > 信息系统工程技术知识 > 计算机技术知识与网络知识 > 计算机系统功能、组成、及其相互关系 > 计算机体系结构 >
|
相关知识点:3个
|
|
|
|
本知识点的重点在于理解流水线的概念、性能,以及有关参数的计算。
|
|
|
流水线技术是通过并行硬件来提高系统性能的常用方法,它其实是一种任务分解的技术,把一件任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构来负责执行,而这些执行机构可以同时并行工作。
|
|
|
|
假定有某种类型的任务,共可分成n个子任务,每个子任务需要时间t,则完成该任务所需的时间即为n×t。若以传统的方式,则完成k个任务所需的时间是k×n×t;而使用流水线技术执行,则花费的时间是n×t+(k-1)×t。也就是说,除了第一个任务需要完整的时间外,其他任务都通过并行,节省下了大量的时间,只需一个子任务的单位时间就够了。
|
|
|
如果每个子任务所需的时间不同,则其速度取决于其执行顺序中最慢的那个(也就是流水线周期值等于最慢的那个指令周期),要根据实际情况进行调整。
|
|
|
例如,若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是取指2ns,分析2ns,执行1ns。那么,最长的子任务是2ns,因此100条指令全部执行完毕需要的时间就是(2+2+1)+(100-1)×2=203ns。
|
|
|
|
流水线的关键在于“重叠执行”,因此如果这个条件不能够满足,流水线就会被破坏。这种破坏主要来自于以下三种情况。
|
|
|
(1)转移指令。因为前面的转移指令还没有完成,流水线无法确定下一条指令的地址,因此也就无法向流水线中添加这条指令。从这里的分析可以看出,无条件跳转指令是不会影响流水线的。
|
|
|
(2)共享资源访问的冲突。也就是后一条指令需要使用的数据与前一条指令发生冲突,或者相邻的指令使用了相同的寄存器,这也会使得流水线失败。
|
|
|
(3)响应中断。当有中断请求时,流水线也会停止。对于这种情况有两种响应方式:一种是立即停止(精确断点法),能够立即响应中断;另一种是流水线中的指令继续执行,不再新增指令到流水线(不精确断点法)。
|
|
|