《向量處理機(jī)》PPT課件_第1頁
《向量處理機(jī)》PPT課件_第2頁
《向量處理機(jī)》PPT課件_第3頁
《向量處理機(jī)》PPT課件_第4頁
《向量處理機(jī)》PPT課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1433.5向量處置機(jī)3.5.1 向量處置方式和向量處置機(jī) 向量處置機(jī):具有向量數(shù)據(jù)表示和相應(yīng)向量 指令的流水線處置機(jī)。 標(biāo)量處置機(jī): 不具有向量數(shù)據(jù)表示和相應(yīng)向 量指令的處置機(jī)。D DA AB BC C A A、B B、C C、D D 長度為長度為 N N 的向量的向量1. 向量處置方式第三章 流水線技術(shù)(1) (1) 程度程度( (橫向橫向) )處置方式處置方式 Ki Kibibicici Di DiKiKiaiai 相關(guān):相關(guān):N N 次次 功能切換:功能切換:2N 2N 次次343(2) (2) 垂直垂直( (縱向縱向) )處置方式處置方式 K KB BC C D DK KA A 相關(guān)

2、:次相關(guān):次 功能切換:次功能切換:次對處置機(jī)構(gòu)造的要求:對處置機(jī)構(gòu)造的要求: 存儲器存儲器- -存儲器型操作的運(yùn)算流水線存儲器型操作的運(yùn)算流水線對存儲器的帶寬要求很高。對存儲器的帶寬要求很高。 例如:例如:STAR-100STAR-100,CYBER-205CYBER-2053.5 向量處置機(jī)4433.5 向量處置機(jī)543(3) (3) 分組分組( (縱橫縱橫) )處置方式處置方式 把向量分生長度為某個固定值的假設(shè)干組,把向量分生長度為某個固定值的假設(shè)干組, 組內(nèi)按縱向方式處置,依次處置各組。組內(nèi)按縱向方式處置,依次處置各組。 每組內(nèi):每組內(nèi): 相關(guān):次相關(guān):次 功能切換:次功能切換:次3.

3、5 向量處置機(jī)6433.5 向量處置機(jī)對處置機(jī)構(gòu)造的要求:對處置機(jī)構(gòu)造的要求:存放器存放器- -存放器型操作的運(yùn)算流水線。存放器型操作的運(yùn)算流水線。 舉例舉例8432. 向量處置機(jī)的速度評價方法 標(biāo)量處置機(jī):通常用每秒執(zhí)行多少指令 MIPS(Million Instructions Per Second) 來衡量機(jī)器的運(yùn)算速度 。 向量處置機(jī):常用每秒獲得多少個浮點(diǎn)運(yùn)算 結(jié)果表示機(jī)器速度,以MFLOPS(Million of Floating Point Per Second)作為丈量單位。 另一種評定計算機(jī)速度的方法:比較法。另一種評定計算機(jī)速度的方法:比較法。選擇一臺速度目的得到公認(rèn)的機(jī)器

4、作為規(guī)范機(jī),選擇一臺速度目的得到公認(rèn)的機(jī)器作為規(guī)范機(jī),給定一些典型的基準(zhǔn)程序。給定一些典型的基準(zhǔn)程序。 3.5 向量處置機(jī)9433.5.2 提高向量處置機(jī)性能的主要技術(shù)1. CRAY-I1. CRAY-I簡介簡介 美國美國CRAYCRAY公司公司 1976 1976年年 每秒億次浮點(diǎn)運(yùn)算每秒億次浮點(diǎn)運(yùn)算 主頻:主頻:80MHz 80MHz 字長:字長:6464位位2. CRAY-12. CRAY-1的根本構(gòu)造的根本構(gòu)造 向量運(yùn)算部件:個向量運(yùn)算部件:個 整數(shù)加,邏輯運(yùn)算,移位整數(shù)加,邏輯運(yùn)算,移位 浮點(diǎn)加,浮點(diǎn)乘,求倒數(shù)浮點(diǎn)加,浮點(diǎn)乘,求倒數(shù)3.5 向量處置機(jī)1043 向量存放器組:864 V

5、0 V7 每個 Vi 每個向量運(yùn)算部件 向量長度存放器VL 向量屏蔽存放器VM CRAY-1 CRAY-1向量處置的顯著特點(diǎn):只需不出現(xiàn)向量處置的顯著特點(diǎn):只需不出現(xiàn)ViVi沖突和向量功能部件沖突,各個沖突和向量功能部件沖突,各個ViVi之間和各個向之間和各個向量功能部件之間都能并行任務(wù),大大加快了向量量功能部件之間都能并行任務(wù),大大加快了向量指令的處置。指令的處置。 3.5 向量處置機(jī)11433. CRAY-1向量指令類型 Vk Vi op Vj Vk Si op Vj Vk 主存 主存 ViViVi沖突:指的是并行任務(wù)的各向量指令的源向沖突:指的是并行任務(wù)的各向量指令的源向 量或結(jié)果向量的

6、量或結(jié)果向量的ViVi有一樣的。有一樣的。向量功能部件沖突:指同一個向量功能部件被向量功能部件沖突:指同一個向量功能部件被 一條以上的并行任務(wù)向一條以上的并行任務(wù)向 量指令所運(yùn)用。量指令所運(yùn)用。 3.5 向量處置機(jī)12433.5 向量處置機(jī)13434. 鏈接技術(shù) 當(dāng)兩條指令出現(xiàn)“寫后讀相關(guān)時,假設(shè)它們 不存在功能部件沖突和向量存放器(源或目的) 沖突,就有能夠把它們所用的功能部件頭尾相 接,構(gòu)成一個鏈接流水線,進(jìn)展流水處置。 鏈接特性本質(zhì)上是把流水線“定向的思想 引入到向量執(zhí)行過程的結(jié)果。3.5 向量處置機(jī)1543例例3.7 3.7 對上述向量運(yùn)算對上述向量運(yùn)算D=AD=A* *(B+C)(B

7、+C),假設(shè)向量,假設(shè)向量長度長度N64N64,向量元素為浮點(diǎn)數(shù),那么在,向量元素為浮點(diǎn)數(shù),那么在B B、C C取取到到V0V0、V1V1后,就可用以下三條向量指令求解:后,就可用以下三條向量指令求解: 1 1 V3 V3存儲器存儲器( (訪存,載入訪存,載入A)A) 2 2 V2V0 V2V0V1(V1(浮點(diǎn)加浮點(diǎn)加) ) 3 3 V4V2 V4V2* *V3(V3(浮點(diǎn)乘,存浮點(diǎn)乘,存D)D)解:鏈接過程如圖解:鏈接過程如圖3.443.44所示:所示: 3.5 向量處置機(jī)1643 訪存(6拍) 存儲器 V0 V1 V2 V3 V4 浮點(diǎn)加(6 拍) 浮點(diǎn)乘(7拍) 圖3.44 通過鏈接技術(shù)

8、實(shí)現(xiàn)指令重疊執(zhí)行 三條向量指令全部用串行方法執(zhí)行,那么總 的執(zhí)行時間為:1+6+1 + N-1 + 1+6+1 + N-1 +1+7+1 + N-1 = 3N + 22 拍 3.5 向量處置機(jī)1743 前 兩 條 向 量 指 令 并 行 執(zhí) 行 之 后 , 再 執(zhí) 行 第 三條向量指令,那么總的執(zhí)行時間為: 1+6+1 + N-1 + 1+7+1 + N-1 = 2N + 15 拍 采用向量鏈接技術(shù),所需拍數(shù)(亦稱為鏈接 流水線的流水時間)為: 1+6+1 + 1+7+1 = 17 拍 那么三條向量指令總執(zhí)行時間為:1+6+1 + 1+7+1 +N-1= N + 16 拍 3.5 向量處置機(jī)1

9、8435. 向量鏈接的一些主要要求: (除了要保證無向量存放器運(yùn)用沖突和無向 量功能部件運(yùn)用沖突的條件之外 ) 在 進(jìn) 展 鏈 接 的 時 候 , 只 需 在 前 一 條 向 量 指 令 的 第 一 個 結(jié) 果 元 素 送 入 結(jié) 果 向 量 存 放 器 的 那 一個時鐘周期才可以進(jìn)展鏈接,假設(shè)錯過該時 刻就不能進(jìn)展鏈接。 只 需 當(dāng) 前 一 條 向 量 指 令 全 部 執(zhí) 行 終 了 , 釋 放 相 應(yīng) 的 向 量 存 放 器 資 源 后 才 干 執(zhí) 行 后 面 的 向 量指令。 3.5 向量處置機(jī)1943 當(dāng)一條向量指令的兩個源操作數(shù)分別是兩條 先行向量指令的結(jié)果存放器時,要求先行的 兩條

10、向量指令產(chǎn)生運(yùn)算結(jié)果的時間必需相等, 即要求有關(guān)向量功能部件的延遲時間相等。 只需一切可以鏈接執(zhí)行的向量指令的向量長 度相等時,它們之間才干鏈接執(zhí)行,否那么它 們之間也不能鏈接執(zhí)行。3.5 向量處置機(jī)20436. 向量循環(huán)或分段開采技術(shù) 假設(shè)向量的長度大于向量存放器的長度, 該如何處置呢? 向量循環(huán) :長向量循環(huán)分段處置的程序構(gòu)造 。 把長向量分成固定長度的段,然后循環(huán)分 段處置,一次循環(huán)只處置一個向量段。 這種分段向量處置技術(shù)也稱為分段開采。 將長向量循環(huán)分段處置是由系統(tǒng)硬件和軟件控 制完成的,對程序員透明。3.5 向量處置機(jī)2143 例例3.8 3.8 設(shè)設(shè)A A和和B B是長度為是長度為

11、N N的向量,思索在的向量,思索在Cray-1Cray-1向量處置器上實(shí)現(xiàn)如下的循環(huán)操作。向量處置器上實(shí)現(xiàn)如下的循環(huán)操作。 DO 10 I = 1 DO 10 I = 1,N N 10 A(I) = 5.0 10 A(I) = 5.0 * * B(I) + 1.0 B(I) + 1.0 當(dāng)當(dāng)N 64N 64時,可以用如下指令序列實(shí)現(xiàn)時,可以用如下指令序列實(shí)現(xiàn)上上 述循環(huán)操作:述循環(huán)操作: S15.0 S15.0 ;將常數(shù);將常數(shù)5.05.0送入標(biāo)量存放器送入標(biāo)量存放器S1S1S21.0 S21.0 ;將常數(shù);將常數(shù)1.01.0送入標(biāo)量存放器送入標(biāo)量存放器S2S2VLN VLN ;在向量長度存放

12、器;在向量長度存放器VLVL中設(shè)置向量長度中設(shè)置向量長度N N3.5 向量處置機(jī)2243V0B V0B ;從存儲器中將向量;從存儲器中將向量B B讀入向量存放器讀入向量存放器V0V0V1S1V1S1* *V0V0;向量;向量B B中的每個元素分別和常數(shù)中的每個元素分別和常數(shù)S1S1 相乘相乘V2S2+V1V2S2+V1;向量;向量V1V1中的每個元素分別和常數(shù)中的每個元素分別和常數(shù) S2S2相加相加AV2AV2;將計算結(jié)果從向量存放器;將計算結(jié)果從向量存放器V2V2存入存存入存 儲器的向量儲器的向量A A3.5 向量處置機(jī)2343 當(dāng)當(dāng)N N 6464時,就需求進(jìn)展分段開采。在進(jìn)時,就需求進(jìn)展

13、分段開采。在進(jìn) 行分段開采時,首先必需根據(jù)向量長度計算行分段開采時,首先必需根據(jù)向量長度計算 出循環(huán)次數(shù)出循環(huán)次數(shù)K K : 普通來說,普通來說,N N并不一定總是并不一定總是6464的倍數(shù),所的倍數(shù),所以假設(shè)以假設(shè)N/64N/64有余數(shù),那么余數(shù)有余數(shù),那么余數(shù)L L為:為: 3.5 向量處置機(jī)64K =NL = N 6464NS15.0 S15.0 ;將常數(shù);將常數(shù)5.05.0送入標(biāo)量存放器送入標(biāo)量存放器S1S1S21.0 S21.0 ;將常數(shù);將常數(shù)1.01.0送入標(biāo)量存放器送入標(biāo)量存放器S2S2VLL VLL ;在向量長度存放器;在向量長度存放器VLVL中設(shè)置向量長度中設(shè)置向量長度L

14、LV0B V0B ;從存儲器中將向量;從存儲器中將向量B0.L-1B0.L-1讀入向量讀入向量 存放器存放器V0V0V1S1V1S1* *V0 V0 ;向量;向量B B中的每個元素分別和常數(shù)中的每個元素分別和常數(shù)S1S1相乘;相乘;V2S2+V1 V2S2+V1 ;向量;向量V1V1中的每個元素分別和常數(shù)中的每個元素分別和常數(shù)S2S2相相加加AV2 AV2 ;將計算結(jié)果從向量存放器;將計算結(jié)果從向量存放器V2V2存入存儲存入存儲器器 的向量的向量A0.L-1A0.L-1處置余處置余數(shù)部分?jǐn)?shù)部分, ,計算計算L L個元素個元素 For (I=0 to K-1) For (I=0 to K-1)

15、V0B V0B ;從存儲器中將向量;從存儲器中將向量BL+IBL+I* *64L+I64L+I* *64+6364+63 讀入向量存放器讀入向量存放器V0V0V1S1V1S1* *V0 V0 ;向量;向量B B中的每個元素分別和常數(shù)中的每個元素分別和常數(shù)S1S1相相乘;乘;V2S2+V1 V2S2+V1 ;向量;向量V1V1中的每個元素分別和常數(shù)中的每個元素分別和常數(shù)S2S2相相加加AV2 AV2 ;將計算結(jié)果;將計算結(jié)果V2V2存入存儲器的向量存入存儲器的向量 AL+I AL+I* *64 L+I64 L+I* *64+6364+63 循環(huán)循環(huán)K K次次, ,分段分段處置處置 2643衡量向

16、量處置機(jī)性能的主要參數(shù):衡量向量處置機(jī)性能的主要參數(shù):1.1.向量指令的處置時間向量指令的處置時間 執(zhí)行一條向量長度為執(zhí)行一條向量長度為n n的向量指令所需的時間為:的向量指令所需的時間為: 3.5.3 向量處置機(jī)的性能評價 Tvp = Ts + Tvf + (n-1)Tcl Ts :向量處置單元流水線的建立時間,:向量處置單元流水線的建立時間,l 包括:向量起始地址的設(shè)置、計數(shù)包括:向量起始地址的設(shè)置、計數(shù)l 器加器加1、條件轉(zhuǎn)移指令執(zhí)行等。、條件轉(zhuǎn)移指令執(zhí)行等。 3.5 向量處置機(jī)2743l Tvf :向量處置單元流水線的流過時間,它:向量處置單元流水線的流過時間,它l 是從向量指令開場執(zhí)

17、行到得到第一個是從向量指令開場執(zhí)行到得到第一個l 計算結(jié)果向量元素所需的時間。計算結(jié)果向量元素所需的時間。l Tc :向量處置單元流水線:向量處置單元流水線“瓶頸段的執(zhí)瓶頸段的執(zhí)行行l(wèi) 時間。時間。 假設(shè)向量處置單元流水線不存在“瓶頸段,每 段的執(zhí)行時間等于一個時鐘周期,那么上式也可 以寫為: Tvp = s + e + (n-1)Tclk3.5 向量處置機(jī)2843l s s:向量處置單元流水線建立所需的時:向量處置單元流水線建立所需的時l 鐘周期數(shù);鐘周期數(shù);l e e:向量流水線流過所需的時鐘周期數(shù);:向量流水線流過所需的時鐘周期數(shù);l TclkTclk:時鐘周期時間。:時鐘周期時間。 可

18、以再改寫為: Tvp = Tstart + nTclkl Tstart :向量功能部件啟動所需的時:向量功能部件啟動所需的時鐘鐘l 周期數(shù);周期數(shù);l n:向量元素個數(shù)。:向量元素個數(shù)。 3.5 向量處置機(jī)2943 對于一組向量指令,其執(zhí)行時間主要取決于 三個要素:l 向量的長度向量的長度l 向量操作之間能否鏈接向量操作之間能否鏈接l 向量功能部件的沖突和數(shù)據(jù)的相關(guān)性向量功能部件的沖突和數(shù)據(jù)的相關(guān)性 把幾條能在同一個時鐘周期內(nèi)一同開場執(zhí)行的 向量指令集合稱為一個編隊。 3.5 向量處置機(jī)3043例例3.9 3.9 假設(shè)每種向量功能部件只需一個,那假設(shè)每種向量功能部件只需一個,那么下面的一組向量

19、指令能分成幾個編隊?么下面的一組向量指令能分成幾個編隊? LV V1,Rx MULTSV V2,R0,V1 LV V3,RyADDV V4,V2,V3 SV Ry,V43.5 向量處置機(jī)3143解:第一編隊:解:第一編隊:LVLV 第二編隊:第二編隊:MULTSVMULTSV; LVLV 第三編隊:第三編隊:ADDVADDV 第四編隊:第四編隊:SVSVl 一個編隊內(nèi)一切向量指令執(zhí)行終了所需求一個編隊內(nèi)一切向量指令執(zhí)行終了所需求l 的時間為:的時間為: clkistartclkijstartjicTnTTnTT)(max+=+=3.5 向量處置機(jī)3243 假設(shè)第假設(shè)第i i個編隊中一切向量指令

20、處置的向量個編隊中一切向量指令處置的向量元素個數(shù)均為元素個數(shù)均為n n。 :第:第i i個編隊的執(zhí)行時間;個編隊的執(zhí)行時間; :第:第i i個編隊中第條指令所運(yùn)用向量功能部個編隊中第條指令所運(yùn)用向量功能部 件的啟動時鐘周期數(shù)。件的啟動時鐘周期數(shù)。icTijstartTl 經(jīng)過編隊后的向量指令序列總的執(zhí)行時間為:經(jīng)過編隊后的向量指令序列總的執(zhí)行時間為: clkstartclkmiistartmiclkistartmiicvTmnTTmnTTnTTT)()()(111+ += =+ += =+ += = = = = =3.5 向量處置機(jī)3343l 編隊并采用分段開采技術(shù)后,向量指令序列編隊并采用分

21、段開采技術(shù)后,向量指令序列l(wèi) 執(zhí)行所需的總的時鐘周期數(shù)為:執(zhí)行所需的總的時鐘周期數(shù)為: MVL:向量處置機(jī)的向量存放器長度。 mnTTMVLnMVLMVLnnmTTMVLmTTMVLnTstartloopstartloopstartloopn+=-+=)() ()(3.5 向量處置機(jī)3443例例3.10 3.10 在某向量處置機(jī)上執(zhí)行在某向量處置機(jī)上執(zhí)行DAXPYDAXPY的向量指令的向量指令序列,也即計算雙精度浮點(diǎn)向量表達(dá)式。其中和序列,也即計算雙精度浮點(diǎn)向量表達(dá)式。其中和是雙精度浮點(diǎn)向量,最初保管在外部存儲器中,是雙精度浮點(diǎn)向量,最初保管在外部存儲器中,是一個雙精度浮點(diǎn)常數(shù),已存放在浮點(diǎn)存

22、放器是一個雙精度浮點(diǎn)常數(shù),已存放在浮點(diǎn)存放器F0F0中。計算該表達(dá)式的向量指令序列如下:中。計算該表達(dá)式的向量指令序列如下: LV V1,RxMULTFV V2,F(xiàn)0,V1LV V3,RyADDV V4,V2,V3SV Ry,V43.5 向量處置機(jī)3543解:第一編隊:解:第一編隊:LV V1LV V1,RxRx 第二編隊:第二編隊:MULTFV V2MULTFV V2,F(xiàn)0F0,V1V1; LV V3LV V3,RyRy 第三編隊:第三編隊:ADDV V4ADDV V4,V2V2,V3V3 第四編隊:第四編隊:SV RySV Ry,V4V4 假設(shè)向量存儲部件的啟動需求假設(shè)向量存儲部件的啟動需

23、求1212個時鐘周個時鐘周期,向量乘法部件的啟動需求期,向量乘法部件的啟動需求7 7個時鐘周期,向個時鐘周期,向量加法部件的啟動需求量加法部件的啟動需求6 6個時鐘周期,向量存放個時鐘周期,向量存放器長度器長度MVLMVL6464,那么對,那么對n n個向量元素進(jìn)展個向量元素進(jìn)展DAXPYDAXPY表達(dá)式計算所需的時鐘周期數(shù)為:表達(dá)式計算所需的時鐘周期數(shù)為: 3.5 向量處置機(jī)3643 假設(shè)思索采用向量鏈接技術(shù),那么假設(shè)思索采用向量鏈接技術(shù),那么DAXPYDAXPY的向的向量指令序列可以編隊為:量指令序列可以編隊為: 第一編隊:第一編隊:LV V1,RxLV V1,Rx; MULTFV V2,

24、F0,V1MULTFV V2,F0,V1 第二編隊:第二編隊:LV V3,RyLV V3,Ry; ADDV V4,V2,V3ADDV V4,V2,V3 第三編隊:第三編隊:SV Ry,V4SV Ry,V4nnnnmnTTMVLnTstartloopn457644)126121215(64)(+=+=+=3.5 向量處置機(jī)3743第一編隊啟動需求第一編隊啟動需求12+7=1912+7=19個時鐘周期;個時鐘周期;第二編隊啟動需求第二編隊啟動需求12+6=1812+6=18個時鐘周期;個時鐘周期;第三編隊啟動依然需求第三編隊啟動依然需求1212個時鐘周期。個時鐘周期。 采用鏈接技術(shù)后,對采用鏈接技

25、術(shù)后,對n n個向量元素進(jìn)展個向量元素進(jìn)展DAXPYDAXPY表表達(dá)式計算所需的時鐘周期數(shù)為:達(dá)式計算所需的時鐘周期數(shù)為: nnnnmnTTMVLnTstartloopn364643)12181915(64)(+=+=+=3.5 向量處置機(jī)38432. 向量處置機(jī)的峰值性能R R表示當(dāng)向量長度為無窮大時,向量處置機(jī) 的最高性能,也稱為峰值性能。 向量處置機(jī)的峰值性能可以表示為: 的時鐘周期數(shù)的時鐘周期數(shù)向量指令序列執(zhí)行所需向量指令序列執(zhí)行所需時鐘頻率時鐘頻率算次數(shù)算次數(shù)向量指令序列中浮點(diǎn)運(yùn)向量指令序列中浮點(diǎn)運(yùn)= nRlim 對于例題對于例題3.103.10向量指令序列中的操作而言,向量指令序列中的操作而言,只需只需“MULTFV V2,F0,V1MULTFV V2,F0,V1和和“ADDV V4,V2,V3ADDV V4,V2,V3兩條浮點(diǎn)操作向量指令。假設(shè)該向量處置機(jī)兩條浮點(diǎn)操作向量指令。假設(shè)該向量處置機(jī)的

溫馨提示

  • 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

提交評論