基本介紹
- 中文名:指令流水
- 外文名:Instruction flow
原理,影響因素,資源相關,數據相關,控制相關,流水線性能,
原理
為提高處理器執行指令的效率,把一條指令的操作分成多個細小的步驟,每個步驟由專門的電路完成。
例如一條指令要執行要經過3個階段:取指令、解碼、執行;每個階段都要花費一個時鐘周期,如果沒有採用流水線技術,那么這條指令執行需要3個時鐘周期;如果採用了指令流水線技術,那么當這條指令完成“取指”後進入“解碼”的同時,下一條指令就可以進行“取指”了,這樣就提高的指令的執行效率。
影響因素
要使流水線具有良好的性能,必須設法使流水線能暢通流動,即必須做到充分流水,不出現斷流。
然而在實際流水中會出現三種相關:資源相關、數據相關、控制相關,這三個相關使流水線充分流水很難實現。
資源相關
資源相關是指當指令在重疊執行過程中,不同指令爭用同一功能部件產生資源衝突時產生的。
通常,大多數機器都是將指令和數據保存在同一存儲器中,且只有一個訪問口,如果在某個時鐘周期內,流水線既要完成某條指令對運算元的存儲器訪問操作,又要完成另一條指令的取指操作,這就會發生訪存衝突。這就是結構相關。
解決訪存衝突的一個辦法停頓,另一種是設定兩個獨立的存儲器分別存放運算元和指令,以免取指令和取運算元衝突。
數據相關
數據相關是指令在流水線中重疊執行時,當後繼指令需要用到前面的指令產生的結果時發生的。
控制相關
控制相關是當流水線遇到轉移指令引起的。統計表明,轉移指令約占總指令的四分之一左右,比起數據相關,它會使流水線喪失更多的功能。
流水線性能
流水線性能通常用吞吐率、加速比和效率三項指標衡量。