[發明專利]一種用于執行神經網絡運算以及矩陣/向量運算的裝置和方法在審
| 申請號: | 201610281291.5 | 申請日: | 2016-04-29 |
| 公開(公告)號: | CN107329936A | 公開(公告)日: | 2017-11-07 |
| 發明(設計)人: | 陶勁樺;陳天石;陳云霽 | 申請(專利權)人: | 北京中科寒武紀科技有限公司 |
| 主分類號: | G06F17/16 | 分類號: | G06F17/16;G06N3/063;G06F9/30 |
| 代理公司: | 中科專利商標代理有限責任公司11021 | 代理人: | 任巖 |
| 地址: | 100190 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 執行 神經網絡 運算 以及 矩陣 向量 裝置 方法 | ||
技術領域
本發明涉及神經網絡運算技術領域,更具體地涉及一種用于執行神經網絡運算以及矩陣/向量運算的裝置和方法。
背景技術
人工神經網絡(ANNs),簡稱神經網絡(NNs),是一種模仿動物神經網絡行為特征,進行分布式并行信息處理的算法數學模型。這種網絡依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的。目前,神經網絡在智能控制、機器學習等很多領域均獲得長足發展。由于神經網絡屬于算法數學模型,其涉及大量的數學運算,因此如何快速、準確地執行神經網絡運算是當前迫切需要解決的問題。
發明內容
有鑒于此,本發明的目的在于提供一種執行神經網絡運算以及矩陣/向量運算的裝置和方法,以實現高效的神經網絡運算以及矩陣/向量運算。
為了實現上述目的,作為本發明的一個方面,本發明提供了一種用于執行神經網絡運算以及矩陣/向量運算的裝置,包括存儲單元、寄存器單元、控制單元、運算單元和高速暫存存儲器,其中:
存儲單元,用于存儲神經元/矩陣/向量;
寄存器單元,用于存儲神經元地址/矩陣地址/向量地址,其中所述神經元地址為神經元在所述存儲單元中存儲的地址,所述矩陣地址為矩陣在所述存儲單元中存儲的地址,所述向量地址為向量在所述存儲單元中存儲的地址;
控制單元,用于執行譯碼操作,根據讀取指令控制各個單元模塊;
運算單元,用于根據指令從所述寄存器單元中獲取神經元地址/矩陣地址/向量地址,根據所述神經元地址/矩陣地址/向量地址在所述存儲單元中 獲取相應的神經元/矩陣/向量,以及根據由此獲取的神經元/矩陣/向量和/或指令中攜帶的數據進行運算,得到運算結果;
其特征在于,將參與所述運算單元計算的神經元/矩陣/向量數據暫存在高速暫存存儲器上,當需要時所述運算單元從所述高速暫存存儲器上讀取。
其中,所述高速暫存存儲器能夠支持不同大小的神經元/矩陣/向量數據。
其中,所述寄存器單元為標量寄存器堆,提供運算過程中所需的標量寄存器。
其中,所述運算單元包括向量乘法部件、累加部件和標量乘法部件;以及
所述運算單元負責裝置的神經網絡/矩陣/向量運算,包括卷積神經網絡正向運算操作、卷積神經網絡訓練操作、神經網絡Pooling運算操作、full connection神經網絡正向運算操作、full connection神經網絡訓練操作、batch normalization運算操作、RBM神經網絡運算操作、矩陣-向量乘運算操作、矩陣-矩陣加/減運算操作、向量外積運算操作、向量內積運算操作、向量四則運算操作、向量邏輯運算操作、向量超越函數運算操作、向量比較運算操作、求向量最大/最小值運算操作、向量循環移位運算操作、生成服從一定分布的隨機向量運算操作。
其中,所述裝置還包括指令緩存單元,用于存儲待執行的運算指令;所述指令緩存單元優選為重排序緩存;以及
所述裝置還包括指令隊列,用于順序緩存譯碼后的指令,送往依賴關系處理單元。
其中,所述裝置還包括依賴關系處理單元和存儲隊列,所述依賴關系處理單元用于在運算單元獲取指令前,判斷所述運算指令與前一運算指令是否訪問相同的神經元/矩陣/向量存儲地址,若是,將所述運算指令存儲在所述存儲隊列中;否則,直接將該運算指令提供給所述運算單元,待前一運算指令執行完畢后,將存儲隊列中的所述運算指令提供給所述運算單元;所述存儲隊列用于存儲與之前指令在數據上有依賴關系的指令,并在依賴關系消除之后,提交所述指令。
其中,所述裝置的指令集采用Load/Store結構,所述運算單元不對內存中的數據進行操作;以及
所述裝置的指令集優選采用超長指令字架構,同時優選采用定長指令。
其中,所述運算單元執行的運算指令包括至少一操作碼和至少3個操作數;其中,所述操作碼用于指示該運算指令的功能,運算單元通過識別一個或多個操作碼進行不同的運算;所述操作數用于指示所述運算指令的數據信息,其中,所述數據信息為立即數或寄存器號。
作為優選,當所述運算指令為神經網絡運算指令時,所述神經網絡運算指令包括至少一操作碼和16個操作數;
作為優選,當所述運算指令為矩陣-矩陣運算指令時,所述矩陣-矩陣運算指令包括至少一操作碼和至少4個操作數;
作為優選,當所述運算指令為向量運算指令時,所述向量運算指令包括至少一操作碼和至少3個操作數;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京中科寒武紀科技有限公司,未經北京中科寒武紀科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610281291.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種凸面型壓頭與彈性體接觸的分析方法
- 下一篇:氣缸轉子式內燃發動機





