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

下載本文檔

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

文檔簡(jiǎn)介

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

2、界面上。本章將討論一般計(jì)算機(jī)的指令系統(tǒng)所涉及的基本問題。系統(tǒng)所涉及的基本問題。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院第第3章章裸機(jī)裸機(jī)軟件軟件指令系統(tǒng)指令系統(tǒng)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4 指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.1 指令格式指令格式3.1.1 機(jī)器指令的基本格式機(jī)器指令的基本格式 一條

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

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

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

6、給出,稱為隱地址隱地址。 下面以下面以雙操作數(shù)指令雙操作數(shù)指令為例討論地址碼結(jié)為例討論地址碼結(jié)構(gòu)。構(gòu)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院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+ +計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工

7、大學(xué)計(jì)算機(jī)學(xué)院10020030050指令指令下一指令下一指令53513.1 指令格式指令格式2.三地址指令三地址指令OPOPA A1 1A A2 2A A3 3(A1)OP(A2)A3(PC)+1=下條將要執(zhí)下條將要執(zhí)行指令的地址行指令的地址程序計(jì)數(shù)器:程序計(jì)數(shù)器:存放當(dāng)前指令地址存放當(dāng)前指令地址指令指令 5 3 8下一指令下一指令+ +100200300538+ 執(zhí)行一條三地址指執(zhí)行一條三地址指令需令需4次訪問主存。次訪問主存。100200300 + +計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院(A1)OP(A2)A13.1 指令格式指令格式3.3

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

9、指令OPOPA A1 1(PC)+1=下條將下條將要執(zhí)行指令的地要執(zhí)行指令的地址址累加寄存器累加寄存器 執(zhí)行一條一執(zhí)行一條一地址指令需地址指令需2次訪次訪問主存。問主存。10020030050指令指令下一指令下一指令351指令指令 3下一指令下一指令+ +100538+100 + +計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.1 指令格式指令格式5.5.零地址指令零地址指令OPOP 操作數(shù)地址是隱含的。參加運(yùn)算的操操作數(shù)地址是隱含的。參加運(yùn)算的操作數(shù)放在堆棧中,運(yùn)算結(jié)果也放在堆棧中。作數(shù)放在堆棧中,運(yùn)算結(jié)果也放在堆棧中。有關(guān)堆棧的概念將在稍后討論。

10、有關(guān)堆棧的概念將在稍后討論。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.1 指令格式指令格式 指令中地址個(gè)數(shù)的選取要考慮諸多的指令中地址個(gè)數(shù)的選取要考慮諸多的因素。從縮短程序長(zhǎng)度,用戶使用方便,因素。從縮短程序長(zhǎng)度,用戶使用方便,增加操作并行度等方面來看,選用三地址增加操作并行度等方面來看,選用三地址指令格式較好;從縮短指令長(zhǎng)度,減少訪指令格式較好;從縮短指令長(zhǎng)度,減少訪存次數(shù),簡(jiǎn)化硬件設(shè)計(jì)等方面來看,一地存次數(shù),簡(jiǎn)化硬件設(shè)計(jì)等方面來看,一地址指令格式較好。對(duì)于同一個(gè)問題,用三址指令格式較好。對(duì)于同一個(gè)問題,用三地址指令編寫的程序最短,但指令長(zhǎng)度最

11、地址指令編寫的程序最短,但指令長(zhǎng)度最長(zhǎng),而用二、一、零地址指令來編寫程序,長(zhǎng),而用二、一、零地址指令來編寫程序,程序的長(zhǎng)度一個(gè)比一個(gè)長(zhǎng),但指令的長(zhǎng)度程序的長(zhǎng)度一個(gè)比一個(gè)長(zhǎng),但指令的長(zhǎng)度一個(gè)比一個(gè)短。一個(gè)比一個(gè)短。注意計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.1 指令格式指令格式例:計(jì)算例:計(jì)算x=(ab+c-d) (e+f)三地址指令:三地址指令:MULA,B,XADDX,C,XSUBX,D,XADDE,F,YDIVX,Y,X 5條指令,每條指令條指令,每條指令4次訪存,執(zhí)行此程次訪存,執(zhí)行此程序共訪存序共訪存20次。次。計(jì)算機(jī)組成原理計(jì)算機(jī)組成

12、原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.1 指令格式指令格式二地址指令:二地址指令:MOVX,AMULX,BADDX,CSUBX,DMOVY,EADDY,FDIVX,Y 7條指令,條指令,MOV指令指令3次訪存,算邏指令次訪存,算邏指令4次訪存,執(zhí)行此程序共訪存次訪存,執(zhí)行此程序共訪存23+54=26次次。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.1 指令格式指令格式一地址指令:一地址指令:LOAD EADD FSTORE XLOAD AMULBADDCSUBDDIVXSTORE X 9條指令,每條指令,每條指令條指令2

13、次訪存,次訪存,執(zhí)行此程序共訪執(zhí)行此程序共訪存存92=18次次計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.1 指令格式指令格式3.1.3 指令的操作碼指令的操作碼 指令系統(tǒng)中的每一條指令都有一個(gè)唯指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼,指令不同,其操作碼的一確定的操作碼,指令不同,其操作碼的編碼也不同。為了能表示整個(gè)指令系統(tǒng)中編碼也不同。為了能表示整個(gè)指令系統(tǒng)中的全部指令,指令的操作碼字段應(yīng)當(dāng)具有的全部指令,指令的操作碼字段應(yīng)當(dāng)具有足夠的位數(shù)。足夠的位數(shù)。 指令操作碼的編碼可以分為指令操作碼的編碼可以分為規(guī)整型規(guī)整型和和非規(guī)整型非規(guī)整型兩類

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

15、一個(gè)半字長(zhǎng)指令。不論指令的長(zhǎng)度為指令和一個(gè)半字長(zhǎng)指令。不論指令的長(zhǎng)度為多少位,其中操作碼字段多少位,其中操作碼字段一律都是一律都是8位位,8位位操作碼字段允許容納操作碼字段允許容納256條指令,實(shí)際上在條指令,實(shí)際上在IBM 370機(jī)中僅有機(jī)中僅有183條指令。條指令。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.1 指令格式指令格式OPOPOPOPOPD2D1D1D2D2R1R1R1R2R2L1B1B2B2B2X2B1I28888844444444444881212121212RR型RX型RS型SI型SS型計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10

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

17、段占占416位不等,可遍及整個(gè)指令長(zhǎng)度。位不等,可遍及整個(gè)指令長(zhǎng)度。 操作碼字段的位數(shù)和位置不固定將增操作碼字段的位數(shù)和位置不固定將增加指令譯碼和分析的難度,使控制器的設(shè)加指令譯碼和分析的難度,使控制器的設(shè)計(jì)復(fù)雜化。計(jì)復(fù)雜化。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.1 指令格式指令格式OPRR846261316OPS844OPOPOPOPOPOP1616SDD1683DDXSS66666610單字長(zhǎng)(16位)二字長(zhǎng)(32位)三字長(zhǎng)(48位)地址地址1地址2計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3

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

19、格式為:其格式為: 如果按照定長(zhǎng)編碼的方法,如果按照定長(zhǎng)編碼的方法,4位操作碼位操作碼字段最多只能表示字段最多只能表示16條不同的三地址指令。條不同的三地址指令。OPOPA A1 1A A2 2A A3 34 4位位4 4位位4 4位位4 4位位計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院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 ZZZZ111

20、0 XXXX YYYY ZZZZ111111111515條二地址指令條二地址指令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 0

21、000 00001111 1111 1111 11111111 1111 1111 1111擴(kuò)展窗口擴(kuò)展窗口擴(kuò)展窗口擴(kuò)展窗口擴(kuò)展窗口擴(kuò)展窗口OPOPA1A1A2A2OPOPA1A1OPOP計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4 指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 尋址,指的是尋找操作數(shù)的地址尋址,指的是尋找操作數(shù)的地址或下或下一條將要

22、執(zhí)行的指令地址。一條將要執(zhí)行的指令地址。尋址技術(shù)包括尋址技術(shù)包括編址方式和尋址方式。編址方式和尋址方式。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù)3.2.1 編址方式編址方式1. 編址編址 通常,指令中的地址碼字段將指出操作通常,指令中的地址碼字段將指出操作數(shù)的來源和去向,而操作數(shù)則存放在相應(yīng)數(shù)的來源和去向,而操作數(shù)則存放在相應(yīng)的存儲(chǔ)設(shè)備中。在計(jì)算機(jī)中需要編址的設(shè)的存儲(chǔ)設(shè)備中。在計(jì)算機(jī)中需要編址的設(shè)備主要有備主要有CPU中的通用寄存器、主存儲(chǔ)器中的通用寄存器、主存儲(chǔ)器和輸入輸出設(shè)備等和輸入輸出設(shè)備等3種。種。計(jì)算機(jī)組成原理計(jì)算

23、機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù)2. 編址單位編址單位(1)字編址字編址 編址單位編址單位=訪問單位訪問單位 每個(gè)編址單位所包含的信息量(二進(jìn)每個(gè)編址單位所包含的信息量(二進(jìn)制位數(shù))與讀或?qū)懸淮渭拇嫫鳌⒅鞔嫠@制位數(shù))與讀或?qū)懸淮渭拇嫫鳌⒅鞔嫠@得的信息量是相同的。早期的大多數(shù)機(jī)器得的信息量是相同的。早期的大多數(shù)機(jī)器都采用這種編址方式。都采用這種編址方式。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù)(2)字節(jié)編址字節(jié)編址 字節(jié)編址是為了適應(yīng)非數(shù)值計(jì)算的需字節(jié)編址是為了適

24、應(yīng)非數(shù)值計(jì)算的需要。字節(jié)編址方式使編址單位與信息的基本要。字節(jié)編址方式使編址單位與信息的基本單位(一個(gè)字節(jié))相一致,這是它的最大優(yōu)單位(一個(gè)字節(jié))相一致,這是它的最大優(yōu)點(diǎn)。然而,如果主存的訪問單位也是一個(gè)字點(diǎn)。然而,如果主存的訪問單位也是一個(gè)字節(jié)的話,那么主存的頻帶就太窄了。節(jié)的話,那么主存的頻帶就太窄了。 編址單位訪問單位編址單位訪問單位 通常主存的訪問單位是編址單位的若通常主存的訪問單位是編址單位的若干倍。干倍。(3)位編址位編址 也有部分計(jì)算機(jī)系統(tǒng)采用位編址方式。也有部分計(jì)算機(jī)系統(tǒng)采用位編址方式。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2

25、 尋址技術(shù)尋址技術(shù)3. 指令中地址碼的位數(shù)指令中地址碼的位數(shù) 指令格式中每個(gè)地址碼的位數(shù)是與指令格式中每個(gè)地址碼的位數(shù)是與主存主存容量容量和和最小尋址單位最小尋址單位(即編址單位)有關(guān)聯(lián)(即編址單位)有關(guān)聯(lián)的。主存容量越大,所需的地址碼位數(shù)就越的。主存容量越大,所需的地址碼位數(shù)就越長(zhǎng)。對(duì)于相同容量來說,如果以字節(jié)為最小長(zhǎng)。對(duì)于相同容量來說,如果以字節(jié)為最小尋址單位,地址碼的位數(shù)就需要長(zhǎng)些;如果尋址單位,地址碼的位數(shù)就需要長(zhǎng)些;如果以字為最小尋址單位(假定字長(zhǎng)為以字為最小尋址單位(假定字長(zhǎng)為16位或更位或更長(zhǎng)),地址碼的位數(shù)可以減少。設(shè)某機(jī)主存長(zhǎng)),地址碼的位數(shù)可以減少。設(shè)某機(jī)主存容量為容量為2

26、20 個(gè)字節(jié),機(jī)器字長(zhǎng)個(gè)字節(jié),機(jī)器字長(zhǎng)32位。若最小位。若最小尋址單位為字節(jié)(按字節(jié)編址),其地址碼尋址單位為字節(jié)(按字節(jié)編址),其地址碼應(yīng)為應(yīng)為20位;若最小尋址單位為字(按字編位;若最小尋址單位為字(按字編址),其地址碼只需址),其地址碼只需18位。位。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院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ù)尋址方式較多,其最終目的都是尋找所需要址方式較多

27、,其最終目的都是尋找所需要的操作數(shù)的操作數(shù)。尋找下一條將要執(zhí)行的指令地。尋找下一條將要執(zhí)行的指令地址稱為指令尋址,指令尋址比較簡(jiǎn)單,它址稱為指令尋址,指令尋址比較簡(jiǎn)單,它又可以細(xì)分為順序?qū)ぶ泛吞S尋址。又可以細(xì)分為順序?qū)ぶ泛吞S尋址。注意計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 順序?qū)ぶ房赏ㄟ^程序計(jì)數(shù)器順序?qū)ぶ房赏ㄟ^程序計(jì)數(shù)器PC加加1,自動(dòng)形成下一條指令的地址;跳躍尋址則自動(dòng)形成下一條指令的地址;跳躍尋址則需要通過程序轉(zhuǎn)移類指令實(shí)現(xiàn)。需要通過程序轉(zhuǎn)移類指令實(shí)現(xiàn)。 跳躍尋址的轉(zhuǎn)移地址形成方式有三種:跳躍尋址的轉(zhuǎn)移地址形成方式

28、有三種:直接(絕對(duì))、相對(duì)和間接尋址,它與下直接(絕對(duì))、相對(duì)和間接尋址,它與下面介紹的數(shù)據(jù)尋址方式中的直接、相對(duì)和面介紹的數(shù)據(jù)尋址方式中的直接、相對(duì)和間接尋址是相同的,只不過尋找到的不是間接尋址是相同的,只不過尋找到的不是操作數(shù)的有效地址而是轉(zhuǎn)移的有效地址而操作數(shù)的有效地址而是轉(zhuǎn)移的有效地址而已。已。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 3.2.3 基本的數(shù)據(jù)尋址方式基本的數(shù)據(jù)尋址方式 尋址方式是根據(jù)指令中給出的地址碼尋址方式是根據(jù)指令中給出的地址碼字段尋找真實(shí)操作數(shù)地址的方式。字段尋找真實(shí)操作數(shù)地址的方式。 指令中的

29、形式地址指令中的形式地址A有效地址有效地址EA尋址方式尋址方式OPOP立即數(shù)立即數(shù) 在取指令時(shí),操作碼和操作數(shù)被同時(shí)取在取指令時(shí),操作碼和操作數(shù)被同時(shí)取出,不必再次訪問存儲(chǔ)器,從而提高了指令出,不必再次訪問存儲(chǔ)器,從而提高了指令的執(zhí)行速度。但是,因?yàn)椴僮鲾?shù)是指令的一的執(zhí)行速度。但是,因?yàn)椴僮鲾?shù)是指令的一部分,不能被修改,且立即數(shù)的大小將受到部分,不能被修改,且立即數(shù)的大小將受到指令長(zhǎng)度的限制。指令長(zhǎng)度的限制。1.立即尋址立即尋址計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù)2.寄存器尋址寄存器尋址 指令中地址碼部分指令中地址碼部分

30、給出某一通用寄存器的給出某一通用寄存器的編號(hào),所指定的寄存器編號(hào),所指定的寄存器中存放著操作數(shù)。中存放著操作數(shù)。 兩個(gè)明顯的優(yōu)點(diǎn):兩個(gè)明顯的優(yōu)點(diǎn): 從寄存器存取數(shù)據(jù)從寄存器存取數(shù)據(jù)比主存快得多;比主存快得多; 由于寄存器的數(shù)量由于寄存器的數(shù)量較少,其地址碼字段比較少,其地址碼字段比主存單元地址字段短得主存單元地址字段短得多。多。操作數(shù)操作數(shù)OP指令寄存器指令寄存器 通用寄存器通用寄存器RiR5操作數(shù)操作數(shù)S=(Ri)操作數(shù)操作數(shù)EA= RiR5計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院操作數(shù)操作數(shù)OP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器A3.2 尋址

31、技術(shù)尋址技術(shù)3.直接尋址直接尋址 指令中地址碼指令中地址碼字段給出的地址字段給出的地址A就是操作數(shù)的有效就是操作數(shù)的有效地址:地址: EA=A 由于操作數(shù)由于操作數(shù)地址是不能修改的,地址是不能修改的,與程序本身所在的與程序本身所在的位置無關(guān),所以又位置無關(guān),所以又叫做叫做絕對(duì)尋址絕對(duì)尋址方式。方式。操作數(shù)操作數(shù)100操作數(shù)操作數(shù)S=(A)100計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù)4.間接尋址間接尋址 指令中給出的地指令中給出的地址址A不是操作數(shù)的地不是操作數(shù)的地址,而是存放操作數(shù)址,而是存放操作數(shù)地址的地址。地址的地址。

32、 EA=(A) 通常在指令格式通常在指令格式中劃出一位作為標(biāo)中劃出一位作為標(biāo)志位。志位。 =0 直接尋址直接尋址 =1 間接尋址間接尋址操作數(shù)操作數(shù)EAOP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器A操作數(shù)操作數(shù) 100操作數(shù)操作數(shù)S=(A)100200200計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 間接尋址要比直接尋址靈活得多,它間接尋址要比直接尋址靈活得多,它的主要優(yōu)點(diǎn)為:的主要優(yōu)點(diǎn)為: 擴(kuò)大了尋址范圍,可用指令的短地址擴(kuò)大了尋址范圍,可用指令的短地址訪問大的主存空間。訪問大的主存空間。 可將主存單元作為程序的地址指針,可將主

33、存單元作為程序的地址指針,用以指示操作數(shù)在主存中的位置。當(dāng)操作用以指示操作數(shù)在主存中的位置。當(dāng)操作數(shù)的地址需要改變時(shí),不必修改指令,只數(shù)的地址需要改變時(shí),不必修改指令,只需修改存放有效地址的那個(gè)主存單元(間需修改存放有效地址的那個(gè)主存單元(間接地址單元)的內(nèi)容就可以了。接地址單元)的內(nèi)容就可以了。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 除去一級(jí)間接尋除去一級(jí)間接尋址外,還有多級(jí)間接址外,還有多級(jí)間接尋址。多級(jí)間接尋址尋址。多級(jí)間接尋址為取得操作數(shù)需要多為取得操作數(shù)需要多次訪問主存,即使在次訪問主存,即使在找到操作數(shù)有效地址

34、找到操作數(shù)有效地址后,還需再訪問一次后,還需再訪問一次主存才可得到真正的主存才可得到真正的操作數(shù)。操作數(shù)。 多級(jí)間接標(biāo)志:多級(jí)間接標(biāo)志: 0:找到有效地址:找到有效地址 1:繼續(xù)間接尋址:繼續(xù)間接尋址EAOP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器A110二級(jí)間址二級(jí)間址三級(jí)間址三級(jí)間址操作數(shù)操作數(shù)100操作數(shù)操作數(shù)1 2001 3000 5010020030050計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院EAOP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器Ri操作數(shù)操作數(shù) 通用寄存器通用寄存器3.2 尋址技術(shù)尋址技術(shù) 5.寄存器間接尋址寄存器間接尋址 指令中的

35、地址碼給指令中的地址碼給出某一通用寄存器的出某一通用寄存器的編號(hào),被指定的寄存編號(hào),被指定的寄存器中存放操作數(shù)的有器中存放操作數(shù)的有效地址,而操作數(shù)則效地址,而操作數(shù)則存放在主存單元中。存放在主存單元中。 這種尋址方式的這種尋址方式的指令較短,并且在取指令較短,并且在取指后只需一次訪存便指后只需一次訪存便可得到操作數(shù)。可得到操作數(shù)。操作數(shù)操作數(shù)操作數(shù)操作數(shù)S=(Ri)100R5EA=(Ri)R5100計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù)6.變址尋址變址尋址 把指令給出的把指令給出的形式地址形式地址A與變址與變址寄存器寄存

36、器RX的內(nèi)容相的內(nèi)容相加,形成操作數(shù)有加,形成操作數(shù)有效地址:效地址: EA=A+(RX) RX 的內(nèi)容為變的內(nèi)容為變址值。址值。120OP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器A操作數(shù)操作數(shù)R RX X變址值變址值XALU變址寄存器變址寄存器R RX X操作數(shù)操作數(shù)10020操作數(shù)操作數(shù)S=(A+(RX) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 變址尋址是一種廣泛采用的尋址方式,變址尋址是一種廣泛采用的尋址方式,通常指令中的形式地址作為基準(zhǔn)地址,而通常指令中的形式地址作為基準(zhǔn)地址,而RX的內(nèi)容作為修改量。在遇到需要頻繁修的

37、內(nèi)容作為修改量。在遇到需要頻繁修改地址時(shí),無須修改指令,只要修改變址改地址時(shí),無須修改指令,只要修改變址值就可以了。值就可以了。 例如:要把一組連續(xù)存放在主存單元例如:要把一組連續(xù)存放在主存單元中的數(shù)據(jù)(首地址是中的數(shù)據(jù)(首地址是A)依次傳送到另一存)依次傳送到另一存儲(chǔ)區(qū)(首地址為儲(chǔ)區(qū)(首地址為B)中去,則只需在指令中)中去,則只需在指令中指明兩個(gè)存儲(chǔ)區(qū)的首地址指明兩個(gè)存儲(chǔ)區(qū)的首地址A和和B(形式地(形式地址),用同一變址寄存器提供修改量址),用同一變址寄存器提供修改量K,即,即可實(shí)現(xiàn)可實(shí)現(xiàn)(A+K)B+K。變址寄存器的內(nèi)容在。變址寄存器的內(nèi)容在每次傳送之后自動(dòng)地修改。每次傳送之后自動(dòng)地修改。

38、 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù)7.基址尋址基址尋址 將基址寄存器將基址寄存器Rb的內(nèi)容與位移量的內(nèi)容與位移量D相相加,形成操作數(shù)有效加,形成操作數(shù)有效地址:地址: EA=(Rb)+D 基址寄存器的內(nèi)基址寄存器的內(nèi)容稱為基址值,指令容稱為基址值,指令的地址碼字段是一個(gè)的地址碼字段是一個(gè)位移量,位移量,位移量可正位移量可正可負(fù)可負(fù)。OP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器D操作數(shù)操作數(shù)R Rb b基址值基址值A(chǔ)LU基址寄存器基址寄存器Rb120操作數(shù)操作數(shù)20100操作數(shù)操作數(shù)S=(Rb)+D)計(jì)算機(jī)組成原理計(jì)算機(jī)組

39、成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 基址尋址和變址尋址在形成有效地址基址尋址和變址尋址在形成有效地址時(shí)所用的算法是相同的,而且在一些計(jì)算時(shí)所用的算法是相同的,而且在一些計(jì)算機(jī)中,這兩種尋址方式都是由同樣的硬件機(jī)中,這兩種尋址方式都是由同樣的硬件來實(shí)現(xiàn)的。來實(shí)現(xiàn)的。 但這兩種尋址方式應(yīng)用的場(chǎng)合不同,但這兩種尋址方式應(yīng)用的場(chǎng)合不同,變址尋址是面向用戶的,用于訪問字符串、變址尋址是面向用戶的,用于訪問字符串、向量和數(shù)組等成批數(shù)據(jù);而基址尋址面向向量和數(shù)組等成批數(shù)據(jù);而基址尋址面向系統(tǒng),主要用于邏輯地址和物理地址的變系統(tǒng),主要用于邏輯地址和物理地址

40、的變換,用以解決程序在主存中的再定位和擴(kuò)換,用以解決程序在主存中的再定位和擴(kuò)大尋址空間等問題。在某些大型機(jī)中,基大尋址空間等問題。在某些大型機(jī)中,基址寄存器只能由特權(quán)指令來管理,用戶指址寄存器只能由特權(quán)指令來管理,用戶指令無權(quán)操作和修改。令無權(quán)操作和修改。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院操作數(shù)操作數(shù)操作數(shù)操作數(shù)OP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器D指令指令指令地址指令地址ALU程序計(jì)數(shù)器程序計(jì)數(shù)器PC-D+D3.2 尋址技術(shù)尋址技術(shù)8.相對(duì)尋址相對(duì)尋址 相對(duì)尋址是基址相對(duì)尋址是基址尋址的一種變通,由尋址的一種變通,由程序計(jì)數(shù)器程序計(jì)數(shù)器

41、PC提供提供基準(zhǔn)地址,即:基準(zhǔn)地址,即: EA=(PC)+D 位移量指出的是位移量指出的是操作數(shù)和現(xiàn)行指令之操作數(shù)和現(xiàn)行指令之間的相對(duì)位置。間的相對(duì)位置。120操作數(shù)操作數(shù)20100操作數(shù)操作數(shù)S=(PC)+D)100-20 E0操作數(shù)操作數(shù)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 相對(duì)尋址方式的特點(diǎn):相對(duì)尋址方式的特點(diǎn): 操作數(shù)的地址不是固定的,它隨著操作數(shù)的地址不是固定的,它隨著PC值值的變化而變化,并且與指令地址之間總是相的變化而變化,并且與指令地址之間總是相差一個(gè)固定值差一個(gè)固定值 D。當(dāng)指令地址改變時(shí),由。當(dāng)指令地

42、址改變時(shí),由于其位移量不變,使得操作數(shù)與指令在可用于其位移量不變,使得操作數(shù)與指令在可用的存儲(chǔ)區(qū)內(nèi)一起移動(dòng),所以仍能保證程序的的存儲(chǔ)區(qū)內(nèi)一起移動(dòng),所以仍能保證程序的正確執(zhí)行。采用正確執(zhí)行。采用PC相對(duì)尋址方式編寫的程相對(duì)尋址方式編寫的程序可在主存中任意浮動(dòng),它放在主存的任何序可在主存中任意浮動(dòng),它放在主存的任何地方,所執(zhí)行的效果都是一樣的。地方,所執(zhí)行的效果都是一樣的。 由于由于指令中給出的位移量可正、可負(fù),所指令中給出的位移量可正、可負(fù),所以對(duì)于指令地址而言,操作數(shù)地址可能在指以對(duì)于指令地址而言,操作數(shù)地址可能在指令地址之前或之后。令地址之前或之后。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10

43、北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù)9.頁面尋址頁面尋址 頁面尋址相當(dāng)于將整個(gè)主存空間分成若頁面尋址相當(dāng)于將整個(gè)主存空間分成若干個(gè)大小相同的區(qū),每個(gè)區(qū)稱為一頁,每頁干個(gè)大小相同的區(qū),每個(gè)區(qū)稱為一頁,每頁有若干個(gè)主存單元。每頁都有自己的編號(hào),有若干個(gè)主存單元。每頁都有自己的編號(hào),稱為頁面地址;頁面內(nèi)的每個(gè)主存單元也有稱為頁面地址;頁面內(nèi)的每個(gè)主存單元也有自己的編號(hào),稱為頁內(nèi)地址。這樣,操作數(shù)自己的編號(hào),稱為頁內(nèi)地址。這樣,操作數(shù)的有效地址就被分為兩部分:前部為頁面地的有效地址就被分為兩部分:前部為頁面地址,后部為頁內(nèi)地址。址,后部為頁內(nèi)地址。頁內(nèi)地址頁內(nèi)地址頁面地

44、址頁面地址計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 頁內(nèi)地址由指令頁內(nèi)地址由指令的地址碼的地址碼A自動(dòng)直接自動(dòng)直接提供,它與頁面地址提供,它與頁面地址通過簡(jiǎn)單的通過簡(jiǎn)單的拼裝連接拼裝連接就可得到有效地址。就可得到有效地址。根據(jù)頁面地址的來源根據(jù)頁面地址的來源不同,有三種不同的不同,有三種不同的頁面尋址:頁面尋址:64KB0頁頁1頁頁2頁頁255頁頁0000255255255255頁內(nèi)地址頁內(nèi)地址(8位位)頁面地址頁面地址(8位位)64KB0頁頁1頁頁2頁頁511頁頁0000127127127127頁內(nèi)地址頁內(nèi)地址(7位位)頁

45、面地址頁面地址(9位位)頁內(nèi)地址頁內(nèi)地址(9位位)頁面地址頁面地址(7位位)64KB0頁頁1頁頁2頁頁127頁頁0000511511511511計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器OPA0頁頁1頁頁N-1頁頁指令指令所在頁所在頁0頁頁操作數(shù)操作數(shù)0頁頁3.2 尋址技術(shù)尋址技術(shù) 基頁尋址(零頁尋址)。由于頁面地址基頁尋址(零頁尋址)。由于頁面地址等于全等于全0,所以有效地址,所以有效地址EA=0A(在這在這里表示簡(jiǎn)單拼接),操作數(shù)里表示簡(jiǎn)單拼接),操作數(shù)S在零頁面中。在零頁面中。A頁內(nèi)地址頁內(nèi)地址頁面地址頁面地

46、址EA操作數(shù)操作數(shù)3800000000000000000000380038255頁頁64K計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器OPA0頁頁1頁頁N-1頁頁指令指令所在頁所在頁指令指令所在頁所在頁操作數(shù)操作數(shù)PCHPCLPCH程序計(jì)數(shù)器程序計(jì)數(shù)器3.2 尋址技術(shù)尋址技術(shù) 當(dāng)前頁尋址。頁面地址就等于程序計(jì)數(shù)當(dāng)前頁尋址。頁面地址就等于程序計(jì)數(shù)器器PC的高位部分,所以有效地址的高位部分,所以有效地址EA=(PC)H A,操作數(shù),操作數(shù)S與指令本身處于同一頁面中。與指令本身處于同一頁面中。頁內(nèi)地址頁內(nèi)地址頁面地址頁面地

47、址EA操作數(shù)操作數(shù)APCH操作數(shù)操作數(shù)38382F852F2F38255頁頁64K511頁頁2FB8計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 頁寄存器尋址。頁面地址取自頁寄存器,頁寄存器尋址。頁面地址取自頁寄存器,與形式地址相拼接形成操作數(shù)有效地址:與形式地址相拼接形成操作數(shù)有效地址: EA=(頁寄存器頁寄存器)A 有些計(jì)算機(jī)在指令格式中設(shè)置了一個(gè)頁有些計(jì)算機(jī)在指令格式中設(shè)置了一個(gè)頁面標(biāo)志位(面標(biāo)志位(Z/C)。當(dāng))。當(dāng)Z/C=0,表示零頁尋,表示零頁尋址,當(dāng)址,當(dāng)Z/C=1,表示當(dāng)前頁尋址。,表示當(dāng)前頁尋址。計(jì)算機(jī)組成原理

48、計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院各種數(shù)據(jù)尋址方式獲得數(shù)據(jù)的速度(由各種數(shù)據(jù)尋址方式獲得數(shù)據(jù)的速度(由快到慢)快到慢)立即尋址立即尋址寄存器尋址寄存器尋址直接尋址直接尋址寄存器間接尋址寄存器間接尋址頁面尋址頁面尋址變址尋址(基址尋址、相對(duì)尋址)變址尋址(基址尋址、相對(duì)尋址)一級(jí)間接尋址一級(jí)間接尋址多級(jí)間接尋址多級(jí)間接尋址 3.2 尋址技術(shù)尋址技術(shù)注意計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 為了能區(qū)分出各種不同尋址方式,必須為了能區(qū)分出各種不同尋址方式,必須在指令中給出標(biāo)識(shí)。標(biāo)識(shí)的方式通

49、常有兩種:在指令中給出標(biāo)識(shí)。標(biāo)識(shí)的方式通常有兩種:顯式和隱式顯式和隱式。 顯式的方法就是在指令中設(shè)置專門的尋顯式的方法就是在指令中設(shè)置專門的尋址方式(址方式(MOD)字段,用二進(jìn)制代碼來表)字段,用二進(jìn)制代碼來表明尋址方式類型。明尋址方式類型。 隱式的方式是由指令的操作碼字段說明隱式的方式是由指令的操作碼字段說明指令格式并隱含約定尋址方式。指令格式并隱含約定尋址方式。AMODOP顯式顯式AOP隱式隱式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.2 尋址技術(shù)尋址技術(shù) 注意,一條指令若有兩個(gè)或兩個(gè)以注意,一條指令若有兩個(gè)或兩個(gè)以上的地址碼時(shí),上的地址碼

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

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

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

53、可變,棧底堆棧又稱為軟堆棧,堆棧的大小可變,棧底固定,棧頂浮動(dòng),故需要一個(gè)專門的硬件寄固定,棧頂浮動(dòng),故需要一個(gè)專門的硬件寄存器作為堆棧棧頂指針存器作為堆棧棧頂指針SP,簡(jiǎn)稱棧指針。棧,簡(jiǎn)稱棧指針。棧指針?biāo)付ǖ闹鞔鎲卧?,就是堆棧的棧頂。指針?biāo)付ǖ闹鞔鎲卧?,就是堆棧的棧頂?高地址高地址低地址低地址堆棧區(qū)自底向上生成自底向上生成方式的堆棧方式的堆棧計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.3 堆棧與堆棧操作堆棧與堆棧操作 堆棧的棧底地址大于棧頂?shù)刂?,通常棧堆棧的棧底地址大于棧頂?shù)刂?,通常棧指針始終指向指針始終指向棧頂?shù)臐M單元棧頂?shù)臐M單元。進(jìn)棧時(shí)

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

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

56、。 在堆棧計(jì)算機(jī)(如在堆棧計(jì)算機(jī)(如HP-3000、B5000等)等)中,沒有一般計(jì)算機(jī)中必備的通用寄存器,中,沒有一般計(jì)算機(jī)中必備的通用寄存器,因此堆棧就成為提供操作數(shù)和保存運(yùn)算結(jié)因此堆棧就成為提供操作數(shù)和保存運(yùn)算結(jié)果的唯一場(chǎng)所。果的唯一場(chǎng)所。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.3 堆棧與堆棧操作堆棧與堆棧操作 通常,參加算通常,參加算邏運(yùn)算的兩個(gè)操作邏運(yùn)算的兩個(gè)操作數(shù)隱含地從堆棧頂數(shù)隱含地從堆棧頂部彈出,送到運(yùn)算部彈出,送到運(yùn)算器中進(jìn)行運(yùn)算,運(yùn)器中進(jìn)行運(yùn)算,運(yùn)算的結(jié)果再隱含地算的結(jié)果再隱含地壓入堆棧。這類堆壓入堆棧。這類堆棧操作指令中沒

57、有棧操作指令中沒有地址部分,故稱為地址部分,故稱為零地址指令零地址指令。20012000a ab bb ba a2002+a+ba+ba+ba+b計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.3 堆棧與堆棧操作堆棧與堆棧操作堆棧計(jì)算機(jī)實(shí)現(xiàn)計(jì)算堆棧計(jì)算機(jī)實(shí)現(xiàn)計(jì)算x=(ab+c-d) (e+f)PUSH APUSH BMULPUSH CADDPUSHDSUBPUSHEPUSHFADDDIVPOP Xaba*bca*b+cd efa*b+c-de+f(a*b+c-d)/(e+f)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)

58、算機(jī)學(xué)院3.3 堆棧與堆棧操作堆棧與堆棧操作 12條指令,進(jìn)、出棧指令條指令,進(jìn)、出棧指令3次訪存,算次訪存,算邏指令邏指令4次訪存,執(zhí)行此程序共訪存次訪存,執(zhí)行此程序共訪存73+54=41次。次。 可以先把算術(shù)表達(dá)式轉(zhuǎn)換成逆波蘭表可以先把算術(shù)表達(dá)式轉(zhuǎn)換成逆波蘭表示式:示式: x=abc+d-ef+計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4 指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工

59、大學(xué)計(jì)算機(jī)學(xué)院3.4 指令類型指令類型 3.4.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 數(shù)據(jù)傳送類指令主要用于實(shí)現(xiàn)寄存器數(shù)據(jù)傳送類指令主要用于實(shí)現(xiàn)寄存器與寄存器之間,寄存器與主存單元之間以與寄存器之間,寄存器與主存單元之間以及兩個(gè)主存單元之間的數(shù)據(jù)傳送。數(shù)據(jù)傳及兩個(gè)主存單元之間的數(shù)據(jù)傳送。數(shù)據(jù)傳送類指令又可以細(xì)分為:送類指令又可以細(xì)分為: 1.一般傳送指令一般傳送指令 一般傳送指令(一般傳送指令(MOV)具有數(shù)據(jù)復(fù)制)具有數(shù)據(jù)復(fù)制的性質(zhì),即數(shù)據(jù)從源地址傳送到目的地址,的性質(zhì),即數(shù)據(jù)從源地址傳送到目的地址,而源地址中的內(nèi)容保持不變。傳送通常以而源地址中的內(nèi)容保持不變。傳送通常以字節(jié)、字、雙字或數(shù)組為單

60、位,特殊情況字節(jié)、字、雙字或數(shù)組為單位,特殊情況下也能按位為單位進(jìn)行傳送。下也能按位為單位進(jìn)行傳送。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)學(xué)院北京理工大學(xué)計(jì)算機(jī)學(xué)院3.4 指令類型指令類型 主存單元之間的傳送主存單元之間的傳送 MOV mem2,mem1,其含義為,其含義為 (mem1)mem2 從主存單元傳送到寄存器從主存單元傳送到寄存器 MOV reg,mem,其含義為,其含義為 (mem)reg 在有些計(jì)算機(jī)中,該指令用助記符在有些計(jì)算機(jī)中,該指令用助記符LOAD表示,又稱為取數(shù)指令。表示,又稱為取數(shù)指令。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2012.10北京理工大學(xué)計(jì)算機(jī)

溫馨提示

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