本發(fā)明涉及電子電路,具體涉及一種基于sram的可實現(xiàn)核間互連的acim架構(gòu)電路。
背景技術:
1、深度神經(jīng)網(wǎng)絡在物聯(lián)網(wǎng)和人工智能任務中得到了廣泛應用。然而,經(jīng)典的馮·諾依曼架構(gòu)系統(tǒng)由于“內(nèi)存墻”問題,無法滿足低延遲和低功耗的需求。相比之下,存算一體(cim)架構(gòu)允許數(shù)據(jù)直接在內(nèi)存中處理,使其成為ai邊緣設備的更合適選擇。目前,基于靜態(tài)隨機存取存儲器(sram)的cim架構(gòu)因其有望提供的能效高、高集成度和靈活的可擴展性,正處于積極開發(fā)階段。
2、對于基于sram的cim架構(gòu),模擬存算一體(acim)架構(gòu)因其高能效而備受關注。然而,從早期僅支持二進制權重網(wǎng)絡(bwn)的acim宏,到最近為多比特網(wǎng)絡設計的解決方案,acim宏在陣列規(guī)模、準確性和面積開銷之間始終存在權衡。ai任務傾向于采用高吞吐量的cim宏,但為了滿足這一需求擴展內(nèi)存陣列,帶來了兩個主要挑戰(zhàn):1)難以維持合理的信號裕度;2)模數(shù)/數(shù)模轉(zhuǎn)換器(adc/dac)導致的面積和功耗開銷增加。然而,這些工作仍然沒有很好地解決計算單元電路內(nèi)部信息存在冗余的問題,在輸入傳輸上的魯棒性也較弱。
3、為了解決這些挑戰(zhàn),有工作提出了一種結(jié)合局部計算電路的緊湊型6t?sram單元設計,以優(yōu)化陣列的計算效率。其他方向如時間域和電荷域的研究也嘗試提高計算效率,旨在減少上述問題帶來的負面影響。
4、此外,ai加速器架構(gòu)通常需要針對不同的神經(jīng)網(wǎng)絡模型定制設計拓撲結(jié)構(gòu),這會導致額外的設計開銷。有工作想要通過簡單地組合4x4?cim核心陣列與片上網(wǎng)絡,來實現(xiàn)權重映射和計算規(guī)模的靈活配置。然而,目前的研究仍缺乏從acim宏本身出發(fā)來設計通用性的互連通信方案,以在各種神經(jīng)網(wǎng)絡規(guī)模中實現(xiàn)可配置性,同時避免額外的設計開銷。
技術實現(xiàn)思路
1、鑒于以上內(nèi)容,本發(fā)明提出一種面向多比特神經(jīng)網(wǎng)絡計算、基于sram的可實現(xiàn)核間互連的acim架構(gòu)電路及其相關的計算和通信方法,旨在提供一種高效的多比特乘加運算和數(shù)據(jù)傳輸機制,能夠在多個計算內(nèi)核之間實現(xiàn)快速、穩(wěn)定的核間互連和數(shù)據(jù)處理,并且適用于不同規(guī)模神經(jīng)網(wǎng)絡模型的推理加速任務。
2、為了實現(xiàn)上述目的,本發(fā)明采用的技術方案如下:
3、第一方面,本發(fā)明公開了一種基于sram的可實現(xiàn)核間互連的模擬存算一體(acim)架構(gòu)電路,所述acim架構(gòu)電路包括多個完全相同且互相通信的計算內(nèi)核電路:所述計算內(nèi)核電路包括雙端口并行權重讀?。╠ual-port?parallel?weight?readout,?dpw)的cim宏電路(dpw-cim宏電路)和近內(nèi)存可擴展通信模塊電路(near?memory?-?expandablecommunication?module,?nm-ecm電路);
4、其中,cim宏電路用于執(zhí)行多比特數(shù)據(jù)的乘加(mac)操作,mac操作基于雙端口并行權重讀取策略;所述cim宏電路包括雙模式控制電路、混合驅(qū)動電路、計算陣列電路和部分mac值加權合并模塊(partial?mac?value?-?weighted?merging?block,?pmacv-wmb)電路,能夠在sram模式和cim模式下工作;其中,雙模式控制電路生成內(nèi)部控制信號,以調(diào)節(jié)所述混合驅(qū)動電路的工作模式,混合驅(qū)動電路在相應的工作模式下控制計算陣列電路,計算陣列電路進行權重的讀寫或mac操作,部分mac值加權合并模塊電路在cim模式下讀取并轉(zhuǎn)換計算陣列電路的結(jié)果;
5、nm-ecm電路按照設定的優(yōu)先級規(guī)則,用于實現(xiàn)不同計算內(nèi)核電路的cim宏電路之間的互連、數(shù)據(jù)傳輸與匯總計算,其中數(shù)據(jù)傳輸采用事件驅(qū)動形式的相鄰廣播通信方式,數(shù)據(jù)以兩兩相加的二叉樹結(jié)構(gòu)進行匯總計算。
6、本發(fā)明的第二方面提出一種基于所述的acim架構(gòu)電路的多比特乘加計算方法,其包括以下步驟:
7、1)單個cim宏電路在sram模式下單次存儲最多4組不同的多比特權重;其中,每組多比特權重均包含多個多比特權重,且沿著雙比特權重并行mac計算行依次存儲;存儲時,組內(nèi)的每個多比特權重都會被以2比特一段的形式分開存儲在不同的雙比特權重并行mac計算行中;
8、2)單個cim宏電路在cim模式下,同時在多個雙端口并行權重讀取計算單元電路中對多比特輸入數(shù)據(jù)和以2比特為一段的形式存儲的權重進行逐位乘法運算,其結(jié)果會在數(shù)對gbl/gblb上自動加和,得到多組表征部分mac運算值的模擬信號;
9、3)將模擬信號通過部分mac值加權合并模塊電路轉(zhuǎn)換為代表完整mac運算值的數(shù)字信號結(jié)果;
10、4)通過近內(nèi)存可擴展通信模塊電路將多個cim宏電路的結(jié)果進行傳輸和加和,最終獲得全局計算結(jié)果。
11、本發(fā)明的第三方面提出一種借助所述acim架構(gòu)電路的核間互連通信方法,其包括以下步驟:
12、1)為每個近內(nèi)存可擴展通信模塊電路分配優(yōu)先級;
13、2)低優(yōu)先級的近內(nèi)存可擴展通信模塊電路選擇其對應的cim宏電路的計算結(jié)果作為計算內(nèi)核電路的結(jié)果進行編碼,并通過互連網(wǎng)絡發(fā)送至相鄰的高優(yōu)先級計算內(nèi)核電路;
14、3)高優(yōu)先級的近內(nèi)存可擴展通信模塊電路等待接收低優(yōu)先級計算內(nèi)核電路的結(jié)果,再對其進行解碼和加和操作;得到加和結(jié)果作為該計算內(nèi)核電路的結(jié)果,編碼后發(fā)送至優(yōu)先級相對更高的計算內(nèi)核電路中;
15、4)不同優(yōu)先級的計算內(nèi)核電路的并行計算結(jié)果,不斷從低優(yōu)先級計算內(nèi)核電路流向高優(yōu)先級計算內(nèi)核電路中,最終在最高優(yōu)先級的計算內(nèi)核電路中完成全局計算結(jié)果的匯總。
16、與現(xiàn)有技術相比,本發(fā)明的有益效果為:
17、采用雙端口并行權重讀取的策略進行存內(nèi)mac運算,顯著提升了多比特數(shù)據(jù)的mac計算效率;通過nm-ecm電路與優(yōu)先級控制的核間互連通信機制的設計,實現(xiàn)了計算內(nèi)核之間的快速、可靠的數(shù)據(jù)傳輸和通信,提升了acim計算內(nèi)核本身的通用擴展性;本發(fā)明在高效運算和數(shù)據(jù)傳輸上具有顯著的優(yōu)越性,能夠適應不同規(guī)模計算場景下的大吞吐量并行運算需求。
1.一種基于sram的可實現(xiàn)核間互連的acim架構(gòu)電路,其特征在于,所述acim架構(gòu)電路包括多個完全相同且互相通信的計算內(nèi)核電路:所述計算內(nèi)核電路包括雙端口并行權重讀取的cim宏電路和近內(nèi)存可擴展通信模塊電路;
2.根據(jù)權利要求1所述的acim架構(gòu)電路,其特征在于,所述cim宏電路工作在sram模式下時,用于將外部輸入的權重數(shù)據(jù)寫入計算陣列電路或從計算陣列電路中讀取權重數(shù)據(jù);
3.根據(jù)權利要求1所述的acim架構(gòu)電路,其特征在于,所述混合驅(qū)動電路在sram模式下,用于對權重數(shù)據(jù)進行采樣、寫入/讀取操作;在cim模式下,用于對輸入數(shù)據(jù)進行分比特軌到軌驅(qū)動,并激活相應字線以執(zhí)行多比特mac操作。
4.根據(jù)權利要求1所述的acim架構(gòu)電路,其特征在于,所述計算陣列電路包括4個雙比特權重并行mac計算行,外部輸入的8比特權重在sram模式下被分為4段2比特數(shù)據(jù),分別寫進所述計算陣列電路的4個計算行內(nèi);每個所述計算行由32個雙端口并行權重讀取計算單元電路組成;計算單元電路獨立完成乘法,各計算單元電路的結(jié)果在全局計算位線對gbl/gblb上自然加和。
5.?根據(jù)權利要求4所述的acim架構(gòu)電路,其特征在于,所述計算單元電路由8個6tsram單元以及本地乘法電路組成,所述8個6t?sram單元最多能夠存儲4組2比特權重,并由所述本地乘法電路讀取其中1組權重,在mac模式下與外部輸入數(shù)據(jù)執(zhí)行逐位乘法操作,計算結(jié)果以模擬放電電流形式輸出到gbl/gblb上,最終以電壓降的形式表征mac操作結(jié)果。
6.?根據(jù)權利要求1所述的acim架構(gòu)電路,其特征在于,所述部分mac值加權合并模塊電路包括sar?adc和移位加法器樹,?sar?adc用于將模擬信號轉(zhuǎn)換為數(shù)字信號,并通過所述移位加法器樹得到最終計算結(jié)果。
7.?根據(jù)權利要求6所述的acim架構(gòu)電路,其特征在于,所述sar?adc由采樣電容開關陣列、動態(tài)比較器和sar邏輯電路組成;所述采樣電容開關陣列通過下極板采樣的方式采集模擬信號,sar?adc通過電荷重分配及動態(tài)比較器逐次比較得出比較結(jié)果,并將結(jié)果反饋至sar邏輯電路以實現(xiàn)逐步逼近的數(shù)字量化。
8.根據(jù)權利要求7所述的acim架構(gòu)電路,其特征在于,所述采樣電容開關陣列包括一個采用分布式結(jié)構(gòu)的mom電容陣列以及一組開關電路;通過開關電路切換實現(xiàn)mom電容陣列上級板節(jié)點的電荷重分配。
9.一種基于權利要求1-8中任一項所述的acim架構(gòu)電路的多比特乘加計算方法,其特征在于,包括以下步驟:
10.一種基于權利要求1-8中任一項所述acim架構(gòu)電路的核間互連通信方法,其特征在于,包括以下步驟: