欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法及系統(tǒng)與流程

文檔序號(hào):11432851閱讀:241來(lái)源:國(guó)知局
基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法及系統(tǒng)與流程

本發(fā)明涉及硬件神經(jīng)網(wǎng)絡(luò)模型計(jì)算加速領(lǐng)域,特別涉及一種基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法和系統(tǒng)。



背景技術(shù):

深度神經(jīng)網(wǎng)絡(luò)是人工智能領(lǐng)域具有最高發(fā)展水平的感知模型之一,該類網(wǎng)絡(luò)通過(guò)建立模型模擬人類大腦的神經(jīng)連接結(jié)構(gòu),通過(guò)多個(gè)變換階段分層對(duì)數(shù)據(jù)特征進(jìn)行描述,為圖像、視頻和音頻等大數(shù)據(jù)處理任務(wù)的應(yīng)用帶來(lái)了突破性進(jìn)展。由于神經(jīng)網(wǎng)絡(luò)模型對(duì)環(huán)境噪聲及信號(hào)完整性問(wèn)題具有足夠的魯棒性,因此計(jì)算數(shù)據(jù)的部分丟失不會(huì)對(duì)計(jì)算結(jié)果產(chǎn)生災(zāi)難性影響,實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)運(yùn)算的神經(jīng)網(wǎng)絡(luò)處理器可被看做為一種近似計(jì)算處理器。

隨著深度學(xué)習(xí)技術(shù)的快速進(jìn)展,通用神經(jīng)網(wǎng)絡(luò)處理器深入到圖像分類、語(yǔ)音識(shí)別、智能機(jī)器人等人工智能領(lǐng)域的不同應(yīng)用領(lǐng)域,這些應(yīng)用的共同特征為屬于近似計(jì)算領(lǐng)域。該類應(yīng)用通過(guò)采集海量數(shù)據(jù)集進(jìn)行有效訓(xùn)練完成預(yù)測(cè)、分類等功能,而不過(guò)分依靠數(shù)值計(jì)算的準(zhǔn)確性來(lái)得到最終結(jié)果,然而在嵌入式設(shè)備及小規(guī)模數(shù)據(jù)中心中,由于其系統(tǒng)結(jié)構(gòu)特點(diǎn)及應(yīng)用領(lǐng)域需求,處理器在實(shí)際工作時(shí)難以依托海量數(shù)據(jù)來(lái)實(shí)現(xiàn)高準(zhǔn)確度計(jì)算的目的,因此通過(guò)近似計(jì)算方法,利用神經(jīng)網(wǎng)絡(luò)模型內(nèi)在的精度容忍性實(shí)現(xiàn)高精度計(jì)算成為緩解片上資源、能耗、精度之間矛盾的行之有效方式。

神經(jīng)網(wǎng)絡(luò)模型應(yīng)用過(guò)程中需要處理足夠規(guī)模的數(shù)據(jù)集,這對(duì)存儲(chǔ)系統(tǒng)的容量及訪問(wèn)速度同樣提出了較高要求?;赾mos技術(shù)的存儲(chǔ)器是目前片上存儲(chǔ)器設(shè)計(jì)的主流技術(shù),例如靜態(tài)隨機(jī)存儲(chǔ)器(sram)和動(dòng)態(tài)隨機(jī)存儲(chǔ)器(dram)等。然而隨著工藝尺寸及功耗問(wèn)題的限制,cmos存儲(chǔ)器目前面臨著嚴(yán)重的設(shè)計(jì)挑戰(zhàn),設(shè)計(jì)一款適應(yīng)神經(jīng)網(wǎng)絡(luò)近似計(jì)算特點(diǎn)的存儲(chǔ)器并以此存儲(chǔ)器為基礎(chǔ)搭建具有容錯(cuò)特征的神經(jīng)網(wǎng)絡(luò)處理器存儲(chǔ)系統(tǒng)成為一項(xiàng)具有挑戰(zhàn)性的任務(wù)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明針對(duì)神經(jīng)網(wǎng)絡(luò)處理中存在的運(yùn)算數(shù)據(jù)規(guī)模大、片上資源需求高及電路能量消耗大等問(wèn)題,提供一種基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法和系統(tǒng),采用多層自旋轉(zhuǎn)移力矩磁存儲(chǔ)器(stt-ram,全稱spintoquetransferram)作為主存儲(chǔ)器并根據(jù)多層stt-ram多模式存儲(chǔ)的特點(diǎn),提出一種面向神經(jīng)網(wǎng)絡(luò)近似計(jì)算方法的數(shù)據(jù)映射結(jié)構(gòu)及數(shù)據(jù)路徑關(guān)斷技術(shù),在保證神經(jīng)網(wǎng)絡(luò)計(jì)算精度的前提下,減少了片上存儲(chǔ)開銷、降低了電路工作能耗。

具體來(lái)說(shuō),本發(fā)明公了一種基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中包括以下步驟:

步驟s1,從存儲(chǔ)單元讀取需要執(zhí)行的操作指令,并根據(jù)該操作指令將待計(jì)算的輸入數(shù)據(jù)寫入該存儲(chǔ)單元,并生成控制信號(hào);

步驟s2,從該存儲(chǔ)單元中獲取該輸入數(shù)據(jù),結(jié)合該控制信號(hào)執(zhí)行神經(jīng)網(wǎng)絡(luò)計(jì)算中的計(jì)算操作,產(chǎn)生中間計(jì)算數(shù)據(jù)和最終計(jì)算數(shù)據(jù),并存入該存儲(chǔ)單元;

其中該存儲(chǔ)單元存儲(chǔ)介質(zhì)為多層自旋轉(zhuǎn)移力矩磁存儲(chǔ)器。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中該存儲(chǔ)單元具備多層單元存儲(chǔ)模式、單比特存儲(chǔ)模式和狀態(tài)限制多單元存儲(chǔ)模式,并根據(jù)神經(jīng)網(wǎng)絡(luò)處理規(guī)模及計(jì)算精度要求在上述三種存儲(chǔ)模式之間切換,其中,

多層單元存儲(chǔ)模式,每個(gè)存儲(chǔ)單元內(nèi)全部mjt均參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為2n;

單比特存儲(chǔ)模式,每個(gè)存儲(chǔ)單元內(nèi)一半mjt參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為n;

狀態(tài)限制多單元存儲(chǔ)模式,每?jī)蓚€(gè)存儲(chǔ)單元內(nèi)四分之三mjt參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為二分之三n。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中采用q格式存儲(chǔ)該操作指令、該最終計(jì)算數(shù)據(jù)和該中間計(jì)算數(shù)據(jù),該q格式的形式為qn.m,其中n為二進(jìn)制數(shù)小數(shù)的整數(shù)部分,m為二進(jìn)制數(shù)小數(shù)的小數(shù)部分,且n+m=2n,2n為數(shù)據(jù)位寬。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中步驟s1還包括在該輸入數(shù)據(jù)寫入該存儲(chǔ)單元時(shí),若該輸入數(shù)據(jù)的位寬大于存儲(chǔ)單元的數(shù)據(jù)位寬,則拋棄該輸入數(shù)據(jù)中的低位數(shù)據(jù),并在步驟s2中取消對(duì)于該低位數(shù)據(jù)的計(jì)算。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中該計(jì)算操作包括向量乘加操作、池化操作和局部相應(yīng)歸一化操作。

本發(fā)明還公開了一種基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中包括以下單元:

控制單元,從存儲(chǔ)單元讀取需要執(zhí)行的操作指令,并根據(jù)該操作指令將待計(jì)算的輸入數(shù)據(jù)寫入該存儲(chǔ)單元,并生成控制信號(hào);

計(jì)算單元陣列,包括多個(gè)計(jì)算單元,用于從該存儲(chǔ)單元中獲取該輸入數(shù)據(jù),結(jié)合該控制信號(hào)執(zhí)行神經(jīng)網(wǎng)絡(luò)計(jì)算中的計(jì)算操作,產(chǎn)生中間計(jì)算數(shù)據(jù)和最終計(jì)算數(shù)據(jù),并存入該存儲(chǔ)單元;

其中該存儲(chǔ)單元存儲(chǔ)介質(zhì)為多層自旋轉(zhuǎn)移力矩磁存儲(chǔ)器。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中該存儲(chǔ)單元具備多層單元存儲(chǔ)模式、單比特存儲(chǔ)模式和狀態(tài)限制多單元存儲(chǔ)模式,并根據(jù)神經(jīng)網(wǎng)絡(luò)處理規(guī)模及計(jì)算精度要求在上述三種存儲(chǔ)模式之間切換,其中,

多層單元存儲(chǔ)模式,存儲(chǔ)單元內(nèi)全部mjt均參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為2n;

單比特存儲(chǔ)模式,存儲(chǔ)單元內(nèi)一半mjt參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為n;

狀態(tài)限制多單元存儲(chǔ)模式,每?jī)蓚€(gè)存儲(chǔ)單元內(nèi)四分之三mjt參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為二分之三n。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中采用q格式存儲(chǔ)該操作指令、該最終計(jì)算數(shù)據(jù)和該中間計(jì)算數(shù)據(jù),該q格式的形式為qn.m,其中n為二進(jìn)制數(shù)小數(shù)的整數(shù)部分,m為二進(jìn)制數(shù)小數(shù)的小數(shù)部分,且n+m=2n,2n為數(shù)據(jù)位寬。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中該控制單元還包括在該輸入數(shù)據(jù)寫入該存儲(chǔ)單元時(shí),若該輸入數(shù)據(jù)的位寬大于存儲(chǔ)單元的數(shù)據(jù)位寬,則拋棄該輸入數(shù)據(jù)中的低位數(shù)據(jù),并在計(jì)算單元陣列計(jì)算時(shí)關(guān)斷用于計(jì)算該低位數(shù)據(jù)的計(jì)算單元。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中該運(yùn)算操作包括向量乘加操作、池化操作和局部相應(yīng)歸一化操作。

本發(fā)明針對(duì)神經(jīng)網(wǎng)絡(luò)處理器中存在的運(yùn)算數(shù)據(jù)規(guī)模大、片上資源需求高及電路能量消耗大等問(wèn)題,提出一種基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理器,在保證神經(jīng)網(wǎng)絡(luò)計(jì)算精度同時(shí),降低片上資源開銷及能量損耗。

附圖說(shuō)明

圖1為本發(fā)明提供的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng)結(jié)構(gòu)框圖;

圖2為本發(fā)明采用的多層stt-ram存儲(chǔ)單元示意圖;

圖3為本發(fā)明提出的一種面向神經(jīng)網(wǎng)絡(luò)處理器的基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的數(shù)據(jù)映射結(jié)構(gòu)圖;

圖4為本發(fā)明提出的一種神經(jīng)網(wǎng)絡(luò)處理器數(shù)據(jù)路徑關(guān)斷技術(shù)示意圖。

具體實(shí)施方式

本發(fā)明公了一種基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中包括以下步驟:

步驟s1,從存儲(chǔ)單元讀取需要執(zhí)行的操作指令,并根據(jù)該操作指令將待計(jì)算的輸入數(shù)據(jù)寫入該存儲(chǔ)單元,并生成控制信號(hào);

步驟s2,從該存儲(chǔ)單元中獲取該輸入數(shù)據(jù),結(jié)合該控制信號(hào)執(zhí)行神經(jīng)網(wǎng)絡(luò)計(jì)算中的計(jì)算操作,產(chǎn)生中間計(jì)算數(shù)據(jù)和最終計(jì)算數(shù)據(jù),并存入該存儲(chǔ)單元;

其中該存儲(chǔ)單元存儲(chǔ)介質(zhì)為多層自旋轉(zhuǎn)移力矩磁存儲(chǔ)器。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中該存儲(chǔ)單元具備多層單元存儲(chǔ)模式、單比特存儲(chǔ)模式和狀態(tài)限制多單元存儲(chǔ)模式,并根據(jù)神經(jīng)網(wǎng)絡(luò)處理規(guī)模及計(jì)算精度要求在上述三種存儲(chǔ)模式之間切換,其中,多層單元存儲(chǔ)模式,每個(gè)存儲(chǔ)單元內(nèi)全部mjt(磁性隧道結(jié)magnetictunnelingjunction)均參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為2n;

單比特存儲(chǔ)模式,每個(gè)存儲(chǔ)單元內(nèi)一半mjt參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為n;

狀態(tài)限制多單元存儲(chǔ)模式,每?jī)蓚€(gè)存儲(chǔ)單元內(nèi)四分之三mjt參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為二分之三n。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中采用q格式存儲(chǔ)該操作指令、該最終計(jì)算數(shù)據(jù)和該中間計(jì)算數(shù)據(jù),該q格式的形式為qn.m,其中n為二進(jìn)制數(shù)小數(shù)的整數(shù)部分,m為二進(jìn)制數(shù)小數(shù)的小數(shù)部分,且n+m=2n,2n為數(shù)據(jù)位寬。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中步驟s1還包括在該輸入數(shù)據(jù)寫入該存儲(chǔ)單元時(shí),若該輸入數(shù)據(jù)的位寬大于存儲(chǔ)單元的數(shù)據(jù)位寬,則拋棄該輸入數(shù)據(jù)中的低位數(shù)據(jù),并在步驟s2中取消對(duì)于該低位數(shù)據(jù)的計(jì)算。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理方法,其中該計(jì)算操作包括向量乘加操作、池化操作和局部相應(yīng)歸一化操作。

現(xiàn)有技術(shù)中,神經(jīng)網(wǎng)絡(luò)處理器存在的運(yùn)算數(shù)據(jù)規(guī)模大、片上資源需求高及電路能量消耗大等問(wèn)題。發(fā)明人通過(guò)對(duì)神經(jīng)網(wǎng)絡(luò)計(jì)算特點(diǎn)及多種存儲(chǔ)介質(zhì)的進(jìn)行大量研究后發(fā)現(xiàn),自旋轉(zhuǎn)移力矩磁存儲(chǔ)器(stt-ram)在內(nèi)的新興非易失性存儲(chǔ)器技術(shù)擁有靜態(tài)隨機(jī)存儲(chǔ)器的讀寫速度優(yōu)勢(shì)、動(dòng)態(tài)隨機(jī)存儲(chǔ)器的高密度特點(diǎn)、閃存的非易失特性以及極低泄漏功耗的優(yōu)點(diǎn),近年來(lái)在近似計(jì)算領(lǐng)域得到廣泛應(yīng)用。

本發(fā)明根據(jù)多層stt-ram具有多種存儲(chǔ)模式的特點(diǎn),以多層stt-ram作為存儲(chǔ)器件,提出一種適用于神經(jīng)網(wǎng)絡(luò)處理器的數(shù)據(jù)映射結(jié)構(gòu)及片上存儲(chǔ)系統(tǒng),適應(yīng)了神經(jīng)網(wǎng)絡(luò)模型的近似計(jì)算特征。與采用sram和dram作為存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理器相比,讀寫速度更高、存儲(chǔ)密度更大、消耗能量更小,在保證神經(jīng)網(wǎng)絡(luò)計(jì)算精度的同時(shí)減少了片上資源、降低了工作能耗。

本發(fā)明目的為提供一種新型的神經(jīng)網(wǎng)絡(luò)處理器系統(tǒng),該神經(jīng)網(wǎng)絡(luò)處理器采用多層自旋轉(zhuǎn)移力矩磁存儲(chǔ)器(stt-ram)作為主存儲(chǔ)器并根據(jù)多層stt-ram的多模式存儲(chǔ)特點(diǎn),提出一種面向神經(jīng)網(wǎng)絡(luò)近似計(jì)算方法的數(shù)據(jù)映射結(jié)構(gòu)及數(shù)據(jù)路徑關(guān)斷技術(shù)。

為實(shí)現(xiàn)上述目的,本發(fā)明提供的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),包括:

至少一個(gè)存儲(chǔ)單元,用于存儲(chǔ)操作指令和運(yùn)算數(shù)據(jù),該存儲(chǔ)單元存儲(chǔ)介質(zhì)為多層自旋轉(zhuǎn)移力矩磁存儲(chǔ)器;

至少一個(gè)計(jì)算單元,用于執(zhí)行神經(jīng)網(wǎng)絡(luò)計(jì)算;以及控制單元,與所述至少一個(gè)存儲(chǔ)單元和所述至少一個(gè)計(jì)算單元相連,用于經(jīng)由所述至少一個(gè)存儲(chǔ)單元獲得所述至少一個(gè)存儲(chǔ)單元存儲(chǔ)的指令,并且解析該指令以控制所述至少一個(gè)計(jì)算單元。

一種面向神經(jīng)網(wǎng)絡(luò)處理器的基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的存儲(chǔ)系統(tǒng),該存儲(chǔ)系統(tǒng)應(yīng)用于神經(jīng)網(wǎng)絡(luò)處理器并采用自旋轉(zhuǎn)移力矩存儲(chǔ)器作為存儲(chǔ)單元,具有多層單元模式(mlc模式)、單比特模式(slc模式)和狀態(tài)限制多單元(sr-mlc模式)模式;

一種面向神經(jīng)網(wǎng)絡(luò)處理器的基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的數(shù)據(jù)映射結(jié)構(gòu),該數(shù)據(jù)映射結(jié)構(gòu)基于上述存儲(chǔ)系統(tǒng),對(duì)應(yīng)于上述stt-ram,分別具有三種精度模式,分別為高精度模式、低精度模式和中間精度模式,每種精度模式在字地址不變的前提下保證了數(shù)據(jù)位數(shù)的擴(kuò)展與壓縮;

一種適用于上述存儲(chǔ)系統(tǒng)的數(shù)據(jù)路徑關(guān)斷技術(shù),該技術(shù)將計(jì)算單元的數(shù)據(jù)路徑被劃分為多個(gè)獨(dú)立的通道,可根據(jù)上述數(shù)據(jù)映射結(jié)構(gòu)中的位寬開啟或關(guān)斷部分通道。

為讓本發(fā)明的上述特征和效果能闡述的更明確易懂,下文特舉實(shí)施例,并配合說(shuō)明書附圖作詳細(xì)說(shuō)明如下。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本發(fā)明提供的神經(jīng)網(wǎng)絡(luò)處理基于存儲(chǔ)-控制-計(jì)算的結(jié)構(gòu);

存儲(chǔ)結(jié)構(gòu)用于存儲(chǔ)參與計(jì)算的數(shù)據(jù)及處理器操作指令,其中采用自旋轉(zhuǎn)移力矩磁存儲(chǔ)器作為存儲(chǔ)單元;

控制結(jié)構(gòu)包括譯碼電路,用于解析操作指令,生成控制信號(hào)以控制片上數(shù)據(jù)的調(diào)度與存儲(chǔ)以及神經(jīng)網(wǎng)絡(luò)計(jì)算過(guò)程;

計(jì)算結(jié)構(gòu)包括算術(shù)邏輯單元,用于參與該處理器中的神經(jīng)網(wǎng)絡(luò)計(jì)算操作,壓縮數(shù)據(jù)在計(jì)算結(jié)構(gòu)中實(shí)現(xiàn)計(jì)算操作。

圖1為本發(fā)明提供的一種神經(jīng)網(wǎng)絡(luò)處理器系統(tǒng)101,該系統(tǒng)架構(gòu)由六個(gè)部分構(gòu)成,包括輸入數(shù)據(jù)存儲(chǔ)單元102、控制單元103、輸出數(shù)據(jù)存儲(chǔ)單元104、權(quán)重存儲(chǔ)單元105、指令存儲(chǔ)單元106、計(jì)算單元陣列107。

控制單元103分別與輸出數(shù)據(jù)存儲(chǔ)單元104、權(quán)重存儲(chǔ)單元105、指令存儲(chǔ)單元106、計(jì)算單元陣列107相連,控制單元103獲得保存在指令存儲(chǔ)單元106中的操作指令并且解析該操作指令以控制計(jì)算單元陣列107,控制單元103可根據(jù)解析指令得到的控制信號(hào)控制計(jì)算單元陣列107中的計(jì)算單元進(jìn)行神經(jīng)網(wǎng)絡(luò)計(jì)算。

計(jì)算單元陣列107,由多個(gè)計(jì)算單元組成,用于根據(jù)控制單元103產(chǎn)生的控制信號(hào)來(lái)執(zhí)行相應(yīng)的神經(jīng)網(wǎng)絡(luò)計(jì)算,計(jì)算生成神經(jīng)元響應(yīng)值。計(jì)算單元107與輸入數(shù)據(jù)存儲(chǔ)單元102和輸出數(shù)據(jù)存儲(chǔ)單元104相關(guān)聯(lián),計(jì)算單元107可以從與其相關(guān)聯(lián)的輸入數(shù)據(jù)存儲(chǔ)單元102中的數(shù)據(jù)存儲(chǔ)部件獲得數(shù)據(jù)以進(jìn)行計(jì)算,并且可以向與其相關(guān)聯(lián)的輸出數(shù)據(jù)存儲(chǔ)單元104寫入數(shù)據(jù)。計(jì)算單元107為專門為神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的專用模塊,用于完成神經(jīng)網(wǎng)絡(luò)算法中的大部分運(yùn)算,即向量乘加操作、池化和局部相應(yīng)歸一化等操作。

輸入數(shù)據(jù)存儲(chǔ)單元102與計(jì)算單元陣列107相連,用于存儲(chǔ)參與計(jì)算的計(jì)算數(shù)據(jù),該數(shù)據(jù)包括原始特征圖數(shù)據(jù)和參與中間層計(jì)算的數(shù)據(jù);輸出數(shù)據(jù)存儲(chǔ)單元104包括計(jì)算得到的神經(jīng)元響應(yīng)值;權(quán)重存儲(chǔ)單元105用于存儲(chǔ)已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)權(quán)重;指令存儲(chǔ)單元106存儲(chǔ)參與計(jì)算的指令信息,指令被解析來(lái)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)計(jì)算。在本發(fā)明中存儲(chǔ)單元均采用自旋轉(zhuǎn)移力矩磁存儲(chǔ)器,該存儲(chǔ)器是一種新型的非易失性材料,它具有密度大、靜態(tài)功耗低的特點(diǎn)。

圖2為本發(fā)明采用的多層stt-ram存儲(chǔ)單元示意圖。多層stt-ram單元由兩個(gè)堆疊的磁性隧道結(jié)(mjt)器件組成,每個(gè)磁性隧道結(jié)器件包括參考層和自由層兩部分組成,兩層之間具有氧化物作為隔離層。改變自由層的磁化方向能夠改變存儲(chǔ)單元的邏輯值,將兩個(gè)(多層)磁性隧道結(jié)器件的存儲(chǔ)邏輯值加以組合可以表示兩位二進(jìn)制數(shù)。需要注意,兩個(gè)磁性隧道結(jié)器件具有不同的尺寸,當(dāng)相同大小的電路流過(guò)時(shí),尺寸較小的磁性隧道結(jié)自由層較易反轉(zhuǎn),尺寸較大的mtj器件自由層較難反轉(zhuǎn)。該存儲(chǔ)單元的寫操作分為兩步進(jìn)行,首先通過(guò)硬轉(zhuǎn)換同時(shí)切換兩個(gè)mtj的狀態(tài),如需要?jiǎng)t進(jìn)行第二步,通過(guò)軟轉(zhuǎn)換只切換小mtj;同樣的,該存儲(chǔ)單元讀操作也分為兩步進(jìn)行,首先比較mtj電阻(mjt自身的電阻,指大mjt和小mjt的總電阻)與參考電阻rr2的阻值大小,讀取控制器從比較結(jié)果得到大mjt的狀態(tài)值,再比較mtj電阻與參考電阻rr1或rr3的阻值大小,讀取控制器得到小mjt的狀態(tài)值。msb存儲(chǔ)在大mtj中,因此該單元首先讀出最高有效位(msb)。

本發(fā)明提供的多層stt-ram存儲(chǔ)單元具有三種工作模式,分別為多層單元模式(mlc模式)、單比特模式(slc模式)和狀態(tài)限制多單元模式(sr-mlc模式)。stt-ram單元分別采用高阻狀態(tài)和低阻狀態(tài)存儲(chǔ)數(shù)據(jù)0和1。在多層單元模式中,存儲(chǔ)單元通過(guò)垂直堆疊兩個(gè)mtj裝置來(lái)表示四個(gè)狀態(tài);在單比特模式,僅使用mtj堆棧中的大mtj裝置來(lái)表示存儲(chǔ)邏輯值,即共有兩個(gè)狀態(tài);在狀態(tài)限制多單元模式,兩個(gè)mlc單元用于存儲(chǔ)三位值,即共有三個(gè)狀態(tài)。

在本發(fā)明提供的神經(jīng)網(wǎng)絡(luò)處理器中,作為存儲(chǔ)結(jié)構(gòu)的stt-ram能夠提供三種不同的工作模式,通過(guò)開關(guān)信號(hào)p1,p2,p3,p4,mlc可以串行輸出存儲(chǔ)在兩個(gè)mtj裝置中的存儲(chǔ)內(nèi)容。

本發(fā)明提供的基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的存儲(chǔ)系統(tǒng)具有容量擴(kuò)展的作用。在mlc模式中,兩個(gè)mtj均參與數(shù)據(jù)存儲(chǔ),因此具有最高的存儲(chǔ)密度;sr-mlc模使用兩個(gè)mlc單元存儲(chǔ)三位值,因此存儲(chǔ)器容量為mlc模式的3/4;在slc模式,僅有大的mtj參與數(shù)據(jù)存儲(chǔ),因此存儲(chǔ)容量?jī)H為mlc模式的1/2,存儲(chǔ)密度最低。

神經(jīng)網(wǎng)絡(luò)處理器是一種適用于近似計(jì)算的加速引擎,本發(fā)明依據(jù)其工作原理并結(jié)合stt-ram的多工作模式特點(diǎn),提出一種面向神經(jīng)網(wǎng)絡(luò)處理器的基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的數(shù)據(jù)映射結(jié)構(gòu)。

圖3為本發(fā)明提出的數(shù)據(jù)映射結(jié)構(gòu)。一個(gè)字?jǐn)?shù)據(jù)具有2n位并存儲(chǔ)在n個(gè)mlc單元中,該字?jǐn)?shù)據(jù)的msb被映射到大mtj中,lsb(最低有效位)被映射到小mtj中,其中相同存儲(chǔ)字內(nèi)數(shù)據(jù)操作數(shù)的位寬可變的。該數(shù)據(jù)映射結(jié)構(gòu)具有三種精度模式,分別為高精度模式、低精度模式和中間精度模式,當(dāng)神經(jīng)網(wǎng)絡(luò)處理器處于高精度模式(mlc模式)時(shí),存儲(chǔ)單元內(nèi)兩個(gè)mjt均參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為2n;當(dāng)神經(jīng)網(wǎng)絡(luò)處理器處于低精度模式(slc模式)時(shí),存儲(chǔ)單元內(nèi)僅有大mjt參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為n;當(dāng)神經(jīng)網(wǎng)絡(luò)處理器處于中間精度模式時(shí),n個(gè)存儲(chǔ)單元存儲(chǔ)具有3/2n位數(shù)據(jù)。stt-ram存儲(chǔ)器可根據(jù)神經(jīng)網(wǎng)絡(luò)規(guī)模及計(jì)算精度(位寬)要求在多個(gè)工作模式之間切換。

在mlc模式,存儲(chǔ)在存儲(chǔ)單元內(nèi)的2n位操作數(shù)均參與神經(jīng)網(wǎng)絡(luò)運(yùn)算,保證了神經(jīng)網(wǎng)絡(luò)處理的精度,但犧牲了訪存時(shí)間(讀數(shù)據(jù)需要兩步完成);在slc模式或sr-mlc模式,存儲(chǔ)字分別損失了一半或1/4的位寬,數(shù)據(jù)精度降低,但提高了訪存速度。

根據(jù)本發(fā)明提出的數(shù)據(jù)映射結(jié)構(gòu),神經(jīng)網(wǎng)絡(luò)處理器具有三種精度模式,每種精度模式在保證字地址不變的前提下訪問(wèn)片上存儲(chǔ)器中的操作數(shù)。

本發(fā)明采用q格式存儲(chǔ)參與神經(jīng)網(wǎng)絡(luò)計(jì)算的數(shù)據(jù)。q格式的形式為qn.m,其中n為二進(jìn)制數(shù)小數(shù)的整數(shù)部分,m為二進(jìn)制數(shù)小數(shù)的小數(shù)部分。在本發(fā)明中,n+m=2n,其中2n為數(shù)據(jù)位寬。

基于上述存儲(chǔ)系統(tǒng),本發(fā)明提出一種適用于上述存儲(chǔ)系統(tǒng)的數(shù)據(jù)路徑關(guān)斷技術(shù)。計(jì)算單元的數(shù)據(jù)路徑被劃分為多個(gè)獨(dú)立通道,stt-ram在多種精度模式之間切換時(shí),數(shù)據(jù)位寬也相應(yīng)改變,通過(guò)打開或關(guān)斷部分?jǐn)?shù)據(jù)通道的方式可以匹配數(shù)據(jù)位寬。當(dāng)stt-ram從mlc模式切換為slc或sr-mlc模式時(shí),完整數(shù)據(jù)中1/2或1/4的數(shù)據(jù)被拋棄,因此可關(guān)閉參與該部分運(yùn)算的數(shù)據(jù)路徑通道,達(dá)到節(jié)省功耗的目的。

圖4以兩個(gè)12位二進(jìn)制數(shù)參與乘法運(yùn)算為例具體描述本發(fā)明提出的數(shù)據(jù)路徑關(guān)斷技術(shù)。原始數(shù)據(jù)(輸入數(shù)據(jù))為兩個(gè)16位二進(jìn)制數(shù),在sr-mlc模式進(jìn)行存儲(chǔ)時(shí),拋棄了低4位數(shù)據(jù),保留高12位數(shù)據(jù)。16位乘法器包含4個(gè)8位乘法器,每個(gè)8位乘法器包含4個(gè)4位乘法器。在進(jìn)行乘法操作時(shí),16位乘法器中陰影部分關(guān)斷以適應(yīng)12位輸入數(shù)據(jù)的乘法操作。

兩個(gè)操作數(shù)原始數(shù)據(jù)a16-0和b16-0為16位操作數(shù),實(shí)際有效位為12位,在存儲(chǔ)時(shí)拋棄低4位數(shù)據(jù),按照sr-mlc模式將高12位數(shù)據(jù)存儲(chǔ)至存儲(chǔ)單元的低12位中。

具體工作流程如下:

sr-mlc模式的數(shù)據(jù)a16-0和數(shù)據(jù)b16-0中的低8位a7-0和b7-0接入到八位乘法器①中,計(jì)算結(jié)果p115-8作為中間計(jì)算結(jié)果接入到8位乘法器③中,計(jì)算結(jié)果p17-0作為最終計(jì)算結(jié)果p31-0的低8位p7-0;

a15-8和b7-0接入到8位乘法器②中,其中a11-8接入到4位乘法器2-1和2-3中,a15-12接入到4位乘法器2-2和2-4中,b3-0接入到4位乘法器2-1和2-2中,b7-4接入到4位乘法器2-3和2-4中,由于a15-12不含有效數(shù)值,因此4位乘法器2-2和2-4處于關(guān)斷狀態(tài),計(jì)算結(jié)果p27-0作為中間計(jì)算結(jié)果接入至8位乘法器③中,計(jì)算結(jié)果p215-8作為中間計(jì)算結(jié)果接入至8位乘法器④中;

a7-0和a15-8接入到8位乘法器③中,其中a3-0接入到4位乘法器3-1和3-3中,a7-4接入到4位乘法器3-2和3-4中,b11-8接入到4位乘法器3-1和3-2中,b15-12接入到4位乘法器3-3和3-4中,由于b15-12不含有效數(shù)值,因此4位乘法器3-3和3-4處于關(guān)斷狀態(tài),計(jì)算結(jié)果p315-8作為中間計(jì)算結(jié)果接入至8位乘法器④中,計(jì)算結(jié)果p37-0作為最終計(jì)算結(jié)果p31-0的p15-8;

a15-8和b15-8接入到8位乘法器④中,其中a11-8接入到4位乘法器4-1和4-3中,a15-12接入到4位乘法器4-2和4-4中,b11-8接入到4位乘法器4-1和4-2中,b15-12接入到4位乘法器4-3和4-4中,由于b15-12不含有效數(shù)值,因此4位乘法器4-2、4-3和4-4處于關(guān)斷狀態(tài),計(jì)算結(jié)果p415-8作為最終計(jì)算結(jié)果p31-0的p31-24,計(jì)算結(jié)果p47-0作為最終計(jì)算結(jié)果p31-0的p23-16。

以下為與上述方法實(shí)施例對(duì)應(yīng)的系統(tǒng)實(shí)施例,本實(shí)施方式可與上述實(shí)施方式互相配合實(shí)施。上述施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在上述實(shí)施方式中。

本發(fā)明還公開了一種基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中包括以下單元:

控制單元,從存儲(chǔ)單元讀取需要執(zhí)行的操作指令,并根據(jù)該操作指令將待計(jì)算的輸入數(shù)據(jù)寫入該存儲(chǔ)單元,并生成控制信號(hào);

計(jì)算單元陣列,包括多個(gè)計(jì)算單元,用于從該存儲(chǔ)單元中獲取該輸入數(shù)據(jù),結(jié)合該控制信號(hào)執(zhí)行神經(jīng)網(wǎng)絡(luò)計(jì)算中的計(jì)算操作,產(chǎn)生中間計(jì)算數(shù)據(jù)和最終計(jì)算數(shù)據(jù),并存入該存儲(chǔ)單元;

其中該存儲(chǔ)單元存儲(chǔ)介質(zhì)為多層自旋轉(zhuǎn)移力矩磁存儲(chǔ)器。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中該存儲(chǔ)單元具備多層單元存儲(chǔ)模式、單比特存儲(chǔ)模式和狀態(tài)限制多單元存儲(chǔ)模式,并根據(jù)神經(jīng)網(wǎng)絡(luò)處理規(guī)模及計(jì)算精度要求在上述三種存儲(chǔ)模式之間切換,其中,

多層單元存儲(chǔ)模式,存儲(chǔ)單元內(nèi)全部mjt均參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為2n;

單比特存儲(chǔ)模式,存儲(chǔ)單元內(nèi)一半mjt參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為n;

狀態(tài)限制多單元存儲(chǔ)模式,每?jī)蓚€(gè)存儲(chǔ)單元內(nèi)四分之三mjt參與存儲(chǔ)數(shù)據(jù),數(shù)據(jù)位寬為二分之三n。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中采用q格式存儲(chǔ)該操作指令、該最終計(jì)算數(shù)據(jù)和該中間計(jì)算數(shù)據(jù),該q格式的形式為qn.m,其中n為二進(jìn)制數(shù)小數(shù)的整數(shù)部分,m為二進(jìn)制數(shù)小數(shù)的小數(shù)部分,且n+m=2n,2n為數(shù)據(jù)位寬。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中該控制單元還包括在該輸入數(shù)據(jù)寫入該存儲(chǔ)單元時(shí),若該輸入數(shù)據(jù)的位寬大于存儲(chǔ)單元的數(shù)據(jù)位寬,則拋棄該輸入數(shù)據(jù)中的低位數(shù)據(jù),并在計(jì)算單元陣列計(jì)算時(shí)關(guān)斷用于計(jì)算該低位數(shù)據(jù)的計(jì)算單元。

該基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理系統(tǒng),其中該運(yùn)算操作包括向量乘加操作、池化操作和局部相應(yīng)歸一化操作。

綜上所述,本發(fā)明針對(duì)神經(jīng)網(wǎng)絡(luò)處理器中存在的運(yùn)算數(shù)據(jù)規(guī)模大、片上資源需求高及電路能量消耗大等問(wèn)題,提出一種基于自旋轉(zhuǎn)移力矩磁存儲(chǔ)器的神經(jīng)網(wǎng)絡(luò)處理器,在保證神經(jīng)網(wǎng)絡(luò)計(jì)算精度同時(shí),降低片上資源開銷及能量損耗。

雖然本發(fā)明以上述實(shí)施例公開,但具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明,任何本技術(shù)領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的構(gòu)思和范圍內(nèi),可作一些的變更和完善,故本發(fā)明的權(quán)利保護(hù)范圍以權(quán)利要求書為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
邯郸县| 三门峡市| 云林县| 甘肃省| 鄯善县| 辰溪县| 阿巴嘎旗| 沈丘县| 天门市| 淳化县| 凤阳县| 筠连县| 荥经县| 宝鸡市| 东乡| 子长县| 石柱| 四川省| 余干县| 呼图壁县| 屯门区| 鹤峰县| 盘锦市| 鲜城| 富川| 宁晋县| 望奎县| 法库县| 满洲里市| 蒙阴县| 孟津县| 亳州市| 新余市| 晋江市| 扶风县| 舒兰市| 安阳市| 平果县| 五指山市| 久治县| 和静县|