• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      高性能通用數(shù)字信號(hào)處理器指令分配

      2014-03-13 17:39:12
      關(guān)鍵詞:分配器寄存器指令

      (中國(guó)電子科技集團(tuán)公司第三十八研究所集成電路設(shè)計(jì)中心,安徽合肥230088)

      0 引言

      目前數(shù)字信號(hào)處理芯片[1]已經(jīng)成為高速自動(dòng)控制、圖像處理[2]、通信技術(shù)、雷達(dá)及各種信號(hào)處理中的核心部件。國(guó)內(nèi)可編程超大規(guī)模DSP集成電路芯片的研制還處在初步嘗試階段,而針對(duì)具有復(fù)雜指令集的超大規(guī)模集成電路芯片內(nèi)部指令分配,以及執(zhí)行單元和總線(xiàn)通道占用調(diào)度的電路設(shè)計(jì)還是個(gè)尚待解決的難題。

      國(guó)際上目前應(yīng)用最廣泛的是美國(guó)TI公司的TMS系列和ADI公司的TS系列DSP芯片。ADI公司的兩款高性能數(shù)字信號(hào)處理芯片ADSP TS101S[3]、ADSP TS20XS[4]更具有代表性。

      在ADSP TS20XS芯片內(nèi)有雙運(yùn)算模塊,每個(gè)運(yùn)算模塊包含1個(gè)算數(shù)邏輯單元(ALU)、1個(gè)乘法器、1個(gè)移位器、1個(gè)寄存器組和1個(gè)通信邏輯運(yùn)算單元(CLU)。1個(gè)指令行中最多有4條運(yùn)算塊指令。

      由于ADSP TS20XS芯片在每個(gè)運(yùn)算核內(nèi)的各類(lèi)運(yùn)算單元只有一個(gè),不存在單條運(yùn)算指令對(duì)應(yīng)多個(gè)可執(zhí)行運(yùn)算單元的情況,因此與本文所涉及的一個(gè)指令行中存在多條指令,每條指令對(duì)應(yīng)一個(gè)或多個(gè)運(yùn)算執(zhí)行單元,且指令可以自動(dòng)分配運(yùn)算單元或者可以指定其中的任意一個(gè)運(yùn)算單元的情況有所不同。其指令與運(yùn)算單元一對(duì)一的分配與本文所實(shí)現(xiàn)的多對(duì)多的自動(dòng)化分配及存在優(yōu)先級(jí)的指定分配難度是不可比擬的。

      這里要解決的是多條同類(lèi)型指令自動(dòng)分配或者指定分配至多個(gè)運(yùn)算執(zhí)行單元的分配難題,其中指定執(zhí)行的情況又存在多條指令搶占同一個(gè)執(zhí)行單元的情況。這些都將是本文所要解決的重點(diǎn)所在。

      1 設(shè)計(jì)實(shí)現(xiàn)

      本文項(xiàng)目BWDSP100芯片[5-6]中包括4個(gè)運(yùn)算執(zhí)行核(X,Y,Z,T),每一個(gè)運(yùn)算執(zhí)行核包含4個(gè)乘法器、8個(gè)ALU運(yùn)算單元、2個(gè)移位器、1個(gè)特定運(yùn)算單元和1組64字的寄存器組。1個(gè)指令行中最多有16條運(yùn)算指令。

      為達(dá)到高效、快速、合理的分配目的,本文提出的分配技術(shù)主要包括指令分核模塊、指令分類(lèi)模塊、指令分配模塊和多核指令分配集成模塊等。這些模塊共同組合,完成了BWDSP100芯片所有指令的分配任務(wù),實(shí)現(xiàn)了可編程超大規(guī)模DSP集成電路芯片運(yùn)算執(zhí)行資源占用及傳輸通道調(diào)度的完整功能。另外指令分配模塊又包括自動(dòng)分配模塊、指定分配模塊、優(yōu)先級(jí)選擇模塊、組合選擇模塊和輸出模塊。這些模塊以流水的方式協(xié)同完成了指令行各種類(lèi)型指令的分配工作,不同類(lèi)型指令的分配工作均可以由指令分配模塊完成。在指令分類(lèi)模塊后,通過(guò)多次例化指令分配模塊并設(shè)置不同類(lèi)型指令分配的參數(shù)即可完成不同種類(lèi)指令的分配工作。

      高性能通用信號(hào)處理器指令分配的具體實(shí)施方式主要包括4類(lèi):指令分配、單核運(yùn)算指令分配集成、訪(fǎng)存指令分配集成和多核指令分配。

      1.1 指令分配

      指令分配模塊主要解決多條同類(lèi)型指令對(duì)應(yīng)多個(gè)執(zhí)行單元的分配問(wèn)題,同時(shí)存在指令指定占用1個(gè)或者多個(gè)執(zhí)行單元的情況,并包括多條指令搶占同一個(gè)運(yùn)算執(zhí)行單元的問(wèn)題。該指令分配模塊可適用于各種不同種類(lèi)指令的分配,其內(nèi)部的分配電路結(jié)構(gòu)類(lèi)似,如圖1所示。

      圖1 指令分配結(jié)構(gòu)圖

      指令分配主要包括以下步驟:

      步驟1 將分類(lèi)后的指令及對(duì)應(yīng)的類(lèi)別編碼分別輸入到指定分配和自動(dòng)分配模塊。

      步驟2 自動(dòng)分配模塊根據(jù)指令類(lèi)別和指令特征碼填寫(xiě)該類(lèi)指令自動(dòng)分配標(biāo)識(shí)。根據(jù)指令占用運(yùn)算單元的個(gè)數(shù)情況,經(jīng)過(guò)自動(dòng)選擇分配單元模塊,輸出自動(dòng)分配對(duì)應(yīng)的運(yùn)算單元編碼。其中運(yùn)算單元占用的數(shù)目可以是1~8個(gè)不等,根據(jù)具體指令類(lèi)型而定。

      步驟3 指定分配模塊根據(jù)指令類(lèi)別和指令指定分配特征碼填寫(xiě)指令指定分配標(biāo)識(shí)。根據(jù)指令指定的運(yùn)算單元編號(hào),輸出該類(lèi)指令指定分配對(duì)應(yīng)的運(yùn)算單元編碼。其中指定運(yùn)算單元的數(shù)目可以是1~8個(gè)不等,并且可以指定相鄰2個(gè)或者相鄰多個(gè)運(yùn)算單元,由指令集的對(duì)應(yīng)指令及相應(yīng)的標(biāo)志位確定。

      步驟4 指定分配模塊輸出的結(jié)果通過(guò)優(yōu)先級(jí)選擇模塊按照指定優(yōu)先級(jí)排序輸出。具有優(yōu)先指定權(quán)的指令經(jīng)過(guò)該選擇模塊后會(huì)優(yōu)先搶占其指定的運(yùn)算單元。

      步驟5 將指定分配和自動(dòng)分配的結(jié)果輸入到組合選擇器。指定輸出具有對(duì)運(yùn)算單元的優(yōu)先選擇權(quán),在指定分配確定的情況下,選擇空閑運(yùn)算單元的編碼按照自動(dòng)分配模塊的分配要求對(duì)其余指令自動(dòng)分配。

      步驟6 經(jīng)過(guò)組合選擇器的分配編碼輸入至“寄存器堆資源占用輸出”模塊、“分配指令控制輸出”模塊和“分配指令數(shù)據(jù)輸出”模塊,得到指令行中該類(lèi)指令的分配執(zhí)行結(jié)果。

      1.2 單核運(yùn)算指令分配集成

      通過(guò)指令分配模塊得到的是單類(lèi)指令的分配輸出。將運(yùn)算執(zhí)行核內(nèi)所有類(lèi)型的運(yùn)算指令分配模塊綜合集成為一個(gè)單核分配模塊,如圖2為X運(yùn)算核指令分配集成,主要包括:ALU(加/減法)指令分配器、MULT(乘法)指令分配器、SHIFT(移位)指令分配器、SPU(特殊運(yùn)算)指令分配器、控制寄存器指令分配器、核間傳輸指令分配器、塊浮點(diǎn)指令分配器以及所有分配輸出的時(shí)鐘寄存器。

      圖2 X運(yùn)算核指令分配結(jié)構(gòu)圖

      1.3 訪(fǎng)存指令(數(shù)據(jù)通道)分配集成

      訪(fǎng)存指令分配的內(nèi)部實(shí)施步驟與上述情況類(lèi)似,所不同的是數(shù)據(jù)通道分配需要按照讀、寫(xiě)、立即數(shù)操作三種情況進(jìn)行通道分配,以避免讀寫(xiě)沖突。因此數(shù)據(jù)通道分配相應(yīng)以上三種類(lèi)別分別設(shè)置了三種不同的通道分配模塊(如圖3所示):

      (1)讀訪(fǎng)存指令分配 主要實(shí)現(xiàn)讀訪(fǎng)存指令由數(shù)據(jù)存儲(chǔ)器到寄存器堆之間“讀”數(shù)據(jù)通道的占用分配。

      (2)寫(xiě)訪(fǎng)存指令分配 主要實(shí)現(xiàn)寫(xiě)訪(fǎng)存指令由數(shù)據(jù)存儲(chǔ)器到寄存器堆之間“寫(xiě)”數(shù)據(jù)通道的占用分配。

      (3)立即數(shù)訪(fǎng)存指令分配 主要實(shí)現(xiàn)立即數(shù)訪(fǎng)存指令對(duì)數(shù)據(jù)存儲(chǔ)器的立即數(shù)操作通道占用分配。

      圖3 訪(fǎng)存指令分配結(jié)構(gòu)

      1.4 多核指令分配

      如圖4所示,多核指令分配主要包括以下幾個(gè)步驟:

      步驟1 BWDSP100處理器的指令位寬為512位,主要包括執(zhí)行核外指令和執(zhí)行核內(nèi)指令。執(zhí)行核內(nèi)指令首先經(jīng)過(guò)指令分核模塊,該模塊接收到512位指令流,通過(guò)對(duì)指令核標(biāo)志位的判斷,將指令分成4個(gè)512位寬的單核指令,其中4個(gè)執(zhí)行核分別命名為X核、Y核、Z核和T核。

      步驟2 指令經(jīng)過(guò)指令分核模塊即進(jìn)入到指令分類(lèi)模塊。并通過(guò)對(duì)指令特征位的辨識(shí),將指令所屬類(lèi)別進(jìn)行編碼。輸出一個(gè)與指令行指令逐條對(duì)應(yīng)的類(lèi)別碼。如果指令行某條指令為空,則對(duì)應(yīng)的類(lèi)別碼約定為0。指令分類(lèi)模塊又包括核外指令分類(lèi)和核內(nèi)指令分類(lèi)。其中核外指令分類(lèi)主要針對(duì)訪(fǎng)存指令的讀、寫(xiě)及立即數(shù)指令進(jìn)行操作;核內(nèi)指令的分類(lèi)模塊所分類(lèi)的指令主要有算數(shù)邏輯單元(ALU)、乘法器(MULT)、移位器(SHIF)、特殊運(yùn)算單元(SPU)、控制寄存器、核間傳輸指令和塊浮點(diǎn)運(yùn)算指令等。

      步驟3 經(jīng)過(guò)上述處理后的指令進(jìn)入到指令分配階段,相應(yīng)地將經(jīng)過(guò)步驟2處理后的兩路分支——執(zhí)行核內(nèi)的單核指令分類(lèi)結(jié)果和執(zhí)行核外的訪(fǎng)存指令分類(lèi)結(jié)果,分別輸入到X/Y/Z/T單核指令分配模塊或者執(zhí)行核外的訪(fǎng)存指令分配模塊,從而得到指令分配的輸出結(jié)果,包括控制輸出、數(shù)據(jù)輸出和寄存器堆資源占用標(biāo)志輸出。

      步驟4 每個(gè)執(zhí)行核內(nèi)設(shè)置一個(gè)選擇器,將所有單核指令分配集成模塊、核外指令分配模塊、數(shù)據(jù)通道(訪(fǎng)存指令)分配模塊的輸出經(jīng)過(guò)相應(yīng)的時(shí)鐘寄存器并綜合輸入核間分配選擇器,實(shí)現(xiàn)核間傳輸通道交叉占用以及核內(nèi)外的寄存器堆資源占用的標(biāo)志選擇輸出。

      步驟5 最后將選擇器的輸出結(jié)果與指令分配輸出結(jié)果經(jīng)過(guò)多核指令分配集成模塊輸出整個(gè)高性能通用信號(hào)處理器芯片的綜合分配輸出結(jié)果。

      圖4 多核指令分配集成框圖

      2 實(shí)驗(yàn)結(jié)果

      以下利用本文所述的分配技術(shù)進(jìn)行了硬件實(shí)現(xiàn)和波形仿真,圖5是硬件RTL設(shè)計(jì)的部分實(shí)驗(yàn)仿真結(jié)果。分配電路的輸入信號(hào)是512 bit指令行sys_instr_in,instr_x/y/z/t是指令分核模塊的輸出,Read_Mem_data0/1是訪(fǎng)存數(shù)據(jù)通道的讀指令分配結(jié)果,其余信號(hào)是X運(yùn)算核的指令分配輸出。

      圖5 硬件RTL設(shè)計(jì)仿真結(jié)果

      從圖中可以看到第一個(gè)指令fa19_81c8指定分配到第3號(hào)乘法器Mult_data3;第二條指令b3a4_b587指定分配到第2個(gè)讀訪(fǎng)存通道Mult_data3;第三條指令f935_c1cc指定分配到第3號(hào)ALU運(yùn)算部件Alu_data3;第四條指令bda5_2b1d指定分配到第3號(hào)ALU運(yùn)算部件Alu_data2;第五條指令e924_5398是可以自動(dòng)占用4個(gè)運(yùn)算部件的復(fù)數(shù)運(yùn)算指令,由圖中可以看到該指令自動(dòng)指定分配到前面4個(gè)ALU運(yùn)算單元上:Alu_data0/1/2/3;第六條指令是多個(gè)指令的聯(lián)合分配,值得說(shuō)明的是,當(dāng)Alu2和Alu3分別被指定分配的指令3da5_2b1d和7935_c1cc占用后,占用4個(gè)ALU運(yùn)算部件的指令6924_5398會(huì)自動(dòng)跳過(guò)被指定占用的運(yùn)算部件,分別分配到Alu0、Alu1、Alu4和Alu5。

      由仿真波形可見(jiàn)該技術(shù)實(shí)現(xiàn)了指令指定任意一個(gè)運(yùn)算單元的指定分配,以及指令不指定運(yùn)算單元時(shí)的自動(dòng)分配。真正實(shí)現(xiàn)了存在優(yōu)先級(jí)的指定分配和多對(duì)多的自動(dòng)化分配電路。解決了超大規(guī)模集成電路芯片內(nèi)部指令分配的難題。

      3 結(jié)束語(yǔ)

      本文針對(duì)高性能通用數(shù)字信號(hào)處理器內(nèi)部的指令分配問(wèn)題提出了一種解決方法,對(duì)該技術(shù)的實(shí)現(xiàn)步驟進(jìn)行了詳細(xì)闡述,可以適用于加、減、乘、除、移位、訪(fǎng)存和跳轉(zhuǎn)等各種運(yùn)算指令,也適用于邏輯運(yùn)算、選大或選小處理、數(shù)據(jù)傳輸、控制寄存器讀寫(xiě)指令、核間傳輸?shù)戎噶?。每種指令對(duì)應(yīng)一個(gè)或多個(gè)運(yùn)算執(zhí)行單元,既可以自動(dòng)分配也可以指定分配。解決了超大規(guī)模集成電路芯片內(nèi)部指令分配,以及執(zhí)行單元和總線(xiàn)通道占用電路設(shè)計(jì)的難題。

      [1]Texas Instruments.TMS320C6671 Fixed and Floating Point Digital Signal Processor Data Manual[M].US:Texas Instruments,2012:105-120.

      [2]BATEMAN A.DSP算法應(yīng)用與設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2003:1-14.

      [3]Analog Devices Inc.ADSP-TS201 Tiger-SHARC Embedded Processor[M].US:Analog Devices Inc,2006:1-80.

      [4]劉書(shū)明,羅勇江.ADSP TS20XS系列DSP原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007:30-31.

      [5]中國(guó)電子科技集團(tuán)公司第三十八研究所.BWDSP100軟件用戶(hù)手冊(cè)[M].合肥:中國(guó)電子科技集團(tuán)公司第三十八研究所,2011:1-20.

      [6]史鴻聲,穆文爭(zhēng),劉麗.基于“魂芯一號(hào)”的雷達(dá)信號(hào)處理機(jī)設(shè)計(jì)[J].雷達(dá)科學(xué)與技術(shù),2012,10(2):161-164.SHI Hong-sheng,MU Wen-zheng,LIU Li.Design of Radar Signal Processor Based on HunXin-1 Chip[J].Radar Sciecne and Technology,2012,10(2):161-164.(in Chinese)

      猜你喜歡
      分配器寄存器指令
      聽(tīng)我指令:大催眠術(shù)
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      ARINC661顯控指令快速驗(yàn)證方法
      LED照明產(chǎn)品歐盟ErP指令要求解讀
      懸臂分配器
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      一種新穎的寬帶大功率分配器
      具PLL的5輸出超低抖動(dòng)時(shí)鐘分配器提供獨(dú)特的多芯片輸出同步方法
      近終型連鑄分配器布流效果對(duì)比研究
      上海金屬(2014年6期)2014-12-20 07:59:50
      坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
      永平县| 沛县| 松溪县| 龙南县| 博乐市| 玉山县| 沙雅县| 息烽县| 吴堡县| 杭锦后旗| 新巴尔虎左旗| 壶关县| 奎屯市| 钟祥市| 天水市| 菏泽市| 张掖市| 弥勒县| 临朐县| 惠东县| 宽城| 玉环县| 扬州市| 永修县| 桦南县| 保定市| 福海县| 连江县| 德清县| 平谷区| 石渠县| 松阳县| 赞皇县| 盈江县| 滦平县| 石棉县| 鄂伦春自治旗| 澄江县| 海安县| 巴中市| 南华县|