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