指令和指令系統(tǒng)概述
指令和指令系統(tǒng)概述
基本概念
指令:引起計算機(jī)執(zhí)行某種操作的最小的功能單位。
指令系統(tǒng):一臺計算機(jī)的全部指令的集合。
CISC:復(fù)雜指令系統(tǒng)計算機(jī)的簡稱。
RISC:簡化指令系統(tǒng)計算機(jī)的簡稱。
指令格式:一條指令由操作碼和操作數(shù)地址碼兩部分組成。一般是如下格式:
操作碼
?操作數(shù)地址碼?
操作碼:指明本條指令的操作功能。如算術(shù)運(yùn)算、邏輯運(yùn)算、存數(shù)、取數(shù)、轉(zhuǎn)移等。每條指令分配一個確定的操作碼。
操作數(shù)地址碼:指出該條指令涉及的操作數(shù)的地址。
操作碼:指明本條指令的操作功能。如算術(shù)運(yùn)算、邏輯運(yùn)算、存數(shù)、取數(shù)、轉(zhuǎn)移等。每條指令分配一個確定的操作碼。
操作數(shù)地址碼:指出該條指令涉及的操作數(shù)的地址。
一、操作碼的組織與編排
有三種組織方式:
1、定長的操作碼:每條指令的的操作碼均相同,即用固定長度的若干位表示操作碼。
優(yōu)點(diǎn):簡化了計算機(jī)的硬件設(shè)計,提高了指令譯碼和識別速度。
缺點(diǎn):當(dāng)指令長度較短時,操作數(shù)地址的位數(shù)就會嚴(yán)重不足。
因此定長的操作碼適用于計算機(jī)字長較長的計算機(jī)指令系統(tǒng)。
2、變長的操作碼:指令的的操作碼長度不盡相同,將使用頻率較高而地址碼要求較多的的指令用較少位表示操作碼;而對那些地址碼位數(shù)要求較少的指令,用較多位表示操作碼;對那些無操作數(shù)的指令,整個指令字均用作操作碼。
如PDP-11計算機(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è)計的復(fù)雜性。
以上兩種方案,操作碼一般在指令字的最高位部分。
3、操作碼與操作數(shù)地址有所交叉的方案特點(diǎn):不同的指令操作碼長度不同,而且與表示操作數(shù)地址碼的字段有所交叉。
二、操作數(shù)地址的設(shè)計安排
1、無操作數(shù)指令:指令中不涉及操作數(shù)或使用約定的操作數(shù)。如停機(jī)指令、空操作指令、關(guān)中斷及堆棧操作指令。
2、單操作數(shù)指令:指令中只涉及一個操作數(shù)或還使用另一約定的操作數(shù)。例如:寄存器內(nèi)容加1、減1指令;與外設(shè)交換數(shù)據(jù)的指令,只在指令中指明外設(shè)地址,而把接受或送出的寄存器約定下來;另外一種情況是采用單一累加器的計算機(jī)中約定目的操作數(shù)和保存結(jié)果都使用唯一的累加器,指令中只表示一個源操作數(shù)即可。
3、雙操作數(shù)指令:指令中要指出目的操作數(shù)和源操作數(shù)的地址,其中目的操作數(shù)地址還用于保存運(yùn)算結(jié)果。
4、多操作數(shù)指令:如三操作數(shù)指令,指令中不僅要指出目的操作數(shù)和源操作數(shù)的地址,還要指出保存運(yùn)算結(jié)果的去處。
三、關(guān)于指令的分類
下面是按指令的功能來分類
1、算術(shù)與邏輯運(yùn)算指令:這是每臺計算機(jī)必須要有的指令。這類指令不僅給出運(yùn)算結(jié)果,還有結(jié)果的有關(guān)特征。
2、移位操作指令:包括算術(shù)移位(主要是右移)、邏輯移位、循環(huán)移位三種。
3、數(shù)據(jù)傳送指令:實(shí)現(xiàn)通用寄存器之間、存儲器之間、通用寄存器與存儲器之間、通用寄存器與外設(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)存儲器的一個存儲單元:例如 MOVE [R12],R1 load()?
非常好我支持^.^
(40) 100%
不好我反對
(0) 0%
相關(guān)閱讀:
- [電子說] 低功耗模組Air780E的AT指令:FTP示例! 2024-11-30
- [電子說] 提升DevOps效率,從基礎(chǔ)到進(jìn)階的Dockerfile編寫技巧 2024-11-26
- [電子說] 蔣學(xué)剛主任受邀出席RDI生態(tài)·成都創(chuàng)新論壇,并參加《基于RISC-V指令集架構(gòu)的數(shù) 2024-11-21
- [電子說] Erp指令能效 2024-11-20
- [電子說] 示例篇:4G模組AT指令之MQTT應(yīng)用! 2024-11-12
- [電子說] 歐盟RoHS 2.0指令:十項(xiàng)限用物質(zhì)詳解 2024-11-11
- [電子說] MQTT協(xié)議深度應(yīng)用:Air780E模組AT指令的創(chuàng)新實(shí)踐 2024-11-11
- [電子說] Air780E模組AT指令下的MQTT應(yīng)用:技術(shù)指南 2024-11-07
( 發(fā)表人:admin )