這就意味著每個(gè)處理器核心都有一個(gè)小型的專用L1和L2高速緩存,但是所有的處理器核心都共享一個(gè)共同的大型L3高速緩存。下面的圖示是Nehalem處理器的高速緩存結(jié)構(gòu):

每個(gè)核心L1高速緩存(32KB指令和32KB數(shù)據(jù))–與英特爾目前的核心微體系架構(gòu)類似

每個(gè)核心L2高速緩存(256KB,低延遲)

L3高速緩存(8MB,所有核心共享)–采用獨(dú)占高速緩存策略

隨著Nehalem處理器采用集成內(nèi)存控制器來(lái)直接與內(nèi)存互聯(lián)并使用QPI總線技術(shù)來(lái)加速處理器之間的通信,英特爾就無(wú)需象在使用現(xiàn)有的FSB體系架構(gòu)的高端至強(qiáng)處理器(至少使用了12MB L2高速緩存)的一貫做法那樣部署大量的高速緩存。因此,Nehalem處理器每個(gè)核心只使用了小型的L1和L2高速緩存,但是英特爾仍然給處理器分配了大容量的8MB L3高速緩存(盡管它只是巴塞羅那處理器L2高速緩存的一半,但確是其L3高速緩存速度的4倍)。L3高速緩存所采用的獨(dú)占高速緩存策略也能確保將探聽(tīng)流量降低到最小化。巴塞羅那處理器采用的是非獨(dú)占高速緩存策略。

為了保證模塊結(jié)構(gòu)能輕松的實(shí)現(xiàn)處理器的設(shè)計(jì)和擴(kuò)展,L3高速緩存事實(shí)上并非主核心的組成部分,而是處理器額外的構(gòu)建模塊。同樣,核心,QPI和集成內(nèi)存控制器都是組成Nehalem處理器基礎(chǔ)設(shè)計(jì)的構(gòu)建模塊。以下來(lái)自英特爾的圖示較好的闡述了這些構(gòu)建模塊在實(shí)現(xiàn)處理器設(shè)計(jì)時(shí)的用途,并以圖例的形式對(duì)期待中的四核處理器與可能的8核處理器進(jìn)行了對(duì)比。按照英特爾的想法,他們甚至有可能在中央處理器中集成一個(gè)圖形核心。但是對(duì)于這種可能性還沒(méi)有什么可靠消息?;蛟S也等到今年底Nehalem處理器出爐之時(shí)才能知曉,因此對(duì)于將來(lái)有可能出現(xiàn)的集成圖形核心的細(xì)節(jié)確實(shí)很有很多值得期待。

深度解析Nehalem

以上已經(jīng)介紹了Nehalem處理器平臺(tái)及微體系架構(gòu)最重要的幾個(gè)部分即英特爾QPI總線技術(shù),中央處理器的集成DDR3內(nèi)存控制器和最新的三級(jí)高速緩存。不過(guò)中央處理器的處理模塊也同等重要。Nehalem處理器每個(gè)核心都采用4-issue執(zhí)行引擎設(shè)計(jì)(首次出現(xiàn)是在Conroe臺(tái)式機(jī)處理器上),在高效性上都有了進(jìn)一步的提升和改進(jìn):

增強(qiáng)并行計(jì)算功能–自英特爾目前的多數(shù)處理器都采用了亂序執(zhí)行體系架構(gòu)以來(lái),進(jìn)一步增強(qiáng)并行計(jì)算能力的的方法之一就是增大亂序窗口的尺寸來(lái)允許執(zhí)行更多的指令,盡可能減少延遲使更多的并行獨(dú)立運(yùn)作成為可能。在Core體系架構(gòu)上,并行計(jì)算可以同時(shí)處理96個(gè)微指令(mico-ops),Nehalem處理器將亂序窗口尺寸擴(kuò)大了33%,這樣就能同時(shí)處理128個(gè)微指令。同時(shí)增加了調(diào)度程序和其他相關(guān)的緩沖模塊來(lái)提供支持。

更加高效的運(yùn)算法則–英特爾采用最新的微體系架構(gòu)對(duì)其運(yùn)算法則,能加速處理分支的錯(cuò)誤預(yù)測(cè)。每個(gè)核心新增了二級(jí)分支預(yù)測(cè)。提高了硬件的預(yù)取能力。多線程軟件中的線程同步也有助于性能的提升。

增強(qiáng)分支預(yù)測(cè)–除了用于處理分支預(yù)測(cè)更為有效的運(yùn)算法則之外,Nehalem處理器還能執(zhí)行二級(jí)分支目標(biāo)緩存(BTB),對(duì)于數(shù)據(jù)庫(kù)這樣的大型代碼腳本非常有用。二級(jí)分支目標(biāo)緩存(BTB)不僅能預(yù)測(cè)分支的路徑,而且能夠通過(guò)分支對(duì)信息進(jìn)行高速緩存,這樣能有助于減少性能損耗。因此如果發(fā)生了錯(cuò)誤預(yù)測(cè),BTB就能利用其它分支的高速緩存信息。硬件執(zhí)行重命名堆棧返回緩存(RSB)能避免指令錯(cuò)誤預(yù)測(cè)的公共回路。

同步多線程(SMT)–英特爾的超線程技術(shù)正在卷土重來(lái),但是這次是作為同步多線程(SMT)橫空出世,英特爾宣稱這是之前技術(shù)的加強(qiáng)版。如果你回想一下硬件的超線程技術(shù),你會(huì)發(fā)現(xiàn)同步多線程(SMT)就是最新的多核心處理器,英特爾重申雖然這是同一個(gè)概念,但最優(yōu)化方面卻有所不同。當(dāng)處理器是單核心時(shí),采用超級(jí)線程技術(shù)在未使用的處理器注冊(cè)器上同步執(zhí)行兩個(gè)線程能提升處理器的性能和有效性。當(dāng)多核處理器面世后,我們都知道超線程技術(shù)就不再適用了,因?yàn)樗荒苁箞?zhí)行變得更糟。

隨著時(shí)間的推移,主要針對(duì)多核處理器設(shè)計(jì)的同步多線程擁有了更多的緩存,更大的內(nèi)存帶寬和資源,能支持更多的應(yīng)用程序。如今英特爾在Nehalem處理器上將超線程技術(shù)老話重提。同步多線程(SMT)實(shí)現(xiàn)了在每個(gè)核心上同步運(yùn)行的所有線程數(shù)量的翻倍。因此首次采用Nehalem微體系架構(gòu)的四核處理器將具備同步執(zhí)行8線程的能力。這也取決于每個(gè)核心的資源實(shí)用性。同步多線程技術(shù)能將應(yīng)用軟件的性能提升20%到30%,能量消耗也會(huì)有輕微上揚(yáng)。因此應(yīng)用軟件和工作負(fù)載使用越多的線程,就能獲取更佳的性能。

英特爾SSE4.2指令集–這并非新的SSE標(biāo)準(zhǔn)而是英特爾公司除了SSE4支持外為最新的應(yīng)用軟件目標(biāo)加速器定義的指令集。SSE4指令集所提供的支持與Penryn處理器是一樣的,但是英特爾在Nehalem處理器中增加了七個(gè)最新的應(yīng)用軟件目標(biāo)加速器來(lái)提升體系架構(gòu)加速字符串和文本處理程序(諸如XML)的處理能力。SSE4.2指令集對(duì)XML無(wú)論是在應(yīng)用軟件還是在數(shù)據(jù)庫(kù)中的應(yīng)用,都對(duì)其性能的提升有所幫助。

改進(jìn)的虛擬化性能–自從Nehalem處理器首次在服務(wù)器和工作站領(lǐng)域亮相以來(lái),英特爾公司對(duì)Nehalem處理器在虛擬化環(huán)境中性能的提升也做出了努力。Nehalem處理器將是首個(gè)支持英特爾擴(kuò)展頁(yè)面表(Extended Page Table,EPT)特點(diǎn)的服務(wù)器,EPT也是英特爾Nested
Paging特點(diǎn)的一個(gè)版本,AMD公司的第二代和第三代皓龍?zhí)幚砥饕灿羞@個(gè)特性。

分享到

多易

相關(guān)推薦