本文件涉及電學(xué),尤其涉及一種基于stt-mram的存儲(chǔ)計(jì)算電路及實(shí)現(xiàn)方法。
背景技術(shù):
1、傳統(tǒng)馮諾依曼架構(gòu)下,系統(tǒng)數(shù)據(jù)需要在存儲(chǔ)單元和處理單元間反復(fù)傳遞以實(shí)現(xiàn)運(yùn)算過(guò)程。由于處理器與內(nèi)存設(shè)備之間發(fā)展速度的長(zhǎng)期失配,當(dāng)前內(nèi)存的存取能力嚴(yán)重滯后于處理器的計(jì)算速度。在大規(guī)模計(jì)算體系中,內(nèi)存自身通信帶寬和延遲所構(gòu)成的“存儲(chǔ)墻”問(wèn)題已經(jīng)成為限制系統(tǒng)計(jì)算性能進(jìn)一步提高的關(guān)鍵瓶頸。
2、隨著alot技術(shù)的不斷發(fā)展,為了應(yīng)對(duì)這一過(guò)程中大規(guī)模網(wǎng)絡(luò)計(jì)算和海量數(shù)據(jù)處理所帶來(lái)的高功耗和巨量時(shí)間開(kāi)銷,進(jìn)一步提升計(jì)算吞吐量,打破“存儲(chǔ)墻”,基于內(nèi)存單元的存內(nèi)計(jì)算(compute-in-memory,cim)方案逐漸受到學(xué)界和產(chǎn)業(yè)界的關(guān)注。cim作為將存儲(chǔ)和計(jì)算功能集成于一端的新型計(jì)算架構(gòu),對(duì)降低數(shù)據(jù)傳輸和訪問(wèn)的延遲與功耗,提升系統(tǒng)整體能效和性能具有重要意義。高性能的cim方案對(duì)于推動(dòng)先進(jìn)超大規(guī)模人工智能模型的部署和訓(xùn)練推理,推動(dòng)ai芯片產(chǎn)品落地方面有著廣闊前景。
3、針對(duì)計(jì)算能力和功耗方面的考量推動(dòng)了cim方案在非易失性內(nèi)存(non-volatilememory,nvm)上的映射,眾多新型存儲(chǔ)器(reram、feram、pram和mram)都展現(xiàn)出在這一領(lǐng)域的應(yīng)用潛質(zhì)。磁性隨機(jī)存儲(chǔ)器(magnetic?random?access?memory,mram)作為一種新型nvm,以其出色的保持特性、高集成度以及較低的能耗,正成為下一代imc計(jì)算單元的有利競(jìng)爭(zhēng)者。受限于工藝和設(shè)計(jì)水平,基于mram的存內(nèi)計(jì)算目前仍然處于起步階段,因此,目前亟需一種可靠有效的基于stt-mram存內(nèi)計(jì)算電路。
4、現(xiàn)有技術(shù)中,提供了一種基于mram的存內(nèi)計(jì)算電路及其控制方法。其以2t2m(2transistor?2mtj)為基本單元,通過(guò)設(shè)置參考固定配置方式的參考單元并通過(guò)感應(yīng)放大器(sense?amplifier,sa)比較它們間的阻態(tài)差異,從而構(gòu)建不同邏輯關(guān)系以進(jìn)行邏輯計(jì)算。現(xiàn)有技術(shù)還提供了一種基于mram的存內(nèi)二值化神經(jīng)網(wǎng)絡(luò)計(jì)算電路,其采用4t2m為基本計(jì)算單元。單元間以xnor邏輯進(jìn)行二值化的權(quán)重計(jì)算,配合輸出端的電流型sa與累加器,逐行重復(fù)運(yùn)算以完成二值化網(wǎng)絡(luò)的訓(xùn)練。同時(shí)基于特定的位元對(duì)齊規(guī)則,該架構(gòu)還能完成單時(shí)間步下的卷積操作。以上基于stt-mram的存內(nèi)計(jì)算方案可以承載在特定神經(jīng)網(wǎng)絡(luò)計(jì)算中的部分硬件映射加速過(guò)程,但基于sa的數(shù)字化計(jì)算過(guò)程設(shè)計(jì)會(huì)帶來(lái)嚴(yán)重的面積損耗,同時(shí)對(duì)陣列單元的時(shí)序控制提出了挑戰(zhàn)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于stt-mram的存儲(chǔ)計(jì)算電路及實(shí)現(xiàn)方法,旨在解決現(xiàn)有技術(shù)中的上述問(wèn)題。
2、本發(fā)明提供一種基于stt-mram的存儲(chǔ)計(jì)算電路,包括:
3、2t2m存儲(chǔ)陣列,包括多個(gè)電連接的門電路和stt-marm器件,用于通過(guò)門電路對(duì)所述stt-marm器件施加足夠大且不同方向的電流,向所述stt-marm器件進(jìn)行高阻態(tài)和低阻態(tài)的寫(xiě)入;
4、讀取寫(xiě)入控制電路,與所述2t2m存儲(chǔ)陣列連接,用于對(duì)所述2t2m存儲(chǔ)陣列的讀取數(shù)據(jù)和寫(xiě)入數(shù)據(jù)操作進(jìn)行控制;
5、wl?driver模塊,與所述2t2m存儲(chǔ)陣列連接,用于通過(guò)導(dǎo)通電壓選通2t2m存儲(chǔ)陣列對(duì)應(yīng)位置的門電路;
6、ecc電路,與所述2t2m存儲(chǔ)陣列連接,用于對(duì)所述2t2m存儲(chǔ)陣列進(jìn)行糾錯(cuò);
7、adc模塊,與所述2t2m存儲(chǔ)陣列連接,從所述2t2m存儲(chǔ)陣列中以列為單位獲取電流,并將所述電流轉(zhuǎn)換為數(shù)據(jù),并發(fā)送到adder模塊;
8、邏輯控制模塊,與所述讀取寫(xiě)入控制電路、緩沖器和計(jì)數(shù)器模塊、以及wl?driver模塊連接,用于發(fā)出邏輯控制信號(hào),通過(guò)所述邏輯控制信號(hào)對(duì)讀取寫(xiě)入控制電路、緩沖器和計(jì)數(shù)器模塊、以及wl?driver模塊進(jìn)行邏輯控制,實(shí)現(xiàn)數(shù)據(jù)的寫(xiě)入和讀??;
9、adder模塊,與所述adc模塊連接,用于對(duì)接收到的所述adc模塊發(fā)送的數(shù)據(jù)進(jìn)行計(jì)算,得到計(jì)算結(jié)果;
10、緩沖器和計(jì)數(shù)器模塊,與wl?driver模塊連接,用于按照時(shí)序存儲(chǔ)指令數(shù)據(jù),在邏輯控制模塊的控制下,將所述指令數(shù)據(jù)發(fā)送到wl?driver模塊,其中,所述指令數(shù)據(jù)用于控制wl?driver模塊進(jìn)行門陣列的導(dǎo)通;
11、timer模塊,與所述緩沖器和計(jì)數(shù)器模塊、wl?driver模塊、adc模塊、以及adder模塊連接,用于提供時(shí)序信號(hào);
12、緩沖器模塊,與所述adc模塊和adder模塊連接,用于存儲(chǔ)adc模塊和adder模塊進(jìn)行數(shù)據(jù)計(jì)算時(shí)產(chǎn)生的中間數(shù)據(jù)和計(jì)算結(jié)果。
13、本發(fā)明提供一種基于stt-mram的存儲(chǔ)計(jì)算實(shí)現(xiàn)方法,基于上述基于stt-mram的存儲(chǔ)計(jì)算電路,上述方法具體包括:
14、以行為基本單元進(jìn)行數(shù)據(jù)的寫(xiě)入,通過(guò)讀取寫(xiě)入控制電路控制對(duì)應(yīng)lsl/rsl以及bl,施加合適的電壓信號(hào),配合通過(guò)wl?driver模塊控制對(duì)應(yīng)wl/wlb進(jìn)行門電路的選通實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)。
15、采用本發(fā)明實(shí)施例,利用互補(bǔ)型mram構(gòu)建bitcell,基于xnor邏輯以列為計(jì)算單元完成模擬化的神經(jīng)網(wǎng)絡(luò)訓(xùn)練計(jì)算過(guò)程,簡(jiǎn)化了數(shù)據(jù)的寫(xiě)入和邏輯計(jì)算過(guò)程,使之更加適應(yīng)二值或三值化的神經(jīng)網(wǎng)絡(luò)映射,從而實(shí)現(xiàn)更高計(jì)算精度和更低功耗的計(jì)算過(guò)程。
1.一種基于stt-mram的存儲(chǔ)計(jì)算電路,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述2t2m存儲(chǔ)陣列具體包括:多個(gè)bitcell單元,8個(gè)bitcell單元組成8-bit數(shù)據(jù),以行為基本單元進(jìn)行數(shù)據(jù)的寫(xiě)入,以列為基本單元進(jìn)行邏輯計(jì)算輸出,其中,每個(gè)bitcell單元包括依次連接的第一stt-marm器件m0、第一門電路n0、與m0互補(bǔ)的第二stt-marm器件m1、以及與n0互補(bǔ)的第二門電路n1,第一stt-marm器件的一端接lsl信號(hào),另一端連接第一門電路的一端,第一門電路的另一端接bl信號(hào)并連接第二stt-marm器件的一端,第二stt-marm器件的另一端連接第二門電路,第二門電路的另一端接rsl信號(hào),第一stt-marm器件的上下分別接wl信號(hào)和wlb信號(hào)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述邏輯控制模塊具體用于:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述邏輯控制模塊具體用于:
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述邏輯控制模塊具體用于:
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述邏輯控制模塊具體用于:
7.一種基于stt-mram的存儲(chǔ)計(jì)算實(shí)現(xiàn)方法,其特征在于,基于權(quán)利要求1至6中任一項(xiàng)所述的基于stt-mram的存儲(chǔ)計(jì)算電路,所述方法具體包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,以行為基本單元進(jìn)行數(shù)據(jù)的寫(xiě)入,通過(guò)讀取寫(xiě)入控制電路控制對(duì)應(yīng)lsl/rsl以及bl,施加合適的電壓信號(hào),配合通過(guò)wl?driver模塊控制對(duì)應(yīng)wl/wlb進(jìn)行門電路的選通實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)具體包括:
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法進(jìn)一步包括:
10.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法進(jìn)一步包括: