計(jì)算機(jī)組成原理答案_第1頁
計(jì)算機(jī)組成原理答案_第2頁
計(jì)算機(jī)組成原理答案_第3頁
計(jì)算機(jī)組成原理答案_第4頁
計(jì)算機(jī)組成原理答案_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)組成原理答案

1.4教材習(xí)題解答

1.電子數(shù)字計(jì)算機(jī)和電子模擬計(jì)算機(jī)的區(qū)別在哪里?

解:電子數(shù)字計(jì)算機(jī)中處理的信息是在時(shí)間上離散的數(shù)字量,運(yùn)算的

過程是不連續(xù)

的;電子模擬計(jì)算機(jī)中處理的信息是連續(xù)變化的物理量,運(yùn)算的過程

是連續(xù)的。

2.馮?諾依曼計(jì)算機(jī)的特點(diǎn)是什么?其中最主要的一點(diǎn)是什么?

解:馮?諾依曼計(jì)算機(jī)的特點(diǎn)如下:

①計(jì)算機(jī)(指硬件)應(yīng)由運(yùn)算器、存儲(chǔ)器、控制器、輸入設(shè)備和輸

出設(shè)備五大基本部件

組成;

②計(jì)算機(jī)內(nèi)部采用二進(jìn)制來表示指令和數(shù)據(jù);

③將編好的程序和原始數(shù)據(jù)事先存入存儲(chǔ)器中,然后再啟動(dòng)計(jì)算機(jī)

工作。

第③點(diǎn)是最主要的一點(diǎn)。

3.計(jì)算機(jī)的硬件是由哪些部件組成的?它們各有哪些功能?

解:計(jì)算機(jī)的硬件應(yīng)由運(yùn)算器、存儲(chǔ)器、控制器、輸入設(shè)備和輸出設(shè)

備五大基本部件

組成。它們各自的功能是:

①輸入設(shè)備:把人們編好的程序和原始數(shù)據(jù)送到計(jì)算機(jī)中去,并且

將它們轉(zhuǎn)換成計(jì)

算機(jī)內(nèi)部所能識(shí)別和接受的信息方式。

②輸出設(shè)備:將計(jì)算機(jī)的處理結(jié)果以人或其他設(shè)備所能接受的形式

送出計(jì)算機(jī)。

③存儲(chǔ)器:用來存放程序和數(shù)據(jù)。

④運(yùn)算器:對信息進(jìn)行處理和運(yùn)算。

⑤控制器:按照人們預(yù)先確定的操作步驟,控制整個(gè)計(jì)算機(jī)的各部

件有條不紊地自

動(dòng)工作。

4.什么叫總線?簡述單總線結(jié)構(gòu)的特點(diǎn)。

解:總線是一組能為多個(gè)部件服務(wù)的公共信息傳送線路,它能分時(shí)地

發(fā)送與接收各

部件的信息。單總線結(jié)構(gòu)即各大部件都連接在單一的一組總線上,這

個(gè)總線被稱為系統(tǒng)

總線。CPU與主存、CPU與外設(shè)之間可以直接進(jìn)行信息交換,主存與

外設(shè)、外設(shè)與外設(shè)

之間也可以直接進(jìn)行信息交換,而無須經(jīng)過CPU的干預(yù)。

概論

第1

95.簡單描述計(jì)算機(jī)的層次結(jié)構(gòu),說明各層次的主要特點(diǎn)。

解:現(xiàn)代計(jì)算機(jī)系統(tǒng)是一個(gè)硬件與軟件組成的綜合體,可以把它看成

是按功能劃分

的多級層次結(jié)構(gòu)。

第0級為硬件組成的實(shí)體。

第1級是微程序級。這級的機(jī)器語言是微指令集,程序員用微指令

編寫的微程序一

般是直接由硬件執(zhí)行的。

第2級是傳統(tǒng)機(jī)器級。這級的機(jī)器語言是該機(jī)的指令集,程序員用

機(jī)器指令編寫的

程序可以由微程序進(jìn)行解釋。

第3級是操作系統(tǒng)級。從操作系統(tǒng)的基本功能來看,一方面它要直

接管理傳統(tǒng)機(jī)器

中的軟硬件資源,另一方面它又是傳統(tǒng)機(jī)器的延伸。

第4級是匯編語言級。這級的機(jī)器語言是匯編語言,完成匯編語言

翻譯的程序叫做

匯編程序。

第5級是高級語言級。這級的機(jī)器語言就是各種高級語言,通常用

編譯程序來完成

高級語言翻譯的工作。

第6級是應(yīng)用語言級。這一級是為了使計(jì)算機(jī)滿足某種用途而專門

設(shè)計(jì)的,因此這

一級語言就是各種面向問題的應(yīng)用語言。

6.計(jì)算機(jī)系統(tǒng)的主要技術(shù)指標(biāo)有哪些?

解:計(jì)算機(jī)系統(tǒng)的主要技術(shù)指標(biāo)有:機(jī)器字長、數(shù)據(jù)通路寬度、主存

容量和運(yùn)算速

度等。

機(jī)器字長是指參與運(yùn)算的數(shù)的基本位數(shù),它是由加法器、寄存器的位

數(shù)決定的。

數(shù)據(jù)通路寬度是指數(shù)據(jù)總線一次所能并行傳送信息的位數(shù)。

主存容量是指主存儲(chǔ)器所能存儲(chǔ)的全部信息量。

運(yùn)算速度與機(jī)器的主頻、執(zhí)行什么樣的操作、主存本身的速度等許多

因素有關(guān)?!?/p>

2.4教材習(xí)題解答

1.設(shè)機(jī)器數(shù)的字長8位(含1位符號(hào)位),分別寫出下列各二

進(jìn)制數(shù)的原碼、補(bǔ)碼和

反碼:0,—0,0.1000,—0.1000,0.1

111,-0.1111,1101,-1101o

解:

真值原碼補(bǔ)碼反碼

0

-0

0.1000

-0.1000

0.1111

-0.1111

1101

-1101

00000000

10000000

0.10000001.1000000

0.1111000

1.1111000

00001101

10001101

00000000

00000000

0.10000001.1000000

0.1111000

1.0001000

00001101

11110011

00000000

11111111

0.10000001.0111111

0.1111000

1.0000111

00001101

11110010

2.寫出下列各數(shù)的原碼、補(bǔ)碼和反碼:7

16,4

16,1

16,±0,—1

16,—4

16,-7

16o

解:7

16=7X2-4=0.0111

4

16=4X2-4=0.0100

1

16=1X2-4=0.0001

數(shù)據(jù)的機(jī)器層次表示

第2

,zCzi

33真值原碼補(bǔ)碼反碼

7160.01110.01110.0111416

0.01000.01000.01001160.00

010.00010.000100.00000.00

000.0000-01.00000.00(01.1

111-1161.00011.11111.1110-

41610100111001.1011-716

1.01111.10011.10003.已知下列

數(shù)的原碼表示,分別寫出它們的補(bǔ)碼表示:[XI]0.10

100,[X2]原=

1.101110

解:[XI]補(bǔ)=0.10100,[X2]補(bǔ)=1.0100

1O

4.已知下列數(shù)的補(bǔ)碼表示,分別寫出它們的真值:[X1]補(bǔ)=

0.10100,[X2]補(bǔ)=

1.10111O

解:XI=0.10100,X2=-0.01001o

5.設(shè)一個(gè)二進(jìn)制小數(shù)XN0,表示成X=0.a1a2a3a

4a5a6,其中al?a6取“1”或“0”:

(1)若要X>12

,al?a6要滿足什么條件?

(2)若要X218

,al?a6要滿足什么條件?

(3)若要

14

NX>1

16,al?a6要滿足什么條件?

解:(1)X>12

的代碼為:0.100001—0.111111。

a1=1,a2+a3+a4+a5+a6=1。

(2)X218

的代碼為:

0.00100018

0.11111163

64

a1+a2=0,a3=1或al=0,a2=1或

a1=1o

計(jì)算機(jī)組成原理教師用書

34(3)14

2X>1

16的代碼為:

0.0001015

64

0.01000014

al+a2+a3=0,a4=1,a5+a6=1或

a1+a2=0,a3=1或a2=1,a1+a3+a

4+a5+

a6=0o

6.設(shè)[X]原=1.a1a2a3a4a5a6,

(1)若要X>-12

,al?a6要滿足什么條件?

(2)若要一18

NXN—14

,al?a6要滿足什么條件?

解:(1)X>-12

的代碼為:

1.000001-1

64

1.011111-31

64

al=0,a2+a3+a4+a5+a6=1o

(2)-18

2X2—14

的代碼為:

1.001000-18

1.001001-9

64

1.001111-15

64

1.010000-14

a1+a2=0,a3=1或a21,a1+a3+

a4+a5+a6=0。

7.若上題中[X]原改為[X]補(bǔ),結(jié)果如何?

解:設(shè)[X]補(bǔ)=1.a1a2a3a4a5a6,

(1)X>-12

的代碼為:

數(shù)據(jù)的機(jī)器層次表示

第2

351.100001-31

64

1.111111-1

64

a11,a2+a3+a4+a5+a61

(2)-18

2X2—14

的代碼為:

1.110000-14

1.110001-15

64

1.110111-9

64

1.111000-18

a1?a2=1,a3=0或al?a2?a3=1,a

4+a5+a6=0。

8.一個(gè)n位字長的二進(jìn)制定點(diǎn)整數(shù),其中1位為符號(hào)位,分別

寫出在補(bǔ)碼和反碼兩

種情況下:

(1)模數(shù);(2)最大的正數(shù);

(3)最負(fù)的數(shù);(4)符號(hào)位的權(quán);

(5)-1的表示形式;(6)0的表示形式。

解:

項(xiàng)目補(bǔ)碼反碼

模數(shù)Mod2nMod(2n-1)

最大的正數(shù)2n—1—12n—1—1最負(fù)的數(shù)一2n—

1—(2n—1—1)

符號(hào)位的權(quán)2n—12n—1

-1的表示形式11111111111111100的表示

形式0000000000000000

111111119.某機(jī)字長16位,問在下列幾種情況

下所能表示數(shù)值的范圍:

計(jì)算機(jī)組成原理教師用書

36(1)無符號(hào)整數(shù);

(2)用原碼表示定點(diǎn)小數(shù);

(3)用補(bǔ)碼表示定點(diǎn)小數(shù);

(4)用原碼表示定點(diǎn)整數(shù);

(5)用補(bǔ)碼表示定點(diǎn)整數(shù)。

解:(1)OWXW(216-1)

(2)-(1-2-15)WXW(1-2-15)

(3)—1WXW(1-2-15)

(4)-(215-1)WXW(215-1)

(5)—215WXW(215-1)

10.某機(jī)字長32位,試分別寫出無符號(hào)整數(shù)和帶符號(hào)整數(shù)(補(bǔ)

碼)的表示范圍(用十

進(jìn)制數(shù)表示)。

解:無符號(hào)整數(shù):OWXW(232-1)o

補(bǔ)碼:一231WXW(231-1)o

11.某浮點(diǎn)數(shù)字長12位,其中階符1位,階碼數(shù)值3位,數(shù)

符1位,尾數(shù)數(shù)值7位,階

碼以2為底,階碼和尾數(shù)均用補(bǔ)碼表示。它所能表示的最大正數(shù)是

多少?最小規(guī)格化正

數(shù)是多少?絕對值最大的負(fù)數(shù)是多少?

解:最大正數(shù)=(1—2—7)X223—1=11—

2-7)X27=127o

最小規(guī)格化正數(shù)=2-1X2—23=2—1X2

-8=2-9=1

512o

絕對值最大的負(fù)數(shù)=-1X223-1=-1X27

=—128o

12.某浮點(diǎn)數(shù)字長16位,其中階碼部分6位(含1位階符),

移碼表示,以2為底;尾

數(shù)部分10位(含1位數(shù)符,位于尾數(shù)最高位),補(bǔ)碼表示,規(guī)

格化。分別寫出下列各題的二

進(jìn)制代碼與十進(jìn)制真值。

(1)非零最小正數(shù);

(2)最大正數(shù);

(3)絕對值最小負(fù)數(shù);

(4)絕對值最大負(fù)數(shù)。

解:(1)非零最小正數(shù):000000,0,10000000

0;2-lX2-25=2-33o

(2)最大正數(shù):111111,0,111111111;(1

-2-9)X225-1=(1-2-9)X2

31o

(3)絕對值最小負(fù)數(shù):000000,1,01111111

1;-(2-1+2-9)X2-25o

(4)絕對值最大負(fù)數(shù):111111,1,00000000

0;-lX225-l=-231o

13.一浮點(diǎn)數(shù),其階碼部分為p位,尾數(shù)部分為q位,各包含1

位符號(hào)位,均用補(bǔ)碼表

示;尾數(shù)基數(shù)r=2,該浮點(diǎn)數(shù)格式所能表示數(shù)的上限、下限及

非零的最小正數(shù)是多少?寫

數(shù)據(jù)的機(jī)器層次表示

第2

37出表達(dá)式。

解:上限(最大正數(shù))=(1-2-(q-1))X2

2(p—1)—1o

下限(絕對值最大負(fù)數(shù))=-1X22(p-1)-1o

最小正數(shù)=2—(q—1)X2—2(p—1)o

最小規(guī)格化正數(shù)=2-1X2-2(p-1)o

14.若上題尾數(shù)基數(shù)r=16,按上述要求寫出表達(dá)式。

解:上限(最大正數(shù))=(1-2-(q-1))X1

62(p—1)—1o

下限(絕對值最大負(fù)數(shù))=-lX162(p-l)-lo

最小正數(shù)=2—(q—1)X16—2(p—1)o

最小規(guī)格化正數(shù)=16—1X16—2(p—1)o

15.某浮點(diǎn)數(shù)字長32位,格式如下。其中階碼部分8位,以

2為底,移碼表示;尾數(shù)

部分一共24位(含1位數(shù)符),補(bǔ)碼表示?,F(xiàn)有一浮點(diǎn)代碼為

(8C5A3E00)16,試寫出它所

表示的十進(jìn)制真值。

0789

3

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

解:(8C5A3E00)16=1000110001011

010001111100000000OB,

0.10110100011111X212=(10110

1000111.11)2=(2887.75)10o

16.試將(一0.1101)2用IEEE短浮點(diǎn)數(shù)格式表示

出來。

解:0.1101=1.101X2—1。

符號(hào)位=1。

階碼=127-1=126o

1,01111110,101000000000000000

000000

結(jié)果=BF500000Ho

17.將下列十進(jìn)制數(shù)轉(zhuǎn)換為IEEE短浮點(diǎn)數(shù):

(1)28.75;

(2)624;

(3)-0.625;

(4)+0.0;

(5)-1000.5o

解:(1)28.75=11100.11=1.1100

11X24o

符號(hào)位=0o

階碼=127+4=131o

0,10000011,110011000000000000

00000o

計(jì)算機(jī)組成原理教師用書

38結(jié)果=41E60000Ho

(2)624=1001110000=1.0011100

00X29o

符號(hào)位=0。

階碼=127+9=136。

0,10001000,001110000000000000

00000o

結(jié)果=441C0000Ho

(3)-0.625=-0.101=-1.01X2

—1O

符號(hào)位=1O

階碼=127-1=126o

1,01111110,010000000000000000

00000O

結(jié)果=BF200000Ho

(4)+0.0o

結(jié)果=0000000OHo

(5)-1000.5=1111101000.1=1.1

111010001X29o

符號(hào)位=1。

階碼=127+9=136o

1,10001000,111101000100000000

000000

結(jié)果=C47A200OHo

18.將下列IEEE短浮點(diǎn)數(shù)轉(zhuǎn)換為十進(jìn)制數(shù):

(1)1100000011110000000000000

0000000;

(2)0011111100010000000000000

0000000;

(3)0100001110011001000000000

0000000

(4)0100000000000000000000000

0000000

(5)0100000100100000000000000

0000000

(6)0000000000000000000000000

0000000o

解:(1)1,10000001,1110000000000

0000000000

符號(hào)位=1o

階碼=1291272o

1111X221111B7.5o

所以結(jié)果=7.5o

(2)0,01111110,00100000000000

000000000

符號(hào)位=0。

階碼=1261271

1.001X210.1001B=05625o

數(shù)據(jù)的機(jī)器層次表示

第2

39所以,結(jié)果=0.5625o

(3)0,10000111,00110010000000

000000000

符號(hào)位=0O

階碼=13512780

1.0011001X28100110010B30

6o

所以,結(jié)果=306o

(4)0,10000000,00000000000000

000000000

符號(hào)位=0o

階碼=128-127=1o

1.0X21=1OB=2o

所以,結(jié)果=2o

(5)0,10000010,01000000000000

000000000

符號(hào)位=0o

階碼=130-127=3o

1.01X23=1010B=10o

所以,結(jié)果=10o

(6)0,00000000,00000000000000

000000000

階碼和尾數(shù)都等于全0,結(jié)果=0o

19.對下列ASCH碼進(jìn)行譯碼:

1001001,0100001,1100001,1110

111

1000101,1010000,1010111,0100

100

解:以上ASCII碼分別為I,!,a,w,E,P,W,$。

20.以下列形式表示(5382)10o

(1)8421碼;(2)余3碼;

(3)2421碼;(4)二進(jìn)制數(shù)。

解:(1)0101001110000010o

(2)1000011010110101

(3)1011001111100010o

(4)1010100000110O

21.填寫下列代碼的奇偶校驗(yàn)位,現(xiàn)設(shè)為奇校驗(yàn):

10100001

00011001

01001110

解:3個(gè)代碼的校驗(yàn)位分別是0,0,1°

計(jì)算機(jī)組成原理教師用書

4022.已知下面數(shù)據(jù)塊約定:橫向校驗(yàn)、縱向校驗(yàn)均為奇校驗(yàn),

請指出至少有多少位

出錯(cuò)。

a7a6a5a4a3a2a1a0校驗(yàn)位

10011011-0

00110101—1

11010000-0

11100000-0

01001111f0

校驗(yàn)位10101111

解:經(jīng)檢測a7和a0列出錯(cuò),所以至少有兩位出錯(cuò)。

23.求有效信息位為01101110的海明校驗(yàn)碼。

解:P5D8D7D6D5P4D4D3D2P3

D1P2P1

P1=D1十D2十D4十D5?D70十1十1十

0十1=1

P2=D1十ID3十D4十D6十D70十1十1十

1十1:0

P3=D2十?D3D4十D81十1?1?0

1

P4=D5十D6?D7D80十1?1十0

0

P5=D1十D2十D3十D5十D6十D8=0十1十

1十0十1十01

所以,海明校驗(yàn)碼=1011001111001o

24.設(shè)計(jì)算機(jī)準(zhǔn)備傳送的信息是:1010110010001

111,生成多項(xiàng)式是X5+X2+1,計(jì)

算校驗(yàn)位,寫出CRC碼。

解:生成多項(xiàng)式X5+X2+1=100101o

首先將準(zhǔn)備傳送的信息左移5位:10101100100011

1100000o

然后1010110010001111000004-1001

01,余數(shù)=10011O

所以,CRC碼=101011001000111110011o_、

3.4教材習(xí)題解答

1.指令長度和機(jī)器字長有什么關(guān)系?半字長指令、單字長指令、

雙字長指令分別表

示什么意思?

解:指令長度與機(jī)器字長沒有固定的關(guān)系,指令長度可以等于機(jī)器字

長,也可以大于

或小于機(jī)器字長。通常,把指令長度等于機(jī)器字長的指令稱為單字長

指令;指令長度等于

半個(gè)機(jī)器字長的指令稱為半字長指令;指令長度等于兩個(gè)機(jī)器字長的

指令稱為雙字長

指令。

2.零地址指令的操作數(shù)來自哪里?一地址指令中,另一個(gè)操作數(shù)

的地址通常可采用

什么尋址方式獲得?各舉一例說明。

解:雙操作數(shù)的零地址指令的操作數(shù)來自堆棧的棧頂和次棧頂。雙操

作數(shù)的一地址

指令的另一個(gè)操作數(shù)通??刹捎秒[含尋址方式獲得,即將另一操作數(shù)

預(yù)先存放在累加器

中。例如,前述零地址和一地址的加法指令。

3.某機(jī)為定長指令字結(jié)構(gòu),指令長度16位;每個(gè)操作數(shù)的地址

碼長6位,指令分為

無操作數(shù)、單操作數(shù)和雙操作數(shù)三類。若雙操作數(shù)指令已有K種,

無操作數(shù)指令已有L

種,問單操作數(shù)指令最多可能有多少種?上述三類指令各自允許的

最大指令條數(shù)是多少?

指令系統(tǒng)

第3

.zCzL

65解:X=(24-K)X26-jL

26k

雙操作數(shù)指令的最大指令數(shù):24—1o

單操作數(shù)指令的最大指令數(shù):15X26-1(假設(shè)雙操作數(shù)

指令僅1條,為無操作數(shù)指

令留出1個(gè)擴(kuò)展窗口)。

無操作數(shù)指令的最大指令數(shù):216-212-26o其中2

12為表示某條二地址指令占用的

編碼數(shù),26為表示某條單地址指令占用的編碼數(shù)。此時(shí)雙操作數(shù)

和單操作數(shù)指令各僅有

1條。

4.設(shè)某機(jī)為定長指令字結(jié)構(gòu),指令長度12位,每個(gè)地址碼占3

位,試提出一種分配

方案,使該指令系統(tǒng)包含:4條三地址指令,8條二地址指令,1

80條單地址指令。

解:4條三地址指令

000XXXYYYZZZ

011XXXYYYZZZ

8條二地址指令

100000XXXYYY

100111XXXYYY

180條單地址指令

101000000XXX

111110011XXX

5.指令格式同上題,能否構(gòu)成:

三地址指令4條,單地址指令255條,零地址指令64條?為

什么?

解:三地址指令4條

000XXXYYYZZZ

011XXXYYYZZZ

單地址指令255條

100000000XXX

111111110YYY

只能再擴(kuò)展出零地址指令8條,所以不能構(gòu)成這樣的指令系統(tǒng)。

6.指令中地址碼的位數(shù)與直接訪問的主存容量和最小尋址單位有

什么關(guān)系?

計(jì)算機(jī)組成原理教師用書

66解:主存容量越大,所需的地址碼位數(shù)就越長。對于相同容量

來說,最小尋址單位越

小,地址碼的位數(shù)就越長。

7.試比較間接尋址和寄存器間址。

解:間接尋址方式的有效地址在主存中,操作數(shù)也在主存中;寄存器

間址方式的有效

地址在寄存器中,操作數(shù)在主存中。所以間接尋址比較慢。

8.試比較基址尋址和變址尋址。

解:基址尋址和變址尋址在形成有效地址時(shí)所用的算法是相同的,但

是它們兩者實(shí)

際上是有區(qū)別的。一般來說,變址尋址中變址寄存器提供修改量(可

變的),而指令中提供

基準(zhǔn)值(固定的);基址尋址中基址寄存器提供基準(zhǔn)值(固定的),

而指令中提供位移量(可

變的)。這兩種尋址方式應(yīng)用的場合也不同,變址尋址是面向用戶

的,用于訪問字符串、向

量和數(shù)組等成批數(shù)據(jù);而基址尋址面向系統(tǒng),主要用于邏輯地址和物

理地址的變換,用以

解決程序在主存中的再定位和擴(kuò)大尋址空間等問題。在某些大型機(jī)

中,基址寄存器只能

由特權(quán)指令來管理,用戶指令無權(quán)操作和修改。

9.某機(jī)字長為16位,主存容量為64K字,米用單字長單地址

指令,共有50條指令。

若有直接尋址、間接尋址、變址尋址、相對尋址四種尋址方式,試設(shè)

計(jì)其指令格式。

解:操作碼6位,尋址方式2位,地址碼8位。

10.某機(jī)字長為16位,主存容量為64K字,指令格式為單字

長單地址,共有64條指

令。試說明:

(1)若只采用直接尋址方式,指令能訪問多少主存單元?

(2)為擴(kuò)充指令的尋址范圍,可采用直接/間接尋址方式,若只

增加一位直接/間接標(biāo)

志,指令可尋址范圍為多少?指令直接尋址的范圍為多少?

(3)采用頁面尋址方式,若只增加一位Z/C(零頁/現(xiàn)行頁)標(biāo)

志,指令尋址范圍為多

少?指令直接尋址范圍為多少?

(4)采用(2)、(3)兩種方式結(jié)合,指令的尋址范圍為多少?

指令直接尋址范圍為

多少?

解:因?yàn)橛?jì)算機(jī)中共有64條指令,所以操作碼占6位,其余部分

為地址碼或標(biāo)志位。

(1)若只采用直接尋址方式,地址碼部分為10位,指令能訪問

的主存單元數(shù)為210=

1K字。

(2)若采用直接/間接尋址方式,將增加了一位直接/間接標(biāo)志,

地址碼部分為9位,

指令直接尋址的范圍為29=0.5K字,指令可尋址范圍為整

個(gè)主存空間216=64K字。

(3)若采用頁面尋址方式,將增加一位Z/C(零頁/現(xiàn)行頁)標(biāo)

志,所以指令直接尋址

范圍仍為29=0.5K字,指令尋址范圍仍為216=64K

字。

(4)此時(shí)將需要@和Z/C兩個(gè)標(biāo)志位,所以指令直接尋址范圍

為28=0.25K字,指

令的可尋址范圍仍為216=64K字。

指令系統(tǒng)

第3

6711.設(shè)某機(jī)字長32位,CPU有32個(gè)32位的通用寄

存器,設(shè)計(jì)一個(gè)能容納64種操作

的單字長指令系統(tǒng)。

(1)如果是存儲(chǔ)器間接尋址方式的寄存器一存儲(chǔ)器型指令,能直

接尋址的最大主存

空間是多少?

(2)如果采用通用寄存器作為基址寄存器,能直接尋址的最大主

存空間又是多少?

解:因?yàn)橛?jì)算機(jī)中共有64條指令,所以操作碼占6位;32個(gè)

通用寄存器,寄存器編號(hào)

占5位;其余部分為地址碼或標(biāo)志位。

(1)如果是存儲(chǔ)器間接尋址方式的寄存器一存儲(chǔ)器型指令,操作

碼6位,寄存器編號(hào)

5位,間址標(biāo)志1位,地址碼20位,直接尋址的最大主存空間

是220字。

(2)如果采用通用寄存器作為基址寄存器,EA(Rb)+A,

能直接尋址的最大主存

空間是232字。

12.已知某小型機(jī)字長為16位,其雙操作數(shù)指令的格式如下:

05678

15

OPRA

其中:OP為操作碼,R為通用寄存器地址。試說明下列各種情況下

能訪問的最大主存區(qū)

域有多少機(jī)器字?

(1)A為立即數(shù)。

(2)A為直接主存單元地址。

(3)A為間接地址(非多重間址)。

(4)A為變址尋址的形式地址,假定變址寄存器為R1(字長為

16位)

解:(1)1個(gè)機(jī)器字。

(2)256個(gè)機(jī)器字。

(3)65536個(gè)機(jī)器字。

(4)65536個(gè)機(jī)器字。

13.計(jì)算下列4條指令的有效地址(指令長度為16位)。

(1)000000Q

(2)100000Q

(3)170710Q

(4)012305Q

假定:上述4條指令均用八進(jìn)制書寫,指令的最左邊是一位間址指

示位@(@=0,直

接尋址;@=1,間接尋址),且具有多重間訪功能;指令的最

右邊兩位為形式地址;主存容

量215單元,表3唱4為有關(guān)主存單元的內(nèi)容(八進(jìn)制)。

計(jì)算機(jī)組成原理教師用書

68表3唱4習(xí)題13的表格

地址內(nèi)容

000001000020000104671000002

054304000031000000000410254

300005100001000060632150000

707771000010100005解:(1)000

000Q

因?yàn)橹噶畹淖罡呶粸?,故為直接尋址,EA=

A=00000Qo

(2)100000Q

因?yàn)橹噶畹淖罡呶粸?,故指令為間接尋址。

(00000)=100002,最高位仍為1,繼續(xù)間接尋址。

(00002)=054304,其最高位為0,表示已找到有

地址,EA=54304Qo

(3)170710Q

因?yàn)橹噶畹淖罡呶粸?,故指令為間接尋址。

(00010)=100005,最高位仍為1,繼續(xù)間接尋址。

(00005)=100001,最高位仍為1,繼續(xù)間接

尋址。

(00001)=046710,其最高位為0,表示已找到有

效地址,EA=46710Qo

(4)012305Q

因?yàn)橹噶畹淖罡呶粸?,故為直接尋址,EA=A=00005Qo

14.假定某機(jī)的指令格式如下:

11109876

50

@OPI1I2Z/CA

其中:

Bit11=1:間接尋址;

Bit8=1:變址寄存器II尋址;

Bit7=1:變址寄存器12尋址;

Bit6(零頁/現(xiàn)行頁尋址):Z/C=0,表示0頁面;

Z/C=1,表示現(xiàn)行頁面,即指令所在頁面。

若主存容量為212個(gè)存儲(chǔ)單元,分為26個(gè)頁面,每個(gè)頁面有2

6個(gè)字。

設(shè)有關(guān)寄存器的內(nèi)容為

(PC)=0340Q(II)=1111Q(12)=

0256Q

試計(jì)算下列指令的有效地址。

(1)1046Q

(2)2433Q

(3)3215Q

指令系統(tǒng)

第3

69(4)1111Q

解:(1)1046Q=001000100110

因?yàn)?個(gè)標(biāo)志位均為0,故為直接尋址,EA=A=0046Qo

(2)2433Q=010100011011

因?yàn)锽it8(I1)=1,故為變址寄存器1尋址,EA=(I

1)+A=1111+33=1144QO

(3)3215Q=011010001101

因?yàn)锽it7(I2)1,故為變址寄存器2尋址,EA=(I

2)+A=0256+15=0273Qo

(4)1111Q=001001001001

因?yàn)锽it6(Z/C)=1,故為當(dāng)前頁尋址,EA=(PC)H〃A

=03//11=0311Qo

15.假定指令格式如下:

151211109

870

OPI1I2Z/CD/IA

其中:D/I為宜接/間接尋址標(biāo)志,D/I=0表小直.接尋址,

D/I=1表示間接尋址。其

余標(biāo)志位同題14說明。

若主存容量為216個(gè)存儲(chǔ)單元,分為28個(gè)頁面,每個(gè)頁面有2

8個(gè)字。

設(shè)有關(guān)寄存器的內(nèi)容為

(I1)=002543Q(12)=063215Q

(PC)=004350Q

試計(jì)算下列指令的有效地址。

(1)152301Q

(2)074013Q

(3)161123Q

(4)140011Q

解:(1)152301Q=11010100110000

01

因?yàn)锽itl0(I2)=1,故為變址寄存器2尋址,EA=(I

2)+A=063215+

301=063516Qo

(2)074013Q=011110000000101

1

因?yàn)锽itl1(I1)=1,故為變址寄存器1尋址,EA=(I

1)+A=002543+

013=002556Qo

(3)161123Q=111000100101001

1

因?yàn)锽it9(Z/C)=1,故為當(dāng)前頁尋址,EA=(PC)//A

=004123Qo

(4)140011Q=110000000000100

1

因?yàn)?個(gè)標(biāo)志位均為0,故為直接尋址,EA—A—00001

1Q。

16.舉例說明哪幾種尋址方式除去取指令以外不訪問存儲(chǔ)器?哪

兒種尋址方式除去

計(jì)算機(jī)組成原理教師用書

7。取指令外只需訪問一次存儲(chǔ)器?完成什么樣的指令,包括取指

令在內(nèi)共訪問4次存儲(chǔ)器?

解:除去取指令以外不訪問存儲(chǔ)器:立即尋址,寄存器尋址。

除去取指令外只需訪問一次存儲(chǔ)器:直接尋址,寄存器間接尋址,變

址尋址,基址尋

址,相對尋址,頁面尋址。

二級間接尋址包括取指令在內(nèi)共訪問4次存儲(chǔ)器。

17.設(shè)相對尋址的轉(zhuǎn)移指令占兩個(gè)字節(jié),第一個(gè)字節(jié)是操作碼,

第二個(gè)字節(jié)是相對位

移量,用補(bǔ)碼表示。假設(shè)當(dāng)前轉(zhuǎn)移指令第一字節(jié)所在的地址為200

0H,且CPU每取一個(gè)

字節(jié)便自動(dòng)完成(PC)+1-PC的操作。試問當(dāng)執(zhí)行川P倡+

8和JMP倡一9指令(倡為

相對尋址特征)時(shí),轉(zhuǎn)移指令第二字節(jié)的內(nèi)容各為多少?轉(zhuǎn)移的目

的地址各是什么?

解:轉(zhuǎn)移指令第二字節(jié)的內(nèi)容分別為:00001000(+8),

11110111(-9)

轉(zhuǎn)移的目的地址分別為:200AH,1FF9Ho

18.什么叫主程序和子程序?調(diào)用子程序時(shí)還可采用哪兒種方法

保存返回地址?畫

圖說明調(diào)用子程序的過程。

解:主程序就是指通常的程序,而子程序是一組可以公用的指令序列,

只要知道子程

序的入口地址就能調(diào)用它。

保存返回地址的方法有多種:

(1)用子程序的第一個(gè)字單元存放返回地址。轉(zhuǎn)子指令把返回地

址存放在子程序的

第一個(gè)字單元中,子程序從第二個(gè)字單元開始執(zhí)行。返回時(shí)將第一個(gè)

字單元地址作為間

接地址,采用間址方式返回主程序。

(2)用寄存器存放返回地址。轉(zhuǎn)子指令先把返回地址放到某一個(gè)

寄存器中,再由子

程序?qū)⒓拇嫫髦械膬?nèi)容轉(zhuǎn)移到另一個(gè)安全的地方。

(3)用堆棧保存返回地址。

調(diào)用子程序的過程如圖3唱8所示,此時(shí)返回地址保存在堆棧中。

圖3唱8主程序調(diào)用子程序的過程

19.在某些計(jì)算機(jī)中,調(diào)用子程序的方法是這樣實(shí)現(xiàn)的:轉(zhuǎn)子指

令將返回地址存入子

程序的第一個(gè)字單元,然后從第二個(gè)字單元開始執(zhí)行子程序,請回答

下列問題:

(1)為這種方法設(shè)計(jì)一條從子程序轉(zhuǎn)到主程序的返指令。

指令系統(tǒng)

第3

71(2)在這種情況下,怎么在主、子程序間進(jìn)行參數(shù)的傳遞?

(3)上述方法是否可用于子程序的嵌套?

(4)上述方法是否可用于子程序的遞歸(即某個(gè)子程序自己調(diào)用

自己)?

(5)如果改用堆棧方法,是否可實(shí)現(xiàn)(4)所提出的問題?

解:(1)返回指令通常為零地址指令。返回地址保存在堆棧中,執(zhí)

行返回指令時(shí)自

動(dòng)從堆棧中彈出。而目前返回地址是保存在子程序的第一個(gè)單元中,

故此時(shí)返回指令不

能再是零地址指令了,而應(yīng)當(dāng)是一地址指令。如:

JMP@子程序首地址

間接尋址可找到返回地址,然后無條件轉(zhuǎn)移到返回的位置。

(2)在這種情況下,可利用寄存器或主存單元進(jìn)行主、子程序間

的參數(shù)傳遞。

(3)可以用于子程序的嵌套(多重轉(zhuǎn)子)。因?yàn)槊總€(gè)返回地址都

放在調(diào)用的子程序的

第一個(gè)單元中。

(4)不可以用于子程序的遞歸,因?yàn)楫?dāng)某個(gè)子程序自己調(diào)用自己

時(shí)、子程序第一個(gè)單

元的內(nèi)容將被破壞。

(5)如果改用堆棧方法,可以實(shí)現(xiàn)子程序的遞歸,因堆棧具有后

進(jìn)先出的功能—

4.4教材習(xí)題解答

1.證明在全加器里,進(jìn)位傳遞函數(shù)P=Ai+Bi=Ai十Bi。

解:并行加法器中的每一個(gè)全加器都有一個(gè)從低位送來的進(jìn)位和一個(gè)

傳送給較高位

的進(jìn)位。進(jìn)位表達(dá)式為

Ci=AiBi+(Ai十Bi)Ci—1

欲證明Pi=Ai+Bi=Ai十Bi,也就是要證明Ci=AiBi+

(Ai十Bi)Ci—1=AiBi+(Ai

+Bi)Ci-1

用卡諾圖法,圖4唱10(a)和4唱10(b)分別是兩個(gè)邏輯表達(dá)

式的卡諾圖。兩個(gè)卡諾圖相

同,兩個(gè)邏輯表達(dá)式就相等,則進(jìn)位傳遞函數(shù)的兩種形式相等。

2.某加法器采用組內(nèi)并行、組間并行的進(jìn)位鏈,4位一組,寫出

進(jìn)位信號(hào)C6的邏輯表

達(dá)式。

解:最低一組的進(jìn)位輸出C4=6倡

1+P倡

1C0

其中:G倡

1=G4+P4G3+P4P3G2+P4P3P2G1

P倡

1=P4P3P2P1

C5=G5+P5C4

所以C6=G6+P6c5=G6+P6G5+P6P5C4

3.設(shè)計(jì)一個(gè)9位先行進(jìn)位加法器,每3位為一組,采用兩級先

行進(jìn)位線路。

解:

C1=G1+PCO

C2=G2+P2G1+P2P1CO

C3=G3+P3G2+P3P2G1+P3P2P1C0

設(shè):G倡

1=G3+P3G2+P3P2Gl,P倡

1=P3P2P1

則有:

C3=6倡

1+P倡

1C0

C6=6倡

2+P倡

2G倡

1+P倡

2P倡

1C0

C9=6倡

3+P倡

3G倡

2+P倡

3P倡

2G倡

1+P倡

3P倡

2P倡

1CO

9位先行進(jìn)位加法器如圖4唱11所示。

4.已知X和Y,試用它們的變形補(bǔ)碼計(jì)算出X+Y,并指出結(jié)

果是否溢出。

(1)X=0.11011,Y=0.11111

(2)X=0.11011,Y=-0.10101

(3)X=-0.10110,Y=—0.00001

數(shù)值的機(jī)器運(yùn)算

第4

,zCzi

97(4)X=-0.11011,Y=0.11110

圖4唱10全加器的卡諾圖圖4唱119位先行進(jìn)位加法器

解:(1)[X]補(bǔ)=011011,[Y]補(bǔ)=0.111

11

00.110111X]補(bǔ)

+00.111111Y]補(bǔ)

01.11010[X+Y]補(bǔ)結(jié)果正溢

(2)[X]補(bǔ)=0.11011,[Y]補(bǔ)=1.01011

00.110111X]補(bǔ)

+11.010111Y]補(bǔ)

00.00110[X+Y]補(bǔ)

X+Y=0.00110

(3)[X]補(bǔ)=1.01010,[Y]補(bǔ)=1.11111

11.010101X]補(bǔ)

+11.111111Y]補(bǔ)

11.01001[X+Y]補(bǔ)

X+Y=-0.10111

(4)[X]補(bǔ)=1.00101,[Y]補(bǔ)=0.11110

11.001011X]補(bǔ)

+00.11110[Y]補(bǔ)

00.00011[X+Y]補(bǔ)

X+Y=0.00011

5.已知X和Y,試用它們的變形補(bǔ)碼計(jì)算出X-Y,并指出結(jié)

果是否溢出。

(1)X=0.110110.11111

(2)X=0.101110.11011

(3)X=0.11011,Y=-010011

(4)X=-0.10111),Y=—0.00001

計(jì)算機(jī)組成原理教師用書

98解:(1)[X]補(bǔ)=0.11011,[Y]補(bǔ)=1.0

0001,[一Y]補(bǔ)=0.11111

00.11011[X]補(bǔ)

+00.11111[一Y]補(bǔ)

01.11010[X-Y]補(bǔ)結(jié)果正溢

(2)[X]補(bǔ)=0.10111,[Y]補(bǔ)=0.11011,

[—Y]補(bǔ)=1.0010

00.10111[X]補(bǔ)

+11.00101[一Y]補(bǔ)

11.11100[X-Y]補(bǔ)

X—丫=一0.00100

(3)[X]補(bǔ)=0.11011,[Y]補(bǔ)=1.01101,

[—Y]補(bǔ)=0.1001

00.11011[X]補(bǔ)

+00.10011[—Y]補(bǔ)

]補(bǔ)結(jié)果正溢

(4)[X]補(bǔ)=1.01010,[Y]補(bǔ)=1.11111,

[—Y]補(bǔ)=0.0000

11.01010[X]補(bǔ)

+00.00001[—Y]補(bǔ)

11.01011[X-Y]補(bǔ)

X-Y=-0.10101

6.已知:X=0.1011,Y=—0.0101

求:12

X

補(bǔ)

,14

X

補(bǔ)

[一X]補(bǔ),12

Y

補(bǔ)

,14

Y

補(bǔ)

,[—Y]補(bǔ)。

解:[X]補(bǔ)=0.1011

12

X

補(bǔ)

=0.0101,14

X

補(bǔ)

=0.0010,[一X]補(bǔ)=1.0101

[Y]補(bǔ)=1.

溫馨提示

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

評論

0/150

提交評論