多圖解讀誕生 50 年的革命性8008微處理器
Intel 開(kāi)創(chuàng)性的 8008 微處理器在 50 多年前首次生產(chǎn)。這是 Intel 的第一款 8 位微處理器,也是讀者現(xiàn)在可能正在使用的 x86 處理器家族的祖先。(作者無(wú)法找到 8008 的優(yōu)質(zhì)芯片照片,所以自己親自打開(kāi)了一個(gè)芯片并拍攝了一些詳細(xì)的照片)這些新的芯片照片在這篇文章中,并附有關(guān)于 8008 內(nèi)部設(shè)計(jì)的討論。
本文引用地址:http://butianyuan.cn/article/202406/460219.htm下面的照片展示了 8008 封裝內(nèi)部的小硅芯片(點(diǎn)擊獲取更高分辨率的照片)。讀者幾乎看不到構(gòu)成芯片的導(dǎo)線和晶體管。周圍的方塊是 18 個(gè)焊盤(pán),它們通過(guò)微小的金屬絲與外部 pin 腳相連。
8008 微處理器的芯片照片
可以在芯片的右邊緣看到「8008」的文字,在底邊看到「? Intel 1971」的文字。在右上角出現(xiàn)了「HF」的縮寫(xiě),代表 Hal Feeney,他是芯片的邏輯設(shè)計(jì)和物理布局者。8008 的其他關(guān)鍵設(shè)計(jì)師還有 Ted Hoff、Stan Mazor 和 Federico Faggin。
芯片內(nèi)部
下面的圖表突出了芯片的一些主要功能模塊。在左側(cè)是 8 位算術(shù)/邏輯單元(ALU),它執(zhí)行實(shí)際的數(shù)據(jù)計(jì)算。
ALU 使用兩個(gè)臨時(shí)寄存器來(lái)保存其輸入值。這些寄存器在芯片上占據(jù)顯著面積,不是因?yàn)樗鼈儚?fù)雜,而是因?yàn)樗鼈冃枰蟮木w管來(lái)驅(qū)動(dòng)通過(guò) ALU 電路的信號(hào)。
8008 微處理器的芯片照片,展示了主要組件。
在寄存器下面是進(jìn)位預(yù)測(cè)電路。對(duì)于加法和減法,這個(gè)電路并行計(jì)算所有八個(gè)進(jìn)位值以提高性能。由于低階進(jìn)位僅取決于低階位,而高階進(jìn)位取決于多個(gè)位,因此該電路塊呈三角形。
ALU 的三角形布局是不尋常的。大多數(shù)處理器將每個(gè)位的電路堆疊成一個(gè)規(guī)則的矩形(位切片布局)。然而,8008 有八個(gè)塊(每個(gè)位一個(gè)),它們雜亂無(wú)章地排列以適應(yīng)三角形進(jìn)位發(fā)生器留下的空間,ALU 支持八種簡(jiǎn)單的操作。
在芯片的中心是指令寄存器和指令解碼邏輯,它決定了每個(gè) 8 位機(jī)器指令的含義。解碼是通過(guò)可編程邏輯陣列(PLA)完成的,這是一種門(mén)的排列,用于匹配位模式并為芯片的其余部分生成適當(dāng)?shù)目刂菩盘?hào),右側(cè)是存儲(chǔ)塊。8008 的七個(gè)寄存器位于右上角,在右下角是地址堆棧,它由八個(gè) 14 位地址字組成。與大多數(shù)處理器不同,8008 的調(diào)用堆棧存儲(chǔ)在芯片上,而不是內(nèi)存中。程序計(jì)數(shù)器只是這些地址之一,使子程序調(diào)用和返回變得非常簡(jiǎn)單,8008 使用動(dòng)態(tài)內(nèi)存進(jìn)行這種存儲(chǔ)。
芯片的物理結(jié)構(gòu)與 8008 用戶手冊(cè)(如下)中的框圖非常接近,芯片上的各個(gè)塊幾乎位于與框圖中相同的位置。
8008 微處理器的框圖,來(lái)自用戶手冊(cè)。
芯片的結(jié)構(gòu)
芯片的照片展示了什么?它可以被視為三層。下面的圖表展示了芯片的特寫(xiě),指出了這些層。最頂層是金屬線,這是最為顯眼的特征。在下面的細(xì)節(jié)中,這些線路大部分是水平的,多晶硅層位于金屬之下,在顯微鏡下呈現(xiàn)橙色。
8008 芯片的特寫(xiě)照片,展示了金屬層、多晶硅和摻雜硅。
芯片的基礎(chǔ)是硅晶圓,在照片中呈現(xiàn)為紫灰色。純硅本質(zhì)上是一種絕緣體,其區(qū)域通過(guò)摻雜雜質(zhì)來(lái)創(chuàng)造半導(dǎo)體硅。由于位于底部,硅層很難區(qū)分,但可以看到摻雜硅和未摻雜硅之間的邊界上有黑線。在照片中可以看到幾條垂直的硅「線」。
晶體管是芯片的關(guān)鍵組件,當(dāng)一個(gè)多晶硅線穿過(guò)摻雜硅時(shí),就形成了一個(gè)晶體管。在照片中,多晶硅在形成晶體管時(shí)呈現(xiàn)出較亮的橙色。
為什么是 18 pin 腳芯片?
8008 的一個(gè)不便之處是它只有 18pin 腳,這使得芯片速度變慢且難以使用。8008 使用 14 位地址位和 8 位數(shù)據(jù)位,因此 18pin 腳對(duì)于每個(gè)信號(hào)來(lái)說(shuō)都不夠用。相反,該芯片有 8 個(gè)數(shù)據(jù) pin 腳,這些 pin 腳在三個(gè)周期內(nèi)被重復(fù)使用,以傳輸?shù)偷刂肺?、高地址位和?shù)據(jù)位。使用 8008 的計(jì)算機(jī)需要許多支持芯片來(lái)與這種不便的總線架構(gòu)進(jìn)行交互。
將芯片強(qiáng)行設(shè)計(jì)為 18 個(gè) pin 腳沒(méi)有充分的理由。其他制造商普遍使用 40 pin 腳或 48 pin 腳的包裝,但 16 pin 腳在英特爾公司卻「被奉為圭臬」,他們非常不情愿地才增加到了 18 pin 腳。幾年后,當(dāng) 8080 處理器問(wèn)世時(shí),英特爾已經(jīng)接受了 40 pin 腳芯片。8080 處理器更加流行,部分原因是它采用了 40 pin 腳封裝所允許的更簡(jiǎn)單的總線設(shè)計(jì)。
芯片中的電源和數(shù)據(jù)路徑
數(shù)據(jù)總線為芯片提供數(shù)據(jù)流。下面的圖表展示了 8008 的 8 位數(shù)據(jù)總線,用彩虹色表示 8 條數(shù)據(jù)線。數(shù)據(jù)總線連接到芯片上半部分外側(cè)的 8 個(gè)數(shù)據(jù) pin 腳,總線在左側(cè)的算術(shù)邏輯單元(ALU)、中間的指令寄存器(IR)以及右側(cè)的寄存器和堆棧之間運(yùn)行,在左側(cè)被分成兩部分,分別沿著 ALU 的兩側(cè)延伸。
8008 微處理器的芯片照片。電源總線用紅色和藍(lán)色表示,數(shù)據(jù)總線用 8 種彩虹色表示。
紅色和藍(lán)色線條顯示了電源路由。電源路由是微處理器中一個(gè)被低估的方面,由于金屬的電阻較低,因此電源在金屬層中進(jìn)行路由。但由于早期微處理器只有一層金屬,因此必須仔細(xì)規(guī)劃電源分配,以確保路徑不交叉。上面的圖表顯示了藍(lán)色的 Vcc 線和紅色的 Vdd 線。電源通過(guò)左側(cè)的 Vcc pin 腳和右側(cè)的 Vdd pin 腳提供,然后分支成細(xì)小的、相互交織的線路,為芯片的所有部分供電。
寄存器文件
為了詳細(xì)展示芯片的外觀,作者在下面的照片中放大了 8008 的寄存器文件。寄存器文件由 8x7 網(wǎng)格的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)存儲(chǔ)單元組成,每個(gè)存儲(chǔ)單元使用三個(gè)晶體管來(lái)保存一個(gè)比特位。(可以看到晶體管作為小矩形,其中橙色的多晶硅呈現(xiàn)出稍微更鮮艷的顏色。)每一行都是 8008 的七個(gè) 8 位寄存器之一(A、B、C、D、E、H、L)。在左側(cè),可以看到七對(duì)水平線:每個(gè)寄存器的讀取選擇線和寫(xiě)入選擇線。在頂部,可以看到八條垂直線來(lái)讀取或?qū)懭朊總€(gè)比特位的內(nèi)容,以及五條較粗的線來(lái)提供 Vcc。使用 DRAM 作為寄存器(而不是更常見(jiàn)的靜態(tài)鎖存器)是一個(gè)有趣的選擇。由于當(dāng)時(shí)英特爾主要是一家內(nèi)存公司,猜測(cè)他們選擇 DRAM 是因?yàn)樗麄冊(cè)谠擃I(lǐng)域的專長(zhǎng)。
8008 中的寄存器文件。該芯片有七個(gè) 8 位寄存器:A、B、C、D、E、H、L
PMOS 是如何工作的
8008 使用 PMOS 晶體管。簡(jiǎn)單地說(shuō),可以將 PMOS 晶體管視為兩個(gè)硅線之間的開(kāi)關(guān),由多晶硅的柵極輸入控制。當(dāng)柵極輸入為低電平時(shí),開(kāi)關(guān)閉合,它可以將其輸出拉高。如果熟悉在像 6502 這樣的微處理器中使用的 NMOS 晶體管,那么 PMOS 可能會(huì)有點(diǎn)令人困惑,因?yàn)橐磺卸挤催^(guò)來(lái)了。
一個(gè)簡(jiǎn)單的 PMOS NAND 門(mén)可以按下面的方式構(gòu)建。當(dāng)兩個(gè)輸入都為高電平時(shí),晶體管關(guān)閉,電阻將輸出拉低。當(dāng)任何輸入為低電平時(shí),晶體管將導(dǎo)通,將輸出連接到+5V。因此,該電路實(shí)現(xiàn)了 NAND 門(mén)。為了與 5 伏 TTL 電路兼容,PMOS 門(mén)(因此 8008)使用不常見(jiàn)的電壓供電:-9V 和+5V。
使用 PMOS 邏輯實(shí)現(xiàn)的 NAND 門(mén)
出于技術(shù)原因,電阻實(shí)際上是通過(guò)晶體管來(lái)實(shí)現(xiàn)的。下面的圖表顯示了晶體管是如何連接以作為下拉電阻的,右側(cè)的細(xì)節(jié)顯示了該電路在芯片上的樣子,-9V 金屬線在頂部,晶體管在中間,輸出是底部的硅線。
在 PMOS 中,下拉電阻(左側(cè))是通過(guò)一個(gè)晶體管(中間)來(lái)實(shí)現(xiàn)的。右側(cè)的照片顯示了 8008 微處理器中的實(shí)際下拉電阻。
8008 的歷史
8008 的復(fù)雜故事始于 Datapoint 2200,這是一臺(tái)于 1970 年推出的流行計(jì)算機(jī),作為可編程終端推出。(有些人認(rèn)為 Datapoint 2200 是第一臺(tái)個(gè)人電腦。)Datapoint 2200 沒(méi)有使用微處理器,而是使用由單個(gè) TTL 芯片構(gòu)建的板載 CPU。(這是微型計(jì)算機(jī)時(shí)代構(gòu)建 CPU 的標(biāo)準(zhǔn)方式。)Datapoint 和英特爾決定可以用一個(gè) MOS 芯片替換這個(gè)電路板,于是英特爾開(kāi)始了 8008 項(xiàng)目來(lái)制造這個(gè)芯片。不久之后,德州儀器也同意為 Datapoint 制造單芯片處理器。這兩款芯片都是為了與 Datapoint 2200 的 8 位指令集和架構(gòu)兼容而設(shè)計(jì)的。
8008 處理器于 1970 年 10 月 25 日在《Electronic Design》雜志上首次公開(kāi)描述。盡管英特爾聲稱該芯片將于 1971 年 1 月交付,但實(shí)際交付時(shí)間卻比預(yù)期晚了一年多,直到 1972 年 4 月才完成。
大約在 1971 年 3 月,德州儀器完成了他們的處理器芯片,稱為 TMC 1795。在推遲項(xiàng)目后,英特爾在大約 1971 年底完成了 8008 芯片。由于各種原因,Datapoint 拒絕了這兩款微處理器,并基于更新的 TTL 芯片(包括 74181 ALU 芯片)構(gòu)建了一個(gè)更快的 CPU。
德州儀器試圖將 TMC 1795 處理器推銷給福特等公司,但沒(méi)有成功,最終放棄了這款處理器,轉(zhuǎn)而專注于利潤(rùn)豐厚的計(jì)算器芯片。另一方面,英特爾將 8008 作為通用微處理器進(jìn)行市場(chǎng)推廣,這最終導(dǎo)致了 x86 架構(gòu)的誕生。雖然德州儀器率先推出了 8 位處理器,但英特爾卻成功地將他們的芯片推向市場(chǎng),開(kāi)創(chuàng)了微處理器行業(yè)。
上面的圖表總結(jié)了 8008 及其相關(guān)處理器家族的「家譜」。黑色箭頭表示向后兼容性,淺色箭頭表示重要的架構(gòu)變化。
該圖表概述了 8008 及其相關(guān)處理器的「家族樹(shù)」。Datapoint 2200 的架構(gòu)被用于 TMC 1795、Intel 8008 以及下一代 Datapoint 220011 中。因此,四個(gè)完全不同的處理器都使用了 Datapoint 2200 的指令集和架構(gòu)。Intel 8080 處理器是 8008 的改進(jìn)版,顯著擴(kuò)展了 8008 的指令集,并重新排列了機(jī)器碼指令以提高效率。8080 被用于開(kāi)創(chuàng)性的早期微計(jì)算機(jī)中,如 Altair 和 Imsai。在開(kāi)發(fā) 4004 和 8080 之后,設(shè)計(jì)師 Federico Faggin 和 Masatoshi Shima 離開(kāi)英特爾,構(gòu)建了 Zilog Z-80 微處理器,該處理器在 8080 的基礎(chǔ)上進(jìn)行了改進(jìn),并變得非常流行。
跳轉(zhuǎn)到 16 位的 8086 處理器并不是那么漸進(jìn)的。雖然大多數(shù) 8080 匯編代碼都可以轉(zhuǎn)換為在 8086 上運(yùn)行,但并非輕而易舉,因?yàn)橹噶罴图軜?gòu)都發(fā)生了根本性的變化。盡管如此,Datapoint 2200 的一些特性仍然存在于當(dāng)今的 x86 處理器中。例如,Datapoint 2200 有一個(gè)串行處理器,每次處理一個(gè)字節(jié)的一位。由于需要首先處理最低位,所以 Datapoint 2200 是小端序的。為了兼容,8008 也是小端序的,英特爾的處理器至今仍然如此。Datapoint 2200 的另一個(gè)特性是奇偶校驗(yàn)標(biāo)志,因?yàn)槠媾夹r?yàn)計(jì)算對(duì)于終端的通信很重要。奇偶校驗(yàn)標(biāo)志一直延續(xù)到 x86 架構(gòu)。
8008 在架構(gòu)上與英特爾的 4 位 4004 處理器無(wú)關(guān)。8008 絕對(duì)不是 4 位 4004 的 8 位版本。相似的名字純粹是營(yíng)銷發(fā)明;在設(shè)計(jì)階段,8008 有一個(gè)不那么引人注目的名字「1201」。
8008 在半導(dǎo)體技術(shù)歷史中的位置
4004 和 8008 都使用了硅柵增強(qiáng)型 PMOS(Positive-channel Metal Oxide Semiconductor,正通道金屬氧化物半導(dǎo)體),這是一種只短暫使用過(guò)的半導(dǎo)體技術(shù)。這使得這兩款芯片在芯片制造技術(shù)中處于一個(gè)有趣的位置。
8008(以及現(xiàn)代處理器)使用的是 MOS 晶體管。這些晶體管在得到接受之前經(jīng)歷了漫長(zhǎng)的道路,因?yàn)樗鼈儽?1960 年代大多數(shù)計(jì)算機(jī)中使用的雙極晶體管速度慢且可靠性低。到了 1960 年代末,MOS 集成電路開(kāi)始變得更加普遍;當(dāng)時(shí)的標(biāo)準(zhǔn)技術(shù)是帶有金屬柵的 PMOS 晶體管。晶體管的柵極由金屬制成,同時(shí)也用于連接芯片上的組件。芯片基本上具有兩層功能:硅本身和頂部的金屬布線。這種技術(shù)被用于許多德州儀器的計(jì)算器芯片以及 TMC 1795 芯片(與 8008 具有相同指令集的芯片)。
使 8008 成為實(shí)用的關(guān)鍵創(chuàng)新是自對(duì)準(zhǔn)柵——一種使用多晶硅柵而不是金屬柵的晶體管。盡管這種技術(shù)是由費(fèi)爾柴爾德(Fairchild)和貝爾實(shí)驗(yàn)室(Bell Labs)發(fā)明的,但英特爾推動(dòng)了這一技術(shù)的發(fā)展。多晶硅柵晶體管比金屬柵晶體管具有更好的性能(由于復(fù)雜的半導(dǎo)體原因)。此外,添加多晶硅層使得芯片中的信號(hào)路由變得更加容易,從而使芯片更加密集。下面的圖表顯示了自對(duì)準(zhǔn)柵的好處:金屬柵的 TMC 1795 比 4004 和 8008 芯片加在一起還要大。
英特爾的 4004 和 8008 處理器比德州儀器的 TMC 1795 芯片要密集得多,這主要是由于它們使用了自對(duì)準(zhǔn)柵。
不久后,半導(dǎo)體技術(shù)再次進(jìn)步,用 NMOS(Negative-channel Metal Oxide Semiconductor,負(fù)通道金屬氧化物半導(dǎo)體)晶體管取代了 PMOS 晶體管。盡管 PMOS 晶體管最初更容易制造,但 NMOS 晶體管更快,因此一旦能夠可靠地制造 NMOS,它們就明顯占據(jù)了優(yōu)勢(shì)。
NMOS 導(dǎo)致了更加強(qiáng)大的芯片的出現(xiàn),如英特爾的 8080 和摩托羅拉的 6800(都是 1974 年)。這一時(shí)期另一項(xiàng)技術(shù)改進(jìn)是離子注入,用于改變晶體管的特性。這使得可以創(chuàng)建「耗盡型」晶體管用作上拉電阻。這些晶體管提高了芯片性能并降低了功耗。它們還允許創(chuàng)建使用標(biāo)準(zhǔn)五伏電源運(yùn)行的芯片。
NMOS 晶體管和耗盡型上拉電阻的組合被用于 20 世紀(jì) 70 年代末和 80 年代初的大多數(shù)微處理器中,如 6502(1975 年)、Z-80(1976 年)、68000(1979 年)以及從 8085(1976 年)到 80286(1982 年)的英特爾芯片。
到 20 世紀(jì) 80 年代中期,CMOS(Complementary Metal Oxide Semiconductor,互補(bǔ)金屬氧化物半導(dǎo)體)開(kāi)始占據(jù)主導(dǎo)地位,它結(jié)合了 NMOS 和 PMOS 晶體管,顯著降低了功耗,例如 80386(1986 年)、68020(1984 年)和 ARM1(1985 年)?,F(xiàn)在幾乎所有的芯片都是 CMOS。
正如讀者所看到的,20 世紀(jì) 70 年代是半導(dǎo)體芯片技術(shù)發(fā)生巨大變化的時(shí)期。4004 和 8008 的創(chuàng)造正是當(dāng)時(shí)技術(shù)能力與市場(chǎng)需求交匯的結(jié)果。
如何拍攝芯片裸片照片
第一步是打開(kāi)芯片封裝以暴露裸片。大多數(shù)芯片都裝在環(huán)氧樹(shù)脂封裝中,這些封裝可以用危險(xiǎn)的酸來(lái)溶解。
8008 微處理器裝在陶瓷封裝中
由于想要避免煮沸硝酸,本文采用了更簡(jiǎn)單的方法。8008 也有陶瓷封裝版本(如上所示),用鑿子沿著接縫輕敲芯片,可以將兩層陶瓷分開(kāi)。下面的照片顯示了陶瓷封裝的下半部分,裸片已經(jīng)暴露出來(lái)。大部分金屬 pin 腳已經(jīng)被移除,但它們?cè)诜庋b中的位置仍然可見(jiàn)。在裸片的右側(cè)是一個(gè)小方塊,它將地線(Vcc)連接到襯底。仍然可以看到幾條微小的連接線,它們連接到裸片上。
在 8008 微處理器的封裝內(nèi)部,可以看到硅裸片。
一旦裸片暴露出來(lái),就可以使用顯微鏡拍攝照片。標(biāo)準(zhǔn)的顯微鏡是從下方照亮的,這對(duì)于裸片照片來(lái)說(shuō)效果并不好。相反,作者使用了一臺(tái)金相顯微鏡,它從上方照亮芯片。
為了拍攝照片,首先做著用顯微鏡拍攝了 48 張照片,然后使用 Hugin 拼接軟件將它們組合成一張高分辨率的圖像(細(xì)節(jié))。最后,調(diào)整了圖像的對(duì)比度,使芯片的結(jié)構(gòu)更加清晰可見(jiàn)。下面的原始圖像(大約是通過(guò)顯微鏡看到的樣子)用于比較。
8008 微處理器的裸片照片
結(jié)論
雖然 8008 不是第一個(gè)微處理器,甚至不是第一個(gè) 8 位微處理器,但它確實(shí)具有革命性,引發(fā)了微處理器革命,并導(dǎo)致了 x86 架構(gòu)的出現(xiàn),該架構(gòu)在未來(lái)幾十年里主導(dǎo)了個(gè)人電腦。
評(píng)論