推薦答案電子計(jì)算機(jī)(electronic computer),俗稱電腦,簡稱計(jì)算機(jī)(computer),是一種根據(jù)一系列指令來對(duì)數(shù)據(jù)進(jìn)行處理的機(jī)器。所相關(guān)的技術(shù)研究叫計(jì)算機(jī)科學(xué),由數(shù)據(jù)為核心的研究稱信息技術(shù)。
計(jì)算機(jī)種類繁多。實(shí)際來看,計(jì)算機(jī)總體上是處理信息的工具。根據(jù)圖靈機(jī)理論,一部具有最基本功能的計(jì)算機(jī)應(yīng)當(dāng)能夠完成任何其它計(jì)算機(jī)能做的事情。因此,只要不考慮時(shí)間和存儲(chǔ)因素,從個(gè)人數(shù)碼助理(PDA)到超級(jí)計(jì)算機(jī)都應(yīng)該可以完成同樣的作業(yè)。即是說,即使是設(shè)計(jì)完全相同的計(jì)算機(jī),只要經(jīng)過相應(yīng)改裝,就應(yīng)該可以被用于從公司薪金管理到無人駕駛飛船操控在內(nèi)的各種任務(wù)。由于科技的飛速進(jìn)步,下一代計(jì)算機(jī)總是在性能上能夠顯著地超過其前一代,這一現(xiàn)象有時(shí)被稱作“摩爾定律”。
計(jì)算機(jī)在組成上形式不一。早期計(jì)算機(jī)的體積足有一間房屋大小,而今天某些嵌入式計(jì)算機(jī)可能比一副撲克牌還小。當(dāng)然,即使在今天,依然有大量體積龐大的巨型計(jì)算機(jī)為特別的科學(xué)計(jì)算或面向大型組織的事務(wù)處理需求服務(wù)。比較小的,為個(gè)人應(yīng)用而設(shè)計(jì)的計(jì)算機(jī)稱為微型計(jì)算機(jī),簡稱微機(jī)。我們今天在日常使用“計(jì)算機(jī)”一詞時(shí)通常也是指此。不過,現(xiàn)在計(jì)算機(jī)最為普遍的應(yīng)用形式卻是嵌入式的。嵌入式計(jì)算機(jī)通常相對(duì)簡單,體積小,并被用來控制其它設(shè)備—無論是飛機(jī),工業(yè)機(jī)器人還是數(shù)碼相機(jī)。
上述對(duì)于電子計(jì)算機(jī)的定義包括了許多能計(jì)算或是只有有限功能的特定用途的設(shè)備。然而當(dāng)說到現(xiàn)代的電子計(jì)算機(jī),其最重要的特征是,只要給予正確的指示,任何一臺(tái)電子計(jì)算機(jī)都可以模擬其他任何計(jì)算機(jī)的行為(只受限于電子計(jì)算機(jī)本身的存儲(chǔ)容量和執(zhí)行的速度)。據(jù)此,現(xiàn)代電子計(jì)算機(jī)相對(duì)于早期的電子計(jì)算機(jī)也被稱為通用型電子計(jì)算機(jī)。
歷史
ENIAC是電腦發(fā)展史上的一個(gè)里程碑本來,計(jì)算機(jī)的英文原詞“computer”是指從事數(shù)據(jù)計(jì)算的人。而他們往往都需要借助某些機(jī)械計(jì)算設(shè)備或模擬計(jì)算機(jī)。這些早期計(jì)算設(shè)備的祖先包括有算盤,以及可以追溯到公元前87年的被古希臘人用于計(jì)算行星移動(dòng)的安提基特拉機(jī)制。隨著中世紀(jì)末期歐洲數(shù)學(xué)與工程學(xué)的再次繁榮,1623年由Wilhelm Schickard率先研制出了歐洲第一臺(tái)計(jì)算設(shè)備,這是一個(gè)能進(jìn)行六位以內(nèi)數(shù)加減法,并能通過鈴聲輸出答案的“計(jì)算鐘”。使用轉(zhuǎn)動(dòng)齒輪來進(jìn)行操作。
1642年法國數(shù)學(xué)家Pascal 在WILLIAM Oughtred計(jì)算尺的基礎(chǔ)上,將計(jì)算尺加以改進(jìn),能進(jìn)行八位計(jì)算。還賣出了許多制品,成為當(dāng)時(shí)一種時(shí)髦的商品。
1801年,Joseph Marie Jacquard對(duì)織布機(jī)的設(shè)計(jì)進(jìn)行了改進(jìn),其中他使用了一系列打孔的紙卡片來作為編織復(fù)雜圖案的程序。Jacquard式織布機(jī),盡管并不被認(rèn)為是一臺(tái)真正的計(jì)算機(jī),但是它的出現(xiàn)確實(shí)是現(xiàn)代計(jì)算機(jī)發(fā)展過程中重要的一步。
查爾斯・巴比奇(Charles Babbage)是構(gòu)想和設(shè)計(jì)一臺(tái)完全可編程計(jì)算機(jī)的第一人,當(dāng)時(shí)是1820年。但由于技術(shù)條件,經(jīng)費(fèi)限制,以及無法忍耐對(duì)設(shè)計(jì)不停的修補(bǔ),這臺(tái)計(jì)算機(jī)在他有生之年始終未能問世。約到19世紀(jì)晚期,許多后來被證明對(duì)計(jì)算機(jī)科學(xué)有著重大意義的技術(shù)相繼出現(xiàn),包括打孔卡片以及真空管。Hermann Hollerith設(shè)計(jì)了一臺(tái)制表用的機(jī)器,就實(shí)現(xiàn)了應(yīng)用打孔卡片的大規(guī)模自動(dòng)數(shù)據(jù)處理。
在20世紀(jì)前半葉,為了迎合科學(xué)計(jì)算的需要,許許多多單一用途的并不斷深化復(fù)雜的模擬計(jì)算機(jī)被研制出來。這些計(jì)算機(jī)都是用它們所針對(duì)的特定問題的機(jī)械或電子模型作為計(jì)算基礎(chǔ)。20世紀(jì)三四十年代,計(jì)算機(jī)的性能逐漸強(qiáng)大并且通用性得到提升,現(xiàn)代計(jì)算機(jī)的關(guān)鍵特色被不斷地加入進(jìn)來。
1937年由克勞德·艾爾伍德·香農(nóng)(Claude Shannon)發(fā)表了他的偉大論文《對(duì)繼電器和開關(guān)電路中的符號(hào)分析》,文中首次提及數(shù)字電子技術(shù)的應(yīng)用。他向人們展示了如何使用開關(guān)來實(shí)現(xiàn)邏輯和數(shù)學(xué)運(yùn)算。此后,他通過研究Vannevar Bush的微分模擬器進(jìn)一步鞏固了他的想法。這是一個(gè)標(biāo)志著二進(jìn)制電子電路設(shè)計(jì)和邏輯門應(yīng)用開始的重要時(shí)刻,而作為這些關(guān)鍵思想誕生的先驅(qū),應(yīng)當(dāng)包括:Almon Strowger,他為一個(gè)含有邏輯門電路的設(shè)備申請(qǐng)了專利;尼古拉・特斯拉(Nikola Tesla),他早在1898年就曾申請(qǐng)含有邏輯門的電路設(shè)備;Lee De Forest,于1907年他用真空管代替了繼電器。
Commodore公司在20世紀(jì)八十年代生產(chǎn)的Amiga 500電腦沿著這樣一條上下求索的漫漫長途去定義所謂的“第一臺(tái)電子計(jì)算機(jī)”可謂相當(dāng)困難。1941年5月12日,Konrad Zuse完成了他的機(jī)電共享設(shè)備“Z3”,這是第一臺(tái)具有自動(dòng)二進(jìn)制數(shù)學(xué)計(jì)算特色以及可行的編程功能的計(jì)算機(jī),但還不是“電子”計(jì)算機(jī)。此外,其他值得注意的成就主要有:1941年夏天誕生的阿塔納索夫-貝瑞計(jì)算機(jī)是世界上第一臺(tái)電子計(jì)算機(jī),它使用了真空管計(jì)算器,二進(jìn)制數(shù)值,可復(fù)用內(nèi)存;在英國于1943年被展示的神秘的巨像計(jì)算機(jī)(Colossus computer),盡管編程能力極其有限,但是它的的確確告訴了人們使用真空管既值得信賴又能實(shí)現(xiàn)電氣化的再編程;哈佛大學(xué)的Harvard Mark I;以及基于二進(jìn)制的“埃尼阿克”(ENIAC,1944年),這是第一臺(tái)通用意圖的計(jì)算機(jī),但由于其結(jié)構(gòu)設(shè)計(jì)不夠彈性化,導(dǎo)致對(duì)它的每一次再編程都意味著電氣物理線路的再連接。
開發(fā)埃尼愛克的小組針對(duì)其缺陷又進(jìn)一步完善了設(shè)計(jì),并最終呈現(xiàn)出今天我們所熟知的馮·諾伊曼結(jié)構(gòu)(程序存儲(chǔ)體系結(jié)構(gòu))。這個(gè)體系是當(dāng)今所有計(jì)算機(jī)的基礎(chǔ)。20世紀(jì)40年代中晚期,大批基于此一體系的計(jì)算機(jī)開始被研制,其中以英國最早。盡管第一臺(tái)研制完成并投入運(yùn)轉(zhuǎn)的是“小規(guī)模實(shí)驗(yàn)機(jī)”(Small-Scale Experimental Machine,SSEM),但真正被開發(fā)出來的實(shí)用機(jī)很可能是EDSAC。
在整個(gè)20世紀(jì)50年代,真空管計(jì)算機(jī)居于統(tǒng)治地位。1958年 9月12日 在Robert Noyce(INTEL公司的創(chuàng)始人)的領(lǐng)導(dǎo)下,發(fā)明了集成電路。不久又推出了微處理器。1959年到1964年間設(shè)計(jì)的計(jì)算機(jī)一般被稱為第二代計(jì)算機(jī)。
到了60年代,晶體管計(jì)算機(jī)將其取而代之。晶體管體積更小,速度更快,價(jià)格更加低廉,性能更加可靠,這使得它們可以被商品化生產(chǎn)。1964年到1972年的計(jì)算機(jī)一般被稱為第三代計(jì)算機(jī)。大量使用集成電路,典型的機(jī)型是IBM360系列。
到了70年代,集成電路技術(shù)的引入極大地降低了計(jì)算機(jī)生產(chǎn)成本,計(jì)算機(jī)也從此開始走向千家萬戶。1972年以后的計(jì)算機(jī)習(xí)慣上被稱為第四代計(jì)算機(jī)。基于大規(guī)模集成電路,及后來的超大規(guī)模集成電路。1972年4月1日 INTEL推出8008微處理器。1976年Stephen Wozinak和Stephen Jobs創(chuàng)辦蘋果計(jì)算機(jī)公司。并推出其Apple I 計(jì)算機(jī)。1977年5月 Apple II 型計(jì)算機(jī)發(fā)布。1979年6月1日 INTEL發(fā)布了8位元的8088微處理器。
1982年,微電腦開始普及,大量進(jìn)入學(xué)校和家庭。1982年1月Commodore 64計(jì)算機(jī)發(fā)布,價(jià)格:595美元。 1982 年2月80286發(fā)布。時(shí)鐘頻率提高到20MHz,并增加了保護(hù)模式,可訪問16M內(nèi)存。支持1GB以上的虛擬內(nèi)存。每秒執(zhí)行270萬條指令,集成了134000個(gè)晶體管。
1990年11月: 第一代MPC (多媒體個(gè)人電腦標(biāo)準(zhǔn))發(fā)布。處理器至少80286/12MHz,后來增加到80386SX/16 MHz ,及一個(gè)光驅(qū),至少150 KB/sec的傳輸率。1994年10月10日 Intel 發(fā)布75 MHz Pentium處理器。1995年11月1日Pentium Pro發(fā)布。主頻可達(dá)200 MHz ,每秒鐘完成4.4億條指令,集成了550萬個(gè)晶體管。1997年1月8日Intel發(fā)布Pentium MMX。對(duì)游戲和多媒體功能進(jìn)行了增強(qiáng)。
此后計(jì)算機(jī)的變化日新月異,1965年發(fā)表的摩爾定律發(fā)表不斷被應(yīng)證,預(yù)測(cè)在未來10~15年仍依然適用。
原理
個(gè)人電腦的主要結(jié)構(gòu):
顯示器
主板
CPU (中央處理器)
主要儲(chǔ)存器 (內(nèi)存)
擴(kuò)充卡
電源供應(yīng)器
光驅(qū)
次要儲(chǔ)存器 (硬盤)
鍵盤
鼠標(biāo)
盡管計(jì)算機(jī)技術(shù)自20世紀(jì)40年代第一臺(tái)電子通用計(jì)算機(jī)誕生以來以來有了令人目眩的飛速發(fā)展,但是今天計(jì)算機(jī)仍然基本上采用的是存儲(chǔ)程序結(jié)構(gòu),即馮·諾伊曼結(jié)構(gòu)。這個(gè)結(jié)構(gòu)實(shí)現(xiàn)了實(shí)用化的通用計(jì)算機(jī)。
存儲(chǔ)程序結(jié)構(gòu)間將一臺(tái)計(jì)算機(jī)描述成四個(gè)主要部分:算術(shù)邏輯單元(ALU),控制電路,存儲(chǔ)器,以及輸入輸出設(shè)備(I/O)。這些部件通過一組一組的排線連接(特別地,當(dāng)一組線被用于多種不同意圖的數(shù)據(jù)傳輸時(shí)又被稱為總線),并且由一個(gè)時(shí)鐘來驅(qū)動(dòng)(當(dāng)然某些其他事件也可能驅(qū)動(dòng)控制電路)。
概念上講,一部計(jì)算機(jī)的存儲(chǔ)器可以被視為一組“細(xì)胞”單元。每一個(gè)“細(xì)胞”都有一個(gè)編號(hào),稱為地址;又都可以存儲(chǔ)一個(gè)較小的定長信息。這個(gè)信息既可以是指令(告訴計(jì)算機(jī)去做什么),也可以是數(shù)據(jù)(指令的處理對(duì)象)。原則上,每一個(gè)“細(xì)胞”都是可以存儲(chǔ)二者之任一的。
算術(shù)邏輯單元(ALU)可以被稱作計(jì)算機(jī)的大腦。它可以做兩類運(yùn)算:第一類是算術(shù)運(yùn)算,比如對(duì)兩個(gè)數(shù)字進(jìn)行加減法。算術(shù)運(yùn)算部件的功能在ALU中是十分有限的,事實(shí)上,一些ALU根本不支持電路級(jí)的乘法和除法運(yùn)算(由是使用者只能通過編程進(jìn)行乘除法運(yùn)算)。第二類是比較運(yùn)算,即給定兩個(gè)數(shù),ALU對(duì)其進(jìn)行比較以確定哪個(gè)更大一些。
輸入輸出系統(tǒng)是計(jì)算機(jī)從外部世界接收信息和向外部世界反饋運(yùn)算結(jié)果的手段。對(duì)于一臺(tái)標(biāo)準(zhǔn)的個(gè)人電腦,輸入設(shè)備主要有鍵盤和鼠標(biāo),輸出設(shè)備則是顯示器,打印機(jī)以及其他許多后文將要討論的可連接到計(jì)算機(jī)上的I/O設(shè)備。
控制系統(tǒng)將以上計(jì)算機(jī)各部分聯(lián)系起來。它的功能是從存儲(chǔ)器和輸入輸出設(shè)備中讀取指令和數(shù)據(jù),對(duì)指令進(jìn)行解碼,并向ALU交付符合指令要求的正確輸入,告知ALU對(duì)這些數(shù)據(jù)做哪些運(yùn)算并將結(jié)果數(shù)據(jù)返回到何處。控制系統(tǒng)中一個(gè)重要組件就是一個(gè)用來保持跟蹤當(dāng)前指令所在地址的計(jì)數(shù)器。通常這個(gè)計(jì)數(shù)器隨著指令的執(zhí)行而累加,但有時(shí)如果指令指示進(jìn)行跳轉(zhuǎn)則不依此規(guī)則。
20世紀(jì)80年代以來ALU和控制單元(二者合成中央處理器,CPU)逐漸被整合到一塊集成電路上,稱作微處理器。這類計(jì)算機(jī)的工作模式十分直觀:在一個(gè)時(shí)鐘周期內(nèi),計(jì)算機(jī)先從存儲(chǔ)器中獲取指令和數(shù)據(jù),然后執(zhí)行指令,存儲(chǔ)數(shù)據(jù),再獲取下一條指令。這個(gè)過程被反復(fù)執(zhí)行,直至得到一個(gè)終止指令。
由控制器解釋,運(yùn)算器執(zhí)行的指令集是一個(gè)精心定義的數(shù)目十分有限的簡單指令集合。一般可以分為四類:1)、數(shù)據(jù)移動(dòng)(如:將一個(gè)數(shù)值從存儲(chǔ)單元A拷貝到存儲(chǔ)單元B)2)、數(shù)邏運(yùn)算(如:計(jì)算存儲(chǔ)單元A與存儲(chǔ)單元B之和,結(jié)果返回存儲(chǔ)單元C)3)、條件驗(yàn)證(如:如果存儲(chǔ)單元A內(nèi)數(shù)值為100,則下一條指令地址為存儲(chǔ)單元F)4)、指令序列改易(如:下一條指令地址為存儲(chǔ)單元F)
指令如同數(shù)據(jù)一樣在計(jì)算機(jī)內(nèi)部是以二進(jìn)制來表示的。比如說,10110000就是一條Intel x86系列微處理器的拷貝指令代碼。某一個(gè)計(jì)算機(jī)所支持的指令集就是該計(jì)算機(jī)的機(jī)器語言。因此,使用流行的機(jī)器語言將會(huì)使既成軟件在一臺(tái)新計(jì)算機(jī)上運(yùn)行得更加容易。所以對(duì)于那些機(jī)型商業(yè)化軟件開發(fā)的人來說,它們通常只會(huì)關(guān)注一種或幾種不同的機(jī)器語言。
更加強(qiáng)大的小型計(jì)算機(jī),大型計(jì)算機(jī)和服務(wù)器可能會(huì)與上述計(jì)算機(jī)有所不同。它們通常將任務(wù)分擔(dān)給不同的CPU來執(zhí)行。今天,微處理器和多核個(gè)人電腦也在朝這個(gè)方向發(fā)展。
超級(jí)計(jì)算機(jī)通常有著與基本的存儲(chǔ)程序計(jì)算機(jī)顯著區(qū)別的體系結(jié)構(gòu)。它們通常有著數(shù)以千計(jì)的CPU,不過這些設(shè)計(jì)似乎只對(duì)特定任務(wù)有用。在各種計(jì)算機(jī)中,還有一些微控制器采用令程序和數(shù)據(jù)分離的哈佛架構(gòu)(Harvard architecture)。
計(jì)算機(jī)的數(shù)字電路實(shí)現(xiàn)
以上所說的這些概念性設(shè)計(jì)的物理實(shí)現(xiàn)是多種多樣的。如同我們前述所及,一臺(tái)存儲(chǔ)程序式計(jì)算機(jī)既可以是巴比奇的機(jī)械式的,也可以是基于數(shù)字電子的。但是,數(shù)字電路可以通過諸如繼電器之類的電子控制開關(guān)來實(shí)現(xiàn)使用2進(jìn)制數(shù)的算術(shù)和邏輯運(yùn)算。香農(nóng)的論文正是向我們展示了如何排列繼電器來組成能夠?qū)崿F(xiàn)簡單布爾運(yùn)算的邏輯門。其他一些學(xué)者很快指出使用真空管可以代替繼電器電路。真空管最初被用作無線電電路中的放大器,之后便開始被越來越多地用作數(shù)字電子電路中的快速開關(guān)。當(dāng)電子管的一個(gè)針腳被通電后,電流就可以在另外兩端間自由通過。
通過邏輯門的排列組合我們可以設(shè)計(jì)完成很多復(fù)雜的任務(wù)。舉例而言,加法器就是其中之一。該器件在電子領(lǐng)域?qū)崿F(xiàn)了兩個(gè)數(shù)相加并將結(jié)果保存下來—在計(jì)算機(jī)科學(xué)中這樣一個(gè)通過一組運(yùn)算來實(shí)現(xiàn)某個(gè)特定意圖的方法被稱做一個(gè)算法。最終,人們通過數(shù)量可觀的邏輯門電路組裝成功了完整的ALU和控制器。說它數(shù)量可觀,只需看一下CSIRAC這臺(tái)可能是最小的實(shí)用化電子管計(jì)算機(jī)。該機(jī)含有2000個(gè)電子管,其中還有不少是雙用器件,也即是說總計(jì)合有2000到4000個(gè)邏輯器件。
真空管對(duì)于制造規(guī)模龐大的門電路明顯力不從心。昂貴,不穩(wěn)(尤其是數(shù)量多時(shí)),臃腫,能耗高,并且速度也不夠快—盡管遠(yuǎn)超機(jī)械開關(guān)電路。這一切導(dǎo)致20世紀(jì)60年代它們被晶體管取代。后者體積更小,易于操作,可靠性高,更省能耗,同時(shí)成本也更低。
集成電路是現(xiàn)今電子計(jì)算機(jī)的基礎(chǔ)20世紀(jì)60年代后,晶體管開始逐漸為將大量晶體管、其他各種電器元件和連接導(dǎo)線安置在一片硅板上的集成電路所取代。70年代,ALU和控制器作為組成CPU的兩大部分,開始被集成到一塊芯片上,并稱為“微處理器”。沿著集成電路的發(fā)展史,可以看到一片芯片上所集成器件的數(shù)量有了飛速增長。第一塊集成電路只不過包含幾十個(gè)部件,而到了2006年,一塊Intel Core Duo處理器上的晶體管數(shù)目高達(dá)一億五千一百萬之巨。
無論是電子管,晶體管還是集成電路,它們都可以通過使用一種觸發(fā)器設(shè)計(jì)機(jī)制來用作存儲(chǔ)程序體系結(jié)構(gòu)中的“存儲(chǔ)”部件。而事實(shí)上觸發(fā)器的確被用作小規(guī)模的超高速存儲(chǔ)。但是,幾乎沒有任何計(jì)算機(jī)設(shè)計(jì)使用觸發(fā)器來進(jìn)行大規(guī)模數(shù)據(jù)存儲(chǔ)。最早的計(jì)算機(jī)是使用Williams電子管向一個(gè)電視屏或若干條水銀延遲線(聲波通過這種線時(shí)的走行速度極為緩慢足夠被認(rèn)為是“存儲(chǔ)”在了上面)發(fā)射電子束然后再來讀取的方式來存儲(chǔ)數(shù)據(jù)的。當(dāng)然,這些盡管有效卻不怎么優(yōu)雅的方法最終還是被磁性存儲(chǔ)取而代之。比如說磁芯存儲(chǔ)器,代表信息的電流可在其中的鐵質(zhì)材料內(nèi)制造恒久的弱磁場(chǎng),當(dāng)這個(gè)磁場(chǎng)再被讀出時(shí)就實(shí)現(xiàn)了數(shù)據(jù)恢復(fù)。動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)亦被發(fā)明出來。它是一個(gè)包含大量電容的集成電路,而這些電容器件正是負(fù)責(zé)存儲(chǔ)數(shù)據(jù)電荷—電荷的強(qiáng)度則被定義為數(shù)據(jù)的值。
輸入輸出設(shè)備
輸入輸出設(shè)備(I/O)是對(duì)將外部世界信息發(fā)送給計(jì)算機(jī)的設(shè)備和將處理結(jié)果返回給外部世界的設(shè)備的總稱。這些返回結(jié)果可能是作為使用者能夠視覺上體驗(yàn)的,或是作為該計(jì)算機(jī)所控制的其他設(shè)備的輸入:對(duì)于一臺(tái)機(jī)器人,控制計(jì)算機(jī)的輸出基本上就是這臺(tái)機(jī)器人本身,如做出各種行為。
第一代計(jì)算機(jī)的輸入輸出設(shè)備種類非常有限。通常的輸入用設(shè)備是打孔卡片的讀卡機(jī),用來將指令和數(shù)據(jù)導(dǎo)入內(nèi)存;而用于存儲(chǔ)結(jié)果的輸出設(shè)備則一般是磁帶。隨著科技的進(jìn)步,輸入輸出設(shè)備的豐富性得到提高。以個(gè)人計(jì)算機(jī)為例:鍵盤和鼠標(biāo)是用戶向計(jì)算機(jī)直接輸入信息的主要工具,而顯示器、打印機(jī)、擴(kuò)音器、耳機(jī)則返回處理結(jié)果。此外還有許多輸入設(shè)備可以接受其他不同種類的信息,如數(shù)碼相機(jī)可以輸入圖像。在輸入輸出設(shè)備中,有兩類很值得注意:第一類是二級(jí)存儲(chǔ)設(shè)備,如硬盤,光碟或其他速度緩慢但擁有很高容量的設(shè)備。第二個(gè)是計(jì)算機(jī)網(wǎng)絡(luò)訪問設(shè)備,通過他們而實(shí)現(xiàn)的計(jì)算機(jī)間直接數(shù)據(jù)傳送極大地提升了計(jì)算機(jī)的價(jià)值。今天,國際互聯(lián)網(wǎng)成就了數(shù)以千萬計(jì)的計(jì)算機(jī)彼此間傳送各種類型的數(shù)據(jù)。
程序
簡單說,計(jì)算機(jī)程序就是計(jì)算機(jī)執(zhí)行指令的一個(gè)序列。它既可以只是幾條執(zhí)行某個(gè)簡單任務(wù)的指令,也可能是可能要操作巨大數(shù)據(jù)量的復(fù)雜指令隊(duì)列。許多計(jì)算機(jī)程序包含有百萬計(jì)的指令,而其中很多指令可能被反復(fù)執(zhí)行。在2005年,一臺(tái)典型的個(gè)人電腦可以每秒執(zhí)行大約30億條指令。計(jì)算機(jī)通常并不會(huì)執(zhí)行一些很復(fù)雜的指令來獲得額外的機(jī)能,更多地它們是在按照程序員的排列來運(yùn)行那些較簡單但為數(shù)眾多的短指令。
一般情況下,程序員們是不會(huì)直接用機(jī)器語言來為計(jì)算機(jī)寫入指令的。那么做的結(jié)果只能是費(fèi)時(shí)費(fèi)力、效率低下而且漏洞百出。所以,程序員一般通過“高級(jí)”一些的語言來寫程序,然后再由某些特別的計(jì)算機(jī)程序,如解釋器或編譯器將之翻譯成機(jī)器語言。一些編程語言看起來很接近機(jī)器語言,如匯編程序,被認(rèn)為是低級(jí)語言。而另一些語言,如即如抽象原則的Prolog,則完全無視計(jì)算機(jī)實(shí)際運(yùn)行的操作細(xì)節(jié),可謂是高級(jí)語言。對(duì)于一項(xiàng)特定任務(wù),應(yīng)該根據(jù)其事務(wù)特點(diǎn),程序員技能,可用工具和客戶需求來選擇相應(yīng)的語言,其中又以客戶需求最為重要(美國和中國軍隊(duì)的工程項(xiàng)目通常被要求使用Ada語言)。
計(jì)算機(jī)軟件是與計(jì)算機(jī)程序并不相等的另一個(gè)詞匯。計(jì)算機(jī)軟件一個(gè)較為包容性較強(qiáng)的技術(shù)術(shù)語,它包含了用于完成任務(wù)的各種程序以及所有相關(guān)材料。舉例說,一個(gè)視頻游戲不但只包含程序本身,也包括圖片、聲音以及其他創(chuàng)造虛擬游戲環(huán)境的數(shù)據(jù)內(nèi)容。在零售市場(chǎng),在一臺(tái)計(jì)算機(jī)上的某個(gè)應(yīng)用程序只是一個(gè)面向大量用戶的軟件的一個(gè)副本。這里老生常談的例子當(dāng)然還是微軟的office軟件組,它包括一些列互相關(guān)聯(lián)的、面向一般辦公需求的程序。
利用那些極其簡單的機(jī)器語言指令來實(shí)現(xiàn)無數(shù)功能強(qiáng)大的應(yīng)用軟件意味著其編程規(guī)模注定不小。Windows XP這個(gè)操作系統(tǒng)程序包含的C++高級(jí)語言源代碼達(dá)到了4000萬行。當(dāng)然這還不是最大的。如此龐大的軟件規(guī)模也顯示了管理在開發(fā)過程中的重要性。實(shí)際編程時(shí),程序會(huì)被細(xì)分到每一個(gè)程序員都可以在一個(gè)可接受的時(shí)長內(nèi)完成的規(guī)模。
即便如此,軟件開發(fā)的過程仍然進(jìn)程緩慢,不可預(yù)見且遺漏多多。應(yīng)運(yùn)而生的軟件工程學(xué)就重點(diǎn)面向如何加快作業(yè)進(jìn)度和提高效率與質(zhì)量。
庫與操作系統(tǒng)
在計(jì)算機(jī)誕生后不久,人們發(fā)現(xiàn)某些特定作業(yè)在許多不同的程序中都要被實(shí)施,比如說計(jì)算某些標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)。出于效率考量,這些程序的標(biāo)準(zhǔn)版本就被收集到一個(gè)“庫”中以供各程序調(diào)用。許多任務(wù)經(jīng)常要去額外處理種類繁多的輸入輸出接口,這時(shí),用于連接的庫就能派上用場(chǎng)。
20世紀(jì)60年代,隨著計(jì)算機(jī)工業(yè)化普及,計(jì)算機(jī)越來越多地被用作一個(gè)組織內(nèi)不同作業(yè)的處理。很快,能夠自動(dòng)安排作業(yè)時(shí)續(xù)和執(zhí)行的特殊軟件出現(xiàn)了。這些既控制硬件又負(fù)責(zé)作業(yè)時(shí)序安排的軟件被稱為“操作系統(tǒng)”。一個(gè)早期操作系統(tǒng)的例子是IBM的OS/360。
在不斷地完善中,操作系統(tǒng)又引入了時(shí)間共享機(jī)制——并發(fā)。這使得多個(gè)不同用戶可以“同時(shí)”地使用機(jī)器執(zhí)行他們自己的程序,看起來就像是每個(gè)人都有一臺(tái)自己的計(jì)算機(jī)。為此,操作系統(tǒng)需要像每個(gè)用戶提供一臺(tái)“虛擬機(jī)”來分離各個(gè)不同的程序。由于需要操作系統(tǒng)控制的設(shè)備也在不斷增加,其中之一便是硬盤。因之,操作系統(tǒng)又引入了文件管理和目錄管理(文件夾),大大簡化了這類永久儲(chǔ)存性設(shè)備的應(yīng)用。此外,操作系統(tǒng)也負(fù)責(zé)安全控制,確保用戶只能訪問那些已獲得允許的文件。
當(dāng)然,到目前為止操作系統(tǒng)發(fā)展歷程中最后一個(gè)重要步驟就是為程序提供標(biāo)準(zhǔn)圖形用戶界面(GUI)。盡管沒有什么技術(shù)原因表明操作系統(tǒng)必須得提供這些界面,但操作系統(tǒng)供應(yīng)商們總是希望并鼓勵(lì)那些運(yùn)行在其系統(tǒng)上的軟件能夠在外觀和行為特征上與操作系統(tǒng)保持一致或相似。
除了以上這些核心功能,操作系統(tǒng)還封裝了一系列其他常用工具。其中一些雖然對(duì)計(jì)算機(jī)管理并無重大意義,但是于用戶而言很是有用。比如,蘋果公司的Mac OS X就包含視頻剪輯應(yīng)用程序。
一些用于更小規(guī)模的計(jì)算機(jī)的操作系統(tǒng)可能沒用如此眾多的功能。早期的微型計(jì)算機(jī)由于記憶體和處理能力有限而不會(huì)提供額外功能,而嵌入式計(jì)算機(jī)則使用特定化了的操作系統(tǒng)或者干脆沒有,它們往往通過應(yīng)用程序直接代理操作系統(tǒng)的某些功能。
應(yīng)用
由電腦控制的機(jī)械在工業(yè)中十分常見
很多現(xiàn)代大量生產(chǎn)的玩具,如Furby,是不能沒有便宜的嵌入式處理器
起初,體積龐大而價(jià)格昂貴的數(shù)字計(jì)算機(jī)主要是用做執(zhí)行科學(xué)計(jì)算,特別是軍用課題。如ENIAC最早就是被用作火炮彈道計(jì)算和設(shè)計(jì)氫彈時(shí)計(jì)算斷面中子密度的(如今許多超級(jí)計(jì)算機(jī)仍然在模擬核試驗(yàn)方面發(fā)揮著巨大作用)。澳大利亞設(shè)計(jì)的首臺(tái)存儲(chǔ)程序計(jì)算機(jī)CSIR Mk I型負(fù)責(zé)對(duì)水電工程中的集水地帶的降雨情形進(jìn)行評(píng)估。還有一些被用于解密,比如英國的“巨像”可編程計(jì)算機(jī)。除去這些早年的科學(xué)或軍工應(yīng)用,計(jì)算機(jī)在其他領(lǐng)域的推廣亦十分迅速。
從一開始,存儲(chǔ)程序計(jì)算機(jī)就與商業(yè)問題的解決息息相關(guān)。早在IBM的第一臺(tái)商用計(jì)算機(jī)誕生之前,英國J. Lyons等就設(shè)計(jì)制造了LEO以進(jìn)行資產(chǎn)管理或迎合其他商業(yè)用途。由于持續(xù)的體積與成本控制,計(jì)算機(jī)開始向更小型的組織內(nèi)普及。加之20世紀(jì)70年代微處理器的發(fā)明,廉價(jià)計(jì)算機(jī)成為了現(xiàn)實(shí)。80年代,個(gè)人計(jì)算機(jī)全面流行,電子文檔寫作與印刷,計(jì)算預(yù)算和其他重復(fù)性的報(bào)表作業(yè)越來越多地開始依賴計(jì)算機(jī)。
隨著計(jì)算機(jī)便宜起來,創(chuàng)作性的藝術(shù)工作也開始使用它們。人們利用合成器,計(jì)算機(jī)圖形和動(dòng)畫來創(chuàng)作和修改聲音,圖像,視頻。視頻游戲的產(chǎn)業(yè)化也說明了計(jì)算機(jī)在娛樂方面也開創(chuàng)了新的歷史。
計(jì)算機(jī)小型化以來,機(jī)械設(shè)備的控制也開始仰仗計(jì)算機(jī)的支持。其實(shí),正是當(dāng)年為了建造足夠小的嵌入式計(jì)算機(jī)來控制阿波羅宇宙飛船才刺激了集成電路技術(shù)的躍進(jìn)。今天想要找一臺(tái)不被計(jì)算機(jī)控制的有源機(jī)械設(shè)備要比找一臺(tái)哪怕是部分計(jì)算機(jī)控制的設(shè)備要難得多。可能最著名的計(jì)算機(jī)控制設(shè)備要非機(jī)器人莫屬,這些機(jī)器有著或多或少人類的外表和并具備人類行為的某一子集。在批量生產(chǎn)中,工業(yè)機(jī)器人已是尋常之物。不過,完全的擬人機(jī)器人還只是停留在科幻小說或?qū)嶒?yàn)室之中。
機(jī)器人技術(shù)實(shí)質(zhì)上是人工智能領(lǐng)域中的物理表達(dá)環(huán)節(jié)。所謂人工智能是一個(gè)定義模糊的概念但是可以肯定的是這門學(xué)科試圖令計(jì)算機(jī)擁有目前它們還沒有但作為人類卻固有的能力。數(shù)年以來,不斷有許多新方法被開發(fā)出來以允許計(jì)算機(jī)做那些之前被認(rèn)為只有人才能做的事情。比如讀書、下棋。然而,到目前為止,在研制具有人類的一般“整體性”智能的計(jì)算機(jī)方面,進(jìn)展仍十分緩慢。
網(wǎng)絡(luò)、國際互聯(lián)網(wǎng)
20世紀(jì)50年代以來計(jì)算機(jī)開始用作協(xié)調(diào)來自不同地方之信息的工具,美國軍方的賢者系統(tǒng)(SAGE)就是這方面第一個(gè)大規(guī)模系統(tǒng)。之后“軍刀”等一系列特殊用途的商業(yè)系統(tǒng)也不斷涌現(xiàn)出來。
70年代后,美國各大院校的計(jì)算機(jī)工程師開始使用電信技術(shù)把他們的計(jì)算機(jī)連接起來。由于這方面的工作得到了ARPA的贊助,其計(jì)算機(jī)網(wǎng)絡(luò)也就被稱為ARPANET。此后,用于ARPA網(wǎng)的技術(shù)快速擴(kuò)散和進(jìn)化,這個(gè)網(wǎng)絡(luò)也沖破大學(xué)和軍隊(duì)的范圍最終形成了今天的國際互聯(lián)網(wǎng)(Internet)。網(wǎng)絡(luò)的出現(xiàn)導(dǎo)致了對(duì)計(jì)算機(jī)屬性和邊界的再定義。太陽微系統(tǒng)公司的John Gage 和 Bill Joy就指出:“網(wǎng)絡(luò)即是計(jì)算機(jī)”。計(jì)算機(jī)操作系統(tǒng)和應(yīng)用程序紛紛向能訪問諸如網(wǎng)內(nèi)其它計(jì)算機(jī)等網(wǎng)絡(luò)資源的方向發(fā)展。最初這些網(wǎng)絡(luò)設(shè)備僅限于為高端科學(xué)工作者所使用,但90年代后隨著電子郵件和萬維網(wǎng)(World Wide Web)技術(shù)的擴(kuò)散,以及以太網(wǎng)和ADSL等網(wǎng)絡(luò)連接技術(shù)的廉價(jià)化,互聯(lián)網(wǎng)絡(luò)已變得無所不在。今日入網(wǎng)的計(jì)算機(jī)總數(shù),何以千萬計(jì);無線互聯(lián)技術(shù)的普及,使得互聯(lián)網(wǎng)在移動(dòng)計(jì)算環(huán)境中亦如影隨形。比如在筆記本計(jì)算機(jī)上廣泛使用的Wi-Fi技術(shù)就是無線上網(wǎng)的代表性應(yīng)用。
下一代計(jì)算機(jī)
自問世以來數(shù)字計(jì)算機(jī)在速度和能力上有了可觀的提升,迄今仍有不少課題顯得超出了當(dāng)前計(jì)算機(jī)的能力所及。對(duì)于其中一部分課題,傳統(tǒng)計(jì)算機(jī)是無論如何也不可能實(shí)現(xiàn)的,因?yàn)檎业揭粋€(gè)解決方法的時(shí)間還趕不上問題規(guī)模的擴(kuò)展速度。因此,科學(xué)家開始將目光轉(zhuǎn)向生物計(jì)算技術(shù)和量子理論來解決這一類問題。比如,人們計(jì)劃用生物性的處理來解決特定問題(DNA計(jì)算)。由于細(xì)胞分裂的指數(shù)級(jí)增長方式,DNA計(jì)算系統(tǒng)很有可能具備解決同等規(guī)模問題的能力。當(dāng)然,這樣一個(gè)系統(tǒng)直接受限于可控制的DNA總量。
量子計(jì)算機(jī),顧名思義,利用了量子物理世界的超常特性。一旦能夠造出量子計(jì)算機(jī),那么它在速度上的提升將令一般計(jì)算機(jī)難以望其項(xiàng)背。當(dāng)然,這種涉及密碼學(xué)和量子物理模擬的下一代計(jì)算機(jī)還只是停留在構(gòu)想階段。
計(jì)算機(jī)學(xué)科
在當(dāng)今世界,幾乎所有專業(yè)都與計(jì)算機(jī)息息相關(guān)。但是,只有某些特定職業(yè)和學(xué)科才會(huì)深入研究計(jì)算機(jī)本身的制造、編程和使用技術(shù)。用來詮釋計(jì)算機(jī)學(xué)科內(nèi)不同研究領(lǐng)域的各個(gè)學(xué)術(shù)名詞的涵義不斷發(fā)生變化,同時(shí)新學(xué)科也層出不窮。
計(jì)算機(jī)工程學(xué) 是電子工程的一個(gè)分支,主要研究計(jì)算機(jī)軟硬件和二者間的彼此聯(lián)系。
計(jì)算機(jī)科學(xué) 是對(duì)計(jì)算機(jī)進(jìn)行學(xué)術(shù)研究的傳統(tǒng)稱謂。主要研究計(jì)算技術(shù)和執(zhí)行特定任務(wù)的高效算法。該門學(xué)科為我們解決確定一個(gè)問題在計(jì)算機(jī)領(lǐng)域內(nèi)是否可解,如可解其效率如何,以及如何作成更加高效率的程序。時(shí)至今日,在計(jì)算機(jī)科學(xué)內(nèi)已經(jīng)衍生了許多分支,每一個(gè)分支都針對(duì)不同類別的問題進(jìn)行深入研究。
軟件工程學(xué) 著重于研究開發(fā)高質(zhì)量軟件系統(tǒng)的方法學(xué)和實(shí)踐方式,并試圖壓縮并預(yù)測(cè)開發(fā)成本及開發(fā)周期。
信息系統(tǒng) 研究計(jì)算機(jī)在一個(gè)廣泛的有組織環(huán)境(商業(yè)為主)中的計(jì)算機(jī)應(yīng)用。
許多學(xué)科都與其他學(xué)科相互交織。如地理信息系統(tǒng)專家就是利用計(jì)算機(jī)技術(shù)來管理地理信息。
全球有三個(gè)較大規(guī)模的致力于計(jì)算機(jī)科學(xué)的組織:英國電腦學(xué)會(huì) (BCS);美國計(jì)算機(jī)協(xié)會(huì)(ACM);美國電氣電子工程師協(xié)會(huì)(IEEE)。