![第四章指令系統(tǒng)[一]_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/1961fcaf-3258-41de-b48f-cbf77041f342/1961fcaf-3258-41de-b48f-cbf77041f3421.gif)
![第四章指令系統(tǒng)[一]_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/1961fcaf-3258-41de-b48f-cbf77041f342/1961fcaf-3258-41de-b48f-cbf77041f3422.gif)
![第四章指令系統(tǒng)[一]_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/1961fcaf-3258-41de-b48f-cbf77041f342/1961fcaf-3258-41de-b48f-cbf77041f3423.gif)
![第四章指令系統(tǒng)[一]_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/1961fcaf-3258-41de-b48f-cbf77041f342/1961fcaf-3258-41de-b48f-cbf77041f3424.gif)
![第四章指令系統(tǒng)[一]_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/1961fcaf-3258-41de-b48f-cbf77041f342/1961fcaf-3258-41de-b48f-cbf77041f3425.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四章第四章 指令系統(tǒng)指令系統(tǒng)指令指令(instruction): (instruction): 計算機(jī)硬件能識別并直接計算機(jī)硬件能識別并直接執(zhí)行的操作命令執(zhí)行的操作命令( (如加、減、傳送、轉(zhuǎn)移等如加、減、傳送、轉(zhuǎn)移等), ),即機(jī)器指令即機(jī)器指令(Machine Instruction)(Machine Instruction)。 指令系統(tǒng)指令系統(tǒng)( (指令集:指令集:instruction sets):instruction sets):一臺計算機(jī)一臺計算機(jī) 能執(zhí)行的全部指令的集合。能執(zhí)行的全部指令的集合。 指令系統(tǒng)反映了計算機(jī)具有的基本功能,是計指令系統(tǒng)反映了計算機(jī)具有的基本功能,是計
2、 算機(jī)系統(tǒng)硬件、軟件的主要分界面。算機(jī)系統(tǒng)硬件、軟件的主要分界面。 指令系統(tǒng)既是計算機(jī)硬件設(shè)計的主要依據(jù)指令系統(tǒng)既是計算機(jī)硬件設(shè)計的主要依據(jù),又是又是計算機(jī)軟件設(shè)計的基礎(chǔ)計算機(jī)軟件設(shè)計的基礎(chǔ),所以所以,一臺計算機(jī)指令系一臺計算機(jī)指令系統(tǒng)的優(yōu)劣直接影響著計算機(jī)系統(tǒng)的性能統(tǒng)的優(yōu)劣直接影響著計算機(jī)系統(tǒng)的性能.4.3 CISC4.3 CISC和和RISCRISC4.2 4.2 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式4.1 4.1 指令格式指令格式主要學(xué)習(xí)內(nèi)容:主要學(xué)習(xí)內(nèi)容:學(xué)習(xí)指令系統(tǒng)的目的:對于了解計算機(jī)的工作過學(xué)習(xí)指令系統(tǒng)的目的:對于了解計算機(jī)的工作過程和控制方法有重要的作用。程和控制方法有重要
3、的作用。 4.1 4.1 指令格式指令格式操作碼操作碼地址碼地址碼 操作碼操作碼(Operation code):(Operation code):指明該指令執(zhí)行指明該指令執(zhí)行什么性質(zhì)的操作什么性質(zhì)的操作, ,不同的指令有不同的操作不同的指令有不同的操作碼碼. .其位數(shù)反映了機(jī)器操作種類其位數(shù)反映了機(jī)器操作種類, ,即機(jī)器允許即機(jī)器允許的指令條數(shù)的指令條數(shù). . 地址碼地址碼: :指明操作數(shù)所在的地址指明操作數(shù)所在的地址(Source (Source operand reference),operand reference),結(jié)果存放的地址結(jié)果存放的地址(Result (Result oper
4、and reference)operand reference)以及下一條指令的地址以及下一條指令的地址(Next instruction reference).(Next instruction reference). 1. 1.指令格式指令格式 機(jī)器字長機(jī)器字長: :計算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的計算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù)位數(shù), ,通常與主存單元的位數(shù)一致通常與主存單元的位數(shù)一致. . 指令字長指令字長: :一條指令中包含二進(jìn)制代碼的位數(shù)一條指令中包含二進(jìn)制代碼的位數(shù). . 存儲字長存儲字長: :存儲單元中二進(jìn)制數(shù)的位數(shù)存儲單元中二進(jìn)制數(shù)的位數(shù). .(1) 三個容易混淆的基本概念三
5、個容易混淆的基本概念 (2) 指令的長度指令的長度 單字長指令:指令字長等于機(jī)器字長單字長指令:指令字長等于機(jī)器字長. . 雙字長指令雙字長指令: : 指令字長等于兩個機(jī)器字長的指令指令字長等于兩個機(jī)器字長的指令. .例如例如:IBM 370:IBM 370的指令長度有的指令長度有1616位位( (半字半字) )、3232位位( (單字單字) )及及 4848位位( (一個半字一個半字). ). 變長指令字結(jié)構(gòu):一個指令系統(tǒng)中變長指令字結(jié)構(gòu):一個指令系統(tǒng)中, ,各種指令字各種指令字長度隨功能而異長度隨功能而異. .CISCCISC采用變長指令字結(jié)構(gòu)采用變長指令字結(jié)構(gòu). . 等長指令字結(jié)構(gòu)等長指
6、令字結(jié)構(gòu): :一個指令系統(tǒng)中一個指令系統(tǒng)中, ,各種指令字各種指令字長度是相等的長度是相等的. .RISCRISC采用等長指令字結(jié)構(gòu)采用等長指令字結(jié)構(gòu). .優(yōu)點優(yōu)點: :指令字結(jié)構(gòu)簡單指令字結(jié)構(gòu)簡單, ,長度固定長度固定, ,指令譯碼時間指令譯碼時間短短, ,有利于硬件控制系統(tǒng)的設(shè)計有利于硬件控制系統(tǒng)的設(shè)計, ,執(zhí)行速度快執(zhí)行速度快; ;缺點缺點: :指令平均長度長、容易出現(xiàn)冗余碼點指令平均長度長、容易出現(xiàn)冗余碼點, ,指令指令不易擴(kuò)展等不易擴(kuò)展等. .優(yōu)點優(yōu)點: :使用靈活使用靈活, ,充分利用指令的每一位充分利用指令的每一位, ,指令平指令平均長度短均長度短, ,碼點冗余少碼點冗余少, ,
7、易于擴(kuò)展易于擴(kuò)展; ;缺點缺點: :指令格式不規(guī)整指令格式不規(guī)整, ,取指令時需要多次訪存取指令時需要多次訪存, ,從而導(dǎo)致不同指令的執(zhí)行時間不同從而導(dǎo)致不同指令的執(zhí)行時間不同, ,硬件控制系硬件控制系統(tǒng)復(fù)雜統(tǒng)復(fù)雜. . 以雙操作數(shù)運算類指令以雙操作數(shù)運算類指令( (如加法指令如加法指令) )為例為例: : 2.2.地址碼結(jié)構(gòu)地址碼結(jié)構(gòu) 設(shè)計指令的地址碼格式時需解決:設(shè)計指令的地址碼格式時需解決: 一條指令中指明幾個地址一條指令中指明幾個地址(與指令所涉及的操作數(shù)個與指令所涉及的操作數(shù)個數(shù)有關(guān)數(shù)有關(guān)); 如何給出地址如何給出地址(顯地址顯地址- -地址信息明顯地給出地址信息明顯地給出; ;隱地
8、址隱地址- - -地址信息依據(jù)某種事先約定地址信息依據(jù)某種事先約定, , 用隱含的式給出用隱含的式給出). ). 地址碼應(yīng)選多長地址碼應(yīng)選多長(與存儲單元容量、編址單位大小和與存儲單元容量、編址單位大小和尋址方式有關(guān)尋址方式有關(guān)).操作碼操作碼A AA AA3A3下條指令地址下條指令地址(A4)(A4) 指令功能指令功能: (A1) OP (A2) A3: (A1) OP (A2) A3 A4A4提供下一條指令的地址提供下一條指令的地址(1) (1) 四地址雙操作數(shù)指令四地址雙操作數(shù)指令 操作碼操作碼 A AA AA3A3 操作碼操作碼 A AA A(3) 二地址雙操作數(shù)指令二地址雙操作數(shù)指令
9、 指令功能指令功能: (A1) OP (A2) A1: (A1) OP (A2) A1下一條指令的地址由下一條指令的地址由PCPC提供提供(2) (2) 三地址雙操作數(shù)指令三地址雙操作數(shù)指令 指令功能指令功能: (A1) OP (A2) A3: (A1) OP (A2) A3 下一條指令的地址由下一條指令的地址由PCPC提供提供 (4) (4) 一地址雙操作數(shù)指令一地址雙操作數(shù)指令 操作碼操作碼A1A1指令功能指令功能: (A1) OP (AC) AC: (A1) OP (AC) ACACAC為累加寄存器為累加寄存器下一條指令的地址由下一條指令的地址由PCPC提供提供(5) (5) 零地址雙操
10、作數(shù)指令零地址雙操作數(shù)指令操作碼操作碼指令功能指令功能: :堆棧棧頂和次棧頂中的內(nèi)容從堆棧堆棧棧頂和次棧頂中的內(nèi)容從堆棧彈出后彈出后, ,進(jìn)行某種運算進(jìn)行某種運算, ,結(jié)果壓入堆棧結(jié)果壓入堆棧. . 地址個數(shù)對程序長度和指令長度的影響地址個數(shù)對程序長度和指令長度的影響同一個問題同一個問題, ,用地址數(shù)越多的指令編寫的程序越短用地址數(shù)越多的指令編寫的程序越短, ,但指令長度越長但指令長度越長. .例例: :分別用三地址、二地址、一地址指令編制計算分別用三地址、二地址、一地址指令編制計算x=(ax=(ab+c-d)/(e+fb+c-d)/(e+f) )的程序。的程序。(1)(1)三地址指令程序三地
11、址指令程序MUL A,B,X; (A) MUL A,B,X; (A) (B) X(B) XADD X,C,X; (X)+(C) XADD X,C,X; (X)+(C) XSUB X,D,X; (X)-(D) XSUB X,D,X; (X)-(D) XADD E,F,Y; (E)+(F) YADD E,F,Y; (E)+(F) YDIV X,Y,X; (X)/(Y) XDIV X,Y,X; (X)/(Y) X解:假設(shè)解:假設(shè)a a、b b、c c為操作數(shù)為操作數(shù),A,A、B B、C C為操作數(shù)地址為操作數(shù)地址 (2)二地址指令程序二地址指令程序 MOV X,A; (A) X MUL X,B; (
12、X) (B) X ADD X,C; (X)+(C) X SUB X,D; (X)-(D) X MOV Y,E; (E) Y ADD Y,F; (F)+(Y) Y DIV X,Y; (X)/(Y) X (3) (3) 一地址指令程序一地址指令程序LOAD E; (E) ACADD F; (AC)+(F) ACSTORE X; (AC) XLOAD A; (A) ACMUL B; (AC) (B) ACADD C; (AC)+(C) ACSUB D; (AC)-(D) ACDIV X;(AC)/(X) ACSTORE X; (AC) X 3.3.操作碼:指明指令要完成的操作功能及其特性。操作碼:指
13、明指令要完成的操作功能及其特性。指令系統(tǒng)中的每一條指令都有一個唯一確定的操作指令系統(tǒng)中的每一條指令都有一個唯一確定的操作碼,不同指令有不同的操作碼。碼,不同指令有不同的操作碼。 若指令系統(tǒng)中有若指令系統(tǒng)中有mm種操作,即指令系統(tǒng)中可包種操作,即指令系統(tǒng)中可包含含mm條指令,則操作碼的位數(shù)條指令,則操作碼的位數(shù)n n應(yīng)滿足:應(yīng)滿足: M=2M=n=2m(1) (1) 定長操作碼定長操作碼: :所有指令的操作碼長度一致,均為所有指令的操作碼長度一致,均為n n位操作碼位操作碼, , 集中位于指令字的固定字段中,最多能夠集中位于指令字的固定字段中,最多能夠 表示表示2 2n n條指令。條指令。 特點
14、:簡單規(guī)整,由于定長的操作碼在指令字中所特點:簡單規(guī)整,由于定長的操作碼在指令字中所占的位數(shù)、位置固定,所以指令譯碼簡單,有利于簡占的位數(shù)、位置固定,所以指令譯碼簡單,有利于簡化硬件設(shè)計。化硬件設(shè)計。 具體做法具體做法: :在指令中有一個固定長度的字段表示基本在指令中有一個固定長度的字段表示基本操作碼,而對于一部分不需要某個地址碼的指令,把它操作碼,而對于一部分不需要某個地址碼的指令,把它們的操作碼擴(kuò)充到該地址字段,也稱們的操作碼擴(kuò)充到該地址字段,也稱擴(kuò)展操作碼技術(shù)擴(kuò)展操作碼技術(shù)(2) (2) 變長操作碼:操作碼長度可變變長操作碼:操作碼長度可變, ,不同指令的操作碼不同指令的操作碼長度不完全
15、相同,操作碼位數(shù)不固定,分散地位于指長度不完全相同,操作碼位數(shù)不固定,分散地位于指令字的不同位置上。令字的不同位置上。 特點:可以在指令字長有限的前提下仍保持較豐特點:可以在指令字長有限的前提下仍保持較豐富的指令種類富的指令種類. .但由于操作碼的位數(shù)不固定且位置分散,但由于操作碼的位數(shù)不固定且位置分散,故增加了指令譯碼與分析的難度,使硬件設(shè)計復(fù)雜化。故增加了指令譯碼與分析的難度,使硬件設(shè)計復(fù)雜化。例例: :設(shè)某機(jī)器的指令字長為設(shè)某機(jī)器的指令字長為1616位位, ,包括基本操作碼包括基本操作碼4 4位位和三個地址字段和三個地址字段, ,每個地址字段長每個地址字段長4 4位位, ,其格式為其格式
16、為: :OPOPA1A1 A2 A2 A3 A30 03 34 47 78 811 1112121515 采用擴(kuò)展操作碼的方式采用擴(kuò)展操作碼的方式, ,設(shè)計設(shè)計: :(1)15(1)15條三地址指令條三地址指令,15,15條兩地址指令條兩地址指令,15,15條條一地址指令一地址指令,16,16條零地址指令條零地址指令. . (2)15(2)15條三地址指令條三地址指令,14,14條兩地址指令條兩地址指令,31,31條條一地址指令一地址指令,16,16條零地址指令條零地址指令. .0000 XXXX YYYY ZZZZ0000 XXXX YYYY ZZZZ1110 XXXX YYYY ZZZZ1
17、110 XXXX YYYY ZZZZ1111 0000 YYYY ZZZZ1111 0000 YYYY ZZZZ1111 1 1 01 YYYY ZZZZ1111 1 1 01 YYYY ZZZZ1111 1110 0000 ZZZZ1111 1110 0000 ZZZZ1111 1110 0001 ZZZZ1111 1110 0001 ZZZZ1111 1110 1111 ZZZZ1111 1110 1111 ZZZZ1111 11111111 1111 0000 ZZZZ 0000 ZZZZ1111 1111 1110 ZZZZ1111 1111 1110 ZZZZ1111 1111 11
18、111111 1111 1111 0000 00001111 1111 1111 11111111 1111 1111 11113131條一地條一地址指令址指令1616條零地條零地址指令址指令擴(kuò)展操作碼擴(kuò)展操作碼標(biāo)志標(biāo)志擴(kuò)展操作碼擴(kuò)展操作碼標(biāo)志標(biāo)志擴(kuò)展操作碼擴(kuò)展操作碼標(biāo)志標(biāo)志1515條三地條三地址指令址指令 14 14條二地條二地 址指令址指令指令寄存器指令寄存器4:16譯碼器譯碼器譯碼開始譯碼開始1515條三地址指令條三地址指令4:16譯碼器譯碼器1414條二地址指令條二地址指令4:16譯碼器譯碼器3131條一地址指令條一地址指令4:16譯碼器譯碼器1616條零地址指令條零地址指令圖圖4.1
19、 指令譯碼邏輯圖指令譯碼邏輯圖 注意事項注意事項: : 例例1(P151.1(P151.題題2):2):假設(shè)某計算機(jī)指令長度為假設(shè)某計算機(jī)指令長度為2020位位, ,具有雙操作具有雙操作數(shù)、單操作數(shù)、無操作數(shù)三類指令形式數(shù)、單操作數(shù)、無操作數(shù)三類指令形式, ,每個操作數(shù)地址每個操作數(shù)地址規(guī)定用規(guī)定用6 6位表示位表示, ,問:問: 若操作碼字段若操作碼字段固定為固定為8 8位位, ,現(xiàn)設(shè)計出現(xiàn)設(shè)計出mm條雙操作數(shù)指令條雙操作數(shù)指令,n,n條無操作數(shù)指令條無操作數(shù)指令, ,在此情況下在此情況下, ,這臺計算機(jī)最多可以設(shè)計出這臺計算機(jī)最多可以設(shè)計出多少條單操作數(shù)指令?多少條單操作數(shù)指令? 解:解:
20、2 28 8-m-n-m-n條條 各指令的操作碼一定不能重復(fù)各指令的操作碼一定不能重復(fù), ,而且各類指令的而且各類指令的格式安排應(yīng)統(tǒng)一規(guī)整格式安排應(yīng)統(tǒng)一規(guī)整. . 短操作碼不能與長操作碼短操作碼不能與長操作碼 的前面代碼部分相同;的前面代碼部分相同; 例例2: 2: 某計算機(jī)指令長度為某計算機(jī)指令長度為3232位位, ,有有3 3種指令種指令: :雙操作數(shù)指令、雙操作數(shù)指令、單操作數(shù)指令、無操作數(shù)指令單操作數(shù)指令、無操作數(shù)指令. .現(xiàn)在用現(xiàn)在用擴(kuò)展操作碼擴(kuò)展操作碼的方式的方式設(shè)計指令設(shè)計指令, ,假設(shè)每個操作數(shù)地址規(guī)定用假設(shè)每個操作數(shù)地址規(guī)定用1212位表示位表示, ,已知有雙已知有雙操作數(shù)指
21、令操作數(shù)指令K K條條, ,單操作數(shù)指令單操作數(shù)指令L L條條, ,問無操作數(shù)指令有多少問無操作數(shù)指令有多少條條? ?所以所以, ,無操作數(shù)指令條數(shù)無操作數(shù)指令條數(shù)= (2= (28 8-K) -K) 2 21212-L -L 2 21212解解: : 由于雙操作數(shù)指令現(xiàn)有由于雙操作數(shù)指令現(xiàn)有K K條條( (最多有最多有2 28 8條條), ),所以留所以留有有(2(28 8-K)-K)個編碼作為擴(kuò)展操作碼標(biāo)志個編碼作為擴(kuò)展操作碼標(biāo)志, ,用于擴(kuò)展到單操用于擴(kuò)展到單操作數(shù)指令作數(shù)指令; ;單操作數(shù)指令現(xiàn)有單操作數(shù)指令現(xiàn)有L L條條( (最多有最多有(2(28 8-K) -K) 2 21212條
22、條), ),所以留所以留有有(2(28 8-K) -K) 2 21212-L-L個編碼作為擴(kuò)展操作碼標(biāo)志個編碼作為擴(kuò)展操作碼標(biāo)志, ,用于擴(kuò)用于擴(kuò)展到無操作數(shù)指令展到無操作數(shù)指令; ; 4.3 4.3 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式PC+1內(nèi)存內(nèi)存地址地址0127LDA 200ADD 201INCLDA 200PC地址地址內(nèi)存內(nèi)存345678JMP 6LDA 206SUB 207INC LDA 200 1. 1.順序?qū)ぶ贩绞巾樞驅(qū)ぶ贩绞?.2.跳躍尋址方式跳躍尋址方式 4.3.1 4.3.1 指令的尋址方式指令的尋址方式 尋址尋址: :尋找操作數(shù)的地址或下一條將要執(zhí)行的指令尋找操作數(shù)
23、的地址或下一條將要執(zhí)行的指令地址,分為指令尋址方式和操作數(shù)尋址方式。地址,分為指令尋址方式和操作數(shù)尋址方式。4.3.2 4.3.2 操作數(shù)尋址方式操作數(shù)尋址方式(Addressing modes)(Addressing modes) OP OP尋址方式尋址方式MODMOD 形式地址形式地址D D 有效地址有效地址(E):(E):對形式地址進(jìn)行一定計算而得到的操作數(shù)對形式地址進(jìn)行一定計算而得到的操作數(shù) 的實際地址的實際地址, ,由尋址方式和形式地址共同確定由尋址方式和形式地址共同確定. . 形式地址形式地址(D):(D):也稱偏移量也稱偏移量, ,是指令地址字段中給定的地址是指令地址字段中給定的
24、地址. .指令格式為指令格式為: : 設(shè)設(shè)DataData為操作數(shù)為操作數(shù) 尋址方式在指令格式中的表示方法通常有兩種尋址方式在指令格式中的表示方法通常有兩種: : 由不同的操作碼指明操作數(shù)的不同尋址方式由不同的操作碼指明操作數(shù)的不同尋址方式( (操作碼操作碼指明法指明法); ); 在指令格式中增設(shè)尋址方式特征位在指令格式中增設(shè)尋址方式特征位( (尋址方式位法尋址方式位法) )。 操作數(shù)尋址的目的:操作數(shù)尋址的目的:CPUCPU根據(jù)指令約定的尋址方式根據(jù)指令約定的尋址方式對地址字段的有關(guān)信息做出解釋,以找到操作數(shù)。對地址字段的有關(guān)信息做出解釋,以找到操作數(shù)。1. 1.立即尋址立即尋址(immed
25、iate addressing):(immediate addressing):所需的操作數(shù)由指所需的操作數(shù)由指令地址碼部分直接給出令地址碼部分直接給出, ,即操作數(shù)包含在指令內(nèi)即操作數(shù)包含在指令內(nèi). . Data=D Data=D 優(yōu)點:取指令的同時操作數(shù)被立即取出,不必再次訪問優(yōu)點:取指令的同時操作數(shù)被立即取出,不必再次訪問存儲器,提高了指令的執(zhí)行速度。存儲器,提高了指令的執(zhí)行速度。 缺點:由于指令字的長度有限,缺點:由于指令字的長度有限,D的位數(shù)限制了立即數(shù)的位數(shù)限制了立即數(shù)所能表示的數(shù)據(jù)范圍。一般情況下用于給某一個寄存器或所能表示的數(shù)據(jù)范圍。一般情況下用于給某一個寄存器或存儲單元賦予一
26、個初值或提供一個常數(shù)。存儲單元賦予一個初值或提供一個常數(shù)。 例如:例如:Intel8086 中的立即尋址指令。中的立即尋址指令。 MOV Ax,2000H; 將立即數(shù)將立即數(shù)2000H存入累加器存入累加器AX中中 2.2.存儲器直接尋址存儲器直接尋址(Memory direct addressing):(Memory direct addressing):指令的地指令的地址碼部分給出操作數(shù)的存儲單元地址址碼部分給出操作數(shù)的存儲單元地址. . (2) (2)不必作尋址計算,簡單并易于硬件實現(xiàn)不必作尋址計算,簡單并易于硬件實現(xiàn); (3) ; (3) 主存容主存容量越大量越大, ,所需地址碼越來越多
27、所需地址碼越來越多, ,導(dǎo)致指令的長度增加導(dǎo)致指令的長度增加. . 例例: : 某機(jī)主存容量為某機(jī)主存容量為 16MB,16MB,若按字節(jié)編址若按字節(jié)編址, ,其地址碼為其地址碼為多少位多少位? ?解解:16MB=2:16MB=22424B ,B ,所以地址碼為所以地址碼為2424位位. .直接尋址的邏輯表達(dá)式為直接尋址的邏輯表達(dá)式為: : E=D Data=(E)=(D) E=D Data=(E)=(D) IRIROPOP D DD D 操作數(shù)操作數(shù)主存主存特點特點:(1):(1)在執(zhí)行階段只需一次在執(zhí)行階段只需一次訪問內(nèi)存訪問內(nèi)存, ,就能取到操作數(shù)就能取到操作數(shù); ;3.3.寄存器直接尋
28、址寄存器直接尋址(Register direct addressing):(Register direct addressing):指令指令的地址碼部分給出操作數(shù)所在的寄存器號的地址碼部分給出操作數(shù)所在的寄存器號. . E= Ri Data=(E)=(RiE= Ri Data=(E)=(Ri) ) 特點特點:(1):(1)由于操作數(shù)位于寄存器中,所以不用訪存由于操作數(shù)位于寄存器中,所以不用訪存即可取到操作數(shù),所以執(zhí)行速度較快;即可取到操作數(shù),所以執(zhí)行速度較快;(2)(2)因為寄存器因為寄存器數(shù)遠(yuǎn)小于主存單元數(shù),所以尋址所需地址短,數(shù)遠(yuǎn)小于主存單元數(shù),所以尋址所需地址短,導(dǎo)致了指令字短。導(dǎo)致了指
29、令字短。IRIROPOP D D( Ri ) 操作數(shù)操作數(shù)寄存器寄存器R0R0RiRi4.4.存儲器間接尋址存儲器間接尋址(Indirect addressing):(Indirect addressing):指令地指令地址碼部分給出操作數(shù)地址的地址址碼部分給出操作數(shù)地址的地址. . E=(D) Data=(E)=(D) E=(D) Data=(E)=(D)IRIROPOP D DD D E E操作數(shù)操作數(shù)E E主存主存缺點缺點: :執(zhí)行階段至少兩次訪執(zhí)行階段至少兩次訪問內(nèi)存問內(nèi)存, ,才能取到操作數(shù)才能取到操作數(shù)間址單元間址單元(其內(nèi)容稱其內(nèi)容稱為指針為指針)存儲器間接尋址的優(yōu)點:存儲器間接
30、尋址的優(yōu)點: (1)(1)提供了編程靈活性提供了編程靈活性( (如下圖如下圖所示所示); ); ( (2)2)有效縮短地址碼長度,擴(kuò)大尋址空間。有效縮短地址碼長度,擴(kuò)大尋址空間。例例: :指令系統(tǒng)中如有指令系統(tǒng)中如有196196條不同的指令條不同的指令, ,則指令的操作碼至少應(yīng)為則指令的操作碼至少應(yīng)為( )( )位位. .某存儲器按字編址某存儲器按字編址, ,字長為字長為3232位位, ,指令的形式地址為指令的形式地址為8 8位位, ,直接尋址直接尋址的空間為的空間為( ),( ),一次間接尋址的空間為一次間接尋址的空間為( ).( ).8081201202 主存主存主程序主程序調(diào)用子程序調(diào)用
31、子程序調(diào)用子程序調(diào)用子程序 主存主存 子程序子程序JMP A圖中表示兩次調(diào)用子程序圖中表示兩次調(diào)用子程序, ,只要在調(diào)用前先將返回地址存入子程只要在調(diào)用前先將返回地址存入子程序最末條指令的形式地址序最末條指令的形式地址A A的存儲單元內(nèi)的存儲單元內(nèi), ,便可準(zhǔn)確返回程序斷便可準(zhǔn)確返回程序斷點點. . 5. 5.寄存器間址寄存器間址(Register indirect addressing):(Register indirect addressing):指令中給出指令中給出寄存器地址,而寄存器中存放操作數(shù)在內(nèi)存的地址。寄存器地址,而寄存器中存放操作數(shù)在內(nèi)存的地址。 E=(Ri)Data=( (R
32、i) )特點特點: :因寄存器數(shù)量少因寄存器數(shù)量少, ,表示寄存器地址碼只需很少幾位表示寄存器地址碼只需很少幾位, ,所以指令代碼短所以指令代碼短, ,而且取操作數(shù)只需訪問一次內(nèi)存。而且取操作數(shù)只需訪問一次內(nèi)存。IROP Ri操作數(shù)操作數(shù)E ERi主存主存地址為地址為3030的單元中存放的內(nèi)容為的單元中存放的內(nèi)容為40;40;地址為地址為4040的單元中存放的內(nèi)容為的單元中存放的內(nèi)容為50;50;地址為地址為5050的單元中存放的內(nèi)容為的單元中存放的內(nèi)容為60;60;求以下指令分別將什么數(shù)值裝入累加器中求以下指令分別將什么數(shù)值裝入累加器中? ? (1) Load #20 (2)Load 20
33、(1) Load #20 (2)Load 20 (3) Load (20) (3) Load (20) 地址為地址為2020的單元中存放的內(nèi)容為的單元中存放的內(nèi)容為30;30;例例: :在一個單地址指令的計算機(jī)系統(tǒng)中有一個累加器在一個單地址指令的計算機(jī)系統(tǒng)中有一個累加器, ,給給定以下存儲器數(shù)值定以下存儲器數(shù)值: : 解解:(1):(1)立即尋址立即尋址,( ,(累加器累加器)=20)=20 (3) (3)間接尋址間接尋址, (, (累加器累加器)=(20)=(30)=40)=(20)=(30)=40 (2) (2)直接尋址直接尋址, (, (累加器累加器)=(20)=30)=(20)=30
34、6.6.相對尋址相對尋址(Relative addressing):(Relative addressing):由由PCPC提供基準(zhǔn)地址提供基準(zhǔn)地址, ,與與指令中的地址碼字段指令中的地址碼字段( (形式地址形式地址D)D)相加后得到操作數(shù)有效相加后得到操作數(shù)有效地址。地址。OPOP OPOP D DIRIRPCPC A A加加法法器器操作數(shù)操作數(shù)S SA AA+DA+DD D主存主存 數(shù)據(jù)數(shù)據(jù)=(E)=(PC)+D)=(E)=(PC)+D) E=(PC)+DE=(PC)+DA-1A-1OPOPD D假設(shè)假設(shè): :指令均為單字長指令指令均為單字長指令注意注意: :有些計算機(jī)有些計算機(jī)PCPC中
35、是當(dāng)前指令地址中是當(dāng)前指令地址( (當(dāng)前指令執(zhí)行完當(dāng)前指令執(zhí)行完, ,才將才將PCPC內(nèi)容加內(nèi)容加1 1或增量或增量), ),多數(shù)計算機(jī)多數(shù)計算機(jī)PCPC中是下一條要執(zhí)中是下一條要執(zhí)行指令的地址行指令的地址( (取出當(dāng)前指令后立即將取出當(dāng)前指令后立即將PCPC內(nèi)容加內(nèi)容加1 1或增或增量量), ),如上圖所示。如上圖所示。特點特點:(1)D:(1)D可正可負(fù)可正可負(fù), ,表示操作數(shù)地址與現(xiàn)行指令地址的相表示操作數(shù)地址與現(xiàn)行指令地址的相對位置對位置; ;(2)(2)因大多訪存的位置均相對靠近正在執(zhí)行的指令位置因大多訪存的位置均相對靠近正在執(zhí)行的指令位置, ,故故相對尋址可以節(jié)省指令中地址碼位數(shù)。
36、相對尋址可以節(jié)省指令中地址碼位數(shù)。 例:例:某機(jī)器字長某機(jī)器字長1616位,主存位,主存 按照字節(jié)編址,轉(zhuǎn)移指按照字節(jié)編址,轉(zhuǎn)移指令采用相對尋址,由兩個字節(jié)組成,第一字節(jié)為操作令采用相對尋址,由兩個字節(jié)組成,第一字節(jié)為操作碼碼 字段,第二字節(jié)為相對位移量字段。假定取指令時,字段,第二字節(jié)為相對位移量字段。假定取指令時,每取一個字節(jié)每取一個字節(jié)PCPC自動加自動加1 1。若某轉(zhuǎn)移指令所在主存地。若某轉(zhuǎn)移指令所在主存地址址 為為2000H,2000H,相對位移量字段的內(nèi)容為相對位移量字段的內(nèi)容為06H06H,則該轉(zhuǎn),則該轉(zhuǎn)移指令成功后的目標(biāo)地址為:移指令成功后的目標(biāo)地址為: A.2006H B.2
37、007HA.2006H B.2007H C.2008H D.2009H C.2008H D.2009H 7. 7. 變址尋址變址尋址(displacement addressing)(displacement addressing):指令的地址部分:指令的地址部分給出一個形式地址,并指定一個寄存器為變址寄存器;給出一個形式地址,并指定一個寄存器為變址寄存器;變變址寄存器內(nèi)容址寄存器內(nèi)容(稱為變址量稱為變址量)與形式地址相加,得到操作數(shù)與形式地址相加,得到操作數(shù)有效地址。有效地址。操作數(shù)操作數(shù)S SOPOPR RD D加加法法器器 N ND+ND+N Data=(E)=( (RData=(E)=
38、( (RX X)+D)+D)R RE=(RE=(RX X)+D)+D指令指令 7. 7. 變址尋址變址尋址(displacement addressing)(displacement addressing):指令的地址部分:指令的地址部分給出一個形式地址,并指定一個寄存器為變址寄存器;給出一個形式地址,并指定一個寄存器為變址寄存器;變變址寄存器內(nèi)容址寄存器內(nèi)容(稱為變址量稱為變址量)與形式地址相加,得到操作數(shù)與形式地址相加,得到操作數(shù)有效地址。有效地址。操作數(shù)操作數(shù)S SOPOPR RD D加加法法器器 N ND+ND+NR R指令指令 變址尋址的典型應(yīng)用:某數(shù)組存放在一段連續(xù)的主存區(qū)間中,變
39、址尋址的典型應(yīng)用:某數(shù)組存放在一段連續(xù)的主存區(qū)間中,首址為首址為B。可讓。可讓B作為指令中形式地址,而變址寄存器中存放修改作為指令中形式地址,而變址寄存器中存放修改量,通過修改變址寄存器內(nèi)容量,通過修改變址寄存器內(nèi)容(所需訪問單元與首址單元之間的距所需訪問單元與首址單元之間的距離離),該指令本身不需任何修改,就可以訪問該數(shù)組的任何一個元素。,該指令本身不需任何修改,就可以訪問該數(shù)組的任何一個元素。 變址尋址面向用戶,可用于訪問字符串、數(shù)組等成批數(shù)據(jù)。變址尋址面向用戶,可用于訪問字符串、數(shù)組等成批數(shù)據(jù)。8 8. .基址尋址基址尋址 (Based addressing)(Based address
40、ing):指令中給出一個形式地址,:指令中給出一個形式地址,并給出基址寄存器號,基址寄存器內(nèi)容并給出基址寄存器號,基址寄存器內(nèi)容( (作為基準(zhǔn)量作為基準(zhǔn)量) )與形與形式地址相加得到操作數(shù)有效地址。式地址相加得到操作數(shù)有效地址。 E=(RE=(Rb b)+D Data=(E)=( (R)+D Data=(E)=( (Rb b)+D)+D) ) 基址尋址的典型應(yīng)用是程序重定位。基址尋址的典型應(yīng)用是程序重定位。 用戶程序的最終可執(zhí)行形態(tài)是目標(biāo)程序,目標(biāo)程序是在操作用戶程序的最終可執(zhí)行形態(tài)是目標(biāo)程序,目標(biāo)程序是在操作系統(tǒng)管理下調(diào)入主存運行的,用戶在用高級語言編程時并不知系統(tǒng)管理下調(diào)入主存運行的,用戶在用高級語言編程時并不知道此段程序?qū)⒈话才旁谥鞔娴哪囊?/p>
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《裝修設(shè)計細(xì)節(jié)解讀》課件
- 外國業(yè)務(wù)開發(fā)外包協(xié)議
- 2025年廣西南寧市中考物理一模試卷(含解析)
- 鐵路旅客運輸服務(wù)鐵路旅客服務(wù)心理概述課件
- 《財務(wù)分析決策實例》課件
- 鐵道機(jī)車專業(yè)教學(xué)湖南鐵道左繼紅88課件
- 條碼技術(shù)物流工程38課件
- 鐵路貨物運雜費貨車延期使用費費率標(biāo)準(zhǔn)課件
- 鐵路運輸法規(guī)旅客在站臺突發(fā)急性心肌梗死第頁課件
- 中國人的航天夢課件
- DB65-T 4785-2024 耕地質(zhì)量等級調(diào)查評價技術(shù)規(guī)范
- 財務(wù)機(jī)器人開發(fā)與應(yīng)用實戰(zhàn) 課件 任務(wù)5 E-mail人機(jī)交互自動化-2
- 2024年個人廉潔自律述職報告(三篇)
- 【華為】通信行業(yè):華為下一代鐵路移動通信系統(tǒng)白皮書2023
- 小學(xué)家長會-做好孩子手機(jī)管理主題班會課件
- 山東省技能大賽青島選拔賽-世賽選拔項目55樣題(3D數(shù)字游戲技術(shù))
- 2023年桂林市臨桂區(qū)增設(shè)特崗教師招聘筆試環(huán)節(jié)的考試真題
- 耳穴壓豆治療失眠
- 人教版九年級化學(xué)下冊實驗題專項訓(xùn)練含答案
- 【學(xué)考試卷】2023年6月 福建省學(xué)考英語真題及答案
- 建筑施工職業(yè)病危害因素識別、分析及預(yù)防
評論
0/150
提交評論