版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(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ī)硬件
2、 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ī)的
3、出現(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í)際上在此期間,全世界共有1
4、0余臺(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ó)賓
5、夕法尼亞大學(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ù)邏輯單元、輸
6、入/輸出設(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))讀取下一條指令。 依
7、照上述原理建造的計(jì)算機(jī)稱為馮氏體系結(jié)構(gòu)的計(jì)算機(jī)。從此以后,絕大部分計(jì)算機(jī),包括我們今天使用的計(jì)算機(jī),都是基于馮·諾依曼原理的。,計(jì)算機(jī)的分類,,計(jì)算機(jī)的組成,我們考查使用算盤計(jì)算一個(gè)四則運(yùn)算的過(guò)程。設(shè)有下面的算式: 162×156+161÷23-120×15 我們需要有算盤作為運(yùn)算的工具;其次要有筆和紙,用來(lái)記錄算式、中間結(jié)果和最
8、后的計(jì)算結(jié)果;運(yùn)算過(guò)程需要有一個(gè)會(huì)打算盤的人來(lái)控制:人首先把要計(jì)算的問(wèn)題和數(shù)據(jù)記錄下來(lái),然后第一步先算出162×156,把計(jì)算的中間結(jié)果記在紙上,再計(jì)算161÷23,把它和上一次的結(jié)果相加,再記錄在紙上,然后計(jì)算120×15,再把它從上一次的結(jié)果中減去,就得到了最后的結(jié)果。,,如果用一臺(tái)計(jì)算機(jī)完成上面的工作,顯然該計(jì)算機(jī)也需要有相當(dāng)于算盤用來(lái)進(jìn)行計(jì)算的部件,我們稱之為運(yùn)算器;其次,該機(jī)器還要有起到紙和筆相同
9、作用,能夠記住算式、中間結(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所
10、示。,,,至于馮·諾依曼原理的第二條,在今天看起來(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ō)是最自然
11、、最容易實(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ǔ)單元
12、; 算術(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)。
13、 使用計(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)存中
14、的地址,這種器件叫程序計(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í)以為
15、常了,以至于忽略了一個(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)二四,可以表示為:
16、 245.24= 2×100+4×10+5×1+2×0.10+4×0.01 = 2×102+4×101+5×100+2×10-1+4×10-2 這就是說(shuō),處在小數(shù)點(diǎn)左邊第三位的2代表2×102;小數(shù)點(diǎn)左邊第一位的5代表5×100;小數(shù)點(diǎn)右邊第二位的4
17、代表4×10-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位的
18、權(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為: V=
19、km×qm+km-1×qm-1+…+k0×q0 +k -1×q-1+ k -2×q-2+…+k –n ×q-n,,可以得出,表示一個(gè)客觀的數(shù),使用任何一種數(shù)制(主觀方法)都是可行的。不同的數(shù)制,其表示數(shù)的大小、精度是沒(méi)有分別的。不同的只是,表示相同大小和精度的數(shù),所需要的位數(shù)不同。 另外,我們也不難想象,二進(jìn)制數(shù)是最低的進(jìn)制,它只需要代表0和
20、1的兩個(gè)符號(hào)表示。從這個(gè)角度看,沒(méi)有比二進(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)換。
21、一種情況是將人所習(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)
22、。使用阿拉伯?dāng)?shù)字0~9后,還差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)算或
23、轉(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) (03
24、7)16 (6) (A12.3G5)16,將其他數(shù)制的數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),使用前面的公式可以將任何一種數(shù)制的數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。例如: (100)2=1×22+0×21+0×20=4; (100)8=1×82+0×81+0×80=64; (100)16=1×162+0×161+0
25、15;160=256; 前面所列舉的16進(jìn)制數(shù)23EF.AB的10進(jìn)制值為: (23EF.AB)16=2×163+3×162+14×161+ 15×160+10×16-1+11×16-2 =9199.66796875,課堂練習(xí),將下列數(shù)轉(zhuǎn)換成十進(jìn)制數(shù): (1) (110)2 (2) (110)8 (3)
26、 (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)算
27、也是以二進(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ī)則為: 0+0=0; 0+1=1+0=1; 1+1=0 進(jìn)位1 1+1+1=1
28、 進(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 即:10110101+1111=11000100。,算術(shù)運(yùn)算——減法,二進(jìn)制減法的運(yùn)算規(guī)則為:
29、 0-0=0; 1-1=0; 1-0=1; 0-1=1 借一位。,,例: 計(jì)算二進(jìn)制數(shù)算式11101110-10111010的結(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
30、 即:11101110-10111010=110100,算術(shù)運(yùn)算——乘法,二進(jìn)制乘法的運(yùn)算規(guī)則為: 0×0=0; 0×1=1×0=0; 1×1=1。 左移運(yùn)算:將所有位左移,末尾補(bǔ)0。 如:101左移一位:1010(相當(dāng)于乘以2) 101左移兩位:1010
31、0(相當(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
32、表示邏輯狀態(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)檎妗6\(yùn)算有與(And)、或(Or)和異或(Xor)三種。參與與運(yùn)算的兩個(gè)狀態(tài),只有都是真時(shí),結(jié)果才為真;參與或運(yùn)算的兩個(gè)狀態(tài),只要有一個(gè)為真,結(jié)果就為真;參與異或運(yùn)算的兩個(gè)狀態(tài),只有狀
33、態(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與、或、異或
34、的結(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)算:
35、 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) 1111
36、0、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í)
37、,通常是有一定的長(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ù)的最
38、高位為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ù)相減,就
39、需要用到減法。在計(jì)算機(jī)設(shè)計(jì)中,要盡量將運(yùn)算用加法和移位完成。因此,計(jì)算機(jī)中實(shí)際上沒(méi)有用原碼形式存儲(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ò)
40、將其正數(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有兩種表示方法;(
41、2)n位二進(jìn)制反碼所能表示的數(shù)的范圍是-2 n-1-1~+2 n-1-1。如8位二進(jìn)制反碼所能表示數(shù)的范圍是-127~+127;(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ī)中沒(méi)有使用反碼存儲(chǔ)帶符號(hào)的整數(shù)。反碼的意義在于它是下面要介紹的補(bǔ)碼的基礎(chǔ)
42、。另外,它的某些特性使其可用于諸如錯(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
43、)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。(
44、+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)
45、制真值的方法是: (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保持
46、不變。這樣得到的二進(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ù)的范圍是-2n-1~+(2n-1-1)。,,以上面列舉的補(bǔ)碼表示的數(shù)為例,我們考查用補(bǔ)碼進(jìn)行加法運(yùn)算的情況。首先
47、我們看31-127 = 31+(-127)。算式為:0 0 0 1 1 1 1 1+1 0 0 0 0 0 0 11 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只有一種
48、表示,即所有位全為0; (2)n位二進(jìn)制補(bǔ)碼表示數(shù)的范圍為-2n-1~+(2n-1-1) ; (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)換
49、為某種形式的二進(jìn)制編碼時(shí),編碼的長(zhǎng)度是一個(gè)重要的參數(shù)。例如,同樣的一個(gè)整數(shù)5,編碼成4位二進(jìn)制數(shù)和8位二進(jìn)制數(shù)結(jié)果是不同的。在一般的數(shù)據(jù)表示中,整數(shù)部分最前面的0是沒(méi)有意義的,可以省略。但在作二進(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è)要注意的
50、地方是,計(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)畫等
51、。那么,這些數(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)制
52、數(shù)的物理表示最為簡(jiǎn)便。表示非數(shù)值數(shù)據(jù)的二進(jìn)制數(shù),并沒(méi)有數(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ò)程稱為編碼(enco
53、de),而將二進(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)
54、化組織(International Standard Organization, ISO)接受為國(guó)際標(biāo)準(zhǔn),標(biāo)準(zhǔn)號(hào)為ISO?646(其全名為7-bit coded character set for information interchange,信息交換用7位編碼字符集)。該編碼使用7位表示一個(gè)符號(hào),總共可表示的符號(hào)為27=128種。,漢字編碼-GB?2312編碼,GB?2312碼是中國(guó)國(guó)家漢字信息交換碼,全稱《信息交換用漢字編碼字符集
55、——基本集》。由國(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)1
56、6。漢字編碼從(3021)16開始,結(jié)束于(777E)16。當(dāng)GB?2312編碼在計(jì)算機(jī)內(nèi)存儲(chǔ)時(shí),為了與ASCII碼區(qū)分,編碼的高字節(jié)和低字節(jié)的最高位要置為1,這樣得到的代碼稱為“內(nèi)碼”。這樣,與GB?2312編碼對(duì)應(yīng)的內(nèi)碼是在原編碼的基礎(chǔ)上加(8080)16。該字符集是幾乎所有的中文系統(tǒng)和國(guó)際化的軟件都支持的中文字符集,這也是最基本的中文字符集。,1.3 計(jì)算機(jī)硬件,硬件系統(tǒng)概述,基于馮諾依曼原理的計(jì)算機(jī),從硬件方面看是由運(yùn)算器、控制
57、器、存儲(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)的??刂破饕蚱渌考l(fā)送控制信號(hào),以協(xié)調(diào)它們的工作;運(yùn)算器要從輸入設(shè)備獲得數(shù)據(jù),與存儲(chǔ)器雙向交
58、換數(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ù)都是存放在主存中的。而在CP
59、U內(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ì)算
60、機(jī)從外部獲取數(shù)據(jù),也可將結(jié)果輸出給外部,所以既是輸入設(shè)備,也是輸出設(shè)備。上述存儲(chǔ)器從寄存器、高速緩存、主存到輔存,存儲(chǔ)容量是越來(lái)越大,而讀寫速度卻是越來(lái)越低。如圖3-2所示。,,,,中央處理單元,中央處理單元(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)算是加、減、乘
61、和除。邏輯運(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ù)寄存器
62、 過(guò)去,計(jì)算機(jī)只有一個(gè)寄存器用來(lái)交替存儲(chǔ)輸入數(shù)據(jù)(直接來(lái)自內(nèi)存的輸入數(shù)據(jù))或結(jié)果?,F(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)算速度的原因。在圖3-3中,我們只是示意性地畫出了3個(gè)通用數(shù)據(jù)寄存器,分別是R1、R2和Rn。,,(2)指令寄存器 現(xiàn)代計(jì)算機(jī)中不僅要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)相應(yīng)的程序。CPU
63、的主要職責(zé)是從內(nèi)存中逐條地讀取指令,并將取出的指令存儲(chǔ)在指令寄存器(圖3-3中的寄存器I)中,解釋并執(zhí)行指令。后面我們還會(huì)討論這個(gè)問(wèn)題。 (3)程序計(jì)數(shù)器 CPU中另一個(gè)專用寄存器是程序計(jì)數(shù)器(圖3-3中的PC寄存器) 。程序計(jì)數(shù)器中保存當(dāng)前正在執(zhí)行的指令的內(nèi)存地址。當(dāng)前指令執(zhí)行完畢,計(jì)數(shù)器自動(dòng)修改,指向下一條指令的地址。,控制器,CPU的第三個(gè)部分是控制器??刂破黝愃朴谌四X中控制身體各部
64、分運(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、…
65、、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)可能是不同的
66、。如早期的微型計(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é)為基本單位的。下表列出了常用的表
67、示存儲(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ù)
68、。通常,如果計(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,
69、即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ī)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《認(rèn)識(shí)計(jì)算機(jī)》ppt課件
- 《計(jì)算機(jī)專業(yè)介紹》ppt課件
- 《計(jì)算機(jī)操作系統(tǒng)》ppt課件
- 《計(jì)算機(jī)硬件系統(tǒng)》ppt課件
- 專升本(計(jì)算機(jī)專業(yè)課件)計(jì)算機(jī)組成原理課件第七章
- 《常見計(jì)算機(jī)病毒》ppt課件
- 《計(jì)算機(jī)基礎(chǔ)知識(shí)》ppt課件
- 計(jì)算機(jī)原理答案
- 計(jì)算機(jī)維修原理
- 計(jì)算機(jī)輔助藥物設(shè)計(jì)ppt課件(1)
- 《計(jì)算機(jī)與信息技術(shù)》ppt課件
- 計(jì)算機(jī)原理電子教案
- 計(jì)算機(jī)課件
- 計(jì)算機(jī)模擬課件
- 計(jì)算機(jī)組成原理
- [教育]張晴計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理實(shí)驗(yàn)
- 專升本(計(jì)算機(jī)專業(yè)課件)計(jì)組課件計(jì)算機(jī)的發(fā)展
- 《計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議與》ppt課件
- 計(jì)算機(jī)病毒ppt
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--基本模型計(jì)算機(jī)
評(píng)論
0/150
提交評(píng)論