計算機原理與匯編語言(1-3章)_第1頁
計算機原理與匯編語言(1-3章)_第2頁
計算機原理與匯編語言(1-3章)_第3頁
計算機原理與匯編語言(1-3章)_第4頁
計算機原理與匯編語言(1-3章)_第5頁
已閱讀5頁,還剩125頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

江西財經大學信息管理學院

計算機原理

程序設計課程組

江西財經大學信息管理學院計算機原理與匯編語言

;“:一?;二:,_______二;..…

計算機原理與匯編語言

第1章計算機基不山我口識

第2章微型計算機的基本組成部分

第3章微型計算機的基本工作原理

第4章16位微處理器概述

第5章86系列微型計算機的指令系統

第6章微型計算機的程序設計

第7章微型計算機匯編語言及匯編程序

第8章輸入/輸出接口

第9章中斷控制器、計數/定時控制器及DMA控制器

第10章32位微處理器

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics2

江西財經大學信息管理學院計算機原理與匯編語言

第一章計算機基礎知識

第一節數制

第二節邏輯電路

第三節布爾代數

第四節二進制運算及加法電路

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics3

江西財經大學信息管理學院計算機原理與匯編語言

第一章計算機基礎知識

1.1數制

?信息:數值、文字、語言、圖形和圖象

?信息必須數字化編碼,才能傳送、存儲和處理

■任何數,包括數字、字符、漢字、圖形和圖象、聲

音等都以二進制形式表示

?為什么采用二進制?

-物理上最容易實現,用高、低兩個電位表示“1”

和“0”

-二進制其編碼、記數、加減運算規則簡單

-便于邏輯量“是”和“否”的表示

?為什么采用十六進制和八進制?

-便于書寫和記憶

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics4

江西財經大學信息管理學院計算機原理與匯編語言

lo進位計數制

十進制(D)二進制(B)八進制(0)十六進制(H)

0000

1111

21022

31133

410044

510155

611066

711177

81000108

91001119

10101012A

11101113B

12110014C

13110115D

14111016E

15mi17F

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics

江西財經大學信息管理學院計算機原理與匯編語言

2、不同進制之間的轉換

(1)P進制轉換成十進制

只要將各位數碼乘以各自的權值累加即可

(^n■,,■a-m)r

=anxpn+...aoxp°+a.i*p」+...+a.mxp"

42

(10101)B=2+2+2°=21

212

(101.11)B=2+2°+2-+2-=5.75

2

(301)O=3X8+8°=193

1

(71)0=7x8+8°=57

31

(101A)H=1X16+1x16+10x16°=4122

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics6

江西財經大學信息管理學院計算機原理與匯編語言

2、不同進制之間的轉換

■(2)十進制轉換成P進制數

■整數部分不斷除以P取余數,直到商為0.余數從右到左排列,首次取得的余數最右。

■小數部分不斷乘以P取整數,所得的整數從小數點自左到右排列,取有效精度。

■例:(100.345)D0.345

2|100x2

2|5000.690

x2(100)D=(1100100)B

2I2501.380

2|121(0.345b%(0.01011)B

x2

(100.345)"(1100100.01011)

2|600.760DB

x2

2|30

1.520

2|11x2

011.040

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics7

江西財經大學信息管理學院計算機原理與匯編語言

2、不同進制之間的轉換

(3)八/十六進制轉換成二進制

■每一位八進制數用三位二進制數表示

■每一位十六進制數用四位二進制數表示

■注意:整數前的高位零和小數后的低位零可以取消

■(7123)0=(111Q01_010011)B

■7123

■(144)o=(00l100100)B

■144

■(2C1D)H=(0010110000011101)B

■2C1D

■(64)H=(01100100)B

■64

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics8

江西財經大學信息管理學院計算機原理與匯編語言

2、不同進制之間的轉換

(4)二進制轉換成八/十六進制數

以小數點為中心整數部分自右向左進行分組,小數部

分自左向右進行分組。轉換成八進制數三位為一組,轉換

成十六進制數四位為一組,不足時(整數高位,小數低位

)補零。

(1101101110.110101)D=(1556.65)o

155665

(1101101110,110101)D=(36F.D4)H

36FD4

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics9

江西財經大學信息管理學院計算機原理與匯編語言

3、數值數據的表示

(1)機器數

在計算機中,只有“0”和“1”兩種形式,為了表示數

的正、負號,也必須用“0”和“1”來表示。通常把一個數

的最高位定義為符號位,用0表示正,1表示負,稱為數符;

其余位仍表示數值。若一個數占8位,表示形式見下圖。

把在機器中存放的正負號數碼化的數稱為機器數,把機

器外部由正負號表示的數稱為真值數。

例如:真值數(-ooionoo)2,其機器數為loioiioo,

存放在機器中如下圖。|一n|一n|I||n|

數符

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics10

江西財經大學信息管理學院計算機原理與匯編語言

3、數值數據的表示

(2)定點數和浮點數

在機器中,難以表示小數點,故在機器中對小數點

的位置加以規定。因此,又有整數、定點小數和浮點數

之分。

1)整數

整數所表示的最小數據單位為1,可以認為它是小數

點定在數值最低位右邊的一種數據。

整數分為帶符號和不帶符號兩類。

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics11

江西財經大學信息管理學院計算機原理與匯編語言

帶符號整數,符號位被放在最高位。可以寫成:

N-±綜-1&n-2…&2&1&0

/%?14?2%?3匹-4%5徹d

數符小數點

帶符號的整數

對于用n+1位二進表示的帶符號的二進制整數,其值的范圍為:

|N|<2n-l

對于不帶符號的整數,所有的n+1位均看成數值。此數值數據表示的范圍為:

0<N<2n+1-1

知41-141-2^n-3an-4^n-5...a1聞

不帶符號的整數

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics12

江西財經大學信息管理學院計算機原理與匯編語言

3、數值數據的表示

2)定點小數

是指小數點固定在數據某一位置上的小數。一般把小

數點固定在最高數據位的左邊,小數點前邊再設一位符號

位。見圖4,稱為定點小數。按此規則,任一小數都可以

寫成如下的形式:

N一,&-m

a.ia-m

數符小數點

對于用m+1個二進制位表示的小數來說,其值范圍為:

|N|<l-2-m

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics13

江西財經大學信息管理學院計算機原理與匯編語言

3、數值數據的表示

3)浮點數的表示方法

任何一個二進制浮點數可表示為:

N=±Sx2±j

其中j稱為N的階碼,j前面的正負號稱階符,S稱為N

的尾數,S前面的正負號稱為數符。在浮點表示法中,小

數點的位置是浮動的,階碼j可取不同的數值。如二進制

數no.on可表示為:

N=110.011=1.10011X2+2=11001.1X2-2=0.110011X2+3

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics14

江西財經大學信息管理學院計算機原理與匯編語言

3、數值數據的表示

為了在計算機中存放的方便和提高精度,必須用規格化

形式唯一地表示一個浮點數。規格化形式規定的尾數值的最

高位為L對上述數no.on,其規格化浮點數形式唯一地表

示為:0.110011x2-3,一般浮點數的存放形式如下圖。

階符階碼數符尾數

浮點數存儲格式

在浮點表示中,數符和階符都各占一位,階碼是定點整

數,階碼的位數決定了表示數的范圍,尾數是定點小數,尾

數的位數決定了數的精度。

如二進制N=-0.1011x2n,在機器中表示為:

0ll11011

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics15

江西財經大學信息管理學院計算機原理與匯編語言

3、數值數據的表示

(3)機器數的表示(原碼、反碼和補碼)

我們以整數為例,假定字長為8位。

1)原碼

用機器數的最高位代表符號,其余各位給出數值和絕對值。

例如:[+1]^=00000001[+127]原=01111111

[-1]原=10000001[-127]原=11111111

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics16

江西財經大學信息管理學院計算機原理與匯編語言

3、數值數據的表示

3)補碼

對于正數與原碼相同;對于負數,數符位為1,其數值

位的絕對值取反最右加1。

例如:[+1]補=00000001[+127]補=01111111

[-1[-127]補=10000001

補碼的運算方便,二進制的減法可用補碼加法實現,所

以使用較廣泛。

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics17

江西財經大學信息管理學院計算機原理與匯編語言

第一章計算機基礎知識

1.2邏輯電路

邏輯電路由三種基本電路組成。

非IJA1r\____V

個(反相器)4---------1°

門A------

Y

或門B>1----

A

與門YY^AB

B

二*

江西財經大學信息管理學院計算機原理與匯編語言

1.2邏輯電路

A.

或非門Y=A+B

aD

71~

與非門Y^AXB

B.■—■■■■

異或門4-------

門MMMMMaaawy=4@B

(異門)B-------

^AB^AB

路/彳飛)

異或非門A-------'z

(同門)5,■■1.Y=V十//—'-—,

=AB+W

X-e’

緩沖器4

(變阻器)AYY=A

江西財經大學信息管理學院計算機原理與匯編語言

第一章計算機基礎知識

1.3布爾代數

y=/U,B,C,D)

兩個特點:

第一,其中的變量A,5,C,。…等均只有兩種可能的數值:o或lo

布爾代數變量的數值并無大小之意,只代表事物的兩個不同性質,如

用于開關上,則,

0代表關(斷路)或低電位

1代表開(通路)或高電位

如用于邏輯推理,則:

0代表錯誤(偽)

1代表正確(真)

第二,函數f只有三種基本方式:“或”運算,“與”運算及“反”運算。

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics20

江西財經大學信息管理學院計算機原理與匯編語言

1.3邏輯電路

1.3.1“或”運算(Y=A+B)

由于A與5只有0或1的可能取值,

所以可以將其各種可能結果列寫如下:

y=O+O=OT=O

y=o+i="

y=l+O=lf丫=1

V=I+I=L

y也只能有兩種數值:o或1。

歸納:兩者皆偽者則結果必偽,

有一為真者則結果必真。

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics21

江西財經大學信息管理學院計算機原理與匯編語言

1.3邏輯電路

推廣至多變量:A,5,。,。…,

各變量全偽者則結果必偽,有一為真者則結果必真

設y=a+B+C+O+…

貝!|y=o+OH---FO=O-*y=O

V=1+OH---1-0=1'

y=o+i+???+o=i

-y=l

y=i+i+i…+1=1,

在多輸入的“或”門電路中,

只要其中一個輸入為1,則其輸出必為io

只有全部輸入均為o時,輸出才為o0

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics22

江西財經大學信息管理學院計算機原理與匯編語言

當A和5為多位二進制數時,如

A=AA2A3…4

B=B1B?B3…Bn

則進行“邏輯或”運算時,各對應位分別進行“或”運算;

Y=A+6

=(41+51)(4+82)(4+53)…(4+瓦)

【例】設4=10101

6=11011

貝!1Y=A+B

=(1+1)(0+1)(1+0)(0+1)(1+1)

=11111

寫成豎式則為:

10101

+)11011

r-i""1i~~~

注意,1“或”i等于1,是沒有進位的。

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics23

江西財經大學信息管理學院計算機原理與匯編語言

1.3邏輯電路

1.3.2“與”運算(Y=AxB)

根據A和2的可能取值(0或1)

可以列寫出下列各種可能的運算結果:

y=oxo=o]

y=ixo=o

y=oxi=oJ

y=ixi=1-y=i

歸納:二者為真者結果必真,

有一為偽者結果必偽。

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics24

江西財經大學信息管理學院計算機原理與匯編語言

1.3邏輯電路

推廣至多變量:各變量均為真者結果必真,

有一為偽者結果必偽。

設Y^AXBXCXDX???

貝]y=oxox…X0=0、

y=ixox…xo=o

=0

y=oxix…xo=o

y=ixix!???x1=1-y=i

在多輸入“與''門電路中,

只要其中一個輸入為0,則輸出必為0,

只有全部輸入均為1時,輸出才為lo

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics25

江西財經大學信息管理學院計算機原理與匯編語言

當A和月為多位二進制數時,如

A=A1A2A3***An

B=B1B2B3***B?

則進行“邏輯與”運算時,各對應位分別進行“與”運算:

y=AXB

=(AiXB\)(A?X)(A3XB3)???(A”XBn)

【例】設>1=11001010

5=00001111

貝ljY=AXB

=(1X0)(IX0X0X0)(OX0)(1XI)(OX1)(1XI)(0X1)

=00001010

寫成豎式則為11001010

義)00001111

0000~1010

用“0”去和一個數位相“與”,就是將其“抹掉”而成為“0”,

用“1”去和一個數位相“與”,就是將此數位“保存”下來。

這種方法在計算機的程序設計中經常會用到而稱為“屏蔽”。

B數(00001111)則稱為“屏蔽字”,它將A數的高4位給

屏蔽起來而都變成0了。

School26

江西財經大學信息管理學院計算機原理與匯編語言

!!,!;-:--

1.3邏輯電路

1.3.3"反''運算(Y=A)

Y=A

當A為多位數時,如

A=A42A3…4

則其“邏輯反"為…4

【例】設4=11010000

則y=ooiomi

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics27

江西財經大學信息管理學院計算機原理與匯編語言

1.3.4布爾代數的基本運算規律

1.恒等式

A?0=0A,1=月A?A=A

A+O=AA+l=lA+A=A

==e

A+A=lA?A—0A=A

2.運算規律

與普通代數一樣,布爾代數也有交換律、結合律、分配律,

而且它們與普通代數的規律完全相同。

交換律A?B—B?A

A+B=B+A

結合律(AB)C=A(BC)=ABC

(A+B)+C=A+(B+C)=A+B+C

分配律A(B+C)=AB+AC

(4+6)(C+JD)=AC+AD+BC+BD

江西財經大學信息管理學院計算機原理與匯編語言

利用運算規律及恒等式,化簡邏輯關系式。

【例1】A+AB=AC1+B)=A

A+AB=A+AB+AB=A+(A+A)B=A+B

【例2】如果原設計繼電器線路如圖,現用邏輯關系,化簡線路。

(a)(b)

用布爾代數化簡繼電器線路

把圖中觸點(如同開關)和燈的關系用布爾代數表達出來:

Y=CA+AB)?B

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics29

江西財經大學信息管理學院計算機原理與匯編語言

!!,!;-:--

第一章計算機基礎知識

1.4二進制的運算及其加法電路

1.4.1二進制數的相加

S)

(a)

1A01A

十)1B+)1oB

10S11S

進位

(c)(d)

IItI

?1::1:c

11A011A

+)11B=>+)011B

110S110S

進位進位

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics30

江西財經大學信息管理學院計算機原理與匯編語言

(1)兩個二進制數相加時,可以逐位相加。如二進制數可以寫成:

A.=A^A,2.A.\A.Q

B=B3B2B1B0

則從最右邊第一位(即0權位)開始,逐位相加,其結果可以寫成:

S=S3S2Si?So

其中各位是分別求出的:

So=A°+及一進位G

S】=Ai+B+G—進位C2

S2=Az+B+C2-進位C3

S3=4+B3+C3一進位C4

而最后所得的和就是:

C4s3s2sls0=4+5

(2)右邊第一位相加的電路要求:

輸入量為兩個,即A。及5。

輸出量為兩個,即S。及C1

這樣的一個二進制位相加的電路稱為半加器(HalfAdder)0

(3)右邊第二位開始,各位可以對應相加。各位對應相加時的電路要求:

輸入量為三個,即4,B,G

輸出量為兩個,即Si,G+1

其中,=1,2,3,…這樣的一個二進制位相加的電路稱為全加器(FullAdder)o

School31

江西財經大學信息管理學院計算機原理與匯編語言

要求:有兩個輸入端,以供兩個代表數字04。,8。)的電位輸入;

有兩個輸出端,用以輸出總和S。及進位

G與4及3。之關系,是“與”的關系,即:

2Ci=AQXBo

S。與月。及其之關系,是“異或”的關系,即:

半So

=240石0+40^)

即只有當Ao及Bo二者相異時,才起到或的作用;二者相同時,則其結果為0。

用“與門”及“異或門”(或稱“異門”)來實現真值表的要求。

半加器的真值表及電路

■I-4-.

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics32

江西財經大學信息管理學院

■*―i--}|-計算機原理與匯編語言

1.4.3全加器電路

要求:有二個輸入端,以輸入Ai>Bi和C,有兩個輸出端,即Si及C,+io

普產f“簟分析可見,其總和S,可用“異或門,,來實現,而其進位°二則。

可以用二個“與門”及一個“或門”來實現。口…川

如何判斷多輸入的“異或門”的輸入與輸出的關系呢?

則輸意暨六晨奉鬻二念…中為T的輸入量的個數為零及偶數時,

貝」輸出為0;為奇數時,則輸出為1。

真值表

s.

AiBCtC+iAtBiCi

oo000

ooi01

01001

Oil10

10001

10110

1101

k

11111

先“與”

“異或”

后“或”

全加器的真值表及電路

A一?一…一七?''

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics

江西財經大學信息管理學院計算機原理與匯編語言

_______________________________________

1.4.4半加器及全加器符號

半加器及全加器的符號

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics34

江西財經大學信息管理學院計算機原理與匯編語言

1.4.5二進制的加法電路

設A=1O1O=1O(IO

5=1011=11(10)

則可安排如下的加法電路

4位的二進制加法電路

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics35

江西財經大學信息管理學院計算機原理與匯編語言

!!,!;-:--

1.4.6二進制數的減法運算

【例1】求y=8(io)—4(io)=?

解:因為A=8(IO)=1OO(\2)

-B=4(io)=0100(2)

則Br=1011+1=1100⑵

于是y=A—5

=A+B'

=1000+1100

0100

—進位,應舍去

=0100⑵=4(10)

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics

江西財經大學信息管理學院計算機原理與匯編語言

!!,!;-:--

【例2】求y=F(H)—A(H)=?(即求15減10之差)

設A=F(H)=1111(B)==15(D)

B=4(H)=1010(B)=10(D)

則B'=0101+1=0110?

:.Y=1111+0110

=11\0101

=—進位,舍去

―0101(B)(結果為5)

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics37

江西財經大學信息管理學院--.計算機原理與匯編語言

1.4.7可控反相器及加法/減法電路

利用補碼可將減法變為加法來運算,因此需要有這么一個電路,它能將原碼

變成反碼,并使其最小位加1。Bo

可控反相器就是為了使原碼變為反碼而設計的。

將SUB端看作控制端,則當在SUB端加上低電位時,

=1

y端的電平就和耳端的電平相同。在SUB端加上高電平,

則y端的電平和風端的電平相反。Yo

可控反相器

SUBBoYy與&的關系

00y與&相同同

0

11y與風相同

01y與國相反反

1

10丫與以相反

38

當SUB=O時,電路作加法運算:A+B

當SUB=1時,電路作減法運算:A—B

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics39

江西財經大學信息管理學院計算機原理與匯編語言

第二微型計算機的基本組成電路

第一節算術邏輯運算單元

第二節觸發器

第三節寄存器

第四節三態輸出電路

第五節總線結構

第六節存儲器

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics40

江西財經大學信息管理學院計算機原理與匯編語言

第二章微型計算機的基本組成電路

2.1算術邏輯單元(ALU)

二進制數的運算電路只能算加法。增加可控反相器后,又能進行減法,所以

二進制補碼加法器/減法器就是最簡單的算術部件。

利用適當的軟件配合,乘法也可以變成加法運算,除法也可變成減法運算。

如果在這個基礎上,增加一些門電路,也可使簡單的ALU進行邏輯運算。

所謂邏輯運算就是指“與”運算和“或”運算。

A£

UUA和B為兩個二進制數

ALUControlS為其運算結果

Control為控制信號

ALU的符號

SchoolofInformationTechnology,JiangxiUniversityofFinance&Economics41

江西財經大學信息管理學院計算機

溫馨提示

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

評論

0/150

提交評論