1喊崖、什么是流水線(pipeline)籍琳?
流水線是指在重復(fù)執(zhí)行一項(xiàng)任務(wù)時(shí),我們可以把它細(xì)分成很多小任務(wù)贷祈,讓這些小任務(wù)重疊執(zhí)行趋急,來(lái)提高整體的運(yùn)行效率。
2势誊、CPU的流水線技術(shù)
CPU執(zhí)行指令的時(shí)候呜达,也是流水線的原理。首先它把一條指令的執(zhí)行粟耻,拆分成五個(gè)部分:取指令查近、解碼眉踱、取數(shù)據(jù),運(yùn)算和寫結(jié)果霜威。前三步由控制器來(lái)做谈喳,后兩步由運(yùn)算器完成。那流水線模型用在這里就是戈泼,當(dāng)控制前執(zhí)行完一條指令的前三步之后婿禽,并不是等運(yùn)算器執(zhí)行完后兩部才繼續(xù)工作,而是馬上開始著手執(zhí)行下一條指令的前三步大猛。這樣所有指令一條一條進(jìn)來(lái)扭倾,運(yùn)算器和控制器同時(shí)工作,互不干擾挽绩,大大提高了CPU的運(yùn)行速度膛壹。
3、應(yīng)用程序的流水線技術(shù)
例如唉堪,你現(xiàn)在拍了很多照片模聋,準(zhǔn)備上傳到朋友圈。每張圖片上傳到微信的服務(wù)器唠亚,程序上需要經(jīng)過(guò)幾個(gè)步驟:先從你的sd卡上讀出來(lái)链方,然后壓縮,最后通過(guò)網(wǎng)絡(luò)上傳趾撵。第一步主要由sd卡來(lái)完成,速度取決于你的sd卡讀取速度共啃。第二部由CPU來(lái)做占调,CPU越強(qiáng)速度越快。網(wǎng)絡(luò)上傳當(dāng)然考驗(yàn)的是你的網(wǎng)速移剪。這樣一個(gè)流水線的模型就出來(lái)了究珊。sd卡讀取完一張圖片交給CPU做壓縮,這時(shí)候sd卡不要閑著纵苛,可以立馬讀下一張剿涮。CPU做完壓縮交給網(wǎng)卡上傳,就可以進(jìn)行下一張的壓縮了攻人。整個(gè)過(guò)程就像流水一樣取试,源源不斷,提升了效率怀吻。
——部分內(nèi)容整理自網(wǎng)絡(luò)——