選擇處理器過程中需要考慮多重因素
如今隨著多模式處理的應用出現(xiàn),選擇處理器早已不再是一項相對簡單的事情。但通過考察幾個關鍵考慮因素,可以簡化決策過程。
本文引用地址:http://www.ex-cimer.com/article/201609/303921.htm選擇嵌入式處理器曾經(jīng)是一項非常簡單的事情。當然,這一切都已經(jīng)是“過去時”,那時候關注焦點是一些有限的功能,而用戶界面和連接性則不是很重要,功耗也不是如此受到重視。而在融合處理盛行的今天,單個器件可以執(zhí)行控制、信號處理和應用級任務,因此需要考慮更多方面(圖1)。處理器選擇過程中有太多方面需要考慮,讓我們來看看系統(tǒng)設計人員必須考慮的一些比較突出的方面。
處理器性能
系統(tǒng)設計人員本能地想到,器件的處理速度是其性能的主要指標。這點沒有錯,但并不全面。評估處理器每秒可以執(zhí)行的指令數(shù)毫無疑問是非常重要的,但是估計每個內核時鐘周期內可以完成的操作數(shù)和計算單元的效率也同樣重要。采用多核處理器來大幅提升器件的計算能力(尤其是采用同構內核時),或清楚地區(qū)分信號處理和控制處理(通常采用異構內核)等等,這些情況不再少見。

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