計算機(jī)系統(tǒng)結(jié)構(gòu)第6章_第1頁
計算機(jī)系統(tǒng)結(jié)構(gòu)第6章_第2頁
計算機(jī)系統(tǒng)結(jié)構(gòu)第6章_第3頁
計算機(jī)系統(tǒng)結(jié)構(gòu)第6章_第4頁
計算機(jī)系統(tǒng)結(jié)構(gòu)第6章_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

6.1向量數(shù)據(jù)表示方式6.2向量處理機(jī)的結(jié)構(gòu)6.3向量處理方式6.4向量處理機(jī)的關(guān)鍵技術(shù)6.5向量處理機(jī)實例6.6向量處理機(jī)的性能評價6.7向量處理機(jī)的發(fā)展

第6章向量處理機(jī)

2/2/20231計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)具有向量數(shù)據(jù)表示和向量指令系統(tǒng)的處理機(jī)向量處理機(jī)是解決數(shù)值計算問題的一種高性能計算機(jī)向量處理機(jī)屬大型或巨型機(jī),也可以用微機(jī)加一臺向量協(xié)處理器組成向量處理機(jī)一般都采用流水線結(jié)構(gòu),通常有有多條并行工作的流水線必須把要解決的問題轉(zhuǎn)化為向量運算,才能發(fā)揮向量處理機(jī)的效率2/2/20232計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.1向量數(shù)據(jù)表示方式6.1.1從標(biāo)量到向量6.1.2等間距向量表示法6.1.3帶位移量的向量表示法6.1.4稀疏向量表示法2/2/20233計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)例6.1:一個簡單的C語言程序如下:

for(i=10;i<=1010;i++)

c[i]=a[i]+b[i+5];在向量處理機(jī)上,可以只用一條指令:

C(10:1010)=A(10:1010)+B(15:1015)

一條向量指令可處理N個或N對操作數(shù)在標(biāo)量處理機(jī)上用10多條指令,其中有8條指令要循環(huán)1000次。采用多寄存器結(jié)構(gòu)的兩地址指令編寫程序存儲器采用字節(jié)編址方式,字長為32位6.1.1從標(biāo)量到向量2/2/20234計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)在一般標(biāo)量處理機(jī)中需要如下指令序列來實現(xiàn)(A、B、C分別是向量a、b、c在內(nèi)存中的起始地址):START: LOAD R0, ST;讀循環(huán)初值10 LOAD R1, ED;讀循環(huán)終值1010 LOAD R2, L;讀內(nèi)存地址增量4 MOVE R3, R2 MUL R3, R0;計算向量偏移量,;初始值為40LOOP: LOAD R4,A(R3);讀A向量的一個元素2/2/20235計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)

LOAD R5,B(R3);讀B向量的一個元素ADD R4,R5;加一個元素STORE R4,C(R3);寫C向量的一個元素ADD R3,R2 ;改變向量偏移量INC R0 ;循環(huán)次數(shù)增1CMP R0,R1 ;循環(huán)是否結(jié)束BLE LOOP ;循環(huán)未結(jié)束轉(zhuǎn)LOOP, ;否則繼續(xù)HALT;停機(jī)ST:10 ;循環(huán)初值ED:1010 ;循環(huán)終值L:4 ;內(nèi)存地址增量2/2/20236計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)三個參數(shù)表示一個等間距向量:

向量起始地址:A 向量長度:L 向量間距:f6.1.2等間距向量表示法2/2/20237計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)例如:我國研制的銀河向量機(jī),有8個向量寄存器V0~V7,每個向量寄存器由64個64位的寄存器組成,存儲器字長64位,采用字節(jié)編址方式,則連續(xù)向量的間距為f=8。向量指令采用三地址形式:例如:ViVjOPVk,向量長度(VL)=50,則實際完成的運算是: V3,00~V3,49與V5,00~V5,49分別相加,結(jié)果放在V1,00~V1,49中。2/2/20238計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.1.3帶位移量的向量表示法用三個參數(shù)表示一個向量:向量基地址:A向量長度:L向量位移量:f向量有效長度:L-f向量起始地址:A+f優(yōu)點:每個向量可以帶有位移,能夠通過控制向量實現(xiàn)可變增量。能夠表示稀疏向量。2/2/20239計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)帶位移量的向量表示法2/2/202310計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)2/2/202311計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)2/2/202312計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.1.4稀疏向量表示法定義:0元素很多,非0元素很少的向量稱為稀疏向量采用壓縮方法存儲稀疏向量可以節(jié)省存儲空間??梢赃€原之后進(jìn)行運算,也可以用壓縮方法直接進(jìn)行運算2/2/202313計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)2/2/202314計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.2向量處理機(jī)的結(jié)構(gòu)主要采用兩種方法:存儲器-存儲器結(jié)構(gòu)

多個獨立的存儲器模塊并行工作

處理機(jī)結(jié)構(gòu)簡單對存儲系統(tǒng)的訪問速度要求很高寄存器-寄存器結(jié)構(gòu)

運算通過向量寄存器進(jìn)行

需要大量高速寄存器對存儲系統(tǒng)訪問速度的要求降低2/2/202315計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)1.存儲器-存儲器結(jié)構(gòu)向量處理機(jī)中有多個高速流水線運算部件,存儲器的訪問速度是關(guān)鍵采用多個存儲體交叉和并行訪問來提高存儲器速度例如:CRAY-1有64個存儲體,每個處理機(jī)訪問4個存儲體

STAR-100采用32個存儲體交叉,每個存儲體并行讀出8個64位數(shù)據(jù)

我國研制的YH-1向量計算機(jī)有37個存儲體2/2/202316計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)操作數(shù)緩沖棧和寫結(jié)果緩沖棧主要用于解決訪問存儲器沖突。雖然采用質(zhì)數(shù)個存儲體能消除訪問存儲器的沖突,但是,數(shù)據(jù)經(jīng)過多次運算之后,在存儲體中分布必然發(fā)生改變主要優(yōu)缺點:

硬件結(jié)構(gòu)簡單,造價低;速度相對較低操作數(shù)緩沖棧寫結(jié)果緩沖棧主存

儲器流水線運算部件2/2/202317計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)2.寄存器-寄存器結(jié)構(gòu)

把存儲器-存儲器結(jié)構(gòu)中的緩沖棧改為向量寄存器

運算部件需要的操作數(shù)從向量寄存器中讀取,運算的中間結(jié)果也寫到向量寄存器中。

向量寄存器與標(biāo)量寄存器的主要差別是:

一個向量寄存器能夠保存一個向量,連續(xù)訪問一個向量的各個分量。

需要有標(biāo)量寄存器和地址寄存器等。2/2/202318計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)采用寄存器-寄存器結(jié)構(gòu)的主要優(yōu)點:

降低主存儲器的流量

例如:采用寄存器-寄存器結(jié)構(gòu)的CRAY-1與采用存儲器-存儲器結(jié)構(gòu)的STAR-100比較,運算速度高3倍多,而主存流量低2.5倍。2/2/202319計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)8個向量寄存器8×64×64主存

儲器8MB64個

個體12個流水線結(jié)構(gòu)的運算部件緩沖寄存器64×64標(biāo)量寄存器8×64緩沖寄存器64×24地址寄存器8×24指令緩沖寄存器256×16CRAY-1向量處理機(jī)結(jié)構(gòu)2/2/202320計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)有三種處理方式:橫向處理方式,又稱為水平處理方式,橫向加工方式等。向量計算是按行的方式從左至右橫向地進(jìn)行??v向處理方式,又稱為垂直處理方式,縱向加工方式等。向量計算是按列的方式自上而下縱向地進(jìn)行??v橫處理方式,又稱為分組處理方式,縱橫向加工方式等。橫向處理和縱向處理相結(jié)合的方式。6.3向量處理方式2/2/202321計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)要根據(jù)向量運算的特點和向量處理機(jī)的類型選擇向量的處理方式。以一個簡單的C語言編寫的程序為例,說明向量的三種處理方式的工作原理。

for(i=1;i<=n;i++)

y[i]=a[i]×(b[i]+c[i]);2/2/202322計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)1.橫向處理方式也稱為水平處理方式,橫向加工方式等

逐個分量進(jìn)行處理:假設(shè)中間結(jié)果為T(I)

計算第1個分量:

T(1)=B(1)+C(1)

Y(1)=A(1)×T(1)

計算第2個分量:

T(2)=B(2)+C(2)

Y(2)=A(2)×T(2)

……

計算最后一個分量:

T(N)=B(N)+C(N)

Y(N)=A(N)×T(N)2/2/202323計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)存在兩個問題:

在計算向量的每個分量時,都發(fā)生寫讀數(shù)據(jù)相關(guān)。流水線效率低

如果采用多功能流水線,必須頻繁進(jìn)行流水線切換

橫向處理方式對向量處理機(jī)不適合

即使在標(biāo)量處理機(jī)中,也經(jīng)常通過編譯器進(jìn)行指令流調(diào)度。2/2/202324計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)2.縱向處理方式也稱為垂直處理方式,縱向加工方式等

T(1)=B(1)+C(1)

T(2)=B(2)+C(2)

……

T(n)=B(n)+C(n)

Y(1)=A(1)×T(1)

Y(2)=A(2)×T(2)

……

Y(N)=A(N)×T(N)2/2/202325計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)采用向量指令只需要2條:

VADD B,C,T

VMUL A,T,Y

這種處理方式適用于向量處理機(jī)

數(shù)據(jù)相關(guān)不影響流水線連續(xù)工作。不同的運算操作只需要切換1次。這種處理方式適用于存儲器-存儲器結(jié)構(gòu)2/2/202326計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)3.縱橫處理方式用于寄存器-寄存器結(jié)構(gòu)的向量處理機(jī)中,向量寄存器的長度是有限的。當(dāng)向量長度N大于向量寄存器長度n時,需要分組處理。分組方法:N=K·n+r其中:r為余數(shù),共分K+1組。組內(nèi)采用縱向處理方式,組間采用橫向處理方式。因此,也稱為分組處理方式,縱橫向加工方式等。2/2/202327計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)運算過程為:

第1組:

T(1,n)=B(1,n)+C(1,n)

Y(1,n)=A(1,n)×T(1,n)

第2組:

T(n+1,2n)=B(n+1,2n)+C(n+1,2n)

Y(n+1,2n)=A(n+1,2n)×T(n+1,2n)

……

最后第k+1組:

T(kn+1,N)=B(kn+1,N)+C(kn+1,N)

Y(kn+1,N)=A(kn+1,N)+T(kn+1,N)2/2/202328計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)每組用兩條向量指令,每組發(fā)生相關(guān)兩次,其中組內(nèi)發(fā)生數(shù)據(jù)相關(guān)一次,組間切換時發(fā)生相關(guān)一次。主要優(yōu)點:

減少訪問主存儲器的次數(shù)

例如:中間變量T不寫入主存儲器2/2/202329計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)實際的應(yīng)用問題中通常既有向量計算又有標(biāo)量計算,而且兩類計算有一定的比例

向量平衡點(vectorbalancepoint):為了使向量硬件設(shè)備和標(biāo)量硬件設(shè)備的利用率相等,一個程序中向量代碼所占的百分比。

關(guān)鍵問題是:希望向量硬件和標(biāo)量硬件都能夠充分利用,不要空閑。6.4向量處理機(jī)的關(guān)鍵技術(shù)

6.4.1向量與標(biāo)量性能的平衡2/2/202330計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)

例如:一個系統(tǒng)的向量運算速度為90Mfolps,標(biāo)量運算速度為10Mfolps。如果程序的90%是向量運算,10%是標(biāo)量運算。則向量平衡點為0.9。硬件利用率最高。向量處理機(jī)的向量平衡點必須與用戶程序的向量化程度相匹配。IBM向量計算機(jī)的設(shè)計思想與上述方法不同,它維持較低的向量與標(biāo)量比例,定在3~5的范圍之間。這種做法能夠適應(yīng)通用應(yīng)用問題對標(biāo)量和向量處理要求。2/2/202331計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)機(jī)器型號幾種超級計算機(jī)的向量性能和標(biāo)量性能FujitsuVP400CrayISCray2SCrayX-MPCrayY-MPHitachiS820NECSX2向量性能

Mflops標(biāo)量性能

Mflops向量平衡點85.09.80.90151.511.20.93143.313.10.92201.617.00.92737.317.80.98424.29.50.98207.16.60.972/2/202332計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.4.2向量鏈接技術(shù)向量指令的類型以CRAY-1向量處理機(jī)為例,有四類指令,兩種指令格式:

(1)向量與向量操作:ViVjOPVk

(2)向量與標(biāo)量操作:ViSjOPVk

(3)向量取:Vi存儲器

(4)向量存:存儲器Vi2/2/202333計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)一種向量處理機(jī)的指令格式2/2/202334計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)向量運算中的相關(guān)和沖突向量運算中的數(shù)據(jù)相關(guān)和功能部件沖突:

采用順序發(fā)射順序完成方式

(1)寫讀數(shù)據(jù)相關(guān)。

(2)讀讀數(shù)據(jù)相關(guān),或向量寄存器沖突。

(3)運算部件沖突。V0V1+V2 V0V1+V2

V3V4×V5 V3V0×V4

(a)不相關(guān)的指令 (b)寫讀數(shù)據(jù)相關(guān)2/2/202335計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)

V0V1+V2 V0V1+V2

V3V4+V5 V3V1×V4

(c)功能部件沖突 (d)讀讀數(shù)據(jù)相關(guān)

向量鏈接技術(shù)(chaining)當(dāng)前一條指令的結(jié)果寄存器可以作為后繼指令的操作數(shù)寄存器時,多條有數(shù)據(jù)相關(guān)的向量指令并行執(zhí)行,這種技術(shù)稱為兩條流水線的鏈接技術(shù)。2/2/202336計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)例如:有如下3條向量指令:

1:V3A

2:V2V0+V1

3:V4V2×V3第1、2條指令沒有數(shù)據(jù)相關(guān)和功能部件沖突,可以同時開始執(zhí)行。第3條指令與第1、2條指令均存在寫讀數(shù)據(jù)相關(guān),可以鏈接執(zhí)行。2/2/202337計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)浮點加7123456MemV0V1V2V3V4123456123456浮點乘2/2/202338計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)三種執(zhí)行方式比較:(1)如果向量長度為N,三條指令采用串行方法執(zhí)行的時間為:

[(1+6+1)+N-1]+[(1+6+1)+N-1]+[(1+7+1)+N-1]=3N+22拍(2)如果前兩條指令并行執(zhí)行,第三條指令串行執(zhí)行,則執(zhí)行時間為:

[(1+6+1)+N-1]+[(1+7+1)+N-1]=2N+15拍(3)如果采用鏈接技術(shù),則執(zhí)行時間為:

(1+6+1)+(1+7+1)+(N-1)=17+N-1=N+16拍2/2/202339計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)實現(xiàn)鏈接的條件:(1)沒有向量寄存器沖突和運算部件沖突。(2)只有第一個結(jié)果送入向量寄存器的那一個周期可以鏈接。(3)先行的兩條指令產(chǎn)生運算結(jié)果的時間必須相等。(4)兩條向量指令的向量長度必須相等。2/2/202340計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.4.3向量循環(huán)開采技術(shù)當(dāng)向量的長度大于向量寄存器的長度時,必須把長向量分成長度固定的段,采用循環(huán)結(jié)構(gòu)處理這個長向量,這種技術(shù)稱為向量循環(huán)開采技術(shù),也稱為向量分段開采技術(shù)。例6.2:A和B為長度N的向量。 for(i=1;i<N;i++)a[i]=5*b(i)+c;當(dāng)向量長度N為64或更小時,計算A數(shù)組的7條指令序列是:2/2/202341計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī) 1:S15.0 在標(biāo)量寄存器內(nèi)設(shè)置常數(shù) 2:S2C 將常數(shù)C裝入標(biāo)量寄存器 3:VLN 在VL寄存器內(nèi)設(shè)置向量長度 4:VoB 將B向量讀入向量寄存器 5:V1S1

VoB數(shù)組的每個分量乘常數(shù) 6:V2S2+V1C和5B(x)相加 7:AV2

將結(jié)果向量存入A數(shù)組當(dāng)N超過64時,要采用向量循環(huán)開采技術(shù)。

在進(jìn)入循環(huán)前,把N除以64,確定循環(huán)次數(shù)。 如果有余數(shù),則在第一次循環(huán)中首先計算。2/2/202342計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)第4條到第7條指令組成循環(huán)1:S15.0 在標(biāo)量寄存器內(nèi)設(shè)置常數(shù) 2:S2C 將常數(shù)C裝入標(biāo)量寄存器 3:VLN 在VL寄存器內(nèi)設(shè)置向量長度

for(i=0;i>=N/64;i++){

4:VoB 將B向量讀入向量寄存器

5:V1S1

VoB數(shù)組的每個分量乘常數(shù)

6:V2S2+V1C和5B(x)相加

7:AV2

將結(jié)果向量存入A數(shù)組

}2/2/202343計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.4.4向量遞歸技術(shù)向量指令一般為3地址,但遞歸運算用兩地址。用遞歸向量技術(shù)求和:V0V0+V1C0和C1分別是與向量寄存器V0和V1相關(guān)的分量計數(shù)器。初始時,計數(shù)器C0和C1都置成0,V00中的初始值也置成0。浮點加法流水線的延遲時間為8個周期。假定向量長度為64,只作一個向量循環(huán)。在開始的8個周期,計數(shù)器C0一直為0,在此之后,每個周期期加1。C1每個周期加1。2/2/202344計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)V00=V00+V10=0+V10V01=V00+V11=0+V11……V07=V00+V17=0+V17V08=V00+V18=V10+V18……V015=V07+V115=V17+V115

V016=V08+V116=V10+V18+V116……V056=V048+V156=V10+V18+V116+V124+V132+V140+V148+V156 ……V063=V055+V163=V17+V115+V123+V131+V139+V147+V155+V163經(jīng)過8次運算,得到8個結(jié)果,分別是8個數(shù)的和第1次加法第2次加法第8次加法2/2/202345計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.5向量處理機(jī)實例 6.5.1典型向量處理機(jī) 6.5.2CRAYY-MP向量處理機(jī) 6.5.3向量協(xié)處理器2/2/202346計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)向量處理機(jī)主要出自美國和日本。美國著名的向量計算機(jī)公司有:CRAYCDCTI等日本公司有:NECFujitsuHitachi等6.5.1典型的向量處理機(jī)2/2/202347計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)機(jī)器型號美國和日本制造的向量處理機(jī)CrayIS配置特點有10條流水線的

單處理機(jī),12.5

ns,COS/CF7

2.1第一臺基于ECL

的超級計算機(jī),

1976年問世典型向量處理機(jī)Cray2S/4-256256M字存儲器

的4臺處理機(jī),

4.lns,COS或

UNIX/CF773.016K字的本地存

儲器,移植了

UNIXV,

1985問世2/2/202348計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)機(jī)器型號CrayX-MP416配置特點16M字存儲器的

4臺處理機(jī),128

M字SSD,8.5ns,

COSCF775.0使用共享寄存器

組用于IPC,

1983年問世CrayY-MP832128M字存儲器的

8臺處理機(jī),6ns,

CF775.0X-MP的改進(jìn)

型,1988年問世每臺處理機(jī)2條

向量流水線,16

臺處理機(jī),4.2ns,

Unicos/CF775.0Cray

Y-MP

C-90最大的Cray機(jī)器1991年問世2/2/202349計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)機(jī)器型號CDCCyber205配置特點有4條流水線的

單處理機(jī),20ns,

虛擬OS/FTN200存儲器到存儲器

系統(tǒng)結(jié)構(gòu),

1982年問世ETA10E單處理機(jī),

10.5ns,ETAV/FTN200Cyber205的后

繼型號,

1985年問世每臺處理機(jī)4組

流水線,4臺處理

機(jī),2.9ns,F77SX,

22GflopsNECSX-X/441991年問世2/2/202350計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)機(jī)器型號FujitsuVP2600/10配置特點5條流水線的單

處理機(jī)和雙標(biāo)量

處理機(jī),3.2ns,

MSP.EX

/F77EX/VP使用可重構(gòu)微

向量寄存器和

屏蔽,

1991年問世512MB存儲器,

18條流水線的單

處理機(jī),4ns,

FORT77/HAP

V23-OCHitachi820/8064個通道,最大

傳輸速率

288MB/S,

1988年問世2/2/202351計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.5.2CRAYY-MP向量處理機(jī)由1至8個處理機(jī)組成,共享中央存儲器、I/O子系統(tǒng)、處理機(jī)通信子系統(tǒng)和實時鐘。中央存儲器由256個交叉訪問的存儲體組成。每個處理機(jī)對4個存儲器端口交叉訪問。CPU的時鐘周期為6ns。每個CPU由14個功能部件組成,分為向量、標(biāo)量、地址和控制四個子系統(tǒng)。使用了大量地址寄存器、標(biāo)量寄存器、向量寄存器、中間寄存器和臨時寄存器??梢詫崿F(xiàn)功能流水線靈活的鏈接。I/O子系統(tǒng)支持三類通道,傳輸速率分別為6兆字節(jié)/秒,100兆字節(jié)/秒和1G字節(jié)/秒。2/2/202352計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)536.5.3向量協(xié)處理器以中小型機(jī)或微機(jī)作主機(jī),向量處理部件作為外圍設(shè)備,加速向量的處理速度。向量協(xié)處理器是為中小型用戶設(shè)計的,解決科學(xué)計算中大量向量處理任務(wù)的一種裝置。FPS-164是最典型的向量協(xié)處理器,美國浮點系統(tǒng)公司生產(chǎn)。每個向量處理器有兩個乘加部件,兩組向量寄存器,兩組標(biāo)量寄存器。向量寄存器有2組4個2K個操作數(shù),每個操作數(shù)4個字節(jié)。各向量處理器同步地運算,但它們處理的數(shù)據(jù)各不相同。向量操作可以和標(biāo)量處理器中的標(biāo)量操作同時進(jìn)行2/2/202354計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)

FPS-164向量協(xié)處理器的結(jié)構(gòu)

2/2/202355計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)6.6向量處理機(jī)的性能評價衡量向量處理機(jī)性能的主要指標(biāo)有:

向量指令處理時間Tvp、最大性能R、半性能向量長度n1/2等。1.向量指令處理時間Tvp執(zhí)行一條長度為n的向量指令的時間Tvp表示為:

Tvp=Ts

+Tvf

+(n-1)Tc 其中:Ts為向量流水線的建立時間。 Tvf為向量流水線的流過時間。Tc為流水線“瓶頸”段的執(zhí)行時間。2/2/202356計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)如果每段執(zhí)行時間都等于一個時鐘周期,則有:

Tvp=[s+e+(n-1)] 其中:s為向量流水線建立所需的時鐘周期數(shù)。 e為向量流水線流過所需的時鐘周期數(shù)。 n為向量長度。為時鐘周期長度。通常把幾條能在一個時鐘周期內(nèi)同時開始執(zhí)行的向量指令稱為一個編隊(Chime)。同一個編隊中的指令不存在功能部件沖突和數(shù)據(jù)相關(guān)。2/2/202357計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)例6.3:假設(shè)一臺向量處理機(jī)中功能部件的啟動開銷為:取數(shù)和存數(shù)部件12個時鐘周期、乘法部件7個時鐘周期、加法部件6個時鐘周期。先把下列向量操作分成編隊,然后計算每個編隊的開始時間、獲得第一個結(jié)果元素的時間和獲得最后一個結(jié)果元素的時間。LVV1,Rx;取向量xMULTSVV2,F(xiàn)0,V1;向量和標(biāo)量相乘 LVV3,Ry;取向量Y ADDVV4,V2,V3;加法 SVRy,V4;存結(jié)果2/2/202358計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)解:第一條指令LV為第1個編隊。 MULTSV指令和第2條LV指令為第2個編隊。 ADDV指令為第3個編隊。 SV指令為第4個編隊。 如果向量長度為n,則每個編隊的開始時間、獲得第一個結(jié)果元素和最后一個結(jié)果元素時間如下表所示:2/2/202359計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)如果有3個訪問存儲器部件,并且不考慮控制的復(fù)雜性,采用向量鏈接技術(shù),只需要:12+7+6+12+n–1=36+n個周期。如果考慮向量長度大于向量寄存器長度時,則需要分段開采。 向量長度為n的一組向量操作的整個執(zhí)行時間為: 其中:Tloop為執(zhí)行標(biāo)量代碼的開銷, Tstart為每個編隊的向量啟動開銷,MVL是向量寄存器的長度, Tloop是一個常數(shù),在Cray1中機(jī)為15。2/2/202360計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)例6.5:在一臺向量處理機(jī)上實現(xiàn)A=B×s操作,其中A和B是長度為200的向量,s是一個標(biāo)量。向量寄存器長度為64。各功能部件的啟動時間與上例相同。求總的執(zhí)行時間。解:因為向量長度超過了向量寄存器的長度,所以要采取分段開采方法。每次循環(huán)主要由下面三條向量指令組成:LV V1,Rb ;取向量BMULTVSV2,V1,F(xiàn)s;向量和標(biāo)量相乘SV Ra,V2 ;存向量 假設(shè)A和B分別放在Ra和Rb之中,s放在Fs中2/2/202361計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)三條指令之間存在有寫讀數(shù)據(jù)相關(guān),因此必須把它們分成3個編隊,Tchime=3。

T200=4×(15+Tstart)+200×3=60+(4×Tstart)+600 =660+(4×Tstart) 其中:Tstart=12+7+12=31,因此,T200=660+4×31=784每個結(jié)果元素的平均執(zhí)行時間為:768/200=3.9個周期。2/2/202362計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)例6.6:在某臺向量處理機(jī)上的執(zhí)行代碼由如下5條指令組成: 1:LVV1,Rx ;取向量x 2:MULTSVV2,F(xiàn)0,V1 ;向量和標(biāo)量相乘 3:LVV3,Ry ;取向量Y 4:ADDVV4,V2,V3 ;加法 5:SVRy,V4 ;存結(jié)果 主要參數(shù)與上例相同,求總的執(zhí)行時間。2/2/202363計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)解:指令1、2,指令3、4和指令5分成三個編隊,前兩個編隊中兩條指令采用向鏈接技術(shù)執(zhí)行。 Tchime=3,Tloop=15,Tstart=12+7+12+6+12=49,MVL=64。2/2/202364計算機(jī)系統(tǒng)結(jié)構(gòu)第六章向量處理機(jī)2.最大性能RR表示當(dāng)向量長度為無窮大時的向量流水線的最大性能。常在評價峰值性能時使用。 其中:n為向量長度; Tn為一組向量操作的整

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論