




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章計算機工作原理
立妻內參
2」計算機中的數據的表示
2.2計算機的硬件組成
2.3計片機的基本工作過程
本章知識結構:
一一_??a楮+n小珈坦主二____________卅生||白枝蜘
計算機,作原埋」效制與轉怏?)
粉赤;:/皆知中白夕豐記
然/IJLTT舁機1刖衣不
北粉宿粉提的寺不
非數1且鍬循刖衣小"
達;云舁笆規的則mi。l.
______________;云笆哭
I在T省舁太外H刖的叫桶葉住坦組感___________起■舁命,
在修哭
中巾尿抨哭
「人優班奇A
「司J收黃'
U片帖拄*T止旺知______________指■枚#.
H畀'1兒U'J仝+,1卜A2JI土力日今后工、”
耳卅片J
J4d£/J工W-
7土HMVA玨J/彳lil〒T;X才J不-W里-
學習目標:
?理解數制與轉換、數在計算機中的表示;
?了解計算機的工作原理;
?掌握指令執行過程。
?程序存儲是馮?諾依曼機的最基本特征。為了實現計算機的自動計
必須先根據問題的要求,選擇算法和程序語言,設計出解決該
問題的程序,并通過輸入設備將該程序存入計算機的存儲器中,然
后計算機運行這個程序,就可獲得計算結果。在計算機中,程序及
數據是用二進制代碼表示的,計算機只能存儲并識別二進制代碼表
示的程序和數據,這是馮?諾依曼機的另一個主要特征。
2.1計算機中的數據的表示
2.1.1數制與轉換
2.1.2數在計算機中的表示
2.1.3非數值數據的表示
2.1.4運算規則
2.1計算機中數據的表示
?計算機的內部的信息分為兩大類型,即控制信息和數據信息。控制信
息是控制計算機進行一系列的操作的信息,數據信息是計算機加工處
理的對象。指令是主要控制信息,數據信息包括數值數據和非數值數
據。數值數據能表示大小,可以在數軸上找到確定的點。非數值數據
沒有確定的數值,例如字符、漢字、圖形、圖像、聲音等,又稱符號
數據。
?數值數據包括整數和小數。通常有兩種方法來確定小數點的位置:一
種是規定小數點位置固定不變,稱為定點數;另一種是小數點的位置
不固定,可以浮動,稱為浮點數。一般來說,定點格式容許的數值范
圍有限,要求的硬件結構比較簡單;浮點格式容許的數值范圍很大,
但要求的處理硬件比較復雜。在計算機中,通常是用定點數來表示整
數和純小數,分別稱為定點整數和定點小數。對于既有整數部分、又
有小數部分的數,一般用浮點數表示。
2.1計算機中數據的表示
?在計算機內部,無論哪一種數據,都以二進制形式表示。
它們的從屬關系如下所示。
L定點數〃
「數值數據"Y
〔浮點數,
數據
「邏輯數據~
〔非數值數據
〔字符數據.,
2.1計算機中數據的表示
?在計算機中,數據信息是由不同位數的二進制數組成,為
了表示位數的多少,引入了“位”、“字節”和“字”的
概念。
?位(bit):位是指一位二進制的代碼,它只具有“0”、
“1”兩個狀態。
,字節(byte):把8位二進制代碼稱為一個字節,它是表
套二進制代碼長度的一種單位。
?字(word):字由字節構成,一般為字節的整數倍。
2.1.1數制與轉換
?在十進制系統中,進位原則是逢十進一;在二進制系統中,
進位原則是逢二進一;在八進制系統中,進位原則是逢八進
在十六進制系統中,進位原則是逢十六進一。在十進制
數中,每一項的數字都可以用。?9十個數字中的一個來表示;
二進制數中每一項的數字都可以用0,1表示;八進制中可以
使用0?7;十六進制中可使用0?9,A,B,C,D,E,F。為了比較
二進制、八進制、十進制和十六進制系統,表2?1給出了四
種進位制的對應關系。
2.1.1數制與轉換
表2-1啾進位制數
二進制數。人進制數,十進制數十六進制擻
0000/卜030~
0001^171”
0010,2P2。
0011“3,3-3d
0100-14d
0101/5"5,53
0110*'6"6“63
0111^737/7。
1000+'10。8d8“
1001?」11-19〃9/
1010。12“102A“
1011N13小11"Ba
1100*'14」12〃O
1101315313”加
11316414~E“
17“15〃F/
10000^20216&10Q
2.1.1數制與轉換
?1、十進制數轉換為二進制數
?(1)十進制整數轉換為二進制整數
?將已知的十進制整數反復除2,余數為1,相應位為1;余
數為0,相應位為0。從低位向高位逐次進行,一直到用2
去除后,商為。時為止。
?例1:將十進制數22轉換成二進制數
2)22
2)11.......................................xi=0^
2)5......................................X?=1,
2)2.....................................x3=4
2)1.....................................x4=0"
0.................................................X5=
即(22)10=(XsX4x3X2x1)2
=(10110)?
。
、
處
第
舒H
卿A
基U
C
聯
淋K
小
+勰
捺
,
<熱
=格
^
晶
裁
城
網
腐
星
制
魚0
+?,
泰
麟
.
又例:2751
2[311
結果為:1001011
2L180
291
240
220
211
0
2.1.1數制與轉換
?(2)十進制純小數轉換成二進制小數
?首先將十進制純小數反復乘以2,每次乘2之后所得的數的
整數部分若為1,則二進制小數的相應位也為1;如果整數
部分為0,則相應位為0。從高位向低位逐次進行,直到滿
足精度要求為止。
進位法:用十進制小數乘基數,當積為0或達到
所要求的精度時,將整數部分由上而下排列o
示例:
0.625結果為:101
X2
------h-250-整數二1
X2
------07^0整數二0
X2
------h-0——整數二1小數值二0
2.1.1數制與轉換
?2、二進制數轉換為十進制數
?二進制數轉換為十進制數的方法極為簡單,只要將二進制
數按位展開,并計算出結果,便可以得到相應的十進制數。
例2:計算(1011):=1X2*+0X2:+1X2:+1X2:,
=8+0+2+1=1-
【例1?1】分別將(1010.11)2、(1010.11)8和(AC.1)16轉
換成十進制數表示。
解:
32X
(1011.11)2=1X2+0X2+1X2+0X2°+1X2-
41X2-2
=8+0+2+0+0.5+0.25
=(10.75)]。
32X
(1011.11)81X8+0X8+1X8+0X8°+1X8-
耳1X8々
=512+0+8+0+0.125+0.015625
=(520.140625)1。
1
(AC.1)16=10X16與12X16°+1X16
=160+12+0.0625
=(172.0625)10
2.1.1數制與轉換
?3、非十進制數之間的相互轉換
?1位八進制數對應3位二進制數,而1位十六進制數對應4位
二進制數。因此,二進制數與八進制數之間、二進制數與
十六進制數之間的相互轉換十分容易。
?(X)八進制數與二進制數的互換
?將每一位八進制數直接寫成相應的3位二進制數即可。反
之,二進制數轉換成八進制數的方法是:以小數點為界,
向左或向右將每3位二進制數分成一組,若不足3位,則用
0補足3位。然后,將每一組二進制數直接寫成相應的1位
八進制數。
?二進制與八進制間的轉換
從小數點開始,將二進制數的整數和小數部分每
三位分為一組,不足三位的分別在整數的最高位
前和小數的最低位后加“0”補足,然后每組用等
值的八進制碼替代,即得目的數。_________
例8:11010111.0100111I=327.234Q
011010111.010011100
3
2.1.1數制與轉換
?(2)十六進制數與二進制數的互換
?將每一位十六進制數直接寫成相應的4位二進制數。而二進制數
轉換成十六進制數的方法則是:以小數點為界,向左或向右將每
4位二進制數分成一組,若不足4位,則用0補足4位。然后,將每
一組二進制數直接寫成相應的1位十六進制數。
?在計算機中采用二進制比用十進制優越,主要表現:數的狀態簡
單,容易表示,在二進制中只有兩個狀態,很容易實現;運算規
則簡單;邏輯判斷方便:二進制的“1〃和”0〃兩個數碼正好與邏
輯命題中的兩個值“是”和“否”,或者“真”和“假”相對應,
這不僅為計算機實現邏輯運算和程序中的邏輯判斷提供了便利條
件,而且也可以將邏輯代數這一數學工具應用于邏輯線路的設計
中.
?二進制與十六進制間的轉換
從小數點開始,將二進制數的整數和小數部分每
四位分為一組,不足四位的分別在整數的最高位
前和小數的最低位后加“0”補足,然后每組用等
值的十六進制碼替代,即得目的數。
例9:111011.10101B=3B.A8H
00111011.10101000
,小數點為界,
3BA8
【例1?4】將二進制數1011010.10轉換成八進制和十
六進制數:
解:001011010.10001011010.1000
132.45A.8
(1011010.10)2=(132.4)8
(1011010.10)2=(5A.8)16
【例1?5】將十六進制數F7.28轉換為二進制數:
解:F7.28
11110111.00101000
(F7.28)16=(11110111.00101000)2=
(11110111.00101)2
【例1?6】將八進制數25.63轉化為二進制數:
解:25.63
010101.110011
(25.63)8=(010101.110011)2=(10101.110011)2
2.1.2數在計算機中的表示
?要把一個數值在計算機中表示出來,必須明確指明:符號如
何表示,小數點的位置如何表示。在計算機中,表示一個數
值的符號的方法是:占用一位二進制數位,用1表示負號,
用0表示正號。也就是說,對數值的符號編碼化。
■定點整數用n位二進制表示一個數,一般選擇最左邊一位為
符號位,其值為L表示該數為負數;其值為0,表示該數為
正數。小數點固定在最低位之后,因而它所表示的數都為整
數。
■定點小數所表示的都為小數,小數點的位置在數值位的最左
端,即在符號位之后。那么各位的位權值分別為:第1位為
2-1,第2位為2-2……所以定點小數表示的只能是小數。
(1)定點數的表示方法
所謂定點格式,即約定機器中所有數據的小數點位置是固定
不變的。由于約定在固定的位置,小數點就不使用記號”
來表示。
假設用一個n+1位字來表示一個定點數x,其中第一位xO用
來表示數的符號,其余位數代表它的量值。為了將整個n+1位統
一處理起見,符號位xO放在最左位置,并用數值0和1分別代表
正號和負號,這樣,對于任意定點數乂=x0xxx2...xn,在定
點機中可表示為如下形式:
X0X1X2……Xn.1Xn
定點數的一般形式
小數的定點表示:
符號位
%瓦2b.3
▲
隱含小數點
整數的定點表示:
符號位b
bm"陽.2l
▲
隱含小數點
假定整數占8位,則數值?65存放形式如下:
11000001
如果數X表示的是純小數,那么小數點位于X。和1之間。
當X1X2..........X-Xn各位均為0時,數X的絕對值最小,
即IX|min=。;
當各位均為1時,X的絕對值最大,即|x|ma\=L2-n
故數的表示范圍為
0<|XI<l-2-n
如果數X表示的是純整數,那么小數點位于最低位X的右
邊,此時數X的表示范圍為n
o<|xI<2n4
目前計算機中多采用定點純整數表示,因此用定點數表示
的運算簡稱為整數運算。
(2)浮點表示法與浮點數
定點數表示的數值范圍在許多應用中是不夠的,為了能表示
特大或特小的數,采用“浮點數”或“科學表示法”表示。”
浮點數”由兩部分組成,即尾數和階碼,底數是事先約定的,
在機器中不出現。一
如1234.56可以表示為IO4X0.123456,
0.123456是尾數,4是階碼。
0.0004567可以表示為IO-*0.4567,
0.4567是尾數,?3是階碼.
一個十進制數N可以寫成N=10e.m
一個任意進制數N1也可以寫成Nl=Re.M
其中
八m稱為浮點數的尾數,是一個純小數。
e是比例因子的指數,是一個整數。
R是比例因子的基數,一般規定R為2,8或16。
規格化數
在浮點數表示法中,小數點的位置是浮動的,階碼可以取不同的數值,
為了便于計算機中小數點的表示,規定將浮點數寫成規格化的形式,即尾數
部分必須是如下范圍的小數:
O.1<M<1(十進制表示)
或0.5<M<l(二進制表示)
例如,十進制實數-1234.5678以規格化形式表現為
-0.12345678X104
同樣,任意二進制規格化浮點數的表現形式為:
N=±d*2±P
式中d是尾數,前面的”上”表示數符;p是階碼,前面的"上”表示階符.
一個機器浮點數應當由
階碼和尾數及其符號位組成:
EsEH……EmMsM.M2……Mm
階符_階碼------數符---------尾數一
階碼只能是一個帶符號的整數,階碼本身的小數點約定在階碼的
最右面;尾數表示數的有效部分,是純小數,其本身的小數點約定在
數符和尾數之間。由此可見,浮點數是定點整數和定點小數的混合,
在浮點數表示中,數符和階符各占1位,階碼的位數表示數的大小范圍
,尾數的位數表示數的精度。
例如,設尾數為8位,階碼為6位,則二進制數
N=(-1101.010)B=(-0.110101)Bx2(I°°)B
浮點數的存放形式為:0000100111010100
浮點數表示的范圍
假設機器中的數由8位二進制數表示
在定點表示中若只考慮正數值,定點數表示的數的范圍是
0.0000000到O.llllin,相當于十進制數的O?127/128o
在浮點表示中若階符階碼占3位,數符尾數占5位。浮點數
所能表示的數的范圍是2-Uxo.oooi到2口x0.1111o相當于
十進制數的1/128到7.5。
顯然如果都用8位,用浮點數表示的數的范圍比定點數表
示的數的范圍大得多。
2.1.2數在計算機中的表示
?在科學計算和數據處理中,經常需要處理和計算非常大或者非常小的
數值。定點表示法不能夠精確地完成這種數值的表示。為了表示更大
取值范圍的數,可以采用下式所示的表示方法:
f=m.re
?其中f表示數,m和e為帶符號的定點數,e稱之為階、m為尾數、r為
基。尾數m可以是整數,也可以是小數。目前大多數計算機都把m規
定為純小數,階碼e為整數。從上式可以看出,m中的小數點可以隨e
值的變化而左右浮動。所以把這種表示法叫做數的浮點表示法。
2.1.2數在計算機中的表示
?在計算機中對數據進行運算操作時,符號位如何表示呢?是
否也同數值位一起參加運算操作呢?為了妥善的處理好這些
問題,就產生了把符號位和數值位一起編碼來表示相應的數
的各種表示方法,如原碼、補碼、反碼、移碼等。
?機器數就是數在計算機中的表示形式,為了表示通常的數與
機器數的對應關系,可將通常的數稱為機器數的真值。因此,
在計算機中只有機器數,不存在數的真值。
2.1.2數在計算機中的表示
?1.原碼
?原碼是一種簡單的機器數表示法,用最高位表示數的正、負,。表示
正,1表示負,數值部分按二進制書寫。
例3:二進制數+1000110的原碼表示為:01000110
二進制數“000110的原碼表示為:11000110
0在原碼中有兩種表示形式,可以認為是(+0),也可以認為是(-
0),即
[+0]==000…0”
n位.
[-0]京=100…0"
2.1.2數在計算機中的表示
■原碼表示簡單易懂,而且與真值的轉換也方便,在做乘除
法運算時,可將符號位和數值位分開處理。結果數的符號
可用參加操作的兩個操作數符號進行異或運算求得,結果
數的數值可由操作數原碼的數值部分按乘除規則運算得到。
因此,原碼適合乘除法運算。但是原碼做減法運算極為不
便。其過程如下:當兩個數相加時,如果是同號,則數值
相加;如果是異號,則數值部分相減,這就需要比較兩個
數的絕對值大小,用絕對值大的數減去絕對值小的數,所
得的差的符號與絕對值大的數同號。為了解決用原碼做減
法運算的不便,提出了補碼表示法。
2.1.2數在計算機中的表示
?2.反碼
?正數的反碼與其本身相同,負數的反碼是將它的原碼除符
號位外逐位取反,也就是1變0,0變1。
?例5:二進制數+1000110的反碼表示為:01000110
二進制數?1000110的反碼表示為:11111001
0在反碼中也有兩種表示方法:
[+0]&=ooo??a
n位~
[-0]反=111…L
2.1.2數在計算機中的表示
?3.補碼
?可以用鐘表對時為例說明補碼的概念。假設現在的標準時
間為4點整;而有一只表已經7點了,為了校準時間,可以
采用兩種方法:一是將時針退7?4=3格;一是將時針向前
撥12?3=9格。這兩種方法都能對準到4點,由此可以看出,
減3和加9是等價的,就是說9是(?3)對12的補碼。在補碼中,
真值0有唯一的表達形式。
?正數的補碼與原碼相同;負數的補碼是它的原碼除符號位
外逐位取反(即0變1,1變0),在末位加1。
?例4:二進制數+1000110的補碼表示為:01000110
二進制數-1000110的補碼表示為:11111010
2.1.2數在計算機中的表示
?補碼是一種很好的機器數表示法,補碼可以把負數轉化為
正數,使減法轉化為加法,從而使正負數的加減運算轉化
為單純的正數相加的運算,進而提高了計算機的運算速度
并節省了設備。所以補碼是應用最廣泛的一種機器數表示
方法。
?采用補碼表示法進行減法運算就比原碼方便得多了。因為
不論數是正還是負,機器總是做加法,減法運算可變為加法
運算。但根據補碼定義,求負數的補碼要用2減去|x|。為了
用加法代替減法,結果還得在求補碼時作一次減法,這顯然
是不方便的。下面介紹的反碼表示法可以解決負數的求補
問題。
歸納
1)正數的原碼、補碼和反碼都有相同的形式,即
兇原=兇反=兇補=O.X1…Xn
2)負數的原碼,通過將符號位置1,數值部分不變得
到;
3)負數的補碼和反碼符號位均為1,反碼的數值部分
可通過將原碼的數值各位取反獲得,補碼的數值部分
只需在反碼的末位加一便可得到。
原碼反碼補碼舉例(以8位字長為例)
十進制數原碼反碼補碼
+0000000000000000000000000
-0100000001111111100000000
+1000000010000000100000001
-1100000011111111011111111
+73010010010100100101001001
-73110010011011011010110111
+127011111110111111101111111
-127111111111000000010000001
例1:73-73=(01001001)補+(10110111)補=(00000000)補
[[X]補]補=[用原(證明從略)
例2:73-127=(01001001)補+(10000001)補=(11001010)補
反=原=?
=(11001001)(10110110)(25+24+22+21)10=-54
2.1.3非數值數據的表示
?在計算機中存儲和處理的數據,除了數值數據之外,還有邏輯數據和字符數
據。邏輯數據和字符數據是不含有“值”的數據,這兩類數據又統稱為非數
值數據。
?邏輯數據是由若干位無符號的二進制數碼組成,每位之間獨立不相關,每位
沒有數值概念,僅有邏輯值。僅用I表示“真”和用0表示“假”。
?在計算機的應用中,大量的工作是對字符和專用符號進行操作。例如在辦公
室系統中的姓名、年齡和性別,企業管理系統中的制表、圖書管理系統中的
圖書編號及其分類等等,都需要利用字符或者符號來表示。這些符號包括:
?英文字符:A,B,C,……,X,Y,Z,a,b,c,???,x,y,z
?專用符號:$,@,#,“,+,—,/,=
?上述的這些符號不能直接裝入計算機,必須將其編碼、數字化處理之后,以
字符數據的形式裝入計算機中。
?目前國際上普遍采用的字符系統是ASCII碼(美國國家信息交換標準字符碼),它
包括10個十進制數碼,26個英文字母和一定數量的專用符號,如$,%,+產等,
共128個元素。
1.字符與字符串的表示方法
評料品能處聚一對于符號應用到計算機
中時,都必須編寫成二進制格式的代碼,也就是字符信
息用數據表示,稱為符號數據。
目前國際上普遍采用的一種字符系統是七單位的
ASCII碼(美國國家信息交換標準字符碼American
StandardCodeforInformationInterchange),它包括10個
十進制數碼,26個英文字母和一定數量的專用符號,如
$,%,+,=等,總共128個元第,因此二進制編碼需
要7位,加上一個偶校驗位,共8位,剛好為一個字節。
下表歹U出了七單位的ASCII碼字符編碼表。
高三位
低四位
000001010011100101110111
0000SP0@pp
美國信0001J1AQaq
息父換0010662BRbr
cs
標準碼0011#3CS
0100$4DTdt
ASCII碼0101%5EUeu
0110&6FVfV
ASCH碼的011167GWgw
十進制表示:1000(8HXhX
*
1001)9IY1y
SP:32*?*
1010*JZJz
+*
0-9:48-5710119K[k{
\
11009<L11
AZ65-901101-=M]m)
1110*>NAn
a-z:97-122
/9O0DEL
1111—
字符串存儲形式
字符串是指連續的一串字符,通常方式下,它們占用主
存中連續的多個字節,每個字節存一個字符。當主存字由2
個或4個字節組成時,在同一個主存字中,既可按從低位字
節向高位字節的順序存放字符串內容,也可按從高位字節向
低位字節的次序順序存放字符串內容。這兩種存放方式都是
常用方式,不同的計算機可以選用其中任何一種。
字符串存儲形式FUA
>BUT
例如下述字符串:HENU
IFUA>BUTHENUREAD(C)READ
C)
就可以按圖所示從高位字節到低位字節依次存放在主存
中。其中主存單元長度由4個字節組成。每個字節中存放相應
字符的ASCII值,文字表達式中的空格在主存中也占一
個字節的位置。因而每個字節分別存放十進制的73,70,32
,65,62,66,32,84,72,69,78,32,82,69,65,68
,40,67,41,32o(符號數字化)
2.漢字的表示方法
漢字輸入漢字輸出
漢字信息處理系統的模型
(1)漢字的輸入編碼
數字編碼常用的是國標區位碼,用數字串代表一個漢字輸入。區位
碼是將國家標準局公布的6763個兩級漢字分為94個區,每個區分94位
,實際上把漢字表示成二維數組,每個漢字在數組中的下標就是區位
碼。區碼和位碼各兩位十進制數字,因此輸入一個漢字需按鍵四次。
例如“中”字位于第54區48位,區位碼為5448。
數字編碼輸入的優點是無重碼,且輸入碼與內部編碼的轉換比較方便
,缺點是代碼難以記憶。
拼音碼拼音碼是以漢語拼音為基礎的輸入方法。凡是
掌握漢語拼音的人,不需訓練和記憶,即可使用。但漢字
同音字太多,輸入重碼率很高,因此按拼音輸入后還必須
進行同音字選擇,影響了輸入速度。
字形編碼字形編碼是用漢字的形狀來進行的編碼。把
漢字的筆劃部件用字母或數字進行編碼,按筆劃的順序
依次輸入,就能表示一個漢字。
例如形象碼、五筆字型編碼都是比較有影響的字形編碼
方法(形象碼字梁分類總表參看附錄)O
(2)漢字內碼
漢字內碼是用于漢字信息的存儲、交換、檢索等操作的
機內代碼,一般采用兩個字節表示。為了與英文字符能
相互區別,漢字機內代碼中兩個字節的最高位均規定為1
(3)漢字字模碼
字模碼是用點陣表示的漢字字形代碼,它是漢字的輸出
形式。
根據漢字輸出的要求不同,點陣的多少也不同
簡易型漢字為16x16點陣,提高型漢字為“24x24點陣
,、“32x32”點陣,甚至更高。因此字模點陣的信息量
是很大的,所占存儲空間也很大。
以16x16點陣為例,每個漢字要占用32個字節
(16-8x16),國標兩級漢字要占用256K字節。因此字
模點陣只能用來構成漢字庫,而不能用于機內存儲。字庫
中存儲了每個漢字的點陣代碼。當顯示輸出或打印輸出時
才檢索字庫,輸出字模點陣,得到字形。
00行
漢字顯示碼
舉例
■■■
64*64點陣,共占
512字節
000700E0
0700OC00
其中的第32行用字節保
存后如上所示
處理漢字的過程
只有在中文操作系統環境下才能處理漢字,操作系統
中有實現各種漢字代碼間轉換的模塊,在不同場合下調用
不同的轉換模塊工作。
漢字以某種輸入方案輸入時,就由與該方案對應的輸
入轉換模塊將其變換為機內碼存儲起來。漢字運算是一種
字符串運算,用機內碼進行,從主存到外存的傳送也使用
機內碼。在不同漢字系統間傳輸時,先要把機內碼轉換為
傳輸碼,然后通過接回送出,對方收到后再轉換為它自己
的機內碼。
輸出時先把機內碼轉換為地址碼,再根據地址在字庫
中找到字形存儲碼,然后根據輸出設備的型號、區特性及
輸出字形特性使用相應轉換模塊把字形存儲轉換為字型輸
出碼,把這個碼送至輸出區設備輸出。
2.1.4運算規則
?計算機的運算包括算術運算、邏輯運算、數據比較和數據傳送。其中
算術運算就是指二進制數的加減乘除運算;邏輯運算包括邏輯與、邏
輯或、邏輯非運算;數據比較是指常見的大于、小于、等于、不等于、
大于等于、小于等于;數據傳送是指輸入、輸出和賦值,下面給出算
術運算和邏輯運算的運算規則:
?加法0+0=00+1=11+0=11+1=0(進位)
?減法0?0=01-0=11-1=00?1=1(借位)
,乘法0x0=01x0=00x1=01x1=1
?除法與十進制類似
?邏輯“與”運算0x1=01x0=00x0=01x1=1
?邏輯“或”運算0+0=00+1=11+0=11+1=1
?邏輯“非”運算Not0=1Not1=0
2.2計算機的硬件組成
2.2.1運算器
2.2.2存儲器
2.2.3中央處理器
2.2.4外部設備
2.2計算機的硬件組成
?計算機的硬件是由電子器件等構成的,它包括運算器、存儲器、控制器、
輸入和輸出設備。通常將運算器和控制器稱為CPU(CentralProcessing
Unit),而將CPU和存儲器稱為主機。存儲程序并按地址順序執行,這
是馮?諾依曼型計算機的工作原理,也是計算機自動化工作的關鍵。舉個
例子來講:
?當我們用一個算盤,一張紙,一支筆來計算一道算術題時用到了:
?紙:用于存儲解題的原始信息;
?算盤:用于對數據進行加、減、乘、除等算術運算;
?筆:用于把原始數據和解題步驟記錄到紙上,以及寫出運算結果;
?人腦和手:用于控制解題步驟。
2.2計算機的硬件組成
?同樣的,計算機也需要相應部件:
?存儲器:在計算機中相當于紙那樣具有“記憶”功能的部件;
?運算器:在計算機中相當于算盤功能的部件;
?輸入設備和輸出設備:相當于筆,把原始解題信息送到計算機或把運
算結果顯示出來的設備;
-控制器:相當于大腦,能夠自動控制整個計算過程。
2.2計算機的硬件組成
?數字計算機主要組成部分如圖2-1所示。
?控制.
>數據.
圖2-1數字計算機的硬件組成.
2.2.1運算器
?運算器就好比一個由電子線路構成的算盤,能進行加、減、乘、除等算
術運算,還可進行與、或、非等邏輯運算。考慮到電子器件的特性,計
算機中通常采用二進制數。二進制數就是以2為基數來計數,即逢二進一
就像十進制中只有0?9共十個獨立的數符一樣,在二進制中只有0和1兩
個獨立的數符,而這恰好能夠與電子器件中電壓的高低、脈沖的有無對
應起來,容易實現。二進制數的運算規律非常簡單,在電子線路中比較
容易實現,而且設備也最省。在運算中,二進制數和十進制數一樣,當
數的位數越多時,計算的精度就越高,但是位數越多,所需的電子器件
也越多。
2.2.1運算器
?運算器由核心部件,即算術邏輯部件ALU(ArithmeticLogicUnit)和寄
存器、總線等組成。運算器的設計,主要是圍繞邏輯運算部件ALU和寄
存器同數據總線之間如何傳送操作數和運算結果進行的。總線是一組由
多個部件分時共享的傳送線路,共享是指總線上可以掛接多個部件,它
們之間可以通過這一組公共總線傳送信息;分時是指一組總線在同一時
刻只能提供給掛接在上面的兩個部件之間傳送信息,否則會發生沖突。
運算器的設計,需要考慮數據傳送的方便性和操作速度,在微型機和單
片機中還要考慮在硅片上制作總線的工藝。計算機的運算器大體有如下
三種結構形式。
2.2.1運算器
?L單總線結構的運算器
?單總線結構的運算器把所有部件都接到同一總線上,所以數據可以在任
何兩個寄存器之間,或者在任一個寄存器和ALU之間傳送。對這種結構
的運算器來說,在同一時間內,只能有一個操作數放在單總線上。如果
要把兩個操作數輸入到ALU,需要分兩次來做,而且還需要兩個緩沖寄
存器A和B,如圖2-2所示。例如,執行一次加法操作:首先把第一個操
作數經總線送入A緩沖寄存器;接著把第二個操作數經總線送入B緩沖寄
存器;最后ALU執行加法,把結果通過總線送入目的寄存器。
2.2.1運算器
?這種結構的主要缺點是操作速度較慢。但由于它只控制一條總線,故控
制電路比較簡單。
2.2.1運算器
?2.雙總線結構的運算器
?雙總線結構中,兩個操作數同時加到ALU進行運算,只需一次操作控制,
而且馬上就可以得到運算結果。兩條總線各自把其數據送至ALU的輸入
端,如圖2-3。特殊寄存器分為兩組,它們分別與一條總線交換數據。這
樣,通用寄存器中的數據就可進入到任一組特殊寄存器中去,從而使數
據傳送更為靈活。ALU的輸出不能直接加到總線上去,這是因為,當形
成操作結果輸出時,兩條總線都被輸入數占據,因而必須在ALU輸出端
設置緩沖寄存器。例如,執行一次加法操作操作的控制要分兩步完成:
第一,在ALU的兩個輸入端輸入操作數,形成結果并送入緩沖寄存器;
第二,把結果送入目的寄存器。
2.2.1運算器
總線b
圖2-3雙總蜘構運算器
2.2.1運算器
?3.三總線結構的運算器
?在三總線結構的運算器中,ALU的兩個輸入端分別由兩條總線供給,而
ALU的輸出則與第三條總線相連,如圖2-4。這樣,算術邏輯操作就可以
在一步控制之內完成。另外,設置了一個總線旁路器。設置總線旁路器
的目的是:如果一個操作數不需要修改,而直接從總線2傳送到總線3,
那么可以通過控制總線旁路器把數據傳出;如果一個操作數傳送時需要
修改,那么就借助于ALU。很顯然,三總線結構的運算器的特點是操作
時間快,但需要總線多。
2.2.1運算器
總線1.
圖2-4三總段構運算器
2.2.2存儲器
?存儲器是計算機的重要組成部分。當利用計算機完成某項任務時,事先把解決問
題的程序和所需數據存于存儲器中,在執行程序時再由存儲器快速地提供給處理
機。顯然,存儲器的功能是存儲信息,保存或“記憶”解題的原始數據和解題步
驟。不論是數據,還是解題步驟,存儲器存儲的全是0或1表示的二進制代碼。用
一個具有兩種穩定狀態的物理器件表示二進制。和1,這種器件稱為記憶元或記憶
單元,它所表示的是二進制數的一位。位是二進制數的最基本單位,也是存儲器
存儲信息的最小單位。一個二進制數由若干位組成,當一個數作為一個整體存入
或讀出時,這個數稱為存儲字。程序和數據以二進制的形式存放在存儲體中,它
是存儲器的核心部分。為了區分存儲體中的所有單元,必須講它們逐一編號。
2.2.2存儲器
目前采用半導體器件來作為存儲器,一個半導體觸發器可以記憶一個二進制代碼,
一個數假定用16位二進制代碼表示,那么就需要有16個觸發器來保存這些代碼。
在存儲器中保存一個數的16個觸發器,稱為一個存儲單元。存儲器是由許多存儲
單元組成,每個存儲單元的編號稱為地址。存儲器所有存儲單元的總數稱為存儲
容量。通常用單位“KB、MB”表示,如64KB,128MB。存儲容量越大,表示計
算機能夠儲存的信息就越多。
2.2.2存儲器
?存儲體和它周圍的邏輯控制線路組成存儲器,從信息流通的角度看,存
儲器的基本結構如圖2-5所示,它由四部分構成:存儲體、存儲器地址寄
存器、存儲器數據寄存器和讀/寫控制線路。
數據.
存儲器數據寄存器.
讀
j
寫
控
<=1讀寫命令3
制
線
路
-.
1
地址代碼,
圖2-5存儲器基本結構圖
2.2.2存儲器
?存儲器有兩種基本的操作:一種是讀操作;一種是寫操作。讀操作是
由中央處理器將地址加載到地址寄存器中,將讀命令加載到讀寫控制
線路上,在讀命令的作用下,存儲器將按照地址寄存器中的地址從相
應的單元中讀出內容送到數據寄存器中。寫操作是由中央處理器將地
址加載到地址寄存器中,將要寫的數據加載到數據寄存器中,然后將
寫命令加載到讀寫控制線路上,在寫命令的作用下,存儲器將數據寫
入地址寄存器所指定的對應單元中去。
?根據存儲材料及使用方法不同,存儲器有各種不同的分類方法。
2.2.2存儲器
?1.按存儲介質分類
?凡是明顯具有兩種狀態的物質和元器件,都可以用來記憶二進制代碼“0”和
“1”。通常把這些物質和元器件稱為存儲介質。
?(1)半導體存儲器:用半導體器件組成的存儲器。一種是雙極型存儲單元,這
種存儲器存取速度快,但是功耗較大,集成度較低;另一種是MOS存儲單元,
其特點是集成度高,功耗小,工藝簡單。雙極型存儲單元多用作快速、小容量
的存儲器。MOS存儲單元多用作大容量的主存。
?(2)磁表面存儲器:用磁性材料做成的存儲器。在磁表面存儲器中,信息記錄
在一薄層磁性材料表面上,隨著載體
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政管理經濟法復習時間安排指南試題及答案
- 房地產土石方運輸協議
- 園林景觀設計在市政中的應用試題及答案
- 城市廣場設計與功能分析試題及答案
- 2024年太陽能熱發電系統投資申請報告代可行性研究報告
- 提升復習效率市政試題及答案技巧
- 板栗釣魚測試題及答案
- 會議室材料采購協議
- 深度復習中級經濟師試題及答案
- 工程經濟考試相關知識的重點試題及答案
- 2025年-重慶市建筑安全員B證考試題庫附答案
- 結腸癌科普知識
- 2025-2031年中國核電用鈦合金管道行業發展前景預測及投資方向研究報告
- 政府項目投資合作框架協議書范本
- 具身智能項目建設規劃方案(參考模板)
- 科學小實驗手搖發電機
- 三類人員安全教育
- 2024電能存儲系統用鋰蓄電池和電池組安全要求
- DB14-T 3225-2025 煤矸石生態回填環境保護技術規范
- 勞務外包服務投標方案(技術標)
- DB33T 1209-2020 無機輕集料保溫板外墻保溫系統應用技術規程
評論
0/150
提交評論