[發(fā)明專利]支持高吞吐多精度乘法運(yùn)算的RISC-V通用處理器有效
| 申請?zhí)枺?/td> | 202011424890.0 | 申請日: | 2020-12-09 |
| 公開(公告)號: | CN112506468B | 公開(公告)日: | 2023-04-28 |
| 發(fā)明(設(shè)計)人: | 景乃鋒;王琴;張茂全;徐磊;蔣劍飛 | 申請(專利權(quán))人: | 上海交通大學(xué) |
| 主分類號: | G06F7/523 | 分類號: | G06F7/523;G06F7/487;G06F9/30 |
| 代理公司: | 上海漢聲知識產(chǎn)權(quán)代理有限公司 31236 | 代理人: | 胡晶 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 支持 吞吐 精度 乘法 運(yùn)算 risc 通用 處理器 | ||
本發(fā)明提供了一種支持高吞吐多精度乘法運(yùn)算的RISC?V通用處理器,包括獨(dú)立的乘法器數(shù)據(jù)通路,所述乘法器數(shù)據(jù)通路將多精度乘法器的數(shù)據(jù)通路與其他運(yùn)算單元的數(shù)據(jù)通路分離,且多精度指令在執(zhí)行階段之后直接進(jìn)入寄存器回寫階段而不用經(jīng)過訪存階段,減少流水線寄存器的使用并節(jié)省面積和功耗,所述多精度乘法器具有獨(dú)立的數(shù)據(jù)通路,進(jìn)行將浮點乘法的結(jié)果寫入矢量化寄存器文件VRF。本發(fā)明提供的一種支持高吞吐多精度乘法運(yùn)算的RISC?V通用處理器能高效地處理多精度計算需求。
技術(shù)領(lǐng)域
本發(fā)明涉及通用處理器的技術(shù)領(lǐng)域,具體地,涉及一種支持高吞吐多精度乘法運(yùn)算的RISC-V通用處理器。
背景技術(shù)
自英特爾80386以來,在通用處理器中使用32位或64位字已成為常規(guī)的方法,在當(dāng)今的算術(shù)邏輯單元(ALU)、體系結(jié)構(gòu)和算法設(shè)計中,這已被視為常規(guī)方法。深度神經(jīng)網(wǎng)絡(luò)的流行使得加速神經(jīng)網(wǎng)絡(luò)成為了新的設(shè)計方向,已經(jīng)可以通過對神經(jīng)網(wǎng)絡(luò)進(jìn)行量化和壓縮來獲得位寬更小的權(quán)重數(shù)據(jù),可以減少算力的需求和內(nèi)存帶寬的開銷。例如,Google的TPU支持浮點格式為BF16的低精度格式;NVIDIA在其最新的GPU中加入了面向多精度計算的TensorCore核心,用以加速通用矩陣乘法。
到目前為止,通用處理器尚未在普通邏輯運(yùn)算單元中加入多精度的支持。通用處理器在運(yùn)算電路設(shè)計上仍然堅持使用32位或64位的字寬,主要原因有:1)在通用工作負(fù)載中的操作數(shù)通常具有不同的字寬,為了不失一般性,通用處理器不能像神經(jīng)網(wǎng)絡(luò)加速器那樣快速的將內(nèi)部的運(yùn)算單元位寬降低為低精度位寬。2)為了保證向后兼容性,即可以最新的通用處理器可以運(yùn)行老舊的程序代碼,很難將通用處理器迅速更改為低精度處理器。
因此,如果通用處理器想要使用低精度運(yùn)算對某些應(yīng)用進(jìn)行加速,同時能夠?qū)崿F(xiàn)32位寬或64位寬的通用計算,那么該通用處理器必須是具有多精度運(yùn)算能力的。在通用處理器中所有的運(yùn)算電路中,乘法器占據(jù)著核心地位,因此,目前的通用處理器具有無法處理多精度計算的缺陷。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種支持高吞吐多精度乘法運(yùn)算的RISC-V通用處理器。
根據(jù)本發(fā)明提供的一種支持高吞吐多精度乘法運(yùn)算的RISC-V通用處理器,包括獨(dú)立的乘法器數(shù)據(jù)通路,所述乘法器數(shù)據(jù)通路將多精度乘法器的數(shù)據(jù)通路與其他運(yùn)算單元的數(shù)據(jù)通路分離,且多精度指令可以在執(zhí)行階段之后直接進(jìn)入寄存器回寫階段而不用經(jīng)過訪存階段,減少流水線寄存器的使用并節(jié)省面積和功耗,所述多精度乘法器具有獨(dú)立的數(shù)據(jù)通路,可以進(jìn)行快速的將浮點乘法的結(jié)果寫入矢量化寄存器文件VRF。
優(yōu)選地,還包括通用寄存器和向量寄存器結(jié)合的寄存器文件,所述通用寄存器文件GRF主要是給整數(shù)運(yùn)算指令提供整數(shù)類型的操作,在通用寄存器文件的基礎(chǔ)上,添加了矢量化寄存器文件VRF,用于給浮點運(yùn)算指令和低精度浮點乘法指令提供浮點操作數(shù)。
優(yōu)選地,所述矢量化寄存器文件VRF被設(shè)置為兩組獨(dú)立的寄存器文件,每組寄存器文件的寬度為128bit,深度為16,均具有兩讀一寫端口。第一組寄存器bank0的寄存器地址編號均為偶數(shù),即從上到下的寄存器地址分別為v0,v2,v4…v30,第二組寄存器bank1的寄存器地址編號均為奇數(shù),即從上到下的寄存器地址分別為v1、v3、v5…v31。
優(yōu)選地,所有精度的乘法結(jié)果均通過固定的延遲進(jìn)入寄存器寫回階段,等待的數(shù)據(jù)為FP16的乘法結(jié)果,那么在第一個乘法周期便可以將結(jié)果數(shù)據(jù)轉(zhuǎn)發(fā)至譯碼階段;需要的數(shù)據(jù)為FP32和FP64的乘法結(jié)果,那么需要在第二個或第三個乘法周期才能將乘法結(jié)果轉(zhuǎn)發(fā)至譯碼階段。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海交通大學(xué),未經(jīng)上海交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011424890.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F7-00 通過待處理的數(shù)據(jù)的指令或內(nèi)容進(jìn)行運(yùn)算的數(shù)據(jù)處理的方法或裝置
G06F7-02 .比較數(shù)字值的
G06F7-06 .將單個記錄載體上的數(shù)據(jù)進(jìn)行排序、選擇、合并或比較的裝置
G06F7-22 .用于排序或合并在連續(xù)記錄載體
G06F7-38 .只利用數(shù)制表示,例如利用二進(jìn)制、三進(jìn)制、十進(jìn)制表示來完成計算的方法或裝置
G06F7-58 .隨機(jī)數(shù)或偽隨機(jī)數(shù)發(fā)生器
- 對等文件傳送模型和客戶端-服務(wù)器文件傳送模型
- 特稠油及超稠油油藏納米磁流體吞吐采油方法及井網(wǎng)結(jié)構(gòu)
- 集群存儲系統(tǒng)中吞吐量塌陷行為的分析方法及裝置
- 一種互干擾測試方法及裝置
- 特稠油及超稠油油藏納米磁流體吞吐采油的井網(wǎng)結(jié)構(gòu)
- 一種封閉斷塊油藏氮?dú)鈴?fù)合吞吐方法
- 小區(qū)網(wǎng)絡(luò)負(fù)荷的評估方法、裝置、設(shè)備及介質(zhì)
- 一種淺層稠油油藏火燒輔助蒸汽吞吐的開采方法
- 一種網(wǎng)卡測試方法、裝置及相關(guān)設(shè)備
- 一種Stream系統(tǒng)極限吞吐性能評估方法及系統(tǒng)





