查看單個文章
舊 2006-06-27, 10:04 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 雙核CPU Intel與AMD多核處理器剖解

一、雙核心的由來

  所謂雙核心處理器,簡單地說就是在一塊CPU基板上整合兩個處理器核心,並通過並行總線將各處理器核心連接起來。雙核心並不是一個新概念,而只是CMP(Chip Multi Processors,單芯片多處理器)中最基本、最簡單、最容易實現的一種類型。其實在RISC處理器領域,雙核心甚至多核心都早已經實現。CMP最早是由美國斯坦福大學提出的,其思想是在一塊芯片內實現SMP(Symmetrical Multi-Processing,對稱多處理)架構,且並行執行不同的工作行程。早在上個世紀末,惠普和IBM就已經提出雙核處理器的可行性設計。IBM 在2001年就推出了基於雙核心的POWER4處理器,隨後是Sun和惠普公司,都先後推出了基於雙核架構的UltraSPARC以及PA-RISC芯片,但此時雙核心處理器架構還都是在高端的RISC領域,直到前不久Intel和AMD相繼推出自己的雙核心處理器,雙核心才真正走入了主流的X86領域。
  MCM模塊內封裝了4個Power4芯片,共有8個CPU核心
  Intel和AMD之所以推出雙核心處理器,最重要的原因是原有的普通單核心處理器的頻率難於提升,性能沒有質的飛躍。由於頻率難於提升,Intel在發佈3.8GHz的產品以後只得宣佈停止4GHz的產品計劃;而AMD在實際頻率超過2GHz以後也無法大幅度提升,3GHz成為了AMD無法逾越的一道坎。正是在這種情況下,為了尋找新的賣點,Intel和AMD都不約而同地祭起了雙核心這面大旗


Sun UltraSPARC IV雙核處理器

二、AMD雙核心處理器的簡介
  AMD目前的桌面平台雙核心處理器代號為Toledo和Manchester,基本上可以簡單看作是把兩個Athlon 64所採用的Venice核心整合在同一個處理器內部,每個核心都擁有獨立的512KB或1MB二級快取記憶體,兩個核心共享Hyper Transport,從架構上來說相對於目前的Athlon 64架構並沒有任何改變。
  與Intel的雙核心處理器不同的是,由於AMD的Athlon 64處理器內部整和了記憶體控制器,而且在當初Athlon 64設計時就為雙核心做了考慮,但是仍然需要仲裁器來保證其快取記憶體資料的一致性。AMD在此採用了SRQ(System Request Queue,系統請求隊列)技術,在工作的時候每一個核心都將其請求放在SRQ中,當獲得資源之後請求將會被送往相應的執行核心,所以其快取記憶體資料的一致性不需要通過北橋芯片,直接在處理器內部就可以完成。與Intel的雙核心處理器相比,其優點是快取記憶體資料延遲得以大大降低。
  AMD目前的桌面平台雙核心處理器是Athlon 64 X2,其型號按照PR值分為3800+至4800+等幾種,同樣採用0.09微米製程,Socket 939接頭,支持1GHz的Hyper Transport,當然也都支持雙通道DDR記憶體


Athlon 64 X2
  由於AMD雙核心處理器的仲裁器是在CPU內部而不是在北橋芯片上,所以在主板芯片組的選擇上要比Intel雙核心處理器要寬鬆得多,甚至可以說與主板芯片組無關。理論上來說,任何Socket 939的主板通過更新BIOS都可以支持Athlon 64 X2。對普通消費者而言,這樣可以保護已有的投資,而不必象Intel雙核心處理器那樣需要同時升級主板。

三、Intel雙核心構架剖析
  AMD的「真偽雙核論」雖無法立足,但它點出的英特爾雙核處理器可能出現前端總線資源爭搶的問題是否真是實情呢?對此,英特爾表示:AMD並不瞭解我們的產品和我們將來產品的技術走向,對自己的競爭對手及其產品妄加猜測和評論的行為是不值得讚賞的。AMD曾經指出奔騰至尊版是兩個核心共享一個二級快取記憶體,這就是一個非常明顯的錯誤。事實上,奔騰至尊版和奔騰D都是每個核心配有獨享的一級和二級快取記憶體,不同的是英特爾將雙核爭用前端總線的任務仲裁功能放在了芯片組的北橋芯片中。


圖1:基於Smithfield衍生出的奔騰至尊版和奔騰D,主要區別就在於奔騰至尊版支持超線程,而奔騰D屏蔽了超線程功能。
  按照「離得越近、走得越快」的整合電路設計原則,把這些功能元件整合在處理器中確實可以提高效率,減少延遲。不過,在台式機還不可能在短期內就支持4個內核和更多內核的現實情況下,只要有高帶寬的前端系統總線,就算把這些任務仲裁元件外置,對於雙核處理器的台式機來說帶來的延遲和性能損失也是微乎其微的。
  英特爾945和955系列芯片組目前可提供800MHz(用於目前的奔騰D)和1066MHz(用於奔騰至尊版)前端總線,如果是供一個四核處理器使用,那肯定會造成資源爭搶,但對於雙核來說,這個帶寬已經足夠了。英特爾認為目前雙核系統中的主要瓶頸還是記憶體、I/O總線和硬碟系統,提升這些模塊的速度才能使整個系統的計算平台更加均衡。
  基於這種設計思路,英特爾在945和955系列芯片組中加強了對PCI-Express總線的支持,增加了對更高速DDR2記憶體的支持,對SATA(串行ATA)的支持速度增加了一倍由1.5Gb/s升級3Gb/s,進一步增加了磁碟陣列RAID 5 和 RAID 10的支持。


圖2:單核奔騰4處理器(左)和雙核奔騰D處理器(右)微架構示意圖
  此外,英特爾奔騰至尊版有一個獨門「絕活」,那就是雙核心加超線程的架構,這種架構可同時處理四個線程,這讓它在多任務多線程的應用中具有明顯優勢。而且CMP與SMT(同時多線程,英特爾超線程就是一種SMT技術)的結合是業界公認的處理器重要發展趨勢,最早推出雙核處理器的IBM也是這一趨勢的推動者。


圖3:奔騰至尊版的雙核+超線程架構讓它具備同時四線程處理能力
  英特爾之所以在奔騰至尊版和奔騰D上採用共享前端總線的雙核架構,還是出於雙核架構自身的緊湊設計和生產工作行程方面的考慮,這種架構使英特爾能夠迅速推出全系列的雙核處理器家族,加快雙核處理器的產品化,而且它帶來的成本優勢也大大降低了奔騰至尊版、奔騰D與現有主流單核處理器——奔騰4系列的差價,有利於雙核處理器在PC市場上的迅速普及。

四、AMD雙核心架構剖析(2)
由於Intel受發熱量限制目前的雙核心處理器最高只有3.2GHz,因此在性能上肯定要比AMD的 Athlon 64 X2要低一些——不過Pentium D不如Athlon64 X2的地方並不僅僅只有這方面而已。在處理器的架構上AMD也有其獨到之處,下圖所示就是AMD的雙核心處理器的架構示意圖。
  AMD的雙核心方案面臨一個重要的問題,就是隨著第二核心的出現,對記憶體與I/O帶寬的資源將會出現爭奪,如何解決好這個問題是AMD雙核心處理器的性能的關鍵問題之一。與Pentium D不同的是,Athlon 64 X2的兩個內核並不需要通過外部FSB通信這一途徑。Athlon 64 X2內部整合了一個System Request Queue(SRQ)仲裁裝備,每一個核心將其請求放在SRQ中,當獲得資源之後請求將會被送往相應的執行核心,所有的過程都在CPU核心範圍之內完成。
  AMD雙核心強調是真正將兩個核心崁入整合在一個硅晶內核上,可以真正發揮雙核心效率,不像對手的產品事實上為兩個Packet的設計,會有兩個核心之間傳輸瓶頸的問題。因此Athlon 64 X2的架構要優於Pentium D架構,尤其是在高負載的多線程/多任務的環境下,AMD的處理器將會表現出比Intel的處理器更好的性能。
  此外,隨著第二核心的出現,對記憶體與I/O帶寬的資源將會出現爭奪,如何解決好這個問題是AMD雙核心處理器的性能的關鍵問題之一。AMD信引入了Crossbar控制器,這個全新的控制器結合優化的系統請求隊列,可以有效的降低這個問題的危害性


AMD處理器整合的記憶體控制器在進化到雙核心時代表現出來的優勢更加明顯,低延時的記憶體控制器使得對CPU的快取記憶體的依賴也大幅減少,在這樣的情況下,在日後過渡到多核心的時候,需要考慮的問題更多的是基於各個核心之間的連接。我們可以看到,兩個核心所採用的L2快取記憶體也是分別獨享的,也就是兩個L2快取記憶體中儲存的資料是一致的。
  實際的可利用容量和一個核心的L2快取記憶體容量是相同的—這一點和Intel一樣。與Intel有所不同的是,AMD方案的兩個核心之間的通信是通過處理器內部的Crossbar實現的。相比之下Intel的Pentium D處理器的核心之間的通信則是需要通過芯片組的MCH來進行—這顯然比AMD的方案要帶來更多的延遲時間。不過AMD的架構也並非十全十美,雙核心處理器仍然只支持雙通道DDR400記憶體無疑是一個有些令人遺憾的地方—兩個處理器核心自然需要更大的記憶體帶寬。要解決這個矛盾,只能使用全新的針腳設計,DDR2或許是一個不錯的選擇。
  Athlon 64 X2這樣的設計還有一個好處,那就是如果打算支持新的雙內核處理器的話,對舊平台而言唯一的要求就是升級到最新BIOS就OK了,這將大大降低平台的應用、升級成本。當然AMD沿用以前的記憶體控制器也是有很大的好處的,那就是雙核心的Athlon 64 X2處理器可以在目前幾乎所有的Socket 939主板上使用。這方面AMD有著Intel無可比擬的優勢—因為以前的915/925主板並不能支持Intel的雙核心處理器。
  此外,與Pentium D是通過降低頻率來降低功耗不同,同樣採用0.09微米生產技術的Athlon 64 X2似乎並不需要面臨這樣的問題。這都得益於AMD在Athlon 64 X2處理器上所採用的「Dual Stress Liner」應變硅技術。Dual Stress Liner技術是由AMD和IBM聯合開發的,據稱可以將半導體晶體管的響應速度提高24%。
  事實上,DSL很類似於英特爾在90nm生產技術中引入的應變硅技術。我們都知道,晶體管越微細化,執行速度就越高,但同時也會引發洩漏電流增加、開關效率降低,從而導致耗電和發熱量的增加。而DSL通過向晶體管的硅層施加應力,同時實現了速度的提高與耗電量的降低。
  與Intel使用的應變硅不同,來自AMD和IBM的DSL能夠被用於兩種類型的晶體管:NMOS和PMOS(具有n和p通道)而無需使用極難獲得的硅鍺層,硅鍺層會增加成本,並且有可能影響芯片的產量。 DSL這種雙重性,讓它比英特爾的應變硅更有效—DSL可以將晶體管的響應速度提升24%,而應變硅能提供的最大改進在15-20%。
  並且更重要的是,AMD和IBM 這項新技術對產量及生產成本並沒有任何負面影響。由於在生產時無需使用新的生產方法,所以使用標準生產設備和材料便可迅速展開量產。另外,配合使用硅絕緣膜構造(SOI,絕緣體上硅)與應變硅,還可生產性能更高、耗電更低的晶體管。AMD工程師們表示,DSL和SOI一起結合可以讓Athlon 64處理器的頻率潛力有大約16%的增長。而Athlon 64 X2的初始頻率與目前Athlon 64持平上也可以看到DSL技術的確很有效。
  當然,AMD也將在未來轉移更先進的65nm生產線上,改進他們的記憶體控制器來對DDR2,DDR3和FB-DIMM等高性能記憶體提供支持,也將開始使用更快的HyperTransport 2.0總線,及更有效的節能降耗技術。

五、雙核心技術與超線程技術的區別
  超線程技術已經不是什麼新鮮事物了,但普通用戶可能與雙核心技術區分不開。例如開啟了超線程技術的Pentium 4 530與Pentium D 530在操作系統中都同樣被識別為兩顆處理器,它們究竟是不是一樣的呢?這個問題確實具有迷惑性。
  其實,可以簡單地把雙核心技術理解為兩個"物理"處理器,是一種"硬"的方式;而超線程技術只是兩個"邏輯"處理器,是一種"軟"的方式。
  從原理上來說,超線程技術屬於Intel版本的多線程技術。這種技術可以讓單CPU擁有處理多線程的能力,而物理上只使用一個處理器。超線程技術為每個物理處理器設置了兩個入口-AS(Architecture State,架構狀態)接頭,從而使操作系統等軟件將其識別為兩個邏輯處理器。這兩個邏輯處理器像傳統處理器一樣,都有獨立的IA-32架構,它們可以分別進入暫停、中斷狀態,或直接執行特殊線程,並且每個邏輯處理器都擁有APIC(Advanced Programmable Interrupt Controller,高階可編程中斷控制器)。
  雖然支持超線程的Pentium 4能同時執行兩個線程,但不同於傳統的雙處理器平台或雙內核處理器,超線程中的兩個邏輯處理器並沒有獨立的執行單元、整數單元、暫存器甚至快取記憶體等等資源。它們在執行過程中仍需要共用執行單元、快取記憶體和系統總線接頭。在執行多線程時兩個邏輯處理器均是交替工作,如果兩個線程都同時需要某一個資源時,其中一個要暫停並要讓出資源,要待那些資源閒置時才能繼續。因此,超線程技術所帶來的性能提升遠不能等同於兩個相同時鐘頻率處理器帶來的性能提升。可以說Intel的超線程技術僅可以看做是對單個處理器運算資源的優化利用。
  而雙核心技術則是通過"硬"的物理核心實現多線程工作:每個核心擁有獨立的指令集、執行單元,與超線程中所採用的模擬共享機制完全不一樣。在操作系統看來,它是實實在在的雙處理器,可以同時執行多項任務,能讓處理器資源真正實現並行處理模式,其效率和性能提升要比超線程技術要高得多,不可同日而語。

六、雙核心處理器的適用範圍
  目前,Windows XP專業版等操作系統支持雙物理核心和四個邏輯核心,但這並不意味著所有軟件對此都有優化。
  事實上大量的測試已經證明,無論是Intel還是AMD的雙核心處理器,相對於其各自的同頻率的單核心處理器而言,對於目前的普通應用例如多媒體軟件、遊戲和辦公軟件等等都沒有任何性能提升,甚至可能還稍有降低,因為這些普通應用目前都還只是單線程程式,在處理器執行指令時實際上只有一個核心在工作,而另外一個核心則處於空閒狀態幫不上忙。
  所以對普通用戶而言,只要日常應用的程式仍然是單線程的話,雙核心處理器實際上沒有任何意義,反而還增大了購買成本。除非經常執行大運算量的多任務處理,例如在遊戲的同時進行音視頻處理等等,這時雙核心處理器才能真正發揮作用。
  目前最適合雙核心處理器發揮威力的平台是服務器和工作站,這是因為其經常進行多任務處理,而且日常執行的大量程式都是多線程程式,例如圖形工作站所使用的Adobe Photoshop和3D MAX等都是多線程程式。一般來說,在執行多任務處理和多線程程式時,雙核心處理器要比同頻率的單核心處理器的性能要高大約50%-70%,甚至在某些應用下性能幾乎能提升100%。
  當然,隨著雙核心處理器的強勢推出和逐漸普及,日後支持多線程的普通應用程式也會逐漸增多,對普通用戶而言那時雙核心處理器才會真正發揮作用。

七、雙核心處理器目前所存在的問題
  無論是Intel的Pentium D和Pentium EE,還是AMD的Athlon 64 X2處理器,都是簡單地將兩個物理內核"疊加"在一起,這必然帶來晶體管數量的大幅度增加,雙方都已經達到了兩億三千萬個以上的晶體管;帶來的直接後果就是由洩漏電流引起的功耗大幅度增加,就算是採用了節能技術其發熱量也居高不下,從而導致雙核心處理器相對於單核心處理器而言頻率提升更加困難。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1625 篇, 收花: 3188 次
有 2 位會員向 psac 送花:
edmangel (2007-06-18),roshen (2009-07-29)
感謝您發表一篇好文章