[發明專利]支持多種數據類型的單指令多數據算術單元有效
| 申請號: | 201310009888.0 | 申請日: | 2013-01-10 |
| 公開(公告)號: | CN103092571A | 公開(公告)日: | 2013-05-08 |
| 發明(設計)人: | 嚴曉浪;仇徑;孟建熠;陳志堅 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 杭州天正專利事務所有限公司 33201 | 代理人: | 王兵;王利強 |
| 地址: | 310027 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 支持 多種 數據類型 指令 多數 算術 單元 | ||
技術領域
本發明涉及多媒體運算部件,尤其是一種算術單元。
背景技術
多媒體應用通常指針對多媒體對象如文本、音頻、靜態圖像、二維圖形、三維圖形、動畫以及全動態視頻等的捕捉、存儲、變換、傳輸、編解碼等操作。多媒體信號,其最大特點反應在于小的數據位寬,大的數據吞吐量。
單指令多數據(SIMD)技術是指通過一個控制器同時控制兩個或者多個平行的處理微元來實現多數據流運算,其并行性體現在能夠利用一條指令實現對多個位寬較小的數據單元并行完成同一種操作,從而在時間上實現并行運算。
現有的一個40位算術運算單元大多只能一次實現一個32位的運算或者1個16位的運算或者1個8位的運算,這樣雖然實現簡單,但是對多媒體應用的低數據位寬,大數據吞吐量特征沒有很好的處理效率,通常認為采用SIMD技術可以極大地提高相應多媒體處理應用程序的并行度,提高運算單元的多媒體處理性能,所以需要設計一種單指令多數據算術運算單元。
由于視頻、音頻、圖像的數據寬度不一樣,而且隨著多媒體技術的發展,可以預計在將來會有更多種的數據寬度需要支持,而當前的SIMD運算單元大多只支持一種數據寬度,或者8位,或者16位,對于多媒體應用的加速不具有普遍性,所以需要設計一種操作數長度可變的SIMD算術單元。
發明內容
為了克服已有算術單元的不能支持多種數據寬度、適用性較差的不足,本發明提供一種能有效支持多種數據寬度、適用性良好的支持多種數據類型的單指令多數據算術單元。
本發明解決其技術問題所采用的技術方案是:?
一種支持多種數據類型的單指令多數據算術單元,所述算術單元包括N個原子運算陣列,N為任意正整數,每個原子運算陣列使用一個加法器實現多種位寬的數據的算術運算,所述原子運算陣列包括:
操作數準備單元,用于依據輸入的操作類型與數據類型信息,對輸入的源操作數進行取反、符號位擴展、位寬擴展與進位擴展操作,輸出中間操作數;
加法運算單元,用于接收來自操作數準備單元的中間操作數,完成加法運算,輸出加法運算結果;
舍入操作單元,用于依據輸入的操作類型與數據類型信息,對加法運算結果進行舍入操作,輸出舍入操作結果;
飽和操作單元,用于依據輸入的操作類型與數據類型信息,對加法運算結果進行飽和操作,輸出飽和操作結果;
結果封裝單元,用于依據操作類型與數據類型信息,選擇舍入操作單元或者飽和操作單元的輸出結果,并依據數據類型信息,將中間結果封裝為最終數據。
進一步,所述算術單元支持有符號數與無符號數運算,支持不同元素寬度的運算,所述元素寬度包括字、半字或字節。
優選的,所述操作數準備單元中,取反操作以元素為單位,依據操作類型對源操作數進行取反操作;若為加法運算,保持第一操作數與第二操作數不變;若為減法運算,保持第一操作數不變,對第二源操作數取反;若為絕對值運算則依據數據的符號位對負操作數取反,對正操作數保持不變。
再進一步,所述操作數準備單元中,符號位擴展操作對第一源操作數和第二源操作數以元素為單位進行符號位擴展;對于有符號數,在每個元素的最高位擴展一位符號位,對于無符號數,在每個元素的最高位補一位0。
更進一步,所述操作數準備單元中,位寬擴展操作依據操作類型與數據類型信息以元素為單位對第一源操作數或者第二源操作數擴展一倍位寬。
所述操作數準備單元中,在第一操作數與第二操作數每個元素的最低位擴展一位進位擴展位,對于減法操作,進位擴展操作在第一源操作數和第二源操作數的每元素最低位擴展為1,與取反操作數準備一起構成對減數的取補碼操作;對于加法運算,進位擴展操作在第一源操作數和第二源操作數的每元素最低位擴展為0。
所述加法運算單元僅包含一個加法器,根據操作數的類型,對加法操作數的每個元素都增加一位精度擴展位,記錄加法操作數的首位進位運算結果,得到一個擴展中間數據,從而隔離數據的進位,并在運算最后舍去進位擴展位,獲得一個加法運算結果。
所述舍入操作單元僅包含1個減法器,實現不同位寬的數據的舍入操作。
所述飽和操作單元中,依據數據類型信息,以元素為單位利用加法運算單元結果和符號位擴展運算結果對加法運算結果進行飽和運算,表現為如果上溢出,取最大值,下溢出,取最小值,其它情況運算結果保持不變。
所述結果封裝單元中,根據指令類型信息,選取舍入操作單元或者飽和操作單元的結果,并依據數據類型信息,封裝成為最終的運算結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310009888.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:汽車減振裝置
- 下一篇:鉛蓄電池及其制造方法





