![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-7/15/7/ed8334e9-6750-4616-8b86-cc82c40ea1bb/ed8334e9-6750-4616-8b86-cc82c40ea1bbpic.jpg)
![計算機系統(tǒng)結構第六章向量處理機_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-7/15/7/ed8334e9-6750-4616-8b86-cc82c40ea1bb/ed8334e9-6750-4616-8b86-cc82c40ea1bb1.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第6章 向量處理機,包仲賢蘭州蘭州理工大學計算機與通信學院,2024年3月10日星期日,計算機系統(tǒng)結構 第六章 向量處理機,1,6.1 向量數(shù)據(jù)表示方式6.2 向量處理機的結構6.3 向量處理方式6.4 向量處理機的關鍵技術6.5 向量處理機實例,第6章 向量處理機,具有向量數(shù)據(jù)表示和向量指令系統(tǒng)的處理機向量處理機是解決數(shù)值計算問題的一種高性能計算機向量處理機屬大型或巨型機,也可以用微機加一臺向量協(xié)處理
2、器組成向量處理機一般都采用流水線結構,通常有有多條并行工作的流水線必須把要解決的問題轉化為向量運算,才能發(fā)揮向量處理機的效率,6.1 向量數(shù)據(jù)表示方式,6.1.1 從標量到向量6.1.2 等間距向量表示法6.1.3 帶位移量的向量表示法6.1.4 稀疏向量表示法,例6.1:一個簡單的C語言程序如下:for (i = 10; i <= 1010; i++) c[i] = a[i] + b[i+5] ;在向量
3、處理機上, 可以只用一條指令:C(10:1010)=A(10:1010) + B(15 :1015)一條向量指令可處理N個或N對操作數(shù)在標量處理機上用10多條指令,其中有8條指令要循環(huán)1000次。采用多寄存器結構的兩地址指令編寫程序存儲器采用字節(jié)編址方式,字長為32位,6.1.1 從標量到向量,在一般標量處理機中需要如下指令序列來實現(xiàn)(A、B、C分別是向量a、b、c在內(nèi)存中的起始地址):,START:LOADR0,ST
4、 ;讀循環(huán)初值10LOADR1,ED ;讀循環(huán)終值1010LOADR2,L ;讀內(nèi)存地址增量4MOVER3,R2MULR3,R0 ;計算向量偏移量, ;初始值為40LOOP:LOADR4,A(R3) ;讀A向量的一個元素,LOADR5, B(R3) ;讀B向量的一個元素
5、 ADDR4, R5 ;加一個元素 STORER4, C(R3) ;寫C向量的一個元素 ADDR3, R2 ;改變向量偏移量 INCR0 ;循環(huán)次數(shù)增1 CMPR0, R1 ;循環(huán)是否結束 BLELOOP ;循環(huán)未結束轉LOOP, ;否則繼續(xù) HALT
6、 ;停機ST: 10 ;循環(huán)初值ED: 1010 ;循環(huán)終值L: 4 ;內(nèi)存地址增量,6.1.2 等間距向量表示法,三個參數(shù)表示一個等間距向量:向量起始地址:A向量長度:L向量間距:f,例如:我國研制的銀河向量機,有8個向量寄存器V0~V7,每個向量寄存器由64個64位的寄存器組成,存儲器字長64位,采用字節(jié)
7、編址方式,則連續(xù)向量的間距為 f=8。向量指令采用三地址形式:例如:Vi ? Vj OP Vk,向量長度(VL)= 50,則實際完成的運算是:V3,00~V3,49與V5,00~V5,49分別相加, 結果放在V1,00~V1,49中。,6.1.3 帶位移量的向量表示法,用三個參數(shù)表示一個向量: 向量基地址:A 向量長度:L 向量位移量:f向量有效長度:L-f 向量起始地址:A+f優(yōu)點:
8、每個向量可以帶有位移,能夠通過控制向量實現(xiàn)可變增量。 能夠表示稀疏向量。,帶位移量的向量表示法,6.1.4 稀疏向量表示法,定義:0元素很多,非0元素很少的向量稱為稀疏向量采用壓縮方法存儲稀疏向量可以節(jié)省存儲空間??梢赃€原之后進行運算,也可以用壓縮方法直接進行運算,6.2 向量處理機的結構,主要采用兩種方法:存儲器-存儲器結構多個獨立的存儲器模塊并行工作處理機結構簡單 對存儲系統(tǒng)的訪問速度要求很高寄存器-寄存器
9、結構運算通過向量寄存器進行需要大量高速寄存器 對存儲系統(tǒng)訪問速度的要求降低,1. 存儲器-存儲器結構 向量處理機中有多個高速流水線運算部件, 存儲器的訪問速度是關鍵 采用多個存儲體交叉和并行訪問來提高存 儲器速度 例如:CRAY-1有64個存儲體,每個處理機訪問4個存儲體 STAR-100采用32個存儲體交叉,每個存儲體并行讀出8個64位數(shù)據(jù) 我國研制的YH-1向量計算機有37個存儲
10、體,操作數(shù)緩沖棧和寫結果緩沖棧主要用于解決訪問存儲器沖突。雖然采用質(zhì)數(shù)個存儲體能消除訪問存儲器的沖突,但是,數(shù)據(jù)經(jīng)過多次運算之后,在存儲體中分布必然發(fā)生改變主要優(yōu)缺點: 硬件結構簡單, 造價低;速度相對較低,操作數(shù)緩沖棧,寫結果緩沖棧,主存儲器,流水線運算部件,,,,,,2. 寄存器-寄存器結構 把存儲器-存儲器結構中的緩沖棧改為向量 寄存器 運算部件需要的操作數(shù)從向量寄存器中讀取, 運算的中間結
11、果也寫到向量寄存器中。 向量寄存器與標量寄存器的主要差別是: 一個向量寄存器能夠保存一個向量, 連續(xù)訪問一個向量的各個分量。 需要有標量寄存器和地址寄存器等。,采用寄存器-寄存器結構的主要優(yōu)點: 降低主存儲器的流量 例如:采用寄存器-寄存器結構的CRAY-1與采用存儲器-存儲器結構的STAR-100比較, 運算速度高3倍多, 而主存流量低2.5倍。,8個向量寄存器8×64
12、15;64,主存儲器8MB64個個體,12個流水線結構的運算部件,緩沖寄存器64×64,標量寄存器8×64,緩沖寄存器64×24,地址寄存器8×24,指令緩沖寄存器256×16,,,,,,,,,,CRAY-1向量處理機結構,6.3 向量處理方式,有三種處理方式: 橫向處理方式,又稱為水平處理方式,橫向加工方式等。向量計算是按行的方式從左至右橫向地進行。
13、縱向處理方式,又稱為垂直處理方式,縱向加工方式等。向量計算是按列的方式自上而下縱向地進行??v橫處理方式,又稱為分組處理方式,縱橫向加工方式等。橫向處理和縱向處理相結合的方式。,要根據(jù)向量運算的特點和向量處理機的類型選擇向量的處理方式。以一個簡單的C語言編寫的程序為例,說明向量的三種處理方式的工作原理。 for (i = 1;i <= n;i++) y[i] = a[i] ×( b[i] + c[i] );,1
14、. 橫向處理方式也稱為水平處理方式,橫向加工方式等逐個分量進行處理:假設中間結果為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(
15、N)Y(N)=A(N)×T(N),存在兩個問題: 在計算向量的每個分量時,都發(fā)生寫讀數(shù)據(jù)相關。流水線效率低 如果采用多功能流水線,必須頻繁進行流水線切換 橫向處理方式對向量處理機不適合 即使在標量處理機中,也經(jīng)常通過編譯器進行指令流調(diào)度。,2. 縱向處理方式 也稱為垂直處理方式,縱向加工方式等T(1) = B(1) + C(1)T(2) = B(2) + C(2)……T(n
16、) = B(n) + C(n)Y(1) = A(1)×T(1)Y(2) = A(2)×T(2)……Y(N) = A(N) ×T(N),采用向量指令只需要2條: VADDB, C, T VMULA, T, Y 這種處理方式適用于向量處理機 數(shù)據(jù)相關不影響流水線連續(xù)工作。 不同的運算操作只需要切換1次。 這種處理方式適用于存儲器-存儲
17、器結構,3. 縱橫處理方式用于寄存器-寄存器結構的向量處理機中,向量寄存器的長度是有限的。當向量長度N大于向量寄存器長度n時,需要分組處理。 分組方法:N=K·n+r 其中:r為余數(shù), 共分K+1組。 組內(nèi)采用縱向處理方式,組間采用橫向處理方式。因此,也稱為分組處理方式,縱橫向 加工方式等。,運算過程為: 第1組:T(1, n) = B(1, n) +
18、 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),每
19、組用兩條向量指令, 每組發(fā)生相關兩次, 其中組內(nèi)發(fā)生數(shù)據(jù)相關一次, 組間切換時發(fā)生相關一次。 主要優(yōu)點: 減少訪問主存儲器的次數(shù) 例如:中間變量T不寫入主存儲器,6.4 向量處理機的關鍵技術6.4.1 向量與標量性能的平衡,實際的應用問題中通常既有向量計算又有標 量計算,而且兩類計算有一定的比例 向量平衡點(vector balance point):為了使向 量硬件設備和標量硬
20、件設備的利用率相等, 一個程序中向量代碼所占的百分比。 關鍵問題是:希望向量硬件和標量硬件都能 夠充分利用,不要空閑。,例如:一個系統(tǒng)的向量運算速度為90Mfolps, 標量運算速度為10Mfolps。如果程序的90% 是向量運算,10%是標量運算。則向量平衡 點為0.9。硬件利用率最高。 向量處理機的向量平衡點必須與用戶程序的 向量化程度相匹配。 IBM向量計算機的設計思想與上述
21、方法不同, 它維持較低的向量與標量比例,定在3~5的 范圍之間。這種做法能夠適應通用應用問題 對標量和向量處理要求。,機器型號,幾種超級計算機的向量性能和標量性能,Fujitsu VP400,Cray IS,Cray 2S,Cray X-MP,Cray Y-MP,Hitachi S820,NEC SX2,向量性能Mflops,標量性能Mflops,向量平衡點,85.0,9.8,0.90,151.5,11.2,
22、0.93,143.3,13.1,0.92,201.6,17.0,0.92,737.3,17.8,0.98,424.2,9.5,0.98,207.1,6.6,0.97,6.4.2 向量鏈接技術,向量指令的類型 以CRAY-1向量處理機為例, 有四類指令,兩種指令格式:(1) 向量與向量操作:Vi?Vj OP Vk(2) 向量與標量操作:Vi ? Sj OP Vk(3) 向量?。篤i?存儲器(4) 向量存:存儲器
23、? Vi,一種向量處理機的指令格式,向量運算中的相關和沖突 向量運算中的數(shù)據(jù)相關和功能部件沖突: 采用順序發(fā)射順序完成方式 (1)寫讀數(shù)據(jù)相關。 (2)讀讀數(shù)據(jù)相關,或向量寄存器沖突。 (3)運算部件沖突。 V0 ? V1+V2V0 ? V1+V2 V3 ? V4 × V5V3 ? V0 × V4 (a)不相關的指令(b)寫讀數(shù)據(jù)相關,,V0 ? V1+V2V0 ? V1+V2
24、 V3 ? V4+V5V3 ? V1 × V4 (c)功能部件沖突(d)讀讀數(shù)據(jù)相關 向量鏈接技術(chaining)當前一條指令的結果寄存器可以作為后繼指令的操作數(shù)寄存器時,多條有數(shù)據(jù)相關的向量指令并行執(zhí)行,這種技術稱為兩條流水線的鏈接技術。,,,,,例如:有如下3條向量指令: 1: V3 ? A 2: V2 ? V0+V1 3: V4 ? V2×V3第1、2條指
25、令沒有數(shù)據(jù)相關和功能部件沖突,可以同時開始執(zhí)行。第3條指令與第1、2條指令均存在寫讀數(shù)據(jù)相關,可以鏈接執(zhí)行。,浮點加,7,1,2,3,4,5,6,Mem,V0,,,,V1,,,,V2,,,,V3,,,,V4,,,,,,,,,,,,,,,,,,,,1,2,3,4,5,6,,,1,2,3,4,5,6,,,,,浮點乘,三種執(zhí)行方式比較:(1) 如果向量長度為N,三條指令采用串行方法 執(zhí)行的時間為: [(1+6+1)+N-1]+
26、[(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) 如果采用鏈接技術,則執(zhí)行時間為: (1+6+1)+(1+7+1)+(N-1)=17+N-1 = N+16 拍,實現(xiàn)鏈接的條件:(1)沒有向量寄存器沖突和運算部件沖突。(
27、2)只有第一個結果送入向量寄存器的那一個 周期可以鏈接。(3)先行的兩條指令產(chǎn)生運算結果的時間必須 相等。(4)兩條向量指令的向量長度必須相等。,6.4.3 向量循環(huán)開采技術,當向量的長度大于向量寄存器的長度時,必須把長向量分成長度固定的段,采用循環(huán)結構處理這個長向量,這種技術稱為向量循環(huán)開采技術,也稱為向量分段開采技術。例6.2:A和B為長度N的向量。 for (i=1; i<N; i++)
28、 a[i]=5*b(i)+c;當向量長度N為64或更小時,計算A數(shù)組的7條指令序列是:,1:S1?5.0 在標量寄存器內(nèi)設置常數(shù)2:S2?C 將常數(shù)C裝入標量寄存器3:VL?N 在VL寄存器內(nèi)設置向量長度4:Vo?B 將B向量讀入向量寄存器5:V1?S1 ? Vo B數(shù)組的每個分量乘常數(shù)6:V2?S2+V1 C和5 ? B(x)相加
29、7:A?V2 將結果向量存入A數(shù)組當N超過64時,要采用向量循環(huán)開采技術。在進入循環(huán)前,把N除以64,確定循環(huán)次數(shù)。如果有余數(shù),則在第一次循環(huán)中首先計算。,第4條到第7條指令組成循環(huán) 1:S1?5.0 在標量寄存器內(nèi)設置常數(shù)2:S2?C 將常數(shù)C裝入標量寄存器3:VL?N 在VL寄存器內(nèi)設置向量長度 for (i=0; i>
30、;=N/64; i++) {4:Vo?B 將B向量讀入向量寄存器5:V1?S1 ? Vo B數(shù)組的每個分量乘常數(shù)6:V2?S2+V1 C和5 ? B(x)相加7:A?V2 將結果向量存入A數(shù)組 },6.4.4 向量遞歸技術,向量指令一般為3地址,但遞歸運算用兩地址。用遞歸向量技術求和: V0?V0+V1C0和C1分別是與向量寄存器V0和V1相關
31、的分量計數(shù)器。初始時,計數(shù)器C0和C1都置成0,V00中的初始值也置成0。浮點加法流水線的延遲時間為8個周期。假定向量長度為64,只作一個向量循環(huán)。在開始的8個周期,計數(shù)器C0一直為0,在此之后,每個周期期加1。C1每個周期加1。,V00=V00+V10=0+V10V01=V00+V11=0+V11 ……V07=V00+V17=0+V17V08=V00+V18=V10+V18 ……V015=V07+V115=V1
32、7+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個結果,分別是8個數(shù)的和,,,,第1次加法,第2次加法,第8次加法,,6.5 向量處理機實例,6.5.1 典型向
33、量處理機6.5.2 CRAY Y-MP向量處理機6.5.3 向量協(xié)處理器,6.5.1 典型的向量處理機,向量處理機主要出自美國和日本。美國著名的向量計算機公司有: CRAY CDC TI等日本公司有: NEC Fujitsu Hitachi等,機器型號,美國和日本制造的向量處理機,Cray IS,配置,特點,有10條流水線的單處理機,12.5ns,COS/CF7 2.1,
34、第一臺基于ECL的超級計算機,1976年問世,典型向量處理機,Cray2S/4-256,256M字存儲器的4臺處理機,4.lns, COS或UNIX/CF77 3.0,16K字的本地存儲器,移植了UNIXV,1985問世,機器型號,Cray X-MP 416,配置,特點,16M字存儲器的4臺處理機,128M字SSD, 8.5ns, COS CF77 5.0,使用共享寄存器組用于IPC,1983年問世,Cra
35、y Y-MP 832,128M字存儲器的8臺處理機, 6ns, CF77 5.0,X-MP的改進型,1988年問世,每臺處理機2條向量流水線, 16臺處理機, 4.2ns, Unicos/CF77 5.0,CrayY-MPC-90,最大的Cray機器1991年問世,機器型號,CDC Cyber 205,配置,特點,有4條流水線的單處理機, 20ns, 虛擬OS/FTN200,存儲器到存儲器系統(tǒng)結構,198
36、2年問世,ETA 10E,單處理機, 10.5ns, ETAV/FTN 200,Cyber 205的后繼型號,1985年問世,每臺處理機4組流水線, 4臺處理機, 2.9ns, F77SX,22Gflops,NECSX-X/44,1991年問世,機器型號,FujitsuVP2600/10,配置,特點,5條流水線的單處理機和雙標量處理機, 3.2ns, MSP. EX/F77 EX/VP,使用可重構微向量寄存器
37、和屏蔽,1991年問世,512MB存儲器,18條流水線的單處理機,4ns,F(xiàn)ORT77/HAPV23-OC,Hitachi 820/80,64個通道,最大傳輸速率288MB/S,1988年問世,6.5.2 CRAY Y-MP向量處理機,由1至8個處理機組成,共享中央存儲器、I/O子系統(tǒng)、處理機通信子系統(tǒng)和實時鐘。中央存儲器由256個交叉訪問的存儲體組成。每個處理機對4個存儲器端口交叉訪問。CPU的時鐘周期為6ns
38、。每個CPU由14個功能部件組成,分為向量、標量、地址和控制四個子系統(tǒng)。使用了大量地址寄存器、標量寄存器、向量寄存器、中間寄存器和臨時寄存器??梢詫崿F(xiàn)功能流水線靈活的鏈接。I/O子系統(tǒng)支持三類通道,傳輸速率分別為6兆字節(jié)/秒,100兆字節(jié)/秒和1G字節(jié)/秒。,6.5.3 向量協(xié)處理器,以中小型機或微機作主機,向量處理部件作為外圍設備,加速向量的處理速度。向量協(xié)處理器是為中小型用戶設計的,解決科學計算中大量向量處理任務的一種裝置
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機系統(tǒng)結構第九章多處理機
- 計算機系統(tǒng)結構第八章并行處理機
- 計算機圖形學 第六章
- 計算機控制技術-第六章-模糊控制技術
- 第六章 過濾處理
- 第六章 吊機
- 第六章 吊機
- 計算機網(wǎng)絡課后題答案第六章
- 2014沖剌班計算機復習要點(第六章)
- 大一 計算機復習題第六章單項選擇
- 【2012】第六章--文件管理-----計算機操縱系統(tǒng)--計算機科學與技術-操作系統(tǒng)-it
- 專升本(計算機專業(yè)課件)計網(wǎng)課件第六章
- 9 第六章 樓梯結構計算設計.doc
- 第六章 圖形處理功能
- 第六章 賬務處理程序
- 專升本(計算機專業(yè)課件)計算機網(wǎng)絡課件計網(wǎng)第六章
- 第六章課件 第六章 收益與分配管理
- 第2章 計算機系統(tǒng)結構
- 專升本(計算機專業(yè)課件)數(shù)據(jù)結構第六章課件鄰接表法
- 第六章 設計
評論
0/150
提交評論