輕松讀懂移動(dòng)處理器 CPU微架構(gòu)全解析
正如我們前面提過的,蘋果公司在上世紀(jì)九零年代就已經(jīng)和 ARM 合作并且提供了一些微架構(gòu)設(shè)計(jì)上的修改方案,因此蘋果對 ARM 一點(diǎn)都不陌生甚至有非常豐富的經(jīng)驗(yàn)。
從 iPad、iPhone 4/iTouch 4、Apple TV 2 開始,蘋果開始真正介入 ARM 芯片設(shè)計(jì),推出了名為 A4 的自行設(shè)計(jì) ARM 處理器。A4 采用了 ARM 授權(quán)的 Cortex-A8 IP Core,但是蘋果找來了 Intrinsity 公司(已經(jīng)被蘋果收購)和三星公司合作進(jìn)行了一些調(diào)優(yōu),可以讓 A4 的頻率跑得比基于上一代制程的 Cortex-A8 更快。曾經(jīng)有說法認(rèn)為 A4 的 L2 cache 大小是 640KiB,但是后來確認(rèn)修正為 512KiB(這是 ARM Cortex-A8 內(nèi)核的可選配置方式之一)。
A5 系列依然是采用 ARM IP core,從 Cortex-A8 升級為 Cortex-A9 雙核,不過整個(gè) A5 系列出現(xiàn)了三個(gè)版本,即 APL0498、APL2498、APL5498(A5X),三個(gè)版本的芯片面積各不一樣,其中 A5X 的 GPU 是四核 PowerVR 5 并且擁有 4 通道內(nèi)存總線,定制化設(shè)計(jì)在這里體現(xiàn)得非常明顯。
真正的定制化設(shè)計(jì)是從 A6 開始,蘋果公司給 A6 搭配的 CPU 內(nèi)核是完全有自己團(tuán)隊(duì)開發(fā)的 Swift,不僅這樣,蘋果還提出了一個(gè)新的名字:ARMv7s。傳統(tǒng)上,ARMv7 是屬于 ISA 版本名稱,不過 ARMv7s 至今都并未出現(xiàn)在 ARM 官網(wǎng)的公開資料里,因此 ARMv7s 可能并非 ARM 的產(chǎn)物,而是蘋果自己在 ARMv7 基礎(chǔ)上做的一個(gè)架構(gòu)優(yōu)化定義,讓編譯器可以為 Swift 微架構(gòu)匹配對應(yīng)的調(diào)優(yōu),本質(zhì)上 ISA 還是 ARMv7A。
| CPU | iPhone | iPad | iPod Touch | Apple TV | ||
| ISA | 內(nèi)核 | 芯片名稱 | ||||
| "ARMv7s" | Apple Swift | Apple A6X | 4 | |||
| Apple A6 | 5 | |||||
| ARMv7A | ARM Cortex-A9 | Apple A5X | 3 | |||
| Apple A5 | mini | |||||
| 4S | 2 | 5 | 3 | |||
| ARM Cortex-A8 | Apple A4 | 4 | 1 | 4 | 2 | |
| 三星 S5PC100 | 3GS | 3(32/64GB) | ||||
| ARMv6 | ARM 1176JZ(F)-S | 3(8GB) | ||||
| 3 | 2 | |||||
| 1 | 1 | |||||
那么 Swift 和以往的 Cortex-A9 相比有哪些改進(jìn)呢?蘋果公司并未詳細(xì)說明,傳統(tǒng)上這家公司就是這樣,千方百計(jì)捂著,不過 Anandtech 利用一些自己編寫的微型基準(zhǔn)測試程序進(jìn)行了一些探測,以程序員的角度大致估量出了 Swift 的微架構(gòu)是長得如何了。
在前端部分,Swift 具備三個(gè)指令解碼器,可以每個(gè)周期完成三條指令的解碼,而在指令分發(fā)器上,具備五個(gè)發(fā)射端口,浮點(diǎn)單元、整數(shù)單元各占兩個(gè),還有一個(gè)專供 Load/Store 單元使用,具備亂序執(zhí)行能力、整數(shù)流水線深度為 12 級,cache 子系統(tǒng)的時(shí)延比 Cortex-A9 低了差不多一半。
“ARMv7s”的設(shè)立估計(jì)就是讓編譯器獲知編譯執(zhí)行對象是 Swift,這樣就能對各種指令順序進(jìn)行一些預(yù)調(diào)度,確保盡可能低的 CPI。
簡而言之,A6 系列就是采用了比 A5 系列更先進(jìn)制程和微架構(gòu)的產(chǎn)物,其中的 CPU 內(nèi)核則是蘋果首次真正完全執(zhí)行開發(fā)的設(shè)計(jì),未來是否會(huì)在 GPU 上也有類似的動(dòng)靜將會(huì)是值得關(guān)注的。
關(guān)注我們


