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

下載本文檔

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

文檔簡介

1、2第四章 指令系統(tǒng) 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求4.14.1 本章小結(jié)本章小結(jié) 指令格式指令格式4.24.2 操作數(shù)類型操作數(shù)類型4.34.34.44.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 典型指令典型指令4.54.534.1 4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求計(jì)算機(jī)的計(jì)算機(jī)的程序程序是由一系列的指令組成的。是由一系列的指令組成的。指令指令: : 就是要計(jì)算機(jī)執(zhí)行某種操作的命令。就是要計(jì)算機(jī)執(zhí)行某種操作的命令。 從計(jì)算機(jī)組成的層次結(jié)構(gòu)來說,計(jì)算機(jī)的指令有從計(jì)算機(jī)組成的層次結(jié)構(gòu)來說,計(jì)算機(jī)的指令有微指令微指令、機(jī)器指令機(jī)器指令和和宏指令宏指令之分

2、。之分。v微指令微指令:微程序級(jí)的命令,它屬于硬件;:微程序級(jí)的命令,它屬于硬件;v宏指令宏指令:由若干條機(jī)器指令組成的軟件指令,它:由若干條機(jī)器指令組成的軟件指令,它屬于軟件;屬于軟件;v機(jī)器指令機(jī)器指令(指令):介于微指令與宏指令之間,(指令):介于微指令與宏指令之間,每條指令可完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算。每條指令可完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算。 4.1.1 4.1.1 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展4指令系統(tǒng)指令系統(tǒng):一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合,:一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合,它是表征一臺(tái)計(jì)算機(jī)性能的重要因素,其格它是表征一臺(tái)計(jì)算機(jī)性能的重要因素,其格式與功能不僅直接影響到

3、機(jī)器的硬件結(jié)構(gòu),式與功能不僅直接影響到機(jī)器的硬件結(jié)構(gòu),也直接影響到系統(tǒng)軟件,影響到機(jī)器的適用也直接影響到系統(tǒng)軟件,影響到機(jī)器的適用范圍。范圍。計(jì)算機(jī)指令的發(fā)展過程:計(jì)算機(jī)指令的發(fā)展過程: 5050年代:年代: 6060年代后期:年代后期: 7070年代末期:年代末期:4.1 4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求54.1.2 4.1.2 對(duì)指令系統(tǒng)性能的要求對(duì)指令系統(tǒng)性能的要求一個(gè)完善的指令系統(tǒng)應(yīng)滿足如下四方面的要求:一個(gè)完善的指令系統(tǒng)應(yīng)滿足如下四方面的要求:v完備性完備性v有效性有效性v規(guī)整性規(guī)整性v兼容性兼容性4.1 4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要

4、求6計(jì)算機(jī)語言具有高級(jí)語言和低級(jí)語言之分。計(jì)算機(jī)語言具有高級(jí)語言和低級(jí)語言之分。高級(jí)語言高級(jí)語言 如如C C,F(xiàn)ORTRANFORTRAN等,其語句和用等,其語句和用法與具體機(jī)器的指令系統(tǒng)無關(guān)。法與具體機(jī)器的指令系統(tǒng)無關(guān)。低級(jí)語言低級(jí)語言 分分機(jī)器語言機(jī)器語言(二進(jìn)制語言)和(二進(jìn)制語言)和匯編語言匯編語言(符號(hào)語言)。(符號(hào)語言)。 4.1 4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求4.1.3 4.1.3 低級(jí)語言與硬件結(jié)構(gòu)的關(guān)系低級(jí)語言與硬件結(jié)構(gòu)的關(guān)系74.2 4.2 指令格式指令格式指令操作碼指令操作碼與地址碼與地址碼指令格式指令格式指令字長和指令字長和操作碼擴(kuò)展操作碼擴(kuò)展

5、84.2 4.2 指令格式指令格式機(jī)器指令是用二進(jìn)制機(jī)器字來表示的,表示機(jī)器指令是用二進(jìn)制機(jī)器字來表示的,表示一條指令的機(jī)器字,就稱為指令字。一條指令的機(jī)器字,就稱為指令字。指令是由操作碼和地址碼兩部分組成的指令是由操作碼和地址碼兩部分組成的: :操作碼字段(操作碼字段(OPOP)地址碼字段(地址碼字段(A A)操作碼字段操作碼字段: 表征指令的操作特性與功能;表征指令的操作特性與功能;地址碼字段地址碼字段: 通常指定參與操作的操作數(shù)的地址。通常指定參與操作的操作數(shù)的地址。94.2.1 4.2.1 操作碼操作碼v操作碼:操作碼:用來指明該指令所要完成的操作,用來指明該指令所要完成的操作,如加法

6、、減法、傳送、移位、轉(zhuǎn)移等等。如加法、減法、傳送、移位、轉(zhuǎn)移等等。 位數(shù)反映了機(jī)器的操作種類,也即機(jī)器位數(shù)反映了機(jī)器的操作種類,也即機(jī)器允許的指令條數(shù),如果操作碼有允許的指令條數(shù),如果操作碼有n n位二進(jìn)位二進(jìn)制數(shù)制數(shù), ,則最多可表示則最多可表示2 2n n種指令。種指令。10v操作碼長度固定:將操作碼集中放在指令字的一個(gè)操作碼長度固定:將操作碼集中放在指令字的一個(gè)字段內(nèi)。字段內(nèi)。 這種格式便于硬件設(shè)計(jì),指令譯碼時(shí)間短,廣泛這種格式便于硬件設(shè)計(jì),指令譯碼時(shí)間短,廣泛應(yīng)用于字長較長的、大中型計(jì)算機(jī)和超級(jí)小型計(jì)應(yīng)用于字長較長的、大中型計(jì)算機(jī)和超級(jí)小型計(jì)算機(jī)以及算機(jī)以及RISCRISC中。如中。如

7、IBM370IBM370和和VAX-11VAX-11系列機(jī),操系列機(jī),操作碼長度均為作碼長度均為8 8位。位。v操作碼長度不固定:指令操作碼分散在指令字的不操作碼長度不固定:指令操作碼分散在指令字的不同字段中。同字段中。 這種格式可有效地壓縮操作碼的平均長度,在字這種格式可有效地壓縮操作碼的平均長度,在字長較短的微機(jī)中被廣泛采用。如長較短的微機(jī)中被廣泛采用。如Intel8086/80386Intel8086/80386等。等。4.2.1 4.2.1 操作碼操作碼11v地址碼:地址碼:用來尋找運(yùn)算所需要的操作數(shù)用來尋找運(yùn)算所需要的操作數(shù)(源操作數(shù)和目的操作數(shù))。(源操作數(shù)和目的操作數(shù))。地址碼包

8、括:源操作數(shù)地址、目的操地址碼包括:源操作數(shù)地址、目的操作數(shù)地址和下一條指令的地址。作數(shù)地址和下一條指令的地址。 地址含義:主存的地址、寄存器地址地址含義:主存的地址、寄存器地址或者或者I/OI/O設(shè)備地址。設(shè)備地址。4.2.2 4.2.2 地址碼地址碼12(1) 四地址四地址(2) 三地址三地址OP A1 A2 A3 A48 6 6 6 6A1 第一操作數(shù)地址第一操作數(shù)地址A2 第二操作數(shù)地址第二操作數(shù)地址A3 結(jié)果的地址結(jié)果的地址A4 下一條指令地址下一條指令地址若若 PC 代替代替 A4(A1) OP (A2) A38 8 8 8 OP A1 A2 A3(A1) OP (A2) A34

9、次訪存次訪存4 次訪存次訪存尋址范圍尋址范圍 26 = 64尋址范圍尋址范圍 28 = 256若若 A3 用用 A1 或或 A2 代替代替設(shè)指令字長為設(shè)指令字長為 32 位位操作碼固定為操作碼固定為 8 位位4.2.2 4.2.2 地址碼地址碼13(3) 二地址二地址OP A1 A28 12 12(A1) OP (A2) A1(A1) OP (A2) A2或或4 次訪存次訪存若若ACC 代替代替 A1(或(或A2)若結(jié)果存于若結(jié)果存于 ACC (4) 一地址一地址(5) 零地址零地址OP A18 24無地址碼無地址碼(ACC) OP (A1) ACC2 次訪存次訪存尋址范圍尋址范圍 212 =

10、 4 K尋址范圍尋址范圍 224 = 16 M 3次訪存次訪存4.2.2 4.2.2 地址碼地址碼14小結(jié)小結(jié) 當(dāng)用一些硬件資源代替指令字中的地址碼字段后當(dāng)用一些硬件資源代替指令字中的地址碼字段后 當(dāng)指令的地址字段為寄存器時(shí)當(dāng)指令的地址字段為寄存器時(shí) 可擴(kuò)大指令的尋址范圍可擴(kuò)大指令的尋址范圍 可縮短指令字長可縮短指令字長 可減少訪存次數(shù)可減少訪存次數(shù) 三地址三地址 OP R1, R2, R3 二地址二地址 OP R1, R2 一地址一地址 OP R1 指令執(zhí)行階段不訪存指令執(zhí)行階段不訪存 可縮短指令字長可縮短指令字長154.2.2 地址碼二地址指令格式中,從操作數(shù)的物理位置二地址指令格式中,從

11、操作數(shù)的物理位置來說,又可歸結(jié)為如下三種類型:來說,又可歸結(jié)為如下三種類型:v 存儲(chǔ)器存儲(chǔ)器- -存儲(chǔ)器(存儲(chǔ)器(SSSS)型指令)型指令 v 寄存器寄存器- -寄存器(寄存器(RRRR)型指令)型指令 v 寄存器寄存器- -存儲(chǔ)器(存儲(chǔ)器(RSRS)型指令)型指令 164.2.3 4.2.3 指令字長度指令字長度v指令指令字長度字長度:一條指令中所包含的二進(jìn)制碼的位數(shù)。:一條指令中所包含的二進(jìn)制碼的位數(shù)。它主要取決于操作碼的長度、操作數(shù)地址的長度和操它主要取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個(gè)數(shù)。不同機(jī)器的指令字長是不相同的。作數(shù)地址的個(gè)數(shù)。不同機(jī)器的指令字長是不相同的。v機(jī)器

12、字長機(jī)器字長:計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),:計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),它決定了計(jì)算機(jī)的運(yùn)算精度。它決定了計(jì)算機(jī)的運(yùn)算精度。 單字長指令:指令長度等于機(jī)器字長度;單字長指令:指令長度等于機(jī)器字長度; 半字長指令:指令長度等于半個(gè)機(jī)器字長度的指令;半字長指令:指令長度等于半個(gè)機(jī)器字長度的指令; 雙字長指令:指令長度等于兩個(gè)機(jī)器字長度的指令。雙字長指令:指令長度等于兩個(gè)機(jī)器字長度的指令。17v由于計(jì)算機(jī)硬件只能識(shí)別由于計(jì)算機(jī)硬件只能識(shí)別1 1和和0 0,所以必須采用,所以必須采用二進(jìn)制操作碼作為機(jī)器碼。但是我們用二進(jìn)制二進(jìn)制操作碼作為機(jī)器碼。但是我們用二進(jìn)制數(shù)來直接書寫程序卻非常麻

13、煩。數(shù)來直接書寫程序卻非常麻煩。v 為了便于書寫和閱讀程序,每條指令通常用為了便于書寫和閱讀程序,每條指令通常用3 3個(gè)或個(gè)或4 4個(gè)英文縮寫字母來表示。這種縮寫字符個(gè)英文縮寫字母來表示。這種縮寫字符叫做叫做指令助記符指令助記符。v需要注意的是需要注意的是:在不同的計(jì)算機(jī)中,指令助記在不同的計(jì)算機(jī)中,指令助記符的規(guī)定是不一樣的。符的規(guī)定是不一樣的。4.2.4 4.2.4 指令助記符指令助記符184.2.5 4.2.5 指令格式舉例指令格式舉例八位微型計(jì)算機(jī)的指令格式八位微型計(jì)算機(jī)的指令格式v 8 8位微型機(jī)字長只有位微型機(jī)字長只有8 8位,指令結(jié)構(gòu)常采用可位,指令結(jié)構(gòu)常采用可變字長形式,包含單

14、字長、雙字長、三字長變字長形式,包含單字長、雙字長、三字長指令等多種。指令等多種。操作碼操作碼 操作碼操作碼 操作數(shù)地址操作數(shù)地址 操作碼操作碼 操作數(shù)地址操作數(shù)地址1 1 操作數(shù)地址操作數(shù)地址2 2 單字長指令單字長指令 雙字長指令雙字長指令 三字長指令三字長指令 194.3 操作數(shù)類型v按照指令處理的操作數(shù)存放位置分: 存儲(chǔ)器類型:存儲(chǔ)器類型:操作數(shù)存放在主存中,操作數(shù)存放在主存中,A A為其地址信息為其地址信息 寄存器類型:寄存器類型:操作數(shù)存放在操作數(shù)存放在CPUCPU的通用寄存器中,的通用寄存器中,A A為為寄存器號(hào)寄存器號(hào) 立即數(shù)類型:立即數(shù)類型:操作數(shù)存放在指令(地址字段)中操作

15、數(shù)存放在指令(地址字段)中v按照指令處理的操作數(shù)性質(zhì)分: 地址(地址(addressesaddresses):):存儲(chǔ)器地址,是無符號(hào)整數(shù)。存儲(chǔ)器地址,是無符號(hào)整數(shù)。 數(shù)字(數(shù)字(numbersnumbers):):整數(shù)、浮點(diǎn)數(shù)、十進(jìn)制數(shù)。整數(shù)、浮點(diǎn)數(shù)、十進(jìn)制數(shù)。 字符(字符(characterscharacters):):ASCIIASCII碼。碼。 邏輯數(shù)據(jù):邏輯數(shù)據(jù):真假兩種狀態(tài)。真假兩種狀態(tài)。20尋址方式尋址方式 確定確定 本條指令本條指令 的的 操作數(shù)地址操作數(shù)地址下一條下一條 欲執(zhí)行欲執(zhí)行 指令指令 的的 指令地址指令地址指令尋址指令尋址數(shù)據(jù)尋址數(shù)據(jù)尋址尋址方式尋址方式4.4 4.

16、4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式214.4.1 指令尋址1、順序?qū)ぶ贩绞?控制器中控制器中使用程序計(jì)數(shù)器使用程序計(jì)數(shù)器PCPC來指示指令在內(nèi)存中來指示指令在內(nèi)存中的地址的地址。在程序順序執(zhí)行時(shí),指令的地址碼由。在程序順序執(zhí)行時(shí),指令的地址碼由PCPC自加自加1 1得出。得出。 指令在內(nèi)存中按順序存放,當(dāng)順序執(zhí)行一段程序指令在內(nèi)存中按順序存放,當(dāng)順序執(zhí)行一段程序時(shí),時(shí),根據(jù)根據(jù)PCPC從存儲(chǔ)器取出當(dāng)前指令,從存儲(chǔ)器取出當(dāng)前指令, PCPC自動(dòng)自動(dòng)1 1,然后執(zhí)行這條指令然后執(zhí)行這條指令;接著又根據(jù);接著又根據(jù)PCPC指示從存儲(chǔ)器指示從存儲(chǔ)器取出下一條指令,取出下一條指令, PCPC自

17、動(dòng)自動(dòng)1 1, 執(zhí)行執(zhí)行。由由PC指出程序在指出程序在內(nèi)存中的地址。內(nèi)存中的地址。設(shè)機(jī)器字長為16位,存儲(chǔ)器按字/字節(jié)編址,對(duì)單字長指令,讀取該指令后,PC值自動(dòng)加?224.4.1 指令尋址2、跳躍尋址方式 當(dāng)程序執(zhí)行轉(zhuǎn)移指令時(shí),程序不再順序執(zhí)行,而當(dāng)程序執(zhí)行轉(zhuǎn)移指令時(shí),程序不再順序執(zhí)行,而是跳轉(zhuǎn)到另一個(gè)地址去執(zhí)行,此時(shí),是跳轉(zhuǎn)到另一個(gè)地址去執(zhí)行,此時(shí),由該條轉(zhuǎn)移由該條轉(zhuǎn)移指令的地址碼字段可以得到新指令地址,然后將指令的地址碼字段可以得到新指令地址,然后將其置入其置入PCPC中。中。234.4.1 指令尋址LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 200

18、1INCSTA 2500LDA 1100.0123456789PC+1指令地址尋址方式指令地址尋址方式指令地址指令地址指令指令順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?跳躍尋址跳躍尋址7順序?qū)ぶ讽樞驅(qū)ぶ?244.4.2 操作數(shù)基本尋址方式v指令的地址碼字段,通常都不代表操作數(shù)的指令的地址碼字段,通常都不代表操作數(shù)的真實(shí)地址,把它稱作形式地址,記為真實(shí)地址,把它稱作形式地址,記為A A。操作。操作數(shù)的真實(shí)地址稱為有效地址,記作數(shù)的真實(shí)地址稱為有效地址,記作EAEA,它是,它是由尋址方式和形式地址共同來確定的。由尋址方式和形式地址共同來確定的。 形式地址形式地址 指令字中的地址指令字中

19、的地址 有效地址有效地址 操作數(shù)的真實(shí)地址操作數(shù)的真實(shí)地址 約定約定 指令字長指令字長 = 存儲(chǔ)字長存儲(chǔ)字長 = 機(jī)器字長機(jī)器字長形式地址形式地址 A操作碼操作碼尋址特征尋址特征25操作數(shù)地址隱含在操作碼中操作數(shù)地址隱含在操作碼中ADDA操作數(shù)操作數(shù)主存主存尋址特征尋址特征AACC暫存暫存ALU另一個(gè)操作數(shù)另一個(gè)操作數(shù)隱含在隱含在 ACC 中中如如 8086MUL 指令指令被乘數(shù)隱含在被乘數(shù)隱含在 AX(16位)或位)或 AL(8位)中位)中MOVS 指令指令源操作數(shù)的地址隱含在源操作數(shù)的地址隱含在 SI 中中目的操作數(shù)的地址隱含在目的操作數(shù)的地址隱含在 DI 中中 指令字中少了一個(gè)地址字段,

20、可縮短指令字長指令字中少了一個(gè)地址字段,可縮短指令字長操作數(shù)尋址方式隱含尋址26 指令執(zhí)行階段不訪存指令執(zhí)行階段不訪存 A 的位數(shù)限制了立即數(shù)的范圍的位數(shù)限制了立即數(shù)的范圍OP # A立即尋址特征立即尋址特征立即數(shù)立即數(shù) 可正可負(fù)可正可負(fù) 補(bǔ)碼補(bǔ)碼形式地址形式地址 A 就是操作數(shù)就是操作數(shù)例:指令例:指令 MOV AX,100HMOV AX,100H其中其中100H100H就是操作數(shù)本身,而不是地址。就是操作數(shù)本身,而不是地址。操作數(shù)尋址方式立即尋址27EA = A操作數(shù)操作數(shù)主存主存尋址特征尋址特征LDAAAACC 執(zhí)行階段訪問一次存儲(chǔ)器執(zhí)行階段訪問一次存儲(chǔ)器 A 的位數(shù)決定了該指令操作數(shù)的

21、尋址范圍的位數(shù)決定了該指令操作數(shù)的尋址范圍 操作數(shù)的地址不易修改(必須修改操作數(shù)的地址不易修改(必須修改A)有效地址由形式地址直接給出有效地址由形式地址直接給出操作數(shù)尋址方式直接尋址28EA =(A) 有效地址由形式地址間接提供有效地址由形式地址間接提供OPA尋址特征尋址特征AEA主存主存EAA1EA A1主存主存 EA10 執(zhí)行指令階段執(zhí)行指令階段 2 次訪存次訪存 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍OPA尋址特征尋址特征A一次間址一次間址多次間址多次間址操作數(shù)操作數(shù)操作數(shù)操作數(shù)多次訪存多次訪存操作數(shù)尋址方式間接尋址29EA = Ri 執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快執(zhí)行階段不訪存,只訪問

22、寄存器,執(zhí)行速度快OPRi尋址特征尋址特征 寄存器個(gè)數(shù)有限,可縮短指令字長寄存器個(gè)數(shù)有限,可縮短指令字長操作數(shù)操作數(shù)R0RiRn寄存器寄存器有效地址即為寄存器編號(hào)有效地址即為寄存器編號(hào)操作數(shù)尋址方式寄存器尋址30EA = ( Ri ) 有效地址在寄存器中,有效地址在寄存器中, 操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存操作數(shù)操作數(shù)主存主存OPRi尋址特征尋址特征 便于編制循環(huán)程序便于編制循環(huán)程序地址地址R0RiRn寄存器寄存器有效地址在寄存器中有效地址在寄存器中操作數(shù)尋址方式寄存器間接尋址31 EA = ( PC ) + AA 是相對(duì)于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼)是相對(duì)

23、于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼) A 的位數(shù)決定操作數(shù)的尋址范圍的位數(shù)決定操作數(shù)的尋址范圍 程序浮動(dòng)程序浮動(dòng) 廣泛用于轉(zhuǎn)移指令廣泛用于轉(zhuǎn)移指令操作數(shù)操作數(shù)尋址特征尋址特征ALUOPA相對(duì)距離相對(duì)距離 A1000PC 主存主存1000AOP操作數(shù)尋址方式相對(duì)尋址32按字節(jié)尋址的相對(duì)尋址舉例OP位移量位移量2000 H2008 H8JMP * + 8OP06 H2000 H2008 H8設(shè)設(shè) 當(dāng)前指令地址當(dāng)前指令地址 PC = 2000H轉(zhuǎn)移后的目的地址為轉(zhuǎn)移后的目的地址為 2008H因?yàn)橐驗(yàn)?取出取出 JMP * + 8 后后 PC = 2002H二字節(jié)指令二字節(jié)指令故故 JMP * + 8

24、 指令指令 的第二字節(jié)為的第二字節(jié)為 2008H - 2002H = 06H33(1) 采用專用寄存器作基址寄存器采用專用寄存器作基址寄存器EA = ( BR ) + ABR 為基址寄存器為基址寄存器OPA操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUBR 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 有利于多道程序有利于多道程序 BR 內(nèi)容由操作系統(tǒng)或管理程序確定內(nèi)容由操作系統(tǒng)或管理程序確定 在程序的執(zhí)行過程中在程序的執(zhí)行過程中 BR 內(nèi)容不變,形式地址內(nèi)容不變,形式地址 A 可變可變操作數(shù)尋址方式基址尋址34(2) 采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALU

25、OPR0AR0 作基址寄存器作基址寄存器 由用戶指定哪個(gè)通用寄存器作為基址寄存器由用戶指定哪個(gè)通用寄存器作為基址寄存器通用寄存器通用寄存器R0Rn-1R1 基址寄存器的內(nèi)容由操作系統(tǒng)確定基址寄存器的內(nèi)容由操作系統(tǒng)確定 在程序的執(zhí)行過程中在程序的執(zhí)行過程中 R0 內(nèi)容不變,形式地址內(nèi)容不變,形式地址 A 可變可變操作數(shù)尋址方式基址尋址35EA = ( IX ) +AOPA操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUIX 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 便于處理數(shù)組問題便于處理數(shù)組問題 IX 的內(nèi)容由用戶給定的內(nèi)容由用戶給定 IX 為變址寄存器(專用)為變址寄存器(專用) 在程序的執(zhí)行過程中在程序的執(zhí)

26、行過程中 IX 內(nèi)容可變,形式地址內(nèi)容可變,形式地址 A 不變不變通用寄存器也可以作為變址寄存器通用寄存器也可以作為變址寄存器操作數(shù)尋址方式變址尋址36很多微型機(jī)中采用了段尋址方式,用于擴(kuò)大尋址很多微型機(jī)中采用了段尋址方式,用于擴(kuò)大尋址空間??臻g。 例如:例如: 如何在如何在1616位機(jī)中形成位機(jī)中形成2020位的地址位的地址,從從而獲得而獲得1M1M存儲(chǔ)存儲(chǔ) 空間的直接尋址能力?空間的直接尋址能力? 實(shí)現(xiàn)方法實(shí)現(xiàn)方法 : 將整個(gè)將整個(gè)1M1M空間存儲(chǔ)器以空間存儲(chǔ)器以64K64K為單位劃分成若為單位劃分成若干段。在尋址一個(gè)具體的內(nèi)存單元時(shí),由一個(gè)干段。在尋址一個(gè)具體的內(nèi)存單元時(shí),由一個(gè)基地址(

27、段號(hào))再加上某些寄存器提供的基地址(段號(hào))再加上某些寄存器提供的1616位位偏移量來形成實(shí)際的偏移量來形成實(shí)際的2020位物理地址。這個(gè)基地位物理地址。這個(gè)基地址就是址就是CPUCPU中的中的段寄存器段寄存器。操作數(shù)尋址方式段尋址37操作數(shù)尋址方式段尋址338(1) 堆棧的特點(diǎn)堆棧的特點(diǎn)堆棧堆棧硬堆棧硬堆棧軟堆棧軟堆棧多個(gè)寄存器多個(gè)寄存器指定的存儲(chǔ)空間指定的存儲(chǔ)空間先進(jìn)后出先進(jìn)后出(一個(gè)入出口)(一個(gè)入出口) 棧頂?shù)刂窏m數(shù)刂?由由 SP 指出指出 11FFFH +12000 H進(jìn)棧進(jìn)棧 (SP) 1 SP出棧出棧 (SP)+ 1 SP棧頂棧頂棧底棧底2000 HSP2000 H1FFF HS

28、P1FFFH棧頂棧頂棧底棧底進(jìn)棧進(jìn)棧出棧出棧 1FFF H棧頂棧頂 2000 H棧頂棧頂操作數(shù)尋址方式堆棧尋址3915200HACCSPX棧頂棧頂200H棧底棧底主存主存151FFHACCSP15棧頂棧頂200H棧底棧底主存主存X1FFHPUSH A 前前PUSH A 后后POP A 前前POP A 后后Y1FFHACCSPX棧頂棧頂200H棧底棧底主存主存151FFH15200HACCSP棧頂棧頂200H棧底棧底主存主存X15操作數(shù)尋址方式堆棧尋址40SP 的修改與主存編址方法有關(guān)的修改與主存編址方法有關(guān) 按按 字字 編址編址進(jìn)棧進(jìn)棧出棧出棧(SP) 1 SP(SP)+ 1 SP 按按 字節(jié)

29、字節(jié) 編址編址字長字長 16 位位進(jìn)棧進(jìn)棧出棧出棧(SP) 2 SP(SP)+ 2 SP字長字長 32 位位進(jìn)棧進(jìn)棧出棧出棧(SP) 4 SP(SP)+ 4 SP操作數(shù)尋址方式堆棧尋址41指令系統(tǒng)例題指令系統(tǒng)例題例例3 3:某機(jī)主存容量為:某機(jī)主存容量為4M4M* *1616位,存儲(chǔ)字長等于指令字長,位,存儲(chǔ)字長等于指令字長,若該機(jī)指令系統(tǒng)能完成若該機(jī)指令系統(tǒng)能完成9797種操作,操作碼位數(shù)固定,種操作,操作碼位數(shù)固定,且具有直接、間接、變址、基址、相對(duì)、立即等六種且具有直接、間接、變址、基址、相對(duì)、立即等六種尋址方式。問:尋址方式。問:1 1、畫出一地址指令格式并指出各字段的作用、畫出一地址

30、指令格式并指出各字段的作用2 2、該指令直接尋址的最大范圍、該指令直接尋址的最大范圍3 3、一次間址和多次間址的尋址范圍、一次間址和多次間址的尋址范圍4 4、立即數(shù)的范圍(十進(jìn)制表示)、立即數(shù)的范圍(十進(jìn)制表示)5 5、相對(duì)尋址的位移量(十進(jìn)制表示)、相對(duì)尋址的位移量(十進(jìn)制表示)6 6、上述六種尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪、上述六種尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪一種最長?一種最長?7 7、如何修改指令格式,使指令的直接尋址范圍可擴(kuò)大、如何修改指令格式,使指令的直接尋址范圍可擴(kuò)大到到4M4M?42指令系統(tǒng)例題指令系統(tǒng)例題例例4 4:設(shè)某機(jī)存儲(chǔ)字長、指令字長和機(jī)器字長均相等,該機(jī):

31、設(shè)某機(jī)存儲(chǔ)字長、指令字長和機(jī)器字長均相等,該機(jī)的指令格式如下:的指令格式如下:其中,其中,A A為形式地址,補(bǔ)碼表示(包括一位符號(hào)位);為形式地址,補(bǔ)碼表示(包括一位符號(hào)位);M M為尋址模式,為尋址模式,M=0M=0立即尋址;立即尋址;M=1M=1直接尋址(此時(shí)直接尋址(此時(shí)A A視為無符號(hào)數(shù));視為無符號(hào)數(shù));M=2M=2間接尋址(此時(shí)間接尋址(此時(shí)A A視為無符號(hào)數(shù));視為無符號(hào)數(shù));M=3M=3變址尋址(變址寄存器為變址尋址(變址寄存器為R RX X););M=4M=4相對(duì)尋址。相對(duì)尋址。(1 1)該指令格式能定義多少種不同的操作?立即尋址操作)該指令格式能定義多少種不同的操作?立即尋

32、址操作數(shù)的范圍是多少?數(shù)的范圍是多少?(2 2)寫出各種尋址模式計(jì)算有效地址的表達(dá)式?)寫出各種尋址模式計(jì)算有效地址的表達(dá)式?(3 3)當(dāng))當(dāng)M=1M=1、2 2、4 4時(shí),能訪問的最大主存空間為多少機(jī)器字時(shí),能訪問的最大主存空間為多少機(jī)器字(主存容量為(主存容量為64K64K)?)? AOP M53843指令系統(tǒng)例題指令系統(tǒng)例題例例5 5:設(shè)某機(jī)配有基址寄存器和變址寄存器,采用一:設(shè)某機(jī)配有基址寄存器和變址寄存器,采用一地址格式的指令系統(tǒng),允許直接和間接尋址,且地址格式的指令系統(tǒng),允許直接和間接尋址,且指令字長、機(jī)器字長和存儲(chǔ)字長均為指令字長、機(jī)器字長和存儲(chǔ)字長均為1616位。位。(1 1)

33、若采用單字長指令,功能完成)若采用單字長指令,功能完成105105種操作,則種操作,則指令可直接尋址的范圍是多少?一次間接尋址的指令可直接尋址的范圍是多少?一次間接尋址的尋址范圍是多少?畫出其指令格式并說明個(gè)字段尋址范圍是多少?畫出其指令格式并說明個(gè)字段的含義?的含義?(2 2)若存儲(chǔ)字長不變,可采用什么方法直接訪問容)若存儲(chǔ)字長不變,可采用什么方法直接訪問容量為量為16MB16MB的主存?的主存?44指令系統(tǒng)例題指令系統(tǒng)例題例例6 6:設(shè)某機(jī)指令系統(tǒng)能完成:設(shè)某機(jī)指令系統(tǒng)能完成5050種操作,采用相對(duì)尋種操作,采用相對(duì)尋址、直接和間接尋址,且指令字長、機(jī)器字長和址、直接和間接尋址,且指令字長

34、、機(jī)器字長和存儲(chǔ)字長均為存儲(chǔ)字長均為1616位。位。(1 1)指令格式如何確定?各種尋址方式的有效地址)指令格式如何確定?各種尋址方式的有效地址如何形成?如何形成? (2 2)能否增加其他的尋址方法?)能否增加其他的尋址方法?45指令系統(tǒng)例題指令系統(tǒng)例題例例7 7:設(shè)某機(jī)存儲(chǔ)容量為:設(shè)某機(jī)存儲(chǔ)容量為64K64K* *1616位,該機(jī)訪存指令格式如位,該機(jī)訪存指令格式如下:下:其中其中M M尋址模式:尋址模式:0 0為直接尋址,為直接尋址,1 1為基址尋址,為基址尋址,2 2為相對(duì)尋為相對(duì)尋址,址,3 3為立即尋址,為立即尋址,I I為間址特征(為間址特征(I=1I=1間址),間址),X X為變

35、址為變址特征(特征(X=1X=1變址)。變址)。(1 1)該指令能定義多少種操作?)該指令能定義多少種操作?(2 2)立即尋址操作數(shù)的范圍。)立即尋址操作數(shù)的范圍。(3 3)在非間址情況下,除立即尋址外,寫出每種尋址方)在非間址情況下,除立即尋址外,寫出每種尋址方式計(jì)算有效地址的表達(dá)式。式計(jì)算有效地址的表達(dá)式。(4 4)間址尋址時(shí),尋址范圍是多少?若允許多重間址,)間址尋址時(shí),尋址范圍是多少?若允許多重間址,尋址范圍又是多少?尋址范圍又是多少?OP 4OP 4M 2M 2I 1I 1X 1X 1A 8A 846指令系統(tǒng)例題指令系統(tǒng)例題例例8 8:某機(jī)使用的指令格式和尋址方式如圖,該機(jī)有:某機(jī)使

36、用的指令格式和尋址方式如圖,該機(jī)有1616個(gè)個(gè)1616位的位的通用寄存器,并可選定任一個(gè)通用寄存器作為變址寄存器。源通用寄存器,并可選定任一個(gè)通用寄存器作為變址寄存器。源和目標(biāo)都是通用寄存器,和目標(biāo)都是通用寄存器,M M是主存中一個(gè)單元。是主存中一個(gè)單元。(1)CPU(1)CPU完成哪一種操作花的時(shí)間最短?為什么?完成哪一種操作花的時(shí)間最短?為什么?(2 2)CPUCPU完成哪一種操作花的時(shí)間最長?為什么?完成哪一種操作花的時(shí)間最長?為什么?(3 3)第二種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間)第二種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間嗎?為什么?嗎?為什么?(4 4)哪一種指令操作數(shù)的尋址范圍最大?為什么?)哪一種指令操作數(shù)的尋址范圍最大?為什么?OP 7OP 7無無 1 1 目標(biāo)目標(biāo) 4 4 源源 4 4MOV D,SOP 7OP 7變址變址 1 1 變址寄變址寄 源源 4 4 形式地址形式地址 STA M,SLDA D,MOP 7OP 7無無 1 1目標(biāo)目標(biāo) 20 20位地址位地址 47例例9 9:設(shè)相對(duì)尋址的轉(zhuǎn)移指令占兩個(gè)字

溫馨提示

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