版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、指令:指令: 是指示計算機執(zhí)行基本操作的命令是指示計算機執(zhí)行基本操作的命令。指令也是用戶使用計算機的最小功能單指令也是用戶使用計算機的最小功能單位。位。 從計算機組成的層次結構來說,計從計算機組成的層次結構來說,計算機的指令有微指令、機器指令和宏指算機的指令有微指令、機器指令和宏指令之分。令之分。 微指令:微指令:是微程序級的命令,它屬于硬件;是微程序級的命令,它屬于硬件;宏指令:宏指令:是由苦干條機器指令組成的軟件指令,是由苦干條機器指令組成的軟件指令,它屬于軟件;它屬于軟件; 機器指令:機器指令:則介于微指令與宏指令之間,通常則介于微指令與宏指令之間,通常簡稱為指令。每一條指令可完成一個獨
2、立的算簡稱為指令。每一條指令可完成一個獨立的算術運算或邏輯運算操作。術運算或邏輯運算操作。 本章所討論的指令是機器指令。本章所討論的指令是機器指令。 指令系統(tǒng):指令系統(tǒng):一臺計算機支持一臺計算機支持( (或稱使用或稱使用) )的全部指令的的全部指令的集合構成該計算機的指令系統(tǒng)。集合構成該計算機的指令系統(tǒng)。由于指令與計算機的性能以及硬件結構密由于指令與計算機的性能以及硬件結構密切相關,所以不同系列、不同型號的計算機其切相關,所以不同系列、不同型號的計算機其指令系統(tǒng)是不一樣的。指令系統(tǒng)是不一樣的。指令的基本格式指令的基本格式指令格式的優(yōu)化指令格式的優(yōu)化尋址方式尋址方式指令系統(tǒng)舉例指令系統(tǒng)舉例 th
3、-unionth-union匯編語言程序設計匯編語言程序設計一、指令的格式一、指令的格式 任何一條機器指令由一組有意義的二進制任何一條機器指令由一組有意義的二進制代碼構成,稱為一個指令字。代碼構成,稱為一個指令字。 1 1、機器指令、機器指令 用機器指令編寫的程序是計算機惟一能夠用機器指令編寫的程序是計算機惟一能夠直接識別并執(zhí)行的程序,稱為機器語言程序。直接識別并執(zhí)行的程序,稱為機器語言程序。機器語言程序被稱為目標程序機器語言程序被稱為目標程序( (目標代碼)。目標代碼)。 機器直接執(zhí)行,速度快。機器直接執(zhí)行,速度快。 缺點:缺點:與機器硬件直接相關,通用性差;與機器硬件直接相關,通用性差;編
4、程不直觀、難以記憶、使用很不方便。編程不直觀、難以記憶、使用很不方便。為了克服機器語言的缺點,人們采用助記為了克服機器語言的缺點,人們采用助記符表示機器指令的操作碼,用符號代替操作數(shù)符表示機器指令的操作碼,用符號代替操作數(shù)的存放地址等,這樣就形成了匯編指令。的存放地址等,這樣就形成了匯編指令。 例:例:機器指令:機器指令: 00000111001000010000011100100001 匯編指令:匯編指令: mvrr r2mvrr r2,r1r1 用匯編指令編寫的程序稱為匯編源程序。用匯編指令編寫的程序稱為匯編源程序。一條機器指令對應一條匯編指令。用匯編一條機器指令對應一條匯編指令。用匯編指
5、令編寫程序就直觀方便得多。指令編寫程序就直觀方便得多。用匯編語言編寫程序及執(zhí)行的過程用匯編語言編寫程序及執(zhí)行的過程mvrr r0,r1add r0,r3 1000100111011000 高級語言高級語言 匯編語言雖然較機器語言直觀,但仍然煩匯編語言雖然較機器語言直觀,但仍然煩瑣難懂。于是人們研制出了高級程序設計語言?,嶋y懂。于是人們研制出了高級程序設計語言。高級程序設計語言接近于人類自然語言的語法高級程序設計語言接近于人類自然語言的語法習慣,與習慣,與計算機硬件無關,易被用戶掌握和使計算機硬件無關,易被用戶掌握和使用。用。(1) (1) 用語言實現(xiàn):用語言實現(xiàn): main () int a,
6、 b, sum; a=123; b=456; sum=a+b 例如:編程實現(xiàn)例如:編程實現(xiàn) 123123 加加 456456 求和求和(2)(2)用用80868086匯編語言實現(xiàn):匯編語言實現(xiàn): a dw 123 b dw 456 sum dw ? code segment assume cs: code, ds:data main:mov ax,data mov ds,ax mov ax, a add ax, bmov sum , axmov ax, 4c00hint 21hmain endpcode endsend main(3)(3)用機器語言實現(xiàn):用機器語言實現(xiàn): 鍵入代碼:鍵入代碼:
7、 -e cs:100 a1 0f 01 03 06 11 01 a3 13 01 b8 00 4c cd 21 為數(shù)據(jù)分配空間:為數(shù)據(jù)分配空間: -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任何一條機器指令由一組有意義的二進制任何一條機器指令由一組有意義的二進制代碼構成,稱為一個代碼構成,稱為一個指令
8、字指令字。 其基本格式可劃分成二個部分:其基本格式可劃分成二個部分: 2. 2. 指令的基本格式指令的基本格式表明操作數(shù)存放表明操作數(shù)存放的位置,以便找的位置,以便找到操作數(shù)完成指到操作數(shù)完成指令的功能。令的功能。th-union指令的操指令的操作碼字段作碼字段指令的操指令的操 作數(shù)字段作數(shù)字段 1 1)操作碼)操作碼定長操作碼定長操作碼變長操作碼變長操作碼 在指令系統(tǒng)中,在指令系統(tǒng)中,每一條指令都有唯一確定每一條指令都有唯一確定的操作碼。的操作碼。 分二種形式:分二種形式: a. a. 定長操作碼形式定長操作碼形式在指令字中,操作碼字段的位數(shù)和在指令字中,操作碼字段的位數(shù)和位置是固定的。位置
9、是固定的。早期的計算機一般采用定長操作碼早期的計算機一般采用定長操作碼的設計,控制簡單,且對操作碼的譯碼的設計,控制簡單,且對操作碼的譯碼實現(xiàn)容易。實現(xiàn)容易。 ibm 360/370 ibm 360/370 操作碼是操作碼是八位八位的:的:00000000000000001111111111111111 該指令系統(tǒng)最多可有多少條指令?該指令系統(tǒng)最多可有多少條指令? th-unionth-union操作碼是操作碼是八位八位的:的: 00000000000000001111111111111111 該指令系統(tǒng)最多可有該指令系統(tǒng)最多可有256256條指令條指令。 例如:例如:riri:通用寄存器:通
10、用寄存器xixi:變址寄存器:變址寄存器bibi:基址寄存器:基址寄存器didi:位移量:位移量i i: 立即數(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ù)不等長。不等長。例:例:pd
11、p-11pdp-11小型機的指令系統(tǒng)小型機的指令系統(tǒng) 其指令長度為其指令長度為1616位,操作碼字段的長度位,操作碼字段的長度有有、1010、1313、1616等不同的情況。等不同的情況。 為增加操作碼長度,采用為增加操作碼長度,采用 操作碼逐段擴展技術操作碼逐段擴展技術 變長操作碼的特點變長操作碼的特點 優(yōu)點:可方便擴充指令系統(tǒng)有利于縮短指令優(yōu)點:可方便擴充指令系統(tǒng)有利于縮短指令操作碼的平均長度。操作碼的平均長度。 缺點:指令譯碼的控制復雜,硬件電路復雜。缺點:指令譯碼的控制復雜,硬件電路復雜。 2) 2) 地址碼的設計和安排地址碼的設計和安排按照指令中按照指令中地址碼字段地址碼字段給出的給
12、出的地址的個地址的個數(shù)數(shù)的不同,的不同,無地址指令(零地址指令)無地址指令(零地址指令)一地址指令(單地址指令)一地址指令(單地址指令)雙地址指令雙地址指令多地址指令多地址指令有四種情況有四種情況: : a. a. 無地址指令無地址指令( (零地址指令零地址指令) )有二種情況:有二種情況: 指令不需要任何操作數(shù)。指令不需要任何操作數(shù)。 操作數(shù)為隱含的,或操作數(shù)操作數(shù)為隱含的,或操作數(shù)地址是默認的。地址是默認的。 格式格式: : b. b. 一地址指令一地址指令( (單地址指令單地址指令) )只有一個地址碼,用于單操作數(shù)指令。只有一個地址碼,用于單操作數(shù)指令。 或者雙操作數(shù)指令,但其中一個操作
13、數(shù)的或者雙操作數(shù)指令,但其中一個操作數(shù)的地址為默認值。地址為默認值。 格式格式: : c. c. 雙地址指令雙地址指令add dr, sradd dr, sr 格式格式: : d. d. 多地址指令多地址指令特點:特點:操作完成后操作完成后源操作數(shù)源操作數(shù)的內容不被破壞,的內容不被破壞,用戶編程方便。嚴重的缺點是指令字較長。用戶編程方便。嚴重的缺點是指令字較長。格式格式: :格式格式: : 3) 3) 指令字長度指令字長度 機器指令的二進制序列的位數(shù)。機器指令的二進制序列的位數(shù)。 定長指令定長指令變長操作碼變長操作碼 變長指令變長指令定長操作碼定長操作碼例:例:某機指令系統(tǒng),指令字為某機指令系
14、統(tǒng),指令字為1616位固定長,位固定長,要求有要求有地址指令、地址指令、地址指令、地址指令、地址指地址指令和令和地址指令,每個地址碼地址指令,每個地址碼位。應如何位。應如何設計?設計? a. a. 定長指令變長操作碼定長指令變長操作碼 該種形式是將操作碼的設計與地址碼的該種形式是將操作碼的設計與地址碼的設計作為一個整體考慮,以形成高效合理的設計作為一個整體考慮,以形成高效合理的指令編碼。指令編碼。練習:練習:設某機為定長指令字結構,指令長度設某機為定長指令字結構,指令長度1212位,位,每個地址碼占位,試提出一種方案,使該系每個地址碼占位,試提出一種方案,使該系統(tǒng)包含條三地址指令,條二地址指令
15、,統(tǒng)包含條三地址指令,條二地址指令,180 180 條單地址指令。條單地址指令。另:能否構成三地址指令條,單地址指另:能否構成三地址指令條,單地址指令令 255255條,零地址指令條,零地址指令6464條呢?條呢? b. b. 變長指令定長操作碼變長指令定長操作碼例:例:ibm360/370ibm360/370 指令的操作碼是指令的操作碼是位的,位的, 指令字為指令字為1616位、位、3232位、位、4848位。位。 th-unionth-union 指令的操作碼是指令的操作碼是8 8位的,位的, 指令字為指令字為1616位位. . 單字指令僅用一個指令字。單字指令僅用一個指令字。 雙字指令要
16、用兩個指令字雙字指令要用兩個指令字, , 此時第二個指此時第二個指令字的內容可能是立即數(shù)、一個絕對地址或令字的內容可能是立即數(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í)行速度其中,其中,p pi i表示第表示第i i種操作碼在程序中出現(xiàn)的概種操作碼在程序中出現(xiàn)的
17、概率率( (使用頻度使用頻度) ),n n為操作碼的種數(shù)。為操作碼的種數(shù)。若采用位固定長度操作碼,信息冗余量:若采用位固定長度操作碼,信息冗余量:其中:其中:1.95 1.95 為哈夫曼編碼法的理論值為哈夫曼編碼法的理論值模型機的指令操作碼哈夫曼編碼法模型機的指令操作碼哈夫曼編碼法指令指令pipi huffman huffman編碼編碼 碼長碼長所以,平均碼長接近理論值!所以,平均碼長接近理論值!信息冗余量:信息冗余量:r =1.97-1.951.97= 1.02% 35% huffman huffman編碼通過采用編碼通過采用huffmanhuffman樹進行,如樹進行,如下所示:下所示:
18、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 huffman huffman 樹結構樹結構000huffmanhuffman編碼的結果以及各編碼的長度如下所示:編碼的結果以及各編碼的長度如下所示: 哈夫曼編碼的優(yōu)點哈夫曼編碼的優(yōu)點: :平均長度最短平均長度最短信息冗余量最小信息冗余量最小 哈夫曼編碼的缺點哈夫曼編碼的缺點: : 操作碼種類多,譯碼復雜。操作碼種類多,譯碼復雜。模型機的指令操作碼擴展編碼法模型機的指令操作碼擴展編碼法例子中例子中1-2-3
19、-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 + 0.01 5 5 + 0.01 + 0.01 5 5 = 2.00 = 2.00與哈夫曼編碼法相比,信息冗余量:與哈夫曼編碼法相比,信息冗余量: r r = = (2-1.95)/2.00 = 2.5%(2-1.95)/2.00 = 2.5%例子中例子中2-42-4編碼法碼長平均值編碼法碼長平均值l = 0.45 l = 0.45 2 +
20、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與哈夫曼編碼法相比,信息冗余量:與哈夫曼編碼法相比,信息冗余量:r = (2.2-1.95)/2.2 = 11.4%r = (2.2-1.95)/2.2 = 11.4% 設某機型需設計設某機型需設計 100100條指令。試確定條指令。試確定以下兩種操作碼設計方案的操作碼長度。以下兩種操作碼設計方案的操作碼長度。1)1)采用定長操作碼格式。采用定長操作碼格式。2
21、)2)采用擴展操作碼法。采用擴展操作碼法。( (設設1010的指令使的指令使用頻度為用頻度為9090) )思考:思考: 三、尋址方式三、尋址方式尋址方式:尋址方式:指的是確定本條指令的數(shù)據(jù)地址指的是確定本條指令的數(shù)據(jù)地址及及下一條要執(zhí)行的指令地址的方法。下一條要執(zhí)行的指令地址的方法。 不同的計算機系統(tǒng),使用數(shù)目和功能不不同的計算機系統(tǒng),使用數(shù)目和功能不同的尋址方式,其實現(xiàn)的復雜程度和運行性同的尋址方式,其實現(xiàn)的復雜程度和運行性能也各不相同。能也各不相同。1、指令尋址、指令尋址順序順序( pc ) + 1 pc跳躍跳躍由轉移指令指出由轉移指令指出lda 1000add 1001dec 1200j
22、mp 7lda 2000sub 2001incsta 2500lda 1100.0123456789pc+1指令地址尋址方式指令地址尋址方式指令地址指令地址指令指令順序尋址順序尋址1順序尋址順序尋址2順序尋址順序尋址3跳躍尋址跳躍尋址7順序尋址順序尋址82、數(shù)據(jù)尋址、數(shù)據(jù)尋址 約定約定 指令字長指令字長 = 存儲字長存儲字長 = 機器字長機器字長形式地址形式地址 a操作碼操作碼尋址特征尋址特征 通常需要在指令中為每一個操作數(shù)專設一個地址字通常需要在指令中為每一個操作數(shù)專設一個地址字段,用來表示數(shù)據(jù)的來源或去向的地址。段,用來表示數(shù)據(jù)的來源或去向的地址。 在指令中給出的操作數(shù)的地址被稱為形式地址
23、,使在指令中給出的操作數(shù)的地址被稱為形式地址,使用形式地址信息并按一定的規(guī)則計算出來的一個數(shù)值用形式地址信息并按一定的規(guī)則計算出來的一個數(shù)值才是數(shù)據(jù)(或指令)的實際地址。才是數(shù)據(jù)(或指令)的實際地址。 運算器中寄存器的編號或專用寄存器名稱(編號)運算器中寄存器的編號或專用寄存器名稱(編號) 輸入輸入/ /輸出指令中輸出指令中i/o i/o 設備的輸入輸出端口地址設備的輸入輸出端口地址 內存儲器的一個存儲單元內存儲器的一個存儲單元( (或一或一i/oi/o設備設備) )的地址的地址 在指令的操作數(shù)地址字段,可能要指出:在指令的操作數(shù)地址字段,可能要指出: 在計算機的指令系統(tǒng)中,會有多種在計算機的
24、指令系統(tǒng)中,會有多種基本尋基本尋址方式址方式和某些和某些復合尋址方式復合尋址方式, ,簡介如下簡介如下: :1)1)直接尋址直接尋址 在指令的地址碼字段直接給出所需的操作數(shù)在指令的地址碼字段直接給出所需的操作數(shù)( (或指令或指令) )在存儲器中的地址。在存儲器中的地址。 存儲器地址為操作數(shù)在存儲器地址為操作數(shù)在存儲器中的地址。或轉移存儲器中的地址。或轉移指令等用到的指令地址。指令等用到的指令地址。內存儲器內存儲器 例:例:mov r1,0800簡單直觀,執(zhí)行速度快。簡單直觀,執(zhí)行速度快。編程不靈活,訪問空間有限。編程不靈活,訪問空間有限。2)2)寄存器尋址寄存器尋址 指令地址碼字段給出某一通用
25、寄存器的指令地址碼字段給出某一通用寄存器的編號編號( (地址地址) ),且所需的操作數(shù)就在這個寄存,且所需的操作數(shù)就在這個寄存器中,這就是寄存器尋址方式。器中,這就是寄存器尋址方式。 執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快。執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快。 寄存器個數(shù)有限,可縮短指令字長。寄存器個數(shù)有限,可縮短指令字長。3)3)間接尋址方式間接尋址方式 若寄存器中存放的是操作數(shù)在內存中所在若寄存器中存放的是操作數(shù)在內存中所在單元的地址,這就是寄存器間接尋址方式。單元的地址,這就是寄存器間接尋址方式。a.通過寄存器的間接尋址方式通過寄存器的間接尋址方式 寄存器間接尋址示意圖寄存器間接
26、尋址示意圖 (1)(1)寄存器尋址與寄存器間接尋址的不同點寄存器尋址與寄存器間接尋址的不同點 操作數(shù)所在位置不同操作數(shù)所在位置不同 指令執(zhí)行的速度不同指令執(zhí)行的速度不同思考題思考題(2)(2)設計寄存器間接尋址的必要性設計寄存器間接尋址的必要性 可有效縮短指令的長度可有效縮短指令的長度 可方便程序處理的需要可方便程序處理的需要b.通過存儲器的間接尋址方式通過存儲器的間接尋址方式 指令的地址碼字段給出的內容既不是操作指令的地址碼字段給出的內容既不是操作數(shù),也不是操作數(shù)的地址,而是操作數(shù)(或指數(shù),也不是操作數(shù)的地址,而是操作數(shù)(或指令)地址的地址,這被稱為存儲器間接尋址方令)地址的地址,這被稱為存
27、儲器間接尋址方式。式。操作數(shù)操作數(shù)addr1特點:特點: 比直接尋址靈活,并且比直接尋址靈活,并且可用指令中的短地址訪問大的內可用指令中的短地址訪問大的內存空間;取操作數(shù)需二次訪問主存空間;取操作數(shù)需二次訪問主存,降低了指令執(zhí)行的速度。存,降低了指令執(zhí)行的速度。 4)4)基址尋址方式基址尋址方式 在計算機中設置一個專用的基址寄存器,在計算機中設置一個專用的基址寄存器,操作數(shù)(或指令)的地址通過基址寄存器的內操作數(shù)(或指令)的地址通過基址寄存器的內容和指令中的地址碼相加得到。容和指令中的地址碼相加得到。存儲存儲器器 主要用于為程序或數(shù)據(jù)分配存儲區(qū),對主要用于為程序或數(shù)據(jù)分配存儲區(qū),對多道程序或浮
28、動程序很有用,解決了程序在多道程序或浮動程序很有用,解決了程序在存儲器中的定位和擴大尋址空間等問題。存儲器中的定位和擴大尋址空間等問題。5)5)變址尋址方式變址尋址方式 操作數(shù)的地址由指定的變址寄存器(由操作數(shù)的地址由指定的變址寄存器(由regreg指定)的內容和指令中的地址碼(指定)的內容和指令中的地址碼(dispdisp)相加)相加得到。得到。存儲器存儲器 便于對數(shù)組元素進行處理,此方式是便于對數(shù)組元素進行處理,此方式是計算機中常用的一種尋址方式。計算機中常用的一種尋址方式。6)6)塊塊( (串串) )尋址方式尋址方式 為了對數(shù)組運算提供更好的支持,采用該為了對數(shù)組運算提供更好的支持,采用
29、該種尋址方式的指令中,要對整個數(shù)組實現(xiàn)某種種尋址方式的指令中,要對整個數(shù)組實現(xiàn)某種運算,只需給出數(shù)組的首地址和末地址,這條運算,只需給出數(shù)組的首地址和末地址,這條指令執(zhí)行一次,可對數(shù)組的全部元素完成某種指令執(zhí)行一次,可對數(shù)組的全部元素完成某種運算操作。運算操作。 此方式是現(xiàn)代計算機中廣泛采用的一種尋此方式是現(xiàn)代計算機中廣泛采用的一種尋址方式。址方式。7)7)隱含尋址方式隱含尋址方式 對于雙操作數(shù)指令,如果事先約定參與運對于雙操作數(shù)指令,如果事先約定參與運算的一個操作數(shù)固定存放在某個寄存器或某個算的一個操作數(shù)固定存放在某個寄存器或某個存儲單元中。指令中不直接給出某個操作數(shù)的存儲單元中。指令中不直
30、接給出某個操作數(shù)的地址,被稱為隱含尋址方式。地址,被稱為隱含尋址方式。adda操作數(shù)操作數(shù)主存主存尋址特征尋址特征aacc暫存暫存alu另一個操作數(shù)另一個操作數(shù)隱含在隱含在 acc 中中如如 8086mul 指令指令被乘數(shù)隱含在被乘數(shù)隱含在 ax(16位)或位)或 al(8位)中位)中movs 指令指令源操作數(shù)的地址隱含在源操作數(shù)的地址隱含在 si 中中目的操作數(shù)的地址隱含在目的操作數(shù)的地址隱含在 di 中中 指令字中少了一個地址字段,可縮短指令字長。指令字中少了一個地址字段,可縮短指令字長。8)8)立即尋址方式立即尋址方式 所需的一個操作數(shù)在指令的地址碼部分直所需的一個操作數(shù)在指令的地址碼部
31、分直接給出。接給出。特點:特點:在取指令的同時取出了操作數(shù),不必訪問主在取指令的同時取出了操作數(shù),不必訪問主存,提高了指令的執(zhí)行速度存,提高了指令的執(zhí)行速度; ;靈活性差。靈活性差。 操作數(shù)操作數(shù)( (或指令或指令) )的地址由程序計數(shù)器的地址由程序計數(shù)器pcpc的的內容內容( (即當前執(zhí)行指令的地址即當前執(zhí)行指令的地址) )和指令的地址碼和指令的地址碼相加得到。相加得到。 主要用于轉移指令,對縮短指令長度很有主要用于轉移指令,對縮短指令長度很有用。位移量可正可負,通常用補碼表示。用。位移量可正可負,通常用補碼表示。9)9)相對尋址方式相對尋址方式 pcpcjmp現(xiàn)行指令現(xiàn)行指令jmp add
32、 axadd ax,bxbx20012001pcpc在指令中不指定,是隱含在指令中不指定,是隱含的,所以可以縮短指令長度。的,所以可以縮短指令長度。 例題:設相對轉移指令占兩個字節(jié),第一個例題:設相對轉移指令占兩個字節(jié),第一個字節(jié)是操作碼,其地址是字節(jié)是操作碼,其地址是 2000h2000h,第二個字節(jié)是,第二個字節(jié)是相對位移量,那么:相對位移量,那么:(pc)=2002h(pc)=2002h 堆棧是內存儲器中一塊按堆棧是內存儲器中一塊按“”原原則進行讀寫的存儲區(qū),并通過一個專用的寄存則進行讀寫的存儲區(qū),并通過一個專用的寄存器器( (堆棧指針堆棧指針) )給出堆棧的棧頂?shù)刂?,完成?shù)給出堆棧的棧
33、頂?shù)刂?,完成?shù)據(jù)的讀寫操作,故不必在指令中用操作數(shù)地址據(jù)的讀寫操作,故不必在指令中用操作數(shù)地址字段給堆棧地址。通常在讀寫操作的前后伴隨字段給堆棧地址。通常在讀寫操作的前后伴隨有計算機自動有計算機自動( (不是用戶通過指令不是用戶通過指令) )修改修改內容內容的動作,以確保按正確的的動作,以確保按正確的“”原則讀原則讀寫堆棧區(qū)。寫堆棧區(qū)。 四、堆棧結構及尋址四、堆棧結構及尋址1.1.用操作碼區(qū)分用操作碼區(qū)分2.2.在指令中劃分專用的字段來說明在指令中劃分專用的字段來說明 操作操作碼碼 操作數(shù)操作數(shù) 操作碼操作碼 寄存器寄存器 操作數(shù)操作數(shù) r 操作碼操作碼 存儲器存儲器 指令指令 操作數(shù)操作數(shù)
34、a 操作碼操作碼 操作數(shù)操作數(shù) a 存儲器存儲器 寄存器寄存器 r 存儲器存儲器 操作碼操作碼 操作數(shù)操作數(shù) a a 操作碼操作碼 操作數(shù)操作數(shù) pc 存儲器存儲器 a 尋址方式尋址方式 有效地址有效地址eaea的計算公式的計算公式 尋址范圍尋址范圍 立即尋址立即尋址 直接尋址直接尋址 間接尋址間接尋址 變址尋址變址尋址 相對尋址相對尋址 解:因為解:因為opop字段長字段長5 5位,所以指令能定義位,所以指令能定義2 25 5=32=32種指令。種指令。 例:某機字長為例:某機字長為1616位,存儲器按字編址,訪內存指令格式如下:位,存儲器按字編址,訪內存指令格式如下: 15 11 10 8
35、 7 015 11 10 8 7 0其中其中opop是操作碼,是操作碼,m m定義尋址方式,定義尋址方式,a a為形式地址。設為形式地址。設pcpc和和rxrx分分別為程序計數(shù)器和變址寄存器,字長別為程序計數(shù)器和變址寄存器,字長1616位。位。 (1 1)該指令能定義多少種指令?)該指令能定義多少種指令? (2 2)表中各種尋址方式的尋址范圍為多少?)表中各種尋址方式的尋址范圍為多少? (3 3)寫出表中各種尋址方式的有效地址)寫出表中各種尋址方式的有效地址eaea的計算公式。的計算公式。練習題:練習題: 某機字長某機字長1616位,內存容量為位,內存容量為64k64k字,指令格字,指令格式為
36、單字長單地址,其有式為單字長單地址,其有6464條指令,問:條指令,問: 1 1)若只采用直接尋址方式,指令能訪問多)若只采用直接尋址方式,指令能訪問多少內存單元?少內存單元? 2 2)為了擴充指令的尋址范圍,可采用直接)為了擴充指令的尋址范圍,可采用直接/ /間接尋址方式,若只增加一位直接間接尋址方式,若只增加一位直接/ /間接標志,間接標志,指令可尋址范圍為多少?指令直接尋址的范圍指令可尋址范圍為多少?指令直接尋址的范圍為多少?為多少? 一個完善的指令系統(tǒng)應滿足如下四方一個完善的指令系統(tǒng)應滿足如下四方面的要求:面的要求: 五、指令系統(tǒng)舉例五、指令系統(tǒng)舉例1.1.對稱性是指在指令系統(tǒng)中所有的
37、寄存器和存對稱性是指在指令系統(tǒng)中所有的寄存器和存儲器單元都可同等對待,所有的指令都可使用儲器單元都可同等對待,所有的指令都可使用各種尋址方式;各種尋址方式;2.2.勻齊性是指一種操作性質的指令可以支持各勻齊性是指一種操作性質的指令可以支持各種數(shù)據(jù)類型;種數(shù)據(jù)類型;3.3.指令格式和數(shù)據(jù)格式的一致性是指指令長度指令格式和數(shù)據(jù)格式的一致性是指指令長度和數(shù)據(jù)長度有一定的關系,以方便處理和存取。和數(shù)據(jù)長度有一定的關系,以方便處理和存取。 傳送指令傳送指令movri/m,rirr,rm 堆棧指令堆棧指令 pushriri入棧入棧輸入輸出指令輸入輸出指令 inal/ah,端口號端口號端口端口累加器累加器
38、加法指令加法指令addri,rir+rr 加加1 1指令指令 incri/mr+1r邏輯與指令邏輯與指令 andri,rj無條件轉移指令無條件轉移指令jmpaapc 條件轉移指令條件轉移指令 jrnzaz=1時時apc循環(huán)指令循環(huán)指令 looppentium指令格式指令格式字節(jié)字節(jié):1或或2 0或或1 0或或1 0,1 ,2或或4 0,1,2或或4 opmod/rmsibdispimmmodreg/opr/m ss index base 76543210 76543210 指令格式復雜指令格式復雜; ;尋址方式多樣尋址方式多樣; ;通用寄存器較少通用寄存器較少; ;編譯系統(tǒng)復雜編譯系統(tǒng)復雜;
39、;典型典型cisc cisc 指令集指令集. .指令流水實現(xiàn)復雜指令流水實現(xiàn)復雜; ;mips指令格式指令格式指令格式簡單指令格式簡單; ;尋址方式較少尋址方式較少; ;通用寄存器較多通用寄存器較多; ;編譯系統(tǒng)簡單高效編譯系統(tǒng)簡單高效; ;典型典型risc risc 指令集指令集. .容易實現(xiàn)流水操作容易實現(xiàn)流水操作; ; 1. 1. 立即尋址立即尋址 例:例: mvrd r0mvrd r0,00aa00aa 2. 2. 寄存器尋址寄存器尋址 例:例: add r0add r0,r1r1 3. 3. 寄存器間址寄存器間址 例:例: mvrr r1mvrr r1,r0r0 當前的計算機指令系統(tǒng)
40、,從其構成的復當前的計算機指令系統(tǒng),從其構成的復雜和完備程度,或者說設計中追求的不同的雜和完備程度,或者說設計中追求的不同的目標,區(qū)分為:目標,區(qū)分為:1)1) 指令系統(tǒng)復雜龐大,指令數(shù)目一般多達指令系統(tǒng)復雜龐大,指令數(shù)目一般多達500500條以上。條以上。2)2) 尋址方式多。尋址方式多。3)3) 指令格式多,功能強。指令格式多,功能強。4)4) 指令字長不固定。指令字長不固定。5)5) 各種指令的使用頻度相差很大。各種指令的使用頻度相差很大。6)6) 各種指令的執(zhí)行時間相差很大。各種指令的執(zhí)行時間相差很大。7)7) 大多數(shù)采用微程序控制器。大多數(shù)采用微程序控制器。 risc risc指令系統(tǒng)要求使用大量的通用寄存器,提指令系統(tǒng)要求使用大量的通用寄存器,提高了處理器的速度,同時也增加了任務切換時的開高了處理器的速度
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美食廣場服務員工作總結
- 100萬噸綠色清潔能源頁巖氣液化項目可行性研究報告寫作模板-申批備案
- 2025-2030全球電池保護板行業(yè)調研及趨勢分析報告
- 2025年全球及中國工業(yè)級4-苯氧基苯酚行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國桁架式門式起重機行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國AI虛擬人交互一體機行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球心理情感咨詢服務平臺行業(yè)調研及趨勢分析報告
- 2025年全球及中國工業(yè)絕熱冷卻器行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球重餾分輪胎熱解油行業(yè)調研及趨勢分析報告
- 2025-2030全球消費電子注塑機行業(yè)調研及趨勢分析報告
- 福建省泉州市晉江市2024-2025學年七年級上學期期末生物學試題(含答案)
- 2025年春新人教版物理八年級下冊課件 第十章 浮力 第4節(jié) 跨學科實踐:制作微型密度計
- 貨運車輛駕駛員服務標準化培訓考核試卷
- 財務BP經(jīng)營分析報告
- 三年級上冊體育課教案
- 2024高考物理二輪復習電學實驗專項訓練含解析
- 2024年全國統(tǒng)一高考英語試卷(新課標Ⅰ卷)含答案
- 高中英語:倒裝句專項練習(附答案)
- 2025屆河北衡水數(shù)學高三第一學期期末統(tǒng)考試題含解析
- 2024信息技術數(shù)字孿生能力成熟度模型
- 交通銀行股份有限公司操作風險管理政策
評論
0/150
提交評論