計算機組成原理(計算機組織與結構) ch5 指令系統_第1頁
計算機組成原理(計算機組織與結構) ch5 指令系統_第2頁
計算機組成原理(計算機組織與結構) ch5 指令系統_第3頁
計算機組成原理(計算機組織與結構) ch5 指令系統_第4頁
計算機組成原理(計算機組織與結構) ch5 指令系統_第5頁
已閱讀5頁,還剩48頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第五章指令系統

多5.1指令系統概述

多5.2指令格式重點

多5.3數據表示

多5.4尋址方式(編址方式)重點

多5.5指令類型

多5.6CISC和RISC

多57機器、匯編、高級語言

計算機系統中運行的軟件有系統軟件和應用軟件兩種。

系統軟件對整個計算機系統進行調度、管理、監視、服

務,為用戶提供使用方便,擴大機器功能,提高機器使用效

率O

°應用軟件是用戶針對某種領域實際應用需求而開發的軟

件。許多通用商品化的應用軟件現已成為系統軟件,如Word

等。

前述所有各種軟件的設計基礎就是計算機的指令系統。

計操作系統:DOS,WINDOWS,UNIX,.....

算一機器語言:二進制,CPU直接執行的指令系統

系程序設計—匯編語言:把源程序匯編成機器語言目標程序

易學好記

統語言/解釋執行/BASIC

COBOL事務管理

軟」高級語言(

PASCAL易教好學

件'編譯執行VFORTRAN計算

服務程序:KV300,PCTOOLS,...'C長于計算控制

應用軟件:WORD,EXCEL,ACCESS,DBASE,.....

詞解釋

令:命令計算機直接進行某種基本操作的二進制代碼

,也叫機器語言代碼。每條指令可以完成一個獨立的

術或邏輯運算操作。

紛從計算機組成的層次結構來說,計算機的指令分為:

:喜散指令是微程序級的命令,屬于硬件;

:法指令是由若干條機器指令組成的軟件指令,屬于軟

::

號機器指令(簡稱指令)則介于微指令與宏指令之間。

E殄指令系統:一臺計算機能直接理解與執行的

%全部指令的集合稱為該機的指令系統,也叫

密機器語言。

它直接說明了這臺計算機的功能。不同類型

CPU的指令系統是不能混用與兼容的,但同一

系列的CPU一般升級后指令都有擴充,并可兼

容。

復雜指令系統計算機(CISC)

精簡指令系統計算機(RISC)

(一)復雜指令集計算機(CISC)

指令系統龐大硬件復雜、龐大執行速度低

編譯程序復雜、長部分指令使用效率低

(二)精簡指令系統計算機(RISC)

通過減少指令總數和簡化指令的功能來降低硬件設計

的復雜程度,提高指令執行速度,使指令簡單,有效可行。

對指令系統性能要求

?完整性:指應該具備的基本指令種類,如:傳送、運算、

轉移、I/O、處理機控制和調試等

?規整性包括:

?對稱性:所有寄存器頭等對待操作碼的設置等都要對

稱,如:A—B與B—A

均勻性:不同的數據類型、字長、存儲設備、操作種

類要設置相同的指令

?高效率:指令的執行速度要快;指令的使用頻度要高;

各類指令之間要有一定的比例

?兼容性:在同一系列機內指令系統不變(可適當增加)

I5.2指令格式

5.2.1指令格式

指令字:代表指令的一組二進制代碼信息;

8指令長度:指令字中二進制代碼的位數;

1、典型的指令格式

OPA

操作碼0P—指明操作性質的命令碼,

提供指令的操作控制信息。

地址碼(操作數)A——說明操作數存放的地址,

有時則就是操作數本身。

2、指令格式的五種類型

——根據地址碼個數的不同而劃分。

1)零地址指令IOP

例:NOP、HLT,也叫無操作數指令

2)一地址指令OPA

例:遞增,移位,取反,INCAX,NOTBX

3)二地址指令IOPIAlIA2

例:ADDAlA2

[A1]+[A2]-[Al],[A2]為源地址,[Al]目的地址

3)三地址指令IOPIAlIA2IA3I

例:[A1]+[A2]->[A3],其中[Al]、[A2]為源地

址,[A3]為目的地址,操作后源地址內容不

變僅被拷貝

4)多地址指令:用于實現成批數據處理。

522指令操作碼的擴展技術

操作碼的位數限制指令系統中完成操作的指令條數。

固定格式操作碼

操作碼長度固定,一般集中于指令字的一個字段中。在

字長較大的大中型以及超級小型機上廣泛使用。

優點:有利于簡化硬件設計,減少譯碼時間

可變格式操作碼

通常在指令字中用一個固定長度的字段來表示基本的操

作碼,而對于一部分少地址指令則把它們的操作碼擴充

到該指令的地址字段,即操作碼長度可以改變。

這種方法在不增加指令字長度的情況下可表示更多的指

令,但增加了譯碼和分析難度,需更多硬件支持。

假設某機器的指令長度為16位,包括4位基本操作碼

和三個4位地址碼段。

15...1211……87……43…0

OPA1A2A3

4位基本操作碼可表示16個狀態,因此如用

4位操作碼則能表示16條三地址指令,而用8位操作碼

則可表示256條二地址指令。而用12位操作碼則可表

示4096條一地址指令。

B同樣情況下,如果需要三地址、二地址、一地址指令

題各15條、零地址指令16條,則一樣能夠采用可變格式

翻操作碼實現。例如可以這樣規定:

15條三地址指令的操作碼為:0000-1110,最后

一個1111用于將操作碼擴展到A1

15條二地址指令的操作碼為:前4位1111,

即11110000-11111110

15條一地址指令的操作碼為:前8位均為1,

即111111110000-111111111110

16條零地址指令的操作碼為:前12位均為1,

即1111111111110000-1111111111111111

再如:同樣情況下用可變格式操作碼分別形成三地

址指令、二地址指令、一地址指令和零地址指令15、

14、31、16條。按要求得到結果之一如下

15條三地址為:

0000-1110

14條二地址為:

11110000-11111101

31條一地址為:

111111100000-111111111110

16條零地址為:

1111111111110000-1111111111111111

2.3指令長度與機器字長的關系

機器字長是指計算機能直接處理的二進制數據的位

數,是重要的性能標志。

?1)決定了計算機的運算精度

?2)決定了指令直接尋址能力

指令字長度是指一個指令字中包含二進制代碼的位

數。主要取決于操作碼的長度、操作數地址的長度和

操作數地址的個數。各指令的長度不固定,通常為字

節的整數倍。

多指令長度與機器的字長沒有固定的關系

指令。機器字長,稱短格式指令

指令》機器字長,稱長格式指令

同一臺計算機中可能既有短格式指令又有長格式指

令,但通常是把最常用的指令(如算術邏輯運算指

令、數據傳送指令)設計成短格式指令,以便節省

存儲空間和提高指令的執行速度。

多在Pentium系列機中,指令格式也是可變的:由8位、16位、32

位、64位不等。

f5.3數據表示

多目前所用的數據(字)長度一般為32/64位,4/8

個字節。內存地址按字節編址。

8r多計算機指令系統可支持對字節、半字、字、

露雙字的運算,有的還支持位操作。

::鄉為便于硬件的實現,一般要求多字節數據采

:t用對準數據邊界的方式儲存。不合要求則填

¥充空白字節(無操作)代替。

對準邊界格式存儲數據

4字節32位存儲器地址

字地址00

字地址44

半字地址10半字地址88

字節地址15字節地址14半字地址1212

字節地址19字節地址18字節地址17字節地址1616

半字地址22字節地址21字節地址2020

1)從存儲字的起始位置開始

2)從地址的整數被開始

有的計算機不要求對準邊界存儲數據,如下

圖所示,但這種方式增加硬件的復雜程度,并

且有可能導致訪問次數增加。

32位、4個字節地址

半字的「半字節半字0

一字的3/4半字另一半4

半字一字的1/48

R5.4尋址方式(編址方式)

多尋址方式:指令中如何提供操作數或操作數

厭3地址。換句話說就是規定如何對地址字段作出

J解釋以找到操作數。

t翁立即尋址

卷直接尋址

為間接尋址]j,

I卷變址尋址

7與相對尋址等

喘您或者這幾種方式的組合與變形。

多指令字中必須設一字段來指明屬哪一種尋址方式。

指令的地址碼字段,通常都不代表操作數的真實

地址,把它稱作形式地址,記作A。操作數的真實

地址叫做有效地址,記作EA,它是由尋址方式和

形式地址共同來確定的。

操作碼尋址特征形式地址A

操作數本身設在指令字內,即形式地址A不是

操作數的地址,而是操作數本身,又稱之為立

即數。數據是采用補碼形式存放的,如下圖所

示,圖中#表示立即尋址特征標記。

立即尋址特征

OP#A

行速度。

多缺點:A的位數限制了這類指令所能表述的

立即數的范圍,且不便修改。適合操作數固

定的情況。

多例:MOVAX,例H的結果:

(AX)-1AH

多指令字中的形式地址A就是操作數的真實地

址EA,即

■BsEA=A

尋址特征

主存

操作數

門計算操作數的地址,在指令執行階段對

主存只訪問一次

多缺點:A的位數限制了指令的尋址范圍,

而且必須修改A的值,才能修改操作數的

地址。

多例:MOVAX,[011OH]

指令字中的形式地址不直接指出操作數的地址,而

是指出操作數有效地址所在的存儲單元地址,也就

是說,有效地址是由形式地址間接提供的,故為間

接尋址。即

EA=(A)

孵這種尋址方式與直接尋址相比,它擴大了操

作數的尋址范圍。若設指令字長和存儲字長

均為16位,A為8位,顯然直接尋址范圍為28,

i一次間址的尋址范圍可達2偉。

:淮多當多次間址時,可用存儲字的首位來標志間

接尋址是否結束。因此,它的尋址范圍為215。

多間接尋址的第二個優點在于它便于編制程序。

—.......一.....................黑'--------—....................」-----

、寄存器(直接)尋址

在指令的地址碼部分給出某一寄存器的

名稱,而所需的操作數就在這個寄存器

中。

多例:MOVAX,BX

其中BX為源操作數地

址,AX為目的操作數

地址,操作的結果為

將BX中的數據傳送

(拷貝)到AX中。

5、寄存器間接尋址

殄寄存器中的內容不是操作數,而是操作數所在主存

單元的地址號,即EA=(Ri)。與寄存器尋址相比,

指令的執行階段還需訪問主存。

多優點:改變寄存器Ri中的

內容就可訪問內存的不同

地址。修改十分方便。

多缺點:二次尋址速度慢。

多例:MOVAX,[BX]

圖(h)寄存器間接尋址

6、基址尋址

基址尋址需設有基址寄存器BR,其操作數的有

效地址EA等于指令字中的形式地址與基址寄存

器中的內容(稱作基地址)相加。即

MBSEA=A+(BR)

圖(a)專用基址寄存器BR圖(b)通用寄存器作基址寄存器

基址尋址可以擴大指令對主存的尋址范圍,例如,

將內存空間分為若干段,每段首地址存于基址寄

存器中,段內的位移量由指令字中形式地址A指出,

只要對基址寄存器的內容作修改,便可訪問主存

的任一單元。

7、變址尋址

多變址尋址與基址尋址極為相似;其有效

地址,EA等于指令字中的形式地址A與變

址寄存器IX的內容相加之和。即

EA=A+(IX)

多變址尋址還可以與其他尋址方式結合使用。

例如變址尋址可與基址尋址合用,即

EA=A+(IX)+(BR)

殄變址尋址還可與間接地址合用,形成先變址

后間址或先間址再變址等尋址方式。

也稱程序計數器尋址,有效地址是將程序計數器PC的

內容(即當初前指令的地址)與指令字中的形式地址

A(可正可負)相加而成。即EA=(PC)+A

相對尋址方式主要應用于相對轉移指令。由于目的地址隨PC變

化不固定,所以非常適用于浮動程序的裝配與運行。

9、堆棧尋址

殄在堆棧尋址的指令字中沒有形式地址碼字段,它是

一種零地址指令。

用SP指出棧頂,也可用CPU中一個或兩個寄存器作為SP。堆

棧尋址就其本質也可視為寄存器間址,因SP可視為寄存器;

它存放著操作數的有效地址。

5.5指令類型

指令分類:算術邏輯指令移位指令

I/O指令傳送指令

控制指令堆棧指令

轉移指令浮點運算指令

字符串處理指令十進制運算指令

系統調用指令(特權指令)

曾1、算術運算指令^^■■■1

P紛算術運算指令:一般包括定點、浮點的加、]

1減、乘、除運算。根據運算結果改變標志

寄存器的狀態位。

《ADD,ADC,SUB,SBB,INC,DEC,DIV,

科MUL

;!弊邏輯運算:一般包括邏輯與,邏輯或,邏

:i輯非,邏輯異或等運算,是以二進制為單

:位按位進行運算。

OR,AND,XOR,NOT

多2、移位指令

多算術移位:左移時空位補0而符號位進標志

位,右移時空位復制符號位而溢出位進標

志位。

多邏輯移位:整體移位,空位補0,溢出進標

志位。

多循環移位:有不帶進位循環和帶進位循環。

前者循環后的溢出位進標志位,后者與標

志位一起循環。

3、數據傳送指令

用以實現寄存器與寄存器之間(MOVAX,BX)、寄存

器與內存單元之間(MOV[0001H],AX)以及內存單元相

互之間的數據傳送。數據能夠被從源地址傳送到

目的地址,而源地址中數據不變,——拷貝。

包括:立即數送寄存器(MOVAX,1)、將數據送

到不同字長的寄存器中(MOVAL,78H>

MOVAX,A0A0HMOVEAX,12345678H)以及寄存

器組數據交換等操作指令。

I4、轉移指令

多作用:根據邏輯判斷結果,改變程序的執行順序。

多無條件轉移指令強迫CPU運行程序地址轉移至新地

址開始執行程序。

有條件轉移指令根據當前運算的結果進行邏輯判

斷,符合判斷條件則轉移到指令表明的新地址處

執行程序,否則繼續按原順序執行原來的程序。

0

多調用指令(call)和返回(return)指令

琳多call實現從一個程序轉去執行子程序的操作;

return則使CPU結束執行子程序而返回執行原

程序。

5、堆棧及堆棧操作指令

堆棧(stack)是由若干個連續存儲單元組

成的先進后出的存儲區,有一個堆棧指針

SP,任何堆棧操作只能在棧頂進行。

多在一般計算機中堆棧主要用來暫存中斷和子程序

調用時現場數據及返回地址,用于訪問堆棧的指

令只有壓人push和彈出pop兩種,它們實際上是

一種特殊的數據傳送指令。

6、其他特殊指令

g專用指令用來完成特殊的專門操作。如:暫停、等待

黝、空操作、位操作、以及開中斷、關中斷等等。

特權指令分配和管理系統資源,防止非法用戶對系統

資源及其他用戶程序的修改、打印以及刪除等。

指令系統的設計有兩個截然相反的方向:

1.復雜指令系統計算機CISC

(ComplexInstructionSetComputer)

增強指令功能,設置功能復雜的指令

面向目標代碼、高級語言和操作系統

用一條指令代替一串指令

2.精簡指令系統計算機RISC

(ReducedInstructionSetComputer)

只保留功能簡單的指令

功能較復雜的指令用子程序來實現

1、增設強功能復合指令來取代常用宏指令或子程序

指令格式的優化。

MMX(MultiMediaextensions)(多媒體擴展)的縮寫就是用硬件

指令來代替原軟件的多媒體指令。

3DNow!

、增強對高級語言的支持

、增設專用于OS的新指令;對OS中頻繁使用的某些

軟件子程序硬化;

?CISC指令系統存在的問題:一、

1、20%與80%規律

?CISC中,大約20%的指令占據了80%的處理機時間o

?8088處理機的指令種類約100種

前11種(11%)指令的使用頻度已經超過80%

前20種(20%)指令:使用頻度達到916%,運行

時間達到9772%;

其余80%指令:使用頻度只有8.9%,只占2.28%的

處理機運行時間

2、VLSI技術的發展引起的問題

CISC的控制邏輯復雜、不規整,給VLSI的工藝實現帶來

了極大的困難,而RISC的控制邏輯簡單規整,正好適應

了VLSI工藝的規整性要求。

?3、軟硬件的功能分配問題

?CISC中通過增加指令系統的功能,簡化了軟件,增加了

硬件的復雜度,指令的執行周期變長,從而可能使整個

程序的執行時間變長,而RISC則盡量縮短指令的平均執

行周期。

一般CISC處理機的指令平均執行周期都在4以上,有些

在10以上

p5.6.2RISC

“卡內基梅隆大學(CarnegieMellon)論述RISC的特點:

(1)使絕大多數指令在單周期內完成;

(2)采用LOAD/STORE結構,盡量減少訪存指令的種類;

(3)采用硬布線控制邏輯,加快執行速度;

(4)減少指令和尋址方式的種類,簡化控制部件的結構;

溫馨提示

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

評論

0/150

提交評論