第1章計算機概念和技術(shù)_第1頁
第1章計算機概念和技術(shù)_第2頁
第1章計算機概念和技術(shù)_第3頁
第1章計算機概念和技術(shù)_第4頁
第1章計算機概念和技術(shù)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章計算機概念和技術(shù)

文明的進步是通過許多不必思索就可以完成的重要措施取得的。

AlfredNorthWhitehead

數(shù)學(xué)引言,1911

1.1簡介........................................1

1.2程序內(nèi)部....................................3

1.3深入內(nèi)部....................................6

1.4集成電路:推動創(chuàng)新.........................14

1.5實際資料:制造Pentium芯片.................16

1.6謬誤和陷阱................................18

1.7結(jié)論......................................19

1.8歷史回顧和參考文獻.........................21

1.9重要術(shù)語...................................32

1.10習(xí)題......................................33

1.1簡介

歡迎閱讀本書!我們很高興有機會傳播計算機界令人興奮的事情。這不是一

個枯燥沉悶、進展緩慢的領(lǐng)域,新想法由于被忽視而遭到扼殺。不!計算機系統(tǒng)

對一個重要的產(chǎn)業(yè)一一占美國全國總產(chǎn)值的5%到10%——有至關(guān)重要的關(guān)系,并

且這個不尋常的產(chǎn)業(yè)正在以驚人的速度發(fā)展。自1985年以來已經(jīng)出現(xiàn)了六種似

乎將導(dǎo)致計算機產(chǎn)業(yè)大革命的新機器;僅僅因為有其他人制造了更好的計算機就

中斷了這些革命。

自19世紀四十年代末計算機出現(xiàn)以來這種創(chuàng)新的速度已經(jīng)導(dǎo)致了空前的進

步。舉例來說,如果交通運輸業(yè)保持計算機產(chǎn)業(yè)的發(fā)展速度,今天我們可以用

A

50美分在5秒內(nèi)穿越大洋。請花一點時間關(guān)注這種進步將如何改變社會一一住

在大溪地島而工作在舊金山,晚上去莫斯科出席芭蕾舞會——現(xiàn)在你能夠正確評

價這樣的改變的含義了。

計算機促進了人類第三次文明革命,伴隨著信息革命與農(nóng)業(yè)和工業(yè)革命。結(jié)

果大大地增強了人類智慧力量,并且很自然對科學(xué)產(chǎn)生同樣的影響?,F(xiàn)在科學(xué)研

究中有一個新的傾向,計算科學(xué)家與理論和實臉科學(xué)家共同合作,在天文學(xué)、生

物學(xué)、化學(xué)、物理學(xué)等等新的前沿領(lǐng)域進行探索。

計算機革命還在繼續(xù)。每次革命都可使計算成本降低10倍,而使用計算機

的機會則成倍增加。經(jīng)濟性上原本不可行的應(yīng)用忽然成為實用。就在不久的過去,

下列的應(yīng)用還只是“計算機科學(xué)幻想”

■自動田納機:位于銀行墻壁中用于分發(fā)和收集現(xiàn)金的計算機在19世紀五

十年代是個荒謬的想法,那時最便宜的計算機至少要$500,000并且有一

輛車那么大。

■汽車中的計算機:計算機控制汽車這種想法是荒唐的,直到19世紀八十

年代早期微處理器在性能和價格上有了顯著的改進。今天,計算機減少

了污染,通過引擎控制改進燃油效率,通過阻止危險的打滑和控制給氣

囊充氣在事故中保護車上人員來提高安全性。

■掌上方典處誰曾經(jīng)夢想過計算機系統(tǒng)的進步會導(dǎo)致出現(xiàn)掌上計算機,

學(xué)生可以帶著計算機去咖啡屋或乘飛機?

■人類基因組計劃:繪制人類DNA序列所需要的計算機設(shè)備的成本將是幾

十億美圓。如果計算機的花費高出10到100倍,就像10到20年前有

的,任何人都不可能考慮這個計劃。

■全球網(wǎng):在本書的第一版時它還不存在,現(xiàn)在全球網(wǎng)正在改變我們的社

會。使用者在它上面發(fā)布新聞、送花、從在線目錄選購物品、通過電子

導(dǎo)游決定渡假地、找到與你有共同愛好的人,甚至更通俗的話題如找到

你的課本作者的演講記錄。

顯然,這個技術(shù)的進步現(xiàn)在影響了我們社會幾乎所有的方面。硬件進步已經(jīng)

允許程序員編制優(yōu)秀的應(yīng)用軟件,并解釋了計算機為什么會無所不在。明天關(guān)于

計算機應(yīng)用的科學(xué)幻想是無現(xiàn)金社會、自動智能高速公路、真正到處存在的計算:

A

沒人攜帶計算機,因為它們無處不在。

成功的程序員總是關(guān)心他們程序的性能,因為在編制成功的軟件中最要緊的

是讓用戶盡快得到結(jié)果。在19世紀六十年代和七十年代,計算機性能的主要局

限是計算機內(nèi)存的大小。于是程序員經(jīng)常遵循一個簡單的信條:將內(nèi)存使用減到

最小以加快程序。在最近十年,計算機設(shè)計的改進和內(nèi)存技術(shù)的進步已經(jīng)極大地

減小了小內(nèi)存的重要性。對性能感興趣的程序員現(xiàn)在需要了解已經(jīng)取代19世紀

六十年代的簡單內(nèi)存模式的問題:存儲器的多級性質(zhì)和處理器的并行性質(zhì)。程序

員尋求建立有挑戰(zhàn)性的編譯器、操作系統(tǒng)、數(shù)據(jù)庫甚至應(yīng)用程序,因此將需要增

加他們在計算機組織結(jié)構(gòu)方面的知識。

我們很榮幸有機會解釋在這個革命性的機器內(nèi)部有些什么,闡述你的程序之

下的軟件和你的機器蓋子下的硬件。到你讀完本書的時候,你將明白用計算機自

己的語言編程的秘密、計算機內(nèi)部組織和它如何影響你計算機的性能、甚至如何

著手設(shè)計一個你自己的計算機。

第一章為本書其余的部分打基礎(chǔ)。介紹基本思想和定義、展望主要的軟硬件

部分的前景并介紹集成電路——促進了計算機革命的技術(shù)。

1.2程序內(nèi)部

在巴黎當(dāng)我對他們說法語時他們只是瞪著我;我從來也沒能成功地讓這些白

癡明白他們自己的語言o

馬克?土溫,天真無邪的外國人,1869

為了對電子機器講話,你需要發(fā)送電子信號。能讓機器理解的最簡單的信號

是矛和關(guān),于是機器的字母表只有兩個字母。正如26個字母的英文字母表沒有

限制能寫多少字一樣,計算機字母表的2個字母也沒有限制計算機能夠做什么。

代表這兩個字母的兩個符號是數(shù)字0和1,并且我們通常認為機器語言相當(dāng)于二

進制數(shù)。我們稱每個“字母”為一個二進制數(shù)位氟位。計算機是聽從我們命令的

奴隸;因此,一個獨立命令的名稱為揩令。指令就是計算機理解的位的聚集,可

以認為是數(shù)字。舉例來說,位串1000110010100000告訴一個計算機將兩個數(shù)

相加。第三章解釋了為什么使用數(shù)字來表示指令和數(shù)據(jù);我們不想搶先介紹那一

章的內(nèi)容,不過用數(shù)字既表示指令又表示數(shù)字是計算的基礎(chǔ)。

A

最開始程序員們用二進制數(shù)字與計算機交流,但這太枯燥以至于他們很快發(fā)

明了與人類思考方式相近的新的符號表示法。起初這些符號由手工翻譯成二進

制,但這步處理仍很煩人。先驅(qū)們發(fā)明了將符號表示翻譯成二進制的程序,這些

程序首先被稱作匯編程序。匯編程序把符號表示的指令翻譯成二進制指令如:

addA,B

匯編器將這個表示翻譯為

1000110010100000

這個指令告訴計算機將兩個數(shù)A和B相加。這種符號語言的名稱今天還在用,就

是匯編語言。

雖然這是一個巨大的進步,匯編語言仍然與科學(xué)家要用來模擬液體流動或會計

師用來平衡帳目的記號相差甚遠。匯編語言需要程序員為每條機器要執(zhí)行的指令

寫一行,強迫程序員按機器的方式思考。

這樣的低水平的思考激發(fā)了一個簡單的問題:如果我們能編寫出將匯編語言翻

譯為二進制指令的程序來簡化編程,有什么能阻止我們編寫將某種高級表示翻譯

為匯編語言的程序?

答案是:沒有。雖然創(chuàng)造這樣的程序比創(chuàng)造匯編器會遇到更多挑戰(zhàn),但這樣的

高級翻譯器似乎是可以實現(xiàn)的。

今天的程序員把他們的高生產(chǎn)力和能保持頭腦清醒歸功于這種見解。接收這種

自然得多的表示的程序稱為編譯器,它所編譯的語言稱為高級編程語言。它使程

序員可以書寫下面的高級語言式:

A+B

編譯器將它編譯為下面的匯編語言語句:

addA,B

匯編器把這條語句翻譯為告訴計算機將兩個數(shù)A和B相加的二進制指令:

1000110010100000

圖1.1給出程序和語言之間的關(guān)系。

A

圖L1C程序編譯為匯編程序語言然后匯編為二進制機器語言。雖然從高級語言

到二進制機器語言的翻譯在圖中分為兩步,但某些編譯器省略了中間步驟直接生

成機器語言代碼。第三章講述了這些語言和這種程序更多細節(jié)。(在

/cod2e.htm的Web擴展HI為Pascal程序員解釋C語言)

高級編程語言具有幾個重要的優(yōu)點。首先,它允許程序員用更自然的語言思

考,用英語單詞和數(shù)學(xué)表示,使程序看起來更像文章而不是神秘字符的表(見圖

1.1)。此外,它允許按語言的用途來設(shè)計語言。因此,F(xiàn)ortran是為科學(xué)計算設(shè)

計的,Cobol用于商業(yè)數(shù)據(jù)處理,Lisp用于符號處理,等等。

編程語言的第二個好處是增加程序員的生產(chǎn)力。在軟件開發(fā)方面得到廣泛同

意的幾個領(lǐng)域之一是當(dāng)使用能用較少的行來表達一個想法的語言來編寫程序時

花費的時間較少。簡明是高級語言相對于匯編語言的一個顯著的好處。

最后的優(yōu)點是程序語言允許程序獨立于開發(fā)它的計算機,因為編譯器和匯編

器可以將高級語言程序翻譯為任何機器的二進制指令。這三個好處是如此的明顯

以至于現(xiàn)在幾乎沒人用匯編語言編程。

既然程序設(shè)計已經(jīng)成熟,它的很多實踐者看到可復(fù)用程序比從零編寫所有的

東西都要高效。因此,程序員開始在庫中共享可能被廣泛使用的例程。一個最早

的子例程序用于輸入和輸出數(shù)據(jù),舉例來說,它包括象在打印開始之前確認是否

有紙的控制打印機的例程。這類由軟件控制的其他輸入/輸出設(shè)備有磁盤、磁帶

和顯示器。

如果有一個獨立的程序來管理運行程序,顯然一組程序能更有效地運行。程

序一完成,管理程序就將開始隊列中的下一個程序,從而避免延遲。這些包含了

輸入/輸出子例程庫的管理程序是我們今天稱為操作系統(tǒng)的原型。操作系統(tǒng)是運

行于計算機上管理計算機資源以有利于運行其他程序的程序。

軟件以用途進行分類。提供經(jīng)常使用的服務(wù)的軟件稱為系統(tǒng)於浮。操作系統(tǒng)、

編譯器和匯編器就是系統(tǒng)軟件。與供程序員使用的程序相反,應(yīng)用程序軟件,或

稱為應(yīng)用程序、是供計算機使用者使用的程序。如電子制表軟件和文本編輯軟件。

圖1.2給出軟件和硬件層次的典型圖示

這個簡化的視圖有一些問題。在圖1.2中我們是否真能將編譯器放入系統(tǒng)軟

件層?編譯器既在應(yīng)用層又在系統(tǒng)層生成程序,并且當(dāng)應(yīng)用程序運行時通常不調(diào)

A

用編譯器。系統(tǒng)性質(zhì)的更現(xiàn)實的視圖是圖1.3。它表示軟件并不由單一的層構(gòu)成,

而是由很多彼此相互依賴的程序組成。像粗繩子的很多股,每次你仔細地觀察單

獨的股,都會發(fā)現(xiàn)它實際上由很多更細的部分組成。

圖1.2軟件和硬件層次結(jié)構(gòu)的簡化視圖,以同心圓典型地顯示從硬件內(nèi)核逐

步建立最接近用戶的軟件。

圖1.3計算機系統(tǒng)可分解性的例子。圖表中間的術(shù)語,如laTEX和gcc是Unix

程序的例子。圖表下面的術(shù)語,如虛擬內(nèi)存,將在第7章和第8章介紹。

1.3深入內(nèi)部

現(xiàn)在我們已經(jīng)揭示了你程序的下面的下層軟件,讓我們打開計算機的蓋子來

學(xué)習(xí)下面的硬件。

圖1.4顯示了一個典型的桌面計算機,它有鍵盤、鼠標、屏幕和一個包含更

多硬件的盒子。照片中看不見的是連接計算機與打印機和磁盤之間的網(wǎng)絡(luò)。這個

照片顯示了計算機的兩個關(guān)鍵部分:輸入設(shè)備,如鍵盤和鼠標,和輸出設(shè)備,如

屏幕和打印機。與名字一樣,輸入送入計算機,輸出是送給用戶的計算結(jié)果。某

些設(shè)備,像網(wǎng)絡(luò)和磁盤,既提供輸入也提供輸出。

第8章更詳盡地描述了輸入/輸出(I/O)設(shè)備,但讓我們簡單地介紹一下計

算機硬件,從外部I/O設(shè)備開始。

圖1.4一個桌面計算機。陰極射線管(CRT)屏幕是主要的輸出設(shè)備,鍵盤

和鼠標是主要的輸入設(shè)備

A

鼠標的解剖

出席一個計算機會議的演講時我產(chǎn)生了鼠標的想法。發(fā)言者這么煩人以至于

我開始做白日夢并蹦出了這個想法。

DougEngelbart

盡管現(xiàn)在的很多用戶認為鼠標是理所當(dāng)然該有的,像鼠標這樣的點設(shè)備的思

想是30年前才出現(xiàn)的。1973年Engelbart在一個研究原型機上演示了第一個帶

鼠標的系統(tǒng)。1973年,作為Macintosh和其他所有工作站的靈感出現(xiàn)的Alto機,

就以鼠標作為點輸入設(shè)備。到19世紀八十年代,所有的工作站和多數(shù)個人計算

機都帶有這個設(shè)備,基于圖形顯示和鼠標的新的用戶界面開始流行。鼠標實際上

非常簡單,如圖1.5的照片所示。

機械形式的鼠標包括一個大球,它安裝在與一對滾輪接觸的位置上,一個滾

輪決定x軸另一個決定y軸。這些滾輪要么轉(zhuǎn)動機械計數(shù)器要么轉(zhuǎn)動開槽的輪子,

一個發(fā)光二極管(LED)通過輪子照射一個光敏器件。在每種方式里,移動鼠標

都使大球滾動,它轉(zhuǎn)動x輪或y輪或者兩輪都動,這取決于鼠標是垂直、水平還

是斜線移動。雖然這種指取設(shè)備有很多種樣式,移動每個滾輪實質(zhì)上都是增加或

減少在系統(tǒng)的某處的記數(shù)器。這個計數(shù)器用于記錄鼠標在哪個方向上移動了多

遠。

圖1.5機械鼠標的內(nèi)部。鼠標由Logitech提供。

穿越顯示玻璃

穿過計算機顯示器我將飛機降落在航空母艦的甲板上,觀察到一個原子打到

了一個潛在的墻上,以接近光的速度在火箭中飛翔并觀察計算機透露它最深處的

工作。

A

IvanSutherland,計算機圖形之“父",引自“計算機圖形軟件”,科學(xué)美國

人,1984

最迷人的I/O設(shè)備當(dāng)屬圖形顯示器。它基于電視技術(shù),一個光柵陰極射線管

(CRT)顯示器每次掃描一幅圖象的一行,每秒30到75次(圖1.6)。在這種刷

新率下,人們不會注意到屏幕的閃爍。

圖象是由圖片元素,或稱象素,的矩陣組成,它可以用位的矩陣來代表,稱

為位圖。依賴于屏幕的大小和分辨率,顯示矩陣的大小從512x340到1560x1280

象素不等。最簡單的顯示器每象素1位,允許它是黑或白。為顯示支持256個不

同的黑白的濃淡,有時稱為灰度,每個象素需要8位。彩色顯示器三原色(紅、

藍和綠)的每一色可能都使用8位,每象素就是24位,容許顯示幾百萬種不同

的顏色。

便攜計算機通常使用液晶顯示板(LCD)代替CRT以得到薄而低功耗的顯示器,

二者主要的區(qū)別在于LCD象素不是光源。典型的LCD在液體中包含棒狀分子形成

的扭曲的螺旋,它使進入顯示屏的光線彎曲,光線通常來自放在顯示屏的背面的

光源。當(dāng)電流通過時這些棒變直并不再彎曲光線?;顒泳仃嘗CD在每個象素上有

微小的開關(guān)以精確控制電流并且因而得到更鮮艷的圖象。

圖1.6CRT顯示器。一束由電子槍發(fā)射的射線穿過真空射到涂磷的屏幕上。

在CRT頸部的偏轉(zhuǎn)環(huán)使電子槍對準。光柵掃描系統(tǒng)用于電視和幾乎所有的計算機

中,每次在屏幕上畫由一系列的點,或稱象素,組成的一行。屏幕每秒刷新30

到70次。

圖1.7左邊幀緩沖區(qū)中的每個坐標決定了右邊光柵掃描CRT顯示器上相應(yīng)坐

標處的亮暗。象素(X0,Y0)包含位模板0011,在屏幕上是比象素(XI,Y1)

A

中的位模板1101亮的灰色。

無論是什么顯示器,計算機硬件對圖形的支持主要包括光柵刷新緩沖區(qū),或

稱幀緩沖區(qū),來存儲位圖。要在屏幕上顯示的的圖形被存在幀緩沖區(qū)里,每個象

素的位模板以刷新速率被讀出到圖形顯示器。圖1.7顯示了每象素4位的幀緩沖

區(qū)。

位圖的目標是如實地表示屏幕上所要顯示的內(nèi)容。在圖形系統(tǒng)中的一個挑戰(zhàn)

是人眼能夠察覺屏幕上非常微小的變化。舉例來說,當(dāng)屏幕更新時,眼睛可以察

覺到已改變的和未改變的屏幕部分的不一致。

打開機箱

如果我們打開包著計算機的那個盒子,將會看見一個迷人的綠塑料的板子,

被幾十個灰色或黑色的方塊覆蓋著。圖1.8顯示了圖1.4中桌面計算機的內(nèi)部。

這個主板垂直地展示在后面,軟盤驅(qū)動器和電源在左面。

主板上的小方塊包含著驅(qū)動我們科技進步的設(shè)備:集成電路(或稱之為芯片)。

主板由三部分組成:連接上面提到的I/O設(shè)備的部分、內(nèi)存和處理器。I/O設(shè)備

通過右手中部的垂直附著在主板上的兩個大板連接。

內(nèi)存是運行時刻存儲程序的地方;它還包含運行程序所需的數(shù)據(jù)。在圖1.8

中,內(nèi)存在主板中間垂直附著的兩個小板上。每個小內(nèi)存板包含八塊集成電路。

圖1.8個人計算機的內(nèi)部.后面豎直的板子是印刷電路板(PC板),在PC

中稱為主板,包含計算機的絕大多數(shù)電子器件;圖1.11是那個板子的俯視圖,

旋轉(zhuǎn)了90度。處理器是板子右下角的大的黑色方塊。(圖1.19是放入黑色包裝

之前的處理器照片)。垂直插在主板右角上面的兩塊大板是以太局域網(wǎng)的輸入/

輸出接口和CRT的視頻卡。垂直插在主板中部的兩塊小板為內(nèi)存芯片。左下方的

大盒子為電源,在它之上是硬磁盤驅(qū)動器和軟盤驅(qū)動器。

處理器是主板的能動部分,依照程序的指令的工作。它執(zhí)行數(shù)字相加,判斷,

發(fā)送信號去激活I(lǐng)/O設(shè)備等操作。處理器是圖1.8的右下角內(nèi)存板下面的大正方

形。有時候,人們稱處理器為CPU,更正式的名稱是中央處理單元。

A

深入到硬件里面更低的層次,圖1.9展示圖1.8中處理器的細節(jié)。處理器包

含兩個主要的部分:數(shù)據(jù)通路和控制器,分別是處理器的肌肉和頭腦。數(shù)據(jù)通路

執(zhí)行算術(shù)操作,控制器根據(jù)程序指令的意圖告訴數(shù)據(jù)通路、內(nèi)存和I/O設(shè)備該干

什么。第5章解釋了簡單的數(shù)據(jù)通路和控制器,第6章敘述了高性能設(shè)計所需的

改動。

圖1.9圖1.8中主板所用的處理器芯片內(nèi)部.這個芯片是IntelPentium:

上面的圖片是芯片的特寫,下面畫出主要模塊的標識。芯片面積為91mm2,它包

含大約330萬個晶體管。高速緩存占用了其中大約100萬個。第7章解釋了為什

么在高速緩存上花費這么多資源。芯片的其他部分在后繼的幾章敘述:分支預(yù)測

包含在第6章里,總線包含在第8章。照片由Intel提供。

我們現(xiàn)在標識了計算機的的主要部分,下面會看到本書中的重要一點,這一

點非常重要,希望你永遠記住它,我們通過將其以標識為重點來強調(diào)它。本書中

大約有十幾個重點,首先是計算機的五個部分。

重點:計算機的五個經(jīng)典組成部分是輸入設(shè)備、輸出設(shè)備、內(nèi)存、數(shù)據(jù)通路和

控制器,最后的兩部分有時組合在一起并稱為處理器。圖1.10給出計算機的標

準結(jié)構(gòu)。這個結(jié)構(gòu)是獨立于硬件技術(shù)的:你可以將任意的計算機一一過去的或現(xiàn)

在的一一劃分成這五個部分。為了幫助你正確的保持這些,計算機的五部分在后

面的每一章的標題版都會出現(xiàn),并將那一章要涉及的部分加重。

圖1.10計算機的組織結(jié)構(gòu),給出五個典型組成部分。處理器從存儲器得到

指令和數(shù)據(jù);輸入設(shè)備將數(shù)據(jù)寫入存儲器,輸出設(shè)備從存儲器讀取數(shù)據(jù)??刂破?/p>

發(fā)送決定對數(shù)據(jù)通路、存儲器、輸入和輸出設(shè)備進行操作的信號。

讓我們深入到任一個硬件部件來考察機器的內(nèi)部情形。之前我們已這樣考察

過處理器了,現(xiàn)在來看看存儲器。圖1.11中的板子包含了兩種內(nèi)存:DRAM和高

A

速緩存。DRAM代表動態(tài)隨機存儲器。同時使用幾個DRAM來存儲程序的指令和數(shù)

據(jù)。與順序存取如磁帶這樣的存儲器相比,RAM這個概念意味著無論讀取內(nèi)存的

哪一部分,都消耗相同的時間。高速緩存包含小而快速的存儲部件作為DRAM內(nèi)存

的緩沖區(qū)。(對高速緩存的非技術(shù)定義是指它是隱藏一些東西的好地方。)

圖1.11PC主板的特寫。這個主板使用IntelPentiumPro處理器,位于主

板的右上邊緣。它被黑色金屬物覆蓋著,稱為散熱器,幫助芯片散熱。PentiumPro

包裝中包含有高速緩存。主內(nèi)存包含在垂直在主板中央的小板上。DRAM芯片裝

配在這些板上(稱為SIMM,指代單列內(nèi)存模塊)然后插入連接器中。板子剩下

部分主要是外部I/O設(shè)備的接口:音頻/MIDI和并行/串行口在頂邊,四個PCI

卡插槽在他們之下,左邊是四個ISA卡插槽,右下是兩個IDE接口。這些卡連接

主板和打印機、揚聲器、CRT、局域網(wǎng)、磁盤等等。

你可能已經(jīng)注意到描述軟件和硬件時一個常見的主題:探究硬件或軟件的深

處以揭示更多的信息,或相反地,掩蓋低層細節(jié)以為高級層面提供較簡單的模型。

這樣分層次的應(yīng)用,或稱抽象,是設(shè)計高度復(fù)雜的計算機系統(tǒng)的主要技巧。

一個最重要的抽象是硬件與低層軟件之間的接口。由于它的重要性,給它一

個特殊的名稱:機器的指令集系統(tǒng)結(jié)構(gòu),或簡稱系統(tǒng)結(jié)構(gòu)。指令集系統(tǒng)結(jié)構(gòu)包括

程序員為使一個二進制機器語言程序正確運行所需要知道的所有事,包括指令、

I/O設(shè)備等等。(系統(tǒng)結(jié)構(gòu)的組成部分在第3、4、7和8章討論。)

這個標準化的界面允許計算機設(shè)計者脫離執(zhí)行它們的硬件來討論功能。舉例

來說,我們可以脫離時鐘這個硬件(石英晶體、LED顯示器、塑料按鈕)討論數(shù)

字時鐘的功能(計時、報時、設(shè)定警告)。計算機設(shè)計者將系統(tǒng)結(jié)構(gòu)與一個系統(tǒng)

結(jié)構(gòu)的實現(xiàn)區(qū)別開:實現(xiàn)是服從系統(tǒng)結(jié)構(gòu)概念的硬件。這個思想給我們帶來另一

個I占,'、、O

重點:硬件和軟件都包含分級的層次,每一個低層對上一層掩蓋細節(jié)。這個抽

象的原則是硬件和軟件設(shè)計者處理計算機系統(tǒng)的復(fù)雜性時都在使用的方法。抽象

的層次之間的一個關(guān)鍵接口是指令集系統(tǒng)結(jié)構(gòu)。這個抽象的接口使很多不同成本

A

和性能的實現(xiàn)能運行相同的軟件。

Macintosh的使用者了解改變指令集系統(tǒng)結(jié)構(gòu)的影響:為PowerPC系統(tǒng)結(jié)構(gòu)

設(shè)計的程序不能運行在基于68000系列的機器,基于68000的程序不能在

PowerPC上很好地運行。相反地,Intel80x86家族提供相同系統(tǒng)結(jié)構(gòu)的幾種實現(xiàn):

1978年為原始的8086編寫的程序可以運行在最新的PentiumPro上。象第3章

指出的那樣,Intel逐年來增加特點,但所有的后代產(chǎn)品仍然必須很好的運行以

前的程序。

數(shù)據(jù)的安全位置

我認為硅谷是個錯誤的名字。如果你回顧近十年來產(chǎn)品所帶來的錢,你會發(fā)

現(xiàn)賣磁盤比賣硅的收入要多。這地方的名字應(yīng)該改為氧化物之谷O

AlHoagland,一個磁盤技術(shù)先驅(qū),1982

到此為止我們已經(jīng)明白如何輸入數(shù)據(jù)、計算數(shù)據(jù)和顯示數(shù)據(jù)。如果計算機斷

電了,所有的一切都會消失,因為計算機里的內(nèi)存是易失的;那就是說,當(dāng)內(nèi)存

斷電后,它會丟掉其中的內(nèi)容。相反的,當(dāng)你關(guān)掉電源時立體聲盒式磁帶并不會

丟失它所記錄的音樂,因為磁帶是磁性的而且采用非易失存儲技術(shù)。

為了區(qū)別這兩種存儲器一一程序運行時存儲程序的存儲器和保存不處于運行

狀態(tài)的程序的非易失存儲器一一術(shù)語基本存儲器或主存儲器指前者,輔助存儲器

指代后者。自1975年以來主存儲器就是DRAM的天下,但自1965年就已在使用

磁盤作為輔助存儲器了。

磁盤主要有兩種類型:軟盤和硬盤。這些磁盤工作的基本原理是相同的:涂

有磁記錄材料的轉(zhuǎn)動圓盤片。主要的區(qū)別是軟盤是用柔軟的聚酯薄膜制造的,而

硬盤的盤片是金屬的。軟盤能被取出并隨處攜帶,而現(xiàn)今絕大多數(shù)的硬盤是不可

移動的。軟盤的容量范圍從低成本軟盤的1.44M到Zip軟盤的100M不等。

另一種可移動介質(zhì)是光盤,或稱CD,它比硬盤便宜但速度較慢。性能最差的

是磁帶,它用于備份磁盤;磁帶可能花幾秒的時間來查找數(shù)據(jù)。

如圖1.12顯示的,硬磁盤包括一個盤片組,以每分鐘3600到7200圈的速度

旋轉(zhuǎn)。金屬盤片的兩面都涂有磁記錄材料,與盒式磁帶上的材料差不多。為了讀

寫硬盤上的信息,每面的上方都有一個可移動臂它帶有稱作讀/寫頭的小電磁線

圈。Zip驅(qū)動器借鑒了硬盤中的磁頭和介質(zhì)溫度技術(shù),在性能和容量上更接近硬

A

盤而不是傳統(tǒng)的軟盤。

今天不同硬盤的直徑變化有大約5倍之巨,從1.3到5.25英寸,并且這些年

來一直在縮小以適應(yīng)新產(chǎn)品;工作站服務(wù)器,個人計算機,膝上電腦和掌上型電

腦都促使了新硬盤形式出現(xiàn)。一般來說,最大的硬盤有最高的性能,最小的硬盤

最便宜,而有最好的容量成本比的硬盤通常介于它們之間。

圖1.12硬盤的10個盤片及讀/寫磁頭。照片由存儲技術(shù)公司提供。

使用了機械部件意味著磁盤的訪問時間要遠低于DRAM:硬盤通常需要5到20

毫秒,但DRAM只有50到100納秒——DRAM快100000倍。但存儲同等容量的數(shù)

據(jù)時,磁盤的花費要比DRAM低得多,因為給定容量的磁盤的生產(chǎn)成本比相同容

量的集成電路的生產(chǎn)成本要低。在1977年,磁盤的每兆字節(jié)成本是DRAM的50

分之一O

這樣在磁盤和主存儲器之間就有三個主要的區(qū)別:磁盤是非易失的因為它用

磁記錄;磁盤的訪問時間長因為它是機械設(shè)備;磁盤單位容量成本低因為它在一

定的成本下可以得到很高的存儲容量。

與其他計算機通信

我們已經(jīng)解釋了我們?nèi)绾屋斎搿⒂嬎?、顯示和保存數(shù)據(jù),但還是遺漏了現(xiàn)今

的計算機的另一個概念:計算機網(wǎng)絡(luò)。正如第16頁的圖1.10中顯示的處理器于

存儲器和I/O設(shè)備連接一樣,網(wǎng)絡(luò)連接整臺計算機,使計算機用戶通過網(wǎng)絡(luò)通信

來擴展計算機的能力。網(wǎng)絡(luò)是如此流行,它已經(jīng)成了如今計算機系統(tǒng)的骨干;不

帶有可選的網(wǎng)絡(luò)接口的新機器將會被嘲笑。聯(lián)網(wǎng)的計算機有幾個主要的優(yōu)勢:

■通信:在計算機之間實現(xiàn)高速信息交換。

■資源共享:與其每個機器都有自己的I/O設(shè)備,不如通過網(wǎng)絡(luò)讓設(shè)備被

計算機共享使用。

■遠程訪問:通過連接相距遙遠的計算機,用戶無需離他們要使用的計算

機很近。

網(wǎng)絡(luò)在長度和性能上各有不同,通訊的費用隨速度和信息傳送的距離的提

A

高而增長。最流行的網(wǎng)絡(luò)也許是以太網(wǎng)。它的長度限制大約是一公里,最

常用的形式傳送數(shù)據(jù)的速度是每秒1百萬字節(jié)。以太網(wǎng)的長度和速度特征

使得它在連接建筑物同一層的計算機之間很有用;因此,它是在分類上被

稱為局域網(wǎng)的一個實例。遍及大陸的廣域網(wǎng)是Internet的骨干,它支持全

球網(wǎng)。他們一般是基于光纖并由電訊公司出租的。

1.4集成電路:推動創(chuàng)新

我認為“計算機”就象書那樣是一個任何地方都能應(yīng)用的概念。不過我沒

有想到它會發(fā)展得如此之快,因為我沒有想到最后在一個芯片中能提供那么多得

部件。晶體管出乎意料地向前發(fā)展。一切都發(fā)生得比我們想象的快得多。

J.PresperEckert,ENIAC的發(fā)明者之一,在1991年的講話

處理器和存儲器以驚人的速度得到改進,因為計算機設(shè)計者長期以來一直采

用最新的電子技術(shù)在設(shè)計更好計算機的競爭中獲勝。圖1.13給出了不同年代所

采用的技術(shù),同時提供每種技術(shù)的單位成本性能比的評估。本節(jié)探索自1975年

以來推動了計算機工業(yè)發(fā)展的技術(shù),并且在可預(yù)見的將來這些技術(shù)還將繼續(xù)推動

計算機工業(yè)前進。既然集成電路技術(shù)決定著計算機的功能和發(fā)展速度,我們認為

所有的計算機專家應(yīng)該熟悉集成電路的基礎(chǔ)知識。

年計算機使用的技術(shù)相關(guān)性能/單位成本

1951電子管1

1965晶體管35

1975集成電路900

1995超大規(guī)模集成電路2400000

圖1.13不同年代計算機所采用的技術(shù)的單位成本域相關(guān)性能。來源:波士頓

計算機博物館。

晶體管是由電控制的簡單的開關(guān)。集成電路將幾十到上百的晶體管集成到一

個芯片上。為了描述晶體管數(shù)目從幾百到幾百萬的巨大增長,形容詞超大規(guī)模加

到了這個術(shù)語前,產(chǎn)生了縮寫VLSI,指超大規(guī)模集成電路。

這個綜合增長率是相當(dāng)穩(wěn)定。圖1.14顯示了自1977年來DRAM容量的增長。每

3年集成電路工業(yè)便增長4倍,結(jié)果僅僅這20年里的增長就超過16000倍!集

A

成電路在成本性能比和容量上這個驚人的發(fā)展速度統(tǒng)治了硬件與軟件的設(shè)計,因

此更需要了解這種技術(shù)。

圖1.14每片DRAM芯片的容量隨時間的增長。y軸的單位是Kbits,這里K=1024

(210)。每t3年DRAM的容量就變?yōu)樵瓉淼?倍,每年增長60%,持續(xù)了20年。

1MbitDRAM是個例外,它提前一年達到了預(yù)期的目標;另一個例外是64MbitDRAM,

它比預(yù)期的晚了一年。這個“三年翻四翻”的規(guī)律稱為DRAM增長率。

讓我們從頭開始。制造芯片開始于硅,是沙子的成份。因為硅的導(dǎo)電性不好,

它被稱為半導(dǎo)體。通過特殊的化學(xué)過程,可以將金屬攙入硅中使一個很小的區(qū)域

改變?yōu)槿N器材之一:

電的良導(dǎo)體(像銅或鋁導(dǎo)線)

絕緣體(像塑料皮或玻璃)

由特定的條件決定導(dǎo)電還是絕緣(像開關(guān))

晶體管屬于最后一類。VLSI電路就是將數(shù)以百萬計的導(dǎo)體、絕緣體和開關(guān)組合

制造在一片小容器中。

集成電路的生產(chǎn)過程決定了芯片成本,因此對計算機設(shè)計者十分重要。圖1.15

顯示了這個過程。過程開始于一個像大香腸的硅晶錠。現(xiàn)在,硅晶錠的直徑為6

-12英寸,長度為12-24英寸。硅晶錠被小心地切成厚度不大于0.1英寸的圓

片。這些圓片隨后要經(jīng)歷一系列的處理過程,在這中間每片都要放上各式各樣的

化學(xué)成分,生成上述的晶體管、導(dǎo)體和絕緣體。

圓片本身或在這幾十步模式處理過程中在圓片上產(chǎn)生的一個微小的裂紋會導(dǎo)

致園片那個區(qū)域失效。這些瑕疵,正如他們的名稱一樣,使得不可能制造出完美

的圓片。為處理不完整性采用了幾種對策,最簡單方法的就是在單個圓片上放置

很多相互獨立的部分,然后把這個模式化的圓片切成小的方塊骰子狀部件,這些

"骰子"的正式名字是芯片。切片技術(shù)使得你只須舍棄那些不幸含有瑕疵的方塊,

而不是整個圓片。這一概念用出產(chǎn)率過程來定量表示,定義為圓片上總芯片數(shù)目

與產(chǎn)出的合格芯片的百分比。

A

一旦發(fā)現(xiàn)好的片子,它們就在一個稱為“捆綁(bonding)”的過程中連接到一

個封裝的輸入/輸出引腿上。由于在封裝過程中可能會出錯,所以這些封裝部分

最后還要被檢測一次,之后才轉(zhuǎn)給客戶。

細節(jié):偶爾我們會插進一些對初學(xué)者無關(guān)緊要的細節(jié),但對一個高級用戶來說

他可能很感興趣。

計算機設(shè)計的一個新課題是能源效率。對便攜式電腦來講,為延長電池使用壽

命,能源效率就非常重要,不僅如此,對桌面電腦來說,由于單片機時鐘頻率的

增長,它也成了一個必須考慮的因素。例如,AIpha21254微處理器在以600MHz

的頻率工作浪費了驚人的72W的功率。功率可能會成為限制性能的一個新問題。

圖1.14芯片制造過程.硅錠先被切成薄的圓片后經(jīng)過20到30步的模式化處

理(見圖1.17),這些模式化后的圓片切成小方塊(見圖1.18),每一小塊都須

經(jīng)過檢測。此圖中,一個圓片生產(chǎn)出20張小片子,只有6個通過了檢測。(X意

味著片子是壞的。)故而此例中好片子的出產(chǎn)率就是6/20,即30%。這些好片子

捆綁成一個封裝(見圖1.19),在轉(zhuǎn)給客戶前需要再檢測一次。最后的檢測中發(fā)

現(xiàn)了一個壞的封裝。

1.5實際資料:制造Pentium芯片

每章都有名為“實際資料”一節(jié)來將本書中的概念與你每天使用的計算機連

系起來。這些節(jié)總是覆蓋IBMPC中的基本技術(shù)并且也經(jīng)常包含AppleMacintosh

的技術(shù)。在本章,我們將前一節(jié)的集成電路概念與驅(qū)動IBMPC的芯片連系起來。

圖1.16是一張包含了很多單片處理器的未被切開的圓晶片的照片。它包含

了圖1.9特寫顯示的芯片的復(fù)制品。圖1.17是PentiumPro---Pentium的后代

的圓晶片照片。圖1.18顯示了單片PentiumPro片子。

請注意每片圓晶片上有比大模塊多得多的小片子:圖1.16中8英寸直徑圓

晶片中有196個Pentium片子,但圖1.17中的圓晶片上只有78個大些的Pentium

Pro片子。由于無論其上有什么圓晶片的成本都大致相同,片子少意味著成本高。

A

此外成本的增長是因為大片子更有可能包含瑕疵而導(dǎo)致報廢。

既然芯片成本隨芯片增大而很快上升(練習(xí)1.46到1.53更詳細地研究了

芯片成本),計算機設(shè)計者顯然必須熟悉他們使用的技術(shù)以便確信大.芯片成本的

增加在提高性能上是否值得。

圖1.16一片包含IntelPentium處理器的直徑8英寸的圓晶片。每片圓晶

片上Pentium芯片的數(shù)量是196。芯片面積為91mm)包含大約330萬個晶體管。

15頁的圖1.9是一個Pentium芯片的顯微照片。晶片邊緣幾十個不完整的芯片

是沒用的;之所以這樣做是因為這樣比較容易生成用來印在硅上的掩模。照片由

Intel提供。

圖1.17一片包含IntelPentiumPro處理器的直徑8英寸的圓晶片。每片

圓晶片上PentiumPro芯片的數(shù)量是78。模塊面積為306mml包含大約550萬

個晶體管。圖1.18是一個模塊的顯微照片。晶片由Intel提供。

圖1.19顯示了含有兩個芯片的包裝部分。請注意PentiumPro包裝實際上

包含有兩個芯片!Intel的工程師決定在PentiumPro中選擇兩個芯片的方案而

不是加大芯片尺寸。如練習(xí)說明的,兩個小芯片比一個大芯片便宜。這第二個芯

片是外部高速緩存芯片,在第7章敘述。

計算機設(shè)計者必須既懂得硬件技術(shù)又懂軟件技術(shù)以制造有競爭力的計算

機。硅是計算機設(shè)計者的工作媒介,所以他們必須清楚集成電路成本和性能的基

礎(chǔ)。設(shè)計者還必須學(xué)習(xí)極大影響計算機硬件的軟件原理,即編譯器和操作系統(tǒng)的

原理。

A

圖1.18一個PentiumPro芯片:上面的照片是芯片的特寫,下面的圖樣標

出了主要功能塊。芯片面積為306mm2,包含大約550萬個晶體管。高速緩存占芯

片面積的一個小部分——只占550萬中的100方因為PentiumPro與一個3100

萬晶體管的外部高速緩存包裝在一起。PentiumPro芯片中的功能塊在后面的幾

章敘述:第5章敘述微碼;第6章敘述指令編碼、保留位置、重排序緩沖區(qū)和分

支預(yù)測;第7章敘述高速緩存和存儲緩沖器。照片由Intel提供。

圖1.19包含Pentium芯片的包裝(a)和包含PentiumPro芯片的包裝(b).

Pentium有286個管腳,PentiumPro有387個管腳。多出來的管腳使主內(nèi)存到

處理器有更寬的通路,允許更快的數(shù)據(jù)傳送和更大的內(nèi)存的編址。PentiumPro

包中的第二個芯片是外部高速緩存(另一個圖像見612頁的圖7.32)。照片由

Intel提供。

1.6謬誤和陷阱

科學(xué)一定開始于神話和神話的批評。

KarlPopper爵士,科學(xué)原理,1957

每章都有的謬誤與陷阱一節(jié)的目的是解釋一些你可能遇見的通常都這么認為

的誤解。我們稱這樣的錯誤觀念為稷誤。討論一個謬誤時,我們盡量給出一個反

例。我們也討論陷阱,或稱容易犯的錯誤。通常陷阱一般化了有限前提下正確的

原理。這些節(jié)的目的是幫助你避免在你可能設(shè)計或使用的機器中犯這些錯誤。

謬誤:計算機已經(jīng)用相同的、陳舊的方式制造了太長的時間,并且這種古舊

的計算方式已經(jīng)發(fā)展到頭了。

對于一種陳舊的計算方式,它當(dāng)然提高得很快。圖1.20繪制了1987年到1997

年每年工作站的最高性能。(第2章解釋衡量性能的適當(dāng)?shù)姆椒ā?圖片顯示了一

條指出每年增長54%的線,或大約每18個月性能增長一倍。與上面的描述對比,

今天計算機性能上的提高快于以往的任何時候-1987年和1997年之間有百倍的

A

增長!

陷阱:計劃設(shè)計一種新機器時忽略硬件無情而實在的進展。

設(shè)想你計劃三年后推出一種新機器,并且你宣稱這種機器將極其暢銷,因為

它比現(xiàn)在的任何機器都快三倍。很不幸地,這種機器將很可能銷路不好,因為這

個產(chǎn)業(yè)的平均增長率將給予別的機器以相同的性能。舉例來說,假定性能的年增

長率為50%,今天性能為x的機器在三年后性能將為1.5%=3.4x。你的機器將沒

有性能上的優(yōu)勢!計算機公司內(nèi)部的很多項目被取消,或者由于他們忽略了這個

規(guī)律或者由于項目完成得晚,此時機器的性能已經(jīng)低于業(yè)界平均水平。這個現(xiàn)象

可能發(fā)生于任何工業(yè)中,但快速增長的性能價格比使得它成為計算機工業(yè)中主要

關(guān)心的問題。

圖1.201987-1997工作站的性能增長。這里性能比VAX-11/780快幾倍,

這是通常使用的標準。性能增長率大約為每年1.54,或者說每1.6年翻倍。這

些性能數(shù)字是以整數(shù)SPEC92(SPECbase_int92)為基準的;關(guān)于SPEC更多的細

節(jié)見第2章的2,6節(jié)。由于時間較長這些點變得不容易察看,下面列出這些機器,

并在括號里給出性能比率,開始于1987年:Sun-4/260(9).MIPSM/120(13).

MIPSM2000(18).IBMRS6000/540(24),HP9000/750(51).Digital3000

AXP/500(80),IBMPOWERStation100(117),DigitalAlphastation4/266(183)、

DigitalAlphastation5/300(280)、DigitalAlphastation5/500(481)和一■個

基于600-MHzAlpha21264微處理器的機器(1140)。最后的兩種機器是基于

SPECin95base并乘一個系數(shù)以評估SPECbase92性能。

1.7結(jié)論

此處……ENIAC裝備有18000個真空管,重30噸,未來的計算機可能有

1000個真空管,重量只有1.5噸。

大眾機械,1949年3月

雖然準確地預(yù)言未來計算機的性能價格比是很困難的,但可以打賭它們將比

A

現(xiàn)在好得多是一定會贏的。為了促進這些進步,計算機設(shè)計者和程序員必須廣泛

地了解各種問題。

硬件和軟件設(shè)計者都以層次結(jié)構(gòu)構(gòu)造系統(tǒng),每個低層都對其上層隱藏細節(jié)。

這個抽象原理對了解今天的計算機系統(tǒng)是十分重要的,但這并不意味著設(shè)計者可

以將自己局限在單一的技術(shù)中。最重要的抽象的例子也許是硬件與低層軟件之間

的接口,稱為指令集系統(tǒng)結(jié)構(gòu)。保持指令集系統(tǒng)結(jié)構(gòu)不變使許多成本和性能可能

各不相同但系統(tǒng)結(jié)構(gòu)相同的機器能運行完全相同的軟件。在下層,系統(tǒng)結(jié)構(gòu)可能

排除改變接口的需要。

現(xiàn)代處理器的關(guān)鍵技術(shù)是編譯器和硅。很顯然,為了參與計算機的改進你必

須了解這兩者的一些特性。與了解集成電路技術(shù)一樣重要的是要了解技術(shù)改變的

期望率,這個關(guān)系的一個例子是DRAM每三年容量變?yōu)樗谋兜膽T例。當(dāng)硅推動硬

件快速進步的同時,計算機結(jié)構(gòu)中的新思想已經(jīng)提高了性能價格比。兩個關(guān)鍵的

思想是在處理器中使用并行一一典型地通過流水線和利用存儲器層次訪問的局

部性——通常用高速緩存實現(xiàn)。

本書的閱讀指導(dǎo)

在這些抽象的基礎(chǔ)是計算機的五個基本組成部分:數(shù)據(jù)通路、控制器、存儲

器、輸入設(shè)備和輸出設(shè)備(參考圖1.10)。這五部分也作為本書其余章的框架:

■數(shù)據(jù)通路:第4、5、6章

■控制器:第5章和第6章

■存儲器:第7章

■輸入設(shè)備:第8章

■輸出設(shè)備:第8章

第6章敘述處理器流水線如何利用并行性,第7章敘述內(nèi)存組織如何利用局

部性。剩下的章節(jié)進一步介紹這些內(nèi)容并給出結(jié)論。第2章講述性能并且敘述如

何評估整臺計算機。第3章敘述指令集-編譯器和機器之間的接口-并強調(diào)了在

使用指令集的特點中編譯器和程序設(shè)計語言的任務(wù)。第9章通過討論多處理器來

結(jié)束這些內(nèi)容。

A

1.8歷史回顧和參考文獻

“科學(xué)的活躍領(lǐng)域就像是一個極龐大的蟻穴,個人的角色就是在思維的海洋中前

仆后繼,將信息像光速那樣從一個地方傳播到另一個地方「

——LewisThomas,《自然科學(xué)》雜志,論文“細胞的生命”,1974年

這一部分是各章相關(guān)部分的歷史回顧。我們以計算機系列和一些重要的計算

機工程為線索回顧計算機的發(fā)展,如果您對進一步深入的內(nèi)容感興趣,我們還提

供了相應(yīng)的參考資料。這一部分同時也提供了本章中一些重要概念出現(xiàn)的歷史背

景,目的在于展示在技術(shù)進步背后的人的故事和他們在歷史上的成就。理解過去,

才能夠更好的理解影響計算機發(fā)展的力量。

第一批電子計算機

賓夕法尼亞州立大學(xué)摩爾分校的J.PresperEckert和JohnMarchly制造出

了被廣泛認可的世界上第一臺可操作的通用電子計算機。這臺被叫做ENIAC(電

子數(shù)字積分器和計算器)的計算機是由美國軍方投資的,并在第二次世界大戰(zhàn)中

投入使用,但是直到1946年才公開露面。ENIAC是一臺具有通用目的的計算機,

被用來計算炮彈開火的圖表。這臺“U”型的計算機有80英尺長、8.5英尺高,

寬也有好幾英尺(見圖1.21)。每20個10位寄存器都有2英尺長。ENIAC總共

用了18,000個真空管。

從尺寸上來說,ENIAC比現(xiàn)在的計算機要大兩個數(shù)量級,但是慢四個數(shù)量級,

每秒只能做1900次加法。ENIAC提供條件跳轉(zhuǎn)功能,可編程,可將它與早期的

計算器很輕易的區(qū)分開來。編程通過手動的插線和設(shè)置開關(guān)來實現(xiàn),數(shù)據(jù)通過穿

孔卡輸入。典型計算的編程需要半個小時到一整天的時間。ENIAC是一臺通用計

算機,主要局限為小容量的存儲器和冗長乏味的編程過程。

JohnVonNeumann在1944年被ENIAC的工程所吸引。這個組織想要改進程

序輸入的途徑,討論怎樣以數(shù)字形式存儲程序。VonNeumann幫助他們明確了這

些觀點,并寫了一個備忘錄,提出了一種存儲程序的計算機叫做EDVAC(電子離

A

散變量自動計算機)?HermanColdstine發(fā)布了這個備忘錄并加上了VonNeumann

的名字,這引起了Eckert和Mauchly的不安,因為他們的名字被遺漏了.這個

備忘錄被當(dāng)作如今廣泛使用的“馮?諾依曼計算機”的基礎(chǔ)。一些計算機界的先

驅(qū)認為這給了提出這些觀點的VonNeumann太多的榮譽,而給予Eckert和

Mauchly這樣的對計算機產(chǎn)生重要影響的工程師的卻太少太少了。

圖1.21世界上第一臺通用目的的電子計算機ENIAC.注意圖中右下角的法

院標簽,這是34頁所提及的專利情況。照片得到了明尼蘇達大學(xué)Charles

Babbage學(xué)院的許可。

1946年,劍橋大學(xué)的MauriceWilkes造訪了摩爾分校”參加一系列的關(guān)于

電子計算機發(fā)展的演講的后半部分。Wilkes回到劍橋大學(xué)后,決定著手發(fā)起一

項工程來制造一種基于存儲程序的計算機EDSAC(電子延遲存儲自動計算器)。

EDSAC(見圖1.22)在1949年完成,是世界上第一臺全面的、可操作的、可存

儲程序的計算機[Wilkes1985]。(一個由曼徹斯特大學(xué)于1948年制作開發(fā)的叫

做Mark-I的小型機的原型或許可以被稱為第一臺可操作的存儲程序的計算機。)

第三章的3.4這一部分闡述了存儲程序的概念。

圖1.22EDSAC在1949年是第一臺全面的、存儲程序的計算機。前面那個

跪著的、戴著眼鏡的人就是Wilkes。照片得到了波士頓計算機博物館的許可。

1947年,Eckert和Mauchly申請電子計算機的專利。摩爾分校的院長要求

將專利移交給學(xué)校,這一舉動促使Eckert和Mauchly做出了離開的決定。他們

的離開削弱了EDVAC工程的力量,延誤了工程的完成,直到1952年工程才完成。

A

Goldstine于1946年加入了普林斯頓大學(xué)馮?諾依曼所在的高級研究學(xué)院

(IAS),與他在一起的還有ArthurBurks,他們發(fā)表了一篇基于早期那篇備忘

錄的報告[Burks,Goldstine和vonNeumann1946]?這篇論文在那個時期簡直

令人難以置信,就算你今天再讀它,你也永遠想象不到這篇里程碑般的論文居然

是寫于50多年前,因為它討論了現(xiàn)代計算機中所能見到的許多系統(tǒng)結(jié)構(gòu)的概念。

這篇論文導(dǎo)致了JulianBigelow設(shè)計制造出了IAS機型,這種機器總共有1024

個40位的字,大約比ENIAC快10倍左右。他們考慮了用戶的需求,發(fā)表了一系

列的報告,并鼓勵人們前來造訪。這些報告和訪問學(xué)者促進了一批新型計算機的

發(fā)展。

近來人們對在40年代早期制造出小規(guī)模的電子計算機的JohnAtanasoff的

工作有些爭議,這臺機器是衣阿華州立大學(xué)設(shè)計的,它只具有特殊用途,并不具

有完全的可操作性。Mauchly曾在制造ENIAC之前簡單的拜訪過Atanasoff,

Atanasoff機器的面世、ENIAC專利處理工作的遲緩(直到戰(zhàn)后分類和專利批準

的工作才能進入正軌)和vonNeumann論文的發(fā)布破壞了Eckert-Mauchly的專

利。盡管對于Atanasoff1規(guī)則的爭論愈演愈烈,Eckert和Marckly總是被歸功

于制造了第一臺可運行的、具有通用目的的電子計算機。

另一個應(yīng)該得到些榮譽的早期機器是30年代末40年代初在德國由Konrad

Zuse制造的特殊用途計算機。雖然Zuse已經(jīng)準備好設(shè)計可編程的計算機,但是

德國政府不想在研究周期多于兩年的科學(xué)研究項目上投資,因為官僚們希望戰(zhàn)爭

能在兩年內(nèi)結(jié)束。

在英吉利海峽的另一側(cè),在二戰(zhàn)時期的英國,制造出的特殊用途電子計算機

被用來破譯截獲的的德國情報。在Bletchley公園的一個包括AlanTuring的研

究隊伍于1943年制造出了“巨人”計算機。1970年以前這些機器都處于保密狀

態(tài),戰(zhàn)后,這個小組對英國商業(yè)計算機的影響就很小了。

當(dāng)研制ENIAC的工作正在進展時,哈佛大學(xué)的HowardAiken研制出了一種

叫做Mark-I的機電計算機(這個名字后來被曼徹斯特的機器所采用)。他在

Mark-I之后又開發(fā)了后續(xù)機型Mark-II,進而又研制了真空管機器Mark-Ill和

A

Mark-IV0與早期如EDSAC這些使用單存儲器存儲指令和數(shù)據(jù)的機器相對比,

Mark-Hi和Mark-IV使用分離存儲器來存儲指令和數(shù)據(jù)。這種機器被存儲程序計

算機的擁護者認為是異端的,并因此創(chuàng)造了“哈佛系統(tǒng)結(jié)構(gòu)”這個詞來描述這種

具有分離存儲器的機器。出于對歷史的尊重,在不同的意義上,現(xiàn)在我們用這個

術(shù)語來描述用一個單一的主存儲器和若干分離的高速緩存來存儲指令和數(shù)據(jù)的

機器。

旋風(fēng)型計算機于1947年在MIT開始研究,著重于實時雷達信號處理方面的

應(yīng)用。雖然它帶來了一些新發(fā)明,但是它最重要的革新是磁心存儲器。旋風(fēng)型計

算機有2048個磁心的16位字。在主存儲器技術(shù)中應(yīng)用磁心技術(shù)已經(jīng)有將近30

年的歷史了。

商業(yè)發(fā)展

1947年12月,Eckert和Mauchly成立了Eckert-Mauchly計算機公司。他

們的第一臺機器BINAC是為Northrop制造的,于1949年8月面世。經(jīng)歷了一些

財政困難后,他們的公司被Remington-Rand收購,他們在那里制造了UNIVACI

(通用自動計算機),他們將這種機型設(shè)計為具有通用目的的計算機(見圖

1.23)。在1951年6月的第一次交貨中,UNIVACI賣了大約一百萬美元,是第

一個成功的商業(yè)計算機——總共賣出了48套!這些早期的計算機和那些吸引人

的計算機資料一樣可以在馬薩諸塞州的波士頓計算機博物館或是加利福尼亞州

MountainView(威爾山)的計算機歷史中心里看到。

在1950年以前,IBM雖然在做穿孔卡和辦公室自動化的生意,但是并沒有開

始制造計算機。IBM的第一臺計算機IBM701誕生于1952年,最終賣出了19套。

在50年代早期,許多人對計算機的前景表示悲觀,認為這些“高度專業(yè)化”的

機器的市場和機遇都將受到非常大的限制。

A

圖1.23UNIVAC,美國第一臺商用計算機。它準確預(yù)言了1952年總統(tǒng)選舉

的結(jié)果,但是它的初始預(yù)測沒有被采納,而是采用了無線廣播,因為專家們懷疑

這些早期預(yù)測結(jié)果的可用性。照片經(jīng)由明尼蘇達大學(xué)CharlesBabbage學(xué)院許可。

在1964年,IBM在投資了50億美元后,大膽宣稱了推出了System/360系統(tǒng)。

IBM的一位發(fā)言人當(dāng)時說了這樣的一段話:

我們在這篇通告中也許不太謙虛,但是這是這個公司在它的歷史上制造出的

產(chǎn)品中最重要的一個產(chǎn)品通告,這不是以前大家概念中的電腦。它不是一個產(chǎn)品,

而是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論