第一章 計算機基礎知識課件_第1頁
第一章 計算機基礎知識課件_第2頁
第一章 計算機基礎知識課件_第3頁
第一章 計算機基礎知識課件_第4頁
第一章 計算機基礎知識課件_第5頁
已閱讀5頁,還剩235頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章計算機基礎知識

1.1計算機概述1.2計算機的類型與用途1.3信息的表示與存儲1.4計算機系統的組成與應用1.5PC機的硬件配置1.6計算機應用與信息化社會1.7計算機文化與社會道德上機實訓課題1第一章計算機基礎知識1.1計算機概述 1.1.1第一臺電子計算機的誕生 世界上第一臺數字式電子計算機是由美國賓夕法尼亞大學的物理學家約翰·莫克利(JohnMauchly)和工程師普雷斯伯·埃克特(PresperEckert)領導研制的取名為ENIAC(ElectronicNumericalIntegratorandCalculator)的計算機。第一章計算機基礎知識 1942年,在賓夕法尼亞大學任教的約翰·莫克利提出了用電子管組成計算機的設想,這一方案得到了美國陸軍彈道研究所的高爾斯特丹(Goldstine)的關注。當時正值第二次世界大戰之際,新武器研制中的彈道問題涉及許多復雜的計算,單靠手工計算已遠遠滿足不了要求,急需能自動計算的機器。于是,在美國陸軍部的資助下,1943年開始了ENIAC的研制,并于1946年完成。當時它的功能確實出類拔萃,例如它可以在一秒鐘內進行5000次加法運算,3毫秒便可進行一次乘法運算,與手工計算相比運算速度大大加快了,60秒鐘射程的彈道計算時間由原來的20分鐘縮短到30秒。第一章計算機基礎知識 ENIAC也存在著明顯的缺點,它的體積龐大,機器中約有18800只電子管,1500個繼電器,70000只電阻及其他各類電氣元件,運行時耗電量很大;它的存儲容量很小,只能存20個字長為10位的十進制數;另外,它采用線路連接的方法來編排程序,每次解題都要靠人工改接連線,準備時間大大超過實際計算時間。

第一章計算機基礎知識

盡管如此,ENIAC的研制成功還是為以后計算機科學的發展奠定了基礎,而每克服它的一個缺點,都會對計算機的發展帶來很大的影響,其中影響最大的就是程序存儲方式的采用。將程序存儲方式的設想確立為體系的是美國數學家馮·諾依曼(VonNeumann),其主要思想是:在計算機中設置存儲器,將符號化的計算步驟存放在存儲器中,然后依次取出存儲的內容進行譯碼,并按照譯碼的結果進行計算,從而實現計算機工作的自動化。

1945年,馮·諾依曼參與新機器EDVAC(ElectronicDiscreteVariableAutomaticComputer)的研制,參與該工作的還有研制ENIAC的原班人馬埃克特和莫克利等。EDVAC不但采用了汞延遲存儲器,而且采用了二進制編碼。第一章計算機基礎知識

遺憾的是,在研制過程中,以馮·諾依曼為首的理論界人士和以埃克特、莫克利為首的技術界人士之間發生了嚴重的意見分歧,致使EDVAC的研制擱淺,直至1950年才勉強完成。

1946年,英國劍橋大學的莫利斯·威爾克思參加了EDVAC講習班,回國后開始研制EDSAC(ElectronicDelayStorageAutomaticCalculator),并于1949年完成。EDSAC直接受EDVAC方案的影響,采用了二進制和程序存儲方式,運算速度為670次加減法每秒,170次乘法每秒,程序和數據的輸入采用紙帶,輸出采用電傳打字機。這樣,世界上第一臺程序存儲式計算機的殊榮由EDSAC奪得。以后的計算機采用的都是程序存儲方式,而采用這種方式的計算機統稱為馮·諾依曼式計算機。第一章計算機基礎知識 1.1.2計算機發展的幾個階段 從第一臺計算機的誕生到現在,計算機已走過60多年的發展歷程。在這期間,計算機的系統結構不斷變化,應用領域也在不斷拓寬。人們根據計算機所用邏輯元件的種類對計算機的發展階段進行了劃分,習慣上分為四個階段,如表1.1所示。第一章計算機基礎知識表1.1計算機發展的四個階段第一章計算機基礎知識

從第一臺計算機的出現直至20世紀50年代后期,這一時期的計算機屬于第一代計算機,其主要特點是采用電子管作為基本物理器件。它的體積大,能耗高,速度慢,容量小,價格昂貴,應用也僅限于科學計算和軍事目的。

20世紀50年代后期到60年代中期出現的第二代計算機采用晶體管作為基本物理器件,并采用了監控程序,這是操作系統(OS)的雛形。在這一期間,適用于事務處理的COBOL語言也得到了廣泛應用,這意味著計算機的應用范圍已從科學計算擴展到了事務處理領域。與第一代計算機相比,晶體管計算機體積小,成本低,功能強,可靠性高。這時期計算機不僅應用于軍事與尖端技術上,而且也被用于工程設計、數據處理、事務管理等方面。第一章計算機基礎知識 1964年4月,IBM公司推出了采用新概念設計的IBM360計算機,宣布了第三代計算機的誕生。正像它名字中的數字所表示的那樣,IBM360有360°全方位的應用范圍。它分為大、中、小型等6個型號,具有通用化、系列化、標準化的特點。通用化即兼顧了科學計算、數據處理、實時控制等多方面的應用,機器指令豐富。系列化即在指令系統、數據格式、字符編碼、中斷系統、輸入/輸出方式、控制方式等方面保持統一,使用戶在低檔機上編寫的程序可以不加修改地運行在以后性能更好的高檔機上,實現了程序的兼容。標準化即采用標準的輸入/輸出接口,這樣各機型的外部設備都是通用的。第一章計算機基礎知識

第四代計算機始于20世紀60年代末70年代初,其特征是以大規模集成電路VLSI為計算機的主要功能部件,用16KB、64KB或集成度更高的半導體存儲器作為主存儲器,計算速度可達每秒幾百萬次甚至上億次。這一時期在系統結構方面發展了并行處理技術、分布式計算機系統和計算機網絡等;在軟件方面發展了數據庫系統、分布式操作系統、高效而可靠的高級語言以及軟件工程標準化等,并逐漸形成軟件產業部門。第一章計算機基礎知識 1.1.3未來計算機的發展方向 從第一臺計算機的誕生到今天,計算機的體積不斷變小,但性能、速度卻在不斷提高。然而,人類的追求是無止境的,科學家們一刻也沒有停止研究更好、更快、功能更強的計算機。從目前的研究方向看,未來計算機將朝著以下幾個方向發展。

1.超越馮·諾依曼結構 到目前為止,各種類型的計算機都屬于馮·諾依曼型計算機,即采用存儲程序原理和二進制編碼。隨著計算機應用領域的擴大,馮·諾依曼型的工作方式逐漸顯露出其局限性,因此科學家們又提出了制造非馮·諾依曼型計算機的設想。第一章計算機基礎知識

自20世紀60年代起,人們從兩個方向開始努力:一是創建新的程序設計語言,即所謂的“非馮·諾依曼語言”;二是從計算機元件方面提出了與人腦神經網絡相類似的新型超大規模集成電路的設想,即“分子芯片”。 “非馮·諾依曼語言”主要有三種:LISP、PROLOG和F.P.。LISP語言使用最簡單的詞匯來表達非數值計算問題,具有自編譯能力,廣泛應用于數學中的符號微積分計算、定理證明、謂詞演算和博弈論等,還擴展到在計算機中進行符號處理、硬件描述和超大規模集成電路設計等。PROLOG語言是一種邏輯程序設計語言,其核心思想是把程序設計變為邏輯設計,即程序等于邏輯,大大突破了傳統程序設計的概念。第一章計算機基礎知識 PROLOG語言在20世紀70年代很受冷落,但在1982年日本提出“第五代計算機”時,它成為核心語言,并成為與LISP語言并駕齊驅的人工智能語言。F.P.語言是由IBM公司的軟件大師約翰·巴庫斯(FORTRAN語言的創建者)創建的,它是一種供理論研究用的理想語言,直到20世紀90年代還未廣泛應用。第一章計算機基礎知識 20世紀40年代初,匹茨等人把邏輯中的真假值與人類神經元的興奮和抑制加以類比,從而建立了神經網絡模型。維納則進一步把這種神經網絡模型與計算機的開關電路作了類比,創建了一門新學科——生物控制論,設想用計算機電子元器件的0和1的運算來逐次接近人腦神經元的興奮和抑制。然而人們發現,即便是超大規模集成電路芯片上的晶體管也無法與人腦的神經元相比。人腦的神經元有1000億個,而每一個芯片上放置2000萬個晶體管就幾乎達到極限,兩者相距5000倍。這樣,在20世紀80年代初,人們根據有機化合物分子結構存在著“鍵合”和“離解”兩種狀態,提出了生物芯片構想,并著手研究由蛋白質分子作為計算機元件而組成的生物計算機。第一章計算機基礎知識 2.高速計算機浮出水面 研究表明,計算機運行速度的快慢與芯片之間信號傳輸的速度緊密相關。然而,目前廣泛使用的硅二氧化物在傳輸信號的過程中會吸收掉一部分信號,從而延長了信息傳輸的時間。而一種新近研制的“空氣膠滯體”導線幾乎不吸收任何信號,并可以降低電耗。在不需要對計算機芯片進行任何改造的前提下,只需換上“空氣膠滯體”導線,就可以成倍提高計算機的運行速度。目前這種技術需要解決的主要問題是散熱問題。 不久前,美國IBM公司制造的兩臺IBMLinux集群計算機,每秒鐘可執行2萬億次浮點運算,是迄今為止運算速度最快的Linux超級計算機。第一章計算機基礎知識 3.生物計算機生機勃勃 生物計算機在20世紀80年代中期開始研制。其最大特點是采用了生物芯片,生物芯片由生物工程技術產生的蛋白質分子構成。在這種芯片中,信息以波的形式傳播,運算速度比當今最新一代的計算機快10萬倍,而能量消耗僅為普通計算機的1/10,并擁有巨大的存儲能力。由于蛋白質分子能夠自我組合,再生新的微型電路,這使得生物計算機具有生物體的一些特點,如能發揮生物本身的調節機能自動修復芯片故障,還能模仿人腦的思考機制。

第一章計算機基礎知識

美國首次公布的生物計算機被用來模擬電子計算機的邏輯運算,解決虛構的七城市間最佳路徑問題。不久前,200多名各國計算機學者聚集在美國普林斯頓大學,聯名呼吁向生物計算機領域進軍。預計不久的將來,科學家們就能制造出分子元件,即通過在分子水平上的物理化學作用對信息進行檢測、處理、傳輸和存儲。

4.光學計算機前景光明 所謂光學計算機,就是利用光作為信息的傳輸媒體。與電子相比,光子具有許多獨特的優點:它的速度永遠等于光速,具有電子所不具備的頻率及偏振特征,從而可大大提高傳輸信息的能力。此外,光信號傳播不需要導線,抗干擾能力強。一塊直徑僅2cm的光棱鏡可以通過的信息比特率超過世界全部電纜總和的300倍。第一章計算機基礎知識 20世紀90年代中期,光子計算機的研究成果不斷涌現。其中最顯著的研究成果是由法國、德國等國60多名科學家聯合研制開發成功的世界上第一臺光計算機,其運算速度比目前世界上最快的超級計算機快1000多倍,并且準確性極高。此外,光計算機的并行能力強,具有超高速的運算潛力。在工作環境要求方面,超高速的計算機只能在低溫條件下工作,而光計算機在室溫下就可以正常工作。 目前光計算機的許多關鍵技術,如光存儲技術與光存儲器、光電子集成電路等都已取得了重大突破。第一章計算機基礎知識 5.量子計算機呼之欲出 所謂量子計算機,是指利用處于多現實態下的原子進行運算的計算機。這種多現實態是量子力學的標志。在某種條件下,原子世界存在著多現實態,即原子和亞原子粒子可以同時存在于此處或彼處,可以同時表現出高速和低速,可以同時向上或向下運動。如果用這些不同的原子狀態分別代表不同的數字或數據,就可以利用一組具有不同潛在狀態組合的原子,在同一時間對某個問題的所有答案進行探詢,并最終使代表正確答案的組合脫穎而出。第一章計算機基礎知識

與傳統的電子計算機相比,量子計算機具有以下優點:

(1)解題速度快。傳統的電子計算機用“0”和“1”表示信息,而量子粒子可以有多種狀態,使量子計算機能夠采用更為豐富的信息單位,從而大大加快了處理速度。

(2)存儲量大。電子計算機用二進制存儲數據,而量子計算機用量子位存儲,具有疊加效應。例如,n個量子位就可以存儲2n個數據。

(3)搜索功能強。美國朗訊公司貝爾實驗室的教授們發現,量子計算機能夠組成一種量子超級網絡引擎,可輕而易舉地從海量數據中快速搜尋出特定的信息。其方法就是采用不同的量子位狀態組合,分別檢索數據庫里的不同部分,其中必然有一種狀態組合會找到所需的信息。第一章計算機基礎知識

在進入21世紀之際,科學家根據量子力學理論,在研制量子計算機的道路上取得了新的突破。美國科學家宣布,他們已成功實現了4量子位邏輯門,取得了4個鋰離子的量子纏結狀態。 科學家們預言,21世紀將是量子計算機、生物計算機、光學計算機和情感計算機的時代,就像電子計算機對20世紀產生了重大影響一樣,各種新穎的計算機也必將對21世紀產生重大影響。第一章計算機基礎知識1.2計算機的類型與用途

計算機由于其運算的高速度、高可靠性和高精確度,以及其所具有的海量存儲信息的能力,在各領域得到了廣泛應用。根據其用途不同,計算機可分為通用機和專用機兩類。通用機能解決多種類型的問題,通用性強;而專用機則配有解決特定問題的軟、硬件,功能單一,但能高速、可靠地解決特定問題。 通常,人們又按照計算機的運算速度、字長、存儲容量、軟件配置及用途等多方面的綜合性能指標,將計算機分為微型機、工作站、小型機、大型機和巨型機等幾類。這種分類的標準只是相對的,只能就某一時期而言。下面分別對其加以介紹。第一章計算機基礎知識 1.微型計算機 以微處理器為中央處理單元而組成的個人計算機(PC)簡稱微型機或微機。

1971年,美國Intel公司成功地在一塊芯片上實現了中央處理器的功能,制成了世界上第一片4位微處理器MPU(Micro-ProcessingUnit),也稱Intel4004,并由它組裝成第一臺微型計算機MCS-4,由此揭開了微型計算機大普及的序幕。隨后,許多公司(如Motorola、Zilog等)也爭相研制微處理器,相繼推出了8位、16位、32位微處理器。芯片內的主頻和集成度也在不斷提高,芯片的集成度幾乎每18個月提高一倍,而由它們構成的微型機在功能上也不斷完善。如今的微型計算機在某些方面已可以和以往的大型機相媲美。

第一章計算機基礎知識

美國IBM公司采用Intel微處理器芯片,自1981年推出IBMPC(PersonalComputer)微型計算機后,又推出IBMPC/XT、PC286、PC386、PC486、Pentium和PentiumPro等一系列微型計算機。由于其功能齊全,軟件豐富,價格便宜,很快便占據了微型計算機市場的主導地位。 美國Apple公司生產的蘋果機由于其先進的技術、友好的用戶界面以及軟硬件的完美結合而在個人計算機領域也備受人們的青睞。

第一章計算機基礎知識

目前,世界上幾家著名微處理機芯片和制造廠商已開發和制造出64位結構的微處理機芯片,如DEC公司推出的Alpha21164微處理機芯片,IBM、Motorola、Apple三家公司聯合推出的Power-PC體系結構的64位微處理機芯片,以及Intel公司正在開發的新一代64位微處理機芯片等。隨著技術的不斷發展,64位計算機體系結構將逐漸取代32位體系結構。 隨著社會信息化進程的加快,強大的計算能力對每一個用戶來說固然必不可少,然而移動辦公又將成為一種重要的辦公方式。因此,一種比臺式機體積更小,重量更輕,功耗更低,并可隨身攜帶的“便攜機”便應運而生,筆記本型電腦就是其中的典型產品之一。雖然同樣價格的筆記本電腦在功能上要遜色于臺式機,但它具有適于移動和外出使用的優點,因此深受用戶歡迎。第一章計算機基礎知識

根據微型機是否由最終用戶使用,微機又可分為獨立式微機(即我們日常使用的微機)和嵌入式微機。嵌入式微機作為一個信息處理部件安裝在一個應用設備里,最終用戶不直接使用該計算機,使用的是該應用設備,例如,包含有微機的醫療設備、高級錄像設備等。嵌入式微機一般是單片機。將中央處理器、存儲器和輸入/輸出接口集成在一個芯片上的計算機稱為單片機。單片機已廣泛用于家電、生活用具和儀器儀表中,并正向智能化發展。

第一章計算機基礎知識

微型機從出現到現在不過20幾年,因其小巧、輕便且價格便宜而應用范圍急劇擴展,從太空中的航天器到家庭生活,從工廠的自動控制到辦公自動化以及商業、服務業、農業等,遍及社會各個領域。在學校中,微機已成為學生學習計算機操作的主要機種。PC機聯網之后,用戶又可以通過PC機使用網絡上的各種軟、硬件資源。PC機已成為網絡上客戶機的主力軍。使用多臺微機并行工作,還可以實現性能價格比非常好的高性能計算機系統。第一章計算機基礎知識

當前,個人計算機已滲透到各行各業和千家萬戶。它既可以用于日常信息處理,又可以用于科學研究。PC機的出現使得計算機真正面向全人類,真正成為大眾化的信息處理工具。不久的將來,人們手持一部“便攜機”便可通過網絡隨時隨地與世界上任何一個地方的任何一個人或計算機實現信息交流與通信。原來保存在桌面和書柜里的部分信息將存入隨身攜帶的電腦中。到那時,人走到哪里,以個人機(特別是“便攜機”)為核心的移動信息系統就跟到哪里,人類向著信息化的自由王國又邁進了一大步。第一章計算機基礎知識 2.工作站 工作站是一種高檔微機系統。它具有較高的運算速度,既具有大、中、小型機的多任務、多用戶能力,又具微型機的操作便利和良好的人機界面。工作站可連接多種輸入/輸出設備,而其最突出的特點是圖形功能強,具有很強的圖形交互與處理能力,因此在工程領域,特別是在計算機輔助設計(CAD)領域得到廣泛應用。人們通常認為工作站是專為工程師設計的機型。工作站一般都帶有網絡接口,采用開放式系統結構,即將機器的軟、硬件接口公開,并盡量遵守國際工業界的流行標準,以鼓勵其他廠商、用戶圍繞工作站開發軟、硬件產品。目前,多媒體等各種新技術已普遍集成到工作站中,使其更具特色。而它的應用領域也已從最初的計算機輔助設計擴展到商業、金融、辦公領域,并頻頻充當網絡服務器的角色。第一章計算機基礎知識 3.小型機 小型機可以為多個用戶執行任務,通常是一個多用戶系統。小型機結構簡單,設計試制周期短,便于及時采用先進工藝。這類機器由于具有可靠性高,價格便宜,對運行環境要求低,易于操作且便于維護等優點,因此對廣大用戶具有較強的吸引力,特別在一些中、小企業中很有市場。小型機的出現加速了計算機的推廣和普及。第一章計算機基礎知識 DEC公司的PDP-11系列是16位小型機的早期代表。近年來,隨著基礎技術的進步,小型機的發展引人注目,特別是在體系結構上采用了RISC技術,即計算機硬件只實現最常用的指令集,復雜指令用軟件實現,從而使其具有更高的性能價格比。在系統結構上,小型機也經常像大型計算機一樣采用多處理機系統。目前,一些具有高速硬盤接口的高檔微機也在扮演著小型機的角色。 小型機應用范圍廣泛,它既可作為集中式的部門級管理計算機,也可在大型應用中作為前端處理機,還可在客戶/服務器結構中作為服務器(如文件服務器、WWW服務器及應用服務器等)使用。小型機的應用例子有工業自動控制、大型分析儀器、測量儀器、醫療設備中的數據采集和分析計算等。小型機還廣泛用于企業管理以及大學和研究所的科學計算等。第一章計算機基礎知識 4.大型通用機 大型通用機是對一類計算機的習慣稱呼,本身并無十分準確的技術定義,其特點表現為通用性強,具有很強的綜合處理能力,性能覆蓋面廣等。大型通用機主要應用于公司、銀行、政府部門、社會管理機構和制造廠家等,通常人們稱其為“企業級”計算機。 大型機系統可以是單處理機、多處理機或多個子系統的復合體。 在信息化社會里,隨著信息資源的劇增,帶來了信息通信、控制和管理等一系列問題,而這正是大型機的特長。未來將賦予大型機更多的使命,它將覆蓋“企業”所有的應用領域,如大型事務處理、企業內部的信息管理與安全保護、大型科學與工程計算等。第一章計算機基礎知識

大型機研制周期長,設計技術與制造技術非常復雜,耗資巨大,需要相當數量的設計師協同工作。大型機在體系結構、軟件、外設等方面又有極強的繼承性。因此,國外只有少數公司能夠從事大型機的研制、生產和銷售工作。美國的IBM、DEC,日本的富士通、日立等都是大型機的主要廠商。

5.巨型機 巨型機是計算機中檔次最高的機型,它的運算速度最快,性能最高,技術最復雜。巨型機主要用于解決大型機也難以解決的復雜問題,它是解決科技領域中某些帶有挑戰性問題的關鍵工具。

第一章計算機基礎知識

研制巨型機是現代科學技術,尤其是國防尖端技術發展的需要。核武器、反導彈武器、空間技術、大范圍天氣預報、石油勘探和地震預測等都要求計算機有很高的運算速度和很大的存儲容量,因此一些國家競相投入巨資開發速度更快、性能更強的超級計算機。巨型機的研制水平、生產能力及其應用程度已成為衡量一個國家經濟實力和科技水平的重要標志。第一章計算機基礎知識

目前,巨型機的運算速度可達萬億次每秒。這種計算機使研究人員可以研究以前無法研究的問題,例如研究更先進的國防尖端技術,估算100年以后的天氣,更詳盡地分析地震數據以及幫助科學家計算毒素對人體的作用等。 巨型機按照其體系結構和技術水平的發展,已經經歷了如下四代: 第一代巨型機是單指令流多數據流(SIMD)的陣列處理機AP,其典型代表是美國于1972年研制成功的ILLAC-Ⅳ,它由64個處理機構成8×8的陣列,這些處理機在一個控制部件的控制下同步工作,其運算速度為近億次每秒。第一章計算機基礎知識

第二代巨型機是具有流水線結構的向量機VP。20世紀70年代后期美國推出的Cray-1是這一代巨型機的標志。該機由高速中、小規模集成電路組成,有12條不同功能的流水線運算部件,分為4組,可并行流水工作,其運算峰值可達160MFlops(浮點運算次數每秒)。該機也使得巨型計算機首次成為商品,并走向市場。 第三代巨型機是多指令流多數據流(MIMD)的共享主存多處理機系統MP。以美國20世紀80年代中期到90年代初期推出的CrayX-MP、CrayY-MP系列為代表,具有2~16個處理機,緊密耦合共享主存,可多任務并發以解決用戶的大型問題。每個處理機內又采用了多流水線向量技術,運算速度可達每秒幾百億次。第一章計算機基礎知識

第四代巨型機是大規模并行處理系統MMP,它由幾百到上萬個處理機互連而成,靠高度并行獲得高性能。 從巨型機的發展過程可以看出,計算機性能的提高已不僅僅依賴于單個CPU的速度,因為單CPU速度的提高將越來越困難。當前微機采用的芯片運算速度已達億次數量級,巨型機要想獲得更高的性能,需要在計算機的體系結構上尋找出路,其中的一個主要途徑是并行技術。并行有兩種方式:一種是利用流水線原理,以時間重疊方式加工數據;另一種是多個處理部件以空間分布方式實現并行處理。在體系結構中要研究如何開發這兩種并行方式,以構成一個合理、實用、高效的系統。第一章計算機基礎知識

除了硬件外,巨型機采用的操作系統應該是并行、分布式的操作系統,具有批處理和一定的交互功能。目前大多數巨型機采用UNIX操作系統。針對各種用戶的復雜應用問題,研究開發并行算法是用好巨型機的又一個重要因素。算法和體系結構的匹配可以提高巨型機的性能。 我國研制成功的“銀河巨型計算機”采用了目前國際最新的可擴展多處理機并行體系結構。它的整體性能優越,系統軟件高效,網絡計算環境強大,可靠性設計獨特,工程設計優良,其系統綜合技術達到當前國際先進水平。在該系統研制的同時,一批適用于天氣預報、地震機理研究、量子化學研究、氣動力研究等方面的高水平應用軟件也已研制出來,這使巨型機進入市場的競爭力增強了。第一章計算機基礎知識 6.服務器 當計算機最初用于信息管理時,信息的存儲和管理是分散的,這種方式的弱點是數據的共享程度低,數據的一致性難以保證。于是以數據庫為標志的一代信息管理技術發展起來了,而以大容量磁盤為手段,以集中處理為特征的信息系統也發展起來了。20世紀80年代PC機的興起沖擊了這種集中處理的模式,而計算機網絡的普及更加劇了這一變化。數據庫技術也相應延伸到了分布式數據庫,于是客戶/服務器的應用模式出現了。當然,這不是向分散處理的簡單回歸,而是螺旋式的上升。第一章計算機基礎知識

隨著因特網(Internet)的迅猛發展,網絡安全、軟件維護與更新、多媒體應用等迫使人們再次權衡集中與分散的問題,即是否可以把需要共享和需要保持一致的數據相對集中地存放,是否可以把經常更新的軟件比較集中地管理,而把用戶端的功能僅限于用戶界面與通信功能,這就是網絡計算的由來。 近年來,隨著因特網的普及,各種檔次的計算機在網絡中發揮著各自不同的作用,而服務器在網絡中扮演著最主要的角色。服務器可以是大型機、小型機、工作站或高檔微機。服務器可以提供信息瀏覽、電子郵件、文件傳送、數據庫、打印以及多種應用服務。第一章計算機基礎知識

服務器的主要特點如下:

(1)只有在客戶機的請求下才為其提供服務。

(2)服務器對客戶透明。一個與服務器通信的用戶面對的是具體的服務,而可以完全不知道服務器運行的是什么操作系統和應用環境。

(3)服務器一般具有高性能、大容量、高可靠性和可伸展性。一臺計算機可以通過軟件配置而扮演一種或同時扮演幾種服務器的角色。

第一章計算機基礎知識1.3信息的表示與存儲 1.3.1計算機內部是二進制數字世界 在二進制系統中只有0和1兩個數。不論是指令還是數據,在計算機中都采用二進制的編碼形式。即使是圖形、聲音等信息,也必須轉換成二進制編碼形式,才能存入計算機中,這是為什么呢?因為在計算機內部,信息的表示依賴于機器硬件電路的狀態,信息采用什么表示形式,直接影響到計算機的結構與性能。采用基2碼表示信息,有以下幾個優點:第一章計算機基礎知識 (1)易于物理實現。因為具有兩種穩定狀態的物理器件是很多的,如門電路的導通與截止,電壓的高與低,而它們恰好對應表示1和0兩個符號。假如采用十進制,要制造具有10種穩定狀態的物理電路,那是非常困難的。

(2)運算簡單。數學推導證明,對R進制數進行算術求和或求積運算,其運算規則各有R(R+1)/2種。如采用十進制,則有55種求和與求積的運算規則;而對于二進制,則僅有3種,因而簡化了運算器等物理器件的設計。

(3)機器可靠性高。由于電壓的高低、電流的有無等都是兩種分明的狀態,因此基2碼的傳遞抗干擾能力強,鑒別信息的可靠性高。第一章計算機基礎知識 (4)通用性強。基2碼(0和1)不僅成功地運用于數值信息編碼(二進制),而且適用于各種非數值信息的數字化編碼。特別是0和1兩個符號正好與邏輯命題的“真”與“假”兩個值相對應,從而為計算機實現邏輯運算和邏輯判斷提供了方便。 計算機存儲器中存儲的都是由“0”和“1”組成的信息,但它們分別代表各自不同的含義,有的表示機器指令,有的表示二進制數據,有的表示英文字母,有的則表示漢字,還有的可能表示色彩與聲音。存儲在計算機中的信息采用了各自不同的編碼方案,即使是同一類型的信息,也可以采用不同的編碼形式。第一章計算機基礎知識 1.3.2計算機的數字系統 在計算機內的數值信息用二進制數來表示。為了運算簡單,在不同的場合采用了“原碼”和“補碼”等不同的編碼方法,而且還采用“定點數”和“浮點數”的方式來分別表示整型數和實型數。 人們日常生活中最熟悉的是十進制數,但在與計算機打交道時,會接觸到二進制、八進制、十六進制數。無論哪種數制,其共同之處都是進位記數制。

第一章計算機基礎知識 1.認識進位記數制 一般來說,如果數制只采用R個基本符號,則稱其為基R數制,R稱為數制的“基數”,而數制中每一固定位置對應的單位值稱為“權”。進位計數制的編碼符合“逢R進位”的規則,各位的權是以R為底的冪,一個數可按權展開成為多項式。例如,一個十進制數256.47可按權展開為

256.47=2×102+5×101+6×100+4×10-1+7×10-2

下面是我們需要熟悉的幾種進位數制: 二進制 R=2 基本符號0,1

八進制 R=8 基本符號0,1,2,3,4,5,6,7

第一章計算機基礎知識

十進制 R=10 基本符號0,1,2,3,4,5,6,7,8,9

十六進制R=16 基本符號0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

其中,十六進制的數符A~F分別對應十進制的10~15。 對于二進制來說,基數為2,每位的權是以2為底的冪,遵循“逢二進一”的原則,基本符號只有0和1兩個。1011.01就是二進制數。 當然,基2碼也有其不足之處,如它表示的數的容量最小。在表示同一個數時,二進制較其他進制需要更多的位數。第一章計算機基礎知識 2.幾種進位記數制之間的轉換

1)R進制轉換為十進制 基數為R的數字,只要將其各位數字與它的權相乘,然后將積分別相加,所得的和就是十進制數。 例如,將下列數轉換成十進制數:

(1)(1101101.0101)2=1×26+1×25+0×24+1×23+1×22+0×21+1×20 +0×2-1+1×2-2+0×2-3+1×2-4=(109.3125)10第一章計算機基礎知識 (2)3506.28=3×83+5×82+0×81+6×80+2×8-1=(1862.25)10 (3)(0.2A)16=2×16-1+10×16-2=(0.1640625)10

從上例可以看到,當從R進制數轉換到十進制數時,可以把小數點作為基點,分別向左右兩邊進行轉換,即對其整數部分和小數部分分別轉換。對于二進制數來說,只要把數位是1的那些位的權值相加,其和就是等效的十進制數。因此,二/十進制數的轉換是最簡便的,同時也是最常用的。第一章計算機基礎知識 2)十進制轉換為R進制 將十進制數轉換為基數是R進制的等效表示時,可將此數分成整數和小數兩部分分別進行轉換,然后再拼接起來即可。 十進制整數轉換成R進制的整數,可用十進制數連續地除以R,其余數即為R進制的各位系數。此方法稱為除R取余法。

第一章計算機基礎知識

例如,將(57)10轉換為二進制數:

257余數

228…………… 1二進制整數低位

214…………… 027…………… 023…………… 121…………… 10…………… 1二進制整數高位 所以(57)10=(111001)2。第一章計算機基礎知識

十進制小數轉換成R進制數時,可連續地乘以R,直到小數部分為0或達到所要求的精度為止(小數部分可能永遠不為零),得到的整數即組成R進制的小數部分,此法稱為“乘R取整”。例如,將(0.31251)10轉換成二進制數:

0.3125×2=0.625 0.625×2=1.35 0.25×2=0.5 0.5×2=1.0

所以(0.3125)10=(0.0101)2。 要注意的是,十進制小數常常不能準確地換算為等值的二進制小數(或其他R進制數),有換算誤差存在。第一章計算機基礎知識

例如,將(0.5627)10轉換成二進制數:

0.5627×2=1.1254 0.1254×2=0.2508 0.2508×2=0.5016 0.5016×2=1.0032 0.0032×2=0.0064 0.0064×2=0.0128

此過程會不斷進行下去(小數位達不到0),因此只能取到一定精度,即保留幾位小數。若保留6位數,則第一章計算機基礎知識 (0.5627)10=(0.100100)2

若將十進制數57.3125轉換成二進制數,則可分別進行整數部分和小數部分的轉換,然后再拼在一起。其轉換結果為

(57.3125)10=(111001.0101)2 3)二、八、十六進制的相互轉換 二、八、十六進制的相互轉換在應用中占有重要的地位。由于這三種進制的權之間有內在的聯系,即23=8,24=16,因而它們之間的轉換就比較容易,即每位八進制數對應3位二進制數,每位十六進制數對應4位二進制數。第一章計算機基礎知識

在轉換時,位組劃分是以小數點為中心向左右兩邊延伸的,中間的0不能省略,兩頭不夠位數時可以用0補齊。 例如,將(1011010.10)2轉換成八進制和十六進制數:

001011010.100 1324

即(1011010.10)2=(132.4)8 01011010.1000 5A8

即(1011010.10)2=(5A.8)16第一章計算機基礎知識

將十六進制數(F7.28)16轉換為二進制數:

F7.28 11110111.00101000

即(F7.28)16=(11110111.00101)2

將八進制數25.63轉換為二進制數:

25.63 010101.110011

即(25.63)8=(10101.110011)2第一章計算機基礎知識 1.3.3信息存儲單位 上節已經提到,在計算機內部,各種信息都是以二進制編碼形式存儲的,因此我們有必要了解一下信息的存儲單位。信息的存儲單位通常采用“位”、“字節”和“字”幾種量綱表示。

1.位(bit)

位是度量數據的最小單位,用來表示1位二進制信息。

2.字節(Byte)

一個字節由8位二進制數字組成(1Byte=8bit)。字節是信息存儲中最常用的基本單位。 計算機的存儲器(包括內存與外存)通常也是用存儲的字節數來表示它們的容量的。常用的單位有:

第一章計算機基礎知識 KB(千字節) 1KB=1024Byte MB(兆字節) 1MB=1024KB GB(千兆字節) 1GB=1024MB TB(太字節) 1TB=1024GB 3.字(word)

字是位的組合,并作為一個獨立的信息單位處理。字又稱為計算機字,它的含義取決于機器的類型、字長以及使用者的要求。常用的固定字長有8位、16位、32位和64位等。 信息單位用來描述機器內部數據格式,即數據(包括指令)在機器內的排列形式,如單字節數據、可變長數據(以字節為單位組成幾種不同長度的數據格式)等。第一章計算機基礎知識 4.機器字長 在討論信息單位時,還有一個與機器硬件指標有關的單位,這就是機器字長。機器字長一般是指參加運算的寄存器所含有的二進制數的位數,它代表了機器的精度。機器的功能設計決定了機器的字長。一般大型機用于數值計算,為保證足夠的精度,需要較長的字長,如32位和64位等。而小型機、微機一般字長為16位和32位等。

1.3.4非數值信息的表示 在計算機內部,非數值信息也是用“0”和“1”兩個符號的編碼來表示的。下面我們著重介紹一下中、西文的編碼方案。第一章計算機基礎知識 1.西文字符編碼

1)ASCII碼

ASCII碼是“美國標準信息交換代碼”的簡稱,是目前國際上最為流行的字符信息編碼方案。ASCII碼包括數字0~9、大小寫英文字母及專用符號等95種可打印字符,還有33種控制字符(如回車、換行等)。一個字符的ASCII碼通常占一個字節,用7位二進制數編碼組成,所以ASCII碼最多可表示128個不同的符號。例如,數字0~9用ASCII編碼表示為30H~39H,“H”表明是十六進制形式。

30H轉化成二進制為,這就是機器內數字0的ASCII碼表示。第一章計算機基礎知識

又如,大寫英文字母A~Z的ASCII編碼為41H~5AH。 字母Z的機內表示為

01011010 5A

由于ASCII采用7位編碼,沒有用到字節的最高位,因此很多系統就利用這1位作為校驗碼,以便提高字符信息傳輸的可靠性。

2)EBCDIC碼

EBCDIC碼是美國IBM公司在它的各類機器上廣泛使用的一種信息代碼。

第一章計算機基礎知識

一個字符的EBCDIC碼占用一個字符,用8位二進制碼表示信息,最多可以表示出256個不同代碼。例如,數字“0”的EBCDIC碼為F0H,字母“A”的編碼為C1H,即:

“0”11110000“A”11000001 F0C1第一章計算機基礎知識 2.中文信息編碼 漢字在計算機內也采用二進制的數字化信息編碼。 漢字的數量大,常用的也有幾千個之多,顯然用一個字節(8位編碼)是不夠的。目前的漢字編碼方案有二字節、三字節甚至四字節的。下面我們主要介紹“國家標準信息交換用漢字編碼”(GB2312—80標準),以下簡稱國標碼。 國標碼是二字節碼,用兩個7位二進制數編碼表示一個漢字。第一章計算機基礎知識

目前國標碼收入6763個漢字,其中一級漢字(最常用)有3755個,二級漢字有3008個,另外還包括682個西文字符、圖符。 例如,“巧”字的代碼是39H41H,在機內形式如下:

01110011000001

第一字節第二字節 在計算機內部,漢字編碼和西文編碼是共存的,如何區分它們是個很重要的問題,因為對不同的信息有不同的處理方式。方法之一是對于二字節的國標碼,將兩個字節的最高位都置成“1”,而ASCII碼所用字節最高位保持“0”,然后由軟件(或硬件)根據字節最高位來做出判斷。第一章計算機基礎知識

當前,另一種編碼——“Unicode碼”已成為信息編碼的標準。Unicode碼是由國際標準化組織(ISO)于20世紀90年代初制定的一種16位字符編碼標準,它以兩個字節表示每一個字符。統一編碼允許世界上幾乎所有書面語言都能用單一的字符集表示,其中也包括中文。相比而言,8位的ASCII碼就只能表示英文字母和部分符號。在Unicode碼的65536個可能的編碼中,有39000個字符編碼已經作了規定,其中21000個編碼用于表示中國漢字。Unicode編碼中尚未定義的編碼留待以后使用。第一章計算機基礎知識 1.3.5信息的內部表示與外部顯示 我們周圍的信息是多種多樣的,如文字、數字、圖像、聲音乃至各種儀器輸出的電信號等。各種各樣的信息都可以在計算機內存儲和處理,而機內表示它們的方法只有一個,就是采用基于符號“0”和“1”的數字化信息編碼。不同的信息需要采用不同的編碼方案,如上面介紹的幾種中西文編碼。二進制數可被看作是數值信息的一種編碼。 計算機的外部信息需要經某種轉換變為二進制編碼信息后,才能被計算機主機所接收;同樣,計算機內部信息也必須經轉換后才能恢復信息的“本來面目”。這種轉換通常是由計算機的輸入/輸出設備來實現的,有時還需要軟件來參與這種轉換過程。第一章計算機基礎知識

例如,我們最常使用的終端就是人與計算機交換信息的外部設備,它主要用于在人和機器之間傳遞字符數據。 當一個程序要求用戶在終端上輸入一個十進制數“10”時,這個數值信息怎樣傳遞給程序呢? (1)用戶在鍵盤上先后按下“1”和“0”兩個鍵。

(2)終端的編碼電路依次接收到這兩個鍵的狀態變化,并先后產生對應于“1”和“0”的用ASCII碼表示的字符數據(31H和30H),然后送往主機。

(3)主機的終端接口程序一方面將接收到的兩個ASCII碼回送給終端(這樣,當用戶敲入“1”時,終端屏幕上就顯示出“1”),另一方面將它們依次傳給有關程序。

第一章計算機基礎知識 (4)程序根據數據類型的定義,將這兩個字符數據轉換成相應十進制數的二進制表示(00001010)2。 同樣,當一個運算結果被送往終端顯示時,首先要將數值信息轉換為字符數據,即每一位數字都要換成相應的ASCII碼,然后由主機傳到終端。終端再將這些ASCII碼轉換成相應的字符點陣信息,用來控制顯示器的顯示。

第一章計算機基礎知識

當然,上述輸入/輸出過程對普通用戶來說應該是透明的。用戶可以認為在終端上根據程序的需要,或者輸入數值信息或者輸入字符信息。至于如何將圖像、聲音和其他形式的信息送入計算機,要靠一些專用的外部設備,如圖形掃描儀、語音卡等。它們的功能也無非是將不同的輸入信息轉換成二進制信息并存入計算機,然后由計算機(軟件)做進一步的分析與處理。當然,處理這些信息比處理字符信息要復雜得多。第一章計算機基礎知識1.4計算機系統的組成與應用 1.4.1硬件系統 硬件系統一般指用電子器件和機電裝置組成的計算機實體。

“存儲程序”計算機的硬件系統由運算器、控制器、存儲器、輸入設備和輸出設備五個基本部分組成,其中存儲器又分為內存儲器(簡稱內存)和外存儲器(簡稱外存)。 圖1.1給出了一般計算機的硬件結構框圖。 在計算機中,各部件之間來往的信息可分成三種類型:地址、數據(包括指令)和控制信號。圖1.1只畫出了數據和部分地址信息。第一章計算機基礎知識

當前大部分計算機(特別是微機)的各部件之間是用總線相連接的,系統總線成為計算機內部傳輸各種信息的通道。圖1.2是計算機的總線結構框圖。第一章計算機基礎知識圖1.1計算機硬件結構框圖第一章計算機基礎知識圖1.2計算機的總線結構框圖第一章計算機基礎知識

運算器和控制器是計算機的核心,一般稱為中央處理器(CentralProcessingUnit),簡稱為CPU。主機一般包括CPU、內存,有時還包括外設控制器,它們通常放在主機柜中。當然,這種劃分主要是對大型機而言的。下面分別介紹各組成部分的基本功能、結構及工作原理。

1.存儲器(MemoryStorage)

存儲器的主要功能是存放程序和數據。程序是計算機操作的依據,數據是計算機操作的對象。為了實現自動計算,各種信息必須預先存放在計算機內的某個地方,這個地方就是存儲器。第一章計算機基礎知識

存儲器有內存(主存)和外存(輔存)之分,外存是存放程序和數據的“倉庫”,可以長時間保存大量信息。程序必須調入內存方可執行,待處理的數據也只有進入內存后才能被程序加工,所以說內存與外存之間有著嚴格的分工。 存儲器采取按地址存(寫)/取(讀)的工作方式。一個內存體內包含許多存儲單元,每個單元可以存放一個適當單位的信息。全部存儲單元按一定順序編號,這種編號就稱為存儲器的地址。 內存儲器結構框圖如圖1.3所示。第一章計算機基礎知識圖1.3內存儲器結構框圖第一章計算機基礎知識

當要對存儲器進行讀/寫操作時,來自地址總線的存儲器地址經地址譯碼器譯碼后,選中指定的存儲單元,而讀/寫控制電路根據讀/寫命令實施對于存儲器的存/取操作,數據總線則用于傳送寫入內存或從內存取出的信息。 現今絕大多數計算機的內存以半導體存儲器為主,而外存儲器通常是磁盤、磁帶一類的磁表面存儲器,近年來出現的光盤則以其巨大的容量異軍突起。 由于外存設置在主機外部,因此通常歸屬外部設備。外存容量比內存大得多,但存取速度慢。相比之下,內存的讀/寫速度要快得多,之所以這樣設計是因為它直接影響到讀取指令的速度,因而也就影響主機執行指令的速度。第一章計算機基礎知識 2.中央處理器(CPU) CPU是指令的解釋和執行部件,是計算機的心臟。CPU主要由運算器、控制器和通用寄存器組成。下面我們以奔騰處理器為例,介紹CPU處理器的工作原理。 奔騰處理器內的總線接口部件(BIU)從計算機的內存(RAM)中獲取數據和指令碼,然后沿兩條總線發送數據,每一條總線一次可運載64位(bit)的數據,其中一條總線連到存放數據的8KB高速緩存,另一條總線連到存放指令碼(用于告訴處理器如何操作數據)的8KB高速緩存。數據和指令碼在兩個高速緩存中保存到處理器的其他部件需要它們為止。第一章計算機基礎知識

與80486相比,奔騰處理器的一個重大改進是擁有了兩個運算器(ALU)(參見圖1.4)。運算器是對信息或數據進行處理和運算的部件,經常進行的是算術運算和邏輯運算,故也稱為算術與邏輯運行部件。“算術運算”是按照算術規則進行的運算,如加、減、乘、除、求絕對值、求負值等;“邏輯運算”一般泛指非算術性質的運算,例如比較大小、移位、邏輯加、邏輯乘等。在計算機里,各種復雜的運算往往被分解為一系列算術與邏輯運算,然后由ALU去執行。運算器每次執行的操作由當前指令的操作碼確定。第一章計算機基礎知識圖1.4奔騰處理器的內部結構圖第一章計算機基礎知識

當指令碼在高速緩存中等待處理時,處理器中的轉移預測部件則根據兩個運算器的忙閑程度,為高速緩存中的指令確定執行的運算器。 譯碼部件將從指令預取緩沖器中取出并由轉移預測部件做上標記的指令代碼翻譯成運算器能理解的指令類型。每個運算器一次從指令譯碼部件獲取32位指令,同時使用來自數據高速緩存的數據來完成具體的操作。 由于運算器只處理整數數據,對于帶小數點的浮點數據,則由一個名為浮點部件的專用內部處理器進行運算。第一章計算機基礎知識

兩個運算器和浮點部件將它們的處理結果送到數據高速緩存中,數據高速緩存又把結果送到總線接口部件,最后又由總線接口部件送往內存。

3.輸入/輸出設備(Input/Output)

輸入/輸出設備簡稱I/O設備,它們實現了外部世界與主機之間的信息交換,提供了人機交互的硬件環境。

I/O設備種類很多,例如終端顯示器就是最常用的輸出設備。圖形終端不但能顯示西文、漢字,還能顯示彩色圖形。打印機、繪圖儀等也都是常用的輸出設備,鍵盤、鼠標等是常用的輸入設備。I/O設備通常設置在主機外部,故稱之為外部設備。第一章計算機基礎知識

下面以鍵盤為例介紹外部設備與主機之間如何進行信息交換。圖1.5是鍵盤工作原理圖。鍵盤內的微處理器(如Intel8048)以1秒鐘幾百次的頻率不斷掃描與按鍵相連的線路,以檢查因按鍵引起的電流變化,由此獲悉某按鍵何時被按下或釋放。每一個按鍵都有自己特有的一組代碼。第一章計算機基礎知識圖1.5鍵盤工作原理圖第一章計算機基礎知識

當用戶按下鍵盤上的某一個按鍵時,例如按鍵A,鍵盤內的微處理器根據該信號發生在哪一個按鍵的線路上,相應地產生一個數字掃描碼。每個按鍵具有兩個掃描碼:一個是按鍵被按下時的掃描碼,另一個是按鍵被釋放時的掃描碼。處理器將該掃描碼保存在鍵盤內的存儲器緩沖區中,同時將該掃描碼加載到計算機基本輸入/輸出系統(BIOS)能夠讀取的端口處,然后通過鍵盤連線向計算機的CPU發送一個中斷信號,通知CPU此時有一個掃描碼正等待它的處理。BIOS從鍵盤端口讀取該掃描碼,同時將一個信號送到鍵盤上,通知鍵盤可以從它的緩沖區中刪除該掃描碼。第一章計算機基礎知識

如果掃描碼是一些特殊的功能鍵(如Ctrl、Alt、CapsLock、NumLock等)的掃描碼時,BIOS將修改相關字節信息,以保持這些按鍵被按下的記錄。對所有其他按鍵,BIOS將根據功能鍵的狀態信息,將相應的掃描碼翻譯成ASCII碼或特殊按鍵代碼,同時將該信息送到鍵盤內的存儲器緩沖區中。 當以上操作完成時,操作系統和應用程序就立即從該緩沖區中取出這些代碼。第一章計算機基礎知識 1.4.2程序的自動執行 計算機硬件系統最終只能執行由機器指令組成的程序。程序在執行前必須首先裝入內存,程序執行時CPU負責從內存中逐條取出指令,分析識別指令,最后執行指令,從而完成了一條指令的執行周期。CPU這樣周而復始地工作,直至程序完成。啟動一個程序的執行只需將程序的第一條指令的地址置入程序計數器(PC)中即可,之后的工作流程如圖1.6所示。 從圖1.6可以看出,程序執行的流程就是“取指令→分析指令→執行指令”的循環過程。第一章計算機基礎知識圖1.6程序執行的流程圖第一章計算機基礎知識 1.4.3計算機軟件系統

1.計算機軟件概述 一個完整的計算機系統是由硬件和軟件兩部分組成的。只有硬件,沒有軟件支持的計算機稱為裸機。裸機本身幾乎不能完成任何功能,只有配備一定的軟件,才能發揮其功用。實際呈現在用戶面前的計算機系統是經過若干層軟件改造的計算機,而其功能的強弱也與所配備的軟件的豐富程度有關。第一章計算機基礎知識

軟件一般可分為系統軟件和應用軟件兩大類。系統軟件通常負責管理、控制和維護計算機的各種軟、硬件資源,并為用戶提供一個友好的操作界面,以及服務于一般目的的上機環境。常見的系統軟件主要指操作系統,當然也可以包括語言處理程序(匯編和編譯程序等)、連接裝配程序、系統實用程序、多種工具軟件等。 應用軟件是專業人員為各種應用目的而開發的程序,常見的應用軟件有辦公自動化軟件、管理信息系統、大型科學計算軟件包等。第一章計算機基礎知識

計算機系統是硬件和軟件有機結合的整體。隨著技術的發展,系統中的同一功能既可由硬件實現,也可由軟件來完成。從這個意義上說,硬件和軟件在邏輯功能上是可以等效的。例如,乘法、除法、浮點運算等既可以用硬件線路去做,也可以用程序來實現。 輸入/輸出管理、多媒體處理等也是既可以用硬件也可以用軟件來實現的。硬件和軟件之間的功能隨著時間的不同、機型的不同而異。二者的合理分配可以降低系統的成本,改進系統的性能和提高系統的整體優化能力。第一章計算機基礎知識 2.計算機語言的發展 人們可以通過某種計算機語言與計算機交談,用計算機語言描述所要完成的工作。為了完成某項特定任務而用計算機語言編寫的一組指令序列就稱為程序。“編寫程序”和“執行程序”是利用計算機解決問題的主要方法和手段。 計算機語言(或稱程序設計語言)的發展過程是其功能不斷完善、描述問題的方法越來越貼近人類思維方式的過程。第一章計算機基礎知識 1)第一代語言——機器語言 機器語言是計算機誕生和發展初期使用的語言,表現為二進制的編碼形式,是由CPU可以直接識別的一組由0和1序列構成的指令碼。這種機器語言是從屬于硬件設備的,不同的計算機設備有不同的機器語言。直到如今,機器語言仍然是計算機硬件所能“理解”的惟一語言。在計算機發展初期,人們就是直接使用機器語言來編寫程序的,那是一項相當復雜和繁瑣的工作。 例如,下面列出的一串二進制編碼

011011000000000000000001110101

命令計算機硬件完成清除累加器,然后把內存地址為117的單元內容與累加器的內容相加的操作。第一章計算機基礎知識

可以看出,使用機器語言編寫程序是很不方便的,它要求使用者熟悉計算機的所有細節,程序的質量完全決定于個人的編程水平。特別是隨著計算機硬件結構越來越復雜,指令系統變得越來越龐大,一般的工程技術人員難以掌握程序的編寫。為了把計算機從少數專門人才手中解放出來,減輕程序設計人員在編制程序工作中的繁瑣勞動,計算機工作者開展了對程序設計語言的研究以及對語言處理程序的開發。第一章計算機基礎知識 2)第二代語言——匯編語言 匯編語言開始于20世紀50年代初期,它是用助記符來表示每一條機器指令的。例如,上面的機器指令可以表示為

CLA00017

由于便于識別記憶,匯編語言比機器語言前進了一步。但匯編語言程序的大部分語句還是和機器指令一一對應的,語句功能不強,因此編寫較大的程序時仍很繁瑣。而且匯編語言都是針對特定的計算機或計算機系統設計的,對機器的依賴性仍然很強。用匯編語言編好的程序要依靠計算機的翻譯程序(匯編程序)翻譯成機器語言后方可執行,但這時用戶看到的計算機已是裝配有匯編程序軟件的計算機。第一章計算機基礎知識 3)第三代語言——高級語言、算法語言 高級語言起始于20世紀50年代中期,它允許人們用熟悉的自然語言和數學語言編寫程序代碼,可讀性強,編程方便。例如,在高級語言中寫出如下語句:

X=(A+B)/(C+D)

與之等價的匯編語言程序如下:

CLACADDD第一章計算機基礎知識STDMCLAAADDBDIVMSTDX

顯然,前者比后者容易得多。 用一種高級語言寫成的源程序可以在具有該種語言編譯系統的不同計算機上使用,但這種語言必須經過編譯或解釋程序譯成機器語言后才能執行。BASIC、FORTRAN、COBOL、PASCAL等都屬于第三代語言。第一章計算機基礎知識

第三代語言又稱為“過程語言”,顧名思義,它是面向“過程的”。用過程語言編寫程序,用戶可不必了解計算機的內部邏輯,而主要考慮解題算法的邏輯和過程的描述,把解決問題的執行步驟通過語言告訴給計算機。 在第三代語言的發展中,值得一提的有FORTRAN語言和COBOL語言。

FORTRAN語言是科學和工程計算領域中的傳統編程語言,它首先引入了與匯編語言中的助記符有本質區別的變量的概念,并引入了表達式語句、子程序等概念,成為以后出現的其他高級程序設計語言的重要基礎。FORTRAN語言一經問世便很快流行起來,因其執行的高效率與近乎完善的輸入/輸出功能,至今在科學計算領域仍充滿著生命力。第一章計算機基礎知識 COBOL語言是數據處理方面的標準語言,它對程序設計語言發展的主要貢獻是引入了獨立于機器的數據描述概念和與英語類似的語法結構,其中的數據描述概念正是數據庫管理系統中主要概念的雛形。COBOL語言的出現,使人們開始意識到計算機不僅可應用于科學計算領域,而且適用于各種事務處理領域,大大拓寬了計算機的應用范圍。

4)第四代語言——非過程化語言

第一章計算機基礎知識

用戶在使用這種語言時,不必關心問題的解法和處理過程的描述,只需說明所要完成的工作目標及工作條件,就能得到所要的結果,而其他的工作都由系統來完成。換句話說,原來費時費力的編程工作現在主要由系統來承擔。因此,非過程化語言比過程化語言使用起來更加方便。但是非過程化語言目前只適用于部分領域,其通用性及靈活性不如過程化語言。 如果說第三代語言要求人們告訴計算機怎么做,那么第四代語言只要求人們告訴計算機做什么。因此,人們稱第四代語言是面向目標的語言。

第一章計算機基礎知識

關系數據庫的標準語言SQL即屬于第四代語言。例如,用戶想檢索出滿足一定條件的學生名單,只要通過SQL語言的SELECT語句告訴計算機查詢的范圍(查學生信息表)、查詢內容(查出姓名和年齡)和檢索條件(查年齡小于18歲的學生)即可得到查詢結果。該語句形式如下:

SELECT sname,age FROM students WHERE age<18第一章計算機基礎知識 5)第五代語言——智能性語言 第五代語言除具有第四代語言的基本特征外,還具備許多新的功能,特別是具有一定的智能。 PROLOG(PROgramminginLOGic)語言是第五代語言的代表。智能化語言主要應用于抽象問題求解、數據邏輯、公式處理、自然語言理解、專家系統和人工智能等領域。 在計算機語言的發展過程中,新的技術和新的思想不斷出現。 在20世紀60年代的10年時間里,人們至少發明了200多種高級語言。比較著名的有應用于人工智能領域的LISP語言,涉及到矩陣運算的科學計算領域的APL語言,成功地用于文本處理領域的SNOBOL語言,用于處理仿真問題的SIMULA語言,以及交互式的解釋型程序設計語言BASIC。第一章計算機基礎知識 20世紀70年代以來,隨著結構化程序設計思想的日益深入,使得這段時期問世的幾種程序設計語言的控制結構大為簡化,比較有代表性的有PASCAL、Ada、C語言等。目前用于教學及軟件研制中的PASCAL語言在支持結構化程序設計思想的同時,吸收了其他語言中用戶定義數據類型等優點,使其數據抽象進入了一個新的層次。

Ada語言以可靠性、可維護性、可讀性及高效率為設計目標,集各種過程性程序設計語言的優秀思想之大成,在PASCAL語言的基礎上,增加和擴充了數值計算、輸入/輸出、數據抽象、并發處理、實時處理、異常處理等內容,集中體現了軟件工程學、程序設計語言學、程序設計方法學的優秀成果,支持程序的模塊性、可移植性、可擴充性及抽象與信息隱藏,有助于高效地開發與維護程序。第一章計算機基礎知識 C語言是美國Bell實驗室開發成功的。當時的高級語言基本上都不適合開發系統軟件,系統軟件都是用機器語言或匯編語言編寫的,而C語言的許多類匯編語言特征卻使其大獲成功。C語言的表達式簡潔,具有豐富的運算符、控制結構與數據結構。C語言已不限于系統軟件的開發,而成為當前最流行的程序設計語言之一。 雖然C語言并不是為教學設計的(在一定意義上來說,C語言并不適合于教學),但由于它的實用性和廣泛的市場占有率,因此在國內外計算機程序設計的課程中被廣泛采用。第一章計算機基礎知識 20世紀80年代初開始提出的“面向對象”(Object-Oriented)概念是相對于“面向過程”的一次革命。C++便是一種面向對象的程序設計語言。“面向對象”不僅僅作為一種語言,更作為一種方法論貫穿于軟件設計的各個階段。面向對象的技術在系統程序設計、數據庫及多媒體應用等諸多領域得到了廣泛應用,面向對象的程序設計思想將會主導今后程序設計語言的發展。 如果說,面向過程的語言仍然反映了計算機的思維方式,那么面向對象的程序設計語言則充分體現了人們看待周圍事物所采用的面向對象的觀點。這種觀點認為:我們周圍的世界是由一個個的對象組成的,而周圍所發生的一切是對象間相互作用的結果。第一章計算機基礎知識

面向對象的技術進一步縮小了人腦與電腦思維方式上的差異,并可以使人們在利用計算機

溫馨提示

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

評論

0/150

提交評論