最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

多核數(shù)字信號處理器片上系統(tǒng)及數(shù)據(jù)傳輸方法

文檔序號:6438577閱讀:157來源:國知局
專利名稱:多核數(shù)字信號處理器片上系統(tǒng)及數(shù)據(jù)傳輸方法
技術領域
本發(fā)明數(shù)字信號處理器領域,尤其是涉及一種多核數(shù)字處理器片上系統(tǒng)及數(shù)據(jù)傳輸方法。
背景技術
隨著數(shù)字信號處理算法的發(fā)展,數(shù)字信號處理器對運算性能的要求在不斷提高, 傳統(tǒng)的單核處理器已經(jīng)很難滿足復雜信號處理對性能的要求。目前通常采用的提高處理能力的方法是使用多核數(shù)字信號處理器進行并行運算。多核數(shù)字信號處理器使用多個同類或者異類的處理器核或者硬件加速單元相互協(xié)作,通過并行執(zhí)行運算任務來縮短計算時間。主從結(jié)構的多核數(shù)字信號處理器由一個主處理器和多個從處理器構成。這種結(jié)構可以有效的區(qū)分控制任務和信號處理任務并由不同類型的處理器來執(zhí)行,是高效的多核數(shù)字信號處理器結(jié)構。其中,主處理器運行主程序,主要執(zhí)行程序流控制、任務調(diào)度、和資源管理與配置,主處理器分配數(shù)字信號處理任務子程序到從處理器執(zhí)行。從處理器通常是由具有并行數(shù)據(jù)通道的單指令多數(shù)據(jù)(Single Instruction Multiple Data,SIMD)結(jié)構或者超長指令字(Very Long Instruction fford,VLIff)結(jié)構的處理器構成。從處理器主要執(zhí)行數(shù)據(jù)計算。通過多個從處理器并行運行提高處理能力。多核數(shù)字信號處理器上各處理器間的數(shù)據(jù)通信可分為兩類,基于長數(shù)據(jù)流的傳輸和短消息傳遞。長數(shù)據(jù)流的傳輸是指在一定時間段內(nèi),在兩個處理器之間連續(xù)的傳遞較長的數(shù)據(jù)塊,其要求高的傳輸帶寬。短消息傳遞往往用于同步信息,數(shù)據(jù)量少,但是要求低延時。對于長數(shù)據(jù)流的傳輸,多核數(shù)字信號處理器通常使用直接內(nèi)存訪問(Direct Memory Access, DMA)控制器,通過軟件控制傳輸數(shù)據(jù)塊,由于在數(shù)字信號處理中,多數(shù)計算屬于可預測算法,數(shù)據(jù)的搬移方式在程序運行前即可預知。使用DMA控制器和適當?shù)能浖{(diào)度,可以在處理器進行計算的同時,通過DMA控制器進行數(shù)據(jù)搬移,從而達到數(shù)據(jù)存儲和運算的并行執(zhí)行,提高了處理器的執(zhí)行效率,縮短了運行時間。而對于短消息傳遞,通常采用高優(yōu)先級來減小通信延遲。目前,多核數(shù)字信號處理器通過可以片上互聯(lián)網(wǎng)絡來提供處理單元間的通信通道以及對外部共享存儲器的訪問通道。已有的片上多核互聯(lián)系統(tǒng)通常采用共享總線方式連接多個處理器,通過使用共享外部存儲器結(jié)構來簡化多核處理器上數(shù)據(jù)通信的硬件和軟件設計。多個處理器通過總線連接并共享外部存儲器,所有連接至總線的子系統(tǒng),包括片上處理器及外部存儲器,都被分配了獨立的地址空間,單個處理器通過地址來區(qū)分和訪問不同的處理器或存儲器來實現(xiàn)數(shù)據(jù)通信和消息傳遞。由共享總線連接的多核處理器中每一個處理器都可發(fā)送數(shù)據(jù)通信請求到總線。處理器內(nèi)可能包含DMA控制器,來獨立于處理器核進行數(shù)據(jù)交換。處理器或者DMA控制器發(fā)送數(shù)據(jù)通信請求到總線后,總線仲裁器決定一段時間內(nèi)總線歸屬,獲得總線使用權的處理器可在這段時間內(nèi)發(fā)送或讀取數(shù)據(jù)。上述這種傳統(tǒng)共享總線的多核互聯(lián)網(wǎng)絡使用同一硬件支持數(shù)據(jù)塊和短消息兩種數(shù)據(jù)傳遞。但是共享總線的方法使得特定時間內(nèi)只能進行一個數(shù)據(jù)傳輸任務,多核處理器的性能受到了總線帶寬的限制。另外,現(xiàn)有的改進的總線設計包括采用多層共享總線,在每個層上可獨立進行數(shù)據(jù)傳輸。在多層總線上同時進行的數(shù)據(jù)傳輸提高了總線的總體傳輸帶寬。但是由于單層或者多層的共享總線采用硬件仲裁器及全局地址空間分配,隨著片上多核處理器中處理器的增加,地址空間變大,硬件仲裁器設計更加復雜,硬件設計開銷增加。 另外,當使用同一總線同時支持數(shù)據(jù)流和短消息時,兩種傳輸具有不同帶寬和延時要求,因此為了保證高性能,總線設計會加入更復雜的協(xié)議支持如優(yōu)先級和突發(fā)數(shù)據(jù)傳輸?shù)仁录?。另外,基于上述傳統(tǒng)共享總線的多核互聯(lián)網(wǎng)絡的諸多缺陷,現(xiàn)有技術中還出現(xiàn)了由網(wǎng)絡節(jié)點構成的片上網(wǎng)絡系統(tǒng),其改進了片上系統(tǒng)的擴展性,分解了多核系統(tǒng)結(jié)構設計的復雜性,并提供了更高的通信帶寬。處理器發(fā)送數(shù)據(jù)包到本地網(wǎng)絡節(jié)點(這里的網(wǎng)絡節(jié)點是指片上節(jié)點,有別于傳統(tǒng)的網(wǎng)絡節(jié)點),之后數(shù)據(jù)包在網(wǎng)絡節(jié)點間傳遞直到到達目標處理器。片上網(wǎng)絡中的網(wǎng)絡節(jié)點負責數(shù)據(jù)包的轉(zhuǎn)發(fā),可采用分組交換和電路交換兩種方式。 分組交換中路由信息包含在數(shù)據(jù)包內(nèi),網(wǎng)絡節(jié)點通過讀取數(shù)據(jù)包得到路由信息來轉(zhuǎn)發(fā)數(shù)據(jù)包。電路交換方式中路由信息被配置在網(wǎng)絡節(jié)點內(nèi),網(wǎng)絡節(jié)點決定數(shù)據(jù)包的轉(zhuǎn)發(fā)方向。對于主從結(jié)構的多核數(shù)字信號處理器,為了降低并行計算中的通信瓶頸,針對嵌入式計算和流信號處理,目前急需有一種高效的片上網(wǎng)絡設計,可提供高帶寬的流數(shù)據(jù)傳輸和低延遲的短消息傳遞。另外,對于使用DMA控制器做數(shù)據(jù)交換的片上網(wǎng)絡設計,該片上網(wǎng)絡設計最好可以減小DMA調(diào)度的硬件和軟件開銷,如總線的硬件仲裁和DMA中斷等,同時降低多處理器間數(shù)據(jù)傳輸任務和計算任務之間同步的開銷,從而減小多核處理器軟件程序設計的復雜性。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種多核數(shù)字處理器片上系統(tǒng)及數(shù)據(jù)傳輸方法,用于提供高帶寬的流數(shù)據(jù)傳輸和低延遲的短消息傳遞,同時可以減小多核處理器軟件程序設計的復雜度。一方面,本發(fā)明實施例提供一種多核數(shù)字處理器片上系統(tǒng),包括一個主處理器、 多個從處理器和外部存儲器,每個所述主處理和從處理器都包括處理器核、片上存儲器和直接內(nèi)存訪問DMA控制器,所述主處理器通過I/O控制器對所述外部存儲器進行控制和訪問,各處理器之間通過一片上互聯(lián)網(wǎng)絡進行數(shù)據(jù)交換,所述片上互聯(lián)網(wǎng)絡由星形網(wǎng)絡、環(huán)形網(wǎng)絡以及串行網(wǎng)絡構成。優(yōu)選地,本發(fā)明實施例中星形網(wǎng)絡采用星形拓撲結(jié)構連接所述主處理器和所述多個從處理器,所述主處理器作為所述星形網(wǎng)絡的主節(jié)點,所述主處理器分別連接至所述星形網(wǎng)絡中的各個葉節(jié)點,所述多個從處理器分別連接至對應的一個葉節(jié)點,所述星形網(wǎng)絡提供從所述外部存儲器到所述從處理器的片上存儲器之間的點對點以及點對多點的數(shù)據(jù)傳輸通道。優(yōu)選地,本發(fā)明實施例中葉節(jié)點包括一星形網(wǎng)絡緩沖單元,用于緩存從所述主處理器或者所述從處理器發(fā)出的網(wǎng)絡數(shù)據(jù)包。優(yōu)選地,本發(fā)明實施例中環(huán)形網(wǎng)絡采用環(huán)形拓撲結(jié)構連接所述多個從處理器,所述多個從處理器所對應的葉節(jié)點依次連接以構成一環(huán)形結(jié)構,所述環(huán)形網(wǎng)絡提供一個從處理器至其它從處理器的點對點的數(shù)據(jù)傳輸通道以及點對多點的數(shù)據(jù)廣播通道。
優(yōu)選地,本發(fā)明實施例中環(huán)形網(wǎng)絡內(nèi)的葉節(jié)點包括一電路交換單元,用于使用電路交換來與其它葉節(jié)點進行網(wǎng)絡數(shù)據(jù)包傳輸;一環(huán)形網(wǎng)絡接口單元,用于根據(jù)路由表決定是否立即傳送網(wǎng)絡數(shù)據(jù)包,以及當所述葉節(jié)點內(nèi)不存在相應路由時,向所述處理器發(fā)送中斷請求以請求所述主處理器進行路由配置;一控制寄存器單元,用于接受所述主處理器對所述葉節(jié)點進行的路由配置。優(yōu)選地,本發(fā)明實施例中串行網(wǎng)絡提供所述多個從處理器之間的短消息傳遞通道,每個所述從處理器都包括一串行發(fā)送單元及串行接收單元,其中串行發(fā)送單元分別連接至其它從處理器的串行接收單元以構成一串行結(jié)構。另一方面,本發(fā)明實施例還提供了一種多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,所述多核數(shù)字處理器片上系統(tǒng)包括一個主處理器、多個從處理器和外部存儲器,每個所述主處理和從處理器都包括處理器核、片上存儲器和直接內(nèi)存訪問DMA控制器,所述主處理器通過I/O控制器對所述外部存儲器進行控制和訪問,所述方法包括通過星形網(wǎng)絡在所述主處理器的控制下完成所述多個從處理器和外部存儲器之間的數(shù)據(jù)交換,以及完成所述主處理器與所屬多個從處理器的數(shù)據(jù)廣播;通過環(huán)形網(wǎng)絡完成所述從處理器之間的數(shù)據(jù)交換;通過串行網(wǎng)絡完成所述從處理器之間的短消息傳遞。優(yōu)選地,本發(fā)明實施例中通過星形網(wǎng)絡在所述主處理器的控制下完成所述多個從處理器和外部存儲器之間的數(shù)據(jù)交換包括主處理器配置主DMA控制器并啟動傳輸任務來從外部存儲器讀取數(shù)據(jù)并發(fā)送至星形網(wǎng)絡的葉節(jié)點,或者從所述星形網(wǎng)絡的葉節(jié)點讀取數(shù)據(jù)并存儲至所述外部存儲器;從處理器配置其本地DMA控制器并啟動傳輸任務來從本地片上存儲單元讀取數(shù)據(jù)并發(fā)送至星形網(wǎng)絡的葉節(jié)點,或者從所述星形網(wǎng)絡的葉節(jié)點接收數(shù)據(jù)并存儲至所述本地片上存儲單元;當主處理器和從處理器的傳輸任務相同時,相應的從處理器和外部存儲器之間開始進行數(shù)據(jù)交換。優(yōu)選地,本發(fā)明實施例中當從處理器和主處理器的傳輸任務不同或者從處理器先啟動傳輸任務,而主處理器未啟動傳輸任務時,該從處理器進入等待狀態(tài),等待葉節(jié)點的數(shù)據(jù)緩沖,當主處理器啟動相同傳輸任務時,再開始和外部存儲器進行數(shù)據(jù)交換;當主處理器先啟動傳輸任務而從處理器未啟動傳輸任務時,該主處理器進入等待狀態(tài),當從處理器啟動相同傳輸任務時,再開始和外部存儲器進行數(shù)據(jù)交換。優(yōu)選地,本發(fā)明實施例中配置外部存儲器的地址生成器以生成所述外部存儲器的地址,以及配置傳輸參數(shù),所述傳輸參數(shù)包括數(shù)據(jù)源和數(shù)據(jù)目的地的選擇信息以及傳輸數(shù)據(jù)長度。優(yōu)選地,本發(fā)明實施例中配置本地片上存儲單元的地址生成器以生成所述本地片上存儲單元的地址,以及配置傳輸參數(shù),所述傳輸參數(shù)包括數(shù)據(jù)源和數(shù)據(jù)目的地的選擇信息以及傳輸數(shù)據(jù)長度。優(yōu)選地,本發(fā)明實施例中通過星形網(wǎng)絡完成所述主處理器與所屬多個從處理器的數(shù)據(jù)廣播包括主處理器配置主DMA控制器并啟動數(shù)據(jù)廣播任務;多個從處理器配置其本地DMA控制器并啟動數(shù)據(jù)廣播任務;當所有處理器都啟動數(shù)據(jù)廣播任務后,主處理器開始向所有從處理器進行數(shù)據(jù)廣播。優(yōu)選地,本發(fā)明實施例中通過環(huán)形網(wǎng)絡完成所述從處理器之間的數(shù)據(jù)交換包括 數(shù)據(jù)發(fā)送端的從處理器配置其本地DMA控制器并啟動數(shù)據(jù)發(fā)送任務,數(shù)據(jù)接收端的從處理器配置其本地DMA控制器并啟動數(shù)據(jù)接收任務;數(shù)據(jù)發(fā)送端的從處理器發(fā)送數(shù)據(jù)傳輸請求到與之相連的葉節(jié)點的環(huán)形網(wǎng)絡接口單元,數(shù)據(jù)接收端的從處理器等待接收數(shù)據(jù);所述葉節(jié)點根據(jù)數(shù)據(jù)傳輸請求判斷路由列表中是否具有數(shù)據(jù)接收端的從處理器,若有,則立即響應并通過電路交換單元進行數(shù)據(jù)傳輸,若沒有,則向主處理器發(fā)送中斷請求,以請求主處理器重新配置路由列表。優(yōu)選地,本發(fā)明實施例中數(shù)據(jù)發(fā)送端的從處理器配置其本地DMA控制器包括配置其本地片上存儲單元的地址生成器以生成所述本地片上存儲單元的地址,配置傳輸參數(shù),所述傳輸參數(shù)包括目標處理器的選擇信息以及傳輸數(shù)據(jù)長度;數(shù)據(jù)接收端的從處理器配置其本地DMA控制器包括配置其本地片上存儲單元的地址生成器以生成所述本地片上存儲單元的地址,配置傳輸參數(shù),所述傳輸參數(shù)包括數(shù)據(jù)源處理器的選擇信息以及傳輸數(shù)據(jù)長度。優(yōu)選地,本發(fā)明實施例中通過串行網(wǎng)絡完成所述從處理器之間的短消息傳遞包括發(fā)送端的從處理器發(fā)送短消息數(shù)據(jù)包到與之相連的串行發(fā)送單元;所述串行發(fā)送單元以串行廣播的方式將所述短消息數(shù)據(jù)包發(fā)送到所有連接的串行接收單元;所述串行接收單元接收所述短消息數(shù)據(jù)包,并根據(jù)所述短消息數(shù)據(jù)包內(nèi)的目標從處理器標識決定是否存儲所述包,若所述短消息數(shù)據(jù)包內(nèi)的從處理器標識所標識的是與所述串行接收單元相連的從處理器,則存儲所述短消息數(shù)據(jù)包至從處理器的本地片上存儲單元內(nèi),否則即丟棄所述短消息數(shù)據(jù)包。優(yōu)選地,本發(fā)明實施例中串行接收單元存儲所述短消息數(shù)據(jù)包之后,還包括將所述短消息數(shù)據(jù)包的相應標識位設置為已經(jīng)收到所述短消息數(shù)據(jù)包;接收端處理器通過輪詢方式檢查所述短消息數(shù)據(jù)包的所述相應標識位以讀取接收到的短消息。本發(fā)明實施例中的片上互聯(lián)網(wǎng)絡結(jié)合了星形網(wǎng)絡、環(huán)形網(wǎng)絡和串行網(wǎng)絡,從而不但可以提供高帶寬的流數(shù)據(jù)傳輸,而且還可以提供低延遲的短消息傳遞,另外,本發(fā)明實施例通過主處理器的軟件控制簡化了外部存儲器的訪問仲裁,并通過網(wǎng)絡數(shù)據(jù)緩沖減少了多核處理器間的同步操作,降低了多核處理器軟件程序設計的復雜度。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的一種多核數(shù)字處理器片上系統(tǒng)的結(jié)構示意圖;圖2為本發(fā)明實施例提供的一種星形網(wǎng)絡的結(jié)構示意圖;圖3為本發(fā)明實施例提供的一種環(huán)形網(wǎng)絡的結(jié)構示意圖;圖4為本發(fā)明實施例提供的一種葉節(jié)點的結(jié)構示意圖;圖5為本發(fā)明實施例提供的一種串行網(wǎng)絡的結(jié)構示意圖;圖6為本發(fā)明實施例提供的一種多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法的流程示意圖;圖7為本發(fā)明實施例提供的利用星形網(wǎng)絡在從處理器及外部存儲器之間傳輸數(shù)據(jù)的流程示意圖;圖8為本發(fā)明實施例提供的利用環(huán)形網(wǎng)絡在從處理器之間傳輸數(shù)據(jù)的流程示意圖;圖9為本發(fā)明實施例提供的利用串行網(wǎng)絡在從處理器之間傳輸短消息的流程示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。如圖1所示為本發(fā)明實施例提供的一種多核數(shù)字處理器片上系統(tǒng)的結(jié)構示意圖, 該多核數(shù)字處理器片上系統(tǒng)包括一主處理器Iio和多個從處理器120,主處理器110和從處理器120之間通過片上互聯(lián)網(wǎng)絡130相連,在本實施例中從處理器的個數(shù)為4個,但并不以此為限。另外本發(fā)明實施例的多核數(shù)字處理器片上系統(tǒng)還可以包括I/O控制器140、外部存儲器150以及其它外部設備160,主處理器110通過I/O控制器140與外部存儲器150 以及其它外部設備160進行控制和訪問,包括處理器的直接訪問和DMA訪問方式。主處理器110包括主處理器核111、主片上存儲器112和主DMA控制器113,在本實施例中,主處理器Iio主要用于執(zhí)行主程序,負責分配任務到從處理器120,并配置片上互聯(lián)網(wǎng)絡130和主DMA控制器113進行數(shù)據(jù)傳輸。從處理器120包括從處理器核121、從片上存儲器122和從DMA控制器123,在本實施例中,從處理器120主要執(zhí)行計算任務,其可通過數(shù)據(jù)或指令級的并行處理達到高的運算能力,從處理器120通過控制本地從DMA控制器123進行數(shù)據(jù)傳輸。片上互聯(lián)網(wǎng)絡130包括星形網(wǎng)絡131、環(huán)形網(wǎng)絡132及串行網(wǎng)絡133。在本實施例中,通過星形網(wǎng)絡130可以提供外部存儲器150至從處理器120的從片上存儲器122之間的數(shù)據(jù)交換通道,以及提供主處理器110與從處理器120之間的數(shù)據(jù)廣播通道。環(huán)形網(wǎng)絡132可以提供從處理器120之間的數(shù)據(jù)交換通道。串行網(wǎng)絡133可以提供從處理器120之間的短消息交換通道。本發(fā)明實施例中的片上互聯(lián)網(wǎng)絡結(jié)合了星形網(wǎng)絡、環(huán)形網(wǎng)絡和串行網(wǎng)絡,從而不但可以提供高帶寬的流數(shù)據(jù)傳輸,而且還可以提供低延遲的短消息傳遞。如圖2所示為本發(fā)明實施例提供的一種星形網(wǎng)絡的結(jié)構示意圖,該星形網(wǎng)絡采用星形拓撲結(jié)構連接主處理器110和多個從處理器120,其中主處理器110作為星形網(wǎng)絡的主節(jié)點,主處理器110的主DMA控制器113有專用的數(shù)據(jù)通道(220A-D)連接到每個從處理器 120的葉節(jié)點(210A-D),另外每個從處理器120分別通過數(shù)據(jù)通道(230A-D)連接至對應的葉節(jié)點(210A-D)。在本實施例中,只有主處理器110及主DMA控制器113使用全局地址空間訪問外部存儲器150,從處理器120并不直接訪問共享的外部存儲器150,從處理器120是控制器本地從DMA控制器123來訪問與其相連的葉節(jié)點(210A-D)來傳輸數(shù)據(jù)。下面對從處理器120和外部存儲器150之間的數(shù)據(jù)交換進行如下說明
首先,每個處理器都會在本地產(chǎn)生存儲器地址,具體來說,主處理器是利用主DMA 控制器113來產(chǎn)生外部存儲器150的地址,而從處理器120是利用從DMA控制器123來產(chǎn)生本地片上存儲單元122的存儲器地址。當從外部存儲器150讀取數(shù)據(jù)并寫入從處理器120 的片上存儲器122時,主DMA控制器113首先會將數(shù)據(jù)從外部存儲器150內(nèi)讀出,然后寫入對應的葉節(jié)點,比如葉節(jié)點210A,然后與該葉節(jié)點210A相對應的從處理器120的從DMA控制器123會從該葉節(jié)點210A中讀取該數(shù)據(jù)并寫入其本地片上存儲單元122。另外當從從處理器的片上存儲器122讀取數(shù)據(jù)并寫入外部存儲器150時,其過程和上述過程相反,在此不再贅述。在本實施例中,葉節(jié)點210A具有一星形網(wǎng)絡緩沖單元,其可以用于緩存從主處理器110或者從從處理器120發(fā)出的網(wǎng)絡數(shù)據(jù)包。具體來說,上述從處理器120的從DMA控制器123的數(shù)據(jù)讀入操作會在相連葉節(jié)點的星形網(wǎng)絡緩沖單元空時暫停,而從處理器120 的從DMA控制器123的數(shù)據(jù)寫出操作會在相連葉節(jié)點的星形網(wǎng)絡緩沖單元滿時暫停。在本實施例中,多個從處理器120可同時啟動本地從DMA控制器123進行數(shù)據(jù)發(fā)送或接收,當多個從處理器120同時啟動數(shù)據(jù)傳輸任務時,其傳輸仲裁控制由主處理器120 的主DMA控制器123來實現(xiàn),即主DMA控制器123當前執(zhí)行哪個數(shù)據(jù)傳輸任務,則該數(shù)據(jù)傳輸任務對應的從處理器120得以啟動數(shù)據(jù)傳輸。另外,主DMA控制器123可采用硬件隊列任務的方式進一步減少主處理器110的控制復雜度和主DMA控制器113的啟動延時,主處理器110可以配置多個星形網(wǎng)絡的傳輸任務到主DMA控制器113,主DMA控制器113通過在當前數(shù)據(jù)傳輸?shù)耐瑫r,加載下一個傳輸任務的參數(shù)來減小通信延遲,在當前任務完成的時候, 下一個傳輸任務可以立即啟動,無需中斷主處理器110后,由主處理器110重新配置新的傳輸任務。另外,在本實施例中,主處理器110的主DMA控制器113還可以使用廣播的形式發(fā)送相同的數(shù)據(jù)到多個從處理器120的葉節(jié)點中。本發(fā)明實施例的星形網(wǎng)絡通過主處理器的軟件控制簡化了外部存儲器的訪問仲裁,并通過網(wǎng)絡數(shù)據(jù)緩沖減少了多核處理器間的同步操作。如圖3所示為本發(fā)明實施例提供的一種環(huán)形網(wǎng)絡的結(jié)構示意圖,該環(huán)形網(wǎng)絡采用環(huán)形拓撲結(jié)構連接所述多個從處理器120,具體來說,是多個從處理器120所對應的葉節(jié)點依次連接以構成一環(huán)形結(jié)構,比如圖3中的葉節(jié)點210A-D依次連接所構成的環(huán)形結(jié)構,相鄰葉節(jié)點之間通過數(shù)據(jù)交換通道320A-D進行連接,另外主處理器110的主處理器核111還分別通過控制鏈路310A-D連接至各個葉節(jié)點,而各個葉節(jié)點則通過數(shù)據(jù)交換通道330A-D 連接至其對應的從DMA控制器123。該環(huán)形網(wǎng)絡可以提供一個從處理器120至其它從處理器120的點對點的數(shù)據(jù)傳輸通道以及點對多點的數(shù)據(jù)廣播通道。如圖4所示為本發(fā)明實施例提供的一種葉節(jié)點的結(jié)構示意圖,該葉節(jié)點210除了包括如上所述的星形網(wǎng)絡緩沖單元211,另外還可以包括電路緩沖單元212、環(huán)形網(wǎng)絡接口單元213和控制寄存器單元214。電路交換單元212用于使用電路交換來與其它葉節(jié)點進行網(wǎng)絡數(shù)據(jù)包傳輸,它和其相鄰的葉節(jié)點的電路交換單元通過數(shù)據(jù)通道320A或者數(shù)據(jù)通道320B相連。環(huán)形網(wǎng)絡接口單元213負責仲裁,其具有一路由表,該路由表包含如下信息 從本環(huán)形網(wǎng)絡接口單元2到另外一個或多個環(huán)形網(wǎng)絡接口單元是否有數(shù)據(jù)傳輸通道。環(huán)形網(wǎng)絡接口單元213收到網(wǎng)絡數(shù)據(jù)包后,根據(jù)查看此路由表決定是否立即傳遞該網(wǎng)絡數(shù)據(jù)包,以及當葉節(jié)點210內(nèi)不存在相應路由時,環(huán)形網(wǎng)絡接口單元213向主處理器110發(fā)送中斷請求以請求主處理器110進行路由配置??刂萍拇嫫鲉卧?14用于接受主處理器對葉節(jié)點210進行的路由配置。在本實施例中,環(huán)形網(wǎng)絡132上的數(shù)據(jù)傳輸由發(fā)送端和接收端從處理器單元120 的從DMA控制器123實現(xiàn),該從DMA控制器123由其本地處理器通過軟件配置。從處理器 120之間通過環(huán)形網(wǎng)絡的數(shù)據(jù)通信不使用全局共享地址空間。數(shù)據(jù)發(fā)送端的從DMA控制器 123生成本地存儲器地址,根據(jù)該地址從本地存儲器讀取數(shù)據(jù),并將數(shù)據(jù)打包成網(wǎng)絡數(shù)據(jù)包發(fā)送至與其相連接的葉節(jié)點,該網(wǎng)絡數(shù)據(jù)包內(nèi)可以包含目標從處理器的選擇信息、數(shù)據(jù)信息、和傳輸?shù)臄?shù)據(jù)。該網(wǎng)絡數(shù)據(jù)包首先被發(fā)送至環(huán)形網(wǎng)絡接口單元213。環(huán)形網(wǎng)絡接口單元213內(nèi)包含可以到達的目標從處理器的列表,環(huán)形網(wǎng)絡接口單元213首先比較該列表和網(wǎng)絡數(shù)據(jù)包的目標從處理器的選擇信息,如果目標處理器均在列表中,則發(fā)送端準備就緒, 如果目標處理器不在列表中,說明環(huán)形網(wǎng)絡沒有被配置成包含需要的的數(shù)據(jù)傳輸通道。此時環(huán)形網(wǎng)絡接口單元213將發(fā)送中斷請求到主處理器,并等待主處理器重新配置葉節(jié)點中的路由表。當接收端的從DMA控制器123被配置成從相連葉節(jié)點接收數(shù)據(jù)流并啟動該DMA 任務后,數(shù)據(jù)傳輸開始。之后網(wǎng)絡數(shù)據(jù)包經(jīng)過多個節(jié)點從數(shù)據(jù)發(fā)送端到達接收端。接收端的從DMA控制器123生成目標存儲器地址并將接收到的數(shù)據(jù)寫入到目標存儲器。網(wǎng)數(shù)據(jù)包在環(huán)形網(wǎng)絡葉節(jié)點間傳輸?shù)倪^程中不包含每個數(shù)據(jù)在目標存儲器中的存放地址信息,而只有目標處理器的選擇信息,可以降低硬件設計的復雜性。最后發(fā)送端和接收端的從處理器 120通過各自本地的從DMA控制器123的狀態(tài)確定數(shù)據(jù)傳輸?shù)慕Y(jié)束。本發(fā)明實施例提供的環(huán)形網(wǎng)絡具有如下有益效果1、對于可預測的信號處理算法可以提前配置網(wǎng)絡路由,在收到傳輸請求后立即傳輸數(shù)據(jù),從而具有低延時的效果;2、由于該環(huán)形網(wǎng)絡設計不需要地址總線,從而減低了硬件開銷;3、由于不需要對傳輸?shù)臄?shù)據(jù)塊中的每個數(shù)據(jù)進行網(wǎng)絡仲裁,提高了帶寬和傳輸效率。如圖5所示為本發(fā)明實施例提供的一種串行網(wǎng)絡的結(jié)構示意圖,該串行網(wǎng)絡可以提供多個從處理器之間的短消息傳遞通道。每個從處理器120都包括一串行發(fā)送單元(圖 5中的510A-D)和一串行接收單元(圖5中的520A-D)。該串行發(fā)送單元510A-D以及串行接收單元520A-D都分別和對應的從處理器核121相連,且每一串行發(fā)送單元還分別連接至其它從處理器的串行接收單元。基于上述串行網(wǎng)絡結(jié)構,每個從處理器120在發(fā)送短消息時可以使用串行廣播的方式從串行發(fā)送單元發(fā)送短消息數(shù)據(jù)包到所有其他從處理器的串行接收單元,串行發(fā)送的短消息數(shù)據(jù)包可以包含目標從處理器的標識和發(fā)送數(shù)據(jù)。所有接收從處理器都會接收到該短消息數(shù)據(jù)包,并根據(jù)接收到的從處理器標識決定是否存儲該短消息數(shù)據(jù)包。從處理器之間的短消息傳遞的特點是數(shù)據(jù)量小,但要求低延時,而通過上述串行網(wǎng)絡來發(fā)送短消息則可以降低短消息的傳遞延遲。如圖6所示為本發(fā)明實施例提供的一種多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法的流程示意圖,該多核數(shù)字處理器片上系統(tǒng)包括一個主處理器和多個從處理器,每個所述主處理和從處理器都包括處理器核、片上存儲器和直接內(nèi)存訪問DMA控制器,該方法包括SlOl 通過星形網(wǎng)絡在所述主處理器的控制下完成所述多個從處理器和外部存儲器之間的數(shù)據(jù)交換,以及完成所述主處理器與所屬多個從處理器的數(shù)據(jù)廣播。S102 通過環(huán)形網(wǎng)絡完成所述從處理器之間的數(shù)據(jù)交換。S103 通過串行網(wǎng)絡完成所述從處理器之間的短消息傳遞。需要指出的是,本發(fā)明實施例并不限定上述步驟的順序,其可以同時進行,也可以分時進行,都在本發(fā)明實施例的范圍之內(nèi)。本發(fā)明實施例中的片上互聯(lián)網(wǎng)絡結(jié)合了星形網(wǎng)絡、環(huán)形網(wǎng)絡和串行網(wǎng)絡,從而不但可以提供高帶寬的流數(shù)據(jù)傳輸,而且還可以提供低延遲的短消息傳遞。如圖7所示為本發(fā)明實施例提供的利用星形網(wǎng)絡在從處理器及外部存儲器之間傳輸數(shù)據(jù)的流程示意圖,該星形網(wǎng)絡的結(jié)構可以參見圖2及其對應的描述,該數(shù)據(jù)傳輸步驟包括主處理器配置主DMA控制器并啟動傳輸任務,該傳輸任務包括從外部存儲器讀取數(shù)據(jù)并發(fā)送至星形網(wǎng)絡的葉節(jié)點,或者從所述星形網(wǎng)絡的葉節(jié)點讀取數(shù)據(jù)并存儲至所述外部存儲器。在主處理器配置主DMA控制器的同時,從處理器也可以開始配置其本地從DMA 控制器并啟動相應的傳輸任務。當然本發(fā)明實施例并不限定主處理器及從處理器配置DMA 控制器及啟動傳輸任務的先后次序。然后當主處理器和從處理器啟動的傳輸任務相同時, 相應的從處理器和外部存儲器之間開始進行數(shù)據(jù)交換。為了更好地對本發(fā)明實施進行說明,假設傳輸任務1是從外部存儲器讀取數(shù)據(jù)至第一從處理器,而傳輸任務2是從第二從處理器的片上存儲器讀取數(shù)據(jù)至外部存儲器。首先,主處理器配置主DMA控制器,具體可以包括配置外部存儲器的地址生成器以生成所述外部存儲器的地址,以及配置傳輸參數(shù),該傳輸參數(shù)包括數(shù)據(jù)源和數(shù)據(jù)目的地的選擇信息以及傳輸數(shù)據(jù)長度,在本實施例中,對應上述傳輸任務1,這里的數(shù)據(jù)源是外部存儲器內(nèi)的數(shù)據(jù),該目的地的選擇信息可以為與第一從處理器相連的葉節(jié)點的ID信息。其次,第一從處理器配置其本地從DMA控制器,以及第二從處理器也配置其本地從DMA控制器,具體可以包括配置本地片上存儲單元的地址生成器以生成所述本地片上存儲單元的地址,以及配置傳輸參數(shù),所述傳輸參數(shù)包括數(shù)據(jù)源和數(shù)據(jù)目的地的選擇信息以及傳輸數(shù)據(jù)長度。在本實施例中,對應上述傳輸任務1,數(shù)據(jù)源的選擇信息可以為外部存儲器,數(shù)據(jù)目的地的選擇信息為第一從處理器的片上存儲器,對應上述傳輸任務2,數(shù)據(jù)源的選擇信息為第二從處理器的片上存儲器,而數(shù)據(jù)目的的選擇信息為外部存儲器。在本實施例中,由于主處理器和第一從處理器同時都啟動了傳輸任務1,因此傳輸任務1得以執(zhí)行,即主處理器先將數(shù)據(jù)從外部存儲器讀出并寫入與第一從處理器相連的葉節(jié)點,然后第一從處理器從該葉節(jié)點讀出數(shù)據(jù)并寫入其本地片上存儲單元。由于第二從處理器所啟動的是傳輸任務2,和主處理器的傳輸任務不同,因此第二從處理器需要進入等待狀態(tài),等待其對應葉節(jié)點的數(shù)據(jù)緩沖,這里的數(shù)據(jù)緩沖是由于雖然主處理器沒有啟動任務 2,但是第二從處理器已經(jīng)開始發(fā)送數(shù)據(jù)給與其相連的葉節(jié)點,該葉節(jié)點的數(shù)據(jù)緩沖內(nèi)區(qū)有該數(shù)據(jù),但是由于主處理器沒有啟動任務,該數(shù)據(jù)緩沖區(qū)很快為滿,此時第二從處理器不再發(fā)送數(shù)據(jù),直到傳輸任務2開始后緩沖區(qū)內(nèi)數(shù)據(jù)開始被讀出為止。當主處理器也啟動傳輸任務2時,第二從處理器再將數(shù)據(jù)從其本地片上存儲單元讀出并寫入與其相連的葉節(jié)點, 然后主處理器從該葉節(jié)點讀出該數(shù)據(jù)并寫入外部存儲器。另外,對于主處理器到多個從處理器的數(shù)據(jù)廣播,傳輸需等待主DMA控制器和所有目標從處理器的從DMA控制器均配置完并啟動傳輸任務之后開始進行數(shù)據(jù)廣播。由上述描述可以看出,星形網(wǎng)絡連接的多個處理器各自獨立啟動DMA傳輸任務, 對外部存儲器的訪問仲裁由主處理器通過調(diào)度主DMA控制器的傳輸任務實現(xiàn)。數(shù)據(jù)傳輸同步由位于網(wǎng)絡節(jié)點內(nèi)的數(shù)據(jù)緩沖實現(xiàn),各個處理器之間不需要通過短消息或者中斷請求來同步數(shù)據(jù)傳輸,因此星形網(wǎng)絡通過主處理器的軟件控制簡化了外部存儲器的訪問仲裁,并通過網(wǎng)絡數(shù)據(jù)緩沖減少了多核間的同步操作。如圖8所示為本發(fā)明實施例提供的利用環(huán)形網(wǎng)絡在從處理器之間傳輸數(shù)據(jù)的流程示意圖,該環(huán)形網(wǎng)絡的結(jié)構可以參見圖3及其對應的描述,在本實施例中,假設數(shù)據(jù)是從第一從處理器發(fā)送至第二從處理器,則該方法包括第一從處理器配置其本地DMA控制器并啟動數(shù)據(jù)發(fā)送任務,這里配置本地DMA控制器包括配置其本地片上存儲單元的地址生成器以生成所述本地片上存儲單元的地址, 配置傳輸參數(shù),所述傳輸參數(shù)包括目標處理器的選擇信息以及傳輸數(shù)據(jù)長度;同時,第二處理器也配置其本地DMA控制器并啟動數(shù)據(jù)接收任務,這里配置本地DMA控制器包括配置其本地片上存儲單元的地址生成器以生成所述本地片上存儲單元的地址,配置傳輸參數(shù),所述傳輸參數(shù)包括數(shù)據(jù)源處理器的選擇信息以及傳輸數(shù)據(jù)長度。第一從處理器發(fā)送數(shù)據(jù)傳輸請求到與之相連的葉節(jié)點的環(huán)形網(wǎng)絡接口單元并等待響應,同時第二等待接收數(shù)據(jù)。和第一從處理器相連的葉節(jié)點根據(jù)數(shù)據(jù)傳輸請求進行本地仲裁,即判斷路由列表中是否具有第二從處理器,若有,則立即響應并通過電路交換單元進行數(shù)據(jù)傳輸,若沒有, 則向主處理器發(fā)送中斷請求,以請求主處理器重新配置路由列表,當主處理器配置好路由表后,再響應數(shù)據(jù)傳輸請求并通過電路交換單元進行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸結(jié)束后第一從處理器和第二從處理器各自結(jié)束其本地DMA控制器的數(shù)據(jù)發(fā)送和接收任務。如圖9所示為本發(fā)明實施例提供的利用串行網(wǎng)絡在從處理器之間傳輸短消息的流程示意圖,該串行網(wǎng)絡的結(jié)構可以參見圖5及其對應的描述,該方法包括S901 發(fā)送端的從處理器發(fā)送短消息數(shù)據(jù)包到與之相連的串行發(fā)送單元。S902:該串行發(fā)送單元以串行廣播的方式將該短消息數(shù)據(jù)包發(fā)送到所有連接的串行接收單元。S903 串行接收單元接收上述短消息數(shù)據(jù)包。S904 根據(jù)該短消息數(shù)據(jù)包內(nèi)的目標從處理器標識決定是否存儲該短消息數(shù)據(jù)包,若短消息數(shù)據(jù)包內(nèi)的從處理器標識所標識的是與串行接收單元相連的從處理器,則進入步驟S906 ;否則進入步驟S905。S905 丟棄該短消息數(shù)據(jù)包S905 存儲該短消息數(shù)據(jù)包至接收端從處理器的本地片上存儲單元內(nèi)。S906 將該短消息數(shù)據(jù)包的相應標識位設置為已經(jīng)收到所述短消息數(shù)據(jù)包;S907 接收端處理器通過輪詢方式檢查該短消息數(shù)據(jù)包的上述相應標識位以讀取接收到的短消息。從處理器之間的短消息傳遞的特點是數(shù)據(jù)量小,但要求低延時,而通過上述串行網(wǎng)絡來發(fā)送短消息則可以降低短消息的傳遞延遲。
以上所述的具體實施例,對本發(fā)明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種多核數(shù)字處理器片上系統(tǒng),其特征在于,包括一個主處理器、多個從處理器和外部存儲器,每個所述主處理和從處理器都包括處理器核、片上存儲器和直接內(nèi)存訪問DMA 控制器,所述主處理器通過I/O控制器對所述外部存儲器進行控制和訪問,各處理器之間通過一片上互聯(lián)網(wǎng)絡進行數(shù)據(jù)交換,所述片上互聯(lián)網(wǎng)絡由星形網(wǎng)絡、環(huán)形網(wǎng)絡以及串行網(wǎng)絡構成。
2.如權利要求1所述的多核數(shù)字處理器片上系統(tǒng),其特征在于,所述星形網(wǎng)絡采用星形拓撲結(jié)構連接所述主處理器和所述多個從處理器,所述主處理器作為所述星形網(wǎng)絡的主節(jié)點,所述主處理器分別連接至所述星形網(wǎng)絡中的各個葉節(jié)點,所述多個從處理器分別連接至對應的一個葉節(jié)點,所述星形網(wǎng)絡提供從所述外部存儲器到所述從處理器的片上存儲器之間的點對點以及點對多點的數(shù)據(jù)傳輸通道。
3.如權利要求2所述的多核數(shù)字處理器片上系統(tǒng),其特征在于,所述葉節(jié)點包括一星形網(wǎng)絡緩沖單元,用于緩存從所述主處理器或者所述從處理器發(fā)出的網(wǎng)絡數(shù)據(jù)包。
4.如權利要求1所述的多核數(shù)字處理器片上系統(tǒng),其特征在于,所述環(huán)形網(wǎng)絡采用環(huán)形拓撲結(jié)構連接所述多個從處理器,所述多個從處理器所對應的葉節(jié)點依次連接以構成一環(huán)形結(jié)構,所述環(huán)形網(wǎng)絡提供一個從處理器至其它從處理器的點對點的數(shù)據(jù)傳輸通道以及點對多點的數(shù)據(jù)廣播通道。
5.如權利要求3所述的多核數(shù)字處理器片上系統(tǒng),其特征在于,所述環(huán)形網(wǎng)絡內(nèi)的葉節(jié)點包括一電路交換單元,用于使用電路交換來與其它葉節(jié)點進行網(wǎng)絡數(shù)據(jù)包傳輸;一環(huán)形網(wǎng)絡接口單元,用于根據(jù)路由表決定是否立即傳送所述網(wǎng)絡數(shù)據(jù)包,以及當所述葉節(jié)點內(nèi)不存在相應路由時,向所述主處理器發(fā)送中斷請求以請求所述主處理器進行路由配置;一控制寄存器單元,用于接受所述主處理器對所述葉節(jié)點進行的路由配置。
6.如權利要求1所述的多核數(shù)字處理器片上系統(tǒng),其特征在于,所述串行網(wǎng)絡提供所述多個從處理器之間的短消息傳遞通道,每個所述從處理器都包括一串行發(fā)送單元及串行接收單元,其中串行發(fā)送單元分別連接至其它從處理器的串行接收單元以構成所述串行網(wǎng)絡。
7.一種多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于,所述多核數(shù)字處理器片上系統(tǒng)包括一個主處理器、多個從處理器和外部存儲器,每個所述主處理和從處理器都包括處理器核、片上存儲器和直接內(nèi)存訪問DMA控制器,所述主處理器通過I/O控制器對所述外部存儲器進行控制和訪問,所述方法包括通過星形網(wǎng)絡在所述主處理器的控制下完成所述多個從處理器和外部存儲器之間的數(shù)據(jù)交換,以及完成所述主處理器與所屬多個從處理器的數(shù)據(jù)廣播;通過環(huán)形網(wǎng)絡完成所述從處理器之間的數(shù)據(jù)交換;通過串行網(wǎng)絡完成所述從處理器之間的短消息傳遞。
8.如權利要求7所述的多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于,所述通過星形網(wǎng)絡在所述主處理器的控制下完成所述多個從處理器和外部存儲器之間的數(shù)據(jù)交換包括主處理器配置主DMA控制器并啟動傳輸任務來從外部存儲器讀取數(shù)據(jù)并發(fā)送至星形網(wǎng)絡的葉節(jié)點,或者從所述星形網(wǎng)絡的葉節(jié)點讀取數(shù)據(jù)并存儲至所述外部存儲器;從處理器配置其本地DMA控制器并啟動傳輸任務來從本地片上存儲單元讀取數(shù)據(jù)并發(fā)送至星形網(wǎng)絡的葉節(jié)點,或者從所述星形網(wǎng)絡的葉節(jié)點接收數(shù)據(jù)并存儲至所述本地片上存儲單元;當主處理器和從處理器的傳輸任務相同時,相應的從處理器和外部存儲器之間開始進行數(shù)據(jù)交換。
9.如權利要求8所述的多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于,當從處理器和主處理器的傳輸任務不同或者從處理器先啟動傳輸任務,而主處理器未啟動傳輸任務時,該從處理器進入等待狀態(tài),等待葉節(jié)點的數(shù)據(jù)緩沖,當主處理器啟動相同傳輸任務時,再開始和外部存儲器進行數(shù)據(jù)交換;當主處理器先啟動傳輸任務而從處理器未啟動傳輸任務時,該主處理器進入等待狀態(tài),當從處理器啟動相同傳輸任務時,再開始和外部存儲器進行數(shù)據(jù)交換。
10.如權利要求8所述的多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于,所述主處理器配置主DMA控制器包括配置外部存儲器的地址生成器以生成所述外部存儲器的地址,以及配置傳輸參數(shù),所述傳輸參數(shù)包括數(shù)據(jù)源和數(shù)據(jù)目的地的選擇信息以及傳輸數(shù)據(jù)長度。
11.如權利要求8所述的多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于,所述從處理器配置其本地DMA控制器包括配置本地片上存儲單元的地址生成器以生成所述本地片上存儲單元的地址,以及配置傳輸參數(shù),所述傳輸參數(shù)包括數(shù)據(jù)源和數(shù)據(jù)目的地的選擇信息以及傳輸數(shù)據(jù)長度。
12.如權利要求7所述的多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于,所述通過星形網(wǎng)絡完成所述主處理器與所屬多個從處理器的數(shù)據(jù)廣播包括主處理器配置主DMA控制器并啟動數(shù)據(jù)廣播任務;多個從處理器配置其本地DMA控制器并啟動數(shù)據(jù)廣播任務;當所有處理器都啟動數(shù)據(jù)廣播任務后,主處理器開始向所有從處理器進行數(shù)據(jù)廣播。
13.如權利要求7所述的多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于,所述通過環(huán)形網(wǎng)絡完成所述從處理器之間的數(shù)據(jù)交換包括數(shù)據(jù)發(fā)送端的從處理器配置其本地DMA控制器并啟動數(shù)據(jù)發(fā)送任務,數(shù)據(jù)接收端的從處理器配置其本地DMA控制器并啟動數(shù)據(jù)接收任務;數(shù)據(jù)發(fā)送端的從處理器發(fā)送數(shù)據(jù)傳輸請求到與之相連的葉節(jié)點的環(huán)形網(wǎng)絡接口單元, 數(shù)據(jù)接收端的從處理器等待接收數(shù)據(jù);所述葉節(jié)點根據(jù)數(shù)據(jù)傳輸請求判斷路由列表中是否具有數(shù)據(jù)接收端的從處理器,若有,則立即響應并通過電路交換單元進行數(shù)據(jù)傳輸,若沒有,則向主處理器發(fā)送中斷請求, 以請求主處理器重新配置路由列表。
14.如權利要求13所述的多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于, 所述數(shù)據(jù)發(fā)送端的從處理器配置其本地DMA控制器包括配置其本地片上存儲單元的地址生成器以生成所述本地片上存儲單元的地址,配置傳輸參數(shù),所述傳輸參數(shù)包括目標處理器的選擇信息以及傳輸數(shù)據(jù)長度;所述數(shù)據(jù)接收端的從處理器配置其本地DMA控制器包括配置其本地片上存儲單元的地址生成器以生成所述本地片上存儲單元的地址,配置傳輸參數(shù),所述傳輸參數(shù)包括數(shù)據(jù)源處理器的選擇信息以及傳輸數(shù)據(jù)長度。
15.如權利要求7所述的多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于,所述通過串行網(wǎng)絡完成所述從處理器之間的短消息傳遞包括發(fā)送端的從處理器發(fā)送短消息數(shù)據(jù)包到與之相連的串行發(fā)送單元; 所述串行發(fā)送單元以串行廣播的方式將所述短消息數(shù)據(jù)包發(fā)送到所有連接的串行接收單元;所述串行接收單元接收所述短消息數(shù)據(jù)包,并根據(jù)所述短消息數(shù)據(jù)包內(nèi)的目標從處理器標識決定是否存儲所述包,若所述短消息數(shù)據(jù)包內(nèi)的從處理器標識所標識的是與所述串行接收單元相連的從處理器,則存儲所述短消息數(shù)據(jù)包至從處理器的本地片上存儲單元內(nèi),否則即丟棄所述短消息數(shù)據(jù)包。
16.如權利要求15所述的多核數(shù)字處理器片上系統(tǒng)的數(shù)據(jù)傳輸方法,其特征在于,所述串行接收單元存儲所述短消息數(shù)據(jù)包之后,還包括將所述短消息數(shù)據(jù)包的相應標識位設置為已經(jīng)收到所述短消息數(shù)據(jù)包; 接收端處理器通過輪詢方式檢查所述短消息數(shù)據(jù)包的所述相應標識位以讀取接收到的短消息。
全文摘要
本發(fā)明實施例提供了一種多核數(shù)字信號處理器片上系統(tǒng)及數(shù)據(jù)傳輸方法,系統(tǒng)包括一個主處理器、多個從處理器和外部存儲器,每個所述主處理和從處理器都包括處理器核、片上存儲器和直接內(nèi)存訪問DMA控制器,所述主處理器通過I/O控制器對所述外部存儲器進行控制和訪問,各處理器之間通過一片上互聯(lián)網(wǎng)絡進行數(shù)據(jù)交換,所述片上互聯(lián)網(wǎng)絡由星形網(wǎng)絡、環(huán)形網(wǎng)絡以及串行網(wǎng)絡構成。本發(fā)明實施例中的片上互聯(lián)網(wǎng)絡結(jié)合了星形網(wǎng)絡、環(huán)形網(wǎng)絡和串行網(wǎng)絡,從而不但可以提供高帶寬的流數(shù)據(jù)傳輸,而且還可以提供低延遲的短消息傳遞,另外,本發(fā)明實施例通過主處理器的軟件控制簡化了外部存儲器的訪問仲裁,并通過網(wǎng)絡數(shù)據(jù)緩沖減少了多核處理器間的同步操作,降低了多核處理器軟件程序設計的復雜度。
文檔編號G06F15/173GK102521201SQ201110363908
公開日2012年6月27日 申請日期2011年11月16日 優(yōu)先權日2011年11月16日
發(fā)明者劉大可, 安德里雅思·卡爾松, 猷阿·索, 王建 申請人:劉大可
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1