版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2.3指令信息的表示指令:計算機要執(zhí)行某種操作的命令,稱為指令。指令系統(tǒng):一臺計算機所能執(zhí)行的全部指令的集合。本節(jié)主要討論:一般指令格式常用尋址方式面向用戶指令類型2.3.1指令格式指令基本格式操作碼OP地址碼AD一個一個或幾個1.操作碼是指明指令操作性質(zhì)的命令碼。它提供指令的操作控制信息。2.地址碼指明與操作數(shù)相關(guān)的信息。2.3.1指令格式對指令格式,應(yīng)注意如下問題:1)指令字長需多少位,是定字長,還是變字長2)操作碼長度若長度為n,則可表示2n條指令。3)地址結(jié)構(gòu)指令中涉及哪些地址,在指令中給出哪些地址,哪些地址隱含約定。4)尋址方式如何獲得操作數(shù)的值,是直接給出還是間接給出,或是經(jīng)過變址計算獲得。2.3.1.1指令字長指令字長與主存的編址單位及CPU的機器字長有一定關(guān)系。指令字長位數(shù)越多,所能表示的操作信息和地址信息也就越多,指令的功能越豐富,但所占空間和時間也越多。定長指令格式變長指令格式便于控制合理利用存儲空間2.3.1.2操作碼格式
操作碼一般在指令格式的前面一個或幾個字節(jié)。根據(jù)它可以判明該指令的基本類型及相應(yīng)的字節(jié)數(shù)。1.定長操作碼各指令中操作碼的位置、位數(shù)固定相同。例:INTEL8088的前6位為操作碼。2.擴展操作碼各指令中操作碼的位置、位數(shù)不固定,根據(jù)需要變化。關(guān)鍵在設(shè)置擴展標志。例.指令字長16位,可含有3、2、1或0個地址,每個地址占4位。操作碼地址碼15~1211~87~43~00000X
Y
Z
1110X
Y
Z............11110000YZ
11111110
YZ............三地址指令15條二地址指令15條1111
11110000Z
111111111110Z............一地址指令15條1111
1111
1111000011111111
11111111............零地址指令16條練習1.設(shè)指令系統(tǒng)指令字長是12位,每個地址長3位,該指令系統(tǒng)有一地址、二地址和三地址三種格式。假設(shè)該指令系統(tǒng)有6條三地址指令,12條二地址指令,請問一地址指令有多少條?
2.某計算機指令字長16位,每個地址是6位,指令有零地址、一地址和二地址三種格式,設(shè)有二地址指令N條,零地址指令M條,試問一地址指令最多有多少條?練習答案1、解:指令字長是12位,每個地址長3位。
6條三地址指令,12條二地址指令。操作碼
地址碼11~98~65~32~0三地址指令6條23–6=2((23-6)*23–12)*23=32000X
YZ101
X
YZ............二地址指令12條23*2=1616-12=4110
000
YZ110
111
YZ............111
000
YZ111
011
YZ............一地址指令?23*4練習答案2、解:指令字長16位,每個地址是6位二地址指令N條,零地址指令M條
設(shè)一地址指令有X條((24-N)*26-X)*26=M
得:X=(24-N)*26-M*2-62.3.1.2操作碼格式3.單功能型或復合型操作碼復合型操作碼:操作碼分為幾部分,每部分表示一種操作。例如:NOVA系列和ECLIPSE系列的算邏指令01234567815基本操作進位移位回送判跳操作數(shù)2.3.1.3地址結(jié)構(gòu)指令中提供的地址數(shù)存儲單元地址碼寄存器編號1.指令提供地址的方式顯地址方式:指令中明顯指明地址。隱地址方式:地址隱含約定,如事先隱含約定操作數(shù)在某個寄存器中或在堆棧中,不出現(xiàn)在指令中。直接或間接給出使用隱地址可以減少指令中的地址數(shù),簡化地址結(jié)構(gòu)。2.3.1.3地址結(jié)構(gòu)2.地址結(jié)構(gòu)1)四地址指令操作數(shù)地址格式:OPD1D2D3D4結(jié)果地址下條指令地址功能:(D1)OP(D2)D3(D4)下條指令2.3.1.3地址結(jié)構(gòu)2)三地址指令格式:操作數(shù)地址OPD1D2D3結(jié)果地址下條指令地址功能:轉(zhuǎn)移時,用轉(zhuǎn)移地址修改PC內(nèi)容。(D1)OP(D2)D3(PC)+nPC用指令計數(shù)器PC指示指令地址?,F(xiàn)行指令所占字節(jié)數(shù)2.3.1.3地址結(jié)構(gòu)3)二地址指令格式:目的OPD1D2
源功能:(D1)OP(D2)D1(PC)+nPC2.3.1.3地址結(jié)構(gòu)4)一地址指令格式:雙操作數(shù):OPD1隱含約定單操作數(shù):功能:(D1)OP(A)A(PC)+nPCOP(D1)D1(PC)+nPC5)零地址指令格式:OP
功能:a.用于堆棧:((SP))OP((SP)+1)(SP)+1(SP)+1SP棧頂內(nèi)容棧頂下一單元內(nèi)容新棧頂指向新棧頂例.ADD;執(zhí)行前:低b.操作數(shù)隱含指令:SP102046SP3046執(zhí)行后:高低高OP(A)A(PC)+nPC2.3.2尋址方式什么叫尋址方式?
指令中提供操作數(shù)或提供操作數(shù)地址的方式,稱為尋址方式或編址方式。
一個指令系統(tǒng)采用什么樣的尋址方式與存儲結(jié)構(gòu)及其存取方式有關(guān)。2.3.2.1存儲結(jié)構(gòu)與存取方式1.在指令中
通過指令可直接獲得操作數(shù)。2.CPU中的寄存器
訪問時只需給出寄存器號或隱含約定(根據(jù)操作碼)。稱為可編址寄存器。3.主存
訪問時應(yīng)給出相應(yīng)的存儲單元號2.3.2.1存儲結(jié)構(gòu)與存取方式4.堆棧
堆棧的操作在棧頂實現(xiàn),棧頂?shù)刂酚卸褩V羔樇拇嫫鱏P給出,用隱地址訪問。5.外設(shè)訪問時,主機通過外設(shè)中的相關(guān)寄存器實現(xiàn)與外設(shè)的I/O傳送。可將這些寄存器與主存統(tǒng)一編址,或為其分配專門的I/O端口地址。2.3.2.2常見尋址方式立即尋址方式由指令直接給出操作數(shù)。操作碼OP立即數(shù)S定長格式:變長格式:基本指令
立即數(shù)S數(shù)在指令中,其長度固定、有限。數(shù)在基本指令之后,其長度可變。用來提供常數(shù)、設(shè)置初值等。2.3.2.2常見尋址方式直接尋址方式
指令直接給出操作數(shù)地址存儲單元號寄存器號(數(shù)在M中)(數(shù)在R中)操作碼OP寄存器號R(1)寄存器直接尋址(寄存器尋址)格式R所占位數(shù)少;訪問R比訪問M快S=(R)2.3.2.2常見尋址方式例.指令:INCR11000HR02000HR13A00HR23C00HR32.3.2.2常見尋址方式(2)存儲器直接尋址操作碼OP有效地址D(直接尋址)定長格式變長格式基本指令
DLDHD的位數(shù)可覆蓋整個存儲空間S=(D)2.3.2.2常見尋址方式例.指令:INC2000H1000H1A00H2000H1B00H...M直接尋址主要用于訪問固定的存儲單元或寄存器。2.3.2.2常見尋址方式3.間接尋址方式指令給出操作數(shù)的間接地址。存儲單元號寄存器號(數(shù)在M中)(數(shù)在M中)格式(1)存儲器間址操作碼OP間接地址DD=00300060...0060S...S=((D))M間址單元地址指針間址單元地址操作數(shù)地址操作數(shù)MM2.3.2.2常見尋址方式(2)寄存器間址操作碼OP寄存器號R格式R所占位數(shù)少;R可提供全字長地址碼;修改R內(nèi)容比修改M內(nèi)容快。S=((R))R=02M0040S.........地址指針0040寄存器號操作數(shù)地址操作數(shù)RM2.3.2.2常見尋址方式(3)自增型寄存器間址寄存器號操作數(shù)地址操作數(shù)RM(R)+1先操作后修改(4)自減型寄存器間址寄存器號操作數(shù)地址操作數(shù)RM寄存器內(nèi)容減1先修改后操作2.3.2.2常見尋址方式(5)堆棧尋址格式操作碼OP堆棧指針SP
SPS=((SP))0070棧頂SP既可出現(xiàn)在指令中,也可隱含約定。M低高堆棧向上生成壓棧:SP自動減1,再存數(shù)。-(SP),自減型間址。先取數(shù),SP再自動加1。(SP)+,自增型間址。出棧:S.........2.3.2.2常見尋址方式(6)多重間址存儲器多重間址:間址單元地址操作數(shù)地址操作數(shù)MM間址單元地址M
寄存器多重間址寄存器號操作數(shù)地址操作數(shù)RM間址單元地址M2.3.2.2常見尋址方式4.變址、基址及其變化(1)變址尋址方式
指令給出一個寄存器號和一個地址量,寄存器內(nèi)容與地址量之和為有效地址。變址寄存器號S=((RX)+D)格式操作碼OPRXD形式地址變址量基準地址2.3.2.2常見尋址方式例.用變址方式訪問一組連續(xù)區(qū)間內(nèi)的數(shù)組元素。D=首址D為存儲區(qū)首址;(RX)為所訪單元距離首址的長度;RX初值為0,每訪問一個單元,(RX)+1。n-1...012...D+1D+2D+n-1
...2.3.2.2常見尋址方式(2)基址尋址方式
指令給出一個寄存器號和一個地址量,寄存器內(nèi)容與地址量之和為有效地址。格式基址寄存器號Rb4K操作碼OPRbD位移量S=((Rb)+D)基準地址相對于基址的位移M......…...…...Rb4KD=2D=22.3.2.2常見尋址方式便于訪問兩維數(shù)組中某類指定的元素。比如:4K4KRbM......…...…...RbD=2D=2學生姓名性別性別年齡年齡學生姓名2.3.2.2常見尋址方式變址與基址的區(qū)別:變址:指令提供基準量(不變),R提供修改量(可變);適于處理一維數(shù)組?;罚褐噶钐峁┪灰屏?不變),R提供基準量(可變);用于擴大有限字長指令的訪存空間。2.3.2.2常見尋址方式(3)基址加變址方式
指令給出兩個寄存器號和一個地址量,寄存器內(nèi)容與地址量之和為有效地址。S=((Rb)+(RX)+D)格式基址寄存器號位移量操作碼OPRbRXD便于處理兩維數(shù)組。變址寄存器號2.3.2.2常見尋址方式例.訪問二維表格。S=((Rb)+(RX)+D)
令:(Rb)+(Rx)指向各行起始;
D指向一行中各元素。(Rb)+(Rx)D(Rb)為表格首址
Rx初值為0,每訪問一行,(RX)+4;
D初值為0,每訪問一列,D+1。2.3.2.2常見尋址方式(4)相對尋址方式
指令給出位移量,PC內(nèi)容與位移量之和為有效地址。格式位移量操作碼OPPC
±D程序計數(shù)器,由寄存器號選定或隱含指定S=((PC)±D)有效地址相對PC上下浮動,給編程帶來方便。(5)頁面尋址方式
指令給出位移量,PC的高位部分與位移量拼接,形成有效地址。格式位移量操作碼OPPC
D或隱含指定S=((PC)H,D)頁號頁內(nèi)地址PC0165H017CHD=7C............S用于頁式管理存儲系統(tǒng)。尋址速度快,適于組織程序模塊,有效利用存儲空間。2.3.2.2常見尋址方式相關(guān)問題:尋址方式如何表示?
(1)指令中設(shè)置專門字段說明尋址方式例.某機指令的每個地址字段中各設(shè)置一個3位的尋址方式字段。操作碼OP尋址方式R尋址方式R目的地址字段源地址字段3位3位2.3.2.2常見尋址方式(2)操作碼隱含說明不同尋址方式例.某機指令操作碼最高兩位00:RR型指令,寄存器-寄存器尋址01:RX型指令,寄存器-變址尋址10:SI型指令,基址-立即尋址11:SS型指令,基址-基址尋址2.3.2.3堆棧操作1.堆棧的存取規(guī)則:“先進后出”。2.堆棧的硬件設(shè)置:
一端固定,另一端浮動。設(shè)置堆棧指針SP指向浮動端。3.堆棧的工作方式:(1)向上生成方式(P57圖2-16)(2)向下生成方式(P59圖2-19)(3)棧頂固定方式(P60圖2-20)2.3.3指令的功能和類型不同的機種,對指令的分類方法不同。通常有三類:1.按指令格式分類
分為雙操作數(shù)指令、單操作數(shù)指令、程序轉(zhuǎn)移指令等。2.按操作數(shù)尋址方式分類
如IBM370,其指令可分為:RR型、RX型、RS型、SI型及SS型。3.按指令功能分類可分為傳送指令、訪存指令、算術(shù)運算指令、邏輯運算指令、I/O指令、程序控制類指令、處理機控制類指令等。2.3.3.1傳送類指令機器的絕大部分操作(數(shù)據(jù)傳送、字符串處理、堆棧操作、輸入/輸出操作等),從廣義角度看,都可以歸結(jié)為信息的傳送,或在傳送過程中作了運算處理。源地址目的地址數(shù)
傳送指令一次可以傳送一個數(shù)據(jù)或一批數(shù)據(jù),有些機器設(shè)置了數(shù)據(jù)交換指令,可實現(xiàn)雙向傳送。2.3.3.1傳送類指令在設(shè)置傳送指令時,應(yīng)考慮三個方面:規(guī)定傳送范圍
(1)寄存器與寄存器
(2)存儲器與寄存器
(3)I/O接口寄存器與主機——傳送指令——訪存指令——I/O指令2.3.3.1傳送類指令2.指明傳送單位傳送指令用某種方式指明數(shù)據(jù)是按字節(jié)、字、雙字還是數(shù)組為單位進行傳送。例.VAX11(用操作碼說明):80X86(用地址量說明):MOVB
8MOV
AX,BX
(16)MOVW
16MOVL
32MOV
AL,BL
(8)MOV
EAX,EBX
(32)2.3.3.1傳送類指令3.設(shè)置尋址方式傳送指令以什么方式給出數(shù)據(jù)的源地址和目的地址,這涉及到尋址方式的選擇。在尋址方式的設(shè)置上幾乎不受限制,能比較集中地反映指令系統(tǒng)各種尋址方式的實現(xiàn)。2.3.3.2輸入/輸出指令
這是用來實現(xiàn)主機與外部設(shè)備之間進行信息交換的一類指令。以主機為基準,信息由外部設(shè)備傳向主機稱為輸入(Input),信息由主機傳給外部設(shè)備稱為輸出(Output)。各種信息主機外設(shè)2.3.3.2輸入/輸出指令在設(shè)置輸入/輸出指令時,應(yīng)考慮:1.I/O指令的功能擴展
如何用通用I/O指令實現(xiàn)對各種具體設(shè)備的控制?(1)I/O指令中留有擴展余地指令中某些字段編碼事先不定義,需要時再約定其含義。用于外設(shè)種類、數(shù)量不多的場合。2.3.3.2輸入/輸出指令(2)I/O接口中設(shè)置控制/狀態(tài)寄存器如何設(shè)置控制/狀態(tài)寄存器是接口設(shè)計的關(guān)鍵。
主機用輸出指令或傳送指令將具體設(shè)備的控制命令按約定的代碼格式送往接口中的控制寄存器,向外設(shè)發(fā)出命令。外設(shè)的狀態(tài)信息也以某種格式放在接口的狀態(tài)寄存器中,主機用輸入指令或傳送指令從狀態(tài)寄存器中取出有關(guān)信息進行查詢、分析。2.3.3.2輸入/輸出指令2.主機對外設(shè)的尋址方式尋找I/O接口中的寄存器的方式。(1)單獨編址編址到設(shè)備:每個設(shè)備有各自的設(shè)備編碼;I/O指令中給出設(shè)備碼,并指明訪問該設(shè)備的哪個寄存器。編址到寄存器:為每個寄存器(I/O端口)分配獨立的端口地址;I/O指令中給出端口地址。2.3.3.2輸入/輸出指令I(lǐng)/O地址空間不占主存空間,可與主存空間重疊。=1訪問存儲器=0訪問I/O端口需設(shè)置標志區(qū)分訪問對象,如M/IO2.3.3.2輸入/輸出指令(2)統(tǒng)一編址編址到寄存器:為每個寄存器(I/O端口)分配總線地址;訪問外設(shè)時,指令中給出總線地址。I/O端口占據(jù)部分主存空間。常將存儲空間的低端分配給主存單元,高端分配給I/O端口,以示區(qū)分。2.3.3.2輸入/輸出指令3.I/O指令設(shè)置方式(1)設(shè)置專用I/O指令針對單獨編址,用I/O指令訪問I/O端口。指令中說明輸入/輸出操作,并給出設(shè)備碼或端口地址。2.3.3.2輸入/輸出指令例.80X86I/O指令設(shè)置輸入:INAL,n;端口地址(n)AL輸出:OUTn,AL;(AL)n2.3.3.2輸入/輸出指令(2)用通用傳送指令實現(xiàn)I/O操作
(隱式I/O指令)針對統(tǒng)一編址,用傳送指令訪問I/O端口。不設(shè)專用I/O指令。例.某機I/O接口中設(shè)置兩個寄存器:控制/狀態(tài)寄存器CSR,其總線地址為177550(8進制),數(shù)據(jù)緩沖寄存器DBR,其總線地址1775522.3.3.2輸入/輸出指令主機調(diào)用輸入機:控制/狀態(tài)字格式:出錯故障忙完成
允許中斷
維護
校驗
啟動:測試:取數(shù):主機
177550(CSR)控制字(啟動位為1)MOV指令主機177550(CSR)
狀態(tài)字MOV指令主機177552(DBR)
數(shù)據(jù)MOV指令2.3.3.2輸入/輸出指令(3)通過I/O處理機進行I/O操作CPU執(zhí)行簡單I/O指令
(啟動、停止、查詢、清除)兩級I/O指令I(lǐng)/O處理機執(zhí)行I/O操作指令
(輸入、輸出……)2.3.3.3算術(shù)邏輯運算指令算術(shù)運算指令主要有加ADD、減SUB、加1INC、減1DEC、求補NEG等基本運算指令。目前主流微型計算機還設(shè)置了乘除運算指令和浮點運算指令。設(shè)置時需考慮:操作數(shù)類型、符號、進制等;運算結(jié)束后設(shè)置相應(yīng)狀態(tài)標志。2.3.3.3算術(shù)邏輯運算指令2.邏輯運算指令
邏輯運算主要是對布爾變量的運算。主要的邏輯運算指令有:邏輯與、邏輯或、邏輯非、異或四種。實現(xiàn)對代碼位的設(shè)置、測試、清除、修改等。與或異或2.3.3.3算術(shù)邏輯運算指令(1)利用“邏輯或”作按位設(shè)置目的操作數(shù)A:11000
10屏蔽字B:0000101AORB:1100111(2)利用“邏輯與”按位測試目的操作數(shù)A:11001
010屏蔽字B:00001000AANDB:000010002.3.3.3算術(shù)邏輯運算指令(3)利用“邏輯與”作按位清除目的操作數(shù)A:11001
010屏蔽字B:11110111AANDB:11000010(4)利用“異或”按位修改目的操作數(shù)A:11001
010屏蔽字B:11111000AEORB:001100102.3.3.4程序控制指令主要用于控制指令執(zhí)行的順序,即控制程序的流程。1.轉(zhuǎn)移指令:無條件轉(zhuǎn)移條件轉(zhuǎn)移循環(huán):操作碼轉(zhuǎn)移地址如:JMPBX:操作碼轉(zhuǎn)移地址轉(zhuǎn)移條件:轉(zhuǎn)移條件為循環(huán)計數(shù)值2.3.3.4程序控制指令2.轉(zhuǎn)子程序指令與返回指令:主程序在執(zhí)行過程中需要調(diào)用子程序時,執(zhí)行一條轉(zhuǎn)子指令,程序便轉(zhuǎn)到子程序的入口地址;子程序在執(zhí)行完后,使用一條返回指令取出返回地址,從而返回到主程序。在轉(zhuǎn)入子程序時,將其保存起來轉(zhuǎn)子指令:操作碼子程序入口返回指令:操作碼返回地址2.3.3.4程序控制指令返回地址的存取方式(1)用子程序的第一個字單元存放返回地址主程序子程序A子程序BD1D2多重轉(zhuǎn)子:D1D2主程序D1子程序AD12.3.3.4程序控制指令(2)用寄存器存放返回地址返回地址1寄存器R轉(zhuǎn)子指令子程序存儲器返回地址1返回地址2……返回地址1返回地址2返回地址2(3)用堆棧保存返回地址SP主程序子程序A子程序BD1D2......D1SPD2主程序子程序A子程序BD1D2
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 孕期濕疹的健康宣教
- 地震勘探數(shù)據(jù)處理系統(tǒng)相關(guān)行業(yè)投資方案范本
- 水務(wù)工作全員參與的機制建設(shè)計劃
- 嗜酸性粒細胞增多癥的診斷、風險分層和治療
- 《設(shè)施農(nóng)業(yè)》課件
- 衛(wèi)生監(jiān)督信息報告系統(tǒng)試點培訓課件職業(yè)衛(wèi)生
- 《信息資源優(yōu)化配置》課件
- 《設(shè)備管理培訓教材》課件
- 創(chuàng)建社團參考計劃書范文5篇
- 八年級政治上冊單元評價檢測課件
- 2024年廣東省高三一模英語試題答案講評詞匯積累課件
- 《視聽語言》課程標準
- 人教版四年級上冊脫式計算400題及答案
- 配網(wǎng)規(guī)劃方案
- 空調(diào)制冷設(shè)備配件課件
- 垃圾箱施工方案
- DB21-T 2961-2018雙條杉天牛防治技術(shù)規(guī)程
- 新媒體對農(nóng)產(chǎn)品推廣的影響
- 公眾場所人流密度分析報告
- 學校宿管員培訓課件
- 7.1開放是當代中國的鮮明標識課件-高中政治選擇性必修一當代國際政治與經(jīng)濟(1)2
評論
0/150
提交評論