999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

類腦處理器異步片上網(wǎng)絡架構

2023-01-30 10:23:34楊智杰彭凌輝徐煒遐
計算機研究與發(fā)展 2023年1期
關鍵詞:設計

楊智杰 王 蕾 石 偉 彭凌輝 王 耀 徐煒遐

(國防科技大學計算機學院 長沙 410073)(yangzhijie@nudt.edu.cn)

隨著現(xiàn)代微處理器面積逐步增加,傳統(tǒng)的總線架構越來越難以滿足計算單元之間的通信需求[1-2].這是因為較長的線路負載和電阻導致了信號傳播緩慢的問題.片上網(wǎng)絡(network-on-chip, NoC)具有可擴展性高、吞吐量高和通用性高的特點,在先進微處理器中已經(jīng)被廣泛應用[3-5].然而,使用同步電路實現(xiàn)的NoC仍然面臨在處理器上生成全局時鐘樹的問題.隨著芯片規(guī)模的不斷增大,采用全局時鐘樹的設計越來越難以實現(xiàn)時序收斂并且存在時鐘傾斜問題[6].因此采用異步NoC構建全局異步局部同步(global asynchronous local synchronous, GALS)架構成為了一種潛在的解決方案.GALS架構具有多種優(yōu)勢,其功耗較同等功能和相似配置的同步設計更低、能效更高、魯棒性更好[7],并且有限的異步設計使其可以使用現(xiàn)有的商用電子設計自動化(electronic design automation, EDA)工具進行實現(xiàn)和驗證[8].

類腦處理器通過模擬大規(guī)模的神經(jīng)元活動行為完成特定的智能任務,較傳統(tǒng)深度學習處理器而言,它具有更高的能效,因此近來得到了長足的發(fā)展.由于NoC的可擴展性和高吞吐量,在多核類腦處理器架構中多采用NoC的方式實現(xiàn)神經(jīng)元核間的互連通信.許多這方面的工作包括:Shenjing[9]類腦處理器和比利時魯汶大學的MorphIC[10]類腦處理器都采用同步NoC設計;美國斯坦福大學的Neurogrid[11]類腦處理器和瑞士蘇黎世聯(lián)邦理工的DYNAPs[12]類腦處理器都采用異步NoC設計構建數(shù)模混合系統(tǒng).其余的大部分相關工作諸如美國IBM公司的TrueNorth[4]類腦處理器、美國Intel公司的Loihi[5]類腦處理器和英國曼徹斯特大學的SpiNNaker[13]類腦處理器等,都采用異步NoC設計構建GALS架構的類腦處理器.其中的原因有2個:1)比起同步NoC,異步NoC的握手通信與大腦的信息傳遞機制更加相似、更具有魯棒性;2)基于異步NoC構建的GALS類腦處理器在處理具有稀疏特點的類腦應用流量時,能夠展現(xiàn)出更低的能量消耗.用異步NoC設計在一定程度上突破了功耗墻并且使得模擬更大規(guī)模的神經(jīng)元活動行為成為可能.

然而,采用異步NoC構建的GALS類腦處理器設計也面臨一些挑戰(zhàn).首先,要保證異步NoC鏈路的高吞吐量以滿足類腦應用猝發(fā)通信的需求,一般需要采用接近同步設計的、比4段握手數(shù)據(jù)打包協(xié)議的性能和能效更高的2段握手數(shù)據(jù)打包協(xié)議.然而,基于數(shù)據(jù)打包協(xié)議的異步通信需要在鏈路上進行精準的延遲匹配才能保證功能的正確性,這對設計者和EDA工具提出了較高的要求.其次,由于亞穩(wěn)態(tài)的存在,使得同步域和異步域之間的同步成為阻礙功能正確的困難,給測試和驗證帶來了挑戰(zhàn).

在本文中,我們針對多核類腦處理器的通信需求,提出了一個用于GALS類腦處理器核間片上互連通信的NoC架構——NosralC.為了利用異步設計帶來的功耗和魯棒性優(yōu)勢,同時最大程度減少異步邏輯對整體設計帶來的各種挑戰(zhàn),在NoC設計中,路由器采用同步電路實現(xiàn),而鏈路采用2段數(shù)據(jù)打包的異步握手方式實現(xiàn).這樣的實現(xiàn)方式使得整個設計中的異步邏輯占比較低,更接近同步設計,因而對測試和驗證更加友好.同時,在NosralC中還解決了同步域與異步域數(shù)據(jù)交換中存在的亞穩(wěn)態(tài)問題,并正確匹配了異步鏈路間的延遲,保證了設計功能的正確性.與相關工作相比,NosralC的不同之處在于其僅鏈路被設計為異步的,而大多數(shù)相關工作例如IBM公司的TrueNorth類腦處理器和Intel公司的Loihi類腦處理器則采用完全異步電路實現(xiàn)的路由器和鏈路來構建NoC.NosralC展示了異步NoC相比其同步同等設計基線,在多個類腦應用數(shù)據(jù)集下均具有顯著的功耗和能效優(yōu)勢,同時不會帶來較大的現(xiàn)場可編程門陣列(field programmable gate array, FPGA)片上資源開銷以及額外的性能開銷.因此,NosralC可以作為一種更具優(yōu)勢的方案,用于多核類腦處理器中神經(jīng)元核的片上互連通信.

本文的主要貢獻有2個方面:

1) 提出了一個異步NoC架構——NosralC,用于實現(xiàn)多核GALS類腦處理器的核間片上互連通信.NosralC的鏈路是采用異步電路實現(xiàn)的,基于2段握手數(shù)據(jù)打包協(xié)議,路由器是采用同步電路實現(xiàn)的.

2)在4個類腦應用數(shù)據(jù)集上對NosralC及其同步同等設計基線進行了功耗、能效、資源占用和性能等方面的對比,展示了在類腦處理器的片上互連通信設計中,采用NosralC的結構構建GALS的類腦處理器會更加具有優(yōu)勢.NosralC在FPGA上進行了設計驗證,并證明了其可實現(xiàn)性.

實驗表明,NosralC較擁有同等功能和相似配置的同步設計,在免費語音數(shù)字數(shù)據(jù)集(free spoken digital dataset, FSDD)[14]、類腦德州儀器數(shù)字數(shù)據(jù)集(neuromorphic Texas Instruments digits, NTI-DIGITS)[15]、動態(tài)視覺傳感器 128 手勢數(shù)據(jù)集(dynamic vision sensor 128 gesture dataset, DVS128 Gesture Dataset)[16]、 類 腦 混 合國家標準和技術研究所數(shù)據(jù)庫(neuromorphic mixed National Institute of Standards and Technology database,NMNIST)[17]這4個類腦應用數(shù)據(jù)集下展現(xiàn)出了37.5%~38.9%的功耗降低、5.5%~8.0%的平均延遲降低和36.7%~47.6%的能效提升,同時不帶來較大(小于6%)額外資源開銷和性能開銷(吞吐量降低0.8%~2.4%).

1 背景和相關工作

本節(jié)將介紹本研究相關的背景知識,包括異步電路、異步NoC和類腦處理器等的相關工作.

異步電路通過握手協(xié)議的方式實現(xiàn)電路的控制.與同步電路不同,它無需采用統(tǒng)一的時鐘信號進行控制.在這種控制方式下,電路狀態(tài)的變化僅由外部輸入的變化引起,因此使得其相較于同步電路具有低功耗的優(yōu)勢.除此之外,不使用統(tǒng)一的時鐘又使得其能夠克服大時鐘網(wǎng)絡的時序收斂難和時鐘傾斜問題.

1.1 異步電路的握手與數(shù)據(jù)傳輸

異步握手協(xié)議定義了異步模塊在通信時的接口信號時序,保證異步電路各個組件之間的數(shù)據(jù)流動并且不發(fā)生沖突.異步握手協(xié)議主要包括2類:4段握手協(xié)議和2段握手協(xié)議.

如圖1所示是4段握手協(xié)議.該協(xié)議是基于電平的,只有高電平表示控制信號的請求和應答.4段指的是通信動作的次數(shù).4段握手協(xié)議的缺點是多余的歸零翻轉造成了不必要的時間和能量的損耗.

Fig.1 Four-phase handshake protocol圖1 4段握手協(xié)議

圖2所示的是2段握手協(xié)議.在2段握手協(xié)議中,請求和應答信號使用信號線上的電平翻轉沿表示,每次翻轉都代表1次信號事件.因此,2段握手協(xié)議比4段握手協(xié)議電路速度更快、傳輸速率更高,適合需要高性能的設計場景.

Fig.2 Two-phase handshake protocol圖2 2段握手協(xié)議

然而,由于缺少統(tǒng)一的時鐘進行控制和同步,異步電路中的數(shù)據(jù)傳輸需要解決控制通路和數(shù)據(jù)通路的延遲匹配問題,以保證數(shù)據(jù)在傳輸時的正確性.異步電路的數(shù)據(jù)傳輸方式有2種:一種是握手信號和數(shù)據(jù)信號分開的方式;另一種是將握手信號編碼到數(shù)據(jù)信號中一同傳遞的方式.

如圖3所示是單軌數(shù)據(jù)編碼.該編碼方式又被稱為數(shù)據(jù)打包編碼.在這種方式中,1個數(shù)據(jù)線傳輸1 b數(shù)據(jù),發(fā)送方和接收方通過額外的請求和應答信號完成握手.基于這種方式實現(xiàn)的異步電路可以得到和同步電路相當?shù)拿娣e,而且可以使用傳統(tǒng)的同步電路EDA工具實現(xiàn).但其挑戰(zhàn)在于必須滿足異步電路的請求信號的傳輸延遲不小于對應的數(shù)據(jù)通道傳輸延遲的要求,否則將發(fā)生錯誤.因而,采用該方式常常需要相應地對請求信號和數(shù)據(jù)通道信號進行精準的延遲匹配,以保證功能的正確性.

Fig.3 Single-rail data coding圖3 單軌數(shù)據(jù)編碼

如圖4所示是雙軌編碼,該編碼方式又被稱為延遲無關的編碼方式.因為這種方式使得接收方能夠從傳送的數(shù)據(jù)中檢測出“完成”編碼標記而不需要請求信號.但是雙軌編碼比單軌編碼占用更多的電路面積、帶來更高的功耗并且傳輸速率也更低.

Fig.4 Two-rail data coding圖4 雙軌數(shù)據(jù)編碼

1.2 異步NoC

NoC 是片上系統(tǒng)(system-on-chip, SoC)的一種通信架構,它的概念在2001年由Benini等人[18]提出,而其發(fā)展則由工業(yè)界不斷推動.從美國Sun公司的8核處理器UltraSPARC T1的交叉開關互連網(wǎng)絡[19],到美國Tilera公司的64核處理器TILE64的2維Mesh互連網(wǎng)絡[20],NoC已逐漸成為多核SoC片上互連的主流通信架構.NoC包括計算和通信2類節(jié)點,有效實現(xiàn)了計算與通信的分離.與傳統(tǒng)的總線及交叉開關互連結構相比,NoC具有高帶寬、高可擴展性和高可重用性的優(yōu)勢.

基于異步NoC的處理器主要有GALS和全異步2種實現(xiàn)方式.其中GALS的設計方法除了能夠克服同步設計中全局時鐘樹時序難以收斂的問題,還能夠保持一個大部分設計是同步設計的設計流程,便于使用現(xiàn)有成熟的EDA工具進行設計和實現(xiàn).下面列舉學術界對異步NoC的相關工作.

CHAIN[21]是曼徹斯特大學設計的一款基于延遲無關的異步模型的點對點互連架構.在0.18 μm工藝下,每個鏈路可以達到1 Gbps的吞吐量.QNOC是Fakhri[22]提出的一款能夠提供多服務級別和保證服務質量的2維Mesh結構的異步NoC,它采用4段數(shù)據(jù)打包協(xié)議,支持蟲孔路由的流控機制.在0.18 μm工藝和每個 flit為 8 b的配置下,能夠達到 1.72 Gbps的吞吐量.MANGO[23]是一款能夠提供基于連接的受保證服務和無連接最佳服務的異步NoC,其網(wǎng)絡中的鏈路和路由器完全使用異步電路設計實現(xiàn).路由器使用4段數(shù)據(jù)打包協(xié)議,鏈路使用2段雙軌延遲無關電路實現(xiàn).在0.13 μm工藝下其吞吐量能夠達到650 Mflitps.ANOC[24]是使用準延遲無關異步邏輯實現(xiàn)的一款異步低功耗NoC,使用2維Mesh結構構建了GALS系統(tǒng),在 65 nm 工藝下其吞吐量達到 550 Mflitps,與相同功能的同步版本相比其功耗下降了86%.

1.3 類腦處理器及其NoC

類腦處理器是支撐脈沖神經(jīng)網(wǎng)絡(spiking neural network, SNN)運行的硬件平臺,能夠實現(xiàn)海量神經(jīng)元計算和互連通信的模擬.因為其具有低功耗、高能效、高容錯性等特點,已經(jīng)被廣泛地用于圖像識別[25]、語音識別[26]和機器人控制[27]等諸多領域.近年來有許多類腦處理器被研制成功并提出了類腦計算硬件的設計方法學[28].

TrueNorth[4]是美國IBM公司研發(fā)的一種類腦處理器,它有4 096個核,通過2維Mesh網(wǎng)絡連接在一起.Loihi[5]是由美國Intel公司研發(fā)的一個數(shù)字形態(tài)類腦處理器,其單處理器有128個類腦核,每個類腦核可以模擬13萬個“集成?放電”模型神經(jīng)元和1.3億個突觸.神經(jīng)元核間通過異步NoC實現(xiàn)片上互連通信.DYNAPs[12]是瑞士蘇黎世大學提出的一種混合信號多核類腦處理器,它使用異步數(shù)字電路實現(xiàn)的2維Mesh NoC進行通信和采用模擬電路實現(xiàn)的神經(jīng)元進行計算.SpiNNaker[13]是由英國曼徹斯特大學提出的一種大型數(shù)字類腦系統(tǒng),它通過將100萬個ARM處理器連接在一起實時模擬大腦.其中18個ARM處理器被集成到1個多處理器芯片(chip multiprocessors, CMP)中,216個 CMP 以 2 維環(huán)形網(wǎng)絡互連構成了整個系統(tǒng).在其互連系統(tǒng)中,片上微處理器和存儲器之間的通信使用GALS實現(xiàn),片間網(wǎng)絡的通信采用同步路由器和異步鏈路實現(xiàn).Neurogrid[11]是斯坦福大學提出的一種數(shù)模混合類腦系統(tǒng),能夠提供對數(shù)百萬個神經(jīng)元和數(shù)十億個突觸進行仿真的能力,它以樹形網(wǎng)絡組織了16個互連的處理器,片上的任意神經(jīng)元可以通過多播通信將信息異步地發(fā)送到其他處理器的突觸上.

目前大多數(shù)類腦處理器的片上互連采用純異步電路實現(xiàn)NoC.除了SpiNNaker采用同步路由器和異步鏈路實現(xiàn)片間互連以外,沒有人采用異步鏈路和同步路由器的架構實現(xiàn)類腦處理器的片上互連,來構建GALS的類腦處理器架構.而我們認為,這種采用異步鏈路和同步路由器的架構能夠保持一個大部分設計是同步設計的設計流程,便于使用現(xiàn)有成熟的EDA工具進行設計和實現(xiàn),同時,在滿足類腦應用通信需求的條件下,異步通信可以帶來低功耗優(yōu)勢.

2 架構設計

本節(jié)將首先分析SNN的片上執(zhí)行模式和流量特點,以便了解其在類腦處理器上的執(zhí)行過程與設計需求;然后介紹為類腦處理器核間片上互連通信所設計的NoC架構,分別從整體設計到詳細的路由器模塊設計以及異步鏈路設計.

2.1 類腦處理器工作方式與SNN通信模式

SNN是以時間步為最小時間單位執(zhí)行的.因此,為了在類腦處理器上執(zhí)行SNN,類腦處理器的工作方式也必須參照SNN在1個時間步當中執(zhí)行的各項操作來設計.

如圖5所示,在基于NoC的類腦處理器上執(zhí)行多個(圖5中以2個為例)時間步的SNN的操作可以被分為5個工作步驟執(zhí)行:1)輸入脈沖加載,即外部脈沖序列由片外存儲器或傳感器傳輸加載到片上;2)脈沖通信傳遞,即所加載的脈沖序列被轉換為脈沖數(shù)據(jù)報文,在NoC上被路由至目的節(jié)點(目的神經(jīng)元);3)脈沖接收與神經(jīng)元計算,即每個NoC節(jié)點下載屬于其的脈沖數(shù)據(jù)報文到神經(jīng)元當中,讀出與脈沖對應的突觸連接的權值并進行神經(jīng)元的膜電壓累積計算;4)脈沖生成,即當所有脈沖數(shù)據(jù)報文都已經(jīng)被目的節(jié)點收到并完成累積計算后,所有神經(jīng)元使用其預置的閾值與其膜電壓進行比較,若膜電壓超過閾值,則神經(jīng)元會產生脈沖輸出;5)脈沖輸出與傳遞,即上個時間步當中神經(jīng)元產生的脈沖輸出會被轉換為脈沖數(shù)據(jù)報文,作為當前時間步的一部分輸入脈沖,通過NoC發(fā)往其所屬的目的節(jié)點,同時來自外部存儲器或傳感器的脈沖序列也一并被加載并被傳遞.在第1個時間步當中,由于沒有內部神經(jīng)元產生脈沖輸出,因此并不包含步驟5,而在從第2個時間步開始的后續(xù)時間步當中都包含這個工作步驟.

Fig.5 SNN on-chip execution pattern in time step圖5 以時間步為單位的SNN片上執(zhí)行模式

從圖5中我們可以發(fā)現(xiàn),在每個時間步(除第1個時間步外)的開始,上個時間步中由神經(jīng)元產生的脈沖輸出而生成的數(shù)據(jù)報文開始持續(xù)地經(jīng)由NoC發(fā)往目的節(jié)點,同時此時間步的來自外部存儲器或傳感器生成的脈沖數(shù)據(jù)報文也會持續(xù)地被發(fā)送到NoC上,從而在時間步的開始時產生猝發(fā)的通信需求.

Fig.6 Number of fired neurons in 1 000 execution time step圖6 在1 000個時間步中被激發(fā)的神經(jīng)元數(shù)量

圖6為我們的研究發(fā)現(xiàn),在SNN(以液體狀態(tài)機[29]執(zhí)行FSDD數(shù)據(jù)集[27]為例)執(zhí)行的每個時間步當中,產生輸出脈沖的神經(jīng)元數(shù)量占據(jù)神經(jīng)元總數(shù)的百分比為1%~2%,并且在SNN(以液體狀態(tài)機[29]網(wǎng)絡為例)當中,神經(jīng)元的連接也是稀疏的,其連接概率一般為40%~50%.因此,由產生脈沖輸出的神經(jīng)元數(shù)量與神經(jīng)元扇出連接數(shù)量的乘積所定義的SNN片上執(zhí)行通信量,在1個時間步中是非常稀疏的.

2.2 整體設計

設計一個類腦處理器中最具挑戰(zhàn)性的工作之一就是設計一個支持大量神經(jīng)元互相通信的、可擴展的脈沖通信系統(tǒng).由于NoC具有高性能、可擴展、大量并行、低延遲、低功耗的優(yōu)勢,非常適合用做類腦處理器中的通信系統(tǒng).

如圖7所示是我們?yōu)轭惸X處理器核間片上互連通信設計的NoC架構NosralC的框圖.由圖7可知,NosralC包含2級結構,即負責脈沖序列傳遞和神經(jīng)元之間通信的NoC以及負責完成神經(jīng)元計算的神經(jīng)元核.其中,通信節(jié)點路由器以2維Mesh的方式進行互連.在Mesh型拓撲中,路由器和四周的鄰居路由器相連,使得整個NoC具有較大的吞吐量和并行度.這樣的拓撲結構帶來2個優(yōu)勢:1)全互連和高并行的設計使得網(wǎng)絡可以支持不同拓撲結構的SNN模型,具有通用性和可擴展性;2)相較于其他網(wǎng)絡拓撲,Mesh結構具有大吞吐量的優(yōu)勢,可以滿足類腦應用猝發(fā)流量的通信需求.

Fig.7 Block diagram of NoC architecture for on-chip intercon nection and communication of neuromorphic processor圖7 類腦處理器片上互連通信NoC架構框圖

2.3 路由器設計

2.3.1 數(shù)據(jù)報文與路由器總體設計

如圖8所示是我們設計的路由器的整體結構,它采用的是經(jīng)典的5端口雙工設計,即每個路由器分別有東、西、南、北、本地5個方向,每個方向包含輸入和輸出2個端口,分別完成數(shù)據(jù)報文的輸入和輸出功能.

在考慮硬件開銷以及平衡通信和計算時間的基礎上,我們將NoC規(guī)模設置為16×16的陣列.每個路由器節(jié)點下掛載的神經(jīng)元核內支持256個神經(jīng)元,因此整個系統(tǒng)支持65 536個神經(jīng)元的模擬.

Fig.8 Block diagram of 5-ports duplex router design圖8 5端口雙工路由器設計框圖

如圖9所示是我們的數(shù)據(jù)報文設計框圖,其總長度為32 b.其中,目的坐標XD和YD標識了目的路由器的坐標,源坐標XS和YS標識了源路由器的坐標,它們均為4 b,用于數(shù)據(jù)報文在NoC上的路由.因此坐標最大支持16×16規(guī)模的NoC.神經(jīng)元編號字段為16 b,用于存放全局唯一的源神經(jīng)元編號.神經(jīng)元編號可以唯一標識65 536中的1個神經(jīng)元而不會產生沖突,便于接收方根據(jù)該編號識別脈沖數(shù)據(jù)報文的來源,取出對應的突觸連接的權值進行計算.

Fig.9 Design of data packet format圖9 數(shù)據(jù)報文格式設計

2.3.2 輸入模塊與路由算法

如圖10所示是路由器的輸入端口設計以及路由算法示意圖.其中先進先出(first in first out, FIFO)緩沖用于緩存從NoC中接收的數(shù)據(jù)報文,其深度是可配置的;滿信號用來指示緩沖器的狀態(tài),如果不為1,則說明FIFO還沒有滿,因而可以對該端口發(fā)出請求.在得到寫應答信號的應答后,數(shù)據(jù)信號輸入端口接收到數(shù)據(jù)報文并將數(shù)據(jù)存入FIFO緩沖器中.FIFO 控制器會記錄FIFO的狀態(tài),用于控制對FIFO的讀寫.

Fig.10 Design of input module and schematic of X-Y routing algorithm圖10 輸入模塊設計和X-Y路由算法示意圖

路由算法確定了數(shù)據(jù)報文在網(wǎng)絡中按照何種路徑從源節(jié)點傳輸?shù)侥康墓?jié)點.在Mesh網(wǎng)絡中,為了防止死鎖,一般采用維序優(yōu)先的路由算法.因此,在本設計中我們采用X-Y路由算法.如圖10右側所示是X-Y路由算法的示意圖,根據(jù)該路由算法可以實現(xiàn)計算當前數(shù)據(jù)報文下一跳傳輸方向的功能.X-Y路由算法是一種確定性路由算法,只要給定源坐標與目的坐標,就能唯一確定1條路由路徑,并且它十分便于硬件實現(xiàn),同時也能夠滿足SNN通信的路由需求.

在工作中,依據(jù)X-Y路由算法,我們首先將網(wǎng)絡中的所有路由器都用一個2維坐標(X,Y)表示,數(shù)據(jù)報文中的坐標信息也用2維坐標(X,Y)表示以便一一對應.假設當前路由器的坐標為(XC,YC),數(shù)據(jù)報文中的目的坐標為(XD,YD).如果目的坐標和當前路由器的坐標一致,當前路由器將下載該數(shù)據(jù)報文并發(fā)送到本地神經(jīng)元核中;否則,每個路由器會先沿著X方向傳輸數(shù)據(jù)報文,直到當前到達路由器的X的坐標與數(shù)據(jù)報文攜帶的目的地的X坐標相等,然后路由器才會沿著Y方向傳輸數(shù)據(jù)報文,直到當前到達路由器的Y坐標與數(shù)據(jù)報文攜帶的目的地的Y坐標相等.由于SNN的通信流量較為稀疏,因此我們沒有使用復雜的蟲孔路由和虛通道技術.

2.3.3 輸出模塊與仲裁機制

如圖11所示是路由器的輸出端口設計和仲裁機制示意圖.每個輸出端口都連接了其他4個方向的數(shù)據(jù)通路,如果同時有多個數(shù)據(jù)報文請求同一個輸出端口,那么就需要仲裁模塊進行仲裁,選出優(yōu)勝者執(zhí)行當前時鐘周期下的數(shù)據(jù)傳輸.在本設計中采用Round-Robin仲裁算法,即輪詢仲裁,它指的是輪流對多個請求進行響應.這種仲裁方法比較公平,并且無需記錄狀態(tài),比較適合硬件實現(xiàn).

Fig.11 Design of output module and schematic of round robin arbitrating mechanism圖11 輸出模塊設計和輪詢仲裁機制示意圖

2.4 異步鏈路設計

由于類腦應用的流量模式具有稀疏的特點,因此我們選擇采用異步鏈路構建NoC的鏈路,這種異步通信的方式更加符合大腦工作的特點.如圖12所示是該異步鏈路的控制通路和數(shù)據(jù)通路框圖.在該框圖中,我們使用click單元[30]和2段握手數(shù)據(jù)打包的方式進行數(shù)據(jù)通信.之所以選擇click單元,是因為這種設計避免了鎖存器和c單元的使用,僅僅依靠邊緣觸發(fā)器作為唯一的存儲單元,并且性能接近先進的MOUSETRAP[31],所需的設計流程也更加簡單、更接近同步電路,便于使用傳統(tǒng)的EDA工具進行測試與實現(xiàn).

圖12上方的是click單元,圖12下方的是由寄存器構成的寄存模塊.鏈路之間通過請求和應答信號進行異步通信.click單元通過握手信號的組合產生傳輸觸發(fā)信號,驅動觸發(fā)器進行數(shù)據(jù)傳遞.在數(shù)據(jù)傳遞之后的一段時間,其控制邏輯會自動翻轉輸出的請求信號,以實現(xiàn)下一次請求的輸出.值得注意的是,圖中虛線框的部分對于產生寄存器傳輸觸發(fā)信號的寬度具有較大影響.如果該信號的寬度較窄,那么將會導致亞穩(wěn)態(tài)問題,從而使得寄存器采樣輸出不穩(wěn)定,產生抖動的現(xiàn)象.這種情況會影響數(shù)據(jù)傳輸?shù)恼_性.因此,只有正確匹配其延遲,使得其寬度足夠,才能避免亞穩(wěn)態(tài)問題的發(fā)生,保證傳輸數(shù)據(jù)的正確性.

2.5 同步異步接口

在同步域中,數(shù)據(jù)流動是時鐘驅動的,而異步域采用握手信號驅動數(shù)據(jù)的流動,因此在同步域與異步域之間需要一個適配兩者的邏輯轉換模塊,以完成數(shù)據(jù)在域間的傳遞.在NosralC當中,我們使用了一個同步FIFO作為域間的緩沖,同時使用特定的轉換邏輯,將異步域中的握手信號轉換為對FIFO的讀信號和寫信號,以此實現(xiàn)數(shù)據(jù)的傳入與取出.

Fig.12 Block diagram of data channel and control circuit of asynchronous link圖12 異步鏈路的數(shù)據(jù)通路和控制電路框圖

如圖13和14所示分別是數(shù)據(jù)從同步域傳入異步域以及從異步域傳入同步域的轉換電路實現(xiàn).在轉換電路中,我們采用FIFO實現(xiàn)域間數(shù)據(jù)的傳遞,這種方法屬于利用雙/多觸發(fā)器進行域間同步的方式,可以解決域間數(shù)據(jù)傳遞的亞穩(wěn)態(tài)問題,同時相較于暫停時鐘的域間同步實現(xiàn)方式性能更高.

Fig.13 Writing channel of data conversion circuit between synchronous domain and asynchronous domain圖13 同步域與異步域數(shù)據(jù)轉換電路寫通道

Fig.14 Reading channel of data conversion circuit between synchronous domain and asynchronous domain圖14 同步域與異步域數(shù)據(jù)轉換電路讀通道

2.6 GALS系統(tǒng)的設計流程

如圖15所示是NosralC的設計流程.為了充分驗證NosralC在同步異步交互當中可能存在的亞穩(wěn)態(tài)問題以及延遲匹配的正確性,我們通過4個步驟實現(xiàn):1)對寄存器級傳輸(register-transfer level, RTL)代碼進行行為級仿真,驗證設計的基本功能;2)對設計增加時序約束,使用工藝庫中的基本功能單元,例如查找表(look up table, LUT)等替換 RTL 語句中的理想延遲進行延遲匹配;3)經(jīng)過綜合與實現(xiàn),我們得到了門級網(wǎng)表,并在增加了時序信息后的仿真中對設計進行測試,以驗證是否能夠滿足既定時序約束以及鏈路延遲匹配是否實現(xiàn)正確功能;4)將設計生成的比特流下載到FPGA板上進行上板驗證,測試設計在真實硬件上運行的正確性.

3 實 驗

本節(jié)將介紹我們對NosralC的功耗、性能和資源利用評估的結果.NosralC是使用RTL級Verilog代碼實現(xiàn)的,并使用Vivado工具進行綜合,最終在FPGA平臺上進行了功能測試與驗證.

Fig.15 Design flow of GALS based NosralC architecture圖15 基于GALS技術的NosralC架構設計流程

用于測試的數(shù)據(jù)集包括FSDD[14]語音數(shù)據(jù)集、NTI-DIGITS[15]數(shù)字語音數(shù)據(jù)集、DVS128 Gesture[16]手勢數(shù)據(jù)集和NMNIST[17]圖像數(shù)據(jù)集.其中DVS128 Gesture手勢數(shù)據(jù)集和NMNIST圖像數(shù)據(jù)集都是由仿生的動態(tài)視覺傳感器采集生成的,輸入像素通過泊松分布的編碼方式轉換為了SNN可以處理的脈沖序列,符合類腦應用的特點.

用于執(zhí)行測試數(shù)據(jù)集的SNN是一個具有1 000個神經(jīng)元的液體狀態(tài)機.具體的網(wǎng)絡配置如表1所示.該 液 體 狀 態(tài) 機 網(wǎng) 絡 執(zhí)行 FSDD,DVS128 Gesture,NMNIST,NTI-DIGITS數(shù)據(jù)集的精度分別可以達到92%,98%,98%,87%.

Table 1 Configuration of Liquid State Machine SNN表1 液體狀態(tài)機SNN配置

硬件架構測試的激勵,即脈沖數(shù)據(jù)報文,是由外部載入NoC各節(jié)點下的存儲器中的.而這些數(shù)據(jù)報文的生成是依據(jù)在軟件框架中網(wǎng)絡執(zhí)行的軌跡,即神經(jīng)元在各個時間步中互相發(fā)放和傳遞脈沖的情況以及神經(jīng)元映射到NoC下掛載的各個節(jié)點的分布生成的.由于NosralC只是一個NoC架構,主要負責完成神經(jīng)元的核間脈沖數(shù)據(jù)報文傳遞通信,不涉及到神經(jīng)元的計算,并且GALS的設計也不會產生報文丟失的情況.因此GALS的設計不會對網(wǎng)絡分類精度產生影響.

NosralC與其同步同等設計基線的架構配置信息為:2種架構的節(jié)點數(shù)都是16×16,即256個節(jié)點;兩者拓撲結構都是2維Mesh結構;在同步實現(xiàn)基線中,其路由器的FIFO深度為32,而在NosralC中,異步接口的FIFO深度為16,其同步路由器的FIFO深度為16.

對于硬件驗證,NosralC被以二進制比特流的形式下載到了FPGA上進行實際的板上驗證,并證明了設計正確完成了異步鏈接間的延遲匹配,克服了同步異步交換時出現(xiàn)的亞穩(wěn)態(tài)問題.我們用于對比的基線是具有相同功能的同步實現(xiàn)的NoC,頻率為20 MHz.

3.1 功耗評估

為了評估NosralC與同步同等功能的設計在功耗指標上的對比,我們首先使用4個測試數(shù)據(jù)集FSDD,NTI-DIGITS,DVS128 Gesture,NMNIST 對設計進行測試,得到了對應的仿真波形vcd文件.然后我們使用功耗評估工具,基于仿真波形和相同的工藝庫,對2個設計在4個測試數(shù)據(jù)集下的平均功耗進行評估.

評估結果如表2所示.可以看到在4個類腦應用數(shù)據(jù)集上,NosralC比同步同等設計基線在功耗方面有37.5%~38.9%的降低.這是因為這些數(shù)據(jù)集的流量模式具有稀疏的特點,而NosralC采用異步鏈路,數(shù)據(jù)傳輸是通過握手協(xié)議進行的,即按需傳輸,翻轉頻率較同步鏈路更低,因此較同步同等設計基線其動態(tài)功耗有所降低.而NosralC較同步同等設計基線的靜態(tài)功耗降低的原因有2個:1)由于使用了異步鏈路而不是全局時鐘,使得時鐘網(wǎng)絡規(guī)模降低;2)由于同步鏈路部分邏輯的翻轉頻率要高于異步鏈路,而翻轉頻率高的門單元漏流也高,因此同步鏈路的靜態(tài)功耗要高于異步鏈路.因而在類腦處理器中引入異步設計用于互連,可以在一定程度上降低處理器的整體功耗.

3.2 性能評估

為了評估NosralC和同步同等設計基線的總延遲、每個報文的平均延遲和吞吐量等性能指標,我們使用前述4個類腦應用測試數(shù)據(jù)集對它們進行了測試.其中,平均延遲是指任意數(shù)據(jù)報文從被發(fā)送到NoC上直到被目的路由器節(jié)點接收到的延遲的平均值;吞吐量是指總延遲(從第1個數(shù)據(jù)報文被發(fā)送到NoC上開始到最后1個數(shù)據(jù)報文被目的節(jié)點接收為結束的時間間隔)與數(shù)據(jù)報文數(shù)量的比值.

Table 2 Power Comparison Between Synchronous Counterpart Baseline and NosralC表2 同步同等設計基線與NosralC的功耗對比

3.2.1 平均延遲

如表3所示是NosralC和同步同等設計基線在4個類腦應用測試數(shù)據(jù)集下的平均延遲對比.可以看到,在NosralC中數(shù)據(jù)報文的平均延遲比同步同等設計基線減少5.5%~8.0%.由于從1個神經(jīng)元產生脈沖數(shù)據(jù)報文到目的神經(jīng)元接收到脈沖數(shù)據(jù)報文中間經(jīng)過了NoC的傳輸,所以網(wǎng)絡架構的平均延遲可以從一定程度上表征SNN中突觸的傳輸延遲這個關鍵指標.

Table 3 Average Delay Between Synchronous Counterpart Baseline and NosralC表3 同步同等設計基線與NosralC的平均延遲對比

3.2.2 吞吐量

如表4所示是NosralC和同步同等設計基線在4個類腦應用測試數(shù)據(jù)集下的吞吐量對比.在本文中,吞吐量被定義為總運行時間(從第1個數(shù)據(jù)報文被發(fā)送到NoC開始到最后1個數(shù)據(jù)報文下NoC為結束)與發(fā)送報文總數(shù)的比值.可以看到,在NosralC中,數(shù)據(jù)報文的吞吐量比同步設計低0.8%~2.4%.在沒有擁塞且注入率為20M報文/秒的情況下,最高吞吐量可達217M報文/秒.之所以強調在沒有擁塞的情況下是因為在這種情況下才能維持恒定的注入率,否則數(shù)據(jù)報文只會等待擁塞情況緩解才能被發(fā)送到NoC上,從而無法維持恒定的注入率,因此沒有擁塞的情況是一種理想的情況.

Table 4 Throughput Comparison Between Synchronous Counterpart Baseline and NosralC表4 同步同等設計基線與NosralC的吞吐量對比

如圖16所示,我們研究了在不同注入率情況下的吞吐量變化情況,以表征網(wǎng)絡的擁塞情況.可以看到,一開始隨著注入率增大,吞吐量也增大,這是因為網(wǎng)絡還沒有出現(xiàn)擁塞,所以注入越快,吞吐量越大;當注入率到達一定程度時,吞吐量出現(xiàn)了拐點,并且隨著注入率的增加而不斷降低,說明此時網(wǎng)絡出現(xiàn)了堵塞,使得數(shù)據(jù)報文無法上網(wǎng).

Fig.16 Throughput variation under different injection rates圖16 不同注入率下的吞吐量變化

3.3 能效評估

為了評估NosralC和同步同等設計基線的能效指標,我們使用4個類腦應用測試數(shù)據(jù)集對它們進行了測試.我們將1個數(shù)據(jù)報文的通信定義為1次操作.如表5所示是據(jù)此定義得出的能效對比.在4個類腦測試數(shù)據(jù)集下,相較于基線,NosralC可以達到36.7%~47.6%的能效提升.

Table 5 Energy Efficiency Comparison Between Synch ronous Counterpart Baseline and NosralC表5 同步同等設計基線與NosralC的能效對比

3.4 資源評估

為了評估NosralC和同步同等設計基線在FPGA資源占用上的對比,我們使用Vivado對2個設計進行了綜合,得到的資源利用量對比如表6所示.可以看到,NosralC在資源消耗上與同步同等設計基線相近,僅僅增加了4.2%的資源占用.

Table 6 Resource Utilization Comparison Between Synch ronous Counterpart Baseline and NosralC表6 同步基線與NosralC的資源利用量對比

3.5 與相關工作的比較

如表7所示是我們與先進相關工作的比較.本文選取了2個類腦處理器TrueNorth和Loihi中的異步NoC與NosralC進行了比較.由于這2個工作都是以先進工藝實現(xiàn)的專用集成電路(application specific integrated circuit, ASIC),而 NosralC 采用 FPGA 進行實現(xiàn),所以在實現(xiàn)頻率難以達到Loihi的水平.而在平均延遲方面,由于NosralC支持的網(wǎng)絡規(guī)模較Loihi更大,傳輸節(jié)點跳數(shù)更多,同時等效頻率也低于Loihi,因此NosralC傳輸延遲較大.

Table 7 Comparison of NosralC and the State of the Art Work表7 NosralC與先進相關工作的比較

4 結 論

本文提出了一個用于GALS多核類腦處理器片上互連的高性能低功耗異步NoC架構NosralC,采用異步鏈路和同步路由器實現(xiàn).我們在FPGA上進行了設計驗證.實驗表明,該實現(xiàn)較其同步同等設計基線在處理液體狀態(tài)機執(zhí)行4個類腦應用數(shù)據(jù)集的流量模式下具有能效優(yōu)勢,同時不帶來較大性能開銷和資源開銷.在未來,我們將研究神經(jīng)元核的實現(xiàn),以便基于該NoC完成多核類腦處理器,實現(xiàn)大規(guī)模神經(jīng)元智能活動的模擬與計算.

致謝特別感謝課題組陳小帆、康子揚、李石明和周干等人對此工作做出的貢獻.

作者貢獻聲明:楊智杰負責論文撰寫、設計代碼撰寫和實驗驗證;王蕾負責理論指導、論文修改、設計代碼撰寫和實驗驗證;石偉負責論文修改、設計代碼撰寫和實驗驗證;彭凌輝負責設計代碼撰寫和實驗數(shù)據(jù)記錄;王耀負責論文修改、設計代碼撰寫和實驗驗證;徐煒遐負責理論指導.

猜你喜歡
設計
二十四節(jié)氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 久久婷婷六月| 国产精品深爱在线| 好久久免费视频高清| 97综合久久| 国产日本欧美在线观看| 国产一区在线观看无码| 亚洲水蜜桃久久综合网站 | 亚洲人精品亚洲人成在线| 成人夜夜嗨| 国产人前露出系列视频| 亚洲欧美日韩成人在线| 久久6免费视频| 国产一级裸网站| 成人无码区免费视频网站蜜臀| 国产一区三区二区中文在线| 国产美女一级毛片| 日本伊人色综合网| 日韩无码真实干出血视频| 精品無碼一區在線觀看 | 欧美激情第一欧美在线| 国产成人精品2021欧美日韩| 亚洲天堂久久久| 久久中文无码精品| 成人一区专区在线观看| 国产日韩精品欧美一区灰| 日韩欧美高清视频| 国产成人一区| 97综合久久| 国产日韩欧美在线播放| 中文成人在线视频| 美美女高清毛片视频免费观看| 亚卅精品无码久久毛片乌克兰| 中文字幕在线观| 久久精品一品道久久精品| 久久久久久久97| 欧洲熟妇精品视频| 精品国产aⅴ一区二区三区| 91色国产在线| 欧美乱妇高清无乱码免费| 国模沟沟一区二区三区| 国产白浆在线| 久久综合伊人 六十路| 精品人妻一区二区三区蜜桃AⅤ| 毛片三级在线观看| 亚洲无码视频图片| 日韩视频福利| jizz在线观看| 欧美国产日韩在线| 黄片一区二区三区| 爱做久久久久久| 亚洲天堂视频在线观看免费| 国外欧美一区另类中文字幕| 专干老肥熟女视频网站| 久久人搡人人玩人妻精品| 一级在线毛片| 国产成人凹凸视频在线| 久久伊人操| 九色在线观看视频| 一级毛片中文字幕| 国产在线精彩视频论坛| 就去吻亚洲精品国产欧美| 人人爽人人爽人人片| 国产亚洲精久久久久久无码AV| 久久精品国产电影| 国精品91人妻无码一区二区三区| 国产精品永久在线| 亚洲第一区精品日韩在线播放| 亚洲无码高清一区| 少妇被粗大的猛烈进出免费视频| 国产成人禁片在线观看| 亚洲人妖在线| P尤物久久99国产综合精品| 激情无码字幕综合| 亚洲日韩第九十九页| 东京热av无码电影一区二区| 老司国产精品视频| 亚洲无限乱码| 91九色视频网| 国产高清精品在线91| 国产精品美女网站| 国产成人精品日本亚洲| 亚洲成aⅴ人在线观看|