超標量 超級流水線 超長指令字 向量機 SIMD

2021-07-03 23:18:57 字數 2194 閱讀 6841

1、超標量(super scalar)

將一條指令分成若干個週期處理以達到多條指令重疊處理,從而提高cpu部件利用

率的技術叫做標量流水技術.

超級標量是指cpu內一般能有多條流水線,這些流水線能夠並行處理.在單流水線結構

中,指令雖然能夠重疊執行,但仍然是順序的,每個週期只能發射(issue)或退休(retire)

一條指令.超級標量結構的cpu支援指令級並行,每個週期可以發射多條指令(2-4條居多).

這樣,可以使得cpu的ipc(instruction per clock) > 1, 從而提高cpu處理速度.

超級標量機能同時對若干條指令進行解碼,將可以並行執行的指令送往不同的執行

部件,在程式執行期間,由硬體(通常是狀態記錄部件和排程部件)來完成指令排程.

超級標量機主要是借助硬體資源重複(例如有兩套解碼器和alu等)來實現空間的並行

操作.我們熟知的pentium系列(可能是p-ii開始),還有sun sparc系列的較高階型號,以及

mips若干型號等都採用了超級標量技術.

2、超級流水線(super pipeline)

超級流水線又叫做深度流水線,它是提高cpu速度通常採取的一種技術。cpu處理指令

是通過clock來驅動的,每個clock完成一級流水線操作。每個週期所做的操作越少,那麼

需要的時間久越短,時間越短,頻率就可以提得越高。所以超級流水線就是將cpu處理

指令是得操作進一步細分,增加流水線級數來提高頻率。頻率高了,當流水線開足馬力

執行時平均每個週期完成一條指令(單發射情況下),這樣cpu處理得速度久提高了。

當然,這是理想情況下,一般是流水線級數越多,重疊執行的執行就越多,那麼發生

競爭衝突得可能性就越大,對流水線效能有一定影響。

現在很多cpu都是將超標量和超級流水線技術一起使用,例如pentium iv,流水線達

到20級,頻率最快已經超過3ghz.我們教科書上用於教學的經典mips只有5級流水。

3、超長指令字(vliw:very long instruction word)

超常指令字是由美國yale大學教授fisher提出的。它有點類似於超級標量,是一條

指令來實現多個操作的並行執行,之所以放到一條指令是為了減少記憶體訪問。通常

一條指令多達上百位,有若干運算元,每條指令可以做不同的幾種運算。那些指令可以

並行執行是由編譯器來選擇的。通常vliw機只有乙個控制器,每個週期啟動一條長指令,

長指令被分為幾個字段,每個字段控制相應的部件。由於編譯器需要考慮資料相關性,

避免衝突,並且盡可能利用並行,完成指令排程,所以硬體結構較簡單。

vliw機器較少,可能不太容易實現,我們平時很少接觸vliw機器(也許是我孤陋寡

聞),我知道業界比較有名的vliw公司之一是transmeta,在加州矽谷santa clara(呵呵

我心目中矽谷聖地之一,還有san jose, palo alto,都是it英雄輩出的地方)。它做的

機器採用x86指令集,vliw實現,具體資料可以去訪問公司的**。

4、向量機(vector machine)

我們平時接觸的計算機都是標量機,向量機都是大型計算機,一般用於軍事工業,氣

象預報,以及其他大型科學計算領域,這也說明了向量機都很貴。國產的銀河計算機就是

向量機。

普通的計算機所做的計算,例如加減乘除,只能對一組資料進行操作,

被稱為標量運算。向量運算一般是若干同型別標量運算的迴圈。

向量運算通常是對多組資料成批進行同樣運算,所得結果也是一組資料。

很多做科學計算的大(巨)型機都是向量機,例如國產銀河。這個好像我們平時不太

接觸的到。

5、simd技術

剛剛看到網上一段介紹simd的文字,貼在這裡:

單指令多資料(single instruction multiple data)

簡稱simd。simd結構的cpu有多個執行部件,但都在同乙個指令部件的控制下。

simd在效能上有什麼優勢呢?以加法指令為例,單指令單資料(sisd)的cpu對加法指令

解碼後,執行部件先訪問記憶體,取得第乙個運算元;之後再一次訪問記憶體,取得第二個操

作數;隨後才能進行求和運算。

而在simd型cpu中,指令解碼後幾個執行部件同時訪問記憶體,一次性獲得所有運算元進

行運算。這個特點使得simd特別適合於多**應用等資料密集型運算。amd公司的3d now!

異性能。

計組 超標量 超級流水線 超長指令字區別詳解

1 超標量 super scalar 將一條指令分成若干個週期處理以達到多條指令重疊處理,從而提高cpu部件利用率的技術叫做標量流水技術。超級標量是指cpu內一般能有多條流水線,這些流水線能夠並行處理.在單流水線結構中,指令雖然能夠重疊執行,但仍然是順序的,每個週期只能發射 issue 或退休 re...

流水線與指令重排序

流水線是一種指令級並行技術。彙編指令不是一步可以執行完畢的,每個步驟涉及的硬體可能不同,所以可以使用流水線技術來執行指令。可以看到,當第2條指令執行時,第1條指令只是完成了取值操作。假如每個步驟需要1毫秒,那麼如果指令2等待指令1執行完再執行,就需要等待5毫秒。而使用流水線後,只需要等待1毫秒。lw...

指令流水線的畫法

指令流水線的畫法 解題想法 流水線有五段,分別為s1,s2,s3,s4,s5.其中s4的執行時間為2 t,其他都是 t,乘法使用的是s1,s2,s5,加法使用的是s1,s3,s4,s5。利用吞吐率加速比和效率公式可不可以計算?對於此類題目,最好畫出指令流水線,因為公式法有一定的侷限性。畫好了!這樣畫...