輕松讀懂移動處理器 CPU微架構全解析
Atom 是英特爾計劃實現(xiàn) x86 anywhere 戰(zhàn)略的重要產品,為此它不惜賣掉了口碑不錯的 Xscale 系列 ARM 處理器部門給 Marvel,從 2008 年 3 月發(fā)布迄今已經有了 45nm 和 32nm 兩代制程,產品型號可以說是多如牛毛,就代號而言,有最初的 Silverthrone、Diamondville,然后經過制程改進,分別有了 Lincroft 和 Pineview,“新近”的 Cedarview 則是源自 Pineview。
不過這么多型號,到目前為止它們所基于的內核微架構都是 Bonnell。第一代的 Atom 處理器(Silverthrone)是 45 納米高性能制程制造,但是需要另外搭配一個 TDP 兩瓦的 130nm 制程芯片組,這枚 Atom 雖然有低于 1 瓦的版本,但是此時很多功能都被關閉,性能很弱,考慮到那個芯片組,根本不會有人拿這個做手機產品。
兩年后的 Lincroft 集成了 GPU、視頻單元以及內存控制器,采用專門的 45 納米 SoC 工藝制成,但是依然需要搭配一個代號 Langwell、由臺積電 65nm 制程生產的 I/O 芯片,兩者合起來的名字叫 Morrestown 平臺,這個系列中的 Z600 被嘗試用來做了一兩款手機,但是太高耗電的問題使得它們依然難以成為智能手機市場的競爭者。
到了 2012 年,名為 Medfield 的新平臺似乎讓英特爾的支持者看到了些許的曙光,因為在經過三次制程技術和三個不同的設計后,現(xiàn)在英特爾終于有了一個可以在耗電上達到智能手機要求的低功耗產品,這個平臺中基于 32 納米 SoC 制程的 Penwell 芯片集成了代號 Saltwell 的內核,在微架構上,Saltwell 和之前所有 Atom 處理器的內核微架構其實都是幾乎一樣的,都屬于 Bonnell 微架構,不過 Saltwell 由于采用了更精密的 32nm 制程,得以在微架構上做一些優(yōu)化,因此在細節(jié)上是有一些不同的。
上圖為第一代 Bonnell 微架構(Silverthorne)
到了 Saltwell(第三代 Bonnell)BTB 為 8096,具備 uop cache
Bonnell 采用超標量流水線設計,可以每個周期執(zhí)行最多兩條指令,指令需要遵循一定配對原則才能實現(xiàn)超標量執(zhí)行(類似于 Pentium 的 U/V 設計),具備 16 級工位,支持 x86_64 指令集以及最高 SSE3 擴展,但是手機版本只支持 32-bit ISA,內存容量也被限制在 1GiB,對應平板和低端筆記本等版本則打開了 64-bit ISA 支持,內存容量放寬到 2~4GiB。
相對于當前的許多競爭對手來說,英特爾在產品技術細節(jié)公布上要大氣許多,各種數(shù)據(jù)表、涉及微架構內部關鍵特征的編程優(yōu)化手冊都能在產品發(fā)布后就能公開下載到,這讓我們可以更詳細的為大家介紹這款產品。
1、Saltwell 的分支預測器是一個具備 8096 條目(兩倍于 Bonnell 4096 條目)的全局式分支預測器;
2、Lincroft 時代引入的 48 字節(jié)后段取指緩存(post-fetch instruction buffer)在 Saltwell 里升格為一個高速緩存(Cache),以便減少 Saltwell 的重復取指。該技術類似于 Conroe/Merom 的 Loop Stream Detector(循環(huán)指令流偵測器),前面我們在介紹 ARM Cortex 微架構的時候也有提到類似的技術。
3、Saltwell 的 L1 I-Cache 是 32KiB 8 路相關聯(lián),L1 D-Cache 是單端口 24KiB 6 路相關聯(lián)。
4、Saltwell 的指令發(fā)射端口依然和 Bonnell 那樣是采用 Pentium 配對式發(fā)射風格的 U/V 流水線設計;
5、Saltwell 能實現(xiàn)更多的整數(shù)指令配對以及更快的 memcopy 微代碼規(guī)則。
6、加入了不間斷時間標簽計數(shù)器(TSC)和本地 APIC 計時器,主要是為了協(xié)助電力管理和減少喚起 CPU 的情況。
7、L2 Cache 維持之前的 512-KiB 8 路相關聯(lián)設計,運行于內核同頻,讀取帶寬為每周期 32 字節(jié)(256-bit),可支持 32 個待發(fā) cache 請求。改變的地方主要是 L2 Cache 的電壓軌線與內核是分開了的。例如 Saltwell 內核的 Vmin 是 0.7 伏特,L2 Cache 則在固定的 1.05 伏特電壓軌線上跑,這樣的設計有助于減少 C6(最節(jié)電模式)電力狀態(tài)轉換時延。
8、頻率變頻粒度更精細。以 Z2460 為例,雖然 CPU 的最高持續(xù)頻率為 1.3GHz,但是頻率的變動范圍達到 1.6GHz,步進粒度為 100MHz;而之前的 Z600 系列頻率范圍是 0.2GHz ~ 0.8GHz 持續(xù),最高 1.2 GHz。
9、Saltwell 和之前的 Bonnell 系列微架構同樣沒有專用的硬件整數(shù)乘法、除法單元,這些操作都是和浮點硬件共享。
10、在 Medfield 中還有一塊獨立分離于 512 KiB L2 Cache 外的 256KiB SRAM,位于不間斷模塊內,主要用圖像信號處理器存放圖像數(shù)據(jù)以及優(yōu)化最低漏電。在 SOC 進入節(jié)電模式后,這塊 SRAM 還會被用于存放架構狀態(tài),就好象 Saltwell 內核具備自己的 C6 SRAM 來存放 x86 狀態(tài),這塊更大的 SRAM 則是存放整個平臺的。在進入 S0ix 狀態(tài)時,像圖形或者視頻編解碼器等單元都會被關掉,它們的狀態(tài)信息和配置信息都會保留在這塊 256 KiB SRAM 里。
關注我們
