第2章體系結(jié)構(gòu)與組織_第1頁
第2章體系結(jié)構(gòu)與組織_第2頁
第2章體系結(jié)構(gòu)與組織_第3頁
第2章體系結(jié)構(gòu)與組織_第4頁
第2章體系結(jié)構(gòu)與組織_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第2章體系結(jié)構(gòu)與組織

學習目標:

?了解計算機體系結(jié)構(gòu)的發(fā)展、存儲系統(tǒng)的結(jié)構(gòu)與組織、接口與通信等基礎知識。

?掌握數(shù)據(jù)的機器級表示、非數(shù)值數(shù)據(jù)、數(shù)字邏輯與數(shù)字系統(tǒng)、匯編級計算機組成

等基礎知識。

本章主要學習數(shù)值數(shù)據(jù)在計算機中的表示與運算、非數(shù)值數(shù)據(jù)的表示、數(shù)據(jù)的機器編

碼、數(shù)字邏輯與數(shù)字系統(tǒng)、計算機系統(tǒng)的組成等基礎知識。

2.1計算機體系結(jié)構(gòu)的發(fā)展

計算機體系結(jié)構(gòu)是指根據(jù)屬性和功能不同而劃分的計算機組成部,針,.人工如“啟,

分及計算機基本工作原理、理論的總稱,即指適當?shù)亟M織在一起的一

系列系統(tǒng)元素的集合,這些系統(tǒng)元素相互配合、協(xié)作,通過對信息處理而完成預先定義的

目標。計算機體系結(jié)構(gòu)是程序員所看到的計算機的屬性,即計算機的邏輯結(jié)構(gòu)和功能特征,

包括其各個硬件和軟件之間的相互關系。對計算機系統(tǒng)設計者而言,計算機體系結(jié)構(gòu)是指

研究計算機的基本設計思想和由此產(chǎn)生的邏輯結(jié)構(gòu);對程序設計者而言,計算機體系結(jié)構(gòu)

是指對系統(tǒng)功能的描述(如指令集、編制方式等)。亞當(Adam)等人從程序設計角度看到了

計算機的屬性(外特性),并于1964年率先提出計算機系統(tǒng)結(jié)構(gòu)的概念。至今為止,計算機

共經(jīng)歷了四個不同的發(fā)展階段。

1.第一階段

20世紀60年代中期以前,是計算機體系結(jié)構(gòu)發(fā)展的早期。在這個時期通用硬件已經(jīng)

相當普遍,軟件卻是為每個具體應用而專門編寫的,大多數(shù)人認為軟件開發(fā)無須預先計劃。

這時的軟件實際上就是規(guī)模較小的程序,程序編寫起來相對容易,沒有系統(tǒng)化的方法,也

沒有進行任何管理,除了程序清單之外,根本沒有保存其他文檔資料。

2.第二階段

從20世紀60年代中期到70年代中期,多道程序、多用戶系統(tǒng)引入了人機交互的新概

念,開創(chuàng)了計算機應用的新境界,使硬件和軟件的配合上了一個新的層次。這個階段的一

個重要特征是出現(xiàn)了“軟件作坊”,廣泛使用產(chǎn)品軟件。但是,“軟件作坊”基本上仍然

沿用著早期形成的個體化軟件開發(fā)方法。許多程序的個體化特性使得它們最終成為不可維

護的產(chǎn)品,“軟件危機”開始出現(xiàn)。

3.第三階段

從20世紀70年代中期到80年代中期,計算機技術又有了很大進步。分布式系統(tǒng)極大

地增加了計算機系統(tǒng)的復雜性,局域網(wǎng)、廣域網(wǎng)、寬帶數(shù)字通信以及對“即時”數(shù)據(jù)訪問

需求的增加,都對軟件開發(fā)者提出了更高的要求。但是,這個時期軟件仍然主要在工業(yè)界

和學術界應用,個人應用還很少。這個時期的主要特點是出現(xiàn)了微處理器,以微處理器為

核心的“智能”產(chǎn)品精彩紛呈,PC逐漸成為大眾化的商品。

4.第四階段

從20世紀80年代中期開始,人們感受到的是硬件和軟件的綜合效果。由復雜操作系

統(tǒng)控制的強大的桌面機及局域網(wǎng)、廣域網(wǎng)和Internet網(wǎng),與先進的應用軟件相配合,已經(jīng)成

為當時的主流。計算機體系結(jié)構(gòu)已迅速地從集中的主機環(huán)境轉(zhuǎn)變成分布式環(huán)境,集群、網(wǎng)

絡、云計算等概念層出不窮。

2.2數(shù)據(jù)的機器級表示

計算機只能識別二進制編碼的指令和數(shù)據(jù),其他的如數(shù)字、字符、聲音、圖形、圖像

等信息都必須轉(zhuǎn)換成二進制的形式,計算機才能識別和處理。二進制只有兩個狀態(tài)(即o和

1),這正好與物理器件的兩種狀態(tài)相對應,例如電壓信號的高與低、門電路的導通與截止

等。而十進制電路則需要用10種狀態(tài)來描述,這將使電路十分復雜,處理起來也非常困難。

因此,采用二進制將使計算機在物理實現(xiàn)上變得簡單,且具有可靠性高、處理簡單、抗干

擾能力強等優(yōu)點。

2.2.1數(shù)的表示及數(shù)制轉(zhuǎn)換

十進制數(shù)是日常生活中常用的,一直伴隨著人們的生活。在商數(shù)的表示及數(shù)制轉(zhuǎn)換.mp4

代時,我國就已采用了十進制。十進制的記數(shù)法是古代世界中最先

進、最科學的記數(shù)法,對世界科學和文化的發(fā)展起著不可估量的作

用。正如李約瑟(JosephTerenceMontgomeryNeedham,1900—1995)

所說的,“如果沒有這種十進制,就不可能出現(xiàn)我們現(xiàn)在這個統(tǒng)一

化的世界了”。除了十進制外,其他進制,例如十二進制(時鐘)等也

在生活中廣泛使用。在計算機內(nèi)所有的數(shù)據(jù)都是以二進制代碼的形

式存儲、處理和傳送,但是在輸入/輸出或書寫時,為了用戶的方便,李約瑟

也經(jīng)常用到八進制和十六進制。

在十進制(decimal)系統(tǒng)中,進位原則是“逢十進一”.由此可知,在二進制(binary)系

統(tǒng)中,其進位原則是“逢二進一”;在八進制(octal)系統(tǒng)中,其進位原則是“逢八進一”;

在十六進制(hexadecimal)系統(tǒng)中,其進位原則是“逢十六進一”。為了弄清進制的概念及

其關系,故而有必要掌握各種進位制數(shù)的表示方法以及不同進位制數(shù)之間相互轉(zhuǎn)換的方法。

1.數(shù)制的相關概念

在進位記數(shù)的數(shù)字系統(tǒng)中,如果只用R個基本符號(如0,1,2,…,RT)來表示數(shù)值,那

么稱其為“基R數(shù)制”。在各種進制中,基和位權(quán)這兩個基本概念對數(shù)制的理解和多種數(shù)

制之間的轉(zhuǎn)換起著至關重要的作用。

(1)基。稱R為數(shù)制的“基數(shù)”,簡稱“基”或"底”o例如,十進制數(shù)制的基R=10。

(2)位權(quán)。數(shù)值中每一固定位置對應的單位被稱為“位權(quán)”,簡稱“權(quán)”。它以數(shù)制

的基為底,以整數(shù)為指數(shù)組成。例如,一個十進制數(shù)制的位權(quán)為10"I…,103,102,10),10°,

10102,103,…,10%

對十進制數(shù),7?=10,它的基本符號有10個,分別為0,1,2,…,9。對二進制數(shù),R=2,

其基本符號為0和1?

進位記數(shù)的編碼符合“逢R進位”的規(guī)則。各位的權(quán)是R為底的累,一個數(shù)可按權(quán)展

開成多項式。例如,十進制數(shù)523.47可按權(quán)展開如下:

523.47=5X102+2X10'+3x10°+4x10-1+7xl0-2

因此,可將任意數(shù)制的數(shù)N表示為以下通式:

(N)R=D'R"'+D.-R"-'+…+〃?*+&R°+£)「Ri+■■■+D.-RDR1

、/Nmm—\iv-i-Ki

i=-k

式中,(N)R表示R進制的數(shù)N,數(shù)共有機+A+1位,且加和后為正整數(shù);2可以是R進制的

基本符號中的任意一個;R為該進制的權(quán),R為基數(shù)或“底”。

在計算機中常用的數(shù)制有十進制、二進制、八進制、十六進制數(shù)制,它們的基、位權(quán)

及基本符號總結(jié)如表2.1所示。

表2.1各種進制的基、位權(quán)及基本符號

進制名稱基(M位權(quán)基本符號

十進制10-JOMO^IO'JOMO-'JO-2,io-3,-0,12…,9

二進制2…,23,22,2:2。,2-1,2々,2-3,…0,1

八進制8…,83,82,8:8。,8」,8々,8-3,…0,1,2,-,7

十六進制16…,163,162,161160,16116-2,mW…0,l,2,-,9,A,B,C,D,E,F

2.數(shù)制的表示

數(shù)制的表示方法有很多種,常用的有以下兩種。

1)下標法

下標法是指用小括號將所表示的數(shù)括起來,然后在括號外的右下角寫上數(shù)制的基上

例2.1(862)10、(1010.11)2,(356)8、(93BF)i6分別表示一個十進制數(shù)、二進制數(shù)、八

進制數(shù)和十六進制數(shù)。

2)字母法

字母法是指在所表示的數(shù)的末尾加上相應數(shù)制的首字母。進制對應的字母如表2.2所示。

表2.2進制與字母

進制十進制二進制八進制十六進制

所用字母DBOH

八進制的字母0為與數(shù)字零區(qū)別,故而有時用Q表示。而由于生活中常用的數(shù)制為十

進制,因此,對于十進制數(shù),可以省略其后的字母D。

例2.2862D或862、1010.1IB、356Q、93BFH分別表示一個十進制數(shù)、二進制數(shù)、

八進制數(shù)和十六進制數(shù)。

3.數(shù)制間的基本關系

十進制、二進制、八進制和十六進制數(shù)制之間的基本關系如表2.3所示。

表2.3數(shù)制間的基本關系

十進制二進制八進制十六進制

00000000

10001011

20010022

30011033

40100044

50101055

60110066

70111077

81000108

91001119

10101012A

11101113B

12110014C

13110115D

14111016E

15111117F

4.數(shù)制之間的轉(zhuǎn)換

二進制、八進制、十六進制和十進制數(shù)制之間的相互轉(zhuǎn)換有一定的規(guī)律,只要掌握了

它們之間的基本規(guī)律,就很容易進行這些數(shù)制之間的相互轉(zhuǎn)換,具體內(nèi)容如下所述。

1)其他進制數(shù)轉(zhuǎn)換為十進制數(shù)

其他進制轉(zhuǎn)換為十進制的具體轉(zhuǎn)換方法為:相應位置的數(shù)碼乘以對應位的權(quán),再將所

有的乘積進行累加,即得對應的十進制數(shù)。

321123

例2.3(1001.101)2=(1X2+0X2+0X2+1x20+1x2+0x2+1x2)io

=(8+0+0+1+0.5+0+0.125)io

=(9.625)io

例2.4(8A.F)i6=(8xl6l+10xl60+15xl6')io

=(128+10+0.9375)l0

=(138.9375)io

2)二進制數(shù)、八進制數(shù)、十六進制數(shù)之間的轉(zhuǎn)換

八進制數(shù)和十六進制數(shù)是從二進制數(shù)演變而來的。其具體轉(zhuǎn)換方法為:由3位二進制

數(shù)組成1位八進制數(shù),由4位二進制數(shù)組成1位十六進制數(shù)。對于同時有整數(shù)和小數(shù)部分

的數(shù),則以小數(shù)點為界,對小數(shù)點前后的數(shù)分別進行分組處理,不足的位數(shù)用0補足,對

于整數(shù)部分將0補在數(shù)的左邊,對于小數(shù)部分則將0補在數(shù)的右邊。

例2.5(1001.1111)2=(001001.111100)2=(11.74)8

例2.6(11011.1001)2=(00011011.1001)2=(lB.9)i6

例2.7(5A.F3)i6=(01011010.11110011)2=(.)2

3)十進制數(shù)轉(zhuǎn)換為其他進制數(shù)

(1)整數(shù)的轉(zhuǎn)換方法為:除基取余法。即用十進制整數(shù)除以要轉(zhuǎn)換的進制數(shù)的基,取

余數(shù),從低位向高位逐次進行,然后對商繼續(xù)這一操作,直到商為零為止。

例2.8現(xiàn)以(156)io為例,利用除2取余法將其轉(zhuǎn)換為二進制整數(shù)的過程如下:

21156xo=O

2178........xi=0

2|39x2=l

2|19迎=1

2l9X4=\

2|4后=0

212X6=0

I........X7=l

(156)1O=(JC7X6X5X4X3X2X\X0)2

=()2

將除2取余法推廣開來,可以得到將十進制整數(shù)轉(zhuǎn)換為其他進制數(shù)的方法。

(2)小數(shù)的轉(zhuǎn)換方法為:乘基取整法。即將十進制小數(shù)乘以要轉(zhuǎn)換的進制數(shù)的基,取

整數(shù),然后對小數(shù)點后的數(shù)繼續(xù)這一操作,直到小數(shù)點后為零或達到所要求的精度為止。

例2.9以(0.5625)10轉(zhuǎn)化為二進制數(shù)為例,說明其轉(zhuǎn)換過程。

0.5625

x2

1.1250...XT=1

0.1250

x2

0.2500...x-2=0

0.2500

x2

0.5000...x-3=0

0.5000

x2

1.0000...x-4=l

(0.5625)io=(O.x\x2x3x4)2

=(0.1001)2

(3)十進制混合小數(shù)的轉(zhuǎn)換為:將十進制數(shù)的整數(shù)和小數(shù)分別按上述方法進行轉(zhuǎn)換,

然后再組合到一起。十進制混合小數(shù)由整數(shù)和純小數(shù)組成。將十進制數(shù)的整數(shù)部分按除R

取余法轉(zhuǎn)換為R進制的整數(shù)部分,將十進制的純小數(shù)部分按乘R取整法轉(zhuǎn)換為R進制的小

數(shù)部分,然后再將R進制的整數(shù)部分和小數(shù)部分組合起來構(gòu)成R進制混合小數(shù)。

例2.10十進制混合小數(shù)(156.5625),0的整數(shù)部分是156,其純小數(shù)部分是0.5625。將

156用除以2取余法轉(zhuǎn)換得到二進制數(shù)()2,將0.5625用乘2取整法得到二進制數(shù)(0.1001)2,

再將()2和(0.1001)2相加,可以得到(156.5625)10=(.1001)2。

總之,各種進制之間的相互轉(zhuǎn)換關系如圖2.1所示?

八講制乘2取整

竺位對應3位除以2取余力十進制

3位對應1成、^位權(quán)展開

乘R取整

(二進制除以H取余

4位對應1多分

------土)/1位對應4位

十六進制YR進制

圖2.1各種進制之間的相互轉(zhuǎn)換關系

5.計算機使用二進制的優(yōu)點

(1)二進制數(shù)的狀態(tài)簡單,容易實現(xiàn)。二進制中只有o和1兩種狀態(tài),很容易用物理

器件實現(xiàn)。例如,在計算機中常用電位的“高”和“低”、脈沖的“有”和“無”、晶體

管的“導通”和“截止”來表示“1”和“0”。在磁盤中,用鐵氧體磁芯沿不同方向的磁

化等來表示“1”和“0”兩種狀態(tài)。在光盤中,用激光是否在光盤上燒制小的凹坑來表示

“1”和“0”。

(2)邏輯操作簡單。二進制的“1”和“0”兩個數(shù)碼正好與邏輯命題中的“是”和“否”、

“真”和“假”相對應,而布爾代數(shù)中,正好與二進制的操作相對應。因此,用二進制轉(zhuǎn)

換為布爾代數(shù)來進行研究,為程序中的邏輯判斷和實現(xiàn)計算機中的邏輯運算提供了便利條

件,同時也為計算機的邏輯線路設計提供了方便。

(3)二進制的運算規(guī)則簡單。任何進位制進行四則運算時,都需要記住兩個整數(shù)的求

和及乘積的規(guī)則。對于R進制,需要記住RX(R+I)/2個和與積的運算規(guī)則,例如,對于十

進制數(shù)制需要記住10x(10+1)/2=55個和與積的運算規(guī)則(加法表和九九表)。但如果采用二

進制,由于R=2,所以需要記住的運算規(guī)則數(shù)為2x(2+l)/2=3。同

時,0和1這兩個數(shù)進行相加或相乘的運算也極其簡單。

2.2.2數(shù)的原碼、反碼和補碼

一個數(shù)值數(shù)據(jù)要在計算機中進行表示,也應該與實際使用中數(shù)的原碼、反碼和樸碼mp4

的要求相同。數(shù)值數(shù)據(jù)在計算機中的表示必須明確指明符號表示方法和小數(shù)點的位置表示

方法。

在計算機中,數(shù)值數(shù)據(jù)的符號表示方法簡單,計算機中使用二進制。和1,正好與正

號“+”和負號“-”相對應。因此,在計算機中,表示一個數(shù)值數(shù)據(jù)符號的方法是占用

一位二進制數(shù)位,用“0”表示正號,用“I”表示負號。為了區(qū)別符號和數(shù)值,二進制數(shù)

值數(shù)據(jù)在計算機中有原碼、反碼和補碼三種表示方法。

1.真值與機器數(shù)

機器數(shù)是指數(shù)在計算機中的表示形式。為了表示普通的數(shù)與機器數(shù)的對應關系,故而

將普通的數(shù)稱為機器數(shù)的真值。因此,在計算機中只有機器數(shù),不存在數(shù)的真值。

例如,兩個數(shù)M和N2的真值分別為

M:+10H011

N2:-1011011

則所對應的機器數(shù)分別為

N,:01011011

M:11011011

2.原碼

原碼是一種簡單的機器數(shù)表示法,其符號位用0表示正號,用1表示負號,數(shù)值部分

按二進制書寫。

其表示方法:對于最左邊的符號位,若為正數(shù),則原碼符號位為0;若為負數(shù),則符

號位為1,其余的數(shù)值位不變,寫到符號右邊。

整數(shù)的原碼用公式定義如下:

X,0WX<2"

[X]原一(2"_x=2"+|x|,-2"<X<0

小數(shù)的原碼用公式定義如下:

X,0〈X<2"

1-X=1+|X|,-r<x<o

即以]原=符號位+|x|。

例2?11X=+1110,[X]原=01110

X=-1110,[X]原=11110

X=+0.1110,[X]原=0.1110

X=-0.1110,[X]原=1.1110

原碼的特點:數(shù)的原碼與真值之間的關系比較簡單,且與真值的轉(zhuǎn)換也方便。在進行

乘除法運算時,可將符號位和數(shù)值位分開處理,運算結(jié)果的符號可用參加操作的兩個操作

數(shù)符號進行異或運算求得,運算結(jié)果的數(shù)值可由操作數(shù)原碼的數(shù)值部分按乘除規(guī)則運算獲

得,因此,原碼適合于乘除運算。它的最大缺點是在機器中進行加減法運算時比較復雜。

3.反碼

反碼就是把二進制數(shù)按位求反。如果X,=1,則反碼X,.=0;如果X,=0,則反碼X,.=1?

在X,.上面加一橫線表示反碼的意思。

表示方法:對于正數(shù),符號位為0,后面的數(shù)值位不變;若為負數(shù),符號位為I,數(shù)值

位按位求反。

整數(shù)的反碼用公式定義如下:

X,0WXW2"T-l

[X]反='",

2-Sf-l+X,-(2"T-l)WX<0

小數(shù)的反碼用公式定義如下:

_JX,OWX<1

陽反-12-2-"i>+X,-l<X<0

即[X4=(2-2-")x符號位+Xmod(2-2-"),其中,"為小數(shù)點后有效位數(shù)。

例2.12x=+1110,[X]反=01110

X=-1110,[X]反=10001

X-40.1110,[X]反=0.1110

X=-0.1110,[X]反=1.0001

反碼的特點:反碼進行加減運算時,若最高位有進位,則要在最低位加1,此時要多

進行一次加法運算,這樣既增加了運算的復雜性,又影響了速度,因此很少采用0

4.補碼

補碼是一種很好的機器數(shù)表示法。補碼可以將負數(shù)轉(zhuǎn)化為正數(shù),將減法轉(zhuǎn)換為加法,

從而將正負數(shù)的加減運算轉(zhuǎn)化為單純的正數(shù)相加的運算,簡化了判斷過程,提高了計算機

的運算速度,并相應地節(jié)省了設備開銷。因此,補碼是應用最廣泛的一種機器數(shù)表示方法。

表示方法:對于正數(shù),符號位為0,后面的數(shù)值位不變;若為負數(shù),符號位為1,數(shù)值

位按位求反,然后在最末位加1。

整數(shù)的補碼用公式定義如下:

X,0WX<2"

[X%=

2"i+X=2"”-|X|,-1WX<O

小數(shù)的補碼用公式定義如下:

X,OWX<1

[X]補

2+X=2-|X|,-1WX<O

即[X4=2x符號位+X(mod2)。

例2.13X=+1110,[X]撲=01110

X=—1110,—=10010

X=+0.1110,[X]補=0.1110

X=-0.1110,[X]?=i.oolo

補碼的特點:與原碼相比,補碼在數(shù)軸正方向上表示數(shù)的范圍與原碼相同,在負軸方

向上表示數(shù)的范圍比原碼增大了一個單位。

5.三種碼制的比較

數(shù)值數(shù)據(jù)的原碼、反碼和補碼的表示方法有許多異同點,具體內(nèi)容如下所述.

三種碼制的共同點如下。

(1)三種碼制主要是解決數(shù)值數(shù)據(jù)的符號在機器中的表示問題。正數(shù)的原碼、補碼和

反碼都等于真值,而對于負數(shù),表示方法各有不同。

(2)三種碼制中的最高位都表示符號位,其中真值為正數(shù)時,符號位用“0”來表示;

真值為負數(shù)時,符號位用“1”來表示。

三種碼制的相異點如下。

(1)原碼的符號位和數(shù)值位運算必須分開進行,運算完后再組合到一起,計算上不方

便。補碼和反碼的符號位可以和數(shù)值位一起參與運算,方便了計算機的處理。

(2)原碼和反碼對于數(shù)值零各自都有兩種表示方法:[+0]s=00000000B,

[-0]l5i=100000006以及[+0]反=00000000B,[-0],.=11111111B0而補碼則只有唯一的表

示法:[0]后B,這使得補碼的運算更方便。

(3)當需要將較短字長的代碼向高位擴展為較長字長的代碼,或代碼向右移位時,原

碼、補碼和反碼采用的處理方法不同。原碼的方法是符號位固定在最高位,擴展位或數(shù)值

位右移后空出的位填0。而補碼和反碼的方法,則是符號位固定在最高位,擴展位或數(shù)值

位右移后空出的位填寫“與符號位相同的代碼”。

(4)原碼和反碼能表示的正數(shù)和負數(shù)的范圍相對于零是對稱的。例如,對于整數(shù)的表

示,都是±(2"T-1)。然而補碼的負數(shù)表示范圍比正數(shù)表示范圍要寬,能夠多表示一個最小

負數(shù)。例如,對于整數(shù)的表示,其值等于-2"T。

2.2.3定點數(shù)和浮點數(shù)

對于數(shù)值數(shù)據(jù)的小數(shù)點表示方法,在計算機中分為定點數(shù)和浮點數(shù)

定點數(shù)和浮點數(shù).mp4

兩種表示形式。

1.定點數(shù)

定點數(shù)是指計算機在運算過程中,數(shù)據(jù)中小數(shù)點的位置固定不變。小數(shù)點的位置是由

計算機設計者在機器的結(jié)構(gòu)中指定一個不變的位置,并不一定都必須具有小數(shù)點的指示裝

置。定點數(shù)一般有小數(shù)和整數(shù)兩種表示形式。

定點整數(shù)是指所表示的數(shù)都為整數(shù),而小數(shù)點則固定在數(shù)值位最低位之后,其格式為

〃位

________

1

符號位數(shù)值位假想小數(shù)點

即定點整數(shù)用〃位二進制表示一個數(shù),一般選擇最左邊一位作為符號位。若該位為1,

表示該數(shù)為負數(shù);若為0,則表示該數(shù)為正數(shù)。由于小數(shù)點在最低位之后,最低位的位權(quán)

值為2。,因此它所表示的數(shù)都為整數(shù)。

定點小數(shù)是指所表示的數(shù)都為小數(shù),它的小數(shù)點固定在符號位與最左邊的數(shù)值位之間,

其格式為

〃位

-----/X

個個個

符號位假想小數(shù)點數(shù)值位

定點小數(shù)的小數(shù)點位置在數(shù)值位的最左端,即在符號位之后。由于小數(shù)點右邊各位的

位權(quán)值分別為2,29,…,因此它所表示的數(shù)只能是小數(shù)。

如果計算機采用定點整數(shù)表示,則要求參加運算的數(shù)都是大于或等于1的整數(shù)。如果

參加運算的數(shù)有小數(shù)部分,則在送入計算機運算之前,就要乘以一個大于1的比例因子,

將其放大后變?yōu)檎麛?shù)。如果計算機采用定點小數(shù)表示,則參與運算的數(shù)都是小于1的數(shù)。

如果參加運算的數(shù)有整數(shù)部分,那么在送入計算機運算之前,就要乘以一個小于1的比例

因子,將其縮小后變?yōu)樾?shù)。

無論是定點小數(shù)還是定點整數(shù),由于小數(shù)點始終固定在一個確定的位置,所以計算機

在運算時可以直接進行加減運算而不必對位。因此,當參與運算的數(shù)值本身就是定點數(shù)的

形式時,計算就會簡單且方便。但若需要對參加運算的數(shù)進行比例因子的計算,就會增加

額外的計算量。

2.浮點數(shù)

在科學計算和數(shù)據(jù)處理中,經(jīng)常需要處理和計算非常大或者非常小的數(shù)值。定點表示

法表示的數(shù)值有范圍大小的限制,不能夠精確地完成這種數(shù)值的表示。為了表示更大取值

范圍的數(shù),可以采用以下表示方法:

N=M-R*

式中,N為浮點數(shù);例和E為帶符號的定點數(shù),E為階碼;R稱為“階的基數(shù)”(或底)。

尾數(shù)M可用原碼、反碼和補碼三種碼制中的任意一種來表示,可以是整數(shù),也可以是

小數(shù)。目前,大多數(shù)計算機都把M規(guī)定為純小數(shù),把階碼E規(guī)定為純整數(shù)。M中的小數(shù)點可

以隨E值的變化而左右浮動。所以把這種表示法叫作數(shù)的浮點表示法,而這樣的數(shù)又被稱

為浮點數(shù)。

例2.14十進制數(shù)0.可以寫成:

尸=0.00012345

=0.00000012345x!0+3

=0.12345x103

雖然它們的數(shù)字部分都是0.,但因幕次不同,所以表示的數(shù)值差異也很大。同理,二

進制數(shù)也可以寫成以下形式:

011011=0.1101lx2+l01

0.0000011011=0.11011x2-'°'

機器中浮點數(shù)的表示格式分為階碼和尾數(shù)兩部分,其中,階碼一般用定點整數(shù)表示,

尾數(shù)用定點小數(shù)表示。在計算機中的表示格式如下:

N位

階碼符號尾數(shù)符號

----77------/

階碼-------尾數(shù)

其中,階碼占m位(階碼符號占1位),尾數(shù)占n位(尾數(shù)符號占1位),階碼和尾數(shù)共占

N=m+n位o

例2.15要表示真值戶(42)必對某一機器,用N=12位的二進制代碼表示一個浮點數(shù),

階碼為位,尾數(shù)為"=8位,則其浮點數(shù)的表示如下:

x=(42)10=(101010)2

=(0.)x2+ll0

基數(shù)R為2,其基數(shù)都為2。

階碼:+110

尾數(shù):+0.

因此,在機器中如以原碼表示階碼和尾數(shù),則X的浮點可以表示為

01100

階碼尾數(shù)

考慮到表示方便,在階碼與尾數(shù)之間用空格分開,即x的浮點表示形式為

01100.

2.2.4數(shù)據(jù)的機器級編碼和匯編編碼

計算機內(nèi)部的信息分為兩大類,即控制信息和數(shù)據(jù)信息??刂菩畔?/p>

是指揮計算機如何操作的指令,數(shù)據(jù)信息是計算機加工的對象。數(shù)據(jù)的機器級編碼

計算機指令是指揮機器工作的指示和命令,程序是一系列按一定順和匯編編碼.mp4

序排列的指令,執(zhí)行程序的過程就是計算機的工作過程.計算機的工作基本上體現(xiàn)為執(zhí)行

指令,一臺計算機的所有指令的集合構(gòu)成該計算機的指令系統(tǒng)。從設計計算機的角度來看,

機器指令系統(tǒng)提出了對中央處理器(centralprocessingunit,CPU)的功能要求。CPU任務的

大部分實現(xiàn)都涉及機器指令系統(tǒng)的實現(xiàn),所以指令系統(tǒng)與計算機的硬件結(jié)構(gòu)緊密相關。從

用戶角度來看,選取機器語言(實際上是匯編語言)的用戶,必須熟悉所用機器的指令系統(tǒng),

熟悉機器所直接支持的寄存器和存儲器結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu),以及算術邏輯運算單元(arithmetic

andlogicunit,ALU)的功能。

1.數(shù)據(jù)的機器級編碼

計算機是通過執(zhí)行指令序列來解決問題的,因此,每種計算機都有一組指令集供給用

戶使用。計算機中的指令由操作碼字段和操作數(shù)字段兩部分組成。操作碼字段指明計算機

所要執(zhí)行的操作。而操作數(shù)字段則指明在指令執(zhí)行操作的過程中所需要的操作數(shù)。例如,

乘法指令除J'需要指定做乘法操作外,還需要提供被乘數(shù)和乘數(shù)。

計算機只能識別二進制代碼,所以機器指令是由二進制代碼組成的。機器指令由操作

碼和地址碼組成。操作碼規(guī)定CPU執(zhí)行什么操作。地址碼指明源操作數(shù)從哪里取,結(jié)果送

往什么地方以及下一條指令從哪里取。因此,機器指令的基本格式表示如下。

操作碼地址碼

由于機器指令與CPU緊密相關,所以不同種類的CPU所對應的機器指令也就不同,

而且它們的指令系統(tǒng)往往相差很大。但對同一系列的CPU來說,為了使各型號之間具有良

好的兼容性,應做到新一代CPU的指令系統(tǒng)必須包括先前同系列CPU的指令系統(tǒng)。只有

這樣,先前開發(fā)出來的各類程序才能在新一代CPU上正常運行。

機器語言是CPU能直接識別的唯一語言,用來直接描述機器指令、使用機器指令的規(guī)

則等。用機器語言編寫的程序不易讀、出錯率高、難以維護,也不能直觀地反映用計算機

解決問題的基本思路。

2.數(shù)據(jù)的匯編編碼

為便于使用和記憶,一般用匯編語言來代替機器指令進行程序編寫。匯編語言是一種

符號語言,它用助記符來表示操作碼,用符號或符號地址來表示操作數(shù)或操作數(shù)地址。匯

編語言與機器指令是一一對應的,但計算機只能識別機器指令。因此,用匯編指令編寫的

程序必須首先轉(zhuǎn)換為機器指令,然后才能在計算機上執(zhí)行。

匯編語言是一種介于機器語言和高級語言之間的計算機編程語言,它既不像機器語言

那樣直接使用計算機所認識和理解的二進制代碼來構(gòu)成,也不像高級語言那樣獨立于機器

之外直接面向用戶。

用匯編語言編寫的程序叫匯編語言程序,匯編語言的源代碼是用很像英文縮寫的助記

符編寫而成的,因此,較適合英語為第一語言的國家使用。將匯編語言翻譯成機器語言需

要用到匯編程序。

用匯編語言編寫的程序要比用與它等效的高級語言程序生成的目的代碼精簡得多,占

用的內(nèi)存儲器空間少,執(zhí)行的速度快。使用匯編語言編寫程序,最主要的缺點是所編寫的

程序與所要解決的問題的數(shù)學模型之間的關系不直觀,使得編制程序的難度加大,而且編

寫的程序可讀性也差,導致出錯的可能性增加,因此程序設計和調(diào)試的時間較長。同時,

匯編語言程序在不同機器間的可移植性也較差。

2.3非數(shù)值數(shù)據(jù)

在計算機中,除了可以對數(shù)值數(shù)據(jù)進行處理外,還能處理非數(shù)值數(shù)

據(jù)。非數(shù)值數(shù)據(jù)有字符、聲音、圖形、圖像等數(shù)據(jù)信息。由于計算機只非數(shù)值數(shù)據(jù)mp4

處理二進制編碼形式的數(shù)據(jù),因此非數(shù)值數(shù)據(jù)都必須轉(zhuǎn)換為二進制的編碼形式才能提供給

計算機進行處理。

2.3.1文字信息的編碼

文字信息處理是指對語言文字符號系統(tǒng)進行轉(zhuǎn)換、傳輸、存儲、加工、復制等處理的

一種技術,是計算機信息技術的重要應用領域。

在計算機中進行文字處理的主要工作有以下幾種。

(1)語言文字信息的輸入(獲取)。主要包括由鍵盤實現(xiàn)的字符代碼輸入、由語音識別方

法實現(xiàn)的語音輸入、由圖像識別方法實現(xiàn)的書面文字輸入等。

(2)語言文字信息的傳輸(通信)。通過數(shù)據(jù)傳輸設備(由調(diào)制解調(diào)器、編/譯碼器和傳輸

線等組成)傳送數(shù)字信息。

(3)語言文字信息的加工。主要利用計算機作為信息加工設備,使用軟件和接口設備

對信息進行加工。其操作主要包括篩選、編排、分析、存儲、翻譯、還原等。

(4)語言文字信息的輸出。即文字資料的顯示或復制。

文字信息根據(jù)不同國家使用的文字不同進行分類。在我國常用的主要是英文字符和中

文字符兩種形式。

1.英文字符的編碼

在計算機中,對非數(shù)值的文字和其他符號進行處理時,要對文字和符號進行數(shù)字化處

理,即采用二進制編碼來表示文字和符號。字符編碼就是規(guī)定用二進制數(shù)表示文字和符號

的方法。目前,通用的西文字符編碼方法主要為美國國家信息交換標準代碼(American

StandardCodeforInformationInterchange,ASCH),該代碼已被國際標準化組織(International

OrganizationforStandardization,ISO)批準為國際標準,稱為ISO646標準。它適用于所有

的拉丁文字字母,已在全世界通用。我國相應的國家標準是《信息技術信息交換用七位編

碼字符集》(標準號:GB/T1988—1998)?ASCH碼分為7位和8位兩種版本。常用的7位

版是二進制編碼形式,如表2.4所示。

7位ASCII碼的每個字符都由7個二進制位D6、Ds、D4、D3、D2.Di、Do表示,總

共可以組成128種編碼。因此,7位ASCII碼最多可表示128種字符,其中包括10個數(shù)字、

26個小寫字母、26個大寫字母以及各種運算符號和標點符號等。

ASCH碼表中第000?001歹lj、010列第一個字符和最右下角的字符,共34個字符,其

編碼值為0-32和127,是不可顯示或打印的。它們是控制碼,用來控制計算機某些外圍

設備的工作特性和某些計算機軟件的運行情況。例如,CR稱為回車字符,編碼為,是使顯

示器光標或打印機換行的控制字符。

表2.4中第010?111歹U(共6歹I」)中共有94個可打印或顯示的字符,稱為圖形字符。圖

形字符有確定的結(jié)構(gòu)形狀,可在打印機和顯示器等輸出設備上輸出。同時,這些字符均可

在計算機鍵盤上找到相應的鍵,按鍵后就可以將相應字符的二進制編碼輸入計算機內(nèi)。

隨著計算機應用的發(fā)展和深入,7位的字符集已顯得不夠用。為此,國際標準化組織

又制定了ISO2022標準“7位字符集的代碼擴充技術”。它在保持與ISO646兼容的基礎

上,規(guī)定了擴充ASCII字符集8位代碼的方法。當最高位D7置0時,稱為基本ASCII碼(編

碼同7位ASCII碼)。當最高位置1時,形成擴充ASCII碼,它表示數(shù)值的范圍為128?255,

可表示128個字符。

表2.47位版ASCII

D4

000001010011100101110111

D3D2DiDo^\

,

0000NULDLESP0@pP

1

0001SOHDC11AQaq

0010STXDC22BRbr

0011ETXDC3#3CScs

0100EOTDC4$4DTdt

0101ENQNAK%5EUeu

0110ACKSYN&6FVfV

0111BELETB7GWgw

1000BSCAN(8HXhX

1001HTEM)9IYjy

1010LFSUB*JZjz

1011VTESC+K[kI

1100FFFS<L、1I

1101CRGS—M]m)

1110SORS>NTn?

1111SIUS/90<—0DEL

2.漢字字符的編碼

為適應計算機處理漢字信息的需要,我國于1980年3月9日發(fā)布了國家標準《信息交

換用漢字編碼字符集——基本集》(標準號:GB/T2312—1980).它以94個可顯示的ASCH

碼字符為基集,由兩個字節(jié)(Byte,簡稱B)構(gòu)成,每個字節(jié)為7位二進制碼。其中圖形字符

構(gòu)成一個二維平面,它分成94行、94歹!J,行號稱為區(qū)號,列號稱為位號。每一個漢字或

符號在二維平面的碼表中都各自唯一對應一個區(qū)號和位號。區(qū)號在左,位號在右,區(qū)號和

位號合在一起構(gòu)成4位十進制數(shù)碼,叫作該字的區(qū)位碼。該標準規(guī)定了進行一般漢字信息

處理交換用的6763個漢字和682個非漢字圖形字符的代碼,合計7445個。

為了與國際標準一致,漢字又用國標碼來表示。每個漢字的區(qū)號和位號上必須加上

32(十進制數(shù))之后再轉(zhuǎn)換成十六進制數(shù)形式,叫作漢字的國標碼。國標碼用兩個字節(jié)的十

六進制數(shù)表示,例如“中華人民共和國”這幾個字的國標碼分別是“5650H”“3B2AH”

“484BH”“4371H”“3932H”“3A4DH”“397AH”。

2.3.2聲音的編碼

隨著多媒體技術的出現(xiàn),音頻數(shù)據(jù)在計算機中的處理與存儲成為現(xiàn)實。聲音等非數(shù)值

信息也是通過數(shù)值化的方法在計算機里進行表示的。復雜的聲波由許多具有不同振幅和頻

率的正弦波組成,這些連續(xù)的模擬量不能由計算機直接處理,必須將其數(shù)字化后才能被計

算機識別和處理。計算機獲取聲音信息的過程即是聲音信號數(shù)字化的處理過程。聲音被計

算機處理主要經(jīng)過音頻信號的采樣、量化和編碼等過程。在計算機中,存儲聲音的文件格

式有很多,常用的聲音文件擴展名有.wav、.au、.voc、.mp3、.mp4等。

2.3.3圖形數(shù)據(jù)的編碼

隨著信息技術的發(fā)展,越來越多的圖形信息要求用計算機來存儲和處理。在計算機中,

有兩種不同的圖形編碼方式,即位圖編碼和矢量編碼方法。不同的編碼方式會影響圖像的

質(zhì)量、存儲圖像的空間大小、圖像傳送的時間和修改圖像的難易程度。

圖像的存儲方式最直接的就是點陣方式,點陣即點的陣列,陣列中的點稱為像素。圖

像中的像素越多,能表示的細節(jié)(如物體)也就越多;每個像素的表示范圍越大,能表示的

細節(jié)(如顏色、灰度)也就越多。目前,常用的圖像存儲方式很多,GIF(graphicsinterchange

format)和JPEG(jointphotographicexpertsgroup)等格式,這些格式的優(yōu)點是壓縮率高,因此

傳輸速率高。

2.4數(shù)字邏輯與數(shù)字系統(tǒng)

在計算機中,所有的數(shù)據(jù)表示與運算都是用二進制數(shù)進行的,處理二進制數(shù)的基本電

路是邏輯門。早期的邏輯門是由分立元件構(gòu)成的,隨著集成電路技術的發(fā)展,如今邏輯門

均已集成化,成為集成邏輯門。數(shù)字邏輯是數(shù)字電路邏輯設計的簡稱,其內(nèi)容是應用數(shù)字

電路進行數(shù)字系統(tǒng)邏輯設計。用數(shù)字信號完成對數(shù)字量進行算術運算和邏輯運算的電路被

稱為數(shù)字電路,或數(shù)字系統(tǒng)。

2.4.1基本邏輯關系及邏輯門

邏輯門是構(gòu)成數(shù)字電路的基本單元,每一種邏輯門的輸入和輸出之間都

基本邏輯關系

有一定的邏輯關系。邏輯關系都可以用“與”“或”“非”三種基本的邏輯與邏輯門.mp4

運算來表示,而實現(xiàn)這些基本邏輯關系的電路就是邏輯門。最基本的邏輯門

是“與門”“或門”和“非門”。

1.“與”邏輯關系及“與門”

“與”邏輯關系又稱為邏輯乘,運算符號是“A”“n”或“AND”。“與”邏輯

關系可以用串聯(lián)開關電路來說明,如圖2.2所示。燈亮的條件是開關A和3同時連通,否則

燈不會亮?!芭c”運算、“與”邏輯關系或“與門”的運算規(guī)則可表示為:只有當所有的

輸入都為1時,輸出才為1。換言之,當輸入中有一個不為1時,輸出就為0。

“與”邏輯關系用邏輯函數(shù)表示為

F=A-B

讀作“F等于A與8",符號讀作“與”(注意:不能讀作“乘”),可略寫為/勿及

“與”運算的真值表如表2.5所示。

在表2.5中,設開關接通為“1”,斷開為“0”;燈亮為“1”,燈滅為“0”。在數(shù)

字電路中,實現(xiàn)“與”運算的電路稱為“與門”,“與門”的邏輯符號如圖2.3所示。

表2.5“與”運算的真值表

ABF=AB

000

010

100

111

2.“或”邏輯關系及“或門”

“或”邏輯關系又稱為邏輯加,運算符號是“+”“V”“U”或“OR”?!盎颉边?/p>

輯關系可以用并聯(lián)開關電路來說明,如圖2.4所示。燈亮的條件是開關A和B只要有一個

連通即可,只有當開關4和8都不接通時,燈才會不亮?!盎颉边\算、“或”邏輯關系或

“或門”的運算規(guī)則可表示為:只有當所有的輸入都為0時,輸出才為0。換言之,當輸

入中有一個不為0時,輸出就為1。

“或”邏輯關系用邏輯函數(shù)表示為

F=A+B

讀作“F等于A或8",符號“+”讀作“或”(注意:不能讀作“加”)?!盎颉边\算的真

值表如表2.6所示。

在數(shù)字電路中,實現(xiàn)“或”運算的電路稱為“或門”?!盎蜷T”的邏輯符號如圖2.5

所示。

_——------

AR

B—B

F

圖2.2串聯(lián)開關電路圖2.3“與門”的邏輯圖2.4并聯(lián)開關電路圖2.5“或門”的邏輯

符號符號

表2.6“或”運算的真值表

ABF=A+B

000

01

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論