這就意味著每個處理器核心都有一個小型的專用L1和L2高速緩存,但是所有的處理器核心都共享一個共同的大型L3高速緩存。下面的圖示是Nehalem處理器的高速緩存結(jié)構(gòu):
每個核心L1高速緩存(32KB指令和32KB數(shù)據(jù))–與英特爾目前的核心微體系架構(gòu)類似
每個核心L2高速緩存(256KB,低延遲)
L3高速緩存(8MB,所有核心共享)–采用獨占高速緩存策略
隨著Nehalem處理器采用集成內(nèi)存控制器來直接與內(nèi)存互聯(lián)并使用QPI總線技術(shù)來加速處理器之間的通信,英特爾就無需象在使用現(xiàn)有的FSB體系架構(gòu)的高端至強處理器(至少使用了12MB L2高速緩存)的一貫做法那樣部署大量的高速緩存。因此,Nehalem處理器每個核心只使用了小型的L1和L2高速緩存,但是英特爾仍然給處理器分配了大容量的8MB L3高速緩存(盡管它只是巴塞羅那處理器L2高速緩存的一半,但確是其L3高速緩存速度的4倍)。L3高速緩存所采用的獨占高速緩存策略也能確保將探聽流量降低到最小化。巴塞羅那處理器采用的是非獨占高速緩存策略。
為了保證模塊結(jié)構(gòu)能輕松的實現(xiàn)處理器的設(shè)計和擴展,L3高速緩存事實上并非主核心的組成部分,而是處理器額外的構(gòu)建模塊。同樣,核心,QPI和集成內(nèi)存控制器都是組成Nehalem處理器基礎(chǔ)設(shè)計的構(gòu)建模塊。以下來自英特爾的圖示較好的闡述了這些構(gòu)建模塊在實現(xiàn)處理器設(shè)計時的用途,并以圖例的形式對期待中的四核處理器與可能的8核處理器進(jìn)行了對比。按照英特爾的想法,他們甚至有可能在中央處理器中集成一個圖形核心。但是對于這種可能性還沒有什么可靠消息?;蛟S也等到今年底Nehalem處理器出爐之時才能知曉,因此對于將來有可能出現(xiàn)的集成圖形核心的細(xì)節(jié)確實很有很多值得期待。
深度解析Nehalem
以上已經(jīng)介紹了Nehalem處理器平臺及微體系架構(gòu)最重要的幾個部分即英特爾QPI總線技術(shù),中央處理器的集成DDR3內(nèi)存控制器和最新的三級高速緩存。不過中央處理器的處理模塊也同等重要。Nehalem處理器每個核心都采用4-issue執(zhí)行引擎設(shè)計(首次出現(xiàn)是在Conroe臺式機處理器上),在高效性上都有了進(jìn)一步的提升和改進(jìn):
增強并行計算功能–自英特爾目前的多數(shù)處理器都采用了亂序執(zhí)行體系架構(gòu)以來,進(jìn)一步增強并行計算能力的的方法之一就是增大亂序窗口的尺寸來允許執(zhí)行更多的指令,盡可能減少延遲使更多的并行獨立運作成為可能。在Core體系架構(gòu)上,并行計算可以同時處理96個微指令(mico-ops),Nehalem處理器將亂序窗口尺寸擴大了33%,這樣就能同時處理128個微指令。同時增加了調(diào)度程序和其他相關(guān)的緩沖模塊來提供支持。
更加高效的運算法則–英特爾采用最新的微體系架構(gòu)對其運算法則,能加速處理分支的錯誤預(yù)測。每個核心新增了二級分支預(yù)測。提高了硬件的預(yù)取能力。多線程軟件中的線程同步也有助于性能的提升。
增強分支預(yù)測–除了用于處理分支預(yù)測更為有效的運算法則之外,Nehalem處理器還能執(zhí)行二級分支目標(biāo)緩存(BTB),對于數(shù)據(jù)庫這樣的大型代碼腳本非常有用。二級分支目標(biāo)緩存(BTB)不僅能預(yù)測分支的路徑,而且能夠通過分支對信息進(jìn)行高速緩存,這樣能有助于減少性能損耗。因此如果發(fā)生了錯誤預(yù)測,BTB就能利用其它分支的高速緩存信息。硬件執(zhí)行重命名堆棧返回緩存(RSB)能避免指令錯誤預(yù)測的公共回路。
同步多線程(SMT)–英特爾的超線程技術(shù)正在卷土重來,但是這次是作為同步多線程(SMT)橫空出世,英特爾宣稱這是之前技術(shù)的加強版。如果你回想一下硬件的超線程技術(shù),你會發(fā)現(xiàn)同步多線程(SMT)就是最新的多核心處理器,英特爾重申雖然這是同一個概念,但最優(yōu)化方面卻有所不同。當(dāng)處理器是單核心時,采用超級線程技術(shù)在未使用的處理器注冊器上同步執(zhí)行兩個線程能提升處理器的性能和有效性。當(dāng)多核處理器面世后,我們都知道超線程技術(shù)就不再適用了,因為它只能使執(zhí)行變得更糟。
隨著時間的推移,主要針對多核處理器設(shè)計的同步多線程擁有了更多的緩存,更大的內(nèi)存帶寬和資源,能支持更多的應(yīng)用程序。如今英特爾在Nehalem處理器上將超線程技術(shù)老話重提。同步多線程(SMT)實現(xiàn)了在每個核心上同步運行的所有線程數(shù)量的翻倍。因此首次采用Nehalem微體系架構(gòu)的四核處理器將具備同步執(zhí)行8線程的能力。這也取決于每個核心的資源實用性。同步多線程技術(shù)能將應(yīng)用軟件的性能提升20%到30%,能量消耗也會有輕微上揚。因此應(yīng)用軟件和工作負(fù)載使用越多的線程,就能獲取更佳的性能。
英特爾SSE4.2指令集–這并非新的SSE標(biāo)準(zhǔn)而是英特爾公司除了SSE4支持外為最新的應(yīng)用軟件目標(biāo)加速器定義的指令集。SSE4指令集所提供的支持與Penryn處理器是一樣的,但是英特爾在Nehalem處理器中增加了七個最新的應(yīng)用軟件目標(biāo)加速器來提升體系架構(gòu)加速字符串和文本處理程序(諸如XML)的處理能力。SSE4.2指令集對XML無論是在應(yīng)用軟件還是在數(shù)據(jù)庫中的應(yīng)用,都對其性能的提升有所幫助。
改進(jìn)的虛擬化性能–自從Nehalem處理器首次在服務(wù)器和工作站領(lǐng)域亮相以來,英特爾公司對Nehalem處理器在虛擬化環(huán)境中性能的提升也做出了努力。Nehalem處理器將是首個支持英特爾擴展頁面表(Extended Page Table,EPT)特點的服務(wù)器,EPT也是英特爾Nested
Paging特點的一個版本,AMD公司的第二代和第三代皓龍?zhí)幚砥饕灿羞@個特性。