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

下載本文檔

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

文檔簡介

計算機組成原任課教師:葉曉霞廣東海洋大學信息學院計算機系

信計1091-1092E-mail:xiaoxia7761@4.1指令系統(tǒng)的發(fā)展和性能要求4.2指令格式4.3操作數(shù)類型4.4指令和數(shù)據(jù)的尋址方式4.5典型指令第4章指令系統(tǒng)一、基本概念

⒈指令:就是要計算機執(zhí)行某種操作的命令。

⒉指令的分類:微指令、機器指令、宏指令4.1

指令系統(tǒng)的發(fā)展和性能要求微指令:微程序級的命令,它屬于硬件。機器指令:介于微指令與宏指令之間,每條指令可以完成一個獨立的算術運算或邏輯運算。宏指令

:由若干條機器指令組成的軟件指令,它屬于軟件。⒊指令系統(tǒng):指一臺計算機中所有機器指令的集合,指令系統(tǒng)的性能決定了計算機的基本功能,指令的格式與功能不僅直接影響到機器的硬件結構,也直接影響到系統(tǒng)軟件,據(jù)指令系統(tǒng)的不同可將計算機分為

CISC和RISC。CISC:指復雜指令系統(tǒng)計算機。其特點為:指令功能強,指令條數(shù)多,計算機硬件結構復雜和設計周期加長。RISC:指精簡指令系統(tǒng)計算機。其特點為:指令系統(tǒng)中只包含使用頻率很高的指令和一些必要的指令,指令功能簡單。二、指令系統(tǒng)的性能要求完善的計算機的指令系統(tǒng)應具備:1、完備性:一臺計算機中最基本的、必不可少的指令構成了指令系統(tǒng)的完備性。2、有效性:指利用該指令系統(tǒng)所提供的指令編制的程序能夠產生高效率。即占用存儲空間小、執(zhí)行速度快。3、規(guī)整性:指令操作的對稱性和勻齊性,指令格式與數(shù)據(jù)格式的一致性。(1)對稱性:在指令系統(tǒng)中,所有寄存器和存儲單元都可同等對待,這對簡化程序設計,提高程序的可讀性非常有用。(2)勻齊性:是指一種操作性質的指令可以支持各種數(shù)據(jù)類型。(3)一致性:指令長度與數(shù)據(jù)長度有一定關系,以方便存取處理。程序、指令、指令系統(tǒng)4、兼容性:兼容性一般是指計算機的體系結構設計基本相同,機器之間具有相同的基本結構、數(shù)據(jù)表示和共同的基本指令集合。必須做到“向上兼容”三、低級語言與硬件結構的關系機器語言是計算機唯一能夠直接識別和執(zhí)行的語言匯編語言是機器語言的助記符,與機器指令一一對應,依賴于計算機的硬件結構和指令系統(tǒng)。高級語言與計算機的硬件結構及指令系統(tǒng)無關。4.2

指令格式計算機的指令格式與機器的字長、存儲器的容量及指令的功能密切相關。指令格式是用二進制代碼表示的指令形式,由操作碼字段和地址碼字段組成操作碼:表示指令進行什么性質的操作,它提供指令操作控制信息。(1)每條指令都要求它的操作碼必須是獨一無二的位組合。(2)指令系統(tǒng)中指令的個數(shù)N與操作碼的位數(shù)n,必須滿足關系式:

N≤2n–地址碼:指定參與操作的操作數(shù)地址指令字長=操作碼的位數(shù)+(操作數(shù)地址個數(shù))*(操作數(shù)地址碼位數(shù))地址碼字段AC操作碼字段OC指令分類----按地址碼的個數(shù)操作碼A1A2A3操作碼A1A2操作碼A操作碼三地址指令

二地址指令

單地址指令

零地址指令

這種指令有兩種可能:(1)無需任何操作數(shù)。如空操作指令,停機指令等。(2)所需的操作數(shù)是默認的:堆棧。指令中只有一個地址碼提供一個操作數(shù),另一個操作數(shù)是隱含的。如加1、減1、乘除等單操作數(shù)指令。例如,雙操作數(shù)加法指令:ADDR0,R1表示將R0寄存器的內容和R1寄存器的內容相加以后,將結果存入R1寄存器中。例如,ADDXYZ含義為(X)+(Y)Z即X單元內容加上Y單元內容,結果送Z單元中。

指令字長指令格式設計準則

1、指令字長要短,以得到時間和空間上的優(yōu)勢。

2、指令字長必須有足夠的長度。

3、指令字長一般應是機器字長的整數(shù)倍以便存儲系統(tǒng)的管理。機器字長通常與貯存單元的位數(shù)一致。

4、指令格式的設計還與如何選定指令中操作數(shù)地址的位數(shù)有關。例如,對同一容量(如64KB)的存儲器(1)若取存儲單元為一字節(jié)長,則需要16位地址碼,(2)若存儲單元長度為32位,則只需14位地址碼。 方案(1)對字符操作方便,但地址碼位數(shù)多 方案(2)地址碼位數(shù)少,很有利,但字符操作困難,分辯率低。對于一個機器的指令系統(tǒng),在指令字中操作碼字段和地址碼字段長度通常是固定的。稱為等長指令字結構

在單片機中,由于指令字較短,為了充分利用指令字長度,指令字的操作碼字段和地址碼字段是不固定的。稱為變長指令字結構指令字長與擴展方法擴展操作碼

1、要點:(1)操作碼位數(shù)隨地址碼個數(shù)變化采取可變長度的類型;(2)指令間指令碼一定不重復;(3)根據(jù)需要靈活變通。2、比較 假設一臺計算機指令字長16位,操作碼與地址碼都為4位,如圖所示。AC1操作碼OCAC3AC2指令字長與擴展方法(1)方法一:固定格式,則最多可以設計16條三地址指令(2)方法二:擴展操作碼,具體方法如下:

A、4位OC中用0000-1110定義15條三地址指令,留編碼1111作為擴展標志與下一個4位組成一個8位操作碼,引出二地址指令,則:

B、(a)若將AC1全部用作2地址指令的OC,能再定義16條2地址指令; (b)8位OC中用11110000-11111110定義15條二地址指令,剩下的一個編碼11111111與下一個4位組成一個12位的操作碼,引出一地址指令;指令字長與擴展方法 (c)選11110000—11111101共14條2地址指令,留11111110,11111111為擴展標志,再與AC2組合,以此類推。

C、若選B(c),則可定義31條1地址指令,留一個編碼111111111111為擴展標志,與下一個4位組成16位操作碼,引出16條零地址指令;3、擴展操作碼的另一個演變是用操作碼中的某一位或幾位來說明指令的格式與長度,或是說明操作數(shù)的特征。 例如:小型機PDP-11是用操作碼最左邊一位(最高位15位)來指明指令操作處理的數(shù)據(jù)字長度,當?shù)?5位=0,是字指令,操作數(shù)是16位長的字;當15位=1,是字節(jié)指令,操作數(shù)是8位長的字節(jié)。指令的分類-------按操作數(shù)的位置分存儲器-存儲器型(SS型)參與操作的數(shù)及其結果都放在內存里。寄存器-存儲器型(RS型)一個操作數(shù)在寄存器,另一個在主存例如Intel80x86整數(shù)處理器結構寄存器-寄存器型(RR型)讀取存儲器操作數(shù)只有LOAD指令,存儲存儲器操作數(shù)只有STORE指令,算術運算ALU等操作均在寄存器之間進行。具有簡單、定長的指令編碼例如大多數(shù)RISC處理器Pentium指令格式Pentium機的指令字長度可變:從1字節(jié)到12字節(jié),還可以帶前綴非固定長度的指令格式是典型的CISC結構特征為了與它的前身80486保持兼容希望能給編譯程序的編制以更多靈活的編程支持前綴操作碼Mod-R/MSIB位移量立即數(shù)0~4B1~2B0~1B0~1B0~4B0~4B[例1]分析指令格式的特點單字長二地址指令操作碼字段OP長度為7位,可指定128條指令源寄存器和目標寄存器都是通用寄存器(可分別指定16個)。兩個操作數(shù)均在寄存器中,所以是寄存器-寄存器型(RR)指令這種指令結構常用于算術邏輯運算類指令1597430OP

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

--------源寄存器變址寄存器位移量(16位)

4.3操作數(shù)類型地址數(shù)據(jù)數(shù)值數(shù)據(jù)字符數(shù)據(jù)邏輯數(shù)據(jù)CPU可直接訪問的位置:寄存器、內存、外設端口4.3指令和數(shù)據(jù)的尋址方式某個操作數(shù)或某條指令存放在某個存儲單元時,其存儲單元的編號,就是該操作數(shù)或指令在存儲器中的地址尋址方式:形成指令或操作數(shù)的內存地址的方式,或者說查找指令或數(shù)據(jù)的方式[尋址方式的類別]指令尋址方式:用于形成指令在內存中的地址數(shù)據(jù)(操作數(shù))尋址方式:用于形成操作數(shù)在內存中的地址,一般也包括數(shù)據(jù)在寄存器的情況順序尋址:指令地址在內存中按順序安排,當執(zhí)行一段程序時,通常是一條指令接一條指令的順序執(zhí)行。跳躍尋址:是指下條指令的地址碼不是由程序計數(shù)器給出,而是由本條指令給出??梢詫崿F(xiàn)程序轉移。指令的順序尋址方式指令的跳躍尋址方式(程序的控制轉移)4.3.2操作數(shù)尋址方式指令中操作數(shù)字段的地址碼,是由形式地址(偏移量)和變址、間址等組合形成操作數(shù)的尋址:把操作數(shù)的形式地址,根據(jù)間址和變址等組合變換為操作數(shù)有效地址的過程形式地址D變址X

間址I

操作碼OP

操作碼字段操作數(shù)字段常用數(shù)據(jù)尋址方式隱含尋址:在指令中不明顯地給出操作數(shù)的地址立即尋址:指令的地址字段指出的不是操作數(shù)的地址,而直接是操作數(shù)本身直接尋址:在指令格式的地址字段中,直接給出操作數(shù)在內存的地址寄存器尋址:指令中給出的操作數(shù)地址不是內存的地址單元號,而是通用寄存器的編號。即操作數(shù)不放在內存中,而是放在通用寄存器中(寄存器按名尋址)寄存器間接尋址:指令中指定的寄存器中的內容不是操作數(shù),而是操作數(shù)的地址基址(寄存器相對)尋址:基址寄存器的內容加上指令中給定的形式地址(偏移量),形成操作數(shù)的有效地址例如,MOVAX,1234H;(AX)=1234H

立即尋址方式用來表示常數(shù),它常用于給寄存器或內存單元賦初值。需要強調的是,立即尋址只能用于源操作數(shù),不能用于目的操作數(shù)。例如,MOVAX,1234H;(AX)=1234H

立即尋址方式用來表示常數(shù),它常用于給寄存器或內存單元賦初值。需要強調的是,立即尋址只能用于源操作數(shù),不能用于目的操作數(shù)。直接尋址基址(寄存器相對)尋址相對基址加變址尋址方式與其它尋址方式之間的變形關系源操作數(shù)指令的變形源操作數(shù)的尋址方式只有一個偏移量MOVAX,[100H]直接尋址方式只有一個寄存器MOVAX,[BX]

或MOVAX,[SI]寄存器間接尋址方式有一個寄存器和偏移量MOVAX,[BX+100H]

或MOVAX,[SI+100H]寄存器相對尋址方式有二個寄存器MOVAX,[BX+SI]基址加變址尋址方式有二個寄存器和常數(shù)項MOVAX,[BX+SI+100H]相對基址變址尋址方式尋址方式總結立即(數(shù))尋址存儲器直接尋址間接尋址變址尋址基址尋址基址加變址尋址在指令中在寄存器中在主存中在I/O端口中直接尋址寄存器間接尋址寄存器尋址寄存器間接尋址存儲器間接尋址堆棧尋址方式堆棧:一個“先進后出FILO”或“后進先出LIFO”存取的存儲區(qū)域,只有一個數(shù)據(jù)出入口,即當前棧頂(不斷變化)兩種基本操作寫入:數(shù)據(jù)壓進堆棧PUSH讀出:數(shù)據(jù)彈出堆棧操作POP存儲器堆棧使用主存部分空間作為堆棧區(qū)域寄存器堆棧(串聯(lián)堆棧)CPU內部以堆棧方式存取數(shù)據(jù)的一組寄存器Word1Word2Word3Word4Word5StackPUSHPOP4.5典型指令系統(tǒng)一個完整的指令系統(tǒng),應包含:數(shù)據(jù)傳送類指令、算術運算類指令、邏輯運算類指令、轉移指令、字符串指令和系統(tǒng)控制類指令。4.5.3精簡指令系統(tǒng)為了增強處理器的功能,強化指令系統(tǒng):指令多、尋址方式復雜、格式變化,形成復雜指令集計算機CISC(ComplexInstructionSetComputer)研究標明,CISC中最常用、最簡單、最基本的指令僅占指令

溫馨提示

  • 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

提交評論