亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于ofdm無線通信系統(tǒng)的異構(gòu)多核數(shù)字信號處理器的制作方法

文檔序號:6431274閱讀:169來源:國知局
專利名稱:用于ofdm無線通信系統(tǒng)的異構(gòu)多核數(shù)字信號處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機(jī)與數(shù)字通信領(lǐng)域,涉及一種異構(gòu)多核處理器,該多核處理器中的所有處理器核都是超長指令字處理器,同時,處理器核按照計算能力分類,處理器為異構(gòu)設(shè)計。
背景技術(shù)
多核處理器是指在單個處理器芯片中集成兩個或多個完整的計算內(nèi)核。面向不同計算特征的應(yīng)用,多核處理器體系結(jié)構(gòu)也隨著應(yīng)用對體系結(jié)構(gòu)的具體需求而不斷發(fā)展,涌現(xiàn)出很多新型的多核處理器體系結(jié)構(gòu),特別是由于無線通信協(xié)議的蓬勃發(fā)展,針對這種計算密集型應(yīng)用的體系結(jié)構(gòu)成為高性能計算研究的熱點。近年來無線通信領(lǐng)域不斷發(fā)展,各種通信標(biāo)準(zhǔn)層出不窮,特別是以O(shè)FDM技術(shù)為主要調(diào)制方式的通信系統(tǒng),由于其具有較高的頻譜利用率和良好的抗多徑干擾能力,廣泛地應(yīng)用在當(dāng)前以及下一代無線通信系統(tǒng)中,這樣的發(fā)展趨勢對現(xiàn)有的數(shù)字信號處理器的能力提出了越來越高的要求。超長指令字架構(gòu)能夠提高單個處理器核的指令并行性及數(shù)據(jù)并行性,而基于超長指令字的多核處理器架構(gòu)能夠很好的提高整個數(shù)字信號處理器的并行計算能力。對以O(shè)FDM系統(tǒng)為主要調(diào)制方式的通信協(xié)議(如WiFi、UWB、WiMax)進(jìn)行分析,發(fā)現(xiàn)在無線通信協(xié)議基帶處理中,所處理的數(shù)據(jù)是以流的形式在處理器之間進(jìn)行傳送,流是不間斷的、連續(xù)的、移動的數(shù)據(jù)隊列,并且大部分的流數(shù)據(jù)均可進(jìn)行并行化后的矢量運(yùn)算,而基帶處理過程中的不同階段均可以抽象為前后連續(xù)并且具有數(shù)據(jù)依賴關(guān)系的流模型。針對這種特點,可以將流模型中的不同處理模塊分別映射到具有不同處理特性的處理器核上,這種根據(jù)無線通信協(xié)議處理特征來設(shè)計的處理器,可以讓處理器在計算能力上最大程度的接近專用集成電路,同時又可以以軟件編程的方式實現(xiàn)通信協(xié)議,使得協(xié)議的更新與升級更為靈活。本發(fā)明即是基于以上背景,提出了一種基于超長指令字技術(shù)的異構(gòu)多核數(shù)字信號處理器,來應(yīng)對當(dāng)今高性能計算領(lǐng)域里的提出的問題。

發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明的目的是提供一種面向以O(shè)FDM調(diào)制技術(shù)為主的無線通信協(xié)議基帶處理。該多核處理器以超長指令字處理器核為基本組成單元,通過核間互聯(lián)結(jié)構(gòu)來對處理器核進(jìn)行控制,同時讓不同的處理器核進(jìn)行數(shù)據(jù)通信。本發(fā)明的技術(shù)方案是一種用于OFDM系統(tǒng)的異構(gòu)多核數(shù)字信號處理器,該處理器包括至少含有一個處理器核并以行形式分布的處理器核集合,所述處理器核按計算能力分類,可以分為不同的類型,不同的類型處理器核之間通過共享存儲器實現(xiàn)數(shù)據(jù)傳輸以及通過總線控制單元和任務(wù)調(diào)度總線對處理器核進(jìn)行行為控制。同時,處理器核集合中核的數(shù)量可以為N個(N為大于1的自然數(shù))。根據(jù)基帶處理的應(yīng)用特點,不同的處理器核具有不同的計算能力,以應(yīng)對處理過程中不同的計算需求,比如在矢量計算較高的處理模塊中,可以設(shè)計更多的計算單元,而對含有標(biāo)量計算和矢量計算混合型模塊時,則可以設(shè)計較少的計算單元即可滿足應(yīng)用需求。因此,該處理器核集合中的處理器核并不完全相同,可以按計算能力分為不同的類型,并按照基帶處理過程中對應(yīng)的處理模塊,按一定的次序進(jìn)行排列,以異構(gòu)的方式組成一個完整的多核處理器。處理器核外的共享存儲器、核內(nèi)的總線控制單元、 及處理器核集合共享的任務(wù)調(diào)度總線構(gòu)成處理器核的互聯(lián)結(jié)構(gòu),該互聯(lián)結(jié)構(gòu)可以稱之為開環(huán)(open-ring)的形式連接。進(jìn)一步,所述處理器核包括功能單元和總線控制單元;所述總線控制單元用于控制單元產(chǎn)生計算任務(wù)的調(diào)度信息;所述功能單元用于完成數(shù)字信號的計算邏輯;其中,所述總線控制單元包括控制邏輯、仲裁邏輯、選通器、匹配控制邏輯、任務(wù)調(diào)度信息寄存器、仲裁信息寄存器和FIFO存儲器;所述控制邏輯用來產(chǎn)生任務(wù)調(diào)度命令;所述仲裁邏輯用來判斷當(dāng)前對處理器核的任務(wù)調(diào)度信息是否有效、所述FIFO存儲器用來臨時存儲任務(wù)調(diào)度信息;所述功能單元包括取值部件、譯碼器、控制單元、數(shù)據(jù)交換網(wǎng)絡(luò)、計算單元、存儲器接口單元、全局寄存器組和私有存儲器。進(jìn)一步,處理器核采用哈佛結(jié)構(gòu),即數(shù)據(jù)存儲和指令存儲為相互獨立。處理器核內(nèi)部包括一定規(guī)模的私有存儲器單元(Private Mem),用來存儲處理器核在執(zhí)行算法程序過程中產(chǎn)生的中間數(shù)據(jù)以及數(shù)字信號處理算法中的所用到的常用固定系數(shù)。每個處理器核的左右兩側(cè)均有共享存儲器(Share Mem)相連(共享存儲器位于處理器核外),用來存儲當(dāng)前 DSP核將要讀入的數(shù)據(jù)或者將要寫出的數(shù)據(jù)。每個處理器核可以有兩塊獨立的私有存儲器, 并分別通過兩個端口與處理器核相連,我們可以分別稱之為P_x和P_y,這兩個端口可以進(jìn)行讀寫操作;處理器與左邊的共享存儲器通過S_1端口相連,與右邊的共享存儲器通過S_r 端口相連,這兩個端口也可以進(jìn)行讀寫操作。進(jìn)一步,所述處理器核為超長指令字處理器,所述超長指令字處理器指令字流水分別經(jīng)過取值寄存器、譯碼寄存器和執(zhí)行寄存器。該3級指令流水線來完成一條指令的完整功能。在取指階段,處理器核根據(jù)PC寄存器的值取出指令并放到指令寄存器上;譯碼階段對指令寄存器上的指令進(jìn)行譯碼,并將譯碼的結(jié)果分發(fā)到各個計算單元CU、私有存儲器接口單元P-MIU、公有存儲器接口單元S-MIU和數(shù)據(jù)交換網(wǎng)絡(luò);執(zhí)行階段CU、私有存儲器和公有存儲器接口單元及數(shù)據(jù)交換網(wǎng)絡(luò)執(zhí)行相應(yīng)的動作。在執(zhí)行階段,每個CU和存儲器控制單元通過數(shù)據(jù)通信單元對寄存器組進(jìn)行讀寫,而控制單元則會將下一條指令的地址寫回PC 寄存器。 進(jìn)一步,所述指令字由標(biāo)識位字段,常量立即數(shù)字段,控制字段和CU字段;所述CU 字段用來完成對各個所述計算單元及存儲器接口單元的控制;所述處理器核內(nèi)的每個計算單元及存儲器接口單元均占用一個指令字段,構(gòu)成CU字段;每個所述指令字段包括標(biāo)識位字段,右操作數(shù)字段,左操作數(shù)字段,CU字段為超長指令字的主要組成部分,用來完成對各個計算單元及存儲器接口的控制,處理器核內(nèi)的計算單元及存儲器接口的指令字段構(gòu)成全部的CU字段;每個具體的CU字段還包括CU標(biāo)識位字段,右操作數(shù)字段,左操作數(shù)字段,目的地址字段及操作數(shù)字段。處理器集合內(nèi)的VLIW并不統(tǒng)一,不同計算單元配置的處理器核具有不同的VLIW。對于超長指令字格式來講,有效標(biāo)示是用來表示當(dāng)前超長指令字是否為特殊,當(dāng)tag為特殊指令時,其功能為初始化14個全局寄存器,其中前7個寄存器存放常用地址,后7個寄存器存放常用立即數(shù)。而常量立即數(shù)字段則是存放該指令字周期內(nèi)用到的一個立即數(shù)。Control字段則是用來控制數(shù)據(jù)交換網(wǎng)絡(luò),指示在該指令字周期內(nèi)哪幾個CU 或者M(jìn)IU進(jìn)行數(shù)據(jù)通信。CU字段為超長指令字的主體組成部分,每一個計算單元或者存儲器接口單元都會有一個CU字段(存儲器接口單元MIU是一種特殊的CU)。每一個CU字段則由五個字段組成,CU標(biāo)示字段的功能是用來標(biāo)示當(dāng)前該微碼是屬于哪個CU或者M(jìn)IU。右操作數(shù)及左操作數(shù)分別表示當(dāng)前⑶的左右操作數(shù)的寄存器地址,目的地址字段則表示運(yùn)算的結(jié)果寄存器地址,操作數(shù)字段表示當(dāng)前CU執(zhí)行何種類型的操作。進(jìn)一步,根據(jù)OFDM基帶處理實際應(yīng)用特點的處理器核計算單元配置方法,根據(jù)處理模塊的實時性要求,可以使用較多計算單元的高性能DSP核來實現(xiàn),而有些處理模塊的實時性要求低,可以使用較少的計算單元的低功耗DSP核來實現(xiàn),以達(dá)到最佳性能功耗比。 針對某種以O(shè)FDM調(diào)制技術(shù)為主的物理層協(xié)議,一種處理器核的具體配置可以是(序號為從左向右數(shù)),第1,2,5,6個核為一種配置,均具有4個邏輯運(yùn)算單元,2個乘累加單元及2個移位器;第3,7個核為一種配置,均具有2個邏輯運(yùn)算單元,2個乘累加單元及2個移位器; 第4,8個核為一種配置,均具有1個邏輯運(yùn)算單元,2個乘累加單元及2個移位器;第9個核為一種配置,為1個邏輯運(yùn)算單元,1個移位器,及Viterbi硬件加速器。進(jìn)一步,基于同步數(shù)據(jù)流特征的處理器核互聯(lián)結(jié)構(gòu)一開環(huán)互聯(lián)結(jié)構(gòu),該結(jié)構(gòu)將處理器核間的數(shù)據(jù)傳輸和控制信息傳輸視為兩種類型的操作。對于數(shù)據(jù)的傳輸,該結(jié)構(gòu)主要依靠處理器核內(nèi)的switch單元來實現(xiàn)數(shù)據(jù)在不同共享存儲器實現(xiàn)之間的轉(zhuǎn)發(fā)。如果一個處理器核將數(shù)據(jù)轉(zhuǎn)發(fā)至其他處理器核,該數(shù)據(jù)必須經(jīng)過這兩個處理器核之間所有的共享存儲器;對處理器核的控制則依靠處理器核中的總線控制單元及核外的任務(wù)調(diào)度總線完成, 總線控制單元為處理器核獨有,用來接收控制當(dāng)前處理器核的任務(wù)調(diào)度信息,任務(wù)調(diào)度總線用來傳送任務(wù)調(diào)度信息并且為處理器核共享。進(jìn)一步,開環(huán)互聯(lián)結(jié)構(gòu)內(nèi)的總線控制單元,處理器核通過總線控制單元產(chǎn)生搶占任務(wù)調(diào)度總線的仲裁信號及控制其他處理器核的任務(wù)調(diào)度信息??偩€控制單元包括控制邏輯、仲裁邏輯(Arbiter Logic)、FIFO存儲器、選通器、存放調(diào)度信息和仲裁信號的寄存器。 控制邏輯用來產(chǎn)生任務(wù)調(diào)度命令,仲裁邏輯用來判斷當(dāng)前對處理器核的任務(wù)調(diào)度信息是否有效、FIFO存儲器用來存儲任務(wù)調(diào)度信息。用于該開環(huán)互聯(lián)結(jié)構(gòu)中總線控制單元與任務(wù)調(diào)度總線的使用方法,對于處理器核集合而言,其優(yōu)先級為左優(yōu)先,即位于左側(cè)的處理器核優(yōu)先占用任務(wù)調(diào)度總線。當(dāng)處理器核需要申請任務(wù)調(diào)度總線時,控制單元內(nèi)的控制邏輯會產(chǎn)生申請信息,并提交給仲裁邏輯,仲裁邏輯進(jìn)行判斷,如果當(dāng)前任務(wù)調(diào)度總線被占用,則將申請信息存入FIFO存儲器;如果當(dāng)前任務(wù)調(diào)度總線不被占用,則可以成功申請到任務(wù)調(diào)度總線。同時,當(dāng)處理器核成功申請到任務(wù)調(diào)度總線后隨即向左右兩邊處理器核發(fā)送獨占總線信息。任務(wù)調(diào)度信息為F bits寬的數(shù)據(jù),用來標(biāo)識下一個任務(wù)所需的DSP核編號以及該 DSP核執(zhí)行的程序起始地址。
本發(fā)明的有益效果
針對以O(shè)FDM調(diào)制技術(shù)為主的無線通信協(xié)議,本發(fā)明設(shè)計了一種具有超長指令字處理器核集合的異構(gòu)多核處理器,來實現(xiàn)此類通信協(xié)議的基帶處理。該多核處理器中的每個處理器核都針對無線通信協(xié)議基帶處理的流模型分別進(jìn)行優(yōu)化設(shè)計,可以在滿足系統(tǒng)性能要求下,付出最少的計算代價。與現(xiàn)有技術(shù)相比,本發(fā)明所提出的多核處理器集合,可以根據(jù)應(yīng)用需求進(jìn)行處理器核集合上的擴(kuò)展,也可以根據(jù)基帶處理過程中的算法應(yīng)用設(shè)計特定的處理器核,同時,處理器核間采用共享存儲器設(shè)計,使得各個處理器核可以同時訪問其相鄰的共享存儲器,避免了總線式存儲器在同一時刻只能由一個處理器核進(jìn)行訪問的問題,從而保證了各個處理器核的并行執(zhí)行。處理器核的數(shù)據(jù)傳輸與控制相互分開,每個處理器核可以由其自身發(fā)出任務(wù)調(diào)度信息來確定當(dāng)前處理器核的執(zhí)行狀態(tài)。每個處理器核可以從其他的處理器核接收任務(wù)調(diào)度信息,從而減少了專用任務(wù)調(diào)度單元或主控制處理器的設(shè)計, 保證了多核處理器的可擴(kuò)展性及簡易性。從設(shè)計實例結(jié)果來看,采用本發(fā)明提出的多核處理器結(jié)構(gòu),可以有效的契合無線通信基帶處理特點,達(dá)到較高的性能功耗比。


圖1為本發(fā)明多核處理器的整體架構(gòu)圖。圖2為本發(fā)明處理器核內(nèi)功能單元的架構(gòu)圖。圖3為本發(fā)明處理器核的流水線示意圖。圖4為本發(fā)明超長指令字格式示意圖。圖5為本發(fā)明總線控制單元的架構(gòu)圖。圖6為本發(fā)明處理器核內(nèi)switch單元的原理圖。圖中
1-1.共享存儲器(用來從外部接受數(shù)據(jù)),1-2.共享存儲器(用來傳輸處理器核之間的數(shù)據(jù)),1-3.處理器核,1-4.任務(wù)調(diào)度總線,1-5.數(shù)據(jù)轉(zhuǎn)發(fā)單元,1-6.總線控制單元,1-7.功能單元,2-1.取值部件,2-2,譯碼器、2-4.控制單元,2_5,數(shù)據(jù)交換網(wǎng)絡(luò), 2-6.計算單元,2-7.存儲器接口單元,2-8.全局寄存器組,2-9.私有存儲器,2-10. 左共享存儲器輸入,2-11.右共享存儲器輸入,3-1.取值寄存器,3-2.譯碼寄存器,3-3. 執(zhí)行寄存器,3-4.譯碼后產(chǎn)生的數(shù)據(jù)交換網(wǎng)絡(luò)控制信號,3-5.譯碼后分配到各個⑶上的微碼,3-6.數(shù)據(jù)交換網(wǎng)絡(luò)寄存器,4-1.標(biāo)識位字段,4-2.常量立即數(shù)字段,4-3.控制字段,4-4.⑶字段,4-5.指令字段,4-7.⑶標(biāo)識位字段,4-8.右操作數(shù)字段,4-9.左操作數(shù)字段,4-10.目的地址字段,4-11.操作數(shù)字段,5-1.控制邏輯,5-2.仲裁邏輯,5-3. 選通器,5-4.匹配控制邏輯,5-5.任務(wù)調(diào)度信息寄存器,5-6.左側(cè)處理器核輸入的任務(wù)調(diào)度信息,5-7.向左側(cè)處理器核輸出的任務(wù)調(diào)度信息,5-8.向右側(cè)處理器核輸出的任務(wù)調(diào)度信息,5-9.右側(cè)處理器核輸入的任務(wù)調(diào)度信息,5-10.仲裁信號輸入,5-10.仲裁信號輸出5-12.仲裁信息寄存器,5-13. FIFO存儲器。
具體實施例方式下面結(jié)合具體實施例對本發(fā)明的技術(shù)方案做進(jìn)一步說明。面向OFDM基帶處理的應(yīng)用實例
我們分三部分來闡述本發(fā)明的具體實施方式
,第一部分以O(shè)FDM無線通信基帶應(yīng)用的角度,結(jié)合圖1講述如何將基帶處理的各個流程映射到多核處理器上;第二部分以多核的角度,結(jié)合圖1圖5與圖6闡述多個處理器核之間是如何進(jìn)行相互通信并如何并行工作;第三部分以單核的角度,結(jié)合圖2、3、4闡述單個處理器核如何執(zhí)行數(shù)字信號處理算法程序。
IEEE 802. Ila是無線局域網(wǎng)(WLAN)標(biāo)準(zhǔn)之一,采用正交頻分復(fù)用(OFDM)調(diào)制技術(shù)作為其物理層標(biāo)準(zhǔn),我們以該協(xié)議的基帶接收端處理為例闡述如何使用該異構(gòu)多核處理器。在接收端處理中,數(shù)據(jù)幀處理實時性要求極高,對于不同功能的物理層幀有著不同的時限,比如攜帶主要物理層信息的OFDM數(shù)據(jù)幀的處理時限為如s,這樣分配到處理OFDM數(shù)據(jù)幀任務(wù)的處理器核就必須在4us內(nèi)做完全部工作。對于處理一個完整的IEEE 802. Ila的物理層幀來講,需要以下處理模塊
對于前導(dǎo)碼的處理模塊包括幀同步、小數(shù)倍載波頻偏估計、載波頻偏補(bǔ)償(CF0、整數(shù)倍載波頻偏估計、去保護(hù)間隔、以及信道估計。對于信號符號和數(shù)據(jù)符號的處理模塊包括載波頻偏補(bǔ)償、去保護(hù)間隔、64點FFT、信道均衡、去導(dǎo)頻、解調(diào)、解交織、解增信刪余、 Viterbi解碼、解擾。這樣我們從圖1的結(jié)構(gòu)中具體化出一個多核處理器,將以上任務(wù)分別映射在每一個處理器核上,我們設(shè)計了一個異構(gòu)的含有9個處理器核的處理器,來完成完整的IEEE802. Ila物理層幀處理
處理器核的設(shè)計目標(biāo)為在處理時限內(nèi)使用最少的計算單元完成相應(yīng)的計算任務(wù),對整個IEEE 802. Ila接收端處理做出算法功能劃分,在每個處理器核內(nèi)采用盡量少的計算單元來實現(xiàn)分配在其上的算法任務(wù),這樣,由于算法處理階段的差異性,每個處理器核的具體配置必然不一致,從而得到一個具有9個處理器核的異構(gòu)多核處理器來完成完整的基帶接收端處理。從左到右映射,我們可以將幀同步、小數(shù)倍載波頻偏估計及載波頻偏補(bǔ)償?shù)囊徊糠钟成湓诘谝惶幚砥骱松?;將的另一部分映射在第二處理器核上;?4點FFT映射在第三處理器核上;將整數(shù)倍載波頻偏估計(映射在第四處理器核上;將載波頻偏補(bǔ)償?shù)囊徊糠钟成湓诘谖逄幚砥骱松?;將載波頻偏補(bǔ)償?shù)囊徊糠旨叭ケWo(hù)間隔映射在第六處理器核上; 將信道均衡和64點FFT映射在第七處理器核上;將解調(diào)、解交織、解增信刪余映射在第八處理器核上;將Viterbi解碼、解擾映射在第九處理器核上。通過上述方法的映射,可以將IEEE802. Ila基帶接收端處理的全部算法功能實現(xiàn),其具體配置如表一所示。
DSP核DSP核上的CU數(shù)目和種類DSPl4alu+2mac+2shifterDSP24alu+2mac+2shifterDSP32alu+2mac+2shifterDSP4lalu+2mac+lshifterDSP54alu+2mac+2shifterDSP64alu+2mac+2shifterDSP72alu+2mac+2shifterDSP8lalu+2mac+lshifterDSP9lalu+lshifter+VirtebiAccelerator
多個處理器核協(xié)同工作的實施方式
在本發(fā)明中,每個處理器核只負(fù)責(zé)基帶處理中的某一部分功能,通過協(xié)同整個處理器核的工作,來完成全部的基帶處理工作。每一個處理器核可以在其當(dāng)前任務(wù)處理完畢后向任務(wù)調(diào)度總線上發(fā)出一條任務(wù)調(diào)度信息,去激活其他處理器核開啟相應(yīng)的處理,該信息經(jīng)過的傳遞,會被其他處理器核接收,通過相應(yīng)邏輯判斷,被激活的處理器核會從任務(wù)調(diào)度信息中讀取相應(yīng)地址,而當(dāng)前處理器核的控制單元也會將PC值置為該地址,從而開始相應(yīng)的執(zhí)行。例如,在圖1中,當(dāng)處理器核1 (Corel)處理完當(dāng)前任務(wù)后會發(fā)出一條任務(wù)調(diào)度信息給處理器核2 (core2),處理器核2接收到信息后從共享存儲器2中讀取輸入數(shù)據(jù),開始相應(yīng)處理。后面的處理器核控制與此類似。多個處理器核之間的協(xié)同工作主要包括數(shù)據(jù)的傳輸及控制信息的轉(zhuǎn)發(fā)。數(shù)據(jù)的傳輸是指第i個處理器核處理完畢的數(shù)據(jù)寫入其右邊的第i+1個共享存儲器,作為第i+1 個處理器核的輸入數(shù)據(jù),當(dāng)?shù)趇+1個處理器核開始工作時,便從其左邊的即第i+1個共享存儲器讀入數(shù)據(jù)。在實際應(yīng)用中,由于共享存儲器為程序員可控,可以在算法實現(xiàn)時對輸入數(shù)據(jù)和輸出數(shù)據(jù)的地址進(jìn)行固定,比如對第i個處理器核的寫出數(shù)據(jù)的起始地址設(shè)置為 0x0100,而第i+Ι個處理器核的讀入數(shù)據(jù)的起始地址同樣設(shè)置為0x0100,以確保前后處理器核的數(shù)據(jù)一致性。為減少因數(shù)據(jù)傳輸?shù)膸淼难舆t,一般情況下每個處理器核的左邊共享存儲器均存放輸入數(shù)據(jù),右邊共享存儲器均存放輸出數(shù)據(jù)。對于特殊情況下的跨核傳輸,比如第i個處理器核輸出數(shù)據(jù),在第i+2個處理器核中也將要用到,這種情況則需要使用第i+Ι個處理器核做為中轉(zhuǎn)核使用,如圖6所示,通過編寫特殊指令,該指令可以寫作
其含義為在第一個周期內(nèi)讓左共享存儲器的數(shù)據(jù)寫入左共享存儲器接口寄存器,在第二個周期中左共享存儲器接口寄存器將讀到的數(shù)據(jù)通過數(shù)據(jù)交換網(wǎng)絡(luò)直接傳遞給右共享存儲器接口寄存器,在第三個周期中右共享存儲器接口寄存器將數(shù)據(jù)寫回右共享存儲器, 這樣通過編寫循環(huán)指令,可以將N個數(shù)據(jù)在N+2個時鐘周期內(nèi)從第i個共享存儲器傳輸?shù)降趇+Ι個共享存儲器上。處理器核的控制則是通過任務(wù)調(diào)度總線和處理器核內(nèi)的總線控制單元的相互配合來完成,任務(wù)調(diào)度總線用來在處理器核之間傳輸任務(wù)調(diào)度信息和及處理器核對總線的控制信息。如圖5中所示的5-6、5-7、5-8、5-9,其中5_6為左邊處理器核發(fā)送給當(dāng)前處理器核的任務(wù)調(diào)度信息,5-9為右邊處理器核發(fā)送給當(dāng)前處理器核的任務(wù)調(diào)度信息;5-7為當(dāng)前處理器核發(fā)送給左邊處理器核的任務(wù)調(diào)度信息,5-8為當(dāng)前處理器核發(fā)送給右邊處理器核的任務(wù)調(diào)度信息。該任務(wù)調(diào)度信息可以是37bit寬,其中高5位用來標(biāo)識下一個任務(wù)所需的 DSP核編號,其他32位用來表示該DSP核執(zhí)行的程序起始地址??偩€控制信息為處理器核在發(fā)送任務(wù)調(diào)度信息之前,需要占用任務(wù)調(diào)度總線時所發(fā)出的仲裁信息。對于總線控制單元的使用流程及仲裁機(jī)制分為以下三點
1)在該多核處理器中,處理器核搶占任務(wù)調(diào)度總線的優(yōu)先級為左優(yōu)先,即左邊的處理器核的優(yōu)先級要高于其右邊的處理器核。對于第i個處理器核來講,如果其左邊處理器核 (第i-Ι個)的總線控制單元需要申請任務(wù)調(diào)度總線并已發(fā)出仲裁信號時,第i個處理器核的總線控制單元會收到該仲裁信號,同時經(jīng)過仲裁邏輯,向其右側(cè)的處理器核轉(zhuǎn)發(fā)該仲裁信號。后面的處理器核均為類似操作,對于第i-Ι個處理器核右邊的所有處理器核而言,會在一個時鐘周期內(nèi)做完以上全部操作。這樣第i-Ι個處理器核可以成功占用任務(wù)調(diào)度總線。在成功占用任務(wù)調(diào)度總線后的下個時鐘周期,該處理器核向任務(wù)調(diào)度總線上發(fā)送37bit的任務(wù)調(diào)度信息,由于每個處理器核上的仲裁邏輯會在仲裁邏輯寄存器內(nèi)存入當(dāng)前仲裁信息作為選通器的判讀輸入,當(dāng)其他處理器核收到任務(wù)調(diào)度信息后會進(jìn)行選通判斷,如果仲裁邏輯寄存器5-12中存放的仲裁信號來自別的處理器核,則該選通器將當(dāng)前接收到的任務(wù)調(diào)度信息轉(zhuǎn)發(fā)出去,否則發(fā)出的是當(dāng)前處理器核產(chǎn)生的任務(wù)調(diào)度信息。例如外部任務(wù)調(diào)度信息5-6與自身產(chǎn)生的任務(wù)調(diào)度信息5-5作為選通器的輸入,仲裁寄存器5-2作為判讀輸入,來判讀當(dāng)前是否為轉(zhuǎn)發(fā)。2)當(dāng)其余處理器核收到該調(diào)度信息,經(jīng)過第一步中的選通判斷會進(jìn)行轉(zhuǎn)發(fā)操作, 同時轉(zhuǎn)發(fā)的37bit信息會進(jìn)入匹配控制邏輯5-4,來對37bit信息中的高5位進(jìn)行匹配操作,判斷該任務(wù)調(diào)度信息對當(dāng)前處理器核是否有效,如果判斷生效,則將其存入FIFO存儲器5-13中,收到調(diào)度信息的處理器核如果當(dāng)前任務(wù)處理完畢,會通過控制單元將pc值調(diào)轉(zhuǎn)到任務(wù)調(diào)度信息中的地址上,從而開始新的任務(wù)執(zhí)行。3)如果當(dāng)前處理器核核需要申請總線時,可以通過總線控制單元中的控制邏輯發(fā)給仲裁邏輯產(chǎn)生仲裁信號,如果當(dāng)前處理器核沒有收到來自左邊處理器核的仲裁信號,可將其仲裁信號向右轉(zhuǎn)發(fā),如果成功得到任務(wù)調(diào)度總線,則發(fā)送任務(wù)調(diào)度信息。如果,當(dāng)前仲裁信號無法產(chǎn)生,則將任務(wù)調(diào)度信息存入任務(wù)調(diào)度信息寄存器5-5中,等待仲裁信號生效。 如果左側(cè)總線控制單元已經(jīng)申請到總線而當(dāng)前DSP核也需要申請總線時,當(dāng)前控制單元保存當(dāng)前的任務(wù)調(diào)度信息,只轉(zhuǎn)發(fā)左側(cè)總線的仲裁信號和任務(wù)調(diào)度信息。當(dāng)左側(cè)總線控制單元完成總線控制后,再轉(zhuǎn)發(fā)當(dāng)前的仲裁信號和任務(wù)調(diào)度信息。
單個處理器核內(nèi)的實施方式
如圖2所示,單個處理器核1-3是組成異構(gòu)多核處理器的基本單元,而單個處理器核的核心部分為功能單元1-7,它包括取值部件、譯碼器、控制單元、數(shù)據(jù)交換網(wǎng)絡(luò)、計算單元、存儲器接口單元、寄存器組、左共享數(shù)據(jù)存儲器、右共享數(shù)據(jù)存儲器、私有數(shù)據(jù)存儲器和指令存儲器,這些部件構(gòu)成一個完整的功能單元,通過與任務(wù)控制線與FIFO存儲器相連,通過共享存儲器讀寫端口與左右共享存儲器相連。數(shù)字信號算法以匯編語言程序?qū)崿F(xiàn),通過翻譯以機(jī)器指令形式寫入處理器核的指令存儲器,這是在任務(wù)調(diào)度總線上給第一個處理器核一個初始化任務(wù)調(diào)度信息,該處理器核的控制單元將PC指向指令存儲器的初始執(zhí)行地址。取值從指令存儲器中讀出指令,并存入指令寄存器,由于超長指令字不是固定長度的指令,因而讀取一條指令需要若干時鐘周期完成,具體的時鐘周期數(shù)視具體的指令長度而定。例如在圖7中第一個處理器核有12個CU及MIU指令槽,其指令寬度為378bit。譯碼對寫入指令寄存器的指令進(jìn)行譯碼,譯碼后的結(jié)果會存入譯碼結(jié)果寄存器, 然后將譯碼結(jié)果分派到各個Cu、私有存儲器控制器、公有存儲器控制器,以及數(shù)據(jù)交換網(wǎng)執(zhí)行各個CU及MIU接收到譯碼結(jié)果,對于CU譯碼結(jié)果分為操作數(shù)、目的寄存器地址、右操作數(shù)寄存器地址、左操作數(shù)寄存器地址、有效標(biāo)示這五類。對于MIU譯碼結(jié)果則分為操作數(shù)、目的寄存器地址、操作數(shù)寄存器地址、有效標(biāo)示這四類。對于超長指令字格式來講,有效標(biāo)示4-1是用來表示當(dāng)前超長指令字是否為特殊,當(dāng)tag為特殊指令時,其功能為初始化14個全局寄存器組2-8,其中前7個寄存器存放常用地址,后7個寄存器存放常用立即數(shù)。而常量立即數(shù)字段4-2則是存放該指令字周期內(nèi)用到的一個立即數(shù)。Control字段則是用來控制數(shù)據(jù)交換網(wǎng)絡(luò),指示在該指令字周期內(nèi)哪幾個CU或者M(jìn)IU進(jìn)行數(shù)據(jù)通信。CU字段4-4為超長指令字的主體組成部分,每一個計算單元或者存儲器接口單元都會有一個CU字段(存儲器接口單元MIU是一種特殊的CU)。每一個指令字段4-5則由五個字段組成,CU有效標(biāo)示字段4-7的功能是用來標(biāo)示當(dāng)前該微碼是屬于哪個CU或者M(jìn)IU。右操作數(shù)字段4-8及左操作數(shù)字段4-9分別表示當(dāng)前CU的左右操作數(shù)的寄存器地址,目的地址字段4-10則表示運(yùn)算的結(jié)果寄存器地址,操作數(shù)字段4-11表示當(dāng)前CU執(zhí)行何種類型的操作。在本發(fā)明中,執(zhí)行階段的行為包括對存儲器的讀取,計算單元的邏輯運(yùn)算以及計算單元對存儲器的寫回。在執(zhí)行階段,計算單元無法直接從存儲器讀取數(shù)據(jù),而是需要通過存儲器接口單元2-7對存儲器進(jìn)行讀操作,并將數(shù)據(jù)讀入存儲器接口寄存器中,然后存儲器接口寄存器在下一個時鐘周期內(nèi)將數(shù)據(jù)傳給計算單元的寄存器,進(jìn)而完成相應(yīng)計算。或者,在計算單元的CU編碼中,可以將存儲器接口單元寄存器直接作為左右操作數(shù),通過數(shù)據(jù)交換網(wǎng)絡(luò)完成數(shù)據(jù)傳送,在一個時鐘周期內(nèi)完成計算。本發(fā)明中的處理器核擁有4個存儲器接口單元,用來與左右共享存儲器及兩個私有存儲器進(jìn)行讀寫操作,每個接口單元內(nèi)包含一個32 bits的立即數(shù)寄存器來臨時存放數(shù)據(jù)。每個在計算單元的寫回階段,一般采用間接尋址方式進(jìn)行寫回操作。在這里需要聲明的是,在執(zhí)行階段,本發(fā)明中的乘累加單元為單周期計算單元,即在一個周期內(nèi)可以完成乘法和加法的同時運(yùn)算。例如,DSP核利用乘累加單元(由乘法器和累加器組成)完成一個標(biāo)準(zhǔn)復(fù)數(shù)乘法運(yùn)算,即(a+bi) * (c+di) = (ac-bd) + (ad+bc) i,首先在第一個時鐘周期內(nèi)對累加器的累加結(jié)果寄存器進(jìn)行初始化操作同時完成存儲器接口單元對存儲器的讀操作,在第二個時鐘周期乘法器的結(jié)果寄存器會從存儲器接口單元的寄存器接受到a值和c值,在第三個時鐘周期內(nèi)完成a*c操作并存入乘法器的結(jié)果寄存器,在第四個時鐘周期內(nèi)將a*c結(jié)果累加到已經(jīng)初始化完畢的累加器結(jié)果寄存器,同時進(jìn)行b*d操作,從而完成在一個周期內(nèi)的乘法及加法操作。
權(quán)利要求
1.一種用于OFDM無線通信系統(tǒng)的異構(gòu)多核數(shù)字信號處理器,其特征在于,該處理器包括至少含有一個處理器核(1-3)并以行形式分布的處理器核集合,所述處理器核(1-3)按計算能力分類,可以分為不同的類型,不同的類型處理器核之間通過共享存儲器(1-2)實現(xiàn)數(shù)據(jù)傳輸以及通過總線控制單元(1-6)和任務(wù)調(diào)度總線(1-4)對處理器核進(jìn)行行為控制。
2.根據(jù)權(quán)利要求1所述的用于OFDM無線通信系統(tǒng)的異構(gòu)多核數(shù)字信號處理器,其特征在于,所述處理器核(1-3)包括功能單元(1-7)和總線控制單元(1-6);所述總線控制單元 (1-6)用于控制功能單元產(chǎn)生和接收計算任務(wù)的調(diào)度信息;所述功能單元(1-7)用于完成數(shù)字信號的計算邏輯,包括取值部件(2-1)、譯碼器(2-2)、控制單元(2-4)、數(shù)據(jù)交換網(wǎng)絡(luò) (2-5)、計算單元(2-6)、存儲器接口單元(2-7)、全局寄存器組(2-8)和私有存儲器(2-9); 其中,所述總線控制單元(1-6)包括控制邏輯(5-1)、仲裁邏輯(5-2)、選通器(5-3)、匹配控制邏輯(5-4)、任務(wù)調(diào)度信息寄存器(5-5)、仲裁信息寄存器(5-12)和FIFO存儲器(5_13); 所述控制邏輯(5-1)用來產(chǎn)生任務(wù)調(diào)度命令;所述仲裁邏輯(5-2)用來判斷當(dāng)前對處理器核的任務(wù)調(diào)度信息是否有效、所述FIFO存儲器(5-13)用來臨時存儲任務(wù)調(diào)度信息。
3.根據(jù)權(quán)力要求1所述的用于OFDM無線通信系統(tǒng)的異構(gòu)多核數(shù)字信號處理器,其特征在于,所述處理器核(1-3)為超長指令字處理器,所述超長指令字處理器指令字流水分別經(jīng)過取值寄存器(3-1)、譯碼寄存器(3-2 )和執(zhí)行寄存器(3-3 )。
4.根據(jù)權(quán)力要求3所述的用于OFDM無線通信系統(tǒng)的異構(gòu)多核數(shù)字信號處理器,其特征在于,所述指令字由標(biāo)識位字段(4-1),常量立即數(shù)字段(4-2),控制字段(4-3)和⑶字段 (4-4 );所述⑶字段(4-4 )用來完成對各個所述計算單元(2-6 )及存儲器接口單元(2-7 )的控制;所述處理器核(1-3 )內(nèi)的每個計算單元(2-6 )及存儲器接口( 2-7 )單元均占用一個指令字段(4-5 ),構(gòu)成⑶字段(4-4);每個所述指令字段(4-5 )包括⑶標(biāo)識位字段(4-7 ),右操作數(shù)字段(4-8 ),左操作數(shù)字段(4-9 ),目的地址字段(4-10 )和操作數(shù)字段(4-11)。
全文摘要
本發(fā)明提供了一種用于OFDM無線通信系統(tǒng)的異構(gòu)多核數(shù)字信號處理器,涉及微處理器體系結(jié)構(gòu)領(lǐng)域。該處理器由一個按行形式分布的處理器核集合構(gòu)成,處理器核按計算能力分類,可以分為不同的類型,不同類型的處理器核以開環(huán)互聯(lián)方式完成處理器核之間的相互連接;所述處理器核均為超長指令字處理器;處理器核間的通過共享存儲器實現(xiàn)數(shù)據(jù)傳輸,通過處理器核內(nèi)的總線控制單元與處理器核外的任務(wù)調(diào)度總線完成控制信號傳送。本發(fā)明的每個處理器核可以從其他的處理器核接收任務(wù)調(diào)度信息,從而減少了專用任務(wù)調(diào)度單元或主控制處理器的設(shè)計,保證了多核處理器的可擴(kuò)展性及簡易性。多核處理器結(jié)構(gòu),可以有效的契合無線通信基帶處理特點,達(dá)到較高的性能功耗比。
文檔編號G06F15/173GK102306139SQ20111024260
公開日2012年1月4日 申請日期2011年8月23日 優(yōu)先權(quán)日2011年8月23日
發(fā)明者史少波, 徐力, 王沁 申請人:北京科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1