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

一種支持多任務(wù)并行的多核SoC架構(gòu)設(shè)計(jì)方法

文檔序號:9505974閱讀:1070來源:國知局
一種支持多任務(wù)并行的多核SoC架構(gòu)設(shè)計(jì)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于電子工程和計(jì)算機(jī)科學(xué)領(lǐng)域。本發(fā)明具體涉及一種支持多任務(wù)并行的多核SoC架構(gòu)設(shè)計(jì)方法,旨在通過構(gòu)建多核SoC架構(gòu),實(shí)現(xiàn)多任務(wù)在多核上的并行執(zhí)行,以提升多任務(wù)的執(zhí)行效率。
【背景技術(shù)】
[0002]隨著無人機(jī)技術(shù)及其裝備的研究和應(yīng)用,如何進(jìn)一步提升無人機(jī)機(jī)載控制系統(tǒng)的性能就顯得很有必要。無人機(jī)機(jī)載控制系統(tǒng)主要包括慣性導(dǎo)航模塊、GPS/北斗導(dǎo)航模塊、地形匹配導(dǎo)航模塊以及各種參數(shù)的采集與計(jì)算等。目前對于這些數(shù)據(jù)的處理普遍采用的方式是:設(shè)計(jì)很多獨(dú)立的控制模塊,如ARM模塊完成圖像處理、DSP模塊完成導(dǎo)航參數(shù)計(jì)算以及FPGA模塊完成數(shù)據(jù)采集與轉(zhuǎn)換等;設(shè)計(jì)模塊陣列來處理數(shù)據(jù),如ARM陣列、DSP陣列以及FPGA陣列等;利用多線程設(shè)計(jì)來并行處理數(shù)據(jù);采用專用計(jì)算機(jī)。
[0003]上述采用的幾種機(jī)載數(shù)據(jù)處理方式都存在著很大不足:ARM、DSP是一種傳統(tǒng)的串行處理器,不適用于對實(shí)時性要求較高的場合,F(xiàn)PGA雖然具備高度的并行特性,但是其并行完全是以犧牲自身內(nèi)部的邏輯資源為代價(jià)的,一個不算很復(fù)雜的算法就很有可能占據(jù)FPGA內(nèi)部絕大部分硬件資源;不管是獨(dú)立的模塊還是模塊陣列,它們之間的數(shù)據(jù)通信是一種具有很大延遲的片外總線通信方式,嚴(yán)重降低了數(shù)據(jù)處理的實(shí)時性;ARM模塊往往是單核,系統(tǒng)移植后在其上進(jìn)行多線程編程并不能真正提升數(shù)據(jù)并行處理的能力,因?yàn)閷τ趩魏薈PU而言,多線程反映在微觀層面上只是各個線程隨著時間片的輪轉(zhuǎn)分時被CPU處理而已,依然是串行;專用計(jì)算機(jī)的體積和重量都使得其不適合設(shè)計(jì)機(jī)載控制系統(tǒng),數(shù)量眾多的控制模塊也嚴(yán)重限制了無人機(jī)向著高集成、小型化方向發(fā)展。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提出一種支持多任務(wù)并行的多核SoC(片上系統(tǒng))架構(gòu)設(shè)計(jì)方法,實(shí)現(xiàn)多任務(wù)在多核上的并行執(zhí)行,以提升多任務(wù)的執(zhí)行效率。
[0005]本發(fā)明解決其技術(shù)問題是采取以下技術(shù)方案實(shí)現(xiàn)的:一種支持多任務(wù)并行的多核SoC架構(gòu)設(shè)計(jì)方法,該方法包括如下步驟:
[0006]步驟(1)搭建MicroBlaze雙核模塊和ARM雙核模塊,并基于此設(shè)計(jì)基于多核多線程的多任務(wù)并行執(zhí)行模塊,同時基于FPGA設(shè)計(jì)硬件加速模塊;
[0007]步驟⑵利用FPGA同時采集外部多路數(shù)據(jù):
[0008]①在FPGA內(nèi)部利用VHDL語言設(shè)計(jì)多個process模塊;
[0009]②在FPGA內(nèi)部利用VHDL語言設(shè)計(jì)SP1、I2C以及串口時序模塊,并利用SP1、I2C、串口以及GP10接口完成多路數(shù)據(jù)采集;
[0010]③在FPGA內(nèi)部利用VHDL語言完成多路數(shù)據(jù)的預(yù)處理;
[0011]步驟(3)FPGA將多路數(shù)據(jù)傳輸?shù)讲煌松喜⑿袌?zhí)行:
[0012]①FPGA 通過 User-1P 與 MicroBlaze 雙核交互;
[0013]②FPGA通過User-1P和Linux驅(qū)動模塊與ARM雙核交互;
[0014]③MicroBlaze雙核之間通過MailBox交互;
[0015]④ARM雙核之間通過Cache交互;
[0016]⑤MicroBlaze雙核與ARM雙核之間通過0CM交互;
[0017]步驟(4) ARM雙核移植嵌入式Linux系統(tǒng)以便進(jìn)行系統(tǒng)級編程;
[0018]步驟(5)搭建的多核SoC架構(gòu)通過HDM1、VGA、UART、USB以及Ethernet接口將多路結(jié)果并行傳輸至上位機(jī)中。
[0019]其中,所述的SoC芯片型號為Xilinx公司的xc7z020clg484_l。
[0020]本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:
[0021](1)本發(fā)明通過構(gòu)建多核SoC架構(gòu),能夠使多種任務(wù)分別在多個核上并行處理,提升多任務(wù)的執(zhí)行效率;
[0022](2)本發(fā)明利用FPGA具備的高度并行特性并結(jié)合VHDL語言設(shè)計(jì)了基于多種接口的外部數(shù)據(jù)并行采集,提升了數(shù)據(jù)采集效率;
[0023](3)本發(fā)明設(shè)計(jì)了多核間的片內(nèi)數(shù)據(jù)交互方式,相比于片外數(shù)據(jù)交互方式,能大大提高數(shù)據(jù)交互的實(shí)時性;
[0024](4)本發(fā)明能夠通過多種接口將處理結(jié)果并行輸出至上位機(jī)中;
[0025](5)本發(fā)明設(shè)計(jì)的多核SoC架構(gòu)能夠代替?zhèn)鹘y(tǒng)的ARM、DSP以及FPGA模塊,能夠顯著促進(jìn)無人機(jī)向著高集成、小型化方向發(fā)展。
【附圖說明】
[0026]圖1為本發(fā)明的系統(tǒng)結(jié)構(gòu)框圖;
[0027]圖2為本發(fā)明的多路數(shù)據(jù)并行采集與傳輸框圖。
【具體實(shí)施方式】
[0028]下面結(jié)合附圖對本發(fā)明做進(jìn)一步詳細(xì)的描述。
[0029]系統(tǒng)結(jié)構(gòu)框圖如圖1所示,本發(fā)明涉及一種支持多任務(wù)并行的多核SoC架構(gòu)設(shè)計(jì)方法,通過在SoC芯片內(nèi)部搭建多核架構(gòu),使其具備多任務(wù)并行處理能力,與現(xiàn)有技術(shù)相比,本發(fā)明不僅能夠明顯提升數(shù)據(jù)并行采集、處理、輸出以及核間交互的實(shí)時性,而且能夠顯著促進(jìn)無人機(jī)向著高集成、小型化方向發(fā)展,所述的SoC芯片型號為Xilinx公司的xc7z020clg484-l。
[0030](1)附圖1中的模塊1是多路數(shù)據(jù)的并行采集,為了能夠采集外部具有不同接口(SP1、I2C、串口以及GP10接口 )的設(shè)備的數(shù)據(jù),模塊2基于FPGA和VHDL語言首先設(shè)計(jì)了這四種接口的時鐘產(chǎn)生程序,然后設(shè)計(jì)了多個process模塊,這些process模塊按照各自的協(xié)議并行采集數(shù)據(jù),接著對采集到的數(shù)據(jù)進(jìn)行預(yù)處理(如去除首尾標(biāo)志位、歸一化等),最后將處理后的多路數(shù)據(jù)送到不同的處理器核上進(jìn)行下一步處理。
[0031](2)附圖1中的模塊3是搭建的MicroBlaze雙處理器核(簡稱MicroBlaze雙核),MicroBlaze雙核間通過MailBox交互,即一個MicroBlaze核作為發(fā)送方,另一個MicroBlaze核作為接收方,發(fā)送方將數(shù)據(jù)流發(fā)送到MailBox中存儲起來,然后接收方將數(shù)據(jù)從MailBox中取出。發(fā)送方與接收方之間可以同步,也可異步。
[0032](3)附圖1中的模塊2與模塊3之間通過User-1P交互,模塊2與模塊3 —個作為發(fā)送方,另一個作為接收方。在模塊2中利用VHDL語言將待發(fā)送的數(shù)據(jù)流存儲到特定的I/O上,然后特定的I/O上的數(shù)據(jù)流就傳輸?shù)搅?User-1P中特定寄存器中,最后模塊3利用C語言讀取User-1P中特定的寄存器以便得到數(shù)據(jù)流。
[0033](4)附圖1中的模塊4是SoC內(nèi)部固有的ARM Cortex_A9雙處理器核(簡稱ARM雙核),ARM雙核之間通過Cache高速緩存進(jìn)行交互。本發(fā)明移植嵌入式Linux系統(tǒng)(模塊5)到ARM雙核上,以使其具備系統(tǒng)級編程的能力。
[0034](5)模塊2與模塊4之間通過User-1P交互,但是Linux系統(tǒng)不能直接操作外部設(shè)備(這里L(fēng)inux把User-1P當(dāng)成一種外部設(shè)備),所以需要為User-1P編寫驅(qū)動,在Linux系統(tǒng)啟動后將此驅(qū)動掛載進(jìn)內(nèi)核,這樣模塊4就可以讀取User-1P中存在的數(shù)據(jù)流了。
[0035](6)本發(fā)明設(shè)計(jì)模塊3與模塊4之間通過0CM(片上RAM)交互,0CM是片內(nèi)一種高速RAM,模塊3與模塊4 一個作為發(fā)送方,另一個作為接收方。模塊3將數(shù)據(jù)流傳輸至0CM中某段地址空間內(nèi),然后模塊4讀取這段地址空間內(nèi)的數(shù)據(jù)流即可。
[0036](7)為了將多核SoC處理的結(jié)果實(shí)時輸出,本發(fā)明設(shè)計(jì)了多種數(shù)據(jù)輸出接口:HDM1、VGA、UART、USB以及Ethernet。HDMI和VGA適合圖形界面的輸出,UART適合低速數(shù)據(jù)輸出,USB適合高速數(shù)據(jù)輸出,Ethernet適合高速且遠(yuǎn)距離的數(shù)據(jù)輸出。
[0037]多路數(shù)據(jù)并行采集與傳輸框圖如圖2所示,本發(fā)明在FPGA內(nèi)部基于VHDL語言設(shè)計(jì)了四種常用的數(shù)據(jù)接口時序模塊,即SP1、I2C、串口以及GP10接口。首先對主時鐘(這里為100MHz)進(jìn)行分頻,得到SP1、I2C和串口的時鐘,分別為10MHz、ΙΟΟΚΗζ和9.6KHz ;然后設(shè)計(jì)了多個process模塊,由于每個process模塊在FPGA內(nèi)部是獨(dú)立運(yùn)行的,所以設(shè)計(jì)的四個process模塊能夠并行采集外部數(shù)據(jù);接著對采集到的數(shù)據(jù)進(jìn)行預(yù)處理,即去除首尾標(biāo)志位、歸一化等;最后通過User-1P和Linux驅(qū)動將數(shù)據(jù)流傳送到不同的核上進(jìn)行下一步處理。
[0038]綜上所述,本發(fā)明設(shè)計(jì)的一種支持多任務(wù)并行的多核SoC架構(gòu)設(shè)計(jì)方法能夠通過構(gòu)建多核SoC架構(gòu),實(shí)現(xiàn)多任務(wù)在多核上的并行執(zhí)行,提升多任務(wù)的執(zhí)行效率。
[0039]本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
[0040]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種支持多任務(wù)并行的多核SoC架構(gòu)設(shè)計(jì)方法,其特征在于:該方法步驟如下:步驟(I)搭建MicroBlaze雙核模塊和ARM雙核模塊,并基于此設(shè)計(jì)基于多核多線程的多任務(wù)并行執(zhí)行模塊,同時基于FPGA設(shè)計(jì)硬件加速模塊; 步驟(2)利用FPGA同時采集外部多路數(shù)據(jù): ①在FPGA內(nèi)部利用VHDL語言設(shè)計(jì)多個process模塊; ②在FPGA內(nèi)部利用VHDL語言設(shè)計(jì)SP1、I2C以及串口時序模塊,并利用SP1、I2C、串口以及GP1接口完成多路數(shù)據(jù)采集; ③在FPGA內(nèi)部利用VHDL語言完成多路數(shù)據(jù)的預(yù)處理; 步驟(3)FPGA將多路數(shù)據(jù)傳輸?shù)讲煌松喜⑿袌?zhí)行: ①FPGA通過User-ΙΡ與MicroBlaze雙核交互; ②FPGA通過User-1P和Linux驅(qū)動模塊與ARM雙核交互; ③MicroBlaze雙核之間通過MailBox交互; ④ARM雙核之間通過Cache交互; ⑤MicroBlaze雙核與ARM雙核之間通過OCM交互; 步驟(4) ARM雙核移植嵌入式Linux系統(tǒng)以便進(jìn)行系統(tǒng)級編程; 步驟(5)搭建的多核SoC架構(gòu)通過HDM1、VGA、UART、USB以及Ethernet接口將多路結(jié)果并行傳輸至上位機(jī)中。2.如權(quán)利要求1所述的一種支持多任務(wù)并行的多核SoC架構(gòu)設(shè)計(jì)方法,其特征在于:所述的SoC芯片型號為Xilinx公司的xc7z020clg484_l。
【專利摘要】本發(fā)明涉及一種支持多任務(wù)并行的多核SoC架構(gòu)設(shè)計(jì)方法,該方法主要包括:搭建MicroBlaze雙核模塊和ARM雙核模塊,并基于此設(shè)計(jì)基于多核多線程的多任務(wù)并行執(zhí)行模塊,同時基于FPGA設(shè)計(jì)硬件加速模塊。本發(fā)明通過FPGA同時采集外部多路數(shù)據(jù),然后將多路數(shù)據(jù)傳輸?shù)讲煌松喜⑿袌?zhí)行,其中設(shè)計(jì)FPGA通過User-IP與MicroBlaze雙核交互、FPGA通過User-IP和Linux驅(qū)動模塊與ARM雙核交互、MicroBlaze雙核之間通過MailBox交互、ARM雙核之間通過Cache交互、MicroBlaze雙核與ARM雙核之間通過OCM交互。本發(fā)明通過構(gòu)建多核SoC架構(gòu),能夠?qū)崿F(xiàn)多任務(wù)在多核上的并行執(zhí)行,極大地提升多任務(wù)的執(zhí)行效率。
【IPC分類】G06F15/16, G06F9/38
【公開號】CN105260164
【申請?zhí)枴緾N201510621521
【發(fā)明人】陶飛, 鄒孝付, 張霖
【申請人】北京航空航天大學(xué)
【公開日】2016年1月20日
【申請日】2015年9月25日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1