歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

《計(jì)算機(jī)原理》PPT課件.ppt

  • 資源ID:16179111       資源大?。?span id="7bktnwm" class="font-tahoma">699.05KB        全文頁(yè)數(shù):117頁(yè)
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說(shuō)明有答案則都視為沒有答案,請(qǐng)知曉。

《計(jì)算機(jī)原理》PPT課件.ppt

計(jì)算機(jī)原理,第一部分 計(jì)算機(jī)原理,1.1 計(jì)算機(jī)概述 1.1.1 計(jì)算機(jī)的出現(xiàn) 1.1.2 馮.諾依曼原理 1.1.3 計(jì)算機(jī)的分類 1.1.4 計(jì)算機(jī)的組成 1.1.5 指令系統(tǒng)與程序 1.2 數(shù)據(jù)及編碼 1.2.1 數(shù)制與數(shù)的表示 1.2.2 軟件技術(shù)中的數(shù)制 1.2.3 二進(jìn)制數(shù)的運(yùn)算 1.2.4 計(jì)算機(jī)中數(shù)的表示 1.2.5 計(jì)算機(jī)數(shù)據(jù)編碼,1.3 計(jì)算機(jī)硬件 1.3.1 硬件系統(tǒng)概述 1.3.2 中央處理單元 1.3.3 主存儲(chǔ)器 1.3.4 高速緩沖存儲(chǔ)器 1.3.5 輔存儲(chǔ)器 1.3.6 人機(jī)交互設(shè)備 1.3.7 子系統(tǒng)的內(nèi)部連接 1.3.8 程序執(zhí)行過(guò)程,1.4 計(jì)算機(jī)軟件 1.4.1 軟件的定義 1.4.2 軟件與硬件的關(guān)系 1.4.3 軟件的種類 1.4.4 軟件的生產(chǎn) 習(xí) 題 1,1.1 計(jì)算機(jī)概述,計(jì)算機(jī)的出現(xiàn),世界上第一臺(tái)純電子的計(jì)算機(jī)或許是Atanasoff-Berry機(jī)器,由約翰安塔納索夫(John Atanasoff)和他的助手克里夫德柏利(Clifford Berry)于1937年1941年在美國(guó)愛荷華州立大學(xué)建造。另外一臺(tái)是稱為Colossus(巨人)的機(jī)器由湯米福勞爾斯(Tommy Flowers)指導(dǎo)在英國(guó)建造,該機(jī)器在第二次世界大戰(zhàn)中用來(lái)破譯德國(guó)人的密碼。實(shí)際上在此期間,全世界共有10余臺(tái)這樣的機(jī)器,由于高度保密長(zhǎng)期不為人知。以致于人們一直把稍后(1946年2月14日)建造的(當(dāng)然也更加通用和快速)計(jì)算機(jī)埃尼阿克(ENIAC, Electronic Numerical Integrator and Calculator, 電子數(shù)字積分器和計(jì)算器)作為世界上第一臺(tái)電子計(jì)算機(jī)。它是由約翰莫奇利(John Manchly)和他的學(xué)生J.普雷斯佩爾艾克特(J. Presper Eckert)在美國(guó)賓夕法尼亞大學(xué)摩爾電子工程學(xué)校建造的。,ENIAC,馮諾依曼 原理,馮諾依曼在參與ENIAC的建造過(guò)程中,認(rèn)識(shí)到了當(dāng)時(shí)計(jì)算機(jī)結(jié)構(gòu)上的不足,對(duì)計(jì)算機(jī)的體系結(jié)構(gòu)進(jìn)行了研究,提出了今天我們稱為馮諾依曼原理的三條思想: (1)計(jì)算機(jī)的結(jié)構(gòu)應(yīng)由存儲(chǔ)器、算術(shù)邏輯單元、控制單元和輸入輸出單元構(gòu)成。存儲(chǔ)器是計(jì)算機(jī)用來(lái)存儲(chǔ)的部件;算術(shù)邏輯單元是進(jìn)行計(jì)算和邏輯操作的地方;控制單元用來(lái)對(duì)存儲(chǔ)器、算術(shù)邏輯單元、輸入輸出設(shè)備等子系統(tǒng)的操作進(jìn)行控制;輸入子系統(tǒng)負(fù)責(zé)從計(jì)算機(jī)外部接受輸入數(shù)據(jù)和計(jì)算程序,而輸出子系統(tǒng)負(fù)責(zé)將計(jì)算機(jī)的處理結(jié)果輸出到計(jì)算機(jī)的外部。,馮諾依曼(1903-1957),(2)計(jì)算機(jī)的計(jì)算程序必須存儲(chǔ)在其存儲(chǔ)器中。 (3)計(jì)算機(jī)中的指令是一條接著一條順序執(zhí)行的。也就是說(shuō),控制器一次從存儲(chǔ)器取出一條指令,接著解釋它、執(zhí)行它。然后,依順序或者程序要求(例如跳轉(zhuǎn))讀取下一條指令。 依照上述原理建造的計(jì)算機(jī)稱為馮氏體系結(jié)構(gòu)的計(jì)算機(jī)。從此以后,絕大部分計(jì)算機(jī),包括我們今天使用的計(jì)算機(jī),都是基于馮諾依曼原理的。,計(jì)算機(jī)的分類,計(jì)算機(jī)的組成,我們考查使用算盤計(jì)算一個(gè)四則運(yùn)算的過(guò)程。設(shè)有下面的算式: 1621561612312015 我們需要有算盤作為運(yùn)算的工具;其次要有筆和紙,用來(lái)記錄算式、中間結(jié)果和最后的計(jì)算結(jié)果;運(yùn)算過(guò)程需要有一個(gè)會(huì)打算盤的人來(lái)控制:人首先把要計(jì)算的問(wèn)題和數(shù)據(jù)記錄下來(lái),然后第一步先算出162156,把計(jì)算的中間結(jié)果記在紙上,再計(jì)算16123,把它和上一次的結(jié)果相加,再記錄在紙上,然后計(jì)算12015,再把它從上一次的結(jié)果中減去,就得到了最后的結(jié)果。,如果用一臺(tái)計(jì)算機(jī)完成上面的工作,顯然該計(jì)算機(jī)也需要有相當(dāng)于算盤用來(lái)進(jìn)行計(jì)算的部件,我們稱之為運(yùn)算器;其次,該機(jī)器還要有起到紙和筆相同作用,能夠記住算式、中間結(jié)果以及最終結(jié)果的部件,我們稱之為存儲(chǔ)器;再次,要有起到和打算盤的人相似作用的部件,它控制整個(gè)計(jì)算過(guò)程,我們稱之為控制器。除了上面三個(gè)部分,該機(jī)器還要有可以輸入算式或計(jì)算過(guò)程的裝置,我們稱之為輸入設(shè)備;還要有將最終計(jì)算結(jié)果告訴我們的裝置,我們稱之為輸出設(shè)備。,這里的運(yùn)算器,實(shí)際上進(jìn)行的是算術(shù)和邏輯運(yùn)算,因此也可以稱為算術(shù)邏輯單元。于是,我們得到了與馮諾依曼原理第一條相同的計(jì)算機(jī)組成模型。如圖1-2所示。,至于馮諾依曼原理的第二條,在今天看起來(lái)似乎是顯而易見的。但早期的計(jì)算機(jī)只是將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中,而程序需要在計(jì)算機(jī)的外部通過(guò)開關(guān)板的設(shè)置和連線的改變來(lái)編排。這種方式操作十分不便,效率極低,容易引起錯(cuò)誤。因此限制了計(jì)算機(jī)的使用。這是馮諾依曼要將存儲(chǔ)程序作為一條重要的原理提出的原因。 馮諾依曼原理的第三條說(shuō):計(jì)算機(jī)必須一步一步依次執(zhí)行程序的每一步,這一般來(lái)說(shuō)是最自然、最容易實(shí)現(xiàn)的。但今天已經(jīng)有不遵從此原理的計(jì)算機(jī),這已經(jīng)超出了本課程的范圍。,可以看出,計(jì)算機(jī)除了必須包括運(yùn)算器(算術(shù)邏輯單元)、控制器、存儲(chǔ)器以及輸入輸出設(shè)備等物理器件外,還需要有保存在存儲(chǔ)器中的數(shù)據(jù)和程序才能工作。我們把組成計(jì)算機(jī)的物理器件,稱為計(jì)算機(jī)的硬件。而計(jì)算機(jī)的數(shù)據(jù)和程序,稱為計(jì)算機(jī)的軟件。,指令系統(tǒng)與程序,計(jì)算機(jī)通常有以下五類指令: 數(shù)據(jù)傳送指令:用來(lái)將數(shù)據(jù)從計(jì)算機(jī)的一個(gè)存儲(chǔ)單元傳 送到另一個(gè)存儲(chǔ)單元; 算術(shù)運(yùn)算指令:用來(lái)進(jìn)行加、減、乘、除等算術(shù)運(yùn)算; 邏輯運(yùn)算指令:用來(lái)進(jìn)行與、或、非等邏輯運(yùn)算。關(guān)于這些運(yùn)算的定義見下一節(jié); I/O指令:完成計(jì)算機(jī)的數(shù)據(jù)輸入和輸出操作; 控制指令:用來(lái)控制程序的執(zhí)行流程。,指令通常分成操作碼和操作數(shù)兩大部分。操作碼表示計(jì)算機(jī)執(zhí)行什么操作;操作數(shù)是參加操作的數(shù)本身或者它在存儲(chǔ)器中的位置。存儲(chǔ)器中的位置用術(shù)語(yǔ)說(shuō)就是地址(Address)。 使用計(jì)算機(jī)解決問(wèn)題時(shí),必須把問(wèn)題的解法編成一條條指令,然后讓計(jì)算機(jī)依次執(zhí)行。為了能讓計(jì)算機(jī)正確識(shí)別,這些指令必須是所用計(jì)算機(jī)的指令系統(tǒng)中具有的指令。這些解決問(wèn)題的一系列指令合在一起,稱為程序。,為了能讓計(jì)算機(jī)自動(dòng)執(zhí)行程序,就必須把它預(yù)先存放在存儲(chǔ)器的某個(gè)區(qū)域。程序通常是順序執(zhí)行的,所以程序中的指令也是一條一條順序存放的。計(jì)算機(jī)在執(zhí)行時(shí),要把這些指令一條條取出來(lái)加以執(zhí)行。因此需要有一個(gè)器件能夠跟蹤指令在內(nèi)存中的地址,這種器件叫程序計(jì)數(shù)器PC(Program Counter)。在程序開始執(zhí)行時(shí),給PC賦以程序中第一條指令所在的地址,然后每取出一條指令PC中的內(nèi)容自動(dòng)更新以指向下一條指令的地址,如此才可保證指令的順序執(zhí)行。,1.2 計(jì)算機(jī)中的數(shù)與數(shù)據(jù)編碼,數(shù)制與數(shù)的表示,從小學(xué)起我們就知道,如果要表示我們雙手的手指?jìng)€(gè)數(shù),用數(shù)字10即可。這里10由1和0兩個(gè)阿拉伯?dāng)?shù)字符號(hào)構(gòu)成。由于1處在從右邊開始的第二位,1代表了拾。我們對(duì)這種表示方法已經(jīng)習(xí)以為常了,以至于忽略了一個(gè)明顯的事實(shí):盡管數(shù)的多少是客觀的,但我們表示數(shù)的形式、方法實(shí)際上是主觀的。例如,如果我們規(guī)定處在第二位的1代表8,那么,就要用12表示我們的手指?jìng)€(gè)數(shù)。這里,主觀規(guī)定的表示數(shù)的方法,或者說(shuō)體制,就是數(shù)制。一個(gè)數(shù)制的核心,主要是對(duì)該數(shù)制下數(shù)的每一位所代表的多少進(jìn)行規(guī)定。,我們現(xiàn)在常用的數(shù)制是拾(十)進(jìn)制,從拾(十)進(jìn)制的規(guī)則,我們可以推論出數(shù)制的一般規(guī)律。例如:十進(jìn)制數(shù)245.24,代表二百四十五點(diǎn)二四,可以表示為: 245.24 21004105120.1040.01 210241015100210-1410-2 這就是說(shuō),處在小數(shù)點(diǎn)左邊第三位的2代表2102;小數(shù)點(diǎn)左邊第一位的5代表5100;小數(shù)點(diǎn)右邊第二位的4代表410-2 這里,102、100和10-2稱為十進(jìn)制位的權(quán)。一個(gè)數(shù)的值,就是該數(shù)每一位的數(shù)碼與其權(quán)的乘積的和。,我們不妨將小數(shù)點(diǎn)左邊第一位定義為第0位,右邊第一位定義為-1位,然后依次類推。則十進(jìn)制數(shù)第n位的權(quán)為10n。這里n是整數(shù)(可正可負(fù)),如下表:,將上面關(guān)于十進(jìn)制的規(guī)律一般化,我們可以得出,一個(gè)q進(jìn)制數(shù),其第n位的權(quán)為qn。而表示這種進(jìn)制的數(shù)需要q個(gè)符號(hào),代表從0到q-1的數(shù)字。舉例來(lái)說(shuō),5進(jìn)制數(shù)第n位的權(quán)為5n,表示5進(jìn)制數(shù)需要0、1、2、3、4五個(gè)數(shù)字符號(hào);2進(jìn)制數(shù)第n位的權(quán)為2n,表示2進(jìn)制數(shù)需要0、1兩個(gè)數(shù)字符號(hào)。,根據(jù)上面的推論,假設(shè)一個(gè)有m+1位整數(shù)、n位小數(shù)的q進(jìn)制數(shù),其m整數(shù)位的數(shù)字是km,m-1整數(shù)位的數(shù)字是km-1,依此類推,第0整數(shù)位的數(shù)字為k0,小數(shù)點(diǎn)后第一位數(shù)字是k -1,小數(shù)點(diǎn)后第二位的數(shù)字是k -2,依此類推,小數(shù)點(diǎn)后第n位的數(shù)字是k-n,則一般化后得該q進(jìn)制數(shù)的十進(jìn)制值V為: Vkmqmkm-1qm-1k0q0 k -1q-1 k -2q-2k n q-n,可以得出,表示一個(gè)客觀的數(shù),使用任何一種數(shù)制(主觀方法)都是可行的。不同的數(shù)制,其表示數(shù)的大小、精度是沒有分別的。不同的只是,表示相同大小和精度的數(shù),所需要的位數(shù)不同。 另外,我們也不難想象,二進(jìn)制數(shù)是最低的進(jìn)制,它只需要代表0和1的兩個(gè)符號(hào)表示。從這個(gè)角度看,沒有比二進(jìn)制更簡(jiǎn)單的數(shù)制了。,軟件技術(shù)中的數(shù)制,電子計(jì)算機(jī)表示數(shù)的方法只能是通過(guò)其內(nèi)部的電子器件(就像算盤的珠子)的不同狀態(tài)組合來(lái)實(shí)現(xiàn)。由于二進(jìn)制數(shù)只需要兩個(gè)符號(hào)就可以表示,這顯然最便于用電子器件實(shí)現(xiàn)。例如,一個(gè)電磁繼電器就有開和關(guān)兩種狀態(tài),這正好可以表示二進(jìn)制數(shù)的0和1。因此,計(jì)算機(jī)中的數(shù),全部采用二進(jìn)制。,由于我們?nèi)祟愐呀?jīng)習(xí)慣了采用十進(jìn)制數(shù)進(jìn)行記數(shù)和思考,計(jì)算機(jī)的二進(jìn)制數(shù)在需要與人交流時(shí)要進(jìn)行轉(zhuǎn)換。一種情況是將人所習(xí)慣的十進(jìn)制數(shù)輸入到計(jì)算機(jī)時(shí)要轉(zhuǎn)換為二進(jìn)制數(shù);另一種情況是,計(jì)算機(jī)計(jì)算出二進(jìn)制數(shù)結(jié)果后要轉(zhuǎn)換為人能理解的十進(jìn)制數(shù)。,二進(jìn)制數(shù)的缺點(diǎn)是表示一個(gè)相同大小和精度的數(shù),它需要的位數(shù)很多。因此轉(zhuǎn)換起來(lái)很不方便。為了便于二進(jìn)制數(shù)和十進(jìn)制數(shù)的轉(zhuǎn)換,也為了在書寫時(shí)更加簡(jiǎn)便易讀,二進(jìn)制數(shù)經(jīng)常要轉(zhuǎn)換成8進(jìn)制數(shù)和16進(jìn)制數(shù)。因此,在軟件技術(shù)中我們經(jīng)常使用的數(shù)制有2進(jìn)制、8進(jìn)制、10進(jìn)制和16進(jìn)制。,16進(jìn)制的數(shù)需要表示0到15的16個(gè)符號(hào)。使用阿拉伯?dāng)?shù)字09后,還差6 個(gè),于是我們采用英文字母A、B、C、D、E和F分別表示10到15的數(shù)字。如下表所示。這樣,一個(gè)16進(jìn)制數(shù)可能寫成23EF.AB。,在某些混合使用不同數(shù)制的場(chǎng)合,我們需要有一個(gè)標(biāo)識(shí)數(shù)的數(shù)制的方法。例如,數(shù)值100如果不加標(biāo)識(shí),我們就不能確定它究竟是2進(jìn)制數(shù)、8進(jìn)制數(shù)、10進(jìn)制數(shù),還是16進(jìn)制數(shù)。標(biāo)識(shí)數(shù)的數(shù)制的方法,在不同的場(chǎng)合有不同的具體要求,我們需要隨時(shí)了解并遵守。一般當(dāng)我們?cè)谶M(jìn)行不同數(shù)制的數(shù)的運(yùn)算或轉(zhuǎn)換時(shí),常采用圓括號(hào)加下標(biāo)的方式標(biāo)明一個(gè)數(shù)的數(shù)制。例如:(100)2表示一個(gè)二進(jìn)制數(shù);(100)8為8進(jìn)制數(shù);(100)10是10進(jìn)制數(shù);(100)16表示一個(gè)16進(jìn)制數(shù)。一般,10進(jìn)制數(shù)是缺省的數(shù)制,所以有時(shí)候省略對(duì)10進(jìn)制數(shù)的標(biāo)注。,課堂練習(xí),下列數(shù)書寫正確嗎(口答): (1) (110)2 (2) (012)2 (3) (110)8 (4) (1028)8 (5) (037)16 (6) (A12.3G5)16,將其他數(shù)制的數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),使用前面的公式可以將任何一種數(shù)制的數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。例如: (100)21220210204; (100)818208108064; (100)16116201610160256; 前面所列舉的16進(jìn)制數(shù)23EF.AB的10進(jìn)制值為: (23EF.AB)162163316214161 151601016-11116-2 9199.66796875,課堂練習(xí),將下列數(shù)轉(zhuǎn)換成十進(jìn)制數(shù): (1) (110)2 (2) (110)8 (3) (110)16 (4) (100110)2 (5) (100110)8 (6) (100110)16 (7) (7301)8 (8) (AB2.E3)16,將十進(jìn)制數(shù)轉(zhuǎn)換為其他數(shù)制的數(shù),Word文檔: 將十進(jìn)制數(shù)轉(zhuǎn)換為其他數(shù)制的數(shù),二進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)的轉(zhuǎn)換,Word文檔: 二進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)的轉(zhuǎn)換,二進(jìn)制數(shù)的運(yùn)算,計(jì)算機(jī)中數(shù)是用二進(jìn)制方式表示的,那么運(yùn)算也是以二進(jìn)制方式進(jìn)行的。這一節(jié)我們對(duì)二進(jìn)制整數(shù)的各種運(yùn)算進(jìn)行了解。由于本節(jié)的數(shù)大部份是二進(jìn)制,所以對(duì)二進(jìn)制數(shù)省略了數(shù)制標(biāo)注。,算術(shù)運(yùn)算加法,算術(shù)運(yùn)算指加、減、乘和除。二進(jìn)制數(shù)的算術(shù)運(yùn)算完全類似于十進(jìn)制。 二進(jìn)制加法的運(yùn)算規(guī)則為: 000; 01101; 110 進(jìn)位1 1111 進(jìn)位1,例: 計(jì)算二進(jìn)制數(shù)10110101與1111的和。 解:進(jìn)位: 1 1 1 1 1 1 被加數(shù): 1 0 1 1 0 1 0 1 加數(shù): 1 1 1 1 和: 1 1 0 0 0 1 0 0 即:10110101111111000100。,算術(shù)運(yùn)算減法,二進(jìn)制減法的運(yùn)算規(guī)則為: 000; 110; 101; 011 借一位。,例: 計(jì)算二進(jìn)制數(shù)算式1110111010111010的結(jié)果。 解:借位:0 1 1 0 0 0 0 借位后被減數(shù):1 0 0 0 1 1 1 被減數(shù):1 1 1 0 1 1 1 0 減數(shù): 1 0 1 1 1 0 1 0 差:0 0 1 1 0 1 0 0 即:1110111010111010110100,算術(shù)運(yùn)算乘法,二進(jìn)制乘法的運(yùn)算規(guī)則為: 000; 01100; 111。 左移運(yùn)算:將所有位左移,末尾補(bǔ)0。 如:101左移一位:1010(相當(dāng)于乘以2) 101左移兩位:10100(相當(dāng)于乘以22),算術(shù)運(yùn)算除法,除法是乘法的逆運(yùn)算。 右移運(yùn)算:將所有位右移,末尾位移出。 如:101左移一位:10(相當(dāng)于除以2取整) 101左移兩位:1(相當(dāng)于除以22取整),邏輯運(yùn)算,所謂邏輯運(yùn)算是指對(duì)邏輯真(True)和假(False)所進(jìn)行的運(yùn)算。計(jì)算機(jī)中全部采用二進(jìn)制數(shù),而二進(jìn)制數(shù)的每一位要么是1,要么是0。如果我們用1表示邏輯狀態(tài)真,0表示邏輯狀態(tài)假,則可以對(duì)二進(jìn)制數(shù)的每一位按邏輯運(yùn)算規(guī)則進(jìn)行運(yùn)算。,邏輯運(yùn)算按照需要參與的邏輯狀態(tài)個(gè)數(shù),分為一元運(yùn)算和二元運(yùn)算。一元運(yùn)算只有一種,就是非(Not)運(yùn)算。非運(yùn)算改變參與運(yùn)算的邏輯狀態(tài)。即如果狀態(tài)為真,則變?yōu)榧?;反之,如果狀態(tài)為假,則變?yōu)檎?。而二元運(yùn)算有與(And)、或(Or)和異或(Xor)三種。參與與運(yùn)算的兩個(gè)狀態(tài),只有都是真時(shí),結(jié)果才為真;參與或運(yùn)算的兩個(gè)狀態(tài),只要有一個(gè)為真,結(jié)果就為真;參與異或運(yùn)算的兩個(gè)狀態(tài),只有狀態(tài)不同時(shí)結(jié)果才為真。,各種邏輯運(yùn)算的規(guī)則可以通過(guò)其真值表描述:,例: 對(duì)二進(jìn)制數(shù)10011001作非運(yùn)算。 解:對(duì)二進(jìn)制數(shù)的邏輯運(yùn)算,是按位進(jìn)行的。即對(duì)二進(jìn)制數(shù)逐位進(jìn)行邏輯運(yùn)算。則: NOT 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 即:10011001的邏輯非為1100110。,例: 試計(jì)算二進(jìn)制數(shù)10011001和二進(jìn)制數(shù)11011011與、或、異或的結(jié)果。 解:與運(yùn)算: 1 0 0 1 1 0 0 1 AND 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 1 或運(yùn)算: 1 0 0 1 1 0 0 1 OR 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 異或運(yùn)算: 1 0 0 1 1 0 0 1 XOR 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0,課堂練習(xí),計(jì)算: (1) 1110+1001101 (2) 10111+10111 (3) 11110-10101 (4) 1011001-10110 (5) 1011001的NOT運(yùn)算結(jié)果 (6) 11110、10101的AND、OR、XOR運(yùn)算結(jié)果,計(jì)算機(jī)中數(shù)的表示,我們已經(jīng)粗略地知道,計(jì)算機(jī)中的數(shù)是用二進(jìn)制表示的。本節(jié)將介紹: 無(wú)符號(hào)的整數(shù) 帶符號(hào)整數(shù) 整數(shù)的偏移碼 浮點(diǎn)表示法,無(wú)符號(hào)整數(shù)的表示,無(wú)符號(hào)的整數(shù),就是從0到無(wú)窮大的自然數(shù)。表示這種數(shù)時(shí)不需要考慮符號(hào),只需要將它轉(zhuǎn)化成二進(jìn)制,然后存放在計(jì)算機(jī)中即可。 計(jì)算機(jī)存放二進(jìn)制數(shù)時(shí),通常是有一定的長(zhǎng)度限制的。這就是說(shuō),計(jì)算機(jī)保存的無(wú)符號(hào)數(shù)的范圍是有限的。根據(jù)數(shù)制的定義公式,一個(gè) n 位無(wú)符號(hào)二進(jìn)制數(shù)的最大值是:2n -1,帶符號(hào)整數(shù)的表示,計(jì)算機(jī)中參與計(jì)算的數(shù),顯然是有正有負(fù)的。帶符號(hào)的二進(jìn)制整數(shù)存在多種表示方法,本小節(jié)主要介紹二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼,以及他們的特點(diǎn)和應(yīng)用。,原碼,如果用二進(jìn)制數(shù)的最高位表示其符號(hào),用剩下的位表示其絕對(duì)值,這樣得到的二進(jìn)制數(shù)的表示就是原碼。原碼表示中,正數(shù)的最高位為0,負(fù)數(shù)的最高位為1。例如: 整數(shù) (+105)10,其8位二進(jìn)制原碼為:0 1101001; 整數(shù) (-105)10,其8位二進(jìn)制原碼為:1 1101001。 上面的表示中,二進(jìn)制數(shù)01101001和11101001,稱為機(jī)器數(shù),而其實(shí)際所代表的值+105和-105,稱為該機(jī)器數(shù)的真值。,原碼表示的優(yōu)點(diǎn)是簡(jiǎn)單易懂,與真值的換算方便。但用原碼計(jì)算時(shí),如果兩個(gè)異號(hào)數(shù)相加或者同號(hào)數(shù)相減,就需要用到減法。在計(jì)算機(jī)設(shè)計(jì)中,要盡量將運(yùn)算用加法和移位完成。因此,計(jì)算機(jī)中實(shí)際上沒有用原碼形式存儲(chǔ)帶符號(hào)的整數(shù)。但由于其簡(jiǎn)單與直觀,在不涉及數(shù)字運(yùn)算的應(yīng)用場(chǎng)合還是會(huì)用到。,反碼,正數(shù)的反碼與原碼相同。即最高位是符號(hào)位,用0表示正,其余位表示該數(shù)的值。例如: (+127)10的8位二進(jìn)制反碼:01111111; (+31)10的8位二進(jìn)制反碼:00011111。 負(fù)數(shù)的反碼通過(guò)將其正數(shù)的反碼按位取反(包括符號(hào)位)得到。例如: (-127)10的8位二進(jìn)制反碼:10000000; (-31)10的8位二進(jìn)制反碼:11100000。 在反碼表示中,0有兩種表示方法。姑且稱為0和0: +0的8位二進(jìn)制反碼: 00000000; -0的8位二進(jìn)制反碼: 11111111。,反碼的特點(diǎn): (1)0有兩種表示方法; (2)n位二進(jìn)制反碼所能表示的數(shù)的范圍是2 n112 n11。如8位二進(jìn)制反碼所能表示數(shù)的范圍是127127; (3)當(dāng)反碼的符號(hào)位是0(即正數(shù))時(shí),后面的位數(shù)為數(shù)值部分;當(dāng)符號(hào)位為1(即負(fù)數(shù)時(shí)),將后面的位數(shù)按位取反后才得到其數(shù)值。 由于反碼中0有兩種表示,會(huì)引起很大的混亂,另外,進(jìn)行加減法也不方便。所以計(jì)算機(jī)中沒有使用反碼存儲(chǔ)帶符號(hào)的整數(shù)。反碼的意義在于它是下面要介紹的補(bǔ)碼的基礎(chǔ)。另外,它的某些特性使其可用于諸如錯(cuò)位檢測(cè)和糾錯(cuò)的數(shù)據(jù)通信應(yīng)用程序中。,補(bǔ)碼,帶符號(hào)數(shù)的n位二進(jìn)制補(bǔ)碼按如下的步驟得到: (1)首先將數(shù)的絕對(duì)值轉(zhuǎn)換為二進(jìn)制數(shù),不管符號(hào); (2)如果得到的二進(jìn)制位數(shù)不足n位,在高位補(bǔ)0,直到總位數(shù)為n; (3)如果符號(hào)為正,就不需要作變動(dòng)。如果符號(hào)為負(fù),則從最低位開始到首次出現(xiàn)的1為止,將所有的0和首次出現(xiàn)的1保持不變,其余位取反。,例:求(+31)10和( -31)10的8位二進(jìn)制補(bǔ)碼。 解:31所對(duì)應(yīng)的二進(jìn)制數(shù)為11111。 ( +31)10的8位二進(jìn)制補(bǔ)碼只需在高位補(bǔ)3個(gè)0,即00011111。而( -31)10的補(bǔ)碼需要保持00011111最低位的1不變,其他位取反。即11100001。 例:求( +126)10和( -126)10的8位二進(jìn)制補(bǔ)碼。 解: ( 126)10所對(duì)應(yīng)的二進(jìn)制數(shù)為1111110。( +126)10的8位二進(jìn)制補(bǔ)碼只需在高位補(bǔ)1個(gè)0,即01111110。而 ( -126)10的補(bǔ)碼需要保持01111110最低位的0和第一個(gè)1不變,其他位取反。即10000010。,特別地有: +0的補(bǔ)碼:00000000; -0的補(bǔ)碼:00000000。 這樣,在補(bǔ)碼表示中,0只有一種表示法,克服了在反碼中0有兩種表示的缺點(diǎn)。,求一個(gè)補(bǔ)碼的十進(jìn)制真值的方法是: (1)如果最高位是0,則直接將此二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),并在前面加上正號(hào); (2)如果最高位是1,則將最低位連續(xù)的0和第一個(gè)出現(xiàn)的1保持不變,將其余位(包括符號(hào)位)按位取反,然后將得到的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),并在前面加負(fù)號(hào)。,例:計(jì)算8位二進(jìn)制補(bǔ)碼10000000的真值。 解:由于最高位為1,所以該數(shù)是負(fù)數(shù)。將該二進(jìn)制數(shù)最低位連續(xù)的0和第一個(gè)出現(xiàn)的1保持不變。這樣得到的二進(jìn)制數(shù)還是10000000。將此數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)為128,然后在前面加負(fù)號(hào),得到(128)10。所以,8位二進(jìn)制補(bǔ)碼10000000的真值是-128。 從該例子看出,8位二進(jìn)制補(bǔ)碼所表示的數(shù)的范圍是 -128+127。一般地,我們可以給出,一個(gè)n位二進(jìn)制補(bǔ)碼所能表示的數(shù)的范圍是-2n1+(2n11)。,以上面列舉的補(bǔ)碼表示的數(shù)為例,我們考查用補(bǔ)碼進(jìn)行加法運(yùn)算的情況。首先我們看31-127 = 31+(-127)。算式為: 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 結(jié)果10100000也是一個(gè)補(bǔ)碼表示,其符號(hào)為負(fù),絕對(duì)值是保持最低位連續(xù)的0和第一個(gè)1不變,將其余位按位取反,最后得到01100000 =(96)10。所以結(jié)果為-96,與實(shí)際相符。,總結(jié)上述內(nèi)容,補(bǔ)碼有以下特點(diǎn): (1)0只有一種表示,即所有位全為0; (2)n位二進(jìn)制補(bǔ)碼表示數(shù)的范圍為-2n1+(2n11) ; (3)通過(guò)用補(bǔ)碼表示帶符號(hào)的數(shù),可以用加法運(yùn)算實(shí)現(xiàn)減法,有助于簡(jiǎn)化計(jì)算機(jī)的設(shè)計(jì)。 由于上述特點(diǎn),現(xiàn)在計(jì)算機(jī)中帶符號(hào)的數(shù),實(shí)際上都是采用補(bǔ)碼存儲(chǔ)的。二進(jìn)制補(bǔ)碼是現(xiàn)在計(jì)算機(jī)中最重要、應(yīng)用最普遍的整數(shù)表示法。,帶符號(hào)整數(shù)表示法小結(jié),在上述各小節(jié)的介紹中,需要注意的一個(gè)共同點(diǎn)是,當(dāng)我們將一個(gè)帶符號(hào)整數(shù)轉(zhuǎn)換為某種形式的二進(jìn)制編碼時(shí),編碼的長(zhǎng)度是一個(gè)重要的參數(shù)。例如,同樣的一個(gè)整數(shù)5,編碼成4位二進(jìn)制數(shù)和8位二進(jìn)制數(shù)結(jié)果是不同的。在一般的數(shù)據(jù)表示中,整數(shù)部分最前面的0是沒有意義的,可以省略。但在作二進(jìn)制數(shù)編碼時(shí),如果轉(zhuǎn)換的二進(jìn)制數(shù)位數(shù)不夠編碼長(zhǎng)度,我們要用0來(lái)填充。下面的例子可以說(shuō)明這點(diǎn)。 例:分別寫出(5)10和(5)10的4位、6位和8位二進(jìn)制補(bǔ)碼。 解:(5)10和(5)10不同位數(shù)的補(bǔ)碼見下表:,另外一個(gè)要注意的地方是,計(jì)算機(jī)中的機(jī)器數(shù)與真值之間的對(duì)應(yīng)關(guān)系,決定于機(jī)器數(shù)的編碼方式。即同樣一個(gè)機(jī)器數(shù),它所代表的無(wú)符號(hào)數(shù)、原碼、反碼和補(bǔ)碼的真值是不同的。換句話說(shuō),用不同的編碼規(guī)則去解讀同一機(jī)器數(shù),會(huì)得到不同的結(jié)果。 下表列出了所有8位機(jī)器數(shù)按不同的編碼去解讀所得的十進(jìn)制數(shù)真值。,計(jì)算機(jī)數(shù)據(jù)編碼,上一節(jié)我們探討了計(jì)算機(jī)中數(shù)的表示形式。然而,今天的計(jì)算機(jī)并不單純用作計(jì)算。計(jì)算機(jī)實(shí)際要處理的數(shù)據(jù)還包括文字、圖片、聲音以及動(dòng)畫等。那么,這些數(shù)據(jù)形式在計(jì)算機(jī)中是如何表示的呢?答案是用二進(jìn)制編碼。所謂編碼(Code),也可以叫代碼。二進(jìn)制編碼就是用一系列的二進(jìn)制數(shù)字代表某種數(shù)據(jù)。用這種觀點(diǎn)看,上一節(jié)的內(nèi)容實(shí)際上是關(guān)于計(jì)算機(jī)中數(shù)值的二進(jìn)制編碼的。數(shù)值在計(jì)算機(jī)中的編碼由數(shù)值天然的大小決定。而文字、圖像等數(shù)據(jù)的編碼則需要人為的規(guī)定。,采用二進(jìn)制數(shù)字編碼表示數(shù)據(jù)的原因和我們?cè)谏弦还?jié)中所述道理一樣。這就是數(shù)據(jù)在計(jì)算機(jī)中最終都是要用計(jì)算機(jī)物理器件的狀態(tài)組合來(lái)表示的,而二進(jìn)制數(shù)的物理表示最為簡(jiǎn)便。表示非數(shù)值數(shù)據(jù)的二進(jìn)制數(shù),并沒有數(shù)量意義(有時(shí)或許有序號(hào)意義),所以也可以把他們看成是一系列二進(jìn)制位(bit)的排列模式,稱為位模式(bit pattern)。通常把長(zhǎng)度為8的位模式稱為1個(gè)字節(jié)。它是我們度量位模式長(zhǎng)度,有時(shí)甚至是處理數(shù)據(jù)的基本單位。 數(shù)據(jù)被編碼存入計(jì)算機(jī)并被處理后,當(dāng)需要從計(jì)算機(jī)中輸出時(shí),要重新轉(zhuǎn)換為數(shù)據(jù)本來(lái)的形式。將原始形式的數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制編碼的過(guò)程稱為編碼(encode),而將二進(jìn)制編碼轉(zhuǎn)換為原始形式的數(shù)據(jù)的過(guò)程稱為解碼(decode)。,文字的編碼 ASCII編碼,1960年代初期,美國(guó)國(guó)會(huì)圖書館(Library of Congress, LC)制訂了英文字符集和交換碼,以作為美國(guó)圖書館界書目交換的共同標(biāo)準(zhǔn)。后來(lái)這個(gè)交換碼發(fā)展成為美國(guó)的國(guó)家標(biāo)準(zhǔn)ASCII(American Standard Code for Information Interchange,美國(guó)信息交換標(biāo)準(zhǔn)代碼),而且被國(guó)際標(biāo)準(zhǔn)化組織(International Standard Organization, ISO)接受為國(guó)際標(biāo)準(zhǔn),標(biāo)準(zhǔn)號(hào)為ISO646(其全名為7-bit coded character set for information interchange,信息交換用7位編碼字符集)。該編碼使用7位表示一個(gè)符號(hào),總共可表示的符號(hào)為27128種。,漢字編碼GB2312編碼,GB2312碼是中國(guó)國(guó)家漢字信息交換碼,全稱信息交換用漢字編碼字符集基本集。由國(guó)家標(biāo)準(zhǔn)總局于1981年5月發(fā)布,通行于中國(guó)大陸和新加坡等地 。GB2312收錄簡(jiǎn)化漢字及符號(hào)、字母、日文假名等共7445個(gè)圖形字符,其中漢字占6763個(gè)。GB2312將收錄的漢字分成兩級(jí):第一級(jí)是常用漢字計(jì)3755個(gè),第二級(jí)漢字是次常用漢字計(jì)3008個(gè)。GB2312中一個(gè)圖形字符采用兩個(gè)字節(jié)表示,每個(gè)字節(jié)采用七位編碼。習(xí)慣上稱第一個(gè)字節(jié)為高字節(jié),第二個(gè)字節(jié)為低字節(jié)。高字節(jié)和低字節(jié)的編碼范圍都是從(21)16到(7E)16。漢字編碼從(3021)16開始,結(jié)束于(777E)16。當(dāng)GB2312編碼在計(jì)算機(jī)內(nèi)存儲(chǔ)時(shí),為了與ASCII碼區(qū)分,編碼的高字節(jié)和低字節(jié)的最高位要置為1,這樣得到的代碼稱為“內(nèi)碼”。這樣,與GB2312編碼對(duì)應(yīng)的內(nèi)碼是在原編碼的基礎(chǔ)上加(8080)16。該字符集是幾乎所有的中文系統(tǒng)和國(guó)際化的軟件都支持的中文字符集,這也是最基本的中文字符集。,1.3 計(jì)算機(jī)硬件,硬件系統(tǒng)概述,基于馮諾依曼原理的計(jì)算機(jī),從硬件方面看是由運(yùn)算器、控制器、存儲(chǔ)器以及輸入輸出設(shè)備組成的。運(yùn)算器是用于加工、處理數(shù)據(jù)的部件,主要完成對(duì)數(shù)據(jù)的算術(shù)和邏輯運(yùn)算??刂破魇怯?jì)算機(jī)的控制部件,它控制其他部件協(xié)調(diào)統(tǒng)一工作,并且還能完成對(duì)指令的分析和執(zhí)行。存儲(chǔ)器是計(jì)算機(jī)的記憶裝置,它的主要功能是存放程序和數(shù)據(jù)。輸入設(shè)備從計(jì)算機(jī)外部獲取數(shù)據(jù),而輸出設(shè)備將計(jì)算機(jī)處理的結(jié)果輸出到外部。上述五大部分之間是相互配合關(guān)聯(lián)的。控制器要向其他部件發(fā)送控制信號(hào),以協(xié)調(diào)它們的工作;運(yùn)算器要從輸入設(shè)備獲得數(shù)據(jù),與存儲(chǔ)器雙向交換數(shù)據(jù),將計(jì)算結(jié)果傳給輸出設(shè)備;而控制器要從存儲(chǔ)器中獲得指令代碼數(shù)據(jù)。 中央處理單元、主存儲(chǔ)器、高速緩沖存儲(chǔ)器、輔存儲(chǔ)器以及其他輸入/輸出設(shè)備等,是構(gòu)成計(jì)算機(jī)系統(tǒng)的主要物理器件,也可看成是構(gòu)成計(jì)算機(jī)系統(tǒng)的子系統(tǒng)。下面我們對(duì)它們逐一簡(jiǎn)介。,存儲(chǔ)器在現(xiàn)代計(jì)算機(jī)中,被分成多種層次。其中最主要的是內(nèi)存,也稱為主存,是計(jì)算機(jī)進(jìn)行計(jì)算和數(shù)據(jù)處理的工作場(chǎng)所。程序在執(zhí)行時(shí),程序代碼和相關(guān)數(shù)據(jù)都是存放在主存中的。而在CPU內(nèi)部,有一些暫時(shí)存放數(shù)據(jù)的存儲(chǔ)單元,稱為寄存器,它與運(yùn)算部件之間有緊密的聯(lián)系,有助于提高計(jì)算的速度。在CPU與主存之間,還有一種用來(lái)提高CPU對(duì)主存的讀寫速度的存儲(chǔ)器,稱為高速緩沖存儲(chǔ)器(Cache)。為了獲得高的性能,現(xiàn)在很多計(jì)算機(jī)將高速緩沖存儲(chǔ)也分為幾級(jí)。高速緩存現(xiàn)在一般直接集成在CPU上。在主存之外,還有用來(lái)在計(jì)算機(jī)斷電后持久保存程序和數(shù)據(jù)的大容量存儲(chǔ)設(shè)備,如磁盤、光盤等,稱為外存,或者輔存。輔存所起的作用與主存不同,它可讓計(jì)算機(jī)從外部獲取數(shù)據(jù),也可將結(jié)果輸出給外部,所以既是輸入設(shè)備,也是輸出設(shè)備。上述存儲(chǔ)器從寄存器、高速緩存、主存到輔存,存儲(chǔ)容量是越來(lái)越大,而讀寫速度卻是越來(lái)越低。如圖32所示。,中央處理單元,中央處理單元(CPU)是計(jì)算機(jī)的心臟。它有三個(gè)組成部分:算術(shù)邏輯單元(ALU)、控制器、寄存器組。,算術(shù)邏輯單元,CPU中的算術(shù)邏輯單元負(fù)責(zé)算術(shù)和邏輯運(yùn)算。算術(shù)運(yùn)算中最簡(jiǎn)單的一元運(yùn)算是增量(加1)和減量(減1)運(yùn)算。最簡(jiǎn)單的二元運(yùn)算是加、減、乘和除。邏輯運(yùn)算中,包含一元邏輯運(yùn)算非(Not),二元邏輯運(yùn)算與、或和異或。不管是邏輯運(yùn)算還是算術(shù)運(yùn)算,都必須在控制器的管理下完成。例如,控制器要根據(jù)指令代碼從各種運(yùn)算中選擇一種。,寄存器,寄存器是CPU用來(lái)臨時(shí)存放數(shù)據(jù)的獨(dú)立的高速存儲(chǔ)單元。CPU在計(jì)算時(shí)需要多個(gè)寄存器參與。多個(gè)寄存器組成寄存器組。寄存器組的每一個(gè)寄存器都有一個(gè)專門的名字或代號(hào)。常見的寄存器有以下幾種: (1)數(shù)據(jù)寄存器 過(guò)去,計(jì)算機(jī)只有一個(gè)寄存器用來(lái)交替存儲(chǔ)輸入數(shù)據(jù)(直接來(lái)自內(nèi)存的輸入數(shù)據(jù))或結(jié)果。現(xiàn)在,越來(lái)越多的復(fù)雜運(yùn)算改由硬件設(shè)備實(shí)現(xiàn)(而不是使用軟件),因而需要一些寄存器來(lái)保存這些運(yùn)算的中間結(jié)果。這就是在計(jì)算機(jī)CPU中需要大量的數(shù)據(jù)寄存器來(lái)提高運(yùn)算速度的原因。在圖33中,我們只是示意性地畫出了3個(gè)通用數(shù)據(jù)寄存器,分別是R1、R2和Rn。,(2)指令寄存器 現(xiàn)代計(jì)算機(jī)中不僅要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)相應(yīng)的程序。CPU的主要職責(zé)是從內(nèi)存中逐條地讀取指令,并將取出的指令存儲(chǔ)在指令寄存器(圖33中的寄存器I)中,解釋并執(zhí)行指令。后面我們還會(huì)討論這個(gè)問(wèn)題。 (3)程序計(jì)數(shù)器 CPU中另一個(gè)專用寄存器是程序計(jì)數(shù)器(圖33中的PC寄存器) 。程序計(jì)數(shù)器中保存當(dāng)前正在執(zhí)行的指令的內(nèi)存地址。當(dāng)前指令執(zhí)行完畢,計(jì)數(shù)器自動(dòng)修改,指向下一條指令的地址。,控制器,CPU的第三個(gè)部分是控制器??刂破黝愃朴谌四X中控制身體各部分運(yùn)動(dòng)的區(qū)域??刂剖峭ㄟ^(guò)電子線路的電平狀態(tài)(高電平或低電平)實(shí)現(xiàn)的。例如,假定一個(gè)簡(jiǎn)單的ALU可以進(jìn)行10種不同的運(yùn)算。為了指定這些運(yùn)算,控制單元需要通過(guò)4條線路連接到算術(shù)邏輯單元。四條線路每條都有高電平(斷開)和低電平(導(dǎo)通)兩種狀態(tài),組合起來(lái)可以表示16種不同的狀態(tài)(24)。可以使用其中10種表示算術(shù)和邏輯運(yùn)算,而其他的6種作別的用途。如果用0表示線路的高電平,1表示線路的低電平,則線路的狀態(tài)編碼就是0000、0001、0010、1111??梢远x0000(所有線路高電平,即全部斷開)表示不進(jìn)行任何運(yùn)算,0001表示加,0010表示減,等等。,主存儲(chǔ)器,主存儲(chǔ)器是計(jì)算機(jī)內(nèi)部的另一個(gè)主要子系統(tǒng)(如下頁(yè)圖)。它是存儲(chǔ)單元的集合。每一個(gè)存儲(chǔ)單元都有唯一的標(biāo)識(shí)號(hào),稱為地址。數(shù)據(jù)以稱為字(Word)的二進(jìn)制位組合傳入和傳出存儲(chǔ)器。也就是說(shuō),字是存儲(chǔ)器讀寫的基本單位。計(jì)算機(jī)一個(gè)存儲(chǔ)單元所能存放的數(shù)據(jù),剛好是該計(jì)算機(jī)的一個(gè)字。字的位數(shù)稱為字長(zhǎng)。不同的計(jì)算機(jī)的字長(zhǎng)可能是不同的。如早期的微型計(jì)算機(jī),字長(zhǎng)一般是8位,后來(lái),微機(jī)的字長(zhǎng)逐步發(fā)展為16位、32位以及現(xiàn)在的64位。我們說(shuō)某計(jì)算機(jī)是多少位的,就是指該計(jì)算機(jī)的字長(zhǎng)是多少位。顯然,計(jì)算機(jī)的字越長(zhǎng),對(duì)存儲(chǔ)器的讀寫效率越高。但字長(zhǎng)增加也成倍增加了計(jì)算機(jī)的復(fù)雜性和制造的難度。,前面曾經(jīng)指出8位的二進(jìn)制位模式稱為一個(gè)字節(jié)(Byte)。字節(jié)在計(jì)算機(jī)技術(shù)中是一個(gè)應(yīng)用非常普遍的度量單位。計(jì)算機(jī)的字長(zhǎng)可以用字節(jié)表示,存儲(chǔ)容量的大小也是以字節(jié)為基本單位的。下表列出了常用的表示存儲(chǔ)容量的單位。,地址空間,存儲(chǔ)器中的每個(gè)存儲(chǔ)單元,其大小等于該計(jì)算機(jī)的字長(zhǎng),都需要有一個(gè)唯一地址來(lái)識(shí)別。存儲(chǔ)器中所有可標(biāo)識(shí)的獨(dú)立地址集合,稱為地址空間。例如,一個(gè)64KB、字長(zhǎng)為1字節(jié)的存儲(chǔ)器的地址空間為從0到65535。在計(jì)算機(jī)內(nèi)部,地址也是用二進(jìn)制位模式表示的,所以上面的地址空間實(shí)際上是從(0000000000000000)2(地址0)到(1111111111111111)2(地址65535)。我們可以把他們看成無(wú)符號(hào)二進(jìn)制整數(shù)。通常,如果計(jì)算機(jī)有n個(gè)字(注意,不是字節(jié))的存儲(chǔ)單元,那就需要有l(wèi)og2n位的無(wú)符號(hào)二進(jìn)制整數(shù)來(lái)標(biāo)識(shí)每一個(gè)存儲(chǔ)單元。 例: 一臺(tái)計(jì)算機(jī)有128MB內(nèi)存。該計(jì)算機(jī)字長(zhǎng)為64位。需要多少位來(lái)尋址內(nèi)存中的任意一個(gè)字(word)? 解:內(nèi)存空間容量為128MB,即227B。字長(zhǎng)64位即8(即23)字節(jié)。所以內(nèi)存空間共有224個(gè)單字的存儲(chǔ)單元。尋址任意一個(gè)單字需要的地址的位數(shù)是log2224,即24位。,主存儲(chǔ)器的種類,在計(jì)算機(jī)中,通常有兩種類型的主存儲(chǔ)器。一種是隨機(jī)讀寫存儲(chǔ)器(Random Access Memory, RAM),一種是只讀存儲(chǔ)器(Read Only Memory, ROM)。,RAM,隨機(jī)存取存儲(chǔ)器(RAM)是計(jì)算機(jī)主存的主要組成部分。 RAM和ROM的主要區(qū)別在于,用戶可以讀寫RAM,即用戶可以在RAM中寫信息,之后可以方便地通過(guò)覆蓋來(lái)擦除原有信息。RAM的另一個(gè)特點(diǎn)是易失性。當(dāng)計(jì)算機(jī)斷電或者關(guān)掉計(jì)算機(jī),RAM中的數(shù)據(jù)將不復(fù)存在。RAM從技術(shù)上可以分為靜態(tài)隨機(jī)讀寫存儲(chǔ)器(SRAM)和動(dòng)態(tài)隨機(jī)讀寫存儲(chǔ)器(DRAM)。,ROM,只讀存儲(chǔ)器(ROM)的內(nèi)容是由制造商寫進(jìn)去的。用戶只能讀不能寫。它的特點(diǎn)是非易失性,即切斷電源后,數(shù)據(jù)也不會(huì)丟失。通常ROM用來(lái)存儲(chǔ)那些關(guān)機(jī)后也不能丟失的程序或數(shù)據(jù)。例如,用ROM來(lái)存儲(chǔ)開機(jī)時(shí)運(yùn)行的引導(dǎo)程序。,高速緩沖存儲(chǔ)器,高速緩沖存儲(chǔ)器(Cache)的存取速度要比主存快,但比CPU和CPU中的寄存器慢。高速緩存通常容量較小,且常被置于CPU和主存之間,如圖35所示。,輔存儲(chǔ)器,輔存儲(chǔ)器是可以大量存儲(chǔ)數(shù)據(jù)的裝置,它存儲(chǔ)的信息在計(jì)算機(jī)斷電后也不會(huì)丟失。輔助存儲(chǔ)器的價(jià)格比主存便宜,但速度更慢。在計(jì)算機(jī)結(jié)構(gòu)中,輔存屬于輸入和輸出設(shè)備。 根據(jù)實(shí)現(xiàn)的原理,輔存主要分成兩類,一是磁介質(zhì)輔存,一是以激光進(jìn)行讀寫的光存儲(chǔ)設(shè)備。,磁介質(zhì)輔存,磁介質(zhì)輔存設(shè)備使用材料的磁性存儲(chǔ)數(shù)據(jù)位。磁介質(zhì)上的點(diǎn)如果有磁性則表示1,如果沒有磁性則表示0。現(xiàn)在仍在使用的磁介質(zhì)存儲(chǔ)設(shè)備主要有磁盤和磁帶。,磁盤,磁盤是由一張或多張磁片構(gòu)成的。磁片由薄磁膜封裝起來(lái)。信息是通過(guò)每一個(gè)磁片上的讀/寫磁頭讀寫磁介質(zhì)表面來(lái)進(jìn)行讀取和存儲(chǔ)的。圖36給出了磁盤的物理結(jié)構(gòu)。,圖36 磁盤的物理結(jié)構(gòu),為了將數(shù)據(jù)存儲(chǔ)在磁盤的表面,每個(gè)盤面都被劃分為同心的圓環(huán)形磁道(track)。每個(gè)磁道又被分成若干個(gè)扇區(qū)(sector)(如圖37所示)。磁道間通過(guò)磁道間隔隔開,而扇區(qū)間通過(guò)扇區(qū)間隔隔開。,圖37 磁盤的表面結(jié)構(gòu),磁盤是隨機(jī)存取設(shè)備。但磁盤的讀取是以扇區(qū)為最小單位。一個(gè)扇區(qū)通常包含數(shù)百至數(shù)千字節(jié)(如512字節(jié))。磁盤上的數(shù)據(jù)也被分成塊(Block)。一個(gè)塊可以包含一個(gè)或多個(gè)扇區(qū)上。 磁盤的性能取決于幾個(gè)因素。最重要的因素是角速度、尋道時(shí)間和傳送時(shí)間。角速度定義了磁盤的旋轉(zhuǎn)速度。尋道時(shí)間定義了讀寫磁頭尋找數(shù)據(jù)所在磁道的時(shí)間。傳送時(shí)間定義了將數(shù)據(jù)從磁盤移到CPU內(nèi)存所需的時(shí)間。 歷史上,磁盤分為軟盤與硬盤。軟盤是單片的,用塑料封套保護(hù),其讀寫機(jī)構(gòu)在磁盤驅(qū)動(dòng)器上。單張軟盤的容量一般為1.44MB。而硬盤將盤片與讀寫機(jī)構(gòu)做成一體,用金屬殼體封裝。硬盤技術(shù)隨著計(jì)算機(jī)技術(shù)的發(fā)展而朝著容量更大、體積更小、速度更快、性能更可靠、價(jià)格更便宜的方向不斷發(fā)展,是計(jì)算機(jī)最主要的輔存裝置。軟盤由于讀寫速度慢、可靠性低、容量小,近年已被逐步淘汰。現(xiàn)在我們說(shuō)磁盤,一般是指硬盤。,磁帶,磁帶是將磁性材料涂在塑料帶基上形成的。按照磁帶的寬度,一般分為4mm磁帶、8mm磁帶、四分之一英寸磁帶、二分之一英寸磁帶等。結(jié)構(gòu)上,磁帶用兩個(gè)滾輪承接。當(dāng)滾輪轉(zhuǎn)動(dòng)時(shí),拉動(dòng)磁帶行走,就可以通過(guò)磁頭來(lái)讀寫磁帶上的數(shù)據(jù)了。如圖38所示。,圖38 磁帶的機(jī)械結(jié)構(gòu)示意圖,光存儲(chǔ)設(shè)備,光存儲(chǔ)設(shè)備使用激光在特別的存儲(chǔ)介質(zhì)上讀取和寫入數(shù)據(jù)。存儲(chǔ)介質(zhì)被做成中間帶孔的圓盤,故稱為光盤。光盤表面是連續(xù)的由里至外的螺旋形軌跡。軌跡由不同長(zhǎng)度的凹坑和平臺(tái)組成,代表二進(jìn)制數(shù)的0和1。當(dāng)激光照射在軌跡上,凹坑和平臺(tái)反射的光線的強(qiáng)弱不同。借此光存儲(chǔ)設(shè)備可以識(shí)別出光盤上的數(shù)據(jù)。最開始出現(xiàn)的光盤是小型光盤CD(Compact Disc),用來(lái)存放高保真的數(shù)字立體聲音樂(lè)。在音樂(lè)CD的基礎(chǔ)上,陸續(xù)產(chǎn)生了用于計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)的只讀光盤存儲(chǔ)器CD-ROM、可刻錄光盤CD-R、可重寫光盤CD-RW。小型光盤標(biāo)準(zhǔn)容量只有650M,不能滿足大容量信息存儲(chǔ)的要求。工業(yè)界很快又推出了比CD容量大很多的數(shù)字多功能光碟DVD(Digital Versatile Disc)。,CD-ROM,CDROM盤的直徑為120mm,厚度為1.2mm。中間有一個(gè)直徑是15mm的圓孔。盤片外沿有一個(gè)1mm寬的無(wú)數(shù)據(jù)環(huán),環(huán)繞中心孔的13.5mm內(nèi)環(huán)也不存放數(shù)據(jù)。因此半徑方向上可以存放數(shù)據(jù)的寬度只有38mm。在此寬度上,分布著中心距離為1.6m的螺旋軌跡。軌跡上刻上了反映數(shù)據(jù)編碼的不同長(zhǎng)度和間隔的凹坑。凹坑寬度為0.5m,深度約為0.12m。當(dāng)用波長(zhǎng)是780nm、光點(diǎn)直徑為1m的激光照射盤片上的軌跡時(shí),則有凹坑的地方因?yàn)榭拥追瓷涞墓饩€比坑面反射的光線延遲了半個(gè)振動(dòng)周期(這考慮了光盤材料的折射率為1.55),或者說(shuō)相位相差180,這樣這兩股反射光相互抵消,就好象沒有了反射。而沒有凹坑的間隔地帶,光線會(huì)有反射。這樣,利用光電傳感器就能夠檢出盤面上的凹坑與平臺(tái),解讀出數(shù)據(jù)編碼。,CD-R,為了能夠讓用戶自行寫入數(shù)據(jù)到CD-ROM盤片,以便作小規(guī)模的數(shù)據(jù)發(fā)布或者數(shù)據(jù)備份,在CD-ROM的基礎(chǔ)上,出現(xiàn)了CD-R光盤。這種光盤可以供用戶一次寫入,多次讀出。因此也叫WORM(Write-Once, Read-Many)盤。,CD-RW,CD-R只能寫一次,不能滿足用戶希望多次擦寫的需要。于是,通過(guò)改變CD-R上的有機(jī)染料層,業(yè)界又推出了可以多次擦寫的光盤,CD-RW(CD Rewritable)。CD-RW與CD-R的制造過(guò)程十分相似。其不同點(diǎn)主要在: 使用銀、錮、銻和碲的合金取代CD-R上的有機(jī)染料層。這種合金有兩種穩(wěn)定的狀態(tài),晶體態(tài)(透明)和無(wú)定型態(tài)(不透明),稱為相變合金; 寫數(shù)據(jù)時(shí),驅(qū)動(dòng)器使用高能激光束照射合金層,將它從晶體態(tài)轉(zhuǎn)變成無(wú)定型態(tài),降低其反射性。這樣可以模擬CD-ROM盤片上的坑; 讀數(shù)據(jù)時(shí),采用低能量的激光束,與讀取CD-ROM類似。低能量的激光束不會(huì)改變合金層的狀態(tài); 擦除數(shù)據(jù)時(shí),使用中等能量的激光束,將合金從無(wú)定型態(tài)轉(zhuǎn)變?yōu)榫w態(tài)。 CD-RW在容量、速度和格式方面與CD-ROM相同。寫和擦除需要使用刻錄光驅(qū),讀可以使用普通光驅(qū)。,DVD,由于一方面計(jì)算機(jī)需要存儲(chǔ)的信息量的爆炸式增長(zhǎng),另一方面,人們對(duì)數(shù)字影音質(zhì)量的要求不斷提高,CD盤片650M的存儲(chǔ)容量遠(yuǎn)遠(yuǎn)不能滿足人們的需求。光存儲(chǔ)界仿照CD的原理,重新定義了新的數(shù)字多功能光盤(DVD)的標(biāo)準(zhǔn)。 DVD的總?cè)萘坑辛撕艽蟮奶岣摺?由于數(shù)據(jù)存儲(chǔ)密度的提高,DVD的讀取速度也相應(yīng)得到了提高。其標(biāo)準(zhǔn)速度(1倍速)是1350KB/s。以第三代 DVD-ROM 讀取速度都在四倍速以上計(jì)算,存取速度就有5.4MB/s,相當(dāng)于CD-ROM的36倍速。,人機(jī)交互設(shè)備,每一臺(tái)計(jì)算機(jī)都需要一些可以和操作者進(jìn)行交流的設(shè)備。這些設(shè)備必須能夠接受人的輸入數(shù)據(jù),并將人所需要的結(jié)果表現(xiàn)出來(lái),供人閱讀參考。這些人機(jī)交互設(shè)備和輔存儲(chǔ)器一樣,也屬于輸入/輸出設(shè)備。最常見的人機(jī)交互設(shè)備有鍵盤、鼠標(biāo)、顯示器和打印機(jī)。,鍵盤,從原理上看,計(jì)算機(jī)鍵盤有兩種。一種稱為編碼鍵盤,每按一個(gè)鍵,就通過(guò)鍵盤上的數(shù)字電路產(chǎn)生該鍵對(duì)應(yīng)的一個(gè)編碼;另一種稱為非編碼鍵盤。在鍵盤上安裝了一個(gè)單片計(jì)算機(jī),將鍵排列成行和列,單片機(jī)按照一定的規(guī)律不斷掃描這些按鍵。當(dāng)發(fā)現(xiàn)有鍵被按下,則確定其位置。然后根據(jù)位置用程序成生一個(gè)鍵盤編碼,稱為掃描碼。這兩種鍵盤的目的都是要根據(jù)操作者所按鍵產(chǎn)生一個(gè)鍵盤編碼。編碼鍵盤的優(yōu)點(diǎn)是響應(yīng)速度快,不需要單片機(jī)作為控制器件。但當(dāng)鍵數(shù)增加時(shí),編碼鍵盤的設(shè)計(jì)很復(fù)雜。還有一個(gè)弱點(diǎn)是,編碼鍵盤不便于擴(kuò)展鍵盤功能。非編碼鍵盤的優(yōu)點(diǎn)是可以用程序擴(kuò)展鍵盤功能,定義新的按鍵?,F(xiàn)在我們所見的鍵盤都是非編碼鍵盤。,鍵盤產(chǎn)生的掃描碼通過(guò)連線送到計(jì)算機(jī)的鍵盤接口上。鍵盤接口是計(jì)算機(jī)主機(jī)板上的一部分電路。它每收到一個(gè)鍵盤掃描碼,就會(huì)自動(dòng)向CPU發(fā)出一個(gè)請(qǐng)求,請(qǐng)求CPU暫停目前的工作來(lái)處理新收到的鍵盤編碼。CPU將當(dāng)前正在進(jìn)行的工作(即執(zhí)行的程序)保存好后,轉(zhuǎn)向處理鍵盤編碼的工作(程序)。這個(gè)處理的結(jié)果是,鍵盤掃描碼被CPU翻譯成對(duì)應(yīng)的ASCII編碼,并存儲(chǔ)在一個(gè)稱為鍵盤緩沖區(qū)的內(nèi)存塊中。然后,計(jì)算機(jī)取出剛才被打斷的工作,繼續(xù)執(zhí)行。計(jì)算機(jī)的這種工作方式,稱為中斷執(zhí)行方式。,從操作者按鍵到該鍵對(duì)應(yīng)的ASCII碼被保存在鍵盤緩沖區(qū),鍵盤的輸入過(guò)程即告結(jié)束。對(duì)這些按鍵如何解釋和處理,是其他程序的事情。例如,在文字處理程序的輸入界面,按鍵被解釋成輸入的文字。在命令解釋程序中,一連串的按鍵被解釋成一個(gè)命令。這些程序在需要獲得鍵盤輸入時(shí),會(huì)讀取鍵盤緩沖區(qū)。每讀取一個(gè)鍵盤碼就從緩沖區(qū)清除一個(gè),這樣鍵盤緩沖區(qū)就不會(huì)被填滿。當(dāng)程序不需要按鍵輸入時(shí),操作人員如果不停按鍵,則有可能填滿鍵盤緩沖區(qū)。這時(shí)計(jì)算機(jī)會(huì)發(fā)出響聲表明鍵盤緩沖區(qū)出現(xiàn)了溢出。,鼠標(biāo),鼠標(biāo)可以分為機(jī)械鼠標(biāo)、光機(jī)鼠標(biāo)和光電鼠標(biāo)。機(jī)械鼠標(biāo)用純機(jī)械的方法將位移信號(hào)轉(zhuǎn)換成電脈沖信號(hào),精度低,可靠性差,容易磨損,現(xiàn)在已經(jīng)被淘汰。光機(jī)鼠標(biāo)是在機(jī)械式鼠標(biāo)中采用光柵信號(hào)傳感器產(chǎn)生位移脈沖信號(hào),提高了靈敏度。我們今天所見的“機(jī)械鼠標(biāo)”都是光機(jī)式的。光電鼠標(biāo)則完全采用光電元件實(shí)現(xiàn)位移信號(hào)的轉(zhuǎn)換,精度高,使用壽命長(zhǎng)。,顯示器,顯示器是計(jì)算機(jī)的標(biāo)準(zhǔn)輸出設(shè)備。它從計(jì)算機(jī)的顯示控制卡或者叫圖形卡、圖形適配器等獲得圖像信號(hào),然后還原成圖像供操作員觀看。顯示控制卡輸出的顯示信號(hào)分為數(shù)字和模擬兩種。模擬信號(hào)是將一幅圖像上用紅、綠、蘭三基色表示的每一點(diǎn)的顏色信號(hào),用一定頻率的載波進(jìn)行調(diào)制后得到的。較早的顯示器只能接受模擬信號(hào)。而數(shù)字信號(hào)類似于位圖編碼,用二進(jìn)制數(shù)表示每一個(gè)點(diǎn)的顏色值?,F(xiàn)在很多顯示器可以直接接受DVI標(biāo)準(zhǔn)的數(shù)字信號(hào)。一般數(shù)字信號(hào)可以獲得更加準(zhǔn)確和穩(wěn)定的圖像還原。但由于顯示器技術(shù)的進(jìn)步,模擬信號(hào)和數(shù)字信號(hào)二者的效果差別已經(jīng)可以忽略。,顯示控制卡是一塊相對(duì)獨(dú)立的電路板,當(dāng)然也可以把它集成到主板上,帶有自己的微處理器和信號(hào)處理電路。它的功能是根據(jù)計(jì)算機(jī)內(nèi)存空間中一個(gè)特定區(qū)域稱為顯示內(nèi)存的內(nèi)容,產(chǎn)生傳送給顯示器的圖像信號(hào)。從程序員的角度看,要設(shè)定或改變顯示器的顯示結(jié)果,只需改變顯示內(nèi)存中的內(nèi)容。其他的事情分別由顯示控制卡和顯示器自動(dòng)完成,不需要我們關(guān)心。 將顯示控制卡輸出的圖像信號(hào)還原成圖像有不同的方式。歷史上最先采用并沿用至今的是陰極射線管(CRT)顯示器。現(xiàn)在更加流行的是液晶顯示器(LCD)和等離子體顯示器。后二種顯示器是平板式的,比陰極射線管體積小很多,正在逐步取代CRT顯示器。,打印機(jī),打印機(jī)和顯示器類似,從計(jì)算機(jī)獲得圖像或者文字信息后,將信息復(fù)現(xiàn)在紙上,供人閱讀、保存或者分發(fā)。因此打印機(jī)也是最常見和重要的計(jì)算機(jī)輸出設(shè)備。 與顯示器需要連接到專門的顯示控制卡(電路接口)不同,打印機(jī)通常使用計(jì)算機(jī)的標(biāo)準(zhǔn)通信接口,如RS232串口、并行輸出口、USB口等。計(jì)算機(jī)只需要將打印內(nèi)容轉(zhuǎn)換成所使用打印機(jī)能夠識(shí)別的數(shù)據(jù)格式,并將數(shù)據(jù)傳送到連接打印機(jī)的標(biāo)準(zhǔn)接口即可完成打印。打印機(jī)從接口獲得這些數(shù)據(jù)后,將數(shù)據(jù)轉(zhuǎn)換為控制打印機(jī)的著色機(jī)構(gòu)的電信號(hào),將數(shù)據(jù)或者圖文復(fù)現(xiàn)在紙上。 根據(jù)所使用的著色原理,打印機(jī)可以分為針式、噴墨式、激光式、熱敏式、熱轉(zhuǎn)移式等多種。,子系統(tǒng)的內(nèi)部連接CPU和主存的連接,CPU和主存之間通常由稱為總線(bus)的三組線路連接。他們分別是數(shù)據(jù)總線、地址總線和控制總線。 數(shù)據(jù)總線:數(shù)據(jù)總線由多根導(dǎo)線組成。每一根線上每次傳送二進(jìn)制數(shù)的一位。導(dǎo)線的數(shù)量取決于計(jì)算機(jī)字(word)的長(zhǎng)度。例如,如果計(jì)算機(jī)字長(zhǎng)是32位,則數(shù)據(jù)總線需要32根導(dǎo)線,以便同一時(shí)間可以傳送一個(gè)字長(zhǎng)的信息。數(shù)據(jù)總線傳送的是要處理的數(shù)據(jù)。 地址總線:地址總線傳送的是主存中的某個(gè)字的地址。地址總線的導(dǎo)線數(shù)量取決于存儲(chǔ)空間的大小。如果存儲(chǔ)空間為2n字,則地址總線一次需要傳送n位地址數(shù)據(jù),因此需要n根導(dǎo)線。 控制總線:控制總線負(fù)責(zé)在CPU和主存之間傳送控制信息。例如,每次訪問(wèn)主存時(shí),必須有一個(gè)控制代碼從CPU發(fā)送到主存,用于指示是進(jìn)行讀操作還是寫操作。控制總線的導(dǎo)線數(shù)量取決于計(jì)算機(jī)所需要的控制命令的總數(shù)。如果計(jì)算機(jī)有2m條控制指令,則控制指令的編碼長(zhǎng)度為m位,因?yàn)閙位可以定義2m個(gè)不同的操作。相應(yīng)的,控制總線的導(dǎo)線數(shù)必須為m條。,輸入/輸出設(shè)備的連接,輸入/輸出設(shè)備不能直接與CPU和主存的總線相連。因?yàn)檩斎?輸出設(shè)備的本質(zhì)與CPU和主存的本質(zhì)不同。輸入/輸出設(shè)備都是些機(jī)電、磁性或光學(xué)設(shè)備,而CPU和主存是電子設(shè)備。與CPU和主存相比,輸入輸出設(shè)備的操作速度要慢很多。因此要有中介來(lái)處理這種差異。輸入輸出設(shè)備是通過(guò)一種被稱為輸入輸出控制器或接口的器件連接到總線上的。 現(xiàn)在比較常見的輸入輸出控制器有小型計(jì)算機(jī)系統(tǒng)接口(SCSI)、火線(IEEE 1394接口)和通用串行總線(USB)。,程序執(zhí)行過(guò)程,現(xiàn)在的通用計(jì)算機(jī)都是使用程序完成數(shù)據(jù)處理或者控制的任務(wù)。所謂程序,就是一系列對(duì)計(jì)算機(jī)進(jìn)行控制的指令的集合。這一節(jié),我們基于計(jì)算機(jī)硬件基礎(chǔ)知識(shí),對(duì)計(jì)算機(jī)程序的執(zhí)行過(guò)程作原理性說(shuō)明。,時(shí)鐘周期、機(jī)器周期與指令周期,數(shù)字電子計(jì)算機(jī)的中央處理單元(CPU),是由數(shù)字電路實(shí)現(xiàn)的。數(shù)字電路在工作時(shí),需要統(tǒng)一的時(shí)鐘脈沖來(lái)控制各部分電路的步調(diào),使之協(xié)調(diào)地一個(gè)節(jié)拍一個(gè)節(jié)拍地工作。時(shí)鐘脈沖的周期,就是時(shí)鐘周期,其倒數(shù)就是我們常常說(shuō)的CPU的主頻。 CPU完成一個(gè)最基本的內(nèi)部操作所用的時(shí)間,稱為機(jī)器周期。例如從指定內(nèi)存單元中取出一條指令,放在指令寄存器中,稱為取指。與取指對(duì)應(yīng)的機(jī)器周期,稱為取指周期。每一個(gè)機(jī)器周期,根據(jù)其復(fù)雜程度不同,包含不同數(shù)量的(一般為3到6個(gè))時(shí)鐘周期。,CPU執(zhí)行一條指令所需要的時(shí)間,稱為指令周期。一個(gè)指令周期,由一個(gè)或者多個(gè)機(jī)器周期構(gòu)成。指令越復(fù)雜,需要的機(jī)器周期數(shù)越多。 一個(gè)指令周期至少要包含以下三個(gè)步驟: 取指令 在取指階段,控制單元命令系統(tǒng)將程序計(jì)數(shù)器所指向的內(nèi)存中的指令復(fù)制到CPU的指令寄存器中。復(fù)制完成后,程序計(jì)數(shù)器自動(dòng)加1指向下一條指令。 譯碼 當(dāng)把指令置于指令寄存器后,該指令由控制單元進(jìn)行譯碼。指令譯碼的結(jié)果是產(chǎn)生系統(tǒng)可以執(zhí)行的操作代碼。 執(zhí)行 指令譯碼完成后,控制單元發(fā)出一系列控制信號(hào)到CPU的各部件,使之執(zhí)行規(guī)定的動(dòng)作。,1.3 計(jì)算機(jī)軟件,軟件的定義,馮諾依曼原理告訴我們,計(jì)算機(jī)中必須存儲(chǔ)程序才能工作。實(shí)際上,早期的非馮諾依曼計(jì)算機(jī)也需要通過(guò)對(duì)一系列開關(guān)的開閉和配線的改變來(lái)編程。這就是說(shuō),離開了控制計(jì)算機(jī)工作的指令序列程序,計(jì)算機(jī)什么事情也做不了。程序?qū)嶋H上是計(jì)算機(jī)的組成部分。開始,人們將計(jì)算機(jī)中存儲(chǔ)的程序和數(shù)據(jù)結(jié)構(gòu)統(tǒng)稱為軟件,以對(duì)應(yīng)組成計(jì)算機(jī)的物理器件的集合硬件。但隨著軟件技術(shù)和計(jì)算機(jī)應(yīng)用的發(fā)展,軟件的含義有了擴(kuò)展。今天,軟件內(nèi)涵至少包括三個(gè)方面:(1)控制計(jì)算機(jī)工作,并使硬件功能得到充分發(fā)揮的指令集合程序;(2)使程序高效率、正確運(yùn)行的數(shù)據(jù)結(jié)構(gòu);(3)說(shuō)明程序如何使用和操作的技術(shù)文檔。也就是說(shuō),軟件并不完全等同于計(jì)算機(jī)程序。,軟件與硬件的關(guān)系,硬件和軟件可以看成計(jì)算機(jī)的兩個(gè)方面,就像一枚硬幣的正反面。計(jì)算機(jī)的軟件和硬件是相互依賴、缺一不可的。沒有軟件,硬件不能發(fā)揮作用;沒有硬件,軟件是無(wú)法存在的。 另一方面,硬件和軟件在某種意義上是可以相互轉(zhuǎn)化的。例如,實(shí)現(xiàn)某些處理功能的程序邏輯,也可以使用數(shù)字電路實(shí)現(xiàn)。有些用硬件實(shí)現(xiàn)的邏輯,用軟件實(shí)現(xiàn)也很方便。軟件與硬件相互轉(zhuǎn)化的例子,在數(shù)字信號(hào)處理、數(shù)據(jù)編碼/解碼方面很常見。同樣的邏輯使用軟件實(shí)現(xiàn)的速度沒有用硬件快,但軟件可以修改,具有彈性。另外,用硬件實(shí)現(xiàn)往往需要專門的數(shù)字信號(hào)處理芯片,會(huì)增加機(jī)器的成本。 軟件和硬件相互轉(zhuǎn)化是有條件的。理解這一點(diǎn),不要誤認(rèn)為任何軟件都可以轉(zhuǎn)化為硬件,或者任何硬件都能轉(zhuǎn)化為軟件。,軟件的種類,一般將計(jì)算機(jī)的軟件從性質(zhì)上分為系統(tǒng)軟件和應(yīng)用軟件兩大類。系統(tǒng)軟件是計(jì)算機(jī)中最基本的程序及相關(guān)數(shù)據(jù)

注意事項(xiàng)

本文(《計(jì)算機(jī)原理》PPT課件.ppt)為本站會(huì)員(za****8)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!