指令系統(tǒng)和控制器部ppt課件_第1頁
指令系統(tǒng)和控制器部ppt課件_第2頁
指令系統(tǒng)和控制器部ppt課件_第3頁
指令系統(tǒng)和控制器部ppt課件_第4頁
指令系統(tǒng)和控制器部ppt課件_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、指令:指令: 是指示計算機執(zhí)行根本操作的命令。是指示計算機執(zhí)行根本操作的命令。指令也是用戶運用計算機的最小功能單指令也是用戶運用計算機的最小功能單位。位。 從計算機組成的層次構(gòu)造來說,計從計算機組成的層次構(gòu)造來說,計算機的指令有微指令、機器指令和宏指算機的指令有微指令、機器指令和宏指令之分。令之分。 微指令:是微程序級的命令,它屬于硬件;微指令:是微程序級的命令,它屬于硬件;宏指令:是由苦干條機器指令組成的軟件指令,宏指令:是由苦干條機器指令組成的軟件指令,它屬于軟件;它屬于軟件; 機器指令:那么介于微指令與宏指令之間,通機器指令:那么介于微指令與宏指令之間,通常簡稱為指令。每一條指令可完成一

2、個獨立的常簡稱為指令。每一條指令可完成一個獨立的算術(shù)運算或邏輯運算操作。算術(shù)運算或邏輯運算操作。 本章所討論的指令是機器指令。本章所討論的指令是機器指令。 指令系統(tǒng):指令系統(tǒng):一臺計算機支持一臺計算機支持( (或稱運用或稱運用) )的全部指令的的全部指令的集合構(gòu)成該計算機的指令系統(tǒng)。集合構(gòu)成該計算機的指令系統(tǒng)。由于指令與計算機的性能以及硬件構(gòu)造親由于指令與計算機的性能以及硬件構(gòu)造親密相關(guān),所以不同系列、不同型號的計算機其密相關(guān),所以不同系列、不同型號的計算機其指令系統(tǒng)是不一樣的。指令系統(tǒng)是不一樣的。指令的根本格式指令的根本格式指令格式的優(yōu)化指令格式的優(yōu)化尋址方式尋址方式指令系統(tǒng)舉例指令系統(tǒng)舉例

3、 Th-unionTh-union匯編言語程序設計匯編言語程序設計一、指令的格式一、指令的格式 任何一條機器指令由一組有意義的二進制任何一條機器指令由一組有意義的二進制代碼構(gòu)成,稱為一個指令字。代碼構(gòu)成,稱為一個指令字。 1 1、機器指令、機器指令 用機器指令編寫的程序是計算機獨一可以用機器指令編寫的程序是計算機獨一可以直接識別并執(zhí)行的程序,稱為機器言語程序。直接識別并執(zhí)行的程序,稱為機器言語程序。機器言語程序被稱為目的程序機器言語程序被稱為目的程序( (目的代碼。目的代碼。 機器直接執(zhí)行,速度快。機器直接執(zhí)行,速度快。 缺陷:與機器硬件直接相關(guān),通用性差;缺陷:與機器硬件直接相關(guān),通用性差;

4、編程不直觀、難以記憶、運用很不方便。編程不直觀、難以記憶、運用很不方便。為了抑制機器言語的缺陷,人們采用助記為了抑制機器言語的缺陷,人們采用助記符表示機器指令的操作碼,用符號替代操作數(shù)符表示機器指令的操作碼,用符號替代操作數(shù)的存放地址等,這樣就構(gòu)成了匯編指令。的存放地址等,這樣就構(gòu)成了匯編指令。 例:機器指令:例:機器指令: 00000111001000010000011100100001 匯編指令:匯編指令: MVRR R2MVRR R2,R1R1 用匯編指令編寫的程序稱為匯編源程序。用匯編指令編寫的程序稱為匯編源程序。一條機器指令對應一條匯編指令。用匯編一條機器指令對應一條匯編指令。用匯編

5、指令編寫程序就直觀方便得多。指令編寫程序就直觀方便得多。用匯編言語編寫程序及執(zhí)行的過程用匯編言語編寫程序及執(zhí)行的過程MVRR R0,R1ADD R0,R3 1000100111011000 高級言語高級言語 匯編言語雖然較機器言語直觀,但依然煩匯編言語雖然較機器言語直觀,但依然煩瑣難懂。于是人們研制出了高級程序設計言語?,嶋y懂。于是人們研制出了高級程序設計言語。高級程序設計言語接近于人類自然言語的語法高級程序設計言語接近于人類自然言語的語法習慣,與計算機硬件無關(guān),易被用戶掌握和運習慣,與計算機硬件無關(guān),易被用戶掌握和運用。用。(1) (1) 用言語實現(xiàn):用言語實現(xiàn): Main ()Main (

6、) int a, b, sum; int a, b, sum; a=123; b=456; a=123; b=456; sum=a+b sum=a+b 例如:編程實現(xiàn)例如:編程實現(xiàn) 123 123 加加 456 456 求和求和(2)(2)用用80868086匯編言語實現(xiàn):匯編言語實現(xiàn): a dw 123a dw 123 b dw 456 b dw 456 sum dw ? sum dw ? Code segment Code segment assume CS: Code, assume CS: Code, DS:DataDS:Data Main:mov ax,data Main:mov a

7、x,data mov ds,ax mov ds,ax mov ax, a mov ax, a add ax, bmov sum , axmov ax, 4c00hint 21hMain endpCode endsend main(3)(3)用機器言語實現(xiàn):用機器言語實現(xiàn): 鍵入代碼:鍵入代碼: -e cs:100 A1 0F 01 03 06 11 01 -e cs:100 A1 0F 01 03 06 11 01 A3 13 01 B8 00 4C CD 21A3 13 01 B8 00 4C CD 21 為數(shù)據(jù)分配空間:為數(shù)據(jù)分配空間: -e ds:10F 7B 00 C8 01 00 0

8、0-e ds:10F 7B 00 C8 01 00 00三種言語編寫程序占用字節(jié)數(shù)三種言語編寫程序占用字節(jié)數(shù)程序設計語言程序設計語言可執(zhí)行程序占用字節(jié)數(shù)可執(zhí)行程序占用字節(jié)數(shù) 高級語言高級語言( C )( C )CSUM.EXE 43304330 匯編語言匯編語言 ASMSUM.COM 2121 機器語言機器語言MACHINE.COM 2121任何一條機器指令由一組有意義的二進制任何一條機器指令由一組有意義的二進制代碼構(gòu)成,稱為一個指令字。代碼構(gòu)成,稱為一個指令字。 其根本格式可劃分成二個部分:其根本格式可劃分成二個部分: 2. 2. 指令的根本格式指令的根本格式闡明操作數(shù)存放闡明操作數(shù)存放的位

9、置,以便找的位置,以便找到操作數(shù)完成指到操作數(shù)完成指令的功能。令的功能。Th-union的機器指令的機器指令 匯編指令匯編指令 指令的操指令的操作碼字段作碼字段指令的操指令的操 作數(shù)字段作數(shù)字段 1 1操作碼操作碼定長操作碼定長操作碼變長操作碼變長操作碼 在指令系統(tǒng)中,每一條指令都有獨一確定在指令系統(tǒng)中,每一條指令都有獨一確定的操作碼。的操作碼。 分二種方式:分二種方式: a. a. 定長操作碼方式定長操作碼方式在指令字中,操作碼字段的位數(shù)和在指令字中,操作碼字段的位數(shù)和位置是固定的。位置是固定的。早期的計算機普通采用定長操作碼早期的計算機普通采用定長操作碼的設計,控制簡單,且對操作碼的譯碼的

10、設計,控制簡單,且對操作碼的譯碼實現(xiàn)容易。實現(xiàn)容易。 IBM 360/370 IBM 360/370 操作碼是八位的:操作碼是八位的:00000000000000001111111111111111 該指令系統(tǒng)最多可有多少條指令?該指令系統(tǒng)最多可有多少條指令? Th-union Th-union操作碼是八位的:操作碼是八位的: 00000000000000001111111111111111 該指令系統(tǒng)最多可有該指令系統(tǒng)最多可有256256條指令。條指令。 例如:例如:RiRi:通用存放器:通用存放器XiXi:變址存放器:變址存放器BiBi:基址存放器:基址存放器DiDi:位移量:位移量I I

11、: 立刻數(shù)立刻數(shù)L L: 數(shù)據(jù)的長度數(shù)據(jù)的長度定長操作碼的特點定長操作碼的特點 優(yōu)點:有利于簡化硬件設計,提高指優(yōu)點:有利于簡化硬件設計,提高指令譯碼的速度和指令執(zhí)行的速度。令譯碼的速度和指令執(zhí)行的速度。 缺陷:限制了指令系統(tǒng)的擴展、缺陷:限制了指令系統(tǒng)的擴展、 不不利于縮短指令的長度,存在有很大程度利于縮短指令的長度,存在有很大程度的信息冗余的信息冗余 。 b. b. 變長操作碼方式變長操作碼方式指令系統(tǒng)中,各指令的操作碼字段位數(shù)指令系統(tǒng)中,各指令的操作碼字段位數(shù)不等長。不等長。例:例:PDP-11PDP-11小型機的指令系統(tǒng)小型機的指令系統(tǒng) 其指令長度為其指令長度為1616位,操作碼字段的

12、長度位,操作碼字段的長度有、有、1010、1313、1616等不同的情況。等不同的情況。 為添加操作碼長度,采用為添加操作碼長度,采用 操作碼逐段擴操作碼逐段擴展技術(shù)展技術(shù) 變長操作碼的特點變長操作碼的特點 優(yōu)點:可方便擴展指令系統(tǒng)有利于縮短指令優(yōu)點:可方便擴展指令系統(tǒng)有利于縮短指令操作碼的平均長度。操作碼的平均長度。 缺陷:指令譯碼的控制復雜,硬件電路復雜。缺陷:指令譯碼的控制復雜,硬件電路復雜。 2) 2) 地址碼的設計和安排地址碼的設計和安排按照指令中地址碼字段給出的地址的個按照指令中地址碼字段給出的地址的個數(shù)的不同,數(shù)的不同,無地址指令零地址指令無地址指令零地址指令一地址指令單地址指令

13、一地址指令單地址指令雙地址指令雙地址指令多地址指令多地址指令有四種情況有四種情況: :a. a. 無地址指令無地址指令( (零地址指令零地址指令) )有二種情況:有二種情況: 指令不需求任何操作數(shù)。指令不需求任何操作數(shù)。 例:例:NOPNOP、HALTHALT 操作數(shù)為隱含的,或操作數(shù)操作數(shù)為隱含的,或操作數(shù)地址是默許的。地址是默許的。 例:例:PUSHFPUSHF、POPFPOPF 操作碼操作碼格式格式: : b. b. 一地址指令一地址指令( (單地址指令單地址指令) ) 只需一個地址碼,用于單操作數(shù)指令。只需一個地址碼,用于單操作數(shù)指令。 例:例:INCINC、SHLSHL、JMPJMP

14、、CALLCALL 或者雙操作數(shù)指令,但其中一個操作數(shù)的或者雙操作數(shù)指令,但其中一個操作數(shù)的 地址為默許值。地址為默許值。 例:例:MULMUL、DIVDIV格式格式: : c. c. 雙地址指令雙地址指令格式格式: : d. d. 多地址指令多地址指令特點:操作完成后源操作數(shù)的內(nèi)容不被破壞,特點:操作完成后源操作數(shù)的內(nèi)容不被破壞,用戶編程方便。嚴重的缺陷是指令字較長。用戶編程方便。嚴重的缺陷是指令字較長。格式格式: :格式格式: : 3) 3) 指令字長度指令字長度 機器指令的二進制序列的位數(shù)。機器指令的二進制序列的位數(shù)。 定長指令變長操作碼定長指令變長操作碼 變長指令定長操作碼變長指令定長

15、操作碼例:某機指令系統(tǒng),指令字為例:某機指令系統(tǒng),指令字為1616位固定長,位固定長,要求有地址指令、地址指令、地址指要求有地址指令、地址指令、地址指令和地址指令,每個地址碼位。應如何令和地址指令,每個地址碼位。應如何設計?設計? a. a. 定長指令變長操作碼定長指令變長操作碼 該種方式是將操作碼的設計與地址碼的該種方式是將操作碼的設計與地址碼的設計作為一個整體思索,以構(gòu)成高效合理的設計作為一個整體思索,以構(gòu)成高效合理的指令編碼。指令編碼。練習:練習:設某機為定長指令字構(gòu)造,指令長度設某機為定長指令字構(gòu)造,指令長度1212位,位,每個地址碼占位,試提出一種方案,使該系每個地址碼占位,試提出一

16、種方案,使該系統(tǒng)包含條三地址指令,條二地址指令,統(tǒng)包含條三地址指令,條二地址指令,180 180 條單地址指令。條單地址指令。另:能否構(gòu)成三地址指令條,單地址指另:能否構(gòu)成三地址指令條,單地址指令令 255255條,零地址指令條,零地址指令6464條呢?條呢? b. b. 變長指令定長操作碼變長指令定長操作碼例:例:IBM360/370 IBM360/370 指令的操作碼是位的,指令的操作碼是位的, 指令字為指令字為1616位、位、3232位、位、4848位。位。 TH-unionTH-union 指令的操作碼是指令的操作碼是8 8位的,位的, 指令字為指令字為1616位位. . v 單字指令

17、僅用一個指令字。單字指令僅用一個指令字。v 雙字指令要用兩個指令字雙字指令要用兩個指令字, , 此時第二個指此時第二個指令字的內(nèi)容能夠是立刻數(shù)、一個絕對地址或令字的內(nèi)容能夠是立刻數(shù)、一個絕對地址或一個變址位移量。一個變址位移量。 二、指令格式的優(yōu)化二、指令格式的優(yōu)化定義定義: : 縮短指令字的長度縮短指令字的長度方法方法: : 地址碼優(yōu)化地址碼優(yōu)化 操作碼優(yōu)化操作碼優(yōu)化( (這是本節(jié)主要討論的這是本節(jié)主要討論的) )優(yōu)化目的優(yōu)化目的: : 節(jié)省程序的存儲空間節(jié)省程序的存儲空間 指令格式規(guī)整指令格式規(guī)整, ,易于譯碼易于譯碼 堅持指令的執(zhí)行速度堅持指令的執(zhí)行速度其中,其中,PiPi表示第表示第i

18、 i種操作碼在程序中出現(xiàn)的概種操作碼在程序中出現(xiàn)的概率率( (運用頻度運用頻度) ),n n為操作碼的種數(shù)。為操作碼的種數(shù)。假設采用位固定長度操作碼,信息冗余量:假設采用位固定長度操作碼,信息冗余量:其中:其中:1.95 1.95 為哈夫曼編碼法的實際值為哈夫曼編碼法的實際值模型機的指令操作碼哈夫曼編碼法模型機的指令操作碼哈夫曼編碼法指令指令PiPi Huffman Huffman編碼編碼 碼長碼長 I1I10.450.450 01 1 I2 I20.300.3010102 2 I3 I30.150.151101103 3 I4 I40.050.05111011104 4 I5 I50.030

19、.0311110111105 5 I6 I60.010.011111101111106 6 I7 I70.010.011111111111116 6所以,平均碼長接近實際值!所以,平均碼長接近實際值!信息冗余量:信息冗余量:R =1.97-1.951.97= 1.02% 35% Huffman Huffman編碼經(jīng)過采用編碼經(jīng)過采用huffmanhuffman樹進展,如樹進展,如下所示:下所示: 0.15 1.00 0.39 0.19 0.10 0.06 0.03 0.31 0.61 0.01 0.02 0.03 0.04 0.07 0.08 0.09 0.16 0.20 0.30 Huffm

20、an Huffman 樹構(gòu)造樹構(gòu)造000HuffmanHuffman編碼的結(jié)果以及各編碼的長度如下編碼的結(jié)果以及各編碼的長度如下所示:所示:0.30 0.20 0.16 0.09 0.08 0.30 0.20 0.16 0.09 0.08 0.07 0.04 0.03 0.02 0.07 0.04 0.03 0.02 0.010.01 11 01 101 001 1001 11 01 101 001 1001 1000 0001 00001 000001 0000001000 0001 00001 000001 000000 2 2 3 3 2 2 3 3 4 4 4 5 4 4 4 5 6

21、66 6 哈夫曼編碼的優(yōu)點哈夫曼編碼的優(yōu)點: :平均長度最短平均長度最短信息冗余量最小信息冗余量最小 哈夫曼編碼的缺陷哈夫曼編碼的缺陷: : 操作碼種類多,譯碼復雜。操作碼種類多,譯碼復雜。模型機的指令操作碼擴展編碼法模型機的指令操作碼擴展編碼法11101110 I7 I70.010.01111111111111111111例子中例子中1-2-3-51-2-3-5編碼法碼長平均值編碼法碼長平均值 L = 0.45 L = 0.45 1 + 0.30 1 + 0.30 2 2 + 0.15 + 0.15 3 + 0.05 3 + 0.05 5 5 + 0.03 + 0.03 5 + 0.01 5

22、 + 0.01 5 5 + 0.01 + 0.01 5 5 = 2.00 = 2.00與哈夫曼編碼法相比,信息冗余量:與哈夫曼編碼法相比,信息冗余量: R = (2-1.95)/2.00 = 2.5%R = (2-1.95)/2.00 = 2.5%例子中例子中2-42-4編碼法碼長平均值編碼法碼長平均值L = 0.45 L = 0.45 2 + 0.3 2 + 0.3 2 2 + 0.15 + 0.15 2 + 0.05 2 + 0.05 4 4 + 0.03 + 0.03 4 + 0.01 4 + 0.01 4 4 + 0.01 + 0.01 4 4 = 2.20 = 2.20與哈夫曼編碼法

23、相比,信息冗余量:與哈夫曼編碼法相比,信息冗余量:R = (2.2-1.95)/2.2 = 11.4%R = (2.2-1.95)/2.2 = 11.4% 設某機型需設計設某機型需設計 100100條指令。試確定條指令。試確定以下兩種操作碼設計方案的操作碼長度。以下兩種操作碼設計方案的操作碼長度。1)1)采用定長操作碼格式。采用定長操作碼格式。2)2)采用擴展操作碼法。采用擴展操作碼法。( (設設1010的指令運的指令運用頻度為用頻度為90)90)思索:思索: 三、尋址方式三、尋址方式尋址方式:指的是確定本條指令的數(shù)據(jù)地址尋址方式:指的是確定本條指令的數(shù)據(jù)地址及下一條要執(zhí)行的指令地址的方法。及

24、下一條要執(zhí)行的指令地址的方法。 不同的計算機系統(tǒng),運用數(shù)目和功能不不同的計算機系統(tǒng),運用數(shù)目和功能不同的尋址方式,其實現(xiàn)的復雜程度和運轉(zhuǎn)性同的尋址方式,其實現(xiàn)的復雜程度和運轉(zhuǎn)性能也各不一樣。能也各不一樣。1、指令尋址、指令尋址順序順序( PC ) + 1 PC騰躍騰躍由轉(zhuǎn)移指令指出由轉(zhuǎn)移指令指出LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址尋址方式指令地址尋址方式指令地址指令地址指令指令順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?騰躍尋址騰躍尋址7順序?qū)ぶ讽樞驅(qū)ぶ?

25、2、數(shù)據(jù)尋址、數(shù)據(jù)尋址 商定商定 指令字長指令字長 = 存儲字長存儲字長 = 機器字長機器字長方式地址方式地址 A操作碼操作碼尋址特征尋址特征 通常需求在指令中為每一個操作數(shù)專設一個地址字通常需求在指令中為每一個操作數(shù)專設一個地址字段,用來表示數(shù)據(jù)的來源或去向的地址。段,用來表示數(shù)據(jù)的來源或去向的地址。 在指令中給出的操作數(shù)的地址被稱為方式地址,運在指令中給出的操作數(shù)的地址被稱為方式地址,運用方式地址信息并按一定的規(guī)那么計算出來的一個數(shù)用方式地址信息并按一定的規(guī)那么計算出來的一個數(shù)值才是數(shù)據(jù)或指令的實踐地址。值才是數(shù)據(jù)或指令的實踐地址。 運算器中存放器的編號或公用存放器稱號編號運算器中存放器的

26、編號或公用存放器稱號編號 輸入輸入/ /輸出指令中輸出指令中I/O I/O 設備的輸入輸出端口地址設備的輸入輸出端口地址 內(nèi)存儲器的一個存儲單元內(nèi)存儲器的一個存儲單元( (或一或一I/OI/O設備設備) )的地址的地址 在指令的操作數(shù)地址字段,能夠要指出:在指令的操作數(shù)地址字段,能夠要指出: 在計算機的指令系統(tǒng)中,會有多種根本尋在計算機的指令系統(tǒng)中,會有多種根本尋址方式和某些復合尋址方式址方式和某些復合尋址方式, ,簡介如下簡介如下: :1)1)直接尋址直接尋址 在指令的地址碼字段直接給出所需的操作數(shù)在指令的地址碼字段直接給出所需的操作數(shù)( (或指令或指令) )在存儲器中的地址。在存儲器中的地

27、址。 存儲器地址為操作數(shù)在存儲器地址為操作數(shù)在存儲器中的地址?;蜣D(zhuǎn)移存儲器中的地址?;蜣D(zhuǎn)移指令等用到的指令地址。指令等用到的指令地址。內(nèi)存儲器內(nèi)存儲器 操作數(shù)操作數(shù) 操作碼 存儲器地址例:例:MOV R1MOV R1,08000800簡單直觀,執(zhí)行速度快。簡單直觀,執(zhí)行速度快。編程不靈敏,訪問空間有限。編程不靈敏,訪問空間有限。2)2)存放器尋址存放器尋址 操作碼 存放器編號 指令地址碼字段給出某一通用存放器的指令地址碼字段給出某一通用存放器的編號編號( (地址地址) ),且所需的操作數(shù)就在這個存放,且所需的操作數(shù)就在這個存放器中,這就是存放器尋址方式。器中,這就是存放器尋址方式。 執(zhí)行階段不

28、訪存,只訪問存放器,執(zhí)行速度快。執(zhí)行階段不訪存,只訪問存放器,執(zhí)行速度快。 存放器個數(shù)有限,可縮短指令字長。存放器個數(shù)有限,可縮短指令字長。3)3)間接尋址方式間接尋址方式 假設存放器中存放的是操作數(shù)在內(nèi)存中所假設存放器中存放的是操作數(shù)在內(nèi)存中所在單元的地址,這就是存放器間接尋址方式。在單元的地址,這就是存放器間接尋址方式。a.經(jīng)過存放器的間接尋址方式經(jīng)過存放器的間接尋址方式 Reg No存放器間接尋址表示圖存放器間接尋址表示圖 0101(1)(1)存放器尋址與存放器間接尋址的不同點存放器尋址與存放器間接尋址的不同點 操作數(shù)所在位置不同操作數(shù)所在位置不同 指令執(zhí)行的速度不同指令執(zhí)行的速度不同思

29、索題思索題(2)(2)設計存放器間接尋址的必要性設計存放器間接尋址的必要性 可有效縮短指令的長度可有效縮短指令的長度 可方便程序處置的需求可方便程序處置的需求b.經(jīng)過存儲器的間接尋址方式經(jīng)過存儲器的間接尋址方式 指令的地址碼字段給出的內(nèi)容既不是操作指令的地址碼字段給出的內(nèi)容既不是操作數(shù),也不是操作數(shù)的地址,而是操作數(shù)或指數(shù),也不是操作數(shù)的地址,而是操作數(shù)或指令地址的地址,這被稱為存儲器間接尋址方令地址的地址,這被稱為存儲器間接尋址方式。式。操作數(shù)操作數(shù)Addr1特點:特點: 比直接尋址靈敏,并且比直接尋址靈敏,并且可用指令中的短地址訪問大的內(nèi)可用指令中的短地址訪問大的內(nèi)存空間;取操作數(shù)需二次訪

30、問主存空間;取操作數(shù)需二次訪問主存,降低了指令執(zhí)行的速度。存,降低了指令執(zhí)行的速度。 Addr4)4)基址尋址方式基址尋址方式 在計算機中設置一個公用的基址存放器,在計算機中設置一個公用的基址存放器,操作數(shù)或指令的地址經(jīng)過基址存放器的內(nèi)操作數(shù)或指令的地址經(jīng)過基址存放器的內(nèi)容和指令中的地址碼相加得到。容和指令中的地址碼相加得到。存儲器存儲器 disp 主要用于為程序或數(shù)據(jù)分配存儲區(qū),對主要用于為程序或數(shù)據(jù)分配存儲區(qū),對多道程序或浮動程序很有用,處理了程序在多道程序或浮動程序很有用,處理了程序在存儲器中的定位和擴展尋址空間等問題。存儲器中的定位和擴展尋址空間等問題。5)5)變址尋址方式變址尋址方式

31、 操作數(shù)的地址由指定的變址存放器由操作數(shù)的地址由指定的變址存放器由RegReg指定的內(nèi)容和指令中的地址碼指定的內(nèi)容和指令中的地址碼DispDisp相加相加得到。得到。存儲器存儲器 操作數(shù)操作數(shù) Reg Disp 便于對數(shù)組元素進展處置,此方式是便于對數(shù)組元素進展處置,此方式是計算機中常用的一種尋址方式。計算機中常用的一種尋址方式。6)6)塊塊( (串串) )尋址方式尋址方式 為了對數(shù)組運算提供更好的支持,采用該為了對數(shù)組運算提供更好的支持,采用該種尋址方式的指令中,要對整個數(shù)組實現(xiàn)某種種尋址方式的指令中,要對整個數(shù)組實現(xiàn)某種運算,只需給出數(shù)組的首地址和末地址,這條運算,只需給出數(shù)組的首地址和末

32、地址,這條指令執(zhí)行一次,可對數(shù)組的全部元素完成某種指令執(zhí)行一次,可對數(shù)組的全部元素完成某種運算操作。運算操作。 此方式是現(xiàn)代計算機中廣泛采用的一種尋此方式是現(xiàn)代計算機中廣泛采用的一種尋址方式。址方式。7)7)隱含尋址方式隱含尋址方式 對于雙操作數(shù)指令,假設事先商定參與運對于雙操作數(shù)指令,假設事先商定參與運算的一個操作數(shù)固定存放在某個存放器或某個算的一個操作數(shù)固定存放在某個存放器或某個存儲單元中。指令中不直接給出某個操作數(shù)的存儲單元中。指令中不直接給出某個操作數(shù)的地址,被稱為隱含尋址方式。地址,被稱為隱含尋址方式。ADDA操作數(shù)操作數(shù)主存主存尋址特征尋址特征AACC暫存暫存ALU另一個操作數(shù)另一

33、個操作數(shù)隱含在隱含在 ACC 中中如如 8086MUL 指令指令被乘數(shù)隱含在被乘數(shù)隱含在 AX16位或位或 AL8位中位中MOVS 指令指令源操作數(shù)的地址隱含在源操作數(shù)的地址隱含在 SI 中中目的操作數(shù)的地址隱含在目的操作數(shù)的地址隱含在 DI 中中 指令字中少了一個地址字段,可縮短指令字長。指令字中少了一個地址字段,可縮短指令字長。8)8)立刻尋址方式立刻尋址方式 所需的一個操作數(shù)在指令的地址碼部分直所需的一個操作數(shù)在指令的地址碼部分直接給出。接給出。特點:在取指令的同時取出了操作數(shù),不用訪問主特點:在取指令的同時取出了操作數(shù),不用訪問主存,提高了指令的執(zhí)行速度存,提高了指令的執(zhí)行速度; ;靈

34、敏性差。靈敏性差。 Num 操作數(shù)操作數(shù)( (或指令或指令) )的地址由程序計數(shù)器的地址由程序計數(shù)器PCPC的的內(nèi)容內(nèi)容( (即當前執(zhí)行指令的地址即當前執(zhí)行指令的地址) )和指令的地址碼和指令的地址碼相加得到。相加得到。 主要用于轉(zhuǎn)移指令,對縮短指令長度很有主要用于轉(zhuǎn)移指令,對縮短指令長度很有用。位移量可正可負,通常用補碼表示。用。位移量可正可負,通常用補碼表示。9)9)相對尋址方式相對尋址方式 PCPCJMP現(xiàn)行指令現(xiàn)行指令JMP NEXTADD AXADD AX,BXBX20012001PCPC在指令中不指定,是隱含在指令中不指定,是隱含的,所以可以縮短指令長度。的,所以可以縮短指令長度。

35、 例題:設相對轉(zhuǎn)移指令占兩個字節(jié),第一個例題:設相對轉(zhuǎn)移指令占兩個字節(jié),第一個字節(jié)是操作碼,其地址是字節(jié)是操作碼,其地址是 2000H2000H,第二個字節(jié)是,第二個字節(jié)是相對位移量,那么:相對位移量,那么:(PC)=2002H(PC)=2002H 堆棧是內(nèi)存儲器中一塊按堆棧是內(nèi)存儲器中一塊按“后進先出原后進先出原那么進展讀寫的存儲區(qū),并經(jīng)過一個公用的存那么進展讀寫的存儲區(qū),并經(jīng)過一個公用的存放器放器( (堆棧指針堆棧指針SP)SP)給出堆棧的棧頂?shù)刂?,完成給出堆棧的棧頂?shù)刂?,完成?shù)據(jù)的讀寫操作,故不用在指令中用操作數(shù)地數(shù)據(jù)的讀寫操作,故不用在指令中用操作數(shù)地址字段給堆棧地址。通常在讀寫操作的

36、前后伴址字段給堆棧地址。通常在讀寫操作的前后伴隨有計算機自動隨有計算機自動( (不是用戶經(jīng)過指令不是用戶經(jīng)過指令) )修正修正SPSP內(nèi)內(nèi)容的動作,以確保按正確的容的動作,以確保按正確的“后進先出原那后進先出原那么讀寫堆棧區(qū)。么讀寫堆棧區(qū)。 四、堆棧構(gòu)造及尋址四、堆棧構(gòu)造及尋址1.1.用操作碼區(qū)分用操作碼區(qū)分2.2.在指令中劃分公用的字段來闡明在指令中劃分公用的字段來闡明 操作操作碼碼 操作數(shù)操作數(shù) 操作碼操作碼 存放器存放器 操作數(shù)操作數(shù) R 操作碼操作碼 存儲器存儲器 指令指令 操作數(shù)操作數(shù) A 操作碼操作碼 操作數(shù)操作數(shù) A 存儲器存儲器 存放器存放器 R 存儲器存儲器 操作碼操作碼 操

37、作數(shù)操作數(shù) A A 操作碼操作碼 操作數(shù)操作數(shù) PC 存儲器存儲器 A 尋址方式尋址方式 有效地址有效地址EAEA的計算公式的計算公式 尋址范圍尋址范圍 立刻尋址立刻尋址 直接尋址直接尋址 間接尋址間接尋址 變址尋址變址尋址 相對尋址相對尋址 解:由于解:由于OPOP字段長字段長5 5位,所以指令能定義位,所以指令能定義25=3225=32種指令。種指令。 例:某機字長為例:某機字長為1616位,存儲器按字編址,訪內(nèi)存指令格位,存儲器按字編址,訪內(nèi)存指令格式如下:式如下: 15 11 10 8 7 015 11 10 8 7 0其中其中OPOP是操作碼,是操作碼,M M定義尋址方式,定義尋址方

38、式,A A為方式地址。設為方式地址。設PCPC和和RxRx分分別為程序計數(shù)器和變址存放器,字長別為程序計數(shù)器和變址存放器,字長1616位。位。 1 1該指令能定義多少種指令?該指令能定義多少種指令? 2 2表中各種尋址方式的尋址范圍為多少?表中各種尋址方式的尋址范圍為多少? 3 3寫出表中各種尋址方式的有效地址寫出表中各種尋址方式的有效地址EAEA的計算公式。的計算公式。練習題:練習題: 某機字長某機字長1616位,內(nèi)存容量為位,內(nèi)存容量為64K64K字,指令格字,指令格式為單字長單地址,其有式為單字長單地址,其有6464條指令,問:條指令,問: 1 1假設只采用直接尋址方式,指令能訪問假設只

39、采用直接尋址方式,指令能訪問多少內(nèi)存單元?多少內(nèi)存單元? 2 2為了擴展指令的尋址范圍,可采用直接為了擴展指令的尋址范圍,可采用直接/ /間接尋址方式,假設只添加一位直接間接尋址方式,假設只添加一位直接/ /間接標間接標志,指令可尋址范圍為多少?指令直接尋址的志,指令可尋址范圍為多少?指令直接尋址的范圍為多少?范圍為多少? 一個完善的指令系統(tǒng)應滿足如下四方一個完善的指令系統(tǒng)應滿足如下四方面的要求:面的要求: 完備性 有效性有效性 五、指令系統(tǒng)舉例五、指令系統(tǒng)舉例1.1.對稱性是指在指令系統(tǒng)中一切的存放器和存對稱性是指在指令系統(tǒng)中一切的存放器和存儲器單元都可同等對待,一切的指令都可運用儲器單元都

40、可同等對待,一切的指令都可運用各種尋址方式;各種尋址方式;2.2.勻齊性是指一種操作性質(zhì)的指令可以支持各勻齊性是指一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型;種數(shù)據(jù)類型;3.3.指令格式和數(shù)據(jù)格式的一致性是指指令長度指令格式和數(shù)據(jù)格式的一致性是指指令長度和數(shù)據(jù)長度有一定的關(guān)系,以方便處置和存取。和數(shù)據(jù)長度有一定的關(guān)系,以方便處置和存取。 傳送指令傳送指令 MOV Ri/M , Ri RR , RM 堆棧指令堆棧指令 PUSH Ri Ri入棧入棧 輸入輸出指令輸入輸出指令 IN AL/AH ,端口號端口號 端口端口累加器累加器 加法指令加法指令 ADD Ri , Ri R+R R 加加1指令指令 I

41、NC Ri /M R+1R 邏輯與指令邏輯與指令 AND Ri, Rj 無條件轉(zhuǎn)移指令無條件轉(zhuǎn)移指令 JMP A APC 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令 JRNZ A Z=1 時時APC 循環(huán)指令循環(huán)指令 LOOP Pentium指令格式指令格式字節(jié)字節(jié):1或或2 0或或1 0或或1 0,1 ,2或或4 0,1,2或或4 OP MOD/RM SIB Disp ImmMod Reg/Op R/M SS Index Base 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 指令格式復雜指令格式復雜; ;尋址方式多樣尋址方式多樣; ;通用存放器較少通用存放器較少; ;編譯系統(tǒng)復雜編譯系統(tǒng)復

42、雜; ;典型典型CISC CISC 指令集指令集. .指令流水實現(xiàn)復雜指令流水實現(xiàn)復雜; ;MIPS指令格式指令格式指令格式簡單指令格式簡單; ;尋址方式較少尋址方式較少; ;通用存放器較多通用存放器較多; ;編譯系統(tǒng)簡單高效編譯系統(tǒng)簡單高效; ;典型典型RISC RISC 指令集指令集. .容易實現(xiàn)流水操作容易實現(xiàn)流水操作; ;當前的計算機指令系統(tǒng),從其構(gòu)成的復當前的計算機指令系統(tǒng),從其構(gòu)成的復雜和完備程度,或者說設計中追求的不同的雜和完備程度,或者說設計中追求的不同的目的,區(qū)分為:目的,區(qū)分為: 指令系統(tǒng)復雜龐大,指令數(shù)目普通多達指令系統(tǒng)復雜龐大,指令數(shù)目普通多達500500條以上。條以上。 尋址方式多。尋址方式多。 指令格式多,功能強。指令格式多,功能強。 指令字長不固定。指令字長不固定。 各種指令的運用頻度相差很大。各種指令的運用頻度相差很大。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論