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

下載本文檔

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

文檔簡(jiǎn)介

指令系統(tǒng)第七章1.什么叫機(jī)器指令?什么叫指令系統(tǒng)?為什么說指令系統(tǒng)與機(jī)器的主要功能以及與硬件結(jié)構(gòu)之間存在著密切的關(guān)系?答:機(jī)器指令:把每一條機(jī)器語言的語句叫機(jī)器指令。指令系統(tǒng):將全部機(jī)器指令的集合叫做機(jī)器的指令系統(tǒng)機(jī)器的指令系統(tǒng)集中反映了機(jī)器的功能。計(jì)算機(jī)設(shè)計(jì)者主要研究如何確定機(jī)器的指令系統(tǒng),如何用硬件電路,芯片,設(shè)備來實(shí)現(xiàn)機(jī)器指令系統(tǒng)的功能,計(jì)算機(jī)的使用者則是依據(jù)機(jī)器提供的指令系統(tǒng),使用匯編語言來編制各種程序。計(jì)算機(jī)使用者根據(jù)機(jī)器指令系統(tǒng)所描述的機(jī)器功能,能很清楚地了解計(jì)算機(jī)內(nèi)部寄存器-存儲(chǔ)器的結(jié)構(gòu)。以及計(jì)算機(jī)能直接支持的各種數(shù)據(jù)類型。1/31/202323.什么是指令字長(zhǎng)、機(jī)器字長(zhǎng)和存儲(chǔ)字長(zhǎng)?答:指令字長(zhǎng)即指機(jī)器指令中含二進(jìn)制代碼的總位數(shù)。指令字長(zhǎng)取決于從操作碼的長(zhǎng)度、操作數(shù)地址的長(zhǎng)度和操作數(shù)地址的個(gè)數(shù)。不同的指令的字長(zhǎng)是不同的。存儲(chǔ)字長(zhǎng)指一個(gè)存儲(chǔ)單元存儲(chǔ)二進(jìn)制代碼的位數(shù)。機(jī)器字長(zhǎng)指CPU一次能處理中數(shù)據(jù)的位數(shù)你,通常與CPU中寄存器的位數(shù)有關(guān)。三者位數(shù)可以相等,也可以不等。1/31/202334.零地址指令的操作數(shù)來自哪里?一地址指令的另一個(gè)操作數(shù)地址通??刹扇∈裁磳ぶ贩绞将@得?各舉一例說明。答:零地址指令的操作數(shù)來自堆棧的棧頂和次棧頂。一地址指令的另一個(gè)操作數(shù)通常可采用隱含尋址方式獲得,即將另一操作數(shù)預(yù)先存放在累加器ACC中。1/31/20234

6.某指令系統(tǒng)字長(zhǎng)為16位,地址碼取4位,試提出一種方案,使該指令系統(tǒng)有8條三地址指令、16條二地址指令、100條一地址指令。

解:三地址指令格式如下:

4444OPA1A2A3

解題思路:以三地址指令格式為該指令系統(tǒng)的基本格式。以此格式為基礎(chǔ),采用擴(kuò)展操作碼技術(shù),設(shè)計(jì)出題意所要求的地址碼結(jié)構(gòu)的指令。

指令操作碼分配方案如下:4位OP

0000,

……,

A1,A2,A3;8條三地址指令

0111,

1000,0000,

……,……,

A2,A3;16條二地址指令

1000,1111,

1001,0000,0000,

……,……,……,

A3;100條一地址指令

1001,0110,0011,

1001,0110,0100,

……,……,……,

冗余編碼

1001,1111,1111,可用來擴(kuò)充一、零地址指令條數(shù)

1010,

……,

冗余編碼

1111,可用來擴(kuò)充三、二、一、零地址指令條數(shù)指令操作碼分配方案7.設(shè)指令字長(zhǎng)為16位,采用擴(kuò)展操作碼技術(shù),每個(gè)操作數(shù)的地址為6位。如果定義了13條二地址指令,試問還可安排多少條一地址指令?

解:二地址指令格式如下:

466OPA1A2

設(shè)二地址指令格式為該指令系統(tǒng)的基本格式,4位操作碼共有16種編碼,其中13種用來定義二地址指令,還剩3種可用作擴(kuò)展標(biāo)志。如不考慮零地址指令,該指令系統(tǒng)最多還能安排:

一地址指令條數(shù)

=3×26=192條

8.某機(jī)指令字長(zhǎng)16位,每個(gè)操作數(shù)的地址碼為6位,設(shè)操作碼長(zhǎng)度固定,指令分為零地址、一地址和二地址三種格式。若零地址指令有M種,一地址指令有N種,則二地址指令最多有幾種?若操作碼位數(shù)可變,則二地址指令最多允許有幾種?

解:1)若采用定長(zhǎng)操作碼時(shí),二地址指令格式如下:

466OPA1A2

此時(shí),無論指令中有幾個(gè)地址,指令格式都不變。

設(shè)二地址指令有K種,則:

K=24-M-N

當(dāng)M=1(最小值),N=1(最小值)時(shí),二地址指令最多有:

Kmax=16-1-1=14種

2)若采用變長(zhǎng)操作碼時(shí),二地址指令格式仍如1)所示,但操作碼長(zhǎng)度可隨地址碼的個(gè)數(shù)而變。此時(shí),

M=((24-K)*26-N)*26

,即

K=24-(N/26+M/212);

(N/26

+M/212

向上取整)

當(dāng)(N/26+M/212)1時(shí),K最大,

則二地址指令最多有:

Kmax=16-1=15種(只留一種編碼作擴(kuò)展標(biāo)志用。)

討論:此時(shí)

一地址指令條數(shù)為:

N=(24-K)×26-M/26;

(M/26向上取整)。

零地址指令條數(shù)為:

M=216-212K-26N;

當(dāng)K最大時(shí)(K=15),一地址指令最多有:

Nmax=64-1=63種;

零地址指令最多有:

Mmax=64種

注意:應(yīng)首先根據(jù)題意畫出指令基本格式。9.試比較間接尋址和寄存器間接尋址。間接尋址和寄存器間址都可擴(kuò)大尋址范圍,它們形成有效地址的方式類似:間接尋址需通過訪存(若是多次間址還需多次訪存)得到有效地址;寄存器間接尋址有效地址不是存放在存儲(chǔ)單元中,而是存放于寄存器中,故比間接尋址少訪存一次。1/31/202311

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

解:比較如下:

1)都可有效地?cái)U(kuò)大指令尋址范圍。

2)基址尋址時(shí),基準(zhǔn)地址由基址寄存器給出,地址的改變反映在位移量A的取值上;變址尋址時(shí),基準(zhǔn)地址由A給出,地址的改變反映在變址值的自動(dòng)修改上,變址值由變址寄存器給出。

3)基址寄存器內(nèi)容通常由系統(tǒng)程序設(shè)定,變址寄存器內(nèi)容通常由用戶設(shè)定。

4)基址尋址適用于程序的動(dòng)態(tài)重定位,變址尋址適用于數(shù)組或字符串處理,適用場(chǎng)合不同。11.畫出先變址再間址及先間址再變址的尋址過程示意圖。

解:1)先變址再間址尋址過程簡(jiǎn)單示意如下:

EA=[(IX)+A],(IX)+1IXIXOPMA+1ALUIREA操作數(shù)主存IX:變址寄存器,既可是專用寄存器,也可是通用寄存器之一。設(shè)一重間接2)先間址再變址尋址過程簡(jiǎn)單示意如下:

EA=(IX)+(A),(IX)+1IXIXOPMA+1ALUIREA操作數(shù)主存IX:變址寄存器,既可是專用寄存器,也可是通用寄存器之一。設(shè)一重間接

注意:

1)英文縮寫EA表示有效地址,不能亂用。

2)示意圖中應(yīng)標(biāo)明EA(有效地址)的位置。12.畫出“SUB@R1”指令對(duì)操作數(shù)的尋址及減法過程的流程圖。設(shè)被減數(shù)和結(jié)果存于ACC中,@表示間接尋址,R1寄存器的內(nèi)容為2074H。

解:SUB@R1指令尋址及減法過程的流程圖:取指令(可省)尋址操作:寄存器間址EA=(R1)=2074HEAMAR,讀

M(EA)MDR(ACC)-(MDR)ACCAA(公操作)

注:在沒有指定數(shù)據(jù)通路的情況下,此流程只是一個(gè)粗略的示意。13.畫出執(zhí)行“ADD*-5”指令(*為相對(duì)尋址特征)的信息流程圖。設(shè)另一個(gè)操作數(shù)和結(jié)果存于ACC中,并假設(shè)(PC)=4000H。

解:由于本題未指定數(shù)據(jù)通路結(jié)構(gòu),因此只能大概地排一下信息流程圖,并且流程圖中突出尋址過程的實(shí)現(xiàn)。

ADD*-5指令信息流程圖如下:取指令(可?。ぶ酚?jì)算:EA=(PC)-5=4000H+FFFBH=3FFBHEAMAR,讀

M(EA)MDR(ACC)+(MDR)ACCAA(公操作)

14.設(shè)相對(duì)尋址的轉(zhuǎn)移指令占兩個(gè)字節(jié),第一個(gè)字節(jié)是操作碼,第二個(gè)字節(jié)是相對(duì)位移量,用補(bǔ)碼表示。假設(shè)當(dāng)前轉(zhuǎn)移指令第一字節(jié)所在的地址為2000H,且CPU每取出一個(gè)字節(jié)便自動(dòng)完成(PC)+1PC的操作。試問當(dāng)執(zhí)行“JMP*+8”和“JMP*-9”指令時(shí),轉(zhuǎn)移指令第二字節(jié)的內(nèi)容各為多少?

解:據(jù)題意,相對(duì)尋址的轉(zhuǎn)移指令格式如下:OPA2000H2001H2002H

當(dāng)執(zhí)行JMP指令時(shí),指令第二字節(jié)的內(nèi)容不變,PC的內(nèi)容變?yōu)?002H。此時(shí)轉(zhuǎn)移指令第二字節(jié)內(nèi)容各為:

A1=+8=00001000=08H

A2=-9=11110111=F7H

其有效地址各為:

EA1=(PC)+8=2002H+0008H

=200AH

EA2=(PC)–9=2002H+FFF7H

=1FF9H16.某機(jī)主存容量為4M16位,且存儲(chǔ)字長(zhǎng)等于指令字長(zhǎng),若該機(jī)指令系統(tǒng)可完成108種操作,操作碼位數(shù)固定,且具有直接、間接、變址、基址、相對(duì)、立即等六種尋址方式,試回答以下問題。

(1)畫出一地址指令格式并指出各字段的作用。

(2)該指令直接尋址的最大范圍。

(3)一次間接尋址和多次間接尋址的尋址范圍。

(4)立即數(shù)的范圍(十進(jìn)制表示)。(5)相對(duì)尋址的位移量(十進(jìn)制表示)。

(6)上述六種尋址方式的指令中哪一種執(zhí)行時(shí)間最短,哪一種最長(zhǎng),為什么?哪一種便于程序浮動(dòng),哪一種最適合處理數(shù)組問題?

(7)如何修改指令格式,使指令的尋址范圍可擴(kuò)大到4M?

(8)為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,可采取什么措施?簡(jiǎn)要說明之。解:(1)單字長(zhǎng)一地址指令格式:

736OPMA

各字段的作用:

OP——操作碼字段,提供至少108種指令操作碼;

M——尋址方式碼字段,指出6種尋址方式;

A——形式地址字段,給出尋址所需的形式地址。

(2)A為6位,該指令直接尋址的最大范圍為26=64字;

(3)一次間址的尋址范圍為216=64K字;

多次間址的尋址范圍為215=32K字;

(4)立即數(shù)的范圍:若采用補(bǔ)碼表示為1FH~20H;十進(jìn)制表示為31~-32;無符號(hào)數(shù)為0~63;

(5)相對(duì)尋址的位移量范圍在采用補(bǔ)碼表示時(shí)同立即數(shù)范圍,為31~-32;

(6)六種尋址方式中,立即尋址指令執(zhí)行時(shí)間最短,因?yàn)榇藭r(shí)不需尋址;

間接尋址指令執(zhí)行時(shí)間最長(zhǎng),因?yàn)閷ぶ凡僮餍柙L存一次到多次;

相對(duì)尋址便于程序浮動(dòng),因?yàn)榇藭r(shí)操作數(shù)位置可隨程序存儲(chǔ)區(qū)的變動(dòng)而改變,總是相對(duì)于程序一段距離;

變址尋址最適合處理數(shù)組問題,因?yàn)榇藭r(shí)變址值可自動(dòng)修改而不需要修改程序。

(7)為使指令尋址范圍可擴(kuò)大到4M,需要有效地址22位,此時(shí)可將單字長(zhǎng)一地址指令的格式改為雙字長(zhǎng),如下圖示:

736OPMAA16

圖中,指令的第一字保持原來格式不變,形式地址A擴(kuò)展到第2個(gè)字。這樣,直接尋址時(shí),EA=A=16+6=22位,正好可訪問4M地址空間。由于A的擴(kuò)展,變址、基址、相對(duì)、立即數(shù)等尋址方式也擴(kuò)展到22位。

(8)如使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,可采用上述雙字長(zhǎng)一地址指令,通過選用合適的尋址方式完成。(如選用直接尋址就可轉(zhuǎn)移到主存任一位置,但選用相對(duì)尋址則只能在±2M范圍內(nèi)轉(zhuǎn)移。)

除此之外,(7)、(8)兩題也可通過段尋址方式達(dá)到擴(kuò)大尋址空間的目的(此時(shí)不需修改指令格式)??傊徽摬扇『畏N方式,最終得到的實(shí)際地址應(yīng)是22位。方案二:

(7)如果仍采用單字長(zhǎng)指令(16位)格式,為使指令尋址范圍擴(kuò)大到4M,可通過段尋址方案實(shí)現(xiàn)。安排如下:

硬件設(shè)段寄存器DS(16位),用來存放段地址。在完成指令尋址方式所規(guī)定的尋址操作后,得有效地址EA(16位),再由硬件自動(dòng)完成段尋址,最后得22位物理地址。

物理地址=(DS)26+EA

注:段尋址方式由硬件隱含實(shí)現(xiàn)。在編程指定的尋址過程完成、EA產(chǎn)生之后由硬件自動(dòng)完成,對(duì)用戶是透明的。方案三:

(7)在采用單字長(zhǎng)指令(16位)格式時(shí),還可通過頁面尋址方案使指令尋址范圍擴(kuò)大到4M。安排如下:

硬件設(shè)頁面寄存器PR(16位),用來存放頁面地址。指令尋址方式中增設(shè)頁面尋址。當(dāng)需要使指令尋址范圍擴(kuò)大到4M時(shí),編程選擇頁面尋址方式,則:

EA=(PR)‖A

(有效地址=頁面地址“拼接”6位形式地址)

這樣得到22位有效地址。

通過基址尋址與段尋址獲得實(shí)際地址的區(qū)別:

1)基址尋址的基地址一般比較長(zhǎng)(存儲(chǔ)器地址位數(shù)),位移量比較短(=形式地址位數(shù)),相加后得到的有效地址長(zhǎng)度=基地址長(zhǎng)度。此時(shí)主存不分段。

實(shí)際地址=有效地址=基地址+位移量

段尋址是基址尋址的一種變種,當(dāng)基地址短于存儲(chǔ)地址時(shí),基址尋址就變成了段尋址,基地址就叫做段地址,此時(shí)主存分段。

實(shí)際地址=段地址偏移量+段內(nèi)位移量(有效地址)2)基址尋址一般在機(jī)器字長(zhǎng)存儲(chǔ)地址長(zhǎng)度的機(jī)器中,可直接通過尋址計(jì)算獲得實(shí)際地址。

在機(jī)器字長(zhǎng)存儲(chǔ)地址長(zhǎng)度的機(jī)器中,由于CPU內(nèi)部數(shù)據(jù)通路的限制,編程指定的任何一種尋址計(jì)算得到的有效地址長(zhǎng)度都等于機(jī)器字長(zhǎng),為獲得更長(zhǎng)的地址字,硬件自動(dòng)通過段尋址計(jì)算出存儲(chǔ)器實(shí)際地址。此時(shí)除ALU之外,硬件還要增設(shè)專用的地址加法器。

相關(guān)問題:

*

一般:機(jī)器字長(zhǎng)=存儲(chǔ)字長(zhǎng);

*

CPU中所有寄存器(包括基址寄存器)的位數(shù)=機(jī)器字長(zhǎng);

*

通常:指令字長(zhǎng)不一定等于機(jī)器字長(zhǎng)。早期的小型機(jī)由于字長(zhǎng)較短,指令常以機(jī)器字長(zhǎng)為單位變化(幾字長(zhǎng)指令,如PDP-11機(jī)),目前以字節(jié)長(zhǎng)為單位變化(幾字節(jié)指令)的較多。習(xí)題中指令字長(zhǎng)=機(jī)器字長(zhǎng)的假設(shè)只是為簡(jiǎn)單起見;

*當(dāng)設(shè)指令字長(zhǎng)=存儲(chǔ)字長(zhǎng)(=機(jī)器字長(zhǎng))時(shí),如用立即尋址,由于立即數(shù)由形式地址直接給出,而形式地址的位數(shù)肯定不足一個(gè)字長(zhǎng),因此立即尋址非常適用于編程給出短常數(shù)的場(chǎng)合。

提示:尋址方式的正確選擇與編程技巧有關(guān)。19.CPU內(nèi)有32個(gè)32位的通用寄存器,設(shè)計(jì)一種能容納64種操作的指令系統(tǒng)。假設(shè)指令字長(zhǎng)等于機(jī)器字長(zhǎng),試回答以下問題。

(1)如果主存可直接或間接尋址,采用“寄存器—存儲(chǔ)器”型指令,能直接尋址的最大存儲(chǔ)空間是多少?畫出指令格式并說明各字段的含義。

(2)在滿足(1)的前提下,如果采用通用寄存器作基址寄存器,則上述“寄存器—存儲(chǔ)器”型指令的指令格式有何特點(diǎn)?畫出指令格式并指出這類指令可訪問多大的存儲(chǔ)空間?

解:

(1)如采用RS型指令,則此指令一定是二地址以上的地址格式,指令格式如下:

65120OPRiIA

操作碼寄存器號(hào)間接形式地址標(biāo)志

直接尋址的最大空間=220=1M字此指令格式的設(shè)計(jì)有較大的發(fā)揮余地,為簡(jiǎn)化設(shè)計(jì),在此采用緊貼題意的答題方式,即只按題意要求的因素設(shè)計(jì),不考慮擴(kuò)展因素。

(2)如采用基址尋址,則指令格式中應(yīng)給出基址寄存器號(hào),以指定哪一個(gè)通用寄存器用作基址寄存器。指令格式變?yōu)椋?/p>

6511514

OPRiIBBRiA

其中:I、B可?。˙為基址尋址標(biāo)志),BRi為基址寄存器號(hào)?;穼ぶ窌r(shí):

尋址的最大空間=232=4G字

其尋址范圍僅與基址位數(shù)有關(guān),與形式地址位數(shù)無關(guān)。20.什么是RISC?簡(jiǎn)述它的主要特點(diǎn)。即精簡(jiǎn)指令集計(jì)算機(jī)特點(diǎn):選取使用頻度高的簡(jiǎn)單指令;指令長(zhǎng)度固定,格式少,尋址方式少;只有存數(shù)/取數(shù)指令訪存,其他指令不訪存;CPU內(nèi)有多個(gè)通用寄存器;采用流水線技術(shù),大部分指令一個(gè)時(shí)鐘完成;控制器采用組合邏輯實(shí)現(xiàn);采用優(yōu)化的編譯程序。1/31/20233521.試比較RISC和CISC。1.RISC更能充分利用VLSI芯片的面積2.

RISC更能提高計(jì)算機(jī)運(yùn)算速度指令數(shù)、指令格式、尋址方式少,通用寄存器多,采用組合邏輯,便于實(shí)現(xiàn)指令流水3.RISC便于設(shè)計(jì),可降低成本,提高可靠性4.RISC

有效支持高級(jí)語言程序

5.

RISC不易

實(shí)現(xiàn)指令系統(tǒng)兼容

1/31/202336某計(jì)算機(jī)系統(tǒng)的指令字長(zhǎng)為22位,具有無操作數(shù)、單操作數(shù)、雙操作數(shù)三種指令格式,每個(gè)操作數(shù)地址為7位,當(dāng)雙操作數(shù)指令條數(shù)取最大值,而且單操作數(shù)指令條數(shù)也取最大值時(shí),請(qǐng)問這三種指令最多可能擁有的指令條數(shù)總共是多少?255+127+1281/31/202337CPU的結(jié)構(gòu)和功能第八章2.什么是指令周期?指令周期是否有一個(gè)固定值?為什么?

解:指令周期是指一條指令從開始取指令直到指令執(zhí)行完這段時(shí)間。

由于計(jì)算機(jī)中各種指令執(zhí)行所需的時(shí)間差異很大,因此為了提高CPU運(yùn)行效率,即使在同步控制的機(jī)器中,不同指令的指令周期長(zhǎng)度都是不一致的,也就是說指令周期對(duì)于不同的指令來說不是一個(gè)固定值。

討論:指令周期長(zhǎng)度不一致的根本原因在于設(shè)計(jì)者,為了提高CPU運(yùn)行效率而這樣安排的,與指令功能不同及指令實(shí)際執(zhí)行時(shí)間不同沒有什么必然關(guān)系。4.設(shè)CPU內(nèi)有下列部件:PC、IR、SP、AC、MAR、MDR和CU,要求:

(1)畫出完成間接尋址的取數(shù)指令LDA@X(將主存某地址單元X的內(nèi)容取至AC中)的數(shù)據(jù)流(從取指令開始)。

(2)畫出中斷周期的數(shù)據(jù)流。

解:CPU中的數(shù)據(jù)流向與所采用的數(shù)據(jù)通路結(jié)構(gòu)直接相關(guān),不同的數(shù)據(jù)通路中的數(shù)據(jù)流是不一樣的。常用的數(shù)據(jù)通路結(jié)構(gòu)方式有直接連線、單總線、雙總線、三總線等形式,目前大多采用總線結(jié)構(gòu),直接連線方式僅適用于結(jié)構(gòu)特別簡(jiǎn)單的機(jī)器中。R/-W

為簡(jiǎn)單起見,本題采用單總線將題意所給部件連接起來,框圖如下:中斷系統(tǒng)PCMARMDRSPACZCUIRMALU單總線(BUS)

微命令序列(1)假設(shè)為一重間址,在上述數(shù)據(jù)通路中,完成間接尋址的取數(shù)指令LDA@X的數(shù)據(jù)流如下頁:LDA@X指令周期流程圖:

說明

送指令地址CU向存儲(chǔ)器發(fā)讀令(讀出指令)指向下一指令地址取出指令指令譯碼OP=?PCBUSMAR存儲(chǔ)器讀(CU(R)M)PC+1PCMDRBUSIRLDA

LDAIR(X)MAR存儲(chǔ)器讀(CU(R)M)MDRBUSACMDRBUSMAR存儲(chǔ)器讀(CU(R)M)@=1?Y(間址)N

說明形式地址X送MAR間接標(biāo)志判斷,本題為@=1CU發(fā)讀令(讀EA)有效地址送MAR

CU發(fā)讀令(讀數(shù)據(jù))數(shù)據(jù)放入AC指令末的公操作直接尋址(2)中斷周期流程圖如下:

說明

關(guān)中斷(0EINT)SPBUSMARSP+1SPPCBUSMDR存儲(chǔ)器寫(CU(-W)M)A堆棧棧頂?shù)刂匪蚆AR修改堆棧指針斷點(diǎn)送內(nèi)存進(jìn)棧

A說明SPBUSMARSP+1SP向量地址BUSPCPSWMDR存儲(chǔ)器寫(CU(-W)M)END棧頂?shù)刂匪蚆AR修改棧指針程序狀態(tài)字送內(nèi)存進(jìn)棧轉(zhuǎn)中斷服務(wù)程序入口中斷周期結(jié)束

討論:解這道題有兩個(gè)要素,首先要根據(jù)所給部件設(shè)計(jì)好數(shù)據(jù)通路,既確定信息流動(dòng)的載體。其次選擇好描述數(shù)據(jù)流的方法,無論采用什么樣的表達(dá)方式,其關(guān)鍵都要能清楚地反映數(shù)據(jù)在通路上流動(dòng)的順序,既強(qiáng)調(diào)一個(gè)“流”字。較好的表達(dá)方式是流程圖的形式。5、中斷周期前是什么階段?中斷周期后又是什么階段?在中斷周期CPU應(yīng)完成什么操作?

答:從CPU機(jī)器周期的時(shí)序?qū)哟蝸砜矗袛嘀芷谇笆侵噶畹膱?zhí)行階段。中斷周期后是取指令階段。在中斷周期CPU應(yīng)完成關(guān)中斷、保存斷點(diǎn)和轉(zhuǎn)中斷服務(wù)程序入口三個(gè)操作。16.計(jì)算機(jī)為了管理中斷,在硬件上通常有哪些設(shè)置?各有何作用?對(duì)指令系統(tǒng)有何考慮?

解:計(jì)算機(jī)為了管理中斷,在硬件上設(shè)有專門處理中斷的機(jī)構(gòu)——中斷系統(tǒng)。它通常包括:中斷請(qǐng)求寄存器、中斷優(yōu)先級(jí)排隊(duì)器、向量編碼器、中斷允許觸發(fā)器(EINT)、中斷標(biāo)記觸發(fā)器(INT)、中斷屏蔽觸發(fā)器(寄存器)等。功能如下:

中斷請(qǐng)求寄存器——對(duì)中斷源發(fā)來的一過性中斷請(qǐng)求信號(hào)進(jìn)行登記;

中斷優(yōu)先級(jí)排隊(duì)器——對(duì)同時(shí)提出的多個(gè)中斷請(qǐng)求信號(hào)進(jìn)行裁決,選出一個(gè)最緊迫的進(jìn)行響應(yīng);

向量編碼器——向量中斷時(shí),用來產(chǎn)生向量地址;

中斷允許觸發(fā)器(EINT)——CPU中的中斷總開關(guān),完成開、關(guān)中斷狀態(tài)的設(shè)置;

中斷標(biāo)記觸發(fā)器(INT)——用來建立中斷周期狀態(tài)。INT=1,表示進(jìn)入中斷周期,即開始執(zhí)行中斷隱指令;

中斷屏蔽觸發(fā)器——對(duì)于可屏蔽的中斷源進(jìn)行開、關(guān)中斷操作,可視為各中斷源的中斷分開關(guān);

采用程序中斷技術(shù)時(shí),指令系統(tǒng)中往往有相關(guān)指令支持。常見的指令有:開中斷、關(guān)中斷、中斷返回等。17.在中斷系統(tǒng)中,INTR、INT、EINT這三個(gè)觸發(fā)器各有何作用?

解:INTR——中斷請(qǐng)求觸發(fā)器,用來登記中斷源發(fā)出的隨機(jī)性中斷請(qǐng)求信號(hào),以便為CPU查詢中斷及中斷排隊(duì)判優(yōu)線路提供穩(wěn)定的中斷請(qǐng)求信號(hào);

EINT——中斷允許觸發(fā)器,CPU中的中斷總開關(guān)。當(dāng)EINT=1時(shí),表示允許中斷(開中斷),當(dāng)EINT=0時(shí),表示禁止中斷(關(guān)中斷)。其狀態(tài)可由開、關(guān)中斷等指令設(shè)置;

INT——中斷標(biāo)記觸發(fā)器,控制器時(shí)序系統(tǒng)中周期狀態(tài)分配電路的一部分,表示中斷周期標(biāo)記。當(dāng)INT=1時(shí),進(jìn)入中斷周期,執(zhí)行中斷隱指令的操作。討論:

回答時(shí)首先應(yīng)給出該觸發(fā)器的中文名稱,然后說明其主要作用。

當(dāng)進(jìn)入中斷周期時(shí),INT=1;

(INT=1時(shí),進(jìn)入中斷周期)

INT與EINT配合使用以實(shí)現(xiàn)關(guān)中斷功能,即INT=1,反相后使EINT=0;

(關(guān)中斷并不是INT的主要功能,進(jìn)入中斷周期后要執(zhí)行中斷隱指令的全部三個(gè)功能)

INT表示自愿中斷,完成系統(tǒng)調(diào)用;

(盡管INT觸發(fā)器的英文縮寫與INT指令助記符完全相同,但它們一個(gè)是硬件設(shè)置,一個(gè)是軟中斷指令,其作用完全不同)INT標(biāo)記目前是否正在運(yùn)行中斷程序;

(INT標(biāo)記在運(yùn)行中斷程序時(shí)已不存在)

INT表示處于中斷狀態(tài)中;

(INT并不是在整個(gè)中斷過程中都存在)

INT判斷中斷過程中是否接受其它中斷請(qǐng)求,INT=0時(shí),開中斷,允許中斷嵌套;

(INT標(biāo)記與中斷嵌套技術(shù)沒有任何關(guān)系。它不能表示出中斷過程中是否接受其它中斷請(qǐng)求,INT=0也不表示開中斷)

EINT判斷CPU是否響應(yīng)中斷請(qǐng)求;

(CPU根據(jù)EINT狀態(tài)決定是否響應(yīng)中斷請(qǐng)求)

當(dāng)CPU響應(yīng)中斷時(shí),EINT置1;

(當(dāng)EINT=1時(shí),允許CPU響應(yīng)中斷)

EINT確保CPU響應(yīng)中斷后,不受新的中斷干擾;

(CPU響應(yīng)中斷在先,進(jìn)入中斷周期后才使EINT=0,僅在單重中斷時(shí),整個(gè)中斷過程保持EINT=0,不接受新的中斷請(qǐng)求)

EINT表示中斷隱指令,INT起關(guān)中斷作用;

(把EINT和INT的作用搞反了)

INTR=1,判斷哪個(gè)中斷源有請(qǐng)求;

(INTR對(duì)中斷源的請(qǐng)求進(jìn)行登記,當(dāng)INTR=1時(shí),表示有請(qǐng)求)24.現(xiàn)有A、B、C、D四個(gè)中斷源,其優(yōu)先級(jí)由高向低按A→B→C→D順序排列。若中斷服務(wù)程序的執(zhí)行時(shí)間為20μs,請(qǐng)根據(jù)下圖所示時(shí)間軸給出的中斷源請(qǐng)求中斷的時(shí)刻,畫出CPU執(zhí)行程序的軌跡。

解:CPU執(zhí)行程序的軌跡圖如下:

A服務(wù)

B服務(wù)

C服務(wù)

D服務(wù)現(xiàn)行程序

0102030405060708090100110120130140150t(μs)

B與C請(qǐng)求D請(qǐng)求B請(qǐng)求A請(qǐng)求這是一個(gè)多重中斷的程序運(yùn)行軌跡,圖中忽略了中斷響應(yīng)時(shí)間。25.設(shè)某機(jī)有五個(gè)中斷源L0、L1、L2、L3、L4,按中斷響應(yīng)的優(yōu)先次序由高向低排序?yàn)長(zhǎng)0L1L2

L3L4,現(xiàn)要求中斷處理次序改為L(zhǎng)1L4L2

L0L3,根據(jù)下面的格式,寫出各中斷源的屏蔽字。

解:各中斷源屏蔽狀態(tài)見下表:

中斷源

屏蔽字

01234L0

L1

L2

L3L410010

11111

10110

0001010111

表中:設(shè)屏蔽位=1表示屏蔽,屏蔽位=0表示中斷開放。

為了使所有中斷都能得到及時(shí)響應(yīng),現(xiàn)行程序的中斷屏蔽字一般設(shè)為全開放(全0)狀態(tài)。

討論:按照修改過的優(yōu)先次序,當(dāng)五個(gè)中斷請(qǐng)求信號(hào)同時(shí)到來時(shí),CPU中斷處理過程如下圖:

圖中括號(hào)內(nèi)為各程序的屏蔽碼。

注意:中斷屏蔽碼的判優(yōu)作用體現(xiàn)在對(duì)低級(jí)中斷請(qǐng)求的屏蔽上,對(duì)于多個(gè)同時(shí)到來的高級(jí)中斷請(qǐng)求信號(hào)之間則只有開放作用,沒有判優(yōu)作用。此時(shí)還需依賴硬件排隊(duì)線路完成進(jìn)一步的判優(yōu)?,F(xiàn)行程序(00000)五級(jí)中斷請(qǐng)求同時(shí)到來。L0中斷服務(wù)(10010)保存現(xiàn)場(chǎng)開中斷L1中斷服務(wù)(11111)執(zhí)行一條指令中斷返回L2中斷服務(wù)(10110)中斷返回L4中斷服務(wù)

(10111)中斷返回關(guān)中斷恢復(fù)現(xiàn)場(chǎng)執(zhí)行一條指令L3中斷服務(wù)(00010)中斷返回中斷返回中斷處理過程示意圖(畫法二:時(shí)空?qǐng)D表示)

L4服務(wù)

L3服務(wù)

L2服務(wù)

L1服務(wù)

L0服務(wù)現(xiàn)行程序L0、L1

、L2

、L3

、L4

同時(shí)請(qǐng)求t程序26.設(shè)某機(jī)配有A、B、C三臺(tái)設(shè)備,其優(yōu)先級(jí)按A→B→C降序排列,為改變中斷處理次序,它們的中斷屏蔽字設(shè)置如下:

設(shè)備屏蔽字

A111

B010

C011

請(qǐng)按下圖所示時(shí)間軸給出的設(shè)備請(qǐng)求中斷的時(shí)刻,畫出CPU執(zhí)行程序的軌跡。設(shè)A、B、C中斷服務(wù)程序的執(zhí)行時(shí)間均為20s。解:CPU執(zhí)行程序的軌跡圖如下:

主要注意問題:1)軌跡的連續(xù)性;2)程序的轉(zhuǎn)出、返回軌跡及時(shí)刻;3)現(xiàn)行程序在坐標(biāo)系中的位置。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論