[發(fā)明專利]一種存算一體芯片的嵌入式處理器、指令集及數(shù)據(jù)處理方法有效
| 申請?zhí)枺?/td> | 201911240907.4 | 申請日: | 2019-12-06 |
| 公開(公告)號: | CN110990060B | 公開(公告)日: | 2022-03-22 |
| 發(fā)明(設(shè)計)人: | 劉躍;呂毅;張誠;趙輝;高崢;徐翌;魯辭莽 | 申請(專利權(quán))人: | 北京瀚諾半導(dǎo)體科技有限公司;北京大學(xué);杭州閃億半導(dǎo)體有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30;G06N3/063 |
| 代理公司: | 北京君尚知識產(chǎn)權(quán)代理有限公司 11200 | 代理人: | 司立彬 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 一體 芯片 嵌入式 處理器 指令 數(shù)據(jù)處理 方法 | ||
1.一種存算一體芯片的嵌入式處理器數(shù)據(jù)處理方法,其步驟包括:
1)嵌入式處理器將存算一體芯片的存算一體陣列/邏輯配置為多個子陣列,不同所述子陣列用于數(shù)據(jù)的矩陣乘加運算或者神經(jīng)網(wǎng)絡(luò)不同層的運算;然后通過輸入數(shù)據(jù)接口直接從輸入數(shù)據(jù)緩存中讀取數(shù)據(jù);
2)當(dāng)存算一體陣列進(jìn)行人工神經(jīng)網(wǎng)絡(luò)計算時,嵌入式處理器通過控制信號使能指令ENA、控制信號去使能指令DISA、控制信號脈沖指令PUL,經(jīng)輸出控制信號接口給出拉高、拉低或者脈沖控制信號,配合基本操作指令通過外部控制寄存器接口配置外部控制寄存器,將拉高、拉低或者脈沖控制信號和外部控制寄存器數(shù)據(jù)送入存算一體陣列/邏輯,控制DAC將待處理數(shù)據(jù)轉(zhuǎn)換為模擬信號,然后控制存算一體的一對應(yīng)子陣列進(jìn)行矩陣乘加運算,然后控制ADC將運算結(jié)果轉(zhuǎn)換為數(shù)字信號;
3)嵌入式處理器首先通過輸入信號比較指令CMPB、等待輸入信號跳變指令WAIT指令捕捉通過輸入指示接口輸入的存算一體陣列/邏輯的狀態(tài)指示信號,確認(rèn)ADC轉(zhuǎn)化完成以及算一體陣列/邏輯數(shù)據(jù)準(zhǔn)備就緒,然后通過控制信號使能指令ENA、控制信號去使能指令DISA、控制信號脈沖指令PUL并配合基本操作指令,生成控制信號和外部控制寄存器值,通過數(shù)據(jù)總線接口將矩陣乘加運算結(jié)果讀回;然后再使用激活函數(shù)查找表指令LUT、多個數(shù)相加指令A(yù)DDM、取最大值指令MAX配合基本操作指令對結(jié)果進(jìn)行激活、池化或者基本的運算操作之后,通過內(nèi)部數(shù)據(jù)存儲器對中間數(shù)據(jù)進(jìn)行緩存,并判斷是否為最后一層神經(jīng)網(wǎng)絡(luò)運算;
4)如果不是最后一層,則循環(huán)進(jìn)行步驟2)和步驟3);如果是最后一層,則進(jìn)行步驟5);
5)嵌入式處理器進(jìn)行最終結(jié)果處理,判斷人工神經(jīng)網(wǎng)絡(luò)識別結(jié)果,根據(jù)識別結(jié)果,確定是否將結(jié)果輸出。
2.如權(quán)利要求1所述的方法,其特征在于,
所述輸入信號比較指令CMPB,用于對單比特輸入信號進(jìn)行0/1比較,比較結(jié)果寫到存儲相應(yīng)結(jié)果的嵌入式處理器內(nèi)部寄存器;所述輸入信號比較指令CMPB所操作的單比特信號為通過輸入指示信號接口輸入的指示信號;
所述等待輸入信號跳變指令WAIT,用于等待輸入單比特信號狀態(tài)跳變,在跳變之前嵌入式處理器不執(zhí)行其他操作;
所述控制信號使能指令ENA,用于對控制信號進(jìn)行拉高操作,當(dāng)操作數(shù)位寬為N時對最多N個控制信號進(jìn)行使能操作;
所述控制信號去使能指令DISA,用于對控制信號進(jìn)行拉低操作,當(dāng)操作數(shù)位寬為N時對最多N個控制信號進(jìn)行去使能操作;
所述控制信號脈沖指令PUL,用于最多同時產(chǎn)生N個控制信號脈沖;
所述激活函數(shù)查找表指令LUT,用于利用查找表對存算一體運算結(jié)果進(jìn)行激活操作;
所述多個數(shù)相加指令A(yù)DDM,用于多個數(shù)相加;
所述取最大值指令MAX,用于數(shù)據(jù)比較尋找最大值或用于卷積神經(jīng)網(wǎng)絡(luò)中的最大值池化操作。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述控制信號使能指令ENA、控制信號去使能指令DISA、控制信號脈沖指令PUL的數(shù)據(jù)格式均包括:指令類型字段、預(yù)留字段、產(chǎn)生所操作信號的寄存器編號字段和所操作的信號字段;所述輸入信號比較指令CMPB和等待輸入信號跳變指令WAIT的指令格式包括:指令類型字段、預(yù)留字段、0/1指示字段和信號編號字段;所述激活函數(shù)查找表指令LUT的數(shù)據(jù)格式包括:指令類型標(biāo)識字段、存放查表結(jié)果的目的內(nèi)部寄存器編號字段、存放需要進(jìn)行激活操作數(shù)據(jù)的源內(nèi)部寄存器編號字段和查找表在內(nèi)部數(shù)據(jù)存儲器中的基地址字段;所述嵌入式處理器執(zhí)行所述控制信號使能指令ENA、控制信號去使能指令DISA或控制信號脈沖指令PUL時,首先指針計數(shù)模塊根據(jù)當(dāng)前指令指針計數(shù),讀取指令,譯碼模塊進(jìn)行指令譯碼,確定當(dāng)前指令為所述控制信號使能指令ENA、控制信號去使能指令DISA、控制信號脈沖指令PUL三種指令之一,則通過寄存器編號索引到相應(yīng)的寄存器,指令執(zhí)行模塊根據(jù)指令中的設(shè)置值對相應(yīng)寄存器的值進(jìn)行操作,數(shù)據(jù)回寫模塊將操作結(jié)果回寫到相應(yīng)寄存器;所述嵌入式處理器通過激活函數(shù)查找表指令LUT對數(shù)據(jù)進(jìn)行激活操作。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京瀚諾半導(dǎo)體科技有限公司;北京大學(xué);杭州閃億半導(dǎo)體有限公司,未經(jīng)北京瀚諾半導(dǎo)體科技有限公司;北京大學(xué);杭州閃億半導(dǎo)體有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911240907.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





