ZYNQ嵌入式處理器FPGA單芯片方案的特點及應用
多核與單核架構的優(yōu)勢
Cortex-A9微架構提供兩種選項:可擴展的Cortex-A9 MPCore多核處理器,或較為傳統(tǒng)的Cortex-A9單核處理器。
ARM吳雄昂指出,采用多核處理器架構不但能夠解決峰值性能的要求,而且其設計也能夠大大降低功耗。多核設備具有性能可擴展性高和功耗低的特點,為設計提供了極大的靈活性。
多核今后一個重要的挑戰(zhàn)就是怎樣從應用軟件上來利用多核的優(yōu)勢。就好比人有兩個大腦半球/區(qū),所謂一心二用,所以如果你的軟件系統(tǒng)沒法真的是一心二用,多核的意義就不是很大的。另外一個問題是針對你做事情的類型,如果是做一個比較連續(xù)性的計算,后面的結果一定要根據前面計算的結果才能往下走。這種情況下多核的幫助是非常小的。所以Cortex-A8和A9的最大區(qū)別,是像A9這種設計本來就是給多核的,它有SMP(對稱多處理技術),對于Android等操作系統(tǒng)(OS),可以自動在軟件上來做負載均衡,以分配需要工作的任務。因為有很多不同處理任務在后臺,你可通過SMP共享一個物理存儲的cache(緩存)。這樣用戶的軟件的性能才能夠比較有效地利用。例如對于雙核的網絡應用,如果有SMP,基本利用率會達到80%~90%,即放了兩個核,雙核的處理能力實際上提高到了1.8~1.9倍。如果放了4核以后,那么現在環(huán)境OS對4核的支持是相對比較弱的,可能實際上最后只有3甚至不到,因為其軟件不見得有能力去充分利用4核;同時你做的事情也不見得正好有4項是同時進行的,所以一方面取決于你去執(zhí)行的任務,一方面取決于系統(tǒng)架構。所以多核CPU本身設計時已有SMP,從OS角度已經基本被認同,應用者不需要再做任何的編程工作。
但是如果放3個A8以后,很大的問題就是OS只認一個,所以其它兩個核很難分享負載,因為你沒法去改軟件應用。
軟件/開發(fā)工具的創(chuàng)新
可見,平臺軟件和工具軟件也是實現芯片性能的重要一關。尤其在處理平臺趨同與整合后,軟件的復雜度越來越高,遠遠超過了硬件。軟件工程師數量也已超過硬件工程師數量的Xilinx公司,非常注重在工具和軟件上的創(chuàng)新。2012年其開發(fā)工具將更新?lián)Q代,推出更加智能、圖形化的流程;Xilinx還會加強推廣AutoESL高層次綜合設計流程(注:2011年Xilinx收購了AutoESL)。
例如,智能交通管理系統(tǒng)通過攝像頭拍下畫面,之后需要視頻分析算法,將標清視頻轉換為高清視頻。這是一個動態(tài)實施的過程,需要用FPGA硬件加速來實現。而傳統(tǒng)是通過硬件描述語言(HDL)來實現,開發(fā)流程很長。現在,通過AutoESL的工具,用C、C++ 建立模型,并將模型轉換為具體的應用。
那么Zynq開發(fā)的時候,用ARM開發(fā)、導入FPGA進行硬件加速,需要用到什么工具?Xilinx高級總監(jiān)Devadas Varma稱,傳統(tǒng)流程就可以實現,不過AutoESL的AutoPilot工具可使效率大為提升。因為傳統(tǒng)的硬件開發(fā)流程,硬件工作組做一個項目要花長達數月的時間,甚至1年。而AutoESL大大節(jié)約了資源,現在FPGA邏輯門越來越多,用戶充分利用這些資源,就需要提高生產率。如果還采用傳統(tǒng)的方法,那么也許你所期待的一些功能來不及放進去,就已經錯失了上市時間。
小結
我國正從“中國制造”向“中國‘智’造”轉變。“智”造更多指的是idea(主意),比智力、創(chuàng)新和差異化。Xilinx的28nm FPGA+ARM Cortex-A9 MPCore單芯片方案,使嵌入式產品設計師把主要精力放在應用層面,可加快“智”造時間、降低產品成本。
評論