Sandy Bridge處理器

Sandy Bridge處理器

2009年(TICK時間),Intel處理器製程邁入32nm時代,2010年的TOCK時間,Intel推出代號為Sandy Bridge的處理器,該處理器採用32nm製程。Sandy Bridge(之前稱作Gesher)是Nehalem的繼任者,也是其工藝升級版,從45nm進化到32nm。Sandy Bridge將有八核心版本,二級快取仍為512KB,但三級快取將擴容至16MB。而Sandy Bridge最主要特點則是加入了game instrution AVX(Advanced Vectors Extensions)技術,也就是之前的VSSE。intel宣稱,使用AVX技術進行矩陣計算的時候將比SSE技術快90%。其重要性堪比1999年Pentium III引入SSE。

基本信息

特性

1.更寬的矢量運算:從128-bit增至256-bit,並保持向下兼容性

2.增強的數據重排:單個操作可同時處理8個32-bit數據

3.支持三運算元和四運算元,非破壞性句法

4.支持彈性的訪存地址不對齊

5.可擴展的新操作碼(VEX)

6.更強的集成顯示核心

解析

前端

Sandy Bridge處理器 Sandy Bridge處理器

從高級層面角度看,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%。

環形匯流排與三級快取

Nehalem/Westmere每個核心都與三級快取單獨相連,都需要大約1000條連線,而這種做法的缺點是如果頻繁訪問三級快取,效果可能不會太好。

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,但是頻率也是最低的。

對於移動版的CPU來說,其型號命名規則如下:

-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三級快取

其後綴的意義為:

-XM:四核心至尊版,不鎖倍頻

- 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-2670QMOEM4/8支持2.2GHZ3.1GHZ3.0GHZ2.8GHZ6MBDDR3 -133312單元650MHz1100MHz45WrPGA
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接口缺陷的主機板,現已全面銷售。

相關詞條

相關搜尋

熱門詞條

聯絡我們