複製鏈接
請複製以下鏈接發送給好友

計算機流水線

鎖定
計算機流水線是Intel首次在486芯片中開始使用的流水線
中文名
計算機流水線
外文名
Pipeline

目錄

計算機流水線簡介

計算機流水線(Pipeline)技術是目前廣泛應用於微處理芯片(CPU)中的一項關鍵技術,計算機流水線技術指的是對CPU內部的各條指令的執行方式的一種形容,要了解它,就必須先了解指令及其執行過程。
流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5—6個不同功能的電路單元組成一條指令處理流水線,然後將一條X86指令分成5—6步後再由這些電路單元分別執行,這樣就能實現在一個CPU時鐘週期完成一條指令,因此提高CPU的運算速度。經典奔騰每條整數流水線都分為四級流水,即指令預取、譯碼、執行、寫回結果,浮點流水又分為八級流水。

計算機流水線執行過程

1、計算機指令及其執行過程
計算機指令,就是告訴CPU要做什麼事的一組特定的二進制集合。如果我們將CPU比喻成一個加工廠,那麼,一條指令就好比一張訂單,它引發了CPU_加工廠的一系列動作,最後分別得到了運算結果和產品。那麼,它們到底是怎樣工作的呢?首先,要有一個接收訂單的部門——CPU的取指令機構;其次,還要有完成訂單的車間——CPU的執行指令機構。在工廠中,一張訂單上的產品被分成了許多道工序,而指令亦在CPU中轉換成了許多條對應的微操作,依次完成它們,就執行完了整條指令。
2、執行指令的方式及流水線技術
在低檔的CPU中,指令的執行是串行的,簡單地説,就是執行完了一條指令後、再執行下一條指令,好比我們上面提到的那個加工廠在創業之初,只有一間小車間及孤軍奮戰的老闆,那麼,當他接到一張訂單之後,他必然忙於完成第1張訂單,而沒有能力去接第2張訂單。這樣接訂單→完成訂單→接訂單→……取指令→執行指令→取指令→……是一個串行的過程。後來,老闆發現接受訂單不費太多時間,而且他還有了一個幫工,他們可以相互獨立地工作,這樣,老闆就在完成上張訂單產品的同時,接受下一張訂單的訂貨。這表現在CPU上就是取指令機構與執行指令機構的分開,這樣從CPU整體來看,CPU在執行上條指令的同時,又在並行地取下條指令。這在CPU技術上是一個質的飛躍,它使得CPU從串行工作變為並行工作,從而具有了流水線的雛型。
CPU在完成了上面這一步之後,剩下的就是如何提高並行處理能力的問題了,CPU的設計者們從加工廠的裝配線得到啓發,將一條指令的執行分解成了許多各不相同的多個工序_微指令,從而極大地簡化了指令的複雜度,簡化了邏輯設計,提高了速度。在具有流水線技術的CPU中,上條指令剛執行完第一道“工序”,馬上第二條指令就加入了流水線中,開始執行。很明顯,這種流水線技術要求有多個執行單元,這在X86芯片中均得到了實現。
通過上面的介紹,我們已經瞭解到什麼是流水線技術,這雖不是一種創新,但在技術的實現上則是一大難關,是CPU設計者對計算機發展的一大貢獻。
那麼,P6芯片的超流水線又是怎麼回事呢?
3、P6的超流水線簡介
超流水線(Super Pipeline)在本質上仍為一種流水線技術,但它做了以下的改進。
A.流水線條數從奔騰的兩條增至三條,還有十一個獨立的執行單元並行支持。
B.在執行中採取了無序執行(out-of-orderprocessing)技術。即當某條指令需要一些數據而未能立即執行完畢時,它將被剔出流水線並等待數據,CPU則馬上執行下條指令,就好比在裝配線上發現某件產品不太合格,而被淘汰,等待返工一個道理。這樣,可以防止一條指令不能執行而影響了整個流水線的效率。
C.在P6中將指令劃分成了更細的階段,從而使邏輯設計、工序等等更為簡化,提高了速度。在486芯片中,一條指令一般被劃分為五個標準的部分,奔騰亦是如此。而在P6中,由於採用了近似於RISC的技術,一條指令被劃分成了創紀錄的十四個階段。這極大地提高了流水線的速度。
那麼,P6的超流水線技術是否將流水線工藝發揮到了極限呢?還遠遠未到,在P7中也許我們將看到全新的設計。
流水線與生產線的區別:流水線是指一個生產車間在一條流水線機上完成操作流程。而生產線是指工廠的整體生產流程。比如從接單,開始設計到大量生產。這是生產流程。