1、什么是流水线(pipeline)?
流水线是指在重复执行一项任务时,我们可以把它细分成很多小任务,让这些小任务重叠执行,来提高整体的运行效率。
2、CPU的流水线技术
CPU执行指令的时候,也是流水线的原理。首先它把一条指令的执行,拆分成五个部分:取指令、解码、取数据,运算和写结果。前三步由控制器来做,后两步由运算器完成。那流水线模型用在这里就是,当控制前执行完一条指令的前三步之后,并不是等运算器执行完后两部才继续工作,而是马上开始着手执行下一条指令的前三步。这样所有指令一条一条进来,运算器和控制器同时工作,互不干扰,大大提高了CPU的运行速度。
3、应用程序的流水线技术
例如,你现在拍了很多照片,准备上传到朋友圈。每张图片上传到微信的服务器,程序上需要经过几个步骤:先从你的sd卡上读出来,然后压缩,最后通过网络上传。第一步主要由sd卡来完成,速度取决于你的sd卡读取速度。第二部由CPU来做,CPU越强速度越快。网络上传当然考验的是你的网速。这样一个流水线的模型就出来了。sd卡读取完一张图片交给CPU做压缩,这时候sd卡不要闲着,可以立马读下一张。CPU做完压缩交给网卡上传,就可以进行下一张的压缩了。整个过程就像流水一样,源源不断,提升了效率。
——部分内容整理自网络——