計算機系統(tǒng)結(jié)構(gòu)課后習(xí)題解析_第1頁
計算機系統(tǒng)結(jié)構(gòu)課后習(xí)題解析_第2頁
計算機系統(tǒng)結(jié)構(gòu)課后習(xí)題解析_第3頁
計算機系統(tǒng)結(jié)構(gòu)課后習(xí)題解析_第4頁
計算機系統(tǒng)結(jié)構(gòu)課后習(xí)題解析_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課后習(xí)題

第一章計算機系統(tǒng)結(jié)構(gòu)的基本概念

1.有一個計算機系統(tǒng)可按功能分成4級,每級的指令互不相同,每一級的指令都比

其下一級的指令在效能上強M倍,即第i級的一條指令能完成第i-1級的M條指令

的計算量。現(xiàn)若需第i級的N條指令解釋第i+1級的一條指令,而有一段第1級的

程序需要運行KS,問在第2、3和4級上一段等效程序各需要運行多長時間?

答:第2級上等效程序需運行:(N/M)*KSo第3級上等效程序需運行:

(N/M)*(N/M)*KSo第4級上等效程序需運行:(N/M)*(N/M)*(N/M)*Kso

note:

由題意可知:第i級的一條指令能完成第i-l級的M條指令的計算量。而現(xiàn)在

第i級有N條指令解釋第i+1級的一條指令,那么,我們就可以用N/M來表示N/M

表示第i+1級需(N/M)條指令來完成第i級的計算量。所以,當(dāng)有一段第1級的程

序需要運行KS時,在第2級就需要(N/M)Ks,以此類推

2.硬件和軟件在什么意義上是等效的?在什么意義上又是不等效的?試舉例說明。

答:軟件和硬件在邏輯功能上是等效的,原理上,軟件的功能可用硬件或固件完

成,硬件的功能也可用軟件模擬完成。但是實現(xiàn)的性能價格比,實現(xiàn)的難易程序不

同。

在DOS操作系統(tǒng)時代,漢字系統(tǒng)是一個重要問題,早期的漢字系統(tǒng)的字庫和處

理程序都固化在漢卡(硬件)上,而隨著CPU、硬盤、內(nèi)存技術(shù)的不斷發(fā)展,UCDOS

把漢字系統(tǒng)的所有組成部份做成一個軟件。

3.試以實例說明計算機系統(tǒng)結(jié)構(gòu)、計算機組成與計算機實現(xiàn)之間的相互關(guān)系與影響。

答:計算機系統(tǒng)結(jié)構(gòu)、計算機組成、計算機實現(xiàn)互不相同,但又相互影響。

(1)計算機的系統(tǒng)結(jié)構(gòu)相同,但可采用不同的組成。如工BM370系列有115>

125、135、158、168等由低檔到高檔的多種型號機器。從匯編語言、機器語言程

序設(shè)計者看到的概念性結(jié)構(gòu)相同,均是由中央處理機/主存,通道、設(shè)備控制器,外

設(shè)4級構(gòu)成。其中,中央處理機都有相同的機器指令和匯編指令系統(tǒng),只是指令的

分析、執(zhí)行在低檔機上采用順序進行,在高檔機上采用重疊、流水或其它并行處理

方式。

(2)相同的組成可有多種不同的實現(xiàn)。如主存器件可用雙極型的,也可用MOS

型的;可用VLS工單片,也可用多片小規(guī)模集成電路組搭。

(3)計算機的系統(tǒng)結(jié)構(gòu)不同,會使采用的組成技術(shù)不同,反之組成也會影響

結(jié)構(gòu)。如為實現(xiàn)A:=B+CD:=E*F,可采用面向寄存器的系統(tǒng)結(jié)構(gòu),也可采用面向主

存的三地址尋址方式的系統(tǒng)結(jié)構(gòu)。要提高運行速度,可讓相加與相乘并行,為此這

兩種結(jié)構(gòu)在組成上都要求設(shè)置獨立的加法器和乘法器。但對面向寄存器的系統(tǒng)結(jié)構(gòu)

還要求寄存器能同時被訪問,而對面向主存的三地址尋址方式的系統(tǒng)結(jié)構(gòu)并無此要

求,倒是要求能同時形成多個訪存操作數(shù)地址和能同時訪存。又如微程序控制是組

成影響結(jié)構(gòu)的典型。通過改變控制存儲器中的微程序,就可改變系統(tǒng)的機器指令,

改變結(jié)構(gòu)。如果沒有組成技術(shù)的進步,結(jié)構(gòu)的進展是不可能的。

綜上所述,系統(tǒng)結(jié)構(gòu)的設(shè)計必須結(jié)合應(yīng)用考慮,為軟件和算法的實現(xiàn)提供更多

更好的支持,同時要考慮可能采用和準(zhǔn)備采用的組成技術(shù)。應(yīng)避免過多地或不合理

地限制各種組成、實現(xiàn)技術(shù)的采用和發(fā)展,盡量做到既能方便地在低檔機上用簡單

便宜的組成實現(xiàn),又能在高檔機上用復(fù)雜較貴的組成實現(xiàn),這樣,結(jié)構(gòu)才有生命力;

組成設(shè)計上面決定于結(jié)構(gòu),下面受限于實現(xiàn)技術(shù)。然而,它可與實現(xiàn)折衷權(quán)衡。例

如,為達到速度要求,可用簡單的組成但卻是復(fù)雜的實現(xiàn)技術(shù),也可用復(fù)雜的組成

但卻是一般速度的實現(xiàn)技術(shù)。前者要求高性能的器件,后者可能造成組成設(shè)計復(fù)雜

化和更多地采用專用芯片。

組成和實現(xiàn)的權(quán)衡取決于性能價格比等因素;結(jié)構(gòu)、組成和實現(xiàn)所包含的具體

內(nèi)容隨不同時期及不同的計算機系統(tǒng)會有差異。軟件的硬化和硬件的軟件都反映了

這一事實。VLSI的發(fā)展更使結(jié)構(gòu)組成和實現(xiàn)融為一體,難以分開。

4.什么是透明性概念?對計算機系統(tǒng)結(jié)構(gòu),下列哪些是透明的?哪些是不透明的?

存儲器的模m交叉存??;浮點數(shù)據(jù)表示;工/0系統(tǒng)是采用通道方式還是外圍處理機

方式;數(shù)據(jù)總線寬度;字符行運算指令;陣列運算部件;通道是采用結(jié)合型還是獨

立型;PDP-11系列的單總線結(jié)構(gòu);訪問方式保護;程序性中斷;串行、重疊還是流

水控制方式;堆棧指令;存儲器最小編址單位;Cache存儲器。

答:透明指的是客觀存在的事物或?qū)傩詮哪硞€角度看不到。

透明的有:存儲器的模m交叉存取;數(shù)據(jù)總線寬度;陣列運算部件;通道是采

用結(jié)合型還是獨立型;PDP-11系列的單總線結(jié)構(gòu)串行、重疊還是流水控制方式;

Cache存儲器。

不透明的有:浮點數(shù)據(jù)表示;工/。系統(tǒng)是采用通道方式還是外圍處理機方式;

字符行運算指令;訪問方式保護;程序性中斷;;堆棧指令;存儲器最小編址單位。

5.從機器(匯編)語言程序員看,以下哪些是透明的?

指令地址寄存器;指令緩沖器;時標(biāo)發(fā)生器;條件寄存器;乘法器;主存地址寄存

器;磁盤外設(shè);先行進位鏈;移位器;通用寄存器;中斷字寄存器。

答:透明的有:指令緩沖器、時標(biāo)發(fā)生器、乘法器、先進先出鏈、移位器、主

存地址寄存器。

6.下列哪些對系統(tǒng)程序員是透明的?哪些對應(yīng)用程序員是透明的?

系列機各檔不同的數(shù)據(jù)通路寬度;虛擬存儲器;Cache存儲器;程序狀態(tài)字;“啟動

I/O"指令;“執(zhí)行”指令;指令緩沖寄存器。

答:對系統(tǒng)程序員透明的有:系列機各檔不同的數(shù)據(jù)通路寬度;Cache存儲

器;指令緩沖寄存器;

對應(yīng)用程序員透明的有:系列機各檔不同的數(shù)據(jù)通路寬度;Cache存儲器;指

令緩沖寄存器;虛擬存儲器;程序狀態(tài)字;“啟動I/O"指令。

note:

系列機各檔不同的數(shù)據(jù)通路寬度、Cache存貯器、指令緩沖寄存器屬于計算機

組成,對系統(tǒng)和程序員和應(yīng)用程序員都是透明的。

虛擬存貯器、程序狀態(tài)字、“啟動工/?!敝噶?,對系統(tǒng)程序員是不透明的,而

對應(yīng)用程序員卻是透明的。

“執(zhí)行”指令則對系統(tǒng)程序員和應(yīng)用程序員都是不透明的。

7.想在系列機中發(fā)展一種新型號機器,你認為下列哪些設(shè)想是可以考慮的,哪些則

不行的?為什么?

(1)新增加字符數(shù)據(jù)類型和若干條字符處理指令,以支持事務(wù)處理程序的編譯。

(2)為增強中斷處理功能,將中斷分級由原來的4級增加到5級,并重新調(diào)整中斷

響應(yīng)的優(yōu)先次序。

(3)在CPU和主存之間增設(shè)Cache存儲器,以克服因主存訪問速率過低而造成的

系統(tǒng)性能瓶頸。

(4)為解決計算誤差較大,將機器中浮點數(shù)的下溢處理方法由原來的恒置“1”法,

改為用ROM存取下溢處理結(jié)果的查表舍入法。

(5)為增加尋址靈活性和減少平均指令字長,將原等長操作碼指令改為有3類不同

碼長的擴展操作碼;將源操作數(shù)尋址方式由操作碼指明改成如VAX-11那種設(shè)尋址

方式位字段指明。

(6)將CPU與主存間的數(shù)據(jù)通路寬度由16位擴展成32位,以加快主機內(nèi)部信息

的傳送。

(7)為減少公用總路線的使用沖突,將單總線改為雙總線。

(8)把原0號通用寄存器改作堆棧指示器。

答:可以考慮的有:1,3,4,6,7o不可以考慮的有:2,5,8o

原則是看改進后能否保持軟件的可移植性。

P.S.為了能使軟件長期穩(wěn)定,就要在相當(dāng)長的時期里保證系統(tǒng)結(jié)構(gòu)基本不變,

因此在確定系列結(jié)構(gòu)時要非常慎重。其中最主要是確定好系列機的指令系統(tǒng)、數(shù)據(jù)

表示及概念性結(jié)構(gòu)。既要考慮滿足應(yīng)用的各種需要和發(fā)展,又要考慮能方便地采用

從低速到高速的各種組成的實現(xiàn)技術(shù),即使用復(fù)雜、昂貴的組成實現(xiàn)時,也還能充

分發(fā)揮該實現(xiàn)方法所帶來的好處。

8.并行處理計算機除分布處理、MPP和機群系統(tǒng)外,有哪4種基本結(jié)構(gòu)?列舉它們

各自要解決的主要問題。

答:除了分布處理,MPP和機群系統(tǒng)外,并行處理計算機按其基本結(jié)構(gòu)特征

可分為流水線計算機,陣列處理機,多處理機和數(shù)據(jù)流計算機四種不同的結(jié)構(gòu)。

流水線計算機主要通過時間重疊,讓多個部件在時間上交劃重疊地并行招待運

算和處理,以實現(xiàn)時間上的并行。它主要應(yīng)解決:擁塞控制,沖突防止,流水線調(diào)

度等問題。

陣列處理機主要通過資源重復(fù)實現(xiàn)空間上的并行。它主要應(yīng)解決:處理單元靈

活、規(guī)律的互連模式和互連網(wǎng)絡(luò)設(shè)計,數(shù)據(jù)在存儲器中的分布算法等問題。

多處理機主要通過資源共享,讓一組計算機在統(tǒng)一的操作系統(tǒng)全盤控制下,實

現(xiàn)軟件和硬件各級上的相互作用,達到時間和空間上的異步并行。它主要應(yīng)解決:

處理機間互連等硬件結(jié)構(gòu),進程間的同上步和通訊,多處理機調(diào)度等問題。

數(shù)據(jù)流計算機設(shè)有共享變量的概念,指令執(zhí)行順序只受指令中數(shù)據(jù)的相關(guān)性制

約。數(shù)據(jù)是以表示某一操作數(shù)或參數(shù)已準(zhǔn)備就緒的數(shù)據(jù)令牌直接在指令之間傳遞。

它主要應(yīng)解決:研究合適的硬件組織和結(jié)構(gòu),高效執(zhí)行的數(shù)據(jù)流語言等問題。

9.計算機系統(tǒng)的3T性能目標(biāo)是什么?

答:計算機系統(tǒng)的3T性能目標(biāo)是1TFL0PS計算能力,1TBYTE主存容量和

1TBYTES的I/O帶寬。

第二章數(shù)據(jù)表示與指令系統(tǒng)

1.數(shù)據(jù)結(jié)構(gòu)和機器的數(shù)據(jù)表示之間是什么關(guān)系?確定和引入數(shù)據(jù)表示的基本原則是

什么?

答:數(shù)據(jù)表示是能由硬件直接識別和引用的數(shù)據(jù)類型。數(shù)據(jù)結(jié)構(gòu)反映各種數(shù)據(jù)元素

或信息單元之間的結(jié)構(gòu)關(guān)系。

數(shù)據(jù)結(jié)構(gòu)要通過軟件映象變換成機器所具有的各種數(shù)據(jù)表示實現(xiàn),所以數(shù)據(jù)表

示是數(shù)據(jù)結(jié)構(gòu)的組成元素。不同的數(shù)據(jù)表示可為數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)提供不同的支持,

表現(xiàn)在實現(xiàn)效率和方便性不同。數(shù)據(jù)表示和數(shù)據(jù)結(jié)構(gòu)是軟件、硬件的交界面。

除基本數(shù)據(jù)表示不可少外,高級數(shù)據(jù)表示的引入遵循以下原則:

(1)看系統(tǒng)的效率有否提高,是否養(yǎng)活了實現(xiàn)時間和存儲空間。

(2)看引入這種數(shù)據(jù)表示后,其通用性和利用率是否高。

2.標(biāo)志符數(shù)據(jù)表示與描述符數(shù)據(jù)表示有何區(qū)別?描述符數(shù)據(jù)表示與向量數(shù)據(jù)表示對

向量數(shù)據(jù)結(jié)構(gòu)所提供的支持有什么不同?

答:標(biāo)志符數(shù)據(jù)表示與描述符數(shù)據(jù)表示的差別是標(biāo)志符與每個數(shù)據(jù)相連,合存

于同一存儲單元,描述單個數(shù)據(jù)的類型特性;描述符是與數(shù)據(jù)分開存放,用于描述向

量、數(shù)組等成塊數(shù)據(jù)的特征。

描述符數(shù)據(jù)表示為向量、數(shù)組的的實現(xiàn)提供了支持,有利于簡化高級語言程序

編譯中的代碼生成,可以比變址法更快地形成數(shù)據(jù)元素的地址。但描述符數(shù)據(jù)表示

并不支持向量、數(shù)組數(shù)據(jù)結(jié)構(gòu)的高效實現(xiàn)。而在有向量、數(shù)組數(shù)據(jù)表示的向量處理

機上,硬件上設(shè)置有豐富的賂量或陣列運算指令,配有流水或陣列方式處理的高速

運算器,不僅能快速形成向量、數(shù)組的元素地址,更重要的是便于實現(xiàn)把向量各元

素成塊預(yù)取到中央處理機,用一條向量、數(shù)組指令流水或同時對整個向量、數(shù)組高

速處理.如讓硬件越界判斷與元素運算并行。這些比起用與向量、陣列無關(guān)的機器

語言和數(shù)據(jù)表示串行實現(xiàn)要高效的多。

3.堆棧型機器與通用寄存器型機器的主要區(qū)別是什么?堆棧型機器系統(tǒng)結(jié)構(gòu)為程序

調(diào)用哪些操作提供了支持?

答:通用寄存器型機器對堆棧數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的支持是較差的。表現(xiàn)在:(1)堆

棧操作的指令少,功能單一;(2)堆棧在存儲器內(nèi),訪問堆棧速度低;(3)堆棧通常

只用于保存于程序調(diào)用時的返回地址,少量用堆棧實現(xiàn)程序間的參數(shù)傳遞。

而堆棧型機器則不同,表現(xiàn)在:(1)有高速寄存器組成的硬件堆棧,并與主存

中堆棧區(qū)在邏輯上組成整體,使堆棧的訪問速度是寄存器的,容量是主存的;(2)

豐富的堆棧指令可對堆棧中的數(shù)據(jù)進行各種運算和處理;(3)有力地支持高級語言的

編譯;(4)有力地支持子程序的嵌套和遞歸調(diào)用。

堆棧型機器系統(tǒng)結(jié)構(gòu)有力地支持子程序的嵌套和遞歸調(diào)用。在程序調(diào)用時將返

回地址、條件碼、關(guān)鍵寄存器的內(nèi)容等全部壓入堆棧,待子程序返回時、再從堆棧

中彈出。

4.設(shè)某機階值6位、尾數(shù)48位,階符和數(shù)符不在其內(nèi),當(dāng)尾數(shù)分別以2、8、16

為基時,在非負階、正尾數(shù)、規(guī)格化數(shù)情況下,求出其最小階、最大階、階的個數(shù)、

最小尾數(shù)值、最大尾數(shù)值、可表示的最小值和最大值及可表示的規(guī)格化數(shù)的總個數(shù)。

解:依題意知:p=6m=48rm=2,8,16,m'=m/log2(rm),列下表:

p=6,m=48,rm=2(m'=4p=6,m=48,rm=8(m-16p=6,m=48,rm=16(m-

8))12)

最小階(非負階,最

000

小為0)

最大階(24-1)2A6-12A6-12A6-1

最小尾數(shù)值

1/21/81/16

(rm人(-1))

最大尾數(shù)值1-8A(-16),即1-16人(-12),即

l-2A(-48)

(l-nnA(-m'))(l-2A(-48))(1-2人(-48))

可表示的最小值1/21/81/16

可表示的最大值2A63*(1-2A(-48))8人63*(1-8人(-16))16人63*(1-16人(-12))

階的個數(shù)(2Ap)2A62A62A6

可表示的尾數(shù)的個

2A48*(2-l)/28A16*(8-l)/816A12*(16-1)/16

數(shù)

可表示的規(guī)格化數(shù)

2人6*2人48*(2-1)/22A6*8A16*(8-1)/82人6*16人12*(16-1)/16

的個數(shù)

note:

可表示的最小值=rm人(最小階)*最小尾數(shù)值=rm-0*rm人(-1)=rmA(-1);

可表示的最大值=「111人(最大階)*最大尾數(shù)值=rm人(2人p-l)*(1-rm^(-m'));

可表示的尾數(shù)的個數(shù)=rm人m?*(rm-1)/rm;

可表示的規(guī)格化數(shù)的個數(shù)=階的個數(shù)*尾數(shù)的個數(shù)=2人p*rm人m,*(rm-1)/rm。

5.(1)浮點數(shù)系統(tǒng)使用的階基rp=2,階值位數(shù)p=2,尾數(shù)基值rm=10,以rm為基

的尾數(shù)位數(shù)m一=1,按照使用的倍數(shù)來說,等價于m=4,試計算在非負階、正尾數(shù)、

規(guī)格化情況下的最小尾數(shù)值、最大尾數(shù)值、最大階值、可表示的最小值和最大值及

可表示數(shù)的個數(shù)。

(2)對于rp=2,p=2,rm=4,m1=2,重復(fù)以上計算。

解:依題意列下表:

p=2,rm=10,m'=lp=2,rm=4,m'=2

A

最小尾數(shù)值10-1=0.14人-1=0.25

最大尾數(shù)值l-10A-l=0.91-4A-2=15/16

最大階值2pA-l=33

可表示的最小值0.10.25

可表示的最大值10A3*0.9=9004A3*15/16=60

可表示數(shù)的個數(shù)3648

題中“按照使用的倍數(shù)來說,等價于m=4,"這個m=4,因為2人3<10<2人4,

等價為實際要4個二進制位,表示RM=10為基的一位

6.由4位數(shù)(其中最低位為下溢附加位)經(jīng)ROM查表舍入法,下溢處理成3位結(jié)果,

設(shè)計使下溢處理平均誤差接近于零的ROM表,列出ROM編碼表地址與內(nèi)容的對應(yīng)關(guān)

系。

解:ROM編碼表地址與內(nèi)容的對應(yīng)關(guān)系

7.變址尋址和基址尋址各適用于何種場合?設(shè)計一種只用6位地址碼就可指向一個

大地址空間中任意64個地址之一的尋址機構(gòu)。

答:基址尋址是對邏輯地址空間到物理地址空間變換的支持,以利于實現(xiàn)程序

的動態(tài)再定位。變址尋址是對數(shù)組等數(shù)據(jù)塊運算的支持,以利于循環(huán)。將大地址空

間64個地址分塊,用基址寄存器指出程序所在塊號,用指令中6位地址碼表示該塊

內(nèi)64個地址之一,這樣基址和變址相結(jié)合可訪問大地址任意64個地址之一。比如

地址空間很大,為0-1023,只用6位地址碼就可以指向這1024個地址中的任意

64個。

剖析:比如地址空間很大,1024,就是分成16個塊,塊號放在寄存器中,

塊內(nèi)地址放在地址位中,寄存器內(nèi)容和地址位結(jié)合,就能達到要求了。

8.經(jīng)統(tǒng)計,某機器14條指令的使用頻度分別為:

0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,

0.11,0.03。分別求出用等長碼、Huffman碼、只有兩種碼長的擴展操作碼3種

編碼方式的操作碼平均碼長。

解:等長操作碼的平均碼長=4位;Huffman編碼的平均碼長=3.38位;只有兩

種碼長的擴展操作碼的平均碼長=3.4位。

9.若某機要求:三地址指令4條,單地址指令255條,零地址指令16條。設(shè)指令

字長為12位.每個地址碼長為3位。問能否以擴展操作碼為其編碼?如果其中單地

址指令為254條呢?說明其理由。

答:①不能用擴展碼為其編碼。

?.?指令字長12位,每個地址碼占3位;

三地址指令最多是2人(12-3-3-3)=8條,現(xiàn)三地址指令需4條,

???可有4條編碼作為擴展碼,

單地址指令最多為4X2人3X2人3=2人8=256條,

現(xiàn)要求單地址指令255條,.?.可有一條編碼作擴展碼

零地址指令最多為IX2人3=8條

不滿足題目要求

...不可能以擴展碼為其編碼。

②若單地址指令254條,可以用擴展碼為其編碼。

???依據(jù)①中推導(dǎo),單地址指令中可用2條編碼作為擴展碼

零地址指令為2X2人3=16條,滿足題目要求

note:

三地址指令格式:操作碼地址碼地址碼地址碼

3位3位3位3位

單地址指令格式:操作碼地址碼

9位3位

所以前面9位由于三地址指令用了最前面3位,還有中間6位可作為編碼(也

就是總共可以有9位作為單地址指令的指令操作碼的編碼)。減去3地址指令的4條,

有4*2人6=256條,但由于髭目要求要有255條,所以剩下一個編碼,已經(jīng)用了9

位的全部編碼,最后零地址指令(全部12位都可作為操作碼的編碼)還有1*2-3=8

(這是12位編碼中最后三位的)若只要求254種,則可以有(256-254)*2人3=16

10.某機指令字長16位。設(shè)有單地址指令和雙地址指令兩類。若每個地址字段為6

位.且雙地址指令有X條。問單地址指令最多可以有多少條?

答:單地址指令最多為(16-X)X2人6

P.S.雙地址指令最多是2人(16-6-6)=2-4=16條,現(xiàn)雙地址指令有X條,

...可有(16-X)條編碼作為擴展碼,

單地址指令最多為(16-X)X2人6=256條

11.何謂指令格式的優(yōu)化?簡要列舉包括操作碼和地址碼兩部分的指令格式優(yōu)化可采

用的各種途徑和思路。

答:指令格式的優(yōu)化指如何用最短位數(shù)表示指令的操作信息和地址信息,使程序中

指令的平均字長最短。

①操作碼的優(yōu)化

采用Huffman編碼和擴展操作碼編碼。

②對地址碼的優(yōu)化:

采用多種尋址方式;

采用0、1、2、3等多種地址制;

在同種地址制內(nèi)再采用多種地址形式,如寄存器-寄存器型、寄存器-主存型、

主存-主存型等;

在維持指令字在存儲器內(nèi)按整數(shù)邊界存儲的前提下,使用多種不同的指令字長

度。

12.某模型機9條指令使用頻率為:

ADD(加)30%SUB(減)24%J0M(按負轉(zhuǎn)移)6%

ST0(存)7%JMP(轉(zhuǎn)移)7%SHR(右移)2%

CIL(循環(huán))3%CLA(清加)20%STP(停機)1%

要求有兩種指令字長,都按雙操作數(shù)指令格式編排,采用擴展操作碼,并限制只能

有兩種操作碼碼長。設(shè)該機有若干通用寄存器,主存為16位寬,按字節(jié)編址,采用

按整數(shù)邊界存儲。任何指令都在一個主存周期中取得,短指令為寄存器-寄存器型,

長指令為寄存器-主存型,主存地址應(yīng)能變址尋址。

(1)僅根據(jù)使用頻率,不考慮其它要求,設(shè)計出全Huffman操作碼,計算其平均碼

長;

(2)考慮題目全部要求,設(shè)計優(yōu)化實用的操作形式,并計算其操作碼的平均碼長;

(3)該機允許使用多少可編址的通用寄存器?

(4)畫出該機兩種指令字格式,標(biāo)出各字段之位數(shù);

(5)指出訪存操作數(shù)地址尋址的最大相對位移量為多少個字節(jié)?

解:

第(1)和(2)中Huffman和擴展操作碼的編碼及平均碼長如下表:

指令li使用頻度PiHuffman編碼擴展操作碼編碼

1130%1000

1224%0001

1320%0110

147%110011000

157%110111001

166%111011010

173%1111011011

182%11111011100

191%11111111101

西個馬pili2.612.78

(3)8個。

(4)兩種指令格式如下圖所示:

2位3位3位

OPR1R2

操作碼寄存器1寄存器2

5位3位3位5位

OPR1Xd

操作碼寄存器1變址寄存器相對位移

主存邏輯地址

(5)訪存操作數(shù)地址尋址的最大相對位移量為32個字節(jié)。

13.設(shè)計RISC機器的一般原則及可采用的基本技術(shù)有那些?

答:一般原則:

(1)確定指令系統(tǒng)時,只選擇使用頻度很高的指令及少量有效支持操作系統(tǒng),

高級語言及其它功能的指令;

(2)減少尋址方式種類,一般不超過兩種;

(3)讓所有指令在一個機器周期內(nèi)完成;

(4)擴大通用寄存器個數(shù),一般不少于32個,盡量減少訪存次數(shù);

(5)大多數(shù)指令用硬聯(lián)實現(xiàn),少數(shù)用微程序?qū)崿F(xiàn);

(6)優(yōu)化編譯程序,簡單有效地支持高級語言實現(xiàn)。

基本技術(shù):

(1)按R工SC一般原則設(shè)計,即確定指令系統(tǒng)時,選最常用基本指令,附以少

數(shù)對操作系統(tǒng)等支持最有用的指令,使指令精簡。編碼規(guī)整,尋址方式種類減少到1、

2種。

(2)邏輯實現(xiàn)用硬聯(lián)和微程序相結(jié)合。即大多數(shù)簡單指令用硬聯(lián)方式實現(xiàn),功

能復(fù)雜的指令用微程序?qū)崿F(xiàn)。

(3)用重疊寄存器窗口。即:為了減少訪存,減化尋址方式和指令格式,簡單

有效地支持高級語言中的過程調(diào)用,在R工SC機器中設(shè)有大量寄存囂,井讓各過程的

寄存器窗口部分重疊。

(4)用流水和延遲轉(zhuǎn)移實現(xiàn)指令,即可讓本條指令執(zhí)行與下條指令預(yù)取在時間

上重疊。另外,將轉(zhuǎn)移指令與其前面的一條指令對換位置,讓成功轉(zhuǎn)移總是在緊跟

的指令執(zhí)行之后發(fā)生,使預(yù)取指令不作廢,節(jié)省一個機器周期。

(5)優(yōu)化設(shè)計編譯系統(tǒng)。即盡力優(yōu)化寄存器分配,減少訪存次數(shù)。不僅要利用

常規(guī)手段優(yōu)化編譯,還可調(diào)整指令執(zhí)行順序,以盡量減少機器周期等。

14.簡要比較CISC機器和RISC機器各自的結(jié)構(gòu)特點,它們分別存在哪些不足和問

題?為什么說今后的發(fā)展應(yīng)是CISC和RISC的結(jié)合?

答:C工SC結(jié)構(gòu)特點:機器指令系統(tǒng)龐大復(fù)雜。

R工SC結(jié)構(gòu)特點:機器指令系統(tǒng)簡單,規(guī)模小,復(fù)雜度低。

CISC的問題:

(1)指令系統(tǒng)龐大,一般200條以上;

(2)指令操作繁雜,執(zhí)行速度很低;

(3)難以優(yōu)化生成高效機器語言程序,編譯也太長,太復(fù)雜;

(4)由于指令系統(tǒng)龐大,指令的使用頻度不高,降低系統(tǒng)性能價格比,增加設(shè)

計人員負擔(dān)。

RISC的問題;

(1)由于指令少,在原CISC上一條指令完成的功能現(xiàn)在需多條RISC指令才

能完成,加重匯編語言程序設(shè)計負擔(dān),增加了機器語言程序長度,加大指令信息流

量。

(2)對浮點運算和虛擬存儲支持不很強。

(3)RISC編譯程序比CISC難寫。

由于R工SC和C工SC各有優(yōu)缺點,在設(shè)計時,應(yīng)向著兩者結(jié)合,取長補短方向發(fā)

展。

第三章總線、中斷與輸入輸出系統(tǒng)

1.簡要舉出集中式串行鏈接,定時查詢和獨立請求3種總線控制方式的優(yōu)缺點。同

時分析硬件產(chǎn)生故障時通訊的可靠性。

答:

控制萬

優(yōu)點缺點

■■

口(1)對“總線可用”線及其有關(guān)電路失效敏感???

口C3

二(2)靈活性差,如果高優(yōu)先級的部件頻繁要求:

E(i)選擇算法簡單。使用總線,離總線控制器遠的部件就難以獲三

E9!S

E串行鏈(2)控制線數(shù)少,只需要3得總線使用權(quán)。E

E3<3

E3=3

:接根,且不取決于部件數(shù)量。(3)“總線可用”信號順序脈動地通過各個部:

:(3)可擴充性好。件,總線的分配速度慢。:

E(4)受總線長度的限制,增減和移動部件受限;

E3a

E3C3

三制。三

E3E1

■■

:(1)靈活性強,部件的優(yōu)先:

三(1)總線的分配速度不能很高。三

:次序由程序控制。:

晨定時查(2)控制較為復(fù)雜。二

E(2)可靠性高,不會因某個E

二詢(3)控制線數(shù)多,需要2+log2N根。二

:部件失效而影響其它部件:

三(4)可擴充性差。:

:使用總線。二

E(1)靈活性強,部件的優(yōu)先E

:(1)控制較為復(fù)雜。:

=獨立請次序由程序控制。二

三(2)控制線數(shù)多,要控制N個設(shè)備,需要有三

!求(2)能方便地隔離失效部件三

:2N+1根控制線。二

:的請求。:

(3)總線的分配速度快。

2.設(shè)中斷級屏蔽位“1”對應(yīng)于開放,“0”對應(yīng)于屏蔽,各級中斷處理程序的中斷級

屏蔽位設(shè)置如下:

中斷級屏蔽位

中斷處理程

1?34

序級別

級級級級

第1級0000

第2級1010

第3級1000

4級1010

(1)當(dāng)中斷響應(yīng)優(yōu)先次序為1-2-3-4時、其中斷處理次序是什么?

(2)如果所有的中斷處理都各需3個單位時間,中斷響應(yīng)和中斷返回時間相對

中斷處理時間少得多。當(dāng)機器正在運行用戶程序時,同時發(fā)生第2,3級中斷請求,

過兩個單位時間,又同時發(fā)生第1,4級中斷請求,試畫出程序運行過程示意圖。

答:

(1)當(dāng)中斷響應(yīng)優(yōu)先次序為If2f3f4時;其中斷處理次序為If3f4f2。

(2)

寺返回

內(nèi)現(xiàn)場

2

32

32

2

2

2

中斷處理程序為1->3->4-2的例子

3.若機器共有5級中斷,中斷響應(yīng)優(yōu)先次序為If2f3f4-5,要求其實際的中斷處

理次求序If4f5-*2f3。

(1)設(shè)計各級中斷處理程序的中斷級屏蔽位(令“1”對應(yīng)于開放,“0”對應(yīng)于屏蔽);

(2)若在運行用戶程序時,同時出現(xiàn)第4,2級中斷請求,而在處理第2級中斷未完

成時,又同時出現(xiàn)第1,3,5級中斷請求,請畫出此程序運行過程示意圖。

答:(1)中斷級屏蔽位設(shè)置如下圖:

中斷級屏蔽位

中斷處理程

12345

序級別

級級級級級

第1級11111

第2級01100

第3級00100

第4級01111

第5級01101

(2)中斷過程示意圖:如圖

2、4中斷同時出現(xiàn),進行排隊器。

首先響應(yīng)第2級中斷請求,屏蔽字為

01100,表明其對第4級中斷請求開放,

所以轉(zhuǎn)去響應(yīng)第4級中斷請求并進行處

理。

響應(yīng)4,中斷4運行結(jié)束,回2。

1、3、5進入排隊器。

第2級中斷請求的處理請求被中斷,

轉(zhuǎn)去響應(yīng)第1級中斷請求并進行處理。

響應(yīng)第5級中斷請求并進行處理。

繼續(xù)響應(yīng)并處理第2級中斷處理請

中斷處理次序為1->5->2->3的例子

求,結(jié)束后返回用戶程序。

最后處理第3級中斷請求。

4.簡述字節(jié)多路,數(shù)組多路和選擇通道的數(shù)據(jù)傳送方式。

答:字節(jié)多路通道適用于連接大量的像光電機等字符類低速設(shè)備。這些設(shè)備傳

送一個字符(字節(jié))的時間很短,但字符(字節(jié))間的等待時間很長。通道“數(shù)據(jù)寬度”

為單字節(jié),以字節(jié)交叉方式輪流為多臺設(shè)備服務(wù),使效率提高。字節(jié)多路通道可有

多個子通道,同時執(zhí)行多個通道程序。

數(shù)組多路通道適合于連接多臺象磁盤等高速設(shè)備。這些設(shè)備的傳送速率很高,

但傳送開始前的尋址輔助操作時間很長。通道“數(shù)據(jù)寬度”為定長塊,多臺設(shè)備以

成組交叉方式工作,以充分利用并盡可能重疊各臺高速設(shè)備的輔助操作時間。傳送

完K個字節(jié)數(shù)據(jù),就重新選擇下個設(shè)備。數(shù)組多路通道可有多個子通道,同時執(zhí)行

多個通道程序。

選擇通道適合于連接象磁盤等優(yōu)先級高的高速設(shè)備,讓它獨占通道,只能執(zhí)行

一道通道程序。通道“數(shù)據(jù)寬度”為可變長塊,一次將N個字節(jié)全部傳送完,在數(shù)

據(jù)傳送期只選擇一次設(shè)備。

5.如果通道在數(shù)據(jù)傳送期中,選擇設(shè)備需9.8US,傳送一個字節(jié)數(shù)據(jù)需0.2US。

某低速設(shè)備每隔500US發(fā)出一個字節(jié)數(shù)據(jù)傳送請求,問至多可接兒臺這種低速設(shè)備?

對于如下A?F6種高速設(shè)備,一次通訊傳送的字節(jié)數(shù)不少于1024個字節(jié),問哪些

設(shè)備可以掛在此通道上?哪些則不能?其中A-F設(shè)備每發(fā)出一個字節(jié)數(shù)據(jù)傳送請求

的時間間隔分別為(單位為US):

表3-5

設(shè)備ABCDEF

發(fā)申請間隔

0.20.250.50.190.40.21

(閭

答:(1)至多可連接50臺低速的外設(shè)。

剖析:

根據(jù)題意可知:低速設(shè)備應(yīng)掛接在字節(jié)多路通道上,字節(jié)多路通道的通道極限

流量為:

fmax.byte=l/(TS+TD)>=fbyte

通道極限流量應(yīng)大于或等于設(shè)備對通道要求的流量fbyteo

如果字節(jié)多路通道上所掛設(shè)備臺數(shù)為m,設(shè)備的速率為fi,為了不丟失信息,

應(yīng)滿足:

1/(TS+TD)>=m*fi

fi也就是設(shè)備發(fā)出字節(jié)傳送請求間隔時間(500Ms)的倒數(shù),所以:

m<=l/((TS+TD)*f)=500/(9.8+0.2)=50(臺)

(2)設(shè)備F可以掛在此通道上,設(shè)備A,D則不能。

剖析:

思路一:從傳送字節(jié)速率上入手。

A~F是高速設(shè)備,應(yīng)掛接在選擇通道上,選擇通道的極限流量為:

fmax.select=N/(TS+N*TD)=1/((TS/N)+TD)=1/((9.8/1024)+0.2)

=1/0.21(約)

通道上所掛設(shè)備的最大速率fi.max應(yīng)小于或等于通道的極限流量。

由表3-5可得出

設(shè)備ABCDEF

傳送速率

1/0.21/0.251/0.51/0.191/0.41/0.21

(B/網(wǎng)

所以,B、C、E、F可掛在該通道上。A、D不能。

思路二:從傳送字節(jié)時間上入手。

對于高速設(shè)備,由于一次傳送字節(jié)數(shù)不少于1024byte

.,.該通道一次傳送數(shù)據(jù)的時間為9.8Us+1024X0.2Us=214.6US

由表3-5可得出每臺設(shè)備發(fā)送1024字節(jié)的時間間隔分別為:

設(shè)備ABCDEF

傳送時間(閭204.8256512194.56409.6215.04

.??為使數(shù)據(jù)不丟失,B、C、E、F可掛在該通道上。A、D不能。

6.某字節(jié)多路通道連接6臺外設(shè),某數(shù)據(jù)傳送速率分別如表中所列。

設(shè)備123456

傳送速率

5015100254020

(KB/s)

(1)計算所有設(shè)備都工作時的通道實際最大流量:

(2)如果設(shè)計的通道工作周期使通道極限流量恰好與通道最大流量相等,以滿足流量

設(shè)計的基本要求,同時讓速率越高的設(shè)備被響應(yīng)的優(yōu)先級越高。當(dāng)6臺設(shè)備同時發(fā)

出請求開始,畫出此通道在數(shù)據(jù)傳送期內(nèi)響應(yīng)和處理各外設(shè)請求的時間示意圖。由

此你發(fā)現(xiàn)了什么問題?

(3)在(2)的基礎(chǔ)上,在哪臺設(shè)備內(nèi)設(shè)置多少個字節(jié)的緩沖器就可以避免設(shè)備信息丟

失?那么,這是否說書中關(guān)于流量設(shè)計的基本要求是沒有必要的了呢?為什么?

解:(1)實際最大流量=50+15+100+25+40+20=25OKB/S。

(2)通道響應(yīng)和處理各設(shè)備請求的時間示意圖

左廄的這六申諦丟失

2

0150200t(us)

T表示設(shè)備提出申請的時刻

?表示通道處理完設(shè)備申請的時刻

由此發(fā)現(xiàn)由于高速設(shè)備的響應(yīng)優(yōu)先級高,使低速設(shè)備2造成數(shù)據(jù)丟失。

(3)在2中各設(shè)兩個字節(jié)的緩沖區(qū)即可。這并不說明流量設(shè)計的基本條件是不必要

的,因為若基本條件不滿足,無論設(shè)備優(yōu)先級如何確定總有設(shè)備的信息會丟失。

剖析:

(2)由各設(shè)備的傳送字節(jié)速率可解其連續(xù)發(fā)出傳送請求的時間間隔分別為:

設(shè)備123456

發(fā)申請間隔

2067(約)10402550

(閭

7.通道型I/O系統(tǒng)由一個字節(jié)多路通道A(其中包括兩個子通道A1和A2),兩個數(shù)

組多路通道B1和B2及一個選擇通道C構(gòu)成,各通道所接設(shè)備和設(shè)備的數(shù)據(jù)傳送速

率如表所示。

(1)分別求出各通道應(yīng)具有多大設(shè)計流量才不會丟失信息;

(2)設(shè)I/O系統(tǒng)流量占主存流量的1/2時才算流量平衡,則主存流量應(yīng)達到多少?

通道號所接設(shè)備的數(shù)據(jù)傳送速率(KB/s)

子通道A15035202050352020

字節(jié)多路通道

子通道A25035202050352020

數(shù)組多路通道Bl500400350250

數(shù)組多路通道B2500400350250

選擇通道C500400350250

解:(1)要不丟失信息,各通道需要達到的流量:字節(jié)多路通道子通道

A1:0.25KB/S;字節(jié)多路通道子通道A2:0.25KB/S;數(shù)組多路通道B1:500KB/S;

數(shù)組多路通道B2:500KB/S;選擇通道C:500KB/S。

(2)主存流量應(yīng)達到4MB/So

剖析:

(1)設(shè)備要求字節(jié)多路通道或其子通道的實際最大流量,是該通道所接各設(shè)備

的字節(jié)傳送速率之和;

設(shè)備要求數(shù)組多路通道或選擇通道的實際最大流量,是該通道所接各設(shè)備的字

節(jié)傳送速率中的最大者。

(2)工/0系統(tǒng)中,各種通道和子通道可以并行工作,因此,工/。系統(tǒng)的最大流

量應(yīng)等于各通道最大流量之和。

第四章存儲體系

1.設(shè)二級虛擬存儲器的TAl=10-7s>TA2=10-2s,為使存儲層次的訪問效率e達

到最大值的80%以上,命中率H至少要求達到多少?實際上這樣高的命中率是很難

達到的,那么從存儲層次上如何改進?

解:e=TAl/TA=TAl/(H*TA1+(1-H)*TA2)N80%,H2

(10*5-5/4)/(10*5-1)o

這樣的命中率很難達到。為了降低對H的要求,可以選擇高命中率的算法,可

以減少相鄰兩級的訪問速度差和容量差(這樣做不利于降低存儲器的平均每位價

格),可在主、輔存儲器間加一層電子磁盤,使存儲體系中相鄰兩級的訪問時間比不

太大。

2、程序存放在模32單字交叉存儲器中,設(shè)訪存申請隊的轉(zhuǎn)移概率人為25%,求每

個存儲周期能訪問到的平均字?jǐn)?shù)。當(dāng)模數(shù)為16呢?由此你可得到什么結(jié)論?解:

B=[1-(1-入)-m]/人

解:由人=0.25,m=32求得:B=4-4*(3/4)人32

同理,m=16時,B=4-4*(3/4)人16

可得出,在人=0.25時-,m=32的平均訪問字?jǐn)?shù)大于m=16時的平均訪問字?jǐn)?shù)。

3、設(shè)主存每個分體的存取周期為2RS,寬度為4個字節(jié)。采用模m多分體交叉存

取,但實際頻寬只能達到最大頻寬的0.6倍?,F(xiàn)要求主存實際頻寬為4MB/S,問主

存模數(shù)m應(yīng)取多少方能使兩者速度基本適配?其中m取2的嘉。

解:m=4

剖析:

根據(jù)題意,模m多分體交叉的最大頻寬為:分體數(shù)*單體頻寬=0*分體的寬度/

分體的存取周期=m*4B/2Js,所以有0.6*m*4/2>=4。

4.某虛擬存儲器共8個頁面,每頁1024個字,實際主存為4096個字,采用頁表

法進行地址映象。映象表的內(nèi)容如下表所示。

虛頁號01234567

實頁號31232100

裝入位11001010

注:我把虛頁號加上了。

(1)列出會發(fā)生頁面失效的全部虛頁號;

(2)按以下虛土也址計算主存實土也址:0,3728,1023,1024,2055,7800,4096,

6800o

解:

(1)會發(fā)生頁面失效的全部虛頁號為:2,3,5,70

(2)

虛地址虛頁號頁內(nèi)位移裝入位實頁號頁內(nèi)位移實地址

0001303072

327836560頁面失效頁面失效無

1023010231310234095

1024101101024

2055270頁面失效頁面失效無

780076320頁面失效頁面失效無

4096401202048

6800665610656656

剖析:

(1)根據(jù)頁表法列出表2,當(dāng)裝入位為0時,即為頁面失效,再找出相對應(yīng)的

虛頁號即可。

(2)虛頁號=虛地址/頁面大小

頁內(nèi)位移量=虛地址一虛頁號*頁面大小

實地址=實頁號*頁面大小+頁內(nèi)位移量

由于可以用替換算法解決頁面失效的問題,所以,發(fā)生頁面失效的虛頁2,3,5,7仍

然可以有相應(yīng)的實地址,但這樣要在頁表中建立新的虛實地址對應(yīng)關(guān)系,新的虛實

地址對應(yīng)關(guān)系和原來的對應(yīng)關(guān)系相同的可能性就很小了。

5、一個段頁式虛擬存儲器。虛地址有2位段號、2位頁號、11位頁內(nèi)位移(按字

編址),主存容量為32K字。每段可有訪問方式保護,其頁表和保護位如下表所示。

段號0123

訪問方式只讀可讀/執(zhí)行可讀/寫/執(zhí)行可讀/寫

虛頁0所在位置實頁9在輔存上頁表不在主存內(nèi)實頁14

虛頁1所在位置實頁3實頁0頁表不在主存內(nèi)實頁1

虛頁2所在位置在輔存上實頁15頁表不在主存內(nèi)實頁6

虛頁3所在位置實頁12實頁8頁表不在主存內(nèi)在輔存上

(1)此地址空間中共有多少個虛頁?

(2)當(dāng)程序中遇到下列情況時

I方式段頁頁內(nèi)位移

I取數(shù)011

取數(shù)1110

取數(shù)332047

存數(shù)014

存數(shù)212

存數(shù)1014

轉(zhuǎn)移至此13100

取數(shù)0250

取數(shù)205

轉(zhuǎn)移至此3060

寫出由虛地址計算出實地址。說明哪個會發(fā)生段失效、頁面或保護失效失效。

解答:(1)該地址空間中共有16個虛頁。

(2)程序中遇到上表中各情況時,是否會發(fā)生段失效、頁失效或保護失效及相

應(yīng)的主存實地址的情況如下表所示:

1方式

段頁頁內(nèi)位移段失效頁失效實頁號實地址保護失效

取數(shù)011無無36145無

取數(shù)1110無無010無

取數(shù)332047無有無無/

存數(shù)014無無36184有

存數(shù)212有/無無/

存數(shù)1014無有無無/

轉(zhuǎn)移至此13100無無816

溫馨提示

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

評論

0/150

提交評論