第3章指令系統(tǒng)(2015)_第1頁
第3章指令系統(tǒng)(2015)_第2頁
第3章指令系統(tǒng)(2015)_第3頁
第3章指令系統(tǒng)(2015)_第4頁
第3章指令系統(tǒng)(2015)_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第3章章指令系統(tǒng)指令系統(tǒng)計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第3章章 指令和指令系統(tǒng)是計算機中最基本的指令和指令系統(tǒng)是計算機中最基本的概念。指令是指示計算機執(zhí)行某些操作的概念。指令是指示計算機執(zhí)行某些操作的命令,一臺計算機的所有指令的集合構(gòu)成命令,一臺計算機的所有指令的集合構(gòu)成該機的指令系統(tǒng),也稱指令集。指令系統(tǒng)該機的指令系統(tǒng),也稱指令集。指令系統(tǒng)是計算機的主要屬性,位于硬件和軟件的是計算機的主要屬性,位于硬件和軟件的交界面上。本章將討論一般計算機的指令交界面上。本章將討論一般計算機

2、的指令系統(tǒng)所涉及的基本問題。系統(tǒng)所涉及的基本問題。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第3章章裸機裸機軟件軟件指令系統(tǒng)指令系統(tǒng)計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4 指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式3.1.1 機器指令的基本格式機器指令的基本格式 一條指令就是機器語言的一個語句,一條指令就是機器語言的一個語

3、句,它是一組有意義的二進制代碼。指令的基它是一組有意義的二進制代碼。指令的基本格式如下:本格式如下: 操作碼字段操作碼字段地址碼字段地址碼字段操作碼操作碼:指明操作的性質(zhì)及功能。:指明操作的性質(zhì)及功能。操作碼操作碼 地址碼地址碼:指明操作數(shù)的地址,特殊情況:指明操作數(shù)的地址,特殊情況下也可能直接給出操作數(shù)本身。下也可能直接給出操作數(shù)本身。地址碼地址碼注意計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式 指令的長度是指一條指令中所包含的二進指令的長度是指一條指令中所包含的二進制代碼的位數(shù),它取決于操作碼字段的長度、制代碼的位數(shù),它取決于操作碼字段的

4、長度、操作數(shù)地址的個數(shù)及長度。指令長度應(yīng):操作數(shù)地址的個數(shù)及長度。指令長度應(yīng): 盡可能短盡可能短 等于字節(jié)的整數(shù)倍等于字節(jié)的整數(shù)倍 指令長度可以等于機器字長,也可以大于指令長度可以等于機器字長,也可以大于或小于機器字長?;蛐∮跈C器字長。 在一個指令系統(tǒng)中,若所有指令的長度都在一個指令系統(tǒng)中,若所有指令的長度都是相等的,稱為定長指令字結(jié)構(gòu);若各種指令是相等的,稱為定長指令字結(jié)構(gòu);若各種指令的長度隨指令功能而異,稱為變長指令字結(jié)構(gòu)。的長度隨指令功能而異,稱為變長指令字結(jié)構(gòu)。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式3.1.2 地址碼結(jié)構(gòu)地址碼結(jié)

5、構(gòu) 一條一條雙操作數(shù)指令雙操作數(shù)指令的除操作碼之外,還的除操作碼之外,還應(yīng)包含以下信息:應(yīng)包含以下信息: 第一操作數(shù)地址,用第一操作數(shù)地址,用A1表示;表示; 第二操作數(shù)地址,用第二操作數(shù)地址,用A2表示;表示; 操作結(jié)果存放地址,用操作結(jié)果存放地址,用A3表示;表示; 下條將要執(zhí)行指令的地址,用下條將要執(zhí)行指令的地址,用A4表示。表示。 這些信息可以在指令中明顯的給出,稱這些信息可以在指令中明顯的給出,稱為為顯地址顯地址;也可以依照某種事先的約定,用;也可以依照某種事先的約定,用隱含的方式給出,稱為隱含的方式給出,稱為隱地址隱地址。 下面以下面以雙操作數(shù)指令雙操作數(shù)指令為例討論地址碼結(jié)為例討

6、論地址碼結(jié)構(gòu)。構(gòu)。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式1.四地址指令四地址指令OPOPA A1 1A A2 2A A3 3A A4 4 (A1)OP(A2)A3 A4=下條將要執(zhí)行下條將要執(zhí)行指令的地址指令的地址538+ +10020030040010020030050100200300400指令指令下一指令下一指令53指令指令 5 3 8下一指令下一指令400+ +計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院10020030050指令指令下一指令下一指令53513.1 指令格式指令格式2.三地址指令三地址

7、指令OPOPA A1 1A A2 2A A3 3(A1)OP(A2)A3(PC)+1=下條將要執(zhí)下條將要執(zhí)行指令的地址行指令的地址程序計數(shù)器:程序計數(shù)器:存放當前指令地址存放當前指令地址指令指令 5 3 8下一指令下一指令+ +100200300538+ 執(zhí)行一條三地址指執(zhí)行一條三地址指令需令需4次訪問主存。次訪問主存。100200300 + +計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院(A1)OP(A2)A13.1 指令格式指令格式3. .二地址指令二地址指令OPOPA A1 1A A2 2(PC)+1=下條將要執(zhí)行下條將要執(zhí)行指令的地址指令的地址 A1中原存內(nèi)

8、容在中原存內(nèi)容在指令執(zhí)行后被破壞。指令執(zhí)行后被破壞。目的操作數(shù)地址目的操作數(shù)地址源操作數(shù)地址源操作數(shù)地址 執(zhí)行一條二地址執(zhí)行一條二地址指令需指令需4次訪問主存。次訪問主存。10020030050指令指令下一指令下一指令5351指令指令 5 3 8下一指令下一指令+ +100200538+100200 + +計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院(Acc)OP(A1)Acc3 3.1 指令格式指令格式4.一地址指令一地址指令OPOPA A1 1(PC)+1=下條將下條將要執(zhí)行指令的地要執(zhí)行指令的地址址累加寄存器累加寄存器 執(zhí)行一條一執(zhí)行一條一地址指令需地址指令需

9、2次訪次訪問主存。問主存。10020030050指令指令下一指令下一指令351指令指令 3下一指令下一指令+ +100538+100 + +計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式5.零地址指令零地址指令OPOP 操作數(shù)地址是隱含的。參加運算的操操作數(shù)地址是隱含的。參加運算的操作數(shù)放在堆棧中,運算結(jié)果也放在堆棧中。作數(shù)放在堆棧中,運算結(jié)果也放在堆棧中。有關(guān)堆棧的概念將在稍后討論。有關(guān)堆棧的概念將在稍后討論。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式 指令中地址個數(shù)的選取要考慮諸多的指令

10、中地址個數(shù)的選取要考慮諸多的因素。從縮短程序長度,用戶使用方便,因素。從縮短程序長度,用戶使用方便,增加操作并行度等方面來看,選用三地址增加操作并行度等方面來看,選用三地址指令格式較好;從縮短指令長度,減少訪指令格式較好;從縮短指令長度,減少訪存次數(shù),簡化硬件設(shè)計等方面來看,一地存次數(shù),簡化硬件設(shè)計等方面來看,一地址指令格式較好。對于同一個問題,用三址指令格式較好。對于同一個問題,用三地址指令編寫的程序最短,但指令長度最地址指令編寫的程序最短,但指令長度最長,而用二、一、零地址指令來編寫程序,長,而用二、一、零地址指令來編寫程序,程序的長度一個比一個長,但指令的長度程序的長度一個比一個長,但指

11、令的長度一個比一個短。一個比一個短。注意計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式3.1.3 指令的操作碼指令的操作碼 指令系統(tǒng)中的每一條指令都有一個唯指令系統(tǒng)中的每一條指令都有一個唯一確定的操作碼,指令不同,其操作碼的一確定的操作碼,指令不同,其操作碼的編碼也不同。為了能表示整個指令系統(tǒng)中編碼也不同。為了能表示整個指令系統(tǒng)中的全部指令,指令的操作碼字段應(yīng)當具有的全部指令,指令的操作碼字段應(yīng)當具有足夠的位數(shù)。足夠的位數(shù)。 指令操作碼的編碼可以分為指令操作碼的編碼可以分為規(guī)整型規(guī)整型和和非規(guī)整型非規(guī)整型兩類:兩類: 規(guī)整型(定長編碼)規(guī)整型(

12、定長編碼) 非規(guī)整型(變長編碼)非規(guī)整型(變長編碼) 注意計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式 1.規(guī)整型規(guī)整型 操作碼字段的位數(shù)和位置是固定的。操作碼字段的位數(shù)和位置是固定的。 假定:指令系統(tǒng)共有假定:指令系統(tǒng)共有m條指令,指令中條指令,指令中操作碼字段的位數(shù)為操作碼字段的位數(shù)為N位,則有如下關(guān)系式:位,則有如下關(guān)系式: Nlog2 m IBM 370機(字長機(字長32位)的指令可分為位)的指令可分為三種不同的長度形式:半字長指令、單字長三種不同的長度形式:半字長指令、單字長指令和一個半字長指令。不論指令的長度為指令和一個半字長指

13、令。不論指令的長度為多少位,其中操作碼字段多少位,其中操作碼字段一律都是一律都是8位位,8位位操作碼字段允許容納操作碼字段允許容納256條指令,實際上在條指令,實際上在IBM 370機中僅有機中僅有183條指令。條指令。計算機組成原理計算機組成原理2012.10北京理工大學計算機學院北京理工大學計算機學院計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式OPOPOPOPOPD2D1D1D2D2R1R1R1R2R2L1B1B2B2B2X2B1I28888844444444444881212121212RR型RX型RS型SI型SS型計算機組成原理計算機

14、組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式 定長編碼對于簡化硬件設(shè)計,減少指定長編碼對于簡化硬件設(shè)計,減少指令譯碼的時間是非常有利的,存在著信息令譯碼的時間是非常有利的,存在著信息冗余。冗余。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式2.非規(guī)整型非規(guī)整型 操作碼字段的位數(shù)不固定,且分散地操作碼字段的位數(shù)不固定,且分散地放在指令字的不同位置上。放在指令字的不同位置上。 PDP-11機(字長機(字長16位)的指令分為單位)的指令分為單字長、兩字長、三字長三種,操作碼字段字長、兩字長、三字長三種,操作碼字段占占

15、416位不等,可遍及整個指令長度。位不等,可遍及整個指令長度。 操作碼字段的位數(shù)和位置不固定將增操作碼字段的位數(shù)和位置不固定將增加指令譯碼和分析的難度,使控制器的設(shè)加指令譯碼和分析的難度,使控制器的設(shè)計復雜化。計復雜化。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式OPRR846261316OPS844OPOPOPOPOPOP1616SDD1683DDXSS66666610單字長(16位)二字長(32位)三字長(48位)地址地址1地址2計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式 最常用的非

16、規(guī)整型編碼方式是擴展操最常用的非規(guī)整型編碼方式是擴展操作碼法:作碼法: 讓操作數(shù)地址個數(shù)多的指令(如三地讓操作數(shù)地址個數(shù)多的指令(如三地址指令)的操作碼字段短些,操作數(shù)地址址指令)的操作碼字段短些,操作數(shù)地址個數(shù)少的指令(如一或零地址指令)的操個數(shù)少的指令(如一或零地址指令)的操作碼字段長些。作碼字段長些。注意計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式 例如:設(shè)某機的指令長度為例如:設(shè)某機的指令長度為16位,操位,操作碼字段為作碼字段為4位,有三個位,有三個4位的地址碼字段,位的地址碼字段,其格式為:其格式為: 如果按照定長編碼的方法,如果

17、按照定長編碼的方法,4位操作碼位操作碼字段最多只能表示字段最多只能表示16條不同的三地址指令。條不同的三地址指令。OPOPA A1 1A A2 2A A3 34 4位位4 4位位4 4位位4 4位位計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式OPOPA A1 1A A2 2A A3 34 4位位4 4位位4 4位位4 4位位OPOP1515條三地址指令條三地址指令0000 XXXX YYYY ZZZZ0000 XXXX YYYY ZZZZ1110 XXXX YYYY ZZZZ1110 XXXX YYYY ZZZZ111111111515條二地

18、址指令條二地址指令11111111 0000 XXXX YYYY 0000 XXXX YYYY1111 1110 XXXX YYYY1111 1110 XXXX YYYY1111 11111111 11111515條一地址指令條一地址指令1111 11111111 1111 0000 XXXX 0000 XXXX1111 1111 1110 XXXX1111 1111 1110 XXXX1111 1111 11111111 1111 11111616條零地址指令條零地址指令1111 1111 11111111 1111 1111 0000 00001111 1111 1111 11111111

19、 1111 1111 1111擴展窗口擴展窗口擴展窗口擴展窗口擴展窗口擴展窗口OPOPA1A1A2A2OPOPA1A1OPOP計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.1 指令格式指令格式 以下兩點要注意:以下兩點要注意: 不允許短碼是長碼的前綴,即短碼不能不允許短碼是長碼的前綴,即短碼不能與長碼的開始部分的代碼相同,否則將無法與長碼的開始部分的代碼相同,否則將無法保證解碼的唯一性和實時性。保證解碼的唯一性和實時性。 各條指令的操作碼一定不能重復雷同,各條指令的操作碼一定不能重復雷同,而且各類指令的格式安排應(yīng)統(tǒng)一規(guī)整。而且各類指令的格式安排應(yīng)統(tǒng)一規(guī)整。計算機組

20、成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4 指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計算機組成原理計算機組成原理2012.10北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) 尋址,指的是尋找操作數(shù)的地址尋址,指的是尋找操作數(shù)的地址或下或下一條將要執(zhí)行的指令地址。一條將要執(zhí)行的指令地址。尋址技術(shù)包括尋址技術(shù)包括編址方式和尋址方式。編址方式和尋址方式。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址

21、技術(shù)3.2.1 編址方式編址方式1. 編址編址 通常,指令中的地址碼字段將指出操通常,指令中的地址碼字段將指出操作數(shù)的來源和去向,而操作數(shù)則存放在相作數(shù)的來源和去向,而操作數(shù)則存放在相應(yīng)的存儲設(shè)備中。在計算機中需要編址的應(yīng)的存儲設(shè)備中。在計算機中需要編址的設(shè)備主要有設(shè)備主要有CPU中的通用寄存器、主存儲中的通用寄存器、主存儲器和輸入輸出設(shè)備等器和輸入輸出設(shè)備等3種。種。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù)2. 編址單位編址單位(1)字編址字編址 編址單位編址單位=訪問單位訪問單位 每個編址單位所包含的信息量(二進每個編址單位所包含的信

22、息量(二進制位數(shù))與讀或?qū)懸淮渭拇嫫?、主存所獲制位數(shù))與讀或?qū)懸淮渭拇嫫鳌⒅鞔嫠@得的信息量是相同的。早期的大多數(shù)機器得的信息量是相同的。早期的大多數(shù)機器都采用這種編址方式。都采用這種編址方式。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù)(2)字節(jié)編址字節(jié)編址 字節(jié)編址是為了適應(yīng)非數(shù)值計算的需字節(jié)編址是為了適應(yīng)非數(shù)值計算的需要。字節(jié)編址方式使編址單位與信息的基本要。字節(jié)編址方式使編址單位與信息的基本單位(一個字節(jié))相一致,這是它的最大優(yōu)單位(一個字節(jié))相一致,這是它的最大優(yōu)點。然而,如果主存的訪問單位也是一個字點。然而,如果主存的訪問單位也是

23、一個字節(jié)的話,那么主存的頻帶就太窄了。節(jié)的話,那么主存的頻帶就太窄了。 編址單位訪問單位編址單位訪問單位 通常主存的訪問單位是編址單位的若通常主存的訪問單位是編址單位的若干倍。干倍。(3)位編址位編址 也有部分計算機系統(tǒng)采用位編址方式。也有部分計算機系統(tǒng)采用位編址方式。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù)3. 指令中地址碼的位數(shù)指令中地址碼的位數(shù) 指令格式中每個地址碼的位數(shù)是與指令格式中每個地址碼的位數(shù)是與主存主存容量容量和和最小尋址單位最小尋址單位(即編址單位)有關(guān)聯(lián)(即編址單位)有關(guān)聯(lián)的。主存容量越大,所需的地址碼位數(shù)就越的。主存

24、容量越大,所需的地址碼位數(shù)就越長。對于相同容量來說,如果以字節(jié)為最小長。對于相同容量來說,如果以字節(jié)為最小尋址單位,地址碼的位數(shù)就需要長些;如果尋址單位,地址碼的位數(shù)就需要長些;如果以字為最小尋址單位(假定字長為以字為最小尋址單位(假定字長為16位或更位或更長),地址碼的位數(shù)可以減少。設(shè)某機主存長),地址碼的位數(shù)可以減少。設(shè)某機主存容量為容量為220 個字節(jié),機器字長個字節(jié),機器字長32位。若最小位。若最小尋址單位為字節(jié)(按字節(jié)編址),其地址碼尋址單位為字節(jié)(按字節(jié)編址),其地址碼應(yīng)為應(yīng)為20位;若最小尋址單位為字(按字編位;若最小尋址單位為字(按字編址),其地址碼只需址),其地址碼只需18位

25、。位。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù)3.2.2 數(shù)據(jù)尋址和指令尋址數(shù)據(jù)尋址和指令尋址 尋址可以分為數(shù)據(jù)尋址和指令尋址。尋址可以分為數(shù)據(jù)尋址和指令尋址。尋找操作數(shù)的地址稱為數(shù)據(jù)尋址,尋找操作數(shù)的地址稱為數(shù)據(jù)尋址,數(shù)據(jù)尋數(shù)據(jù)尋址方式較多,其最終目的都是尋找所需要址方式較多,其最終目的都是尋找所需要的操作數(shù)的操作數(shù)。尋找下一條將要執(zhí)行的指令地。尋找下一條將要執(zhí)行的指令地址稱為指令尋址,指令尋址比較簡單,它址稱為指令尋址,指令尋址比較簡單,它又可以細分為順序?qū)ぶ泛吞S尋址。又可以細分為順序?qū)ぶ泛吞S尋址。注意計算機組成原理計算機組成原理

26、北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) 順序?qū)ぶ房赏ㄟ^程序計數(shù)器順序?qū)ぶ房赏ㄟ^程序計數(shù)器PC加加1,自動形成下一條指令的地址;跳躍尋址則自動形成下一條指令的地址;跳躍尋址則需要通過程序轉(zhuǎn)移類指令實現(xiàn)。需要通過程序轉(zhuǎn)移類指令實現(xiàn)。 跳躍尋址的轉(zhuǎn)移地址形成方式有三種:跳躍尋址的轉(zhuǎn)移地址形成方式有三種:直接(絕對)、相對和間接尋址,它與下直接(絕對)、相對和間接尋址,它與下面介紹的數(shù)據(jù)尋址方式中的直接、相對和面介紹的數(shù)據(jù)尋址方式中的直接、相對和間接尋址是相同的,只不過尋找到的不是間接尋址是相同的,只不過尋找到的不是操作數(shù)的有效地址而是轉(zhuǎn)移的有效地址而操作數(shù)的有效地址而是

27、轉(zhuǎn)移的有效地址而已。已。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) 3.2.3 基本的數(shù)據(jù)尋址方式基本的數(shù)據(jù)尋址方式 尋址方式是根據(jù)指令中給出的地址碼尋址方式是根據(jù)指令中給出的地址碼字段尋找真實操作數(shù)地址的方式。字段尋找真實操作數(shù)地址的方式。 指令中的形式地址指令中的形式地址A有效地址有效地址EA尋址方式尋址方式OPOP立即數(shù)立即數(shù) 在取指令時,操作碼和操作數(shù)被同時取在取指令時,操作碼和操作數(shù)被同時取出,不必再次訪問存儲器,從而提高了指令出,不必再次訪問存儲器,從而提高了指令的執(zhí)行速度。但是,因為操作數(shù)是指令的一的執(zhí)行速度。但是,因為操作數(shù)

28、是指令的一部分,不能被修改,且立即數(shù)的大小將受到部分,不能被修改,且立即數(shù)的大小將受到指令長度的限制。指令長度的限制。1.立即尋址立即尋址計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù)2.寄存器尋址寄存器尋址 指令中地址碼部分指令中地址碼部分給出某一通用寄存器的給出某一通用寄存器的編號,所指定的寄存器編號,所指定的寄存器中存放著操作數(shù)。中存放著操作數(shù)。 兩個明顯的優(yōu)點:兩個明顯的優(yōu)點: 從寄存器存取數(shù)據(jù)從寄存器存取數(shù)據(jù)比主存快得多;比主存快得多; 由于寄存器的數(shù)量由于寄存器的數(shù)量較少,其地址碼字段比較少,其地址碼字段比主存單元地址字段短得主存單

29、元地址字段短得多。多。操作數(shù)操作數(shù)OP指令寄存器指令寄存器 通用寄存器通用寄存器RiR5操作數(shù)操作數(shù)S=(Ri)操作數(shù)操作數(shù)EA= RiR5計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院操作數(shù)操作數(shù)OP指令寄存器指令寄存器主存儲器主存儲器A3.2 尋址技術(shù)尋址技術(shù)3.直接尋址直接尋址 指令中地址碼指令中地址碼字段給出的地址字段給出的地址A就是操作數(shù)的有效就是操作數(shù)的有效地址:地址: EA=A 由于操作數(shù)由于操作數(shù)地址是不能修改的,地址是不能修改的,與程序本身所在的與程序本身所在的位置無關(guān),所以又位置無關(guān),所以又叫做叫做絕對尋址絕對尋址方式。方式。操作數(shù)操作數(shù)100操作

30、數(shù)操作數(shù)S=(A)100計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù)4.間接尋址間接尋址 指令中給出的地指令中給出的地址址A不是操作數(shù)的地不是操作數(shù)的地址,而是存放操作數(shù)址,而是存放操作數(shù)地址的地址。地址的地址。 EA=(A) 通常在指令格式通常在指令格式中劃出一位作為標中劃出一位作為標志位。志位。 =0 直接尋址直接尋址 =1 間接尋址間接尋址操作數(shù)操作數(shù)EAOP指令寄存器指令寄存器主存儲器主存儲器A操作數(shù)操作數(shù) 100操作數(shù)操作數(shù)S=(A)100200200計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋

31、址技術(shù)尋址技術(shù) 間接尋址要比直接尋址靈活得多,它間接尋址要比直接尋址靈活得多,它的主要優(yōu)點為:的主要優(yōu)點為: 擴大了尋址范圍,可用指令的短地址擴大了尋址范圍,可用指令的短地址訪問大的主存空間。訪問大的主存空間。 可將主存單元作為程序的地址指針,可將主存單元作為程序的地址指針,用以指示操作數(shù)在主存中的位置。當操作用以指示操作數(shù)在主存中的位置。當操作數(shù)的地址需要改變時,不必修改指令,只數(shù)的地址需要改變時,不必修改指令,只需修改存放有效地址的那個主存單元(間需修改存放有效地址的那個主存單元(間接地址單元)的內(nèi)容就可以了。接地址單元)的內(nèi)容就可以了。計算機組成原理計算機組成原理北京理工大學計算機學院北

32、京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) 除去一級間接尋除去一級間接尋址外,還有多級間接址外,還有多級間接尋址。多級間接尋址尋址。多級間接尋址為取得操作數(shù)需要多為取得操作數(shù)需要多次訪問主存,即使在次訪問主存,即使在找到操作數(shù)有效地址找到操作數(shù)有效地址后,還需再訪問一次后,還需再訪問一次主存才可得到真正的主存才可得到真正的操作數(shù)。操作數(shù)。 多級間接標志:多級間接標志: 0:找到有效地址:找到有效地址 1:繼續(xù)間接尋址:繼續(xù)間接尋址EAOP指令寄存器指令寄存器主存儲器主存儲器A110二級間址二級間址三級間址三級間址操作數(shù)操作數(shù)100操作數(shù)操作數(shù)1 2001 3000 5010020030050

33、計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院EAOP指令寄存器指令寄存器主存儲器主存儲器Ri操作數(shù)操作數(shù) 通用寄存器通用寄存器3.2 尋址技術(shù)尋址技術(shù) 5.寄存器間接尋址寄存器間接尋址 指令中的地址碼給指令中的地址碼給出某一通用寄存器的出某一通用寄存器的編號,被指定的寄存編號,被指定的寄存器中存放操作數(shù)的有器中存放操作數(shù)的有效地址,而操作數(shù)則效地址,而操作數(shù)則存放在主存單元中。存放在主存單元中。 這種尋址方式的這種尋址方式的指令較短,并且在取指令較短,并且在取指后只需一次訪存便指后只需一次訪存便可得到操作數(shù)。可得到操作數(shù)。操作數(shù)操作數(shù)操作數(shù)操作數(shù)S=(Ri)100R

34、5EA=(Ri)R5100計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù)6.變址尋址變址尋址 把指令給出的把指令給出的形式地址形式地址A與變址與變址寄存器寄存器RX的內(nèi)容相的內(nèi)容相加,形成操作數(shù)有加,形成操作數(shù)有效地址:效地址: EA=A+(RX) RX 的內(nèi)容為變的內(nèi)容為變址值。址值。120OP指令寄存器指令寄存器主存儲器主存儲器A操作數(shù)操作數(shù)R RX X變址值變址值XALU變址寄存器變址寄存器R RX X操作數(shù)操作數(shù)10020操作數(shù)操作數(shù)S=(A+(RX) 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址

35、技術(shù)尋址技術(shù) 變址尋址是一種廣泛采用的尋址方式,變址尋址是一種廣泛采用的尋址方式,通常指令中的形式地址作為基準地址,而通常指令中的形式地址作為基準地址,而RX的內(nèi)容作為修改量。在遇到需要頻繁修的內(nèi)容作為修改量。在遇到需要頻繁修改地址時,無須修改指令,只要修改變址改地址時,無須修改指令,只要修改變址值就可以了。值就可以了。 例如:要把一組連續(xù)存放在主存單元例如:要把一組連續(xù)存放在主存單元中的數(shù)據(jù)(首地址是中的數(shù)據(jù)(首地址是A)依次傳送到另一存)依次傳送到另一存儲區(qū)(首地址為儲區(qū)(首地址為B)中去,則只需在指令中)中去,則只需在指令中指明兩個存儲區(qū)的首地址指明兩個存儲區(qū)的首地址A和和B(形式地(形

36、式地址),用同一變址寄存器提供修改量址),用同一變址寄存器提供修改量K,即,即可實現(xiàn)可實現(xiàn)(A+K)B+K。變址寄存器的內(nèi)容在。變址寄存器的內(nèi)容在每次傳送之后自動地修改。每次傳送之后自動地修改。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù)7.基址尋址基址尋址 將基址寄存器將基址寄存器Rb的內(nèi)容與位移量的內(nèi)容與位移量D相相加,形成操作數(shù)有效加,形成操作數(shù)有效地址:地址: EA=(Rb)+D 基址寄存器的內(nèi)基址寄存器的內(nèi)容稱為基址值,指令容稱為基址值,指令的地址碼字段是一個的地址碼字段是一個位移量,位移量,位移量可正位移量可正可負可負。OP指令

37、寄存器指令寄存器主存儲器主存儲器D操作數(shù)操作數(shù)R Rb b基址值基址值A(chǔ)LU基址寄存器基址寄存器Rb120操作數(shù)操作數(shù)20100操作數(shù)操作數(shù)S=(Rb)+D)計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) 基址尋址和變址尋址在形成有效地址基址尋址和變址尋址在形成有效地址時所用的算法是相同的,而且在一些計算時所用的算法是相同的,而且在一些計算機中,這兩種尋址方式都是由同樣的硬件機中,這兩種尋址方式都是由同樣的硬件來實現(xiàn)的。來實現(xiàn)的。 但這兩種尋址方式應(yīng)用的場合不同,但這兩種尋址方式應(yīng)用的場合不同,變址尋址是面向用戶的,用于訪問字符串、變址尋址是面

38、向用戶的,用于訪問字符串、向量和數(shù)組等成批數(shù)據(jù);而基址尋址面向向量和數(shù)組等成批數(shù)據(jù);而基址尋址面向系統(tǒng),主要用于邏輯地址和物理地址的變系統(tǒng),主要用于邏輯地址和物理地址的變換,用以解決程序在主存中的再定位和擴換,用以解決程序在主存中的再定位和擴大尋址空間等問題。在某些大型機中,基大尋址空間等問題。在某些大型機中,基址寄存器只能由特權(quán)指令來管理,用戶指址寄存器只能由特權(quán)指令來管理,用戶指令無權(quán)操作和修改。令無權(quán)操作和修改。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院操作數(shù)操作數(shù)操作數(shù)操作數(shù)OP指令寄存器指令寄存器主存儲器主存儲器D指令指令指令地址指令地址ALU程序計數(shù)器

39、程序計數(shù)器PC-D+D3.2 尋址技術(shù)尋址技術(shù)8.相對尋址相對尋址 相對尋址是基址相對尋址是基址尋址的一種變通,由尋址的一種變通,由程序計數(shù)器程序計數(shù)器PC提供提供基準地址,即:基準地址,即: EA=(PC)+D 位移量指出的是位移量指出的是操作數(shù)和現(xiàn)行指令之操作數(shù)和現(xiàn)行指令之間的相對位置。間的相對位置。120操作數(shù)操作數(shù)20100操作數(shù)操作數(shù)S=(PC)+D)100-20 E0操作數(shù)操作數(shù)計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) 相對尋址方式的特點:相對尋址方式的特點: 操作數(shù)的地址不是固定的,它隨著操作數(shù)的地址不是固定的,它隨著PC值

40、值的變化而變化,并且與指令地址之間總是相的變化而變化,并且與指令地址之間總是相差一個固定值差一個固定值 D。當指令地址改變時,由。當指令地址改變時,由于其位移量不變,使得操作數(shù)與指令在可用于其位移量不變,使得操作數(shù)與指令在可用的存儲區(qū)內(nèi)一起移動,所以仍能保證程序的的存儲區(qū)內(nèi)一起移動,所以仍能保證程序的正確執(zhí)行。采用正確執(zhí)行。采用PC相對尋址方式編寫的程相對尋址方式編寫的程序可在主存中任意浮動,它放在主存的任何序可在主存中任意浮動,它放在主存的任何地方,所執(zhí)行的效果都是一樣的。地方,所執(zhí)行的效果都是一樣的。 由于由于指令中給出的位移量可正、可負,所指令中給出的位移量可正、可負,所以對于指令地址而

41、言,操作數(shù)地址可能在指以對于指令地址而言,操作數(shù)地址可能在指令地址之前或之后。令地址之前或之后。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù)9.頁面尋址頁面尋址 頁面尋址相當于將整個主存空間分成若頁面尋址相當于將整個主存空間分成若干個大小相同的區(qū),每個區(qū)稱為一頁,每頁干個大小相同的區(qū),每個區(qū)稱為一頁,每頁有若干個主存單元。每頁都有自己的編號,有若干個主存單元。每頁都有自己的編號,稱為頁面地址;頁面內(nèi)的每個主存單元也有稱為頁面地址;頁面內(nèi)的每個主存單元也有自己的編號,稱為頁內(nèi)地址。這樣,操作數(shù)自己的編號,稱為頁內(nèi)地址。這樣,操作數(shù)的有效地址就被

42、分為兩部分:前部為頁面地的有效地址就被分為兩部分:前部為頁面地址,后部為頁內(nèi)地址。址,后部為頁內(nèi)地址。頁內(nèi)地址頁內(nèi)地址頁面地址頁面地址計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) 頁內(nèi)地址由指令頁內(nèi)地址由指令的地址碼的地址碼A自動直接自動直接提供,它與頁面地址提供,它與頁面地址通過簡單的通過簡單的拼裝連接拼裝連接就可得到有效地址。就可得到有效地址。根據(jù)頁面地址的來源根據(jù)頁面地址的來源不同,有三種不同的不同,有三種不同的頁面尋址:頁面尋址:64KB0頁頁1頁頁2頁頁255頁頁0000255255255255頁內(nèi)地址頁內(nèi)地址(8位位)頁面地址頁面

43、地址(8位位)64KB0頁頁1頁頁2頁頁511頁頁0000127127127127頁內(nèi)地址頁內(nèi)地址(7位位)頁面地址頁面地址(9位位)頁內(nèi)地址頁內(nèi)地址(9位位)頁面地址頁面地址(7位位)64KB0頁頁1頁頁2頁頁127頁頁0000511511511511計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院指令寄存器指令寄存器主存儲器主存儲器OPA0頁頁1頁頁N-1頁頁指令指令所在頁所在頁0頁頁操作數(shù)操作數(shù)0頁頁3.2 尋址技術(shù)尋址技術(shù) (1)基頁尋址(零頁尋址)。由于頁面地址等基頁尋址(零頁尋址)。由于頁面地址等于全于全0,所以有效地址,所以有效地址EA=0A(在這里在這里

44、表示簡單拼接),操作數(shù)表示簡單拼接),操作數(shù)S在零頁面中。在零頁面中。A頁內(nèi)地址頁內(nèi)地址頁面地址頁面地址EA操作數(shù)操作數(shù)3800000000000000000000380038255頁頁64K計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院指令寄存器指令寄存器主存儲器主存儲器OPA0頁頁1頁頁N-1頁頁指令指令所在頁所在頁指令指令所在頁所在頁操作數(shù)操作數(shù)PCHPCLPCH程序計數(shù)器程序計數(shù)器3.2 尋址技術(shù)尋址技術(shù) (2)當前頁尋址。頁面地址就等于程序計數(shù)當前頁尋址。頁面地址就等于程序計數(shù)器器PC的高位部分,所以有效地址的高位部分,所以有效地址EA=(PC)H A,操作

45、數(shù),操作數(shù)S與指令本身處于同一頁面中。與指令本身處于同一頁面中。頁內(nèi)地址頁內(nèi)地址頁面地址頁面地址EA操作數(shù)操作數(shù)APCH操作數(shù)操作數(shù)38382F852F2F38255頁頁64K511頁頁2FB8計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) (3)頁寄存器尋址。頁面地址取自頁寄存器,頁寄存器尋址。頁面地址取自頁寄存器,與形式地址相拼接形成操作數(shù)有效地址:與形式地址相拼接形成操作數(shù)有效地址: EA=(頁寄存器頁寄存器)A 有些計算機在指令格式中設(shè)置了一個頁有些計算機在指令格式中設(shè)置了一個頁面標志位(面標志位(Z/C)。當)。當Z/C=0,表示零頁

46、尋,表示零頁尋址,當址,當Z/C=1,表示當前頁尋址。,表示當前頁尋址。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院各種數(shù)據(jù)尋址方式獲得數(shù)據(jù)的速度(由各種數(shù)據(jù)尋址方式獲得數(shù)據(jù)的速度(由快到慢)快到慢)立即尋址立即尋址寄存器尋址寄存器尋址直接尋址直接尋址寄存器間接尋址寄存器間接尋址頁面尋址頁面尋址變址尋址(基址尋址、相對尋址)變址尋址(基址尋址、相對尋址)一級間接尋址一級間接尋址多級間接尋址多級間接尋址 3.2 尋址技術(shù)尋址技術(shù)注意計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) 為了能區(qū)分出各種不同尋址方式,必須為了能

47、區(qū)分出各種不同尋址方式,必須在指令中給出標識。標識的方式通常有兩種:在指令中給出標識。標識的方式通常有兩種:顯式和隱式顯式和隱式。 顯式的方法就是在指令中設(shè)置專門的尋顯式的方法就是在指令中設(shè)置專門的尋址方式(址方式(MOD)字段,用二進制代碼來表)字段,用二進制代碼來表明尋址方式類型。明尋址方式類型。 隱式的方式是由指令的操作碼字段說明隱式的方式是由指令的操作碼字段說明指令格式并隱含約定尋址方式。指令格式并隱含約定尋址方式。AMODOP顯式顯式AOP隱式隱式計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.2 尋址技術(shù)尋址技術(shù) 注意,一條指令若有兩個或兩個以注意,一條

48、指令若有兩個或兩個以上的地址碼時,上的地址碼時,各地址碼可采用不同的各地址碼可采用不同的尋址方式尋址方式。例如,源地址采用一種尋址。例如,源地址采用一種尋址方式,而目的地址采用另一種尋址方式。方式,而目的地址采用另一種尋址方式。 MOV AX,(BX)寄存器直接尋址寄存器直接尋址寄存器間接尋址寄存器間接尋址計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4 指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計

49、算機學院3.3 堆棧堆棧與堆棧操作與堆棧操作 堆棧是一種按特定順序進行存取的存堆棧是一種按特定順序進行存取的存儲區(qū),這種特定順序可歸結(jié)為儲區(qū),這種特定順序可歸結(jié)為“后進先出后進先出”(LIFO)或)或“先進后出先進后出”(FILO)。)。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.3 堆棧堆棧與堆棧操作與堆棧操作3.3.1 堆棧結(jié)構(gòu)堆棧結(jié)構(gòu)1.寄存器堆棧寄存器堆棧 用一組專門的寄存器構(gòu)成寄存器堆棧,用一組專門的寄存器構(gòu)成寄存器堆棧,又稱為硬堆棧。這種堆棧的棧頂是固定的,又稱為硬堆棧。這種堆棧的棧頂是固定的,寄存器組中各寄存器是相互連接的,它們寄存器組中各寄存器

50、是相互連接的,它們之間具有對應(yīng)位自動推移的功能,即可將之間具有對應(yīng)位自動推移的功能,即可將一個寄存器的內(nèi)容推移到相鄰的另一個寄一個寄存器的內(nèi)容推移到相鄰的另一個寄存器中去。存器中去。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.3 堆棧與堆棧操作堆棧與堆棧操作寄存器0寄存器1寄存器2寄存器k-1壓入彈出棧頂b0bn-2bn-1計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.3 堆棧與堆棧操作堆棧與堆棧操作2.存儲器堆棧存儲器堆棧 從主存中劃出一段區(qū)域來作堆棧,這種從主存中劃出一段區(qū)域來作堆棧,這種堆棧又稱為軟堆棧,堆棧的大小可變,棧底堆

51、棧又稱為軟堆棧,堆棧的大小可變,棧底固定,棧頂浮動,故需要一個專門的硬件寄固定,棧頂浮動,故需要一個專門的硬件寄存器作為堆棧棧頂指針存器作為堆棧棧頂指針SP,簡稱棧指針。棧,簡稱棧指針。棧指針所指定的主存單元,就是堆棧的棧頂。指針所指定的主存單元,就是堆棧的棧頂。 高地址高地址低地址低地址堆棧區(qū)自底向上生成自底向上生成方式的堆棧方式的堆棧計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.3 堆棧與堆棧操作堆棧與堆棧操作 堆棧的棧底地址大于棧頂?shù)刂?,通常棧堆棧的棧底地址大于棧頂?shù)刂?,通常棧指針始終指向指針始終指向棧頂?shù)臐M單元棧頂?shù)臐M單元。進棧時,。進棧時,SP的的內(nèi)容需

52、要先自動減內(nèi)容需要先自動減1,然后再將數(shù)據(jù)壓入堆棧。,然后再將數(shù)據(jù)壓入堆棧。 20001FFF(SP)-1SP 修改棧指針修改棧指針(A)(SP) 將將A中的數(shù)據(jù)壓入堆棧中的數(shù)據(jù)壓入堆棧SP2000A2000原棧頂單元現(xiàn)棧頂單元1FFF1FFF注意計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.3 堆棧與堆棧操作堆棧與堆棧操作 出棧時,需要先將堆棧中的數(shù)據(jù)彈出,出棧時,需要先將堆棧中的數(shù)據(jù)彈出,然后然后SP的內(nèi)容再自動加的內(nèi)容再自動加1。 2000(SP)A 將棧頂內(nèi)容彈出,送入將棧頂內(nèi)容彈出,送入A中中(SP)+1SP 修改棧指針修改棧指針SP1FFF1FFFA1

53、FFF原棧頂單元現(xiàn)棧頂單元1FFF1FFF2000注意計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.3 堆棧與堆棧操作堆棧與堆棧操作3.3.2 堆棧操作堆棧操作 在一般計算機中,堆棧主要用來暫存在一般計算機中,堆棧主要用來暫存中斷斷點、子程序調(diào)用時的返回地址、狀中斷斷點、子程序調(diào)用時的返回地址、狀態(tài)標志及現(xiàn)場信息等,也可用于子程序調(diào)態(tài)標志及現(xiàn)場信息等,也可用于子程序調(diào)用時參數(shù)的傳遞,所以用于訪問堆棧的指用時參數(shù)的傳遞,所以用于訪問堆棧的指令只有進棧(壓入)和出棧(彈出)兩種。令只有進棧(壓入)和出棧(彈出)兩種。 在堆棧計算機(如在堆棧計算機(如HP-3000、B

54、5000等)等)中,沒有一般計算機中必備的通用寄存器,中,沒有一般計算機中必備的通用寄存器,因此堆棧就成為提供操作數(shù)和保存運算結(jié)因此堆棧就成為提供操作數(shù)和保存運算結(jié)果的唯一場所。果的唯一場所。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.3 堆棧與堆棧操作堆棧與堆棧操作 通常,參加術(shù)通常,參加術(shù)算邏運算的兩個操算邏運算的兩個操作數(shù)隱含地從堆棧作數(shù)隱含地從堆棧頂部彈出,送到運頂部彈出,送到運算器中進行運算,算器中進行運算,運算的結(jié)果再隱含運算的結(jié)果再隱含地壓入堆棧。這類地壓入堆棧。這類堆棧操作指令中沒堆棧操作指令中沒有地址部分,故稱有地址部分,故稱為為零地址指令零地

55、址指令。20012000a ab bb ba a2002+a+ba+ba+ba+b計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4 指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.4 指令類型指令類型 3.4.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 數(shù)據(jù)傳送類指令主要用于實現(xiàn)寄存器數(shù)據(jù)傳送類指令主要用于實現(xiàn)寄存器與寄存器之間,寄存器與主存單元之間以與寄存器之間,寄存器與主存單元之間以及兩個主存單元

56、之間的數(shù)據(jù)傳送。數(shù)據(jù)傳及兩個主存單元之間的數(shù)據(jù)傳送。數(shù)據(jù)傳送類指令又可以細分為:送類指令又可以細分為: 1.一般傳送指令一般傳送指令 一般傳送指令(一般傳送指令(MOV)具有數(shù)據(jù)復制)具有數(shù)據(jù)復制的性質(zhì),即數(shù)據(jù)從源地址傳送到目的地址,的性質(zhì),即數(shù)據(jù)從源地址傳送到目的地址,而源地址中的內(nèi)容保持不變。傳送通常以而源地址中的內(nèi)容保持不變。傳送通常以字節(jié)、字、雙字或數(shù)組為單位,特殊情況字節(jié)、字、雙字或數(shù)組為單位,特殊情況下也能按位為單位進行傳送。下也能按位為單位進行傳送。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.4 指令類型指令類型 (1)主存單元之間的傳送主存單元之

57、間的傳送 MOV mem2,mem1,其含義為,其含義為 (mem1)mem2 (2)從主存單元傳送到寄存器從主存單元傳送到寄存器 MOV reg,mem,其含義為,其含義為 (mem)reg 在有些計算機中,該指令用助記符在有些計算機中,該指令用助記符LOAD表示,又稱為取數(shù)指令。表示,又稱為取數(shù)指令。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.4 指令類型指令類型 (3)從寄存器傳送到主存單元從寄存器傳送到主存單元 MOV mem,reg,其含義為,其含義為 (reg)mem 在有些計算機里,該指令用助記符在有些計算機里,該指令用助記符STORE表示,又稱為

58、存數(shù)指令。表示,又稱為存數(shù)指令。 (4)寄存器之間的傳送寄存器之間的傳送 MOV reg2,reg1,其含義為,其含義為 (reg1)reg2計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.4 指令類型指令類型 2.堆棧操作指令堆棧操作指令 堆棧指令是一種特殊的數(shù)據(jù)傳送指令,堆棧指令是一種特殊的數(shù)據(jù)傳送指令,分為進棧(分為進棧(PUSH)和出棧()和出棧(POP)兩種。)兩種。 因為堆棧(指軟堆棧)是主存的一個特因為堆棧(指軟堆棧)是主存的一個特定區(qū)域,所以對堆棧的操作也就是對存儲器定區(qū)域,所以對堆棧的操作也就是對存儲器的操作。的操作。3.數(shù)據(jù)交換指令數(shù)據(jù)交換指令

59、前述指令的傳送都是單方向的,然而,前述指令的傳送都是單方向的,然而,數(shù)據(jù)傳送也可以是雙方向的,即將源操作數(shù)數(shù)據(jù)傳送也可以是雙方向的,即將源操作數(shù)與目的操作數(shù)(一個字節(jié)或一個字)相互交與目的操作數(shù)(一個字節(jié)或一個字)相互交換位置。換位置。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.4 指令類型指令類型 3.4.2 運算類指令運算類指令1.算術(shù)運算指令算術(shù)運算指令 算術(shù)運算指令主要用于進行定點和浮算術(shù)運算指令主要用于進行定點和浮點運算。這類運算包括加、減、乘、除以點運算。這類運算包括加、減、乘、除以及加及加1、減、減1、比較等,有些機器還有十進、比較等,有些機器還有

60、十進制算術(shù)運算指令。制算術(shù)運算指令。 絕大多數(shù)算術(shù)運算指令都會影響到狀絕大多數(shù)算術(shù)運算指令都會影響到狀態(tài)標志位,通常的標志位有進位、溢出、態(tài)標志位,通常的標志位有進位、溢出、全零、正負和奇偶等。全零、正負和奇偶等。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院3.4 指令類型指令類型2.邏輯運算指令邏輯運算指令 一般計算機都具有與、或、非、異或一般計算機都具有與、或、非、異或等邏輯運算指令。這類指令在沒有設(shè)置專門等邏輯運算指令。這類指令在沒有設(shè)置專門的位操作指令的計算機中常用于對數(shù)據(jù)字的位操作指令的計算機中常用于對數(shù)據(jù)字(字節(jié))中某些位(一位或多位)進行操作。(字節(jié))

溫馨提示

  • 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

提交評論