本發(fā)明涉及通信,尤其涉及一種片上網(wǎng)絡(luò)裝置及路由方法。
背景技術(shù):
1、神經(jīng)形態(tài)計(jì)算作為人工智能系統(tǒng)發(fā)展的前沿技術(shù),致力于模仿生物神經(jīng)元的結(jié)構(gòu)和功能,以實(shí)現(xiàn)更為靈活和自適應(yīng)的計(jì)算模式。這種計(jì)算范式與傳統(tǒng)的基于指令序列的人工智能算法相比,具有顯著的優(yōu)勢(shì),尤其是在處理大規(guī)模并行任務(wù)和極低功耗要求的應(yīng)用場(chǎng)景中。然而,神經(jīng)形態(tài)計(jì)算也面臨著巨大的挑戰(zhàn),尤其是在硬件實(shí)現(xiàn)方面。由于生物神經(jīng)連接的復(fù)雜性和非結(jié)構(gòu)化的脈沖數(shù)據(jù)流特性,以及模型工作負(fù)載的不平衡分配,這使得在單個(gè)神經(jīng)形態(tài)芯片上集成數(shù)百萬(wàn)個(gè)神經(jīng)元和數(shù)十億個(gè)突觸連接變得極為困難。
2、為了解決神經(jīng)形態(tài)計(jì)算中的通信問(wèn)題,片上網(wǎng)絡(luò)(noc)架構(gòu)被廣泛應(yīng)用于神經(jīng)形態(tài)系統(tǒng)中。片上網(wǎng)絡(luò)架構(gòu)憑借其資源復(fù)用性、良好的可擴(kuò)展性、分布式并行性和事件驅(qū)動(dòng)性等優(yōu)點(diǎn),成為神經(jīng)形態(tài)計(jì)算中通信系統(tǒng)的理想選擇。在現(xiàn)有的noc技術(shù)中,2d?mesh型和tree型結(jié)構(gòu)是最受歡迎的兩種拓?fù)浣Y(jié)構(gòu)。2d?mesh型片上網(wǎng)絡(luò)電路通過(guò)將通信節(jié)點(diǎn)以二維網(wǎng)格形式排列,實(shí)現(xiàn)了節(jié)點(diǎn)間的互聯(lián)。然而,這種結(jié)構(gòu)通常不支持片間三維擴(kuò)展,且每個(gè)通信節(jié)點(diǎn)僅與周?chē)乃膫€(gè)通信節(jié)點(diǎn)相連,導(dǎo)致通信帶寬受限,嚴(yán)重制約了系統(tǒng)的吞吐率和能效。另一方面,tree型片上網(wǎng)絡(luò)電路則采用樹(shù)狀結(jié)構(gòu)進(jìn)行節(jié)點(diǎn)互聯(lián),雖然在一定程度上提高了通信效率,但同樣不支持片間三維擴(kuò)展,并且片內(nèi)通信帶寬也相對(duì)較低。此外,還有一些基于單一的確定性路由或自適應(yīng)路由的其他拓?fù)浣Y(jié)構(gòu)的片上網(wǎng)絡(luò)電路,但這些電路通常僅支持單一模式的路由單播和多播算法,難以適應(yīng)不同的擁塞場(chǎng)景。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種片上網(wǎng)絡(luò)裝置及路由方法,解決了現(xiàn)有技術(shù)中片上網(wǎng)絡(luò)通信帶寬低、擴(kuò)展性差、路由死鎖問(wèn)題以及無(wú)法靈活適應(yīng)不同擁塞場(chǎng)景的問(wèn)題,實(shí)現(xiàn)了高通信帶寬、無(wú)死鎖的路由機(jī)制以及靈活的路由算法切換。
2、本發(fā)明提供一種片上網(wǎng)絡(luò)裝置,包括:
3、多個(gè)六邊形拓?fù)浣Y(jié)構(gòu)的核心節(jié)點(diǎn),每個(gè)所述核心節(jié)點(diǎn)包括六個(gè)通信通道模塊和路由模塊,所述六個(gè)通信通道模塊分別與六個(gè)相鄰的核心節(jié)點(diǎn)相連;每個(gè)所述核心節(jié)點(diǎn)位于獨(dú)立的時(shí)鐘域中,跨時(shí)鐘域間的通信通過(guò)異步握手實(shí)現(xiàn);
4、所述路由模塊包括輸入分配器、輸出仲裁器、同步先入先出隊(duì)列單元和本地輸出緩存,所述輸入分配器用于根據(jù)數(shù)據(jù)包的目標(biāo)地址和路由算法將所述數(shù)據(jù)包分配到特定的輸出通道,所述輸出仲裁器用于在多個(gè)數(shù)據(jù)包競(jìng)爭(zhēng)同一輸出通道時(shí)選擇優(yōu)先級(jí)較高的數(shù)據(jù)包進(jìn)行傳輸;
5、所述六個(gè)通信通道模塊按照順時(shí)針?lè)较蛞来螢閤y+、x+、y-、xy-、x-和y+方向;每個(gè)所述通信通道模塊與所述路由模塊連接,包括異步先入先出隊(duì)列單元、通道輸出緩存和異步握手單元。
6、根據(jù)本發(fā)明提供的一種片上網(wǎng)絡(luò)裝置,xy+和xy-方向的通信通道模塊包括兩個(gè)異步先入先出隊(duì)列單元。
7、本發(fā)明還提供一種基于上述任一項(xiàng)所述的片上網(wǎng)絡(luò)裝置的路由方法,包括:
8、獲取數(shù)據(jù)包的目標(biāo)地址信息;
9、根據(jù)所述目標(biāo)地址信息,采用至少一種路由算法確定數(shù)據(jù)包的傳輸路徑;所述路由算法包括確定性xy-x-y維序路由算法和完全自適應(yīng)的擁塞感知路由算法。
10、根據(jù)本發(fā)明提供的一種基于上述任一項(xiàng)所述的片上網(wǎng)絡(luò)裝置的路由方法,采用確定性xy-x-y維序路由算法確定數(shù)據(jù)包的傳輸路徑,具體包括:根據(jù)所述目標(biāo)地址信息先進(jìn)行xy方向的路由,確定數(shù)據(jù)包的傳輸路徑;當(dāng)表征xy方向的數(shù)據(jù)位清零后,進(jìn)行x方向的路由,確定數(shù)據(jù)包的傳輸路徑;當(dāng)表征x方向的數(shù)據(jù)位清零后,進(jìn)行y方向的路由,確定數(shù)據(jù)包的傳輸路徑;當(dāng)表征xy、x、y方向的數(shù)據(jù)位都清零后,將本地方向作為數(shù)據(jù)包的傳輸方向,確定數(shù)據(jù)包的傳輸路徑。
11、根據(jù)本發(fā)明提供的一種基于上述任一項(xiàng)所述的片上網(wǎng)絡(luò)裝置的路由方法,采用完全自適應(yīng)的擁塞感知路由算法確定數(shù)據(jù)包的傳輸路徑,具體包括:根據(jù)所述目標(biāo)地址信息判斷數(shù)據(jù)包需要傳輸?shù)姆较颍辉谛枰獋鬏數(shù)姆较蛑?,根?jù)來(lái)自不同方向的擁塞信號(hào)的值,選擇擁塞信號(hào)的值最小的方向作為數(shù)據(jù)包的傳輸方向;所述擁塞信號(hào)的值越小,表示對(duì)應(yīng)方向的擁堵程度越低。
12、根據(jù)本發(fā)明提供的一種基于上述任一項(xiàng)所述的片上網(wǎng)絡(luò)裝置的路由方法,在生成表征擁堵程度的擁塞信號(hào)時(shí),包括:將上游核心節(jié)點(diǎn)輸入的擁塞信號(hào)值乘以放縮系數(shù)后,得到第一項(xiàng)擁塞值;將超過(guò)預(yù)設(shè)概率構(gòu)成仲裁沖突的其他輸入方向的先入先出隊(duì)列中數(shù)據(jù)包數(shù)量乘以放縮因子后,得到第二項(xiàng)擁塞值;當(dāng)當(dāng)前輸入方向先入先出隊(duì)列中有數(shù)據(jù)包被讀出時(shí),將當(dāng)前輸入方向輸出的擁塞信號(hào)值減去移動(dòng)補(bǔ)償值,得到第三項(xiàng)擁塞值;將當(dāng)前輸入方向fifo中的數(shù)據(jù)包數(shù)量、第一項(xiàng)擁塞值、第二項(xiàng)擁塞值和第三項(xiàng)擁塞值相加得到表征當(dāng)前方向擁堵程度的擁塞信號(hào)。
13、根據(jù)本發(fā)明提供的一種基于上述任一項(xiàng)所述的片上網(wǎng)絡(luò)裝置的路由方法,在路由過(guò)程中,所述方法還包括:在一個(gè)小組內(nèi)的核心節(jié)點(diǎn)之間,通過(guò)組線(xiàn)程控制機(jī)制實(shí)現(xiàn)局部同步;所述組線(xiàn)程控制機(jī)制通過(guò)配置多個(gè)控制信號(hào)監(jiān)視和指示計(jì)算核心節(jié)點(diǎn)及片上網(wǎng)絡(luò)路由的工作狀態(tài);所述控制信號(hào)包括sync_all信號(hào)、initial_all信號(hào)、done信號(hào)和busy信號(hào);所述sync_all信號(hào)用于確保組內(nèi)核心節(jié)點(diǎn)的數(shù)據(jù)流按照計(jì)算順序執(zhí)行;所述initial_all信號(hào)用于初始化組內(nèi)核心節(jié)點(diǎn)的操作;所述done信號(hào)用于反映核心節(jié)點(diǎn)的工作狀態(tài);所述busy信號(hào)用于反映片上網(wǎng)絡(luò)路由的工作狀態(tài)。
14、根據(jù)本發(fā)明提供的一種基于上述任一項(xiàng)所述的片上網(wǎng)絡(luò)裝置的路由方法,在路由過(guò)程中,所述方法還包括:根據(jù)數(shù)據(jù)包中的復(fù)制地址信息,判斷多播的類(lèi)型;所述多播的類(lèi)型包括一維多播、二維多播、三維多播和在二維平面的三維多播;根據(jù)多播的類(lèi)型沿著相應(yīng)方向進(jìn)行數(shù)據(jù)包的傳輸,當(dāng)數(shù)據(jù)包傳輸?shù)剿心繕?biāo)核心節(jié)點(diǎn)時(shí),完成多播。
15、根據(jù)本發(fā)明提供的一種基于上述任一項(xiàng)所述的片上網(wǎng)絡(luò)裝置的路由方法,在根據(jù)多播的類(lèi)型沿著相應(yīng)方向進(jìn)行數(shù)據(jù)包的傳輸之前,所述方法還包括:通過(guò)當(dāng)前核心節(jié)點(diǎn)進(jìn)行單播路由,將數(shù)據(jù)包傳輸?shù)侥繕?biāo)方向的核心節(jié)點(diǎn),直到相對(duì)地址等于零;所述相對(duì)地址為數(shù)據(jù)包在當(dāng)前核心節(jié)點(diǎn)與目標(biāo)核心節(jié)點(diǎn)之間的地址偏移量;當(dāng)相對(duì)地址清零后,接收到數(shù)據(jù)包的核心節(jié)點(diǎn)進(jìn)行數(shù)據(jù)包復(fù)制;基于復(fù)制后的數(shù)據(jù)包,根據(jù)多播的類(lèi)型繼續(xù)進(jìn)行數(shù)據(jù)包的傳輸。
16、本發(fā)明還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述任一種所述基于片上網(wǎng)絡(luò)裝置的路由方法。
17、本發(fā)明還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述基于片上網(wǎng)絡(luò)裝置的路由方法。
18、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述基于片上網(wǎng)絡(luò)裝置的路由方法。
19、本發(fā)明提供的一種片上網(wǎng)絡(luò)裝置及路由方法,包括以下有益效果:通過(guò)六邊形拓?fù)浣Y(jié)構(gòu),每個(gè)核心節(jié)點(diǎn)可以與六個(gè)相鄰節(jié)點(diǎn)通信,相比傳統(tǒng)的2d?mesh結(jié)構(gòu),顯著提高了通信帶寬和吞吐率。六邊形拓?fù)浣Y(jié)構(gòu)不僅支持二維平面擴(kuò)展,還支持三維立體擴(kuò)展,增強(qiáng)了系統(tǒng)的可擴(kuò)展性和靈活性,適用于大規(guī)模神經(jīng)形態(tài)計(jì)算的需求。通過(guò)引入確定性xy-x-y維序路由算法,避免了路由死鎖問(wèn)題,確保數(shù)據(jù)包能夠高效、可靠地傳輸。支持確定性路由和完全自適應(yīng)的擁塞感知路由算法,能夠根據(jù)網(wǎng)絡(luò)擁塞情況靈活切換路由模式,優(yōu)化數(shù)據(jù)傳輸路徑,降低延遲并提高網(wǎng)絡(luò)效率。每個(gè)核心節(jié)點(diǎn)位于獨(dú)立的時(shí)鐘域中,跨時(shí)鐘域通信通過(guò)異步握手實(shí)現(xiàn),提高了資源利用率,同時(shí)通過(guò)局部同步機(jī)制確保數(shù)據(jù)流的精確計(jì)算順序,適用于神經(jīng)形態(tài)計(jì)算中的多任務(wù)并行處理。完全自適應(yīng)的擁塞感知路由算法能夠動(dòng)態(tài)感知網(wǎng)絡(luò)擁塞情況,選擇最優(yōu)路徑傳輸數(shù)據(jù)包,減少數(shù)據(jù)包的平均路由延遲,提升整體網(wǎng)絡(luò)性能。