大家好,欢迎来到IT知识分享网。
计算机体系结构中的流水线结构来源于生活中的流水线工厂,我们知道,计算机所有操作都需要指令来执行,那么指令执行的效率高低肯定会对计算机操作带来很大的影响。至于产生流水线这种结构的初衷也是希望提高CPU的利用率和指令执行效率。早期CPU执行指令都是串行执行的(那时估计也还没操作系统),就是一个时钟周期完成一条指令,称这种操作位单周期处理机模型,而且这种情况下每个周期又都是等长的,但指令的长度或者每个指令执行所花费的时间不同,势必会造成CPU资源的浪费,出现空闲状态。于是又出现了多周期处理机模型,这时候将主频提高,即时钟周期变短(将一个指令的完成分成多个周期来完成,有点时间片轮转调度的意思)。再后来觉得想把执行速度进一步提高,就出现了现在的流水线结构。
流水线结构与多周期,其实都归结于并行处理的类别,即CPU会在一个周期里处理多个子任务。流水线就类似于这样,CPU任务的执行往往涉及到多个指令,多个指令的执行,必然会用到取指令寄存器呀,加法器呀,取数据寄存器呀,这些都是不同的硬件而且相对独立,自然执行任务可以互不干涉。这里举出一个例子,一个大任务包含A,B,C,D四个子任务,则这四个子任务完成即代表大任务完成,但这四个子任务都需要用到相同的5个寄存器,每个任务经过5个寄存器处理就可代表一个任务执行完成,但寄存器之间必须有先后处理之分,则时间如下图所示:
图中纵坐标代表的任务,横坐标代表的是工序的执行流程,A,B,C,D代表四个子任务,数字1,2,3,4代表的就是4个寄存器,数字有重复的表示由于这时候寄存器没有空出所以选择等待,由于最后一个寄存器(工序)就是需要合并下前面子任务的结果,图里没给出,给出的话应该在D最后的位置,大任务就好比工厂的一个产品,4个子任务就好比产品的4个零件,5个寄存器就好比5道工序,这样就清晰了。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34456.html