-
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。
- 外文名
- sandy bridge
- 公 司
- Intel
- 類 別
- 處理器
- 採 用
- 32nm製程
sandy bridge特性
1.更寬的矢量運算:從128-bit增至256-bit,並保持向下兼容性
3.支持三操作數和四操作數,非破壞性句法
4.支持彈性的訪存地址不對齊
5.可擴展的新操作碼(VEX)
6.更強的集成顯示核心
sandy bridge解析
前端
從高級層面角度看,SNB架構只是一次進化,但是如果看看Nehalem/Westmere以來晶體管變化的規模,絕對是一次革命。 Core 2引入了一種叫作循環流檢測器(LSD)的邏輯塊,檢測到CPU執行軟件循環的時候就會關閉分支預測器、預取/解碼引擎,然後通過自身緩存的微指令(micro-ops)供給執行單元。這種做法通過在循環執行的時候關閉前端節省了功耗,並改進了性能。
SNB裏又增加了一個微指令緩存,用於在指令解碼時臨時存放。這裏沒有什麼嚴格的算法,指令只要在解碼就會放入緩存。預取硬件獲得一個新指令的時候,會首先檢查它是否存在於微指令緩存中,如是則由緩存為其餘的管線服務,前端隨之關閉。解碼硬件是x86管線裏非常複雜的部分,關閉它能夠節約大量的功耗。如果這種技術也能引入到Atom處理器架構中,無疑也能使之受益匪淺。
這個緩存是直接映射的,能存儲大約1.5K微指令,相當於6KB指令緩存。它位於一級指令緩存內,大多數程序的命中率都能達到80%左右,而且帶寬也相比一級指令緩存更高、更穩定。真正的一級指令和數據緩存並沒有變,仍然都是32KB,合計64KB。
第一,標準的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。
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字節數據,而且環的訪問總會自動選擇最短的路徑,以縮短延遲。隨着核心數量、緩存容量的增多,緩存帶寬也隨時同步增加,因而能夠很好地擴展到更多核心、更大服務器集羣。
三級緩存的延遲也從大約36個週期減少到26-31個週期。此前預覽的時候我們就已經感覺到了這一點,現在終於有了確切的數字。三級緩存現在被劃分成多個區塊,分別對應一個CPU核心,都在環形總線上有自己的接入點和完整緩存管線。每個核心都可以訪問全部三級緩存,只是延遲不同。此前三級緩存只有一條緩存管線,所有核心的請求都必須通過它,現在很大程度上分而治之了。
系統助手
PCI-E控制器,可提供16條PCI-E 2.0信道,支持單條PCI-E x16或者兩條PCI-E x8插槽
系統助手的頻率要低於其他部分,有自己獨立的電源層。
整合圖形核心
SNB將CPU、GPU封裝在同一內核中,全部採用32nm工藝,特別是顯著提高了IPC(指令/時鐘)。
SNB GPU有自己的電源島和時鐘域,也支持Turbo Boost技術,可以獨立加速或降頻,並共享三級緩存。顯卡驅動會控制訪問三級緩存的權限,甚至可以限制GPU使用多少緩存。將圖形數據放在緩存裏就不用繞道去遙遠而“緩慢”的內存了,這對提升性能、降低功耗都大有裨益。
順便提一下Intel的獨立顯卡工程Larrabee。它的重點是廣泛使用全面可編程硬件(除了紋理硬件),SNB則是全面使用固定功能硬件,功能特性和硬件單元相對應,這樣的好處是性能、功耗、核心面積都大大優化,損失則是缺乏彈性。顯然,Intel世界的中心仍舊是CPU,不能讓GPU過分強大,這和NVIDIA的理念正好相反。
可編程着色硬件被稱為EU,包含着色器、核心、執行單元等,可以從多個線程雙發射時取指令。內部ISA映射和絕大多數DX10 API指令一一對應,架構很像CISC,結果就是有效擴大了EU的寬度,IPC也顯著提升。
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不會允許超過任何限制。
sandy bridge命名
SNB家族仍然沿用Core i7/i5/i3的品牌+子系列命名方式,編號上則採用四位數字。
對於桌面版的CPU來説:其中第一位均為“2”,代表第二代Core ix系列,最後末尾往往還有一個代表不同含義的字母:K代表不鎖定倍頻,都是高端產品;S代表性能優化,原始頻率比沒有字母后綴的低很多,但是單核心加速最高頻率基本相同,另外熱設計功耗都是65W;T代表功耗優化,熱設計功耗只有45W或35W,但是頻率也是最低的。
對於移動版的CPU來説,其型號命名規則如下:
-28xxQM:Core i7,四核心,八線程,支持Turbo,8MB三級緩存
-27xxQM:Core i7,四核心,八線程,支持Turbo,6MB三級緩存
-25xxM:Core i5,雙核心,四線程,支持Turbo,3MB三級緩存
其後綴的意義為:
-XM:四核心至尊版,不鎖倍頻
- QM:四核心標準版
sandy bridge規格
處理器型號 | 市場定位 | 核心/線程 | 超線程 | 原始頻率 | 單核加速 | 雙核加速 | 四核加速 | 三級緩存 | 內存頻率 | 圖形核心 | 基準頻率 | 加速頻率 | 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 |
sandy bridge漏洞
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。具體症狀是:隨着使用時間的延長,出現數據錯誤的幾率提高,極端情況下可能造成所連接的設備無法被系統識別。
3)SNB漏洞解決