計算機組成與體系結構 課件 08指令系統(tǒng)與匯編語言_第1頁
計算機組成與體系結構 課件 08指令系統(tǒng)與匯編語言_第2頁
計算機組成與體系結構 課件 08指令系統(tǒng)與匯編語言_第3頁
計算機組成與體系結構 課件 08指令系統(tǒng)與匯編語言_第4頁
計算機組成與體系結構 課件 08指令系統(tǒng)與匯編語言_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

指令系統(tǒng)與匯編語言計算機組成與體系結構指令系統(tǒng)在計算機中的地位一臺計算機的功能是通過它的指令系統(tǒng)體現(xiàn)出來的指令系統(tǒng)也是設計一臺計算機的需求說明指令系統(tǒng)決定了一臺計算機的硬件結構指令和指令系統(tǒng)程序由一個序列的計算機指令組成。指令是計算機運行的最小的功能單元,是指揮計算機硬件運行的命令,是由多個二進制位組成的位串,是計算機硬件可以直接識別和執(zhí)行的一個信息體一臺計算機提供的全部指令構成該計算機的指令系統(tǒng)指令系統(tǒng)是表征一臺計算機性能的重要因素,它的格式與功能不僅直接影響到機器的硬件結構,而且也直接影響到系統(tǒng)軟件,影響到機器的適用范圍指令系統(tǒng)的要求完備性:指令齊全,編程方便規(guī)整性:格式與運算規(guī)則統(tǒng)一對稱性:在指令系統(tǒng)中所有的寄存器和存儲器單元都可同等對待,所有的指令都可使用各種尋址方式勻齊性:一種操作性質的指令可以支持各種數(shù)據(jù)類型指令格式和數(shù)據(jù)格式的一致性:指令長度和數(shù)據(jù)長度有一定的關系,以方便處理和存取高效性:占內存少,運行省時兼容性:同一系列機軟件兼容向前(后)兼容向上(下)兼容兼容性系列機:是指基本指令系統(tǒng)相同、基本體系結構相同的一系列計算機。推出的機種指令系統(tǒng)一定包含所有舊機種的全部指令。向上(下)兼容:指按某檔次機器編制的程序,可不加修改的在比它高(低)檔的機器上運行。向前(后)兼容:指按某個時期投入市場的某種型號的機器編制的程序,可不加修改的在比它先(后)投入市場的機器上運行。常用指令輸入設備輸出設備入出接口和總線外存設備主存儲器高速緩存控制器運算器ADDSUBANDORMVRRSHRRCLOUTSTOREPUSHJUMPJRCJRNCJRZJRNZCALLRETLOADPOPIN機器指令設計要素操作碼(OperationCode)源操作數(shù)地址(SourceOperandReference)目的操作數(shù)地址(ResultOperandReference)下一條指令的地址(NextInstructionReference)CPU寄存器主存或虛存I/O設備指令格式操作碼:指明本條指令的操作功能,每條指令有一個確定的操作碼操作數(shù)地址:說明操作數(shù)存放的地址,有時是操作數(shù)本身指令格式優(yōu)化設計的目標節(jié)省程序的存儲空間指令格式要盡量規(guī)整,減少硬件譯碼的復雜程度優(yōu)化后不能降低指令的執(zhí)行速度操作碼

操作數(shù)地址

指令字長指令字:完整的一條指令的二進制表示指令字長:指令字中二進制代碼的位數(shù)指令字長與機器字長半字長、單字長、雙字長、多字長定長指令字結構變長指令字結構操作碼組織與編碼定長的操作碼的組織方案在指令字最高位部分分配固定若干位用于表示操作碼,有利于簡化計算機硬件設計,提高指令譯碼和識別速度IBM360機變長的操作碼的組織方案在指令字最高位部分用一固定長度的字段來表示基本操作碼,而對于部分操作數(shù)地址位數(shù)可以少的指令,則把另外多位輔助操作碼擴充到該操作數(shù)地址字段,即操作碼位數(shù)可變。這種方法在不增加指令字長的情況下,可表示更多的指令,但增加了譯碼和分析難度,要求更多的硬件支持PDP-11計算機操作碼的優(yōu)化表示方法固定長度操作碼:優(yōu)點是規(guī)整,硬件譯碼簡單;缺點是浪費很多信息量Huffman編碼:平均碼長最短,信息冗余量小,但操作碼很不規(guī)整擴展編碼法:前兩種方法的折中方案,較為常用的是等長擴展法操作數(shù)個數(shù)與來源指令操作數(shù)個數(shù)無操作數(shù)指令(零地址指令)單操作數(shù)指令(一地址指令)雙操作數(shù)指令(二地址指令)三操作數(shù)指令(二地址指令)多操作數(shù)指令(多地址指令)指令操作數(shù)來源和去向CPU內部的通用寄存器輸入輸出設備(接口)的一個寄存器主存儲器的一個存儲單元OPA1A2OPA1OPOPA1A2A3OPA1A2

更多地址碼優(yōu)化——地址個數(shù)地址數(shù)目程序長度程序存儲量程序執(zhí)行速度適用場合三地址短最大一般向量、矩陣運算為主二地址一般很大很低一般不宜采用二地址R型一般最小最快多累加器、數(shù)據(jù)傳送較多一地址較長較大較快連續(xù)運算,硬件結構簡單零地址最長最小最低嵌套、遞歸、變量較多地址碼優(yōu)化——物理位置存儲器—存儲器(SS)型指令寄存器—寄存器(RR)型指令寄存器—存儲器(RS)型指令操作數(shù)存儲順序Big-Endian:高位字節(jié)存入低地址,低位字節(jié)存入高地址,依次排列。Little-Endian:低位字節(jié)存入低地址,高位字節(jié)存入高地址,反序排列。字地址為低字節(jié)地址IntelLittle-Endian字地址為高字節(jié)地址MotorolaBig-Endian37621540字地址04低字節(jié)04512673字地址04低字節(jié)邊界對準地址(十進制)

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)

√√指令操作碼的擴展技術假設某機器的指令長度為16位,包括4位基本操作碼和三個4位地址碼段。OPA1A2A315…1211……87……43……0指令的分類算術與邏輯運算指令移位操作指令算術移位(一般只右移)、邏輯移位、循環(huán)移位數(shù)據(jù)傳送指令通用寄存器之間傳送通用寄存器與主存儲器存儲單元之間傳送主存儲器不同存儲單元之間傳送輸入輸出指令通用寄存器與輸入輸出設備(接口)之間傳送轉移指令無條件轉移指令、條件轉移指令子程序調用與返回指令堆棧操作指令壓入(即進棧)和彈出(即退棧)操作其他指令置條件碼指令、開中斷指令、關中斷指令停機指令、空操作指令、特權指令指令集設計操作指令表(OperationRepertoire):應提供多少和什么樣的操作,操作的復雜程度數(shù)據(jù)類型(DataTypes):所支持的數(shù)據(jù)類型指令格式(InstructionFormat):指令的(位)長度、地址數(shù)目、各個字段的大小等尋址方式(AddressingMode):指定操作數(shù)地址的產(chǎn)生方式寄存器(Registers):能被指令訪問的CPU寄存器數(shù)目以及它們的用途RISC-V指令集設計指令集描述RV32IRISC-V固定不變的基礎整數(shù)指令集,是RISC-V的核心內容RV32ERV32I的子集,用于嵌入式場景RV32GM整數(shù)乘除法擴展,增加了整數(shù)寄存器中的乘除法指令A原子操作擴展,增加對儲存器的原子讀、寫、修改和處理器間的同步F單精度浮點擴展,增加了浮點寄存器、計算指令、L/S指令D雙精度擴展,擴展雙精度浮點寄存器,雙精度計算指令、L/S指令RV32C壓縮指令擴展,將某些指令進行壓縮,提高代碼密度RV32V向量指令集,SIMDRV64I64位整數(shù)指令集,兼容RV32IRV32I基本指令格式R-type:用于寄存器-寄存器操作I-type:用于短立即數(shù)和訪存load操作S-type:用于訪存store操作B-type:用于條件跳轉操作U-type:用于長立即數(shù)J-type:用于無條件跳轉尋址方式尋址方式:形成指令或操作數(shù)地址的方法指令的尋址方式順序尋址跳躍尋址操作數(shù)的尋址方式隱含尋址直接尋址……指令順序尋址方式指令跳躍尋址方式操作數(shù)尋址方式操作數(shù)的尋址方式是指形成操作數(shù)的有效地址的方法一般來說,指令中所給出的地址碼(A),并不是操作數(shù)的有效地址(EA)形式地址A也稱偏移量,它是指令字結構中給定的地址量尋址過程就是把操作數(shù)的形式地址變換為操作數(shù)的有效地址的過程立即數(shù)尋址Num即為操作數(shù)的值指令的第2個字直接尋址Addr為操作數(shù)在存儲器中的地址,

或轉移指令等用到的指令地址。內存儲器

操作數(shù)寄存器尋址、寄存器間接尋址相對尋址例:Disp=48H (PC)=5600H

則實際地址=5648HPC變址尋址例:Disp=18H,Reg=5,(R5)=5700H

則操作數(shù)地址=5718H操作數(shù)存儲器變址寄存器加法器基址尋址例:Disp=18H,[BS]=5700H

則操作數(shù)地址=5718H基址寄存器加法器存儲器操作數(shù)間接尋址存儲器操作數(shù)Addr1堆棧尋址15200HACCSPX棧頂200H棧底主存151FFHACCSP15棧頂200H棧底主存X1FFHPUSHA前PUSHA后POPA前POPA后Y1FFHACCSPX棧頂200H棧底主存151FFH15200HACCSP棧頂200H棧底主存X15為什么要設置尋址方式?增強指令的功能縮短指令的長度提高指令的執(zhí)行速度增加操作數(shù)存放的位置的靈活性……尋址方式的負面影響指令格式復雜,不規(guī)整指令執(zhí)行速度變慢上述問題導致RISC的出現(xiàn)IBM360指令格式OPR1R2RR格式844OPR1XBDRX格式844412OPR1R3BDRS格式844412OPBDISI格式88412OPB1D1LB2D2SS格式88412412二地址RR基址加變址尋址二地址RM三地址RM基址尋址二地址MM基址尋址基址尋址立即數(shù)

MMIPS指令格式

所有的指令都是32位長度。有

3種指令格式,即寄存器型、立即數(shù)型和轉移型。

操作數(shù)尋址方式有寄存器尋址、變址尋址、立即數(shù)尋址3種,指令地址支持相對尋址、偽直接地址

2種方式。oprsrtrdshamtfunct

寄存器型立即數(shù)型轉移型

oprsrtaddress/immediate

optarget例如:

add$1,$2,$3R3←R1+R2例如:lw$1,$2,100R2←M[R1+100]

addi$1,$2,100R2←R1+100例如:

j8000轉移到PC[31..28]8000×4[例]指令格式如下所示,其中OP為操作碼,試分析指令格式的特點。

1597

43

0OP——源寄存器目標寄存器解:單字長二地址指令。操作碼字段OP可以指定128條指令。源寄存器和目標寄存器都是通用寄存器(可分別指定16個),所以是RR型指令,兩個操作數(shù)均在寄存器中。這種指令結構常用于算術邏輯運算類指令。

解:雙字長二地址指令,用于訪問存儲器。操作碼字段OP為6位,可以指定64種操作。一個操作數(shù)在源寄存器(共16個),另一個操作數(shù)在存儲器中(由變址寄存器和位移量決定),所以是RS型指令。[例]指令格式如下所示,OP為操作碼字段,試分析指令格式特點。

1510

74

3

0OP-----------源寄存器變址寄存器位移量(16位)確定指令系統(tǒng)的兩種思路RISC(ReducedInstructionSetComputer)通常稱為精簡指令系統(tǒng)的計算機。提供數(shù)目較少、格式與功能簡單、運行高效的指令,追求的是計算機控制器實現(xiàn)簡單,運行高速,更容易在單塊超大規(guī)模集成電路的芯片內制做出來。指令并行性好。CISC(ComplexInstructionSetComputer)通常稱為復雜指令系統(tǒng)的計算機,是相對于RISC一詞提出來的。其特點是:指令條數(shù)多,格式多樣,尋址方式復雜,每條指令的功能強,優(yōu)點是匯編程序設計容易些,但計算機控制器的實現(xiàn)困難多,很多指令被使用的機會比較少。指令并行度差。CISC復雜指令系統(tǒng)計算機(CISC,ComplexInstructionSetComputer)指令系統(tǒng)包含的指令數(shù)目多,指令格式多,數(shù)據(jù)格式多,尋址方式多實例DEC公司的VAX-II/780有16種尋址方式,9種數(shù)據(jù)格式,303條指令32位的68020微機指令種類比6800多兩倍,尋址方式多11種,達18種之多,指令長度從一個字(16位)發(fā)展到16個字x86系列機RISC1975年IBM公司JohnCocke提出了精簡指令系統(tǒng)的設想精簡指令系統(tǒng)計算機(ReducedInstructionSetComputer,RISC)主要特征選取使用頻度最高的一些簡單指令以及一些很有用但又不復雜的指令,讓復雜指令的功能由頻度高的簡單指令的組合來實現(xiàn)指令長度固定,指令格式種類少,尋址方式種類少只有取數(shù)/存數(shù)(LOAD/STORE)指令訪問存儲器,其余指令的操作都在寄存器內完成CPU中有多個通用寄存器采用流水線技術,大部分指令在一個時鐘周期內完成。采用超標量和超流水線技術,可以使每條指令的平均執(zhí)行時間小于一個時鐘周期控制器采用組合邏輯控制,不用微程序控制采用優(yōu)化的編譯程序RISC典型實例RISC項目加州大學伯克利分校D.PattersonSUNSPARC、ARM等RISC-VMIPS(Microprocessorwithoutinterlockedpipedstages)斯坦福大學J.HennessyR4000(1991年)、R8000(1994年)、R10000(1996年)和R12000(1997年)等龍芯2以前版本IBMPower處理器RISC的優(yōu)缺點充分利用VLSI芯片的面積提高計算機運算速度便于設計,可降低成本,提高可靠性有效支持高級語言程序更多存儲空間處理器額外負擔軟件兼容問題性價比問題優(yōu)點缺點指令系統(tǒng)設計需考慮的問題硬件實現(xiàn)軟件支持操作系統(tǒng)高級語言:編譯器應用領域MMX:Multi-MediaeXtensionV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論