東莞流水線:執(zhí)行指令的方式及流水線技術(shù)
在低檔的CPU中,指令的執(zhí)行是串行的,簡單地說,就是執(zhí)行完了一條指令后,再執(zhí)行下一條指令,好比我們上面提到的那個加工廠在創(chuàng)業(yè)之初,只有一間小車間及孤軍奮戰(zhàn)的老板,那么,當他接到一張訂單之后,他必然忙于完成訂單,而沒有能力去接第2張訂單。
這樣接訂單→完成訂單→接訂單→……取指令→執(zhí)行指令→取指令→……是一個串行的過程。后來,老板發(fā)現(xiàn)接受訂單不費太多時間,而且他還有了一個幫工,他們可以相互獨立地工作,這樣,老板就在完成上張訂單產(chǎn)品的同時,接受下一張訂單的訂貨。
這表現(xiàn)在CPU上就是取指令機構(gòu)與執(zhí)行指令機構(gòu)的分開,這樣從CPU整體來看,CPU在執(zhí)行上條指令的同時,又在并行地取下條指令。這在CPU技術(shù)上是一個質(zhì)的飛躍,它使得CPU從串行工作變?yōu)椴⑿泄ぷ?,從而具有了流水線的雛型。
CPU在完成了上面這一步之后,剩下的就是如何提高并行處理能力的問題了,CPU的設計者們從加工廠的裝配線得到啟發(fā),將一條指令的執(zhí)行分解成了許多各不相同的多個工序__微指令,從而大大地簡化了指令的復雜度,簡化了邏輯設計,提高了速度。
在具有流水線技術(shù)的CPU中,上條指令剛執(zhí)行完一道“工序”,馬上二條指令就加入了流水線中,開始執(zhí)行。很明顯,這種流水線技術(shù)要求有多個執(zhí)行單元,這在X86芯片中均得到了實現(xiàn)。