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

《計算機原理》PPT課件.ppt

  • 資源ID:16179111       資源大小:699.05KB        全文頁數(shù):117頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

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

《計算機原理》PPT課件.ppt

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

注意事項

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

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




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

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

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


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