非對(duì)稱嵌入式數(shù)據(jù)處理模塊設(shè)計(jì)分析
時(shí)間:2022-04-29 14:39:54
導(dǎo)語(yǔ):非對(duì)稱嵌入式數(shù)據(jù)處理模塊設(shè)計(jì)分析一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:針對(duì)車載、機(jī)載等嵌入式計(jì)算系統(tǒng)對(duì)小體積、低功耗、高計(jì)算能力等方面的要求,基于多核處理器設(shè)計(jì)了一款非對(duì)稱嵌入式數(shù)據(jù)處理模塊,該模塊對(duì)外通過光纖互聯(lián)網(wǎng)絡(luò)和其余設(shè)備高速連通交互,具有良好的互連通性和互操作性。采用非對(duì)稱嵌入式系統(tǒng)架構(gòu),模塊內(nèi)各處理器內(nèi)核可根據(jù)不同的任務(wù)等級(jí)或安全等級(jí),部署不同的的任務(wù),為整體提供公共計(jì)算能力同時(shí)時(shí)兼顧容錯(cuò)特性,有助于上層管理系統(tǒng)動(dòng)態(tài)規(guī)劃分配任務(wù),提升系統(tǒng)性能。模塊可適配嵌入式實(shí)時(shí)操作系統(tǒng),具備良好的計(jì)算能力和實(shí)時(shí)性。
關(guān)鍵詞:多核處理器;非對(duì)稱嵌入式系統(tǒng);光纖互聯(lián)網(wǎng)絡(luò)
1概述
隨著半導(dǎo)體技術(shù)的發(fā)展,嵌入式電子系統(tǒng)逐步向著更高集成度不斷提升。以航空機(jī)載電子系統(tǒng)為例,在新型的綜合核心處理平臺(tái)上,既要保證具備足夠高的任務(wù)/數(shù)據(jù)可靠性,又要使計(jì)算節(jié)點(diǎn)/單元具有更高計(jì)算的性能、更低的功耗、占用更小的體積,因此多核處理器在機(jī)載計(jì)算等方面中得到廣泛的應(yīng)用[1]。多核處理器通常在處理器芯片上集成兩個(gè)或兩個(gè)以上的內(nèi)核,作為提升處理器性能的主要方式之一,相比通過提升內(nèi)核主頻來提升處理器性能的方式,可有效地降低處理功耗,同時(shí)還可規(guī)避處理器的主頻提升帶來的技術(shù)瓶頸等問題[2]。相比單核處理架構(gòu),多核處理器架構(gòu)功耗更低,通信延遲更低。多核處理器以自身的優(yōu)點(diǎn)在并行處理和高性能計(jì)算等方面得到了廣泛的應(yīng)用。在嵌入式系統(tǒng)方面,根據(jù)多核處理器上各個(gè)核心是否運(yùn)行相同的任務(wù),嵌入式系統(tǒng)可以分為兩大類:(1)非對(duì)稱結(jié)構(gòu),(2)對(duì)稱結(jié)構(gòu)。對(duì)稱結(jié)構(gòu)通常指在多核處理器的不同內(nèi)核心上運(yùn)行或部署相同或類似的任務(wù),不同核心對(duì)于頂層應(yīng)用程序或子任務(wù)來說可近似認(rèn)為對(duì)等。非對(duì)稱結(jié)構(gòu)通常指多核處理器的不同內(nèi)核心上運(yùn)行或部署不同的任務(wù),各核之間的使用可根據(jù)應(yīng)用程序完成不同的任務(wù),具有一定的獨(dú)立性[3]。在非對(duì)稱嵌入式系統(tǒng)每個(gè)核心可以運(yùn)行自己的特殊任務(wù),對(duì)上層管理系統(tǒng)而言,可近似認(rèn)為不同核心分別為不同的計(jì)算資源,上層管理系統(tǒng)可根據(jù)系統(tǒng)的狀態(tài)和系統(tǒng)實(shí)時(shí)的計(jì)算任務(wù)對(duì)不同核心資源進(jìn)行動(dòng)態(tài)分配,特別是在系統(tǒng)需要對(duì)不同安全等級(jí)或優(yōu)先等級(jí)的任務(wù)進(jìn)行動(dòng)態(tài)分配時(shí),非對(duì)稱嵌入式系統(tǒng)具有無可比擬的優(yōu)勢(shì)。采用常見的多核處理器設(shè)計(jì)了一款非對(duì)稱嵌入式數(shù)據(jù)處理模塊,該模塊對(duì)外通過光纖互聯(lián)網(wǎng)絡(luò)和其余設(shè)備高速連通交互,具有良好的互連通性和互操作性。模塊可適配嵌入式實(shí)時(shí)操作系統(tǒng),具備良好的計(jì)算能力和實(shí)時(shí)性。在此對(duì)該模塊設(shè)計(jì)從需求和軟硬架構(gòu)方面進(jìn)行闡述。
2需求分析
隨著車載、機(jī)載等嵌入式計(jì)算系統(tǒng)的任務(wù)復(fù)雜程度的增加,對(duì)嵌入式電子設(shè)備提出更高的要求。數(shù)據(jù)處理模塊作為重要的計(jì)算資源,要求具備更多、更快的數(shù)據(jù)處理和任務(wù)處理能力,要求在相同體積及功耗下具備更高計(jì)算能力、更強(qiáng)的通信性能,且系統(tǒng)需具備足夠的靈活性,可以快速維修更換和系統(tǒng)擴(kuò)展。從系統(tǒng)角度考慮,數(shù)據(jù)處理模塊需支持高速互聯(lián)總線,可接入整個(gè)機(jī)載或車載計(jì)算環(huán)境系統(tǒng)中,并為系統(tǒng)提供足夠的算例。在適配操作系統(tǒng)方面,和整個(gè)系統(tǒng)需保持一致,便于進(jìn)行上層應(yīng)用程序,并為應(yīng)用程序擴(kuò)展和移植打下良好的基礎(chǔ)。數(shù)據(jù)處理模塊硬件搭載與之配套軟件,可以完成系統(tǒng)要求的任務(wù),為整個(gè)系統(tǒng)提供良好的計(jì)算資源及系統(tǒng)服務(wù),可使上層應(yīng)用安全穩(wěn)定地運(yùn)行。充分考慮到整個(gè)系統(tǒng)資源共享及健康管理,要求數(shù)據(jù)處理模塊具備通用性,計(jì)算能力提供給整個(gè)系統(tǒng)實(shí)現(xiàn)資源共享,處理器內(nèi)部不同核之間具有一定的容錯(cuò)特性。
3硬件設(shè)計(jì)
3.1硬件架構(gòu)
模塊硬件上主要包含多核處理模塊電路、電源模塊、FC子卡模塊等,模塊硬件架構(gòu)如圖1所示。整機(jī)采用標(biāo)準(zhǔn)化結(jié)構(gòu)設(shè)計(jì),整機(jī)結(jié)構(gòu)安裝便捷,可滿足快速外場(chǎng)更換的需求。數(shù)據(jù)處理模塊整體以多核處理模塊電路為基本電路,電源模塊和多核處理模塊之間通過柔板高速連接器互聯(lián),F(xiàn)C子卡通過特定高速連接器和基本進(jìn)行互聯(lián)。其中FC子卡采用標(biāo)準(zhǔn)子卡,保持和系統(tǒng)中其余互聯(lián)產(chǎn)品的一致性,可大大提升系統(tǒng)的開發(fā)效率,提升經(jīng)濟(jì)性。模塊整體對(duì)對(duì)接口包括光信號(hào)接口、RS232接口、以太網(wǎng)接口和離散量接口。模塊對(duì)外接口可根據(jù)系統(tǒng)要求進(jìn)行定制,可在不改變主要電路的同時(shí),最大程度滿足不同系統(tǒng)對(duì)計(jì)算資源的需求。
3.2多核處理器電路設(shè)計(jì)
以freescale公司的P5020處理器為例,對(duì)多核處理器電路進(jìn)行設(shè)計(jì)。P5020處理器采用PowerPC架構(gòu),基于PowerArchitectureR技術(shù),其具有處理器性能高、集成度高的特點(diǎn)。P5020處理器集成了兩個(gè)高性能e5500處理器核,頻率范圍可擴(kuò)張到2.2GHz,具有三級(jí)緩存:32KB數(shù)據(jù)/指令L1,每?jī)?nèi)核512KB專用L2和2MB共享L3。P5020處理器主要接口支持如下[4]:(1)支持串行RapidIOR。(2)支持PCIExpressR(PCIe)修訂版1.1/2.0,多達(dá)4個(gè)PCIe2.0/3.0控制器。(3)支持SATA。(4)以太網(wǎng)接口:10Gbps以太網(wǎng)MAC,5個(gè)1Gbps以太網(wǎng)MAC。(5)兩個(gè)I2C控制器。(6)支持GPIO、eSPI。(7)兩個(gè)DUART。多核處理器電路硬件采用最小系統(tǒng)設(shè)計(jì),模塊電路示意框圖如圖2所示,多核處理器周圍設(shè)計(jì)了看門狗電路、離散量電路、調(diào)試接口電路、復(fù)位電路、測(cè)溫電路以及局部資源(DDR3、FLASH、NVRAM)等電路。看門狗電路、離散量電路、調(diào)試接口電路、復(fù)位電路、測(cè)溫電路考慮到成本和開發(fā)進(jìn)度方面,采用目前成熟的設(shè)計(jì)電路,最大程度集成之前成熟產(chǎn)品的成果,器件選型盡量和成熟電路保持一致。
3.3電源模塊
電源模塊在功能上:具有電壓轉(zhuǎn)換、輸出過流、短路及過壓保護(hù)功能,在功能電路部件組成上主要包括:電壓轉(zhuǎn)換電路、抗過壓浪涌、升壓電路、濾波電路儲(chǔ)能電路等。在電源模塊的輸入端設(shè)計(jì)濾波器電路,采用電容濾波設(shè)計(jì)共模濾波,使用LC濾波的方式設(shè)計(jì)差模濾波電路。在整機(jī)設(shè)計(jì)布局時(shí),電源模塊和多核處理器電路之間要有足夠的距離,可滿足多核處理器電路上散熱器件的自然散熱要求。
3.4互聯(lián)網(wǎng)絡(luò)
光纖通道(FC)網(wǎng)絡(luò)是一種具有較高通信速率、適合于千兆位數(shù)據(jù)傳輸通信的網(wǎng)絡(luò)技術(shù),該標(biāo)準(zhǔn)由AN-SI標(biāo)準(zhǔn)化組織在1994年制定,經(jīng)大量的理論研究和工程實(shí)踐FC網(wǎng)絡(luò)傳輸速率在航空電子系統(tǒng)中可達(dá)到16Gbps[5]。考慮到光纖通道(FC)的高帶寬、可靠的流量控制、多種拓?fù)浣Y(jié)構(gòu)和上層協(xié)議的特點(diǎn),其能夠滿足航空電子系統(tǒng)的通信要求[6],選用光纖通道(FC)作為互聯(lián)網(wǎng)絡(luò)。多核處理器電路通過高速串行接口PCI-E同F(xiàn)C光纖通道節(jié)點(diǎn)卡進(jìn)行互聯(lián),模塊配置兩塊標(biāo)準(zhǔn)FC光纖通道節(jié)點(diǎn)卡。FC光纖通道節(jié)點(diǎn)卡采用FC-AE-ASM協(xié)議標(biāo)準(zhǔn)的專用SoC芯片,與處理器配合可完成FC設(shè)備管理、通信管理、時(shí)鐘同步、網(wǎng)絡(luò)管理等功能;該芯片提供片外存儲(chǔ)器接口、串口、GPIO接口以及JTAG等調(diào)試接口[7],可大大減小系統(tǒng)功耗及體積,提高系統(tǒng)集成度。FC光纖通道節(jié)點(diǎn)卡硬件設(shè)計(jì)示意圖如圖3所示。節(jié)點(diǎn)卡上包括電壓轉(zhuǎn)換電路、接口電路、復(fù)位電路等。FC光纖通道節(jié)點(diǎn)卡軟件主要包括通信管理程序、設(shè)備管理程序、接口程序和板級(jí)驅(qū)動(dòng)程序等。節(jié)點(diǎn)卡通過配置各個(gè)通信通道的緩沖區(qū)相對(duì)獨(dú)立,保證不同通道間數(shù)據(jù)互不干擾,有效提升數(shù)據(jù)收發(fā)效率和準(zhǔn)確性。
4軟件設(shè)計(jì)
軟件設(shè)計(jì)部分主要包括嵌入式操作系統(tǒng)和中間件系統(tǒng)。在多核處理器選擇合適的嵌入式操作系統(tǒng),并進(jìn)行適配優(yōu)化,可以有效提升多核處理器的資源利用率,充分發(fā)揮多核的優(yōu)勢(shì)。采用具有成熟開發(fā)團(tuán)隊(duì)的國(guó)產(chǎn)多核嵌入式操作系統(tǒng)。通常來說在操作系統(tǒng)在多核處理器上的部署主要有以下幾種方式:(1)限定多處理(BMP);(2)非對(duì)稱多處理(AMP);(3)對(duì)稱多處理(SMP)[1]。非對(duì)稱多處理的主要特點(diǎn)是在多核處理器的每個(gè)核都運(yùn)行一個(gè)獨(dú)立的操作系統(tǒng),相對(duì)應(yīng)的在操作系統(tǒng)上部署運(yùn)行特定的應(yīng)用,能充分發(fā)揮每個(gè)核的算力。同時(shí)在某一核發(fā)生故障時(shí),另外一核可繼續(xù)執(zhí)行任務(wù),可使該數(shù)據(jù)處理模塊具有一定的魯棒性。在此設(shè)計(jì)的數(shù)據(jù)處理模塊適配的嵌入式操作系統(tǒng)采用AMP模式,該模式下應(yīng)用或子任務(wù)被可分配到特定核上運(yùn)行??紤]到嵌入式計(jì)算系統(tǒng)向著公共計(jì)算資源的方向發(fā)展,在該模式下上層管理系統(tǒng)可對(duì)不同內(nèi)核獨(dú)立操作,可近似認(rèn)為不同內(nèi)核之間互不相干。上層管理系統(tǒng)可根據(jù)系統(tǒng)的狀態(tài)和系統(tǒng)實(shí)時(shí)的計(jì)算任務(wù)對(duì)不同核心資源進(jìn)行動(dòng)態(tài)分配,特別是在系統(tǒng)需要對(duì)不同安全等級(jí)或優(yōu)先等級(jí)的任務(wù)進(jìn)行動(dòng)態(tài)分配時(shí),具備一定的容錯(cuò)特性。在軟件架構(gòu)設(shè)計(jì)上,從頂層到底層依次為:任務(wù)感知層、任務(wù)分配層、硬件資源感知層和平臺(tái)軟件層。任務(wù)感知層主要負(fù)責(zé)確定系統(tǒng)任務(wù),并根據(jù)一定的策略將任務(wù)分解為具體的子任務(wù)。任務(wù)分配層:根據(jù)系統(tǒng)中不同內(nèi)核上的實(shí)時(shí)算力和資源情況,及子任務(wù)實(shí)時(shí)優(yōu)先級(jí)情況,在滿足系統(tǒng)要求的情況下對(duì)子任務(wù)的進(jìn)行分配。硬件資源感知層:主要來探測(cè)系統(tǒng)軟硬件的實(shí)時(shí)狀態(tài),為子任務(wù)分配提供依據(jù)。
5結(jié)語(yǔ)
基于多核處理器設(shè)計(jì)了一款非對(duì)稱嵌入式數(shù)據(jù)處理模塊,該模塊可適配嵌入式實(shí)時(shí)操作系統(tǒng),具備良好的計(jì)算能力和實(shí)時(shí)性。模塊通過光纖互聯(lián)網(wǎng)絡(luò)可以和其余系統(tǒng)設(shè)備高速聯(lián)通交互,具有良好的互連通性和互操作性,模塊內(nèi)各處理器內(nèi)核上可根據(jù)不同的任務(wù)等級(jí)或安全等級(jí),部署不同的任務(wù),在為整體提供強(qiáng)大公共計(jì)算資源時(shí)可兼顧容錯(cuò)特性,系統(tǒng)可根據(jù)處理器狀態(tài)的實(shí)時(shí)動(dòng)態(tài)規(guī)劃分配任務(wù),提升系統(tǒng)性能。
作者:韓毅博 湛文韜 胡寶雷 單位:航空工業(yè)西安航空計(jì)算技術(shù)研究所