計(jì)算機(jī)組成原理課件第4章_第1頁(yè)
計(jì)算機(jī)組成原理課件第4章_第2頁(yè)
計(jì)算機(jī)組成原理課件第4章_第3頁(yè)
計(jì)算機(jī)組成原理課件第4章_第4頁(yè)
計(jì)算機(jī)組成原理課件第4章_第5頁(yè)
已閱讀5頁(yè),還剩56頁(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、主講教師 莊春興上午7時(shí)2分24.1指令系統(tǒng)的發(fā)展和性能要求指令系統(tǒng)的發(fā)展和性能要求4.2指令格式指令格式4.3指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式4.4堆棧尋址方式堆棧尋址方式4.5典型指令典型指令上午7時(shí)2分3p機(jī)器指令(指令)機(jī)器指令(指令)n計(jì)算機(jī)能直接識(shí)別、執(zhí)行的某種操作命令。n微指令:微程序級(jí)的命令,它屬于硬件;n宏指令:由若干條機(jī)器指令組成的軟件指令,它屬于軟件;n機(jī)器指令(指令):介于微指令與宏指令之間,每條指令可完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算。p程序程序n是解決某一實(shí)際問(wèn)題的指令序列p指令系統(tǒng)(指令集)指令系統(tǒng)(指令集)n 一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合。n機(jī)器硬件設(shè)計(jì)

2、的依據(jù),也是軟件設(shè)計(jì)的基礎(chǔ)。n硬件和軟件間的界面,直接影響計(jì)算機(jī)系統(tǒng)性能上午7時(shí)2分4p指基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相同的一系列計(jì)算機(jī)。pIBM,PDP-11,VAX-11,ARM,Intel-x86, Pentiump系列計(jì)算機(jī)主要是解決軟件兼容的問(wèn)題。新計(jì)算機(jī)中必須包含老計(jì)算機(jī)的指令系統(tǒng),保證軟件向上兼容,保護(hù)用戶投資。上午7時(shí)2分5pCISC(復(fù)雜指令系統(tǒng)計(jì)算機(jī)復(fù)雜指令系統(tǒng)計(jì)算機(jī))nComplex Instruction System Computern指令數(shù)量多(多達(dá)幾百條),指令功能,復(fù)雜的計(jì)算機(jī)。n難以保證正確性,不易調(diào)試維護(hù),造成硬件資源浪費(fèi)pRISC(精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)精簡(jiǎn)

3、指令系統(tǒng)計(jì)算機(jī))nReduced Instruction System Computern指令數(shù)量少,指令功能單一的計(jì)算機(jī)。上午7時(shí)2分6p完備性:指令豐富,功能齊全,使用方便。p有效性:程序占空間小,執(zhí)行速度快。p規(guī)整性:n對(duì)稱性(所有寄存器、存儲(chǔ)單元同等對(duì)待)、勻齊性(一種操作支持多種數(shù)據(jù)類型):n指令格式和數(shù)據(jù)格式的一 致性(指令長(zhǎng)度和數(shù)據(jù)長(zhǎng)度通常是字節(jié)的整數(shù)倍):p兼容性:系列機(jī)軟件向上兼容上午7時(shí)2分7p高級(jí)語(yǔ)言(如高級(jí)語(yǔ)言(如C,F(xiàn)ORTRAN等)等)n其語(yǔ)句和用法與具體機(jī)器的指令系統(tǒng)無(wú)關(guān),易編程。n不能用于編寫直接訪問(wèn)機(jī)器硬件資源的系統(tǒng)軟件或設(shè)備控制軟件不能用于編寫直接訪問(wèn)機(jī)器硬

4、件資源的系統(tǒng)軟件或設(shè)備控制軟件p低級(jí)語(yǔ)言低級(jí)語(yǔ)言n機(jī)器語(yǔ)言(二進(jìn)制語(yǔ)言)n匯編語(yǔ)言(符號(hào)語(yǔ)言)n面向機(jī)器的語(yǔ)言,和具體機(jī)器的指令系統(tǒng)密切相關(guān)。機(jī)器語(yǔ)言用指令代碼編寫程序,而符號(hào)語(yǔ)言用指令助記符來(lái)編寫程序。p必須借助必須借助匯編程序匯編程序或或編譯程序編譯程序,把符號(hào)語(yǔ)言或高級(jí)語(yǔ)言翻譯成二進(jìn)制,把符號(hào)語(yǔ)言或高級(jí)語(yǔ)言翻譯成二進(jìn)制碼組成的碼組成的機(jī)器語(yǔ)言機(jī)器語(yǔ)言。上午7時(shí)2分8p表示一條指令的機(jī)器字,稱為指令字指令字,簡(jiǎn)稱指令。p指令格式:用二進(jìn)制代碼表示指令的結(jié)構(gòu)形式。操作碼字段地址碼字段上午7時(shí)2分9p操作碼字段表征指令的操作特性與功能p指令系統(tǒng)中每一條指令對(duì)應(yīng)一個(gè)操作碼p操作碼字段的位數(shù)取決于

5、指令系統(tǒng)的規(guī)模nn=2L p定長(zhǎng)指令、變長(zhǎng)指令(固定位數(shù)和可變位數(shù))操作碼字段地址碼字段上午7時(shí)2分10p地址碼通常指定參與操作的地址碼通常指定參與操作的操作數(shù)的地址操作數(shù)的地址或或操作數(shù)本身操作數(shù)本身p地址碼包括地址碼包括被操作數(shù),操作數(shù),操作結(jié)果被操作數(shù),操作數(shù),操作結(jié)果 操作碼 1 2 3操作碼 1 2操作碼 1 操作碼 二地址格式三地址格式一地址格式零地址格式上午7時(shí)2分11(1)零地址指令兩種情況:n不需要操作數(shù),如空操作指令NOP;n隱含一個(gè)操作數(shù)位于累加器AC中。如十進(jìn)制修正指令DAA。(2)一地址指令有兩種情況:n只需要一個(gè)操作數(shù),如求反指令NOT;n需要兩個(gè)操作數(shù),但另一個(gè)操

6、作數(shù)在累加寄存器AC中(AC)OP(A)-AC上午7時(shí)2分12(3)二地址指令(A1)OP(A2)-A1(4)三地址指令(A1)OP(A2)-A3nA1為被操作數(shù)地址,也稱源操作數(shù)地址; nA2為操作數(shù)地址,也稱終點(diǎn)操作數(shù)地址; nA3為存放結(jié)果的地址。 nA1,A2,A3可以是內(nèi)存中的單元地址,也可以是運(yùn)算器中通用寄存器的地址。 上午7時(shí)2分13 上午7時(shí)2分14p指令中包含二進(jìn)制代碼的位數(shù)p機(jī)器字長(zhǎng)機(jī)器字長(zhǎng)n計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),它決定了計(jì)算機(jī)的運(yùn)算精度p指令字長(zhǎng)度指令字長(zhǎng)度與機(jī)器字的長(zhǎng)度有關(guān): n 單字長(zhǎng),雙字長(zhǎng),半字長(zhǎng)。p等長(zhǎng)指令: 結(jié)構(gòu)簡(jiǎn)單,控制線路簡(jiǎn)單。p變長(zhǎng)指令:

7、結(jié)構(gòu)靈活,充分利用指令長(zhǎng)度,控制復(fù)雜上午7時(shí)2分15典典型型指指令令 指令助記符指令助記符 二進(jìn)制操作碼二進(jìn)制操作碼 加法加法 ADD 001減法減法 SUB 010傳送傳送 MOV 011跳轉(zhuǎn)跳轉(zhuǎn) JMP 100轉(zhuǎn)子轉(zhuǎn)子 JSR 101存儲(chǔ)存儲(chǔ) STR 110讀數(shù)讀數(shù) LDA 111 為了為了書寫和閱讀程序,每條指令通常用書寫和閱讀程序,每條指令通常用3個(gè)或個(gè)或4個(gè)英文個(gè)英文縮寫字母來(lái)表示。縮寫字母來(lái)表示。表表4.2指令助記符指令助記符舉例舉例上午7時(shí)2分161.八位微型計(jì)算機(jī)的指令格式八位微型計(jì)算機(jī)的指令格式 8位微型機(jī)字長(zhǎng)只有位微型機(jī)字長(zhǎng)只有8位,指令結(jié)構(gòu)是一種可變字長(zhǎng)形式,位,指令結(jié)構(gòu)

8、是一種可變字長(zhǎng)形式,包含單字長(zhǎng)、雙字長(zhǎng)、三字長(zhǎng)指令等多種。包含單字長(zhǎng)、雙字長(zhǎng)、三字長(zhǎng)指令等多種。操作碼 操作碼 1 2操作碼 1 單字長(zhǎng)指令 雙字長(zhǎng)指令 三字長(zhǎng)指令 上午7時(shí)2分172.PDP/11系列機(jī)指令格式系列機(jī)指令格式操作碼字段是操作碼字段是不固定不固定,長(zhǎng)度不相同長(zhǎng)度不相同。這樣做可以擴(kuò)展操作碼以包含較多的指令。但。這樣做可以擴(kuò)展操作碼以包含較多的指令。但是操作碼字段不固定,對(duì)控制器的設(shè)計(jì)來(lái)說(shuō)必將復(fù)雜化是操作碼字段不固定,對(duì)控制器的設(shè)計(jì)來(lái)說(shuō)必將復(fù)雜化上午7時(shí)2分184. ARM指令格式指令格式上午7時(shí)2分194.pentium指令格式指令格式pentium機(jī)的指令字長(zhǎng)度是可變的:從字

9、節(jié)到機(jī)的指令字長(zhǎng)度是可變的:從字節(jié)到12字節(jié),還可以帶字節(jié),還可以帶前綴,指令格式如下所示。前綴,指令格式如下所示。 0或或1 0或或10或或10或或1(字節(jié)數(shù)字節(jié)數(shù))指令前綴指令前綴段取代段取代操作數(shù)長(zhǎng)度取代操作數(shù)長(zhǎng)度取代地址長(zhǎng)度取代地址長(zhǎng)度取代1或或20或或1 0或或1 0,1,2,4 0,1,2,4(字節(jié)數(shù)字節(jié)數(shù))操作操作碼碼ModReg或或操作碼操作碼R/M比例比例S變變址址I基址基址B位移量位移量立即數(shù)立即數(shù)2位位3位位 3位位 2位位 3位位3位位上午7時(shí)2分20例例1指令格式如下所示,其中指令格式如下所示,其中OP為操作碼,試分析指令為操作碼,試分析指令格式的特點(diǎn)。格式的特點(diǎn)。1

10、5 9 8 7 4 3 0 op源寄存器源寄存器目標(biāo)寄存器目標(biāo)寄存器解: (1)單字長(zhǎng)二地址指令。(2)操作碼字段OP可以指定128條指令。(3)源寄存器和目標(biāo)寄存器都是通用寄存器(可分別指定16個(gè)),所以是RR型指令,兩個(gè)操作數(shù)均在寄存器中。(4)這種指令結(jié)構(gòu)常用于算術(shù)邏輯運(yùn)算類指令。 上午7時(shí)2分21例例2 指令格式如下所示,指令格式如下所示,OP為操作碼字段,試分析指令格式特點(diǎn)為操作碼字段,試分析指令格式特點(diǎn) 解:(1)雙字長(zhǎng)二地址指令,用于訪問(wèn)存儲(chǔ)器。 (2)操作碼字段OP為6位,可以指定64種操作。(3)一個(gè)操作數(shù)在源寄存器(共16個(gè)),另一個(gè)操作數(shù)在存儲(chǔ)器中(由變址寄存器和位移量決

11、定)所以是RS型指令。 op源寄存器源寄存器變址寄存器變址寄存器 位移量(位移量(16位)位)15 10 7 43 0 上午7時(shí)2分22p在存儲(chǔ)器中,操作數(shù)或指令字寫入或讀出的方式,在存儲(chǔ)器中,操作數(shù)或指令字寫入或讀出的方式,有有地址指定方式地址指定方式、相聯(lián)存儲(chǔ)方式相聯(lián)存儲(chǔ)方式和和堆棧存取方式。堆棧存取方式。p當(dāng)采用地址指定方式時(shí),尋找指令或操作數(shù)有效當(dāng)采用地址指定方式時(shí),尋找指令或操作數(shù)有效地址的方式地址的方式n指令尋址指令尋址F順序?qū)ぶ讽樞驅(qū)ぶ稦跳躍尋址跳躍尋址n操作數(shù)尋址操作數(shù)尋址上午7時(shí)2分23p程序的指令序列在主存順序存放。程序執(zhí)行時(shí)從第一條指令開(kāi)始,逐條取出并逐條執(zhí)行,這種程序的

12、順序執(zhí)行過(guò)程,稱為順序?qū)ぶ贩绞?。p為了達(dá)到順序?qū)ぶ返哪康模珻PU中必須有一個(gè)程序計(jì)數(shù)器(PC)對(duì)指令的順序號(hào)進(jìn)行計(jì)數(shù)。PC中開(kāi)始時(shí)存放程序的首地址,每執(zhí)行一條指令,PC 加1,以指出下條指令的地址,直到程序結(jié)束。pPC存放下一條指令的地址上午7時(shí)2分24p當(dāng)程序中出現(xiàn)分支或循環(huán)時(shí),就會(huì)改變程序的執(zhí)行順序。此時(shí)對(duì)指令尋址就要采取跳躍尋址方式。p所謂跳躍,就是指下條指令的地址不是通過(guò)程序計(jì)數(shù)器PC當(dāng)前值獲得的,而是由指令本身給出。p跳躍的處理方式是重新修改PC的內(nèi)容。然后進(jìn)入取指令階段。上午7時(shí)2分25IR100JMP 103MOV AX,BXJMP 103MOV AX,BX103上午7時(shí)2分26

13、p形成操作數(shù)有效地址的方法。n例如,一種單地址指令的結(jié)構(gòu)如下所示,其中用X,I,D各字段組成該指令的操作數(shù)地址。n尋址過(guò)程就是把操作數(shù)的形式地址,變換為操作數(shù)的有效地址的過(guò)程。n實(shí)際有效地址為E, 實(shí)際操作數(shù)Sn S= (E) OPXID上午7時(shí)2分27p在在指令中不明顯的給出而是隱含著操作數(shù)的地址指令中不明顯的給出而是隱含著操作數(shù)的地址p例如,單地址的指令格式,沒(méi)有在地址字段中指例如,單地址的指令格式,沒(méi)有在地址字段中指明第二操作數(shù)地址,而是規(guī)定累加寄存器明第二操作數(shù)地址,而是規(guī)定累加寄存器AC作為作為第二操作數(shù)地址,第二操作數(shù)地址,AC對(duì)單地址指令格式來(lái)說(shuō)是隱對(duì)單地址指令格式來(lái)說(shuō)是隱含地址

14、。含地址。上午7時(shí)2分28p指令的地址字段指出的不是操作數(shù)的地址,而是操作數(shù)本身指令的地址字段指出的不是操作數(shù)的地址,而是操作數(shù)本身p這種方式的特點(diǎn)是指令執(zhí)行時(shí)間很短,不需要訪問(wèn)內(nèi)存取數(shù)這種方式的特點(diǎn)是指令執(zhí)行時(shí)間很短,不需要訪問(wèn)內(nèi)存取數(shù)例如:?jiǎn)蔚刂返囊莆恢噶罡袷綖槔纾簡(jiǎn)蔚刂返囊莆恢噶罡袷綖镺P(移位移位)FD這里這里D不是地址,而是一個(gè)操作數(shù)。不是地址,而是一個(gè)操作數(shù)。F為標(biāo)志為標(biāo)志位,當(dāng)位,當(dāng)F1,操作數(shù)進(jìn)行右移;當(dāng),操作數(shù)進(jìn)行右移;當(dāng)F0時(shí),操作時(shí),操作數(shù)進(jìn)行左移。數(shù)進(jìn)行左移。上午7時(shí)2分29直接尋址特點(diǎn)是:直接尋址特點(diǎn)是:在指令格式的地址字段中直接指出操作數(shù)在內(nèi)在指令格式的地址字段中

15、直接指出操作數(shù)在內(nèi)存的地址存的地址D。 采用直接尋址方式時(shí),指令字中的形式地址采用直接尋址方式時(shí),指令字中的形式地址D就是操作數(shù)的就是操作數(shù)的有效地址有效地址E,既,既ED。因此通常把形式地址。因此通常把形式地址D又稱為直接地址。又稱為直接地址。此時(shí),由尋址模式給予指示。此時(shí),由尋址模式給予指示。 如果用如果用S表示操作數(shù),那么直接尋表示操作數(shù),那么直接尋址的邏輯表達(dá)式為址的邏輯表達(dá)式為 S(E)()(D)上午7時(shí)2分30間接尋址的情況下,間接尋址的情況下,指令地址字段中的形式地址指令地址字段中的形式地址D不是操作數(shù)的真正不是操作數(shù)的真正地址,而是操作數(shù)地址的指示器,地址,而是操作數(shù)地址的指示

16、器,D單元的內(nèi)容才是操作數(shù)的有效地址單元的內(nèi)容才是操作數(shù)的有效地址 如果把直接尋址和間接尋址結(jié)合起來(lái),指令有如下形式:如果把直接尋址和間接尋址結(jié)合起來(lái),指令有如下形式:操作碼操作碼ID 尋址特征位尋址特征位I0,表示直接尋址,這時(shí)有效地址,表示直接尋址,這時(shí)有效地址ED; I1,表示間接尋址,這時(shí)有效地址,表示間接尋址,這時(shí)有效地址E(D)。上午7時(shí)2分31p寄存器尋址n操作數(shù)在CPU的內(nèi)部寄存器中.p寄存器間接尋址n指令格式中的寄存器內(nèi)容不是操作數(shù),而是操作數(shù)的地址,該地址指明的操作數(shù)在內(nèi)存中上午7時(shí)2分32相對(duì)尋址是相對(duì)尋址是把程序計(jì)數(shù)器把程序計(jì)數(shù)器PC的內(nèi)容加上指令格式中的形式地的內(nèi)容加

17、上指令格式中的形式地址址D而形成操作數(shù)的有效地址而形成操作數(shù)的有效地址。采用相對(duì)尋址方式的好處是程序員無(wú)須用指令的絕對(duì)地址編程采用相對(duì)尋址方式的好處是程序員無(wú)須用指令的絕對(duì)地址編程,所編程序可以放在內(nèi)存任何地方。,所編程序可以放在內(nèi)存任何地方。此時(shí)形式地址此時(shí)形式地址D通常稱為通常稱為偏移量偏移量,其值,其值可正可負(fù)可正可負(fù),相對(duì)于當(dāng)前,相對(duì)于當(dāng)前指令地址進(jìn)行浮動(dòng)。指令地址進(jìn)行浮動(dòng)。上午7時(shí)2分33 基址尋址方式是基址尋址方式是將將CPU中基址寄存器的內(nèi)容加上指令格中基址寄存器的內(nèi)容加上指令格式中的形式地址而形成操作數(shù)的有效地址式中的形式地址而形成操作數(shù)的有效地址。 優(yōu)點(diǎn)是可以擴(kuò)大尋址能力。優(yōu)

18、點(diǎn)是可以擴(kuò)大尋址能力。上午7時(shí)2分34變址尋址方式變址尋址方式變址尋址方式與基址尋址方式計(jì)算有效地址的方法很相似,它變址尋址方式與基址尋址方式計(jì)算有效地址的方法很相似,它把把CPU中某個(gè)中某個(gè)變址寄存器的內(nèi)容與偏移量變址寄存器的內(nèi)容與偏移量D相加相加來(lái)形成操作數(shù)有效來(lái)形成操作數(shù)有效地址。地址。 但使用變址尋址方式的但使用變址尋址方式的目的不在于擴(kuò)大尋址空間目的不在于擴(kuò)大尋址空間,而在于實(shí)而在于實(shí)現(xiàn)程序塊的現(xiàn)程序塊的規(guī)律性變化規(guī)律性變化。塊尋址方式塊尋址方式 塊尋址方式經(jīng)常用在輸入輸出指令中,以實(shí)現(xiàn)外存儲(chǔ)器或外圍塊尋址方式經(jīng)常用在輸入輸出指令中,以實(shí)現(xiàn)外存儲(chǔ)器或外圍設(shè)備同內(nèi)存之間的數(shù)據(jù)塊傳送。塊

19、尋址方式在內(nèi)存中還可用于數(shù)據(jù)設(shè)備同內(nèi)存之間的數(shù)據(jù)塊傳送。塊尋址方式在內(nèi)存中還可用于數(shù)據(jù)塊搬家。塊搬家。 塊尋址時(shí),通常在指令中指出數(shù)據(jù)塊的起始地址(首地址塊尋址時(shí),通常在指令中指出數(shù)據(jù)塊的起始地址(首地址)和數(shù)據(jù)塊的長(zhǎng)度(字?jǐn)?shù)或字節(jié)數(shù))。)和數(shù)據(jù)塊的長(zhǎng)度(字?jǐn)?shù)或字節(jié)數(shù))。如果數(shù)據(jù)塊是變長(zhǎng)的,可用三種方法指出它的長(zhǎng)度:如果數(shù)據(jù)塊是變長(zhǎng)的,可用三種方法指出它的長(zhǎng)度:(1)指令中劃出字段指出長(zhǎng)度;指令中劃出字段指出長(zhǎng)度;(2)指令格式中指出數(shù)據(jù)塊的首地址與末地址;指令格式中指出數(shù)據(jù)塊的首地址與末地址;(3)由塊結(jié)束字符指出數(shù)據(jù)塊長(zhǎng)度。由塊結(jié)束字符指出數(shù)據(jù)塊長(zhǎng)度。操作碼操作碼首地址首地址標(biāo)志位標(biāo)志位末

20、地址末地址上午7時(shí)2分35pIntel 8086/8088微機(jī)中,ALU16位運(yùn)算,但其尋址范圍可到1M,即地址有20位。p實(shí)質(zhì)是基值尋址。4位16位邏輯地址16位段寄存器20位物理地址ALU上午7時(shí)2分36例例3一種二地址一種二地址RS型指令的結(jié)構(gòu)如下所示:型指令的結(jié)構(gòu)如下所示: 6位位 4位位 1位位 2位位16位位其中其中I為間接尋址標(biāo)志位,為間接尋址標(biāo)志位,X為尋址模式字段,為尋址模式字段,D位偏移量字段。通過(guò)位偏移量字段。通過(guò)I,X,D的的組合,可構(gòu)成下表所示的尋址方式。組合,可構(gòu)成下表所示的尋址方式。 請(qǐng)寫出六種尋址方式的名稱。請(qǐng)寫出六種尋址方式的名稱。解解:直接尋址直接尋址 相對(duì)

21、尋址相對(duì)尋址 變址尋址變址尋址 寄存器間接尋址寄存器間接尋址 間接尋址間接尋址 基址尋址基址尋址 OPIX偏移量偏移量D上午7時(shí)2分37例:某例:某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 ,ST

22、ASTA為為1BH 1BH ,LDALDA為為3CH3CH。(1)分析三種指令的指令格式與尋址方式特點(diǎn))分析三種指令的指令格式與尋址方式特點(diǎn)。(2 2)CPUCPU完成哪一種操作所花時(shí)間最短?哪一種操作所花時(shí)間最長(zhǎng)?第二完成哪一種操作所花時(shí)間最短?哪一種操作所花時(shí)間最長(zhǎng)?第二種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間嗎?種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間嗎?(3 3)下列情況下每個(gè)十六進(jìn)制指令字分別代表什么操作?其中如果有編碼)下列情況下每個(gè)十六進(jìn)制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令?不正確,如何改正才能成為合法指令? LDA D LDA D

23、,M M上午7時(shí)2分38例:某例:某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 ,STASTA為為1BH 1BH ,LDALDA為為3CH3CH。說(shuō)明:說(shuō)明:MOVMOV是傳送指令,是傳送指令,ST

24、ASTA為寫數(shù)指令,為寫數(shù)指令,LDALDA為讀數(shù)指令。為讀數(shù)指令。(1)分析三種指令的指令格式與尋址方式特點(diǎn))分析三種指令的指令格式與尋址方式特點(diǎn)。該指令是單字長(zhǎng)二地址指令,是該指令是單字長(zhǎng)二地址指令,是RRRR型,源寄存器型,源寄存器S S由由0 03 3位指定,目標(biāo)寄存位指定,目標(biāo)寄存器器D D由由4 47 7位指定位指定。該指令是雙字長(zhǎng)二地址指令,是該指令是雙字長(zhǎng)二地址指令,是RSRS型,源寄存器型,源寄存器S S由由4 47 7位指定位指定,存儲(chǔ)器存儲(chǔ)器M M由采用由采用0 03 3位指定的變址寄存器加位移量的位指定的變址寄存器加位移量的變址方式變址方式得到或者由得到或者由89位指位

25、指定的基址寄存器加位移量的定的基址寄存器加位移量的基址尋址基址尋址得到。得到。上午7時(shí)2分39LDA DLDA D,M M該指令是雙字長(zhǎng)二地址指令,該指令是雙字長(zhǎng)二地址指令,RS型,其中目標(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í)間嗎?種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間嗎?nCPUCPU完

26、成第一種指令所花時(shí)間最短,因?yàn)槭峭瓿傻谝环N指令所花時(shí)間最短,因?yàn)槭荝RRR型指令,不需要訪問(wèn)存儲(chǔ)器型指令,不需要訪問(wèn)存儲(chǔ)器nCPUCPU完成第二種指令所花時(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í)間。n 第二種指令的執(zhí)行時(shí)間不會(huì)等于第三種指令,因?yàn)榈谌N指令也訪問(wèn)存第二種指令的執(zhí)行時(shí)間不會(huì)等于第三種指令,因?yàn)榈谌N指令也訪問(wèn)存儲(chǔ)器,但節(jié)省了求有效地址運(yùn)算

27、的時(shí)間開(kāi)銷。儲(chǔ)器,但節(jié)省了求有效地址運(yùn)算的時(shí)間開(kāi)銷。上午7時(shí)2分40(3 3)下列情況下每個(gè)十六進(jìn)制指令字分別代表什么操作?其中如果有編碼)下列情況下每個(gè)十六進(jìn)制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令?不正確,如何改正才能成為合法指令? F0F13CD2H F0F13CD2H根據(jù)已知條件:根據(jù)已知條件: MOVMOV(OPOP)0AH0AH00 101000 1010 STA STA(OPOP)1BH1BH01 101101 1011 LDA LDA(OPOP)3CH3CH11 110011 11001111 0000 1111 0001 0011 1100 1

28、101 00101111 0000 1111 0001 0011 1100 1101 0010111100 111100 0000 11111111 0001 0011 1100 1101 00100001 0011 1100 1101 00102856H2856H0010 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)源

29、寄存器的內(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ò)誤,可改正為28D6H28D6H上午7時(shí)2分4120050011002001005008001002002100OPXD=100PC=1000R基基=2000 尋址方式尋址方式X操作數(shù)操作數(shù)立即立即0100直接直接1200間接間接2500相對(duì)相對(duì)3100變址變址4200變址間址變址間址5500有效地址有效地址ES=DE=D=100E=(D)=200E=P

30、C+D=1100E=(R)+D=2100E=(R)+D)=200例:例:設(shè)某機(jī)的指令格式、有關(guān)寄存器和主存內(nèi)容如下,設(shè)某機(jī)的指令格式、有關(guān)寄存器和主存內(nèi)容如下,X為尋址方式,為尋址方式,D為形式地址,請(qǐng)?jiān)谙卤碇刑钊胗行У刂窞樾问降刂?,?qǐng)?jiān)谙卤碇刑钊胗行У刂稥及操作數(shù)的值及操作數(shù)的值。?上午7時(shí)2分42p堆棧堆棧-一組能存取數(shù)據(jù)的暫時(shí)存儲(chǔ)單元。一組能存取數(shù)據(jù)的暫時(shí)存儲(chǔ)單元。n存儲(chǔ)器一般采用存儲(chǔ)器一般采用隨機(jī)存儲(chǔ)方法隨機(jī)存儲(chǔ)方法,而堆棧采用,而堆棧采用先進(jìn)后出先進(jìn)后出的存儲(chǔ)方法的存儲(chǔ)方法p串聯(lián)堆棧串聯(lián)堆棧n一組專門的寄存器,一個(gè)一組專門的寄存器,一個(gè)R保存一個(gè)數(shù)據(jù)。保存一個(gè)數(shù)據(jù)。n數(shù)據(jù)的傳送在棧頂

31、和通用寄存器之間進(jìn)行。數(shù)據(jù)的傳送在棧頂和通用寄存器之間進(jìn)行。n快速:在快速:在CPU內(nèi)部實(shí)現(xiàn)內(nèi)部實(shí)現(xiàn)n串行:進(jìn)棧和出棧涉及到棧內(nèi)所有其它數(shù)據(jù)的移動(dòng);串行:進(jìn)棧和出棧涉及到棧內(nèi)所有其它數(shù)據(jù)的移動(dòng);n破壞性讀出:讀數(shù)據(jù)的同時(shí)也離開(kāi)了堆棧;破壞性讀出:讀數(shù)據(jù)的同時(shí)也離開(kāi)了堆棧;n棧容量有限:取決于棧容量有限:取決于CPU內(nèi)堆棧專用寄存器的數(shù)量;內(nèi)堆棧專用寄存器的數(shù)量;n棧頂不動(dòng),數(shù)據(jù)移動(dòng)。棧頂不動(dòng),數(shù)據(jù)移動(dòng)。上午7時(shí)2分43AA ABB BA ACC CB BA ACB BA A堆棧頂堆棧頂 PUSH A PUSH A PUSH B PUSH B PUSH C PUSH C POP C POP C通

32、用寄存器通用寄存器上午7時(shí)2分44p用一部分主存空間作堆棧稱為用一部分主存空間作堆棧稱為存儲(chǔ)器堆棧存儲(chǔ)器堆棧n堆棧的數(shù)目、長(zhǎng)度可隨意指定堆棧的數(shù)目、長(zhǎng)度可隨意指定nSP-堆棧指示器堆棧指示器(棧指針棧指針),CPU中一個(gè)專門寄存中一個(gè)專門寄存器,器,SP內(nèi)容是棧頂單元地址。改變內(nèi)容是棧頂單元地址。改變SP內(nèi)容即可移內(nèi)容即可移動(dòng)棧頂?shù)奈恢谩?dòng)棧頂?shù)奈恢?。n堆棧操作期間,堆棧中數(shù)據(jù)不動(dòng),棧頂移動(dòng)堆棧操作期間,堆棧中數(shù)據(jù)不動(dòng),棧頂移動(dòng)n非破壞性讀出非破壞性讀出上午7時(shí)2分45p進(jìn)棧-累加器中的數(shù)送堆棧保存.p(AC) 堆棧MSP 堆棧指針(sp) 1 spaPUSH aPUSH aPUSH bPUS

33、H b100999897SPabb上午7時(shí)2分46p 出棧-將堆棧中的數(shù)取出送累加器p 堆棧指針(sp) 1 sp (堆棧MSP) AC100999897SPabba上午7時(shí)2分471)存儲(chǔ)器堆棧是一個(gè)由高地址向低地址延伸的空間。)存儲(chǔ)器堆棧是一個(gè)由高地址向低地址延伸的空間。2)存儲(chǔ)器堆棧的棧頂由堆棧指針存儲(chǔ)器堆棧的棧頂由堆棧指針SPSP指示,如果用指示,如果用AA表示通用表示通用寄存器寄存器A A的內(nèi)容,的內(nèi)容,SPSP表示堆棧指示器,表示堆棧指示器,MspMsp表示堆棧指示的存儲(chǔ)表示堆棧指示的存儲(chǔ)器棧頂單元器棧頂單元, ,入棧操作和出棧操作可以表示為:入棧操作和出棧操作可以表示為: 入棧:

34、入棧:AMsp AMsp ,SPSP1SP1SP 出棧:出棧:SPSP1SP1SP,MspA MspA 存儲(chǔ)器堆棧的優(yōu)點(diǎn):存儲(chǔ)器堆棧的優(yōu)點(diǎn):1 1)堆棧能夠具有程序員要求的任意長(zhǎng)度;)堆棧能夠具有程序員要求的任意長(zhǎng)度;2 2)存儲(chǔ)器堆棧的數(shù)目由程序員自己決定;)存儲(chǔ)器堆棧的數(shù)目由程序員自己決定;3 3)可以用對(duì)存儲(chǔ)器尋址的任何一條指令來(lái)對(duì)堆棧中的數(shù)據(jù)進(jìn))可以用對(duì)存儲(chǔ)器尋址的任何一條指令來(lái)對(duì)堆棧中的數(shù)據(jù)進(jìn)行尋址。行尋址。上午7時(shí)2分48p數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令n取數(shù)指令取數(shù)指令n存數(shù)指令存數(shù)指令n傳送指令傳送指令p算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令n定點(diǎn),定點(diǎn), n浮點(diǎn),浮點(diǎn), n求反,求補(bǔ),比較等求反

35、,求補(bǔ),比較等n 成組傳送指令成組傳送指令n 字節(jié)交換指令字節(jié)交換指令n 清累加器指令清累加器指令n 堆棧操作指令堆棧操作指令上午7時(shí)2分49p邏輯運(yùn)算指令邏輯運(yùn)算指令nNOT,AND,OR,XOR,TESTp程序控制指令程序控制指令n無(wú)條件轉(zhuǎn)移 條件轉(zhuǎn)移(C,Z,N,P,V)n轉(zhuǎn)子程序 子程序返回 RET 中斷返回 IRETp輸入輸出指令輸入輸出指令nIN AX,n OUT n, A上午7時(shí)2分50p字符串處理字符串處理n字符串傳送、轉(zhuǎn)換、比較、查找字符串傳送、轉(zhuǎn)換、比較、查找p特權(quán)指令特權(quán)指令:系統(tǒng)資源的分配和管理系統(tǒng)資源的分配和管理p其他類其他類n狀態(tài)寄存器置位、復(fù)位指令狀態(tài)寄存器置位、

36、復(fù)位指令(如如CLC,STC,CLI,STI)n測(cè)試指令、暫停指令,空操作指令測(cè)試指令、暫停指令,空操作指令上午7時(shí)2分51pCISC-CISC-復(fù)雜指令系統(tǒng)計(jì)算機(jī)復(fù)雜指令系統(tǒng)計(jì)算機(jī) nComplex Instruction System ComputerComplex Instruction System Computern指令數(shù)量多,指令功能,復(fù)雜的計(jì)算機(jī)。指令數(shù)量多,指令功能,復(fù)雜的計(jì)算機(jī)。p RISC-RISC-精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)nReduced Instruction System ComputerReduced Instruction System Computern指令數(shù)量少,指令功能單一的計(jì)算機(jī)

溫馨提示

  • 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)論