ARM發佈Cortex-A77 CPU,為下一代移動設備提供芯片方案

軟銀旗下的ARM在低功耗、高效率的CPU背後的架構方面繼續佔據市場主導地位,為當今市場上絕大多數智能手機供電。儘管ARM沒有自己製造任何產品,這取決於其廣泛的合作伙伴,但其Cortex系列產品在所有領先廠商的硅設計中無處不在。

去年,ARM通過釋放Cortex-A76 CPU提高了性能賭注,與上一代相比,它提供了高達35%的性能,以及對機器學習的特定改進。然後,Cortex-A76大大提高了單線程性能。

ARM發佈Cortex-A77 CPU,為下一代移動設備提供芯片方案

正是在這樣的背景下,ARM一年後推出了新的改進型Cortex-A77處理器。從高層的角度來看,ARM的工程師們明顯地調整了設計,以提高每個時鐘的指令能力。

因此,其目的是通過改進儀表板組合儀表(IPC)來提高性能,而不需要提高關鍵限制器:電源。那麼,ARM如何能夠在不對設計進行大幅度修改的情況下,宣稱其出色的單線程改進呢?

ARM發佈Cortex-A77 CPU,為下一代移動設備提供芯片方案

這個方框圖突出了Cortex-A76的相似性和架構改進。

可以說,在這個前端部分花費時間和資源可以提高處理器的能力,使進入獲取、解碼和調度區域的指令流流線型化,從而使處理器能夠為執行Beast提供支持。

一個很好的起點是分支預測單元(BPU),顧名思義,它試圖猜測分支將走向何處。分支的原因是通過以非串行方式(無序處理)執行指令來儘可能地使處理器忙碌,因此架構師通常會在這裡花費大量的時間和精力。增加BPU的代價是增加功率和硅面積,因此對於一個TDP有限的體系結構(如Cortex-A77)來說,這是一個很好的平衡措施。

然而,因為這個新的Cortex有一個更強大的執行核心——更進一步——BPU也需要升級。因此,ARM將分支預測帶寬增加了一倍,達到了每週期64字節,因此可以消除核心引擎中任何不需要的氣泡(在該週期中什麼都沒有發生)。還有一些祕密醬汁可以減少樹枝的誤判。記住,在第一階段出錯意味著需要衝洗整個管道,從電源/性能的角度來看,這是昂貴的。總之,Cortex-A77有一個更大的分支目標緩衝區(具有隱含意義),並且更大的L1-BTB入口。

前端有趣的部分是微操作緩存(如MOP)的存在,它也出現在Intel和AMD最新的x86處理器上。MOP的目標很簡單,即在解碼時存儲/緩存指令。這個緩存的好處在於,它使設計的fetch部分(如上圖所示)能夠從緩存中提取指令,並且不必從頭開始計算出所需的指令,從而節省電力。它也切斷了一步管道,到10個週期,所以這是一個雙贏的全面。

當然,指出了顯而易見的一點,微操作緩存在“第二次運行”指令上工作(因為它是一個存儲緩存),這意味著性能優勢在第一次運行指令上並不明顯。由於包含在一級i-cache中,ARM估計MOP的1.5K大小(常規指令緩存約為6K)在各種工作負載中的命中率約為85%。MOP緩存對於ARM通常為其設計的功率受限環境來說意義重大。

您可能會問自己的一個問題是,如果ARM在提高性能的同時還可能降低功耗,那麼為什麼它沒有在早期的體系結構中引入專用的MOP緩存呢?答案是雙重的:這不是一項微不足道的工作,其次,處理器性能必須足夠強大,才能保證有這樣的緩存。Cortex-A77是ARM認為足夠好的第一個,可以從整體硅足跡的增加中獲益。

ARM發佈Cortex-A77 CPU,為下一代移動設備提供芯片方案

隨著解碼技術的發展,體系結構愛好者將認識到ARM將調度帶寬從每週期4條指令提高到6條,提高了50%。這個寬度通過註冊重命名/分派來保持,到執行核心的總分派從Cortex-A76上的8增加到這裡的10。一個需要一個更大的無序窗口來適應這種變化,所以它從128個條目跳到160個,再次為執行野獸提供了支持。

如果你不能使用,這個前端和中間部分的寬度是不好的。Cortex-A77帶來了第二個品牌和第三個算術邏輯單元(ALU),以便運行更多的並行指令處理。在執行核心的頂端,我們看到處理量增加了50%——Cortex-A76有一個單分支、雙ALU和一個多用途ALU,因此錯過了這裡提供的兩個額外執行機會。儘管沒有明確顯示,Cortex-A77也有第二個AES管。值得指出的是,Cortex-A77由於效率的提高,使用了統一的指令隊列。

另一個有趣的變化是內存管理單元如何工作,這是ARM在性能方面取得有意義的進步的一個領域。首先,與之前的版本相比,Cortex-A77允許存儲日期管道直接訪問問題隊列——它在方框圖中由MMU中最上面的兩條橙色線表示。這真正意味著額外的帶寬,這總是一件好事。

顧名思義,加載存儲隊列負責向內存加載和存儲數據,因此從設計的角度來看,任何可以做的使這個過程更高效的事情都會獲得可觀的回報。ARM使用了它所稱的“下一代數據預取器”,它提供了許多好處,包括從主內存獲得更高的帶寬,減少了實現這一目標的需要,從而提高了電源效率。

ARM發佈Cortex-A77 CPU,為下一代移動設備提供芯片方案

與Cortex-A76相比,在公平競爭的環境下,所有這些架構變化(更智能的前端、更廣泛的調度和執行,以及更智能的數據預取)的總和平均提高了20%。

人們會期望在整數重的基準測試中獲得可觀的收益,但有一點令人驚訝的是浮點性能的收益,主要是更巧妙地處理內存。當然,人們不能將規範基準視為福音——基準的某些部分在Cortex-A77上運行得非常好,也許也太好了,但問題在於,任何配備此處理器的智能手機都應該為SoC設計者提供一個簡單的過渡,並在所有場景中提供額外的性能。

智能手機制造商將決定到底要放置多少內核,以何種速度等等,儘管保持蘋果對蘋果的比較意味著明年的皮質承載硬件應該保持競爭力。

當手臂從Cortex-A75移動到Cortex-A76時,在性能上取得了非常健康的進步。最新的迭代建立在Cortex-A76的基礎上,並通過使其成為更廣泛的設計來提高性能……所有這些都不會顯著增加功率或硅足跡。這兩個突出的功能——MOP緩存和一個全新的預取器——最能提升所有重要的IPC。

ARM已經推出了新的Cortex-A77 CPU內核,它將不可避免地取代目前的Cortex-A76,成為許多高級SoC設計師的首選。在各個方面都比它的前任要好,而且足夠好,或者說,作為一個真正的筆記本電腦級處理器,我們屏息以待,看看ARM是否最終能夠在這個空間破解x86的束縛。

相關推薦

推薦中...