本發明專利技術公開了一種基于阻變存儲器件陣列實現并行卷積計算的設備和方法,設備包括:阻變存儲器件陣列、訓練模塊、輸入模塊、位線控制單元、字線控制單元、輸出模塊以及控制器。所述操作方法包括:計算卷積時,先將卷積核對應輸入位置寫入每個阻變單元,阻變單元的電導值代表卷積核的數值大小;位線上所加電平大小代表輸入矩陣;每個輸出模塊代表一個卷積結果;不同的輸出模塊的輸出信號即代表不同輸入區域或不同卷積核的結果,以此方式實現卷積的并行計算。
【技術實現步驟摘要】
本公開一般地涉及半導體集成電路及其制造
,更具體地,涉及一種可以在阻變器件交叉陣列中通過在陣列中同一行(同一列)的電流求和功能實現對輸入進行卷積計算的設備和方法。
技術介紹
卷積操作在圖像處理中有著廣泛的應用,例如圖像去噪、特征提取、平滑、濾波、邊緣檢測、圖像增強等。特別地,卷積操作在卷積神經網絡(CNN)中具有關鍵作用,對輸入圖像的卷積操作是實現卷積神經網絡特定功能的基礎。作為目前應用十分廣泛的人工神經網絡算法,由于卷積神經網絡具有并行性、分布式計算、自學習及自適應能力以及很強的魯棒性和容錯性等特點,在近些年來得到了科學家們廣泛的研究關注。傳統的實現卷積的方法主要是基于CMOS數字電路,利用圖像處理芯片(GPU)、可編程門陣列(FPGA)等進行軟件實現。這種實現方法需要巨大的硬件開銷以及功耗。在硬件消耗以及功耗的限制下,傳統的卷積實現方法難以完成大規模的并行卷積運算并且難以計算較大的卷積核的卷積結果;另外,傳統的軟件實現卷積方法基于馮諾依曼體系架構,其中運算部分和存儲部分是分離的,所以需要大量的存儲器件進行輸入信息以及大量不同卷積核信息的存儲。在當前大數據和神經網絡算法的快速發展的背景下,傳統的基于軟件的卷積實現方法在運算速度、能耗以及芯片面積等方面已經難以滿足人們日漸增長的需要,急需發展出一個基于硬件的卷積實現方法。為了突破現有的技術限制,提出了一種基于阻變存儲器的硬件實現卷積操作的架構及方法。利用阻變存儲器件的阻值可調特性,該架構將電壓信號作為輸入信號、將阻變存儲器的阻值作為卷積核信號,實現了計算/存儲一體,大幅降低功耗,并且利用阻變存儲器陣列可大規模集成的特點進行了并行擴展,實現了器件面積的大幅減小以及運算速度的大幅提升。
技術實現思路
(一)要解決的技術問題針對上述技術問題,本專利技術提供了一種基于阻變器件陣列的對輸入矩陣進行卷積運算的架構,以及基于這種架構的卷積級聯和具體操作方法。(二)技術方案本專利技術的目的是提供一種利用阻變器件(包括基于氧化物的阻變存儲器RRAM、基于金屬離子氧化還原的阻變存儲器CBRAM、相變存儲器PCM、磁阻存儲器MRAM等依靠電阻變化進行信息存儲的元器件)通過在阻變器件上的電壓、電導關系硬件實現卷積運算、利用阻變器件陣列實現卷積并行運算的方法以及相應的體系結構。阻變器件的電阻值可以在兩個不同的電阻值之間通過外加電壓進行切換,稱之為編程(program)/擦除(erase)(或者SET/RESET)。編程電壓和擦除電壓極性相反,存儲的兩個電阻值的高低阻態有明顯的區別。并且低阻態在較大范圍內具有可連續取值的特性,可以利用多個短脈沖電壓來調節其具體阻值直到達到理想設定值。在本專利技術的體系架構中,高低不同的電平代表輸入,即待卷積運算的矩陣;阻變存儲器的阻值代表卷積核;輸出電流和或與之成正比的輸出電壓代表矩陣點乘結果,即輸入矩陣中相應元素的卷積結果;利用阻變存儲器陣列實現卷積的并行運算。根據本專利技術的一個方面,提出了一種基于阻變存儲器件陣列實現并行卷積計算的設備,包括:阻變存儲器件陣列、訓練模塊、輸入模塊、位線控制單元、字線控制單元、輸出模塊以及控制器;所述阻變存儲器件陣列,包括沿第一方向延伸的多條字線,沿與第一方向交叉的第二方向延伸的多條位線,以及設置于各位線和各字線的交叉點處的多個阻變運算存儲子單元;所述位線控制單元,其一端連接到位線,另一端連接到輸入模塊以及訓練模塊;所述字線控制單元,其一端連接到字線,另一端連接輸出模塊或接地;所述控制器,控制位線一端選通訓練模塊及字線一端選通地線,或控制位線一端選通輸入模塊及字線一端選通輸出模塊,用于控制輸出模塊中得到的不同卷積結果組合,并輸出傳遞到下一級存儲器或運算裝置。其中,所述的阻變運算存儲子單元包括基于氧化物的阻變存儲器RRAM、基于金屬離子氧化還原的阻變存儲器CBRAM、相變存儲器PCM、磁阻存儲器MRAM中的至少一個,所述阻變運算存儲子單元依賴于電阻變化進行信息存儲和運算。其中,所述阻變運算存儲子單元是單獨的阻變器件或者是阻變器件和雙向選擇器件串聯的結構。其中,訓練模塊是信號發生器,用于生成一個連續的正脈沖或負脈沖。其中,輸入模塊是信號發生器,用于發生一系列連續正電平。其中,當控制器的觸發信號為訓練模式時,位線控制單元選通訓練模塊,字線控制單元選通地線,利用訓練模塊產生的脈沖信號對阻變存儲子單元的電阻態進行訓練,利用不同脈沖個數調整阻變存儲子單元的電阻態,即電導值,使其正比于待計算的卷積核的值,即實現卷積核中元素的存儲;卷積核中的正元素存儲在阻變存儲陣列的同一字線上,負元素存儲在相鄰的下一字線上,相鄰兩條字線共同實現一個卷積核的存儲。其中,當控制器的觸發信號為運算模式時,位線控制單元選通輸入模塊,字線控制單元選通輸出模塊,輸入模塊產生與待進行卷積運算的輸入矩陣成正比的電平信號,相鄰兩字線分別連接到同一輸出模塊的正輸入端和負輸入端,輸出端的電壓或電流信號即代表卷積計算的結果,實現對單個卷積的計算。其中,在位線及字線方向進行擴展可進行多個卷積的并行計算,擴展方式如下:將待進行卷積運算的矩陣的所有元素均作為輸入通過輸入模塊進行輸入,位線的數目即等于輸入矩陣所有元素的個數;在訓練模式中,對于同一字線,對與輸入矩陣的一個待卷積計算的區域相對應的位線交叉點上的阻變存儲設備進行阻值調整,按位對應存儲一個卷積核;對該字線上的其他阻變存儲設備進行置高阻態操作;每兩條字線輸出一個卷積結果,字線的數目等于對整個輸入矩陣做卷積計算后輸出矩陣的元素個數的二倍。其中,所述的基于阻變存儲器件陣列實現并行卷積計算的設備,還包括對上述卷積運算進行級聯或重構。一種基于阻變存儲器件陣列實現并行卷積計算的方法,其特征在于,包括如下步驟:S101:對阻變存儲器件陣列中阻變存儲子單元的電阻態進行訓練,利用不同脈沖個數調整阻變存儲子單元的電阻態,使其正比于待計算的卷積核的值,產生卷積核矩陣;以及產生與待進行卷積運算的輸入矩陣成正比的電平信號,產生輸入矩陣,輸入矩陣面積大于卷積核矩陣;S102:實現卷積核矩陣的旋轉180°,將旋轉180°后的卷積核首先與輸入矩陣的左上角部分重疊;S103:計算該重疊部分的對應元素乘積并求和,作為第一個輸出結果;S104:旋轉后的卷積核向x方向平移一位,繼續計算重疊部分的乘積和作為下一個輸出結果,直到x方向全部重疊過,則卷積核向y方向平移一位并平移到x方向的起始點進行計算,重復以上過程直至輸入矩陣中的元素全被卷積核覆蓋過。(三)有益效果在這種體系結構中,高低不同的電平作為輸入信號,代表待計算卷積的輸入矩陣;電阻值高低不同的電阻態作為卷積核,利用歐姆定律及陣列的電路結構直接實現矩陣對應位相乘并求和的操作。本專利技術中卷積核的存儲與卷積的計算在同一陣列中,實現了計算與存儲的一體化,大幅節省了硬件開銷;并利用非揮發存儲器的電壓/電流/電阻關系硬件直接實現了卷積計算,利用陣列結構實現了卷積的并行,相比于傳統的軟件上計算卷積,一方面不需要復雜且重復的CMOS邏輯電路進行數學運算,大幅減小了功耗;另一方面大幅提高了運算速度,尤其是針對較大的卷積核情況;同時由于阻變存儲器件在陣列結構中的高集成性以及可編程性,該結構非常適合做擴展以及卷積本文檔來自技高網...

【技術保護點】
一種基于阻變存儲器件陣列實現并行卷積計算的設備,包括:阻變存儲器件陣列、訓練模塊、輸入模塊、位線控制單元、字線控制單元、輸出模塊以及控制器;所述阻變存儲器件陣列,包括沿第一方向延伸的多條字線,沿與第一方向交叉的第二方向延伸的多條位線,以及設置于各位線和各字線的交叉點處的多個阻變運算存儲子單元;所述位線控制單元,其一端連接到位線,另一端連接到輸入模塊以及訓練模塊;所述字線控制單元,其一端連接到字線,另一端連接輸出模塊或接地;所述控制器,控制位線一端選通訓練模塊及字線一端選通地線,或控制位線一端選通輸入模塊及字線一端選通輸出模塊,用于控制輸出模塊中得到的不同卷積結果組合,并輸出傳遞到下一級存儲器或運算裝置。
【技術特征摘要】
1.一種基于阻變存儲器件陣列實現并行卷積計算的設備,包括:阻變存儲器件陣列、訓練模塊、輸入模塊、位線控制單元、字線控制單元、輸出模塊以及控制器;所述阻變存儲器件陣列,包括沿第一方向延伸的多條字線,沿與第一方向交叉的第二方向延伸的多條位線,以及設置于各位線和各字線的交叉點處的多個阻變運算存儲子單元;所述位線控制單元,其一端連接到位線,另一端連接到輸入模塊以及訓練模塊;所述字線控制單元,其一端連接到字線,另一端連接輸出模塊或接地;所述控制器,控制位線一端選通訓練模塊及字線一端選通地線,或控制位線一端選通輸入模塊及字線一端選通輸出模塊,用于控制輸出模塊中得到的不同卷積結果組合,并輸出傳遞到下一級存儲器或運算裝置。2.根據權利要求1所述的基于阻變存儲器件陣列實現并行卷積計算的設備,其中所述的阻變運算存儲子單元包括基于氧化物的阻變存儲器RRAM、基于金屬離子氧化還原的阻變存儲器CBRAM、相變存儲器PCM、磁阻存儲器MRAM中的至少一個,所述阻變運算存儲子單元依賴于電阻變化進行信息存儲和運算。3.根據權利要求1所述的基于阻變存儲器件陣列實現并行卷積計算的設備,其中所述阻變運算存儲子單元是單獨的阻變器件或者是阻變器件和雙向選擇器件串聯的結構。4.根據權利要求1所述的基于阻變存儲器件陣列實現并行卷積計算的設備,其中訓練模塊是信號發生器,用于生成一個連續的正脈沖或負脈沖。5.根據權利要求1所述的基于阻變存儲器件陣列實現并行卷積計算的設備,其中輸入模塊是信號發生器,用于發生一系列連續正電平。6.根據權利要求1所述的基于阻變存儲器件陣列實現并行卷積計算的設備,其中當控制器的觸發信號為訓練模式時,位線控制單元選通訓練模塊,字線控制單元選通地線,利用訓練模塊產生的脈沖信號對阻變存儲子單元的電阻態進行訓練,利用不同脈沖個數調整阻變存儲子單元的電阻態,即電導值,使其正比于待計算的卷積核的值,實現卷積核中元素的存儲;卷積核中的正元素存儲在阻變存儲陣列的同一字線上,負元素存儲在相鄰的下一字線上,相鄰...
【專利技術屬性】
技術研發人員:柳晨,康晉鋒,黃鵬,周正,劉曉彥,
申請(專利權)人:北京大學,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。