景德勝1,2
?。?.中航工業(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),;低功耗
0引言
彈載計(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)題,。
1影響功耗的因素
低功耗設(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是一個(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á)到反相器的功能,。
圖2CMOS反相器開(kāi)關(guān)模型CMOS 反相器的功耗包括動(dòng)態(tài)功耗、靜態(tài)功耗和短路功耗等三部分,,總功耗組成見(jiàn)式(1),。
P=PD+PSC+PS=α·CL·V2DD·f+ISC·VDD+Ileak·VDD(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%,,幾乎可以忽略。
除集成電路占主要功耗外,,有源開(kāi)關(guān)器件在狀態(tài)轉(zhuǎn)換時(shí),,其純電阻元件上、非理想元件等效電阻和印制板中連線等在工作中也會(huì)消耗一定能量,。
2低功耗設(shè)計(jì)技術(shù)
以使用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è)圖3基于多核處理器軟件工作方式內(nèi)核工作情況比較統(tǒng)一,,實(shí)時(shí)性高,,與主從方式相比可適當(dāng)選用較低的時(shí)鐘頻率,降低整個(gè)處理器的功耗,,但數(shù)據(jù)流方式要求對(duì)整個(gè)任務(wù)的協(xié)同和并行工作流程非常清晰,。
軟件設(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)閉,??删幊踢壿嬙O(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),。
3總結(jié)
低功耗對(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 J M.數(shù)字集成電路—電路,、系統(tǒng)與設(shè)計(jì)[M].周潤(rùn)德,,譯.北京:電子工業(yè)出版社,2010.
?。?] 汪安民,,張松燦.TMS320C6000DSP實(shí)用技術(shù)與開(kāi)發(fā)案例[M].北京:人民郵電出版社,2008.
?。?] 王江.多核系統(tǒng)中提升啟動(dòng)速度之策略[J].電子技術(shù)應(yīng)用,2014,40(3):2528.
?。?] 何勇,肖斌,,陳章龍,等. 一種低功耗的動(dòng)態(tài)可重構(gòu)Cache設(shè)計(jì)[J]. 計(jì)算機(jī)應(yīng)用與軟件,,2009,26(8):247250.
?。?] 張偉棟,李濤.一種基于FPGA的高集成度技術(shù)研究設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(4):1113,25.
?。?] 張興,杜剛,,王源,等. 超低功耗集成電路技術(shù)[J].中國(guó)科學(xué),,2012,42(12):15441558.