計(jì)算機(jī)組成原理第五章知識課件_第1頁
計(jì)算機(jī)組成原理第五章知識課件_第2頁
計(jì)算機(jī)組成原理第五章知識課件_第3頁
計(jì)算機(jī)組成原理第五章知識課件_第4頁
計(jì)算機(jī)組成原理第五章知識課件_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第五章指令系統(tǒng)5.1機(jī)器指令5.2操作數(shù)類型和操作類型5.3尋址方式5.4指令格式舉例5.5RISC技術(shù)5.1指令系統(tǒng)的發(fā)展與性能要求1、指令在計(jì)算機(jī)系統(tǒng)中的地位(1)是軟件和硬件分界面的一個(gè)主要標(biāo)志硬件設(shè)計(jì)人員采用各種手段實(shí)現(xiàn)它;軟件設(shè)計(jì)人員則利用它編制各種各樣的系統(tǒng)軟件和應(yīng)用軟件(2)是硬件設(shè)計(jì)人員和軟件設(shè)計(jì)人員之間的分界面,也是他們之間溝通的橋梁。5.1指令系統(tǒng)相關(guān)概念指令就是規(guī)定計(jì)算機(jī)執(zhí)行某種操作的指示與命令。從計(jì)算機(jī)組成的層次結(jié)構(gòu)來說,指令分:微指令:在微程序控制的計(jì)算機(jī)中,將由同時(shí)發(fā)出的控制信號所執(zhí)行的一組微操作。屬于硬件宏指令:也是匯編指令,允許程序員把一組指令定義成幾個(gè)短名字。定義之后,可以在代碼中用一條宏指令來代替一組指令,節(jié)省程序員的時(shí)間、簡化應(yīng)用,也使得程序更易讀。屬于軟件。機(jī)器指令:介于微指令與宏指令之間。計(jì)算機(jī)語言低級語言是指機(jī)器語言和匯編語言(助記符),比如機(jī)器語言全部是二進(jìn)制代碼,高級語言是諸如Basic,C,Pascal,Delphi之類的語言低級語言編寫很麻煩,下邊以a=a+b(a取2,b取3)為例機(jī)器:(一大串1和0,不再給出,因?yàn)榈拇_很麻煩)匯編:MOVAX,2MOVBX,3ADDAX,BXC語言:inta,b;a=2;b=3;a=a+b;

機(jī)器碼分析00h:BA110103h:B40905h:B90A0008hCD210Ah:E2FC0Ch:B4010Eh:CD2110h:C311h:68656C6C6F2124MOVDX,OFFSETmsg

MOVAH,9

MOVCX,10

next:

INT21h

LOOPnextMOVAH,1

INT21hRETmsg

hello!指令系統(tǒng)的發(fā)展與性能要求低級語言與高級語言關(guān)系

比較內(nèi)容高級語言低級語言

1對程序員的訓(xùn)練要求(1)通用算法(2)語言規(guī)則(3)硬件知識

有較少不要

有較多要

2對機(jī)器獨(dú)立的程度獨(dú)立不獨(dú)立

3編制程序的難易程度易難

4編制程序所需時(shí)間短較長

5程序執(zhí)行時(shí)間較長短

6編譯過程中對計(jì)算機(jī)資源的要求多少指令系統(tǒng)的發(fā)展與性能指令系統(tǒng)就是CPU能夠執(zhí)行的所有機(jī)器指令的集合。指令系統(tǒng)決定了計(jì)算機(jī)的基本功能,指令系統(tǒng)的設(shè)計(jì)是計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的一個(gè)核心問題。它不僅與計(jì)算機(jī)的硬件設(shè)計(jì)緊密相關(guān),而且直接影響到系統(tǒng)軟件設(shè)計(jì)的難易程度。完善的計(jì)算機(jī)的指令系統(tǒng)應(yīng)具備:1、完備性:一臺計(jì)算機(jī)中最基本的、必不可少的指令構(gòu)成了指令系統(tǒng)的完備性。2、有效性:指利用該指令系統(tǒng)所提供的指令編制的程序能夠產(chǎn)生高效率。高效率主要表現(xiàn)在空間和時(shí)間方面,即占用存儲(chǔ)空間小、執(zhí)行速度快。3、規(guī)整性:指令操作的對稱性和勻齊性,指令格式與數(shù)據(jù)格式的一致性。(1)對稱性:在指令系統(tǒng)中,所有寄存器和存儲(chǔ)單元都可同等對待,這對簡化程序設(shè)計(jì),提高程序的可讀性非常有用。(2)勻齊性:是指一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型。(3)指令的格式與數(shù)據(jù)格式的一致性:指令長度與數(shù)據(jù)長度有一定關(guān)系,以方便存取和處理。4、兼容性:一般是指計(jì)算機(jī)的體系結(jié)構(gòu)設(shè)計(jì)基本相同,機(jī)器之間具有相同的基本結(jié)構(gòu)、數(shù)據(jù)表示和共同的基本指令集合。機(jī)器指令一、指令的一般格式操作碼字段

地址碼字段1.操作碼反映機(jī)器做什么操作(1)長度固定(2)長度可變用于指令字長較長的情況,RISC如IBM350操作碼8位操作碼分散在指令字的不同字段中(3)擴(kuò)展操作碼技術(shù)操作碼的位數(shù)隨地址數(shù)的減少而增加OPA1A2A3000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000011110…111111111111…111111111111…111111111111…000000011111…111111111111…111111111111…A3A3A3…000000011110…4位操作碼8位操作碼12位操作碼16位操作碼15條三地址指令15條二地址指令15條一地址指令16條零地址指令5.12.地址碼(1)四地址OPA1A2A3A486666A1

第一操作數(shù)地址A2

第二操作數(shù)地址A3

結(jié)果的地址A4

下一條指令地址若PC代替A4(A1)OP(A2)A34次訪存尋址范圍26=645.1設(shè)指令字長為32位操作碼固定為8位2.地址碼(2)三地址8888OPA1A2A34次訪存尋址范圍28=256若A3用A1或A2代替5.1這種格式雖然省去了一個(gè)地址,但指令長度仍比較長,所以只在字長較長的大、中型機(jī)中使用,而小型、微型機(jī)中很少使用。(A1)OP(A2)A3(PC)+1→PC(3)二地址OPA1A281212(A1)OP(A2)A1(A1)OP(A2)A2或4次訪存若ACC代替A1(或A2)若結(jié)果存于ACC尋址范圍212=4K3次訪存5.1(PC)+1→PC二地址地址根據(jù)操作數(shù)的物理位置分為:SS存儲(chǔ)器-存儲(chǔ)器類型RS寄存器-存儲(chǔ)器類型RR寄存器-寄存器類型 慢(4)一地址(5)零地址OPA1824無地址碼(ACC)OP(A1)ACC2次訪存尋址范圍224=16M單操作數(shù)運(yùn)算指令,如“+1”、“-1”、“求反”指令中給出一個(gè)源操作數(shù)的地址(PC)+1→PC“停機(jī)”、“空操作”、“清除”等控制類指令。二、指令字長指令字長決定于操作碼的長度指令字長=存儲(chǔ)字長2.指令字長可變操作數(shù)地址的長度操作數(shù)地址的個(gè)數(shù)1.指令字長固定按字節(jié)的倍數(shù)變化5.1指令字長度(一個(gè)指令字包含二進(jìn)制代碼的位數(shù))機(jī)器字長:計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù)。二、指令字長5.1多字長指令的優(yōu)缺點(diǎn):優(yōu)點(diǎn):提供足夠的地址位來解決訪問內(nèi)存任何單元的尋址問題;缺點(diǎn):必須兩次或多次訪問內(nèi)存以取出一整條指令,降低了CPU的運(yùn)算速度,又占用了更多的存儲(chǔ)空間。指令系統(tǒng)中指令采用等長指令的優(yōu)點(diǎn):各種指令字長度是相等的,指令字結(jié)構(gòu)簡單,且指令字長度是不變的;采用非等長指令的的優(yōu)點(diǎn):各種指令字長度隨指令功能而異,結(jié)構(gòu)靈活,能充分利用指令長度,但指令的控制較復(fù)雜。小結(jié)當(dāng)用一些硬件資源代替指令字中的地址碼字段后當(dāng)指令的地址字段為寄存器時(shí)可擴(kuò)大指令的尋址范圍可縮短指令字長可減少訪存次數(shù)三地址OPR1,

R2,R3二地址OPR1,R2

一地址OPR1

指令執(zhí)行階段不訪存可縮短指令字長5.15.2操作數(shù)類型和操作種類一、操作數(shù)類型地址數(shù)字字符邏輯數(shù)無符號整數(shù)定點(diǎn)數(shù)、浮點(diǎn)數(shù)、十進(jìn)制數(shù)ASCII邏輯運(yùn)算二、數(shù)據(jù)在存儲(chǔ)器中的存放方式字地址為低字節(jié)地址字地址為高字節(jié)地址37621540字地址01低字節(jié)04512673字地址01低字節(jié)大端次序小端次序存儲(chǔ)器中的數(shù)據(jù)存放(存儲(chǔ)字長為

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)邊界對準(zhǔn)地址(十進(jìn)制)048字節(jié)(地址7)字節(jié)(地址6)字(地址2)半字(地址10)半字(地址8)半字(地址0)字(地址4)邊界未對準(zhǔn)

5.2三、操作類型1.

數(shù)據(jù)傳送源目的寄存器寄存器寄存器寄存器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器置“1”,清“0”2.算術(shù)邏輯操作加、減、乘、除、增1、減1、求補(bǔ)、浮點(diǎn)運(yùn)算、十進(jìn)制運(yùn)算與、或、非、異或、位操作、位測試、位清除、位求反如8086MOVESTORELOADMOVEPUSHPOP例如MOVEMOVE5.2ADDSUBMULDIVINCDECCMPNEGAAAAASAAMAADANDORNOTXORTEST3.移位操作算術(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ā)器5.2(3)調(diào)用和返回CALLSUB1.........CALLSUB2…...CALLSUB2…RETURNRETURN......主程序地址200021002101子程序SUB1240025002501256025612500主存空間分配程序執(zhí)行流程子程序SUB25.2INAX,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的寄存器端口地址5.2如如INAL,nOUTn,AL5.3尋址方式尋址方式

確定本條指令的操作數(shù)地址下一條欲執(zhí)行指令的指令地址指令尋址數(shù)據(jù)尋址尋址方式5.3尋址方式一、指令尋址順序(PC)+1PC跳躍由轉(zhuǎn)移指令指出LDA1000ADD1001DEC1200JMP7LDA2000SUB2001INCSTA2500LDA1100...0123456789PC+1指令地址尋址方式指令地址指令順序?qū)ぶ?順序?qū)ぶ?順序?qū)ぶ?跳躍尋址7順序?qū)ぶ?指令和數(shù)據(jù)的尋址方式操作數(shù)的尋址方式形成操作數(shù)有效地址的方法,稱為尋址方式。操作數(shù)通常放在哪兒呢?操作數(shù)包含在指令中;操作數(shù)包含在CPU的某一個(gè)內(nèi)部寄存器中;操作數(shù)包含在主存儲(chǔ)器中;操作數(shù)包含在I/O設(shè)備的端口中根據(jù)操作數(shù)放在不同的地方,從而派生各種不同的尋址方式,往往不同的計(jì)算機(jī)具有不同的尋址方式。1.立即尋址OP#A立即尋址特征立即數(shù)可正可負(fù)補(bǔ)碼形式地址A就是操作數(shù)5.3特點(diǎn):在取指令時(shí),操作碼和操作數(shù)被同時(shí)取出,不必再次訪問存儲(chǔ)器,從而提高了指令的執(zhí)行速度。但是,因?yàn)椴僮鲾?shù)是指令的一部分,不能被修改;而且對于定長指令格式,操作數(shù)的大小將受到指令長度的限制,A的位數(shù)限制了立即數(shù)的范圍,所以這種尋址方式靈活性最差例如:LOADR1#2000功能為:R1=2000單地址的移位指令格式:D不表示地址,而是操作數(shù),F(xiàn)為標(biāo)志位當(dāng)F=1右移當(dāng)F=0左移OP(移位)FD立即尋址應(yīng)用范圍:通常用于給某一寄存器或主存單元賦初值,或者用于提供一個(gè)常數(shù)2.直接尋址EA=A操作數(shù)主存尋址特征LDAAAACC執(zhí)行階段訪問一次存儲(chǔ)器

A的位數(shù)決定了該指令操作數(shù)的尋址范圍有效地址由形式地址直接給出5.33.隱含尋址操作數(shù)地址隱含在操作碼中ADDA操作數(shù)主存尋址特征AACC暫存ALU另一個(gè)操作數(shù)隱含在ACC中如8086MUL指令被乘數(shù)隱含在AX(16位)或AL(8位)中指令字中少了一個(gè)地址字段,可縮短指令字長5.34.間接尋址EA=(A)有效地址由形式地址間接提供OPA尋址特征AEA主存EAA1EAA1主存EA10執(zhí)行指令階段2次訪存可擴(kuò)大尋址范圍便于編制程序OPA尋址特征A一次間址多次間址操作數(shù)操作數(shù)多次訪存5.3………子程序主程序…8081201202轉(zhuǎn)子程序轉(zhuǎn)子程序間接尋址編程舉例(A)=81(A)=202……@間址特征5.3JMP@A…

……………

…………5.寄存器尋址EA=Ri執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快OPRi尋址特征寄存器個(gè)數(shù)有限,可縮短指令字長操作數(shù)………………R0RiRn寄存器有效地址即為寄存器編號5.3優(yōu)點(diǎn):缺點(diǎn):操作數(shù)實(shí)現(xiàn)必須裝入寄存器EA=(Ri

)6.寄存器間接尋址

有效地址在寄存器中,操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存操作數(shù)主存OPRi尋址特征尋址空間達(dá)到全字長范圍,計(jì)算機(jī)中廣泛應(yīng)用地址………………R0RiRn寄存器有效地址在寄存器中5.37、相對尋址由程序計(jì)數(shù)器PC提供基準(zhǔn)地址,而指令的地址碼部分給出相對的位移量D,兩者相加后作為操作數(shù)的有效地址,即:EA=(PC)+D。7、相對尋址對尋址方式使程序模塊可采用浮動(dòng)地址,編程時(shí)只要確定程序內(nèi)部操作數(shù)與指令之間的相對距離,而無需確定操作數(shù)在主存儲(chǔ)器中的絕對地址,這樣,將程序安排在主存儲(chǔ)器的任意位置都不會(huì)影響程序執(zhí)行的正確性。(2)按字節(jié)尋址的相對尋址舉例OP位移量2000H2008H8JMP*+8OP06H2000H2008H8設(shè)當(dāng)前指令地址PC=2000H轉(zhuǎn)移后的目的地址為

2008H因?yàn)槿〕鯦MP

*+8

后PC=2002H二字節(jié)指令故JMP

*+8

指令的第二字節(jié)為2008H-2002H=6H5.38.基址尋址(1)采用專用寄存器作基址寄存器EA=(BR)+ABR為基址寄存器OPA操作數(shù)主存尋址特征ALUBR

可擴(kuò)大尋址范圍

便于程序搬家

BR內(nèi)容由操作系統(tǒng)或管理程序確定

在程序的執(zhí)行過程中BR內(nèi)容不變,形式地址A可變5.3(2)

采用通用寄存器作基址寄存器操作數(shù)主存尋址特征ALUOPR0AR0

作基址寄存器由用戶指定哪個(gè)通用寄存器作為基址寄存器通用寄存器R0Rn-1R1…基址寄存器的內(nèi)容由操作系統(tǒng)確定在程序的執(zhí)行過程中R0內(nèi)容不變,形式地址A可變5.39.變址尋址EA=(IX)+AOPA操作數(shù)主存尋址特征ALUIX可擴(kuò)大尋址范圍便于處理數(shù)組問題

IX的內(nèi)容由用戶給定IX為變址寄存器(專用)在程序的執(zhí)行過程中IX內(nèi)容可變,形式地址A不變通用寄存器也可以作為變址寄存器5.3例設(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)

5.310.堆棧尋址(1)堆棧的特點(diǎn)堆棧硬堆棧軟堆棧多個(gè)寄存器指定的存儲(chǔ)空間先進(jìn)后出(一個(gè)入出口)棧頂?shù)刂酚蒘P

指出–11FFFH+12000H進(jìn)棧(SP)–1SP出棧(SP)+1SP棧頂棧底2000HSP2000H……1FFFHSP1FFFH棧頂棧底進(jìn)棧出棧1FFFH棧頂2000H棧頂5.3(2)堆棧尋址舉例15200HACCSPX棧頂200H棧底主存151FFHACCSP15棧頂200H棧底主存X1FFHPUSHA前PUSHA后POPA前POPA后Y1FFHACCSPX棧頂200H棧底主存151FFH15200HACCSP棧頂200H棧底主存X155.3(3)SP的修改與主存編址方法有關(guān)①按字編址進(jìn)棧出棧(SP)–1SP(SP)+1SP②按字節(jié)編址存儲(chǔ)字長16位進(jìn)棧出棧(SP)–2SP(SP)+2SP存儲(chǔ)字長32位進(jìn)棧出棧(SP)–4SP(SP)+4SP5.35.4指令格式舉例一、設(shè)計(jì)指令格式時(shí)應(yīng)考慮的各種因素1.指令系統(tǒng)的兼容性(向上兼容)2.其他因素操作類型數(shù)據(jù)類型指令格式包括指令個(gè)數(shù)及操作的難易程度指令字長、操作碼位數(shù)尋址方式寄存器個(gè)數(shù)地址碼位數(shù)、地址個(gè)數(shù)尋址方式、是否采用擴(kuò)展操作碼二、指令格式舉例1.PDP–8指令字長固定12位操作碼間

頁地址碼訪存類指令0235411寄存器類指令111輔助操作碼02311I/O類指令110設(shè)備操作碼02311985.42.PDP–11源地址OP4661616目的地址存儲(chǔ)器地址1存儲(chǔ)器地址2OP10616目的地址存儲(chǔ)器地址目的地址466源地址OP106目的地址OP–CODE16OP–CODE指令字長有16位、32位、48位三種零地址(16位)一地址(16位)二地址RR(16位)二地址RM(32位)二地址MM(48位)擴(kuò)展操作碼技術(shù)5.43.IBM360OPR1R2RR格式844OPR1XBDRX格式844412OPR1R3BDRS格式844412OPBDISI格式88412OPB1D1LB2D2SS格式88412412二地址RR基址加變址尋址二地址RM三地址RM基址尋址二地址MM基址尋址基址尋址立即數(shù)M5.44.Intel8086(1)指令字長(2)地址格式1~6個(gè)字節(jié)MOVWORDPTR[0204],0138H6字節(jié)INCAX1字節(jié)一地址NOP1字節(jié)CALL段內(nèi)調(diào)用3字節(jié)零地址5字節(jié)段間調(diào)用寄存器—寄存器寄存器—立即數(shù)寄存器—存儲(chǔ)器ADDAX,BX2字節(jié)ADDAX,[3048H]4字節(jié)ADDAX,3048H

3字節(jié)二地址CALL5.45.5RISC技術(shù)一、RISC的產(chǎn)生和發(fā)展

80—20規(guī)律

典型程序中80%的語句僅僅使用處理機(jī)中20%的指令

執(zhí)行頻度高的簡單指令,因復(fù)雜指令的存在,執(zhí)行速度無法提高RISC(ReducedInstructionSetComputer)CISC(ComplexInstructionSetComputer)——RISC技術(shù)

能否用20%的簡單指令組合不常用的80%的指令功能?例題某16位機(jī)器所使用的指令格式和尋址方式如下所示,該機(jī)有兩個(gè)20位基址寄存器,四個(gè)16位變址寄存器,十六個(gè)16位通用寄存器。指令匯編格式中的S(源),D(目標(biāo))都是通用寄存器,M是主存中的一個(gè)單元。三種指令的操作碼分別是MOV(OP)=(A)H,STO(O

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論