輕松讀懂移動處理器 CPU微架構全解析
Atom 是英特爾計劃實現 x86 anywhere 戰略的重要產品,為此它不惜賣掉了口碑不錯的 Xscale 系列 ARM 處理器部門給 Marvel,從 2008 年 3 月發布迄今已經有了 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 的新平臺似乎讓英特爾的支持者看到了些許的曙光,因為在經過三次制程技術和三個不同的設計后,現在英特爾終于有了一個可以在耗電上達到智能手機要求的低功耗產品,這個平臺中基于 32 納米 SoC 制程的 Penwell 芯片集成了代號 Saltwell 的內核,在微架構上,Saltwell 和之前所有 Atom 處理器的內核微架構其實都是幾乎一樣的,都屬于 Bonnell 微架構,不過 Saltwell 由于采用了更精密的 32nm 制程,得以在微架構上做一些優化,因此在細節上是有一些不同的。

上圖為第一代 Bonnell 微架構(Silverthorne)
到了 Saltwell(第三代 Bonnell)BTB 為 8096,具備 uop cache
Bonnell 采用超標量流水線設計,可以每個周期執行最多兩條指令,指令需要遵循一定配對原則才能實現超標量執行(類似于 Pentium 的 U/V 設計),具備 16 級工位,支持 x86_64 指令集以及最高 SSE3 擴展,但是手機版本只支持 32-bit ISA,內存容量也被限制在 1GiB,對應平板和低端筆記本等版本則打開了 64-bit ISA 支持,內存容量放寬到 2~4GiB。
相對于當前的許多競爭對手來說,英特爾在產品技術細節公布上要大氣許多,各種數據表、涉及微架構內部關鍵特征的編程優化手冊都能在產品發布后就能公開下載到,這讓我們可以更詳細的為大家介紹這款產品。
1、Saltwell 的分支預測器是一個具備 8096 條目(兩倍于 Bonnell 4096 條目)的全局式分支預測器;
2、Lincroft 時代引入的 48 字節后段取指緩存(post-fetch instruction buffer)在 Saltwell 里升格為一個高速緩存(Cache),以便減少 Saltwell 的重復取指。該技術類似于 Conroe/Merom 的 Loop Stream Detector(循環指令流偵測器),前面我們在介紹 ARM Cortex 微架構的時候也有提到類似的技術。
3、Saltwell 的 L1 I-Cache 是 32KiB 8 路相關聯,L1 D-Cache 是單端口 24KiB 6 路相關聯。
4、Saltwell 的指令發射端口依然和 Bonnell 那樣是采用 Pentium 配對式發射風格的 U/V 流水線設計;
5、Saltwell 能實現更多的整數指令配對以及更快的 memcopy 微代碼規則。
6、加入了不間斷時間標簽計數器(TSC)和本地 APIC 計時器,主要是為了協助電力管理和減少喚起 CPU 的情況。
7、L2 Cache 維持之前的 512-KiB 8 路相關聯設計,運行于內核同頻,讀取帶寬為每周期 32 字節(256-bit),可支持 32 個待發 cache 請求。改變的地方主要是 L2 Cache 的電壓軌線與內核是分開了的。例如 Saltwell 內核的 Vmin 是 0.7 伏特,L2 Cache 則在固定的 1.05 伏特電壓軌線上跑,這樣的設計有助于減少 C6(最節電模式)電力狀態轉換時延。
8、頻率變頻粒度更精細。以 Z2460 為例,雖然 CPU 的最高持續頻率為 1.3GHz,但是頻率的變動范圍達到 1.6GHz,步進粒度為 100MHz;而之前的 Z600 系列頻率范圍是 0.2GHz ~ 0.8GHz 持續,最高 1.2 GHz。
9、Saltwell 和之前的 Bonnell 系列微架構同樣沒有專用的硬件整數乘法、除法單元,這些操作都是和浮點硬件共享。
10、在 Medfield 中還有一塊獨立分離于 512 KiB L2 Cache 外的 256KiB SRAM,位于不間斷模塊內,主要用圖像信號處理器存放圖像數據以及優化最低漏電。在 SOC 進入節電模式后,這塊 SRAM 還會被用于存放架構狀態,就好象 Saltwell 內核具備自己的 C6 SRAM 來存放 x86 狀態,這塊更大的 SRAM 則是存放整個平臺的。在進入 S0ix 狀態時,像圖形或者視頻編解碼器等單元都會被關掉,它們的狀態信息和配置信息都會保留在這塊 256 KiB SRAM 里。
關注我們


