![計(jì)算機(jī)組成原理 指令系統(tǒng)_第1頁](http://file4.renrendoc.com/view/d52a3e5a87c28d18703553cfd61f8779/d52a3e5a87c28d18703553cfd61f87791.gif)
![計(jì)算機(jī)組成原理 指令系統(tǒng)_第2頁](http://file4.renrendoc.com/view/d52a3e5a87c28d18703553cfd61f8779/d52a3e5a87c28d18703553cfd61f87792.gif)
![計(jì)算機(jī)組成原理 指令系統(tǒng)_第3頁](http://file4.renrendoc.com/view/d52a3e5a87c28d18703553cfd61f8779/d52a3e5a87c28d18703553cfd61f87793.gif)
![計(jì)算機(jī)組成原理 指令系統(tǒng)_第4頁](http://file4.renrendoc.com/view/d52a3e5a87c28d18703553cfd61f8779/d52a3e5a87c28d18703553cfd61f87794.gif)
![計(jì)算機(jī)組成原理 指令系統(tǒng)_第5頁](http://file4.renrendoc.com/view/d52a3e5a87c28d18703553cfd61f8779/d52a3e5a87c28d18703553cfd61f87795.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)組成原理指令系統(tǒng)第1頁,共83頁,2023年,2月20日,星期四指令、指令系統(tǒng)是計(jì)算機(jī)中一個(gè)最基本的概念。指令是指示計(jì)算機(jī)執(zhí)行某些操作的命令,一臺(tái)計(jì)算機(jī)的所有指令的集合構(gòu)成該機(jī)的指令系統(tǒng)。指令系統(tǒng)是計(jì)算機(jī)的主要屬性,位于硬件和軟件的交界面上。第2頁,共83頁,2023年,2月20日,星期四宏指令:由若干條機(jī)器指令組成的軟件指令,它屬于軟件;機(jī)器指令:介于微指令與宏指令之間,通常簡(jiǎn)稱為指令,每一條指令可完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作。本章所討論的指令,是機(jī)器指令第3頁,共83頁,2023年,2月20日,星期四本章學(xué)習(xí)內(nèi)容4.1指令格式4.2尋址技術(shù)4.3堆棧與堆棧操作4.4指令類型第4頁,共83頁,2023年,2月20日,星期四本章學(xué)習(xí)要求理解:指令的基本格式以及不同地址碼(3、2、1、0地址)的雙操作數(shù)指令的區(qū)別理解:規(guī)整型指令和非規(guī)整型指令的特點(diǎn)掌握:擴(kuò)展操作碼的方法理解:編址單位和指令中地址碼的位數(shù)與主存容量、最小尋址單位的關(guān)系掌握:基本的數(shù)據(jù)尋址方式和有效地址EA的計(jì)算方法掌握:自底向上的存儲(chǔ)器堆棧的概念及堆棧的進(jìn)、出棧操作理解:常用指令的特點(diǎn)第5頁,共83頁,2023年,2月20日,星期四完備性:完備性是指用匯編語言編寫各種程序時(shí),指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來實(shí)現(xiàn)。完備性要求指令系統(tǒng)豐富、功能齊全、使用方便。一臺(tái)計(jì)算機(jī)中最基本、必不可少的指令是不多的。許多指令可用最基本的指令編程來實(shí)現(xiàn)。有效性:有效性是指利用該指令系統(tǒng)所編寫的程序能夠高效率地運(yùn)行。高效率主要表現(xiàn)在程序占據(jù)存儲(chǔ)空間小、執(zhí)行速度快。一般來說,一個(gè)功能更強(qiáng)、更完善的指令系統(tǒng),必定有更好的有效性。對(duì)指令系統(tǒng)性能的要求第6頁,共83頁,2023年,2月20日,星期四規(guī)整性:規(guī)整性包括指令系統(tǒng)的對(duì)稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。
對(duì)稱性是指:在指令系統(tǒng)中所有的寄存器和存儲(chǔ)器單元都可同等對(duì)待,所有的指令都可使用各種尋址方式;
勻齊性是指:一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型,如算術(shù)運(yùn)算指令可支持字節(jié)、字、雙字整數(shù)的運(yùn)算,十進(jìn)制數(shù)運(yùn)算和單、雙精度浮點(diǎn)數(shù)運(yùn)算等;指令格式和數(shù)據(jù)格式的一致性是指:指令長(zhǎng)度和數(shù)據(jù)長(zhǎng)度有一定的關(guān)系,以方便處理和存取。例如指令長(zhǎng)度和數(shù)據(jù)長(zhǎng)度通常是字節(jié)長(zhǎng)度的整數(shù)倍。第7頁,共83頁,2023年,2月20日,星期四兼容性:
系列機(jī)各機(jī)種之間具有相同的基本結(jié)構(gòu)和共同的基本指令集,因而指令系統(tǒng)是兼容的,即各機(jī)種上基本軟件可以通用。但由于不同機(jī)種推出的時(shí)間不同,在結(jié)構(gòu)和性能上有差異,做到所有軟件都完全兼容是不可能的,只能做到“向上兼容”,即低檔機(jī)上運(yùn)行的軟件可以在高檔機(jī)上運(yùn)行。第8頁,共83頁,2023年,2月20日,星期四低級(jí)語言與硬件結(jié)構(gòu)的關(guān)系低級(jí)語言與高級(jí)語言關(guān)系第9頁,共83頁,2023年,2月20日,星期四4.1指令格式一臺(tái)計(jì)算機(jī)指令格式的選擇和確定要涉及多方面的因素,如指令長(zhǎng)度、地址碼結(jié)構(gòu)以及操作碼結(jié)構(gòu)等,是一個(gè)很復(fù)雜的問題,它與計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)表示方法、指令功能設(shè)計(jì)等都密切相關(guān)。第10頁,共83頁,2023年,2月20日,星期四4.1.1機(jī)器指令的基本格式一條指令就是機(jī)器語言的一個(gè)語句,它是一組有意義的二進(jìn)制代碼。操作碼字段 地址碼字段 操作碼:指明操作的性質(zhì)及功能。操作碼
地址碼:指明操作數(shù)的地址。地址碼第11頁,共83頁,2023年,2月20日,星期四4.1.1機(jī)器指令的基本格式(續(xù))指令的長(zhǎng)度是指一條指令中所包含的二進(jìn)制代碼的位數(shù),它取決于操作碼字段的長(zhǎng)度、操作數(shù)地址的個(gè)數(shù)及長(zhǎng)度。指令長(zhǎng)度可以等于機(jī)器字長(zhǎng),也可以大于或小于機(jī)器字長(zhǎng)。在一個(gè)指令系統(tǒng)中,若所有指令的長(zhǎng)度都是相等的,稱為定長(zhǎng)指令字結(jié)構(gòu);若各種指令的長(zhǎng)度隨指令功能而異,稱為變長(zhǎng)指令字結(jié)構(gòu)。第12頁,共83頁,2023年,2月20日,星期四4.1.2地址碼結(jié)構(gòu)
一條雙操作數(shù)指令的除操作碼之外,還應(yīng)包含以下信息:第一操作數(shù)地址,用A1表示;第二操作數(shù)地址,用A2表示;操作結(jié)果存放地址,用A3表示;下條將要執(zhí)行指令的地址,用A4表示。這些信息可以在指令中明顯的給出,稱為顯地址;也可以依照某種事先的約定,用隱含的方式給出,稱為隱地址。第13頁,共83頁,2023年,2月20日,星期四1.四地址指令
(A1)OP(A2)→A3A4=下條將要執(zhí)行指令的地址其中:Ai表示地址,(Ai)表示存放于該地址中的內(nèi)容。OPA1A2A3A4第14頁,共83頁,2023年,2月20日,星期四2.三地址指令
(A1)OP(A2)→A3(PC)+1→PC(隱含)執(zhí)行一條三地址的雙操作數(shù)運(yùn)算指令,至少需要訪問?次主存。
第一次取指令本身,第二次取被操作數(shù),第三次取操作數(shù),第四次保存運(yùn)算結(jié)果。
OPA1A2A3第15頁,共83頁,2023年,2月20日,星期四3.二地址指令
(A1)OP(A2)→A1(PC)+1→PC(隱含)其中:A1為目的操作數(shù)地址,A2為源操作數(shù)地址。二地址指令執(zhí)行之后,目的操作數(shù)地址中原存的內(nèi)容已被破壞了。執(zhí)行一條二地址的雙操作數(shù)運(yùn)算指令,至少需要訪問?次主存。OPA1A2第16頁,共83頁,2023年,2月20日,星期四4.一地址指令
(Acc)OP(A1)→Acc(PC)+1→PC(隱含)執(zhí)行一條一地址的雙操作數(shù)運(yùn)算指令,只需要訪問?次主存。
第一次取指令本身,第二次取操作數(shù)。被操作數(shù)和運(yùn)算結(jié)果都放在累加寄存器中,所以讀取和存入都不需要訪問主存。OPA1第17頁,共83頁,2023年,2月20日,星期四5.零地址指令
零地址的算邏類指令是用在堆棧計(jì)算機(jī)中的,堆棧計(jì)算機(jī)沒有一般計(jì)算機(jī)中必備的通用寄存器,因此堆棧就成為提供操作數(shù)和保存運(yùn)算結(jié)果的唯一場(chǎng)所。通常,參加算邏運(yùn)算的兩個(gè)操作數(shù)隱含地從堆棧頂部彈出,送到運(yùn)算器中進(jìn)行運(yùn)算,運(yùn)算的結(jié)果再隱含地壓入堆棧。OP第18頁,共83頁,2023年,2月20日,星期四不同地址數(shù)指令的特點(diǎn)和適用場(chǎng)合對(duì)于同一個(gè)問題,用三地址指令編寫的程序最短,但指令長(zhǎng)度最長(zhǎng),而用二、一、零地址指令來編寫程序,程序的長(zhǎng)度一個(gè)比一個(gè)長(zhǎng),但指令的長(zhǎng)度一個(gè)比一個(gè)短。第19頁,共83頁,2023年,2月20日,星期四指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼,指令不同,其操作碼的編碼也不同。通常,希望用盡可能短的操作碼字段來表達(dá)全部的指令。指令操作碼的編碼可以分為規(guī)整型和非規(guī)整型兩類。4.1.3指令的操作碼第20頁,共83頁,2023年,2月20日,星期四1.規(guī)整型
操作碼字段的位數(shù)和位置是固定的。假定:指令系統(tǒng)共有m條指令,指令中操作碼字段的位數(shù)為N位,則有如下關(guān)系式:
N≥log2m
規(guī)整型編碼對(duì)于簡(jiǎn)化硬件設(shè)計(jì),減少指令譯碼的時(shí)間是非常有利的。
IBM370機(jī)(字長(zhǎng)32位)的指令可分為三種不同的長(zhǎng)度,不論指令的長(zhǎng)度為多少位,其中操作碼字段一律都是8位。第21頁,共83頁,2023年,2月20日,星期四IBM370機(jī)的指令格式圖4-1IBM370機(jī)的指令格式第22頁,共83頁,2023年,2月20日,星期四2.非規(guī)整型
操作碼字段的位數(shù)不固定,且分散地放在指令字的不同位置上。
PDP-11機(jī)(字長(zhǎng)16位)的指令分為單字長(zhǎng)、兩字長(zhǎng)、三字長(zhǎng)三種,操作碼字段占4~16位不等,可遍及整個(gè)指令長(zhǎng)度。顯然,操作碼字段的位數(shù)和位置不固定將增加指令譯碼和分析的難度,使控制器的設(shè)計(jì)復(fù)雜化。第23頁,共83頁,2023年,2月20日,星期四PDP-11機(jī)的指令格式圖4-2PDP-11機(jī)的指令格式第24頁,共83頁,2023年,2月20日,星期四最常用的非規(guī)整型編碼方式是擴(kuò)展操作碼法。讓操作數(shù)地址個(gè)數(shù)多的指令(如三地址指令)的操作碼字段短些,操作數(shù)地址個(gè)數(shù)少的指令(如一或零地址指令)的操作碼字段長(zhǎng)些。擴(kuò)展操作碼法
第25頁,共83頁,2023年,2月20日,星期四當(dāng)用一些硬件資源代替指令字中的地址碼字段后當(dāng)指令的地址字段為寄存器時(shí)可擴(kuò)大指令的尋址范圍可縮短指令字長(zhǎng)可減少訪存次數(shù)三地址OPR1,
R2,R3二地址OPR1,R2
一地址OPR1
指令執(zhí)行階段不訪存可縮短指令字長(zhǎng)第26頁,共83頁,2023年,2月20日,星期四EXP
某指令字長(zhǎng)為16位,每個(gè)地址碼為6位,擴(kuò)展操作碼技術(shù),設(shè)有14條二地址指令,100條一地址指令,100條零地址指令:1)畫出擴(kuò)展圖2)計(jì)算操作碼平均長(zhǎng)度3)指令譯碼邏輯第27頁,共83頁,2023年,2月20日,星期四EXP
某計(jì)算機(jī)的指令系統(tǒng)字長(zhǎng)定長(zhǎng)為16位,采用擴(kuò)展操作碼,操作數(shù)地址需要4位。該指令系統(tǒng)已有三地址指令M條,二地址指令N條,沒有零地址指令。問:最多還有多少條一地址指令?第28頁,共83頁,2023年,2月20日,星期四EXP
某指令系統(tǒng)的指令字長(zhǎng)為12位,每個(gè)地址碼長(zhǎng)為3位,試問,采用何種方案,使得該指令系統(tǒng)有4條三地址,8條二地址,180條單地址指令?若二地址指令僅有7條,單地址指令最多可有多少條?第29頁,共83頁,2023年,2月20日,星期四一、操作數(shù)類型地址數(shù)字字符邏輯數(shù)無符號(hào)整數(shù)定點(diǎn)數(shù)、浮點(diǎn)數(shù)、十進(jìn)制數(shù)ASCII邏輯運(yùn)算二、數(shù)據(jù)在存儲(chǔ)器中的存放方式字地址為低字節(jié)地址字地址為高字節(jié)地址37621540字地址04低字節(jié)04512673字地址04低字節(jié)4.1.4指令的操作碼第30頁,共83頁,2023年,2月20日,星期四存儲(chǔ)器中的數(shù)據(jù)存放(存儲(chǔ)字長(zhǎng)為
32
位)地址(十進(jìn)制)04812162024283236雙字雙字(地址32)雙字雙字(地址24)半字(地址20)半字(地址22)半字(地址16)半字(地址18)字節(jié)(地址8)字節(jié)(地址9)字節(jié)(地址10)字節(jié)(地址11)字(地址4)字(地址0)字節(jié)(地址14)字節(jié)(地址15)字節(jié)(地址13)字節(jié)(地址12)邊界對(duì)準(zhǔn)地址(十進(jìn)制)048字節(jié)(地址7)字節(jié)(地址6)字(地址2)半字(地址10)半字(地址8)半字(地址0)字(地址4)邊界未對(duì)準(zhǔn)
▲▲第31頁,共83頁,2023年,2月20日,星期四三、操作類型1.
數(shù)據(jù)傳送源目的寄存器寄存器寄存器寄存器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器置“1”,清“0”2.算術(shù)邏輯操作加、減、乘、除、增1、減1、求補(bǔ)、浮點(diǎn)運(yùn)算、十進(jìn)制運(yùn)算與、或、非、異或、位操作、位測(cè)試、位清除、位求反如8086MOVESTORELOADMOVEPUSHPOP例如MOVEMOVEADDSUBMULDIVINCDECCMPNEGAAAAASAAMAADANDORNOTXORTEST第32頁,共83頁,2023年,2月20日,星期四3.移位操作算術(shù)移位4.轉(zhuǎn)移(1)無條件轉(zhuǎn)移
JMP(2)條件轉(zhuǎn)移結(jié)果為零轉(zhuǎn)(Z=1)
JZ結(jié)果溢出轉(zhuǎn)(O=1)JO結(jié)果有進(jìn)位轉(zhuǎn)(C=1)JC跳過一條指令SKP循環(huán)移位(帶進(jìn)位和不帶進(jìn)位)如300…305306307SKPDZD=0則跳邏輯移位完成觸發(fā)器第33頁,共83頁,2023年,2月20日,星期四(3)調(diào)用和返回CALLSUB1.........CALLSUB2…...CALLSUB2…RETURNRETURN......主程序地址200021002101子程序SUB1240025002501256025612700主存空間分配程序執(zhí)行流程子程序SUB2第34頁,共83頁,2023年,2月20日,星期四INAX,nOUTDX,ALOUTn,AXOUTDX,AX(4)陷阱(Trap)與陷阱指令意外事故的中斷設(shè)置供用戶使用的陷阱指令如8086INTTYPE軟中斷提供給用戶使用的陷阱指令,完成系統(tǒng)調(diào)用5.輸入輸出一般不提供給用戶直接使用
在出現(xiàn)事故時(shí),由CPU自動(dòng)產(chǎn)生并執(zhí)行(隱指令)INAL,DXINAX,DX入端口地址CPU的寄存器出
CPU的寄存器端口地址如如INAL,nOUTn,AL第35頁,共83頁,2023年,2月20日,星期四4.2尋址技術(shù)所謂尋址,指的是尋找操作數(shù)的地址或下一條將要執(zhí)行的指令地址。尋址技術(shù)包括編址方式和尋址方式。第36頁,共83頁,2023年,2月20日,星期四尋址可以分為指令尋址和數(shù)據(jù)尋址。尋找下一條將要執(zhí)行的指令地址稱為指令尋址,尋找操作數(shù)的地址稱為數(shù)據(jù)尋址。
指令尋址比較簡(jiǎn)單,它又可以細(xì)分為順序?qū)ぶ泛吞S尋址。數(shù)據(jù)尋址方式種類較多,其最終目的都是尋找所需要的操作數(shù)。4.2.1指令尋址和數(shù)據(jù)尋址第37頁,共83頁,2023年,2月20日,星期四
順序?qū)ぶ房赏ㄟ^程序計(jì)數(shù)器PC加1,自動(dòng)形成下一條指令的地址;跳躍尋址則需要通過程序轉(zhuǎn)移類指令實(shí)現(xiàn)。跳躍尋址的轉(zhuǎn)移地址形成方式有3種:直接(絕對(duì))、相對(duì)和間接尋址,它與下面介紹的數(shù)據(jù)尋址方式中的直接、相對(duì)和間接尋址是相同的,只不過尋找到的不是操作數(shù)的有效地址而是轉(zhuǎn)移的有效地址而已。4.2.1指令尋址和數(shù)據(jù)尋址第38頁,共83頁,2023年,2月20日,星期四LDA1000ADD1001DEC1200JMP7LDA2000SUB2001INCSTA2500LDA1100...0123456789PC+1指令地址尋址方式指令地址指令順序?qū)ぶ?順序?qū)ぶ?順序?qū)ぶ?跳躍尋址7順序?qū)ぶ?第39頁,共83頁,2023年,2月20日,星期四
數(shù)據(jù)尋址方式是根據(jù)指令中給出的地址碼字段尋找真實(shí)操作數(shù)地址的方式。指令中的形式地址A───→有效地址EA
4.2.2基本的數(shù)據(jù)尋址方式尋址方式形式地址指令字中的地址
有效地址操作數(shù)的真實(shí)地址
約定指令字長(zhǎng)=存儲(chǔ)字長(zhǎng)=機(jī)器字長(zhǎng)形式地址A操作碼尋址特征第40頁,共83頁,2023年,2月20日,星期四
寄存器是CPU內(nèi)部重要的數(shù)據(jù)存儲(chǔ)資源,用來暫存數(shù)據(jù)和地址,是匯編程序員能直接使用的硬件資源之一。由于寄存器的存取速度比內(nèi)存快,所以,在用匯編語言編寫程序時(shí),要盡可能充分利用寄存器的存儲(chǔ)功能。在高級(jí)語言(如:C/C++語言)中,也有定義變量為寄存器類型的,這就是提高寄存器利用率的一種可行的方法。
4.2.2基本的數(shù)據(jù)尋址方式什么是寄存器第41頁,共83頁,2023年,2月20日,星期四一種典型的運(yùn)算器結(jié)構(gòu)4.2.2基本的數(shù)據(jù)尋址方式常用的16個(gè)通用寄存器:AX累加器BX基址寄存器CX計(jì)數(shù)器DX數(shù)據(jù)寄存器SP堆棧指針BP變址指針SI源操作數(shù)DI目的操作數(shù)CS代碼段寄存器SS堆棧段寄存器DS數(shù)據(jù)段寄存器ES附加段寄存器第42頁,共83頁,2023年,2月20日,星期四隱含尋址操作數(shù)地址隱含在操作碼中ADDA操作數(shù)主存尋址特征AACC暫存ALU另一個(gè)操作數(shù)隱含在ACC中如8086MUL指令被乘數(shù)隱含在AX(16位)或AL(8位)中MOVS指令源操作數(shù)的地址隱含在SI中目的操作數(shù)的地址隱含在DI中指令字中少了一個(gè)地址字段,可縮短指令字長(zhǎng)第43頁,共83頁,2023年,2月20日,星期四指令中給出的不是通常意義上的操作數(shù)地址,而是操作數(shù)本身,也就是說數(shù)據(jù)就包含在指令中,只要取出指令,也就取出了可以立即使用的操作數(shù)。在取指令時(shí),操作碼和操作數(shù)被同時(shí)取出,不必再次訪問主存,從而提高了指令的執(zhí)行速度。但是,因?yàn)椴僮鲾?shù)是指令的一部分,不能被修改,而且立即數(shù)的大小受到指令長(zhǎng)度的限制,所以這種尋址方式靈活性最差,通常用于給某一寄存器或主存單元賦初值或提供一個(gè)常數(shù)。立即尋址OP#A立即尋址特征立即數(shù)可正可負(fù)補(bǔ)碼第44頁,共83頁,2023年,2月20日,星期四
指令中地址碼字段給出的地址A就是操作數(shù)的有效地址,即形式地址等于有效地址:EA=A。由于這樣給出的操作數(shù)地址是不能修改的,與程序本身所在的位置無關(guān),所以又叫做絕對(duì)尋址方式。操作數(shù)S=(A)
這種尋址方式不需作任何尋址運(yùn)算,簡(jiǎn)單直觀,也便于硬件實(shí)現(xiàn),但地址空間受到指令中地址碼字段位數(shù)的限制。
movBX,VARmovCL,DA+3movAX,DS:[100H]直接尋址第45頁,共83頁,2023年,2月20日,星期四操作數(shù)主存尋址特征LDAAAACC執(zhí)行階段訪問一次存儲(chǔ)器
A的位數(shù)決定了該指令操作數(shù)的尋址范圍操作數(shù)的地址不易修改(必須修改A)第46頁,共83頁,2023年,2月20日,星期四
間接尋址意味著指令中給出的地址A不是操作數(shù)的地址;而是存放操作數(shù)地址的主存單元的地址,簡(jiǎn)稱操作數(shù)地址的地址。通常在指令格式中劃出一位作為直接或間接尋址的標(biāo)志位,間接尋址時(shí)標(biāo)志位@=1。在一級(jí)間接尋址中,
EA=(A)S=((A))間接尋址第47頁,共83頁,2023年,2月20日,星期四EA=(A)有效地址由形式地址間接提供OPA尋址特征AEA主存EAA1EA
A1主存
EA10執(zhí)行指令階段2次訪存可擴(kuò)大尋址范圍便于編制程序OPA尋址特征A一次間址多次間址操作數(shù)操作數(shù)多次訪存第48頁,共83頁,2023年,2月20日,星期四………子程序主程序…8081201202轉(zhuǎn)子程序轉(zhuǎn)子程序間接尋址編程舉例(A)=81(A)=202……@間址特征JMP@A…………………………第49頁,共83頁,2023年,2月20日,星期四寄存器間接尋址
指令中的地址碼給出某一通用寄存器的編號(hào),在被指定的寄存器中存放操作數(shù)的有效地址,而操作數(shù)則存放在主存單元中。
S=((Ri))EA=(Ri)操作數(shù)主存OPRi尋址特征地址………………R0RiRn寄存器第50頁,共83頁,2023年,2月20日,星期四
有效地址在寄存器中,操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存
便于編制循環(huán)程序MovBH,[BP]MovAX,[BX]MovBH,SS:[BP]MovAX,DS:[BX]第51頁,共83頁,2023年,2月20日,星期四變址尋址
把變址寄存器Rx的內(nèi)容與指令中給出的形式地址A相加,形成操作數(shù)有效地址,即EA=(IX)+A
。Rx的內(nèi)容稱為變址值。
OPA操作數(shù)主存尋址特征ALUIXIX為變址寄存器(專用)通用寄存器也可以作為變址寄存器第52頁,共83頁,2023年,2月20日,星期四可擴(kuò)大尋址范圍便于處理數(shù)組問題
Rx的內(nèi)容由用戶給定在程序的執(zhí)行過程中Rx內(nèi)容可變,形式地址A不變第53頁,共83頁,2023年,2月20日,星期四例設(shè)數(shù)據(jù)塊首地址為D,求N
個(gè)數(shù)的平均值直接尋址變址尋址LDADADDD+1ADDD+2……ADDD+(N-1)DIV#NSTAANSLDA#0LDX#0INXCPX#NBNEMDIV#NSTAANS共N+2條指令共8條指令A(yù)DDX,DMX為變址寄存器D為形式地址(X)和#N
比較(X)+1X結(jié)果不為零則轉(zhuǎn)第54頁,共83頁,2023年,2月20日,星期四基址尋址
基址寄存器Rb的內(nèi)容與指令中給出的位移量A相加,形成操作數(shù)有效地址,即:EA=(BR)+A
基址寄存器的內(nèi)容稱為基址值。指令的地址碼字段是一個(gè)位移量,位移量可正、可負(fù)。
第55頁,共83頁,2023年,2月20日,星期四基址尋址圖4-8基址尋址過程OPA操作數(shù)主存尋址特征ALUBR第56頁,共83頁,2023年,2月20日,星期四可擴(kuò)大尋址范圍便于程序搬家
Rb內(nèi)容由操作系統(tǒng)或管理程序確定在程序的執(zhí)行過程中BR內(nèi)容不變,形式地址A可變第57頁,共83頁,2023年,2月20日,星期四可采用通用寄存器作基址寄存器操作數(shù)主存尋址特征ALUOPR0AR0
作基址寄存器由用戶指定哪個(gè)通用寄存器作為基址寄存器通用寄存器R0Rn-1R1…基址寄存器的內(nèi)容由操作系統(tǒng)確定在程序的執(zhí)行過程中R0內(nèi)容不變,形式地址A可變第58頁,共83頁,2023年,2月20日,星期四相對(duì)尋址
相對(duì)尋址是基址尋址的一種變通,由程序計(jì)數(shù)器PC提供基準(zhǔn)地址,指令中的地址碼字段作為位移量D,兩者相加后得到操作數(shù)的有效地址,即EA=(PC)+A。位移量指出的是操作數(shù)和現(xiàn)行指令之間的相對(duì)位置。
A是相對(duì)于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼)操作數(shù)尋址特征ALUOPA相對(duì)距離A1000PC……主存1000AOP第59頁,共83頁,2023年,2月20日,星期四相對(duì)尋址方式的特點(diǎn)
①操作數(shù)的地址不是固定的,它隨著PC值的變化而變化,并且與指令地址之間總是相差一個(gè)固定值A(chǔ)。當(dāng)指令地址改變時(shí),由于其位移量不變,使得操作數(shù)與指令在可用的存儲(chǔ)區(qū)內(nèi)一起移動(dòng),所以仍能保證程序的正確執(zhí)行。②采用PC相對(duì)尋址方式編寫的程序可在主存中任意浮動(dòng),它放在主存的任何地方,所執(zhí)行的效果都是一樣的。
③廣泛用于轉(zhuǎn)移指令,由于指令中給出的位移量可正、可負(fù),所以對(duì)于指令地址而言,操作數(shù)地址可能在指令地址之前或之后。第60頁,共83頁,2023年,2月20日,星期四相對(duì)尋址舉例M隨程序所在存儲(chǔ)空間的位置不同而不同EA=(M+3)–3=M–3*LDA#0LDX#0ADDX,DINXCPX#NBNEMDIV#NSTAANSMM+1M+2M+3而指令BNE與指令A(yù)DDX,D相對(duì)位移量不變–3*指令BNE操作數(shù)的有效地址為–3*相對(duì)尋址特征*第61頁,共83頁,2023年,2月20日,星期四按字節(jié)尋址的相對(duì)尋址舉例OP位移量2000H2008H8JMP*+8OP06H2000H2008H8設(shè)當(dāng)前指令地址PC=2000H轉(zhuǎn)移后的目的地址為
2008H因?yàn)槿〕鯦MP
*+8后PC=2002H二字節(jié)指令故JMP
*+8指令的第二字節(jié)為2008H-2002H=6H第62頁,共83頁,2023年,2月20日,星期四EXP設(shè)相對(duì)尋址的轉(zhuǎn)移指令占3個(gè)字節(jié),第一個(gè)字節(jié)為操作碼,第二、三字節(jié)為相對(duì)位移量(補(bǔ)碼表示),而且數(shù)據(jù)在存儲(chǔ)器中采用小段方案存放方式。每當(dāng)CPU從存儲(chǔ)器取出一個(gè)字節(jié)時(shí),即自動(dòng)完成pc+1---pc。
1)若PC當(dāng)前的值為240(十進(jìn)制),要求轉(zhuǎn)移到290(十進(jìn)制),則轉(zhuǎn)移指令的第二、三字節(jié)的機(jī)器代碼是什么?
2)若PC當(dāng)前的值為240(十進(jìn)制),要求轉(zhuǎn)移到200(十進(jìn)制),則轉(zhuǎn)移指令的第二、三字節(jié)的機(jī)器代碼是什么?
第63頁,共83頁,2023年,2月20日,星期四頁面尋址
頁面尋址相當(dāng)于將整個(gè)主存空間分成若干個(gè)大小相同的區(qū),每個(gè)區(qū)稱為一頁,每頁有若干個(gè)主存單元。每頁都有自己的編號(hào),稱為頁面地址;頁面內(nèi)的每個(gè)主存單元也有自己的編號(hào),稱為頁內(nèi)地址。這樣,操作數(shù)的有效地址就被分為兩部分:前部為頁面地址,后部為頁內(nèi)地址。頁內(nèi)地址頁面地址第64頁,共83頁,2023年,2月20日,星期四頁面尋址(續(xù))
頁內(nèi)地址由指令的地址碼部分自動(dòng)直接提供,它與頁面地址通過簡(jiǎn)單的拼裝連接就可得到有效地址,無須進(jìn)行計(jì)算,因此尋址迅速。根據(jù)頁面地址的來源不同,頁面尋址又可以分成三種不同的方式:基頁尋址,EA=0∥A,操作數(shù)S在零頁面中。基頁尋址實(shí)際上就是直接尋址。當(dāng)前頁尋址,EA=(PC)H∥A,操作數(shù)S與指令本身處于同一頁面中。頁寄存器尋址,頁面地址取自頁寄存器,與形式地址相拼接形成有效地址。第65頁,共83頁,2023年,2月20日,星期四指令寄存器主存儲(chǔ)器OPA0頁1頁N-1頁指令所在頁………0頁操作數(shù)0頁基頁尋址A頁內(nèi)地址頁面地址EA操作數(shù)3800000000000000000000380038255頁64K第66頁,共83頁,2023年,2月20日,星期四指令寄存器主存儲(chǔ)器OPA0頁1頁N-1頁指令所在頁………指令所在頁操作數(shù)…PCHPCLPCH程序計(jì)數(shù)器當(dāng)前頁尋址頁內(nèi)地址頁面地址EA操作數(shù)APCH操作數(shù)38382F852F2F38255頁64K第67頁,共83頁,2023年,2月20日,星期四堆棧尋址(1)堆棧的特點(diǎn)堆棧硬堆棧軟堆棧多個(gè)寄存器指定的存儲(chǔ)空間先進(jìn)后出(一個(gè)入出口)棧頂?shù)刂酚蒘P指出–11FFFH+12000H進(jìn)棧(SP)–1SP出棧(SP)+1SP棧頂棧底2000HSP2000H……1FFFHSP1FFFH棧頂棧底進(jìn)棧出棧1FFFH棧頂2000H棧頂?shù)?8頁,共83頁,2023年,2月20日,星期四(2)堆棧尋址舉例15200HACCSPX棧頂200H棧底主存151FFHACCSP15棧頂200H棧底主存X1FFHPUSHA前PUSHA后POPA前POPA后Y1FFHACCSPX棧頂200H棧底主存151FFH15200HACCSP棧頂200H棧底主存X15第69頁,共83頁,2023年,2月20日,星期四(3)SP的修改與主存編址方法有關(guān)①按字編址進(jìn)棧出棧(SP)–1SP(SP)+1SP②按字節(jié)編址存儲(chǔ)字長(zhǎng)16位進(jìn)棧出棧(SP)–2SP(SP)+2SP存儲(chǔ)字長(zhǎng)32位進(jìn)棧出棧(SP)–4SP(SP)+4SP第70頁,共83頁,2023年,2月20日,星期四復(fù)合尋址先變址后間址((ix)+A)----有效地址先間址后變址(A)+(ix)----有效地址EXPix000010op100000000011000001100000100100100010000011100110000111第71頁,共83頁,2023年,2月20日,星期四EXP
機(jī)器字長(zhǎng)為16位,內(nèi)存容量為64k,指令為單字長(zhǎng)指令,有50種操作,采用基址、間址和直接尋址,問:1)指令格式如何安排2)存儲(chǔ)器劃分多少頁面3)能否有其它尋址方式第72頁,共83頁,2023年,2月20日,星期四EXP某計(jì)算機(jī)字長(zhǎng)16位,存儲(chǔ)器按字編址,訪內(nèi)指令格式如下OPMAA為形式地址占8位。M為尋址方式占3位該指令能定義多少種指令?
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 華師大版數(shù)學(xué)七年級(jí)上冊(cè)《2.13 有理數(shù)的混合運(yùn)算》聽評(píng)課記錄2
- 《兩漢的科技和文化》名師聽課評(píng)課記錄(新部編人教版七年級(jí)上冊(cè)歷史)
- 陜教版道德與法治九年級(jí)下冊(cè)9.2《做負(fù)責(zé)公民》聽課評(píng)課記錄
- 現(xiàn)場(chǎng)安全方案協(xié)議書(2篇)
- 人教部編版八年級(jí)下冊(cè)道德與法治1.2《治國(guó)安邦的總章程》 聽課評(píng)課記錄
- 小學(xué)數(shù)學(xué)-五年級(jí)下冊(cè)-1-1觀察物體(聽評(píng)課記錄)
- 部編版八年級(jí)歷史上冊(cè)《第17課 中國(guó)工農(nóng)紅軍長(zhǎng)征》表格式聽課評(píng)課記錄
- 中圖版歷史七年級(jí)下冊(cè)第12課《影響世界的宋元科技成就》聽課評(píng)課記錄
- 魯教版歷史六年級(jí)上冊(cè)第8課《大變革的時(shí)代》聽課評(píng)課記錄
- 五年級(jí)上冊(cè)數(shù)學(xué)聽評(píng)課記錄《5.5 分?jǐn)?shù)基本性質(zhì)》(4)-北師大版
- 2024年浙江首考英語聽力原文解惑課件
- 無人機(jī)法律法規(guī)與安全飛行 第2版 課件 第五章 無人機(jī)空域管理
- 國(guó)家基層糖尿病防治管理指南(2022)更新要點(diǎn)解讀-1074177503
- 【班級(jí)管理表格】學(xué)生檢討反思承諾書
- 湖南省長(zhǎng)沙市長(zhǎng)郡教育集團(tuán)聯(lián)考2023-2024學(xué)年九年級(jí)上學(xué)期期中道德與法治試卷
- 農(nóng)村宅基地和建房(規(guī)劃許可)申請(qǐng)表
- (完整版)袱子的書寫格式和稱呼
- 供應(yīng)商新增或變更申請(qǐng)表
- 2023年中國(guó)農(nóng)業(yè)銀行應(yīng)急預(yù)案大全
- 【新版本】華為 H12-711 V4.0 HCIA-Security 認(rèn)證華為安全題庫(含答案)
- 村衛(wèi)生室2023年度績(jī)效考核評(píng)分細(xì)則(基本公共衛(wèi)生服務(wù))
評(píng)論
0/150
提交評(píng)論