前往內容


[小惡魔的電腦教室] 1-2.看懂CPU規格,外頻、倍頻、快取

「為桌上型電腦和筆記型電腦選擇 Intel Core 2 Duo 處理器做為動力核心,即可享有最尖端的效能增強技術,包括高達 4MB 的共用 L2 快取記憶體,以及高達 1066 MHz的前端匯流排.....」(註:以上取自Intel官方網站)。


(感謝DaPang奉獻崩潰的小白鬼一隻)


這年頭,就連CPU的「廣告」都是一堆專有名詞,懂得人當然一看就知道好在哪裡,不懂的人....大概就像我在購物台看果菜機,不管哪一台都覺得好厲害,可以買來讓媽媽變貴婦。所以從這篇開始,我們會深入CPU的規格,解釋那一長串的專有名詞,讓大家真正了解CPU背後的技術。由於CPU已經發展30年了,真要重頭講起可能得寫幾大本書才行,所以這裡盡量以最新的規格為主。

大家先上網抓CPU-Z回來玩一下,它會辨識CPU的型號並列出詳細規格,每台電腦都有CPU,看跑出來的規格再對照下面的說明會更容易理解。

要先說聲抱歉,因為這篇是規格解說,絕大部分都是文字講解,可能會看比較累,先去倒個飲料再來慢慢看吧~



CPU-Z是玩家必備的CPU辨識程式,它會去偵側系統,所以有時會被防毒軟體(比如卡巴斯基)擋下來,別擔心,這程式很安全。


1.製程、封裝腳位、電壓、TDP

CPU是所謂的半導體製程下的產物,台灣是世界知名的半導體代工大國,大家應該對這種高科技、高汙染的產業有點概念,它是用矽化合物做成可通電或不通電的電晶體(所以叫「半」導體),塞在小小一塊面積裡,運算電腦世界中0與1組合的資料,現在主流的CPU大約有1~3億個電晶體在那塊小小的豆干上。

製程(Manufacture Process)是指晶片裡電子移動通道的寬度,現在一般是90nm或65nm(nm為奈米,十億分之一公尺),製程進步就是寬度縮減,讓Die面積縮小,Die面積縮小就可以省錢(晶片是先製造一大塊晶圓,比如八吋、12吋晶圓,再去切割成一顆顆的Die,封裝之後變成晶片);另一方面,寬度縮減也代表可以在相同面積下塞進更多電晶體,讓晶片有更多功能,所以各大半導體廠都把製程縮減列為首要目標。

封裝腳位(Package)則是晶圓做成晶片後,拉出來傳輸資料的腳,前一篇我們已經有拍Intel和AMD產品的針腳,Intel目前用的是LGA775,已經用了好幾年了,數字就是針腳的數目(雖然事實上並沒有「針」腳)。而AMD目前的腳位有點亂,包括Socket 939/AM2/AM2+/AM3,除了Socket 939之外,其他都是940根針腳,但針腳的電氣定義並不相同,AMD針腳數目較多、腳位規格混亂是有原因的,後面的章節再討論。

電壓(Core Voltage)和TDP密不可分,電壓是驅動CPU工作的電力,由於製程精進,CPU所需的電壓愈來愈低了,現在大約在1.3V左右或更低。可是TDP(Thermal Design Power)也得考慮進去,TDP是讓CPU工作而且不會熱當機時所必須散發掉的熱能,單位是瓦(W),現在CPU沒有散熱器就沒辦法運作,所以TDP不是單純指CPU的耗電量而已,65W的TDP是指讓CPU全速運作時,必須散掉65W的熱,CPU才不會過熱當機,而這65W的熱可藉由風扇、熱導管、水冷等各種散熱方式來消除。TDP數值愈低愈好。


2.型號、核心代號

型號沒什麼好說的,就是CPU販賣時的產品名稱。代號(Codename)反而比較值得注意,廠商在製造CPU時,並不是每個產品型號都做一款,而是大量生產少數幾種晶片,再篩選每一顆晶片,依特性去劃分成不同的產品,這樣可節省製造成本。而這少數幾種晶片就是CPU的核心代號,同一個核心會衍生出不同的產品型號,最後的規格也會不同。這是因為晶圓製造並不一定每一顆都很完美,最完美的會劃成高階產品,稍微有問題的,比如無法到達高時脈,或是部分電晶體有缺陷,就降成低階產品,充份利用每一個生產的晶圓。

所以從代號有時可以看出廠商的策略,比如圖中的代號「Conroe」(網路上常戲稱它是「控肉」)是目前最紅的Intel Core 2 Duo的代號,第一代的C2D產品都是用這個核心,可是後來E6300和E6400這兩個產品換成Allendale核心,即使他們最終的產品名稱和規格都一樣。因為Conroe的晶片內部有4MB快取,而E6300/E6400則是2MB快取的產品,初期可能晶圓有缺陷,正好降低規格賣出,但製程良率提升之後,這種有缺陷的晶圓變少了,就得手動關閉部分功能來生出低階產品,這會造成廠商在單個晶圓上的獲利變少(明明是完美的,卻得降價賣),所以這時就會換生產另一顆核心,換比較便宜的晶片來提高獲利,就E6300/E6400的例子,Allendale就是內部原本就只有2MB快取的核心,晶片面積變小,適合較低階的產品。

總之,核心會影響CPU的特性,也能幫助了解CPU產品線的規格。

 
同樣是E6400,卻有Conroe和Allendale兩種核心。


3.核心時脈

時脈(Clock)是CPU最重要的規格,單位是MHz或GHz,意思是CPU每秒跑幾「百萬次」(MHz)或「十億次」(GHz)。CPU內部是一個個的運算單元,像小型計算機那樣可以算一些加減乘除,而所謂的「跑一次」,就是CPU內部所有單元做一次動作,執行某些運算,2GHz的CPU就代表它可以每秒做20億次的動作。所以很直覺的,時脈愈高,數字愈大,執行的速度就愈快,而這也是劃分CPU產品定位的第一標準。

但不同核心的CPU時脈不能混在一起做比較,因為它們「跑一次」所做的事並不一定相同,這就是所謂的「時脈週期」(Clock Cycle)。比如過去Intel Pentium4的CPU動不動就2GHz、3GHz,換到Core 2 Duo之後就變成只有1GHz、2GHz,可是事實上C2D的效能比P4好太多了,好到讓Intel全面放棄舊架構的Pentium4,因為C2D每個時脈週期可以做更多事,就算時脈沒有前一代產品高,整體效能還是比較好。

至於為什麼CPU的時脈都可以拉到GHz這麼高等級,是因為現在CPU內部是「管線化」的架構,講管線好像很難,其實很好理解。假設有一台洗衣機可以做洗衣、脫水、烘乾的步驟,一堆衣服丟進去,整個做下來要30分鐘,如果管線化拆成三台機器,每台只做一個步驟,雖然一堆衣服仍然要30分鐘才能處理完,可是會變成一次可以處理三堆衣服,而且每台機器運作的時間也變短了。而運算時間變短,就是一個時脈週期縮短,也就是時脈提高了。現在新的CPU內部大概都是十幾個階段(Stage),之前Pentium4時脈會那麼誇張,就是用了20個階段來飆速度。


4.外頻、倍頻

CPU得對外和其他零組件溝通,而外頻(Bus Speed)就是CPU「對外」的時脈,那跟前面講的CPU時脈有什麼不同?其實早期外頻和CPU的內部時脈是相同的,但在CPU開始導入管線化架構之後,時脈突飛猛進,遠遠超越其他零組件,所以CPU便使用外頻和倍頻(Multiplier)的機制。CPU內部跑的是高時脈,但對外就降到較低的外頻,現在一般是200~333MHz,而內部的高時脈就是「外頻 x 倍頻」,倍頻的話,現在是6到11不等,不過以前也曾有過20幾倍頻的。

為了進一步讓事情複雜化,外頻也不是其他零組件跑的時脈,而是其他零組件「做為基準」的時脈,因為各零件的發展速度不一,所以便衍生成這種狀況。比如CPU的老相好記憶體,便是以外頻為基準,乘上不同的比值或算法,變成記憶體時脈。而底下要講的FSB則固定是外頻的四倍。

正常販售的CPU的倍頻都是只能下降不能提高(除了少見的工程測試版,或極高階的CPU),倍頻下降是CPU自己啟動的省電機制,降低時脈來節省耗電。所以大家所說的「超頻」都是拉高外頻,而因為外頻是其他零組件做為基準的時脈,一拉外頻就雞犬升天,CPU、記憶體、FSB的速度都跟著提高,電腦的整體效能就會顯著提升。


CPU-Z裡左下方的「Bus Speed」就是外頻,圖中是被我超頻過的300MHz,「Multiplier」中的6.0則是倍頻,300和6相乘就變.....1799.9MHz,0.1的誤差是因為時脈產生器不一定非常精準。



切到CPU-Z的「Memory」(記憶體)部分,Frequency頻率會顯示375MHz,底下有個4:5的比值,就是以外頻為基準,乘上5/4變成記憶體時脈。這個比值有很多種,取決取北橋的記憶體控制器,像1:1、1:2等等,設定比值和外頻時脈,有時可以在CPU超頻後,讓記憶體跑在比原來還低的時脈,增加穩定性。


註:記憶體時脈的算法因記憶體控制器不同,會有不一樣的「公式」。Intel是固定幾種比值乘上外頻,AMD則是連同倍頻一起納入計算,而NVIDIA新的晶片組號稱有Unlink非連結模式,可讓記憶體和外頻時脈各自獨立調整,但那只是內建更多的比值,讓記憶體時脈可以細微變動,基本上仍然都以CPU的外頻為計算基礎。


5.Front Side Bus(Intel)和HyperTransport(AMD)

CPU直接連接一個重要裝置:北橋(關於「北橋」的用途,請參照主機板的章節),而「前端匯流排」(Front Side Bus,或簡稱FSB)就是CPU和北橋之間溝通的速度,北橋連接的全都是高速週邊,所以FSB對效能的影響非常大。要注意的是,FSB是Intel CPU專用,AMD的CPU用的是HyperTransport(簡稱HT),技術不同,但功能一樣是連接北橋。

現在Intel的FSB固定是外頻的四倍,AMD的HT則是外頻五倍,一些低階的產品則是四倍(*註:新架構的AMD CPU不再是外頻4或5倍,算法未知),但因為Intel和AMD的CPU的外頻並不相同,Intel的處理器外頻是200、266和333MHz(依產品定位高低而不同),AMD則固定是200MHz,乘上倍數之後,Intel的FSB是800、1066和1333MHz,AMD的HT則是800或1000MHz,除了Intel最新的1333MHz比較快之外,另外兩個是差不多的。

FSB和HT都是CPU和北橋連接的速度,所以這不僅是CPU的規格,也是主機板北橋的規格,兩邊要支援相同的速度才能搭配。


用CPU-Z看AMD的CPU,Rated FSB的部分會變「HT link」,指的就是HyperTransport的速度。


註:FSB和HyperTransport通道寬度不一樣,FSB是64 bits,HT是32 bits,但HT是「雙倍資料速度」(Double Data Rate),每個時脈週期可以傳兩次資料,抵銷之後,直接比較FSB和HT的時脈就知道誰的頻寬比較大。


6.L1/L2快取

算完一堆數學有點頭昏腦脹了嗎?接下來也是個數大便是美的規格,但不必再乘來乘去了,快取(Cache)。

在這一系列教學的第一篇就有講到,CPU需要記憶體做資料暫存,但CPU實在太快了,在記憶體裡運算資料還是嫌太慢了,所以現在CPU都直接在晶片裡內裝記憶體,也就是快取機制,由於快取記憶體根本就在CPU裡面,時脈和CPU一致,速度飛快。一般是64KB的「L1資料快取」和64KB的「L1指令快取」,還有1MB到4MB不等的「L2資料快取」。

電腦很多地方都有「快取」的設計,它的意義很簡單,就是高速裝置和慢速裝置中間的緩衝區。以CPU為例,當你執行一個軟體,比如Word,資料就先從硬碟載到記憶體,再從記憶體讀到CPU快取裡,CPU是從快取裡執行,這樣遇到需要重複使用的資料時,就能從快取裡讀,不必再繞遠路去翻記憶體。而L1和L2就是第一、第二層快取,因為.....該死的!CPU實在太快,必須要有非常非常快的快取做為它的暫存區,這就是L1,可是這種超高速的快取製作困難,成本極高,量不能太大,通常只有64KB或128KB,暫存最近執行的資料。而第二層的L2就比較大,1MB、2MB、4MB都有人做,放一些較久之前執行的資料,再更久一點的就到記憶體去,而不太常用的才回到硬碟。

而CPU找資料也是從L1、L2、記憶體、硬碟依序從最近(最快,容量最小,最貴),到最遠(最慢、容量最大,最便宜)找下去,而儲存資料時,比如存檔Word文件,也是這樣一步一步回到硬碟去。一些伺服器用的CPU還會有更大的L3快取做第三層緩衝,未來製程進步,也許一般消費端CPU也會有L3。快取是愈大愈好,因為CPU內部的運算單元執行速度超快,對一點點的延遲都很敏感,最好一切都能在快取內執行,需要載入新資料時,不得已才從記憶體裡讀。所以快取大小是評斷CPU效能的依據,通常性能愈強的CPU,也會搭配更大的快取。

但要注意,不同廠商的快取大小不能混為一談,因為所用的架構不同,比如Intel CPU的快取通常是AMD CPU的兩倍或更大,這是有特殊原因的。



CPU存取資料的順序如上圖所示,由最快最近的地方找起,如果沒抓到想要的資料再一層層往下找,因此愈上層的部分,影響效能就愈明顯。寫入資料時也是一層層往下寫,除了硬碟可以永久儲存之外,其他都是一斷電,資料就消失,所以如果你在編輯一個Word檔,在還沒有存檔之前,只有CPU的快取和記憶體裡有資料,一跳電,就完了。



快取對CPU有多重要?有圖有真相,這是一張CPU晶圓的顯微照相圖,周圍一塊是L3快取、中間是L2快取、裡面還有L1快取。事實上,現在CPU電晶體將近1/2都是快取。



CPU-Z裡有個「latency.exe」,執行就可以看讀快取的延遲,圖中顯示L1是3個時脈週期,L2是14個時脈週期。存取記憶體的話,大概需要3位數的時脈週期。


7.Stepping

呼~最難的已經過去了,前面講到一顆核心會衍生不同產品,不過一顆核心也會隨著時間做改版,也就是Stepping。通常一個核心做出來不會是100%完美,可能會有一些bug等等,核心改版通常會改善一些電氣特性,像是耗電量稍低一點、超頻性能好一點、增加功能,甚至提升FSB的速度,雖然還是同一個核心,但Stepping愈新,CPU的體質也會更好。

Stepping由一個英文和一個數字組成,最初可能是A0、A1,數字代表小改版,再來可能是B0、B1、B2,英文字改變代表大改版。比如Intel最新出的FSB 1333MHz的CPU,就仍然是Conroe核心,但Stepping已經到G0了,而最前面圖中是寫L2改版,這是讓CPU在閒置時耗電量從22瓦降到12瓦。


雙核心 / HyperThreading

最後,現在流行的「雙核心」(Dual Core)是什麼?其實就是在一個CPU的晶片裡,有兩個完整的CPU運算核心,他們共用快取來互相分享資料、共用FSB或HyperTransport與外面溝通,運算時則互相幫忙,平分工作量,Windows XP已經支援多核心的CPU,執行緒會自動分派到兩顆核心。用最直覺的比喻,就是以前CPU只能「全速」做一件很操的事,雙核心後就能全速做兩件(比如一邊做3D繪圖,一邊壓縮影片。真是太瘋狂了.....)。會朝向雙核心發展其實有點不得已,因為這幾年,CPU單一時脈週期的效能成長已經逐漸趨緩,利用增加核心來提高效能反而是比較簡單的解決方式,2008年四核心就會普及,接下來就八核心......再接下來,可能就是劃時代的新CPU架構了。


還記得這張圖吧?上一篇曾經出現過。在「CPU使用率記錄」分成兩塊,就是分別顯示兩個CPU核心的負載狀況。


而在雙核心還沒這麼普及以前,Intel想出一個很聰明的作法,稱為「HyperThreading」(超執行緒),有點像虛擬的雙核心。前一篇說過,CPU一次只能跑一條執行緖,HyperThreading則讓CPU可以同時「接收兩條」,當其中一條執行緒只用到CPU一部分的運算單元時,另一條就可以插進去補滿,讓全部的運算單元都有事做。事實上CPU仍然只有單核心的運算資源,只是讓運算單元的利率用提高,由於HyperThreading不是實體的雙核心,所以效能頂多增加10%~15%左右(Intel宣稱有30%,聽聽就好),總比沒有好。Pentium 4絕大部分的產品都有HyperThreading,在Windows XP下看就有兩個CPU佔用率,即使實體上只有一個核心。

Pentium 4滅絕之後,HyperThreading也跟著被淘汰,不過在Intel下一代產品中準備來個大復活,Intel之後會推出一個四核心的產品Penryn,每個核心都內建HyperThreading,猜猜看Windows XP下會看到什麼?沒錯,就是八腳章魚.....!我們真的需要這麼多核心的CPU嗎?這問題等到2009年再來回答好了。


結語

「為桌上型電腦和筆記型電腦選擇 Intel Core 2 Duo 處理器做為動力核心,即可享有最尖端的效能增強技術,包括高達 4MB 的共用 L2 快取記憶體,以及高達 1066 MHz的前端匯流排.....」(註:以上取自Intel官方網站)。

最後,再回頭看最前面那段廣告詞,是不是覺得沒什麼了?只不過點出CPU兩個重要規格而已,這就是技術行銷的真義:在產品廣告裡夾帶一些看起來很厲害的名詞.....。

下一篇難度將會更高一點,講CPU的一些特殊功能,比如SSE、VT等等,相當有趣,是深入了解CPU的一個機會。
搶到頭香了
非常感謝大大的知識分享
讓我又再更進一步成長了
感謝 感謝!!
好棒的資訊~~
真的是獲益良多~~~謝謝
書寫空間,建築落實 Matrix+Wdesign http://amatrixmodel.blogspot.com/
有看有推...真是一篇好文
對cpu的了解又跨進了一大步
嗯 , 又長知識了 , 感謝大大的文章分享。
豈能盡如人意,但求無愧我心。
希望大大可以在另外一篇介紹主機板的文章裡.
說明一下"八相電源供電"之類的東西.因為總是在一些文章裡看到.但是我只了解那是個名詞而已@@
Joey452 wrote:
希望大大可以在另外一...(恕刪)


很好的建議,已補上!謝謝~~~
感謝大大分享
讓小弟獲 益 良多
我記得winxp在宣傳上只能支援2核心,
可以支援多核心嗎?
請GF解惑一下,謝謝!
tmc_00 wrote:
我記得winxp在宣...(恕刪)


讚,這裡引用一下微軟對多核心的使用策略

Microsoft Windows XP Professional and Microsoft Windows XP Home are not affected by this policy as they are licensed per installation and not per processor. Windows XP Professional can support up to two processors regardless of the number of cores on the processor. Microsoft Windows XP Home supports one processor.


意思是說Windows的授權方式是以「安裝的份數」為主,而不是以處理器的數量,而針對「處理器的數量」,XP Pro版支援到雙處理器,無論每個處理器裡有多少核心,XP home則是支援單處理器,一樣不管處理器裡有多少核心。

在陸續的幾次hotfix中,XP可以順利支援到四核心...

1頁 (共10頁) » 分享到

前往



廣告
廣告