Chapter 1 計算機系統(tǒng)的概論
現(xiàn)代計算機
- 一種可以進行算術(shù)和邏輯運算,具有存儲記憶功能,并能夠按照程序自動、高速處理信息的智能電子設(shè)備。
- 具有計算精確度高、存儲容量大、邏輯運算能力強、自動化程度高等特點。
- 由硬件系統(tǒng)和軟件系統(tǒng)所組成。
1.1 計算機的發(fā)展
- 第一臺電子計算機
- 計算機的五代變化
- 中國計算機的發(fā)展
- 計算機的分類
- 計算機的發(fā)展趨勢
現(xiàn)代計算機問世之前
計算機的發(fā)展也經(jīng)歷了機械式計算機、機電式計算機和萌芽期的電子計算機3個階段。了解幾個階段的著名科學(xué)家的貢獻。
- 1642年,法國數(shù)學(xué)家帕斯卡采用與鐘表類似的齒輪傳動裝置,制造了最早的十進制加法器。
- 1678年,德國數(shù)學(xué)家萊布尼茨制造的計算機可以進行十進制乘、除運算。
- 英國數(shù)學(xué)家巴貝奇:
- 1822年制作差分機時提出一種設(shè)想,每次只完成一次算術(shù)運算,將發(fā)展為自動完成某個特定的完整運算過程。
- 1834年設(shè)計了一種通用解析機,它可以進行各種算術(shù)和邏輯運算,能解多元方程組。
- 巴貝奇的設(shè)想包含了現(xiàn)代計算機的一些主要思想,已經(jīng)有了程序控制方式的雛形,但限于當(dāng)時的技術(shù)條件而未能實現(xiàn)。
- 1941年德國克蘭德·楚澤(Konrad Zuse,1910—1995年)制成了全自動的繼電器計算機Z-3,它已經(jīng)具備了二進制運算、數(shù)字存儲地址的指令形式等現(xiàn)代計算機的特征
- 1940—1947年,在美國也相繼推出了MARK-1、MARK-2、Model-1、Model-5等繼電器計算機。
- 繼電器的開關(guān)速度太慢,大約為百分之一秒,使當(dāng)時的計算機速度受到很大限制。
事物的發(fā)展是一個曲折的、復(fù)雜的漫長過程。
第一臺電子計算機
1946年 美國 ENIAC
- 采用十進制,邏輯線路復(fù)雜。
- 無存儲器,只有20個10位的累加器,存儲20個十進制數(shù)。
- 不完全具有“內(nèi)部存儲程序”功能,采用布線接板進行控制,必須通過開關(guān)和插線來安裝計算程序,甚至要搭接幾天,計算速度被這一工作抵消了。
馮?諾依曼思想
1945年數(shù)學(xué)家馮?諾依曼對計算機的組成結(jié)構(gòu)提出了重大的改進理論:
- 計算機中采用二進制,數(shù)據(jù)和指令均采用二進制存儲在存儲器中,二進制的采用將大大簡化機器的邏輯線路。
- 編好的程序和原始數(shù)據(jù)事先存入存儲器,然后再啟動計算機工作,從而大大加快運算進程。
- 進一步明確指出整個計算機的結(jié)構(gòu)應(yīng)由5個部分組成:運算器、控制器、存儲器、輸入裝置和輸出裝置。
馮·諾依曼 計算機結(jié)構(gòu)體系
計算機的五代
現(xiàn)代計算機的發(fā)展大體分為五個年代,主要依據(jù)三個方面進行劃分:
- 構(gòu)成CPU的主要器件
- 存儲器件的發(fā)展
- 軟件(操作系統(tǒng))的發(fā)展及應(yīng)用
硬件技術(shù)對計算機更新?lián)Q代的影響
第一代(1946-1957年)電子管計算機
- 邏輯元件 —— 電子管
- 數(shù)據(jù)表示 —— 定點數(shù)
- 主 存 —— 磁鼓或磁芯
- 輔 存 —— 磁帶
- 軟 件 —— 機器語言、匯編語言
- 應(yīng) 用 —— 科學(xué)計算
IBM650 小型機于1954年12月推出,是第一代計算機中銷量最廣的計算機
第二代(1958-1964年)晶體管計算機
- 邏輯元件 —— 晶體管
- 輔 存 —— 磁盤、磁帶
- 主 存 —— 鐵淦氧磁芯
- 運算方式 —— 浮點運算
- 軟 件 —— 操作系統(tǒng)、高級語言(FORTRAN、ALGOL等)
- 應(yīng) 用 —— 科學(xué)計算、數(shù)據(jù)處理、過程控制
CDC6600 大型機于1963年8月由控制數(shù)據(jù)公司(CDC)推出,當(dāng)時很受各原子能機構(gòu)、航空宇航、氣象研究等機構(gòu)的認可。安裝了35萬個晶體管,運算速度為1Mflops。至1969年,CDC6600以及改進型CDC7600巨型機共售出150余臺。
第三代(1965-1971年)中小規(guī)模集成電路計算機
- 中小規(guī)模集成電路成為主要部件,過渡到半導(dǎo)體存儲器。
- 體積更小,功耗更低,速度更快,一般為幾十萬次至幾百萬次每秒。減少了焊點和接插件,可靠性更高。
- 出現(xiàn)了分時操作系統(tǒng),使得計算機在中心程序的控制協(xié)調(diào)下可以同時運行許多不同的程序。出現(xiàn)了標準化的程序設(shè)計語言和人機會話式語言,如BASIC,采用了結(jié)構(gòu)化程序設(shè)計方法。
- 應(yīng)用:科學(xué)計算、數(shù)據(jù)處理、過程控制
- 出現(xiàn)了小型計算機。 1965年美國的DEC(數(shù)字設(shè)備公司)推出第一臺商業(yè)化集成電路為主的小型計算機PDP-8。
1964年由IBM推出的IBM 360 是最早采用集成電路的通用計算機,也是影響最大的第三代計算機。平均運算速度從每秒幾千次到一百萬次,它的主要特點是通用化、系列化和標準化。
第四代(1972年至今) LSI和VLSI計算機
- 以Intel公司的第一代微處理器Intel 4004為標志。
- 1972年,第一部真正的個人計算機(PC)誕生。隨著“半導(dǎo)體”及“晶體管”的發(fā)展,世界各國也不斷翻開計算機史上新的一頁。
- 1981年,IBM推出個人計算機(Personal Computer,PC),主要用于家庭、辦公室和學(xué)校。
- 微電子技術(shù)的發(fā)展促使計算機的體積越來越小,從桌上到膝上,再到掌上;成本越來越低,性能和可靠性越來越高
- 操作系統(tǒng)也不斷完善,應(yīng)用軟件也變得豐富多彩,計算機的應(yīng)用遍及社會各個領(lǐng)域,成為人們不可缺少的工具。
第五代計算機
- 20世紀80年代初,日本首先提出第五代計算機發(fā)展計劃,引起各發(fā)達國家競相開始研究。
- 第五代計算機的主要思想:模擬人類視神經(jīng)控制系統(tǒng),本身具有學(xué)習(xí)機理,能模仿人的視神經(jīng)網(wǎng)絡(luò)進行工作。它不僅能進行數(shù)值計算或處理一般的信息,主要能面向知識處理,具有形式化推理、聯(lián)想、學(xué)習(xí)和解釋的能力,能夠幫助人們進行判斷、決策、開拓未知領(lǐng)域和獲得新的知識。需要人工智能的理論和技術(shù),涉及通信技術(shù)、仿生學(xué)等多種科學(xué)技術(shù)。
- 目前人工智能技術(shù)在模式識別、知識處理方面已經(jīng)取得很大的進步,并產(chǎn)生了明顯的經(jīng)濟效益。應(yīng)用大量專家知識和推理方法解決復(fù)雜問題的專家系統(tǒng),已經(jīng)廣泛用于管理調(diào)度、輔助決策、故障診斷、教育咨詢等各個方面。
- 計算機在文字、語音、圖形圖像的識別與理解,及機器翻譯等領(lǐng)域的應(yīng)用也取得重大進展,相關(guān)產(chǎn)品也已經(jīng)問世。
存儲器的發(fā)展
存儲器技術(shù)的發(fā)展是促進計算機的一個重要因素
- 20世紀50~60年代:磁芯存儲器——所有計算機存儲器都是由微小的鐵磁體環(huán)
- 1970年:半導(dǎo)體存儲器——美國仙童半導(dǎo)體公司生產(chǎn)出了第一個較大容量半導(dǎo)體存儲器
- 從1970年起,半導(dǎo)體存儲器經(jīng)歷了11代:單個芯片為1KB、4KB、16KB、64KB、256KB、1MB、4MB、16MB、64MB、256MB、1GB直至更高
摩爾定律
摩爾定律:“集成電路芯片上所集成的電路的數(shù)目,每隔18個月就翻一番”。當(dāng)初預(yù)測這個假定只能維持10年左右,然而芯片制造技術(shù)的進步讓摩爾定律保持了40年。
集成電路:依據(jù)一片集成電路芯片上包含的邏輯門個數(shù)或元件個數(shù)分小規(guī)模集成電路SSI(邏輯門數(shù)小于10門或含元件數(shù)小于100個);中規(guī)模集成電路MSI(所含邏輯門數(shù)為10~99門或含元件數(shù)100~999個);大規(guī)模集成電路LSI(邏輯門數(shù)為100~9999門或含元件數(shù)1000~99999個);超大規(guī)模集成電路VLSI(106~107個元件或10000個以上邏輯門);巨大規(guī)模集成電路ULSI(107~109個元件;GSI集成109以上個元件)。
中央處理器的發(fā)展
- 1971年,Intel 4004 CPU
- 1978年,Intel 8086 CPU
中國計算機的發(fā)展
- 1958年,中科院計算所研制成功的小型電子管通用計算機----103機,標志著我國第一臺電子計算機的誕生。
- 1965年,中科院計算所研制成功第一臺大型晶體管計算機109乙,之后推出109丙機,該機在兩彈試驗中發(fā)揮了重要作用。
- 1974年,清華大學(xué)等單位聯(lián)合設(shè)計、研制成功采用集成電路的DJS-130小型計算機,運算速度達每秒100萬次。
- 1983年,國防科技大學(xué)研制成功運算速度上億次每秒的銀河-Ⅰ巨型機,這是我國高速計算機研制的一個重要里程碑
- 1985年,電子工業(yè)部計算機管理局研制成功與IBM PC兼容的長城0520 CH微型計算機。
- 1992年,國防科大研究出銀河-Ⅱ通用并行巨型機,浮點運算峰值速度達4億次每秒,為共享主存儲器的四處理機向量機,其向量中央處理機的中小規(guī)模集成電路是我國自行設(shè)計的,總體上達到20世紀80年代中后期的國際先進水平。
- 1993年,國家智能計算機研究開發(fā)中心研制成功曙光一號,是國內(nèi)首次以基于超大規(guī)模集成電路的通用微處理器芯片和標準UNIX操作系統(tǒng)開發(fā)的并行計算機。
- 1995年,曙光推出曙光1000(含36個處理機),是國內(nèi)第一臺具有大規(guī)模并行處理機(MPP)結(jié)構(gòu)的超級計算機,浮點運算的峰值速度為25億次每秒。曙光1000與美國Intel公司1990年推出的大規(guī)模并行機體系結(jié)構(gòu)與實現(xiàn)技術(shù)相近,與國外的差距縮小到5年左右。
- 1997年,國防科大研制成功銀河-Ⅲ百億次并行巨型計算機系統(tǒng),采用可擴展分布共享存儲并行處理體系結(jié)構(gòu),由130多個處理結(jié)點組成,浮點運算峰值性能為130億次每秒,系統(tǒng)綜合技術(shù)達到20世紀90年代中期國際先進水平。
- 2001年,中科院計算所研制出我國第一款通用CPU(龍芯)芯片。 2002年,在具有我國自主知識產(chǎn)權(quán)的龍騰服務(wù)器上采用了“龍芯-1”CPU。該服務(wù)器是國內(nèi)第一臺完全實現(xiàn)自有產(chǎn)權(quán)的產(chǎn)品,在國防、安全等部門發(fā)揮了重大作用。
- 我國在超級計算機的技術(shù)上發(fā)展迅猛,國防科技大學(xué)計算機研究所研制的“銀河”系列機,中科院計算技術(shù)研究所研制的“曙光”系列機,以及國家并行計算機工程技術(shù)中心研制的“神威”系列機,都先后登上全球超級計算排行榜的前列。2016年6月20日,“神威·太湖之光” 超級計算機系統(tǒng)在法蘭克福世界超算大會上,登頂國際TOP500榜首,至2017年11月13日仍據(jù)榜首。
計算機的發(fā)展 —趨勢
- 未來計算機性能向著微型化、網(wǎng)絡(luò)化、智能化和巨型化的方向發(fā)展。
- 計算機結(jié)構(gòu)和元件:電子電路的局限性將會使電子計算機的發(fā)展受到限制,人們已經(jīng)開始研制不使用集成電路的計算機,例如生物計算機、光子計算機、量子計算機等,并取得了一定的進展。
計算機的分類
計算機的分類方法較多,根據(jù)處理的對象、用途和規(guī)模不同可有不同的分類方法。
1.按處理的對象劃分
(1)模擬計算機
用一種連續(xù)變化的模擬量作為運算對象的計算機。
特點:運算過程是連續(xù)的,計算精度較低,電路結(jié)構(gòu)復(fù)雜,抗干擾能力極差,應(yīng)用范圍較窄。
(2)數(shù)字計算機
參與運算的數(shù)值用非連續(xù)的數(shù)字量表示,運算過程按數(shù)字位進行,具有邏輯判斷等功能。相比模擬計算機,計算精度高,運算速度快,抗干擾能力強。
2.根據(jù)計算機的用途劃分
(1)通用計算機
用于解決一般問題,其適應(yīng)性強,應(yīng)用面廣,可用于科學(xué)計算、數(shù)據(jù)處理和過程控制等領(lǐng)域,但其運行效率、速度和經(jīng)濟性依據(jù)不同的應(yīng)用對象會受到不同程度的影響。
(2)專用計算機
用于解決某一特定方面的問題,配有專門開發(fā)的軟件和硬件,應(yīng)用于軍事、自動化控制或儀器儀表等領(lǐng)域。專用計算機針對某類問題能顯示出最有效、最快速和最經(jīng)濟的特性,但它的適應(yīng)性較差。
3.根據(jù)計算機的規(guī)模劃分
衡量計算機的規(guī)模的主要技術(shù)指標:字長、運算速度、存儲容量、外部設(shè)備、輸入和輸出能力、配置軟件豐富與否、價格高低等。
根據(jù)計算機的規(guī)模可分為巨型計算機、小巨型計算機、大型主機、小型計算機、微型計算機、圖形工作站等。
(1)巨型計算機:又稱超級計算機,一般用于國防尖端技術(shù)和科學(xué)計算等領(lǐng)域。速度最快,容量最大,體積最大,造價也最高。
(2)大型主機:包括通常所說的大、中型計算機。具有較高的運算速度和較大的存儲容量,一般用于科學(xué)計算、數(shù)據(jù)處理或用作網(wǎng)絡(luò)服務(wù)器。隨著微機與網(wǎng)絡(luò)的迅速發(fā)展,很多應(yīng)用中正在被高檔微型計算機所取代。
(3)小型計算機:指采用8-32顆處理器,性能和價格介于PC服務(wù)器和大型主機之間的一種高性能 64 位計算機。例如DEC公司的PDP-11系列、VAX-11系列等。一般用于工業(yè)自動控制、醫(yī)療設(shè)備中的數(shù)據(jù)采集等方面。
(4)微型計算機:是目前發(fā)展最快、應(yīng)用最廣泛的一種計算機。PC(Personal Computer個人計算機)是現(xiàn)在比較流行的微型計算機。其中央處理器采用微處理芯片,體積小輕便。
(5)圖形工作站:是以個人計算環(huán)境和分布式網(wǎng)絡(luò)環(huán)境為前提的高性能計算機,其規(guī)模介于微型機和小型機之間。通常配有高分辨率的大屏幕顯示器及容量很大的內(nèi)存和外部存儲器,具有較強的信息處理功能和高性能的圖形、圖像處理功能以及聯(lián)網(wǎng)功能。主要應(yīng)用在專業(yè)的圖形處理和影視創(chuàng)作等領(lǐng)域,
1.2計算機系統(tǒng)的硬件
概述
- 計算機的硬件是指組成計算機的所有電子器件和機電裝置的總稱,是構(gòu)成計算機的物質(zhì)基礎(chǔ)。
- 現(xiàn)代計算機的硬件:運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大功能部件組成。
- 本節(jié)主要介紹計算機硬件組成結(jié)構(gòu),及其各功能部件協(xié)調(diào)工作的簡單工作原理。
馮?諾依曼結(jié)構(gòu)
馮?諾依曼計算機的主要特點
(1)計算機硬件系統(tǒng)由5個基本部分組成:運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備。
(2)數(shù)據(jù)和指令都采用0或1組成的二進制編碼。
(3)采用存儲程序的方式,事先將程序(包括指令和數(shù)據(jù))存入存儲器中,計算機在運行程序時自動地、連續(xù)地從存儲器中依次取出指令并加以執(zhí)行,直到程序執(zhí)行完畢,不需要人工干預(yù)。
其核心思想:程序存儲并按地址順序執(zhí)行。
早期的馮?諾依曼計算機---- 以運算器為中心
輸入輸出設(shè)備與存儲器之間的數(shù)據(jù)傳輸都需通過運算器。結(jié)構(gòu)復(fù)雜、控制復(fù)雜。
現(xiàn)代計算機---- 以存儲器為核心,總線結(jié)構(gòu)
典型的單CPU、單總線結(jié)構(gòu)圖:
運算器和控制器合稱為中央處理單元(CPU,Central Processing Unit)。
系統(tǒng)連線減少,結(jié)構(gòu)變得清晰,大大簡化了硬件的設(shè)計。
知識拓展
- 馮·諾依曼結(jié)構(gòu):程序指令和數(shù)據(jù)存儲在同一個存儲器的不同物理位置,取數(shù)據(jù)和取指令通過同一套數(shù)據(jù)總線。信息流的傳輸成為限制計算機性能的瓶頸,影響了數(shù)據(jù)處理速度的提高。
- 哈弗結(jié)構(gòu):程序指令和數(shù)據(jù)分別放在不同的存儲器中,通過不同的總線取指令和存取數(shù)據(jù),這就允許取指令和取操作數(shù)同時進行,大大地提高了系統(tǒng)的工作速度。如DSP和ARM等微處理器,采用了哈佛結(jié)構(gòu),方便實現(xiàn)數(shù)據(jù)處理和現(xiàn)場實時控制。
組成部件
計算機硬件系統(tǒng)由5個基本部件組成:運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備。構(gòu)成計算機的五大部件有相對獨立的功能,在控制器的控制下協(xié)調(diào)統(tǒng)一地完成各自不同的工作。
存儲器----組成結(jié)構(gòu)
- 功能:用來存放計算機要執(zhí)行的程序或者程序所處理的數(shù)據(jù)。
- 組成結(jié)構(gòu)
存儲體
地址譯碼電路
讀寫控制電路
輸入輸出線路
存儲器----幾個基本概念
-
存儲單元:對應(yīng)一個地址編號、存放一定位數(shù)二進制代碼的電路集合。
-
存儲字長:一個存儲單元存放的二進制信息也稱為一個存儲字,其位數(shù)稱為存儲字長。
-
單元地址:存儲單元的地址編號。
-
單元內(nèi)容:存儲單元中存放的二進制信息。
-
存儲容量:存儲器能夠存放的二進制信息的總量稱為其存儲容量。
兩種表示形式:
-
存儲器芯片:用字數(shù)×字長表示,如1K×4位,它表示一個芯片有1K個單元,每個單元可以存放4位二進制代碼;
-
系統(tǒng)的存儲器:通常用字節(jié)數(shù)表示,如4GB、1TB。
存儲容量的數(shù)量單位
- 位/比特(bit):存儲器容量的最小表示單位,二進制編碼序列中的一個0或1就是一個比特位。
- 字節(jié)(B、Byte):也是計算機中最常用、最基本單位。一個字節(jié)等于8個比特,即1 Byte=8bit。
- 其他數(shù)量單位
KB(Kilo Byte)、MB(Mega Byte)、GB(Giga Byte)、TB(Tera Byte)、PB(Peta Byte)、EB(Exa Byte)、ZB(Zetta Byte)和YB(Yatta Byte)等。
數(shù)量關(guān)系:1KB= 1024B,1 MB=1024KB,1GB= 1024MB,…,它們之間存在1024倍的數(shù)量級關(guān)系。
事實上,1K=2(10)? 10(3),1M=2(20)? 10(6),1G=2(30)? 10(9)等等 。
存儲器----內(nèi)存與外存
- 內(nèi)存:CPU能夠直接訪問的存儲器。內(nèi)存的存取速度較高,一般由半導(dǎo)體器件構(gòu)成。其位成本較高,容量有限。
- 外存:屬于外部設(shè)備,它不能被CPU直接訪問,其內(nèi)容需要導(dǎo)入到內(nèi)存才能被CPU訪問。
- 通常外存用來存放永久保存的、大量的程序或數(shù)據(jù);內(nèi)存存放一些臨時的或少量的數(shù)據(jù)和程序。
注意:
目前內(nèi)存是由半導(dǎo)體存儲器構(gòu)成,但不能說半導(dǎo)體存儲器就是內(nèi)存。
- 為了解決速度、容量、成本之間的矛盾,計算機系統(tǒng)中通常采用主存、輔存和高速緩存的三級結(jié)構(gòu)。三者之間協(xié)調(diào)工作的原理,詳見第4章介紹。
運算器
- 基本功能:計算機系統(tǒng)中進行數(shù)據(jù)加工和處理的部件,完成各種算術(shù)和邏輯運算。
- 基本組成:核心部件是算術(shù)邏輯運算單元ALU(Arithmetic Logic Unit),另外還包含累加器和若干個寄存器。基本組成結(jié)構(gòu)如下圖所示。
控制器
控制器是整個計算機的指揮中心,它發(fā)布各種操作命令控制計算機的各功能部件有條不紊地進行工作。
(1)控制器的功能
(2)程序和指令
程序是為計算機解決某一問題或完成某一任務(wù),由一組特定編程語句構(gòu)成的有序集合。
編程語言分高級語言、匯編語言和機器語言三種。
指令是計算機硬件能夠直接執(zhí)行,完成一些基本操作的編程語句,它屬于機器語言。
指令編碼中包含兩部分信息:操作碼表明指令進行何種操作,地址碼部分表明指令操作的數(shù)據(jù)位置。指令的一般格式如下:
例如:假設(shè)某計算機只有8條指令,其操作碼可用3位二進制編碼來定義,如表1-1所示。
101 1000表示從1000單元取數(shù)送入累加器;
001 1000表示從1000單元取數(shù)和累加器相加,結(jié)果存入累加器。
不同的計算機的指令的格式及編碼規(guī)則會有區(qū)別,詳細內(nèi)容參考第5章指令系統(tǒng)。
各部件協(xié)調(diào)工作過程
輸入輸出設(shè)備及適配器
- 輸入設(shè)備:把人們熟悉的某種形式的信息轉(zhuǎn)換為計算機內(nèi)部能夠識別的二進制信息形式。理想的計算機輸入設(shè)備應(yīng)該“會看”、“會聽”,即能夠把人們用文字或語言所表達的問題,直接送入計算機內(nèi)部處理。目前常用的輸入設(shè)備有鍵盤、鼠標、掃描儀、光筆、攝像頭、語音輸入裝置等。
- 輸出設(shè)備:將計算機處理的結(jié)果轉(zhuǎn)變?yōu)槿嘶蚱渌O(shè)備能接收或識別的信息形式。理想的輸出設(shè)備應(yīng)該“會寫”、“能講”。目前常用的顯示器、打印機、繪圖儀。 輸入輸出設(shè)備統(tǒng)稱外圍設(shè)備,簡稱外設(shè)。
- 適配器:保證外圍設(shè)備與主機之間可靠地進行信息的交流。不同類型的外設(shè)有不同的適配器,如顯卡是顯示器的適配器。
總線
- 總線是連接計算機系統(tǒng)各部件并進行數(shù)據(jù)傳送的公共通道,是構(gòu)成計算機系統(tǒng)的骨架。
- 傳統(tǒng)總線,按其傳送的信號的作用不同分為地址總線 (AB,Address Bus)、數(shù)據(jù)總線 (DB,Data Bus)、控制總線 (CB,Control Bus) 三種。
計算機系統(tǒng)中有多種總線,關(guān)于總線相關(guān)概念和技術(shù)的內(nèi)容在第8章詳細介紹。
幾個常用術(shù)語
- 主機:計算機的硬件系統(tǒng)中,CPU和內(nèi)存合稱為主機。
- 微處理器:運算器和控制器集成在一個芯片上,即人們?nèi)粘?吹降腃PU芯片,也稱為微處理器。
- 單片機:CPU芯片中包含一定量的內(nèi)存,還有大量的接口電路。
數(shù)據(jù)流和指令流
- 計算機中存儲或流動的信息既有指令又有數(shù)據(jù),從形式上看,它們都是二進制數(shù)碼,控制器是如何區(qū)分哪些表示的是指令哪些是數(shù)據(jù)呢?
- 在取指令階段,從內(nèi)存中讀出的信息流是指令流,它流向控制器;
- 在執(zhí)行指令階段,從內(nèi)存中讀出或?qū)懭雰?nèi)存的信息流是數(shù)據(jù)流,它由內(nèi)存流向運算器,或者由運算器流向內(nèi)存。
1.3 計算機系統(tǒng)的軟件
概述
軟件泛指在計算機硬件上運行的各類程序、數(shù)據(jù)文件及相關(guān)的文檔資料。
程序是計算機可以執(zhí)行的,而文檔不能執(zhí)行。程序是計算機軟件的主體,所以一般說到軟件主要是指程序。
軟件系統(tǒng)指一臺計算機中全部程序的統(tǒng)稱。
軟件的作用是擴大計算機系統(tǒng)的功能,提高計算機系統(tǒng)的效率,為計算機運行服務(wù)提供技術(shù)支持。
按照軟件的功能不同,人們把計算機的軟件劃分為系統(tǒng)軟件、應(yīng)用軟件兩大類。
系統(tǒng)軟件是為整個計算機系統(tǒng)配置的、不依賴于特定應(yīng)用領(lǐng)域的一些通用軟件,用來管理計算機的硬件系統(tǒng)或軟件資源。只有在系統(tǒng)軟件的管理下,計算機的各硬件部分才能協(xié)調(diào)一致地工作。系統(tǒng)軟件還為應(yīng)用軟件提供運行環(huán)境,離開系統(tǒng)軟件,應(yīng)用軟件同樣也不能運行。
系統(tǒng)軟件也有很多種,主要包括操作系統(tǒng)、語言處理程序和數(shù)據(jù)庫管理系統(tǒng)三大類。
應(yīng)用軟件是為解決某個特定應(yīng)用領(lǐng)域的實際問題而編制的程序。
應(yīng)用軟件從其服務(wù)對象的角度,又可分為專用應(yīng)用軟件和通用應(yīng)用軟件兩類。
系統(tǒng)軟件
1.操作系統(tǒng)
操作系統(tǒng)(Operating System,OS)是直接運行在“裸機”上的最基本的必備的系統(tǒng)軟件。
計算機系統(tǒng)各種資源(包括硬件資源和軟件資源)的管理者、控制者、調(diào)度者和監(jiān)督者,合理地組織計算機的工作流程,協(xié)調(diào)計算機各部件之間、系統(tǒng)和用戶之間的關(guān)系。其目標是提高各類資源的利用率,方便用戶使用計算機系統(tǒng),為其他軟件的開發(fā)提供必要的基礎(chǔ)和軟件接口。
2.語言處理程序
計算機程序設(shè)計的語言可分為三大類:機器語言、匯編語言和高級語言。
機器語言是計算機的硬件可以直接識別并執(zhí)行的二進制編碼語言,但難以記憶和使用。
將匯編語言源程序翻譯成機器語言目標程序的稱作匯編程序。
編譯程序則是將高級語言程序翻譯成機器語言目標程序的軟件。
無論是匯編程序還是編譯程序,它們都是用于處理軟件語言的程序,統(tǒng)稱為語言處理程序。
3.數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫應(yīng)用系統(tǒng)主要由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)以及相應(yīng)的應(yīng)用程序組成。
數(shù)據(jù)管理系統(tǒng),簡稱DBMS(Database Managment System),是為數(shù)據(jù)庫的建立、使用和維護而配置的軟件。它建立在操作系統(tǒng)的基礎(chǔ)之上,對數(shù)據(jù)庫進行統(tǒng)一的管理和控制。利用它可以方便地建立、刪除、維護數(shù)據(jù)庫,對庫中數(shù)據(jù)進行各種操作。它是數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)人員與數(shù)據(jù)庫之間聯(lián)系的橋梁。它是一個平臺,是一種系統(tǒng)軟件。
常用的數(shù)據(jù)庫管理軟件有Oracle、Sybase、MySQL、Informix
應(yīng)用軟件
應(yīng)用軟件是為解決某個特定應(yīng)用領(lǐng)域的實際問題而編制的程序。
如:解決科學(xué)與工程計算問題的科學(xué)計算軟件,實現(xiàn)生產(chǎn)過程自動化的控制軟件,用于企業(yè)財務(wù)、人事管理的管理軟件,具有人工智能的專家系統(tǒng)等等。
應(yīng)用軟件從其服務(wù)對象的角度,又可分為專用應(yīng)用軟件和通用應(yīng)用軟件兩類。
1.專用的應(yīng)用軟件
專用的應(yīng)用軟件是按照用戶的特定需求,用于解決特定問題而開發(fā)的軟件。其應(yīng)用面較窄,往往只限于特定的部門及其下屬單位使用。這種軟件的運行效率較高,開發(fā)成本較高。如前面提到的某企業(yè)的人事管理軟件,或某特定的生產(chǎn)過程的控制軟件等。
2.通用的應(yīng)用軟件
通用的應(yīng)用軟件是指計算機的應(yīng)用過程中,迅速推廣使用并不斷更新的一些通用工具軟件。如現(xiàn)在計算機中普遍都安裝的文字處理軟件Word、電子表格處理軟件Excel等許多辦公工具軟件。
1.4 計算機系統(tǒng)的多層次結(jié)構(gòu)
計算機系統(tǒng)以硬件為基礎(chǔ),通過配置軟件擴充功能,形成了一個十分復(fù)雜的有機系統(tǒng)。
采用層次結(jié)構(gòu)的觀點和方法去描述計算機系統(tǒng)的組成與功能,有利于正確理解計算機系統(tǒng)的工作過程,明確軟件、硬件在計算機系統(tǒng)中的地位和作用,控制計算機系統(tǒng)的復(fù)雜性。
計算機系統(tǒng)分層的方法有很多種,常用的層次結(jié)構(gòu)模型:從系統(tǒng)內(nèi)部的有機組成和程序設(shè)計語言功能的角度劃分的。
從計算機系統(tǒng)組成角度劃分層次結(jié)構(gòu)
自上而下看反映了應(yīng)用計算機求解問題的過程
從下向上看,直觀展示了構(gòu)成一個計算機系統(tǒng)時的的逐級生成過程。
從語言功能角度劃分層次結(jié)構(gòu)
如果將計算機功能抽象為“能執(zhí)行某種程序設(shè)計語言編寫的程序”的機器,可以按語言功能劃分計算機層次結(jié)構(gòu)。
實際機器:只能執(zhí)行機器語言的物理實體,是計算機系統(tǒng)的硬件。
虛擬機(Virtual Machine):一種特殊的軟件,它在計算機平臺和終端用戶之間創(chuàng)建一種環(huán)境,終端用戶可以基于這個軟件所創(chuàng)建的環(huán)境來操作自己的軟件。使用某種語言編程的程序員,看到的就是可以執(zhí)行這種語言的機器,即具有這種語言功能的虛擬機。
多層次結(jié)構(gòu)小結(jié):
計算機系統(tǒng)雖然復(fù)雜,但具有明顯的層次性。
采用分層的觀點來分析或設(shè)計計算機時,可以根據(jù)需要,忽略一些無關(guān)的細節(jié),針對相應(yīng)層次去觀察、分析計算機的組成、性能和工作機理,或進行系統(tǒng)各層面的設(shè)計,使得復(fù)雜的問題變得更容易解決。
比如,有人專門致力于微處理器的研制工作,有人致力于操作系統(tǒng)的開發(fā),也有人專門進行編譯程序的開發(fā)等等。
本書重點討論的是第1、第2層中計算機硬件組成的基本原理和實現(xiàn)方法。
硬件和軟件的邏輯等價性:
計算機系統(tǒng)以硬件為基礎(chǔ),通過配置軟件擴充其功能。在計算機系統(tǒng)設(shè)計時,硬件只完成最基本的功能,復(fù)雜的功能通過軟件實現(xiàn)。
早期的計算機,硬件和軟件之間的界限十分清楚。隨著計算機技術(shù)的發(fā)展,軟件、硬件之間的界限變得越來越模糊。許多功能既可以由硬件實現(xiàn),也可以在硬件支持下靠軟件實現(xiàn)。例如,乘法運算,可由硬件乘法器實現(xiàn),也可以由乘法子程序?qū)崿F(xiàn)。
- 隨著微電子技術(shù)的發(fā)展,集成芯片上制作復(fù)雜邏輯電路的成本越來越低,原來依靠軟件實現(xiàn)的功能轉(zhuǎn)化為大規(guī)模、超大規(guī)模的集成電路直接實現(xiàn),出現(xiàn)了軟件硬化,這樣系統(tǒng)將具有更高的處理速度和更強的功能。軟件硬化成為一種趨勢。
- 從系統(tǒng)設(shè)計者的角度來說,需要確定哪些功能由硬件實現(xiàn),哪些功能由軟件實現(xiàn)。對用戶來說,更關(guān)心的是系統(tǒng)具有哪些功能。這些功能是硬件還是軟件實現(xiàn),對用戶來說,在邏輯上是等價的。
- 存儲程序工作方式
- 程序執(zhí)行過程
- 高級語言程序與機器語言程序的轉(zhuǎn)換
- 預(yù)處理、編譯、匯編、鏈接
- 程序和指令的執(zhí)行過程
- 取指令、分析指令、執(zhí)行指令
1.5 計算機的主要性能指標
人們在選擇或設(shè)計一臺計算機時,要知道從哪些方面衡量一臺計算機的性能。衡量計算機性能的指標有很多種,而且不同用途的計算機其側(cè)重點也有所不同。
這里主要從速度、容量兩方面簡單介紹幾種常用的性能指標,包括主頻、機器字長、存儲容量、存儲器帶寬、運算速度等。
1.主頻
- CPU的工作節(jié)拍是由主時鐘信號控制的,這個時鐘信號的頻率就是CPU的主頻。
- 主頻或時鐘周期(主頻的倒數(shù))在很大程度上影響著計算機的工作速度。在一定程度上,主頻越高,CPU的工作速度越高。
2.機器字長
- 指CPU的運算器一次最多能直接處理的二進制信息的位數(shù)
- 位數(shù)越多,運算精度越高。它由CPU內(nèi)部的寄存器、加法器以及總線的位數(shù)決定,因此也直接影響著硬件的代價。
3.存儲器帶寬
單位時間內(nèi)從存儲器讀出的二進制位數(shù)的多少,稱為存儲器帶寬。它也是影響計算機工作速度的一個重要指標。
4.運算速度
計算機的運算速度與很多因素有關(guān),如機器的主頻、執(zhí)行何種操作、主存的存取速度等都有關(guān)系。衡量計算機運算速度不能單從某一方面來定,必須綜合考慮每條指令的執(zhí)行時間以及它們在全部操作中所占的比例。目前,一般用以下三個參數(shù)描述:CPI、MIPS、FLOPS
4.運算速度
(1)CPI(Cycle Per Instruction)指的是執(zhí)行一條指令的平均時鐘周期數(shù)。計算公式為:
(2)MIPS(Million Instruction Per Second) 指平均每秒執(zhí)行定點指令的百萬條數(shù)。對于一個給定的程序,算式為:
(3)FLOPS(Floating-point Operation Per Second):表示每秒執(zhí)行浮點操作的次數(shù),算式為:
4.運算速度
MPIS在一定程度上可以反應(yīng)機器的運算速度。但它過于依賴指令集,用來比較指令集不同的機器性能不準確。
FLOPS取決于機器和程序兩方面,只能用來衡量機器浮點操作的性能,不能體現(xiàn)機器的整體性能。不過,F(xiàn)LOPS是基于操作而不是基于指令,用來比較兩種不同的機器相對來說好些。當(dāng)然,浮點操作的類型不同,運算時間相差會很大,如浮點加遠遠快于浮點除
與計算機運算速度相關(guān)的參數(shù)還有3個:
- 吞吐量:一臺計算機在某一時間間隔內(nèi)能夠處理的信息量。
- 響應(yīng)時間:從輸入有效到系統(tǒng)產(chǎn)生響應(yīng)之間間隔的時間。
- CPU執(zhí)行時間:CPU執(zhí)行一段程序所占用的時間。 CPU執(zhí)行時間=程序時鐘周期數(shù)*時鐘周期
5.存儲容量
計算機的存儲系統(tǒng)包含主存和外存以及高速緩存。相對于主存,高速緩存的容量很小。外存不能被CPU直接訪問,需要執(zhí)行的程序與處理的數(shù)據(jù)要調(diào)入主存才能被CPU訪問。計算機處理能力的大小在很大程度上與主存有關(guān)。因此一般來說,計算機存儲容量指的是主存容量的大小。
存儲容量:表示存儲器中可以存放的所有二進制位的總數(shù)
關(guān)于存儲器的容量前面已經(jīng)介紹,這里不再贅述。
計算機的體系結(jié)構(gòu)、組成與實現(xiàn) 【知識拓展】
計算機體系結(jié)構(gòu)(Computer Architecture)
- 主要研究硬件和軟件功能的劃分,確定硬件和軟件的界面,即哪些功能應(yīng)劃分給硬件子系統(tǒng)完成,哪些功能應(yīng)劃分到軟件子系統(tǒng)中完成。更多說的是計算機的外特性,是硬件子系統(tǒng)的結(jié)構(gòu)概念及其功能特性。
- 對于不同的計算機系統(tǒng),從機器語言或匯編語言程序員的角度看,具有不同的屬性。但高級語言程序員看,它們幾乎沒什么區(qū)別,具有相同的屬性。因此,計算機系統(tǒng)是機器語言或者匯編語言的程序設(shè)計人員所見到的計算機系統(tǒng)的屬性。
計算機組成(Computer Organization)
- 計算機組成是依據(jù)體系結(jié)構(gòu)所確定的硬件子系統(tǒng)的概念結(jié)構(gòu)和功能特性,研究硬件子系統(tǒng)各組成部件的內(nèi)部結(jié)構(gòu)和相互聯(lián)系,實現(xiàn)機器指令級的各種功能和特性,是計算機體系結(jié)構(gòu)的邏輯實現(xiàn)。
- 例如:AMD Opteron 64與Intel Pentium 4的指令系統(tǒng)相同,即兩者的系統(tǒng)結(jié)構(gòu)相同,但內(nèi)部組成不同,流水線和Cache結(jié)構(gòu)完全不同。
計算機實現(xiàn)(Computer Implementation)
- 計算機實現(xiàn)是指計算機組成的物理實現(xiàn)。它包括處理器、主存儲器等部件的物理結(jié)構(gòu),器件的集成度和速度,器件、模塊、插件、底板的劃分與連接,專用器件的設(shè)計,電源、冷卻、裝配等技術(shù)及有關(guān)的制造技術(shù)和工藝等。
三者之間的關(guān)系
系統(tǒng)結(jié)構(gòu)的不同使得采用的組成技術(shù)產(chǎn)生差異,計算機組成也會影響系統(tǒng)結(jié)構(gòu)。計算機實現(xiàn)是計算機系統(tǒng)結(jié)構(gòu)和組成的基礎(chǔ),其技術(shù)的發(fā)展,特別是器件技術(shù)的發(fā)展,促進了組成和結(jié)構(gòu)的發(fā)展。計算機系統(tǒng)結(jié)構(gòu)、組成和實現(xiàn)之間的關(guān)系如圖1-10所示。
隨著計算機技術(shù)的迅猛發(fā)展,三者之間的關(guān)系將變得越來越模糊。
本章小結(jié)
- 計算機系統(tǒng)以硬件為基礎(chǔ),通過配置軟件擴充其功能。軟硬件在邏輯上是等價的。計算機設(shè)計時,軟件和硬件功能的分配要綜合考慮成本、速度、可靠性等多種因素。
- 采用分層的觀點來分析或設(shè)計計算機,可以根據(jù)需要,忽略一些無關(guān)的細節(jié),針對相應(yīng)層次去觀察、分析計算機的組成、性能和工作機理,或進行系統(tǒng)各層面的設(shè)計,使得復(fù)雜的問題變得更容易解決。
- 以計算機系統(tǒng)組成的角度劃分層次,有利于認識計算機系統(tǒng)的構(gòu)成過程;以語言的角度劃分層次,有助于理解各種語言的實質(zhì)和實現(xiàn)途徑。
發(fā)布評論請先 登錄
相關(guān)推薦
評論