搜尋本站文章

2010年11月13日 星期六

CPU 百科全書:完全指標篇






一、決定 CPU 性能技術指標 ``每個買 CPU 的消費者,第一時間要過問的就是它的性能,對於一個 CPU 來說,性能是否強大是它能否在市場上生存下去的第一要素,那麼 CPU 的性能是由哪些因素決定的咧?下面就列出影響 CPU 性能的主要技術指標:


1、主頻,也就是 CPU 的時鐘頻率,簡單地說也就是 CPU 的工作頻率。一般說來,一個時鐘週期完成的指令數是固定的,所以主頻越高,CPU 的速度也就越快了。不過由於各種 CPU 的內部結構也不盡相同,所以並不能完全用主頻來概括 CPU 的性能。至於外頻就是系統匯流排的工作頻率;而倍頻則是指 CPU 外頻與主頻相差的倍數。用公式表示就是:主頻 = 外頻 × 倍頻。

2、記憶體匯流排速度或者叫系統匯流排速度,一般等同於 CPU 的外頻。記憶體匯流排的速度對整個系統性能來說很重要,由於記憶體速度的發展滯後於 CPU 的發展速度,為了緩解記憶體帶來的瓶頸,所以出現了二級緩存,來協調兩者之間的差異,而記憶體匯流排速度就是指CPU 與二級( L2)高速緩存和記憶體之間的工作頻率。

3、L1 高速緩存,也就是我們經常說的一級高速緩存。在 CPU 裡面內置了高速緩存可以提高CPU 的運行效率。內置的 L1 高速緩存的容量和結構對 CPU 的性能影響較大,不過高速快取存儲器均由靜態 RAM 組成,結構較複雜,在 CPU 管芯面積不能太大的情況下,L1 級高速緩存的容量不可能做得太大。採用回寫 ( Write Back)結構的高速緩存。它對讀和寫操作均有可提供緩存。而採用寫通(Write - through)結構的高速緩存,僅對讀操作有效。在 486 以上的電腦中基本採用了回寫式高速緩存。在目前流行的處理器中,奔騰 Ⅲ 和 Celeron 處理器擁有 32KB 的 L1 高速緩存,奔騰 4 為 8KB,而 AMD 的 Duron 和 Athlon 處理器的 L1 高速緩存高達 128KB。

4、L2 高速緩存,指 CPU 第二層的高速緩存,第一個採用 L2 高速緩存的是奔騰  Pro 處理器,它的 L2 高速緩存和 CPU 運行在相同頻率下的,但成本昂貴,市場生命很短,所以其後奔騰  II 的 L2 高速緩存運行在相當於 CPU 頻率一半下的。接下來的 Celeron 處理器又使用了和 CPU 同速運行的 L2 高速緩存,現在流行的 CPU ,無論是 AthlonXP 和奔騰 4,其 L2 高速緩存都是和 CPU 同速運行的。除了速度以外,L2 高速緩存容量也會影響 CPU 的性能,原則是越大越好,現在家庭用 CPU 容量最大的是 512KB,而服務器和工作站上用 CPU 的 L2 高速緩存更高達 1MB ~ 3MB。

5、流水線技術、超標量。流水線 ( pipeline ) 是  Intel 首次在 486 晶片中開始使用的。流水線的工作方式就像工業生產上的裝配流水線。在 CPU 中由 5 ~ 6 個不同功能的電路單元組成一條指令處理流水線,然後將一條 X86 指令分成 5 ~ 6 步後再由這些電路單元分別執行,這樣就能實現在一個 CPU 時鐘週期完成一條指令,因此提高了 CPU 的運算速度。超流水線是指某型  CPU 內部的流水線超過通常的 5 ~ 6 步以上,例如奔騰 4 的流水線就長達 20 步。將流水線設計的步(級)數越多,其完成一條指令的速度越快,因此才能適應工作主頻更高的 CPU。超標量是指在一個時鐘週期內 CPU 可以執行一條以上的指令。這在 486 或者以前的 CPU 上是很難想像的,只有奔騰級以上 CPU 才具有這種超標量結構;這是因為現代的 CPU 越來越多的採用了 RISC 技術,所以才會有超標量的 CPU。

6、協處理器或者叫數學協處理器。在 486 以前的 CPU 裡面,是沒有內置協處理器的。由於協處理器主要的功能就是負責浮點運算,因此 386、286、8088 等等微電腦 CPU 的浮點運算性能都相當落後,自從 486 以後,CPU 一般都內置了協處理器,協處理器的功能也不再局限於增強浮點運算。現在 CPU 的浮點單元(協處理器)往往對多媒體指令進行了優化。比如Intel 的 MMX 技術,MMX 是「多媒體擴展指令集」的縮寫。MMX 是 Intel 公司在 1996 年為增強奔騰 CPU 在音像、圖形和通信應用方面而採取的新技術。為 CPU 新增加 57 條 MMX 指令,把處理多媒體的能力提高了 60% 左右。現在的 CPU 已經普遍內置了這些多媒體指令集,例如現在奔騰 4 內置了 SSE2 指令集,而 AthlonXP 則內置增強型的 3DNow! 指令集。

7、工作電壓。工作電壓指的也就是 CPU 正常工作所需的電壓。早期 CPU(386、486)由於工藝落後,它們的工作電壓一般為 5V( 奔騰等是 3.5V / 3.3V / 2.8V 等),隨著 CPU 的製造工藝與主頻的提高,CPU 的工作電壓有逐步下降的趨勢,Intel 最新出品的 Tualatin 核心Celeron 已經採用 1.475V 的工作電壓了。低電壓能解決耗電過大和發熱過高的問題。這對於筆記本電腦尤其重要。

8、亂序執行和分枝預測,亂序執行是指 CPU 採用了允許將多條指令不按程序規定的順序分開送出給各相應電路單元處理的技術。分枝是指程序運行時需要改變的節點。分枝有無條件分枝和有條件分枝,其中無條件分枝只需要 CPU 按指令順序執行,而條件分枝則必須根據處理結果再決定程序運行方向是否改變,因此需要「分枝預測」技術處理的是條件分枝。

9、製造工藝,製造工藝雖然不會直接影響 CPU 的性能,但它可以可以極大地影響 CPU 的集成度和工作頻率,製造工藝越精細,CPU 可以達到的頻率越高,集成的晶體管就可以更多。第一代奔騰  CPU 的製造工藝是 0.35 微米, 最高達到 266Mhz 的頻率,PII 和賽揚是 0.25 微米,頻率最高達到 450Mhz 。銅礦核心的奔騰 Ⅲ 製造工藝縮小到了 0.18 微米,最高頻率達到 1.13Ghz 。最新 Northwood 核心的奔騰 4 CPU 製造工藝達到 0.13 微米,目前頻率已經達到2.4Ghz,估計達到 3Ghz 也沒有問題。在明年,Intel CPU 的製造工藝會達到 0.09 毫米。


二、CPU 技術術語不完全手冊 ``為了使讀者在日常購買操作電腦時方便查詢,特在本節最後列出和 CPU 有關的技術術語,安第一個字母的順序排列: 

3DNow! ( 3D no waiting )  AMD 公司開發的 SIMD 指令集,可以增強浮點和多媒體運算的速度,它的指令數為 21 條。

ALU ( Arithmetic Logic Unit,算術邏輯單元 ) 在處理器之中用於計算的那一部分,與其同級的有資料傳輸單元和分支單元。

BGA ( Ball Grid Array,球狀矩陣排列 )  一種晶片封裝形式,例:82443BX。
BHT ( branch prediction table,分支預測表 ) 處理器用於決定分支行動方向的數值表。
BPU ( Branch Processing Unit,分支處理單元 ) CPU 中用來做分支處理的那一個區域。
Brach Pediction(分支預測)從 P5 時代開始的一種先進的資料處理方法,由 CPU 來判斷程序分支的進行方向,能夠更快運算速度。
CMOS(Complementary Metal Oxide Semiconductor,互補金屬氧化物半導體 ) 它是一類特殊的晶片,最常見的用途是主板的BIOS( Basic Input/Output System,基本輸入/輸出系統 )。 CISC ( Complex Instruction Set Computing,複雜指令集電腦 ) 相對於 RISC 而言,它的指令位數較長,所以稱為複雜指令。如:x86 指令長度為 87 位。
COB ( Cache on board,板上集成緩存 ) 在處理器卡上集成的緩存,通常指的是二級緩存,例:奔騰 II
COD ( Cache on Die,晶片內集成緩存 ) 在處理器晶片內部集成的緩存,通常指的是二級緩存,例:PGA 賽揚 370
CPGA ( Ceramic Pin Grid Array,陶瓷針型柵格陣列 ) 一種晶片封裝形式。
CPU ( Center Processing Unit,中央處理器 ) 電腦系統的大腦,用於控制和管理整個機器的運作,並執行計算任務。
Data Forwarding(資料前送 )CPU 在一個時鐘週期內,把一個單元的輸出值內容拷貝到另一個單元的輸入值中。
Decode(指令解碼 )由於 X86 指令的長度不一致,必須用一個單元進行「翻譯」,真正的內核按翻譯後要求來工作。
EC ( Embedded Controller,嵌入式控制器 ) 在一組特定系統中,新增到固定位置,完成一定任務的控制裝置就稱為嵌入式控制器。
Embedded Chips ( 嵌入式 )  一種特殊用途的 CPU,通常放在非電腦系統,如:家用電器。 EPIC ( explicitly parallel instruction code,並行指令代碼 ) 英特爾的 64 位晶片架構,本身不能執行 x86 指令,但能通過譯碼器來兼容舊有的 x86 指令,只是運算速度比真正的 32 位晶片有所下降。
FADD( Floationg Point Addition,浮點加 )
FCPGA(Flip Chip Pin Grid Array,反轉晶片針腳柵格陣列 )  一種晶片封裝形式,例:奔騰 III 370。
FDIV( Floationg Point Divide,浮點除 )
FEMMS( Fast Entry / Exit Multimedia State,快速進入/退出多媒體狀態 )在多能奔騰之中,MMX 和浮點單元是不能同時運行的。新的晶片加快了兩者之間的切換,這就是 FEMMS。
FFT( fast Fourier transform,快速熱歐姆轉換 )一種複雜的算法,可以測試 CPU 的浮點能力。
FID ( FID:Frequency identify,頻率鑒別號碼 )  奔騰 III 通過 ID 號來檢查 CPU 頻率的方法,能夠有效防止 Remark。
FIFO ( First Input First Output,先入先出隊列 )  這是一種傳統的按序執行方法,先進入的指令先完成並引退,跟著才執行第二條指令。

FLOP ( Floating Point Operations Per Second,浮點操作 / 秒 ) 計算 CPU 浮點能力的一個單位。
FMUL ( Floationg Point Multiplication,浮點乘 )
FPU ( Float Point Unit,浮點運算單元 ) FPU 是專用於浮點運算的處理器,以前的 FPU 是一種單獨晶片,在 486 之後,英特爾把 FPU 與集成在 CPU 之內。
FSUB ( Floationg Point Subtraction,浮點減 )
HL-PBGA( 表面黏著、高耐熱、輕薄型塑膠球狀矩陣封裝 ) 一種晶片封裝形式。
IA ( Intel Architecture,英特爾架構 ) 英特爾公司開發的 x86 晶片結構。
ID( identify,鑒別號碼 )用於判斷不同晶片的識別代碼。

IMM(Intel Mobile Module, 英特爾移動模塊 )英特爾開發用於筆記本電腦的處理器模塊,集成了 CPU 和其它控制設備。
Instructions Cache( 指令緩存 )由於系統主記憶體的速度較慢,當 CPU 讀取指令的時候,會導致 CPU 停下來等待記憶體傳輸的情況。指令緩存就是在主記憶體與 CPU 之間增加一個快速的存儲區域,即使 CPU 未要求到指令,主記憶體也會自動把指令預先送到指令緩存,當 CPU 要求到指令時,可以直接從指令緩存中讀出,無須再存取主記憶體,減少了  CPU 的等待時間。 Instruction Coloring( 指令分類 ) 一種製造預測執行指令的技術,一旦預測判斷被相應的指令決定以後,處理器就會相同的指令處理同類的判斷。
Instruction Issue ( 指令送出 )它是第一個 CPU 管道,用於接收記憶體送到的指令,並把它發到執行單元。
IPC( Instructions Per Clock Cycle,指令 / 時鐘週期 ) 表示在一個時鐘週期用可以完成的指令數目。
KNI ( Katmai New Instructions,Katmai 新指令集,即 SSE )
Latency(潛伏期) 從字面上瞭解其含義是比較困難的,實際上,它表示完全執行一個指令所需的時鐘週期,潛伏期越少越好。嚴格來說,潛伏期包括一個指令從接收到送出的全過程。現今的大多數 x86 指令都需要約 5 個時鐘週期,但這些週期之中有部分是與其它指令交迭在一起的( 並行處理 ),因此 CPU 製造商宣傳的潛伏期要比實際的時間長。
LDT ( Lightning Data Transport,閃電資料傳輸匯流排 ) K8 採用的新型資料匯流排,外頻在 200MHz 以上。
MMX( MultiMedia Extensions,多媒體擴展指令集  ) 英特爾開發的最早期 SIMD 指令集,可以增強浮點和多媒體運算的速度。
MFLOPS ( Million Floationg Point / Second,每秒百萬個浮點操作 )  計算 CPU 浮點能力的一個單位,以百萬條指令為基準。
NI( Non - Intel,非英特爾架構 )除了英特爾之外,還有許多其它生產兼容 x86 體系的廠商,由於專利權的問題,它們的產品和英特爾系不一樣,但仍然能運行 x86 指令。
OLGA  ( Organic Land Grid Array,基板柵格陣列 )  一種晶片封裝形式。
OoO ( Out of Order,亂序執行 ) Post - RISC 晶片的特性之一,能夠不按照程序提供的順序完成計算任務,是一種加快處理器運算速度的架構。
PGA( Pin - Grid Array,引腳網格陣列 ) 一種晶片封裝形式,缺點是耗電量大。
Post - RISC 一種新型的處理器架構,它的內核是 RISC,而外圍是 CISC,結合了兩種架構的優點,擁有預測執行、處理器重命名等先進特性,如:Athlon。
PSN ( Processor Serial numbers,處理器序號 ) 標識處理器特性的一組號碼,包括主頻、生產日期、生產編號等。
PIB( Processor In a Box,盒裝處理器 )CPU 廠商正式在市面上發售的產品,通常要比OEM(Original Equipment Manufacturer,原始設備製造商 )廠商流通到市場的散裝晶片貴,但只有 PIB 擁有廠商正式的保修權利。
PPGA ( Plastic Pin Grid Array,塑膠針狀矩陣封裝 )  一種晶片封裝形式,缺點是耗電量大。 PQFP ( Plastic Quad Flat Package,塑料方塊平面封裝 )  一種晶片封裝形式。
RAW ( Read after Write,寫後讀 ) 這是 CPU 亂序執行造成的錯誤,即在必要條件未成立之前,已經先寫下結論,導致最終結果出錯。 Register Contention( 搶佔寄存器 )當寄存器的上一個寫回任務未完成時,另一個指令徵用此寄存器時出現的衝突。 Register Pressure( 寄存器不足 ) 軟體算法執行時所需的寄存器數目受到限制。對於 X86 處理器來說,寄存器不足已經成為了它的最大特點,因此 AMD 才想在下一代晶片 K8 之中,增加寄存器的數量。
Register Renaming( 寄存器重命名 ) 把一個指令的輸出值重新定位到一個任意的內部寄存器。在 x86 架構中,這類情況是常常出現的,如:一個 fld 或f xch 或 mov 指令需要同一個目標寄存器時,就要動用到寄存器重命名。
Remark( 晶片頻率重標識 )晶片製造商為了方便自己的產品定級,把大部分 CPU 都設置為可以自由調節倍頻和外頻,它在同一批 CPU 中選出好的定為較高的一級,性能不足的定位較低的一級,這些都在工廠內部完成,是合法的頻率定位方法。但出廠以後,經銷商把低檔的 CPU 超頻後,貼上新的標籤,當成高檔 CPU 賣的非法頻率定位則稱為 Remark。因為生產商有權力改變自己的產品,而經銷商這樣做就是侵犯版權,不要以為只有軟體才有版權,硬體也有版權呢。
Resource contention( 資源衝突 )當一個指令需要寄存器或管道時,它們被其它指令所用,處理器不能即時作出回應,這就是資源衝突。
Retirement( 指令引退 )當處理器執行過一條指令後,自動把它從調度進程中去掉。如果僅是指令完成,但仍留在調度進程中,亦不算是指令引退。
RISC ( Reduced Instruction Set Computing,精簡指令集電腦 )  一種指令長度較短的電腦,其運行速度比 CISC 要快。
SEC( Single Edge Connector,單邊連接器 ) 一種處理器的模塊,如:奔騰 II。
SIMD ( Single Instruction Multiple Data,單指令多資料流 )  能夠複製多個操作,並把它們打包在大型寄存器的一組指令集,例:3DNow!、SSE。 SiO2F ( Fluorided Silicon Oxide,二氧氟化硅 )  製造電子元件才需要用到的材料。
SOI( Silicon on insulator,絕緣體硅片 )
SONC ( System on a chip,系統集成晶片 ) 在一個處理器中集成多種功能,如:CyrixMediaGX。
SPEC ( System Performance Evaluation Corporation,系統性能評估測試 ) 測試系統總體性能的 Benchmark。
Speculative execution( 預測執行 ) 一個用於執行未明指令流的區域。當分支指令發出之後,傳統處理器在未收到正確的回饋資訊之前,是不能做任何工作的,而具有預測執行能力的新型處理器,可以估計即將執行的指令,採用預先計算的方法來加快整個處理過程。
SQRT( Square Root Calculations,平方根計算 ) 一種複雜的運算,可以考驗 CPU 的浮點能力。
SSE ( Streaming SIMD Extensions,單一指令多資料流擴展 )  英特爾開發的第二代 SIMD 指令集,有 70 條指令,可以增強浮點和多媒體運算的速度。
Superscalar( 超標量體系結構 )在同一時鐘週期可以執行多條指令流的處理器架構。
TCP( Tape Carrier Package,薄膜封裝 ) 一種晶片封裝形式,特點是發熱小。
Throughput(吞吐量) 它包括兩種含義: 第一種:執行一條指令所需的最少時鐘週期數,越少越好。執行的速度越快,下一條指令和它搶佔資源的機率也越少。 第二種:在一定時間內可以執行的最多指令數,當然是越大越好。
TLBs ( Translate Look side Buffers,翻譯旁視快取器 ) 用於存儲指令和輸入/輸出數值的區域。
VALU ( Vector Arithmetic Logic Unit,向量算術邏輯單元 ) 在處理器中用於向量運算的部分。
VLIW ( Very Long Instruction Word,超長指令字 )  一種非常長的指令組合,它把許多條指令連在一起,增加了運算的速度。
VPU ( Vector Permutate Unit,向量排列單元 ) 在處理器中用於排列資料的部分。

沒有留言:

張貼留言

1、本留言處歡迎多加留言交流,但不歡迎垃圾留言及廣告留言
2、留言時可以使用部份 HTML 標記
3、對於教學文章介紹或軟體使用有問題歡迎提出,若站長沒回應表示不清楚該問題的解決方案
4、留言時請勿留下電子郵件,以免因搜尋引擎爬文而造成您的困擾,且站長不會寄相關郵件給您,僅會在留言區提供解決方案
5.站長保留不當刪除留言的權力,若造成不便尚請見諒