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

?

面向雷達(dá)多目標(biāo)跟蹤應(yīng)用的專用片上系統(tǒng)設(shè)計(jì)

2023-12-20 02:27:06王榮陽(yáng)曲國(guó)遠(yuǎn)徐佩園
關(guān)鍵詞:協(xié)處理器航跡加速器

王榮陽(yáng),曲國(guó)遠(yuǎn),童 歆,徐佩園,李 威

(中國(guó)航空無(wú)線電電子研究所 電子部,上海 200233)

0 引 言

雷達(dá)多目標(biāo)跟蹤應(yīng)用的核心問(wèn)題是對(duì)多傳感器在某時(shí)刻獲取的多目標(biāo)點(diǎn)跡信息進(jìn)行點(diǎn)跡-航跡關(guān)聯(lián),并判斷各點(diǎn)跡與航跡的關(guān)聯(lián)效果[1]。目前主流的關(guān)聯(lián)處理算法為最近領(lǐng)域類算法[2],此類算法先對(duì)點(diǎn)跡航跡坐標(biāo)進(jìn)行大量雙精度歐式距離計(jì)算,然后通過(guò)條件比較、強(qiáng)數(shù)據(jù)關(guān)聯(lián)運(yùn)算對(duì)關(guān)聯(lián)結(jié)果進(jìn)行判斷。這類算法專有的數(shù)據(jù)流通路和對(duì)算力的高要求導(dǎo)致其使用通用處理器(CPU)和圖形處理器(GPU)實(shí)現(xiàn)運(yùn)算效率不高[3,4]。這是因?yàn)镃PU擅長(zhǎng)管理和調(diào)度,比如數(shù)據(jù)讀取、文件管理、人機(jī)交互等,面對(duì)稠密計(jì)算的數(shù)據(jù)處理應(yīng)用,CPU的固有優(yōu)勢(shì)無(wú)法發(fā)揮出來(lái)。而GPU擅長(zhǎng)規(guī)則化的單指令多數(shù)據(jù)并行處理,沒(méi)有為多目標(biāo)匹配算法設(shè)計(jì)專有數(shù)據(jù)通路和訪存通路,且硬件底層細(xì)節(jié)隱蔽,面對(duì)專用加速時(shí)能效比不高。在目標(biāo)數(shù)量較多時(shí),傳統(tǒng)處理平臺(tái)對(duì)于算法的整體處理延時(shí)較大,導(dǎo)致系統(tǒng)感知能力變?nèi)酢?/p>

本文借鑒領(lǐng)域?qū)S锰幚砥鞯脑O(shè)計(jì)思想[5,6],通過(guò)對(duì)雷達(dá)多目標(biāo)點(diǎn)跡-航跡關(guān)聯(lián)算法的分析,設(shè)計(jì)了一種低延時(shí)專用片上系統(tǒng),該片上系統(tǒng)由主處理器和專用加速器構(gòu)成,通用主處理器用來(lái)處理算法中數(shù)據(jù)、指令收發(fā)、判斷、分支跳轉(zhuǎn)操作,專用加速器對(duì)算法中的主要計(jì)算瓶頸如統(tǒng)計(jì)距離計(jì)算和多目標(biāo)匹配進(jìn)行加速,在FPGA平臺(tái)上設(shè)計(jì)、優(yōu)化片上系統(tǒng)并驗(yàn)證了專用加速器對(duì)于這類應(yīng)用的有效性,為后續(xù)的領(lǐng)域?qū)S糜?jì)算架構(gòu)設(shè)計(jì)思想、方法奠定了基礎(chǔ)。

1 問(wèn)題分析

多目標(biāo)跟蹤的核心是進(jìn)行目標(biāo)點(diǎn)跡和航跡關(guān)聯(lián),這是一個(gè)在復(fù)雜約束條件下進(jìn)行組合優(yōu)化得到最優(yōu)解的問(wèn)題[7]。點(diǎn)跡航跡關(guān)聯(lián)算法分為統(tǒng)計(jì)距離計(jì)算、篩選、多目標(biāo)匹配、整合4個(gè)步驟,如圖1所示。

圖1 點(diǎn)跡航跡關(guān)聯(lián)算法流程

其中,統(tǒng)計(jì)距離計(jì)算將多個(gè)傳感器新探測(cè)到的目標(biāo)點(diǎn)跡坐標(biāo)與已知航跡坐標(biāo)按照預(yù)定公式進(jìn)行運(yùn)算,得到統(tǒng)計(jì)距離矩陣,涉及大規(guī)模矩陣運(yùn)算;篩選是將統(tǒng)計(jì)距離矩陣的所有元素進(jìn)行閾值比較、條件篩選,得到一批已關(guān)聯(lián)上的點(diǎn)跡航跡信息和一批未關(guān)聯(lián)上的點(diǎn)跡航跡信息;多目標(biāo)匹配將未關(guān)聯(lián)的點(diǎn)跡和航跡通過(guò)匹配算法進(jìn)行處理,得到最優(yōu)的點(diǎn)跡航跡關(guān)聯(lián)信息;整合是將前兩步的已關(guān)聯(lián)信息整合到一起,送給后續(xù)步驟進(jìn)行航跡生成或更新。

在整個(gè)多目標(biāo)點(diǎn)跡航跡關(guān)聯(lián)算法的運(yùn)行過(guò)程中,統(tǒng)計(jì)距離計(jì)算和多目標(biāo)匹配是最耗時(shí)的兩個(gè)步驟,涉及到定制化的大規(guī)模矩陣運(yùn)算以及重復(fù)迭代運(yùn)算,適合專用加速處理;而篩選和整合運(yùn)算量不大,但涉及到分支判斷跳轉(zhuǎn)等操作,適合采用通用處理器處理。

目前針對(duì)特定算法設(shè)計(jì)專用加速器有兩種常用的方案,一種是在輸入輸出接口處放置硬件加速器的方式,數(shù)據(jù)在輸入到輸出的過(guò)程中即完成運(yùn)算,這種類型的加速器稱為通道加速器。例如,文獻(xiàn)[8]中設(shè)計(jì)了基于以太網(wǎng)口的多核并行CNN硬件加速器,利用運(yùn)算器內(nèi)嵌緩存、運(yùn)算過(guò)程分割和數(shù)據(jù)復(fù)用,減少運(yùn)算器和存儲(chǔ)器之間的數(shù)據(jù)交互,提高CNN運(yùn)算的并行度,提升了訓(xùn)練和推理效率。另一種為協(xié)處理器方案,將加速器嵌入主處理器的內(nèi)存或流水線中,通過(guò)自定義指令的形式來(lái)調(diào)用,實(shí)現(xiàn)主處理器與協(xié)處理的緊耦合。文獻(xiàn)[9]中基于RISC-V(reduced instruction set compute-V)擴(kuò)展指令集設(shè)計(jì)實(shí)現(xiàn)了一個(gè)低功耗嵌入式卷積神經(jīng)網(wǎng)絡(luò)協(xié)處理器,該協(xié)處理器內(nèi)核擴(kuò)展4條自定義神經(jīng)網(wǎng)絡(luò)指令,最大程度復(fù)用了原RISC-V的數(shù)據(jù)通路和功能模塊,減小了額外的功耗和芯片面積等資源開(kāi)銷。

面向算法的不同特征,合理采用不同的硬件加速器設(shè)計(jì)方案可以最大程度的對(duì)算法定制化加速,提高運(yùn)算效率。根據(jù)對(duì)點(diǎn)跡航跡關(guān)聯(lián)算法和硬件加速器方案的分析,對(duì)于統(tǒng)計(jì)距離計(jì)算和篩選步驟中的閾值比較部分,本文將設(shè)計(jì)多運(yùn)算單元的通道加速器實(shí)現(xiàn)并行加速,運(yùn)算結(jié)果交由主處理器調(diào)用;對(duì)于多目標(biāo)匹配算法將設(shè)計(jì)RISC-V自定義擴(kuò)展指令及對(duì)應(yīng)協(xié)處理器完成對(duì)算法的細(xì)粒度加速。第2節(jié)將對(duì)這兩種硬件加速器設(shè)計(jì)進(jìn)行詳細(xì)闡述。

2 片上系統(tǒng)設(shè)計(jì)

面向多目標(biāo)跟蹤應(yīng)用的低延遲專用片上系統(tǒng)主要由3部分組成,即主處理器、用于統(tǒng)計(jì)距離計(jì)算的通道加速器、用于多目標(biāo)匹配算法的自定義指令協(xié)處理器,片上系統(tǒng)的整體架構(gòu)如圖2所示。

圖2 面向多目標(biāo)跟蹤應(yīng)用的專用片上系統(tǒng)框架

RISC-V作為一款新型指令集具有輕量化、開(kāi)發(fā)效率高等特性,自提出至今,得到越來(lái)越多的應(yīng)用[10,11]。RISC-V指令集創(chuàng)新性地提供了4類自定義指令格式,允許片上系統(tǒng)開(kāi)發(fā)者按照需求設(shè)計(jì)相關(guān)的協(xié)處理器電路,實(shí)現(xiàn)主處理器和協(xié)處理器的緊耦合。通過(guò)設(shè)計(jì)自定義指令及對(duì)應(yīng)協(xié)處理器,開(kāi)發(fā)者可以容易的在復(fù)雜算法代碼中插入對(duì)應(yīng)的自定義指令,從而實(shí)現(xiàn)對(duì)算法的細(xì)粒度加速。本文在伯克利官方開(kāi)發(fā)的開(kāi)源RISC-V架構(gòu)片上系統(tǒng)生成平臺(tái)Rocket Chip[12]上設(shè)計(jì)實(shí)現(xiàn)片上系統(tǒng),同時(shí)在處理器內(nèi)配置浮點(diǎn)運(yùn)算單元(float processing unit,F(xiàn)PU)。主處理器與協(xié)處理器之間通過(guò)RoCC接口實(shí)現(xiàn)緊耦合,RoCC接口用于主處理器與協(xié)處理器間的通信以及協(xié)處理器對(duì)內(nèi)存的訪問(wèn)。為了提高協(xié)處理器的數(shù)據(jù)存取效率,將一級(jí)數(shù)據(jù)緩存配置成Scratchpad的形式,即作為一塊有地址的片上存儲(chǔ)使用。此外片上系統(tǒng)還配置了用于數(shù)據(jù)存儲(chǔ)的DDR4控制器、用于與上位機(jī)通信和調(diào)試的UART接口、PCIE接口以及用于向上位機(jī)發(fā)送計(jì)算完成信號(hào)的GPIO接口。

片上系統(tǒng)的運(yùn)算流程如圖3所示:PC上位機(jī)將不同傳感器的多個(gè)目標(biāo)坐標(biāo)由PCIE總線發(fā)送至片上系統(tǒng)的PCIEtoAXI4接口處理模塊,通過(guò)內(nèi)部AXI4總線將數(shù)據(jù)存儲(chǔ)至雙口緩存中。數(shù)據(jù)接收完成后通道加速器開(kāi)始進(jìn)行統(tǒng)計(jì)距離計(jì)算,同時(shí)將有效的結(jié)果由寫(xiě)入雙口緩存組,通道加速器計(jì)算完成后通過(guò)中斷管理模塊向處理器發(fā)送中斷信號(hào)。主處理器收到中斷信號(hào)后開(kāi)始執(zhí)行篩選運(yùn)算。當(dāng)執(zhí)行到可以進(jìn)行協(xié)處理器加速的多目標(biāo)匹配計(jì)算步驟時(shí),主處理器會(huì)向協(xié)處理器發(fā)送自定義指令,協(xié)處理器接收到自定義指令后開(kāi)始啟動(dòng)相應(yīng)的計(jì)算,通過(guò)RoCC總線從內(nèi)存中讀取數(shù)據(jù)并進(jìn)行流水線計(jì)算,計(jì)算結(jié)束后將結(jié)果寫(xiě)回內(nèi)存固定位置。根據(jù)RoCC接口的定義,主處理器在等待協(xié)處理器的過(guò)程采用了寫(xiě)回目的寄存器的方式,這種處理方式主處理器會(huì)暫停運(yùn)行,關(guān)閉流水線,直到協(xié)處理器完成工作寫(xiě)回目的寄存器后再開(kāi)始工作。全部算法運(yùn)行完成后,主處理器通過(guò)GPIO通知PC上位機(jī)將結(jié)果取回。

圖3 面向多目標(biāo)跟蹤應(yīng)用的專用片上系統(tǒng)數(shù)據(jù)流程

2.1 主處理器配置與設(shè)計(jì)

本設(shè)計(jì)中主處理器核需要處理浮點(diǎn)比較、浮點(diǎn)加減等運(yùn)算,且算法中產(chǎn)生的中間數(shù)據(jù)比較多,因此配置主處理器核時(shí)需要較高的性能、較大的內(nèi)存容量以及浮點(diǎn)運(yùn)算單元。為了使用協(xié)處理器加速多目標(biāo)匹配階段的運(yùn)算,還需配置協(xié)處理器RoCC接口。主處理器與協(xié)處理器的耦合關(guān)系框架如圖4所示,當(dāng)主處理器收到自定義擴(kuò)展指令后會(huì)在寫(xiě)回階段將該指令通過(guò)擴(kuò)展指令發(fā)送模塊發(fā)往協(xié)處理器。協(xié)處理器端指令響應(yīng)和解碼模塊負(fù)責(zé)接收和解碼對(duì)應(yīng)的指令,運(yùn)算控制邏輯模塊控制計(jì)算模塊與內(nèi)存控制模塊從內(nèi)存中讀取、寫(xiě)入相應(yīng)的值。由于協(xié)處理器和主處理器都會(huì)訪問(wèn)內(nèi)存,故設(shè)置一個(gè)仲裁模塊來(lái)仲裁二者對(duì)內(nèi)存的訪問(wèn)權(quán)限。

圖4 主處理器與協(xié)處理器耦合關(guān)系框架

主處理器采用基于RISC-V指令集的開(kāi)源處理器核Rocket Chip。RISC-V擴(kuò)展指令集定義的標(biāo)準(zhǔn)擴(kuò)展指令中,“I”表示基本整數(shù)操作,包含整數(shù)計(jì)算、load、store和控制流指令,RV64代表整數(shù)寄存器寬度為64位,“M”表示標(biāo)準(zhǔn)整數(shù)乘法和除法擴(kuò)展,“A”代表標(biāo)準(zhǔn)原子指令擴(kuò)展,“F”代表標(biāo)準(zhǔn)單精度浮點(diǎn)擴(kuò)展,“D”表示標(biāo)準(zhǔn)雙精度浮點(diǎn)擴(kuò)展,一個(gè)基本整數(shù)內(nèi)核加上這4個(gè)標(biāo)準(zhǔn)擴(kuò)展(“IMAFD”)組成一個(gè)通用的標(biāo)量指令集。本文采用RV64IMAFD架構(gòu),主要參數(shù)配置見(jiàn)表1。

RISC-V自定義指令的格式如圖5所示,各個(gè)字段的含義可參考文獻(xiàn)[13]。當(dāng)一條指令進(jìn)入流水線被解碼后,主處理器會(huì)判斷這條指令的格式是否為自定義指令,而后其會(huì)在執(zhí)行完這條指令后保證這條指令之前的指令執(zhí)行完畢,如果xd為1,則在這條自定義指令執(zhí)行完成發(fā)往RoCC接口后關(guān)斷流水線,如果xd為0則在自定義指令后繼續(xù)執(zhí)行。

表1 主處理器核參數(shù)配置

圖5 RoCC自定義指令格式

2.2 通道加速器架構(gòu)設(shè)計(jì)

通道加速器特指一類在數(shù)據(jù)輸入輸出通路上進(jìn)行計(jì)算的硬件加速器,輸入數(shù)據(jù)經(jīng)過(guò)該類加速器后可直接獲得的預(yù)期的運(yùn)算結(jié)果。本文通道加速器的結(jié)構(gòu)如圖6中虛線框內(nèi)所示,該通道加速器依附于輸入數(shù)據(jù)通道,主要由多路分配器、控制邏輯、乒乓緩存、10個(gè)通道計(jì)算單元以及與每個(gè)通道計(jì)算單元對(duì)應(yīng)的3個(gè)雙口緩存組成。

圖6 通道加速器結(jié)構(gòu)框架

上位機(jī)通過(guò)PCIE將待計(jì)算的數(shù)據(jù)發(fā)往與通道加速器對(duì)應(yīng)的點(diǎn)跡、航跡坐標(biāo)存儲(chǔ)器,數(shù)據(jù)發(fā)送完成之后向通道加速器的控制邏輯發(fā)送完成信號(hào),通道加速器的控制邏輯收到該信號(hào)后返回握手信號(hào)并開(kāi)始數(shù)據(jù)運(yùn)算。首先讀取點(diǎn)跡的3個(gè)坐標(biāo)緩存,先將乒乓緩存1中寫(xiě)滿10組點(diǎn)跡的XYZ坐標(biāo),10組坐標(biāo)分別與10個(gè)計(jì)算通道對(duì)應(yīng)。而后每個(gè)時(shí)鐘周期依次從航跡對(duì)應(yīng)的3個(gè)坐標(biāo)存儲(chǔ)器中讀出一組XYZ坐標(biāo)送入10個(gè)計(jì)算通道,并開(kāi)始與點(diǎn)跡的XYZ坐標(biāo)進(jìn)行預(yù)定公式的統(tǒng)計(jì)距離計(jì)算。同時(shí),控制邏輯會(huì)再次從點(diǎn)跡坐標(biāo)存儲(chǔ)器中讀取10組坐標(biāo)存于乒乓緩存2,當(dāng)航跡坐標(biāo)存儲(chǔ)器的所有坐標(biāo)取完后將乒乓緩存2的10組坐標(biāo)發(fā)送給10個(gè)計(jì)算通道,再?gòu)暮桔E坐標(biāo)存儲(chǔ)器中依次讀取所有的坐標(biāo)并送入10個(gè)通道進(jìn)行計(jì)算。接下來(lái),再?gòu)狞c(diǎn)跡坐標(biāo)存儲(chǔ)器中讀取10組坐標(biāo)存入乒乓緩存1,按照上述步驟循環(huán),直到點(diǎn)跡所有坐標(biāo)被取走且與航跡所有坐標(biāo)完成統(tǒng)計(jì)距離計(jì)算后停止。

通道計(jì)算單元內(nèi)部采用浮點(diǎn)流水線設(shè)計(jì),分別采用浮點(diǎn)減法、浮點(diǎn)乘法、浮點(diǎn)除法單元。為了節(jié)約片上緩存資源,本設(shè)計(jì)根據(jù)算法的特點(diǎn)在通道計(jì)算單元中加入了浮點(diǎn)比較器,將計(jì)算結(jié)果與設(shè)定的閾值作比較,若計(jì)算結(jié)果小于閾值則將該值保存,同時(shí)將該結(jié)果對(duì)應(yīng)的航跡序號(hào)記錄,再將點(diǎn)跡序號(hào)對(duì)應(yīng)的數(shù)值加一。這兩個(gè)保存的數(shù)值和序號(hào),可以減少原算法篩選步驟中的大量運(yùn)算,從而對(duì)篩選部分起到加速效果。每個(gè)通道加速器的存儲(chǔ)器組包含有效距離、有效坐標(biāo)、有效序號(hào)存儲(chǔ)器3種類型。當(dāng)處理器通過(guò)總線發(fā)送地址、使能信號(hào)訪問(wèn)雙口緩存時(shí),控制邏輯根據(jù)全局地址范圍譯碼使能對(duì)應(yīng)的存儲(chǔ)器供主處理器訪問(wèn)。

通道加速器完成計(jì)算任務(wù)后將有效數(shù)據(jù)存儲(chǔ)于對(duì)應(yīng)的存儲(chǔ)器組,并向中斷管理模塊發(fā)送中斷信號(hào),中斷管理模塊經(jīng)過(guò)仲裁決定響應(yīng)后將中斷信號(hào)發(fā)往主處理器,最終將處理的結(jié)果取回。

2.3 自定義指令協(xié)處理器設(shè)計(jì)

多目標(biāo)匹配算法作為最近領(lǐng)域類算法的核心,一直是最優(yōu)關(guān)聯(lián)研究的難點(diǎn)和熱點(diǎn)問(wèn)題。當(dāng)下比較常用的多目標(biāo)匹配算法有拍賣算法、遺傳算法以及粒子群算法等[14-16]。粒子群算法是較早出現(xiàn)的用于解決最優(yōu)化的搜索算法,自提出以來(lái)得到諸多研究,基礎(chǔ)粒子群算法存在局部搜索能力差、過(guò)早收斂等問(wèn)題,因此在不斷的衍生改進(jìn);拍賣算法和遺傳算法都為較成熟算法,文獻(xiàn)[17]根據(jù)不同的作戰(zhàn)方法分別采用遺傳算法和拍賣算法對(duì)目標(biāo)關(guān)聯(lián)進(jìn)行了研究,發(fā)現(xiàn)遺傳算法對(duì)全局優(yōu)化分配占優(yōu)勢(shì),而針對(duì)重點(diǎn)目標(biāo),從局部采用拍賣算法效果更好,且拍賣算法的實(shí)時(shí)性更高,這更加符合雷達(dá)多目標(biāo)跟蹤應(yīng)用場(chǎng)景的需求。

拍賣算法的基本思想源于實(shí)際拍賣的過(guò)程,其過(guò)程為將n個(gè)物品拍賣給m個(gè)買家,每個(gè)買家對(duì)每件商品都有一個(gè)預(yù)期價(jià)值,假設(shè)買家j對(duì)物品k的心理價(jià)值為ajk(當(dāng)該買家想獲得該物品需要支付價(jià)格pjk大于該買家對(duì)該物品的心理價(jià)值時(shí)則該買家不會(huì)購(gòu)買該物品),對(duì)于j買家來(lái)說(shuō)其購(gòu)買k商品的預(yù)期利潤(rùn)為ajk-pjk,對(duì)每個(gè)買家來(lái)說(shuō)該預(yù)期利潤(rùn)應(yīng)該為最大值。當(dāng)每個(gè)買家都得到了最大利潤(rùn)時(shí),這組物品與買家的分配就達(dá)到了整體最優(yōu)。在實(shí)際算法實(shí)現(xiàn)過(guò)程中引入一個(gè)用于打破循環(huán)的正數(shù)ε,每個(gè)物品的每次競(jìng)標(biāo)價(jià)格需要比上一次至少增加ε。本文將為新舊未跟蹤坐標(biāo)視為買家的物品,利用拍賣算法將未關(guān)聯(lián)信息對(duì)進(jìn)行匹配。

基于拍賣算法的多目標(biāo)匹配在每一輪的運(yùn)算中都會(huì)計(jì)算一次買家拍賣一件物品的利潤(rùn),通過(guò)合理設(shè)計(jì)算法,將該步運(yùn)算從算法中獨(dú)立出來(lái),為買家設(shè)置一個(gè)利潤(rùn)向量,通過(guò)調(diào)用協(xié)處理器執(zhí)行拍賣利潤(rùn)計(jì)算,并采用流水線形式將該買家對(duì)當(dāng)前所有的物品利潤(rùn)全部計(jì)算完,主處理器再依次從該向量中取對(duì)應(yīng)的值用于拍賣。運(yùn)行過(guò)程中,提前將有效信息寫(xiě)入兩個(gè)源寄存器,包括價(jià)格向量在內(nèi)存中的基地址、標(biāo)價(jià)向量在內(nèi)存中的基地址、待計(jì)算的數(shù)量、計(jì)算結(jié)果存于內(nèi)存的基地址。由于算法中存在數(shù)據(jù)依賴性,故設(shè)置了目的寄存器有效,當(dāng)協(xié)處理器在工作時(shí)主處理器會(huì)暫停并等待協(xié)處理器寫(xiě)回目的寄存器。拍賣利潤(rùn)計(jì)算自定義指令的格式見(jiàn)表2。

表2 自定義指令格式

本文設(shè)計(jì)的協(xié)處理器結(jié)構(gòu)如圖7所示。圖中粗實(shí)線代表數(shù)據(jù)線,細(xì)實(shí)線代表控制線。其工作過(guò)程為:當(dāng)指令響應(yīng)和解碼模塊收到對(duì)應(yīng)指令后將該指令對(duì)應(yīng)的源寄存器中有效數(shù)據(jù)保存在對(duì)應(yīng)寄存器中,運(yùn)算控制邏輯控制輸入數(shù)據(jù)內(nèi)存地址計(jì)算模塊,從寄存器中對(duì)應(yīng)的基地址開(kāi)始計(jì)算取數(shù)地址并發(fā)往內(nèi)存控制模塊,內(nèi)存控制模塊負(fù)責(zé)與內(nèi)存接口進(jìn)行通信,當(dāng)內(nèi)存可響應(yīng)時(shí)將對(duì)應(yīng)地址發(fā)出,并將內(nèi)存發(fā)來(lái)的數(shù)據(jù)存入對(duì)應(yīng)的緩存中。當(dāng)兩個(gè)取數(shù)緩存中的數(shù)據(jù)存完后,運(yùn)算控制邏輯控制拍賣利潤(rùn)計(jì)算模塊開(kāi)始從兩個(gè)緩存中讀取數(shù)據(jù)并以流水線形式進(jìn)行拍賣利潤(rùn)計(jì)算。每計(jì)算完一個(gè)結(jié)果就將結(jié)果保存在輸出數(shù)據(jù)緩存中,當(dāng)所有輸出數(shù)據(jù)都計(jì)算完后運(yùn)算控制邏輯再計(jì)算輸出數(shù)據(jù)對(duì)應(yīng)的內(nèi)存地址并由輸出控制模塊將這些數(shù)據(jù)存入內(nèi)存對(duì)應(yīng)位置。整個(gè)流程結(jié)束后協(xié)處理器在目的寄存器寫(xiě)零,處理器從利潤(rùn)向量中取數(shù)并進(jìn)行下一步運(yùn)算。

圖7 協(xié)處理器結(jié)構(gòu)框架

3 實(shí)驗(yàn)結(jié)果與分析

本文使用PC上位機(jī)以及主芯片為Xilinx XCKU040-2FFVA1156i FPGA的開(kāi)發(fā)板進(jìn)行專用片上系統(tǒng)原型測(cè)試驗(yàn)證。測(cè)試所用的數(shù)據(jù)按照雷達(dá)多目標(biāo)跟蹤典型應(yīng)用情況生成,開(kāi)發(fā)板如圖8所示。

圖8 專用片上系統(tǒng)測(cè)試驗(yàn)證開(kāi)發(fā)板

PC上位機(jī)通過(guò)PCIE發(fā)送點(diǎn)跡、航跡原始數(shù)據(jù)到開(kāi)發(fā)板,接收并記錄各個(gè)步驟運(yùn)行時(shí)間。專用片上系統(tǒng)包含RISC-V主處理器、兩種加速器、片上存儲(chǔ)資源以及內(nèi)嵌邏輯分析儀。在KU040 FPGA上部署后,各項(xiàng)資源使用情況見(jiàn)表3。其中PCIE-AXI4和通道加速器的主頻為250 Mhz,Rocket Chip核的主頻為100 Mhz。

表3 FPGA資源使用情況

為了對(duì)比Rocket Chip和加速器的實(shí)際性能,選用相同平臺(tái)未搭載加速器的片上系統(tǒng)以及同為RISC-V架構(gòu)的開(kāi)源處理器蜂鳥(niǎo)E200片上系統(tǒng)進(jìn)行測(cè)試。圖9為內(nèi)嵌邏輯分析儀對(duì)信號(hào)進(jìn)行捕獲的截圖,圖中XA、YA、ZA、XB、YB、ZB為點(diǎn)跡航跡坐標(biāo)數(shù)據(jù),cmd_valid為過(guò)程觸發(fā),使能cmdReady進(jìn)行運(yùn)算,Calvalid信號(hào)表示出現(xiàn)一個(gè)有效的值并存儲(chǔ),最終通過(guò)中斷向處理器提出響應(yīng)。統(tǒng)計(jì)并記錄了完整運(yùn)行同一算法時(shí)3種片上系統(tǒng)的耗時(shí),見(jiàn)表4。未掛載加速器的Rocket Chip片上系統(tǒng)運(yùn)行原始算法時(shí)間為536 ms,掛載了通道加速器和協(xié)處理器的Rocket Chip專用片上系統(tǒng)運(yùn)行算法時(shí)間為96 ms,蜂鳥(niǎo)E200片上系統(tǒng)運(yùn)行算法時(shí)間為1624 ms。

圖9 內(nèi)嵌邏輯分析儀信號(hào)捕獲

表4 幾種片上系統(tǒng)性能對(duì)比

從總體運(yùn)算時(shí)間來(lái)看,本片上系統(tǒng)相比Rocket Chip處理器原始片上系統(tǒng)的加速比為5.6倍;相比蜂鳥(niǎo)E200處理器片上系統(tǒng)的加速比為16.9倍。本算法應(yīng)用場(chǎng)景是以運(yùn)算速度為主要優(yōu)化目標(biāo),該處理器架構(gòu)符合領(lǐng)域?qū)S糜?jì)算目標(biāo)需求,可以預(yù)見(jiàn),在替換為更高性能的RISC-V核后,本文設(shè)計(jì)的RISC-V擴(kuò)展指令集架構(gòu)的片上系統(tǒng)將獲得更高的能效比。

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

多目標(biāo)跟蹤應(yīng)用算法復(fù)雜的數(shù)據(jù)流導(dǎo)致當(dāng)前的主流運(yùn)算平臺(tái)對(duì)這類算法的運(yùn)算效率不高。本文通過(guò)對(duì)當(dāng)前主流最近領(lǐng)域類算法結(jié)構(gòu)及數(shù)據(jù)流分析,設(shè)計(jì)了面向多目標(biāo)跟蹤應(yīng)用的專用片上系統(tǒng)架構(gòu),通過(guò)合理設(shè)計(jì)硬件通道加速器、面向拍賣利潤(rùn)計(jì)算的自定義擴(kuò)展指令以及對(duì)應(yīng)的協(xié)處理器實(shí)現(xiàn)了對(duì)該算法的硬件加速。

在FPGA原型驗(yàn)證平臺(tái)的實(shí)際測(cè)試表明,該協(xié)處理器片上系統(tǒng)本算法的性能相較于原平臺(tái)有顯著提升。面向此類應(yīng)用,本設(shè)計(jì)具有一定的領(lǐng)域通用性,對(duì)于其它最近領(lǐng)域類算法,只需更改處理器運(yùn)行的軟件代碼就可以繼續(xù)調(diào)用加速器實(shí)現(xiàn)通用性的加速,也可以設(shè)計(jì)新的自定義指令來(lái)進(jìn)行針對(duì)性硬件加速,為領(lǐng)域?qū)S闷舷到y(tǒng)設(shè)計(jì)提供了思路和現(xiàn)實(shí)參考。

猜你喜歡
協(xié)處理器航跡加速器
輪滑加速器
化學(xué)工業(yè)的“加速器”
全民小康路上的“加速器”
基于HBase分布式數(shù)據(jù)庫(kù)海量數(shù)據(jù)序列存儲(chǔ)優(yōu)化
基于HBase分布式數(shù)據(jù)庫(kù)海量數(shù)據(jù)序列存儲(chǔ)優(yōu)化
夢(mèng)的航跡
青年歌聲(2019年12期)2019-12-17 06:32:32
HBase分布式二級(jí)索引通用方案研究
自適應(yīng)引導(dǎo)長(zhǎng)度的無(wú)人機(jī)航跡跟蹤方法
視覺(jué)導(dǎo)航下基于H2/H∞的航跡跟蹤
等待“加速器”
合山市| 赫章县| 阿拉善右旗| 乐昌市| 平邑县| 板桥市| 霞浦县| 嵩明县| 神池县| 英山县| 新和县| 武鸣县| 黔西| 海盐县| 利川市| 广元市| 那曲县| 玉门市| 凤山市| 吉木萨尔县| 镇宁| 綦江县| 仙桃市| 萍乡市| 金坛市| 游戏| 轮台县| 浦北县| 沽源县| 平原县| 甘孜| 永兴县| 深泽县| 谷城县| 广元市| 庄河市| 台山市| 姚安县| 平塘县| 龙陵县| 南乐县|