計算機系統(tǒng)結(jié)構(gòu)向量處理機_第1頁
計算機系統(tǒng)結(jié)構(gòu)向量處理機_第2頁
計算機系統(tǒng)結(jié)構(gòu)向量處理機_第3頁
計算機系統(tǒng)結(jié)構(gòu)向量處理機_第4頁
計算機系統(tǒng)結(jié)構(gòu)向量處理機_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機系統(tǒng)結(jié)構(gòu)向量處理機第一頁,共四十五頁,編輯于2023年,星期五計算機系統(tǒng)結(jié)構(gòu)第一章基本概念第二章指令系統(tǒng)第三章存儲系統(tǒng)第四章輸入輸出系統(tǒng)第五章標量處理機第六章向量處理機第七章互連網(wǎng)絡第八章并行處理機和 多處理機第二頁,共四十五頁,編輯于2023年,星期五第六章向量處理機6.1向量數(shù)據(jù)表示方式6.2向量處理機的結(jié)構(gòu)6.3向量處理方式6.4向量處理機的關(guān)鍵技術(shù)6.5向量處理機實例6.6

向量處理機的性能評價6.7向量處理機的發(fā)展第三頁,共四十五頁,編輯于2023年,星期五6.1向量數(shù)據(jù)表示方式向量處理機是解決數(shù)值計算問題的一種高性能計算機結(jié)構(gòu)向量處理機一般都采用流水線結(jié)構(gòu),有多條流水線并行工作向量處理機通常屬大型或巨型機,也可以用微機加一臺向量協(xié)處理器組成一般向量計算機中包括有一臺高性能標量處理機必須把要解決的問題轉(zhuǎn)化為向量運算,向量處理機才能充分發(fā)揮作用第四頁,共四十五頁,編輯于2023年,星期五6.1向量數(shù)據(jù)6.1.1從標量到向量第五頁,共四十五頁,編輯于2023年,星期五6.1.1從標量到向量例如:一個簡單的C語言程序如下:

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

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

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

一條向量指令可處理N個或N對操作數(shù)在標量處理機上用10多條指令,其中有8條指令要循環(huán)1000次。

采用多寄存器結(jié)構(gòu)的兩地址指令編寫程序。第六頁,共四十五頁,編輯于2023年,星期五

存儲器采用字節(jié)編址方式,字長為32位

在一般標量處理機中需要如下指令序列來實現(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)存地址增量,

;常數(shù)4

MOVE R3, R2 MUL R3, R0 ;向量偏移量, ;初始值為40LOOP: LOAD R4, A(R3) ;讀A向量的

;一個元素第七頁,共四十五頁,編輯于2023年,星期五

LOAD R5, B(R3) ;讀B向量的一個元素

ADD R4, R5 STORE R4, C(R3) ;寫C向量的一個元素

ADD R3, R2 ;改變向量偏移量

INC R0 ;循環(huán)次數(shù)增1

CMP R0, R1 ;循環(huán)是否結(jié)束

BLE LOOP ;循環(huán)未結(jié)束轉(zhuǎn)LOOP, ;否則繼續(xù)

HALTST: 10 ;循環(huán)初值ED: 1010 ;循環(huán)終值L: 4 ;內(nèi)存地址增量第八頁,共四十五頁,編輯于2023年,星期五第六章向量處理機6.1向量數(shù)據(jù)表示方式6.2向量處理機的結(jié)構(gòu)6.3向量處理方式6.4向量處理機的關(guān)鍵技術(shù)6.5向量處理機實例6.6

向量處理機的性能評價6.7向量處理機的發(fā)展第九頁,共四十五頁,編輯于2023年,星期五6.2向量處理機結(jié)構(gòu)向量處理機的最關(guān)鍵問題是存儲器系統(tǒng)能夠滿足運算部件帶寬的要求。主要采用兩種方法:

1.存儲器-存儲器結(jié)構(gòu)

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

處理機結(jié)構(gòu)簡單,對存儲系統(tǒng)的

訪問速度要求很高

2.寄存器-寄存器結(jié)構(gòu)

運算通過向量寄存器進行

需要大量高速寄存器,對存儲系

統(tǒng)訪問速度的要求降低第十頁,共四十五頁,編輯于2023年,星期五6.2.1存儲器-存儲器結(jié)構(gòu)向量處理機中有多個高速流水線運算部件,存儲器的訪問速度是關(guān)鍵采用多個存儲體交叉和并行訪問來提高存儲器速度,例如:

CRAY-1有64個存儲體,每個處理機訪問4個存儲體

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

我國研制的YH-1向量計算機有37個存儲體第十一頁,共四十五頁,編輯于2023年,星期五操作數(shù)緩沖棧和寫結(jié)果緩沖棧主要用于解決訪問存儲器沖突

雖然采用質(zhì)數(shù)個存儲體能消除訪問存儲器的沖突,但是,數(shù)據(jù)經(jīng)過多次運算之后,在存儲體中分布必然發(fā)生改變主要優(yōu)缺點:

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

儲器流水線運算部件第十二頁,共四十五頁,編輯于2023年,星期五6.2.2寄存器-寄存器結(jié)構(gòu)把存儲器-存儲器結(jié)構(gòu)中的緩沖棧改為向量寄存器,運算部件需要的操作數(shù)從向量寄存器中讀取,運算的中間結(jié)果也寫到向量寄存器中。向量寄存器與標量寄存器的主要差別是:

一個向量寄存器能夠保存一個向量,

例如:64個64位寄存器。

連續(xù)訪問一個向量的各個分量。需要有標量寄存器和地址寄存器等。第十三頁,共四十五頁,編輯于2023年,星期五采用寄存器-寄存器結(jié)構(gòu)的主要優(yōu)點:降低主存儲器的流量。

例如:采用寄存器-寄存器結(jié)構(gòu)的CRAY-1與采用存儲器-存儲器結(jié)構(gòu)的STAR-100比較,運算速度高3倍多,而主存流量低2.5倍。

STAR-100的主存儲器流量:32×8W/1.28us=200MW/S

CRAY-1的主存儲器流量:4W/50ns=80MW/S第十四頁,共四十五頁,編輯于2023年,星期五計算機系統(tǒng)結(jié)構(gòu)(第21講)

第十五頁,共四十五頁,編輯于2023年,星期五第六章向量處理機6.1向量數(shù)據(jù)表示方式6.2向量處理機的結(jié)構(gòu)6.3向量處理方式6.4向量處理機的關(guān)鍵技術(shù)6.5向量處理機實例6.6

向量處理機的性能評價6.7向量處理機的發(fā)展第十六頁,共四十五頁,編輯于2023年,星期五6.2向量處理機結(jié)構(gòu)向量處理機的最關(guān)鍵問題是存儲器系統(tǒng)能夠滿足運算部件帶寬的要求。主要采用兩種方法:

1.存儲器-存儲器結(jié)構(gòu)

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

處理機結(jié)構(gòu)簡單,對存儲系統(tǒng)的

訪問速度要求很高

2.寄存器-寄存器結(jié)構(gòu)

運算通過向量寄存器進行

需要大量高速寄存器,對存儲系

統(tǒng)訪問速度的要求降低第十七頁,共四十五頁,編輯于2023年,星期五6.2.1存儲器-存儲器結(jié)構(gòu)向量處理機中有多個高速流水線運算部件,存儲器的訪問速度是關(guān)鍵采用多個存儲體交叉和并行訪問來提高存儲器速度,例如:

CRAY-1有64個存儲體,每個處理機訪問4個存儲體

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

我國研制的YH-1向量計算機有37個存儲體第十八頁,共四十五頁,編輯于2023年,星期五采用寄存器-寄存器結(jié)構(gòu)的主要優(yōu)點:降低主存儲器的流量。

例如:采用寄存器-寄存器結(jié)構(gòu)的CRAY-1與采用存儲器-存儲器結(jié)構(gòu)的STAR-100比較,運算速度高3倍多,而主存流量低2.5倍。

STAR-100的主存儲器流量:32×8W/1.28us=200MW/S

CRAY-1的主存儲器流量:4W/50ns=80MW/S第十九頁,共四十五頁,編輯于2023年,星期五8個向量寄存器8×64×64主存

儲器8MB64個

個體12個流水線結(jié)構(gòu)的運算部件緩沖寄存器64×64標量寄存器8×64緩沖寄存器64×24地址寄存器8×24指令緩沖寄存器256×16CRAY-1向量處理機結(jié)構(gòu)第二十頁,共四十五頁,編輯于2023年,星期五第六章向量處理機6.1向量數(shù)據(jù)表示方式6.2向量處理機的結(jié)構(gòu)6.3向量處理方式6.4向量處理機的關(guān)鍵技術(shù)6.5向量處理機實例6.6

向量處理機的性能評價6.7向量處理機的發(fā)展第二十一頁,共四十五頁,編輯于2023年,星期五6.3向量處理方式要根據(jù)向量運算的特點和向量處理機的類型選擇向量的處理方式。有三種處理方式:

1.橫向處理方式,又稱為水平處理方式,橫向加工方式等。向量計算是按行的方式從左至右橫向地進行。

2.縱向處理方式,又稱為垂直處理方式,縱向加工方式等。向量計算是按列的方式自上而下縱向地進行。

3.縱橫處理方式,又稱為分組處理方第二十二頁,共四十五頁,編輯于2023年,星期五

式,縱橫向加工方式等。橫向處理和縱向處理相結(jié)合的方式。

以一個簡單的C語言編寫的程序為例,說明向量的三種處理方式的工作原理。

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

y[i]=a[i]×(b[i]+c[i]);第二十三頁,共四十五頁,編輯于2023年,星期五6.3.1橫向處理方式也稱為水平處理方式,橫向加工方式等

逐個分量進行處理:假設中間結(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)第二十四頁,共四十五頁,編輯于2023年,星期五存在兩個問題:

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

如果采用多功能流水線,必須頻繁進行流水線切換

橫向處理方式對向量處理機不適合

即使在標量處理機中,也經(jīng)常通過編譯器進行指令流調(diào)度。第二十五頁,共四十五頁,編輯于2023年,星期五6.3.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)第二十六頁,共四十五頁,編輯于2023年,星期五采用向量指令只需要2條:

VADD B,C,T

VMUL A,T,Y

這種處理方式適用于向量處理機

數(shù)據(jù)相關(guān)不影響流水線連續(xù)工作。

不同的運算操作只需要切換1次。第二十七頁,共四十五頁,編輯于2023年,星期五6.3.3縱橫處理方式用于寄存器-寄存器結(jié)構(gòu)的向量處理機中

向量寄存器的長度是有限的,例如,每個向量寄存器有64個寄存器。當向量長度N大于向量寄存器長度n時,需要分組處理。分組方法:N=K·n+r,其中:r為余數(shù),共分K+1組。

組內(nèi)采用縱向處理方式,組間采用橫向處理方式。因此,也稱為分組處理方式,縱橫向加工方式等。第二十八頁,共四十五頁,編輯于2023年,星期五計算機系統(tǒng)結(jié)構(gòu)(第22講)

第二十九頁,共四十五頁,編輯于2023年,星期五6.3.3縱橫處理方式用于寄存器-寄存器結(jié)構(gòu)的向量處理機中

向量寄存器的長度是有限的,例如,每個向量寄存器有64個寄存器。當向量長度N大于向量寄存器長度n時,需要分組處理。分組方法:N=K·n+r,其中:r為余數(shù),共分K+1組。

組內(nèi)采用縱向處理方式,組間采用橫向處理方式。因此,也稱為分組處理方式,縱橫向加工方式等。第三十頁,共四十五頁,編輯于2023年,星期五運算過程為:

第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)第三十一頁,共四十五頁,編輯于2023年,星期五每組用兩條向量指令,每組發(fā)生數(shù)據(jù)相關(guān)兩次,其中組內(nèi)發(fā)生數(shù)據(jù)相關(guān)一次,組間切換時發(fā)生數(shù)據(jù)相關(guān)一次。優(yōu)點:減少訪問主存儲器的次數(shù)

例如:中間變量T不寫入主存儲器。第三十二頁,共四十五頁,編輯于2023年,星期五第六章向量處理機6.1向量數(shù)據(jù)表示方式6.2向量處理機的結(jié)構(gòu)6.3向量處理方式6.4向量處理機的關(guān)鍵技術(shù)6.5向量處理機實例6.6

向量處理機的性能評價6.7向量處理機的發(fā)展第三十三頁,共四十五頁,編輯于2023年,星期五6.4向量處理機的關(guān)鍵技術(shù)6.4.1向量與標量性能的平衡6.4.2向量鏈接技術(shù)第三十四頁,共四十五頁,編輯于2023年,星期五6.4.1向量與標量性能的平衡實際的應用問題中通常既有向量計算又有標量計算,而且兩類計算有一定的比例向量平衡點(vectorbalancepoint):

為了使向量硬件設備和標量硬件設備的利用率相等,一個程序中向量代碼所占的百分比。關(guān)鍵問題是:希望向量硬件和標量硬件都能夠充分利用,不要空閑。

例如:一個系統(tǒng)的向量運算速度為90Mfolps,標量運算速度為10Mfolps。第三十五頁,共四十五頁,編輯于2023年,星期五

如果程序的90%是向量運算,10%是標量運算。則向量平衡點為0.9。硬件利用率最高。向量處理機的向量平衡點必須與用戶程序的向量化程度相匹配。IBM向量計算機的設計思想與上述方法不同,它維持較低的向量與標量比例,定在3~5的范圍之間。這種做法能夠適應通用應用問題對標量和向量處理要求。第三十六頁,共四十五頁,編輯于2023年,星期五機器型號幾種超級計算機的向量性能和標量性能FujitsuVP400CrayISCray2SCrayX-MPCrayY-MPHitachiS820NECSX2向量性能

Mflops標量性能

Mflops向量平衡點85.09.80.90151.511.20.93143.313.10.92201.617.00.92737.317.80.98424.29.50.98207.16.60.97第三十七頁,共四十五頁,編輯于2023年,星期五6.4.2向量鏈接技術(shù)1、向量指令的類型以CRAY-1向量處理機為例,有四類指令,兩種指令格式

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

(2)向量與標量操作, ViSjOPVk

(3)向量取, Vi存儲器

(4)向量存, 存儲器

Vi第三十八頁,共四十五頁,編輯于2023年,星期五CRAY向量處理機的指令格式ghijk4位3位3位3位3位g,h為操作碼,i為目的寄存器編號j,k為源寄存器編號ghijkg為操作碼,h為變址寄存器A的編號i為目的寄存器編號,j,k,m為形式地址m4位3位3位3位3位16位第三十九頁,共四十五頁,編輯于2023年,星期五2、向量運算中的相關(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)第四十頁,共四十五頁,編輯于2023年,星期五 V0V1+V2 V0V1+V2

V3V4+V5 V3V1×V4

溫馨提示

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

評論

0/150

提交評論