輕松讀懂移動處理器 CPU微架構全解析
代號 Eagle 的 Cortex-A15 是在 2012 年 9 月發布的 ARMv7 架構實現,是 ARM 首次引入三路指令解碼的微架構 IP core,目前三星的 Exynos 5 5250(雙核,32nm HKMG,1.7GHz)是市場上能看到的第一波 Cortex-A15 產品,Chromebook、Nexus 10(均在 2012 年 10 月發布)都采用了這枚芯片。
和 Cortex-A9 相比,Cortex-A15 有非常明顯的變化:
1、整數流水線最短工位數達到 15 級,管芯面積占用比 Cortex-A9 高一倍。
2、采用三路超標量微架構,可以每個周期取指四條指令,解碼器每個周期可以為發送單元提供 3 條指令,而指令發射單元可以亂序提供最高 8 個微操作供執行單元運行。
相比之下,A9 的解碼器只能每周期跑兩條指令,派發單元每周期派發 4 個微操作給執行單元。
3、Cortex-A15 的動態分支預測技術和 Cortex-A8/A9 差不多,但是 A15 引入了一個 64 條目的 microBTB,而此前的 A8/A9 并不具備這樣的分層結構。動態分支預測能力是影響現代風格處理器的關鍵因素之一,像 Pentium 4 的 BTB 是 4K 條目,SandyBridge 據說達到 8K~16K。
雖然 A15 的兩級 BTB 條目總數較 A8/A9 少,但是 A15 的 Return Stack 條目數從 8 條增加到了 18 條,取指帶寬從之前的 64-bit 提升到 128-bit,而且完全支持邊界非對齊地址的拾取。
4、Cortex-A15 支持 VFPv4,具備硬件 FMA 指令執行,可以在同頻下提供兩倍的峰值浮點性能。此外,A15 還具備硬件除法指令,在 A9 上這需要接近 50 個周期來執行。
5、A15 的周邊總線為 AMBA4,128-bit master 界面,A9 的 AMBA3 的 master 界面是 64-bit。
6、雖然 ARMv7 是 32-bit ISA,但是現在 Cortex-A15 支持 40-bit 物理定址(類似于當年的 Pentium Pro 和 Atlhon),而且 L1/L2 Cache 具備 ECC,因此理論上適用于服務器級應用。
7、A15 和 A9 都有一個類似的 small loop 緩存,用于存放小循環,讓執行單元無需訪問指令 cache 就能抓到指令。在 A9 上它可以存放大小為 64 字節的指令。
而在 A15 上則是 32 條目,可以存放兩條前轉分支和一條后轉分支,而且 A15 的 small loop 緩存存放的是已經解碼的微操作,這意味著連解碼步驟也能節省掉。
這類似于 Intel 的做法:先在 Conroe 上引入 loop buffer,然后在 Nehalem 引入 uop loop buffer(28 條目),到了 SandyBridge 則徹底改成了 uop cache(1500 個 uop),逐步改進。
Cortex A15 的整數性能為 3.5~4.01 DMIPS/MHz,相比起 A9 的 2.5 DMIPS/MHz 和 A8 的 2.0 DMIPS/MHz 有明顯的改進,不過因為三路超標量而帶來的各種資源增加,A15 需要更先進的制程(32 納米或更先進)才能在手機、平板上變得比較適用。
關注我們



