国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種可重構(gòu)的處理器架構(gòu)

2018-10-27 11:25:08劉小明潘勇先
科技視界 2018年16期
關(guān)鍵詞:雜波寄存器指令

劉小明 潘勇先

【摘 要】本文介紹了一種可重構(gòu)數(shù)字信號(hào)處理器架構(gòu)。該處理器基于VLIW+SIMD結(jié)構(gòu),以粗粒度的運(yùn)算宏作為可重構(gòu)部件,采用靜態(tài)重構(gòu)的方式實(shí)現(xiàn)架構(gòu)的重組,可實(shí)現(xiàn)1~4個(gè)邏輯核,每個(gè)邏輯核可集成1~16個(gè)運(yùn)算宏。

【關(guān)鍵詞】數(shù)字信號(hào)處理器;48bit指令集;邏輯核

中圖分類號(hào): TP332 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2018)16-0032-003

DOI:10.19694/j.cnki.issn2095-2457.2018.16.014

【Abstract】This paper introduces a reconfigurable dsp architecture.This processor is base on VLIW+SIMD structure.A coarse-grained operation macro is used as reconfigurable part.The processor is reorganized in a static way ,it can reconstitute 1~4 logical cores,every core can have 1~16 operation macros.

【Key words】Digital Signal Processor(DSP);48bit Instruction Set;Logical Core

0 引言

現(xiàn)代信號(hào)處理應(yīng)用中,任務(wù)級(jí)并行與數(shù)據(jù)級(jí)并行兩種處理模式兩極分化的情況日益嚴(yán)重。工程實(shí)現(xiàn)中,針對(duì)不同應(yīng)用領(lǐng)域的要求,需構(gòu)建不同的處理器硬件平臺(tái)。面向任務(wù)級(jí)并行,需構(gòu)建多核處理器平臺(tái),適應(yīng)多任務(wù)并發(fā)的要求;而數(shù)據(jù)級(jí)并行,則需構(gòu)建單核處理器平臺(tái),面向單任務(wù)應(yīng)用,選擇處理能力強(qiáng)的單核處理器搭建系統(tǒng)。具有可重構(gòu)架構(gòu)的處理器可針對(duì)不同應(yīng)用需求,進(jìn)行處理器結(jié)構(gòu)重組,力求解決不同應(yīng)用特征下,計(jì)算平臺(tái)通用化的問(wèn)題,是國(guó)內(nèi)外研究熱點(diǎn)。

1 處理器架構(gòu)

1.1 重構(gòu)方案選擇

可重構(gòu)處理器的重構(gòu)方式較FPGA存在顯著的差異??芍貥?gòu)處理器的重構(gòu)部件的顆粒度普遍較粗,多為處理器核級(jí)或運(yùn)算部件級(jí)[1]。

相較于處理器核重構(gòu),采用運(yùn)算部件級(jí)重構(gòu)亦存在以下不足:

(1)用戶程序移植難度較大,即放在可重構(gòu)邏輯上實(shí)現(xiàn)的函數(shù)在移植過(guò)程中因處理器架構(gòu)的差異,需要重新設(shè)計(jì);

(2)類似FPGA開發(fā),需要根據(jù)每種應(yīng)用重新設(shè)計(jì)配置信息,開發(fā)效率沒(méi)有利用編程方式實(shí)現(xiàn)效率高;

(3)針對(duì)該種結(jié)構(gòu)驗(yàn)證所有信號(hào)處理應(yīng)用的難度較大,若不充分驗(yàn)證可能導(dǎo)致后續(xù)實(shí)際應(yīng)用過(guò)程中,無(wú)法滿足部分特殊運(yùn)算需求的情況出現(xiàn);

(4)運(yùn)算宏(運(yùn)算部件的組合)為實(shí)現(xiàn)可重構(gòu)功能添加了大量的連線及選擇器,嚴(yán)重影響主頻的提升。

基于上述原因本文提出的可重構(gòu)處理器架構(gòu),放棄基于運(yùn)算部件的重構(gòu)方式,加大重構(gòu)部件的粒度,使用靜態(tài)可重構(gòu)的方式實(shí)現(xiàn)甚顆粒度的邏輯核可重構(gòu),這也是目前國(guó)內(nèi)外可重構(gòu)處理器廣泛采取的實(shí)現(xiàn)方案之一。

本文以一組運(yùn)算及存儲(chǔ)部件構(gòu)建的運(yùn)算宏為最小重構(gòu)顆粒,采用靜態(tài)重構(gòu)方式,完成處理器內(nèi)部架構(gòu)重組,適用不用應(yīng)用場(chǎng)景需求。該處理器架構(gòu)內(nèi)部包含4條獨(dú)立的指令流水、16個(gè)運(yùn)算宏及相應(yīng)外設(shè)。通過(guò)重構(gòu)可將處理器配置1-4個(gè)處理器邏輯核,每個(gè)處理器邏輯核包含1-16個(gè)運(yùn)算宏。處理器采用VLIW+SIMD結(jié)構(gòu),每條指令總線一次可發(fā)射8條48bit指令字,單指令最多可驅(qū)動(dòng)16運(yùn)算宏參與計(jì)算。

1.2 具體實(shí)施方式

(1)邏輯核重構(gòu)

處理器主要包含兩種工作模式:初始和重組模式:

初始模式:該模式下的處理器形成一個(gè)邏輯核,包含16個(gè)運(yùn)算宏。

重組模式:該模式可將運(yùn)算宏及指令流水進(jìn)行重組,構(gòu)建不同規(guī)模的邏輯核。在此條件下,處理器內(nèi)部根據(jù)需要可以是一個(gè)核,也可以是2個(gè)核、3個(gè)核或者4個(gè)核,每一個(gè)核內(nèi)部的運(yùn)算單元宏的個(gè)數(shù)可以不一樣,內(nèi)部不使用的指令流水和運(yùn)算宏均可設(shè)置成低功耗模式。

其中,運(yùn)算宏作為最小重構(gòu)顆粒,每個(gè)運(yùn)算宏包含私有的數(shù)據(jù)存儲(chǔ)器、分配譯碼邏輯、運(yùn)算部件及DMA控制器。運(yùn)算部件由1個(gè)本地通用寄存器組、8個(gè)算數(shù)邏輯單元(ALU)、4個(gè)乘法器、2個(gè)移位器和1個(gè)超算器(SPU)構(gòu)成,支持16bit、32bit、單精度和雙精度浮點(diǎn)格式數(shù)據(jù)計(jì)算。通用寄存器作為數(shù)據(jù)暫存設(shè)備負(fù)責(zé)運(yùn)算部件與宏內(nèi)私有數(shù)據(jù)存儲(chǔ)器之間的數(shù)據(jù)交互。運(yùn)算宏內(nèi)部包含3條獨(dú)立的64bit數(shù)據(jù)總線,最多可同時(shí)實(shí)現(xiàn)2寫1讀或2讀1寫操作。宏內(nèi)數(shù)據(jù)存儲(chǔ)空間劃分為6個(gè)block。如圖2所示。

重構(gòu)流程如下:

(1)增設(shè)一重構(gòu)配置模塊(core_fusion_config),將其作為共享外設(shè)掛接在核內(nèi)總線上。該重構(gòu)配置模塊包含一組配置寄存器,用于設(shè)置重構(gòu)信息,如指令流水的選擇寄存器。

(2)上電復(fù)位后,首先通過(guò)訪存指令設(shè)置重構(gòu)配置模塊,待所有配置寄存器設(shè)置完成后,通過(guò)重構(gòu)指令(core_fusion)完成結(jié)構(gòu)重組。

(3)上電復(fù)位后,處理器進(jìn)入用戶代碼的加載過(guò)程,此時(shí)處理器處于初始工作模式,等同一個(gè)核加載過(guò)程;

(4)與引導(dǎo)程序的末尾執(zhí)行處理器重構(gòu)。在完成core_fusion指令后才開始用戶代碼的執(zhí)行,運(yùn)行于不同流水線上的用戶程序。

邏輯核取指:

處理器指令總線采用流水方式,共15級(jí),劃分為前段和后段兩個(gè)部分,前段7級(jí)流水,后段8級(jí)。其中,指令總線前段為邏輯核的公共部分,每個(gè)邏輯核1條共4條;指令總線后段處于每個(gè)運(yùn)算宏的內(nèi)部,為每個(gè)運(yùn)算宏私有,共16條。指令總線的前段負(fù)責(zé)從指令cache中獲取指令包,并從指令包中提取可同時(shí)執(zhí)行的指令執(zhí)行行,發(fā)射給指令總線后段處理,同時(shí)根據(jù)指令總線后端反饋的同步控制信息,控制指令總線前段的執(zhí)行。指令總線后端根據(jù)重構(gòu)配置信息,判斷本運(yùn)算宏歸屬于哪個(gè)邏輯核,并選取對(duì)應(yīng)的指令總線前端執(zhí)行用戶程序。

處理器的數(shù)據(jù)及程序采用統(tǒng)一共享的存儲(chǔ)空間,且數(shù)據(jù)及程序均按照32bit的位寬進(jìn)行存儲(chǔ),采用字節(jié)編址。處理器采用48bit指令集,48bit可以容納更多的指令以及可重構(gòu)操作信息,邏輯核每個(gè)時(shí)鐘周期最多可接收8條48bit單字指令。由于48非2n,為保證一次取指長(zhǎng)度不低于8*48bit(即12*32bit)且保證cache設(shè)計(jì)簡(jiǎn)單,實(shí)際取指過(guò)程中,程序控制器從私有一級(jí)指令Cache中按照16個(gè)32bit對(duì)齊的方式進(jìn)行取指,并將其放入流水線前段緩存。流水線前段會(huì)根據(jù)指令的行結(jié)束標(biāo)志將完整的執(zhí)行行發(fā)射到邏輯核當(dāng)中。若程序控制器一次取指過(guò)程無(wú)法獲取完整的執(zhí)行行就需要與下一個(gè)取指行完成執(zhí)行行的拼接。為簡(jiǎn)化指令的拼接邏輯,所以子程序及中斷服務(wù)程序的入口地址均需為16個(gè)32bit字對(duì)齊。

同步:

可重構(gòu)架構(gòu)面臨的最重要問(wèn)題之一就是分屬同一邏輯核運(yùn)算宏之間的操作同步。引發(fā)同步問(wèn)題的主要情況包括:

●單宏內(nèi)部數(shù)據(jù)相關(guān)所引發(fā)的多宏間同步問(wèn)題;

●程序控制引發(fā)的多宏同步;

通過(guò)處理器架構(gòu)和編程約束兩個(gè)方面解決同步控制問(wèn)題。編程約束方面,處理器的數(shù)據(jù)相關(guān)由軟件檢測(cè)處理。當(dāng)使用匯編語(yǔ)言編程時(shí),匯編工具鏈一旦檢測(cè)到數(shù)據(jù)相關(guān)會(huì)通過(guò)編譯警告的方式提醒編程人員,編程人員可以有選擇性的進(jìn)行修改,若使用C等高級(jí)語(yǔ)言編程,編譯器會(huì)自行解除相關(guān)。

在處理器架構(gòu)方面,將控制信號(hào)局部化,盡量避免全局性控制信號(hào)的產(chǎn)生。將分配譯碼邏輯分散到每個(gè)運(yùn)算宏的內(nèi)部,同步操作拆分成運(yùn)算宏內(nèi)部及指令流水的前段兩類。當(dāng)出現(xiàn)流水線清除及停頓等同步操作時(shí),流水線前段及運(yùn)算宏會(huì)根據(jù)各自的控制寄存器分別處理。

程序控制類寄存器(用于控制指令流水的阻塞、清除等同步操作)可劃分成運(yùn)算宏私有、公有及流水線同步控制三類。運(yùn)算宏內(nèi)的私有寄存器根據(jù)本運(yùn)算宏的信息進(jìn)行設(shè)置,運(yùn)算宏內(nèi)的公用寄存器及4條流水線的同步控制器會(huì)根據(jù)所有運(yùn)算宏的私有寄存器進(jìn)行更新。運(yùn)算宏及流水線前段的同步操作分別受控于宏內(nèi)公有及流水線同步控制寄存器。同步控制信息的局部化,避免出現(xiàn)過(guò)多的全局控制,影響芯片時(shí)序,同時(shí),便于重構(gòu)任意數(shù)目運(yùn)算宏到邏輯核當(dāng)中。

(2)指令集

匯編指令主要由謂詞信息、運(yùn)算宏信息及操作描述信息組成,機(jī)器指令如圖5所示。任意指令均可根據(jù)運(yùn)算宏內(nèi)一組16bit寄存器-P[15:0]中某一位(由機(jī)器碼中的第35~32位指定)選擇是否真正執(zhí)行。每個(gè)邏輯核的規(guī)??筛鶕?jù)實(shí)際需求按照運(yùn)算宏進(jìn)行任意重組,每個(gè)邏輯核可包含運(yùn)算宏的數(shù)目由1~16個(gè)不等,每條指令驅(qū)動(dòng)的運(yùn)算宏由匯編指令中的運(yùn)算宏信息指定,所有指令驅(qū)動(dòng)的運(yùn)算宏在邏輯序號(hào)上必須連續(xù),圖5中的C、D表示運(yùn)算宏起止序號(hào)。

每個(gè)運(yùn)算宏內(nèi)的指令運(yùn)行只受本運(yùn)算宏內(nèi)的P[15:0]控制。16bit控制寄存器的第0位-P0為一特殊寄存器,程序員只能讀,不能賦值,上電復(fù)位后該位置“1”。所用運(yùn)算宏在程序員未指定謂詞寄存器的情況下均受控于P0。例如:[P1]M0_1R3=R2+R1 表示運(yùn)算宏0及宏1內(nèi)執(zhí)行的32bit加法操作分別受控于各自宏內(nèi)P1寄存器;而M0_1R3=R2+R1 則表示運(yùn)算宏0及宏1內(nèi)執(zhí)行的32bit加法操作分別受控于各自宏內(nèi)P0寄存器。處理器可通過(guò)參數(shù),選擇謂詞寄存器為‘1執(zhí)行,還是為‘0執(zhí)行。如:[P1] M0_1R3=R2+R1表示P1為‘1執(zhí)行該加法指令,[!P1] M0_1R3=R2+R1表示P1為‘0執(zhí)行加法指令。當(dāng)匯編指令中省略謂詞寄存器的描述信息時(shí),表示當(dāng)P0為‘1時(shí)執(zhí)行該指令,即M0_1R3=R2+R1與[P0]M0_1R3=R2+R1等價(jià)。當(dāng)匯編指令中省略運(yùn)算宏的描述信息時(shí),表示只有邏輯標(biāo)號(hào)為“0”的運(yùn)算宏執(zhí)行該指令,即[P2]R3=R2+R1與[P2]M0_0R3=R2+R1等價(jià)。

3 測(cè)試及驗(yàn)證

為了體現(xiàn)處理器的可重構(gòu)的特點(diǎn),基于cadence公司pxp硬件加速器構(gòu)建仿真平臺(tái)[3],選擇雷達(dá)信號(hào)處理PD模式作為典型用例加以實(shí)現(xiàn),PD模式是現(xiàn)代雷達(dá)中較為常用的一種處理模式其利用多普勒效應(yīng)檢測(cè)目標(biāo)信息,主要包括脈沖壓縮、濾波處理和恒虛警處理三個(gè)部分。算法實(shí)現(xiàn)過(guò)程中,由處理器的1核完成時(shí)域脈壓處理,完成波束形成,2核完成波束的橫向?yàn)V波器組處理,由3核對(duì)濾波運(yùn)算的結(jié)果進(jìn)行對(duì)數(shù)運(yùn)算,最后由4核完成恒虛警處理,檢測(cè)出目標(biāo)點(diǎn),算法可充分檢驗(yàn)處理器的多任務(wù)及并行處理能力,經(jīng)典型應(yīng)用檢驗(yàn),處理器功能滿足應(yīng)用要求。

脈沖壓縮可充分利用發(fā)射機(jī)平均功率。脈沖壓縮對(duì)接收信號(hào)進(jìn)行匹配濾波處理,濾波器具有時(shí)延-頻率特性,延遲時(shí)間隨頻率變化,實(shí)現(xiàn)脈沖內(nèi)各頻率分量在時(shí)域被積疊,即壓縮,形成幅度增大、寬度變窄的脈沖信號(hào)。

本系統(tǒng)濾波運(yùn)算采用FIR濾波器。濾波器采用了16個(gè)脈沖。在脈沖重復(fù)頻率內(nèi),安排16個(gè)窄帶濾波器組覆蓋,其中每個(gè)窄帶濾波器在零頻處設(shè)置零點(diǎn),這樣提高地物雜波的抑制能力。幅頻特性如圖8所示:

16個(gè)脈沖相參積累,提高了信噪比。雜波和目標(biāo)信號(hào)將處于不同窄帶內(nèi),在快門限檢測(cè)中進(jìn)行分頻道處理,由于雜波是體雜波,幅度起伏不大,快門限可以有效剔除雜波虛警,而目標(biāo)為點(diǎn)目標(biāo),滿足門限檢測(cè)要求就能提取。由于地雜波的幅度在距離上起伏較大,且雜波強(qiáng)度一般很大,目標(biāo)在這個(gè)頻道內(nèi)不易提取,處理時(shí)將零頻道剔除(必要時(shí),根據(jù)需要考慮剔除相鄰頻道數(shù)據(jù))。我們將從剩余頻道中對(duì)數(shù)據(jù)分析,提取目標(biāo)。

為控制雜波抑制濾波器輸出的雜波剩余引起的虛警我們采用了單元平均選大恒虛警處理。

4 小節(jié)

DSP性能的持續(xù)提升僅靠單核架構(gòu)是無(wú)法實(shí)現(xiàn)的,多核是當(dāng)前實(shí)現(xiàn)其性能提升的最主要手段,可重構(gòu)技術(shù)是充分發(fā)揮多核效率的重要途徑。國(guó)內(nèi)在高性能可重構(gòu)多核DSP的研究方面,相比于發(fā)達(dá)國(guó)家和先進(jìn)研究機(jī)構(gòu)起步要晚,在關(guān)鍵技術(shù)與制造能力方面存在一定差距,在系列化DSP IP核積累、多核體系構(gòu)架研究以及指令集設(shè)計(jì)等方面仍有較大的不足。如何增加可重構(gòu)多核架構(gòu)的效能,提升相關(guān)配套軟件環(huán)境的實(shí)用性,是未來(lái)研究重點(diǎn)。

【參考文獻(xiàn)】

[1]王延升.粗粒度動(dòng)態(tài)可重構(gòu)處理器中的高能效關(guān)鍵配置技術(shù)研究[D].清華大學(xué),2014:1-10.

[2]許牧.可重構(gòu)眾核流處理器體系結(jié)構(gòu)關(guān)鍵技術(shù)研究[D].中國(guó)科學(xué)技術(shù)大學(xué),2012:13-37.

[3]胡海生,賈一凡.基于PalladiumXP硬件加速器的JTAG UVM系統(tǒng)設(shè)計(jì).中國(guó)集成電路,2015(193):31-34.

猜你喜歡
雜波寄存器指令
聽我指令:大催眠術(shù)
STAR2000型空管一次雷達(dá)雜波抑制淺析
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
分簇結(jié)構(gòu)向量寄存器分配策略研究*
密集雜波環(huán)境下確定性退火DA-HPMHT跟蹤算法
相關(guān)廣義復(fù)合分布雷達(dá)海雜波仿真
微波雷達(dá)海雜波混沌特性分析
坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
齐齐哈尔市| 长垣县| 巴中市| 吐鲁番市| 大荔县| 阳朔县| 龙井市| 甘谷县| 百色市| 永州市| 宣化县| 青阳县| 壤塘县| 永登县| 曲周县| 衡水市| 大安市| 临安市| 锡林浩特市| 云梦县| 宝丰县| 安化县| 深圳市| 于都县| 蓬莱市| 铁岭市| 裕民县| 平原县| 五原县| 湄潭县| 蓬莱市| 庆城县| 文登市| 额敏县| 成武县| 定安县| 隆子县| 西和县| 屯留县| 兴城市| 迁安市|