[發明專利]面向神經網絡處理器的近似浮點乘法器及浮點數乘法有效
| 申請號: | 201710311756.1 | 申請日: | 2017-05-05 |
| 公開(公告)號: | CN107273090B | 公開(公告)日: | 2020-07-31 |
| 發明(設計)人: | 韓銀和;許浩博;王穎 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F7/57 | 分類號: | G06F7/57;G06N3/063 |
| 代理公司: | 北京泛華偉業知識產權代理有限公司 11280 | 代理人: | 王勇;蘇曉麗 |
| 地址: | 100190 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 神經網絡 處理器 近似 浮點 乘法器 乘法 | ||
1.一種用于神經網絡處理器的近似浮點乘法器,包括:
符號位運算單元,其對輸入的兩個操作數的符號位進行異或運算以得到這兩個操作數的乘積的符號位;
階碼運算單元,其對輸入的兩個操作數的階碼進行加法運算,以得到所述乘積的階碼;
尾數運算單元,其根據指定的精度從各操作數尾數高位開始截取部分位并在所截取的部分位前后補1得到兩個新的尾數,對這兩個新的尾數進行乘法運算,以得到乘積的近似尾數,其中所述精度指示操作數的尾數中需要參與乘法運算的位數;
規格化單元,其對所述近似尾數和所述乘積的階碼進行規格化處理;
移位單元,其在經規格化后的近似尾數的低位補零使其位數與操作數的尾數位數一致,以得到所述乘積的尾數;
其中所述尾數運算單元包括第一編碼器、第二編碼器和定位乘法器,其中第一編碼器和第二編碼器根據收到的精度指示信號分別從各操作數尾數高位開始截取部分位并在所截取的部分位前后補1;定位乘法器對第一和第二編碼器的輸入數據進行乘法運算并輸出運算結果。
2.根據權利要求1所述的近似浮點乘法器,還包括特殊值判斷單元,其判斷輸入的兩個操作數中是否存在特殊值并向階碼運算單元和尾數運算單元發出指示所述判斷的結果的特殊值指示信號,以及當判斷這兩個操作數中存在特殊值時,直接輸出預先設定的與所檢測的特殊值對應的結果作為這兩個操作數的乘積。
3.根據權利要求2所述的近似浮點乘法器,其中所述階碼運算單元和所述尾數運算單元在收到來自特殊值判斷單元指示操作數中存在特殊值的特殊值指示信號時,不再繼續進行相關運算。
4.根據權利要求1-3中任一項所述的近似浮點乘法器,其中所述精度的最大值為操作數尾數的位數,最小值為零。
5.一種用于神經網絡處理器的浮點數乘法,該神經網絡處理器包括根據權利要求1-4中任一項所述的近似浮點乘法器,所述浮點數乘法包括:
步驟a1,由符號位運算單元將待相乘的兩個操作數的符號位進行異或運算,得到這兩個操作數的乘積的符號位;
步驟a2,由階碼運算單元將這兩個操作數的階碼進行加法運算,以得到所述乘積的階碼;
步驟a3,由尾數運算單元根據指定的精度從各操作數尾數高位開始截取部分位并在所截取的部分位前后補1得到兩個新的尾數,其中所述精度指示操作數的尾數中需要參與乘法運算的位數;
步驟a4,由尾數運算單元對這兩個新的尾數進行乘法運算,以得到乘積的近似尾數;
步驟a5,由規格化單元對所述近似尾數和所述乘積的階碼進行規格化處理;
步驟a6,由移位單元在經規格化處理的近似尾數的低位補零使其位數與操作數的尾數位數一致,以得到所述乘積的尾數。
6.根據權利要求5所述的浮點數乘法,在步驟a1-a6之前還包括步驟a0,由特殊值判斷單元判斷待相乘的兩個操作數中是否存在特殊值,若有特殊值,則直接輸出預先設定的與所述特殊值對應的結果值作為這兩個操作數的乘積,否則繼續至步驟a1。
7.根據權利要求6所述的浮點數乘法,在步驟a0中:
如果這兩個操作數中存在零值,則直接輸出零值;
如果這兩個操作數相同且均為浮點表示范圍內的最大值或最小值,則直接輸出最大值;
如果這兩個操作數中一個為最大值且另一個為最小值,則直接輸出最小值;
如果這兩個操作數中僅存在一個最大值或最小值,則直接輸出該最大值或最小值。
8.根據權利要求5-7中任一項所述的浮點數乘法,還包括動態調整或設置所述精度的步驟。
9.根據權利要求5-7中任一項所述的浮點數乘法,其中所述精度的最大值為操作數尾數的位數,最小值為零。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710311756.1/1.html,轉載請聲明來源鉆瓜專利網。





