




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第五章向量流水和向量處理機(jī),內(nèi)容要點:本章首先簡單介紹了向量流水的基本概念和工作原理,其次是向量流水處理機(jī)的構(gòu)成原理、向量操作長度控制和向量訪問步驟、向量處理方法、向量處理機(jī)多功能部件的并行操作以及向量處理性能的評價關(guān)殘奧詞著重于向量流水機(jī)的組成原理、向量操縱長度控制和向量訪問步驟、向量處理方法和向量處理機(jī)多功能部件的并行操作。 難點在于矢量操作長度控制、矢量處理方法、矢量處理機(jī)多功能部件的并行操作過程。 第5章矢量流水和矢量處理機(jī)、5.1矢量流水的概念和工作原理5.2矢量處理和提高矢量處理性能的方法5.3矢量處理性能的評價殘奧儀表和評價方法5.4矢量量化編譯技術(shù)5.5矢量處理機(jī)的例子, 5.
2、1向量流水的概念和工作原理5.1.1向量流水的概念和特征5.1.2向量處理機(jī)的基本構(gòu)成5.1.3向量啟動時間和結(jié)果流出時間5.1.4向量操作長度控制和向量訪問步驟、5.1.1向量流水的概念和特征、1 .向量流水的概念向量流水的概念由此,如果能夠從存儲器中不斷地取出這些要素,則能夠進(jìn)行流水處理,并能夠發(fā)揮流水線的性能。 以此方式,矢量數(shù)據(jù)表示與管線技術(shù)相結(jié)合,構(gòu)成矢量流水處理機(jī),簡稱為矢量流水機(jī)或矢量處理器(Vector Processor )。 2、矢量流水處理的主要特點1矢量指令相當(dāng)于1個標(biāo)量環(huán)。 這使得可以減少對命令訪問速度(帶寬)的要求,并且消除標(biāo)量機(jī)中的循環(huán)控制(資源)之間的相關(guān)性。
3、每個結(jié)果元素只與參與運算的元素有關(guān),而不考慮上次運算的值,因此可以增加向量管線的深度。 訪問的向量元素相鄰時,可以存儲在多主體交叉存儲器中,提高訪問速度。 在一般的向量流水機(jī)中,允許存取存儲器和有效地址的修正流水化,在高級向量流水機(jī)中,也允許同時進(jìn)行多個向量操作,即多向量并行操作。 5.1.2向量處理器的基本結(jié)構(gòu)、1 .向量處理器的類型向量要素及其處理的結(jié)果要素可存儲在存儲器中,也可存儲在寄存器文件中,所以可分為存儲器-存儲器型和寄存器-寄存器型兩種。 初期的向量處理器多屬于存儲器型,例如TI公司的ASC功能、CDC公司的STAR100以及CYBER-205和ETA-10等。 2、向量處理器的
4、基本組成1976年美國CRAY公司發(fā)布了寄存器寄存器結(jié)構(gòu)的向量機(jī),易于操作,速度快,指令系統(tǒng)簡潔,很快成為向量處理器的主流機(jī)型。 例如,CRAY公司的Y-MP和C-90、日本Fujitsu公司的VP2000、VPP300/500以及我國的YH等。 向量機(jī)的基本結(jié)構(gòu)如圖5.1所示,由一個標(biāo)量流水部件和一個向量流水部件構(gòu)成。 在此,所提供的標(biāo)量流水部件是為了實現(xiàn)向量中的標(biāo)量運算,其包括標(biāo)量功能部件和多個標(biāo)量發(fā)送器。 向量流水零件主要用于向量運算,包括向量功能零件、向量存取零件、向量發(fā)射器、向量控制器等。圖5.1向量處理器的基本系統(tǒng)構(gòu)成、3 .向量運算【例5.1】設(shè)置相同長度的64個向量x和y,將其
5、地址分別用寄存器Rx和Ry表示,通過對Y=aX Y進(jìn)行分析來明確向量運算過程。 這里,a是標(biāo)量。解:題意a是標(biāo)量,一個向量元素占8字節(jié)單位,在標(biāo)量修正計算機(jī)中通過循環(huán)程序?qū)崿F(xiàn)向量運算。 計劃如下: LD F0,a; 標(biāo)量a被發(fā)送到寄存器f 0的F0 ADDI R4、Rx和#512。 向量要素的最后地址被傳送到r4loop:ldf 2,0 (rx )。 取向量元素x (I )多元F2,F(xiàn)0,F(xiàn)2; f 2傳真(I ) ldf 4、0(ry ); 取向量元素y (I )添加F4、F2、F4; F4傳真、y、SD 0、F4。 保存結(jié)果要素ADDI Rx、Rx、#8; 修正向量x要素的下標(biāo)ADDI R
6、y,Ry,#8; 修正向量y要素的下標(biāo)SUB R10、R4、Rx; R10(R4)-(Rx) BNZ R10、環(huán)形。 如果向LOOP的遷移沒有結(jié)束,在向量機(jī)上使用向量機(jī)指令編程如下。 Rx和Ry是向量寄存器: LD F0,a; 標(biāo)量a被發(fā)送到寄存器F0 LV V1、Rx。 取向量X MULTV V2、F0、V1; V2aX LV V3、Ry; 取向量Y ADDV V4、V2、V3; V4aX Y SV Ry、V4; 保存結(jié)果對上述程序進(jìn)行分析時,可知在標(biāo)量機(jī)上進(jìn)行運算時,執(zhí)行964 2=578指令,其中含有很多延遲等待。 另一方面,在向量機(jī)上進(jìn)行運算時,只需要6條向量指令。 5.1.3向量啟動
7、時間和結(jié)果流出時間相當(dāng)于在向量流水中也存在啟動時間Tst,在標(biāo)量管線中嵌入時間,設(shè)定與向量操作相關(guān)的殘奧儀表、例如向量長度。 啟動后的結(jié)果是連續(xù)輸出的,輸出一個結(jié)果的時間稱為結(jié)果流出時間,可以用Ir表示。 設(shè)向量長度為n,則一個向量命令的執(zhí)行時間為:在一個向量乘法運算行中,向量起動時間為10個時鐘周期,起動后每1個時鐘周期出現(xiàn)一個結(jié)果,如果向量長度為64, 求出每個結(jié)果的向量要素的解:根據(jù)題意,如果Tst=10,Ir=1,n=64,則每個結(jié)果向量要素的平均時間Tav為:可知對于運算速度慢的向量流水操作,對啟動時間沒有太大影響。 在速度快的矢量流水操作中,起動時間有很大的影響。 對于寄存器型向量
8、處理器,向量啟動時間主要取決于功能性零件的管線的深度,而結(jié)果的流出時間取決于向量功能性零件以多快的頻率接收數(shù)據(jù)。 矢量長時,啟動穩(wěn)定后的結(jié)果流出時間可視為1。5.1.4向量操作長度控制和向量存取步驟、1 .向量操作長度控制(1)向量寄存器長度通過寄存器型向量處理器將向量存儲在向量寄存器中,向量寄存器的個數(shù)被稱為向量寄存器長度,用n表示例如,CRAY-1的向量寄存器長度是64。 (2)在向量長度和向量長度寄存器的實際運算中,向量長度n并不一定恰好等于向量寄存器的長度,也可以小于或大于向量寄存器的長度。 因此,需要在向量長度寄存器中保存向量長度。 (3)向量操作長度控制在此也以Y=aX Y為例進(jìn)行
9、說明。 如果將向量長度設(shè)為n,則FORTRAN程序在DO 10 I=1,n 10 Y(I)=a*X(I) Y(I )中向量長度依賴于n而往往是進(jìn)程殘奧整計量器,因此,在向量長度寄存器VL、向量寄存器的寬度、寬度、寬度、長度、長度、長度、長度、長度、寬度、長度、長度、長度、長度、長度、長度、長度、長度、長度、長度、長向量的長度大于向量寄存器的長度時,需要分階段記憶運算。 向量長度寄存器的值等于向量寄存器長度MVL。 在采用分割技術(shù)后,上述程序為LOW=1 VL=(n MOD MVL ); 取向量的尾數(shù)DO 20 J=0,(N/MVL ); 確定外循環(huán)次數(shù)DO 10 I=LOW、LOW VL-1;
10、 以長度VL操作Y(I)=a*X(I) Y(I )。 運算10 CONTINUE LOW=LOW VL; 接著開始運算矢量VL=MVL; 在修正向量長度寄存器的值20連續(xù)性的上述段運算中,第一次運算的長度是(n MOD MVL ),之后的每次長度是MVL,并且周期數(shù)是(N/MVL) 1。2 .向量訪問步驟和步驟訪問當(dāng)前,內(nèi)存通常采用一維地址,如果存儲二維或多維數(shù)組,則必須將元素映射到一維地址空間。 單個元素通常以行或列為中心存儲。 在低主存儲方法中,如果在行訪問期間每行元素的地址對每個相鄰列進(jìn)行訪問,則每列的相鄰元素不再相鄰。 這種間隔稱為步進(jìn)訪問,此時的訪問稱為步進(jìn)訪問。 例如,設(shè)置1001
11、00個陣列a和b,并且獲得C=AB。 設(shè)定修正FORTRAN循環(huán)程序是do10 I=1,100 do10 j=1,100 c (I,j )=0.0do10 k=1,10010 a (I,J)=C(I )。 數(shù)組b的元素按行存儲,按列讀取,地址不連續(xù),步驟為100。 但是,向量要素讀出在向量寄存器存儲后,在邏輯上連續(xù)。 如果向量處理功能支持向量元素的步進(jìn)訪問,則稱為支持完全的一維數(shù)據(jù)顯式訪問。 可以在行、列或?qū)蔷€方向上訪問數(shù)組元素。 上述CRAY-1巨型機(jī)是這種類型。 CYBER-205采用內(nèi)存-內(nèi)存結(jié)構(gòu),不支持這種完全的一維數(shù)據(jù)顯式訪問。 向量處理器通常具有專用的地址流組件,用于訪問這些步長
12、向量元素,并且必須支持子矩陣訪問、上下三角形和平行四邊形訪問。 3 .多體交叉存儲器中的許多校正功能已經(jīng)使用低地址交叉多體存儲器以便改進(jìn)多體交叉存儲器的使用存取速率。 如果向量機(jī)支持步進(jìn)訪問,則對相同存儲體的訪問間隔可能小于對內(nèi)存的訪問周期,從而導(dǎo)致沖突。 假設(shè)處理器具有16個組,存取時間為12個時鐘周期,并且存在總共64個向量元素。 如果步驟為1,則需要12 64=76個時鐘周期;如果步驟為16的整數(shù)倍,則每個元素的讀/寫時間為12個時鐘周期;訪問64個元素的時間為6412=768個時鐘周期。 為了避免存取沖突,步驟必須與庫數(shù)量相互具有質(zhì)量。 例如,庫數(shù)為17,步驟為16。 5.2向量處理和
13、提高向量處理性能的方法、5.2.1向量處理方法5.2.1向量處理性能的方法、5.2.1向量處理方法,在向量機(jī)中可以采用各種運算不同的加工方式,主要有橫加工、縱加工和縱橫加工3種長度n 1 .橫向加工橫向加工是最普通的加工方式,按向量的順序進(jìn)行校正,即d1=a1(b1c1) d2=a2(b2c2) dn=an (bncn )的方法是對d的n個分量逐一進(jìn)行校正。 先修正K1(B1 C1),然后修正D1A1K1。 這樣有n次的數(shù)據(jù)相關(guān)和2n次的功能部件的切換,不適合向量流水處理。 2 .縱向加工也稱為垂直加工法,如圖5.2所示,先進(jìn)行所有的縱向B C的操作,將中間結(jié)果暫時保存到中間向量k中,然后進(jìn)行
14、所有的縱向乘法操作AK。 以向量指令的形式表示,K=B C D=KA采用該方法,數(shù)據(jù)相關(guān)在向量指令之間只發(fā)生一次,流水線功能部件的切換也只發(fā)生一次。 但是,必須使用中間向量k。圖5.2縱向加工方法、3 .在參加縱橫加工運算的向量長度n大于向量寄存器的長度n的情況下,需要階段性地進(jìn)行,產(chǎn)生縱橫加工方式。 分段內(nèi)縱向加工、分段間橫向加工,第1分段修正運算: K1N=B1N C1N D1N=K1NA1N第2分段修正運算: kn12 n=bn12 n cn12 n=kn12 n 12 n明顯每個分段有2條向量指令、1次數(shù)據(jù)在用于提高向量處理性能的方法、和向量處理功能中,通常采用多個獨立功能部件來實現(xiàn)不
15、同操作。例如,CRAY-1巨型機(jī)具備4組12個單功能流水部件,其中的1組是包含矢量相加、移位、邏輯運算這3個部分的矢量操作部件的第2組是包含求浮點相加、乘法、及反復(fù)的倒數(shù)的3個部分的浮點運算單元第四組是包括標(biāo)量相加、移位、邏輯運算和數(shù)“1”/計數(shù)四個部分的標(biāo)量功能部件,是包括整數(shù)相加和整數(shù)相乘兩個部分的地址運算部。 其邏輯組成如圖5.3所示。 在圖5.3 CRAY-1處理器配置圖中,各個功能部件是相互獨立的,并且如果滿足一定的約束條件,則并行地操作,即,沒有向量寄存器使用沖突,并且沒有功能部件使用沖突。 (1)使用向量寄存器的沖突:因為兩個向量指令(例如V5V1 V2 V4V2V3)都將向量寄
16、存器V2用作源操作向量,所以兩個指令不能同時執(zhí)行。 同樣,也存在結(jié)果向量寄存器的沖突。 (2)功能部件使用沖突示例:由于V1V2 V3 V4V5 V6兩個指令都使用浮點加法器,因此無法執(zhí)行。 理想上,如果存在m個相互獨立的功能部件,則必須使系統(tǒng)速度變?yōu)閙倍。 但是,由于可能發(fā)生沖突,能夠完全并行操作的功能部件通常小于m。 2 .向量鏈接技術(shù)(1)在向量鏈接技術(shù)的概念向量操作中,也能夠提高致動器的速度,使標(biāo)量機(jī)使用方向性傳輸技術(shù),稱為向量鏈接技術(shù)。 ADDV V1、V2、V3; v1v2v 3多重電視v 4、V1、V5。 V4V1V5將第一相加結(jié)果存儲在V1中,并且接下來將V1作為源操作向量(即,重寫后讀取數(shù)據(jù))而相關(guān)。 寄存器V1以相同的時鐘周期接收相加結(jié)果,將其結(jié)果傳送到乘法單元后,能夠鏈接兩個單元進(jìn)行動作,被稱為超向量操作。 充分的流水狀態(tài)下,1個時鐘周期可以得到2個運算結(jié)果。 (2)實現(xiàn)向量鏈接技術(shù)需要專業(yè)的機(jī)制,檢測各向量指令是否能夠與前面的指令進(jìn)行鏈接操作。 可能,將在前一指令中執(zhí)行的第一結(jié)果分量作為該指令的源操作數(shù)以啟動該指令。 以D=A(B C )為例,設(shè)為、向量長度n64,向量b和c已經(jīng)取入到向量寄存器V0和V1中。 這樣,LD V3,a; V3A ADDV V2、V0、V1; v2v0v 1多重電視v
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漁船租賃業(yè)務(wù)合同協(xié)議
- 銀行信托計劃保管合同模板
- 供港農(nóng)產(chǎn)品購銷合同代理協(xié)議(樣本)
- 國有林權(quán)出讓合同
- 畢業(yè)生實習(xí)與勞動合同解析
- 渠道合作銷售合同范本
- 合同法視角:股東不履行義務(wù)糾紛案例分析
- 新車銷售團(tuán)隊心理素質(zhì)訓(xùn)練考核試卷
- 木制拼圖游戲考核試卷
- 世界音樂教育項目的策劃與實施考核試卷
- 2024年湖南汽車工程職業(yè)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 10-化學(xué)動力學(xué)基礎(chǔ)-1-考研試題資料系列
- 工傷保險待遇核定表(樣表)
- DB33- 1015-2021《居住建筑節(jié)能設(shè)計標(biāo)準(zhǔn)》
- DB1310T 225-2020 木本植物滯納空氣顆粒物能力測定方法
- (高職)國際金融(第四版)電子課件(全套)
- 《飲料工藝學(xué)》課件第一章-緒論
- 中外合作辦學(xué)的可行性報告
- 母嬰保健課程標(biāo)準(zhǔn)
- 《農(nóng)民專業(yè)合作社登記管理條例》條文解讀(一
- 一年級的小豌豆我喜歡的一本書(課堂PPT)
評論
0/150
提交評論