在計算機體系結構中,線性流水線處理器和非線性流水線處理器有什麼區別?
線性流水線處理器
線性流水線是一種將任何順序過程分解成有限的子過程的方法,這些子過程彼此獨立,以便每個子過程都可以在一個獨特的專用段中實現,並且所有這些段併發工作。因此,整個函式被分成單獨的任務,這些子任務由一個段實現。
計算機體系結構中流水線的概念對應於技術裝配線。就像市場上有製造、包裝和配送部門一樣,一個產品由製造部門製造,而包裝部門正在包裝產品時,製造部門又製造了一個新產品。
對於具有以下特徵的系統,流水線可以有效地執行:
系統連續執行基本功能。
基本功能應該可以分成獨立的階段,每個階段都有基本的重疊。
各個階段的難度應該大致相同。
非線性流水線處理器
控制轉移是非線性的。動態流水線除了簡化連線外,還可以實現前饋和反饋連線。動態流水線可以同時從多個預約表啟動任務,從而在同一流水線中實現多個功能的多次啟動。
線性流水線 | 非線性流水線 |
---|---|
線性流水線是靜態流水線,因為它們可以用於實現固定功能。 | 非線性流水線是動態流水線,因為它們可以重新構造以多次實現可變函式。 |
線性流水線只允許序列連線。 | 非線性流水線除了序列連線外,還可以實現前饋和反饋連線。 |
將給定函式細分為一系列線性排序的子函式在關聯上很容易。 | 函式劃分在關聯上很複雜,因為流水線階段除了序列連線外,還透過迴圈相互連線。 |
流水線的輸出由前一階段產生。 | 流水線的輸出不一定是前一階段產生的。 |
預約表很簡單,因為資料流是線性的。 | 預約表是非平凡的,因為資料流沒有線性流。 |
靜態流水線由單個預約表確定。 | 動態流水線由多個預約表定義。 |
所有對靜態流水線的啟動都使用相同的預約表。 | 動態流水線可以允許多個啟動遵循多個預約表的組合。 |
廣告