曾定立,丁國(guó)杰
(1.重慶郵電大學(xué) 寬帶無(wú)線移動(dòng)互聯(lián)網(wǎng)絡(luò)實(shí)驗(yàn)室,重慶 400065;2.中國(guó)科學(xué)院計(jì)算技術(shù)研究所 無(wú)線通信技術(shù)研究中心)
面向基帶處理的異構(gòu)多核架構(gòu)軟硬件平臺(tái)設(shè)計(jì)
曾定立1,丁國(guó)杰2
(1.重慶郵電大學(xué) 寬帶無(wú)線移動(dòng)互聯(lián)網(wǎng)絡(luò)實(shí)驗(yàn)室,重慶 400065;2.中國(guó)科學(xué)院計(jì)算技術(shù)研究所 無(wú)線通信技術(shù)研究中心)
通過(guò)研究現(xiàn)代通信系統(tǒng)集中化處理架構(gòu)中基帶處理單元(BBU)的特點(diǎn),將異構(gòu)多核處理器應(yīng)用于BBU中,并提出將物理層算法與控制分離的觀點(diǎn)。在ARM+DSP的異構(gòu)多核中,ARM完成物理層控制,DSP完成物理層算法的功能,提升了BBU基帶處理能力,并給出完整的BBU硬件架構(gòu)以及功能實(shí)現(xiàn)。提出了一種應(yīng)用于基帶處理中的異構(gòu)多核軟件架構(gòu),從軟件層面上實(shí)現(xiàn)了對(duì)底層硬件的虛擬化,引入了中間件的概念,屏蔽了ARM與DSP操作系統(tǒng)上的差異,并給出基于Linux的非對(duì)稱系統(tǒng)(AMP)的構(gòu)建及移植方法,包括異構(gòu)多核的BootLoader、AMP系統(tǒng)的設(shè)計(jì)與移植。
基帶處理單元;異構(gòu)多核;ARM;DSP;中間件;BootLoader;AMP系統(tǒng)
移動(dòng)通信系統(tǒng)向LTE演進(jìn)過(guò)程中,各項(xiàng)指標(biāo)和性能都在提高,造成基帶處理器的負(fù)擔(dān)急劇加重,因此,對(duì)基帶處理單元(BBU)的處理速度提出了更高要求,研發(fā)出具有性能更強(qiáng)、靈活性更好的新型綠色基站迫在眉睫[1]。異構(gòu)多核處理器具有集成度高、處理能力強(qiáng)的優(yōu)勢(shì)[2],將異構(gòu)多核處理器應(yīng)用于BBU中,能夠顯著降低系統(tǒng)成本和功耗,有利于開發(fā)出新一代綠色節(jié)能網(wǎng)絡(luò)基礎(chǔ)設(shè)施[3]。
德州儀器公司率先推出了包含ARM Cortex-A15和DSP處理器的異構(gòu)多核KeyStone II架構(gòu)芯片[4],將其應(yīng)用于BBU中,可實(shí)現(xiàn)控制與運(yùn)算分離,ARM通過(guò)與上層協(xié)議的交互實(shí)現(xiàn)對(duì)DSP的任務(wù)調(diào)度和控制,完成物理層控制的功能,而DSP無(wú)須額外的開銷來(lái)實(shí)現(xiàn)物理層控制,使得DSP能夠處理更大的數(shù)據(jù)量。
在新型綠色基站中,采用異構(gòu)多核的處理架構(gòu)具有明顯的優(yōu)勢(shì),但同時(shí),也給軟件開發(fā)人員帶來(lái)了新的挑戰(zhàn),如何在異構(gòu)處理器架構(gòu)下為軟件層屏蔽掉底層硬件的差異是本文要研究和攻克的難題,也是軟件無(wú)線電基站虛擬化的關(guān)鍵技術(shù)所在。因此,針對(duì)新型基帶處理硬件平臺(tái)開發(fā)出一套能夠屏蔽底層硬件細(xì)節(jié)、通用性強(qiáng)的基帶處理軟件平臺(tái)具有非常重大的意義,該平臺(tái)使得軟件開發(fā)人員無(wú)需關(guān)心底層硬件細(xì)節(jié),提高了軟件的可移植性,是基帶處理板中承接硬件和軟件的橋梁。
1.1 TI異構(gòu)多核的KeyStone II架構(gòu)介紹
TI公司推出的KeyStone II架構(gòu)芯片包含了多個(gè)ARM Cortex-A15和TMS320C66x DSP處理器,該架構(gòu)最多可支持32個(gè)RISC和C66xx DSP內(nèi)核[5]。除了異構(gòu)多核架構(gòu)本身具有極強(qiáng)處理能力外,該架構(gòu)還包含了多個(gè)協(xié)處理器,例如FFTC、TCP3d、BCP以及多核導(dǎo)航器等,芯片內(nèi)部通過(guò)2 Tbps的TeraNet光交換網(wǎng)絡(luò)互聯(lián),使得片上處理單元之間能夠高速無(wú)阻塞地傳輸數(shù)據(jù);并提供SRIO、以太網(wǎng)、PCIe、HyperLink等高速接口,使得片外數(shù)據(jù)能夠高速傳輸[5]。本文應(yīng)用在基帶處理板上的KeyStone II架構(gòu)系列芯片是TCI6638K2K,其包含4個(gè)ARM Cortex-A15核和8個(gè)C66xx DSP核,處理能力極強(qiáng),其突出的性能有利于開發(fā)出高性能的“綠色”新型基站。
1.2 基帶處理硬件架構(gòu)設(shè)計(jì)
基帶處理平臺(tái)采用高性能異構(gòu)多核ARM+DSP架構(gòu)作為基帶處理的核心,借助FPGA芯片強(qiáng)大的邏輯能力作為協(xié)處理單元,基站集群之間通過(guò)高速接口進(jìn)行數(shù)據(jù)傳輸,如SerialRapidIO、以太網(wǎng)等相連,互相通信協(xié)作,ARM與DSP通過(guò)片內(nèi)高達(dá)2 TB速率的光傳輸網(wǎng)絡(luò)來(lái)進(jìn)行交互。
基于ARM與DSP片內(nèi)高速通信的優(yōu)勢(shì),本文提出將物理層控制放在ARM上運(yùn)行,實(shí)現(xiàn)對(duì)協(xié)議層原語(yǔ)的解析以及DSP實(shí)時(shí)任務(wù)的派發(fā),ARM還完成片外數(shù)據(jù)傳輸和外圍器件的控制功能,通過(guò)高速接口實(shí)現(xiàn)協(xié)議層數(shù)據(jù)的收發(fā)等,而DSP主要完成物理層運(yùn)算的功能,這樣DSP不再單獨(dú)維護(hù)自身的任務(wù)隊(duì)列,而且多個(gè) DSP之間不再有任務(wù)交互接口[7],減輕了DSP的負(fù)載,而且片內(nèi)的管道通信時(shí)延遠(yuǎn)小于片外的高速總線通信,速率卻遠(yuǎn)高于高速總線。異構(gòu)多核架構(gòu)使得ARM和DSP專用處理器各盡其職,高效地利用了專用處理器的功能,與同構(gòu)多核的DSP處理架構(gòu)相比,具有更強(qiáng)的處理能力。
本項(xiàng)目中設(shè)計(jì)的基帶處理板架構(gòu)如圖1所示,板卡之間的交互通過(guò)連接器連接到機(jī)箱或背板。
圖1 基帶處理板架構(gòu)
在基帶處理板架構(gòu)中,ARM STM32對(duì)時(shí)鐘分發(fā)模塊進(jìn)行管理和配置,為TCI6638K2K以及FPGA Virtex 7提供穩(wěn)定的時(shí)鐘輸入,此外,STM32對(duì)SRIO Switch以及Ethernet Switch進(jìn)行配置,保證Serial RapidIO(SRIO)和以太網(wǎng)能夠正常通信。
異構(gòu)多核的ARM+DSP是基帶板的數(shù)據(jù)處理核心單元,TCI6638K2K分別通過(guò)SRIO和以太網(wǎng)高速接口與SRIO Switch和Ethernet Switch連接,通過(guò)交換芯片來(lái)實(shí)現(xiàn)TCI6638K2K以及FPGA之間的數(shù)據(jù)高速交互,此外,交換芯片又連接到連接器,通過(guò)機(jī)箱實(shí)現(xiàn)與其他基帶板卡的數(shù)據(jù)傳輸。另外,F(xiàn)PGA由AIF2接口通過(guò)CPRI協(xié)議連接到中頻板接收上行鏈路數(shù)據(jù),再將CPRI協(xié)議轉(zhuǎn)換為RapidIO協(xié)議或Ethernet協(xié)議,傳輸給TCI6638K2K進(jìn)行數(shù)據(jù)處理。下行鏈路數(shù)據(jù)的傳輸則相反,TCI6638K2K將處理完成的數(shù)據(jù)通過(guò)RapidIO或Ethernet發(fā)送給FPGA,F(xiàn)PGA再將RapidIO協(xié)議或Ethernet協(xié)議轉(zhuǎn)換為CPRI協(xié)議,通過(guò)光模塊將數(shù)據(jù)傳輸?shù)街蓄l板,同時(shí),F(xiàn)PGA還作為DSP的協(xié)處理器。在基帶處理池中,可指定一塊基帶板作為主控板,通過(guò)FPGA的傳輸中轉(zhuǎn)實(shí)現(xiàn)與中頻信號(hào)的交互,再由主控板將數(shù)據(jù)通過(guò)SRIO或Ethernet高速接口傳輸?shù)狡渌鶐О逯羞M(jìn)行處理。
TCI6638K2K又通過(guò)高速以太網(wǎng)接口與協(xié)議處理單元相連,通過(guò)ARM來(lái)完成與上層信令和數(shù)據(jù)的交互,上層和物理層定義完整統(tǒng)一的API接口進(jìn)行交互,上層向物理層發(fā)送請(qǐng)求,物理層向上層請(qǐng)求指示,上層將配置參數(shù)以及數(shù)據(jù)下發(fā)給物理層,物理層完成從邏輯信道到物理信道的映射,物理層將傳輸信道的錯(cuò)誤反饋給高層,而DSP只需接收ARM傳送的指令和數(shù)據(jù),從而進(jìn)行數(shù)據(jù)處理,無(wú)需增加額外的開銷來(lái)完成物理層控制的功能。
基于硬件虛擬化技術(shù)以及軟件無(wú)線電虛擬化技術(shù)的思想,本文提出了一種在異構(gòu)多核處理器架構(gòu)中應(yīng)用于基帶信號(hào)處理的軟件平臺(tái),其軟件架構(gòu)如圖2所示。
圖2 基帶信號(hào)處理軟件平臺(tái)
驅(qū)動(dòng)層提供了支持硬件抽象的板級(jí)支持包(BSP),封裝了硬件操作細(xì)節(jié)的支撐庫(kù),該支撐庫(kù)的抽象硬件接口為上層應(yīng)用波形組件屏蔽了連接鏈路的異構(gòu),為操作系統(tǒng)提供統(tǒng)一的API,在操作系統(tǒng)層面上實(shí)現(xiàn)底層硬件的虛擬化。驅(qū)動(dòng)層之上,DSP與ARM各自存在其操作系統(tǒng)SYS/BIOS與對(duì)稱多核(SMP)Linux系統(tǒng),操作系統(tǒng)接口為上層應(yīng)用軟件提供多任務(wù)調(diào)度,支持硬件設(shè)備驅(qū)動(dòng)、內(nèi)存、進(jìn)程管理以及任務(wù)的實(shí)時(shí)調(diào)度。非對(duì)稱多處理器系統(tǒng)(AMP)接口實(shí)現(xiàn)了ARM與DSP的交互,ARM可以通過(guò)虛擬I/O和遠(yuǎn)程處理器(remoteproc)架構(gòu)實(shí)現(xiàn)對(duì)DSP的控制和管理。中間件是存在于AMP操作系統(tǒng)之上的軟件層,是承接應(yīng)用層軟件與AMP操作系統(tǒng)接口的橋梁,在應(yīng)用軟件層面屏蔽了ARM與DSP系統(tǒng)的差異。
2.1 設(shè)計(jì)與移植
2.1.1 BootLoader的設(shè)計(jì)
圖3 RBL模式選擇
BootLoader是SoC上電后運(yùn)行的第一段代碼,完成系統(tǒng)啟動(dòng)的準(zhǔn)備工作,并最終實(shí)現(xiàn)引導(dǎo)AMP系統(tǒng)啟動(dòng)。為滿足應(yīng)用在不同場(chǎng)景下需要不同的啟動(dòng)模式,KeyStone II支持多種方式啟動(dòng)ARM和DSP。SoC內(nèi)部固化集成了Boot Rom,電源開啟后,固化在Boot Rom的程序?qū)⒆詣?dòng)運(yùn)行,這段程序被稱為Rom BootLoader(RBL),RBL會(huì)掃描設(shè)備狀態(tài)寄存器(DEVSTAT)對(duì)應(yīng)的值,該寄存器的初值由SoC相應(yīng)引腳的電平信號(hào)提供,通過(guò)DEVSTAT初值來(lái)決定SoC的啟動(dòng)模式,DEVSTAT各位對(duì)應(yīng)的模式選擇如圖3所示。多核ARM與DSP在啟動(dòng)過(guò)程中表現(xiàn)為主從關(guān)系,啟動(dòng)模式主要可以分為兩類:①DSP作為主控制處理器先行啟動(dòng)BIOS/SYS,再加載ARM核啟動(dòng);②ARM作為主控制處理器先行啟動(dòng)Linux,再通過(guò)核間中斷方式喚醒DSP。
考慮到軟件固化的便利性,本文將BootLoader代碼固化在SPI Flash中,而將占據(jù)內(nèi)存較大的Linux內(nèi)核及系統(tǒng)文件固化在NAND Flash中。ARM+DSP的系統(tǒng)架構(gòu)如圖4所示,TCI6638K2K通過(guò)SPI總線連接到NOR Flash,通過(guò)外部的FPGA將TCI6638K2K的Boot模式設(shè)置為SPI模式。
圖4 ARM+DSP系統(tǒng)架構(gòu)
ARM SPI Boot模式下啟動(dòng)過(guò)程如圖5所示。
圖5 ARM SPI Boot模式啟動(dòng)過(guò)程
當(dāng)啟動(dòng)模式設(shè)置為ARM SPI Boot模式時(shí),RBL根據(jù)DEVSTAT初值對(duì)SPI接口進(jìn)行初始化,再通過(guò)SPI接口從NOR Flash的指定地址讀取已經(jīng)移植好的BootLoader,并加載到片上共享內(nèi)存(MSMC)中,然后將控制權(quán)交由BootLoader程序。BootLoader完成初始化處理器以及必要的硬件、建立內(nèi)存空間的映射等功能,并最終實(shí)現(xiàn)在ARM中加載啟動(dòng)SMP Linux系統(tǒng),再通過(guò)Linux內(nèi)核實(shí)現(xiàn)DSP的喚醒。
2.1.2 BootLoader的移植
U-boot中包含有讀寫Flash的命令,并且在U-boot啟動(dòng)后已經(jīng)初始化了以太網(wǎng)接口,因此,固化U-boot和Linux程序只需要在U-boot啟動(dòng)后,設(shè)置好環(huán)境變量,執(zhí)行固化命令就可以實(shí)現(xiàn),U-boot的啟動(dòng)可以通過(guò)JTAG的方式加載到ARM核運(yùn)行。
(1) 編譯生成目標(biāo)文件
在U-boot工程文件目錄下運(yùn)行Make命令,執(zhí)行makefile配置文件和makefile文件,運(yùn)行成功后將在工程文件夾下生成可燒寫的u-boot.bin文件。
(2) 通過(guò)JTAG加載U-boot
用TI提供的CCS6.1軟件通過(guò)仿真器連接到ARM核0,將生成的u-boot.bin文件拷貝到存放loadlin-evm-uboot.js腳本的文件夾下,并在該文件夾下打開控制臺(tái)窗口,運(yùn)行以下腳本:
loadJSFile"loadlin-evm-uboot.js"
u-boot.bin將會(huì)加載到MSMC SRAM中,在CCS中點(diǎn)擊運(yùn)行,則U-boot啟動(dòng)。
(3) 固化U-boot
U-boot已通過(guò)JTAG方式加載到MSMC中運(yùn)行,在U-boot命令模式下,可通過(guò)以太網(wǎng)TFTP方式從主機(jī)中獲取所需固化的u-boot.bin文件到MSMC中的指定地址0x0c30 0000:
tftp0x0c300000u-boot.bin
然后固化u-boot.bin到SPI NOR Flash對(duì)應(yīng)的地址,將MSMC中地址為0x0c30 0000存放的u-boot.bin燒寫到Flash的起始地址。
固化u-boot.bin,運(yùn)行以下命令:
sf probe
sf erase 0x0000 0x100000
sf write 0x0c310000 0x10000
由于u-boot.bin文件的大小一般在500 KB,因此擦除Flash前512字節(jié),并將MSMC中地址為0x0c31 0000存放的u-boot.bin燒寫到Flash偏移量為0的地址。
2.2 AMP系統(tǒng)的構(gòu)建與移植
2.2.1 AMP系統(tǒng)的構(gòu)建
本文所設(shè)計(jì)的AMP系統(tǒng)采用SMP Linux與SYS/BIOS系統(tǒng)共存的方式,以Linux系統(tǒng)作為主控系統(tǒng),通過(guò)remoteproc架構(gòu)實(shí)現(xiàn)對(duì)DSP的管理和控制。由于ARM和DSP處理器構(gòu)造上的差異,為更好地發(fā)揮ARM的控制功能以及DSP的運(yùn)算功能,在同構(gòu)多核的ARM上移植SMP Linux操作系統(tǒng),使得用戶不必關(guān)心SoC內(nèi)部有多少個(gè)ARM核,ARM核間任務(wù)的調(diào)度以及內(nèi)存的分配等將由Linux內(nèi)核完成[7],而DSP對(duì)數(shù)據(jù)處理的實(shí)時(shí)性要求較高,因此DSP采用SYS/BIOS實(shí)時(shí)操作系統(tǒng)。同時(shí),為了提高SMP操作系統(tǒng)的實(shí)時(shí)性,可對(duì)內(nèi)核進(jìn)行中斷線程化、優(yōu)化調(diào)度器等方法改進(jìn)其實(shí)時(shí)性。
遠(yuǎn)程處理器(remoteproc)架構(gòu)是Linux內(nèi)核中用來(lái)啟動(dòng)或者停止各個(gè)異構(gòu)的遠(yuǎn)程處理器[8],如圖6所示,4個(gè)ARM核上運(yùn)行SMP Linux系統(tǒng),通過(guò)remoteproc架構(gòu)將8個(gè)DSP核配置為遠(yuǎn)程處理器,該架構(gòu)使得用戶可以根據(jù)具體需求動(dòng)態(tài)加載和運(yùn)行DSP中的實(shí)時(shí)任務(wù)。
圖6 遠(yuǎn)程處理器(remoteproc)架構(gòu)
remoteproc架構(gòu)中完成Linux核心與遠(yuǎn)程處理器的數(shù)據(jù)交互主要依靠虛擬I/O設(shè)備以及遠(yuǎn)程處理器消息(rpmsg)框架來(lái)實(shí)現(xiàn),虛擬I/O設(shè)備定義了標(biāo)準(zhǔn)的I/O,而消息的傳遞通過(guò)rpmsg框架定義的互聯(lián)總線來(lái)傳輸。
虛擬I/O設(shè)備定義了虛擬輸入/輸出設(shè)備(vdev),vdev可用于共享內(nèi)存以及核間中斷等方式通信,vdev定義并維護(hù)Linux傳輸隊(duì)列,以便于Linux核心與RTOS數(shù)據(jù)交互,虛擬I/O設(shè)備以及隊(duì)列初始化由內(nèi)核完成,遠(yuǎn)程處理器只需注冊(cè)vdev描述符,就可以操作隊(duì)列。
遠(yuǎn)程處理器消息(rpmsg)框架是隊(duì)列傳輸?shù)南④浛偩€,處理器之間通過(guò)軟總線創(chuàng)建可尋址端點(diǎn),并且通過(guò)共享內(nèi)存、核間中斷以及多核導(dǎo)航等方式來(lái)進(jìn)行信息交互。rpmsg框架能夠控制信息的發(fā)送和接收,根據(jù)消息包中的目的地址將消息發(fā)送到相應(yīng)的端點(diǎn)。
2.2.2 AMP系統(tǒng)的移植
由于Linux采用設(shè)備和驅(qū)動(dòng)分離的架構(gòu)模型,使得設(shè)備只描述設(shè)備信息,而驅(qū)動(dòng)則是一個(gè)對(duì)于設(shè)備通用的軟件,總線則負(fù)責(zé)匹配設(shè)備和驅(qū)動(dòng),驅(qū)動(dòng)以標(biāo)準(zhǔn)途徑拿到板級(jí)信息。設(shè)備和驅(qū)動(dòng)分別由Device和Device Driver兩個(gè)數(shù)據(jù)結(jié)構(gòu)來(lái)描述,在過(guò)去,Linux內(nèi)核中充滿了描述板級(jí)信息的Device代碼,這樣使得Linux內(nèi)核復(fù)雜又難以移植,因此,Linux發(fā)展到3.xx版本提出了設(shè)備樹的概念,它是一種描述硬件配置的樹形數(shù)據(jù)結(jié)構(gòu),其語(yǔ)法簡(jiǎn)單易讀,Linux內(nèi)核通過(guò)解析其語(yǔ)法來(lái)注冊(cè)生成Device結(jié)構(gòu)體,Device與Device Driver以一個(gè)兼容名稱通過(guò)總線來(lái)匹配。因此,Linux 3.xx后驅(qū)動(dòng)開發(fā)工程師的主要工作就是維護(hù)設(shè)備樹。AMP系統(tǒng)的移植主要包括:
① 編譯內(nèi)核:在Linux源文件目錄下執(zhí)行配置命令和make命令,生成內(nèi)核鏡像文件uImage.bin。
② 構(gòu)建根文件系統(tǒng):根文件系統(tǒng)需包含系統(tǒng)啟動(dòng)時(shí)必要的目錄,如/bin、/sbin、/etc、/dev、/lib 等。/bin 目錄下存放的是系統(tǒng)所需的基本命令;/sbin存放系統(tǒng)管理程序和系統(tǒng)命令;/etc目錄下包含系統(tǒng)的配置文件;/lib目錄下存放驅(qū)動(dòng)模塊和共享庫(kù)。根文件系統(tǒng)可以通過(guò)Busybox開發(fā)套件來(lái)生成。
③ 配置和編譯設(shè)備樹:根據(jù)板卡的外圍硬件修改相應(yīng)的設(shè)備樹文件,在Linux內(nèi)核代碼中,設(shè)備樹存放于arch/arm/boot/dts/目錄下,以設(shè)備樹源碼文件(.dts)可讀可編輯的文本形式存在,修改完成相應(yīng)配置后,在Linux根目錄下執(zhí)行命令make k2hk.dtb,生成設(shè)備樹文件k2hk.dtb。
④ 制作ubi文件:ubi文件對(duì)應(yīng)的是UBI層上的管理系統(tǒng)文件,它建立于MTD層上,用邏輯卷(logic volume)來(lái)替代MTD分區(qū),能動(dòng)態(tài)創(chuàng)建、刪除和改變大小。ubi文件的制作包括以下步驟:
(a) 新建并編輯一個(gè)ubinize.cfg文件(ubinize.cfg是一個(gè)配置文件):
mode=ubi
image=ubifs.img
vol_id=0
vol_size=113MiB
vol_type=dynamic
vol_name=boot
vol_flags=autoresize
mode配置的是文件格式,image配置的是ubifs鏡像源文件,vol_id是邏輯卷在UBI中的ID號(hào),vol_size是邏輯卷的大小。
(b) 應(yīng)用mkfs.ubifs工具將設(shè)備樹和內(nèi)核文件生成ubifs文件,添加好環(huán)境變量后執(zhí)行如下命令,將會(huì)生成k2hk.ubifs文件。
mkfs.ubifs-r boot-F-o k2hk.ubifs-m 2048-e 126976-c 41
再將ubinize.cfg與k2hk.ubifs放到同一文件夾下,執(zhí)行如下命令將會(huì)生成最終可燒寫到NAND Flash中的k2hk.ubi文件。
ubinize-ok2hk.ubi-m 2048-p 128KiB-s 2048-O 2048 ubinize.cfg
⑤ 燒寫ubi文件到NAND Flash。
在移植完成U-boot后,可以利用U-boot模式下TFTP服務(wù)器通過(guò)以太網(wǎng)將k2hk.ubi文件從PC機(jī)中傳輸?shù)桨迳系腄DR內(nèi)存中,再執(zhí)行擦除以及固化命令,將內(nèi)存中的k2hk.ubi固化到NAND Flash中。
2.3 中間件概述
中間件為應(yīng)用層軟件定義統(tǒng)一的標(biāo)準(zhǔn)接口,屏蔽了底層異構(gòu)多核的差異,中間件能夠識(shí)別物理層算法與物理層控制程序,并將任務(wù)派發(fā)給ARM或DSP,完成相應(yīng)的處理,各組件不再與具體硬件模塊綁定,使得應(yīng)用層軟件具有很高的可移植性,同時(shí),中間件又為SYS/BIOS與SMP 操作系統(tǒng)的跨平臺(tái)交互提供統(tǒng)一標(biāo)準(zhǔn)接口,例如TI公司為異構(gòu)多核平臺(tái)提供了一套核間通信(IPC)套件,實(shí)現(xiàn)DSP與ARM通過(guò)標(biāo)準(zhǔn)API來(lái)進(jìn)行交互。
[1] Guangjie L,Senjie Z,Xuebin Y,et al.Architecture of GPP based,scalable,large-scale C-RAN BBU pool[C]//2012 IEEE Globecom Workshops,2012:267-272.
[2] 陳芳園,張冬松,王志英.異構(gòu)多核處理器體系結(jié)構(gòu)設(shè)計(jì)研究[J].計(jì)算機(jī)工程與科學(xué),2011(12).
[3] Texas Instruments.Embracing LTE-A with KeyStoneSoCs,2012.
[4] Texas Instruments.德州儀器KeyStone II架構(gòu)助力多內(nèi)核技術(shù)發(fā)展[J].電子技術(shù)應(yīng)用,2012,38(4):30.
[5] Texas Instruments.Multicore DSP+ ARM KeyStone II System-on-Chip (SoC),2013.
[6] 田飛,楊虹.基帶芯片物理層控制方案的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014(3).
[7] Stotzer E,Jayaraj A,Ali M,et al.Openmp on the low-power TI KeyStone II arm/dsp system-on-chip[C]//International Workshop on OpenMP.Springer Berlin Heidelberg,2013:114-127.
[8] Baum F,Raghuraman A.Making Full use of Emerging ARM-based Heterogeneous Multicore SoCs[C]//8th European Congress on Embedded Real Time Software and Systems,2016.
曾定立(碩士研究生),主要研究方向?yàn)橐苿?dòng)通信、嵌入式操作系統(tǒng);丁國(guó)杰(碩士研究生),主要研究方向?yàn)橐苿?dòng)通信、電子電路設(shè)計(jì)。
Heterogeneous Multicore Architecture Software and Hardware Platform for Baseband Processing
Zeng Dingli1,Ding Guojie2
(1.Wireless Broadband Interconnection Laboratory,Chongqing University of Posts and Telecommunications,Chongqing 400065,China;2.Wireless Communication Technology Research Center,Institute of Computing Technology,Chinese Academy of Science)
By studying the characteristics of baseband processing unit (BBU) in centralized processing architecture of modern communication system,a view of separating the physical algorithm and control and applying heterogeneous multi-core processor to BBU is proposed.In the heterogeneous multi-core of ARM+DSP,ARM completes the function of physical layer control,DSP completes the function of physical layer algorithm.It improves the BBU baseband processing capability.The complete BBU hardware architecture is given,which realizes the virtualization of the underlying hardware from the software level.The introduction of middleware shields the differences between ARM and DSP operating systems.It also provides the building and migration method of asymmetric system,including the design and transplantation of heterogeneous multi-core BootLoader and AMP system.
baseband processing unit;heterogeneous multicore;ARM;DSP;middleware;BootLoader;AMP system
TN929.5
A
?士然
2016-11-17)
單片機(jī)與嵌入式系統(tǒng)應(yīng)用2017年3期