欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種新型“兩間隔并行”高效矩陣乘法器的制作方法

文檔序號:6389456閱讀:222來源:國知局
專利名稱:一種新型“兩間隔并行”高效矩陣乘法器的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于電子技術(shù)領(lǐng)域,具體涉及一種“兩間隔并行”結(jié)構(gòu)的高效矩陣乘法器。
背景技術(shù)
并發(fā)運(yùn)算(Concurrent)是現(xiàn)代計算機(jī)體系設(shè)計中非常重要的方面,它主要是指大量的計算在同時段進(jìn)行,是并行運(yùn)算的一種特殊形式。在DSP設(shè)計,計算機(jī)體系結(jié)構(gòu)實(shí)現(xiàn)等方面都有十分廣泛的應(yīng)用。
一般我們采用處理器陣列的方式來實(shí)現(xiàn)并發(fā)運(yùn)算,具體是通過有規(guī)則排列的VLSI芯片,實(shí)現(xiàn)向量和矩陣的運(yùn)算,進(jìn)而實(shí)現(xiàn)各種實(shí)際的并發(fā)運(yùn)算[4]。
在各種排列規(guī)則中,矩陣乘法器的實(shí)現(xiàn)是最為重要的,各種向量都可以看成是特殊的矩陣。因此,設(shè)計高效和快速的矩陣乘法器,就成為了并發(fā)運(yùn)算系統(tǒng)設(shè)計的核心問題。
矩陣乘法器的基本單元是乘法運(yùn)算單元(如圖1所示),再加上三個數(shù)據(jù)寄存器RA,RB和RC。其中A是乘數(shù),B是被乘數(shù),C是乘積。單元的輸入和輸出關(guān)系為 陣列連接方式主要有三種線性連接,正交連接和六角形連接(如圖2)。通過這些連接,可以實(shí)現(xiàn)向量和矩陣運(yùn)算,以及線性方程組的求解。這里所討論的主要是六角形連接。
兩個矩陣相乘,在數(shù)學(xué)上可以將它們分別展開,然后求解。即[A]·[B]=[C] 。。。(1)a11a12···a1na21a22···a2n···an1an2···ann·b11b12···b1nb21b22···b2n···bn1bn2···bnn=c11c12···c1nc21c22···c2n···cn1cn2···cnn---(2)]]>一般矩陣是稀疏矩陣,而稀疏矩陣一般可以壓縮成帶狀矩陣,這樣就可以大大節(jié)省乘法累加器的數(shù)目。如果矩陣A和B是帶狀矩陣,其帶寬分別為WA和WB,那么矩陣C也是帶狀矩陣,其帶寬為WC=WA+WB-1[1,2,3]
將帶狀矩陣展開,可以得到具體的乘法器輸入輸出關(guān)系
最基本的Kung-Leiserson矩陣乘法器[4,5,6]使用六角矩陣,WA=WB=4,所以該矩陣是4×4矩陣,輸出矩陣C的帶寬為7。數(shù)據(jù)按照節(jié)拍送入,輸出矩陣C由六角矩陣的上方送出(如圖3)。
該矩陣乘法器通過乘數(shù)陣列,被乘數(shù)陣列和輸出陣列的同步脈動,從而實(shí)現(xiàn)了矩陣相乘的功能。
該矩陣乘法器有很大的缺點(diǎn),就是單元利用率太低,僅為三分之一,即每一個節(jié)拍運(yùn)算的時候,16個單元中僅5個單元或6個單元在運(yùn)算,其它的單元為空操作。
n階矩陣相乘所需要的時間節(jié)拍為3n+min(WA,WB),其中min(WA,WB)是頭尾未充分利用的時間節(jié)拍。如果n>>W(wǎng)A,WB,則時間節(jié)拍近似為3n。
對于大規(guī)模并發(fā)運(yùn)算來說,這樣的結(jié)構(gòu)太浪費(fèi)資源了。因此許多研究者設(shè)計了新結(jié)構(gòu)的高效矩陣乘法器,比如Huang-Abraham乘法器和帶有容錯處理功能的CHAN-Wey乘法器[1],但這些乘法器的利用率和速度并不高,本發(fā)明在最基本的Kung-Leiserson矩陣乘法器的基礎(chǔ)上,設(shè)計出了更好的結(jié)構(gòu),從而提高了矩陣相乘的效率和運(yùn)算速度。
參考文獻(xiàn)[1]S.-W.Chan and C.-L.Wey,The design of concurrent error diagnosable systolicarrays for band matrix multiplications,IEEE Trans.Computer-Aided Design.,vol.7,pp.21-37,Jan.1988. J.M.RABAEY,Chapter 7Designing Arithmetic Building Blocks,in Digital IntegeratedCircuits(a design perspective).Prentice-Hall International,Inc.,pp 383-433,1999. X.M.Li,and Z.R.Jiang,Chapter 5System of Linear Equations Parallel Solution,inParallel Algorithms.Hunan,ChinaHunan Science and Technology Press,pp 247-301,1991. H.T.Kung,Why systolic architecture?,IEEE Computer,vol.15,No 1,pp.37-45,Jan.1982. H.T.Kung,and C.E.Leiserson,Algorithms for VLSI processor arrays,in Introduction to VLSISystems,by C.A.Mead and L.A.Conway.Reading,MAAddison-Wesley,1980. K.H.Huang and J.A.Abraham,Efficient parallel algorithms for processor arrays,inProc.IEEE ICPP,pp.271-279,1982.

發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種資源利用率高,計算穩(wěn)定度較好的高效矩陣乘法器,以便能夠充分利用乘法單元,在同一時刻有盡可能多的單元并行運(yùn)算。
本發(fā)明提出的矩陣乘法器是一種“兩間隔并行”矩陣乘法器,以基本的Kung-Leiserson矩陣乘法器為基礎(chǔ),對每層數(shù)據(jù)之間的間隔進(jìn)行壓縮(矩陣壓縮),然后重新設(shè)計各個乘法單元的連接方式和數(shù)據(jù)的輸入,從而充分利用乘法器的并行流程,得到更高效率的矩陣乘法器。
本發(fā)明提出的矩陣乘法器采用了以下處理方式矩陣壓縮、先行處理和數(shù)據(jù)前移。
矩陣壓縮最基本的Kung-Leiserson矩陣乘法器(圖3)的輸出矩陣C的排列是很有規(guī)律的,以c11,c22,…..cnn為中軸,其余各項分別在左右展開。每個相鄰的cnn之間的距離是3個時間節(jié)拍;本發(fā)明提出的“兩間隔并行”矩陣乘法器是將Kung-Leiserson矩陣乘法器輸出矩陣C中相鄰的cnn之間的節(jié)拍縮短為兩個時間節(jié)拍,使得輸出矩陣C變得比較密集,而同樣能夠?qū)崿F(xiàn)乘法的功能。
先行處理將輸出矩陣C壓縮后,乘數(shù)矩陣A和被乘數(shù)矩陣B的排列也會變得密集,但是這些排列并不是簡單的把原來的系數(shù)矩陣進(jìn)行壓縮,而是把原來需要在相乘時進(jìn)行的計算先行處理,以系數(shù)表的方式存入到乘法器中,以達(dá)到加快乘法器速度,提高單元利用率的目的。
數(shù)據(jù)前移“矩陣壓縮”和“先行處理”之后,對矩陣乘法器進(jìn)行調(diào)整,為了避免出現(xiàn)乘數(shù)和被乘數(shù)錯位的情況,將落后的那個乘數(shù)提前(如果落后的是被乘數(shù),那么就將被乘數(shù)提前),使得乘數(shù)同時出現(xiàn)在下面幾個乘法單元的輸入端。而不是照著基本六角形連接的方式,使數(shù)據(jù)按照節(jié)拍依次出現(xiàn)在下面的乘法單元的輸入端(圖4)。通過這些方法,可以提高乘法器的效率,實(shí)現(xiàn)穩(wěn)定的乘法功能。
最基本的Kung-Leiserson矩陣乘法器,每個相鄰的cnn之間的距離是3個時間節(jié)拍。本發(fā)明將時間間隔壓縮為2個時間節(jié)拍,并通過“先行處理”和“數(shù)據(jù)前移”的方法,使得乘數(shù),被乘數(shù)的輸入與運(yùn)算單元的節(jié)拍能夠配合上,從而實(shí)現(xiàn)正確的乘法功能。該矩陣乘法器被命名為“兩間隔并行高效矩陣乘法器”,具體的結(jié)構(gòu)如圖5所示。其具體節(jié)拍情況如下1、第一拍結(jié)果數(shù)據(jù)矩陣C的部分?jǐn)?shù)據(jù)出現(xiàn)在乘法矩陣下端,同時輸入乘數(shù)和被乘數(shù)數(shù)據(jù)矩陣A和B的部分?jǐn)?shù)據(jù);2、第二拍更多的結(jié)果數(shù)據(jù)矩陣C的數(shù)據(jù)出現(xiàn)在乘法矩陣下端,且第一拍中輸入的矩陣C中的數(shù)據(jù)向上移動一個乘法單元。同樣更多的乘數(shù)和被乘數(shù)數(shù)據(jù)矩陣A和B的數(shù)據(jù)被輸入,同時第一拍中送入的A和B的數(shù)據(jù)分別向右下和左下移動一個乘法單元,而且這些數(shù)據(jù)可以根據(jù)具體的連接方式同時出現(xiàn)在幾個乘法單元的輸入端;3、第三拍數(shù)據(jù)矩陣A,B和C的數(shù)據(jù)繼續(xù)按相應(yīng)的方向移動,此時結(jié)果矩陣C的部分?jǐn)?shù)據(jù)和相應(yīng)的乘數(shù)及被乘數(shù)數(shù)據(jù)相遇,開始進(jìn)行單個乘法單元的乘加運(yùn)算;4、第四拍數(shù)據(jù)移動和乘加運(yùn)算繼續(xù)進(jìn)行,此時有更多的乘法單元開始進(jìn)行乘加運(yùn)算,乘法矩陣?yán)寐蔬_(dá)到最高;5、第五拍數(shù)據(jù)移動和乘加運(yùn)算繼續(xù)進(jìn)行,而且數(shù)據(jù)C的部分?jǐn)?shù)據(jù)已經(jīng)得到了結(jié)果,通過乘法矩陣的上方送出;6、第六拍有更多的結(jié)果矩陣C的部分?jǐn)?shù)據(jù)得到了結(jié)果,通過乘法矩陣的上方送出。其他的數(shù)據(jù)繼續(xù)進(jìn)行運(yùn)算和移動;7、第七拍繼續(xù)進(jìn)行數(shù)據(jù)的計算,移位和結(jié)果的送出;8、第八拍數(shù)據(jù)的運(yùn)算和移動持續(xù)進(jìn)行,直到結(jié)果矩陣C的所有數(shù)據(jù)都計算完為止。
從節(jié)拍圖中可以看出,除去頭尾未充分利用的時間節(jié)拍外,在每一個節(jié)拍運(yùn)算時,16個單元中有6個或10個乘法單元在運(yùn)算,兩種情況發(fā)生的機(jī)率是相同的,因此平均的單元利用率為8個,即50%。采用這種結(jié)構(gòu),n階矩陣相乘所需要的平均時間節(jié)拍為2n+min(WA,WB),其中min(WA,WB)是頭尾未充分利用的時間節(jié)拍。如果n>>W(wǎng)A,WB,則時間節(jié)拍近似為2n。
本發(fā)明原理的特點(diǎn)1、采用軟件中并行處理的原理,實(shí)現(xiàn)了硬件的并行處理,以達(dá)到加快乘法器處理速度,提高效率的目的。
2、利用“矩陣壓縮”,“先行處理”和“數(shù)據(jù)前移”的思想,對并行化后的乘法器連接次序進(jìn)行調(diào)整,以實(shí)現(xiàn)正確的乘法功能。
3、通過對矩陣數(shù)據(jù)的間隔進(jìn)行壓縮,可以達(dá)到提高效率的目的,并且電路連接并不是特別復(fù)雜,易于芯片的集成化,適用于對乘法器的效率和成本要求比較嚴(yán)隔的場合。
本發(fā)明具有以下優(yōu)點(diǎn)1、通過對矩陣數(shù)據(jù)的間隔進(jìn)行壓縮,使其從最基本的Kung-Leiserson矩陣乘法器的“三個時鐘節(jié)拍間隔”減少為“兩個時鐘節(jié)拍間隔”,并通過調(diào)整乘法單元的連接次序,解決了并行運(yùn)算斷鏈的問題,從而實(shí)現(xiàn)了平均50%的乘法單元利用率,運(yùn)算效率比最基本的Kung-Leiserson乘法器1/3的利用率提高了50%。
2、由于實(shí)現(xiàn)了50%的乘法單元利用率,“兩間隔并行”高效矩陣乘法器的乘法運(yùn)算速度比最基本的Kung-Leiserson乘法器快了很多。
3、本發(fā)明能夠較快地達(dá)到正常工作狀態(tài)(4個時鐘節(jié)拍),但正常工作狀態(tài)時乘法單元利用率在50%上下波動;并且電路的結(jié)構(gòu)比較簡單,利于芯片的集成化和成本的降低。


圖1乘法運(yùn)算單元。
圖2陣列連接方式。
圖3最基本的Kung-Leiserson矩陣乘法器。
圖4數(shù)據(jù)前移。
圖5兩間隔并行高效矩陣乘法器及其時間節(jié)拍。
圖6兩種乘法器結(jié)構(gòu)在不同時間節(jié)拍下對應(yīng)的單元利用率。
具體實(shí)施例方式
下面通過具體實(shí)例進(jìn)一步說明本發(fā)明對圖5所示的乘法器結(jié)構(gòu)進(jìn)行單時鐘節(jié)拍測試,可以得到具體的數(shù)據(jù)流圖。最基本的Kung-Leiserson矩陣乘法器的輸入數(shù)據(jù)流是沿著斜線方向,依次出現(xiàn)在乘法單元的數(shù)據(jù)輸入端的;而“兩間隔并行”高效矩陣乘法器的輸入數(shù)據(jù)是同時出現(xiàn)在下面的若干個選定的乘法單元的數(shù)據(jù)輸入端的(圖5)。
通過與原有的結(jié)果進(jìn)行比較,可以得到相應(yīng)的效率和驅(qū)動表。從表中看出,“兩間隔并行”高效矩陣乘法器的效率要比最基本的Kung-Leiserson結(jié)構(gòu)1/3的利用率平均提高了50%,而且驅(qū)動的總乘法單元數(shù)目還略少于Kung-Leiserson結(jié)構(gòu)。
表1不同時鐘節(jié)拍的乘法單元利用數(shù)目

表2不同時鐘節(jié)拍的乘法單元利用率

表3驅(qū)動乘法單元的數(shù)目

表4矩陣乘法器的總體性能比較

A.w1和w2是兩個輸入數(shù)據(jù)矩陣的帶寬B.平均利用效率=每節(jié)拍平均運(yùn)算乘法單元數(shù)目/運(yùn)算乘法單元總數(shù)C.min(w1,w2)指乘法器達(dá)到穩(wěn)定狀態(tài)之前所經(jīng)過的最小時鐘節(jié)拍數(shù)目圖6給出了“兩間隔并行”高效矩陣乘法器在不同時間節(jié)拍下對應(yīng)的單元利用率,并與最基本的Kung-Leiserson乘法器的相應(yīng)單元利用率進(jìn)行比較,可以看出平均單元利用率從約33%上升為50%,并且乘法器能夠較快地達(dá)到正常工作狀態(tài)。
因此,該實(shí)例表明,采用本發(fā)明進(jìn)行乘法運(yùn)算,可以有效地提高乘法運(yùn)算單元的利用率,加快乘法器的運(yùn)算速度,并且電路的結(jié)構(gòu)比較簡單,利于芯片的集成化和成本的降低。適用于對成本控制比較嚴(yán)隔,又要求有較好性能的場合。
權(quán)利要求
1.一種矩陣乘法器,以基本的Knng-Leiserson矩陣乘法器為基礎(chǔ),其特征在于采用以下處理方式(1)矩陣壓縮,將Knng-Leiserson矩陣乘法器輸出矩陣C中相鄰的Cnn之間的節(jié)拍縮短為一個節(jié)拍;(2)先行處理,將輸出矩陣C壓縮后,對乘數(shù)矩陣A和被乘數(shù)矩陣B,把原來需要相乘時進(jìn)行的計算先行處理,以系數(shù)表示的方式存入到乘法器中;(3)數(shù)據(jù)前移,將落后的那個乘數(shù)提前,使得乘數(shù)同時出現(xiàn)在下面幾個乘法單元的輸入端。
2.根據(jù)權(quán)利要求1所述的矩陣乘法器,其特征在于節(jié)拍情況如下(1)第一拍結(jié)果數(shù)據(jù)矩陣C的部分?jǐn)?shù)據(jù)出現(xiàn)在乘法矩陣下端,同時輸入乘數(shù)和被乘數(shù)數(shù)據(jù)矩陣A和B的部分?jǐn)?shù)據(jù);(2)第二拍更多的結(jié)果數(shù)據(jù)矩陣C的數(shù)據(jù)出現(xiàn)在乘法矩陣下端,且第一拍中輸入的矩陣C中的數(shù)據(jù)向上移動一個乘法單元;同樣更多的乘數(shù)和被乘數(shù)數(shù)據(jù)矩陣A和B的數(shù)據(jù)被輸入,同時第一拍中送入的A和B的數(shù)據(jù)分別向右下和左下移動一個乘法單元,而且這些數(shù)據(jù)可以根據(jù)具體的連接方式同時出現(xiàn)在幾個乘法單元的輸入端;(3)第三拍數(shù)據(jù)矩陣A,B和C的數(shù)據(jù)繼續(xù)按相應(yīng)的方向移動,此時結(jié)果矩陣C的部分?jǐn)?shù)據(jù)和相應(yīng)的乘數(shù)及被乘數(shù)數(shù)據(jù)相遇,開始進(jìn)行單個乘法單元的乘加運(yùn)算;(4)第四拍數(shù)據(jù)移動和乘加運(yùn)算繼續(xù)進(jìn)行,此時有更多的乘法單元開始進(jìn)行乘加運(yùn)算,乘法矩陣?yán)寐蔬_(dá)到最高;(5)第五拍數(shù)據(jù)移動和乘加運(yùn)算繼續(xù)進(jìn)行,而且數(shù)據(jù)C的部分?jǐn)?shù)據(jù)已經(jīng)得到了結(jié)果,通過乘法矩陣的上方送出;(6)第六拍有更多的結(jié)果矩陣C的部分?jǐn)?shù)據(jù)得到了結(jié)果,通過乘法矩陣的上方送出;其他的數(shù)據(jù)繼續(xù)進(jìn)行運(yùn)算和移動;(7)第七拍繼續(xù)進(jìn)行數(shù)據(jù)的計算,移位和結(jié)果的送出;(8)第八拍數(shù)據(jù)的運(yùn)算和移動持續(xù)進(jìn)行,直到結(jié)果矩陣C的所有數(shù)據(jù)都計算完為止。
全文摘要
本發(fā)明為一種“兩間隔并行”高效矩陣乘法器。它以基本的Knng-Leiserson矩陣乘法為基礎(chǔ),對每層數(shù)據(jù)之間的間隔進(jìn)行壓縮,然后重新設(shè)計各個乘法單元的連接方式和數(shù)據(jù)輸入,并充分利用乘法器的并行流程,得到更高效率的矩陣乘法器。其乘法單元的利用率達(dá)到50%以上,運(yùn)算速度比Knng-Leiserson快得多。
文檔編號G06F7/48GK1560725SQ200410016350
公開日2005年1月5日 申請日期2004年2月16日 優(yōu)先權(quán)日2004年2月16日
發(fā)明者楊贇, 趙文慶, 楊 申請人:復(fù)旦大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
沁源县| 龙川县| 城固县| 东台市| 新竹市| 云南省| 龙井市| 海晏县| 北宁市| 九龙城区| 北碚区| 罗山县| 准格尔旗| 陆河县| 商洛市| 瑞安市| 新安县| 英吉沙县| 泰安市| 民丰县| 沈丘县| 介休市| 潼南县| 涿鹿县| 克拉玛依市| 成武县| 富顺县| 阳谷县| 横峰县| 梁河县| 海淀区| 偏关县| 耒阳市| 韩城市| 揭阳市| 阿克陶县| 台中县| 奎屯市| 文水县| 宝兴县| 雷州市|