CPU[10]

CPU[10]

中央處理器(CPU,CentralProcessingUnit)是一塊超大規模的積體電路,是一台計算機的運算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計算機指令以及處理計算機軟體中的數據。 中央處理器主要包括運算器(算術邏輯運算單元,ALU,Arithmetic Logic Unit)和高速緩衝存儲器(Cache)及實現它們之間聯繫的數據(Data)、控制及狀態的匯流排(Bus)。它與內部存儲器(Memory)和輸入/輸出(I/O)設備合稱為電子計算機三大核心部件。

CPUCPU
CPU:Central Processing Unit,中央處理單元,又叫中央處理器或微處理器,被喻為電腦的心臟。CPU的發展很快,已由原來的4位處理器發展到64位處理器,由單核發展成雙核三核四核甚至多核,頻率增高,速度更快,納米級的製造工藝,使晶片更小,功耗也進一步降低,節省更多的電能。價格也越來越便宜。

CPU的發展歷程

CPU是Central Processing Unit(中央微處理器)的縮寫,它是計算中最重要的一個部分,由運算器和控制器組成。如果把計算機比作人,那么CPU就是人的心臟。CPU的發展非常迅速,個人電腦從8088(XT)發展到現在的Pentium Ⅲ時代,只經過了不到20年的時間。從生產技術來說,最初的8088集成了29000個電晶體,而PentiumⅢ的集成度超過了2810萬個電晶體;CPU的運行速度,以MIPS(百萬個指令每秒)為單位,8088是0.75MIPS,到高能奔騰時已超過了1000MIPS。不管什麼樣的CPU,其內部結構歸納起來都可以分為控制單元、邏輯單元和存儲單元三大部分,這三個部分相互協調,對命令和數據進行分析、判斷、運算並控制計算機各部分協調工作。

CPU從最初發展至今已經有二十多年的歷史了,這期間,按照其處理信息的字長,CPU可以分為:4位微處理器、8位微處理器、16位微處理器32位微處理器以及正在醞釀構建的64位微處理器,可以說個人電腦的發展是隨著CPU的發展而前進的。

CPUIntel 4004
Intel 4004

1971年,英特爾公司推出了世界上第一款微處理器4004,這是第一個用於微型計算機的4位微處理器,它包含2300個電晶體,隨後英特爾又推出了8008,由於運算性能很差,其市場反應十分不理想。1974年,8008發展成8080,成為第二代微處理器。8080作為代替電子邏輯電路的器件被用於各種套用電路和設備中,如果沒有微處理器,這些套用就無法實現。

由於微處理器可用來完成很多以前需要用較大設備完成的計算任務,價格又便宜,於是各半導體公司開始競相生產微處理器晶片。Zilog公司生產了8080的增強型Z80,摩托羅拉公司生產了6800,英特爾公司於1976年又生產了增強型8085,但這些晶片基本沒有改變8080 的基本特點,都屬於第二代微處理器。它們均採用NMOS工藝,集成度約9000隻電晶體,平均指令執行時間為1μS~2μS,採用彙編語言、BASIC、Fortran編程,使用單用戶作業系統

Intel 8086

1978年英特爾公司生產的8086是第一個16位的微處理器。很快Zilog公司和摩托羅拉公司也宣布計畫生產Z8000和68000。這就是第三代微處理器的起點。

CPU cpu 8086
1978年確立x86地位創造商業奇蹟的CPU——8086

8086微處理器最高主頻速度為8MHz,具有16位數據通道,記憶體定址能力為1MB。同時英特爾還生產出與之相配合的數學協處理器i8087,這兩種晶片使用相互兼容的指令集,但在i8087指令集中增加了一些專門用於對數、指數和三角函式等數學計算的指令。由於這些指令集套用於i8086和i8087,所以人們對這些指令集統一稱之為x86指令集。雖然以後英特爾又陸續生產出第二代、第三代等更先進和更快的新型CPU,但都仍然兼容原來的x86指令,而且英特爾在後續CPU的命名上沿用了原先的x86序列,直到後來因商標註冊問題,才放棄了繼續用阿拉伯數字命名。

1979年,英特爾公司又開發出了8088。8086和8088在晶片內部均採用16位數據傳輸,所以都稱為16位微處理器,但8086每周期能傳送或接收16位數據,而8088每周期只採用8位。因為最初的大部分設備和晶片是8位的,而8088的外部8位數據傳送、接收能與這些設備相兼容。8088採用40針的DIP封裝,工作頻率為6.66MHz、7.16MHz或8MHz,微處理器集成了大約29000個電晶體。

8086和8088問世後不久,英特爾公司就開始對他們進行改進,他們將許多功能集成在一塊晶片上,這樣就誕生了80186和80188。這兩款微處理器內部均以16位工作,在外部輸入輸出上80186採用16位,而80188和8088一樣均是採用8位工作。從這個時候起,AMD公司已經開始生產80186 CPU了。

1981年8088晶片首次用於IBM PC機中,開創了全新的微機時代。也正是從8088開始,個人電腦(PC)的概念開始在全世界範圍內發展起來。

IBM PC/XT微機的主機板採用的匯流排分為三層,第一層為CPU匯流排AD7~0,它聯接CPU;第二層為系統匯流排D7~0;第三層有存貯匯流排MD7~0和擴充匯流排CD7~0,其中存貯器匯流排連線存貯器,擴充匯流排連線主機板上所有輸入輸出設備和唯讀存貯器EPROM。CPU焊接在主機板上,不能像現在這樣可以對CPU進行升級。

從8088套用到IBM PC機上開始,個人電腦真正走進了人們的工作和生活之中,它也標誌著一個新時代的開始。

CPUIntel 80286
Intel 80286

1982年,英特爾公司在8086的基礎上,研製出了80286微處理器,該微處理器的最大主頻為20MHz,內、外部數據傳輸均為16位,使用24位記憶體儲器的定址,記憶體定址能力為16MB。80286可工作於兩種方式,一種叫實模式(相當於與MS DOS兼容,具有8086與8088晶片的限制),另一種叫保護方式 (增加了微處理器的功能)。在實模式下,微處理器可以訪問的記憶體總量限制在1兆位元組;而在保護方式之下,80286可直接訪問16兆位元組的記憶體。此外,80286工作在保護方式之下,可以保護作業系統,使之不像實模式或808
6等不受保護的微處理器那樣在遇到異常套用時會使系統遭到停機。IBM公司將80286微處理器用在先進技術微機即AT機中,引起了極大的轟動。80286在以下四個方面比它的前輩有顯著的改進:支持更大的記憶體。達到了當時前所未有的16MB;能夠模擬記憶體空間。這使得微處理器可以使用外存儲設備模擬的大量存儲空間,這樣就大大擴展了80286所能勝任的工作範圍;能同時運行多個任務。多任務是通過多任務硬體機構使微處理器在各種任務間來回快速切換;處理速度。最早PC機的速度是4MHz,第一台基於80286的AT機運行速度為6MHz至8MHz,一些製造商還自行提高速度,使80286達到了20MHz,這確實意味著性能上有了重大的進步。

80286的封裝是一種被稱為PGA的正方形包裝。PGA是源於PLCC的便宜封裝,它有一塊內部和外部固體插腳,在這個封裝中,80286集成了大約130000個電晶體。

IBM PC/AT微機的匯流排保持了XT的三層匯流排結構,並增加了高低位位元組匯流排驅動器轉換邏輯和高位位元組匯流排。與XT機一樣,CPU也是焊接在主機板上的。

那時的原裝機僅指IBM PC機,而兼容機就是除了IBM PC以外的其它機器。在當時,生產CPU的公司除英特爾外,還有AMD及西門子公司等,而人們對自己電腦用的什麼CPU也不關心,因為AMD等公司生產的CPU幾乎同英特爾的一樣,直到486時代人們才關心起自己的CPU來。

8086~80286這個時代是個人電腦起步的時代,當時在國內使用甚至見到過PC機的人很少,它在人們心中是一個神秘的東西。到九十年代初,國內才開始普及計算機。

CPUIntel 80386
Intel 80386

1985年春天的時候,英特爾公司已經成為了第一流的晶片公司。但它的8088/8086和80286晶片還沒有占到壓倒性的優勢—儘管這些晶片非常成功。像Zilog公司和摩托羅拉公司,憑藉著自己毫不遜色甚至稍高一籌的晶片產品,成為英特爾公司的強有力競爭者。而藍色巨人IBM正在秘密研究自己的CPU—286,AMD公司也開始涉足到CPU製造領域,他們將正在開發的第一塊晶片稱為386。而這個時候,英特爾公司的主營業務還不是CPU,而是存儲器

英特爾決心全力開發32位核心的CPU—80386,而逐漸放棄存儲器業務。Intel給80386設計了三個技術要點:使用“類286”結構,開發80387協微處理器增強浮點運算能力,開發配套高速快取解決記憶體速度瓶頸。

1985年10月17日,英特爾的劃時代的產品80386DX正式發布了,其內部包含27.5萬個電晶體,時鐘頻率為12.5MHz,後逐步提高到20MHz、25MHz、33MHz,最後還有少量的40MHz產品。80386DX的內部和外部數據匯流排是32位,地址匯流排也是32位,可以定址到4GB記憶體,並可以管理64TB的虛擬存儲空間。它的運算模式除了具有實模式和保護模式以外,還增加了一種“虛擬86”的工作方式,可以通過同時模擬多個8086微處理器來提供多任務能力。80386DX有比80286更多的指令,頻率為12.5MHz的80386每秒鐘可執行6百萬條指令,比頻率為16MHz的80286快2.2倍。80386最經典的產品為80386DX-33MHz,一般我們說的80386就是指得它。

由於32位微處理器的強大運算能力,PC的套用擴展到很多的領域,如商業辦公和計算、工程設計和計算、數據中心、個人娛樂。80386使32位CPU成為了PC工業的標準。

同時,80386採用“類286”匯流排結構,這樣就可以保持軟硬體的兼容性,可以利用現有技術和配件,降低整機的開發和製造成本。另外,80386有三種工作模式,適應的作業系統比較多,而且對現有的程式兼容性比較好。多任務處理一貫是大中型機的專利,但80386將多任務性能引入,在80386中有個用任務暫存器,用任務暫存器來管理任務的記憶體段,從而實現任務的切換。多任務使80386以一種廣泛的適應性和一種重要的工具進入了各行各業。

雖然當時80386沒有完善和強大的浮點運算單元,但配上80387協處理器,80386就可以順利完成AutoCAD等需要大量浮點運算的任務,從而順利進入了主流的商用電腦市場。另外,30386還有其他豐富的外圍配件支持,如82258(DMA控制器)、8259A(中斷控制器)、8272(磁碟控制器)、82385(Cache控制器)、82062(硬碟控制器)等。

針對記憶體的速度瓶頸,英特爾為80386設計了高速快取(Cache),採取預讀記憶體的方法來緩解這個速度瓶頸。本來最初的設計,80386將內置L1 Cache,但由於工藝、成本、工期等等方面的限制,80386最後並沒有內置L1 Cache,而是將專門開發的L1 Cache晶片放置在CPU之外的主機板上,但從此以後,Cache就和CPU成為了如影隨形的東西。另外,80386的記憶體管理非常先進,有頁式、段式、段頁式三種管理方式,可以管理巨大的記憶體空間,從而為應用程式提供足夠的舞台。

Intel 80387/80287

嚴格地說,80387並不是一塊真正意義上的CPU,而是配合80386DX的協處理晶片,也就是說,80387隻能協助80386完成浮點運算方面的功能,功能很單一。而80386則是一塊可以獨立運行的CPU。但用戶可以選擇80386是否搭配80387以增強系統的浮點運算性能。80387隨著80386DX一起發布,很多80386DX的主機板上,有一個80387插槽,插上80387,系統可以自動檢測80387協微處理器,然後將浮點運算交給它。由於英特爾使用80387協微處理器為需要的用戶增強80386的運算性能,而一般注重成本的用戶則可不用昂貴的80387協微處理器,而直接用80386來軟體模擬硬體浮點運算。另外,還有一種80287協微處理器晶片,也支持80386,但使用的插座和80387不盡相同,二者不能混用。

Intel 80386SX

1989年英特爾公司又推出準32位微處理器晶片80386SX。這是Intel為了擴大市場份額而推出的一種較便宜的普及型CPU,它的內部數據匯流排為32位,與80386相同,外部數據匯流排為16位。也就是說,80386SX仍然可以使用32位、16位、8位編程,其內部處理速度與80386DX接近,也支持真正的多任務操作,而它又可以接受為80286開發的16位輸入/輸出接口晶片,降低整機成本。80386SX和80386DX的關係,就好像早期的8088和8086的關係,在輸入輸出的位長上的區別,其“S”就表示單(16位數據匯流排),“D”就表示
雙(32位數據匯流排)。80386SX使用的協微處理器是80387SX。

80386SX推出後,受到市場的廣泛的歡迎,因為80386SX的性能大大優於80286,而價格只是80386的三分之一。真正是推進了個人電腦的發展。

Intel 80386SL/80386DL

英特爾在1990年推出了專門用於筆記本電腦的80386SL和80386DL兩種型號的386晶片。這兩個類型的晶片可以說是80386DX/SX的節能型,其中,80386DL是基於80386DX核心,而80386SL是基於80386SX核心的。這兩種類型的晶片,不但耗電少,而且具有電源管理功能,在CPU不工作的時候,自動切斷電源供應。

Motorola 68000

摩托羅拉的68000是最早推出的32位微微處理器,當時是1984年,推出後,性能超群,並獲得如日中天的蘋果公司青睞,在自己的劃時代個人電腦“PC-MAC”中採用該晶片。但80386推出後,日漸沒落。

AMD Am386SX/DX

AMD的Am386SX/DX是兼容80386DX的第三方晶片,性能上和英特爾的80386DX相差無己,也成為當時的主流產品之一。

IBM 386SLC
這個是由IBM在研究80386的基礎上設計的,和80386完全兼容,由英特爾生產製造。386SLC基本上是一個在80386SX的基礎上配上內置Cache,同時包含80486SX的指令集,性能也不錯。

CPUIntel 80486
Intel 80486

1989年,我們大家耳熟能詳的80486晶片由英特爾推出。這款經過四年開發和3億美元資金投入的晶片的偉大之處在於它首次實破了100萬個電晶體的界限,集成了120萬個電晶體,使用1微米的製造工藝。80486的時鐘頻率從25MHz逐步提高到33MHz、40MHz、50MHz。80486是存集成在一個晶片內。80486中集成的80487的數字運算速度是以前80387的兩倍,內部快取縮短了微處理器與慢速DRAM的等待時間。並且,在80x86系列中首次採用了RISC(精簡指令集)技術,可以在一個時鐘周期內執行一條指令。它還採用了突發匯流排方式,大大提高了與記憶體的數據交換速度。由於這些改進,80486的性能比帶有80387數學協微處理器的80386 DX性能提高了4倍。早期的486分為有協微處理器的486 DX和無協微處理器的486 SX兩種,其價格也相差許多。

隨著晶片技術的不斷發展,CPU的頻率越來越快,而PC機外部設備受工藝限制,能夠承受的工作頻率有限,這就阻礙了CPU主頻的進一步提高。在這種情況下,出現了CPU倍頻技術,該技術使CPU內部工作頻率為微處理器外頻的2~3倍,486 DX2、486 DX4的名字便是由此而來。隨後,我們還看到了很多486的型號,不過通常80486 CPU一般具有以下的特點:80486 CPU是32位微微處理器,最大定址範圍是4096MB;80486 CPU可以在一個時鐘周期內執行一條指令,而386執行一條指令至少需要兩個時鐘周期;80486 CPU內部帶有8KB的內置超高速緩衝存儲器(即L1)。由於內置超高速緩衝存儲器的讀寫速度比外置的高速緩衝存儲器快,所以這是486比386快的重要原因之一;80486 CPU支持VESA和PCI局部匯流排,而386僅支持8位或16位的ISA匯流排,而VESA和PCI局部匯流排的速度要快得多;80486 CPU為正四邊形,每邊3排引腳,共168隻引腳。

Intel 80486 DX

常見的80486 CPU有80486 DX-33、40、50。486 CPU與386 DX一樣內外都是32位的,但是最慢的486 CPU也比最快的386 CPU要快,這是因為486 SX/DX執行一條指令,只需要一個振盪周期,而386DX CPU卻需要兩個周期。

Intel 80486 SX

因為80486 DX CPU具有內置的浮點協微處理器,功能強大,當然價格也就比較昂貴。為了適應普通的用戶的需要,尤其是不需要進行大量浮點運算的用戶,英特爾公司推出了486 SX CPU。80486 SX主機板上一般都有80487協微處理器插座,如果需要浮點協微處理器的功能,可以插上一個80487協微處理器晶片,這樣就等同於486 DX了。常見的80486 SX CPU有:80486 SX-25、33。

Intel 80486 DX2/DX4

其實這種CPU的名字與頻率是有關的,這種CPU的內部頻率是主機板頻率的兩倍,如80486 DX2-66,CPU的頻率是66MHz,而主機板的頻率只要是33MHz就可以了。由此可知,如果主機板使用的是80486 DX-33的,只要更換一個80486 DX2-66的CPU就可以達到升級的目的了。常見的80486 DX2 CPU有:80486 DX2-50、66。80486 DX2 CPU有8KB的Cache,而80486 DX4則有16KB的Cache。常見的80486 DX4 CPU有80486 DX4-75、100。同期AMD與Cyrix都及時推出了相同主頻的產品。

Intel 80486 SL CPU

80486 SL CPU最初是為筆記本電腦和其他便攜機設計的,與386SL一樣,這種晶片使用3.3V而不是5V電源,而且也有內部切斷電路,使微處理器和其他一些可選擇的部件在不工作時,處於休眠狀態,這樣就可以減少筆記本電腦和其他便攜機的能耗,延長使用時間。

Intel 486 OverDrive

升級486 SX可以在主機板的協微處理器插槽上安裝一個80487SX晶片,使其等效於486DX,但是這樣升級後,只是增加了浮點協微處理器的能力,並沒有提高系統的速度。為了提高系統的速度,還有另外一種升級的方法,就是在協微處理器插槽上插上一個486 OverDrive CPU,它的原理與486 DX2 CPU一樣,其內部操作速度可以是外部速度的兩倍。如一個20MHz的主機板上安插了OverDrive CPU之後,CPU內部的操作速度可以達到40MHz。486 OverDrive CPU也有浮點協微處理器的功能,常見的有:OverDrive-50、66、80。

TI 486 DX

作為全球知名的半導體廠商之一,美國德州儀器(TI)也在486時代異軍突起,它自行生產了486 DX系列CPU,尤其在486DX2成為主流後,其DX2-80因較高的性價比成為當時主流產品之一,TI 486最高主頻為DX4-100,但其後再也沒有進入過CPU市場。

Cyrix 486DLC

這是Cyrix公司生產的486 CPU,說它是486 CPU,是指它的效率上逼近486 CPU,卻並不是嚴格意義上的486 CPU,這是由486 CPU的特點而定的。486DLC CPU只是將386DX CPU與1K Cache組合在一塊晶片里,沒有內含浮點協微處理器,執行一條指令需要兩個振盪周期。但是由於486DLC CPU設計精巧,486DLC-33 CPU的效率逼近英特爾公司的486 SX-25,而486DLC-40 CPU則超過了486 SX-25,並且486DLC-40 CPU的價格比486 SX-25便宜。486DLC CPU是為了升級386DM而設計的,如果原來有一台386電腦,想升級到486,但是又不想更換主機板,就可以拔下原來的386 CPU,插上一塊486DLC CPU就可以了。

Cyrix 5x86

自從英特爾另闢蹊徑,開發了Pentium之後,Cyrix也很快推出了自己的新一代產品5x86。它仍然延用原來486系列的CPU插座,而將主頻從100MHz提高到120MHz。主頻標識也變為5x86 PR120,它的自標是針對英特爾推出的Pentium75,但5x86可以說是一款失敗的產品。5x86比起486來說性能是有所增加,可是比起Pentium來說,不但浮點性能遠遠不足,就連Cyrix一向自豪的整數運算性能也不那么高超,給人一種比上不足比下有餘的感覺。由於5x86可以使用486的主機板,因此我們一般將它看成是過渡產品。其間由於Cyrix CPU為IBM代工生產,所以從486起在市場上同時出現了與它核心相同的IBM CPU,這種情形一直持續到Cyrix的MⅡ為止。

AMD 5x86

AMD 486DX是AMD公司在 486市場的利器,它內置16KB回寫快取,並且開始了單周期多指令的時代,還具有分頁虛擬記憶體管理技術。由於後期TI推出了486DX2-80,價格非常低,英特爾又推出了Pentium系列,AMD為了搶占市場的空缺,推出了5x86系列CPU。它是486級最高主頻的產品,為5x86-120及133。它採用了一體的16K回寫快取,0.35微米工藝,33×4的133頻率,性能直指Pentiun 75,並且功耗要小於Pentium。

Intel Pentium

1993年,全面超越486的新一代586 CPU問世,為了擺脫486時代微處理器名稱混亂的困擾,英特爾公司把自己的新一代產品命名為Pentium(奔騰)以區別AMD和Cyrix的產品。AMD和Cyrix也分別推出了K5和6x86微處理器來對付晶片巨人,但是由於奔騰微處理器的性能最佳,英特爾逐漸占據了大部分市場。

Pentium最初級的CPU是Pentium 60和Pentium 66,分別工作在與系統匯流排頻率相同的60MHz和66MHz兩種頻率下,沒有我們現在所說的倍頻設定。令英特爾最為尷尬的是最初Pentium 60和Pentium 66的一部分產品還有浮點運算錯誤,因此它並沒有受到人們的歡迎,英特爾還因此回收了大批CPU。

Pentium級別的CPU也有自己的代號,以區別不同工藝的CPU。有以下這幾種型號(注意:586級CPU在CPU的工作頻率中,前一數字為內部頻率,後一數字為匯流排頻率):
1.P5(這是Pentium家族的第一代產品),它們的工作頻率分別為50/50MHz(工程樣品),60/60MHz和66/66 MHz。
2.P54C,該型號的CPU不需進行電壓調節,但CPU有兩種電壓,在CPU針腳的那面能夠看到“SXXXX/VMU”之類的標記,斜槓後的V代表VRE,如果是S就代表S規格,並可以支持兩個微處理器同時使用。它們的工作頻率分別為:75/50MHz、90/60MHz、100/50MHz、100/66MHz、120/60MHz133/66MHz150/60MHz166/66MHz、180/60MHz、200/66MHz。3.P54CM,這是升級版的CPU。
4.P54CQS,這類CPU不須進行電壓調節,可以兩個微處理器同時使用。它們的工作率:75/50MHz,100/66MHz,120/60MHz,133/66MHz,166/66MHz,200/66MHz。
5.P54LM,這是給筆記本電腦使用的CPU,電壓2.9V,支持電壓調節,沒有APIC,可以兩個微處理器同時使用,工作頻率為:75/50MHz,120/60MHz, 133/66MHz,150/60MHz。

早期的奔騰75MHz~120MHz使用0.5微米的製造工藝,後期120MHz頻率以上的奔騰則改用0.35微米工藝。經典奔騰的性能相當平均,整數運算和浮點運算都不錯。由於經典奔騰採用的是單電壓供電,從這方面來看,Pentium系列CPU的可升級性一般。

Intel Pentium MMX

為了提高電腦在多媒體、3D圖形方面的套用能力,許多新指令集應運而生,其中最著名的三種便是英特爾的MMXSSE和AMD的3D NOW! 。 MMX(MultiMedia Extensions,多媒體擴展指令集)是英特爾於1996年發明的一項多媒體指令增強技術,包括57條多媒體指令,這些指令可以一次處理多個數據,MMX技術在軟體的配合下,就可以得到更好的性能。

多能奔騰(Pentium MMX)的正式名稱就是“帶有MMX技術的Pentium”,是在1996年底發布的。從多能奔騰開始,英特爾就對其生產的CPU開始鎖倍頻了,對於喜歡超頻的玩家來說這不是一個好訊息,但是MMX的CPU超外頻能力特彆強,而且還可以通過提高核心電壓來超倍頻,所以那個時候超頻是一個很時髦的行動。超頻這個詞語真正也是從那個時候開始流行的。

多能奔騰是繼Pentium後英特爾又一個成功的產品,其生命力也相當頑強。多能奔騰在原Pentium的基礎上進行了重大的改進,增加了片內16KB數據快取和16KB指令快取,4路寫快取以及分支預測單元和返回堆疊技術。特別是新增加的57條MMX多媒體指令,使得多能奔騰即使在運行非MMX最佳化的程式時,也比同主頻的Pentium CPU要快得多。這57條MMX指令專門用來處理音頻、視頻等數據。這些指令可以大大縮短CPU在處理多媒體數據時的等待時間,使CPU擁有更強大的數據處理能力。與經典奔騰不同,多能奔騰採用了雙電壓設計,其核心電壓為2.8V,系統I/O電壓仍為原來的3.3V。如果主機板不支持雙電壓設計,那么就無法升級到多能奔騰。

多能奔騰的代號為P55C,是第一個有MMX技術(整量型單元執行)的CPU,擁有16KB數據L1 Cache,16KB指令L1 Cache,兼容SMM,64位匯流排,528MB/s的頻寬,2時鐘等待時間,450萬個電晶體,功耗17瓦。支持的工作頻率有:133MHz、150MHz、166MHz、200MHz、233MHz。

Intel Pentium Pro

曾幾何時,Pentium Pro是高端CPU的代名詞,Pentium Pro所表現的性能在當時讓很多人大吃一驚,但是Pentium Pro是32位數據結構設計的CPU,所以Pentium Pro運行16位應用程式時性能一般,但仍然是32位的贏家,但是後來,MMX的出現使它黯然失色。

Pentium Pro(高能奔騰,686級的CPU)的核心架構代號為P6(也是未來PⅡ、PⅢ所使用的核心架構),這是第一代產品,二級Cache有256KB或512KB,最大有1MB的二級Cache。工作頻率有:133/66MHz(工程樣品),150/60MHz、166/66MHz、180/60MHz、200/66MHz。

CPUAMD K5
AMD K5

K5是AMD公司第一個獨立生產的x86級CPU,發布時間在1996年。由於K5在開發上遇到了問題,其上市時間比英特爾的Pentium晚了許多,再加上性能不好,這個不成功的產品一度使得AMD的市場份額大量喪失。K5的性能非常一般,整數運算能力不如Cyrix的6x86,但是仍比Pentium略強,浮點運算能力遠遠比不上Pentium,但稍強於Cyrix。綜合來看,K5屬於實力比較平均的那一種產品。

AMD的K5有著16KB數據Cache,8KB指令Cache,64位數據匯流排,296針 SPGA封裝。K5有多種形號,如:AMD-K5-PR100ABQ,其中的B就是電壓代碼。各種CPU的電壓是不同的,B(內部3.3V,外部3.5V),C(內部3.3V,外部3.5V),F(內部3.3V,外部3.5V),J(內部2.7V,外部3.3V),K(內部2.5V,外部3.3V),H(內部2.9V,外部3.3V)

K5有這樣幾種工作頻率:K5-PR75(75MHz),PR83(83MHz),90(90MHz),100SSA/5(100MHz),100(75MHz),120(90MHz),133(100 MHz),150(105MHz),166(117MHz),200(133MHz),括弧外為PR指數,括弧內為真實頻率。
K5低廉的價格顯然比其性能更能吸引消費者,低價是這款CPU最大的賣點。

AMD K6

AMD 自然不甘心Pentium在CPU市場上呼風喚雨,因此它們在1997年又推出了K6。K6這款CPU的設計指標是相當高的,它擁有全新的MMX指令以及64KB L1 Cache(比奔騰MMX多了一倍),整體性能要優於奔騰MMX,接近同主頻PⅡ的水平。K6使用3.2V電壓,平時的工作溫度70℃左右,發熱量實在太大,難有超頻餘地,最大優點是高性能低價格。K6與K5相比,可以平行地處理更多的??方面做得非常成功,K6稍微落後的地方是在運行需要使用到MMX或浮點運算的應用程式方面,比起同樣頻率的Pentium 都要差許多。

K6擁有32KB數據L1 Cache,32KB指令L1 Cache,集成了880萬個電晶體,採用0.35微米技術,五層CMOS,C4工藝反裝晶片,核心面積168平方毫米(新產品為68平方毫米),使用Socket7架構。

K6系列CPU一共有五種頻率,分別是:166/200/233/266/300MHz,五種型號都採用了66外頻,但是後來推出的233/266/300MHz已經可以通過升級主機板的BIOS而支持100外頻,是CPU的性能得到了一個飛躍。在倍頻方面,K6系列是從2.5~4.5不等,核心電壓則是有2.9、3.2幾種,特別值得一提的是它們的一級Cache都提高到了64KB,比MMX足足多了一倍,這也是K6的整數性能為什麼要比MMX好的緣故了。

Cyrix 6x86/MX

Cyrix 也算是一家老資格的CPU開發商了,早在x86時代,它和英特爾,AMD就形成了三雄並立的局面。

自從Cyrix與美國國家半導體公司合併後,使它終於擁有了自己的晶片生產線,成品也日益完善和完備。Cyrix的6x86是投放到市場上與Pentium兼容的微處理器。Cyrix 6x86採用PR等級來標記CPU頻率,Cyrix的CPU在相同真實頻率下比奔騰級其它系列的CPU要快一個數量級,比如說PR-166以133MHz頻率工作,性能與Pentium 166相同。6x86的發熱量驚人,經常導致CPU過熱當機甚至燒毀。6x86L是6x86的改進型,它與6x86的設計基本相同,唯一的區別是前者使用了雙電壓,CPU核心電壓為2.9V,大大降低了CPU的發熱量。使用了75MHz外頻,這樣使得6x86L整數性能是同頻率CPU中最快的。浮點運算能力差是Cyrix的老毛病,6x86L PR166+的浮點性能僅相當於Pentium 90的水平。此外,6x86和6x86L還存在一些不兼容的問題,部分套用軟體在這兩種CPU上需要特殊的補丁才能正常運行。

Cyrix 6x86有這樣幾種頻率(括弧外為PR指數,括弧內為真實頻率/外部頻率):P120+(100MHz/50MHz),P133+(110/55MHz),150+(120/600MHz),166+(133/66MHz),200+(150/75MHz)。

Cyrix 6x86L有這樣幾種頻率:P166+(133/66),P200+(150/75MHz)。

到了MMX時代,Cyrix推出了他們的MX CPU,這一檔次的CPU全是採用雙電壓設計,頻率從166MHz~233MHz,在這個頻率段之間的CPU也稱為M1。Cyrix的MX CPU的整數性能在當時是非常好的,但是浮點性能比同檔次的Pentium要差。其MX的CPU發售的有60MHz、66MHz、75MHz的幾種外頻,60MHz的是測試版,66MHz和75MHz都是正式發行版,為什麼有兩種版本呢?這是因為當時Cyrix CPU其生產工藝還不過關,於是就把上不了75MHz的CPU標成同檔次的66MHz外頻的來賣。

IDT WinChip

美國IDT公司(Integrated Device Technology)作為新加入此領域的CPU生產廠商,在1997年推出的第一個微微處理器產品是WinChip(即C6),在整個CPU市場上所占的份額還不足1% 。1998年5月,IDT宣布了它的第二代產品WinChip 2 。WinChip 2有兩種版本,一種帶有3DNow!指令集,命名為WinChip 2-3D;另一種不帶3DNow!指令集,其命名為WinChip 2,沒有後綴3D。WinChip 2在原有WinChip的基礎上作了一些改進,增加了一個雙指令的MMX單元,增強了浮點運算功能。改進後的WinChip 2比相同頻率的WinChip性能提高約10%,基本達到Intel Pentium微處理器的性能。

1999年的第一季度裡面,IDT發布了新微處理器WinChip 2+NB,CPU內集成了主機板北橋晶片,將會加快晶片到記憶體的存取速度。但此種做法有幾個缺點:一是必須購買新主機板;二是增加了晶片的面積,只夠集成64KB全速快取到CPU中(性能與存取速度為3-1-1-1的256K二級快取相當)。WinChip 2+NB使用0.25微米工藝製造,晶片面積約58平方毫米。

CPUIntel PentiumⅡ

Intel PentiumⅡ

1997年~1998年是CPU市場競爭異常激烈的一年,這一時期的CPU晶片異彩紛呈,令人目不暇接。

PentiumⅡ的中文名稱叫“奔騰二代”,它有Klamath、Deschutes、Mendocino、Katmai等幾種不同核心結構的系列產品,其中第一代採用Klamath核心,0.35微米工藝製造,內部集成750萬個電晶體,核心工作電壓為2.8V。同時,PentiumⅡ微處理器採用了雙重獨立匯流排結構,即其中一條匯流排連通二級快取,另一條負責主要記憶體。PentiumⅡ使用了一種脫離晶片的外部高速L2 Cache,容量為512KB,並以CPU主頻的一半速度運行。作為一種補償,英特爾將PentiumⅡ的L1 Cache從16KB增至32KB。另外,為了打敗競爭對手,英特爾第一次在PentiumⅡ中採用了具有專利權保護的Slot 1接口標準和SECC(單邊接觸盒)封裝技術。

1998年4月16日,英特爾第一個支持100MHz額定外頻的、代號為Deschutes的350、400MHz CPU正式推出。採用新核心的PentiumⅡ微處理器不但外頻提升至100MHz,而且它們採用0.25微米工藝製造,其核心工作電壓也由2.8V降至2.0V,L1 Cache和L2 Cache分別是32KB、512KB。支持晶片組主要是Intel的440BX。

在1998年至1999年間,英特爾公司推出了比PentiumⅡ功能更強大的CPU--Xeon(至強微處理器)。該款微處理器採用的核心和PentiumⅡ差不多,0.25微米製造工藝,支持100MHz外頻。Xeon最大可配備2MB Cache,並運行在CPU核心頻率下,它和PentiumⅡ採用的晶片不同,被稱為CSRAM(Custom StaticRAM,定製靜態存儲器)。除此之外,它還有幾項特別的功能--具有高能奔騰的所有特性;支持八個CPU系統;使用36位記憶體地址和PSE模式(PSE36模式),最大800MB/s的記憶體頻寬。Xeon微處理器主要面向對性能要求更高的伺服器和工作站系統,另外,Xeon的接口形式也有所變化,採用了比Slot 1稍大一些的Slot 2架構(可支持四個微處理器)。

CPUCeleron
Intel Celeron(賽揚)

英特爾為進一步搶占低端市場,於1998年4月推出了一款廉價的CPU—Celeron(中文名叫賽揚)。最初推出的Celeron有266MHz、300MHz兩個版本,且都採用Covington核心,0.35微米工藝製造,內部集成1900萬個電晶體和32KB一級快取,工作電壓為2.0V,外頻66MHz。Celeron與PentiumⅡ相比,去掉了片上的L2 Cache,此舉雖然大大降低了成本,但也正因為沒有二級快取,該微處理器在性能上大打折扣,其整數性能甚至不如Pentium MMX。

為彌補缺乏二級快取的Celeron微處理器性能上的不足,進一步在低端市場上打擊競爭對手,英特爾在Celeron266、300推出後不久,又發布了採用Mendocino核心的新Celeron微處理器—Celeron300A、333、366。與舊Celeron不同的是,新Celeron採用0.25微米工藝製造,同時它採用Slot 1架構及SEPP封裝形式,內建32KB L1 Cache、128KB L2 Cache,且以CPU相同的核心頻率工作,從而大大提高了L2 Cache的工作效率。

新Celeron一個最大的優點是超頻性能非常出色,憑藉其強大的超頻能力和最優的性價比曾在低價PC市場風靡一時,成為眾多DIYer玩家手中的搶手貨。

英特爾集成128KB二級快取的新Celeron還有一個變形“兄弟”—採用Socket 370架構的Celeron微處理器。兩者唯一不同的就是接口部分,後者是採用Socket 370架構,PPGA封裝形式。

CPUAMD K6-2

AMD K6-2

AMD於1998年4月正式推出了K6-2微處理器。它採用0.25微米工藝製造,晶片面積減小到了68平方毫米,電晶體數目也增加到930萬個。另外,K6-2具有64KB L1 Cache(其中32KB用於存放指令,另32KB用於存放數據),二級快取集成在主機板上,容量從512KB到2MB之間,速度與系統匯流排頻率同步,工作電壓為2.2V,支持Socket 7架構。

實際上,K6-2也就是一個K6晶片加上支持100MHz匯流排頻率和支持3D Now!浮點指令的“結合物”。3D Now!技術是對x86體系的重大突破,它大大加強了處理3D圖形和多媒體所需要的密集浮點運算性能。此外,K6-2支持超標量MMX技術,支持100MHz匯流排頻率,這意味著系統與L2快取和記憶體的傳輸率提高近50%,從而大大提高了整個系統的表現。

Cyrix MⅡ

作為Cyrix公司獨自研發的最後一款微處理器,Cyrix MⅡ是於1998年3月開始生產的。除了具有6x86本身的特性外,該微處理器還支持MMX指令,其核心電壓為2.9V,具有256位元組指令;3.5X倍頻;核心內集成650萬個電晶體,功耗20.6瓦;64KB一級快取(二級快取位於在主機板上)。

IDT WinChip

美國IDT公司(Integrated Device Technology)作為新加入此領域的CPU生產廠商,在1997年推出的第一個微處理器產品是WinChip(即C6),在整個CPU市場上所占的份額還不足1% 。1998年5月,IDT宣布了它的第二代產品WinChip 2 。WinChip 2有兩種版本,一種帶有3DNow!指令集,命名為WinChip 2-3D;另一種不帶3DNow!指令集,其命名為WinChip 2,沒有後綴3D。WinChip 2在原有WinChip的基礎上作了一些改進,增加了一個雙指令的MMX單元,增強了浮點運算功能。改進後的WinChip 2比相同頻率的WinChip性能提高約10%,基本達到Intel Pentium微處理器的性能。WinChip 2目前的最高頻率CPU為WinChip 300MHz。

1999年的第一季度裡面,IDT發布了新微處理器WinChip 2+NB,CPU內集成了主機板北橋晶片,將會加快晶片到記憶體的存取速度。但此種做法有幾個缺點:一是必須購買新主機板;二是增加了晶片的面積,只夠集成64KB全速快取到CPU中(性能與存取速度為3-1-1-1的256K二級快取相當),畢竟,更大的一級快取肯定比小量L1 Cache加上大量L2 Cache要好。WinChip 2+NB使用0.25微米工藝製造,晶片面積約58平方毫米。

Rise MP6

Rise公司是一家成立於1993年11月的美國公司,主要生產x86兼容的CPU,在1998年推出了mP6 CPU。mp6不僅價格便宜,而且性能優異,有著很好的多媒體性能和強大的浮點運算。mp6使用Socket 7/Super 7兼容插座,只有16KB的一級快取。

CPUIntel PentiumⅢ
Intel PentiumⅢ

1999年春節剛過,英特爾公司就發布了採用Katmai核心的新一代微處理器—PentiumⅢ,以取代在高端市場上不堪重負的PentiumⅡ。該微處理器除採用0.25微米工藝製造,內部集成950萬個電晶體,Slot 1架構之外,它還具有以下新特點:系統匯流排頻率為100MHz;採用第六代CPU核心—P6微架構,針對32位應用程式進行最佳化,雙重獨立匯流排;一級快取為32KB(16KB指令快取加16KB數據快取),二級快取大小為512KB,以CPU核心速度的一半運行;採用SECC2封裝形式;新增加了能夠增強音頻、視頻和3D圖形效果的SSE(Streaming SIMD Extensions,數據流單指令多數據擴展)指令集,共70條新指令(以前叫KNI)。Pentium Ⅲ的起始主頻速度為450MHz。

隨著AMD的K7微處理器異軍突起,英特爾不得不調整其高端市場戰略,並於去年10月25日正式發布號為Coppermine(銅礦)的新一代PentiumⅢ微處理器,將系統前端匯流排提升至133MHz。Coppermine採用全新的核心設計,內置與256KB與CPU主頻同步運行的二級快取,採用0.18微米工藝製造,核心集成了2810萬個電晶體。在接口形式上,基於Coppermine核心的PentiumⅢ有兩種類型:一種是採用Slot 1架構、SECC2封裝;一種是採用Socket 370架構和全新的FC-PGA封裝。

由於製造工藝的改進,CPU的晶片面積更小,功耗也大為降低,非常適合筆記本電腦使用。另外,Coppermine採用了更先進的快取轉換架構,因此在數據傳輸的頻寬、系統回響周期等方面都要好於Katmai,即整體性能比同頻的Katmai有明顯的提高。

和PentiumⅡ Xeon一樣,英特爾同樣也推出了面向伺服器和工作站系統的高性能CPU—PentiumⅢ Xeon至強微處理器。除前期的PentiumⅡ Xeon500、550採用0.25微米技術外,該款微處理器是採用0.18微米工藝製造,Slot 2架構和SECC封裝形式,內置32KB一級快取和512KB二級快取,工作電壓為1.6V。

Intel CeleronⅡ

為進一步鞏固低端市場優勢,英特爾於2000年3月29日又推出了採用Coppermine核心CeleronⅡ。該款微處理器同樣採用0.18微米工藝製造,核心集成1900萬個電晶體,採用FC-PGA封裝形式,它和賽揚Mendocino一樣內建128KB和CPU同步運行的L2 Cache,故其核心也稱為Coppermine 128。CeleronⅡ不支持多微處理器系統。但是,CeleronⅡ的外頻仍然只有66MHz,這在很大程度上限制了其性能的發揮。

CPUAMD K6-Ⅲ

AMD K6-Ⅲ

AMD於1999年2月推出了代號為“Sharptooth”(利齒)的K6-Ⅲ,它是該公司最後一款支持Super 7架構和CPGA封裝形式的CPU,採用0.25微米製造工藝、核心面積是135平方毫米,集成了2130萬個電晶體,工作電壓為2.2V/2.4V。

相對於K6-2而言,K6-Ⅲ最大的變化就是內部集成了256KB二級快取(新賽揚只有128KB),並以CPU的主頻速度運行。K6-Ⅲ的這一變化將能夠更大限度發揮高主(32KB用於指令,另32KB用於數據),而且在主機板上還集成了以系統匯流排頻率同步運行的三級快取,其容量大小從512KB到2MB之間。

AMD Athlon

CPUAMD Athlon
1999年6月23日,AMD公司推出了具有重大戰略意義的K7微處理器,並將其正式命名為Athlon(速龍)。K7有兩種規格的產品:第一種採用0.25微米工藝製造,使用K7核心,工作電壓為1.6V(其快取以主頻速度的一半運行);第二種採用0.18微米工藝製造,使用K75核心,其最高主頻達到1.0GHz(其快取以主頻速度的1/3或2/5運行);工作電壓有1.7V和1.8V兩種。上述兩種類型的K7微處理器內部都集成了2130萬個電晶體,外頻均為200MHz。

Athlon包含128KB的L1 Cache(是K6-2的兩倍、PⅡ/PⅢ的32KB的四倍);512KB~1MB L2 Cache的片外快取。同時,它還採用了全新的宏處理結構,擁有三個並行的x86指令解碼器,可以動態推測時序,亂序執行;K7擁有一個強勁的浮點處理單元(FPU),在3DNOW!指令的幫助下會有更進一步的3D和多媒體處理能力,這個先進的FPU使K7擁有超越其他x86微處理器2倍的性能!另外,K7採用了一種類似於Slot 1的全新的Slot A架構,從物理結構上兩者可以互換,但後者的電器性能和前者完全不兼容。在匯流排方面,使
用的是Digital公司的Alpha系統匯流排協定EV6,外頻達200MHz;Athlon是AMD第一個具有SMP(對稱多微處理器技術)能力的桌面CPU,即使用者可以用Athlon構建雙微處理器甚至4微處理器系統!

AMD Thunderbird和Duron

AMD公司在2000年6月份連續推出了新款的Thunderbird(雷鳥)、Duron(毒龍)微處理器,再次向英特爾Coppermine(銅礦)核心的微處理器發出了強有力的挑戰。

Thunderbird是AMD面向高端的Athlon系列延續產品,採用0.18微米的製造工藝,共有Slot A和Socket A兩種不同的架構,但它們在設計上大致相同:均內置128KB的一級快取和256KB的二級快取,其二級快取與CPU主頻速度同步運行;工作電壓為1.70V~1.75V,相應的功耗也比老的Athlon要小;集成3700萬個電晶體,核心面積達到120平方毫米。另外,Thunderbird微處理器支持200MHz系統匯流排頻率,提供巨大的頻寬,且支持Alpha EV6匯流排協定,具有多重並行x86指令解碼器。

Duron微處理器是AMD首款基於Athlon核心改進的低端微處理器,它原來的研發代號稱為“Spitfire(烈火)”。Duron外頻也是200MHz,內置128KB的一級快取和64KB的全速二級快取,它的工作電壓為1.5V,因而功耗要較Thunderbird小。而且它核心面積是100平方毫米,內部集成的電晶體數量為2500萬個,比K7核心的Athlon多300萬個。這些特點符合了AMD面對低端市場的策略,即低成本低功耗而又高性能。在浮點性能上,基於K7體系的Duron明顯優於採用P6核心設計的Intel系列微處理器,它具有三個全流水亂序執行單元,一個用於加/減運算,一個用於複合指令還有一個是浮點存儲單元。

VIA CyrixⅢ

VIA公司在收購Cyrix之後,同期正式推出了代號為Joshua(約書亞)的第一款微處理器,它採用0.18微米工藝製造,Socket 370架構,支持133MHz外頻,並擁有256KB L2Cache及3D NOW!指令集。
另外,VIA後來還推出了採用新一代Samuel(塞繆爾)核心的CyrixⅢ微處理器,它加入新一代的3D Now!多媒體指令集,提供133MHz系統外頻,128K一級高速快取,採用0.18微米製造工藝生產,晶片面積僅76平方毫米。它還採用了動態電源快取結構(Dynamic Power Caching Architecture,dpca)技術,使新CyrixⅢ微處理器的耗電量已不到10瓦,因此新CyrixⅢ微處理器也可適用在筆記型電腦或其它IA產品上。

CPU的內部構造

電腦中所有操作都由cpu負責讀取指令,對指令解碼並執行指令的核心部件。cpu的結構:中央處理器cpu包括運算邏輯部件、暫存器部件和控制部件。中央處理器從存儲器或高速緩衝存儲器中取出指令,放入指令暫存器,並對指令解碼。它把指令分解成一系列的微操作,然後發出各種控制命令,執行微操作系列,從而完成一條指令的執行。
指令是計算機規定執行操作的類型和運算元的基本命令。指令是由一個位元組或者多個位元組組成,其中包括操作碼欄位、一個或多個有關運算元地址的欄位以及一些表征機器狀態的狀態字和特徵碼。有的指令中也直接包含運算元本身。
①運算邏輯部件。可以執行定點或浮點的算術運算操作、移位操作以及邏輯操作,也可執行地址的運算和轉換。
②暫存器部件。包括通用暫存器、專用暫存器和控制暫存器。通用暫存器又可分定點數和浮點數兩類,它們用來保存指令中的暫存器運算元和操作結果。通用暫存器是中央處理器的重要組成部分 ,大多 數 指令都要訪問到通用暫存器。通用暫存器的寬度決定計算機內部的數據通路寬度,其連線埠數目往往可影響內部操作的並行性。
專用暫存器是為了執行一些特殊操作所需用的暫存器。控制暫存器通常用來指示機器執行的狀態,或者保持某些指針,有處理狀態暫存器、地址轉換目錄的基地址暫存器、特權狀態暫存器、條件碼暫存器、處理異常事故暫存器以及檢錯暫存器等。有的時候,中央處理器cpu中還有一些快取,用來暫時存放一些數據指令,快取越大,說明中央處理器cpu的運算速度越快,目前市場上的中高端中央處理器cpu都有2M左右的二級快取。
③控制部件。主要負責對指令解碼,並且發出為完成每條指令所要執行的各個操作的控制信號。其結構有兩種:一種是以微存儲為核心的微程式控制方式;一種是以邏輯硬布線結構為主的控制方式。
微存儲中保持微碼,每一個微碼對應於一個最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構成微程式。中央處理器在對指令解碼以後,即發出一定時序的控制信號,按給定序列的順序以微周期為節拍執行由這些微碼確定的若干個微操作,即可完成某條指令的執行。簡單指令是由(3~5)個微操作組成,
複雜指令則要由幾十個微操作甚至幾百個微操作組成。邏輯硬布線控制器 則完全是由隨 機邏輯組成 。 指令解碼後,控制器通過不同的邏輯門的組合,發出不同序列的控制時序信號,直接去執行一條指令中的各個操作。套用 大型、小型和微型計算機的中央處理器的規模和實現方式很不相同,工作速度也變化較大。
中央處理器可以由幾塊電路塊甚至由整個機架組成。如果中央處理器的電路集成在一片或少數幾片大規模積體電路晶片上,則稱為微處理器(見微型機)。中央處理器的工作速度與工作主頻和體系結構都有關係。中央處理器的速度一般都在幾個MIPS(每秒執行100萬條指令)以上。有的已經達到幾百 MIPS 。速度最快的中央處理器的電路已採用砷化鎵工藝。
在提高速度方面,流水線結構是幾乎所有現代中央處理器設計中都已採用的重要措施。未來,中央處理器工作頻率的提高已逐漸受到物理上的限制,而內部執行性(指利用中央處理器內部的硬體資源)的進一步改進是提高中央處理器工作速度而維持軟體兼容的一個重要方向。

CPU的核心

從結構上講CPU核心分為兩部分:運算器和控制器。

(一) 運算器

1、 算術邏輯運算單元ALU(Arithmetic and Logic Unit)

ALU主要完成對二進制數據的定點算術運算(加減乘除)、邏輯運算(與或非異或)以及移位操作。在某些CPU中還有專門用於處理移位操作的移位器。

通常ALU由兩個輸入端和一個輸出端。整數單元有時也稱為IEU(Integer Execution Unit)。我們通常所說的“CPU是XX位的”就是指ALU所能處理的數據的位數。

2、 浮點運算單元FPU(Floating Point Unit)

FPU主要負責浮點運算和高精度整數運算。有些FPU還具有向量運算的功能,另外一些則有專門的向量處理單元。

3、 通用暫存器

通用暫存器組是一組最快的存儲器,用來保存參加運算的運算元和中間結果。

對於x86指令集只支持8個通用暫存器的缺點,Intel最新CPU採用了一種叫做“暫存器重命名”的技術,這種技術使x86CPU的暫存器可以突破8個的限制,達到32個甚至更多。

4、 專用暫存器

專用暫存器通常是一些狀態暫存器,不能通過程式改變,由CPU自己控制,表明某種狀態。
(二)控制器

運算器只能完成運算,而控制器用於控制著整個CPU的工作。

1、 指令控制器

指令控制器是控制器中相當重要的部分,它要完成取指令、分析指令等操作,然後交給執行單元(ALU或FPU)來執行,同時還要形成下一條指令的地址。

2、時序控制器

時序控制器的作用是為每條指令按時間順序提供控制信號。時序控制器包括時鐘發生器和倍頻定義單元,其中時鐘發生器由石英晶體振盪器發出非常穩定的脈衝信號,就是CPU的主頻;而倍頻定義單元則定義了CPU主頻是存儲器頻率(匯流排頻率)的幾倍。

3、 匯流排控制器

匯流排控制器主要用於控制CPU的內外部匯流排,包括地址匯流排、數據匯流排、控制匯流排等等。

4、中斷控制器

中斷控制器用於控制各種各樣的中斷請求,並根據優先權的高低對中斷請求進行排隊,逐個交給CPU處理。

CPU的外核

1、解碼器(Decode Unit)

這是x86CPU特有的設備,它的作用是把長度不定的x86指令轉換為長度固定的指令,並交由核心處理。解碼分為硬體解碼和微解碼,對於簡單的x86指令只要硬體解碼即可,速度較快,而遇到複雜的x86指令則需要進行微解碼,並把它分成若干條簡單指令,速度較慢且很複雜。好在這些複雜指令很少會用到。

2、一級快取二級快取(Cache)
一級快取和二級快取是為了緩解較快的CPU與較慢的存儲器之間的矛盾而產生的,以及快取通常集成在CPU核心,而二級快取則是以OnDie或OnBoard的方式以較快於存儲器的速度運行。對於一些大數據交換量的工作,CPU的Cache顯得尤為重要。

指令系統

要講CPU,還要了解一下指令系統。指令系統指的是一個CPU所能夠處理的全部指令的集合,是一個CPU的根本屬性,因為指令系統決定了一個CPU能夠運行什麼樣的程式。我們常說的CPU都是X86系列及兼容CPU ,所謂X86指令集是美國Intel公司為其第一塊16位CPU(i8086)專門開發的,雖然隨著CPU技術的不斷發展,Intel陸續研製出更新型的i80386、i80486直到今天的Pentium4系列,但為了保證電腦能繼續運行以往開發的各類應用程式以保護和繼承豐富的軟體資源(如Windows系列),Intel公司所生產的所有CPU仍然繼續使用X86指令集。 另外除Intel 公司之外,AMD和Cyrix等廠家也相繼生產出能使用X86指令集的CPU,由於這些CPU能運行所有的為Intel CPU所開發的各種軟體,所以電腦業內人士就將這些CPU列為Intel的CPU兼容產品。

CPU主要技術淺析

1、流水線技術
流水線(pipeline)是 InteI首次在486晶片中開始使用的。流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5~6個不同功能的電路單元組成一條指令處理流水線,然後將一條X86指令分成5~6步後再由這些電路單元分別執行,這樣就能實現在一個CPU時鐘周期完成一條指令,從而提高了CPU的運算速度。
2、超流水線和超標量技術
超流水線是指某些CPU內部的流水線超過通常的5~6步以上,例如Intel Pentium 4的流水線就長達20步。將流水線設計的步(級)數越多,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。超標量(supe rscalar)是指在 CPU中有一條以上的流水線,並且每時鐘周期內可以完成一條以上的指令,這種設計就叫超標量技術。
3、亂序執行技術
亂序執行(out-of-orderexecution)是指CPU採用了允許將多條指令不按程式規定的順序分開發送給各相應電路單元處理的技術。比方說程式某一段有7條指令,此時CPU將根據各單元電路的空鬧狀態和各指令能否提前執行的具體情況分析後,將能提前執行的指令立即傳送給相應電路執行。當然在各單元不按規定順序執行完指令後還必須由相應電路再將運算結果重新按原來程式指定的指令順序排列後才能返回程式。這種將各條指令不按順序拆散後執行的運行方式就叫亂序執行(也有叫錯序執行)技術。採用亂序執行技術的目的是為了使CPU內部電路滿負荷運轉並相應提高了CP U的運行程式的速度。
4、分技預溯和推測執行技術
 分枝預測(branch prediction)和推測執行(speculatlon execution) 是CPU動態執行技術中的主要內容,動態執行是目前CPU主要採用的先進技術之一。採用分枝預測和動態執行的主要目的是為了提高CPU的運算速度。推測執行是依託於分枝預測基礎上的,在分枝預測程式是否分枝後所進行的處理也就是推測執行。

5、指令特殊擴展技術
自最簡單的計算機開始,指令序列便能取得運算對象,並對它們執行計算。對大多數計算機而言,這些指令同時只能執行一次計算。如需完成一些並行操作,就要連續執行多次計算。此類計算機採用的是“單指令單數據”(sisd)處理器。在介紹CPU性能中還經常提到“擴展指令”或“特殊擴展”一說,這都是指該CPU是否具有對X86指令集進行指令擴展而言。擴展指令中最早出現的是InteI公司的“MMX”,然後是Pentium III中的“SSE”,以及現在Pentium 4中的SSE2指令集

CPU的構架和封裝方式

(一) CPU的構架

CPU架構是按CPU的安裝插座類型和規格確定的。目前常用的CPU按其安裝插座規範可分為Socket x和Slot x兩大架構。

以Intel處理器為例,Socket 架構的CPU中分為Socket 370、Socket 423和Socket 478三種,分別對應Intel PIII/Celeron處理器、P4 Socket 423處理器和P4 Socket 478處理器。Slot X架構的CPU中可分為Slot 1、Slot 2兩種,分別使用對應規格的Slot槽進行安裝。其中Slot 1是早期Intel PII、PIII和Celeron處理器採取的構架方式,Slot 2是尺寸較大的插槽,專門用於安裝PⅡ和P Ⅲ序列中的Xeon。Xeon是一種專用於工作組伺服器上的CPU。

(二) CPU的封裝方式
所謂封裝是指安裝半導體積體電路晶片用的外殼,通過晶片上的接點用導線連線到封裝外殼的引腳上,這些引腳又通過印刷電路板上的插槽與其他器件相連線。它起著安裝、固定、密封、保護晶片及增強電熱性能等方面的作用。

CPU的封裝方式取決於CPU安裝形式,通常採用Socket插座安裝的CPU使用PGA(柵格陣列)的形式進行封裝,而採用Slot X槽安裝的CPU則全部採用SEC(單邊接插盒)的形式進行封裝。

1. PGA(Pin Grid Arrax)引腳格線陣列封裝
目前CPU的封裝方式基本上是採用PGA封裝,在晶片下方圍著多層方陣形的插針,每個方陣形插針是沿晶片的四周,間隔一定距離進行排列的。它的引腳看上去呈針狀,是用外掛程式的方式和電路板相結合。安裝時,將晶片插入專門的PGA插座。PGA封裝具有插拔操作更方便,可靠性高的優點,缺點是耗電量較大。PGA也衍生出多種封裝方式,最早的PGA封裝適用於Intel Pentium、Intel Pentium PRO和Cxrix/IBM 6x86處理器; CPGA(Ceramic Pin Grid Arrax,陶瓷針形柵格陣列)封裝,適用於Intel Pentium MMX、AMD K6、AMD K6-2、AMD K6 Ⅲ、VIA Cxrix Ⅲ處理器;PPGA(Plastic Pin Grid Arrax,塑膠針狀矩陣)封裝,適用於Intel Celeron處理器(Socket 370);FC-PGA(Flip Chip Pin Grid Arrax,反轉晶片針腳柵格陣列)封裝,適用於Coppermine系列Pentium Ⅲ、Celeron Ⅱ和Pentium4處理器。

2. SEC(單邊接插卡盒)封裝
Slot X架構的CPU不再用陶瓷封裝,而是採用了一塊帶金屬外殼的印刷電路板,該印刷電路板集成了處理器部件。SEC卡的塑膠封裝外殼稱為SEC(Single Edgecontact Cartridge)單邊接插卡盒。這種SEC卡設計是插到Slot X(尺寸大約相當於一個ISA插槽那么大)插槽中。所有的Slot X主機板都有一個由兩個塑膠支架組成的固定機構,一個SEC卡可以從兩個塑膠支架之間插入Slot X槽中。

其中,Intel Celeron處理器(Slot 1)是採用(SEPP)單邊處理器封裝;Intel的PentiumⅡ是採用SECC(Single Edge Contact Connector,單邊接觸連線)的封裝;Intel的PentiumⅢ是採用SECC2封裝。

主要參數

1.主頻

主頻也叫時鐘頻率,單位是MHz,用來表示CPU的運算速度。CPU的主頻=外頻×倍頻係數。很多人認為主頻就決定著CPU的運行速度,這不僅是個片面的,而且對於伺服器來講,這個認識也出現了偏差。至今,沒有一條確定的公式能夠實現主頻和實際的運算速度兩者之間的數值關係,即使是兩大處理器廠家Intel和AMD,在這點上也存在著很大的爭議,我們從Intel的產品的發展趨勢,可以看出Intel很注重加強自身主頻的發展。像其他的處理器廠家,有人曾經拿過一快1G的全美達來做比較,它的運行效率相當於2G的Intel處理器。

所以,CPU的主頻與CPU實際的運算能力是沒有直接關係的,主頻表示在CPU內數字脈衝信號震盪的速度。在Intel的處理器產品中,我們也可以看到這樣的例子:1 GHz Itanium晶片能夠表現得差不多跟2.66 GHz Xeon/Opteron一樣快,或是1.5 GHz Itanium 2大約跟4 GHz Xeon/Opteron一樣快。CPU的運算速度還要看CPU的流水線的各方面的性能指標。

當然,主頻和實際的運算速度是有關的,只能說主頻僅僅是cpu性能表現的一個方面,而不代表CPU的整體性能。

2.外頻

外頻是CPU的基準頻率,單位也是MHz。CPU的外頻決定著整塊主機板的運行速度。說白了,在台式機中,我們所說的超頻,都是超CPU的外頻(當然一般情況下,CPU的倍頻都是被鎖住的)相信這點是很好理解的。但對於伺服器CPU來講,超頻是絕對不允許的。前面說到CPU決定著主機板的運行速度,兩者是同步運行的,如果把伺服器CPU超頻了,改變了外頻,會產生異步運行,(台式機很多主機板都支持異步運行)這樣會造成整個伺服器系統的不穩定。

目前的絕大部分電腦系統中外頻也是記憶體與主機板之間的同步運行的速度,在這種方式下,可以理解為CPU的外頻直接與記憶體相連通,實現兩者間的同步運行狀態。外頻與前端匯流排(FSB)頻率很容易被混為一談,下面的前端匯流排介紹我們談談兩者的區別。

3.前端匯流排(FSB)頻率

前端匯流排(FSB)頻率(即匯流排頻率)是直接影響CPU與記憶體直接數據交換速度。有一條公式可以計算,即數據頻寬=(匯流排頻率×數據頻寬)/8,數據傳輸最大頻寬取決於所有同時傳輸的數據的寬度和傳輸頻率。比方,現在的支持64位的至強Nocona,前端匯流排是800MHz,按照公式,它的數據傳輸最大頻寬是6.4GB/秒。

外頻與前端匯流排(FSB)頻率的區別:前端匯流排的速度指的是數據傳輸的速度,外頻是CPU與主機板之間同步運行的速度。也就是說,100MHz外頻特指數字脈衝信號在每秒鐘震盪一千萬次;而100MHz前端匯流排指的是每秒鐘CPU可接受的數據傳輸量是100MHz×64bit÷8Byte/bit=800MB/s。

其實現在“HyperTransport”構架的出現,讓這種實際意義上的前端匯流排(FSB)頻率發生了變化。之前我們知道IA-32架構必須有三大重要的構件:記憶體控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的晶片組 Intel 7501、Intel7505晶片組,為雙至強處理器量身定做的,它們所包含的MCH為CPU提供了頻率為533MHz的前端匯流排,配合DDR記憶體,前端匯流排頻寬可達到4.3GB/秒。但隨著處理器性能不斷提高同時給系統架構帶來了很多問題。而“HyperTransport”構架不但解決了問題,而且更有效地提高了匯流排頻寬,比方AMD Opteron處理器,靈活的HyperTransport I/O匯流排體系結構讓它整合了記憶體控制器,使處理器不通過系統匯流排傳給晶片組而直接和記憶體交換數據。這樣的話,前端匯流排(FSB)頻率在AMD Opteron處理器就不知道從何談起了。

4、CPU的位和字長

位:在數字電路和電腦技術中採用二進制,代碼只有“0”和“1”,其中無論是 “0”或是“1”在CPU中都是 一“位”。

字長:電腦技術中對CPU在單位時間內(同一時間)能一次處理的二進制數的位數叫字長。所以能處理字長為8位數據的CPU通常就叫8位的CPU。同理32位的CPU就能在單位時間內處理字長為32位的二進制數據。位元組和字長的區別:由於常用的英文字元用8位二進制就可以表示,所以通常就將8位稱為一個位元組。字長的長度是不固定的,對於不同的CPU、字長的長度也不一樣。8位的CPU一次只能處理一個位元組,而32位的CPU一次就能處理4個位元組,同理字長為64位的CPU一次可以處理8個位元組。

5.倍頻係數

倍頻係數是指CPU主頻與外頻之間的相對比例關係。在相同的外頻下,倍頻越高CPU的頻率也越高。但實際上,在相同外頻的前提下,高倍頻的CPU本身意義並不大。這是因為CPU與系統之間數據傳輸速度是有限的,一味追求高倍頻而得到高主頻的CPU就會出現明顯的“瓶頸”效應—CPU從系統中得到數據的極限速度不能夠滿足CPU運算的速度。一般除了工程樣版的Intel的CPU都是鎖了倍頻的,而AMD之前都沒有鎖。

6.快取

快取大小也是CPU的重要指標之一,而且快取的結構和大小對CPU速度的影響非常大,CPU內快取的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統記憶體和硬碟。實際工作時,CPU往往需要重複讀取同樣的數據塊,而快取容量的增大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到記憶體或者硬碟上尋找,以此提高系統性能。但是由於CPU晶片面積和成本的因素來考慮,快取都很小。

L1 Cache(一級快取)是CPU第一層高速快取,分為數據快取和指令快取。內置的L1高速快取的容量和結構對CPU的性能影響較大,不過高速緩衝存儲器均由靜態RAM組成,結構較複雜,在CPU管芯面積不能太大的情況下,L1級高速快取的容量不可能做得太大。一般伺服器CPU的L1快取的容量通常在32—256KB。

L2 Cache(二級快取)是CPU的第二層高速快取,分內部和外部兩種晶片。內部的晶片二級快取運行速度與主頻相同,而外部的二級快取則只有主頻的一半。L2高速快取容量也會影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是512KB,而伺服器和工作站上用CPU的L2高速快取更高達256-1MB,有的高達2MB或者3MB。

L3 Cache(三級快取),分為兩種,早期的是外置,現在的都是內置的。而它的實際作用即是,L3快取的套用可以進一步降低記憶體延遲,同時提升大數據量計算時處理器的性能。降低記憶體延遲和提升大數據量計算能力對遊戲都很有幫助。而在伺服器領域增加L3快取在性能方面仍然有顯著的提升。比方具有較大L3快取的配置利用物理記憶體會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3快取的處理器提供更有效的檔案系統快取行為及較短訊息和處理器佇列長度。

其實最早的L3快取被套用在AMD發布的K6-III處理器上,當時的L3快取受限於製造工藝,並沒有被集成進晶片內部,而是集成在主機板上。在只能夠和系統匯流排頻率同步的L3快取同主記憶體其實差不了多少。後來使用L3快取的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3快取的Itanium2處理器,和以後24MB L3快取的雙核心Itanium2處理器。

但基本上L3快取對處理器的性能提高顯得不是很重要,比方配備1MB L3快取的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比快取增加帶來更有效的性能提升。

7.CPU擴展指令集

CPU依靠指令來計算和控制系統,每款CPU在設計時就規定了一系列與其硬體電路相配合的指令系統。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為複雜指令集和精簡指令集兩部分,而從具體運用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的擴展指令集,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力。我們通常會把CPU的擴展指令集稱為"CPU的指令集"。SSE3指令集也是目前規模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。目前SSE3也是最先進的指令集,英特爾Prescott處理器已經支持SSE3指令集,AMD會在未來雙核心處理器當中加入對SSE3指令集的支持,全美達的處理器也將支持這一指令集。

8.CPU核心和I/O工作電壓

從586CPU開始,CPU的工作電壓分為核心電壓和I/O電壓兩種,通常CPU的核心電壓小於等於I/O電壓。其中核心電壓的大小是根據CPU的生產工藝而定,一般製作工藝越小,核心工作電壓越低;I/O電壓一般都在1.6~5V。低電壓能解決耗電過大和發熱過高的問題。

9.製造工藝

製造工藝的微米是指IC內電路與電路之間的距離。製造工藝的趨勢是向密集度愈高的方向發展。密度愈高的IC電路設計,意味著在同樣大小面積的IC中,可以擁有密度更高、功能更複雜的電路設計。現在主要的180nm、130nm、90nm。最近官方已經表示有65nm的製造工藝了。

10.指令集

(1)CISC指令集

CISC指令集,也稱為複雜指令集,英文名是CISC,(Complex Instruction Set Computer的縮寫)。在CISC微處理器中,程式的各條指令是按順序串列執行的,每條指令中的各個操作也是按順序串列執行的。順序執行的優點是控制簡單,但計算機各部分的利用率不高,執行速度慢。其實它是英特爾生產的x86系列(也就是IA-32架構)CPU及其兼容CPU,如AMD、VIA的。即使是現在新起的X86-64(也被成AMD64)都是屬於CISC的範疇。

要知道什麼是指令集還要從當今的X86架構的CPU說起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發的,IBM1981年推出的世界第一台PC機中的CPU—i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點數據處理能力而增加了X87晶片,以後就將X86指令集和X87指令集統稱為X86指令集。

雖然隨著CPU技術的不斷發展,Intel陸續研製出更新型的i80386、i80486直到過去的PII至強、PIII至強、Pentium 3,最後到今天的Pentium 4系列、至強(不包括至強Nocona),但為了保證電腦能繼續運行以往開發的各類應用程式以保護和繼承豐富的軟體資源,所以Intel公司所生產的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬於X86系列。由於Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。x86CPU目前主要有intel的伺服器CPU和AMD的伺服器CPU兩類。

(2)RISC指令集

RISC是英文“Reduced Instruction Set Computing ” 的縮寫,中文意思是“精簡指令集”。它是在CISC指令系統基礎上發展起來的,有人對CISC機進行測試表明,各種指令的使用頻度相當懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數的20%,但在程式中出現的頻度卻占80%。複雜的指令系統必然增加微處理器的複雜性,使處理器的研製時間長,成本高。並且複雜指令需要複雜的操作,必然會降低計算機的速度。基於上述原因,20世紀80年代RISC型CPU誕生了,相對於CISC型CPU ,RISC型CPU不僅精簡了指令系統,還採用了一種叫做“超標量和超流水線結構”,大大增加了並行處理能力。RISC指令集是高性能CPU的發展方向。它與傳統的CISC(複雜指令集)相對。相比而言,RISC的指令格式統一,種類比較少,定址方式也比複雜指令集少。當然處理速度就提高很多了。目前在中高檔伺服器中普遍採用這一指令系統的CPU,特別是高檔伺服器全都採用RISC指令系統的CPU。RISC指令系統更加適合高檔伺服器的作業系統UNIX,現在Linux也屬於類似UNIX的作業系統。RISC型CPU與Intel和AMD的CPU在軟體和硬體上都不兼容。

目前,在中高檔伺服器中採用RISC指令的CPU主要有以下幾類:PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器

(3)IA-64

EPIC(Explicitly Parallel Instruction Computers,精確並行指令計算機)是否是RISC和CISC體系的繼承者的爭論已經有很多,單以EPIC體系來說,它更像Intel的處理器邁向RISC體系的重要步驟。從理論上說,EPIC體系設計的CPU,在相同的主機配置下,處理Windows的套用軟體比基於Unix下的套用軟體要好得多。  

Intel採用EPIC技術的伺服器CPU是安騰Itanium(開發代號即Merced)。它是64位處理器,也是IA-64系列中的第一款。微軟也已開發了代號為Win64的作業系統,在軟體上加以支持。在Intel採用了X86指令集之後,它又轉而尋求更先進的64-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構,從而引入精力充沛而又功能強大的指令集,於是採用EPIC指令集的IA-64架構便誕生了。IA-64 在很多方面來說,都比x86有了長足的進步。突破了傳統IA32架構的許多限制,在數據的處理能力,系統的穩定性、安全性、可用性、可觀理性等方面獲得了突破性的提高

IA-64微處理器最大的缺陷是它們缺乏與x86的兼容,而Intel為了IA-64處理器能夠更好地運行兩個朝代的軟體,它在IA-64處理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解碼器,這樣就能夠把x86指令翻譯為IA-64指令。這個解碼器並不是最有效率的解碼器,也不是運行x86代碼的最好途徑(最好的途徑是直接在x86處理器上運行x86代碼),因此Itanium 和Itanium2在運行x86應用程式時候的性能非常糟糕。這也成為X86-64產生的根本原因。

(4)X86-64 (AMD64 / EM64T)

AMD公司設計,可以在同一時間內處理64位的整數運算,併兼容於X86-32架構。其中支持64位邏輯定址,同時提供轉換為32位定址選項;但數據操作指令默認為32位和8位,提供轉換成64位和16位的選項;支持常規用途暫存器,如果是32位運算操作,就要將結果擴展成完整的64位。這樣,指令中有“直接執行”和“轉換執行”的區別,其指令欄位是8位或32位,可以避免欄位過長。

CPUAMD64
x86-64(也叫AMD64)的產生也並非空穴來風,x86處理器的32bit定址空間限制在4GB記憶體,而IA-64的處理器又不能兼容x86。AMD充分考慮顧客的需求,加強x86指令集的功能,使這套指令集可同時支持64位的運算模式,因此AMD把它們的結構稱之為x86-64。在技術上AMD在x86-64架構中為了進行64位運算,AMD為其引入了新增了R8-R15通用暫存器作為原有X86處理器暫存器的擴充,但在而在32位環境下並不完全使用到這些暫存器。原來的暫存器諸如EAX、EBX也由32位擴張至64位。在SSE單元中新加入了8個新暫存器以提供對SSE2的支持。暫存器數量的增加將帶來性能的提升。與此同時,為了同時支持32和64位代碼及暫存器,x86-64架構允許處理器工作在以下兩種模式:Long Mode(長模式)和Legacy Mode(遺傳模式),Long模式又分為兩種子模式(64bit模式和Compatibility mode兼容模式)。該標準已經被引進在AMD伺服器處理器中的Opteron處理器。

而今年也推出了支持64位的EM64T技術,再還沒被正式命為EM64T之前是IA32E,這是英特爾64位擴展技術的名字,用來區別X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技術類似,採用64位的線性平面定址,加入8個新的通用暫存器(GPRs),還增加8個暫存器支持SSE指令。與AMD相類似,Intel的64位技術將兼容IA32和IA32E,只有在運行64位作業系統下的時候,才將會採用IA32E。IA32E將由2個sub-mode組成:64位sub-mode和32位sub-mode,同AMD64一樣是向下兼容的。Intel的EM64T將完全兼容AMD的X86-64技術。現在Nocona處理器已經加入了一些64位技術,Intel的Pentium 4E處理器也支持64位技術。

應該說,這兩者都是兼容x86指令集的64位微處理器架構,但EM64T與AMD64還是有一些不一樣的地方,AMD64處理器中的NX位在Intel的處理器中將沒有提供。

11.超流水線與超標量

在解釋超流水線與超標量前,先了解流水線(pipeline)。流水線是Intel首次在486晶片中開始使用的。流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5—6個不同功能的電路單元組成一條指令處理流水線,然後將一條X86指令分成5—6步後再由這些電路單元分別執行,這樣就能實現在一個CPU時鐘周期完成一條指令,因此提高CPU的運算速度。經典奔騰每條整數流水線都分為四級流水,即指令預取、解碼、執行、寫回結果,浮點流水又分為八級流水。

超標量是通過內置多條流水線來同時執行多個處理器,其實質是以空間換取時間。而超流水線是通過細化流水、提高主頻,使得在一個機器周期內完成一個甚至多個操作,其實質是以時間換取空間。例如Pentium 4的流水線就長達20級。將流水線設計的步(級)越長,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。但是流水線過長也帶來了一定副作用,很可能會出現主頻較高的CPU實際運算速度較低的現象,Intel的奔騰4就出現了這種情況,雖然它的主頻可以高達1.4G以上,但其運算性能卻遠遠比不上AMD 1.2G的速龍甚至奔騰III。

12.封裝形式

CPU封裝是採用特定的材料將CPU晶片或CPU模組固化在其中以防損壞的保護措施,一般必須在封裝後CPU才能交付用戶使用。CPU的封裝方式取決於CPU安裝形式和器件集成設計,從大的分類來看通常採用Socket插座進行安裝的CPU使用PGA(柵格陣列)方式封裝,而採用Slot x槽安裝的CPU則全部採用SEC(單邊接插盒)的形式封裝。現在還有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封裝技術。由於市場競爭日益激烈,目前CPU封裝技術的發展方向以節約成本為主。

13、多執行緒

同時多執行緒Simultaneous multithreading,簡稱SMT。SMT可通過複製處理器上的結構狀態,讓同一個處理器上的多個執行緒同步執行並共享處理器的執行資源,可最大限度地實現寬發射、亂序的超標量處理,提高處理器運算部件的利用率,緩和由於數據相關或Cache未命中帶來的訪問記憶體延時。當沒有多個執行緒可用時,SMT處理器幾乎和傳統的寬發射超標量處理器一樣。SMT最具吸引力的是只需小規模改變處理器核心的設計,幾乎不用增加額外的成本就可以顯著地提升效能。多執行緒技術則可以為高速的運算核心準備更多的待處理數據,減少運算核心的閒置時間。這對於桌面低端系統來說無疑十分具有吸引力。Intel從3.06GHz Pentium 4開始,所有處理器都將支持SMT技術。

14、多核心

多核心,也指單晶片多處理器(Chip multiprocessors,簡稱CMP)。CMP是由美國史丹福大學提出的,其思想是將大規模並行處理器中的SMP(對稱多處理器)集成到同一晶片內,各個處理器並行執行不同的進程。與CMP比較, SMT處理器結構的靈活性比較突出。但是,當半導體工藝進入0.18微米以後,線延時已經超過了門延遲,要求微處理器的設計通過劃分許多規模更小、局部性更好的基本單元結構來進行。相比之下,由於CMP結構已經被劃分成多個處理器核來設計,每個核都比較簡單,有利於最佳化設計,因此更有發展前途。目前,IBM 的Power 4晶片和Sun的 MAJC5200晶片都採用了CMP結構。多核處理器可以在處理器內部共享快取,提高快取利用率,同時簡化多處理器系統設計的複雜度。

2005年下半年,Intel和AMD的新型處理器也將融入CMP結構。新安騰處理器開發代碼為Montecito,採用雙核心設計,擁有最少18MB片內快取,採取90nm工藝製造,它的設計絕對稱得上是對當今晶片業的挑戰。它的每個單獨的核心都擁有獨立的L1,L2和L3 Cache,包含大約10億支電晶體。

15、SMP

SMP(Symmetric Multi-Processing),對稱多處理結構的簡稱,是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享記憶體子系統以及匯流排結構。在這種技術的支持下,一個伺服器系統可以同時運行多個處理器,並共享記憶體和其他的主機資源。像雙至強,也就是我們所說的二路,這是在對稱處理器系統中最常見的一種(至強MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少數是16路的。但是一般來講,SMP結構的機器可擴展性較差,很難做到100個以上多處理器,常規的一般是8個到16個,不過這對於多數的用戶來說已經夠用了。在高性能伺服器和工作站級主機板架構中最為常見,像UNIX伺服器可支持最多256個CPU的系統。

構建一套SMP系統的必要條件是:支持SMP的硬體包括主機板和CPU;支持SMP的系統平台,再就是支持SMP的套用軟體。

為了能夠使得SMP系統發揮高效的性能,作業系統必須支持SMP系統,如WINNT、LINUX、以及UNIX等等32位作業系統。即能夠進行多任務和多執行緒處理。多任務是指作業系統能夠在同一時間讓不同的CPU完成不同的任務;多執行緒是指作業系統能夠使得不同的CPU並行的完成同一個任務。

要組建SMP系統,對所選的CPU有很高的要求,首先、CPU內部必須內置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規範的核心就是高級可程式中斷控制器(Advanced Programmable Interrupt Controllers--APICs)的使用;再次,相同的產品型號,同樣類型的CPU核心,完全相同的運行頻率;最後,儘可能保持相同的產品序列編號,因為兩個生產批次的CPU作為雙處理器運行的時候,有可能會發生一顆CPU負擔過高,而另一顆負擔很少的情況,無法發揮最大性能,更糟糕的是可能導致當機。

16、NUMA技術

NUMA即非一致訪問分布共享存儲技術,它是由若干通過高速專用網路連線起來的獨立節點構成的系統,各個節點可以是單個的CPU或是SMP系統。在NUMA中,Cache 的一致性有多種解決方案,需要作業系統和特殊軟體的支持。圖2中是Sequent公司NUMA系統的例子。這裡有3個SMP模組用高速專用網路聯起來,組成一個節點,每個節點可以有12個CPU。像Sequent的系統最多可以達到64個CPU甚至256個CPU。顯然,這是在SMP的基礎上,再用NUMA的技術加以擴展,是這兩種技術的結合。

17、亂序執行技術

亂序執行(out-of-orderexecution),是指CPU允許將多條指令不按程式規定的順序分開發送給各相應電路單元處理的技術。這樣將根據個電路單元的狀態和各指令能否提前執行的具體情況分析後,將能提前執行的指令立即傳送給相應電路單元執行,在這期間不按規定順序執行指令,然後由重新排列單元將各執行單元結果按指令順序重新排列。採用亂序執行技術的目的是為了使CPU內部電路滿負荷運轉並相應提高了CPU的運行程式的速度。分枝技術:(branch)指令進行運算時需要等待結果,一般無條件分枝只需要按指令順序執行,而條件分枝必須根據處理後的結果,再決定是否按原先順序進行。

18、CPU內部的記憶體控制器

許多應用程式擁有更為複雜的讀取模式(幾乎是隨機地,特別是當cache hit不可預測的時候),並且沒有有效地利用頻寬。典型的這類應用程式就是業務處理軟體,即使擁有如亂序執行(out of order execution)這樣的CPU特性,也會受記憶體延遲的限制。這樣CPU必須得等到運算所需數據被除數裝載完成才能執行指令(無論這些數據來自CPU cache還是主記憶體系統)。當前低段系統的記憶體延遲大約是120-150ns,而CPU速度則達到了3GHz以上,一次單獨的記憶體請求可能會浪費200-300次CPU循環。即使在快取命中率(cache hit rate)達到99%的情況下,CPU也可能會花50%的時間來等待記憶體請求的結束- 比如因為記憶體延遲的緣故。

著名廠商

Intel公司

Intel是生產CPU的老大哥,它占有80%多的市場份額,Intel生產的CPU就成了事實上的x86CPU技術規範和標準。最新的酷睿2成為CPU的首選。

AMD公司

目前使用的CPU有好幾家公司的產品,除了Intel公司外,最有力的挑戰的就是AMD公司,最新的Athlon64x2和閃龍具有很好性價比,尤其採用了3DNOW+技術,使其在3D上有很好的表現。

VIA中國威盛

via威盛是台灣一家主機板晶片組廠商,收購了前述的 Cyrix和IDT的cpu部門,推出了自己的CPU,性能可以與Intel的經濟型CPU相比,功耗只有1W,在Intel與AMD的雙重壓迫下艱難生存。

Cyrix

曾經風靡一時的世界第三大CPU生產廠家,現在被VIA與AMD分別收購生產線與技術。

IBM公司

美國國際商業機器公司IBM,使其終於擁有了自己的晶片生產線,其成品將會日益完善和完備。現在的MII性能也不錯,尤其是它的價格很低。

國產龍芯

Godson 小名狗剩,是國有自主智慧財產權的通用處理器,目前已經有2代產品。
最新的龍芯2F已經趕上intel中端P4的水平

相關指令

CPU依靠指令來計算和控制系統,每款CPU在設計時就規定了一系列與其硬體電路相配合的指令系統。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為複雜指令集和精簡指令集兩部分,而從具體運用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的擴展指令集,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力。我們通常會把CPU的擴展指令集稱為”CPU的指令集”。SSE3指令集也是目前規模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。目前SSE3也是最先進的指令集,英特爾Prescott處理器已經支持SSE3指令集,AMD會在未來雙核心處理器當中加入對SSE3指令集的支持,全美達的處理器也將支持這一指令集。

CISC指令集

CISC指令集,也稱為複雜指令集,英文名是CISC,(Complex Instruction Set Computing的縮寫)。在CISC微處理器中,程式的各條指令是按順序串列執行的,每條指令中的各個操作也是按順序串列執行的。順序執行的優點是控制簡單,但計算機各部分的利用率不高,執行速度慢。其實它是英特爾生產的x86系列(也就是IA-32架構)CPU及其兼容CPU,如AMD、VIA的。即使是現在新起的X86-64(也被成AMD64)都是屬於CISC的範疇。

要知道什麼是指令集還要從當今的X86架構的CPU說起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發的,IBM1981年推出的世界第一台PC機中的CPU—i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點數據處理能力而增加了X87晶片,以後就將X86指令集和X87指令集統稱為X86指令集。

雖然隨著CPU技術的不斷發展,Intel陸續研製出更新型的i80386、i80486直到過去的PII至強、PIII至強、Pentium 3,最後到今天的Pentium 4系列、至強(不包括至強Nocona),但為了保證電腦能繼續運行以往開發的各類應用程式以保護和繼承豐富的軟體資源,所以Intel公司所生產的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬於X86系列。由於Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。x86CPU目前主要有intel的伺服器CPU和AMD的伺服器CPU兩類。

RISC指令集

RISC是英文“Reduced Instruction Set Computing ” 的縮寫,中文意思是“精簡指令集”。它是在CISC指令系統基礎上發展起來的,有人對CISC機進行測試表明,各種指令的使用頻度相當懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數的20%,但在程式中出現的頻度卻占80%。複雜的指令系統必然增加微處理器的複雜性,使處理器的研製時間長,成本高。並且複雜指令需要複雜的操作,必然會降低計算機的速度。基於上述原因,20世紀80年代RISC型CPU誕生了,相對於CISC型CPU,RISC型CPU不僅精簡了指令系統,還採用了一種叫做“超標量和超流水線結構”,大大增加了並行處理能力。RISC指令集是高性能CPU的發展方向。它與傳統的CISC(複雜指令集)相對。相比而言,RISC的指令格式統一,種類比較少,定址方式也比複雜指令集少。當然處理速度就提高很多了。目前在中高檔伺服器中普遍採用這一指令系統的CPU,特別是高檔伺服器全都採用RISC指令系統的CPU。RISC指令系統更加適合高檔伺服器的作業系統UNIX,現在Linux也屬於類似UNIX的作業系統。RISC型CPU與Intel和AMD的CPU在軟體和硬體上都不兼容。

目前,在中高檔伺服器中採用RISC指令的CPU主要有以下幾類:PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。

製造工藝

製造工藝的微米是指IC內電路與電路之間的距離。製造工藝的趨勢是向密集度愈高的方向發展。密度愈高的IC電路設計,意味著在同樣大小面積的IC中,可以擁有密度更高、功能更複雜的電路設計。現在主要的180nm、130nm、90nm、65nm。Intel公司更於2007年11月16日發布了45nm的製造工藝。

CPU核心和I/O工作電壓

從586CPU開始,CPU的工作電壓分為核心電壓和I/O電壓兩種,通常CPU的核心電壓小於等於I/O電壓。其中核心電壓的大小是根據CPU的生產工藝而定,一般製作工藝越小,核心工作電壓越低;I/O電壓一般都在1.6~5V。低電壓能解決耗電過大和發熱過高的問題。

超流水線超標量在解釋超流水線與超標量前,先了解流水線(pipeline)。流水線是Intel首次在486晶片中開始使用的。流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5—6個不同功能的電路單元組成一條指令處理流水線,然後將一條X86指令分成5—6步後再由這些電路單元分別執行,這樣就能實現在一個CPU時鐘周期完成一條指令,因此提高CPU的運算速度。經典奔騰每條整數流水線都分為四級流水,即指令預取、解碼、執行、寫回結果,浮點流水又分為八級流水。

超標量是通過內置多條流水線來同時執行多個處理器,其實質是以空間換取時間。而超流水線是通過細化流水、提高主頻,使得在一個機器周期內完成一個甚至多個操作,其實質是以時間換取空間。例如Pentium 4的流水線就長達20級。將流水線設計的步(級)越長,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。但是流水線過長也帶來了一定副作用,很可能會出現主頻較高的CPU實際運算速度較低的現象,Intel的奔騰4就出現了這種情況,雖然它的主頻可以高達1.4G以上,但其運算性能卻遠遠比不上AMD 1.2G的速龍甚至Intel自家的老產品奔騰III。

CPU封裝形式

CPU封裝是採用特定的材料將CPU晶片或CPU模組固化在其中以防損壞的保護措施,一般必須在封裝後CPU才能交付用戶使用。CPU的封裝方式取決於CPU安裝形式和器件集成設計,從大的分類來看通常採用Socket插座進行安裝的CPU使用PGA(柵格陣列)方式封裝,而採用Slot x槽安裝的CPU則全部採用SEC(單邊接插盒)的形式封裝。現在還有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封裝技術。由於市場競爭日益激烈,目前CPU封裝技術的發展方向以節約成本為主。

CPU封裝技術

所謂“CPU封裝技術”是一種將積體電路用絕緣的塑膠或陶瓷材料打包的技術。以CPU為例,我們實際看到的體積和外觀並不是真正的CPU核心的大小和面貌,而是CPU核心等元件經過封裝後的產品。

CPU封裝對於晶片來說是必須的,也是至關重要的。因為晶片必須與外界隔離,以防止空氣中的雜質對晶片電路的腐蝕而造成電氣性能下降。另一方面,封裝後的晶片也更便於安裝和運輸。由於封裝技術的好壞還直接影響到晶片自身性能的發揮和與之連線的PCB(印製電路板)的設計和製造,因此它是至關重要的。封裝也可以說是指安裝半導體積體電路晶片用的外殼,它不僅起著安放、固定、密封、保護晶片和增強導熱性能的作用,而且還是溝通晶片內部世界與外部電路的橋樑——晶片上的接點用導線連線到封裝外殼的引腳上,這些引腳又通過印刷電路板上的導線與其他器件建立連線。因此,對於很多積體電路產品而言,封裝技術都是非常關鍵的一環。

目前採用的CPU封裝多是用絕緣的塑膠或陶瓷材料包裝起來,能起著密封和提高晶片電熱性能的作用。由於現在處理器晶片的內頻越來越高,功能越來越強,引腳數越來越多,封裝的外形也不斷在改變。封裝時主要考慮的因素:
1. 晶片面積與封裝面積之比為提高封裝效率,儘量接近1:1
2. 引腳要儘量短以減少延遲,引腳間的距離儘量遠,以保證互不干擾,提高性能
3. 基於散熱的要求,封裝越薄越好

作為計算機的重要組成部分,CPU的性能直接影響計算機的整體性能。而CPU製造工藝的最後一步也是最關鍵一步就是CPU的封裝技術,採用不同封裝技術的CPU,在性能上存在較大差距。只有高品質的封裝技術才能生產出完美的CPU產品。

多執行緒
同時多執行緒Simultaneous multithreading,簡稱SMT。SMT可通過複製處理器上的結構狀態,讓同一個處理器上的多個執行緒同步執行並共享處理器的執行資源,可最大限度地實現寬發射、亂序的超標量處理,提高處理器運算部件的利用率,緩和由於數據相關或Cache未命中帶來的訪問記憶體延時。當沒有多個執行緒可用時,SMT處理器幾乎和傳統的寬發射超標量處理器一樣。SMT最具吸引力的是只需小規模改變處理器核心的設計,幾乎不用增加額外的成本就可以顯著地提升效能。多執行緒技術則可以為高速的運算核心準備更多的待處理數據,減少運算核心的閒置時間。這對於桌面低端系統來說無疑十分具有吸引力。Intel從3.06GHz Pentium 4開始,所有處理器都將支持SMT技術。

多核心
多核心,也指單晶片處理器(Chip multiprocessors,簡稱CMP)。CMP是由美國史丹福大學提出的,其思想是將大規模並行處理器中的SMP(對稱多處理器)集成到同一晶片內,各個處理器並行執行不同的進程。與CMP比較, SMT處理器結構的靈活性比較突出。但是,當半導體工藝進入0.18微米以後,線延時已經超過了門延遲,要求微處理器的設計通過劃分許多規模更小、局部性更好的基本單元結構來進行。相比之下,由於CMP結構已經被劃分成多個處理器核來設計,每個核都比較簡單,有利於最佳化設計,因此更有發展前途。目前,IBM 的Power 4晶片和Sun的 MAJC5200晶片都採用了CMP結構。多核處理器可以在處理器內部共享快取,提高快取利用率,同時簡化多處理器系統設計的複雜度。

2005年下半年,Intel和AMD的新型處理器也將融入CMP結構。新安騰處理器開發代碼為Montecito,採用雙核心設計,擁有最少18MB片內快取,採取90nm工藝製造,它的設計絕對稱得上是對當今晶片業的挑戰。它的每個單獨的核心都擁有獨立的L1,L2和L3 cache,包含大約10億支電晶體。

SMP
SMP(Symmetric Multi-Processing),對稱多處理結構的簡稱,是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享記憶體子系統以及匯流排結構。在這種技術的支持下,一個伺服器系統可以同時運行多個處理器,並共享記憶體和其他的主機資源。像雙至強,也就是我們所說的二路,這是在對稱處理器系統中最常見的一種(至強MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少數是16路的。但是一般來講,SMP結構的機器可擴展性較差,很難做到100個以上多處理器,常規的一般是8個到16個,不過這對於多數的用戶來說已經夠用了。在高性能伺服器和工作站級主機板架構中最為常見,像UNIX伺服器可支持最多256個CPU的系統。

構建一套SMP系統的必要條件是:支持SMP的硬體包括主機板和CPU;支持SMP的系統平台,再就是支持SMP的套用軟體。

為了能夠使得SMP系統發揮高效的性能,作業系統必須支持SMP系統,如WINNTLINUX、以及UNIX等等32位作業系統。即能夠進行多任務和多執行緒處理。多任務是指作業系統能夠在同一時間讓不同的CPU完成不同的任務;多執行緒是指作業系統能夠使得不同的CPU並行的完成同一個任務 。

要組建SMP系統,對所選的CPU有很高的要求,首先、CPU內部必須內置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規範的核心就是高級可程式中斷控制器(Advanced Programmable Interrupt Controllers–APICs)的使用;再次,相同的產品型號,同樣類型的CPU核心,完全相同的運行頻率;最後,儘可能保持相同的產品序列編號,因為兩個生產批次的CPU作為雙處理器運行的時候,有可能會發生一顆CPU負擔過高,而另一顆負擔很少的情況,無法發揮最大性能,更糟糕的是可能導致當機。
NUMA技術
NUMA即非一致訪問分布共享存儲技術,它是由若干通過高速專用網路連線起來的獨立節點構成的系統,各個節點可以是單個的CPU或是SMP系統。在NUMA中,Cache 的一致性有多種解決方案,需要作業系統和特殊軟體的支持。Sequent公司NUMA系統的例子。這裡有3個SMP模組用高速專用網路聯起來,組成一個節點,每個節點可以有12個CPU。像Sequent的系統最多可以達到64個CPU甚至256個CPU。顯然,這是在SMP的基礎上,再用NUMA的技術加以擴展,是這兩種技術的結合。

亂序執行技術
亂序執行(out-of-orderexecution),是指CPU允許將多條指令不按程式規定的順序分開發送給各相應電路單元處理的技術。這樣將根據個電路單元的狀態和各指令能否提前執行的具體情況分析後,將能提前執行的指令立即傳送給相應電路單元執行,在這期間不按規定順序執行指令,然後由重新排列單元將各執行單元結果按指令順序重新排列。採用亂序執行技術的目的是為了使CPU內部電路滿負荷運轉並相應提高了CPU的運行程式的速度。分枝技術:(branch)指令進行運算時需要等待結果,一般無條件分枝只需要按指令順序執行,而條件分枝必須根據處理後的結果,再決定是否按原先順序進行。

CPU內部的記憶體控制器
許多應用程式擁有更為複雜的讀取模式(幾乎是隨機地,特別是當cache hit不可預測的時候),並且沒有有效地利用頻寬。典型的這類應用程式就是業務處理軟體,即使擁有如亂序執行(out of order execution)這樣的CPU特性,也會受記憶體延遲的限制。這樣CPU必須得等到運算所需數據被除數裝載完成才能執行指令(無論這些數據來自CPU cache還是主記憶體系統)。當前低段系統的記憶體延遲大約是120-150ns,而CPU速度則達到了3GHz以上,一次單獨的記憶體請求可能會浪費200-300次CPU循環。即使在快取命中率(cache hit rate)達到99%的情況下,CPU也可能會花50%的時間來等待記憶體請求的結束- 比如因為記憶體延遲的緣故。

你可以看到Opteron整合的記憶體控制器,它的延遲,與晶片組支持雙通道DDR記憶體控制器的延遲相比來說,是要低很多的。英特爾也按照計畫的那樣在處理器內部整合記憶體控制器,這樣導致北橋晶片將變得不那么重要。但改變了處理器訪問主存的方式,有助於提高頻寬、降低記憶體延時和提升處理器性

製造工藝:現在CPU的製造工藝是45納米。

相關詞條

相關搜尋

熱門詞條

聯絡我們