計算機組成原理-第四版課后習題答案_第1頁
計算機組成原理-第四版課后習題答案_第2頁
計算機組成原理-第四版課后習題答案_第3頁
計算機組成原理-第四版課后習題答案_第4頁
計算機組成原理-第四版課后習題答案_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章

1.比較數(shù)字計算機和模擬計算機的特點。

解:模擬計算機的特點:數(shù)值由連續(xù)量來表示,運算過程是連續(xù)的;

數(shù)字計算機的特點:數(shù)值由數(shù)字量(離散量)來表示,運算按位進行。

兩者主要區(qū)別見P1表1.1。

2.數(shù)字計算機如何分類?分類的依據(jù)是什么?

解:分類:數(shù)字計算機分為專用計算機和通用計算機。通用計算機又分為巨型機、大型機、

中型機、小型機、微型機和單片機六類。

分類依據(jù):專用和通用是根據(jù)計算機的效率、速度、價格、運行的經濟性和適應性來劃分的。

通用機的分類依據(jù)主要是體積、簡易性、功率損耗、性能指標、數(shù)據(jù)存儲容量、

指令系統(tǒng)規(guī)模和機器價格等因素。

3.數(shù)字計算機有那些主要應用?

(略)

4.馮.諾依曼型計算機的主要設計思想是什么?它包括哪些主要組成部分?

解:馮.諾依曼型計算機的主要設計思想是:存儲程序和程序控制。

存儲程序:將解題的程序(指令序列)存放到存儲器中;

程序控制:控制器順序執(zhí)行存儲的程序,按指令功能控制全機協(xié)調地完成運算任務。

主要組成部分有:控制器、運算器、存儲器、輸入設備、輸出設備。

5.什么是存儲容量?什么是單元地址?什么是數(shù)據(jù)字?什么是指令字?

解:存儲容量:指存儲器可以容納的二進制信息的數(shù)量,通常用單位KB、MB、GB來度量,存儲

量越大,表示計算機所能存儲的信息量越多,反映了計算機存儲空間的大小。

單元地址:單元地址簡稱地址,在存儲器中每個存儲單元都有唯一的地址編號,稱為單元地

址。

數(shù)據(jù)字:若某計算機字是運算操作的對象即代表要處理的數(shù)據(jù),則稱數(shù)據(jù)字。

指令字:若某計算機字代表一條指令或指令的一部分,則稱指令字。

6.什么是指令?什么是程序?

解:指令:計算機所執(zhí)行的每一個基本的操作。

程序:解算某一問題的一串指令序列稱為該問題的計算程序,簡稱程序。

7.指令和數(shù)據(jù)均存放在內存中,計算機如何區(qū)分它們是指令還是數(shù)據(jù)?

解:一般來講,在取指周期中從存儲器讀出的信息即指令信息:而在執(zhí)行周期中從存儲器中讀出

信息即為數(shù)據(jù)信息。

8.什么是內存?什么是外存?什么是CPU?什么是適配器?簡述其功能。

解:內存:一般由半導體存儲器構成,裝在底版上,可直接和CPU交換信息的存儲器稱為內存儲

器,簡稱內存。用來存放經常使用的程序和數(shù)據(jù)。

外存:為了擴大存儲容量,又不使成本有很大的提高,在計算機中還配備了存儲容量更大的

磁盤存儲器和光盤存儲器,稱為外存儲器,簡稱外存。外存可存儲大量的信息,計算

機需要使用時,再調入內存。

CPU:包括運算器和控制器。基本功能為:指令控制、操作控制、時間控制、數(shù)據(jù)加工。

適配器:連接主機和外設的部件,起一個轉換器的作用,以使主機和外設協(xié)調工作。

9.計算機的系統(tǒng)軟件包括哪幾類?說明它們的用途。

解:系統(tǒng)軟件包括:(1)服務程序:診斷、排錯等

(2)語言程序:匯編、編譯、解釋等

(3)操作系統(tǒng)

(4)數(shù)據(jù)庫管理系統(tǒng)

用途:用來簡化程序設計,簡億使用方法,提高計算機的使用效率,發(fā)揮和擴大計算機的功

及用途。

10.說明軟件發(fā)展的演變過程。

(略)

11.現(xiàn)代計算機系統(tǒng)如何進行多級劃分?這種分級觀點對計算機設計會產生什么影響?

解:多級劃分圖見P16圖1.6??煞譃椋何⒊绦蛟O計級、一般機器級、操作系統(tǒng)級、匯編語言級

高級語言級。

用這種分級的觀點來設計計算機,對保證產生一個良好的系統(tǒng)結構是有很大幫助的。

12.為什么軟件能夠轉化為硬件?硬件能夠轉化為軟件?實現(xiàn)這種轉化的媒介是什么?

(略)

13.〃計算機應用〃與〃應用計算機〃在概念上等價嗎?用學科角度和計算機系統(tǒng)

的層次結構來壽命你的觀點。

(略)

第二章

1.寫出下列各數(shù)的原碼、反碼、補碼、移碼表示(用8位二進制數(shù))。其中MSB是最高位(又

是符號位)LSB是最低位。如果是G數(shù),小數(shù)點在MSB之后;如果是整數(shù),小數(shù)點在LSB之后。

(1)-35/64(2)23/128(3)-127(4)用小數(shù)表示-1(5)用整數(shù)表示

解:(1)先把十進制數(shù)-35/64寫成二進制小數(shù):

(-35/64)IO=(-100011/1000000)2=(-100011X2-110)2=(-0.100011)2

令x=-O.100011B

???[x]^=l.1000110(注意位數(shù)為8位)[x]反=1.0111001

[x]補=1.0111010[x]移=0.0111010

(2)先把十進制數(shù)23/128寫成二進制小數(shù):

(23/128)10=(10111/10000000)2=(10111X2-111)2=(0.0001011)2

令x=0.000101IB

:.[x]原=0.0001011[x]反=0.0001011

[x]補=0.0001011[x]移=1.0001011

(3)先把十進制數(shù)T27寫成二進制小數(shù):

(-127)10=(-1111111)2

令*=-111U11B

:.[x]原=1.1111111[x]反=1.0000000

[x]補=1.0000001[x]移=1.0000001

(4)令x=-1.000000B

,原碼、反碼無法表示

[x]補=1.0000000[x]移=0.0000000

(5)令Y=-l=-0000001B

/.[Y]原=10000001[Y]反=11111110

[Y]補=11111111[Y]移=01111111

2.設區(qū)1補=ao>ai,a2…a6,其中ai取0或1,若要x>—0.5,求ao,ai,a2,a6的取

值。

解:ao=1,ai=0,a2,…,a6=l,,?1(>

3.有一個字長為32位的浮點數(shù),階碼10位(包括1位階符),用移碼表示;尾數(shù)22位(包

括1位尾符)用補碼表示,基數(shù)R=2。請寫出:

(1)最大數(shù)的二進制表示;

(2)最小數(shù)的二進制表示;

(3)規(guī)格化數(shù)所能表示的數(shù)的范圍;

(4)最接近于零的正規(guī)格化數(shù)與負規(guī)格化數(shù)。

解:⑴11111111110111111111111111111111

(2)11111111111000000000000000000000

(3)11111111110111111111111111111111—01111111111000000030000000000000

(4)00000000000000000000000000000001~00000000001111111111111111111111

4.將下列十進制數(shù)表示成浮點規(guī)格化數(shù),階碼3位,用補碼表示;尾數(shù)9位,用補碼表示。

(1)27/64

(2)-27/64

解:(1)27/64=11011BX245=0.011011B=0.11011BX?1

浮點規(guī)格化數(shù):11110110110000

(2)-27/64=-11011BX2*6=-0.011011B=-0.11011BX2-1

浮點規(guī)格化數(shù):11111001010000

5.已知X和Y,用變形補碼計算X-Y,同時指出運算結果是否溢出。

(1)X=0.11011Y=0.00011

(2)X=0.11011Y=-0.10101

(3)X=-0.10110Y=-0.00001

解:(1)先寫出x和y的變形補碼再計算它們的和

[x]補=00.11011[y]補=00.00011

[x+y][x]n+[y]lb=00.11011+00.00011=0.11110

???x+y=O.HUB無溢出。

(2)先寫出x和y的變形補碼再計算它們的和

[x]補=00.11011[y]n=ll.01011

[x+y]補=[x]lb+[y]#=00.11011+11.01011=00.00110

,x+y=O.001IB無溢出。

(3)先寫出x和y的變形補碼再計算它們的和

[x]補=11.01010[y]n=ll.11111

[x+y]^=[x]lb+[y]^=ll.01010+11.11111=11.01001

???x+y=-0.10111B無溢出

6.已知X和Y,用變形補碼計算X-Y,同時指出運算結果是否溢出。

(1)X=0.11011Y=-0.11111

(2)X=0.10111Y=0.11011

(3)X=0.11011Y=-0.10011

解.:(1)先寫出x和y的變形補碼,再計算它們的差

[x]補=00.11011[y]補=11.00001[-y]補=00.11111

[x-y]補=[x]補+[—y]補=00.11011+00.11111=01.11010

???運算結果雙符號不相等J為正溢出

X-Y=+l.1101B

(2)先寫出x和y的變形補碼,再計算它們的差

[x]補=00.10111[y]?h=00.11011[-y]lb=ll.00101

[x-y]補=00.10111+11.00101=11.11100

:?x-y=-0.001B無溢出

(3)先寫出x和y的變形補碼,再計算它們的差

[x]|b=OO.11011[y]tt=ll.01101[-y]補=00.10011

[x-y]^=[x]lb+[-y]^=OO.11011+00.10011=01.01110

???運算結果雙符號不相等???為正溢出

X-Y=+1.01UB

7.用原碼陣列乘法器、補碼陣列乘法器分別計算XXY。

(1)x=o.nonY=-o.mu

(2)X=-0.11111Y=-0.11011

解:(1)用原碼陣列乘法器計算:

[x]#=0.11011[y]補=1.00001

(0)11011

X)(1)00001

(0)11011

(0)00000

(0)00000

(0)00000

(0)00000

(0)(1)(1)(0)⑴⑴

(1)0010111011

[xXy]^=l.0010111011

:.xXy=-0.1101000101

8.用原碼陣列除法器計算X+Y。

(1)x=o.iioooY=-o.mu

(2)X=-0.01011Y=0.11001

解:(1)[x]?=[x]H=0.11000[-IyI]lb=l.00001

被除數(shù)X0.11000

+[-IyI1.00001

余數(shù)為負1.110013=0

左移1.10010

+[|y|]補0.11111

余數(shù)為正0.10001-*ql=l

左移1.00010

+[Ty|]補1.00001

余數(shù)為正0.00011-*q2=l

左移0.00110

+[Ty|]補1.00001

余數(shù)為負1.00111-q3=0

左移0.01110

+[y]]補0.11111

余數(shù)為負1.01101fq4=0

左移0.11010

+[y]]補0.11111

余數(shù)為負1.11001y5=0

+[|y|]補0.11111

余數(shù)0.11000

故[x+y]原=1.11000即x4-y=-0.11000B

余數(shù)為0.U000BX2401

9.設階為5位(包括2位階符),尾數(shù)為8位(包括2位數(shù)符),階碼、尾數(shù)均用補碼表示,完成

下列取值的[X+Y],[X-Y]運算:

(1)X=20nX0.100101Y=2-010X(-0.011110)

(2)X=2-101X(-0.010110)Y=2'100X(0.010110)

解:(D將y規(guī)格化得:y=h°"x(-o.imoo)

[x]浮=1101,00.100101[y]浮=1101,11.000100by]浮=1101,00.111100

①對階

[AE]補=[Ex]補+[-Ey]1101+0011=0000

JEx=Ey

②尾數(shù)相加

相加相減

00.10010100.100101

+11.000100+00.111100

11.10100101.100001

[x+y]浮=1101,11.101001左規(guī)[x+y]j?=1100,11.010010

-100

:.x+y=2oX(-0.101110)

[x-y]浮=1101,01.100001右規(guī)[x-y]浮=1110,00.1100001

舍入處理得[x-y]i¥=U10,00.110001

???x-y=2-1°X0.110001

(2)[x]浮=1011,11.101010[y]浮=1100,00.010110[-y]浮=1100,11.101010

①對階

[△E]補=[Ex]補+[—Ey]補=1D11+0100=1111

:.AE=-1[x]浮=1100,11.110101(0)

②尾數(shù)相加

相加相減

11.110101(0)11.110101(0)

+00.010110+11.101010

00.001011(0)11.011111(0)

[x+y]浮=1100,00.001011(0)左規(guī)[x+y]浮=1010,00.1011000

o-n0

???x+y=2X0.1011B

[x-y]浮=1100,11.011111(0)

c-ioo

,x-y=2X(-0.10000IB)

13.某加法器進位鏈小組信號為C4C3c2cl,低位來的信號為Co,請分別按下述兩種方式寫出

C4c3c2cl的邏輯表達式.

(1)串行進位方式(2)并行進位方式

解:(1)串行進位方式:

Ci=Gi+PiCo其中:Gi=AiBi,Pi=Ai十Bl

C2=G2+P2C1G2=A2B2,P2=A2十B2

C3=G3+P3C2G3=A3B3,P3=A3十B3

C4=G4+PlC3G4=A4Bl,Pl=A4?B1

(2)并行進位方式:

Ci=Gi+PiCo

C2=G2+P2Gi+P2PlCO

C3=G3+P3G2+P3P231+P3P2PlCO

C4=G4+PlG3+P4P3G2+P4P3?2Gl+P4P3?2PlCo

其中G1-G4,P1-P4表達式與串行進位方式相同。

14.某機字長16位,使用四片74181組成ALU,設最低位序標注為。位,要求:

(1)寫出第5位的進位信號C6的邏輯表達式;

(2)估算產生C6所需的最長時間;

(3)估算最長的求和時間。

解:(1)組成最低四位的74181進位輸出為:C4=G+PCO,Co為向第0位的進位

其中:G=y3+X3y2+x2X3yi+xlX2X3y0,P=X0X1X2X3

所以:C5=y4+x4C4

C6=y5+x5C5=y5+x5y4+x5X4C4

(2)設標準門延遲時間為T,〃與或非〃門延遲時間為1.5T,則進位信號Co由最低位傳送

至C6需經一個反相器,兩級"與或非”門,故產生C6的最長延遲時間為:

T+2X1.5T=4T

(3)最長求和時間應從施加操作數(shù)到ALU算起:第一片74181有3級"與或非”門(產生控

制參數(shù)xo,yoCn+4),第二、第三片74181共2級反相器和2級〃與或非”門(進位鏈),第四片

74181求和邏輯(1級”與或非”門和1級半加器,其延遲時間為3T),故總的加法時間為:

T=3X1.5Tl2T卜2X1.5T<1.5TU.5H3T=14T

17.設A,B,C是三個16位的通用寄存器,請設計一個16位定點補碼運算器,能實現(xiàn)下述功

能:

(1)A土B-A

(2)BXC-A,C(高位積在寄存器A中)

(3)A+B-C(商在寄存器C中)

解:設計能完成加、減、乘、除運算的16位定點補碼運算器框圖。

分析各寄存器作用:

加減乘除

A被加數(shù)一和同左初始為0被除數(shù)一余數(shù)

部分積一乘積(H)除數(shù)

B加數(shù)同左被乘數(shù)

C一一乘數(shù)--乘積(L)商

???A:累加器(16位),具有輸入、輸出、累加功能及雙向移位功能:

B:數(shù)據(jù)寄存器(16位),具有輸入、輸出功能;

C:乘商寄存器(16位),具有輸入、輸出功能及雙向移位功能。

畫出框圖:

第三章

1.有一個具有20位地址和32位字長的存儲器,問:

(1)該存儲器能存儲多少個字節(jié)的信息?

(2)如果存儲器由512Kx8位SRAM芯片組成,需要多少芯片?

(3)需要多少位地址作芯片選擇?

解:(1)???220=1M,?,?該存儲器能存儲的信息為:1MX32/8=4MB

(2)(1000/512)X(32/8)=8(片)

(3)需要1位地址作為芯片選擇。

2.已知某64位機主存采用半導體存儲器,其地址碼為26位,若使用256Kxi6位的DRAM芯片

組成該機所允許的最大主存空間,并選用模塊板結構形式,問:

(1)每個模塊板為1024KX64位,共需幾個模塊板?

(2)個模塊板內共有多少DRAM芯片?

(3)主存共需多少DRAM芯片?CPU如何選擇各模塊板?

解:(1).共需模塊板數(shù)為m

m=2264-220=64(塊)

(2).每個模塊板內有DRAM芯片數(shù)為n:

n=(220/218)X(64/16)=16(片)

(3)主存共需DRAM芯片為:16X64=1024(片)

每個模塊板有16片DRAW芯片,容量為1024Kx64位,需20根地址線(A19~A0)完成

模塊

板內存儲單元尋址。一共有64塊模塊板,采用6根高位地址線(A25~A20),通過

6:64譯碼器譯碼產生片選信號對各模塊板進行選擇。

3.用16Kx8位的DRAM芯片組成64Kx32位存儲器,要求:

(1)畫出該存儲器的組成邏輯框圖.

(2)設存儲器讀/寫周期為0.5口S,CPU在1口S內至少要訪問一次。試間采用哪種刷新方式比

較合理?兩次刷新的最大時間間隔是多少?對全部存儲單元刷新一遍所需的實際刷新時間是多

少?

解:(1)組成64Kx32位存儲器需存儲芯片數(shù)為

N=(64K/16K)X(32位/8位)=16(片)

每4片組成16Kx32位的存儲區(qū),有A13-A0作為片內地址,用A15A14經2:4譯碼器

產生片選信號,邏輯框圖如下所示:

(2)依題意,采用異步刷新方式較合理,可滿足CPU在1US內至少訪問內存一次的要求。

設16Kx8位存儲芯片的陣列結構為128行X128歹U,按行刷新,刷新周期T=2ms,則異

刷新的間隔時間為:

2ms

=15.5(|1S)

128

則兩次刷新的最大時間間隔發(fā)生的示意圖如下

REF|IREFIIREF

?15.5WS玉15.5WS巨

可見,兩次刷新的最大時間間隔為tmax

tmaX=15.5-0.5=15(uS)

對全部存儲單元刷新一遍所需時間為tR

tR=0.5X128=64(uS)

7.某機器中,已知配有一個地址空間為OOOOH-3FFFH的ROM區(qū)域?,F(xiàn)在再用一個RAM芯片(8KX8)

形成40Kxi6位的RAM區(qū)域,起始地址為6000H,假定RAM芯片有無和禰信號控制端。CPU

的地址總線為A15-A0,數(shù)據(jù)總線為D15-D0,控制信號為R/諦(讀/寫),加贓0(訪存),要求:

(1)畫出地址譯碼方案。

(2)將ROM與RAM同CPU連接。

解:⑴依題意,主存地址空間分布如右圖所示,可選用2片27128(16KX8位)的EPROM作為

ROM區(qū):10片的8KX8位RAM片組成40Kxi6位的RAM區(qū)。27128需14位片內地址,而RAM需

13位

月內地址,故可用A15-A13三位高地址經譯碼產生月選信號,方案如下:

OOOOH

16Kxi6位

3FFFHROM

4000H8Kxi6位

5FFFH留空

6000H40Kxi6位

FFFFHRAM

CS

(ROM)

丫3-丫7每條線

與門

NC控制8Kxi6的RAM

MREQ

(

)Y7

Y3

R0M)

------------------------------------->

8.存儲器容量為64M,字長64位,模塊數(shù)m=8,分別用順序方式和交叉方式進行組織。存

儲周期T=100ns,數(shù)據(jù)總線寬度為64位,總線周期r=10ns.問順序存儲器和交叉存儲器的

帶寬各是多少?

解:信息總量:q=64位X8=512位

順序存儲器和交叉存儲器讀出8個字的時間分別是:

t2=mT=8X100ns=8X13-7(s)

ti=T+(m-I2=100+7X10=1.7X10-7(s)

順序存儲器帶寬是:

W2=q/t2=5124-(8X10-7)=64X107(位/S)

交叉存儲器帶寬是:

Wi=q/ti=512-r(1.7XI。-?)=301X107(位/S)

9.CPU執(zhí)行一段程序時,cache完成存取的次數(shù)為2420次,主存完成存取的次數(shù)為80

次,已知cache存儲周期為40ns,主存存儲周期為240ns,求cache/主存系統(tǒng)的效率和平均訪

問時間。

解:先求命中率h

h=nc/(nc+nm)=24204-(2420+80)=0.968

則平均訪問時間為ta

ta=O.968X40+(1-0.968)X240=46.4(ns)

r=2404-40=6

cache/主存系統(tǒng)的效率為c

e=l/[r+(l-r)XO.968]=86.2%

10.已知Cache存儲周期40ns,主存存儲周期200ns,Cache/主存系統(tǒng)平均訪問時間為50ns,

求Cache的命中率是多少?

解:*/ta=tcXh+trX(1-h)

???h=(ta-tr)/(tc-tr)=(50-200)/(40-200)=15/16=0.94

11.主存容量為4MB,虛存容量為1GB,則虛存地址和物理地址各為多少位?如頁面大小為4KB,

則頁表長度是多少?

解:已知主存容量為4MB,虛存容量為1GB

/2

???2=4M.??物理地址為22位

_30

又???2=1G???虛擬地址為3c位

頁表長度為1GB+4KB=230+212=2I8=256K

14.假設主存只有a,b,c三個頁框,組成a進c出的FIFO隊列,進程訪問頁面的序列是

0,1,2.4,2,3,0,2,1.3,2號。用列表法求采用LRU替換策略時的命中率。

解:

頁面訪問序列01242302132

A01242302132

LRUB0124230213

C011423021

命中命中命中

?,.命中率為

7

n=—=27.3%

11

15.從下列有關存儲器的描述中,選擇出正確的答案:

A.多體交叉存儲主要解決擴充容量問題;

B.訪問存儲器的請求是由CPU發(fā)出的;

C.Cache與主存統(tǒng)一編址,即主存空間的某一部分屬于Cache;

D.Cache的功能全由硬件實現(xiàn)。

解:D

16.從下列有關存儲器的描述中,選擇出正確的答案:

A.在虛擬存儲器中,外存和主存一相同的方式工作,因此允許程序員用比主存空間大得

多的外存空間編程;

B.在虛擬存儲器中,邏輯地址轉換成物理地址是由硬件實現(xiàn)的,僅在頁面失效時才由操

作系統(tǒng)將被訪問頁面從外存調到內存,必要時還要先把被淘汰的頁面內容寫入外存;

C.存儲保護的目的是:在多用戶環(huán)境中,既要防止一個用戶程序出錯而破壞系統(tǒng)軟件或

其他用戶程序,又要防止一個用戶訪問不是分配給他的主存區(qū),以達到數(shù)據(jù)安全和保

密的要求。

解:C

第四章

1.ASCII碼是7位,如果設計主存單元字長為32位,指令字長為12位,是否合理?為什

么?

解:指令字長設計為12位不是很合理。主存單元字長為32位,一個存儲單元可存放4個ASCII

碼,

余下4位可作為ASCH碼的校驗位(每個ASCII碼帶一位校驗位),這樣設計還是合理的。

但是,設計指令字長為12位就不合理了,12位的指令碼存放在字長32位的主存單元中,

造成19位不能用而浪費了存儲空間。

2.假設某計算機指令長度為20位,具有雙操作數(shù)、單操作數(shù)、無操作數(shù)三類指令形式,每個操

作數(shù)地址規(guī)定用6位表示。問:

若操作碼字段固定為8位,現(xiàn)已設計出m條雙操作數(shù)指令,n條無操作數(shù)指令,在此情況下,這

臺計算機最多可以設計出多少條單操作數(shù)指令?

解:這臺計算機最多可以設計出256-m-n條單操作數(shù)指令

3.指令格式結構如下所示,試分析指令格式及尋址方式特點。

15107430

OP目標寄存器源寄存器

解:指令格式及尋址方式特點如下:

①單字長二地址指令;

②操作碼OP可指定2164條指令:

③RR型指令,兩個操作數(shù)均在寄存器中,源和目標都是通用寄存器(可分別指定16個寄

存器

之一);

④這種指令格式常用于算術邏輯類指令。

4.指令格式結構如下所示.試分析指令格式及尋址方式特點。

15107430

OP源寄存器變址寄存器

偏;多量(16位)

解:指令格式及尋址方式特點如下:

①雙字長二地址指令;

②操作碼0P可指定26=64條指令;

③RS型指令,兩個操作數(shù)一個在寄存器中(16個寄存器之一),另一個在存儲器中;

④有效地址通過變址求得:E=(變址寄存器)土D,變址寄存器可有16個。

5.指令格式結構如下所示,試分析指令格式及尋址方式特點。

1512119865320

OP尋址方式寄存器尋址方式1寄存器

jWk〃目的地址

解:指令格式及尋址方式特點如下:

①單字長二地址指令;

②操作碼OP可指定2憶16條指令;

③有8個通用寄存器,支持8種尋址方式:

④可以是RR型指令、SS型指令、RS型指令、

6.一種單地址指令格式如下所示,其中I為間接特征,X為尋址模式,D為形式地址。I,X,D

組成該指令的操作數(shù)有效地址E。設R為變址寄存器,R1為基值寄存器,PC為程序計數(shù)器,請

在下表中第一列位置填入適當?shù)膶ぶ贩绞矫Q。

0PIXD

,址方式名整1X盯效地址E

①3)0E-D

3)1E-<PC>+D

IU

11E=(Ri:+D

⑤1加

1-)11D).D-o

解:①直接尋址

②相對尋址

③變址尋址

④基址尋址

⑤間接尋址

⑥基址間址尋址

7.某計算機字長16位,主存容量為64K字,采用單字長單地址指令,共有40條指令,試采用

直接、立即、變址、相對四種尋址方式設計指令格式。

解:40條指令需占用操作碼字段OP)6位,這樣指令余下長度為10位。為了覆蓋主存640K

字的地

址空間,設尋址模式(X)2位,形式地址(D)8位,其指令格式如下:

15109870

OPXD

尋址模式定義如下:

X=00直接尋址有效地址E=D(直接尋址為256個存儲單元)

X=01立即尋址D字段為操作數(shù)

X=10變址尋址有效地址E=(Rx)+D(可尋址64K個存儲單元)

X=11相對尋址有效地址E=(PC)+D(可尋址64K個存儲單元)

其中Rx為變址寄存器(16位),PC為程序計數(shù)器(16位),在變址和相對尋址時,位移

量D可正可負。

8.某機字長為32位,主存容量為1M,單字長指令,有50種操作碼,采用頁面尋址、立即、直接

等尋址方式。CPU中有PC,IR,AR,DR和16個通用寄存器,頁面尋址可用PC高位部分與形式

地址部分拼接成有效地址。問:

(1)指令格式如何安排?

(2)主存能劃分成多少頁面?每頁多少單元?

(3)能否增加其他尋址方式?

解:(1)依題意,指令字長32位,主存1M字,需20位地址A19-A0。50種操作碼,需6位OP,

指令

尋址方式Mode為2位,指定寄存器Rn需4位。設有單地址指令、雙地址指令和零地

址指

令,現(xiàn)只討論前二種指令。

單地址指令的格式為:

312625242320190

0PModeRnD

Mode=00時為立即尋址方式,指令的23-0位為立即數(shù);

Mode=01時為直接尋址方式,指令的19一0位為有效地址。

雙地址指令的格式為:

31262524232019181714130

0P|Model|Rn|Mode2|Rn|D

Model=01時為寄存器直接尋址方式,操作數(shù)S=(Rn):

Model=ll時為寄存器間址尋址方式,有效地址E=(Rn)。

Mode2=00時為立即尋址方式,指令的13-0位為立即數(shù):

Mode2=01時為頁面尋址方式;

Mode2=10時為變址尋址方式,E=(Rn)+D;

Mode2=ll時為變址間址尋址方式,E=((Rn)+D)?

(2)由于頁面尋址方式時,D為14位,所以頁面大小應為2“=16K字,則1M字可分為

2^=64個頁面??捎蒔C的高6位指出頁面號。

(3)能增加其它尋址方式,例上述間址方式、變址間址尋址方式。

14.從以下有關RISC的描述中,選擇正確答案。

A.采用RISC技術后,計算機的體系結構又恢復到早期的比較簡單的情況。

B.為了實現(xiàn)兼容,新設計的RISC,是從原來CISC系統(tǒng)的指令系統(tǒng)中挑選一部分實現(xiàn)的。

C.RISC的主要目標是減少指令數(shù),提高指令執(zhí)行效率。

D.RISC設有乘、除法指令和浮點運算指令。

解:C

15.根據(jù)操作數(shù)所在位置,指出其尋址方式(填空):

(1)操作數(shù)在寄存器中,為(A)尋址方式。

(2)操作數(shù)地址在寄存器,為(B)尋址方式。

(3)操作數(shù)在指令中,為(C)尋址方式。

(4)操作數(shù)地址(主存)在指令中,為(D)尋址方式

(5)操作數(shù)的地址,為某一寄存器內容與位移量之和可以是(E,F,G)尋址方式。

解:A:寄存器直接;B:寄存器間接;C:立即;

D:直接:E:相對:F:基值:G:變址

第五章

1.請在括號內填入適當答案。在CPU中:

(1)保存當前正在執(zhí)行的指令的寄存器是(指令寄存器IR);

(2)保存當前正要執(zhí)行的指令地址的寄存器是(程序計數(shù)器PC);

(3)算術邏輯運算結果通常放在(通用寄存器)和(數(shù)據(jù)緩沖寄存器DR)。

2.參見下圖(課本P166圖5.15)的數(shù)據(jù)通路。畫出存數(shù)指令"STAR1,(R2)〃的指令周期

流程圖,其含義是將寄存器R1的內容傳送至(R2)為地址的主存單元中。標出各微操作信

號序列。

解:"STARI,(R2)”指令是一條存數(shù)指令,其指令周期流程圖如下圖所示:

PCD,G,AR,

PC-AK

M-*DRR/J7=R

DRo,G,IRi

DR-IR

3.參見課本P166圖5.15的數(shù)據(jù)通路,畫出取數(shù)指令"LDA(R3),R0”的指令周期流程圖,

其含義是將(R3)為地址的主存單元的內容取至寄存器R0中,標出各微操作控制信號序列。

5.如果在一個CPU周期中要產生3個脈沖T1=200ns,T2=400ns,T3=200ns,試畫出

時序產生器邏輯圖。

解:節(jié)拍脈沖Ti,T2,T3的寬度實際等于時鐘脈沖的周期或是它的倍數(shù),此時Ti=T3=200ns,

T2=400ns,所以主脈沖源的頻率應為f=1/Ti=5MHZ。為了消除節(jié)拍脈沖上的毛刺,

環(huán)

型脈沖發(fā)生器可采用移位寄存器形式。下圖畫出了題目要求的邏輯電路圖和時序信號關系。

根據(jù)關

系,節(jié)拍脈沖Ti,T2,T3的邏輯表達式如下:

Ti=C1?C2>T2=T3=Ci

6.假設某機器有80條指令,平均每條指令由4條微指令組成,其中有一條取指微指令是所有

令公用的。已知微指令長度為32位,請估算控制存儲器容量。

解:微指令條數(shù)為:(4T)X80+]=241條

取控存容量為:256X32位=1KB

7.某ALU器件使用模式控制碼M,S3,S2,SI,C來控制執(zhí)行不同的算術運算和邏輯操作。

下表列出各條指令所要求的模式控制碼,其中y為二進制變量,F(xiàn)為0或1任選。

試以指令碼(A,B,H,D,E,F,G)為輸入變量,寫出控制參數(shù)M,S3,S2,SI,C的邏

輯表達式。

指令碼MS3S2SIc

A,B00110

H,D01101

E0010y

F0111Y

G1011

解:M=G

S3=H+D+F

S2=l

S1=H+D+E

C=H+D+(E+F)y

8.某機有8條微指令11-18,每條微指令所包含的微命令控制信號如下表所示。

微命令信號

懂指令Q-d.fR

iiV7

kV

L\Z5/

I.

Ity7

hVv_

bVy

hV7

a-j分別對應10種不同性質的微命令信號。假設一條微指令的控制字段為8位,請安排微指

令的控制字段格式。

解:經分析,(e,f,h)和(b,i,j)可分別組成兩個小組或兩個字段,然后進行譯碼,可得

六個

微命令信號,剩下的a,c,d,g四個微命令信號可進行直接控制,其整個控制字段組成如

下:

微指令控制字段:

01:e01:b

10:f10:i

11:h11:J

11.己知某機采用微程序控制方式,其控制存儲器容量為512X48(位)。微程序可在整個控

制存儲器中實現(xiàn)轉移,可控制微程序轉移的條件共4個,微指令采用水平型格式,后繼微

指令地址采用斷定方式。請問:

(1)微指令中的三個字段分別應為多少位?

(2)畫出圍繞這種微指令格式的微程序控制器邏輯框圖。

解:

(1)假設判別測試字段中每一位作為一個判別標志,那么由于有4個轉移條件,故該字段為4

位;

又因為控存容量為512單元,所以下地址字段為9位,。微命令字段則是:

(48-4-9)=35位。

(2)對應上述微指令格式的微程序控制器邏輯框圖如下圖所示。其中微地址寄存器對應下地址

字,P字段即為判別測試字段,控制字段即為微命令字段,后兩部分組成微指令寄存器。

地址轉移邏輯的輸入是指令寄存器的0P碼、各種狀態(tài)條件以及判別測試字段所給的

判別標志

(某一位為1),其輸出用于控制修改微地址寄存器的適當位數(shù),從而實現(xiàn)微程序的分支轉

移(此例微指令的后繼地址采用斷定方式)。

12.今有4級流水線分別完成取值、指令譯碼并取數(shù)、運算、送結果四步操作,

今假設完成各步操作的時間依次為100ns,100ns,80ns,50ns。

請問:(1)流水線的操作周期應設計為多少?

(2)若相鄰兩條指令發(fā)生數(shù)據(jù)相關,而且在硬件上不采取措施,那么第二條指令要

推遲多少時間進行。

(3)如果在硬件設計上加以改進,至少需推遲多少時間?

解:

(1)流水線的操作時鐘周期t應按四步操作中最長時間來考慮,所以t=100ns;

(2)兩條指令發(fā)生數(shù)據(jù)相關沖突情況::

ADDR1.R2.R3;R2+R3-R1

SUBR4,R1,R5;R1-R5-R4

兩條指令在流水線中執(zhí)行情況如下表所示:

、時鐘1234567

般、

ADDIFIDEXWB

SUBIFIDEXWB

不采取措施IFIDEXWB

采取措施IFIDEXWB

ADD指令在時鐘4時才將結果寫入寄存器R1中,但SUB指令在時鐘3E寸就需讀寄存器R1了,

顯然發(fā)生

數(shù)據(jù)相關,不能讀到所需數(shù)據(jù),只能等待。如果硬件上不采取措施,第2條指令SUB至少應推

遲2個

操作時鐘周期,即t=2X100ns=200ns:

(3)如果硬件上加以改進(采取旁路技術),這樣只需推遲1個操作時鐘周期就能得到所需數(shù)據(jù),

即t=100ns(>

15.用定量描述法證明流水計算機比非流水計算機具有更高的吞吐率。

解:衡量并行處理器性能的一個有效參數(shù)是數(shù)據(jù)帶寬(最大吞吐量),它定義為單位時間內可以

產生

的最大運算結果個數(shù)。

設P1是有總延時T1的非流水處理器,故其帶寬為1/T1。又設Pm是相當于Pim段流水處

理器延遲時間Tr,故Pm的帶寬為1/(Tc+Tr)。如果Pm是將P1劃分成相同延遲的若干段形

成的,則Ti^mTc因

此Pi的帶寬接近于1/mTc,由此可見,當mTc>Tc+Tr滿足時,Pm比Pi具有更大的帶寬。

16.流水線中有三類數(shù)據(jù)相關沖突:寫后讀(RAW)相關;讀后寫(WAR)相關;寫后寫

(WAW)相關。判斷以下三組指令各存在哪種類型的數(shù)據(jù)相關。

(1)IlLADRI,A;M(A)-RLM(A)是存儲器單元

12ADDR2,RI;(R2)+(RI)-R2

(2)13ADDR3,R4;(R3)+(R4)-R3

14MULR4,R5;(R4)X(R5)->R4

(3)15LADR6,B;M(B)->R6..M(B)是存儲器單元

16MULR6,R7;(R6)X(R7)-R6

解:(1)寫后讀(RAW)相關:

(2)讀后寫(WAR)相關,但不會引起相關沖突;

(3)寫后讀(RAW)相關、寫后寫(WAW)相關

17.參考教科書圖5.42所示的超標量流水線結構模型,現(xiàn)有如下6條指令序列:

IILADR1,B;M(B)fR1,M(B)是存儲器單元

12SUBR2,RI;(R2)-(R1)-R2

13MULR3,R4;(R3)X(R4)fR3

14ADDR4,R5;(R4)+(R5)-R4

15LADR6,A;M(A)fR6,M(A)是存儲器單元

16

溫馨提示

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

評論

0/150

提交評論