來到 CPU 發展史的第三回,本節站長要談的是俗稱 586 世代的部分,站長在劃分上稱其為「中古時代後期」,比起前面那些過於古老的「收藏品」,進入這個階段以後,大家應該會覺得比較有親切感、比較熟悉一些吧?實際上從這裡開始也是 x86 CPU 發展史真正要開始有趣的地方,一方面是 AMD 終於開始研製自家設計的 CPU 了,另一方面則是電腦資訊科技產業的發展差不多就是在此時正式進入突飛猛進的階段。

中古時代後期-電腦資訊科技起飛 (上)

「奔騰」家族的元老:Intel Pentium (1993 – 1999)

Pentium 的由來

pentium

其實 Intel 本來應該是打算延續過去的命名方式,將 80486 的下一代命名為 80586 的,但由於當時 Intel 對其他競爭廠商使用相近命名方式,甚至是在「命名數字」上超越 Intel 的作法感到困擾 (例如 AMD 搞了一款稱為 Am5x86 的產品,看起來很像 586 世代,不過其實只是 486 ,而美國的商標法又規定純數字不能作為商標使用,因此 Intel 就有了幫旗下產品取一個英文名字的需求,最後就決定定名為 Pentium,含意是由希臘語中的「penta」(第五,代表第五世代 x86 處理器) 與拉丁文中用於代表「元素」的字尾 -ium 組成 (代表 CPU 是電腦不可或缺的元素)。

Pentium 的主要改進

Pentium 比起 486 來說進步其實蠻明顯的,首先是引入了超純量架構 (Superscalar),能在處理器核心中執行指令的平行運算,透過允許處理器同時分派多個指令給不同的功能單元處理,來讓處理器能在一個時脈周期下執行多個指令,讓處理器在相同的頻率下能有更高的吞吐率 (throughput),Pentium 具有兩組資料路徑 (datapath) 來達成這樣的效果。

除了引入超純量架構之外,Pentium 也開始真正具有現代化的指令管線化設計,成為具有 2 條 5 階管線設計的循序處理超純量 CPU。

至於 Pentium 的資料路徑則提高至 64-bit,可以一次從記憶體提取兩倍的資料量,但暫存器仍然為 32-bit,因此 Pentium 仍然是一款純粹的 32 位元 x86 處理器。

第一代:P5 Microarchitecture

  • 發佈時間:1993 年 03 月 22 日
  • 運作時脈:60 MHz ~ 66 MHz
  • L1 快取大小:16 KB (資料與指令各 8 KB)
  • 支援插槽:Socket 4 ( 273 針腳 PGA 封裝)
  • 電壓需求:5 V
  • 電晶體數:310 萬枚
  • 製造工藝:0.8 微米 (µm)

Intel_Pentium_80501

↑ Intel Pentium (P5, 80501)

從 Pentium 開始,我們區分 Intel CPU 產品換代的依據是以 Microarchitecture (微架構) 的開發代號區分,至於原因呢則是因為從 Pentium 開始,Intel 不再頻繁的更換處理器銷售時所使用的名稱,以近來的產品而言,不論是 Ivy Bridge, Haswell, Broadwell, Skylake,通通都使用 Core i 與 Pentium、Celeron 的命名,因此光從名稱其實已經很難判斷處理器是哪一代了。

P5_die_shot

↑ Intel Pentium (P5) Die shot

P5 架構是 Pentium 處理器的第一代產品,產品代碼為 80500 (工程樣品) 與 80501,有 60 MHz 與 66 MHz 兩個版本,使用 5 V 供電,快取也增大到 16 KB,基於 0.8 微米 BiCMOS 製造工藝,包含了 310 萬個電晶體 (是前代的將近三倍),不過 P5 的低時脈使其與 486 相比之下的效能優勢並不明顯,基於 5 V 的供電設計也帶來較高的能源消耗。

intel-pentium

↑ 兩種不同的 Intel Pentium 封裝方式

值得注意的是 Pentium 基本上是與上一代的 486 同時並存了蠻長一段時期,後來 Intel 還發展出了稱為 Pentium OverDrive 的產品,OverDrive 在今天來說是「超頻」的意思,而當年這款產品則是將 Pentium 經過大幅度的修改 (例如資料匯流排被降回 32-bit) 之後,讓 Pentium 的部分新特性可以用於 486 的電腦系統上,讓使用者可以不必重買整套電腦就能將現有的 486 電腦升級 (當然還是比不上全新的 Pentium 電腦的)。

另一件值得注意的事情是,早期基於 P5 微架構的 Pentium 處理器 (部分 60 MHz ~ 100 MHz 的型號) 內建的乘法表中,有 5 個數字有錯誤,在使用這些 Pentium 處理器進行浮點數除法時,在處理特定某些數字時就會得到不正確的結果,這事件稱為 Pentium FDIV bug (由一位大學教授 Thomas Nicely 在 1994 年 10 月提出)。

keychain_small

↑ Intel Pentium 鑰匙圈 (?)

儘管官方一開始以「正常使用下大約要七百年才會遇到這個問題,這幾乎不可能發生,所以不是什麼大問題」滅火,在網路上還可以找到當時台灣英特爾的公關是如何冷處理這件事情,不過要知道,電腦的本質其實就是計算機,消費者要一台算不出正確答案的計算機幹啥呢?所以理所當然事件並未因此平息,最終越演越烈的媒體迫使 Intel 在 1994 年底召回所有早期的 Pentium 產品。至於召回去的東西最後如何呢?大部分被 Intel 做成鑰匙圈了 XD

而且後來可能是發現有利可圖吧?Intel 還真的有一段時間會把做壞的處理器拿去做成鑰匙圈賣……

第二代:P54C Microarchitecture

  • 發佈時間:1994 年 10 月 10 日
  • 運作時脈:75 MHz ~ 120 MHz
  • FSB 時脈:50 MHz ~ 60 MHz
  • L1 快取大小:16 KB (資料與指令各 8 KB)
  • 支援插槽:Socket 5 ( 273 針腳 PGA 封裝) / Socket 7 ( 321 針腳 PGA 封裝)
  • 電壓需求:3.3 V
  • 電晶體數:320 萬枚
  • 製造工藝:0.6 微米 (µm)

Intel_Pentium_A80502_P54C

↑ Intel Pentium (P54C, 80502)

在 1994 年 10 月 Intel 推出了改良版的 Pentium 處理器,開發代號為 P54C (產品代碼為 80502),主要是將供電的部分修改為 3.3 V (後來當時與 Pentium 並存的 486 處理器也對應推出了 3.3 V 的版本) 並提供了新的電源管理功能與在 CPU 內整合了 APIC 與提供雙向多工的能力。

除此之外加入了倍頻器,運作時脈得以倍增並突破 100 MHz 大關,同時也是從此時開始,Pentium 與 486 之間的性能差距明顯拉開,Pentium 的架構優勢在時脈拉高之後帶來了讓人驚豔的效果,為了區別 P54C 與 P5 的差別,因此當時 P54C 又被稱為 Pentium-S。

P54C_die_shot

↑ Intel Pentium (P54C) Die shot

75 MHz 到 100 MHz 的 P54C 處理器中,也有部分型號有 P5 架構的 FDIV bug,因此同樣在召回列表中。

至於其他的改變則主要出現在製程上,P54C 採用 0.6 微米製造工藝,電晶體數則微幅增加到 320 萬。

Intel_Pentium_Overdrive_Socket4

↑ 用於 Socket 4 主機板的 Intel Pentium OverDrive

在這個時期裡出現了第二種 Pentium OverDrive,但與前作的意義不同,主要是讓 Socket 4 的主機板能使用時脈更高 ( 2 倍) 的 Pentium 處理器而不需要換成新的 Socket 5 (3.3 V 電壓) 主機板。

後來 Intel 又推出了第三種 Pentium OverDrive,能讓使用 Socket 5 主機板及 Pentium 75 ~ 100 MHz 的用戶使用比目前更高的時脈 (倍頻為 2.5 倍)。

第三代:P54CS Microarchitecture

  • 發佈時間:1995 年 06 月 10 日
  • 運作時脈:133 MHz ~ 200 MHz
  • FSB 時脈:60 MHz ~ 66 MHz
  • L1 快取大小:16 KB (資料與指令各 8 KB)
  • 支援插槽:Socket 7 ( 321 針腳 PGA 封裝)
  • 電壓需求:3.3 V
  • 電晶體數:330 萬枚
  • 製造工藝:0.35 微米 (µm)

Intel_Pentium_80502

↑ Intel Pentium (P54CS, 80502)

1995 年中釋出的 P54CS 則是製造工藝提升至 0.35 微米,並將晶片本體的面積從 148 mm2 降至  91 mm2,以實現更高的時脈,除此之外沒有太的變化。

P54CS_die_shot

↑ Intel Pentium (P54CS) dieshot

在 P54CS 與 P54C 之間則還有一款過渡時期的 P54CQS,是只降製造工藝,而不改變晶片本體面積的版本。

第四代:P55C Microarchitecture

  • 發佈時間:1997 年 01 月 08 日
  • 運作時脈:120 MHz ~ 233 MHz
  • FSB 時脈:60 MHz ~ 66 MHz
  • L1 快取大小:32 KB (資料與指令快取各 16 KB) 4-way
  • 支援插槽:Socket 7 ( 321 針腳 PGA 封裝)
  • 電壓需求:3.3 V
  • 電晶體數:450 萬枚
  • 製造工藝:0.35 微米 (µm)、0.28 微米 (µm)

Intel_Pentium_MMX_Processor_Logo

↑ Logo 上這麼大的 MMX,不難看出 Intel 多強調這個指令集的功用

P55C (產品代碼 80503) 是 Pentium 產品線的最後一次改版,同時也是規模最大的改版,在 P55C 中首次引入了 MMX 指令集,同時也將時脈再次往上拉高並將原有的五階管線深度改為六階。

P55C_die_shot

↑ Intel Pentium MMX (P55C) Die shot

 

為了彌補管線深度增加造成的分支預測失誤率與減少分支預測失誤時耗費的時間而強化相關功能並將 L1 快取的大小加倍、由 2-way 改為 4-way,同時晶片的 die size 也因此有明顯上升 ( 91 -> 141 )。

Pentium-mmx2

↑ Pentium MMX 的正面

由於加入了 MMX 指令集,因此在市場上是以 Intel Pentium Processor with MMX Technology 發售,由於 die size 上升造成成本的提高 (單一一塊晶圓能切出的 CPU 數量變少了),當時售價相當高昂。

Pentium-mmx1

↑ Pentium MMX 的背面

同時期又推出了第四種 Pentium OverDrive MMX,可以讓正在使用 Pentium 120 ~ 200 Mhz 的使用者使用更快的時脈 (倍頻為 3 或 2.5 倍) 並享有 MMX 技術帶來的優勢。

Intel_Pentium_MMX_Overdrive

↑ Intel Pentium OverDrive MMX

PENTIUM_OD

↑ 四種 Intel Pentium OverDrive 的比較
(由左而右依序為 Socket 4、Socket 3、Socket 5、Socket 5 或 Socket 7 (MMX) 四種)

筆電專屬版本:Tillamook

  • 發佈時間:1997 年 08 月
  • 運作時脈:166 MHz ~ 300 MHz
  • FSB 時脈:66 MHz
  • L1 快取大小:32 KB (資料與指令快取各 16 KB) 4-way
  • 支援插槽:MMC-1 (280 針可攜式電腦專用處理器卡匣)
  • 電壓需求:2.5 V
  • 電晶體數:450 萬枚
  • 製造工藝:0.25 微米 (µm)

TILLAMOOK

↑ 據說這個就是 Tillamook 的 MMC-1 模組的外型

Tillamook 這東西挺特別的,架構上大致與 P55C 相似,是只用於可攜式電腦 (如筆記型電腦) 的版本,但時脈卻比桌上型電腦使用的 P55C 還要更高,可以達到 300 MHz,除了規格很特別以外,外型也很奇特,是將 CPU 本體焊在一塊稱為 Mobile Module 的模組電路板上的組合。

採用的製造工藝也是所有 Pentium 當中最先進的,使用了 0.25 微米製造工藝,銷售時命名為 Mobile Pentium MMX。

Pentium 家族中的貴族:Pentium Pro (1995 ~ 1998)

  • 發佈時間:1995 年 11 月
  • 運作時脈:150 MHz ~ 200 MHz
  • FSB 時脈:60 MHz ~ 66 MHz
  • TDP:31.7 W ~ 44 W
  • L1 快取大小:16 KB (資料與指令快取各 8 KB) 4-way
  • L2 快取大小:256 KB / 512 KB / 1 MB
  • 支援插槽:Socket 8 ( 387 針腳 PGA 封裝)
  • 電壓需求:3.1 V ~ 3.3 V
  • 電晶體數:550 萬枚
  • 製造工藝:0.50 微米 (µm) ~ 0.35 微米 (µm)

PPRO_LOGO

Pentium Pro 是 Intel 的第六代 x86 處理器 (有些人會稱他為 i686),基於全新發展的 P6 微架構,與以往的架構大有不同。

Intel_Pentium_Pro

↑「長方形」的 Intel Pentium Pro,兩顆晶片一顆是核心,另一顆是 L2 快取

Pentium Pro 的改變有很多,其中最鮮明的大概是整合入處理器本體 (這時期 Intel 還沒有能力將 L2 快取整合到核心裡面,因此只是把核心跟快取兩塊晶片封裝在一起而已) 內的 L2 快取首次出現,從此讓對高速記憶體有龐大需求的亂序執行 (Out-of-order Execution,可以降低管線造成的延遲) 成為可能 (因為 L2 快取納入 CPU 本身之後就能以與 CPU 相同的時脈運作,而以往放在主機板上的 L2 快取則只能以 FSB 的時脈運作),對性能提升打下了穩固的基礎,而增加到 36-bit 的位址匯流排則允許 Pentium Pro 定址高達 64 GB 的記憶體。

Pentium_Pro_Black

↑ 站長覺得這顆快取 1 MB 的頂級版本超帥的,這是最早的「黑盒版」CPU 吧 XD

除此之外 Pentium Pro 還引入了一些 RISC 處理器的特性,例如將複雜 x86 指令拆解成 RISC 形式指令或將簡單 x86 指令結合成 RISC 形式指令的解碼器等 ( x86 處理器全部都是 CISC 複雜指令集處理器)。

Socket8

↑ 安裝在 Socket 8 上的 Pentium Pro,確實很有 Pro 的氣勢

同時 Pentium Pro 的管線化設計也與 Pentium 有明顯的不同,深度一口氣提高到 14 階 (當時稱為超級管線,Super-pipeline),也是首次可以支援多處理器 (至多可以同時安裝四個 Pentium Pro)。

QUAD_PPRO

↑ 各位觀眾,四個 CPU 插槽!

此外,由於 Pentium Pro 只對 32 位元程式最佳化,因此在執行傳統 16 位元程式時效能並不理想,甚至比 Pentium 還要差,因此在 Windows 9x 與 DOS 作業系統下表現不佳,在市場上表現可說是相當失敗,又加上缺乏 MMX 指令集的問題,因此在圖形計算方面也顯得非常貧弱,在 Pentium MMX 出現之後就更顯失色了。

PPRO_die_shot

↑ Intel Pentium Pro Die shot
(特別注意,L2 快取還沒整合到核心上,所以還是看不到現代 CPU 裡面大片同色的快取區域)

然後又加上 Pentium Pro 運作的溫度超高 (這也讓時脈拉不上去),價格又超貴,集各種賣不出去的因素於一身,因此沒多久就從市場上消失了。

PPRO_256KB

↑ 隔壁小顆的 L2 Cache 晶片的 die shot

不過 P6 架構本身的重要性並不隨著 Pentium Pro 的挫折而有所減損,實際上從 Pentium II 以降直到今日的 Core i7,除了中間的 Pentium 4 以外,全部都是以這 P6 架構為基礎發展出來的。

AMD 初試啼聲:AMD K5

  • 發佈時間:1996 年 03 月 27 日
  • 運作時脈:75 MHz ~ 133 MHz
  • FSB 時脈:50 MHz ~ 66 MHz
  • L1 快取大小:24 KB (資料快取 8 KB,指令快取 16 KB)
  • L2 快取大小:256 KB / 512 KB / 1 MB
  • 支援插槽:Socket 5 ( 273 針腳 PGA 封裝) / Socket 7 ( 321 針腳 PGA 封裝)
  • 電壓需求:3.525 V
  • 電晶體數:430 萬枚
  • 製造工藝:0.50 微米 (µm) ~ 0.35 微米 (µm)

AMD_K5_PR166_Front

↑ AMD K5 (5k86)

是的,AMD 終於出現了。AMD K5 是 AMD 第一次嘗試從頭到尾「靠自己」去設計一款 x86 處理器 (畢竟沒得抄了,而且隨著電腦產業產品生命週期的持續縮短,一直照抄下去永遠被 Intel 拋在後面也不是辦法),因此也是非常有代表意義的一款產品,主要是設計用來對抗 Pentium,不過實際上顯得有一點措手不及。

amd_k5_pr133_back

↑ AMD K5 的背面 (同樣是 Socket 7 規格)

K5 可分為前期與後期兩個階段,前期的產品稱為 SSA/5,後期則稱為 5k86 (發佈於 1996 年 10 月),兩款最後都是以 AMD K5 為名發售,其實兩款產品大同小異,主要是運作時脈與製造工藝的不同,SSA/5 的時脈為 75 MHz 至 100 MHz,5k86 則是從 90 MHz 起跳,最高到 133 MHz,前者有一部份產品基於 0.50 微米製造工藝,後者則全部都基於 0.35 微米製造工藝。

K5 的設計其實以當時來說是相當先進的,比起與 Pentium 相似來說其實更接近 Pentium Pro,但畢竟 AMD 的財力與團隊都不及 Intel,在開發過程中遇到的阻礙並不小,理想與實作的差距頗大 (例如 K5 的分支預測單元用了將近 Pentium 的五倍面積,但實際上性能卻不及 Pentium),因此最終 K5 的性能只能做到「接近」Pentium,而且時脈沒辦法像 Pentium 中期以後那樣拉高。

AMD_K5_die

↑ AMD K5 die shot

由於推出時間較晚加上性能表現不甚理想,因此 K5 並未獲得廣大迴響,隨著 Pentium 加入了 MMX 技術之後,缺乏 MMX 與 3D Now! 的 K5 也就逐漸在市場上銷聲匿跡了。

值得一提的是,AMD K5 也是 AMD 第一次使用 PR 值 (Performance Rating) 而不是實際時脈來命名處理器,有些人認為第一次這麼做的是 AMD Athlon XP (例如 2300+),其實並不是,例如 K5 PR 120 的實際時脈其實只有 90 MHz。

除此之外你可以從上面看到,AMD K5 使用與 Intel Pentium 相同的插槽 Socket 5 與 Socket 7,這是個人電腦發展史上極為罕有的情況,可以彼此互用。

Socket4_5_7_8

↑ Socket 4,5,7,8 的比較

由於中古時代後期的 CPU 歷史複雜很多,篇幅實在很難控制,因此本節的介紹就到這邊,下篇將從 Intel Pentium II 與 AMD K6 開始介紹 (終於要進入站長我開始接觸電腦的年代了啊……)。