以小搏大!ARM Cortex A7全新架構簡析
2023-09-23 03:20:17 3
泡泡網CPU頻道11月1日 如何在保證較長續航時間的前提下實現更高的計算性能一直是困擾智慧型手機的難題,你可以設計出具有強大性能的處理器晶片,但是你卻很難實現長時間續航,而如果你為了節能推出低功耗晶片,那麼晶片的計算能力又不能滿足應用的要求,在這種矛盾中,移動晶片場上的做法是將高性能計算晶片跟低功耗計算晶片聯合。
ARM欲推出Cortex A7超低功耗核心
在這方面的一個代表就是Nvidia的下一代Tegra3 SoC(代號為Kal-EI),Nvidia透露新一代SoC晶片將具備5顆運算核心,其中四顆能夠提供較強的性能,並能在系統裡顯示出來,而另外一顆則能在較低功耗下進行計算。當行動裝置在待機情況下,低功耗核心開啟,完成emaile接收、SMS/MMS以及Twitter後臺更新等運算,這時候高性能核心是關閉的以實現節能,而當系統需要較強運算能力時,另外的四顆高性能核心被喚醒參與運算,而低功耗的A9核心則會進入休眠狀態。
Nvidia的解決方案中,所有的晶片都是採用了相同或者相似的架構,而下面我們將要提到的不同架構核心的組合機制則差不多。目前ARM還不能提供足夠低功耗的核心,因此Nvidia的解決方案裡,低功耗的核心還是A9。而現在ARM正雄心勃勃得為Cortex家族增加這麼一顆功耗足夠低的運算核心、它既可以獨立使用也可以作為一顆ISA協作核心跟高性能的A15核心聯合使用。
● 架構
其實自A9晶片開始,ARM就開始在亂序執行核心方面發力(在改進的並行計算中,指令的執行將根據任務進行重新排序),而在這方面Intel的X86是具有絕對優勢的——從Pentium Pro時代Intel就開始推行這一運算機制。ARM將要推出的A15高性能核心即是繼續延續A9的步伐,而A7則是走了相反的一條路——回歸到Cortex A8的順序執行,在並行計算中可以順序執行兩條指令,不過A7跟原來的A8還是有著很多不同的。
Cortex A7跟Cortex A15的區別
A8的設計可以追溯到2003年,後來ARM計劃推出合成多核心的版本,用來提升頻率和性能,不過受制於將新產品推向市場的時間和研發上的成本壓力,「加強版」的A8核心計劃夭折。如今得益於市場、製程等,ARM具有了捲土重來的資本,A7核心可以幫助ARM在未來幾年內奠定在高頻率、低功耗晶片方面的優勢。
Cortex A7具備一顆8-stage的集成管線,並能支持雙發。不過跟A8不同的是,A7不支持雙發浮點或者說NEON指令集,不過有另外的指令集讓A7實現單發。內部結構上的很多方面,A7都跟A8相似,不過在FPU等方面得到大幅加強。
限制帶寬的設計讓A7的晶片體積可以做到很小,ARM宣稱28nm的單核Cortex A7的面積僅有0.5平方毫米,在工藝節點上,ARM希望合作廠商能將A7的die面積控制在A8的1/2甚至1/3,順便一提,A9的die面積跟A8差不多,而高性能的A15則要比兩者大得多,具體規格參見下表。
儘管限制了雙發能力,ARM希望A7能提供比A8更強的每赫茲性能和整體性能,由於採用了相比A8更先進的預測器,A7的分支預測計算能力得到提升,更好的預測算法也使得這顆晶片更為節能,此外ARM還指出,它們在A7中採用了更低延遲的L2緩存(10 cycles),不過具體的情況還要取決於製造廠商。
「Cortex A7重新定義了能效」
不過實際上,由於限制了雙髮帶寬,Cortex A7的評估性能要比A8要低一些,具體的對比參見下表。
Cortex A7的評估性能不如A8(數值越大越好)
好消息是,Cortex A7能與Cortex A15實現100%的ISA兼容,而且A7能夠支持新的虛擬化指令集、支持整數除法和40-bit內存尋址。也就是說任何運行在A15核心上的代碼都可以在A7上運行,只是運算速度要慢一些。不過這一點讓SoC晶片同時搭載Cortex A15和Cortex A7具有了實際意義,二者也可以根據任務負載的不同即時切換,ARM把這種機制稱為「big.LITTLE」。