流水线技术与指令重排序

打个比方,当计算机要执行一个任务的时候,这个任务包含多条指令,计算机要在这些指令间切换,而站在计算机的角度讲,每条指令对应的实现电路不同,也就是说每切换一条指令计算机cpu就要重新选择一条电路来运算,时间开销很大。

流水线技术就是为了解决上述问题的,如果好几个类似的任务需要处理,他们的指令相同,那么cpu就会先执行不同任务的相同指令,当相同指令执行完了之后才会进行切换到下一条指令。

通过图来理解:

流水线技术与指令重排序_第1张图片

如果任务是上明的情况的话,那么cpu的执行顺序应该是:

如果切换一次指令需要m的时间,那么执行完这四条任务光算切换指令的时间就是20m。开销很大。

当引入流水线技术之后:

流水线技术与指令重排序_第2张图片

 在引入流水线技术后指令的切换仅需要4m的时间,这方面的时间开销减少了很多。

总结:

流水线技术大幅度提高了执行效率,但是执行顺序收到了影响。

你可能感兴趣的:(计算机组成原理,java,计算机,计算机底层,流水cpu)