第4章 指令系統(tǒng)_第1頁(yè)
第4章 指令系統(tǒng)_第2頁(yè)
第4章 指令系統(tǒng)_第3頁(yè)
第4章 指令系統(tǒng)_第4頁(yè)
第4章 指令系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第4 4章章 指令系統(tǒng)指令系統(tǒng)本章內(nèi)容:本章內(nèi)容:v指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 v指令格式指令格式v指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 v堆棧尋址方式堆棧尋址方式v典型指令典型指令 4.1 指令系統(tǒng)的發(fā)展和性能要求指令系統(tǒng)的發(fā)展和性能要求v什么是指令系統(tǒng)什么是指令系統(tǒng) 一臺(tái)計(jì)算機(jī)分為兩個(gè)部分,控制部件和執(zhí)行部件,控制一臺(tái)計(jì)算機(jī)分為兩個(gè)部分,控制部件和執(zhí)行部件,控制器就是控制部件,而運(yùn)算器,存儲(chǔ)器,外圍設(shè)備對(duì)控制器來(lái)器就是控制部件,而運(yùn)算器,存儲(chǔ)器,外圍設(shè)備對(duì)控制器來(lái)說(shuō)就是執(zhí)行部件。說(shuō)就是執(zhí)行部件。 控制器通過(guò)控制總線向執(zhí)行部件發(fā)送的各種控制命令稱控制器通過(guò)控制總線

2、向執(zhí)行部件發(fā)送的各種控制命令稱為為微命令微命令,執(zhí)行部件接受命令后所進(jìn)行的操作稱為,執(zhí)行部件接受命令后所進(jìn)行的操作稱為微操作。微操作。微指令微指令:一組實(shí)現(xiàn)一定操作功能的微命令的組合,屬于硬件:一組實(shí)現(xiàn)一定操作功能的微命令的組合,屬于硬件機(jī)器指令(指令)機(jī)器指令(指令):一組可以完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算的微:一組可以完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算的微指令的組合,與硬件緊密關(guān)聯(lián)。指令的組合,與硬件緊密關(guān)聯(lián)。 宏指令宏指令:由若干條機(jī)器指令組成的軟件指令,屬于軟件;:由若干條機(jī)器指令組成的軟件指令,屬于軟件;指令系統(tǒng)指令系統(tǒng):一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合,它是表征一臺(tái)計(jì)算機(jī)性:一臺(tái)計(jì)算

3、機(jī)中所有機(jī)器指令的集合,它是表征一臺(tái)計(jì)算機(jī)性能的重要因素。能的重要因素。v計(jì)算機(jī)指令系統(tǒng)的發(fā)展過(guò)程計(jì)算機(jī)指令系統(tǒng)的發(fā)展過(guò)程50年代:年代:指令系統(tǒng)只有定點(diǎn)加減、邏輯運(yùn)算、數(shù)據(jù)傳送、轉(zhuǎn)移等十幾至指令系統(tǒng)只有定點(diǎn)加減、邏輯運(yùn)算、數(shù)據(jù)傳送、轉(zhuǎn)移等十幾至幾十條指令。幾十條指令。 60年代后期:年代后期:增加了乘除運(yùn)算、浮點(diǎn)運(yùn)算、十進(jìn)制運(yùn)算、字符串處理等增加了乘除運(yùn)算、浮點(diǎn)運(yùn)算、十進(jìn)制運(yùn)算、字符串處理等指令,指令數(shù)目多達(dá)一二百條,尋址方式也趨多樣化。指令,指令數(shù)目多達(dá)一二百條,尋址方式也趨多樣化。60年代后期開始年代后期開始出現(xiàn)系列計(jì)算機(jī)出現(xiàn)系列計(jì)算機(jī)(指基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相同的一系列計(jì)算指

4、基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相同的一系列計(jì)算機(jī)機(jī))一個(gè)系列往往有多種型號(hào),它們?cè)诮Y(jié)構(gòu)和性能上有所差異。同一系列一個(gè)系列往往有多種型號(hào),它們?cè)诮Y(jié)構(gòu)和性能上有所差異。同一系列的各機(jī)種有共同的指令集而且新推出的機(jī)種指令系統(tǒng)一定包含所有舊機(jī)的各機(jī)種有共同的指令集而且新推出的機(jī)種指令系統(tǒng)一定包含所有舊機(jī)種的全部指令種的全部指令,舊機(jī)種上運(yùn)行的各種軟件可以不加任何修改便可在新機(jī)種舊機(jī)種上運(yùn)行的各種軟件可以不加任何修改便可在新機(jī)種上運(yùn)行,大大減少了軟件開發(fā)費(fèi)用。上運(yùn)行,大大減少了軟件開發(fā)費(fèi)用。 70年代末期:年代末期:大多數(shù)計(jì)算機(jī)的指令系統(tǒng)多達(dá)幾百條。我們稱這些計(jì)算機(jī)大多數(shù)計(jì)算機(jī)的指令系統(tǒng)多達(dá)幾百條。我們

5、稱這些計(jì)算機(jī)為為復(fù)雜指令系統(tǒng)計(jì)算機(jī)復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)。但是如此龐大的指令系統(tǒng)難以保證其正。但是如此龐大的指令系統(tǒng)難以保證其正確性,不易調(diào)試維護(hù),造成硬件資源浪費(fèi)。為此人們又提出了便于確性,不易調(diào)試維護(hù),造成硬件資源浪費(fèi)。為此人們又提出了便于VLSIVLSI技術(shù)實(shí)現(xiàn)的技術(shù)實(shí)現(xiàn)的精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)。 v指令系統(tǒng)性能的要求指令系統(tǒng)性能的要求 指令系統(tǒng)的性能決定了計(jì)算機(jī)的基本功能,它的設(shè)計(jì)直接指令系統(tǒng)的性能決定了計(jì)算機(jī)的基本功能,它的設(shè)計(jì)直接關(guān)系到計(jì)算機(jī)的硬件結(jié)構(gòu)和用戶的需要。關(guān)系到計(jì)算機(jī)的硬件結(jié)構(gòu)和用戶的需要。一個(gè)完善的指令系統(tǒng)應(yīng)滿足如下四方面的要求:一個(gè)

6、完善的指令系統(tǒng)應(yīng)滿足如下四方面的要求: 完備性完備性 用匯編語(yǔ)言編寫各種程序時(shí),指令系統(tǒng)直接提供用匯編語(yǔ)言編寫各種程序時(shí),指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來(lái)實(shí)現(xiàn)。的指令足夠使用,而不必用軟件來(lái)實(shí)現(xiàn)。 有效性有效性利用該指令系統(tǒng)所編寫的程序能夠在計(jì)算機(jī)上高利用該指令系統(tǒng)所編寫的程序能夠在計(jì)算機(jī)上高效率運(yùn)行,主要表現(xiàn)在程序占據(jù)存儲(chǔ)空間小、執(zhí)行速度快。效率運(yùn)行,主要表現(xiàn)在程序占據(jù)存儲(chǔ)空間小、執(zhí)行速度快。 規(guī)整性規(guī)整性規(guī)整性包括指令系統(tǒng)的對(duì)稱性、勻齊性、指令格規(guī)整性包括指令系統(tǒng)的對(duì)稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。式和數(shù)據(jù)格式的一致性。 兼容性兼容性系列機(jī)各機(jī)種之間具有相同的基本結(jié)

7、構(gòu)和共同的系列機(jī)各機(jī)種之間具有相同的基本結(jié)構(gòu)和共同的基本指令集,低檔機(jī)上運(yùn)行的軟件可以在高檔機(jī)上運(yùn)行,即做基本指令集,低檔機(jī)上運(yùn)行的軟件可以在高檔機(jī)上運(yùn)行,即做到到“向下兼容向下兼容” 。 4.2 指令格式指令格式 結(jié)果結(jié)果y y存放在存放在1313單元單元y y 數(shù)據(jù)數(shù)據(jù)x x存放在存放在1212單元單元x x 數(shù)據(jù)數(shù)據(jù)c c存放在存放在1111單元單元c c 數(shù)據(jù)數(shù)據(jù)b b存放在存放在1010單元單元b b 數(shù)據(jù)數(shù)據(jù)a a存放在存放在9 9單元單元a a運(yùn)算完畢運(yùn)算完畢, ,機(jī)器暫停工作機(jī)器暫停工作 停止停止將結(jié)果打印出來(lái)將結(jié)果打印出來(lái) 打印打印運(yùn)算器結(jié)果送運(yùn)算器結(jié)果送1313號(hào)單元號(hào)單元

8、 存數(shù)存數(shù) 1313完成完成ax+b-c,ax+b-c,結(jié)果保留在運(yùn)算器上結(jié)果保留在運(yùn)算器上 減法減法 1111完成完成ax+b,ax+b,結(jié)果保留在運(yùn)算器上結(jié)果保留在運(yùn)算器上 加法加法 1010完成完成a a* *x,x,結(jié)果保留在運(yùn)算器上結(jié)果保留在運(yùn)算器上 乘法乘法 1212存儲(chǔ)器存儲(chǔ)器9 9號(hào)地址的數(shù)送運(yùn)算器號(hào)地址的數(shù)送運(yùn)算器 取數(shù)取數(shù) 9 9 說(shuō)說(shuō) 明明 指令指令13131212111110109 9數(shù)據(jù)地址數(shù)據(jù)地址7 76 65 54 43 32 21 1指令地址指令地址數(shù)據(jù)數(shù)據(jù)操作碼操作碼地址碼地址碼引例:計(jì)算引例:計(jì)算y=ax+b-cy=ax+b-c這個(gè)題目這個(gè)題目v指令格式指令

9、格式 指令格式指用機(jī)器字表示的指令的結(jié)構(gòu)形式,由兩部分指令格式指用機(jī)器字表示的指令的結(jié)構(gòu)形式,由兩部分組成,即進(jìn)行何種操作和從存儲(chǔ)器的那個(gè)單元取數(shù);前者稱組成,即進(jìn)行何種操作和從存儲(chǔ)器的那個(gè)單元取數(shù);前者稱為操作碼,后者稱為地址碼。所以指令的一般格式為:為操作碼,后者稱為地址碼。所以指令的一般格式為: 操作碼字段操作碼字段 地址碼字段地址碼字段操作碼操作碼: :指出指令所進(jìn)行的操作指出指令所進(jìn)行的操作, ,如加、減、乘、除、取數(shù)如加、減、乘、除、取數(shù)以及存數(shù)等等。以及存數(shù)等等。地址碼地址碼: :表示參加運(yùn)算的數(shù)據(jù)應(yīng)從存儲(chǔ)器的哪個(gè)單元取表示參加運(yùn)算的數(shù)據(jù)應(yīng)從存儲(chǔ)器的哪個(gè)單元取, ,運(yùn)運(yùn)算的結(jié)果應(yīng)

10、存到哪個(gè)單元。算的結(jié)果應(yīng)存到哪個(gè)單元。n個(gè)機(jī)器字個(gè)機(jī)器字v指令字長(zhǎng)度指令字長(zhǎng)度 指令字長(zhǎng)度:指令字長(zhǎng)度:一個(gè)指令字中包含二進(jìn)制代碼的位數(shù)。一個(gè)指令字中包含二進(jìn)制代碼的位數(shù)。機(jī)器字長(zhǎng):機(jī)器字長(zhǎng):計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),它決定了計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),它決定了計(jì)算機(jī)的運(yùn)算精度。計(jì)算機(jī)的運(yùn)算精度。單字長(zhǎng)指令:指令字長(zhǎng)等于機(jī)器字長(zhǎng)度的指令。單字長(zhǎng)指令:指令字長(zhǎng)等于機(jī)器字長(zhǎng)度的指令。半字長(zhǎng)指令:指令字長(zhǎng)等于半個(gè)機(jī)器字長(zhǎng)度的指令。半字長(zhǎng)指令:指令字長(zhǎng)等于半個(gè)機(jī)器字長(zhǎng)度的指令。雙字長(zhǎng)指令:指令字長(zhǎng)等于兩個(gè)機(jī)器字長(zhǎng)度的指令。雙字長(zhǎng)指令:指令字長(zhǎng)等于兩個(gè)機(jī)器字長(zhǎng)度的指令。多字長(zhǎng)指令:指令

11、字長(zhǎng)等于幾個(gè)機(jī)器字長(zhǎng)度的指令。多字長(zhǎng)指令:指令字長(zhǎng)等于幾個(gè)機(jī)器字長(zhǎng)度的指令。 使用多字長(zhǎng)指令,目的在于提供使用多字長(zhǎng)指令,目的在于提供足夠的地址位足夠的地址位來(lái)解決訪問(wèn)來(lái)解決訪問(wèn)內(nèi)存任何單元的尋址問(wèn)題。其主要缺點(diǎn)是必須兩內(nèi)存任何單元的尋址問(wèn)題。其主要缺點(diǎn)是必須兩次或多次訪次或多次訪問(wèn)內(nèi)存問(wèn)內(nèi)存才能取出一整條指令,降低了的運(yùn)算速度,又占用了才能取出一整條指令,降低了的運(yùn)算速度,又占用了更多的存儲(chǔ)空間。更多的存儲(chǔ)空間。指令指令操作碼操作碼加法加法001減法減法010乘法乘法011除法除法100取數(shù)取數(shù)101存數(shù)存數(shù)110打印打印111停機(jī)停機(jī)000v操作碼操作碼 指令的操作碼部分可以變成二進(jìn)制代碼

12、。我們用指令的操作碼部分可以變成二進(jìn)制代碼。我們用3位二位二進(jìn)制數(shù)表示八種指令的操作碼(如下表)。進(jìn)制數(shù)表示八種指令的操作碼(如下表)。 組成操作碼的字段位數(shù)一般取決于計(jì)算機(jī)指令系統(tǒng)復(fù)雜組成操作碼的字段位數(shù)一般取決于計(jì)算機(jī)指令系統(tǒng)復(fù)雜程度。如果有程度。如果有32條指令就要有條指令就要有5位操作碼。一般說(shuō)來(lái),包含位操作碼。一般說(shuō)來(lái),包含n位的操作碼最多能夠表示位的操作碼最多能夠表示2n條指令條指令按操作碼的位數(shù)是否固定:按操作碼的位數(shù)是否固定:固定長(zhǎng)度的操作碼:所有指令長(zhǎng)固定長(zhǎng)度的操作碼:所有指令長(zhǎng)度均相同。特點(diǎn)是控制簡(jiǎn)單,速度度均相同。特點(diǎn)是控制簡(jiǎn)單,速度快,適用于指令條數(shù)不多的場(chǎng)合???,適用

13、于指令條數(shù)不多的場(chǎng)合??勺冮L(zhǎng)度的操作碼:頻繁使用的可變長(zhǎng)度的操作碼:頻繁使用的指令用位數(shù)較少的操作碼,不常使指令用位數(shù)較少的操作碼,不常使用的指令可利用操作碼擴(kuò)展技術(shù)進(jìn)用的指令可利用操作碼擴(kuò)展技術(shù)進(jìn)行擴(kuò)展。行擴(kuò)展。v指令助記符指令助記符 由于硬件只能識(shí)別由于硬件只能識(shí)別1 1和和0 0,并且為了便于存儲(chǔ),所以采用二,并且為了便于存儲(chǔ),所以采用二進(jìn)制操作碼是十分必要的,但是我們用二進(jìn)制來(lái)書寫程序卻非進(jìn)制操作碼是十分必要的,但是我們用二進(jìn)制來(lái)書寫程序卻非常麻煩。為了便于書寫和閱讀程序,每條指令通常用常麻煩。為了便于書寫和閱讀程序,每條指令通常用3 3個(gè)或個(gè)或4 4個(gè)個(gè)英文縮寫字母來(lái)表示。這種縮寫碼

14、叫做指令助記符。英文縮寫字母來(lái)表示。這種縮寫碼叫做指令助記符。 指令指令操作碼操作碼指令助記符指令助記符加法加法001ADDADD減法減法010SUBSUB傳送傳送000MOVMOV乘法乘法011MULMUL除法除法100DIVDIV跳轉(zhuǎn)跳轉(zhuǎn)101JMPJMP存數(shù)存數(shù)110STOSTO取數(shù)取數(shù)111LADLADv地址碼地址碼 根據(jù)一條指令中有幾個(gè)操作數(shù)地址,可將該指令稱為幾根據(jù)一條指令中有幾個(gè)操作數(shù)地址,可將該指令稱為幾操作數(shù)指令或幾地址指令。一般的操作數(shù)有操作數(shù)指令或幾地址指令。一般的操作數(shù)有被操作數(shù)被操作數(shù)、操作操作數(shù)數(shù)及及操作結(jié)果操作結(jié)果這三種數(shù),因而就形成了三地址指令格式。這三種數(shù),因

15、而就形成了三地址指令格式。三地址指令三地址指令8 8 8 8 OP A1 A2 A3(A1) OP (A2) A3 其中操作數(shù)其中操作數(shù)A1、A2、A3可以是內(nèi)存單元的地址,也可以可以是內(nèi)存單元的地址,也可以是運(yùn)算器中通用寄存器的地址,如果三地址指令中是運(yùn)算器中通用寄存器的地址,如果三地址指令中A A1 1、A A2、A A3都是內(nèi)存單元,則指令需要都是內(nèi)存單元,則指令需要4次訪問(wèn)存儲(chǔ)器,存儲(chǔ)器的尋址范次訪問(wèn)存儲(chǔ)器,存儲(chǔ)器的尋址范圍圍28 = 256。為了提高指令執(zhí)行的速度和擴(kuò)大尋址范圍出現(xiàn)了。為了提高指令執(zhí)行的速度和擴(kuò)大尋址范圍出現(xiàn)了兩地址指令和一地址指令。兩地址指令和一地址指令。二地址指令

16、二地址指令 二地址指令常稱為雙操作數(shù)指令,它的兩個(gè)地址碼字段分二地址指令常稱為雙操作數(shù)指令,它的兩個(gè)地址碼字段分別指明參與操作的兩個(gè)數(shù)在內(nèi)存中或運(yùn)算器中通用寄存器的地別指明參與操作的兩個(gè)數(shù)在內(nèi)存中或運(yùn)算器中通用寄存器的地址,址,A1A1作存放操作結(jié)果的地址作存放操作結(jié)果的地址, ,稱為稱為目的操作數(shù)目的操作數(shù)(D)(D),A2A2稱為源稱為源操作數(shù)操作數(shù)(S)(S)。 OP A1 A28 12 12(A1) OP (A2) A1尋址范圍尋址范圍 212 = 4 K二地址指令格式中,從操作數(shù)的物理位置來(lái)說(shuō),又可歸結(jié)為三種類型。二地址指令格式中,從操作數(shù)的物理位置來(lái)說(shuō),又可歸結(jié)為三種類型。 存儲(chǔ)器

17、存儲(chǔ)器- -存儲(chǔ)器(存儲(chǔ)器(SSSS)型指令)型指令:操作數(shù)都放在內(nèi)存里,因此機(jī)器執(zhí)行這種指令操作數(shù)都放在內(nèi)存里,因此機(jī)器執(zhí)行這種指令需要多次訪問(wèn)內(nèi)存。需要多次訪問(wèn)內(nèi)存。 寄存器寄存器- -寄存器(寄存器(RRRR)型指令)型指令:操作數(shù)都在寄存器中。機(jī)器執(zhí)行寄存器操作數(shù)都在寄存器中。機(jī)器執(zhí)行寄存器- -寄存器寄存器型指令的速度很快,因?yàn)閳?zhí)行這類指令,不需要訪問(wèn)內(nèi)存。型指令的速度很快,因?yàn)閳?zhí)行這類指令,不需要訪問(wèn)內(nèi)存。 寄存器寄存器- -存儲(chǔ)器(存儲(chǔ)器(RSRS)型指令)型指令:執(zhí)行此類指令時(shí),既要訪問(wèn)內(nèi)存單元,又要訪執(zhí)行此類指令時(shí),既要訪問(wèn)內(nèi)存單元,又要訪問(wèn)寄存器。問(wèn)寄存器。一地址指令一地址

18、指令 一地址指令常稱為單操作數(shù)指令。通常這種指令以運(yùn)算器一地址指令常稱為單操作數(shù)指令。通常這種指令以運(yùn)算器中累加寄存器中累加寄存器ACAC中的數(shù)據(jù)為被操作數(shù),指令字的地址碼字段所中的數(shù)據(jù)為被操作數(shù),指令字的地址碼字段所指明的數(shù)為操作數(shù),操作結(jié)果又放回累加寄存器指明的數(shù)為操作數(shù),操作結(jié)果又放回累加寄存器ACAC中。中。 零地址指令零地址指令 零地址指令的指令字中只有操作碼,而沒(méi)有地址碼。例如零地址指令的指令字中只有操作碼,而沒(méi)有地址碼。例如停機(jī)指令就不需要地址碼停機(jī)指令就不需要地址碼 。因?yàn)橥C(jī)指令不需要操作數(shù)。因?yàn)橥C(jī)指令不需要操作數(shù)。OP A18 24 (AC) OP (A1) AC尋址范圍

19、尋址范圍 224 = 16 M OP v指令格式舉例指令格式舉例例:某例:某1616位機(jī)指令格式如下所示,其中位機(jī)指令格式如下所示,其中OPOP為操作碼,試分析指為操作碼,試分析指令格式的特點(diǎn)。令格式的特點(diǎn)。 單字長(zhǎng)二地址指令。單字長(zhǎng)二地址指令。操作碼字段操作碼字段OPOP可以指定可以指定128128條指令。條指令。 源寄存器和目標(biāo)寄存器都是通用寄存器源寄存器和目標(biāo)寄存器都是通用寄存器( (可分別指定可分別指定1616個(gè)個(gè)) ),所,所以是以是RRRR型指令,兩個(gè)操作數(shù)均在寄存器中。型指令,兩個(gè)操作數(shù)均在寄存器中。這種指令結(jié)構(gòu)常用于算術(shù)邏輯運(yùn)算類指令。這種指令結(jié)構(gòu)常用于算術(shù)邏輯運(yùn)算類指令。 O

20、POP-源寄存器源寄存器目的寄存器目的寄存器15 9 7 4 3 0000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000011101111111111111111111111111111111111111000000011111111111111111111011101110A3A3A30000000111114 位操作碼位操作碼8 位操作碼位操作碼12 位操作碼位操作碼16 位操作碼位操作碼15條三地址指令條三地址指令14條二地址指令條二地址指令31條一地址指令條一地址指令16條零地址指令條零地址指令例:某例:某1616位機(jī)

21、單字長(zhǎng)指令中有位機(jī)單字長(zhǎng)指令中有1515條三地址指令、條三地址指令、1414條二地址指條二地址指令、令、3131條一地址指令、條一地址指令、1616條零地址指令,給出指令格式。條零地址指令,給出指令格式。111111111111111111111111A3A3A30000000111104.3 操作數(shù)類型操作數(shù)類型v一般的數(shù)據(jù)類型一般的數(shù)據(jù)類型 計(jì)算機(jī)內(nèi)部處理的數(shù)據(jù)類型通常分為四類:計(jì)算機(jī)內(nèi)部處理的數(shù)據(jù)類型通常分為四類:地址型數(shù)據(jù):數(shù)據(jù)地址地址型數(shù)據(jù):數(shù)據(jù)地址數(shù)值型數(shù)據(jù):定點(diǎn)、浮點(diǎn)、十進(jìn)制數(shù)等數(shù)值型數(shù)據(jù):定點(diǎn)、浮點(diǎn)、十進(jìn)制數(shù)等字符型數(shù)據(jù):字符串字符型數(shù)據(jù):字符串邏輯型數(shù)據(jù):位邏輯型數(shù)據(jù):位vP

22、entiumPentium數(shù)據(jù)類型數(shù)據(jù)類型vPowerPowerPCPC數(shù)據(jù)類型數(shù)據(jù)類型4.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 存儲(chǔ)器既可以存放指令,也可以存放操作數(shù),如何確定下存儲(chǔ)器既可以存放指令,也可以存放操作數(shù),如何確定下一條欲執(zhí)行指令的指令地址,稱為一條欲執(zhí)行指令的指令地址,稱為指令尋址指令尋址,如何確定本條指,如何確定本條指令的操作數(shù)地址稱為令的操作數(shù)地址稱為操作數(shù)尋址操作數(shù)尋址。v 指令尋址指令尋址 順序?qū)ぶ讽樞驅(qū)ぶ?由于指令在內(nèi)存中是順序存放,當(dāng)執(zhí)行一段程序時(shí),通常由于指令在內(nèi)存中是順序存放,當(dāng)執(zhí)行一段程序時(shí),通常是一條指令接一條指令的順序執(zhí)行。是一條指令接一條指令的順

23、序執(zhí)行。 為了能夠指示下一條為了能夠指示下一條欲執(zhí)行指令的指令地址,欲執(zhí)行指令的指令地址,CPUCPU內(nèi)部有內(nèi)部有一個(gè)程序計(jì)數(shù)器一個(gè)程序計(jì)數(shù)器PC(PC(指令指針寄存器指令指針寄存器IP)IP),每執(zhí)行一條指令其值,每執(zhí)行一條指令其值自動(dòng)加自動(dòng)加1 1,指向下一條,指向下一條欲執(zhí)行指令的指令地址。這種程序順序欲執(zhí)行指令的指令地址。這種程序順序執(zhí)行的過(guò)程我們稱為指令的執(zhí)行的過(guò)程我們稱為指令的順序?qū)ぶ讽樞驅(qū)ぶ贰?跳躍尋址方式跳躍尋址方式 當(dāng)程序執(zhí)行循環(huán)指令或者轉(zhuǎn)移指令時(shí),指令的尋址就采取當(dāng)程序執(zhí)行循環(huán)指令或者轉(zhuǎn)移指令時(shí),指令的尋址就采取跳躍尋址方式。所謂跳躍,是指下條指令的地址不是由程序計(jì)跳躍尋址

24、方式。所謂跳躍,是指下條指令的地址不是由程序計(jì)數(shù)器給出,而是由本條指令給出。程序跳躍后,按新的指令地?cái)?shù)器給出,而是由本條指令給出。程序跳躍后,按新的指令地址開始順序執(zhí)行。址開始順序執(zhí)行。 LAD 2000ADD 2001DEC 1200JMP 7LAD 2000SUB 2001INCSTO 2500LAD 1100.0123456789PC+1指令地址尋址方式指令地址尋址方式指令地址指令地址指令指令順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?跳躍尋址跳躍尋址7順序?qū)ぶ讽樞驅(qū)ぶ?v操作數(shù)的尋址方式操作數(shù)的尋址方式 形式地址形式地址是指令字中的地址,是指令字中的地址,有效地址有效地址是操

25、作數(shù)的內(nèi)存地址,指令中是操作數(shù)的內(nèi)存地址,指令中的地址碼是由形式地址和尋址方式特征位等組合形成,因此一般來(lái)說(shuō),指的地址碼是由形式地址和尋址方式特征位等組合形成,因此一般來(lái)說(shuō),指令中所給出的形式地址并不是操作數(shù)的有效地址。因此,尋址過(guò)程就是把令中所給出的形式地址并不是操作數(shù)的有效地址。因此,尋址過(guò)程就是把操作數(shù)的形式地址,變換為操作數(shù)的有效地址的過(guò)程。操作數(shù)的形式地址,變換為操作數(shù)的有效地址的過(guò)程。 立即數(shù)尋址立即數(shù)尋址 指令執(zhí)行階段不訪存指令執(zhí)行階段不訪存 D 的位數(shù)限制了立即數(shù)的范圍的位數(shù)限制了立即數(shù)的范圍 可正可負(fù)可正可負(fù) ,補(bǔ)碼表示,補(bǔ)碼表示地址碼部分的形式地址地址碼部分的形式地址 D

26、就是操作數(shù),而不是就是操作數(shù),而不是操作數(shù)的地址操作數(shù)的地址 地址碼地址碼形式地址形式地址 D操作碼操作碼變址變址X X間址間址I I尋址特征尋址特征OP D尋址特征尋址特征立即數(shù)立即數(shù)直接內(nèi)存尋址直接內(nèi)存尋址 直接內(nèi)存尋址特點(diǎn)是:在指令格式的形式地址字段直接內(nèi)存尋址特點(diǎn)是:在指令格式的形式地址字段D D中直接指出操作數(shù)中直接指出操作數(shù)在內(nèi)存的有效地址在內(nèi)存的有效地址E E。由于操作數(shù)地址直接給出而不需要變換,稱為直接尋。由于操作數(shù)地址直接給出而不需要變換,稱為直接尋址方式。址方式。 采用直接尋址方式時(shí),指令字中的形式地址采用直接尋址方式時(shí),指令字中的形式地址D D就是操作數(shù)的有效地址就是操作

27、數(shù)的有效地址E E,既既E ED D。因此通常也把形式地址。因此通常也把形式地址D D又稱為直接地址。如果又稱為直接地址。如果S S表示操作數(shù),那表示操作數(shù),那么直接尋址的邏輯表達(dá)式為:么直接尋址的邏輯表達(dá)式為:S SEEDD操作數(shù)操作數(shù)主存主存尋址特征尋址特征OPDD 執(zhí)行階段訪問(wèn)一次存儲(chǔ)器執(zhí)行階段訪問(wèn)一次存儲(chǔ)器 D 的位數(shù)決定了該指令操作數(shù)的尋址范圍的位數(shù)決定了該指令操作數(shù)的尋址范圍 操作數(shù)的地址不易修改(必須修改操作數(shù)的地址不易修改(必須修改D)如果把直接尋址和間接尋址結(jié)合起來(lái),指令有如下形式:如果把直接尋址和間接尋址結(jié)合起來(lái),指令有如下形式: 尋址特征位尋址特征位I I0 0,表示直接

28、尋址,這時(shí)有效地址,表示直接尋址,這時(shí)有效地址E ED D;I I1 1,表示間,表示間接尋址,這時(shí)有效地址接尋址,這時(shí)有效地址E EDD。間接尋址間接尋址間接尋址的情況下,指令地址字段中的形式地址間接尋址的情況下,指令地址字段中的形式地址D D不是操作數(shù)的有效地不是操作數(shù)的有效地址,址,D D單元的內(nèi)容才是操作數(shù)的有效地址。單元的內(nèi)容才是操作數(shù)的有效地址。 形式地址形式地址 D操作碼操作碼 X IOPDDEA主存主存EA一次間址一次間址操作數(shù)操作數(shù)尋址特征尋址特征 執(zhí)行指令階段執(zhí)行指令階段 2 次訪存次訪存 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 便于編制程序便于編制程序寄存器尋址方式寄存器尋址方式

29、當(dāng)操作數(shù)不放在內(nèi)存中,而是放在當(dāng)操作數(shù)不放在內(nèi)存中,而是放在CPUCPU的通用寄存器中時(shí),的通用寄存器中時(shí),可采用寄存器尋址方式。此時(shí)指令中給出的操作數(shù)地址不是內(nèi)可采用寄存器尋址方式。此時(shí)指令中給出的操作數(shù)地址不是內(nèi)存的地址單元號(hào),而是通用寄存器的編號(hào)。存的地址單元號(hào),而是通用寄存器的編號(hào)。OPRi尋址特征尋址特征操作數(shù)操作數(shù)R0RiRn寄存器寄存器 執(zhí)行階段只訪問(wèn)寄存器,執(zhí)行速度快執(zhí)行階段只訪問(wèn)寄存器,執(zhí)行速度快 寄存器個(gè)數(shù)有限,可縮短指令字長(zhǎng)寄存器個(gè)數(shù)有限,可縮短指令字長(zhǎng)寄存器間接尋址方式寄存器間接尋址方式 寄存器間接尋址方式與寄存器尋址方式的區(qū)別在于:指令中的操作數(shù)寄存器間接尋址方式與寄

30、存器尋址方式的區(qū)別在于:指令中的操作數(shù)地址指示出的寄存器中內(nèi)容不是操作數(shù),而是操作數(shù)的有效地址,即寄存地址指示出的寄存器中內(nèi)容不是操作數(shù),而是操作數(shù)的有效地址,即寄存器中是操作數(shù)的有效地址。器中是操作數(shù)的有效地址。操作數(shù)操作數(shù)主存主存OPRi尋址特征尋址特征地址地址R0RiRn寄存器寄存器 有效地址在寄存器中,有效地址在寄存器中,執(zhí)行階段訪存執(zhí)行階段訪存 便于編制循環(huán)程序便于編制循環(huán)程序1 1、相對(duì)尋址方式、相對(duì)尋址方式相對(duì)尋址是把程序計(jì)數(shù)器相對(duì)尋址是把程序計(jì)數(shù)器PCPC的內(nèi)容加上指令格式中的形式地址的內(nèi)容加上指令格式中的形式地址D D而形成而形成操作數(shù)的有效地址。程序計(jì)數(shù)器的內(nèi)容就是當(dāng)前指令

31、的地址操作數(shù)的有效地址。程序計(jì)數(shù)器的內(nèi)容就是當(dāng)前指令的地址. .形式地址形式地址D D通通常稱為偏移量。常稱為偏移量?!跋鄬?duì)相對(duì)”尋址,就是相對(duì)于當(dāng)前的指令地址進(jìn)行浮動(dòng)。尋址,就是相對(duì)于當(dāng)前的指令地址進(jìn)行浮動(dòng)。 程序員無(wú)須用指令的絕對(duì)地址編程程序員無(wú)須用指令的絕對(duì)地址編程操作數(shù)操作數(shù)尋址特征尋址特征ALUOPD相對(duì)距離相對(duì)距離 D1000PC主存主存1000DOP D 的位數(shù)決定操作數(shù)的尋址范圍的位數(shù)決定操作數(shù)的尋址范圍 廣泛用于轉(zhuǎn)移指令廣泛用于轉(zhuǎn)移指令偏移尋址偏移尋址 2 2、基址尋址方式基址尋址方式 基址尋址方式是將基址尋址方式是將CPUCPU中基址寄存器的內(nèi)容加上指令格式中基址寄存器的內(nèi)

32、容加上指令格式中的形式地址而形成操作數(shù)的有效地址。中的形式地址而形成操作數(shù)的有效地址。 它的優(yōu)點(diǎn)是可以擴(kuò)大尋址能力。同形式地址相比,基址寄存器的位它的優(yōu)點(diǎn)是可以擴(kuò)大尋址能力。同形式地址相比,基址寄存器的位數(shù)可以設(shè)置得很長(zhǎng),從而可以在較大的存儲(chǔ)空間中尋址。數(shù)可以設(shè)置得很長(zhǎng),從而可以在較大的存儲(chǔ)空間中尋址。在程序的執(zhí)行在程序的執(zhí)行過(guò)程中過(guò)程中BRBR內(nèi)容不變,由操作系統(tǒng)指定,形式地址內(nèi)容不變,由操作系統(tǒng)指定,形式地址D D可變。可變。OPD操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUBR3 3、變址尋址方式變址尋址方式 變址尋址方式與基址尋址方式計(jì)算有效地址的方法十分相變址尋址方式與基址尋址方式計(jì)算

33、有效地址的方法十分相似,它把似,它把CPUCPU中某個(gè)變址寄存器的內(nèi)容與形式地址中某個(gè)變址寄存器的內(nèi)容與形式地址D D相加來(lái)形成相加來(lái)形成操作數(shù)有效地址。但使用變址尋址方式的目的不在于擴(kuò)大尋址操作數(shù)有效地址。但使用變址尋址方式的目的不在于擴(kuò)大尋址空間,而在于實(shí)現(xiàn)程序塊的規(guī)律性變化。空間,而在于實(shí)現(xiàn)程序塊的規(guī)律性變化。OPD操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUIX 便于處理數(shù)組問(wèn)題便于處理數(shù)組問(wèn)題 IX 的內(nèi)容由用戶給定的內(nèi)容由用戶給定 在程序的執(zhí)行過(guò)程中在程序的執(zhí)行過(guò)程中 IX 內(nèi)容內(nèi)容可變,形式地址可變,形式地址 D 不變不變堆棧尋址方式堆棧尋址方式 堆棧是一組能夠存儲(chǔ)和取出數(shù)據(jù)的暫時(shí)

34、存儲(chǔ)單元,與存儲(chǔ)堆棧是一組能夠存儲(chǔ)和取出數(shù)據(jù)的暫時(shí)存儲(chǔ)單元,與存儲(chǔ)器的基本功能一致,但堆棧在數(shù)據(jù)的存取方法和尋址方法上與器的基本功能一致,但堆棧在數(shù)據(jù)的存取方法和尋址方法上與存儲(chǔ)器不同,存儲(chǔ)器一般采用存儲(chǔ)器不同,存儲(chǔ)器一般采用隨機(jī)存儲(chǔ)方法隨機(jī)存儲(chǔ)方法,而堆棧采用,而堆棧采用先進(jìn)先進(jìn)后出的存儲(chǔ)方法后出的存儲(chǔ)方法,根據(jù)構(gòu)成堆棧的基本單元的不同,計(jì)算機(jī)中,根據(jù)構(gòu)成堆棧的基本單元的不同,計(jì)算機(jī)中的堆棧分為兩類:的堆棧分為兩類: 串連堆棧:構(gòu)成堆棧的基本單元是串連堆棧:構(gòu)成堆棧的基本單元是CPUCPU內(nèi)的寄存器內(nèi)的寄存器 存儲(chǔ)器堆棧:構(gòu)成堆棧的基本單元是主存單元存儲(chǔ)器堆棧:構(gòu)成堆棧的基本單元是主存單元1

35、)1)串聯(lián)堆棧串聯(lián)堆棧 一些計(jì)算機(jī)的一些計(jì)算機(jī)的CPU中有一組專門的寄存器,有中有一組專門的寄存器,有1616個(gè)或者更個(gè)或者更多,其中每一個(gè)寄存器能保存一個(gè)字的數(shù)據(jù),由專用的寄存器多,其中每一個(gè)寄存器能保存一個(gè)字的數(shù)據(jù),由專用的寄存器組構(gòu)成堆棧的存儲(chǔ)空間,我們稱為組構(gòu)成堆棧的存儲(chǔ)空間,我們稱為串聯(lián)堆棧串聯(lián)堆棧,專專用用寄寄存存器器組組堆棧空間堆??臻g某通用寄存器某通用寄存器1212入入棧棧過(guò)過(guò)程程45451267451267專專用用寄寄存存器器組組堆??臻g堆棧空間某通用寄存器某通用寄存器121245451267451267出出棧棧過(guò)過(guò)程程串聯(lián)堆棧存在一些限制串聯(lián)堆棧存在一些限制:l寄存器的數(shù)目

36、一般是有限的。如堆棧有寄存器的數(shù)目一般是有限的。如堆棧有6個(gè)寄存器,那么把多于個(gè)寄存器,那么把多于6個(gè)的數(shù)據(jù)個(gè)的數(shù)據(jù)壓入堆棧時(shí)壓入堆棧時(shí),“老老”的數(shù)據(jù)就從棧底壓出并被丟失。的數(shù)據(jù)就從棧底壓出并被丟失。l是堆棧的讀出是破壞性的。當(dāng)從堆棧取出一個(gè)數(shù)時(shí),它就不能再在堆棧中是堆棧的讀出是破壞性的。當(dāng)從堆棧取出一個(gè)數(shù)時(shí),它就不能再在堆棧中存在。存在。 2)2)存儲(chǔ)器堆棧存儲(chǔ)器堆棧 在計(jì)算機(jī)中利用一部分主存儲(chǔ)器來(lái)作為堆棧空間,稱為在計(jì)算機(jī)中利用一部分主存儲(chǔ)器來(lái)作為堆??臻g,稱為存存儲(chǔ)器堆棧儲(chǔ)器堆棧。在存儲(chǔ)器類型的堆棧中需要一個(gè)堆棧指示器。在存儲(chǔ)器類型的堆棧中需要一個(gè)堆棧指示器SPSP,它,它是是CPU中

37、一個(gè)專用的寄存器。堆棧指示器中一個(gè)專用的寄存器。堆棧指示器SPSP指定的存儲(chǔ)器單元指定的存儲(chǔ)器單元就是堆棧的棧頂。就是堆棧的棧頂。 棧底棧底棧頂棧頂0000H0000HFFFFHFFFFH4141堆棧指針堆棧指針SPSPFFFFHFFFFH棧頂棧頂2323FFFEHFFFEH5757FFFDHFFFDHFFFCHFFFCH棧頂棧頂在內(nèi)存中開辟一段存儲(chǔ)單元在內(nèi)存中開辟一段存儲(chǔ)單元作為堆棧。設(shè)有通用寄存器作為堆棧。設(shè)有通用寄存器A A、B B、C C分別有數(shù)據(jù)分別有數(shù)據(jù)2323、5757、4141。執(zhí)行下面的入棧和出棧操作執(zhí)行下面的入棧和出棧操作指令:指令: PUSH APUSH A PUSH B

38、 PUSH B PUSH C PUSH C POP C POP C堆棧指針和堆棧變化如圖堆棧指針和堆棧變化如圖存儲(chǔ)器堆棧的特點(diǎn):存儲(chǔ)器堆棧的特點(diǎn):l存儲(chǔ)器堆棧是一個(gè)由高地址向低地址延伸的空間。存儲(chǔ)器堆棧是一個(gè)由高地址向低地址延伸的空間。l存儲(chǔ)器堆棧的棧頂由堆棧指針存儲(chǔ)器堆棧的棧頂由堆棧指針SPSP指示,如果用指示,如果用AA表示通用寄表示通用寄存器存器A A的內(nèi)容,的內(nèi)容,SPSP表示堆棧指示器,表示堆棧指示器,MspMsp表示堆棧指示的存儲(chǔ)器表示堆棧指示的存儲(chǔ)器棧頂單元棧頂單元, ,入棧操作和出棧操作可以表示為:入棧操作和出棧操作可以表示為: 入棧:入棧:AMsp AMsp ,SPSP1SP

39、1SP 出棧:出棧:SPSP1SP1SP,MspA MspA 存儲(chǔ)器堆棧的優(yōu)點(diǎn):存儲(chǔ)器堆棧的優(yōu)點(diǎn):l堆棧能夠具有程序員要求的任意長(zhǎng)度;堆棧能夠具有程序員要求的任意長(zhǎng)度;l存儲(chǔ)器堆棧的數(shù)目由程序員自己決定;存儲(chǔ)器堆棧的數(shù)目由程序員自己決定;l可以用對(duì)存儲(chǔ)器尋址的任何一條指令來(lái)對(duì)堆棧中的數(shù)據(jù)進(jìn)行可以用對(duì)存儲(chǔ)器尋址的任何一條指令來(lái)對(duì)堆棧中的數(shù)據(jù)進(jìn)行尋址。尋址。v尋址方式舉例尋址方式舉例例:一種二地址例:一種二地址RSRS型指令的結(jié)構(gòu)如下所示:型指令的結(jié)構(gòu)如下所示: 形式地址形式地址 D操作碼操作碼 X X I I寄存器寄存器6位位 4位位 1位位 2位位 16位位其中其中I I為間接尋址標(biāo)志位,為間

40、接尋址標(biāo)志位,X X為尋址模式字段,為尋址模式字段,D D為形式地址。通過(guò)為形式地址。通過(guò)I I,X X,D D的組合,可構(gòu)成下表所示的尋址方式。的組合,可構(gòu)成下表所示的尋址方式。 請(qǐng)寫出六種尋址方式的名稱。請(qǐng)寫出六種尋址方式的名稱。尋址方式尋址方式I IX X有效地址有效地址說(shuō)明說(shuō)明1 10 00000E=DE=D2 20 00101E=(PC)+DE=(PC)+DPCPC為程序計(jì)數(shù)器為程序計(jì)數(shù)器3 30 01010E=(IX)+DE=(IX)+DIXIX為變址寄存器為變址寄存器4 41 11111E=(R3)E=(R3)5 51 10000E=(D)E=(D)6 60 01111E=(BR

41、)+DE=(BR)+DBRBR為基址寄存器為基址寄存器直接內(nèi)存尋址直接內(nèi)存尋址相對(duì)尋址相對(duì)尋址變址尋址變址尋址寄存器間接尋址寄存器間接尋址內(nèi)存間接尋址內(nèi)存間接尋址基址尋址基址尋址例:某微機(jī)的指令格式如下所示:例:某微機(jī)的指令格式如下所示: 操作碼操作碼XDD:位移量:位移量X:尋址特征位:尋址特征位 X=00:直接尋址;:直接尋址; X=01:用基址寄存器:用基址寄存器BR進(jìn)行變址;進(jìn)行變址; X=10:用變址寄存器:用變址寄存器IX進(jìn)行變址;進(jìn)行變址; X=11:相對(duì)尋址:相對(duì)尋址設(shè)(設(shè)(PC)=1234 H,(,(BR)=0037H,(,(IX)=1122H,請(qǐng)確定下列指令,請(qǐng)確定下列指令

42、的有效地址。的有效地址。4420H 2244H 1322H 3521H1 1)X=00 , D=20H ,X=00 , D=20H ,有效地址有效地址E=20HE=20H2) X=10 , D=44H ,2) X=10 , D=44H ,有效地址有效地址E=1122H+44H=1166HE=1122H+44H=1166H3) X=11 , D=22H ,3) X=11 , D=22H ,有效地址有效地址E=1234H+22H=1256HE=1234H+22H=1256H4) X=01 , D=21H ,4) X=01 , D=21H ,有效地址有效地址E=0037H+21H=0058HE=00

43、37H+21H=0058H15 10 9 8 7 015 10 9 8 7 0例:某例:某1616位機(jī)器所使用的指令格式和尋址方式如下所示,該機(jī)有兩個(gè)位機(jī)器所使用的指令格式和尋址方式如下所示,該機(jī)有兩個(gè)2020位位基址寄存器,四個(gè)基址寄存器,四個(gè)1616位變址寄存器,十六個(gè)位變址寄存器,十六個(gè)1616位通用寄存器,指令匯編格位通用寄存器,指令匯編格式中的式中的S S和和D D都是指通用寄存器,都是指通用寄存器,M M指主存中的一個(gè)單元。三種指令的操作碼指主存中的一個(gè)單元。三種指令的操作碼分別是分別是MOVMOV為為0AH 0AH ,STOSTO為為1BH 1BH ,LADLAD為為3CH3CH

44、。說(shuō)明:說(shuō)明:MOVMOV是傳送指令,是傳送指令,STOSTO為寫數(shù)指令,為寫數(shù)指令,LADLAD為讀數(shù)指令。為讀數(shù)指令。(1)分析三種指令的指令格式與尋址方式特點(diǎn))分析三種指令的指令格式與尋址方式特點(diǎn)。該指令是單字長(zhǎng)二地址指令,是該指令是單字長(zhǎng)二地址指令,是寄存器寄存器寄存器寄存器型,源寄存器型,源寄存器S S由由0 03 3位指位指定,目標(biāo)寄存器定,目標(biāo)寄存器D D由由4 47 7位指定。位指定。該指令是雙字長(zhǎng)二地址指令,是該指令是雙字長(zhǎng)二地址指令,是寄存器寄存器存儲(chǔ)器存儲(chǔ)器型,源寄存器型,源寄存器S S由由4 47 7位指位指定定,存儲(chǔ)器存儲(chǔ)器M M由由采用采用0 03 3位指定的變址寄

45、存器加位移量的位指定的變址寄存器加位移量的變址方式變址方式得到或者得到或者由由89位指定的基址寄存器加位移量的位指定的基址寄存器加位移量的基址尋址基址尋址得到。得到。該指令是雙字長(zhǎng)二地址指令,該指令是雙字長(zhǎng)二地址指令,寄存器寄存器存儲(chǔ)器存儲(chǔ)器型,其中目標(biāo)寄存器型,其中目標(biāo)寄存器D D由由4 47 7位指定,存儲(chǔ)器由指令中給出的位指定,存儲(chǔ)器由指令中給出的2020位地址由直接內(nèi)存尋址決定。位地址由直接內(nèi)存尋址決定。(2 2)CPUCPU完成哪一種操作所花時(shí)間最短?哪一種操作所花時(shí)間最長(zhǎng)?第二完成哪一種操作所花時(shí)間最短?哪一種操作所花時(shí)間最長(zhǎng)?第二種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間嗎?

46、種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間嗎? CPUCPU完成第一種指令所花時(shí)間最短,因?yàn)槭峭瓿傻谝环N指令所花時(shí)間最短,因?yàn)槭荝RRR型指令,不需要訪問(wèn)存儲(chǔ)器型指令,不需要訪問(wèn)存儲(chǔ)器 CPUCPU完成第二種指令所花時(shí)間最長(zhǎng),因?yàn)槭峭瓿傻诙N指令所花時(shí)間最長(zhǎng),因?yàn)槭荝SRS型指令需要訪問(wèn)存儲(chǔ)器,同型指令需要訪問(wèn)存儲(chǔ)器,同時(shí)要進(jìn)行尋址方式的變換運(yùn)算,基址寄存器的內(nèi)容加位移量或變址寄存器時(shí)要進(jìn)行尋址方式的變換運(yùn)算,基址寄存器的內(nèi)容加位移量或變址寄存器內(nèi)容加位移量,這也需要時(shí)間。內(nèi)容加位移量,這也需要時(shí)間。 第二種指令的執(zhí)行時(shí)間不會(huì)等于第三種指令,因?yàn)榈谌N指令也訪問(wèn)存儲(chǔ)器,但第二種指令的執(zhí)行時(shí)

47、間不會(huì)等于第三種指令,因?yàn)榈谌N指令也訪問(wèn)存儲(chǔ)器,但節(jié)省了求有效地址運(yùn)算的時(shí)間開銷。節(jié)省了求有效地址運(yùn)算的時(shí)間開銷。(3 3)下列情況下每個(gè)十六進(jìn)制指令字分別代表什么操作?其中如果有編碼)下列情況下每個(gè)十六進(jìn)制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令?不正確,如何改正才能成為合法指令? (F0F1) (F0F1)H H(3CD2)(3CD2)H H根據(jù)已知條件:根據(jù)已知條件: MOVMOV(OPOP)0AH0AH00 101000 1010 ST0 ST0(OPOP)1BH1BH01 101101 1011 LAD LAD(OPOP)3CH3CH11 110011

48、 11001111 0000 1111 0001 0011 1100 1101 00101111 0000 1111 0001 0011 1100 1101 0010111100 111100 0000 11111111 0001 0011 1100 1101 00100001 0011 1100 1101 0010 2856H2856H0010 1000 0101 01100010 1000 0101 0110編碼正確,其含義是把主存編碼正確,其含義是把主存(13CD2)H 地址單元的內(nèi)容取至地址單元的內(nèi)容取至15號(hào)寄存器號(hào)寄存器。001010001010 0000 0101 0101 01100110編碼正確,含義是把編碼正確,含義是把6號(hào)源寄存器的內(nèi)容傳送至號(hào)源寄存器的內(nèi)容傳送至5號(hào)目標(biāo)寄存器。號(hào)目標(biāo)寄存器。 6FD6H 6FD6H0110 1111 1101 01100110 1111 1101 0110011011011011 1111 1101 1101 01100110編碼錯(cuò)誤,可改正為編碼錯(cuò)誤,可改正為28D6

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論