計算機解疑補漏之理解流水線的幾點要義

流水線的幾點注意

關於流水線的時鐘頻率、時鐘週期

流水線的總體效率取決於最耽誤事的那個結點,即流水線級數中最長延遲那個。(由於流水線是先後順序傳遞的)效率

  • 時鐘週期:就是剛纔說的那個最慢的那個級,即:最長延遲。
  • 時鐘頻率;時鐘週期的倒數,即:單位時間內的週期數。主頻的計算就來源於此。

超級流水線與超標量流水線

之因此會有超級流水線,就是由於有多級流水線中最耽誤事的結點存在,因此將這個結點細分。由於這是這是影響全局的關鍵因素,但並非說越細分就越越好,細分是有成本的,增長流水線寄存器也是要有延遲的。因此當增長的流水線延遲大於細分分開的延遲,那就得不償失了。並行

  • 超級流水線:增長流水線的級數(深度),目的是下降時鐘週期,從而提高時鐘頻率。(有好處才這麼作)
  • 超標量流水線:這是相對於標量而言的,標量流水線:就是正常的一條,而超標量能夠是兩條以上。即利用空間並行性來節省時間。

補充:現代的多核處理器的每一個核一般都是超標量處理器,可是超標量處理器不等於多核處理器(CPU)。

區分流水線的三種冒險

一共三種冒險,分別是數據冒險、結構冒險、控制冒險,能夠直接從其名字加以區分,可是理解不到位,容易混淆。方法

  • 數據冒險:與數據有關,數據的產生與ALU有關,因此,這裏的冒險是指,ALU計算出數據尚未回寫時就要被用到,那正常狀況必定是用不到的。(不過有解決方法:數據前遞,但也不是徹底解決,好比正在進行ALU計算時就要這個數據,那也是得不到的)cpu

  • 結構冒險:與結構有關,好比指令和數據放在了同一個存儲器,由於一次容許一個指令讀,因此要冒險;還有讀寄存器和寫寄存器同時發生,又是發生爭搶,要冒險。數據

  • 控制冒險:控制去哪唄,好比一個分支指令,還不清楚下一步要去哪的時候,執行緊隨它以後的指令是很懸的,因此又要冒險了。時間

相關文章
相關標籤/搜索