特性 1.更寬的矢量運算:從128-bit增至256-bit,並保持向下兼容性
2.增強的數據重排:單個操作可同時處理8個32-bit數據
4.支持彈性的訪存地址不對齊
解析 前端
從高級層面角度看,SNB架構只是一次進化,但是如果看看Nehalem/Westmere以來電晶體變化的規模,絕對是一次革命。 Core 2引入了一種叫作循環流檢測器(LSD)的邏輯塊,檢測到
CPU 執行軟體循環的時候就會關閉
分支預測 器、預取/解碼引擎,然後通過自身
快取 的
微指令 (micro-ops)供給執行單元。這種做法通過在循環執行的時候關閉前端節省了功耗,並改進了性能。
SNB里又增加了一個微
指令快取 ,用於在
指令解碼 時臨時存放。這裡沒有什麼嚴格的算法,指令只要在解碼就會放入快取。預取硬體獲得一個新指令的時候,會首先檢查它是否存在於微指令快取中,如是則由快取為其餘的管線服務,前端隨之關閉。解碼硬體是
x86 管線里非常複雜的部分,關閉它能夠節約大量的功耗。如果這種技術也能引入到Atom處理器架構中,無疑也能使之受益匪淺。
這個
快取 是直接映射的,能存儲大約1.5K
微指令 ,相當於6KB指令快取。它位於一級指令快取內,大多數程式的命中率都能達到80%左右,而且頻寬也相比一級指令快取更高、更穩定。真正的一級指令和
數據快取 並沒有變,仍然都是32KB,合計64KB。
這看起來有點兒像Pentium 4的
追蹤快取 ,但最大的不同是它並不快取追蹤,而更像是一個
指令快取 ,存儲的是微指令,而非x86指令(macro-ops)。
與此同時,Intel還完全重新了一個
分支預測 單元(
BPU ),精確度更高,並在三個方面進行了創新。
第一,標準的BPU都是2-bit預測器,每個分支都使用相關可信度(強/弱)進行標記。Intel發現,這種雙模預測器所預測的分支幾乎都是強可信度的,因此SNB里多個分支都使用一個可信度位,而不是每個分支對應一個可信度位,結果就是在分支歷史表中同樣的位可以對應更多分支,進而提高預測精確度。
第二,分支目標同樣做了翻新。之前的架構中分支目標的大小都是固定的,但是大多數目標都是相對近似的。SNB現在支持多個不同的分支目標大小,而不是一味擴大
定址 能力、保存所有分支目標,因而浪費的空間更少,CPU能夠跟蹤更多目標、加快預測速度。
第三,提高
分支預測 器精度的傳統方法是使用更多的歷史位,但這隻對要求長指令的特定類型分支有效,SNB於是將分支按照長短不同歷史進行劃分,從而提高預測精度。
物理暫存器檔案(PRF)和執行改進
類似於AMD的
推土機 、山貓,IntelSNB也使用了物理暫存器檔案。Core 2、Nehalem架構中,每個
微指令 需要的每個
運算元 都有一份拷貝,這就意味著
亂序執行 硬體(調度器/重排序
快取 /關聯佇列)必須要非常大,以便容納微指令和相關數據。Core Duo時代是80-bit,加入SSE指令集後增至128-bit,現在又有了AVX指令集,按照趨勢會翻番至256-bit。
RPF在
暫存器 檔案中存儲微指令運算元,而微指令在亂序執行引擎中只會攜帶指向運算元的指針,而非數據本身。這就大大降低了亂序執行硬體的功耗(轉移大量數據很費電的),同時也減小了流水線的核心面積,數據流視窗也增大了三分之一。
核心面積的精簡正是AVX指令(SNB最主要革新之一)集得以實現並保證良好性能的關鍵所在。以最小的核心面積代價,Intel將所有SIMD單元都轉向了256-bit。
AVX支持256-bit
運算元 ,相當消耗電晶體與核心面積,而RPF的使用加大了
亂序執行 緩衝,能夠很好地滿足更高吞吐量的浮點引擎。
Nehalem架構中有三個執行連線埠和三個執行單元
堆疊 :
SNB允許256-bit AVX指令借用128-bit的整數SIMD數據路徑,這就使用最小的核心面積實現了雙倍的浮點吞吐量,每個時鐘可以進行兩個256-bit AVX操作。另外執行硬體和路徑的上位128-bit是受電源柵極(Power Gate)控制的,標準128-bit SSE操作不會因為256-bit擴展而增加功耗。
AMD
推土機架構 對AVX的支持則有所不同,使用了兩個128-bit SSE路徑來合併成256-bit AVX操作,即使八核心(四模組)推土機的256-bit AVX吞吐量也要比四核心SNB少一半,不過實際影響完全取決於應用程式如何利用AVX。SNB的峰值浮點性能翻了一番,這就對載入和
存儲單元 提出了更高要求。Nehalem/Westmere架構中有三個載入和存儲連線埠:載入、存儲地址、存儲數據。
SNB架構中載入和存儲地址連線埠是對稱的,都可以執行載入或者存儲地址,載入頻寬因此翻倍。 SNB的整數執行也有了改進,只是比較有限。ADC指令吞吐量翻番,乘法運算可加速25%。
環形匯流排與三級快取
SNB又整合了GPU圖形核心、
視頻轉碼 引擎,並共享三級快取。Intel並沒有沿用此前的做法,再增加2000條連線,而是像
伺服器 版的Nehalem-EX、Westmere-EX那樣,引入了環形匯流排(Ring Bus),每個核心、每一塊三級快取(LLC)、集成圖形核心、媒體引擎、
系統助手 (System Agent)都在這條線上擁有自己的接入點,形象地說就是個“站台”。
這條環形匯流排由四條獨立的環組成,分別是數據環(DT)、請求環(QT)、回響環(RSP)、偵聽環(SNP)。每條環的每個站台在每個
時鐘周期 內都能接受32位元組數據,而且環的訪問總會自動選擇最短的路徑,以縮短延遲。隨著核心數量、
快取 容量的增多,快取頻寬也隨時同步增加,因而能夠很好地擴展到更多核心、更大伺服器集群。
這樣,SNB每個核心的
三級快取 頻寬都是96GB/s,堪比高端Westmere,而四核心繫統更是能達到384GB/s,因為每個核心都在環上有一個接入點。
三級快取的延遲也從大約36個周期減少到26-31個周期。此前預覽的時候我們就已經感覺到了這一點,現在終於有了確切的數字。三級快取現在被劃分成多個區塊,分別對應一個CPU核心,都在環形匯流排上有自己的接入點和完整快取管線。每個核心都可以訪問全部三級快取,只是延遲不同。此前三級快取只有一條快取管線,所有核心的請求都必須通過它,現在很大程度上分而治之了。
和以前不同的是,三級快取的頻率現在也和核心頻率同步,因而速度更快,不過缺點是三級快取也會隨著核心而降頻,所以如果CPU降頻的時候GPU又正好需要訪問三級快取,速度就慢下來了。
系統助手
經過環形匯流排、
三級快取 的變化,非核心(Uncore)概念還在,但是Intel改稱之為系統助手,基本就相當於曾經的
北橋晶片 :
PCI-E控制器,可提供16條PCI-E 2.0信道,支持單條PCI-E x16或者兩條PCI-E x8插槽
重新設計的雙通道DDR3
記憶體控制器 ,
記憶體延遲 也恢復了正常水平(Westmere將記憶體控制器移出CPU、放到了GPU上)
此外還有DMI
匯流排接口 、顯示引擎、電源控制單元(PCU)。
系統助手 的頻率要低於其他部分,有自己獨立的電源層。
整合圖形核心
SNB將CPU、GPU封裝在同一核心中,全部採用32nm工藝,特別是顯著提高了IPC(指令/時鐘)。
SNB GPU有自己的電源島和時鐘域,也支持Turbo Boost技術,可以獨立加速或降頻,並共享三級快取。
顯示卡驅動 會控制訪問
三級快取 的許可權,甚至可以限制GPU使用多少快取。將圖形數據放在快取里就不用繞道去遙遠而“緩慢”的記憶體了,這對提升性能、降低功耗都大有裨益。
不過這么做並沒有說起來這么簡單。NVIDIA GF100核心費了九牛二虎之力,SNB其實也差不多,同樣進行了全新設計。
順便提一下Intel的
獨立顯示卡 工程Larrabee。它的重點是廣泛使用全面可程式硬體(除了紋理硬體),SNB則是全面使用固定功能硬體,功能特性和硬體單元相對應,這樣的好處是性能、功耗、核心面積都大大最佳化,損失則是缺乏彈性。顯然,Intel世界的中心仍舊是CPU,不能讓GPU過分強大,這和NVIDIA的理念正好相反。
可程式著色硬體被稱為EU,包含著色器、核心、執行單元等,可以從多個執行緒雙發射時取指令。內部ISA映射和絕大多數DX10 API指令一一對應,架構很像CISC,結果就是有效擴大了EU的寬度,IPC也顯著提升。
抽象數學運算由EU內的硬體負責,性能得以同步提高。Intel表示,正弦(sine)、餘弦(cosine)操作的速度比現在的HD Graphics提升了幾個數量級。
Intel此前的圖形架構中,暫存器檔案都是即時重新分配的。如果一個執行緒需要的暫存器較少,剩餘暫存器就會分配給其他執行緒。這樣雖能節省核心面積,但也會限制性能,很多時候執行緒可能會面臨沒有暫存器可用的尷尬。在
晶片組 集成時代,每個執行緒平均64個暫存器,Westmere HD Graphics提高到平均80個,SNB則每個執行緒固定為120個。
所有這些改進加起來,SNB里每個EU的指令吞吐量都比現在的HD Graphics增加了一倍。
SNB集成的GPU圖形核心分為兩大版本,分別擁有6個、12個EU。首批發布的移動版全部是12個EU,桌面版則根據型號不同而有兩種配置,可能是高端12個、低端6個。得益於每個EU吞吐量翻番、運行頻率更高、共享
三級快取 等特點,即使只有六個的時候性能也會相當令人滿意。SNB GPU圖形核心也可以獨立動態加速,最高可達驚人的1.35GHz。如果軟體需要更多CPU資源,那么CPU就會加速、GPU同時減速,反之亦然。
媒體引擎
除了GPU圖形核心,SNB中還有一個媒體處理器,專門負責視頻解碼、編碼。
新的
硬體加速 解碼引擎中,整個視頻管線都通過固定功能單元進行解碼,和現在正好相反。Intel據此宣稱,SNB在播放視頻的時候功耗可降低一半。
新一代Turbo Boost
Lynnfield Core i7/i5首次引入了智慧型
動態加速技術 “Turbo Boost”(
睿頻 ),能夠根據工作負載,自動以適當速度開啟全部核心,或者關閉部分限制核心、提高剩餘核心的速度,比如一顆
熱設計功耗 (TDP)為95W的四核心處理器,可能會三個核心完全關閉,最後一個大幅提速,一直達到95W TDP的限制。
現有處理器都是假設一旦開啟動態加速,就會達到TDP限制,但事實上並非如此,處理器不會立即變得很熱,而是有一段時間發熱量距離TDP還差很多。
SNB利用這一點特性,允許單元
控制單元 (PCU)在短時間內將活躍核心加速到TDP以上,然後慢慢降下來。PCU會在空閒時跟蹤散熱剩餘空間,在系統負載加大時予以利用。處理器空閒的時間越長,能夠超越TDP的時間就越長,但最長不超過25秒鐘。
不過在穩定性方面,PCU不會允許超過任何限制。
命名 SNB家族仍然沿用Core i7/i5/i3的品牌+子系列命名方式 ,編號上則採用四位數字。
對於桌面版的CPU來說:其中
第一位均為“2”,代表第二代Core ix系列 ,最後末尾往往還有一個代表不同含義的字母:
K代表不鎖定倍頻 ,都是高端產品;
S代表性能最佳化 ,原始頻率比沒有字母后綴的低很多,但是單核心加速最高頻率基本相同,另外
熱設計功耗 都是65W;
T代表功耗最佳化 ,熱設計功耗只有45W或35W,但是頻率也是最低的。
-29xxXM:Core i7,四核心,八執行緒,支持Turbo,8MB
三級快取 ,
至尊版 -28xxQM:Core i7,四核心,八執行緒,支持Turbo,8MB三級快取
-27xxQM:Core i7,四核心,八執行緒,支持Turbo,6MB三級快取
-26xxM:Core i7,雙核心,
四執行緒 ,支持Turbo,4MB三級快取
-25xxM:Core i5,雙核心,四執行緒,支持Turbo,3MB三級快取
其後綴的意義為:
- QM:四核心標準版
-M:雙核心標準版 由此可見,Core i7/i5/i3及其各個子系列的不同依然取決於是否支持
超執行緒 、
睿頻 加速,以及三級快取容量的大小,還是略有混亂。
規格 處理器型號
市場定位
核心/執行緒
超執行緒
原始頻率
單核加速
雙核加速
四核加速
記憶體頻率
圖形核心
基準頻率
加速頻率
TDP
封裝
Corei7-2920XM
零售
4/8
支持
2.5GHz
3.5GHz
3.4GHz
3.2GHz
8MB
DDR3-1600
12單元
650MHz
1300MHz
55W
rPGA/BGA
Corei7-2820QM
零售
4/8
支持
2.3GHz
3.4GHz
3.3GHz
3.1GHz
8MB
DDR3-1600
12單元
650MHz
1300MHz
45W
rPGA/BGA-1244
Corei7-2720QM
零售
4/8
支持
2.2GHz
3.3GHz
3.2GHz
3.0GHz
6MB
DDR3-1600
12單元
650MHz
1300MHz
45W
rPGA/BGA-1244
Corei7-2620M
零售
2/4
支持
2.7GHz
3.4GHz
3.2GHz
不支持
4MB
DDR3-1333
12單元
650MHz
1300MHz
35W
rPGA/BGA
Corei5-2540M
零售
2/4
支持
2.6GHz
3.3GHz
3.1GHz
不支持
3MB
DDR3-1333
12單元
650MHz
1300MHz
35W
rPGA/BGA
Corei5-2520M
零售
2/4
支持
2.5GHz
3.2GHz
3.0GHz
不支持
3MB
DDR3-1333
12單元
650MHz
1300MHz
35W
rPGA/BGA
Corei7-2670QM
OEM
4/8
支持
2.2GHZ
3.1GHZ
3.0GHZ
2.8GHZ
6MB
DDR3 -1333
12單元
650MHz
1100MHz
45W
rPGA
Corei7-2635QM
OEM
4/8
支持
2.0GHz
2.9GHz
2.8GHz
2.6GHz
6MB
DDR3-1333
12單元
650MHz
1200MHz
45W
BGA
Corei7-2630QM
OEM
4/8
支持
2.0GHz
2.9GHz
2.8GHz
2.6GHz
6MB
DDR3-1333
12單元
650MHz
1100MHz
45W
rPGA
Corei5-2410M
OEM
2/4
支持
2.3GHz
2.9GHz
2.6GHz
不支持
3MB
DDR3-1333
12單元
650MHz
1200MHz
35W
rPGA/BGA
Corei3-2310M
OEM
2/4
支持
2.1GHz
不支持
不支持
不支持
3MB
DDR3-1333
12單元
650MHz
1100MHz
35W
rPGA/BGA
Corei7-2649M
低/超低電壓
2/4
支持
2.3GHz
3.2GHz
2.9GHz
不支持
4MB
DDR3-1333
12單元
500MHz
1100MHz
25W
BGA-1023
Corei7-2629M
低/超低電壓
2/4
支持
2.1GHz
3.0GHz
2.7GHz
不支持
4MB
DDR3-1333
12單元
500MHz
1100MHz
25W
BGA-1023
Corei7-2657M
低/超低電壓
2/4
支持
1.6GHz
2.7GHz
2.4GHz
不支持
4MB
DDR3-1333
12單元
350MHz
1000MHz
17W
BGA-1023
Corei7-2617M
低/超低電壓
2/4
支持
1.5GHz
2.6GHz
2.3GHz
不支持
4MB
DDR3-1333
12單元
350MHz
950MHz
17W
BGA-1023
Corei5-2537M
低/超低電壓
2/4
支持
1.4GHz
2.3GHz
2.0GHz
不支持
3MB
DDR3-1333
12單元
350MHz
900MHz
17W
BGA-1023
漏洞 1) SNB缺陷門事件說明
美國時間2011年1月31日,英特爾官方宣布,2011年1月初面市的SNB平台因晶片組設計缺陷,全球暫停出貨。經證實,問題出在SNB搭配的主機板晶片組(HM65/HM67)集成的SATA設備控制器(用來連線SATA接口的硬碟、光碟機等)。
英特爾稱,缺陷晶片組3年間出現SATA接口故障的幾率只有5%左右。英特爾已經修正了這個設計上的疏漏,並表示現在開始生產的新版本晶片組將不存在這一問題。
2) SNB缺陷門的影響
SNB搭配的晶片組(HM65/HM67)共提供了2個SATA3代連線埠和4個SATA2代連線埠。受影響的只是SATA2代連線埠,連線埠編號為2、3、4、5。具體症狀是:隨著使用時間的延長,出現數據錯誤的幾率提高,極端情況下可能造成所連線的設備無法被系統識別。
考慮到大部分筆記本電腦只使用了兩個SATA裝置(1塊硬碟和1個光碟機),所以它們很可能連線在不受影響的0、1連線埠上。
3)SNB漏洞解決
在2月微星公布漏洞後,INTEL發布了全線召回的決定,所有已上市產品均可通過官方進行召回。官方預計此次因召回造成的虧損大概在10億美元左右。3月初,缺陷解決的新的6系列晶片組上市,該批圍採用B3步進,也就是修正過SATAII接口缺陷的主機板,現已全面銷售。