楊智杰 王 蕾 石 偉 彭凌輝 王 耀 徐煒遐
(國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院 長(zhǎng)沙 410073)(yangzhijie@nudt.edu.cn)
隨著現(xiàn)代微處理器面積逐步增加,傳統(tǒng)的總線架構(gòu)越來越難以滿足計(jì)算單元之間的通信需求[1-2].這是因?yàn)檩^長(zhǎng)的線路負(fù)載和電阻導(dǎo)致了信號(hào)傳播緩慢的問題.片上網(wǎng)絡(luò)(network-on-chip, NoC)具有可擴(kuò)展性高、吞吐量高和通用性高的特點(diǎn),在先進(jìn)微處理器中已經(jīng)被廣泛應(yīng)用[3-5].然而,使用同步電路實(shí)現(xiàn)的NoC仍然面臨在處理器上生成全局時(shí)鐘樹的問題.隨著芯片規(guī)模的不斷增大,采用全局時(shí)鐘樹的設(shè)計(jì)越來越難以實(shí)現(xiàn)時(shí)序收斂并且存在時(shí)鐘傾斜問題[6].因此采用異步NoC構(gòu)建全局異步局部同步(global asynchronous local synchronous, GALS)架構(gòu)成為了一種潛在的解決方案.GALS架構(gòu)具有多種優(yōu)勢(shì),其功耗較同等功能和相似配置的同步設(shè)計(jì)更低、能效更高、魯棒性更好[7],并且有限的異步設(shè)計(jì)使其可以使用現(xiàn)有的商用電子設(shè)計(jì)自動(dòng)化(electronic design automation, EDA)工具進(jìn)行實(shí)現(xiàn)和驗(yàn)證[8].
類腦處理器通過模擬大規(guī)模的神經(jīng)元活動(dòng)行為完成特定的智能任務(wù),較傳統(tǒng)深度學(xué)習(xí)處理器而言,它具有更高的能效,因此近來得到了長(zhǎng)足的發(fā)展.由于NoC的可擴(kuò)展性和高吞吐量,在多核類腦處理器架構(gòu)中多采用NoC的方式實(shí)現(xiàn)神經(jīng)元核間的互連通信.許多這方面的工作包括:Shenjing[9]類腦處理器和比利時(shí)魯汶大學(xué)的MorphIC[10]類腦處理器都采用同步NoC設(shè)計(jì);美國(guó)斯坦福大學(xué)的Neurogrid[11]類腦處理器和瑞士蘇黎世聯(lián)邦理工的DYNAPs[12]類腦處理器都采用異步NoC設(shè)計(jì)構(gòu)建數(shù)?;旌舷到y(tǒng).其余的大部分相關(guān)工作諸如美國(guó)IBM公司的TrueNorth[4]類腦處理器、美國(guó)Intel公司的Loihi[5]類腦處理器和英國(guó)曼徹斯特大學(xué)的SpiNNaker[13]類腦處理器等,都采用異步NoC設(shè)計(jì)構(gòu)建GALS架構(gòu)的類腦處理器.其中的原因有2個(gè):1)比起同步NoC,異步NoC的握手通信與大腦的信息傳遞機(jī)制更加相似、更具有魯棒性;2)基于異步NoC構(gòu)建的GALS類腦處理器在處理具有稀疏特點(diǎn)的類腦應(yīng)用流量時(shí),能夠展現(xiàn)出更低的能量消耗.用異步NoC設(shè)計(jì)在一定程度上突破了功耗墻并且使得模擬更大規(guī)模的神經(jīng)元活動(dòng)行為成為可能.
然而,采用異步NoC構(gòu)建的GALS類腦處理器設(shè)計(jì)也面臨一些挑戰(zhàn).首先,要保證異步NoC鏈路的高吞吐量以滿足類腦應(yīng)用猝發(fā)通信的需求,一般需要采用接近同步設(shè)計(jì)的、比4段握手?jǐn)?shù)據(jù)打包協(xié)議的性能和能效更高的2段握手?jǐn)?shù)據(jù)打包協(xié)議.然而,基于數(shù)據(jù)打包協(xié)議的異步通信需要在鏈路上進(jìn)行精準(zhǔn)的延遲匹配才能保證功能的正確性,這對(duì)設(shè)計(jì)者和EDA工具提出了較高的要求.其次,由于亞穩(wěn)態(tài)的存在,使得同步域和異步域之間的同步成為阻礙功能正確的困難,給測(cè)試和驗(yàn)證帶來了挑戰(zhàn).
在本文中,我們針對(duì)多核類腦處理器的通信需求,提出了一個(gè)用于GALS類腦處理器核間片上互連通信的NoC架構(gòu)——NosralC.為了利用異步設(shè)計(jì)帶來的功耗和魯棒性優(yōu)勢(shì),同時(shí)最大程度減少異步邏輯對(duì)整體設(shè)計(jì)帶來的各種挑戰(zhàn),在NoC設(shè)計(jì)中,路由器采用同步電路實(shí)現(xiàn),而鏈路采用2段數(shù)據(jù)打包的異步握手方式實(shí)現(xiàn).這樣的實(shí)現(xiàn)方式使得整個(gè)設(shè)計(jì)中的異步邏輯占比較低,更接近同步設(shè)計(jì),因而對(duì)測(cè)試和驗(yàn)證更加友好.同時(shí),在NosralC中還解決了同步域與異步域數(shù)據(jù)交換中存在的亞穩(wěn)態(tài)問題,并正確匹配了異步鏈路間的延遲,保證了設(shè)計(jì)功能的正確性.與相關(guān)工作相比,NosralC的不同之處在于其僅鏈路被設(shè)計(jì)為異步的,而大多數(shù)相關(guān)工作例如IBM公司的TrueNorth類腦處理器和Intel公司的Loihi類腦處理器則采用完全異步電路實(shí)現(xiàn)的路由器和鏈路來構(gòu)建NoC.NosralC展示了異步NoC相比其同步同等設(shè)計(jì)基線,在多個(gè)類腦應(yīng)用數(shù)據(jù)集下均具有顯著的功耗和能效優(yōu)勢(shì),同時(shí)不會(huì)帶來較大的現(xiàn)場(chǎng)可編程門陣列(field programmable gate array, FPGA)片上資源開銷以及額外的性能開銷.因此,NosralC可以作為一種更具優(yōu)勢(shì)的方案,用于多核類腦處理器中神經(jīng)元核的片上互連通信.
本文的主要貢獻(xiàn)有2個(gè)方面:
1) 提出了一個(gè)異步NoC架構(gòu)——NosralC,用于實(shí)現(xiàn)多核GALS類腦處理器的核間片上互連通信.NosralC的鏈路是采用異步電路實(shí)現(xiàn)的,基于2段握手?jǐn)?shù)據(jù)打包協(xié)議,路由器是采用同步電路實(shí)現(xiàn)的.
2)在4個(gè)類腦應(yīng)用數(shù)據(jù)集上對(duì)NosralC及其同步同等設(shè)計(jì)基線進(jìn)行了功耗、能效、資源占用和性能等方面的對(duì)比,展示了在類腦處理器的片上互連通信設(shè)計(jì)中,采用NosralC的結(jié)構(gòu)構(gòu)建GALS的類腦處理器會(huì)更加具有優(yōu)勢(shì).NosralC在FPGA上進(jìn)行了設(shè)計(jì)驗(yàn)證,并證明了其可實(shí)現(xiàn)性.
實(shí)驗(yàn)表明,NosralC較擁有同等功能和相似配置的同步設(shè)計(jì),在免費(fèi)語音數(shù)字?jǐn)?shù)據(jù)集(free spoken digital dataset, FSDD)[14]、類腦德州儀器數(shù)字?jǐn)?shù)據(jù)集(neuromorphic Texas Instruments digits, NTI-DIGITS)[15]、動(dòng)態(tài)視覺傳感器 128 手勢(shì)數(shù)據(jù)集(dynamic vision sensor 128 gesture dataset, DVS128 Gesture Dataset)[16]、 類 腦 混 合國(guó)家標(biāo)準(zhǔn)和技術(shù)研究所數(shù)據(jù)庫(kù)(neuromorphic mixed National Institute of Standards and Technology database,NMNIST)[17]這4個(gè)類腦應(yīng)用數(shù)據(jù)集下展現(xiàn)出了37.5%~38.9%的功耗降低、5.5%~8.0%的平均延遲降低和36.7%~47.6%的能效提升,同時(shí)不帶來較大(小于6%)額外資源開銷和性能開銷(吞吐量降低0.8%~2.4%).
本節(jié)將介紹本研究相關(guān)的背景知識(shí),包括異步電路、異步NoC和類腦處理器等的相關(guān)工作.
異步電路通過握手協(xié)議的方式實(shí)現(xiàn)電路的控制.與同步電路不同,它無需采用統(tǒng)一的時(shí)鐘信號(hào)進(jìn)行控制.在這種控制方式下,電路狀態(tài)的變化僅由外部輸入的變化引起,因此使得其相較于同步電路具有低功耗的優(yōu)勢(shì).除此之外,不使用統(tǒng)一的時(shí)鐘又使得其能夠克服大時(shí)鐘網(wǎng)絡(luò)的時(shí)序收斂難和時(shí)鐘傾斜問題.
異步握手協(xié)議定義了異步模塊在通信時(shí)的接口信號(hào)時(shí)序,保證異步電路各個(gè)組件之間的數(shù)據(jù)流動(dòng)并且不發(fā)生沖突.異步握手協(xié)議主要包括2類:4段握手協(xié)議和2段握手協(xié)議.
如圖1所示是4段握手協(xié)議.該協(xié)議是基于電平的,只有高電平表示控制信號(hào)的請(qǐng)求和應(yīng)答.4段指的是通信動(dòng)作的次數(shù).4段握手協(xié)議的缺點(diǎn)是多余的歸零翻轉(zhuǎn)造成了不必要的時(shí)間和能量的損耗.
Fig.1 Four-phase handshake protocol圖1 4段握手協(xié)議
圖2所示的是2段握手協(xié)議.在2段握手協(xié)議中,請(qǐng)求和應(yīng)答信號(hào)使用信號(hào)線上的電平翻轉(zhuǎn)沿表示,每次翻轉(zhuǎn)都代表1次信號(hào)事件.因此,2段握手協(xié)議比4段握手協(xié)議電路速度更快、傳輸速率更高,適合需要高性能的設(shè)計(jì)場(chǎng)景.
Fig.2 Two-phase handshake protocol圖2 2段握手協(xié)議
然而,由于缺少統(tǒng)一的時(shí)鐘進(jìn)行控制和同步,異步電路中的數(shù)據(jù)傳輸需要解決控制通路和數(shù)據(jù)通路的延遲匹配問題,以保證數(shù)據(jù)在傳輸時(shí)的正確性.異步電路的數(shù)據(jù)傳輸方式有2種:一種是握手信號(hào)和數(shù)據(jù)信號(hào)分開的方式;另一種是將握手信號(hào)編碼到數(shù)據(jù)信號(hào)中一同傳遞的方式.
如圖3所示是單軌數(shù)據(jù)編碼.該編碼方式又被稱為數(shù)據(jù)打包編碼.在這種方式中,1個(gè)數(shù)據(jù)線傳輸1 b數(shù)據(jù),發(fā)送方和接收方通過額外的請(qǐng)求和應(yīng)答信號(hào)完成握手.基于這種方式實(shí)現(xiàn)的異步電路可以得到和同步電路相當(dāng)?shù)拿娣e,而且可以使用傳統(tǒng)的同步電路EDA工具實(shí)現(xiàn).但其挑戰(zhàn)在于必須滿足異步電路的請(qǐng)求信號(hào)的傳輸延遲不小于對(duì)應(yīng)的數(shù)據(jù)通道傳輸延遲的要求,否則將發(fā)生錯(cuò)誤.因而,采用該方式常常需要相應(yīng)地對(duì)請(qǐng)求信號(hào)和數(shù)據(jù)通道信號(hào)進(jìn)行精準(zhǔn)的延遲匹配,以保證功能的正確性.
Fig.3 Single-rail data coding圖3 單軌數(shù)據(jù)編碼
如圖4所示是雙軌編碼,該編碼方式又被稱為延遲無關(guān)的編碼方式.因?yàn)檫@種方式使得接收方能夠從傳送的數(shù)據(jù)中檢測(cè)出“完成”編碼標(biāo)記而不需要請(qǐng)求信號(hào).但是雙軌編碼比單軌編碼占用更多的電路面積、帶來更高的功耗并且傳輸速率也更低.
Fig.4 Two-rail data coding圖4 雙軌數(shù)據(jù)編碼
NoC 是片上系統(tǒng)(system-on-chip, SoC)的一種通信架構(gòu),它的概念在2001年由Benini等人[18]提出,而其發(fā)展則由工業(yè)界不斷推動(dòng).從美國(guó)Sun公司的8核處理器UltraSPARC T1的交叉開關(guān)互連網(wǎng)絡(luò)[19],到美國(guó)Tilera公司的64核處理器TILE64的2維Mesh互連網(wǎng)絡(luò)[20],NoC已逐漸成為多核SoC片上互連的主流通信架構(gòu).NoC包括計(jì)算和通信2類節(jié)點(diǎn),有效實(shí)現(xiàn)了計(jì)算與通信的分離.與傳統(tǒng)的總線及交叉開關(guān)互連結(jié)構(gòu)相比,NoC具有高帶寬、高可擴(kuò)展性和高可重用性的優(yōu)勢(shì).
基于異步NoC的處理器主要有GALS和全異步2種實(shí)現(xiàn)方式.其中GALS的設(shè)計(jì)方法除了能夠克服同步設(shè)計(jì)中全局時(shí)鐘樹時(shí)序難以收斂的問題,還能夠保持一個(gè)大部分設(shè)計(jì)是同步設(shè)計(jì)的設(shè)計(jì)流程,便于使用現(xiàn)有成熟的EDA工具進(jìn)行設(shè)計(jì)和實(shí)現(xiàn).下面列舉學(xué)術(shù)界對(duì)異步NoC的相關(guān)工作.
CHAIN[21]是曼徹斯特大學(xué)設(shè)計(jì)的一款基于延遲無關(guān)的異步模型的點(diǎn)對(duì)點(diǎn)互連架構(gòu).在0.18 μm工藝下,每個(gè)鏈路可以達(dá)到1 Gbps的吞吐量.QNOC是Fakhri[22]提出的一款能夠提供多服務(wù)級(jí)別和保證服務(wù)質(zhì)量的2維Mesh結(jié)構(gòu)的異步NoC,它采用4段數(shù)據(jù)打包協(xié)議,支持蟲孔路由的流控機(jī)制.在0.18 μm工藝和每個(gè) flit為 8 b的配置下,能夠達(dá)到 1.72 Gbps的吞吐量.MANGO[23]是一款能夠提供基于連接的受保證服務(wù)和無連接最佳服務(wù)的異步NoC,其網(wǎng)絡(luò)中的鏈路和路由器完全使用異步電路設(shè)計(jì)實(shí)現(xiàn).路由器使用4段數(shù)據(jù)打包協(xié)議,鏈路使用2段雙軌延遲無關(guān)電路實(shí)現(xiàn).在0.13 μm工藝下其吞吐量能夠達(dá)到650 Mflitps.ANOC[24]是使用準(zhǔn)延遲無關(guān)異步邏輯實(shí)現(xiàn)的一款異步低功耗NoC,使用2維Mesh結(jié)構(gòu)構(gòu)建了GALS系統(tǒng),在 65 nm 工藝下其吞吐量達(dá)到 550 Mflitps,與相同功能的同步版本相比其功耗下降了86%.
類腦處理器是支撐脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural network, SNN)運(yùn)行的硬件平臺(tái),能夠?qū)崿F(xiàn)海量神經(jīng)元計(jì)算和互連通信的模擬.因?yàn)槠渚哂械凸?、高能效、高容錯(cuò)性等特點(diǎn),已經(jīng)被廣泛地用于圖像識(shí)別[25]、語音識(shí)別[26]和機(jī)器人控制[27]等諸多領(lǐng)域.近年來有許多類腦處理器被研制成功并提出了類腦計(jì)算硬件的設(shè)計(jì)方法學(xué)[28].
TrueNorth[4]是美國(guó)IBM公司研發(fā)的一種類腦處理器,它有4 096個(gè)核,通過2維Mesh網(wǎng)絡(luò)連接在一起.Loihi[5]是由美國(guó)Intel公司研發(fā)的一個(gè)數(shù)字形態(tài)類腦處理器,其單處理器有128個(gè)類腦核,每個(gè)類腦核可以模擬13萬個(gè)“集成?放電”模型神經(jīng)元和1.3億個(gè)突觸.神經(jīng)元核間通過異步NoC實(shí)現(xiàn)片上互連通信.DYNAPs[12]是瑞士蘇黎世大學(xué)提出的一種混合信號(hào)多核類腦處理器,它使用異步數(shù)字電路實(shí)現(xiàn)的2維Mesh NoC進(jìn)行通信和采用模擬電路實(shí)現(xiàn)的神經(jīng)元進(jìn)行計(jì)算.SpiNNaker[13]是由英國(guó)曼徹斯特大學(xué)提出的一種大型數(shù)字類腦系統(tǒng),它通過將100萬個(gè)ARM處理器連接在一起實(shí)時(shí)模擬大腦.其中18個(gè)ARM處理器被集成到1個(gè)多處理器芯片(chip multiprocessors, CMP)中,216個(gè) CMP 以 2 維環(huán)形網(wǎng)絡(luò)互連構(gòu)成了整個(gè)系統(tǒng).在其互連系統(tǒng)中,片上微處理器和存儲(chǔ)器之間的通信使用GALS實(shí)現(xiàn),片間網(wǎng)絡(luò)的通信采用同步路由器和異步鏈路實(shí)現(xiàn).Neurogrid[11]是斯坦福大學(xué)提出的一種數(shù)?;旌项惸X系統(tǒng),能夠提供對(duì)數(shù)百萬個(gè)神經(jīng)元和數(shù)十億個(gè)突觸進(jìn)行仿真的能力,它以樹形網(wǎng)絡(luò)組織了16個(gè)互連的處理器,片上的任意神經(jīng)元可以通過多播通信將信息異步地發(fā)送到其他處理器的突觸上.
目前大多數(shù)類腦處理器的片上互連采用純異步電路實(shí)現(xiàn)NoC.除了SpiNNaker采用同步路由器和異步鏈路實(shí)現(xiàn)片間互連以外,沒有人采用異步鏈路和同步路由器的架構(gòu)實(shí)現(xiàn)類腦處理器的片上互連,來構(gòu)建GALS的類腦處理器架構(gòu).而我們認(rèn)為,這種采用異步鏈路和同步路由器的架構(gòu)能夠保持一個(gè)大部分設(shè)計(jì)是同步設(shè)計(jì)的設(shè)計(jì)流程,便于使用現(xiàn)有成熟的EDA工具進(jìn)行設(shè)計(jì)和實(shí)現(xiàn),同時(shí),在滿足類腦應(yīng)用通信需求的條件下,異步通信可以帶來低功耗優(yōu)勢(shì).
本節(jié)將首先分析SNN的片上執(zhí)行模式和流量特點(diǎn),以便了解其在類腦處理器上的執(zhí)行過程與設(shè)計(jì)需求;然后介紹為類腦處理器核間片上互連通信所設(shè)計(jì)的NoC架構(gòu),分別從整體設(shè)計(jì)到詳細(xì)的路由器模塊設(shè)計(jì)以及異步鏈路設(shè)計(jì).
SNN是以時(shí)間步為最小時(shí)間單位執(zhí)行的.因此,為了在類腦處理器上執(zhí)行SNN,類腦處理器的工作方式也必須參照SNN在1個(gè)時(shí)間步當(dāng)中執(zhí)行的各項(xiàng)操作來設(shè)計(jì).
如圖5所示,在基于NoC的類腦處理器上執(zhí)行多個(gè)(圖5中以2個(gè)為例)時(shí)間步的SNN的操作可以被分為5個(gè)工作步驟執(zhí)行:1)輸入脈沖加載,即外部脈沖序列由片外存儲(chǔ)器或傳感器傳輸加載到片上;2)脈沖通信傳遞,即所加載的脈沖序列被轉(zhuǎn)換為脈沖數(shù)據(jù)報(bào)文,在NoC上被路由至目的節(jié)點(diǎn)(目的神經(jīng)元);3)脈沖接收與神經(jīng)元計(jì)算,即每個(gè)NoC節(jié)點(diǎn)下載屬于其的脈沖數(shù)據(jù)報(bào)文到神經(jīng)元當(dāng)中,讀出與脈沖對(duì)應(yīng)的突觸連接的權(quán)值并進(jìn)行神經(jīng)元的膜電壓累積計(jì)算;4)脈沖生成,即當(dāng)所有脈沖數(shù)據(jù)報(bào)文都已經(jīng)被目的節(jié)點(diǎn)收到并完成累積計(jì)算后,所有神經(jīng)元使用其預(yù)置的閾值與其膜電壓進(jìn)行比較,若膜電壓超過閾值,則神經(jīng)元會(huì)產(chǎn)生脈沖輸出;5)脈沖輸出與傳遞,即上個(gè)時(shí)間步當(dāng)中神經(jīng)元產(chǎn)生的脈沖輸出會(huì)被轉(zhuǎn)換為脈沖數(shù)據(jù)報(bào)文,作為當(dāng)前時(shí)間步的一部分輸入脈沖,通過NoC發(fā)往其所屬的目的節(jié)點(diǎn),同時(shí)來自外部存儲(chǔ)器或傳感器的脈沖序列也一并被加載并被傳遞.在第1個(gè)時(shí)間步當(dāng)中,由于沒有內(nèi)部神經(jīng)元產(chǎn)生脈沖輸出,因此并不包含步驟5,而在從第2個(gè)時(shí)間步開始的后續(xù)時(shí)間步當(dāng)中都包含這個(gè)工作步驟.
Fig.5 SNN on-chip execution pattern in time step圖5 以時(shí)間步為單位的SNN片上執(zhí)行模式
從圖5中我們可以發(fā)現(xiàn),在每個(gè)時(shí)間步(除第1個(gè)時(shí)間步外)的開始,上個(gè)時(shí)間步中由神經(jīng)元產(chǎn)生的脈沖輸出而生成的數(shù)據(jù)報(bào)文開始持續(xù)地經(jīng)由NoC發(fā)往目的節(jié)點(diǎn),同時(shí)此時(shí)間步的來自外部存儲(chǔ)器或傳感器生成的脈沖數(shù)據(jù)報(bào)文也會(huì)持續(xù)地被發(fā)送到NoC上,從而在時(shí)間步的開始時(shí)產(chǎn)生猝發(fā)的通信需求.
Fig.6 Number of fired neurons in 1 000 execution time step圖6 在1 000個(gè)時(shí)間步中被激發(fā)的神經(jīng)元數(shù)量
圖6為我們的研究發(fā)現(xiàn),在SNN(以液體狀態(tài)機(jī)[29]執(zhí)行FSDD數(shù)據(jù)集[27]為例)執(zhí)行的每個(gè)時(shí)間步當(dāng)中,產(chǎn)生輸出脈沖的神經(jīng)元數(shù)量占據(jù)神經(jīng)元總數(shù)的百分比為1%~2%,并且在SNN(以液體狀態(tài)機(jī)[29]網(wǎng)絡(luò)為例)當(dāng)中,神經(jīng)元的連接也是稀疏的,其連接概率一般為40%~50%.因此,由產(chǎn)生脈沖輸出的神經(jīng)元數(shù)量與神經(jīng)元扇出連接數(shù)量的乘積所定義的SNN片上執(zhí)行通信量,在1個(gè)時(shí)間步中是非常稀疏的.
設(shè)計(jì)一個(gè)類腦處理器中最具挑戰(zhàn)性的工作之一就是設(shè)計(jì)一個(gè)支持大量神經(jīng)元互相通信的、可擴(kuò)展的脈沖通信系統(tǒng).由于NoC具有高性能、可擴(kuò)展、大量并行、低延遲、低功耗的優(yōu)勢(shì),非常適合用做類腦處理器中的通信系統(tǒng).
如圖7所示是我們?yōu)轭惸X處理器核間片上互連通信設(shè)計(jì)的NoC架構(gòu)NosralC的框圖.由圖7可知,NosralC包含2級(jí)結(jié)構(gòu),即負(fù)責(zé)脈沖序列傳遞和神經(jīng)元之間通信的NoC以及負(fù)責(zé)完成神經(jīng)元計(jì)算的神經(jīng)元核.其中,通信節(jié)點(diǎn)路由器以2維Mesh的方式進(jìn)行互連.在Mesh型拓?fù)渲?,路由器和四周的鄰居路由器相連,使得整個(gè)NoC具有較大的吞吐量和并行度.這樣的拓?fù)浣Y(jié)構(gòu)帶來2個(gè)優(yōu)勢(shì):1)全互連和高并行的設(shè)計(jì)使得網(wǎng)絡(luò)可以支持不同拓?fù)浣Y(jié)構(gòu)的SNN模型,具有通用性和可擴(kuò)展性;2)相較于其他網(wǎng)絡(luò)拓?fù)?,Mesh結(jié)構(gòu)具有大吞吐量的優(yōu)勢(shì),可以滿足類腦應(yīng)用猝發(fā)流量的通信需求.
Fig.7 Block diagram of NoC architecture for on-chip intercon nection and communication of neuromorphic processor圖7 類腦處理器片上互連通信NoC架構(gòu)框圖
2.3.1 數(shù)據(jù)報(bào)文與路由器總體設(shè)計(jì)
如圖8所示是我們?cè)O(shè)計(jì)的路由器的整體結(jié)構(gòu),它采用的是經(jīng)典的5端口雙工設(shè)計(jì),即每個(gè)路由器分別有東、西、南、北、本地5個(gè)方向,每個(gè)方向包含輸入和輸出2個(gè)端口,分別完成數(shù)據(jù)報(bào)文的輸入和輸出功能.
在考慮硬件開銷以及平衡通信和計(jì)算時(shí)間的基礎(chǔ)上,我們將NoC規(guī)模設(shè)置為16×16的陣列.每個(gè)路由器節(jié)點(diǎn)下掛載的神經(jīng)元核內(nèi)支持256個(gè)神經(jīng)元,因此整個(gè)系統(tǒng)支持65 536個(gè)神經(jīng)元的模擬.
Fig.8 Block diagram of 5-ports duplex router design圖8 5端口雙工路由器設(shè)計(jì)框圖
如圖9所示是我們的數(shù)據(jù)報(bào)文設(shè)計(jì)框圖,其總長(zhǎng)度為32 b.其中,目的坐標(biāo)XD和YD標(biāo)識(shí)了目的路由器的坐標(biāo),源坐標(biāo)XS和YS標(biāo)識(shí)了源路由器的坐標(biāo),它們均為4 b,用于數(shù)據(jù)報(bào)文在NoC上的路由.因此坐標(biāo)最大支持16×16規(guī)模的NoC.神經(jīng)元編號(hào)字段為16 b,用于存放全局唯一的源神經(jīng)元編號(hào).神經(jīng)元編號(hào)可以唯一標(biāo)識(shí)65 536中的1個(gè)神經(jīng)元而不會(huì)產(chǎn)生沖突,便于接收方根據(jù)該編號(hào)識(shí)別脈沖數(shù)據(jù)報(bào)文的來源,取出對(duì)應(yīng)的突觸連接的權(quán)值進(jìn)行計(jì)算.
Fig.9 Design of data packet format圖9 數(shù)據(jù)報(bào)文格式設(shè)計(jì)
2.3.2 輸入模塊與路由算法
如圖10所示是路由器的輸入端口設(shè)計(jì)以及路由算法示意圖.其中先進(jìn)先出(first in first out, FIFO)緩沖用于緩存從NoC中接收的數(shù)據(jù)報(bào)文,其深度是可配置的;滿信號(hào)用來指示緩沖器的狀態(tài),如果不為1,則說明FIFO還沒有滿,因而可以對(duì)該端口發(fā)出請(qǐng)求.在得到寫應(yīng)答信號(hào)的應(yīng)答后,數(shù)據(jù)信號(hào)輸入端口接收到數(shù)據(jù)報(bào)文并將數(shù)據(jù)存入FIFO緩沖器中.FIFO 控制器會(huì)記錄FIFO的狀態(tài),用于控制對(duì)FIFO的讀寫.
Fig.10 Design of input module and schematic of X-Y routing algorithm圖10 輸入模塊設(shè)計(jì)和X-Y路由算法示意圖
路由算法確定了數(shù)據(jù)報(bào)文在網(wǎng)絡(luò)中按照何種路徑從源節(jié)點(diǎn)傳輸?shù)侥康墓?jié)點(diǎn).在Mesh網(wǎng)絡(luò)中,為了防止死鎖,一般采用維序優(yōu)先的路由算法.因此,在本設(shè)計(jì)中我們采用X-Y路由算法.如圖10右側(cè)所示是X-Y路由算法的示意圖,根據(jù)該路由算法可以實(shí)現(xiàn)計(jì)算當(dāng)前數(shù)據(jù)報(bào)文下一跳傳輸方向的功能.X-Y路由算法是一種確定性路由算法,只要給定源坐標(biāo)與目的坐標(biāo),就能唯一確定1條路由路徑,并且它十分便于硬件實(shí)現(xiàn),同時(shí)也能夠滿足SNN通信的路由需求.
在工作中,依據(jù)X-Y路由算法,我們首先將網(wǎng)絡(luò)中的所有路由器都用一個(gè)2維坐標(biāo)(X,Y)表示,數(shù)據(jù)報(bào)文中的坐標(biāo)信息也用2維坐標(biāo)(X,Y)表示以便一一對(duì)應(yīng).假設(shè)當(dāng)前路由器的坐標(biāo)為(XC,YC),數(shù)據(jù)報(bào)文中的目的坐標(biāo)為(XD,YD).如果目的坐標(biāo)和當(dāng)前路由器的坐標(biāo)一致,當(dāng)前路由器將下載該數(shù)據(jù)報(bào)文并發(fā)送到本地神經(jīng)元核中;否則,每個(gè)路由器會(huì)先沿著X方向傳輸數(shù)據(jù)報(bào)文,直到當(dāng)前到達(dá)路由器的X的坐標(biāo)與數(shù)據(jù)報(bào)文攜帶的目的地的X坐標(biāo)相等,然后路由器才會(huì)沿著Y方向傳輸數(shù)據(jù)報(bào)文,直到當(dāng)前到達(dá)路由器的Y坐標(biāo)與數(shù)據(jù)報(bào)文攜帶的目的地的Y坐標(biāo)相等.由于SNN的通信流量較為稀疏,因此我們沒有使用復(fù)雜的蟲孔路由和虛通道技術(shù).
2.3.3 輸出模塊與仲裁機(jī)制
如圖11所示是路由器的輸出端口設(shè)計(jì)和仲裁機(jī)制示意圖.每個(gè)輸出端口都連接了其他4個(gè)方向的數(shù)據(jù)通路,如果同時(shí)有多個(gè)數(shù)據(jù)報(bào)文請(qǐng)求同一個(gè)輸出端口,那么就需要仲裁模塊進(jìn)行仲裁,選出優(yōu)勝者執(zhí)行當(dāng)前時(shí)鐘周期下的數(shù)據(jù)傳輸.在本設(shè)計(jì)中采用Round-Robin仲裁算法,即輪詢仲裁,它指的是輪流對(duì)多個(gè)請(qǐng)求進(jìn)行響應(yīng).這種仲裁方法比較公平,并且無需記錄狀態(tài),比較適合硬件實(shí)現(xiàn).
Fig.11 Design of output module and schematic of round robin arbitrating mechanism圖11 輸出模塊設(shè)計(jì)和輪詢仲裁機(jī)制示意圖
由于類腦應(yīng)用的流量模式具有稀疏的特點(diǎn),因此我們選擇采用異步鏈路構(gòu)建NoC的鏈路,這種異步通信的方式更加符合大腦工作的特點(diǎn).如圖12所示是該異步鏈路的控制通路和數(shù)據(jù)通路框圖.在該框圖中,我們使用click單元[30]和2段握手?jǐn)?shù)據(jù)打包的方式進(jìn)行數(shù)據(jù)通信.之所以選擇click單元,是因?yàn)檫@種設(shè)計(jì)避免了鎖存器和c單元的使用,僅僅依靠邊緣觸發(fā)器作為唯一的存儲(chǔ)單元,并且性能接近先進(jìn)的MOUSETRAP[31],所需的設(shè)計(jì)流程也更加簡(jiǎn)單、更接近同步電路,便于使用傳統(tǒng)的EDA工具進(jìn)行測(cè)試與實(shí)現(xiàn).
圖12上方的是click單元,圖12下方的是由寄存器構(gòu)成的寄存模塊.鏈路之間通過請(qǐng)求和應(yīng)答信號(hào)進(jìn)行異步通信.click單元通過握手信號(hào)的組合產(chǎn)生傳輸觸發(fā)信號(hào),驅(qū)動(dòng)觸發(fā)器進(jìn)行數(shù)據(jù)傳遞.在數(shù)據(jù)傳遞之后的一段時(shí)間,其控制邏輯會(huì)自動(dòng)翻轉(zhuǎn)輸出的請(qǐng)求信號(hào),以實(shí)現(xiàn)下一次請(qǐng)求的輸出.值得注意的是,圖中虛線框的部分對(duì)于產(chǎn)生寄存器傳輸觸發(fā)信號(hào)的寬度具有較大影響.如果該信號(hào)的寬度較窄,那么將會(huì)導(dǎo)致亞穩(wěn)態(tài)問題,從而使得寄存器采樣輸出不穩(wěn)定,產(chǎn)生抖動(dòng)的現(xiàn)象.這種情況會(huì)影響數(shù)據(jù)傳輸?shù)恼_性.因此,只有正確匹配其延遲,使得其寬度足夠,才能避免亞穩(wěn)態(tài)問題的發(fā)生,保證傳輸數(shù)據(jù)的正確性.
在同步域中,數(shù)據(jù)流動(dòng)是時(shí)鐘驅(qū)動(dòng)的,而異步域采用握手信號(hào)驅(qū)動(dòng)數(shù)據(jù)的流動(dòng),因此在同步域與異步域之間需要一個(gè)適配兩者的邏輯轉(zhuǎn)換模塊,以完成數(shù)據(jù)在域間的傳遞.在NosralC當(dāng)中,我們使用了一個(gè)同步FIFO作為域間的緩沖,同時(shí)使用特定的轉(zhuǎn)換邏輯,將異步域中的握手信號(hào)轉(zhuǎn)換為對(duì)FIFO的讀信號(hào)和寫信號(hào),以此實(shí)現(xiàn)數(shù)據(jù)的傳入與取出.
Fig.12 Block diagram of data channel and control circuit of asynchronous link圖12 異步鏈路的數(shù)據(jù)通路和控制電路框圖
如圖13和14所示分別是數(shù)據(jù)從同步域傳入異步域以及從異步域傳入同步域的轉(zhuǎn)換電路實(shí)現(xiàn).在轉(zhuǎn)換電路中,我們采用FIFO實(shí)現(xiàn)域間數(shù)據(jù)的傳遞,這種方法屬于利用雙/多觸發(fā)器進(jìn)行域間同步的方式,可以解決域間數(shù)據(jù)傳遞的亞穩(wěn)態(tài)問題,同時(shí)相較于暫停時(shí)鐘的域間同步實(shí)現(xiàn)方式性能更高.
Fig.13 Writing channel of data conversion circuit between synchronous domain and asynchronous domain圖13 同步域與異步域數(shù)據(jù)轉(zhuǎn)換電路寫通道
Fig.14 Reading channel of data conversion circuit between synchronous domain and asynchronous domain圖14 同步域與異步域數(shù)據(jù)轉(zhuǎn)換電路讀通道
如圖15所示是NosralC的設(shè)計(jì)流程.為了充分驗(yàn)證NosralC在同步異步交互當(dāng)中可能存在的亞穩(wěn)態(tài)問題以及延遲匹配的正確性,我們通過4個(gè)步驟實(shí)現(xiàn):1)對(duì)寄存器級(jí)傳輸(register-transfer level, RTL)代碼進(jìn)行行為級(jí)仿真,驗(yàn)證設(shè)計(jì)的基本功能;2)對(duì)設(shè)計(jì)增加時(shí)序約束,使用工藝庫(kù)中的基本功能單元,例如查找表(look up table, LUT)等替換 RTL 語句中的理想延遲進(jìn)行延遲匹配;3)經(jīng)過綜合與實(shí)現(xiàn),我們得到了門級(jí)網(wǎng)表,并在增加了時(shí)序信息后的仿真中對(duì)設(shè)計(jì)進(jìn)行測(cè)試,以驗(yàn)證是否能夠滿足既定時(shí)序約束以及鏈路延遲匹配是否實(shí)現(xiàn)正確功能;4)將設(shè)計(jì)生成的比特流下載到FPGA板上進(jìn)行上板驗(yàn)證,測(cè)試設(shè)計(jì)在真實(shí)硬件上運(yùn)行的正確性.
本節(jié)將介紹我們對(duì)NosralC的功耗、性能和資源利用評(píng)估的結(jié)果.NosralC是使用RTL級(jí)Verilog代碼實(shí)現(xiàn)的,并使用Vivado工具進(jìn)行綜合,最終在FPGA平臺(tái)上進(jìn)行了功能測(cè)試與驗(yàn)證.
Fig.15 Design flow of GALS based NosralC architecture圖15 基于GALS技術(shù)的NosralC架構(gòu)設(shè)計(jì)流程
用于測(cè)試的數(shù)據(jù)集包括FSDD[14]語音數(shù)據(jù)集、NTI-DIGITS[15]數(shù)字語音數(shù)據(jù)集、DVS128 Gesture[16]手勢(shì)數(shù)據(jù)集和NMNIST[17]圖像數(shù)據(jù)集.其中DVS128 Gesture手勢(shì)數(shù)據(jù)集和NMNIST圖像數(shù)據(jù)集都是由仿生的動(dòng)態(tài)視覺傳感器采集生成的,輸入像素通過泊松分布的編碼方式轉(zhuǎn)換為了SNN可以處理的脈沖序列,符合類腦應(yīng)用的特點(diǎn).
用于執(zhí)行測(cè)試數(shù)據(jù)集的SNN是一個(gè)具有1 000個(gè)神經(jīng)元的液體狀態(tài)機(jī).具體的網(wǎng)絡(luò)配置如表1所示.該 液 體 狀 態(tài) 機(jī) 網(wǎng) 絡(luò) 執(zhí)行 FSDD,DVS128 Gesture,NMNIST,NTI-DIGITS數(shù)據(jù)集的精度分別可以達(dá)到92%,98%,98%,87%.
Table 1 Configuration of Liquid State Machine SNN表1 液體狀態(tài)機(jī)SNN配置
硬件架構(gòu)測(cè)試的激勵(lì),即脈沖數(shù)據(jù)報(bào)文,是由外部載入NoC各節(jié)點(diǎn)下的存儲(chǔ)器中的.而這些數(shù)據(jù)報(bào)文的生成是依據(jù)在軟件框架中網(wǎng)絡(luò)執(zhí)行的軌跡,即神經(jīng)元在各個(gè)時(shí)間步中互相發(fā)放和傳遞脈沖的情況以及神經(jīng)元映射到NoC下掛載的各個(gè)節(jié)點(diǎn)的分布生成的.由于NosralC只是一個(gè)NoC架構(gòu),主要負(fù)責(zé)完成神經(jīng)元的核間脈沖數(shù)據(jù)報(bào)文傳遞通信,不涉及到神經(jīng)元的計(jì)算,并且GALS的設(shè)計(jì)也不會(huì)產(chǎn)生報(bào)文丟失的情況.因此GALS的設(shè)計(jì)不會(huì)對(duì)網(wǎng)絡(luò)分類精度產(chǎn)生影響.
NosralC與其同步同等設(shè)計(jì)基線的架構(gòu)配置信息為:2種架構(gòu)的節(jié)點(diǎn)數(shù)都是16×16,即256個(gè)節(jié)點(diǎn);兩者拓?fù)浣Y(jié)構(gòu)都是2維Mesh結(jié)構(gòu);在同步實(shí)現(xiàn)基線中,其路由器的FIFO深度為32,而在NosralC中,異步接口的FIFO深度為16,其同步路由器的FIFO深度為16.
對(duì)于硬件驗(yàn)證,NosralC被以二進(jìn)制比特流的形式下載到了FPGA上進(jìn)行實(shí)際的板上驗(yàn)證,并證明了設(shè)計(jì)正確完成了異步鏈接間的延遲匹配,克服了同步異步交換時(shí)出現(xiàn)的亞穩(wěn)態(tài)問題.我們用于對(duì)比的基線是具有相同功能的同步實(shí)現(xiàn)的NoC,頻率為20 MHz.
為了評(píng)估NosralC與同步同等功能的設(shè)計(jì)在功耗指標(biāo)上的對(duì)比,我們首先使用4個(gè)測(cè)試數(shù)據(jù)集FSDD,NTI-DIGITS,DVS128 Gesture,NMNIST 對(duì)設(shè)計(jì)進(jìn)行測(cè)試,得到了對(duì)應(yīng)的仿真波形vcd文件.然后我們使用功耗評(píng)估工具,基于仿真波形和相同的工藝庫(kù),對(duì)2個(gè)設(shè)計(jì)在4個(gè)測(cè)試數(shù)據(jù)集下的平均功耗進(jìn)行評(píng)估.
評(píng)估結(jié)果如表2所示.可以看到在4個(gè)類腦應(yīng)用數(shù)據(jù)集上,NosralC比同步同等設(shè)計(jì)基線在功耗方面有37.5%~38.9%的降低.這是因?yàn)檫@些數(shù)據(jù)集的流量模式具有稀疏的特點(diǎn),而NosralC采用異步鏈路,數(shù)據(jù)傳輸是通過握手協(xié)議進(jìn)行的,即按需傳輸,翻轉(zhuǎn)頻率較同步鏈路更低,因此較同步同等設(shè)計(jì)基線其動(dòng)態(tài)功耗有所降低.而NosralC較同步同等設(shè)計(jì)基線的靜態(tài)功耗降低的原因有2個(gè):1)由于使用了異步鏈路而不是全局時(shí)鐘,使得時(shí)鐘網(wǎng)絡(luò)規(guī)模降低;2)由于同步鏈路部分邏輯的翻轉(zhuǎn)頻率要高于異步鏈路,而翻轉(zhuǎn)頻率高的門單元漏流也高,因此同步鏈路的靜態(tài)功耗要高于異步鏈路.因而在類腦處理器中引入異步設(shè)計(jì)用于互連,可以在一定程度上降低處理器的整體功耗.
為了評(píng)估NosralC和同步同等設(shè)計(jì)基線的總延遲、每個(gè)報(bào)文的平均延遲和吞吐量等性能指標(biāo),我們使用前述4個(gè)類腦應(yīng)用測(cè)試數(shù)據(jù)集對(duì)它們進(jìn)行了測(cè)試.其中,平均延遲是指任意數(shù)據(jù)報(bào)文從被發(fā)送到NoC上直到被目的路由器節(jié)點(diǎn)接收到的延遲的平均值;吞吐量是指總延遲(從第1個(gè)數(shù)據(jù)報(bào)文被發(fā)送到NoC上開始到最后1個(gè)數(shù)據(jù)報(bào)文被目的節(jié)點(diǎn)接收為結(jié)束的時(shí)間間隔)與數(shù)據(jù)報(bào)文數(shù)量的比值.
Table 2 Power Comparison Between Synchronous Counterpart Baseline and NosralC表2 同步同等設(shè)計(jì)基線與NosralC的功耗對(duì)比
3.2.1 平均延遲
如表3所示是NosralC和同步同等設(shè)計(jì)基線在4個(gè)類腦應(yīng)用測(cè)試數(shù)據(jù)集下的平均延遲對(duì)比.可以看到,在NosralC中數(shù)據(jù)報(bào)文的平均延遲比同步同等設(shè)計(jì)基線減少5.5%~8.0%.由于從1個(gè)神經(jīng)元產(chǎn)生脈沖數(shù)據(jù)報(bào)文到目的神經(jīng)元接收到脈沖數(shù)據(jù)報(bào)文中間經(jīng)過了NoC的傳輸,所以網(wǎng)絡(luò)架構(gòu)的平均延遲可以從一定程度上表征SNN中突觸的傳輸延遲這個(gè)關(guān)鍵指標(biāo).
Table 3 Average Delay Between Synchronous Counterpart Baseline and NosralC表3 同步同等設(shè)計(jì)基線與NosralC的平均延遲對(duì)比
3.2.2 吞吐量
如表4所示是NosralC和同步同等設(shè)計(jì)基線在4個(gè)類腦應(yīng)用測(cè)試數(shù)據(jù)集下的吞吐量對(duì)比.在本文中,吞吐量被定義為總運(yùn)行時(shí)間(從第1個(gè)數(shù)據(jù)報(bào)文被發(fā)送到NoC開始到最后1個(gè)數(shù)據(jù)報(bào)文下NoC為結(jié)束)與發(fā)送報(bào)文總數(shù)的比值.可以看到,在NosralC中,數(shù)據(jù)報(bào)文的吞吐量比同步設(shè)計(jì)低0.8%~2.4%.在沒有擁塞且注入率為20M報(bào)文/秒的情況下,最高吞吐量可達(dá)217M報(bào)文/秒.之所以強(qiáng)調(diào)在沒有擁塞的情況下是因?yàn)樵谶@種情況下才能維持恒定的注入率,否則數(shù)據(jù)報(bào)文只會(huì)等待擁塞情況緩解才能被發(fā)送到NoC上,從而無法維持恒定的注入率,因此沒有擁塞的情況是一種理想的情況.
Table 4 Throughput Comparison Between Synchronous Counterpart Baseline and NosralC表4 同步同等設(shè)計(jì)基線與NosralC的吞吐量對(duì)比
如圖16所示,我們研究了在不同注入率情況下的吞吐量變化情況,以表征網(wǎng)絡(luò)的擁塞情況.可以看到,一開始隨著注入率增大,吞吐量也增大,這是因?yàn)榫W(wǎng)絡(luò)還沒有出現(xiàn)擁塞,所以注入越快,吞吐量越大;當(dāng)注入率到達(dá)一定程度時(shí),吞吐量出現(xiàn)了拐點(diǎn),并且隨著注入率的增加而不斷降低,說明此時(shí)網(wǎng)絡(luò)出現(xiàn)了堵塞,使得數(shù)據(jù)報(bào)文無法上網(wǎng).
Fig.16 Throughput variation under different injection rates圖16 不同注入率下的吞吐量變化
為了評(píng)估NosralC和同步同等設(shè)計(jì)基線的能效指標(biāo),我們使用4個(gè)類腦應(yīng)用測(cè)試數(shù)據(jù)集對(duì)它們進(jìn)行了測(cè)試.我們將1個(gè)數(shù)據(jù)報(bào)文的通信定義為1次操作.如表5所示是據(jù)此定義得出的能效對(duì)比.在4個(gè)類腦測(cè)試數(shù)據(jù)集下,相較于基線,NosralC可以達(dá)到36.7%~47.6%的能效提升.
Table 5 Energy Efficiency Comparison Between Synch ronous Counterpart Baseline and NosralC表5 同步同等設(shè)計(jì)基線與NosralC的能效對(duì)比
為了評(píng)估NosralC和同步同等設(shè)計(jì)基線在FPGA資源占用上的對(duì)比,我們使用Vivado對(duì)2個(gè)設(shè)計(jì)進(jìn)行了綜合,得到的資源利用量對(duì)比如表6所示.可以看到,NosralC在資源消耗上與同步同等設(shè)計(jì)基線相近,僅僅增加了4.2%的資源占用.
Table 6 Resource Utilization Comparison Between Synch ronous Counterpart Baseline and NosralC表6 同步基線與NosralC的資源利用量對(duì)比
如表7所示是我們與先進(jìn)相關(guān)工作的比較.本文選取了2個(gè)類腦處理器TrueNorth和Loihi中的異步NoC與NosralC進(jìn)行了比較.由于這2個(gè)工作都是以先進(jìn)工藝實(shí)現(xiàn)的專用集成電路(application specific integrated circuit, ASIC),而 NosralC 采用 FPGA 進(jìn)行實(shí)現(xiàn),所以在實(shí)現(xiàn)頻率難以達(dá)到Loihi的水平.而在平均延遲方面,由于NosralC支持的網(wǎng)絡(luò)規(guī)模較Loihi更大,傳輸節(jié)點(diǎn)跳數(shù)更多,同時(shí)等效頻率也低于Loihi,因此NosralC傳輸延遲較大.
Table 7 Comparison of NosralC and the State of the Art Work表7 NosralC與先進(jìn)相關(guān)工作的比較
本文提出了一個(gè)用于GALS多核類腦處理器片上互連的高性能低功耗異步NoC架構(gòu)NosralC,采用異步鏈路和同步路由器實(shí)現(xiàn).我們?cè)贔PGA上進(jìn)行了設(shè)計(jì)驗(yàn)證.實(shí)驗(yàn)表明,該實(shí)現(xiàn)較其同步同等設(shè)計(jì)基線在處理液體狀態(tài)機(jī)執(zhí)行4個(gè)類腦應(yīng)用數(shù)據(jù)集的流量模式下具有能效優(yōu)勢(shì),同時(shí)不帶來較大性能開銷和資源開銷.在未來,我們將研究神經(jīng)元核的實(shí)現(xiàn),以便基于該NoC完成多核類腦處理器,實(shí)現(xiàn)大規(guī)模神經(jīng)元智能活動(dòng)的模擬與計(jì)算.
致謝特別感謝課題組陳小帆、康子揚(yáng)、李石明和周干等人對(duì)此工作做出的貢獻(xiàn).
作者貢獻(xiàn)聲明:楊智杰負(fù)責(zé)論文撰寫、設(shè)計(jì)代碼撰寫和實(shí)驗(yàn)驗(yàn)證;王蕾負(fù)責(zé)理論指導(dǎo)、論文修改、設(shè)計(jì)代碼撰寫和實(shí)驗(yàn)驗(yàn)證;石偉負(fù)責(zé)論文修改、設(shè)計(jì)代碼撰寫和實(shí)驗(yàn)驗(yàn)證;彭凌輝負(fù)責(zé)設(shè)計(jì)代碼撰寫和實(shí)驗(yàn)數(shù)據(jù)記錄;王耀負(fù)責(zé)論文修改、設(shè)計(jì)代碼撰寫和實(shí)驗(yàn)驗(yàn)證;徐煒遐負(fù)責(zé)理論指導(dǎo).