TWI782288B - 仿類比記憶體運算電路 - Google Patents
仿類比記憶體運算電路 Download PDFInfo
- Publication number
- TWI782288B TWI782288B TW109121847A TW109121847A TWI782288B TW I782288 B TWI782288 B TW I782288B TW 109121847 A TW109121847 A TW 109121847A TW 109121847 A TW109121847 A TW 109121847A TW I782288 B TWI782288 B TW I782288B
- Authority
- TW
- Taiwan
- Prior art keywords
- circuit
- analog
- analog memory
- input
- memory operation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/16—Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters
Abstract
一種仿類比記憶體運算電路包括至少一輸入電路、至少一輸出電路以及至少一仿類比記憶體運算單元。每一個仿類比記憶體運算單元連接在該至少一輸入電路的其中一個及該至少一輸出電路的其中一個之間,具有至少一個權重模式。每一個仿類比記憶體運算單元根據所選擇的權重模式的權重及所連接的輸入電路的至少一輸入訊號進行運算,以在該至少一輸出端上產生至少一第一運算結果至所連接的輸出電路。
Description
本發明是有關一種仿類比記憶體運算電路。
在傳統的計算機架構10中,如圖1所示,處理器16會透過滙流排14從記憶體12中取得資料後進行運算。然而,隨著處理器16的處理速度的提升,滙流排14的傳輸速度已跟不上處理器16的處理速度,因此處理器16在運算完一筆資料時,滙流排14無法即時將下一筆資料傳送完畢,處理器16需要等待一段時間後才能對下一筆資料進行運算。換言之,計算機架構10的計算能力受到滙流排14的限制而無法提升。由於AI電路需要大量的乘加運算(Multiply Accumulate; MAC),因此傳統的計算機架構10已不適用在AI電路中。
為提升計算機架構10的計算能力,一種記憶體內部運算電路20被提出,如圖2所示。由於運算電路20是在記憶體12內部,故無需再透過滙流排14將資料傳送到處理器16,計算能力也不受限於滙流排14的傳輸速度。在運算電路20中,數位類比轉換器21、22及23分別將資料X1、X2及X3轉換為電壓(輸入訊號)V1、V2及V3,電阻RA1~RC3的電阻值為AI電路計算所需的權重,電阻RA1、RA2及RA3分別根據電壓V1、V2及V3產生電流(運算結果),電阻RA1、RA2及RA3所產生的電流會疊加形成電流IA至類比數位轉換器24以得到一輸出資料Y1。同樣的,電阻RB1、RB2及RB3所產生的電流會疊加形成電流IB至類比數位轉換器25以得到一輸出資料Y2,電阻RC1、RC2及RC3所產生的電流會疊加形成電流IC至類比數位轉換器26以得到一輸出資料Y3。最後記憶體12再將輸出資料Y1、Y2及Y3透過滙流排14傳送至處理器16。
在AI電路中,經常需要進行多層運算,而每一層運算需要不同權重,因此需要多組運算電路20及20’,如圖3所示。運算電路20及20’的架構相同,差異在於電阻的電阻值(權重)不同。以分辨聲音為例,第一個運算電路20以第一組權重對輸入資料X1、X2及X3進行運算產生輸出資料Y1、Y2及Y3,處理器16可以根據輸出資料Y1、Y2及Y3判斷聲音大小。第二個運算電路20’以第二組權重對運算電路20的輸出資料Y1、Y2及Y3再次進行運算產生輸出資料Y1’、Y2’及Y3’,處理器16可以根據輸出資料Y1’、Y2’及Y3’判斷聲音頻率或關鍵字。當所需要的運算層數越多,就需要越多組的運算電路,導致面積也跟著增加。
已知的運算電路20是使用NOR快閃記憶體來儲存權重資料,但NOR快閃記憶體難以實現多層次儲存(multi-level cell),故記憶體單元運算的位元數有限。另外NOR快閃記憶體在製程微縮與操作速度上也已達到瓶頸。
本發明的目的在於,提出一種仿類比記憶體運算電路。
根據本發明,一種仿類比記憶體運算電路包括至少一輸入電路、至少一輸出電路以及至少一仿類比記憶體運算單元。每一個仿類比記憶體運算單元具有至少一輸入端連接該至少一輸入電路的其中一個,以及至少一輸出端連接該至少一輸出電路的其中一個。該每一個仿類比記憶體運算單元還具有至少一個權重模式。該每一個仿類比記憶體運算單元根據所選擇的權重模式的權重及所連接的輸入電路的至少一輸入訊號進行運算,以在該至少一輸出端產生至少一第一運算結果至所連接的輸出電路。
本發明的仿類比記憶體運算電路具有較佳的計算能力,而且可以根據不同權重模式改變權重,故可以用同一個仿類比記憶體運算電路進行多層運算,能減少面積。
圖4顯示本發明仿類比記憶體運算電路的第一實施例。圖4的仿類比記憶體運算電路30包括多個輸入電路31、32、33、多個輸出電路34、35及36以及多個仿類比記憶體運算單元MA1~MC3。輸入電路、輸出電路以及仿類比記憶體運算單元的數量可依需求改變,並不限於圖4所示的數量,例如可以只有一個輸入電路、一個輸出電路及一個仿類比記憶體運算單元。在一實施例中,輸入電路31、32、33可以是圖2中的數位類比轉換器21、22、23,多個輸出電路34、35及36可以是圖2中的類比數位轉換器24、25、26。在一實施例中,輸入電路31、32、33也可以是金屬線,在此情況下,輸入資料X1、X2及X3分別等於輸入訊號V1、V2及V3,而且輸入資料X1、X2及X3為類比訊號。
仿類比記憶體運算單元MA1~MC3的電路架構是相同的,故在此只以仿類比記憶體運算單元MA1為例來說明。圖5顯示仿類比記憶體運算單元MA1的第一實施例,仿類比記憶體運算單元MA1連接在輸入電路31及輸出電路34之間,具有多個權重模式以提供多個權重。仿類比記憶體運算單元MA1具有一輸入端IN1連接輸入電路31以及一輸出端OUT1連接輸出電路34。仿類比記憶體運算單元MA1根據所選擇的權重模式的權重及輸入端IN1接收的輸入訊號V1進行運算,以產生一運算結果I1至所連接的輸出電路34。仿類比記憶體運算單元MA1包括多個仿類比記憶體運算子單元MAS,每一個仿類比記憶體運算子單元MAS包括一個特定等效電阻R1、R2、R3、R4、R5、R6、R7或R8、一個開關S1、S2、S3、S4、S5、S6、S7或S8以及一個控制電路40、41、42、43、44、45、46或47。特定等效電阻R1~R8的電阻值可以不相同,例如特定等效電阻R1~R8的電阻值分別為r、2r、4r、8r、16r、32r、64r及128r。每一個特定等效電阻R1、R2、R3、R4、R5、R6、R7及R8可以由至少一個電阻組成,或是由至少一個在線性區操作的電晶體組成。開關S1~S8分別與特定等效電阻R1~R8串聯在輸入電路31及輸出電路34之間。在圖5的實施例中,開關S1~S8連接在特定等效電阻R1~R8和輸出端OUT1之間,但在其他實施例中,開關S1~S8也可以連接在輸入端IN1和特定等效電阻R1~R8之間。控制電路40~47分別連接開關S1~S8,控制電路40~47根據所選擇的權重模式控制開關S1~S8的打開(on)或關閉(off)以決定仿類比記憶體運算單元MA1的權重。仿類比記憶體運算子單元MAS的數量可依需求增加或減少,並不限於圖5所示的數量。仿類比記憶體運算子單元MAS的數量越多,仿類比記憶體運算單元MA1越近似類比電路以提供類比特性的權重。
圖6顯示圖5中的控制電路40的第一實施例,其包括開關Sw1、開關Sw2、磁阻式隨機存取記憶體(MRAM)或電阻式隨機存取記憶體(RRAM)401、參考電阻Rref以及閂鎖電路402。MRAM或RRAM 401與開關Sw1串聯在電源VDD及參考電阻Rref之間,開關SW2連接在參考電阻Rref及閂鎖電路402之間。當仿類比記憶體運算電路30進入多個權重模式的第一權重模式時,開關Sw1及Sw2被打開(on),故電源VDD被提供至MRAM或RRAM 401使MRAM或RRAM 401被啟動,MRAM或RRAM 401會根據所儲存用以決定第一權重模式之權重的資料產生對應的電流Im給參考電阻Rref以產生控制信號Vm,閂鎖電路402儲存控制信號Vm並將控制信號Vm提供至開關S1以打開或關閉開關S1。閂鎖電路402儲存控制信號Vm後,開關Sw1及Sw2可以關閉以關閉MRAM或RRAM 401,因而降低功耗。
圖7顯示圖5中的控制電路40的第二實施例,圖7的控制電路40與圖6的控制電路相似,差別在於,圖7的控制電路40省略了參考電阻Rref。當運算電路30進入多個權重模式的第一權重模式時,開關Sw1及Sw2被打開(on),故電源VDD被提供至MRAM或RRAM 401使MRAM或RRAM 401被啟動,MRAM或RRAM 401根據所儲存用以決定第一權重模式之權重的資料產生對應的控制信號Vm,閂鎖電路402儲存控制信號Vm並將控制信號Vm提供至開關S1以打開或關閉開關S1。閂鎖電路402儲存控制信號Vm後,開關Sw1及Sw2可以關閉以關閉MRAM或RRAM 401,因而降低功耗。
在圖5、圖6及圖7的實施例中,本發明使用具有MRAM或RRAM 401的控制電路加上開關與電阻所組成的仿類比記憶體運算單元MA1,可以提供類比特性的權重,相較於習知的NOR快閃記憶體較難以實現多層次儲存(multi-level cell)的問題,本發明的一個仿類比記憶體運算單元可以實現多位元的運算。MRAM或RRAM 401可用於先進製程之中,並具有較佳的操作速度或較低的操作電壓。此外,圖6及7的實施例無需使用SRAM,也不用將MRAM或RRAM 401的資料載入SRAM,故可以減少面積及操作時間。
圖8顯示圖5中的控制電路40的第三實施例,其利用一SRAM 403依據所儲存用以決定不同的權重模式之權重的資料來提供不同的控制信號Vm來控制開關S1。圖9顯示圖5中的控制電路40的第四實施例,其是將圖6及圖8的電路整合在一起,使用者可以根據需求選擇用圖6或圖8的操作方式。
在圖6至圖9中,記憶體401或403也可以是相變化記憶體、鐵電隨機存取記憶體、碳奈米管記憶體、浮動閘記憶體、電荷捕捉式記憶體或動態隨機存取記憶體。
圖5中的控制電路41~47的電路架構與控制電路40相同,故不再贅述。
在圖5中,每一個開關S1~S8只連接一個控制電路40~47,但每一個開關S1~S8可以連接二個以上的控制電路。圖10顯示圖4中仿類比記憶體運算單元MA1的第二實施例,為方便說明,圖10只顯示開關S1及連接開關S1的多個控制電路51~54,仿類比記憶體運算單元MA1的其他部分可參見圖5。在圖10中,多個控制電路51~54分別對應多個權重模式,例如,在第一權重模式時,控制電路51被啟動以控制開關S1,在第二權重模式時,控制電路52被啟動以控制開關S1,在第三權重模式時,控制電路53被啟動以控制開關S1,在第四權重模式時,控制電路54被啟動以控制開關S1,控制電路51~54的詳細電路可參照圖6至圖9。
圖11顯示本發明仿類比記憶體運算電路的第二實施例,仿類比記憶體運算電路50包括一輸入電路31、一輸出電路34、一電壓轉換器49及仿類比記憶體運算單元MA1。電壓轉換器49連接在輸入電路31和仿類比記憶體運算單元MA1之間。仿類比記憶體運算單元MA1連接在電壓轉換器49和輸出電路34之間,具有多個權重模式以提供多個權重。仿類比記憶體運算單元MA1具有多個輸入端IN1、IN2、IN3、IN4、IN5、IN6、IN7及IN8連接電壓轉換器49,以及一輸出端OUT1連接輸出電路34。圖11的仿類比記憶體運算單元MA1與圖5同樣包括多個仿類比記憶體運算子單元MAS。該多個仿類比記憶體運算子單元MAS分別連接多個輸入端IN1、IN2、IN3、IN4、IN5、IN6、IN7及IN8。該電壓轉換器49將來自輸入電路31的電壓V1轉換為多個電壓V11、V12、V13、V14、V15、V16、V17、V18分別提供給多個仿類比記憶體運算子單元MAS。多個仿類比記憶體運算子單元MAS中的電阻R1~R8的電阻值可以相同,也可以不同。控制電路40~47根據當前所選擇的權重模式控制開關S1~S8的打開(on)或關閉(off)以決定仿類比記憶體運算單元MA1的權重,進而產生運算結果IA。圖11的控制電路40~47的詳細電路可參照圖6至圖9。
在圖11中,仿類比記憶體運算電路50只顯示一個輸入電路31、一個輸出電路34及一個仿類比記憶體運算單元MA1,但仿類比記憶體運算電路50也可以如圖4般具有多個輸入電路31、32及33、多個輸出電路34、35及36以及多個仿類比記憶體運算單元MA1~MC3。每一個仿類比記憶體運算單元可以有各自的電壓轉換器49,也可以多個仿類比記憶體運算單元共用一個電壓轉換器49,例如連接輸入電路31的仿類比記憶體運算單元MA1、MB1及MC1共用第一個電壓轉換器49,連接輸入電路32的仿類比記憶體運算單元MA2、MB2及MC2共用第二個電壓轉換器49,連接輸入電路33的仿類比記憶體運算單元MA3、MB3及MC3共用第三個電壓轉換器49。
圖12顯示本發明仿類比記憶體運算電路的第三實施例,為方便說明,圖12的仿類比記憶體運算電路55只顯示一輸入電路31’、一仿類比記憶體運算單元MA1’、一轉換電路56及一輸出電路34。仿類比記憶體運算電路55也可以如圖4的電路般,具有多個輸入電路、多個仿類比記憶體運算單元及多個輸出電路,在此情況下,仿類比記憶體運算電路55還包括多個轉換電路56分別連接多個仿類比記憶體運算單元。在圖12中,輸入電路31’可以是數位類比轉換器,輸入電路31’將輸入資料Da中的高位元組資料轉換為輸入訊號Vs1,將輸入資料Da中的低位元組資料轉換為輸入訊號Vs2。仿類比記憶體運算單元MA1’具有二個輸入端IN1及IN2與二個輸出端OUT1及OUT2。仿類比記憶體運算單元MA1’包括多個仿類比記憶體運算子單元MAS1~MAS8,其中仿類比記憶體運算子單元MAS1~MAS4連接在輸入端IN1及輸出端OUT1之間,仿類比記憶體運算子單元MAS5~MAS8連接在輸入端IN2及輸出端OUT2之間。每一個仿類比記憶體運算子單元MAS1~MAS8包括一個特定等效電阻R1、R2、R3、R4、R5、R6、R7或R8、一個開關S1、S2、S3、S4、S5、S6、S7或S8與一個控制電路40、41、42、43、44、45、46或47。控制電路40~47根據權重模式分別控制開關S1~S8、以決定仿類比記憶體運算子單元MAS1~MAS8打開或關閉。仿類比記憶體運算子單元MAS1~MAS4根據輸入訊號Vs1產生一運算結果I1。仿類比記憶體運算子單元MAS5~MAS8根據輸入訊號Vs2產生一運算結果I2。轉換電路56根據運算結果I2產生一運算結果I3,可以實現轉換電路56的電路有很多,例如轉換電路56可以是除法器將運算結果I2除上一預設值而產生運算結果I3。運算結果I1及I3會疊加形成運算結果IA提供至輸出電路34。圖12的控制電路40~47的具體電路可參照圖6至圖9。
圖13顯示本發明仿類比記憶體運算電路的第四實施例。圖13的仿類比記憶體運算電路60包括一輸入電路31、一仿類比記憶體運算單元MA1”及一輸出電路34。仿類比記憶體運算單元MA1”具有一輸入端IN1連接輸入電路31,以及二輸出端OUT1及OUT2連接輸出電路34。輸入電路31提供一輸入訊號V1至輸入端IN1。仿類比記憶體運算單元MA1”的輸出端OUT1及OUT2用以提供運算結果Ip及In至輸出電路34。仿類比記憶體運算單元MA1”包括多個仿類比記憶體運算子單元MAS。每一個仿類比記憶體運算子單元MAS包括一個特定等效電阻Rpn1或Rpn2、二個開關S1p與S1n或是S8p與S8n以及二個控制電路61與62或是63與64。多個仿類比記憶體運算子單元MAS的操作原理都相同,在此僅以多個仿類比記憶體運算子單元MAS中的第一個為例來說明。特定等效電阻Rpn1連接仿類比記憶體運算單元MA1”的輸入端IN1。開關S1p連接在特定等效電阻Rpn1及仿類比記憶體運算單元MA1”的輸出端OUT1之間。開關Sln連接至特定等效電阻Rpn1及仿類比記憶體運算單元MA1”的輸出端OUT2之間。在圖13的實施例中,仿類比記憶體運算子單元MAS的控制電路61及62會根據輸入訊號V1的極性以及權重的極性來打開開關S1p或開關S1n。例如當輸入訊號V1的極性與權重的極性皆為正極性“1”或皆為負極性“0”時,控制電路61打開開關Slp而控制電路62關閉開關Sln,以產生運算結果Ip至輸出電路34。當輸入訊號V1的極性與權重的極性不相同(一為正極性“1”,一為負極性“0”)時,控制電路61關閉開關Slp而控制電路62打開開關Sln,以產生運算結果In至輸出電路34。在一實施例中,可以藉由一XOR閘(圖中未示)來判斷輸入訊號V1的極性與權重的極性是否相同,該XOR閘可以設置在控制電路61及62中。
圖14顯示本發明的仿類比記憶體運算電路進行多層運算的第一實施例。參照圖4,當仿類比記憶體運算電路30在第一權重模式時,仿類比記憶體運算單元MA1、MA2及MA3分別根據輸入電路31、32及33提供的輸入訊號V1、V2及V3與第一權重模式的權重產生運算結果I1、I2及I3,運算結果I1、I2及I3疊加形成運算結果IA,輸出電路34根據運算結果IA產生輸出資料Y1。同樣的,仿類比記憶體運算單元MB1、MB2及MB3分別根據輸入訊號V1、V2及V3與第一權重模式的權重產生運算結果I4、I5及I6,運算結果I4、I5及I6疊加形成運算結果IB,輸出電路35根據運算結果IB產生輸出資料Y2。仿類比記憶體運算單元MC1、MC2及MC3分別根據輸入訊號V1、V2及V3與第一權重模式的權重產生運算結果I7、I8及I9,運算結果I7、I8及I9疊加形成運算結果IC,輸出電路36根據運算結果IC產生輸出資料Y3。參照圖14,在第一權重模式結束運算後,仿類比記憶體運算單元MA1~MC3進入第二權重模式,此時,在第一權重模式所得到的輸出資料Y1、Y2及Y3可以分別提供至輸入電路31、32及33以產生第二輸入訊號V1’、V2’及V3’。在其他實施例中,第一輸出資料Y1、Y2及Y3也可以先經過轉換後再提供至輸入電路31、32及33,例如先將第一輸出資料Y1、Y2及Y3分別乘上或除以一預設值後再提供至輸入電路31、32及33。仿類比記憶體運算單元MA1~MC3再將第二輸入訊號V1’、V2’及V3’與第二權重模式的權重進行運算得到運算結果IA’、IB’及IC’,輸出電路34、35及36再根據運算結果IA’、IB’及IC’產生第二輸出資料Y1’、Y2’及Y3’。本發明無需再增加仿類比記憶體運算電路來進行多層運算,故相較於習知技術可以達成減少面積的功效。
在圖14中,第一個輸出電路34的輸出資料Y1是回授到第一個輸入電路31,第二個輸出電路35的輸出資料Y2是回授到第二個輸入電路32,第三個輸出電路36的輸出資料Y3是回授到第三個輸入電路33,但本發明並不局限於此。圖15顯示本發明仿類比記憶體運算電路在進行多層運算的第二實施例,第一個輸出電路34的輸出資料Y1是回授到第二個輸入電路32,第二個輸出電路35的輸出資料Y2是回授到第三個輸入電路33,第三個輸出電路36的輸出資料Y3是回授到第一個輸入電路31。
以上對於本發明之較佳實施例所作的敘述係為闡明之目的,而無意限定本發明精確地為所揭露的形式,基於以上的教導或從本發明的實施例學習而作修改或變化是可能的,實施例係為解說本發明的原理以及讓熟習該項技術者以各種實施例利用本發明在實際應用上而選擇及敘述,本發明的技術思想企圖由之後的申請專利範圍及其均等來決定。
10:計算機架構
12:記憶體
14:滙流排
16:處理器
20:運算電路
20’:運算電路
21:數位類比轉換器
22:數位類比轉換器
23:數位類比轉換器
24:類比數位轉換器
25:類比數位轉換器
26:類比數位轉換器
30:運算電路
31:輸入電路
32:輸入電路
33:輸入電路
34:輸出電路
35:輸出電路
36:輸出電路
40:控制電路
401:磁阻式隨機存取記憶體或電阻式隨機存取記憶體
402:閂鎖電路
403:靜態隨機存取記憶體
41:控制電路
42:控制電路
43:控制電路
44:控制電路
45:控制電路
46:控制電路
47:控制電路
49:電壓轉換器
50:仿類比記憶體運算電路
51:控制電路
52:控制電路
53:控制電路
54:控制電路
55:仿類比記憶體運算電路
56:轉換電路
60:仿類比記憶體運算電路
61:控制電路
62:控制電路
63:控制電路
64:控制電路
圖1顯示傳統的計算機架構。
圖2顯示習知的運算電路。
圖3顯示多層運算的架構。
圖4顯示本發明仿類比記憶體運算電路的第一實施例。
圖5顯示圖4中仿類比記憶體運算單元MA1的第一實施例。
圖6顯示圖5中的控制電路的第一實施例。
圖7顯示圖5中的控制電路的第二實施例。
圖8顯示圖5中的控制電路的第三實施例。
圖9顯示圖5中的控制電路的第四實施例。
圖10顯示圖4中仿類比記憶體運算單元MA1的第二實施例。
圖11顯示本發明仿類比記憶體運算電路的第二實施例。
圖12顯示本發明仿類比記憶體運算電路的第三實施例。
圖13顯示本發明仿類比記憶體運算電路的第四實施例。
圖14顯示本發明的仿類比記憶體運算電路進行多層運算的第一實施例。
圖15顯示本發明的仿類比記憶體運算電路進行多層運算的第二實施例。
31:輸入電路
34:輸出電路
40:控制電路
41:控制電路
42:控制電路
43:控制電路
44:控制電路
45:控制電路
46:控制電路
47:控制電路
Claims (13)
- 一種仿類比記憶體運算電路,包括:至少一輸入電路,用以接收至少一輸入資料,其中每一個輸入電路根據該至少一輸入資料的其中一個產生至少一輸入訊號;至少一輸出電路,用以提供至少一輸出資料;以及至少一仿類比記憶體運算單元,每一個仿類比記憶體運算單元具有至少一輸入端連接該至少一輸入電路的其中一個、至少一輸出端連接該至少一輸出電路的其中一個以及多個權重模式;其中,該每一個仿類比記憶體運算單元根據所選擇的權重模式的權重及該至少一輸入端接收的該至少一輸入訊號進行運算,以在該至少一輸出端上產生至少一第一運算結果給所連接的輸出電路;其中,該每一個仿類比記憶體運算單元包括至少一仿類比記憶體運算子單元,每一個仿類比記憶體運算子單元包括:至少一特定等效電阻;至少一開關,連接在該至少一輸入端和該至少一特定等效電阻之間,或連接在該至少一特定等效電阻和該至少一輸出端之間;以及至少一控制電路,連接該至少一開關,根據該所選擇的權重模式控制該至少一開關的打開或關閉以決定該每一個仿類比記憶體運算子單元的打開或關閉。
- 如請求項1的仿類比記憶體運算電路,其中該每一個輸入電路包括金屬線,且該至少一輸入訊號等於該每一個輸入電路所接收的輸入資料。
- 如請求項1的仿類比記憶體運算電路,其中該至少一特定等效電 阻由至少一個電阻組成。
- 如請求項1的仿類比記憶體運算電路,其中該至少一特定等效電阻由至少一個在線性區操作的電晶體組成。
- 如請求項1的仿類比記憶體運算電路,其中該至少一控制電路包括至少一記憶體,該至少一記憶體儲存的資料可決定該多個權重模式的該權重。
- 如請求項5的仿類比記憶體運算電路,該至少一記憶體包括磁阻式隨機存取記憶體、電阻式隨機存取記憶體、相變化記憶體、鐵電隨機存取記憶體、碳奈米管記憶體、浮動閘記憶體、電荷捕捉式記憶體、動態隨機存取記憶體或靜態隨機存取記憶體。
- 如請求項1的仿類比記憶體運算電路,更包括一轉換電路連接該每一個仿類比記憶體運算單元的至少一輸出端的其中一個及該所連接的輸出電路,該至少一第一運算結果的其中一個轉換為一第二運算結果給該所連接的輸出電路。
- 如請求項1的仿類比記憶體運算電路,其中在該多個權重模式的第一權重模式結束時,該仿類比記憶體運算電路根據該至少一輸出資料決定該至少一輸入資料,並進入該多個權重模式的第二權重模式。
- 一種仿類比記憶體運算電路,包括:至少一輸入電路,用以接收至少一輸入資料,其中每一個輸入電路根據該至少一輸入資料的其中一個產生至少一輸入訊號;至少一輸出電路,用以提供至少一輸出資料;以及至少一仿類比記憶體運算單元,每一個仿類比記憶體運算單元具有至少一輸入端連接該至少一輸入電路的其中一個、至少一輸出端 連接該至少一輸出電路的其中一個以及至少一個權重模式;其中,該每一個仿類比記憶體運算單元根據所選擇的權重模式的權重及該至少一輸入端接收的該至少一輸入訊號進行運算,以在該至少一輸出端上產生至少一第一運算結果給所連接的輸出電路;其中,該至少一輸入資料為類比訊號;其中,該每一個仿類比記憶體運算單元包括至少一仿類比記憶體運算子單元,每一個仿類比記憶體運算子單元包括:至少一特定等效電阻;至少一開關,連接在該至少一輸入端和該至少一特定等效電阻之間,或連接在該至少一特定等效電阻和該至少一輸出端之間;以及至少一控制電路,連接該至少一開關,根據該所選擇的權重模式控制該至少一開關的打開或關閉以決定該每一個仿類比記憶體運算子單元的打開或關閉;其中,每一該至少一控制電路具有至少一記憶體儲存該至少一個權重模式的資料。
- 如請求項9的仿類比記憶體運算電路,其中該每一個輸入電路包括金屬線,且該至少一輸入訊號等於該每一個輸入電路所接收的輸入資料。
- 如請求項9的仿類比記憶體運算電路,該至少一記憶體包括磁阻式隨機存取記憶體、電阻式隨機存取記憶體、相變化記憶體、鐵電隨機存取記憶體、碳奈米管記憶體、浮動閘記憶體、電荷捕捉式記憶體、動態隨機存取記憶體或靜態隨機存取記憶體。
- 如請求項9的仿類比記憶體運算電路,更包括一轉換電路連接該 每一個仿類比記憶體運算單元的至少一輸出端的其中一個及該所連接的輸出電路,該至少一第一運算結果的其中一個轉換為一第二運算結果給該所連接的輸出電路。
- 如請求項9的仿類比記憶體運算電路,其中在該至少一個權重模式的第一權重模式結束時,該仿類比記憶體運算電路根據該至少一輸出資料決定該至少一輸入資料,並進入該至少一個權重模式的第二權重模式。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109121847A TWI782288B (zh) | 2020-06-29 | 2020-06-29 | 仿類比記憶體運算電路 |
CN202010715218.0A CN113936714A (zh) | 2020-06-29 | 2020-07-23 | 仿模拟存储器运算电路 |
US17/355,595 US11527272B2 (en) | 2020-06-29 | 2021-06-23 | Pseudo-analog memory computing circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109121847A TWI782288B (zh) | 2020-06-29 | 2020-06-29 | 仿類比記憶體運算電路 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202201398A TW202201398A (zh) | 2022-01-01 |
TWI782288B true TWI782288B (zh) | 2022-11-01 |
Family
ID=79031378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109121847A TWI782288B (zh) | 2020-06-29 | 2020-06-29 | 仿類比記憶體運算電路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11527272B2 (zh) |
CN (1) | CN113936714A (zh) |
TW (1) | TWI782288B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8773167B2 (en) * | 2012-07-30 | 2014-07-08 | Hewlett-Packard Development Company, L.P. | Implementing logic circuits with memristors |
US9563213B2 (en) * | 2014-12-17 | 2017-02-07 | Sandisk Technologies Llc | On chip ZQ calibration resistor trimming |
TW201824755A (zh) * | 2016-11-30 | 2018-07-01 | 英商Arm股份有限公司 | 相關電子開關裝置的數位至類比轉換 |
TW202013213A (zh) * | 2018-05-22 | 2020-04-01 | 密西根大學董事會 | 記憶處理單元 |
US20200192970A1 (en) * | 2018-12-14 | 2020-06-18 | Western Digital Technologies, Inc. | Hardware Accelerated Discretized Neural Network |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11263522B2 (en) | 2017-09-08 | 2022-03-01 | Analog Devices, Inc. | Analog switched-capacitor neural network |
US10242737B1 (en) * | 2018-02-13 | 2019-03-26 | Macronix International Co., Ltd. | Device structure for neuromorphic computing system |
US10783963B1 (en) * | 2019-03-08 | 2020-09-22 | Macronix International Co., Ltd. | In-memory computation device with inter-page and intra-page data circuits |
-
2020
- 2020-06-29 TW TW109121847A patent/TWI782288B/zh active
- 2020-07-23 CN CN202010715218.0A patent/CN113936714A/zh active Pending
-
2021
- 2021-06-23 US US17/355,595 patent/US11527272B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8773167B2 (en) * | 2012-07-30 | 2014-07-08 | Hewlett-Packard Development Company, L.P. | Implementing logic circuits with memristors |
US9563213B2 (en) * | 2014-12-17 | 2017-02-07 | Sandisk Technologies Llc | On chip ZQ calibration resistor trimming |
TW201824755A (zh) * | 2016-11-30 | 2018-07-01 | 英商Arm股份有限公司 | 相關電子開關裝置的數位至類比轉換 |
TW202013213A (zh) * | 2018-05-22 | 2020-04-01 | 密西根大學董事會 | 記憶處理單元 |
US20200192970A1 (en) * | 2018-12-14 | 2020-06-18 | Western Digital Technologies, Inc. | Hardware Accelerated Discretized Neural Network |
Also Published As
Publication number | Publication date |
---|---|
US20210407560A1 (en) | 2021-12-30 |
TW202201398A (zh) | 2022-01-01 |
US11527272B2 (en) | 2022-12-13 |
CN113936714A (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427171B (zh) | 可扩展的定点数矩阵乘加运算的存内计算设备和方法 | |
US20190108193A1 (en) | Resistive memory arrays for performing multiply-accumulate operations | |
US11604977B2 (en) | Computing circuitry | |
US20200202203A1 (en) | Neural network computation circuit including semiconductor storage elements | |
JPH03250244A (ja) | 情報処理装置 | |
US20190034090A1 (en) | Systems and methods for offloading processing from a host to storage processing units using an interconnect network | |
JP6888787B2 (ja) | メモリ装置及びメモリシステム | |
WO2019049686A1 (ja) | 半導体記憶素子を用いたニューラルネットワーク演算回路及び動作方法 | |
US20200327401A1 (en) | Computing circuitry | |
TW202032545A (zh) | 記憶體裝置及其操作方法 | |
JPS5841533B2 (ja) | ゼンカゲンサンカイロ | |
KR20200103262A (ko) | 비트라인의 전하 공유에 기반하는 cim 장치 및 그 동작 방법 | |
JPH0467259A (ja) | 情報処理装置 | |
TWI782288B (zh) | 仿類比記憶體運算電路 | |
JP2001034735A (ja) | 情報処理装置 | |
He et al. | Rvcomp: Analog variation compensation for rram-based in-memory computing | |
US11538509B2 (en) | Compute-in-memory with ternary activation | |
WO2022150939A1 (zh) | 用于差分输出电压的模数转换器以及模数转换方法 | |
KR20180089701A (ko) | 내부 연산 구조를 포함하는 mtj 메모리 장치 | |
JPH02181284A (ja) | ニューラルネットワーク | |
Kim et al. | BiMDiM: area efficient bi-directional MRAM digital in-memory computing | |
JP6919846B2 (ja) | メモリ装置 | |
JP3182813B2 (ja) | 情報処理装置 | |
JP2022176082A (ja) | 複製ビットセル基盤のmac演算装置及び方法 | |
US20220406392A1 (en) | Techniques for analog multibit data representation for in-memory computing |