超标量、超级流水线、超长指令字、向量机 SIMD
生活随笔
收集整理的這篇文章主要介紹了
超标量、超级流水线、超长指令字、向量机 SIMD
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、超標(biāo)量(Super Scalar)
??? 將一條指令分成若干個周期處理以達(dá)到多條指令重疊處理,從而提高cpu部件利用
率的技術(shù)叫做標(biāo)量流水技術(shù).
??? 超級標(biāo)量是指cpu內(nèi)一般能有多條流水線,這些流水線能夠并行處理.在單流水線結(jié)構(gòu)
中,指令雖然能夠重疊執(zhí)行,但仍然是順序的,每個周期只能發(fā)射(issue)或退休(retire)
一條指令.超級標(biāo)量結(jié)構(gòu)的cpu支持指令級并行,每個周期可以發(fā)射多條指令(2-4條居多).
這樣,可以使得cpu的IPC(Instruction Per Clock) > 1, 從而提高cpu處理速度.
??? 超級標(biāo)量機(jī)能同時對若干條指令進(jìn)行譯碼,將可以并行執(zhí)行的指令送往不同的執(zhí)行
部件,在程序運(yùn)行期間,由硬件(通常是狀態(tài)記錄部件和調(diào)度部件)來完成指令調(diào)度.
??? 超級標(biāo)量機(jī)主要是借助硬件資源重復(fù)(例如有兩套譯碼器和ALU等)來實(shí)現(xiàn)空間的并行
操作.
??? 我們熟知的pentium系列(可能是p-II開始),還有SUN SPARC系列的較高級型號,以及
MIPS若干型號等都采用了超級標(biāo)量技術(shù). 2、超級流水線(Super Pipeline)
??? 超級流水線又叫做深度流水線,它是提高cpu速度通常采取的一種技術(shù)。CPU處理指令
是通過Clock來驅(qū)動的,每個clock完成一級流水線操作。每個周期所做的操作越少,那么
需要的時間久越短,時間越短,頻率就可以提得越高。所以超級流水線就是將cpu處理
指令是得操作進(jìn)一步細(xì)分,增加流水線級數(shù)來提高頻率。頻率高了,當(dāng)流水線開足馬力
運(yùn)行時平均每個周期完成一條指令(單發(fā)射情況下),這樣cpu處理得速度久提高了。
當(dāng)然,這是理想情況下,一般是流水線級數(shù)越多,重疊執(zhí)行的執(zhí)行就越多,那么發(fā)生
競爭沖突得可能性就越大,對流水線性能有一定影響。
??? 現(xiàn)在很多cpu都是將超標(biāo)量和超級流水線技術(shù)一起使用,例如pentium IV,流水線達(dá)
到20級,頻率最快已經(jīng)超過3GHZ.我們教科書上用于教學(xué)的經(jīng)典MIPS只有5級流水。 3、超長指令字(VLIW:Very Long Instruction Word)
??? 超常指令字是由美國Yale大學(xué)教授Fisher提出的。它有點(diǎn)類似于超級標(biāo)量,是一條
指令來實(shí)現(xiàn)多個操作的并行執(zhí)行,之所以放到一條指令是為了減少內(nèi)存訪問。通常
一條指令多達(dá)上百位,有若干操作數(shù),每條指令可以做不同的幾種運(yùn)算。那些指令可以
并行執(zhí)行是由編譯器來選擇的。通常VLIW機(jī)只有一個控制器,每個周期啟動一條長指令,
長指令被分為幾個字段,每個字段控制相應(yīng)的部件。由于編譯器需要考慮數(shù)據(jù)相關(guān)性,
避免沖突,并且盡可能利用并行,完成指令調(diào)度,所以硬件結(jié)構(gòu)較簡單。
??? VLIW機(jī)器較少,可能不太容易實(shí)現(xiàn),我們平時很少接觸VLIW機(jī)器(也許是我孤陋寡
聞),我知道業(yè)界比較有名的VLIW公司之一是Transmeta,在加州硅谷Santa Clara(呵呵
我心目中硅谷圣地之一,還有San Jose, Palo Alto,都是it英雄輩出的地方)。它做的
機(jī)器采用X86指令集,VLIW實(shí)現(xiàn),具體資料可以去訪問公司的網(wǎng)站。 4、向量機(jī)(Vector Machine)
??? 我們平時接觸的計(jì)算機(jī)都是標(biāo)量機(jī),向量機(jī)都是大型計(jì)算機(jī),一般用于軍事工業(yè),氣
象預(yù)報,以及其他大型科學(xué)計(jì)算領(lǐng)域,這也說明了向量機(jī)都很貴。國產(chǎn)的銀河計(jì)算機(jī)就是
向量機(jī)。
??? 普通的計(jì)算機(jī)所做的計(jì)算,例如加減乘除,只能對一組數(shù)據(jù)進(jìn)行操作,
被稱為標(biāo)量運(yùn)算。向量運(yùn)算一般是若干同類型標(biāo)量運(yùn)算的循環(huán)。
向量運(yùn)算通常是對多組數(shù)據(jù)成批進(jìn)行同樣運(yùn)算,所得結(jié)果也是一組數(shù)據(jù)。
??? 很多做科學(xué)計(jì)算的大(巨)型機(jī)都是向量機(jī),例如國產(chǎn)銀河。這個好像我們平時不太
接觸的到。 5、SIMD技術(shù)
?? 剛剛看到網(wǎng)上一段介紹SIMD的文字,貼在這里:
?? 單指令多數(shù)據(jù)(Single Instruction Multiple Data)
?? 簡稱SIMD。SIMD結(jié)構(gòu)的CPU有多個執(zhí)行部件,但都在同一個指令部件的控制下。
SIMD在性能上有什么優(yōu)勢呢?以加法指令為例,單指令單數(shù)據(jù)(SISD)的CPU對加法指令
譯碼后,執(zhí)行部件先訪問內(nèi)存,取得第一個操作數(shù);之后再一次訪問內(nèi)存,取得第二個操
作數(shù);隨后才能進(jìn)行求和運(yùn)算。
?? 而在SIMD型CPU中,指令譯碼后幾個執(zhí)行部件同時訪問內(nèi)存,一次性獲得所有操作數(shù)進(jìn)
行運(yùn)算。這個特點(diǎn)使得SIMD特別適合于多媒體應(yīng)用等數(shù)據(jù)密集型運(yùn)算。AMD公司的3D NOW!
技術(shù)其實(shí)質(zhì)就是SIMD,這使K6-2處理器在音頻解碼、視頻回放、3D游戲等應(yīng)用中顯示出優(yōu)
異性能。
??? 將一條指令分成若干個周期處理以達(dá)到多條指令重疊處理,從而提高cpu部件利用
率的技術(shù)叫做標(biāo)量流水技術(shù).
??? 超級標(biāo)量是指cpu內(nèi)一般能有多條流水線,這些流水線能夠并行處理.在單流水線結(jié)構(gòu)
中,指令雖然能夠重疊執(zhí)行,但仍然是順序的,每個周期只能發(fā)射(issue)或退休(retire)
一條指令.超級標(biāo)量結(jié)構(gòu)的cpu支持指令級并行,每個周期可以發(fā)射多條指令(2-4條居多).
這樣,可以使得cpu的IPC(Instruction Per Clock) > 1, 從而提高cpu處理速度.
??? 超級標(biāo)量機(jī)能同時對若干條指令進(jìn)行譯碼,將可以并行執(zhí)行的指令送往不同的執(zhí)行
部件,在程序運(yùn)行期間,由硬件(通常是狀態(tài)記錄部件和調(diào)度部件)來完成指令調(diào)度.
??? 超級標(biāo)量機(jī)主要是借助硬件資源重復(fù)(例如有兩套譯碼器和ALU等)來實(shí)現(xiàn)空間的并行
操作.
??? 我們熟知的pentium系列(可能是p-II開始),還有SUN SPARC系列的較高級型號,以及
MIPS若干型號等都采用了超級標(biāo)量技術(shù). 2、超級流水線(Super Pipeline)
??? 超級流水線又叫做深度流水線,它是提高cpu速度通常采取的一種技術(shù)。CPU處理指令
是通過Clock來驅(qū)動的,每個clock完成一級流水線操作。每個周期所做的操作越少,那么
需要的時間久越短,時間越短,頻率就可以提得越高。所以超級流水線就是將cpu處理
指令是得操作進(jìn)一步細(xì)分,增加流水線級數(shù)來提高頻率。頻率高了,當(dāng)流水線開足馬力
運(yùn)行時平均每個周期完成一條指令(單發(fā)射情況下),這樣cpu處理得速度久提高了。
當(dāng)然,這是理想情況下,一般是流水線級數(shù)越多,重疊執(zhí)行的執(zhí)行就越多,那么發(fā)生
競爭沖突得可能性就越大,對流水線性能有一定影響。
??? 現(xiàn)在很多cpu都是將超標(biāo)量和超級流水線技術(shù)一起使用,例如pentium IV,流水線達(dá)
到20級,頻率最快已經(jīng)超過3GHZ.我們教科書上用于教學(xué)的經(jīng)典MIPS只有5級流水。 3、超長指令字(VLIW:Very Long Instruction Word)
??? 超常指令字是由美國Yale大學(xué)教授Fisher提出的。它有點(diǎn)類似于超級標(biāo)量,是一條
指令來實(shí)現(xiàn)多個操作的并行執(zhí)行,之所以放到一條指令是為了減少內(nèi)存訪問。通常
一條指令多達(dá)上百位,有若干操作數(shù),每條指令可以做不同的幾種運(yùn)算。那些指令可以
并行執(zhí)行是由編譯器來選擇的。通常VLIW機(jī)只有一個控制器,每個周期啟動一條長指令,
長指令被分為幾個字段,每個字段控制相應(yīng)的部件。由于編譯器需要考慮數(shù)據(jù)相關(guān)性,
避免沖突,并且盡可能利用并行,完成指令調(diào)度,所以硬件結(jié)構(gòu)較簡單。
??? VLIW機(jī)器較少,可能不太容易實(shí)現(xiàn),我們平時很少接觸VLIW機(jī)器(也許是我孤陋寡
聞),我知道業(yè)界比較有名的VLIW公司之一是Transmeta,在加州硅谷Santa Clara(呵呵
我心目中硅谷圣地之一,還有San Jose, Palo Alto,都是it英雄輩出的地方)。它做的
機(jī)器采用X86指令集,VLIW實(shí)現(xiàn),具體資料可以去訪問公司的網(wǎng)站。 4、向量機(jī)(Vector Machine)
??? 我們平時接觸的計(jì)算機(jī)都是標(biāo)量機(jī),向量機(jī)都是大型計(jì)算機(jī),一般用于軍事工業(yè),氣
象預(yù)報,以及其他大型科學(xué)計(jì)算領(lǐng)域,這也說明了向量機(jī)都很貴。國產(chǎn)的銀河計(jì)算機(jī)就是
向量機(jī)。
??? 普通的計(jì)算機(jī)所做的計(jì)算,例如加減乘除,只能對一組數(shù)據(jù)進(jìn)行操作,
被稱為標(biāo)量運(yùn)算。向量運(yùn)算一般是若干同類型標(biāo)量運(yùn)算的循環(huán)。
向量運(yùn)算通常是對多組數(shù)據(jù)成批進(jìn)行同樣運(yùn)算,所得結(jié)果也是一組數(shù)據(jù)。
??? 很多做科學(xué)計(jì)算的大(巨)型機(jī)都是向量機(jī),例如國產(chǎn)銀河。這個好像我們平時不太
接觸的到。 5、SIMD技術(shù)
?? 剛剛看到網(wǎng)上一段介紹SIMD的文字,貼在這里:
?? 單指令多數(shù)據(jù)(Single Instruction Multiple Data)
?? 簡稱SIMD。SIMD結(jié)構(gòu)的CPU有多個執(zhí)行部件,但都在同一個指令部件的控制下。
SIMD在性能上有什么優(yōu)勢呢?以加法指令為例,單指令單數(shù)據(jù)(SISD)的CPU對加法指令
譯碼后,執(zhí)行部件先訪問內(nèi)存,取得第一個操作數(shù);之后再一次訪問內(nèi)存,取得第二個操
作數(shù);隨后才能進(jìn)行求和運(yùn)算。
?? 而在SIMD型CPU中,指令譯碼后幾個執(zhí)行部件同時訪問內(nèi)存,一次性獲得所有操作數(shù)進(jìn)
行運(yùn)算。這個特點(diǎn)使得SIMD特別適合于多媒體應(yīng)用等數(shù)據(jù)密集型運(yùn)算。AMD公司的3D NOW!
技術(shù)其實(shí)質(zhì)就是SIMD,這使K6-2處理器在音頻解碼、視頻回放、3D游戲等應(yīng)用中顯示出優(yōu)
異性能。
總結(jié)
以上是生活随笔為你收集整理的超标量、超级流水线、超长指令字、向量机 SIMD的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《命运 2》普通话配音将与《光陨之秋》同
- 下一篇: 爱奇艺拟公开发行 7650 万股美国存托