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