景德勝(1.中航工業(yè)西安航空計(jì)算技術(shù)研究所,陜西西安710068;2.中國(guó)民航大學(xué)適航學(xué)院,天津300300)
?
基于多核處理器的彈載計(jì)算機(jī)低功耗設(shè)計(jì)研究
景德勝1,2
(1.中航工業(yè)西安航空計(jì)算技術(shù)研究所,陜西西安710068;2.中國(guó)民航大學(xué)適航學(xué)院,天津300300)
摘 要:低功耗是嵌入式計(jì)算機(jī)的發(fā)展趨勢(shì),是彈載計(jì)算機(jī)設(shè)計(jì)要解決的關(guān)鍵問(wèn)題。以基于多核處理器的彈載計(jì)算機(jī)為例,介紹了功率消耗產(chǎn)生的原理,從處理器、軟件設(shè)計(jì)、Cache設(shè)計(jì)和可編程邏輯設(shè)計(jì)等方面對(duì)影響彈載計(jì)算機(jī)系統(tǒng)功耗的因素進(jìn)行了分析,并提出了低功耗設(shè)計(jì)的方法和技巧。
關(guān)鍵詞:多核;彈載計(jì)算機(jī);嵌入式系統(tǒng);低功耗
彈載計(jì)算機(jī)是實(shí)時(shí)嵌入式系統(tǒng),用于接收、處理導(dǎo)引系統(tǒng)的信號(hào),控制導(dǎo)彈飛行實(shí)現(xiàn)對(duì)攻擊目標(biāo)的檢測(cè)、捕獲和跟蹤,是導(dǎo)彈制導(dǎo)系統(tǒng)的關(guān)鍵組成部分。隨著技術(shù)的發(fā)展,新一代導(dǎo)彈要具備攻擊高速、高機(jī)動(dòng)目標(biāo)的能力,具備全方位攻擊的能力,同時(shí)對(duì)導(dǎo)彈的探測(cè)能力、反隱身和抗干擾能力都提出了更高的要求,使得彈載計(jì)算機(jī)需要處理的數(shù)據(jù)復(fù)雜度越來(lái)越大、實(shí)時(shí)性要求越來(lái)越高。
彈載計(jì)算機(jī)因應(yīng)用環(huán)境特殊,安裝在導(dǎo)彈狹小的制導(dǎo)艙內(nèi),發(fā)射后由導(dǎo)彈上電池供電,對(duì)系統(tǒng)功耗和產(chǎn)品尺寸提出了嚴(yán)格要求。高性能、低功耗成為實(shí)現(xiàn)彈載計(jì)算機(jī)功能需求的基礎(chǔ)。基于單片異構(gòu)體系架構(gòu)的多核處理器以其優(yōu)越的處理性能、靈活高速的存儲(chǔ)結(jié)構(gòu)和豐富的對(duì)外接口很好地解決了彈載計(jì)算機(jī)對(duì)高性能的要求,因此如何通過(guò)改進(jìn)彈載計(jì)算機(jī)軟硬件設(shè)計(jì)降低系統(tǒng)功耗,成為系統(tǒng)設(shè)計(jì)中需要研究和解決的重要問(wèn)題。
低功耗設(shè)計(jì)技術(shù)大致可以分為兩類:靜態(tài)技術(shù)和動(dòng)態(tài)技術(shù)。靜態(tài)技術(shù)是指從系統(tǒng)構(gòu)造、工作原理方面著手,降低系統(tǒng)功耗,如選用低功耗器件,采用異步電路體系設(shè)計(jì)等;動(dòng)態(tài)技術(shù)是通過(guò)改變系統(tǒng)的運(yùn)行行為來(lái)達(dá)到降低系統(tǒng)功耗的目的,如在系統(tǒng)工作過(guò)程中,根據(jù)運(yùn)行狀況將器件從工作狀態(tài)轉(zhuǎn)入睡眠狀態(tài)。彈載計(jì)算機(jī)由印制電路板、元器件和軟件等組成,主要功耗由元器件中的集成電路產(chǎn)生。
CMOS反相器[1]是集成電路的重要組成部分,是所有集成芯片設(shè)計(jì)的核心,邏輯門、加法器、乘法器和微處理器等比較復(fù)雜電路的電氣特性都可通過(guò)分析組成其CMOS反相器的特性得到,然后通過(guò)邏輯門和加法器等部件特性來(lái)分析處理器等的特性,CMOS反相器對(duì)分析集成電路延遲時(shí)間和功耗有重要意義。

圖1 CMOS反相器原理圖
圖1是一個(gè)靜態(tài)CMOS反相器的電路圖,晶體管是一個(gè)具有無(wú)限關(guān)斷電阻和有限導(dǎo)通電阻的開(kāi)關(guān)。當(dāng)Vin為高并等于VDD時(shí),NMOS管導(dǎo)通、PMOS管截止,見(jiàn)圖2(a)等效電路,此時(shí)輸出Vout為0 V;當(dāng)Vin為低等于0 V時(shí),PMOS管導(dǎo)通、NMOS管截止,見(jiàn)圖2(b)等效電路,此時(shí)輸出Vout為高電平VDD,由此達(dá)到反相器的功能。
CMOS反相器的功耗包括動(dòng)態(tài)功耗、靜態(tài)功耗和短路功耗等三部分,總功耗組成見(jiàn)式(1)。

其中:PD是動(dòng)態(tài)功耗,與電源電壓VDD、負(fù)載電容CL、工作頻率f和開(kāi)關(guān)活動(dòng)率α相關(guān);PSC是短路功耗,在輸入電平處于VTN至(VDD+ VTP)范圍內(nèi)時(shí)會(huì)使CMOS電路中的PMOS和NMOS晶體管都導(dǎo)通,產(chǎn)生短路電流ISC,從而引起開(kāi)關(guān)過(guò)程中的附加短路功耗,短路功耗與(VDD-2VT)有強(qiáng)烈依賴關(guān)系;PS是靜態(tài)功耗,理想情況下CMOS電路的靜態(tài)功耗是零,但實(shí)際處于截止態(tài)的MOS晶體管存在泄漏電流Ileak,會(huì)引起一定靜態(tài)功耗。在集成電路中,動(dòng)態(tài)功耗是整個(gè)CMOS集成電路功耗的主要組成部分,占到90%以上,靜態(tài)下漏電流所產(chǎn)生的功耗占總功耗的比例不足1%,幾乎可以忽略。

圖2 CMOS反相器開(kāi)關(guān)模型
除集成電路占主要功耗外,有源開(kāi)關(guān)器件在狀態(tài)轉(zhuǎn)換時(shí),其純電阻元件上、非理想元件等效電阻和印制板中連線等在工作中也會(huì)消耗一定能量。
以使用TI多核處理器TMS320C6678的彈載計(jì)算機(jī)為例[2]。TMS320C6678整個(gè)系統(tǒng)由TeraNet將8個(gè)內(nèi)核、網(wǎng)絡(luò)協(xié)處理器、共享存儲(chǔ)管理器、多核導(dǎo)航器、外設(shè)及其他功能部件連接起來(lái),處理單元由8個(gè)相同的內(nèi)核組成,互連網(wǎng)絡(luò)TeraNet為分層結(jié)構(gòu)的總線形式,且內(nèi)核通過(guò)共享存儲(chǔ)管理器共享容量為4 MB的共享存儲(chǔ)器,從體系結(jié)構(gòu)上看類似于并行計(jì)算機(jī)中的對(duì)稱多處理機(jī)(SMP),該架構(gòu)支持8位、16位、32位、64位、128位和256位數(shù)據(jù),可根據(jù)功耗和性能等因素折中選擇。
2.1軟件設(shè)計(jì)
為了在有效發(fā)揮多核處理器系統(tǒng)的運(yùn)算處理和數(shù)據(jù)傳輸能力的前提下,降低功耗,獲得多核處理器實(shí)際應(yīng)用時(shí)的最佳性能,要根據(jù)實(shí)際任務(wù)需要,考慮每個(gè)內(nèi)核之間的任務(wù)分配和信息傳輸[3]。多核處理器任務(wù)執(zhí)行主要有兩種運(yùn)行方式:主從方式和數(shù)據(jù)流方式。主從方式即一個(gè)核管理主任務(wù),由主任務(wù)對(duì)其他核任務(wù)進(jìn)行管理;數(shù)據(jù)流方式即任務(wù)按照數(shù)據(jù)的傳輸來(lái)運(yùn)行,由一個(gè)任務(wù)推動(dòng)另外一個(gè)運(yùn)行,見(jiàn)圖3。主從方式7各個(gè)內(nèi)核工作情況差異較大,在完成相同任務(wù)情況下,無(wú)法通過(guò)降低整個(gè)處理器的時(shí)鐘頻率來(lái)降低處理器功耗;數(shù)據(jù)流方式每個(gè)內(nèi)核工作情況比較統(tǒng)一,實(shí)時(shí)性高,與主從方式相比可適當(dāng)選用較低的時(shí)鐘頻率,降低整個(gè)處理器的功耗,但數(shù)據(jù)流方式要求對(duì)整個(gè)任務(wù)的協(xié)同和并行工作流程非常清晰。

圖3 基于多核處理器軟件工作方式
軟件設(shè)計(jì)中盡量使用中斷方式代替查詢方式,中斷方式下處理器可以什么都不做,甚至可以進(jìn)入等待模式或停止模式。而在查詢方式下處理器必須不停地訪問(wèn)寄存器,造成很多額外功耗。用宏代替子程序,讀RAM會(huì)比讀FLASH帶來(lái)更大功耗,處理器在調(diào)用子程序時(shí),需要先保存現(xiàn)場(chǎng),調(diào)用完畢后再恢復(fù)現(xiàn)場(chǎng),彈棧壓棧至少帶來(lái)2次對(duì)RAM的操作,在編譯宏時(shí)會(huì)展開(kāi),處理器執(zhí)行時(shí)只是順序執(zhí)行指令,避免了彈棧壓棧操作,且片內(nèi)FLASH的大小完全可以滿足編譯后代碼量的增加,編程時(shí)工作量幾乎相同,低功耗性能突出的ARM在處理器設(shè)計(jì)上僅允許一次子程序調(diào)用。對(duì)于非必須實(shí)時(shí)計(jì)算的參數(shù),使用常量或查表的方式替代處理器的實(shí)時(shí)計(jì)算。使用移位運(yùn)算來(lái)代替乘除法運(yùn)算等也可有效降低處理器的功耗。
2.2Cache設(shè)計(jì)
數(shù)據(jù)的時(shí)間和空間局部性是內(nèi)存系統(tǒng)優(yōu)化設(shè)計(jì)研究的重要部分[4],核心問(wèn)題在于內(nèi)存結(jié)構(gòu)的優(yōu)化無(wú)法適應(yīng)每個(gè)應(yīng)用程序。不同研究者關(guān)于Cache參數(shù)對(duì)處理器性能及功耗影響的相同分析結(jié)論為:Cache面積增大會(huì)降低失效率,但功耗會(huì)隨之增大;減小Cache面積帶來(lái)的高失效率和較大時(shí)間延遲依然會(huì)使整個(gè)系統(tǒng)功耗上升;增加Cache組相聯(lián)度會(huì)增加Cache命中率,進(jìn)而可以降低功耗。因此采用相關(guān)優(yōu)化算法讓Cache在運(yùn)行時(shí)動(dòng)態(tài)可重構(gòu),可取得較優(yōu)的效能。彈載計(jì)算機(jī)應(yīng)用程序一旦確定,執(zhí)行相對(duì)單一和固定,考慮到彈載計(jì)算機(jī)的可靠性和執(zhí)行任務(wù)的特點(diǎn),對(duì)不同Cache空間的大小和組數(shù)的執(zhí)行應(yīng)用程序進(jìn)行命中率仿真測(cè)試,根據(jù)仿真結(jié)果配置合適的Cache空間和組數(shù),可降低Cache消耗的功率。
2.3可編程邏輯設(shè)計(jì)
可編程器件的選擇對(duì)功耗影響較大[5],例如寄存器傳輸級(jí)(RTL)器件比門級(jí)器件可以減少更多的功耗。RTL級(jí)的轉(zhuǎn)換可以在一個(gè)周期內(nèi)判斷出電路正在計(jì)算結(jié)果的部分是否為有用操作,被判定為在一個(gè)時(shí)鐘周期內(nèi)進(jìn)行無(wú)用操作的時(shí)序或組合電路會(huì)被采用的門控時(shí)鐘或睡眠模式關(guān)閉。可編程邏輯設(shè)計(jì)時(shí),降低邏輯電路的時(shí)鐘頻率,僅保留必須在高速時(shí)鐘域運(yùn)行的邏輯電路;保持較小的邏輯電路面積,對(duì)無(wú)速度要求的邏輯電路進(jìn)行優(yōu)化設(shè)計(jì);將電壓降低到數(shù)據(jù)手冊(cè)規(guī)定的最小值;避免I/O管腳上拉、下拉沖突等方法也可達(dá)到降低功耗的目的。
2.4 印制板設(shè)計(jì)
印制電路板是電子元器件的支撐體,是電氣連接的提供者。為了降低在印制板上的功率耗散,印制板設(shè)計(jì)在滿足電氣連接的穩(wěn)定性、電磁兼容和布局合理等要求的前提下,要對(duì)信號(hào)的走向及電源和地線網(wǎng)絡(luò)進(jìn)行整體規(guī)劃,布線時(shí)要求走線盡可能短,線寬要根據(jù)器件本身和周邊器件的情況進(jìn)行考慮,盡量寬,走線拐角最好大于90°,盡量設(shè)計(jì)為具有一定尺寸的均勻圓弧線,相鄰兩面走線應(yīng)避免相互平行,以減少寄生電容耦合。
2.5 其他設(shè)計(jì)
集成電路未使用引腳的處理方法也會(huì)影響功耗的差異[6],例如在集成電路未使用輸入引腳上極易產(chǎn)生電荷積累,根據(jù)公式U=Q/C,式中Q為電量,C為電容,U為電壓,當(dāng)累積電荷達(dá)到一定程度時(shí),就會(huì)產(chǎn)生影響輸入引腳狀態(tài)的電壓,輸入引腳邏輯狀態(tài)變得不可控,當(dāng)電平處在邏輯0和1的過(guò)渡區(qū)時(shí),CMOS反相器的NMOS管和PMOS管都會(huì)導(dǎo)通,這將帶來(lái)很大的功耗浪費(fèi),因此一定要對(duì)集成電路的未使用引腳進(jìn)行上拉或下拉處理,此種處理方法也可使未使用的引腳處于一個(gè)固定邏輯狀態(tài)。
低功耗對(duì)彈載計(jì)算機(jī)十分重要,相關(guān)設(shè)計(jì)研究眾多,隨著處理器技術(shù)的發(fā)展,研究對(duì)象逐漸以基于多核處理器的彈載計(jì)算機(jī)為主。各種低功耗設(shè)計(jì)在彈載計(jì)算機(jī)上應(yīng)用形式多樣,但主要集中在體系架構(gòu)設(shè)計(jì)、低功耗元器件的選用、供電管理和軟件優(yōu)化幾個(gè)方面。體系架構(gòu)設(shè)計(jì)應(yīng)以異步設(shè)計(jì)為主,對(duì)性能和時(shí)序要求嚴(yán)格的部分采用同步設(shè)計(jì);選擇采用高K/金屬柵和動(dòng)態(tài)閾值等技術(shù)的CMOS器件,是降低功耗的最直接辦法;選用具有電源調(diào)節(jié)或低功耗模式的處理器等器件,可在不增加太大工作量的情況下,通過(guò)供電管理的方式降低功耗;軟件的設(shè)計(jì)優(yōu)劣對(duì)整個(gè)彈載計(jì)算機(jī)的運(yùn)行十分重要,合理調(diào)節(jié)各個(gè)部件的運(yùn)行狀況,在滿足性能要求的情況下可通過(guò)減少電路的活動(dòng)時(shí)間降低功耗。
彈載計(jì)算機(jī)應(yīng)用對(duì)象特殊,對(duì)性能、可靠性和實(shí)時(shí)性等有非常嚴(yán)格的要求,彈載計(jì)算機(jī)是否能良好工作直接決定導(dǎo)彈執(zhí)行任務(wù)的成敗,因此設(shè)計(jì)者必須根據(jù)實(shí)際應(yīng)用要求剪裁使用低功耗設(shè)計(jì)技術(shù)。
參考文獻(xiàn)
[1]RABAEY JM.數(shù)字集成電路—電路、系統(tǒng)與設(shè)計(jì)[M].周潤(rùn)德,譯.北京:電子工業(yè)出版社,2010.
[2]汪安民,張松燦.TMS320C6000DSP實(shí)用技術(shù)與開(kāi)發(fā)案例[M].北京:人民郵電出版社,2008.
[3]王江.多核系統(tǒng)中提升啟動(dòng)速度之策略[J].電子技術(shù)應(yīng)用,2014,40(3):25-28.
[4]何勇,肖斌,陳章龍,等.一種低功耗的動(dòng)態(tài)可重構(gòu)Cache設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(8):247-250.
[5]張偉棟,李濤.一種基于FPGA的高集成度技術(shù)研究設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(4):11-13,25.
[6]張興,杜剛,王源,等.超低功耗集成電路技術(shù)[J].中國(guó)科學(xué),2012,42(12):1544-1558.
景德勝(1985 -),男,本科,工程師,主要研究方向:彈載嵌入式計(jì)算機(jī)。
引用格式:景德勝.基于多核處理器的彈載計(jì)算機(jī)低功耗設(shè)計(jì)研究[J].微型機(jī)與應(yīng)用,2016,35(10):28-29,32.
Research about low power design ofmissile-borne computer based on multi-core processor
Jing Desheng1,2
(1.Xi'an ACTRI,AVIC,Xi'an 710068,China;2.College of Airworthiness,CAUC,Tianjin 300300,China)
Abstrac t:Low power consumption is the development trend of embedded computer,and the key issue to be resolved in the design ofmissileborne computer.This paper introduces the elements which cause power consumption,analyzes the factors of power consumption from processor,software design,Cache assign and so on,and describes the methods and tactics about the low power consumption system design.
Key words:multi-core;missile-borne computer;embedded system;low power
作者簡(jiǎn)介:
收稿日期:(2016-01-25)
中圖分類號(hào):TP368.1
文獻(xiàn)標(biāo)識(shí)碼:A
DOI:10.19358 /j.issn.1674-7720.2016.09.010