選擇處理器過程中需要考慮多重因素
如今隨著多模式處理的應(yīng)用出現(xiàn),選擇處理器早已不再是一項(xiàng)相對(duì)簡(jiǎn)單的事情。但通過考察幾個(gè)關(guān)鍵考慮因素,可以簡(jiǎn)化決策過程。
本文引用地址:http://butianyuan.cn/article/201609/303921.htm選擇嵌入式處理器曾經(jīng)是一項(xiàng)非常簡(jiǎn)單的事情。當(dāng)然,這一切都已經(jīng)是“過去時(shí)”,那時(shí)候關(guān)注焦點(diǎn)是一些有限的功能,而用戶界面和連接性則不是很重要,功耗也不是如此受到重視。而在融合處理盛行的今天,單個(gè)器件可以執(zhí)行控制、信號(hào)處理和應(yīng)用級(jí)任務(wù),因此需要考慮更多方面(圖1)。處理器選擇過程中有太多方面需要考慮,讓我們來看看系統(tǒng)設(shè)計(jì)人員必須考慮的一些比較突出的方面。
處理器性能
系統(tǒng)設(shè)計(jì)人員本能地想到,器件的處理速度是其性能的主要指標(biāo)。這點(diǎn)沒有錯(cuò),但并不全面。評(píng)估處理器每秒可以執(zhí)行的指令數(shù)毫無疑問是非常重要的,但是估計(jì)每個(gè)內(nèi)核時(shí)鐘周期內(nèi)可以完成的操作數(shù)和計(jì)算單元的效率也同樣重要。采用多核處理器來大幅提升器件的計(jì)算能力(尤其是采用同構(gòu)內(nèi)核時(shí)),或清楚地區(qū)分信號(hào)處理和控制處理(通常采用異構(gòu)內(nèi)核)等等,這些情況不再少見。
圖1 如今的融合處理模式使處理器選擇變得前所未有的復(fù)雜
硬件加速
當(dāng)然,并不是只要考慮處理器內(nèi)核。執(zhí)行明確指定的功能時(shí),硬件加速器幾乎總是最為高效的方法,它能夠以最高能效執(zhí)行其所用于加速的功能。加速器使用上可能存在差異的一個(gè)方面是在軟件算法中使用時(shí)的兼容程度。對(duì)于H.264編碼器等全算法型加速器,由于實(shí)質(zhì)上是完全獨(dú)立自主的,因此通常不會(huì)有問題。然而,對(duì)于FFT等內(nèi)核型加速器,算法越大,在其中使用加速器也就更加困難。下面我們來看看該硬件功能的工作原理及其所需的配置方式。
帶寬要求
帶寬估算過程容易被看得過于簡(jiǎn)單,有時(shí)會(huì)因此出現(xiàn)令人遺憾的結(jié)果。為了確保內(nèi)核能夠在分配的窗口內(nèi)完成數(shù)據(jù)處理且各個(gè)處理器總線均未出現(xiàn)過載(會(huì)導(dǎo)致數(shù)據(jù)損壞或系統(tǒng)故障),必須對(duì)系統(tǒng)中的所有獨(dú)立數(shù)據(jù)流進(jìn)行求和(同時(shí)需要考慮方向性和時(shí)間窗口)。例如,對(duì)于視頻解碼器,設(shè)計(jì)人員首先需要考慮讀取所需解碼的數(shù)據(jù)。然后,需要結(jié)合多個(gè)必要的處理數(shù)據(jù),以構(gòu)建解碼幀序列。這可能涉及到內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器之間進(jìn)行多次緩沖數(shù)據(jù)的轉(zhuǎn)移。最后,設(shè)計(jì)人員必須考慮將顯示緩沖數(shù)據(jù)流傳送至輸出器件。
考慮所有數(shù)據(jù)流后,需要制定整體系統(tǒng)預(yù)算。此預(yù)算受多個(gè)因素影響,其中包括DRAM訪問模式(及對(duì)應(yīng)的性能降低程度)、內(nèi)部總線仲裁、存儲(chǔ)器延遲等等。
電源管理
能夠?qū)⒐慕抵僚c工作時(shí)間要求相當(dāng)?shù)乃綄?duì)延長(zhǎng)電池使用時(shí)間至關(guān)重要,同時(shí)也有助于降低主電源供電系統(tǒng)的總體能源成本。處理器能夠提供多種多樣的選項(xiàng),用于優(yōu)化應(yīng)用的功耗分布。其一就是動(dòng)態(tài)電源管理——調(diào)整內(nèi)核頻率和工作電壓來滿足特定性能水平的能力。另一個(gè)則是提供多種電源模式,這些模式能夠在一定時(shí)間間隔內(nèi)關(guān)閉各種不需要的資源,包括存儲(chǔ)器和外設(shè)。系統(tǒng)喚醒(借由通用I/O、實(shí)時(shí)時(shí)鐘或其它激勵(lì))是這種電源模式控制不可或缺的一部分。電源管理方面的靈活性還體現(xiàn)在內(nèi)核、I/O和存儲(chǔ)器存在多個(gè)電壓域,從而允許不同的系統(tǒng)組件在實(shí)際運(yùn)行時(shí)以較低的電壓工作。
安全需求
過去幾年里,處理器安全性已經(jīng)變得日益重要。無論是否是系統(tǒng)的基本要求,決定最終方向之前,都必須從多個(gè)出發(fā)點(diǎn)來審視安全問題。安全需求通常表現(xiàn)為平臺(tái)保護(hù)、IP安全或數(shù)據(jù)安全,乃至這三者的某些組合。
需要平臺(tái)保護(hù)是為了確保應(yīng)用中僅運(yùn)行經(jīng)認(rèn)證的代碼。也就是說,必須主動(dòng)阻止“流氓代碼”運(yùn)行嗎? “流氓代碼”是指嘗試訪問處理器上受保護(hù)信息或者“劫持”處理器并進(jìn)而控制更大系統(tǒng)的程序。平臺(tái)保護(hù)可以通過多種技術(shù)實(shí)現(xiàn),選擇時(shí)務(wù)必要仔細(xì)權(quán)衡利弊。像其它權(quán)衡考量一樣,保護(hù)等級(jí)提升會(huì)導(dǎo)致成本增加。另一個(gè)重要考慮因素是整體安全方案在開發(fā)和生產(chǎn)方面的易用性。
驗(yàn)證代碼的能力對(duì)確保IP和數(shù)據(jù)安全也非常關(guān)鍵。IP安全要求以某種方式對(duì)錄入處理器用于執(zhí)行的代碼圖像進(jìn)行加密,或者通過無法利用外部機(jī)制訪問的嵌入式閃存或內(nèi)部ROM在內(nèi)部存儲(chǔ)此IP以供處理器訪問。而需要一定形式的數(shù)據(jù)安全措施則為了確保數(shù)據(jù)可以不受影響地進(jìn)入和退出系統(tǒng)。某些情況下,尤其是在低端微控制器中,安全性可能完全由嵌入式閃存來負(fù)責(zé),而在高端處理器中,應(yīng)用程序通過引導(dǎo)加載程序載入,因此相關(guān)方案可能更為復(fù)雜。
安全和容錯(cuò)
在很多應(yīng)用中,安全無疑是重中之重,例如汽車駕駛員輔助系統(tǒng)或閉環(huán)電源控制系統(tǒng)。然而,在其它不太明顯的應(yīng)用中,設(shè)計(jì)人員目前開始更為關(guān)注提高工作穩(wěn)定性水平。鑒于處理器構(gòu)建在28nm或40nm等較小的硅片上,其中存儲(chǔ)器上因阿爾法和伽瑪粒子等自然因素而造成的軟誤差可能影響操作,這方面顯得尤為重要。在處理器選擇過程中,必須考察處理器如何處理這類誤差以及其通常如何響應(yīng)突發(fā)事件。出現(xiàn)誤差時(shí),它可以采取什么步驟?它如何通知其它系統(tǒng)組件有地方出錯(cuò)?
調(diào)試能力
隨著應(yīng)用變得越來越復(fù)雜,開發(fā)過程同樣也是如此。當(dāng)處理器和應(yīng)用子組件的數(shù)量呈指數(shù)增長(zhǎng)時(shí),過去可行的捷徑可能不再有效。以基于軟件且采用操作系統(tǒng)或?qū)崟r(shí)內(nèi)核的大型系統(tǒng)級(jí)調(diào)試為例。處理器及其工具鏈?zhǔn)欠裼蟹椒z查處理器狀態(tài)而又不影響應(yīng)用?是否可以繪出處理器性能曲線及軌跡或者捕捉所有目標(biāo)事件? 應(yīng)首先回答出上述問題以及其它更多問題,然后才能坦然選擇可用的調(diào)試水平。
系統(tǒng)成本
有時(shí),系統(tǒng)設(shè)計(jì)人員會(huì)專注于處理器價(jià)格,而不是總體系統(tǒng)設(shè)計(jì)成本。正確的做法是,不僅必須考慮器件本身成本,還應(yīng)考慮所需支持電路(電平轉(zhuǎn)換器、接口芯片和邏輯芯片等等)的成本。此外,封裝選項(xiàng)也發(fā)揮著重要作用:一種處理器封裝可能允許采用四層板設(shè)計(jì),而另一種封裝則可能因布局布線難題而要求采用昂貴的六層或八層板。最后,不可忽視額外處理裕量的價(jià)值,裕量可以確保日后能夠進(jìn)行擴(kuò)展,而又不會(huì)因更換處理器或電路板開發(fā)延誤而付出昂貴代價(jià)。
信號(hào)鏈
最后一點(diǎn): 應(yīng)當(dāng)結(jié)合系統(tǒng)的信號(hào)鏈要求來選擇處理器。處理器供應(yīng)商是否還銷售與處理器相連的外設(shè)? 從同一供應(yīng)商購買多種系統(tǒng)組件往往可以享受諸多好處,例如互操作性、客戶支持和整體價(jià)格優(yōu)勢(shì)。
評(píng)論