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

隨機(jī)計算的CIM電路及適于機(jī)器學(xué)習(xí)訓(xùn)練的MAC運算電路

文檔序號:40818114發(fā)布日期:2025-01-29 02:37閱讀:10來源:國知局
隨機(jī)計算的CIM電路及適于機(jī)器學(xué)習(xí)訓(xùn)練的MAC運算電路

本發(fā)明屬于集成電路領(lǐng)域,具體涉及一種隨機(jī)計算的cim電路、一種隨機(jī)量化電路、一種適于機(jī)器學(xué)習(xí)訓(xùn)練的mac運算電路、以及一種加速器芯片。


背景技術(shù):

1、隨著ai技術(shù)的不斷進(jìn)步和發(fā)展,邊緣計算設(shè)備(例如嵌入式系統(tǒng)、iot設(shè)備、邊緣服務(wù)器等)在處理和分析數(shù)據(jù)、實現(xiàn)實時智能決策等方面的作用越來越重要。邊緣計算設(shè)備能夠?qū)⒂嬎阗Y源和智能算法直接部署在數(shù)據(jù)源附近,減少了數(shù)據(jù)傳輸?shù)难舆t和帶寬需求,提高了系統(tǒng)的響應(yīng)速度和效率,這對于許多需要實時處理的智能應(yīng)用(如智能城市、自動駕駛、工業(yè)自動化、醫(yī)療診斷等)至關(guān)重要。

2、馮諾依曼架構(gòu)是現(xiàn)代計算機(jī)體系結(jié)構(gòu)的基礎(chǔ),它將計算系統(tǒng)分為三個主要部分:中央處理器(cpu)、存儲器(memory)和輸入輸出設(shè)備(i/o?devices)。在這種架構(gòu)中,cpu負(fù)責(zé)執(zhí)行指令,而數(shù)據(jù)則存儲在存儲器中。cpu和存儲器是分離的,計算時cpu需要不斷從存儲器中讀取數(shù)據(jù)并進(jìn)行處理,然后將結(jié)果寫回存儲器。然而,隨著計算需求的增加,頻繁的數(shù)據(jù)遷移導(dǎo)致了馮諾依曼架構(gòu)的瓶頸。尤其在面對大數(shù)據(jù)和人工智能應(yīng)用時,其數(shù)據(jù)搬移代價和處理器-存儲器速度不匹配的問題愈加突出。

3、為了解決馮諾依曼瓶頸帶來的問題,存內(nèi)計算(computing?in-memory,cim)應(yīng)運而生。存內(nèi)計算是一種將計算與存儲緊密結(jié)合的技術(shù),它通過直接在存儲器內(nèi)部執(zhí)行計算任務(wù),而不是在處理器和存儲器之間來回搬移數(shù)據(jù)。這種方式能夠有效減少數(shù)據(jù)傳輸?shù)难舆t和能耗,大幅提高計算效率,尤其是在需要大量數(shù)據(jù)處理的應(yīng)用場景中,如人工智能、大數(shù)據(jù)分析和機(jī)器學(xué)習(xí)等。存內(nèi)計算通過將計算和存儲緊密結(jié)合,提供了一種有效的解決方案,能夠大幅提高計算系統(tǒng)的性能、能效和響應(yīng)速度,成為未來智能邊緣計算設(shè)備和高效數(shù)據(jù)處理的重要技術(shù)方向之一。

4、乘累加運算(mac)是人工智能算法中最常見的一類邏輯運算。在現(xiàn)有的cim架構(gòu)中,實現(xiàn)mac運算的電路主要分為兩種技術(shù)路徑,如圖1所示,分別為模擬存內(nèi)計算(analogcim)和數(shù)字存內(nèi)計算(digital?cim)。其中,在模擬存內(nèi)計算電路中,為了實現(xiàn)乘累加運算,量化電路的adc部分帶來的開銷太大。在數(shù)字存內(nèi)計算中,不需要使用adc進(jìn)行量化,而是通過單元的位運算實現(xiàn)乘法,隨后通過加法樹進(jìn)行累加。但是,由全加器構(gòu)成的加法器樹在電路中占據(jù)了大部分的面積和功耗開銷。甚至還會導(dǎo)致計算精度的下降。


技術(shù)實現(xiàn)思路

1、為了解決現(xiàn)有cim架構(gòu)的電路執(zhí)行mac運算時依賴全加器構(gòu)成的加法器樹,進(jìn)而導(dǎo)致電路的面積效率較低和功耗較高的問題,本發(fā)明提供一種隨機(jī)計算的cim電路及適于機(jī)器學(xué)習(xí)訓(xùn)練的mac運算電路。

2、本發(fā)明提供的技術(shù)方案為:

3、一種隨機(jī)計算的cim電路,其基于sram電路設(shè)計,其包括:存算陣列、隨機(jī)量化電路、以及外圍電路。其中,存算陣列采用具有數(shù)據(jù)存儲和邏輯運算功能的sram陣列;存算陣列由多個存算單元陣列排布而成。存算陣列中的各個存算單元用于執(zhí)行乘法運算,乘法運算結(jié)果通過對應(yīng)列的位線電壓進(jìn)行表征和輸出。

4、隨機(jī)量化電路包括隨機(jī)電壓生成器、孿生比較器陣列、隨機(jī)累加電路和轉(zhuǎn)碼電路。隨機(jī)電壓生成器用于產(chǎn)生一個隨機(jī)電壓sv;sv?為一個包含量化結(jié)果全量程的亂序的階梯狀方波信號。孿生比較器陣列由多組孿生比較器構(gòu)成;孿生比較器獲取存算陣列中每個存算單元的讀位線bl或blb的位線電壓,并將其與隨機(jī)電壓sv進(jìn)行比較,進(jìn)而得到一個表征存算陣列中各個存算單元輸出的乘法運算結(jié)果的隨機(jī)比特流。隨機(jī)比特流為一個n位的二進(jìn)制信號,其中包含的高電平的概率與數(shù)值大小相對應(yīng)。隨機(jī)累加電路利用各個乘法運算結(jié)果的隨機(jī)比特流在隨機(jī)域內(nèi)進(jìn)行累加運算,進(jìn)而得到mac運算結(jié)果的隨機(jī)比特流。轉(zhuǎn)碼電路用于將mac結(jié)果的隨機(jī)比特流轉(zhuǎn)碼為對應(yīng)的數(shù)值并輸出。

5、外圍電路包括與實現(xiàn)數(shù)據(jù)存儲和邏輯運算功能相關(guān)的其他電路模塊。

6、作為本發(fā)明進(jìn)一步的改進(jìn),隨機(jī)電壓生成器由一個分裂電容電壓數(shù)模轉(zhuǎn)換器cdac、一個線性反饋移位寄存器lfsr、一個邏輯編碼電路構(gòu)成。

7、其中,cdac由2n-2對電容值按照1:2:…:2n-2分布的電容構(gòu)成。所有電容的上極板接輸出信號線;輸出信號線的一端通過開關(guān)接半量程信號vcm,另一端作為隨機(jī)信號sv的輸出端口。其中n個電容值按照1:2:…:2n-2分布的電容的下基板分別通過n個第一傳輸門連通第一輸入信號線;另外n個電容值按照1:2:…:2n-2分布的電容的下基板分別通過n個第二傳輸門連通第二輸入信號線。第一輸入信號線和第二輸入信號線分別接量程的上限電壓vmax和下限電壓vmin。

8、lfsr用于根據(jù)輸入的表征隨機(jī)信號sv中各階梯電壓的順序的置亂碼d<0>~d<n-1>生成一組控制碼q<0>~q<n-1>。邏輯編碼電路用于根據(jù)控制碼q<0>~q<n-1>生成n-1對用于切換各個第一傳輸門和第二傳輸門的開關(guān)狀態(tài)的相互反相的控制信號sp和sn。

9、作為本發(fā)明進(jìn)一步的改進(jìn),線性反饋移位寄存器由n個d觸發(fā)器、一個pmos管和2n個nmos管構(gòu)成。其中,pmos管作為控制管,每兩個nmos管構(gòu)成一路分支管。各個d觸發(fā)器相互級聯(lián),高一級的d觸發(fā)器的q端與低一級d觸發(fā)器的d端相連。最高一級的d觸發(fā)器的d端通過控制管接電源,控制管的柵極接預(yù)充信號pre;各個d觸發(fā)器的時鐘端口接時鐘信號clk。分支管與各個d觸發(fā)器一一對應(yīng);各路分支管由n1和n2構(gòu)成。在每路分支管中,n1的漏極接最高一級d觸發(fā)器的d端;n1的源極與n2的漏極相連;n2的源極接地;n1的柵極分別接置亂碼d<0>~d<n-1>;n2的柵極接對應(yīng)級的d觸發(fā)器的q端。

10、作為本發(fā)明進(jìn)一步的改進(jìn),邏輯編碼電路由n-1組編碼單元構(gòu)成;每個編碼單元由一個異或門和一個反相器構(gòu)成。反相器的輸入端與異或門的輸出端連接;各個編碼單元的異或門的其中一個輸入全部為q<n-1>,另一個輸入分別為q<0>~q<n-2>中的其中一個。各個編碼單元中異或門的輸出信號作為控制信號sp并與cdac中各個第一傳輸門的柵極相連。各個編碼單元中反相器的輸出信號作為控制信號sn并與cdac中各個第二傳輸門的柵極相連。

11、作為本發(fā)明進(jìn)一步的改進(jìn),孿生比較器由一個一級預(yù)選器lineswitch1和兩個比較器comp1和comp2構(gòu)成。lineswitch1的其中兩個輸入端全接sv,另外兩個輸入端分別接bl和blb。lineswitch1的四個輸出端分別接comp1和comp2的各個輸入端。

12、在數(shù)據(jù)存儲模式下,lineswitch1將bl和blb接comp1,并將兩個sv接comp2,此時,comp1工作,comp2不工作,進(jìn)而在comp1中實現(xiàn)基于雙位線的讀操作。在邏輯運算模式下,lineswitch1將bl和sv接comp1,并將blb和sv接comp2,進(jìn)而利用兩個比較器讀出不同讀位線上輸出的具有不同符號的乘積運算結(jié)果。

13、作為本發(fā)明進(jìn)一步的改進(jìn),隨機(jī)累加電路包括多個異或門、多個二級預(yù)選器lineswitch2和三級預(yù)選器lineswitch3,多個多選一選擇器mux1、mux2、mux3,以及一個符號位寄存陣列。

14、其中,符號位寄存陣列由多個d觸發(fā)器構(gòu)成,d觸發(fā)器與電路中采用的孿生比較器一一對應(yīng);符號位寄存陣列可以用于存儲前端的孿生比較器輸出的每個乘法結(jié)果對應(yīng)的符號。

15、每個孿生比較器的兩個輸出端與一個異或門的輸入端連接,所述異或門用于輸出連接的讀位線bl和blb上計算出的正負(fù)結(jié)果加和后的絕對值;加和結(jié)果的符號存儲在符號位寄存陣列中對應(yīng)的一個d觸發(fā)器上。

16、部分異或門的輸出與lineswitch2輸入端連接;每個lineswitch2的其中一部分輸出端與mux1的各個輸入端連接,另一部分輸出端與mux2的各個輸入端連接。lineswitch2根據(jù)符號位寄存陣列中預(yù)存的運算結(jié)果的符號,分別在mux1和mux2中對正值和負(fù)值進(jìn)行加權(quán)累加,進(jìn)而實現(xiàn)多比特乘法;

17、各個mux1和mux3的輸出端與lineswitch3的輸入端連接;lineswitch3的輸出端一方面通過部分異或門連接轉(zhuǎn)碼電路,進(jìn)而實現(xiàn)對多比特乘法的運算結(jié)果進(jìn)行轉(zhuǎn)碼輸出。另一方面通過mux3連接轉(zhuǎn)碼電路,進(jìn)而對多個lineswitch2輸出的多比特乘法的運算結(jié)果進(jìn)行累加后再轉(zhuǎn)碼輸出,即實現(xiàn)多比特帶符號數(shù)的mac運算。

18、本發(fā)明還包括一種隨機(jī)量化電路,其采用如前述的隨機(jī)計算的cim電路中提供的隨機(jī)量化電路中包含的隨機(jī)電壓生成器、孿生比較器陣列、隨機(jī)累加電路和轉(zhuǎn)碼電路的全部或部分。

19、本發(fā)明還包括一種適于機(jī)器學(xué)習(xí)訓(xùn)練的mac運算電路,其采用了如前述的隨機(jī)計算的cim電路的架構(gòu)。隨機(jī)計算的cim電路中的sram陣列由多個sram單元陣列排布而成,各個sram單元為采用轉(zhuǎn)置分離字線的8t-sram單元。因此,sram陣列包括分離字線wll、wlr和讀位線bl、blb;以及轉(zhuǎn)置字線twll、twlr和轉(zhuǎn)置位線tbl、tblb。

20、在適于機(jī)器學(xué)習(xí)訓(xùn)練的mac運算電路中,sram陣列的行和列上均設(shè)有一個獨立的隨機(jī)量化電路。在推理任務(wù)中,激活數(shù)據(jù)通過wll和wlr水平輸入,并通過bl和blb垂直累加;在訓(xùn)練任務(wù)中,損失值通過twll和twlr垂直輸入,并通過tbl和tblb水平累加。

21、在本發(fā)明提供的適于機(jī)器學(xué)習(xí)訓(xùn)練的mac運算電路中,每個轉(zhuǎn)置分離字線的8t-sram單元由2個pmos管和6個nmos管構(gòu)成。其中,2個pmos管和2個nmos管反相耦合進(jìn)而構(gòu)成具有存儲節(jié)點q和qb的鎖存結(jié)構(gòu)。剩余4個nmos管用于連接q與bl、qb與blb、q與tbl,以及qb與tblb。各個nmos管的柵極連接wll、wlr、twll和twlr。

22、作為本發(fā)明進(jìn)一步的改進(jìn),每個8t-sram單元用于執(zhí)行帶符號的輸入數(shù)與帶符號的兩比特權(quán)重間的乘法運算。

23、執(zhí)行乘法運算任務(wù)時,權(quán)重的符號位被預(yù)讀取以確定哪一根的字線應(yīng)被激活:如果權(quán)重為正,則激活wll或twll;如果為負(fù),則激活wlr或twlr?;權(quán)重以反碼的形式預(yù)存在存儲節(jié)點內(nèi)。輸入數(shù)的數(shù)值通過激活的wll、twll、wlr或twlr的脈寬進(jìn)行編碼;輸入數(shù)為不同符號時,則在兩個相鄰周期內(nèi)依次處理。輸入數(shù)與權(quán)重的乘積結(jié)果體現(xiàn)在bl、blb、tbl或tblb的位線電壓上。

24、本發(fā)明還包括一種加速器芯片,其采用了如前述的適于機(jī)器學(xué)習(xí)訓(xùn)練的mac運算電路。

25、本發(fā)明提供的技術(shù)方案,具有如下有益效果:

26、本發(fā)明提出一種利用隨機(jī)量化技術(shù)實現(xiàn)mac運算的新的cim電路架構(gòu),這種新的數(shù)?;旌系膖scim方案成功結(jié)合了二進(jìn)制計算和隨機(jī)計算的優(yōu)點,實現(xiàn)了兩者間的平衡。這種結(jié)合不僅提高了計算效率,還顯著減少了所需的硬件資源。

27、本發(fā)明利用具有轉(zhuǎn)置分離字線的8t-sram單元以及列級隨機(jī)量化電路和行級隨機(jī)量化電路對電路設(shè)計進(jìn)行進(jìn)一步優(yōu)化,進(jìn)而使得電路支持可變精度操作。并且結(jié)合高效的時序邏輯設(shè)計,確保了陣列實現(xiàn)全并行計算,達(dá)到了最佳性能,避免了傳統(tǒng)方法中的延時和功耗瓶頸。

28、此外,本發(fā)明提供的電路設(shè)計方案能夠?qū)崿F(xiàn)更高的數(shù)據(jù)吞吐量,更高精度的乘累加運算。其中引入的隨機(jī)計算使得電路能夠減輕模擬計算受到的pvt干擾,進(jìn)而降低計算誤差。本發(fā)明還在sram陣列的斜對角上采用了mom電容作為采樣電路,實現(xiàn)在水平和垂直方向上復(fù)用一套采樣電容,以進(jìn)一步減低電路的面積開銷。

29、本發(fā)明提出的tscim電路在能源效率和面積利用率方面表現(xiàn)卓越,因而可以適用于加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和高效推理,為邊緣設(shè)備和高性能計算應(yīng)用提供了強(qiáng)有力的支持。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宁远县| 青海省| 尤溪县| 新龙县| 沅江市| 大洼县| 南安市| 仪陇县| 璧山县| 湖北省| 三明市| 临潭县| 黄浦区| 锡林郭勒盟| 越西县| 梁山县| 武乡县| 措美县| 高邑县| 莱西市| 青川县| 井研县| 广汉市| 成都市| 镇原县| 凤冈县| 旬阳县| 隆子县| 吴忠市| 独山县| 临江市| 九龙城区| 芒康县| 淮阳县| 中牟县| 清镇市| 杭锦旗| 卢湾区| 庆阳市| 芮城县| 霍邱县|