電腦達人養成計畫 2-6:中古前期 CPU 發展史

延續上一節的主題,本節站長要談的是「中古時期前半」的個人電腦 CPU 發展史,從這裡開始就進入 x86 指令集架構的時代了,後來你所能見到的個人電腦 CPU 幾乎都奠基於此 (即使是最新的 Skylake Intel Core i7),這段時間的產品具有多重大的意義自然也就不言可喻了,這段時期與上一節相同,當時的 AMD 還是以生產與 Intel 相容 (其實說白了就是照抄) 的處理器為生的。

其實這段歷史裡面 Motorola 扮演了很重要的角色,不過受制於篇幅,加上 Motorola 早已離開處理器產業數十年之久,因此站長暫時不會提到 Motorola 的處理器,或許之後有機會再來補上這塊拼圖?

本節介紹的有 Intel 8086、8088、80186、80286、80386、80486。

中古時代前期-x86 王朝的開端

無心插柳柳成蔭:Intel 8086

Intel 8086 是世界上第一顆 16 位元處理器,名稱中的 86 就是後來繁衍數十年的 x86 處理器家族命名的由來,這款處理器從 1976 年 5 月開始研發,直到 1978 年中完成,上市時除了 8086 這個代號以外還有一個 iAPX 86 的命名 (iAPX = Intel Advanced Performance Architecture)。

Intel_8086

↑ Intel 8086

命運之神經常喜歡捉弄人,當時的 Intel 其實主力是在發展 iAPX 432 這款處理器 (1975 年,當時計畫名稱為 Intel 8800),8086 計畫其實只是一個「風險比較低的備案」,本來用意是要拿來在 8080 與 iAPX 432 之間擔任墊檔產品而已。

↑ Intel 8086 Die shot

iAPX 432 是一款劃時代的 32 位元 CISC 處理器,完工於 1981 年,不過造化弄人,這款以當時來說架構非常先進的處理器,性能卻非常糟糕,因此最後 iAPX 432 在市場上是非常失敗的,當時的紐約時報這麼評價 iAPX 432:「iAPX 432 比競爭對手 Motorola 的 68000 還要慢上 5 到 10 倍!」,相較於 iAPX 432 的整組砍掉重練,8086 使用了 8085 的基礎與相似的工藝,因此 Intel 8086 的開發進程相對而言順利與快速非常多。

當時的 Intel 大概怎麼也想不到,8086 會對後世的電腦有如此巨大的影響。

↑ 據說這是 iAPX 432 的樣子,不過站長也不確定。

Intel 8086 內建的電晶體數量提升非常大,來到了將近三萬個,是前代的四到五倍,運作時脈也拉高到 4.77 MHz 起跳,可以支援至多 1 MB 的記憶體定址,同時使用的指令集也全面翻新,這個時期裡創造出的 x86 指令集成為未來個人電腦處理器的奠基石,之後的個人電腦 CPU 也都以此為基礎,不再有砍掉重練的事情發生 (隨著電腦的普及,儘管中間曾經嘗試過要砍掉重練不過都失敗了,因為指令集砍掉重練現有的程式就都得重新編譯甚至是需要修改才能使用,會造成很大的麻煩)。

Intel 8086 與之後的 80×86 系列都有伴隨推出搭配的浮點運算輔助處理器,也就是 80×87 系列。

↑ Intel 8087

Intel 8086 規格諸元

真正意義上的個人電腦之始:Intel 8088

Intel 8088 其實並不算很特別的一款處理器,但在個人電腦歷史上卻佔有非常重要的地位。說穿了其實 Intel 8088 就是 Intel 8086 的簡化版,你可以把它與 Intel 8086 的關係當成今日 Celeron 與 Core 的差別,Intel 8088 將 Intel 8086 的資料匯流排頻寬降到 8-bit,預取佇列也從 6 bytes 降到 4 bytes。

↑ Intel 8088

Intel 8088 最大的特色就是便宜,在那個年代裡便宜又堪用的性能就意味著普及。 (其實現在不也是這樣嗎?)

↑ Intel 8088 Die shot

前面說到 Intel 8088 在個人電腦歷史上佔有非常重要的地位,其實就是因為如此,IBM PC 採用了 Intel 8088,這台推出於 1981 年的電腦,是後來所有 IBM PC 相容機個人電腦的前身 (不要懷疑,除非你用的是 Mac,否則你眼前這台大概就是了)。

Intel 8088 規格諸元

PLCC (Plastic Leaded Chip Carrier) 封裝

PLCC 封裝的中文為「塑料電極晶片載體封裝」,能搭載比起以往 DIP 封裝更多的針腳,概念上近似於以一個塑料底板中間鏤空,將積體電路晶片本體嵌入載體以達到擴充接腳孔位的效果,這種封裝方式在現在仍然經常可以看到,例如用於 BIOS 的 Flash ROM 晶片。

短暫出現的 Intel 80186

Intel 80186 是 8086 的升級版,主要針對嵌入式市場推出,與其說他是處理器不如說是具備外部記憶體的控制器,大致上由 Intel 8086 的核心加上中斷控制器、UART、定時器、DMA、I/O 等外設晶片組成,別名又稱為 iAPX 186。

↑ Intel 80186 的外型開始比較接近現代的 CPU 了呢

由於整合了很多外設晶片,因此電晶體數也飛漲來到了前代的 2 倍。

由於發佈之後只過了幾周,80286 就出現於市場上了,因此 80186 在個人電腦處理器界中並沒有引發太大的迴響,但是在工業領域中則如預期地被當作微電腦控制器大量運用。

↑ Intel 80186 Die shot

Intel 80186 與 Intel 8086 一樣具有價格較為低廉的低價版本,稱為 Intel 80188,Intel 80188 的資料匯流排與 8088 一樣被降到 8-bit。

可與之搭配的浮點運算輔助處理器為 Intel 80187。

Intel 80186 規格諸元

造就個人電腦大流行:Intel 80286

Intel 80286 的官方定名為 iAPX 286,發佈時間與 80186 非常接近,從 80286 開始 Intel 將 CPU 的運作模式分為真實模式與保護模式,這是後來 Windows 作業系統能夠執行的重要條件。

↑ Intel 80286,這顆的封裝長得有一點像 BIOS 晶片吧?

當處於真實模式下時,80286 只能直接存取 1 MB 的記憶體,在保護模式下則可以存取 16 MB (位址匯流排寬度增加到 24-bit),同時具備能在多個執行緒內切換的多工能力,性能可以達到 8086 的五倍以上。

↑ Intel 80286 Die shot

同時 80286 也因其被廣泛應用於 IBM PC/AT ( 1984 年) 的相容機之中,這台電腦有多有名應該不需要站長特別說明吧?現今機殼規範的 ATX 的上一代就是 AT,這個 AT 就是來自於 IBM PC/AT 這台電腦,同時也引入了在 PCI 之前最廣為被使用的匯流排-ISA 以及 VGA 顯示能力。

↑ IBM PC/AT

可與之搭配的浮點運算輔助處理器為 Intel 80287。

Intel 80286 規格諸元

進入 32 位元世代:Intel 80386

Intel 80386 (後來主要被簡稱為 386 與 i386),是 Intel x86 架構 CPU 中第一款提升至 32 位元的處理器 (IA-32 架構),包含的電晶體比起前代又多了一倍,同時 Intel 80386 也是第一款開始運用「快取記憶體」的處理器,不過當時的快取記憶體還是放在主機板上的。

↑ Intel 80386,PGA 封裝的 CPU 至今也還是主流之一

如果你對 Windows XP 或更早版本的 Windows (基於 NT 的版本) 還有印象的話,安裝光碟裡的 i386 目錄就是指 Intel i386 相容平台。

↑ Intel 80386 Die shot

Intel 80386 有數個不同版本,其中 DX 是完整的版本,具有 32 位元的內外部資料匯流排與 32 位元的位址匯流排 (可支援 4 GB 記憶體);而較低階的版本則是 SX,推出於 1988 年底,外部資料匯流排降為 16 位元 (支援到 16 MB 的記憶體),位址匯流排則降為 24 位元,與 80286 較為接近,但效能遠勝於 80286,且價格只有 DX 版本的三分之一左右,因此在市場上相當成功。

既 80286 新增了保護模式之後,80386 又額外新增了用於執行 8086 老版本程式的虛擬模式。

除了 SX 與 DX 以外,Intel 在 1990 年還分別對應推出了低功耗版本的 SL 與 DL,新增電源管理功能,包含自動降速與休眠等節能能力,主要用於可攜式電腦。

由於匯流排寬度的不同,因此與之搭配的浮點運算輔助處理器也分為 387 DX 與 387 SX。

Intel 80386 規格諸元

首次內建浮點運算元件:Intel 80486

在 1989 年推出的 Intel 80486 (正式名稱為 i486) 是以 80386 為基礎而產生的改進,就指令集而言基本上只比 80386 多出幾條新的指令。

↑ 同樣採 PGA 封裝的 Intel 80486

不過如果因為這樣你就認為 80486 沒甚麼長進的話,那可就錯了!80486 相較於前代而言幾乎是全面翻新了一輪,首次引入了多重管線設計與內建 8 KB 的 L1 快取,這對效能提升有非常明顯的幫助,在極端狀況下可以達到將近 80386 的兩倍之多,同時 80486 也是第一個使用超過一百萬個電晶體的 CPU、第一個廣泛使用「Socket 插槽」安裝的 CPU,確立了 Socket 1、2、3、6 四種規格,Socket 插槽讓安裝 CPU 變得簡單許多,不再需要額外的工具,從此成為各種 CPU 的標準設計。

↑ 由左而右分別是從早期到末期支援 Intel 80486 的 Socket 插槽

↑ Socket 2 插槽,其實除了孔比較少跟比較小以外,跟現代 CPU 也沒啥不同。

指令管線化設計 (Instruction pipeline) 是當代處理器不可或缺的技術,等到站長談到 Pentium 4 的時候更會扮演重要的角色,一般而言處理器執行一道指令會經過 IF (指令讀取)、ID (指令解碼)、EX (執行指令)、MEM (記憶體存取)、WB (回寫至暫存器) 五個階段,Pipeline 設計讓處理器可以同時執行數個處於不同階段的指令,而減少指令之間互等損失的時間,這在效能上的影響會是很顯著的,儘管 486 並非後來我們常見的超純量架構,但仍然是相當具有指標意義的。

↑ 指令管線化示意圖 (圖為 5 階管線)

此外,80486 也是第一次將浮點運算單元整合入 CPU 本身的嘗試 (僅限 DX 型號,較廉價的 SX 型則沒有,需要搭配 i487 SX)

↑ Intel 80486 Die shot

同時這也是目前站長所知最早 Intel 使用相同的晶片,透過遮蔽故障區域的功能來區分型號的嘗試 (早期的 80486 DX 與 SX 其實是一樣的,只是 SX 的 FPU 部分被遮蔽),這樣的作法在現代處理器中很常見。

此外,Intel 80486 也是第一個運用倍頻器 (Multiplier) 的 x86 CPU,首見於 1992 年發佈之 Intel i486DX2,從此 CPU 可以使用倍速於主機板其他基本時脈的速度運作,從此 CPU 的時脈可以與主機板其他元件脫鉤,讓處理器能發展更高的運作時脈。

Intel 80486 規格諸元

不知不覺篇幅又超出預期了,這老毛病真得改改啊 XD

下一篇站長會談中古時代後半的 CPU 發展史,預計會介紹大名鼎鼎的 Pentium 家族,如果你覺得站長偏心一直介紹 Intel 都不提 AMD 的話,其實是直到這裡為止 AMD 都還只是生產照抄 Intel 的產品,在市場中作為 Intel 之外的備用選項或是價格較低廉的替代品而已,還沒有開始建立自己的產品,下一節中 AMD 就會開始活躍了。

電腦達人養成計畫 2-5:上古 CPU 發展史」<< PREV

NEXT >>【COMING SOON】

Exit mobile version