您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>電腦硬件>臺式機(jī)>

指令和指令系統(tǒng)概述

2010年04月15日 14:35 ttokpm.com 作者:佚名 用戶評論(0
關(guān)鍵字:指令(35219)

指令和指令系統(tǒng)概述


基本概念
指令:引起計(jì)算機(jī)執(zhí)行某種操作的最小的功能單位。

指令系統(tǒng):一臺計(jì)算機(jī)的全部指令的集合。

CISC:復(fù)雜指令系統(tǒng)計(jì)算機(jī)的簡稱。

RISC:簡化指令系統(tǒng)計(jì)算機(jī)的簡稱。

指令格式:一條指令由操作碼和操作數(shù)地址碼兩部分組成。一般是如下格式:
操作碼
?操作數(shù)地址碼?

操作碼:指明本條指令的操作功能。如算術(shù)運(yùn)算、邏輯運(yùn)算、存數(shù)、取數(shù)、轉(zhuǎn)移等。每條指令分配一個(gè)確定的操作碼。

操作數(shù)地址碼:指出該條指令涉及的操作數(shù)的地址。

操作碼:指明本條指令的操作功能。如算術(shù)運(yùn)算、邏輯運(yùn)算、存數(shù)、取數(shù)、轉(zhuǎn)移等。每條指令分配一個(gè)確定的操作碼。

操作數(shù)地址碼:指出該條指令涉及的操作數(shù)的地址。

一、操作碼的組織與編排
有三種組織方式:
1、定長的操作碼:每條指令的的操作碼均相同,即用固定長度的若干位表示操作碼。
優(yōu)點(diǎn):簡化了計(jì)算機(jī)的硬件設(shè)計(jì),提高了指令譯碼和識別速度。

缺點(diǎn):當(dāng)指令長度較短時(shí),操作數(shù)地址的位數(shù)就會(huì)嚴(yán)重不足。

因此定長的操作碼適用于計(jì)算機(jī)字長較長的計(jì)算機(jī)指令系統(tǒng)。

2、變長的操作碼:指令的的操作碼長度不盡相同,將使用頻率較高而地址碼要求較多的的指令用較少位表示操作碼;而對那些地址碼位數(shù)要求較少的指令,用較多位表示操作碼;對那些無操作數(shù)的指令,整個(gè)指令字均用作操作碼。
如PDP-11計(jì)算機(jī)是16位的小型機(jī),它的變長的操作碼舉例如下: 7位操作碼:? 0 1 1 1 X X X? 地址碼1? 地址碼2?
8位操作碼:
?1 0 0 0 0 X X X? 位移或常數(shù)?
10位操作碼:
?1 0 0 0 0 1 0 1 X X? 目標(biāo)地址?
16位操作碼:? 0 0 0 0 0 0 0 0 0 0 0 0 0 X X?

優(yōu)點(diǎn):在比較短的指令字中,既能表示出比較多的指令條數(shù),又能盡量滿足操作數(shù)地址的要求。
缺點(diǎn):增加了硬件設(shè)計(jì)的復(fù)雜性。
以上兩種方案,操作碼一般在指令字的最高位部分。

3、操作碼與操作數(shù)地址有所交叉的方案特點(diǎn):不同的指令操作碼長度不同,而且與表示操作數(shù)地址碼的字段有所交叉。


二、操作數(shù)地址的設(shè)計(jì)安排
1、無操作數(shù)指令:指令中不涉及操作數(shù)或使用約定的操作數(shù)。如停機(jī)指令、空操作指令、關(guān)中斷及堆棧操作指令。

2、單操作數(shù)指令:指令中只涉及一個(gè)操作數(shù)或還使用另一約定的操作數(shù)。例如:寄存器內(nèi)容加1、減1指令;與外設(shè)交換數(shù)據(jù)的指令,只在指令中指明外設(shè)地址,而把接受或送出的寄存器約定下來;另外一種情況是采用單一累加器的計(jì)算機(jī)中約定目的操作數(shù)和保存結(jié)果都使用唯一的累加器,指令中只表示一個(gè)源操作數(shù)即可。

3、雙操作數(shù)指令:指令中要指出目的操作數(shù)和源操作數(shù)的地址,其中目的操作數(shù)地址還用于保存運(yùn)算結(jié)果。

4、多操作數(shù)指令:如三操作數(shù)指令,指令中不僅要指出目的操作數(shù)和源操作數(shù)的地址,還要指出保存運(yùn)算結(jié)果的去處。
三、關(guān)于指令的分類
下面是按指令的功能來分類
1、算術(shù)與邏輯運(yùn)算指令:這是每臺計(jì)算機(jī)必須要有的指令。這類指令不僅給出運(yùn)算結(jié)果,還有結(jié)果的有關(guān)特征。
2、移位操作指令:包括算術(shù)移位(主要是右移)、邏輯移位、循環(huán)移位三種。

3、數(shù)據(jù)傳送指令:實(shí)現(xiàn)通用寄存器之間、存儲(chǔ)器之間、通用寄存器與存儲(chǔ)器之間、通用寄存器與外設(shè)接口之間的數(shù)據(jù)傳送。

4、轉(zhuǎn)移指令、子程序調(diào)用與返回指令:
轉(zhuǎn)移指令分為無條件轉(zhuǎn)移指令和條件轉(zhuǎn)移指令兩種。二者相同之處是在指令中必須給出轉(zhuǎn)移地址;不同之處是條件轉(zhuǎn)移指令還必須在指令中給出轉(zhuǎn)移的條件(程序狀態(tài)字C、Z、V、S)。
子程序調(diào)用與返回指令是一種特殊的轉(zhuǎn)移指令,二者要配合使用。子程序又分為用戶自己編寫的子程序和軟件提供的子程序,對后者的訪問又被稱為訪問系統(tǒng)程序(訪管)指令、陷阱(TRAP)指令。

5、特權(quán)指令
用于操作系統(tǒng)或其他系統(tǒng)軟件的指令,一般不提供給用戶使用。

6、其他指令

四、關(guān)于操作數(shù)的來源、去處
1、CPU內(nèi)部的通用寄存器:例如 MOVE R2,R1

2、外設(shè)接口中的寄存器:例如 IN PORT

3、內(nèi)存儲(chǔ)器的一個(gè)存儲(chǔ)單元:例如 MOVE [R12],R1 load()?

非常好我支持^.^

(40) 100%

不好我反對

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評論

      用戶評論
      評價(jià):好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?