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

下載本文檔

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

文檔簡介

第四章指令系統(tǒng)1指令系統(tǒng)的發(fā)展與性能要求2指令的一般格式3尋址方式4指令格式的優(yōu)化引言指令系統(tǒng):又稱指令集(InstructionSet)是計算機體系結(jié)構(gòu)設(shè)計的核心,是計算機軟、硬件接口,是用機器語言、匯編語言編寫程序的用戶所能看到的計算機的基本屬性。

指令系統(tǒng)的設(shè)計主要是確定它的指令格式、類型、操作以及對操作數(shù)的訪問方式。4.1指令系統(tǒng)的發(fā)展與性能要求指令:即機器指令,要計算機執(zhí)行某種操作的命令。指令劃分:微指令、機器指令和宏指令。4.1.1指令系統(tǒng)的發(fā)展指令系統(tǒng):一臺計算機中所有指令的集合;是表征計算機性能的重要因素。系列計算機:基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相同

的一系列計算機。簡單復雜完備性:直接提供的指令足夠使用,不必再用軟件來實現(xiàn)。有效性:程序能夠高效地運行。表現(xiàn)在占用存儲空間小、執(zhí)行速度快。規(guī)整性:指令系統(tǒng)的對稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。兼容性:完全兼容不可能,只能做到“向上兼容”(低檔機上的軟件可以在高檔機上運行)。4.1.2對指令系統(tǒng)性能的要求一種指令集結(jié)構(gòu)中的指令到底要支持哪些類型的操作?這是指令集結(jié)構(gòu)功能設(shè)計的基本問題?!艟喼噶罴嬎銠C(RISC)盡可能地降低指令集結(jié)構(gòu)的復雜性,以達到簡化實現(xiàn),提高性能的目的。

當今指令集結(jié)構(gòu)功能設(shè)計的一個主要趨勢。◆

復雜指令集計算機(CISC)強化指令功能,實現(xiàn)軟件功能向硬件功能轉(zhuǎn)移。

兩種截然不同的方向:1.復雜指令集計算機(CISC)CISC

(ComplexInstructionSetComputer)1)CISC結(jié)構(gòu)追求的目標:強化指令功能,減少程序的指令條數(shù)其中Tc:表示時鐘周期。IN:表示CPU執(zhí)行某一程序中所包含的指令總數(shù)。CPI:表示執(zhí)行每條指令所需的平均時鐘周期數(shù)。CISC是通過減少IN值來減少Tcpu的

1)指令系統(tǒng)復雜,表現(xiàn)在:指令數(shù)多,一般大于100條尋址方式多,一般大于4種指令格式多,一般大于4種2)CISC的主要特點:5)有專用寄存器4)采用微程序控制3)各種指令都可訪問存儲器2)絕大多數(shù)指令需要多個機器時鐘周期方可完成6)難以用優(yōu)化編譯生成高效的目標代碼程序指令系統(tǒng)龐大硬件復雜、龐大執(zhí)行速度低編譯程序復雜、長部分指令使用效率低3)CISC結(jié)構(gòu)存在的缺點:執(zhí)行頻率排序80X86指令指令執(zhí)行頻率(%執(zhí)行指令總數(shù))1Load22%2條件分支20%3比較16%4Store12%5加8%6與6%7減5%8寄存器-寄存器間數(shù)據(jù)移動4%9調(diào)用1%10返回1%合計96%Intel80X86最常用的十條指令

2RISC

(ReducedInstructionSetComputer)1975年,IBM的801小型計算機1979年,加州大學提出RISC這一術(shù)語,并研制出RISC-I,RISC-II計算機1981年,斯坦福大學推出了MIPSRISC計算機1987年,SUN公司的SPARC系列工作站1988年Motorola推出的MC88000RISC計算機1)RISC的產(chǎn)生RISC是通過減少CPI值,簡化結(jié)構(gòu)來減少Tcpu

1)精簡指令系統(tǒng)指令條數(shù)少,一般小于100條基本尋址方式少,一般23種指令格式少,一般23種指令長度一致(32位)2)RISC的主要特點:2)以寄存器-寄存器方式工作,除了Load/Store指令訪問存儲器外,其余指令只訪問寄存器4)使用較多的通用寄存器,一般至少32個,不允許有專用寄存器5)大多采用硬聯(lián)線控制,少用或不用微程序?qū)崿F(xiàn)3)除了Load/Store指令訪問存儲器外,所有指令在一個機器時鐘周期完成,并采用流水線技術(shù)操作碼字段:表示指令的操作特性與功能。地址碼字段:通常用于指定參與操作的操作數(shù)地址。4.2指令格式

指令的一般結(jié)構(gòu)形式:操作碼字段地址碼字段4.2.1指令字長度指令的長度是指一條指令所包含二進制代碼的位數(shù),取決于操作碼長度和操作數(shù)地址個數(shù)及每個地址的長度。機器字長:計算機能直接處理的二進制數(shù)據(jù)的位數(shù)。指令長度與機器字長的關(guān)系:半字長指令單字長指令雙字長指令4.2.2操作碼(1)定長編碼:便于譯碼,擴展性差

IBM370機(2)變長編碼:能縮短指令平均長度

PDP-11

作用:指定指令是執(zhí)行什么性質(zhì)的操作。不同的指令用操作碼字段的不同編碼表示。

(2)一地址指令:單操作數(shù)指令。該指令常以AC中數(shù)作為被操作數(shù),指令中地址碼字段所指明的數(shù)為操作數(shù),操作結(jié)果又放回AC。

根據(jù)指令中操作數(shù)地址的個數(shù),將指令劃分為:4.2.3地址碼操作碼

(1)零地址指令:指令中只有操作碼,沒有地址碼。作用:常用于指定參與操作的操作數(shù)地址。操作碼A(AC)OP(A)—>AC(3)二地址指令:雙操作數(shù)指令,兩地址指明被操作數(shù)和操作數(shù)地址,其中A1兼做結(jié)果地址:(A1)OP(A2)—>A1(4)三地址指令:三個地址分別指明被操作數(shù)、操作數(shù)以及結(jié)果存放地址:

(A1)OP(A2)—>A3操作碼A1A2操作碼A1A2A3A(A)VSAC(AC)VSA為內(nèi)存或運算器中通用寄存器的地址;(A)為內(nèi)存或運算器中通用寄存器地址為A中的數(shù)。為了便于書寫和閱讀程序,每一指令采用3個或4個英文縮寫字母來表示,稱為指令助記符。

注:1在不同的計算機中,指令助記符的規(guī)定是不一樣的;2由于機器只能識別二進制語言,因此指令助記符必須轉(zhuǎn)換成相應的二進制操作碼。4.2.4指令助記符4.2.5指令格式舉例(P110)4.3操作數(shù)類型操作數(shù)類型地址數(shù)據(jù):地址實際上也是一種形式的數(shù)據(jù)。數(shù)值數(shù)據(jù):計算機中普遍使用的三種類型的數(shù)值數(shù)據(jù)。字符數(shù)據(jù):文本數(shù)據(jù)或字符串,目前廣泛使用ASCII碼。邏輯數(shù)據(jù):一個單元中有幾位二進制bit項組成,每個bit的值可以是1或0。當數(shù)據(jù)以這種方式看待時,稱為邏輯性數(shù)據(jù)。Pentium數(shù)據(jù)類型(見P112表4.4)常規(guī)數(shù)據(jù)類型整數(shù)數(shù)據(jù)類型……..尋址方式:采用地址指定方式時,形成操作數(shù)地址

或指令地址的方式。尋址方式指令尋址方式數(shù)據(jù)尋址方式4.4指令和數(shù)據(jù)的尋址方式尋址技術(shù):指的是指令按什么方式尋找(或訪問)到所需的操作數(shù)或信息。它影響主存規(guī)模、速度及存取方式。尋址方式對應用程序員是透明的。1.順序?qū)ぶ贩绞?/p>

程序指令按順序存放在內(nèi)存中,執(zhí)行時按順序從內(nèi)存中取出所要執(zhí)行的指令。

程序計數(shù)器(指令指針寄存器,指令計數(shù)器)PC(ProgramCounter)存放正在執(zhí)行的指令地址(要執(zhí)行的下一指令地址)。一、指令的尋址方式

程序要執(zhí)行的下條指令地址不是由PC給出,而是由本指令的地址碼給出。

用途:實現(xiàn)程序轉(zhuǎn)移或構(gòu)成循環(huán)程序。2.跳躍尋址方式尋址方式特征位:指出是何種尋址方式。有效地址由形式地址和尋址方式特征位等共同確定。實質(zhì):將形式地址(D)轉(zhuǎn)化為有效地址(E)。二、操作數(shù)尋址方式形式地址(D):偏移量,邏輯地址,指令中給出的地址。有效地址(E):真實地址,物理地址,用形式地址并結(jié)合某些計算規(guī)則求出來的地址。操作碼OP變址X間址I形式地址D例:一種單地址指令的結(jié)構(gòu)如下:

不明顯指定操作數(shù)的地址,而是在指令中隱含著操作數(shù)的地址。比如單地址指令格式的第二操作數(shù)由AC隱含指定。1.隱含尋址(ImpliedAddressing)例:加法指令ADD[200H]00010010AC0011200H=

ADDAC,[200H]ALU2.立即尋址(ImmediateAddressing)優(yōu)點:無需訪問內(nèi)存,指令的執(zhí)行時間很短。缺點:操作數(shù)的范圍受限。適用范圍:用于操作數(shù)固定的指令中,主要用于給寄存器或存儲器賦初值。例:MOVAL,13H特點:地址字段指出的不是操作數(shù)地址,而是

操作數(shù)本身。FFH13H13HAL其形式地址(D)又稱為直接地址(E)3.直接尋址(DirectAddressing)特點:地址字段直接指出操作數(shù)在內(nèi)存中地址。例:MOVAX,[2000H]E=D1000H1000HFFFFH優(yōu)點:簡單。缺點:尋址空間受限。0000H特點:地址字段中的D是操作數(shù)地址的指針。4.間接尋址(IndirectAddressing)E=(D)1000H1000H5000H5000H13H說明:兩次訪存影響執(zhí)行速度,現(xiàn)已不大使用。優(yōu)點:尋址空間大。缺點:需多次訪問主存。寄存器尋址方式:寄存器中存放的是操作數(shù)。5.寄存器尋址(RegisterAddressing)和寄存器間接尋址(RegisterIndirectAddressing)區(qū)別:

(1)寄存器中前者存的是操作數(shù),后者是操作數(shù)地址。(2)前者不需要訪問內(nèi)存,速度相對快;尋址空間?。?/p>

后者需要訪問內(nèi)存,速度相對慢;尋址空間大。聯(lián)系:地址字段中給出的都是寄存器的編號。例:寄存器尋址:MOVAX,BX寄存器間接尋址:MOV[AX],[BX]寄存器間接尋址方式:寄存器中存放的不是操作數(shù),而是操作數(shù)在內(nèi)存中的地址。復習指令系統(tǒng)的發(fā)展復雜指令集計算機、精簡指令集計算機指令和數(shù)據(jù)的尋址方式指令的尋址方式:順序?qū)ぶ?、跳躍尋址操作數(shù)尋址方式:隱含尋址、立即尋址、直接尋址、間接尋址、寄存器尋址/間址、

特點:把PC的內(nèi)容加上指令格式中形式地址D而形成

操作數(shù)的有效地址E。6.相對尋址方式(RelativeAddressing)E=(PC)+D特點:把基址寄存器的內(nèi)容加上指令格式中D而形成

操作數(shù)的E。用途:可用于擴大尋址能力。7.基址尋址方式(Base-RegisterAddressing)E=(BR)+D特點:把某個變址寄存器的內(nèi)容加上指令格式中D

而形成操作數(shù)的E。用途:用于實現(xiàn)程序塊的有規(guī)律變化。8.變址尋址方式(IndexAddressing)例:MOVAX,2000H[SP]基址尋址方式和變址尋址方式有什么特點?(上海交通大學碩士研究生入學考試試題)解:兩者有不同的特點和用途:①在基址尋址的系統(tǒng)中,基址是不變的,程序中的所有地址都相對于基地址來變化。而對于變址尋址則相反,指令中的D給出的是一個存儲器地址基準,變址寄存器X中存放的是相對于該基準地址的偏移量。不同的變址寄存器值指出了不同的單元;②在基址尋址中,偏移量位數(shù)較短,而在變址尋址中,偏移量位數(shù)足以表示整個存儲空間;③前者主要解決程序邏輯空間與存儲器物理空間的無關(guān)性,而后者主要為了可編寫出高效率訪問一片存儲空間的程序。用途:用在I/O指令中,以實現(xiàn)外存儲器或外圍設(shè)備同內(nèi)存之間的數(shù)據(jù)塊傳送,還適用于內(nèi)存的數(shù)據(jù)塊搬家。9.塊尋址方式(BlockAddressing)操作碼首地址標志位末地址0000010010101110200H800H指定數(shù)據(jù)塊長度的三種方法:(1)指令中劃出字段指出長度;(2)指令中指出數(shù)據(jù)塊的首尾地址;(3)由塊結(jié)束字符指出數(shù)據(jù)塊的長度。方法:E由段寄存器的內(nèi)容加上段內(nèi)偏移地址而形成。應用:微型機采用段尋址方式,20位物理地址為16位段地址左移四位加上16位偏移量。10.段尋址方式(SegmentAddressing)①段內(nèi)直接尋址;②段內(nèi)間接尋址;③段間直接尋址;④段間間接尋址;分類:11堆棧尋址方式堆棧:是一組能存入和取出數(shù)據(jù)的暫時存儲單元。區(qū)別:對數(shù)據(jù)的存取方法或?qū)ぶ贩绞讲煌7诸悾捍?lián)堆棧和存儲器堆棧。特點:數(shù)據(jù)傳送在棧頂和某個通用寄存器之間進行。(1)串聯(lián)堆棧(硬堆棧,下壓堆棧)由CPU中的一組專門寄存器組成。存/取數(shù)方式:當壓入數(shù)據(jù)時,棧中數(shù)據(jù)先向棧底移動一個數(shù)據(jù)字,空出棧頂寄存器來存放壓入的數(shù)據(jù)。當取出數(shù)據(jù)時,從棧頂?shù)募拇嫫髦腥〕鰯?shù)據(jù),棧中數(shù)據(jù)向棧頂順序移動一個數(shù)據(jù)字?!跋冗M后出”FILO(FirstInLastOut)?!昂筮M先出”LIFO(LastInFirstOut)。在主存儲器中劃分出一部分區(qū)域來作為堆棧。優(yōu)點:

(a)容量可任意;(b)可同時建立多個堆棧;(c)可用對存儲器尋址的任一指令來對堆棧中數(shù)據(jù)尋址。需設(shè)置一個堆棧指示器SP(StackPointer),它是CPU中的一個專用寄存器,指定堆棧的棧頂。

(2)存儲器堆棧(軟堆棧)缺點:

(a)容量有限;(b)讀出具有破壞性;串聯(lián)堆棧不需要堆棧指示器,棧頂是由硬件確定,操作時棧頂不動,數(shù)據(jù)串聯(lián)地在寄存器間移動。因存儲單元中的數(shù)據(jù)不容易移動,為此實行棧頂移動,數(shù)據(jù)不動。數(shù)據(jù)的壓入和讀出用“進?!?PUSH)和“出?!?POP)指令。

進棧操作描述:

(A)—>Msp,

(SP)-1—>SP

出棧操作描述:

(SP)+1—>SP,(Msp)—>A注:進棧時先存入數(shù)據(jù),后修改堆棧指示器;

出棧時先修改堆棧指示器,后取出數(shù)據(jù)。下列說法中不正確的是:

A、機器語言和匯編語言都是面向機器的,它們和具體機器的指令系統(tǒng)密切相關(guān)B、指令的地址字段指出的不是地址而是操作數(shù)本身,這種尋址方式稱為立即尋址C、串聯(lián)堆棧一般不需要堆棧指示器,但串聯(lián)堆棧的讀出破壞性的D、存儲器堆棧是主存的一部分,因而也可以按地址隨機進行讀寫操作

D4.5典型指令

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論