卅年史詩!地球上出現過的CPU完全收
CPU,Central processing unit.是現代計算機的核心部件,又稱為“微處理器(Microprocessor)”。對于PC而言,CPU的規格與頻率常常被用來作為衡量一臺電腦性能強弱重要指標。今年是intel x86架構25周年,而x86架構的CPU對我們大多數人的工作、生活影響頗為深遠。
在開始intel x86神奇時光之旅前面,我們需要弄清楚歷史上幾件很重要的事件,計算機的始祖到底是誰?是ENIAC嗎?
這張圖相信很多人都看過。
世界上第一臺電子計算機ENIAC
教科書里面的答案是ENIAC。這個答案不算正確,但也沒完全錯。ENIAC是美國賓州大學研制的第一臺電子計算機,也是世界上第一臺電子計算機。準確一點說:ENIAC是世界上第一臺通用型計算機。ENIAC是Electronic Numerical Integrator And Computer的縮寫,它于1946年2月15日誕生;當時的資助者是美國軍方,目的是計算彈道的各種非常復雜的非線性方程組。眾所周知,這些方程組是沒有辦法求出準確解的,因此只能用數值方法近似地進行計算,因此研究一種快捷準確計算的辦法很有必要。
那個時候的“程序設計”,需要插拔N多的插頭
美國軍方花費了48萬美元經費在ENIAC項目上,這在當時可是一筆巨款,要不是為了二次世界大戰,誰能舍得出這么大的錢?事實上ENIAC也是美國陸軍軍械部和賓州大學莫爾學院聯合發布的,而非書本上所提的只有賓州大學。
從技術上而言,ENIAC是沒有太明晰的CPU概念的。因為它采用電子管作為基本電子元件。用了足足18800個電子管,而每個電子管大約有一個普通家用25瓦燈泡那么大。這樣整部電腦就有了8英尺高、3英尺寬、100英尺長的身軀,體積有研立方米,重達30噸,耗電高達140千瓦。每秒能進行5000次加法運算(而人最快的運算速度每秒僅5次加法運算),還能進行平方和立方運算,計算正弦和余弦等三角函數的值及其它一些更復雜的運算。這樣的速度在當時已經是人類智慧的最高水平。
但是,其實ENIAC還不是計算機的最早始祖。現代計算機的思想由來已久,到了19世紀已經才日漸成熟,但是當時的技術水平很低弱,所以根本無法制造出可以運行的系統來,其中最據代表性的就是巴貝奇的分析機。
巴貝奇分析機部件
英國皇家學會會員、劍橋大學數學教授巴貝奇(Charles Babbage, 1792-1871.),是一位富有的銀行家的兒子。他于1792年出生于英格蘭西南部的托格茅斯,后來繼承了相當豐厚的遺產。巴貝奇把繼承的財富都用于科學研究,并顯示出極高的數學天賦,考入劍橋大學后,他發現自己掌握的代數知識甚至超過了教師。1817年獲碩士學位,1928年受聘擔任劍橋大學“盧卡辛講座”的數學教授,這是只有牛頓等科學大師才能獲得的殊榮。
巴貝奇教授,Charles Babbage
巴貝奇不但精于科學理論,更喜歡將科學應用在各種發明創造上。他最早提出,人類可以制造出通用的計算機,來代替大腦計算復雜的數學問題。當時并沒有電子技術的應用,于是巴貝奇的設想就架構在當時日趨成熟的機械技術上。巴貝奇將他設想的通用計算機命名為“分析機”,并希望它能自動解算有100個變量的復雜算題,每個數達25位,速度達到每秒鐘運算一次。分析機包括齒輪式“存貯倉庫”(Store)和“運算室”即“作坊”(Mill),而且還有他未給出名稱的“控制器”裝置,以及在“存貯倉庫”和“作坊”之間運輸數據的輸入輸出部件。這種天才的思想,劃時代地提出了類似于現代電腦五大部件的邏輯結構,也為后世的通用處理器誕生奠定了堅實的基礎。
最初,巴貝奇還有政府的資助來研究設計“分析機”,但是短視的英國政府于1842年,斷然宣布停止對巴貝奇的一切資助,而當時的科學界也譏笑他是“愚笨的傻瓜”,公然稱差分機“毫無任何價值”。不過英雄的故事里面總是有美人垂青,英國著名詩人拜倫的女兒愛達·拉夫拉斯伯爵夫人(注解1),是唯一能理解巴貝奇的人,也是世界計算機先驅中的第一位女性。她幫助巴貝奇研究分析機,建議用二進制數代替原來的十進制數(編者注:真是天才!)。她還指出分析機可能像雅各織布機一樣編程,并發現了編程的要素。她還為某些計算開發了一些指令,并預言計算機總有一天會演奏音樂。第二年,她幫助巴貝奇處理論文的譯稿時,加入了許多獨特的見解,深得巴貝奇教授的贊許。
在愛達夫人短暫生命的最后十年里,全力協助巴貝奇工作,甚至把自己的珠寶手飾都拿出來變賣,以幫助巴貝奇度過經濟難關。之后,巴貝奇又獨自堅持了近20年,直至1871年,這位先驅者孤獨地離開了人世時,分析機終于沒能制造出來,未完成的一部分也被保留在英國皇家博物館里。巴貝奇逝世后,他的兒子亨利·巴貝奇少將制造了若干個復制品,送往世界各地保存。亨利堅定地相信,總有一天,他父親的這種機器一定會被后人制造出來。
近年來,科學界已經普遍確認巴貝奇在信息科學的鼻祖地位。1991年,為了紀念巴貝奇200周年誕辰,英國肯圣頓(Kensington)科學博物館根據這些圖紙重新建造了一臺差分機。復制過程中,只發現圖紙存在著幾處小的錯誤。復制者特地采用18世紀中期的技術設備來制作,不僅成功地造出了機器,而且可以正常運轉。
后人完成的巴貝奇分析機
為什么要提這些舊事?其實無論是英特爾、IBM、微軟,還是甲骨文,如果沒有這些先驅們的奉獻,就沒有今天的繁榮。另外,我國的教育對于這一段歷史的描述非常差,編者希望這樣的說明能夠在開始以下intel x86神奇時光之旅前,有一個很好的交待,權作拋磚引玉吧。
[注解1:1981年,美國國防部花了10年的時間,研制了一種計算機全功能混合語言,并成為軍方數千種電腦的標準。為了紀念愛達夫人,這種語言被正式命名為ADA語言,并贊譽她是“世界上第一位軟件工程師”。]
在以下部分的介紹里,我們將看到集成電路的通用型CPU誕生……<
其實早在英特爾公司誕生前,集成電路技術就已經被發明。1947年,AT&T貝爾實驗室的三位科學家發明了晶體管,晶體管的出現,迅速替代電子管占領了世界電子領域。隨后,晶體管電路不斷向微型化方向發展。1957年,美國科學家達默提出“將電子設備制作在一個沒有引線的固體半導體板塊中”的大膽技術設想,這就是半導體集成電路的核心思想。
1958年,美國德克薩斯州儀器公司的工程師基爾比(Jack Kilby)在一塊半導體硅晶片上將電阻、電容等分立元件集成在里面,制成世界上第一片集成電路。也正因為這件事,2000年的諾貝爾物理獎頒發給了已退休的基爾比。1959年,美國仙童公司的諾伊斯用一種平面工藝制成半導體集成電路,從此開啟了集成電路比黃金還誘人的時代。其后,摩爾、諾宜斯、葛洛夫這三個“伙伴”離開原來的仙童公司,一起開創事業——籌建一家他們自已的公司。三人一致認為,最有發展潛力的半導體市場是計算機存儲器芯片市場。
Intel的元老們,摩爾、諾宜斯、葛洛夫(從左至右)
吸引他們成立新公司的另一個重要原因是:這一市場幾乎完全依賴于高新技術,你可以盡可能地在一個芯片上放最多的電路,誰的集成度高,誰就能成為這一行業的領袖。
Intel這個名字有著深遠涵義……
基于以上考慮,摩爾為新公司命名為:Intel,這個字是由“集成/電子(Integrated Electronics)"兩個英文單詞組合成的,象征新公司將在集成電路市場上飛黃騰達,結果就真的如此。(看來在摩爾有生之年,請他起個名字一定發達,^_^!)<
當時,這三位創業者說服風險資本家阿瑟.羅克給他們投資了200萬美元;還找到了他們創業的非常好的地點,就是原聯合碳化物電子公司的大樓,這可比惠普的車庫要強多了。公司創建不久,三位創建人就與公司職員(這時是1968年底,英特爾公司已約定,他們將不拘泥于任何特定的技術或產品生產線,用諾宜斯的話來說就是“對當今所有技術進行快鏡拍攝,從中發現哪種技術行得通,哪種技術最卓有成效,就開發哪種技術”,公司有的是時間、才能和資金,所以他們不能草率行事。諾宜斯說:“沒能任何合同規定我們必須保證某一生產線的生產。我們也不受任何舊技術的約束。”
英特爾公司發現:當電子在集成電路塊的細微部位上出現或消失時,可以將若干比特(bites,資料的最小計量單位)信息非常廉價地儲存在微型集成電路硅片上,他們首先將這種發現應用在商業上。1969年的春天,在公司成立一周年以后,英特爾公司生產了第一批產品,即雙極處理64比特存儲芯片。不久,公司又推出256比特的MOS存儲器芯片。一個小小的Intel公司,以它的兩種新產品的問世而打入了整個計算機存儲器市場——這是一個輝煌的開端,而其他的一些公司直到1980年才能生產MOS芯片和雙極芯片。
隨著日本公司加入競爭,內存的生意越來越艱難。盡管當時有很多美國人抱怨日本人公司以低于成本的價格向美國傾銷產品,但一個不可否認的事實是,日本在芯片制造上的速度和質量是非常好的。這時候,英特爾公司面對有史以來最大的生存危機。不過最終他們作出一個令人欽佩的決斷:放棄內存,全力投入微處理器業務。
說到微處理器業務,其實最初是件很偶然的事情:英特爾的一家客戶(Busicom,一家現已不存在的日本廠商)要求英特爾為其專門設計一些處理芯片。在研究過程中,英特爾的研究員霍夫(Hoff)問自已:對于集成電路,能否在外部軟件的操縱下以簡單的指令進行復雜的工作呢?為什么不可將這個計算機上的所有邏輯集成到一個芯片上并在上面編制簡單通用的程序呢?這其實就是今天所有微處理器的原理。但日本公司對此毫無興趣。在同事的幫助及公司支持下,霍夫把中央處理器的全部功能集成在一塊芯片上,再加上存儲器;完善了這種后來被稱為4004的芯片,也就是世界上第一片微處理器。
●Intel歷史上的首款微處理器 4004

4004CPU的樣子,可愛吧?
1971年英特爾誕生了第一個微處理器——4004。該芯片其實是為Busicom calculator專門設計制造的,但已經可以看到個人電腦的影子在里面了。

4004的核心電路照片
另外一些樣子的4004
4004的全家福(點擊放大)
據說當時有一位留著長發的美國人在無線電雜志上讀到I4004的消息,立即就想能用這個CPU來開發個人使用的操作系統。結果經過一番仔細折騰之后,發現I4004的功能實在是太弱,而他想實現的系統功能與Basic語言并不能在上面實現只好作罷,這個人就是比爾.蓋茨——微軟公司的老板。不過從此之后,他對英特爾的動向非常關注,終于在1975年成就了微軟公司(Microsoft Corporation)。<
接下來到了8008出場的時候了。
8008的運算能力比4004強勁2倍。1974年,一本無線電雜志刊登了一種使用8008作處理器的機器,叫做“Mark-8(馬克八號)”,這也是目前已知的最早的家用電腦了。雖然從今天的角度看來,“Mark-8”非常難以使用、控制、編程及維護,但是這在當時卻是一種偉大的發明。
這顆比較清楚一點
8008的核心照片
事實上,8008共有四種型號,分別為C8008、C8008-1、D8008、D8008-1,C8008就是剛才發的第二張8008圖片,C8008-1剛才發的第一張8008圖片。以下為 D8008、D8008-1
D8008
D8008-1 <
在8008之后,Intel又開發了下一代產品叫做8080,8080被用于當時一種品牌為Altair(牽牛星,這個名字來源于當時電視節目里一個流行的科幻劇)的電腦上。這也是有史以來第一個知名的個人電腦。當時這種電腦的套件售價是395美金,短短數月的時間里面,銷售業績達到了數萬部,創造了個人電腦銷售歷史的一個里程碑。
8080A
8080的核心照片
這是基于8080芯片的計算機Processor Technology Sol-20
內部結構
[小總結]:
4004的集成度只有2300個晶體管,功能其實比較弱,且計算速度較慢,以致只能用在Busicom計算器上,更不用說進行復雜的數學計算了。不過比起第一臺電子計算機ENIAC來說,它已經輕巧太多太多了。而且最大的歷史意義是,它是第一個通用型處理器,這在當時專用集成電路設計橫行的時代是難得的突破。所謂專用集成電路設,就是為不同的應用設計獨特的產品,一旦應用條件變化,就需要重新設計;當然在商業盈利上,對設計公司是很有好處的。但是英特爾公司的目光并沒有這么短淺,霍夫做出大膽的設想:使用通用的硬件設計加上外部軟件支持來完成不同的應用,這就是最初的通用微處理器的設想。
英特爾公司很快對這個設想進行了論證,發現確實可行,而且這種產品的好處就在于采用不同的軟件支持就能完成不同的工作,這比重新設計專用的集成電路要簡單得多。看到這種產品將來的廣闊前景,英特爾公司馬上投入了設計工作并很快推出了產品——世界上第一塊微處理器Intel 4004。
其實4004處理只能處理4位數據,但內部指令是8位的。4004擁有46條指令,采用16針直插式封裝。數據內存和程序內存分開,1K數據內存,4K程序內存。運行時鐘頻率預計為1M,最終實現達到了740kHz,能進行二進制編碼的十進制數學運算。這款處理器很快得到了整個業界的承認,藍色巨人IBM還將4004裝備在IBM 1620機器上。
在4004發布后不久,英特爾連續的發布了幾款CPU:4040、8008,但市場反響平平,不過卻為開發8位微處理器打下了良好基礎。1974年,英特爾公司又在8008的基礎上研制出了8080處理器、擁有16位地址總線和8位數據總線,包含7個8位寄存器(A,B,C,D,E,F,G,其中BC,DE,HL組合可組成16位數據寄存器),支持16位內存,同時它也包含一些輸入輸出端口,這是一個相當成功的設計,還有效解決了外部設備在內存尋址能力不足的問題。< 大家一般都只知道8086,很少知道8085的存在,下面這個就是8085的真面目:
1978年,8086處理器誕生了。這個處理器標志著x86王朝的開始,為什么要紀念英特爾x86架構25周年?主要原因是從8086開始,才有了目前應用最廣泛的PC行業基礎。雖然從1971年,英特爾制造4004至今,已經有32年歷史;但是從沒有像8086這樣影響深遠的神來之作。
8086
8086/8088的核心
8086的協處理器:8087
8087實際上有13種型號,這里只給出一種的圖片,因為都大同小異。
還有一個更關鍵的因素,是時IBM研究新的PC機來打擊蘋果的個人電腦。IBM公司需要選擇一款強大,易于擴展的處理器來驅動,英特爾的x86處理器取得了絕對的勝利,成為IBM PC的新“大腦”。這個歷史的選擇也將英特爾公司日后帶入了財富500強大公司的行列,并被財富雜志稱之為:“70年代的商業奇跡(Business Triumphs of the Seventies)”。
IBM公司的PC大獲成功,不但帶旺了英特爾的生意,還造就了另外一個商業奇跡——微軟公司。比爾.蓋茨搭車銷售了DOS操作系統,為今天稱霸軟件行業攫取了第一桶金。不但如此,因為IBM公司的遠見,開放了PC架構的授權,康柏(今天已經變成HP的一部分)等第三方的制造商也大獲其利。甚至臺灣地區等經濟的騰飛都與這次歷史的聯合有著必然的聯系,無論從歷史,還是產業的眼光來閱讀,這個事件都非常值得稱頌!
8088
使用8088芯片的筆記本
使用8088芯片的筆記本
配置如下:
Intel 8088 CPU
128Kb RAM
3.5" 360kb 或者 720kb 軟驅
5MB 硬盤
事實上,IBM在PC XT選用的是8088這個型號。以技術的觀點來看,8088其實是8086的一個簡版,其內部指令是16位的,但是外部是8位數據總線;相對于8086內部數據總線(CPU內部傳輸數據的總線)、外部數據總線(CPU外部傳輸數據的總線)均為16位,地址總線為20位,可尋址1MB內存的規格來說,是稍差了一點,但是已經足以勝任DOS系統和當時的應用程序了。8086集成2.9萬只晶體管,時鐘頻率為4.77MHz,同時還生產出與之配合的數學協處理器8087,這兩種芯片使用相同的指令集,可以互相配合提升科學運算的效率。
當然現在的CPU都內建數學協處理器,因此不再需要額外的數學協處理器芯片,但是七十年代的技術限制,一般只能將數學協處理器做成另外一個芯片,供用戶選擇。這樣的好處是減少了制造的成本,提高了良品率,更降低速度不敏感的用戶的支出:他們可以暫時不買數學協處理器,直到需要的時候買一個回來插到IC插座里即可。< 1982年,英特爾發布了80286處理器,也就是俗稱的286。這是英特爾第一個可以運行所有為其撰寫的處理器,在發布后的六年中,全球一共交付了一千五百萬臺基于286的個人電腦。
80286

80286核心照片
80286芯片集成了14.3萬只晶體管、16位字長,時鐘頻率由最初的6MHz逐步提高到20MHz。其內部和外部數據總線皆為16位,地址總線24位。與8086相比,80286尋址能力達到了16MB,可以使用外存儲設備模擬大量存儲空間,從而大大擴展了80286的工作范圍,還能通過多任務硬件機構使處理器在各種任務間來回快速切換,以同時運行多個任務,其速度比8086提高了5倍甚至更多。IBM公司將80286用在技術更為先進AT機中,與IBM PC機相比,AT機的外部總線為16位(PC XT機為8位),內存一般可擴展到16MB,可支持更大的硬盤,支持VGA顯示系統,比PC XT機在性能上有了重大的進步。
使用80286的電腦
但是這時候,IBM公司內部發生了很大的分歧:內部很多人反對快速轉換到286計算機的銷售,因為286 PC會對IBM的小型機與之前的PC XT銷售有影響,他們希望緩慢過渡。但是intel公司并不能等,80286處理器已經批量生產了,不可能堆在倉庫里等IBM慢慢消化;這時候生產兼容IBM PC的康柏公司就鉆了一個空子——快速推出286的PC機,一舉打敗IBM成為PC市場的新霸主。
微處理器決定了計算機的性能和速度,誰能制造出性能卓越的高速PC,誰便能領導計算機的新潮流,這就是游戲規則。IBM的人最初順應的這個規則,因此在PC市場大獲成功,但是到了286時代,卻又放棄了正確的選擇,真是讓人為之嘆惋。
附:80286之前還有一個CPU,叫80186。
80186 核心實物圖
80186的核心照片
雖然有個所謂的80186,但從時間上看,就在80186剛推出沒幾周,80286就出現了,而且這款80186從來沒有在PC機上出現過,因此,也就沒有多少人能記得它了。<
80386的出現,首次讓我們進入了32位元的世代。
1985年,英特爾再度發力推出了80386處理器。386集成了27萬5千只晶體管,超過了4004芯片的一百倍。并且386還是英特爾第一種32位處理器,同時也是第一種具有“多任務”功能的處理器——這對微軟的操作系統發展有著重要的影響,所謂“多任務”就是說處理器可以在同時處理幾個程序的指令。
80386
80386核心照片
不過就如過渡到286一樣,英特爾遇到了很大壓力。當時有一種流行的觀點認為,286已經足夠了,根本沒有必要生產386電腦,在銷售上開始并不如意。但是英特爾的領導人并不這樣認為,在宣傳上采納很多新的手法,借鑒了很多消費類產品的辦法,讓人耳目一新;另一方面,也對386芯片區分出不同的規格,去適應不同的用戶需求。尤其是后來推出的80386SX芯片,內部數據總線為32位,與80386相同,但是外部數據總線為16位,既有386的優點,又有286的成本優勢,取得了很大的市場成功;同時原本的386芯片改稱為386DX,以區別386SX。
386時代,Intel在技術有了很大的進步。80386內部內含27.5萬個晶體管,時鐘頻率為12.5MHz,其后又提高到20MHz、25MHz、33MHz等。80386DX的內部和外部數據總線都是32位,地址總線也是32位,可尋址高達4GB內存。它除具有實模式和保護模式外,還增加了一種叫虛擬模式的工作方式,可同時模擬多個8086處理器來提供多任務能力。
80386DX<
1989年,英特爾發布了486處理器。486處理器是英特爾非常成功的商業項目。很多廠商也看清了英特爾處理器的發展規律,因此很快就隨著英特爾的營銷戰而轉型成功。80486處理器集成了125萬個晶體管,時鐘頻率由25MHz逐步提升到33MHz、40MHz、50MHz及后來的100Mhz。
80486也是英特爾第一個內部包含數字協處理器的CPU,并在x86系列中首次使用了RISC(精簡指令集)技術,從而提升了每時鐘周期執行指令的速度。486還采用了突發總線方式,大大提高了處理器與內存的數據交換速度。由于這些改進,80486的性能比帶有80387數學協處理器的80386快了4倍有余。
80486的照片
80486DX
80486的核心照片
英特爾將區格用戶的策略再次應用在486產品上,因此486分為有數學協處理器的486DX和無數學協處理器的486SX兩種,486SX的價格要便宜一些。后來486在倍頻上規格有所改進,就出現了486DX2、486DX4的新“變種”。以DX2來舉例,其涵義是處理器內部工作頻率為外頻的2倍,這樣一來,就緩解了處理器內部高速與外部總線的慢速的矛盾。<
Pentium,第一款與數字無關的處理器
1993年,英特爾發布了Pentium(奔騰)處理器。本來按照慣常的命名規律是80586,但是因為實際上“586”這樣的數字不能注冊成為商標使用,因此任何競爭對手都可以用586來混淆概念,擾亂市場。事實上在486發展末期,就已經有公司將486等級的產品標識成586來銷售了。因此英特爾絕對使用自造的新詞來作為新產品的商標——Pentium。
Pentium的照片
1Pentium/Pentium Pro的核心照片
Pentium處理器集成了310萬個晶體管,最初推出的初始頻率是60MHz、66MHz,后來提升到200MHz以上。第一代的Pentium代號為P54C,其后又發布了代號為P55C,內建MMX(多媒體指令集)的新版Pentium處理器。
如果購買了最初60MHz、66MHz Pentium的用戶比較倒霉,不但其Socket插座與其后推出的Socket 7不同,不能升級以外;更有極大可能是有內部缺陷的產品:早期的幾批產品存在浮點運算錯誤的問題,雖然英特爾開始稱這樣的錯誤只是非常小一部分用戶才會遇到,但是因為市場反應嘩然,一時之間造成了很大的銷售停滯。
最后,當時的英特爾總裁安迪葛洛夫于1993年11月29日向全球用戶誠意道歉,并承諾回收產品而告終。據后來的統計數字表明回收成本高達4億美金,這在當時是十分冒險的行為,對于公司的資金實力是一個生死存亡的考驗;但最終的結果是重新贏得了消費者的信任,Pentium再度成為市場上最暢銷的產品。<
Pentium MMX的照片
Pentium MMX是英特爾在Pentium內核基礎上改進而成的,其大的特點是增加了57條MMX指令。這些指令專門用來處理音視頻相關的計算,目的是提高CPU處理多媒體數據的效率。MMX指令非常成功,在之后生產的各型CPU都包括這些指令集。據Tom’s Hardware測試,即使最慢的Pentium MMX 166MHz也比Pentium 200MHz普通版要快。
Pentium Pro的照片
1995年秋天,英特爾發布了Pentium Pro處理器。Pentium PRO是英特爾首個專門為32位服務器、工作站設計的處理器,可以應用在高速輔助設計、機械引擎、科學計算等領域。英特爾在Pentium PRO的設計與制造上又達到了新的高度,總共集成了550萬個晶體管,并且整合了高速二級緩存芯片。
Pentium Pro的核心照片
Pentium Pro透露出英特爾對企業市場的雄心,不過作為第一代產品,還是有很多商榷的地方。最有趣的一件事情是,Pentium Pro執行16位程序的效能還不及同頻率Pentium的水平;當然這不是一個錯誤,只是在當時16位程序數量還很多,32位軟件尚未成為主流的情形下就顯得太過超前。<
Pentium II 的照片
1997年英特爾發布了Pentium II處理器。其內部集成了750萬個晶體管,并整合了MMX指令集技術,可以更快更流暢的播放影音Video,Audio以及圖像等多媒體數據。
Pentium II 核心的照片
Pentium II首次引入了S.E.C封裝(Single Edge Contact)技術,將高速緩存與處理器整合在一塊PCB板上。通過Pentium II,用戶可以透過因特網來捕捉、編輯、共享數碼圖片給自己的朋友和家人;甚至在影片上加入一些文字、音樂、效果等;可以使用視頻電話等最新的多媒體技術。而之前的處理器在效能上就遜色很多了;因此在行銷宣傳上,英特爾特別凸現Pentium II的多媒體能力,這也很大促進了多媒體技術的流行。<
1998年英特爾發布了Pentium II Xeon(至強)處理器。Xeon是英特爾引入的新品牌,取代之前所使用的Pentium Pro品牌。這個產品線面向中高端企業級服務器、工作站市場;是英特爾公司進一步區格市場的重要步驟。Xeon主要設計來運行商業軟件、因特網服務、公司數據儲存、數據歸類、數據庫、電子,機械的自動化設計等。
Pentium II XEON,至強的開始
Pentium II Xeon處理器不但有更快的速度,更大的緩存,更重要的是可以支持多達4路或者8路的SMP對稱多CPU處理功能。<
●Celeron(賽揚)處理器
1999年,英特爾發布了Celeron(賽揚)處理器。簡單的說,Celeron與Pentium II并沒有本質上的不同,因為它們的內核是一樣的,最大的區別在于高速緩存上。
Celeron(賽揚)處理器
最初的Celeron是沒有二級緩存的,目的是降低成本來奪取低端市場的份額,就像當年在386、486上,制造386SX、486SX簡化版的做法一樣。但是很遺憾的是,完全沒有二級緩存的Celeron處理器效能極差,消費者并不買帳,因此很快英特爾就調整戰略:將Celeron處理器的二級緩存設定為只有Pentium II的一半(也就是128KB),這樣既有合理的效能,又有相對低廉的售價;這樣的策略一直延續到今天。
不過很快有人發現,使用雙Celeron的系統與雙Pentium II的系統差距不大,而價格卻便宜很多,結果造成了Celeron沖擊高端市場的局面。后來英特爾決定取消Celeron處理器的SMP功能,才解決了這個問題。可以看出,Celeron與Pentium II是英特爾決定將高低產品線用不同的品牌區分的開始,事實也證明這種市場策略的成功。Pentium II Xeon,PRO的繼承者。
●Pentium III處理器
老PIII的照片
新封裝的PIII照片
同年,英特爾又發布了Pentium III處理器。從Pentium III開始,英特爾又引入了70條新指令(SIMD,SSE),主要用于因特網流媒體擴展(提升網絡演示多媒體流、圖像的性能)、3D、流式音頻、視頻和語音識別功能的提升。Pentium III可以使用戶有機會在網絡上享受到高質量的影片,并以3D的形式參觀在線博物館、商店等。
●Pentium III Xeon,決戰服務器市場
Pentium III Xeon
PIII的核心照片
與此同年,英特爾還發布了Pentium III Xeon處理器。作為Pentium II Xeon的后繼者,除了在內核架構上采納全新設計以外,也繼承了Pentium III處理器新增的70條指令集,以更好執行多媒體、流媒體應用軟件。除了面對企業級的市場以外,Pentium III Xeon加強了電子商務應用與高階商務計算的能力。在緩存速度與系統總線結構上,也有很多進步,很大程度提升了性能,并為更好的多處理器協同工作進行了設計。<
●Pentium 4、Celeron,一統江湖的風云
2000年英特爾發布了Pentium 4處理器。用戶使用基于Pentium 4處理器的個人電腦,可以創建專業品質的影片,透過因特網傳遞電視品質的影像,實時進行語音、影像通訊,實時3D渲染,快速進行MP3編碼解碼運算,在連接因特網時運行多個多媒體軟件。這是目前空前強大的個人電腦處理器產品,仍然在繼續銷售中。
P4 423Pin
P4 478Pin
Pentium 4處理器集成了4200萬個晶體管,到了改進版的Pentium 4(Northwood)更是集成了5千5百萬個晶體管;并且開始采用0.18微米進行制造,初始速度就達到了1.5GHz(gigahertz),相當于從舊金山到紐約只花了13秒的車程(當然,沒人有這么快的汽車)。
Pentium 4還引入了NetBurst新結構,以下是NetBurst結構帶來的好處:
1.較快的系統總線(Faster System Bus);
2.高級傳輸緩存(Advanced Transfer Cache);
3.高級動態執行(Advanced Dynamic Execution) (包含執行追蹤緩存Execution Trace Cache、高級分支預測Enhanced Branch Prediction)
4.超長管道處理技術(Hyper Pipelined Technology);
5.快速執行引擎(Rapid Execution Engine);
6.高級浮點以及多媒體指令集(SSE2)等等。
當程序指令與數據一開始進入處理時,就會進入系統總線隊列。Pentium 3處理器外頻FSB設定在133Mhz,每時鐘周期傳輸64位數據,提供8字節*133Mhz=1066MB/s的數據帶寬;而Pentium 4處理器的系統總線雖然僅為100Mhz,同樣是64位數據帶寬,但由于其利用了與AGP4X相同的原理“四倍速”(即FSB400)技術,因此可傳輸高達3200MB/秒的數據傳輸速度。
因此,Pentium 4處理器傳輸數據到系統的其他部分比目前所有的x86處理器都快,也打破了Pentium 3處理器受系統總線瓶頸的限制。其后英特爾又不斷改進系統總線技術,推出了FSB533、FSB800的新規格,將數據傳輸速度進一步提升。并且在最新的Pentium 4處理器,英特爾已經支持雙通道DDR技術,讓內存與處理器傳輸速度也有很大的改進。
Pentium 4還提供的SSE2指令集,這套指令集增加144個全新的指令,在128bit壓縮的數據,在SSE時,僅能以4個單精度浮點值的形式來處理,而在SSE2指令集,該資料能采用多種數據結構來處理:
4個單精度浮點數(SSE)對應2個雙精度浮點數(SSE2);對應16字節數(SSE2);對應8個字數(word);對應4個雙字數(SSE2);對應2個四字數(SSE2);對應1個128位長的整數(SSE2) 。
而Pentium 4也有對應型號的Celeron處理器,來應對低端市場。
Pentium 4 Willamette 核心照片
Pentium 4 Northwood 核心照片
P4 Celeron 照片
XEON:Pentium 4的至強版本
XEON MP:Pentium 4的至強版本<
●Itanium,64位元的時代來臨
Itanium的照片
Itanium的照片
2001年英特爾發布了Itanium(安騰)處理器。Itanium處理器是英特爾第一款64位元的產品。這是為優異、企業級服務器及工作站設計的,在Itanium處理器中體現了一種全新的設計思想,完全是基于平行并發計算而設計(EPIC)。對于最苛求性能的企業或者需要高性能運算功能支持的應用(包括電子交易安全處理、超大型數據庫、電腦輔助機械引擎、尖端科學運算等)而言,Itanium處理器基本是PC處理器中唯一的選擇。
Itanium 2的照片
Itanium 2處理器是以Itanium架構為基礎所建立與擴充的產品。提供了二位元的相容性,可與專為第一代Itanium處理器優化編譯的應用程序兼容,并大幅提升了50%~100%的效能。Itanium 2具有6.4GB/sec的系統總線帶寬、高達3MB的L3緩存,據英特爾稱Itanium 2的性能,足足比Sun Microsystems的硬件平臺高出50%。
Itanium核心的照片
Itanium2核心的照片<
●Pentium M,移動、網絡、節能的鐵騎
2003年英特爾發布了Pentium M處理器。以往雖然有移動版本的Pentium II、III,甚至是Pentium 4-M產品,但是這些產品仍然是基于臺式電腦處理器的設計,再增加一些節能,管理的新特性而已。即便如此,Pentium III-M和Pentium 4-M的能耗遠高于專門為移動運算設計的CPU,例如全美達的處理器。
英特爾Pentium M處理器結合了855芯片組家族與Intel PRO/Wireless2100網絡聯機技術,成為英特爾Centrino(迅馳)移動運算技術的最重要組成部分。Pentium M處理器可提供高達1.60GHz的主頻速度,并包含各種效能增強功能,如:非常好的化電源的400MHz系統總線、微處理作業的融合(Micro-OpsFusion)和專門的堆棧管理器(Dedicated Stack Manager),這些工具可以快速執行指令集并節省電力。
更關鍵的是,Pentium M處理器加上802.11的無線WiFi技術,就構成了英特爾Centrino(迅馳)移動運算技術的整套解決方案。這樣不僅具備了節能、長續航時間的優點,更領導了目前流行的無線網絡風尚。因此,IBM、Sony、HP等各大筆記本電腦廠商已經全面轉用Pentium M處理器來制造自己的主流產品。
附上相關圖片:
比比大小的照片:Pentium M
順便把Mobile Pentium II的照片補上
Mobile Celeron
Mobile Pentium III<
● 接下來該介紹AMD的CPU了
首先是AMD8080
AMD8088-2-BQA
AMDAMZ8002
AMDAMZ8068DC
AMDD8086
AMDC80186-3
AMDCG80286-8-C2
AMDAm29000-25GC
AMDAm29030-25GC
AMDAm29040-33GC
AMDA80386DXL-33
AMDNG80386SXL-33
AMDNG80386DX-40
AMDA80486SX2-66
AMDK5PR100ABQ
AMDK5PR133ABQ
AMDK6200ALYD
k6-300A
k6-2-350
k6-iii
AMD athlon
一顆有紀念意義的CPU
thunderbird核心的athlon
duron(毒龍)
palomino核心的athlon xp 2000+
thunderbird核心的athlon
K8 754pin的圖片
K8 754pin,封裝不同
K8 940pin
接下來是PCPOP編輯室奉獻的:
K8 939pin,正面
K8 939pin,背面
傳說中的FX55<
●AMD處理器部分產品核心實照
AMD K5核心照片
AMD K6核心照片
AMD K6-2核心照片
AMD K7 (Athlon)
AMD K6-III核心照片
AMD Opteron(K8)核心照片<
●CPU常規知識匯總
CPU又叫中央處理器,是英文單詞Central Processing Unit的縮寫,負責對信息和數據進行運算和處理,并實現本身運行過程的自動化。在早期的計算機當中,CPU被分成了運算器和控制器兩個部分,后來由于電路集成度的提高,在微處理器問世時,就將它們都集成在一個芯片中了。需要智能控制、大量信息處理的地方就會用到CPU。
CPU有通用CPU和嵌入式CPU,通用和嵌入式的分別,主要是根據應用模式的不同而劃分的。通用CPU芯片的功能一般比較強,能運行復雜的操作系統和大型應用軟件。嵌入式CPU在功能和性能上有很大的變化范圍。隨著集成度的提高,在嵌入式應用中,人們傾向于把CPU、存儲器和一些外圍電路集成到一個芯片上,構成所謂的系統芯片(簡稱為SOC),而把SOC上的那個CPU成為CPU芯核。
■CPU的流派
現在,指令系統的優化設計有兩個截然相反的方向。一個是增強指令的功能,設置一些功能復雜的指令,把一些原來有軟件實現的常用功能改用硬件的指令系統來實現,這種計算機成為復雜指令系統計算機。早期Intel的X86指令體系就是一種CISC指令結構。
RISC是Reduced Instruction Set Computer的縮寫中文翻譯成精簡指令系統計算機,是八十年代發展起來的,盡量簡化指令功能,只保留那些功能簡單,能在一個節拍內執行完成的指令,較復雜的功能用一段子程序來實現,這種計算機系統成為精簡指令系統計算機。目前采用RISC體系結構的處理器的芯片廠商有SUN、SGI、IBM的Power PC系列、DEC公司的Alpha系列、Motorola公司的龍珠和Power PC等等。
■MIPS體系
MIPS是世界上很流行的一種RISC處理器。MIPS的意思是"無內部互鎖流水級的微處理器"(Microprocessor without interlocked piped stages),其機制是盡量利用軟件辦法避免流水線中的數據相關問題。他最早是在80年代初期由斯坦福(Stanford)大學Hennessy教授領導的研究小組研制出來的。MIPS公司的R系列就是在此基礎上開發的RISC工業產品的微處理器。這些系列產品以為很多打計算機公司采用構成各種工作站和計算機系統。<
■指令系統
要講CPU,就必須先講一下指令系統。指令系統指的是一個CPU所能夠處理的全部指令的集合,是一個CPU的根本屬性。比如我們現在所用的CPU都是采用x86指令集的,他們都是同一類型的CPU,不管是PIII、Athlon或Joshua。我們也知道,世界上還有比PIII和Athlon快得多的CPU,比如Alpha,但它們不是用x86指令集,不能使用數量龐大的基于x86指令集的程序,如Windows98。之所以說指令系統是一個CPU的根本屬性,是因為指令系統決定了一個CPU能夠運行什么樣的程序。
所有采用高級語言編出的程序,都需要翻譯(編譯或解釋)成為機器語言后才能運行,這些機器語言中所包含的就是一條條的指令。
1、指令的格式
一條指令一般包括兩個部分:操作碼和地址碼。操作碼其實就是指令序列號,用來告訴CPU需要執行的是那一條指令。地址碼則復雜一些,主要包括源操作數地址、目的地址和下一條指令的地址。在某些指令中,地址碼可以部分或全部省略,比如一條空指令就只有操作碼而沒有地址碼。
舉個例子吧,某個指令系統的指令長度為32位,操作碼長度為8位,地址長度也為8位,且第一條指令是加,第二條指令是減。當它收到一個“00000010000001000000000100000110”的指令時,先取出它的前8位操作碼,即00000010,分析得出這是一個減法操作,有3個地址,分別是兩個源操作數地址和一個目的地址。于是,CPU就到內存地址00000100處取出被減數,到00000001處取出減數,送到ALU中進行減法運算,然后把結果送到00000110處。
這只是一個相當簡單化的例子,實際情況要復雜的多。
2、指令的分類與尋址方式
一般說來,現在的指令系統有以下幾種類型的指令:
(1) 算術邏輯運算指令
算術邏輯運算指令包括加減乘除等算術運算指令,以及與或非異或等邏輯運算指令。現在的指令系統還加入了一些十進制運算指令以及字符串運算指令等。
(2) 浮點運算指令
用于對浮點數進行運算。浮點運算要大大復雜于整數運算,所以CPU中一般還會有專門負責浮點運算的浮點運算單元。現在的浮點指令中一般還加入了向量指令,用于直接對矩陣進行運算,對于現在的多媒體和3D處理很有用。
(3) 位操作指令
學過C的人應該都知道C語言中有一組位操作語句,相對應的,指令系統中也有一組位操作指令,如左移一位右移一位等。對于計算機內部以二進制不碼表示的數據來說,這種操作是非常簡單快捷的。
(4) 其他指令
上面三種都是運算型指令,除此之外還有許多非運算的其他指令。這些指令包括:數據傳送指令、堆棧操作指令、轉移類指令、輸入輸出指令和一些比較特殊的指令,如特權指令、多處理器控制指令和等待、停機、空操作等指令。
對于指令中的地址碼,也會有許多不同的尋址(編址)方式,主要有直接尋址,間接尋址,寄存器尋址,基址尋址,變址尋址等,某些復雜的指令系統會有幾十種甚至更多的尋址方式。<
3、 CISC與RISC
CISC,Complex Instruction Set Computer,復雜指令系統計算機。RISC,Reduced Instruction Set Computer,精簡指令系統計算機。雖然這兩個名詞是針對計算機的,但下文我們仍然只對指令集進行研究。
(1) CISC的產生、發展和現狀
一開始,計算機的指令系統只有很少一些基本指令,而其他的復雜指令全靠軟件編譯時通過簡單指令的組合來實現。舉個最簡單的例子,一個a乘以b的操作就可以轉換為a個b相加來做,這樣就用不著乘法指令了。當然,最早的指令系統就已經有乘法指令了,這是為什么呢?因為用硬件實現乘法比加法組合來得快得多。
由于那時的計算機部件相當昂貴,而且速度很慢,為了提高速度,越來越多的復雜指令被加入了指令系統中。但是,很快又有一個問題:一個指令系統的指令數是受指令操作碼的位數所限制的,如果操作碼為8位,那么指令數最多為256條(2的8次方)。
那么怎么辦呢?指令的寬度是很難增加的,聰明的設計師們又想出了一種方案:操作碼擴展。前面說過,操作碼的后面跟的是地址碼,而有些指令是用不著地址碼或只用少量的地址碼的。那么,就可以把操作碼擴展到這些位置。
舉個簡單的例子,如果一個指令系統的操作碼為2位,那么可以有00、01、10、11四條不同的指令。現在把11作為保留,把操作碼擴展到4位,那么就可以有00、01、10、1100、1101、1110、1111七條指令。其中1100、1101、1110、1111這四條指令的地址碼必須少兩位。
然后,為了達到操作碼擴展的先決條件:減少地址碼,設計師們又動足了腦筋,發明了各種各樣的尋址方式,如基址尋址、相對尋址等,用以最大限度的壓縮地址碼長度,為操作碼留出空間。
就這樣,慢慢地,CISC指令系統就形成了,大量的復雜指令、可變的指令長度、多種的尋址方式是CISC的特點,也是CISC的缺點:因為這些都大大增加了解碼的難度,而在現在的高速硬件發展下,復雜指令所帶來的速度提升早已不及在解碼上浪費點的時間。除了個人PC市場還在用x86指令集外,服務器以及更大的系統都早已不用CISC了。x86仍然存在的唯一理由就是為了兼容大量的x86平臺上的軟件。
(2) RISC的產生、發展和現狀
1975年,IBM的設計師John Cocke研究了當時的IBM370CISC系統,發現其中占總指令數僅20%的簡單指令卻在程序調用中占了80%,而占指令數80%的復雜指令卻只有20%的機會用到。由此,他提出了RISC的概念。
事實證明,RISC是成功的。80年代末,各公司的RISC CPU如雨后春筍般大量出現,占據了大量的市場。到了90年代,x86的CPU如pentium和k5也開始使用先進的RISC核心。
RISC的最大特點是指令長度固定,指令格式種類少,尋址方式種類少,大多數是簡單指令且都能在一個時鐘周期內完成,易于設計超標量與流水線,寄存器數量多,大量操作在寄存器之間進行。由于下文所講的CPU核心大部分是講RISC核心,所以這里就不多介紹了,對于RISC核心的設計下面會詳細談到。
RISC目前正如日中天,Intel的Itanium也將最終拋棄x86而轉向RISC結構。<
■CPU內核結構
好吧,下面來看看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、通用寄存器組
通用寄存器組是一組最快的存儲器,用來保存參加運算的操作數和中間結果。
在通用寄存器的設計上,RISC與CISC有著很大的不同。CISC的寄存器通常很少,主要是受了當時硬件成本所限。比如x86指令集只有8個通用寄存器。所以,CISC的CPU執行是大多數時間是在訪問存儲器中的數據,而不是寄存器中的。這就拖慢了整個系統的速度。而RISC系統往往具有非常多的通用寄存器,并采用了重疊寄存器窗口和寄存器堆等技術使寄存器資源得到充分的利用。
對于x86指令集只支持8個通用寄存器的缺點,Intel和AMD的最新CPU都采用了一種叫做“寄存器重命名”的技術,這種技術使x86CPU的寄存器可以突破8個的限制,達到32個甚至更多。不過,相對于RISC來說,這種技術的寄存器操作要多出一個時鐘周期,用來對寄存器進行重命名。
4、專用寄存器
專用寄存器通常是一些狀態寄存器,不能通過程序改變,由CPU自己控制,表明某種狀態。
二 控制器
運算器只能完成運算,而控制器用于控制著整個CPU的工作。
1、指令控制器
指令控制器是控制器中相當重要的部分,它要完成取指令、分析指令等操作,然后交給執行單元(ALU或FPU)來執行,同時還要形成下一條指令的地址。
2、時序控制器
時序控制器的作用是為每條指令按時間順序提供控制信號。時序控制器包括時鐘發生器和倍頻定義單元,其中時鐘發生器由石英晶體振蕩器發出非常穩定的脈沖信號,就是CPU的主頻;而倍頻定義單元則定義了CPU主頻是存儲器頻率(總線頻率)的幾倍。
3、總線控制器
總線控制器主要用于控制CPU的內外部總線,包括地址總線、數據總線、控制總線等等。
4、中斷控制器
中斷控制器用于控制各種各樣的中斷請求,并根據優先級的高低對中斷請求進行排隊,逐個交給CPU處理。
三 CPU核心的設計
CPU的性能是由什么決定的呢?單純的一個ALU速度在一個CPU中并不起決定性作用,因為ALU的速度都差不多。而一個CPU的性能表現的決定性因素就在于CPU內核的設計。
1、超標量(Superscalar)
既然無法大幅提高ALU的速度,有什么替代的方法呢?并行處理的方法又一次產生了強大的作用。所謂的超標量CPU,就是只集成了多個ALU、多個FPU、多個譯碼器和多條流水線的CPU,以并行處理的方式來提高性能。
超標量技術應該是很容易理解的,不過有一點需要注意,就是不要去管“超標量”之前的那個數字,比如“9路超標量”,不同的廠商對于這個數字有著不同的定義,更多的這只是一種商業上的宣傳手段。<
2、流水線(Pipeline)
流水線是現代RISC核心的一個重要設計,它極大地提高了性能。
對于一條具體的指令執行過程,通常可以分為五個部分:取指令,指令譯碼,取操作數,運算(ALU),寫結果。其中前三步一般由指令控制器完成,后兩步則由運算器完成。按照傳統的方式,所有指令順序執行,那么先是指令控制器工作,完成第一條指令的前三步,然后運算器工作,完成后兩步,在指令控制器工作,完成第二條指令的前三步,在是運算器,完成第二條指令的后兩部……很明顯,當指令控制器工作是運算器基本上在休息,而當運算器在工作時指令控制器卻在休息,造成了相當大的資源浪費。解決方法很容易想到,當指令控制器完成了第一條指令的前三步后,直接開始第二條指令的操作,運算單元也是。這樣就形成了流水線系統,這是一條2級流水線。
如果是一個超標量系統,假設有三個指令控制單元和兩個運算單元,那么就可以在完成了第一條指令的取址工作后直接開始第二條指令的取址,這時第一條指令在進行譯碼,然后第三條指令取址,第二條指令譯碼,第一條指令取操作數……這樣就是一個5級流水線。很顯然,5級流水線的平均理論速度是不用流水線的4倍。
流水線系統最大限度地利用了CPU資源,使每個部件在每個時鐘周期都工作,大大提高了效率。但是,流水線有兩個非常大的問題:相關和轉移。
在一個流水線系統中,如果第二條指令需要用到第一條指令的結果,這種情況叫做相關。以上面哪個5級流水線為例,當第二條指令需要取操作數時,第一條指令的運算還沒有完成,如果這時第二條指令就去取操作數,就會得到錯誤的結果。所以,這時整條流水線不得不停頓下來,等待第一條指令的完成。這是很討厭的問題,特別是對于比較長的流水線,比如20級,這種停頓通常要損失十幾個時鐘周期。目前解決這個問題的方法是亂序執行。亂序執行的原理是在兩條相關指令中插入不相關的指令,使整條流水線順暢。比如上面的例子中,開始執行第一條指令后直接開始執行第三條指令(假設第三條指令不相關),然后才開始執行第二條指令,這樣當第二條指令需要取操作數時第一條指令剛好完成,而且第三條指令也快要完成了,整條流水線不會停頓。當然,流水線的阻塞現象還是不能完全避免的,尤其是當相關指令非常多的時候。
另一個大問題是條件轉移。在上面的例子中,如果第一條指令是一個條件轉移指令,那么系統就會不清楚下面應該執行那一條指令?這時就必須等第一條指令的判斷結果出來才能執行第二條指令。條件轉移所造成的流水線停頓甚至比相關還要嚴重的多。所以,現在采用分支預測技術來處理轉移問題。雖然我們的程序中充滿著分支,而且哪一條分支都是有可能的,但大多數情況下總是選擇某一分支。比如一個循環的末尾是一個分支,除了最后一次我們需要跳出循環外,其他的時候我們總是選擇繼續循環這條分支。根據這些原理,分支預測技術可以在沒有得到結果之前預測下一條指令是什么,并執行它。現在的分支預測技術能夠達到90%以上的正確率,但是,一旦預測錯誤,CPU仍然不得不清理整條流水線并回到分支點。這將損失大量的時鐘周期。所以,進一步提高分支預測的準確率也是正在研究的一個課題。
越是長的流水線,相關和轉移兩大問題也越嚴重,所以,流水線并不是越長越好,超標量也不是越多越好,找到一個速度與效率的平衡點才是最重要的。<
■CPU的外核
1、解碼器(Decode Unit)
這是x86CPU才有的東西,它的作用是把長度不定的x86指令轉換為長度固定的類似于RISC的指令,并交給RISC內核。解碼分為硬件解碼和微解碼,對于簡單的x86指令只要硬件解碼即可,速度較快,而遇到復雜的x86指令則需要進行微解碼,并把它分成若干條簡單指令,速度較慢且很復雜。好在這些復雜指令很少會用到。
Athlon也好,PIII也好,老式的CISC的x86指令集嚴重制約了他們的性能表現。
2、一級緩存和二級緩存(Cache)
以及緩存和二級緩存是為了緩解較快的CPU與較慢的存儲器之間的矛盾而產生的,以及緩存通常集成在CPU內核,而二級緩存則是以OnDie或OnBoard的方式以較快于存儲器的速度運行。對于一些大數據交換量的工作,CPU的Cache顯得尤為重要。<
●Cyrix CPU介紹
突然想起來,X86架構的CPU還有Cyrix公司啊!那我們就接著回顧吧。
M1

M1 ,背面
100MHz的M1
100MHz的M1,背面
還是M1,不過公司名稱換了
換了名稱的M1,背面
M1系列的核心照片(其中的一張)
M2打開后蓋的照片
M2核心照片
打著IBM標記的M2
打著IBM標記的M2,背面
Cyrix標記的M2
Cyrix標記的M2,背面

這顆M2樣子比較酷啊,像巧克力
上圖CPU的背面
Cyrix被VIA吞并后,于是VIA的Cyrix出現了,這就是M3系列
“JOSHUA”
M3<
● NexGen 處理器(多圖秀)
NexGen的Nx586
背面
NexGen的Nx586FP
背面
NexGen Nx686
背面
NexGen Nx686的另外一種樣子
背面<
● IDT、Transmeta CPU介紹
接著回顧從前的CPU……
這次該IDT公司的CPU了。
這是一顆586級別的CPU
背面
這顆CPU的核心照片
Rise mP6
背面
Transmeta公司的TM3200
Transmeta公司的TM5400
Transmeta公司的TM5600
Transmeta公司的TM5800
Transmeta公司的TM5900
Transmeta公司的TM8600
背面<
●APPLE(蘋果)電腦 圖片串串秀
從最古老的蘋果電腦開始,貼蘋果系列CPU的照片。
Apple 1型
那個時候的CPU還沒有能夠獨立,需要N多的外部電路來配合,看吧,有點恐怖是不是?
說是CPU,還不如說是主板……
接下來到了Apple II。
Apple II總共有5種機型,下面是這5種機型的圖片
一氣呵成,Apple Ⅱ(多圖)
到了AppleIII了
AppleIII使用的CPU(實際上就是整塊的主板)
AppleIII的技術參數:
中央處理器:SynerTek 6502A
中央處理器速度:2 Mhz
協處理器:沒有
總線速度:2 Mhz
數據路徑:8 位
只讀存儲器: 4 kb
內存:128 kb
最大的內存: 256 kb
最大的分辨率:80x24 text, 1 bit (B&W) 590x192
軟盤驅動器: 143k 5.25"
串口:可選
聲音:單聲道
這款蘋果有個很別致的名字:Lisa
這臺機子使用的是Motorola MC68000
從這臺機子開始,終于有了比較清晰的CPU照片
中央處理器: Motorola MC68000
中央處理器速度:5 Mhz
協處理器:沒有
下一款:Macintosh 128K 512K Plus型
開始上市時間:1984年一月
終止銷售時間:1990年十月
上面這款使用的還是Motorola MC68000CPU,只不過中央處理器速度提升到了8Mhz

Macintosh SE,還是使用Motorola MC68000CPU,不過這款蘋果有兩種型號,另外一款用的是Motorola MC68030CPU,速度提升到了16M

Motorola MC68030CPU

Macintosh II
技術參數:
中央處理器: Motorola MC68020
中央處理器速度:16 Mhz
協處理器:68881
總線速度:16 Mhz
數據路徑:32 bit
只讀存儲器: 256 kb
內存類型:30 pin SIMM
內存速度: 130 ns
內存插槽:8
最大的內存:20 MB (68 MB via FDHD upgrade kit)
一級緩存:0.25 kb
音頻輸出: 多聲道
總線插槽:6 NuBus
軟盤驅動器:1 or 2 800k 3.25" (可升級到SuperDrive)
硬盤:40-80 MB
ADB: 2
串口:2
SCSI: DB-25
聲音輸出: 8-bit 立體聲
功率:230 W
重量:24 lbs.
體積: 5.5" H x 18.7" W x 14.4" D
可使用操作系統最高版本:7.5.5
開始上市時間:1987年三月
終止銷售時間:1990年一月

Motorola MC68020 CPU
Macintosh Portable
這款機子的主板
技術參數:
中央處理器: Motorola 68HC000
中央處理器速度:16 Mhz
總線速度:16 Mhz
內存:1 MB到9MB
只讀存儲器: 256 kb
一級緩存: 0.5 kb
顯示器:10-inch 黑白液晶
顯示分辨率:640 X 400 pixels
硬盤: 40 MB SCSI
ADB: 1
串口:2
SCSI: DB-25
視頻接口
軟盤驅動器:1.4 MB SuperDrive
電池:6.5伏,5安培
重量:7,2 Kg
操作系統:6.04到7.5.5
開始上市時間:1989年九月
終止銷售時間:1991年十月
總線速度:5 Mhz
Macintosh Quadra 700 Quadra 900
中央處理器: Motorola MC68040
中央處理器速度: 25 Mhz
協處理器:與處理器合一
總線速度:25 Mhz
數據路徑:32 bit
只讀存儲器: 1 MB
內存類型:30 pin SIMM
內存速度:80 ns
最大的內存:68 MB
一級緩存: 8 kb
VRAM: 512 k - 2 MB
顯示器支持:1152x870
總線插槽:2 NuBus, 1 PDS
軟盤驅動器:1.4 MB SuperDrive
硬盤:80-400 MB
以太網 AAUI-15
ADB:2
串口:2
SCSI:DB-25
視頻輸出:DB-15
音頻輸出:8位立體聲
音頻輸入:8位單聲道
功率:50 W
重量:13.6 lbs.
體積:5.5" H x 11.9" W x 14.4" D
操作系統:7.1到8.1
開始上市時間:1991年十月
終止銷售時間:1993年五月
售價:6,000美元
Motorola MC68040
曾經用在下列蘋果機上
Macintosh Centris 610
Macintosh LC 475
Macintosh LC 575
Macintosh LC 580
Macintosh Quadra 605
PowerBook 190
PowerBook 190cs
PowerBook 520
PowerBook 520c
PowerBook 540
PowerBook 540c
PowerBook Duo 280
PowerBook Duo 280c
這些蘋果用過:
Power Macintosh 6100
Power Macintosh 7100
Power Macintosh 7200
Power Macintosh 8100
Power Macintosh 8200
Workgroup Server 6150
Workgroup Server 8150
Workgroup Server 9150
PowerPC 601
另外的外形
Power Macintosh 5200 LC、Power Macintosh 6200 曾使用過
603e
Power Macintosh 4400
Power Macintosh 5260 LC
Power Macintosh 5300 LC
Power Macintosh 6300/120
Power Macintosh 7220
PowerBook 1400c/cs
PowerBook 5300
PowerBook 5300c
PowerBook 5300ce
PowerBook 5300cs
PowerBook Duo 2300c
604
Network Server 500/700
Power Macintosh 7600
Power Macintosh 8500
Power Macintosh 9500
Workgroup Server 8550
PowerPC 7400
Power Macintosh G4 (AGP Graphics)
Power Macintosh G4 (Gigabit Ethernet)
Power Macintosh G4 (PCI Graphics)
Power Macintosh G4 Cube

這臺蘋果用的就是這顆7400,大家應該很熟悉了吧
這顆CPU是筆記本用的
PowerPC 7450
eMac
iMac (17")
iMac (Flat Panel)
Power Macintosh G4 (Digital Audio)
Power Macintosh G4 (Quicksilver)
PowerBook G4 (Gigabit Ethernet)
PowerPC 7455
iMac (Early 2003)
Power Macintosh G4 (FireWire 800)
Power Macintosh G4 (Mirrored Drive Doors)
Power Macintosh G4 (Quicksilver 2002)
PowerBook G4 (1 Ghz/867 Mhz)
PowerBook G4 (12.1")
PowerBook G4 (17")
PowerBook G4 (DVI)
Xserve
Xserve (Cluster Node)
Xserve (Slot Load) / Xserve RAID
iMac (USB 2)
PowerPC 750FX
PowerPC 750CX
接下來到了最新的G5所用的CPU了,
這是一顆64位的CPU

這是正經的G5啊!<
●我們國產的CPU——龍芯
龍芯一號CPU是神州龍芯公司推出的兼顧通用及嵌入式CPU特點的新一代32位CPU,是以中國科學院計算技術研究所研制的通用CPU為核心,由神州龍芯公司擁有知識產權。基于0.18微米CMOS工藝的龍芯一號32位微處理器的投片成功,并通過了以SPEC CPU2000為代表的一批性能和功能測試程序的嚴格測試,標志著我國在現代通用微處理器設計方面實現了"零"的突破, 打破了我國長期依賴國外CPU產品的無"芯"的歷史,也標志著國產安全服務器CPU和通用的嵌入式微處理器產業化的開始。
龍心一號
龍芯一號在通用CPU體系結構設計方面采用了許多先進的微處理器的設計與實現技術,在動態流水線的具體實現和硬件對系統安全性的支持方面,有獨特創新,并申請了專利。 龍芯一號CPU在片內提供了一種特別設計的硬件機制,可以抗御緩沖區溢出攻擊。在硬件上根本抵制了緩沖區溢出類攻擊的危險,從而大大的增加的服務器的安全性。因此,使用龍芯一號CPU可以構成更為安全的網絡安全服務器、網絡安全網關、網際防火墻、服務器網卡等對網絡安全有特殊需求的產品及應用。基于龍芯CPU的網絡安全設備可以滿足國家政府部門、廣大企業機關等對于網絡與信息系統安全的需求。
龍芯一號的開發主板
龍芯一號CPU采用0.18um CMOS工藝制造,具有良好的低功耗特性,平均功耗0.4瓦特,最大功耗不超過1瓦特。因此,龍芯一號CPU可以在大量的嵌入式應用領域中使用。
好象是工程樣品……
龍芯一號CPU可以運行大量的現有應用軟件與開發工具。支持最新版本的Linux、VxWork,Windows CE等操作系統。基于龍芯一號CPU的服務器,可以運行Apache Web、FTP、Email、NFS、X-Window等服務器軟件。
比較清楚的一張“龍心”
神州龍芯公司將推出GS32L、GS32I、GS32M低、中、高三個系列的龍芯微處理器,龍芯系列微處理器可廣泛應用于工業控制、信息家電、通訊、網絡設備、PDA、網絡終端、存儲服務器、安全服務器等產品上。
方舟科技的CPU
北大眾志的CPU
除了龍心,我們還有……
龍芯2號的照片
目前的龍芯2號最高頻率為300MHz,功耗1W-2W,成品率約為80%左右。通過使用相關測試對龍芯2號的性能分析表明,相同主頻下龍芯2號的性能已經明顯超過PII,達到PIII的水平,設計人員稱龍芯2號的設計SPEC CPU2000分值可達到300分以上,設計頻率在500MHz以上時性能可與1GHz以上的PIII或PIV的性能相當。<
關注我們


