打个比方,当计算机要执行一个任务的时候,这个任务包含多条指令,计算机要在这些指令间切换,而站在计算机的角度讲,每条指令对应的实现电路不同,也就是说每切换一条指令计算机cpu就要重新选择一条电路来运算,时间开销很大。
流水线技术就是为了解决上述问题的,如果好几个类似的任务需要处理,他们的指令相同,那么cpu就会先执行不同任务的相同指令,当相同指令执行完了之后才会进行切换到下一条指令。
通过图来理解:
如果任务是上明的情况的话,那么cpu的执行顺序应该是:
如果切换一次指令需要m的时间,那么执行完这四条任务光算切换指令的时间就是20m。开销很大。
当引入流水线技术之后:
在引入流水线技术后指令的切换仅需要4m的时间,这方面的时间开销减少了很多。
总结:
流水线技术大幅度提高了执行效率,但是执行顺序收到了影响。