指令系統(tǒng)(??)

一、指令的基本概念

1)指令

  • 含義:計(jì)算機(jī)能直接識別、執(zhí)行的操作命令(機(jī)器指令)

  • 是馮諾依曼結(jié)構(gòu)計(jì)算機(jī)“程序控制”原理實(shí)現(xiàn)的載體

2)指令系統(tǒng)(指令集)

  • 含義:一臺計(jì)算機(jī)中所有機(jī)器指令的集合

  • 系列機(jī):同一公司不同時(shí)期生產(chǎn),基本系統(tǒng)結(jié)構(gòu)和指令系統(tǒng)相同的計(jì)算機(jī)。

  • 兼容機(jī):不同公司生產(chǎn),基本系統(tǒng)結(jié)構(gòu)和指令系統(tǒng)相同的計(jì)算機(jī)。

3)指令字長

  • 含義:指令中包含的二進(jìn)制位數(shù)

  • 與機(jī)器字長相比:單字長、雙字長、半字長等長度指令

  • 多字長指令:

    • 解決尋址較大存儲空間的問題
    • 取指會多次訪問內(nèi)存,影響速度,占用空間大
  • 等長指令:指令字長度固定

  • 變長指令:指令字長度根據(jù)需要可變

二、指令的分類

1)根據(jù)計(jì)算機(jī)層次結(jié)構(gòu)分類

屬于指令集架構(gòu)層(機(jī)器語言指令)

2)根據(jù)指令中地址碼字段的個(gè)數(shù)分類

三、二、一、零地址指令

3)根據(jù)指令中操作數(shù)的物理位置分類

存儲器--存儲器 (SS)型(這種形式現(xiàn)在已經(jīng)淘汰,因?yàn)閮纱味家L問主存,太慢)

寄存器--寄存器 (RR)型

寄存器---存儲器(RS)型

4)根據(jù)指令的功能分類

傳送指令:MOV、PUSH/POP、IN/OUT等

頂點(diǎn)算術(shù)運(yùn)算指令:ADD、SUB、INC、CMP、MUL等

位運(yùn)算指令:NOT、AND、OR、SHL、SAL

控制轉(zhuǎn)移指令:JMP、JNE、CALL、RET等

三、指令格式

操作碼+數(shù)據(jù)源+尋址方式

用二進(jìn)制代碼表示指令的結(jié)構(gòu)形式:

指令要求計(jì)算機(jī)完成什么功能?---》設(shè)置操作碼

指令要求計(jì)算機(jī)處理什么數(shù)據(jù)?----》設(shè)置數(shù)據(jù)源/目

計(jì)算機(jī)怎樣得到要處理的數(shù)據(jù)?----》設(shè)置尋址方式

操作碼字段的位數(shù)與支持的最大指令數(shù)量有關(guān)

對于定長操作碼而言,LengthOP=log2n(向上取整)

支持邊長操作碼時(shí),操作碼向不用的地址碼字段擴(kuò)展

尋址方式字段的位數(shù)與支持的尋址方式種類有關(guān)

地址碼字段的作用及影響與其位數(shù)和尋址方式有關(guān)

四、指令認(rèn)識

計(jì)算機(jī)能直接識別、執(zhí)行的某種操作命令(機(jī)器指令)是指揮計(jì)算機(jī)指令特定操作的命令

馮諾依曼結(jié)構(gòu)計(jì)算機(jī)“程序控制”原理實(shí)現(xiàn)的載體

是軟、硬件界面和程序員操作計(jì)算機(jī)硬件的接口

是硬件設(shè)計(jì)的依據(jù)和軟件設(shè)計(jì)的基礎(chǔ),直接影響計(jì)算機(jī)系統(tǒng)的性能

指令系統(tǒng)概述

五、尋址方式

1)、尋址方式的概念

根據(jù)馮諾依曼計(jì)算機(jī)的工作原理,需要根據(jù)物理地址從內(nèi)存中去取指令和數(shù)據(jù)。包括指令尋址方式和數(shù)據(jù)的尋址方式

2)、指令的尋址方式

含義:計(jì)算指令有效地址的方法

指令的尋址方式只有兩種:

順序?qū)ぶ?/p>

跳躍尋址

順序?qū)ぶ?/h4>
  • 程序的指令序列在主存順序存放。執(zhí)行時(shí)從第一條指令開始,逐條取出并執(zhí)行,這種程序的順序執(zhí)行過程,稱為順序?qū)ぶ贩绞?/p>

  • cpu中設(shè)置程序計(jì)數(shù)器(PC)對指令的順序號進(jìn)行計(jì)算。PC開始時(shí)存放程序的首地址,每執(zhí)行一條指令,PC加1,指出下條指令的地址,直到程序結(jié)束

    • 加1的含義:存儲1條指令占用的字節(jié)單元數(shù)與存儲字長有關(guān)

跳躍尋址

  • 當(dāng)程序要轉(zhuǎn)移執(zhí)行的順序時(shí),指令的尋址就采取跳躍尋址方式
  • 跳躍,又稱跳轉(zhuǎn),是指下條指令的地址碼不是由程序計(jì)數(shù)器給出,而是由本條指令給出
  • 注意!程序跳躍后,按新的指令地址開始順序執(zhí)行;指令計(jì)數(shù)器的內(nèi)容也必須相應(yīng)改變,以便及時(shí)跟蹤新的指令地址

3)操作數(shù)尋址方式

含義:形成操作數(shù)有效地址的方法

    • 立即數(shù)尋址:地址碼字段是操作數(shù)本身 MOV AX, 200H
    • 寄存器尋址:地址碼字段是寄存器地址 MOV AX, BX
    • 直接尋址:地址碼字段是內(nèi)存地址 MOV AX, [200H]
    • 間接尋址:地址碼字段是內(nèi)存地址的地址 MOV AX, I[200H]
    • 寄存器間接尋址:地址碼字段是存內(nèi)存地址的寄存器地址 MOV AX, [BX]
    • 相對尋址:操作數(shù)地址 + 當(dāng)前PC的值
    • 基址尋址:操作數(shù)地址 + 基址寄存器的值(一段程序中不變) MOV AX, 32[B]
    • 變址尋址:操作數(shù)地址 + 變址寄存器的值(隨程序不斷變化) MOV AX, 32[SI]

1、立即數(shù)尋址

地址碼字段是操作數(shù)本身

例:MOV AX,200H(AX<---200H)

S=D

特點(diǎn):

取指操作將數(shù)據(jù)與指令一并讀入CPU內(nèi)部的寄存器,指令執(zhí)行速度塊

便于程序設(shè)計(jì)(變量賦初值)

數(shù)據(jù)大小受字段位數(shù)限制

2、寄存器尋址

操作數(shù)在cpu的內(nèi)部寄存器中

例 MOV AX,BX(AX<---(BX) )

特點(diǎn):

操作數(shù)在寄存器中,指令執(zhí)行速度快

能訪問的數(shù)據(jù)大小一般與計(jì)算機(jī)字長有關(guān)

地址字段的位數(shù)與計(jì)算機(jī)通用寄存器數(shù)量相關(guān)

3、直接尋址

地址碼字段直接給出操作數(shù)在內(nèi)存的地址,

例 MOV AX,[200H]

特點(diǎn):

提供訪問主存的操作

獲得數(shù)據(jù)要訪問主存,指令執(zhí)行速度慢

地址字段的位數(shù)決定了訪存空間大小

4、間接尋址

地址碼字段給出的是操作數(shù)主存地址的地址

例 MOV AX,I[200H]

特點(diǎn):

解決了直接尋址方式下地址字段的位數(shù)限制訪存范圍大小的問題

獲得數(shù)據(jù)要訪問主存2次,指令執(zhí)行速度太慢

5、寄存器間接尋址

地址碼給出的是寄存器編碼R

特點(diǎn):

解決了直接尋址方式下地址字段的位數(shù)限制訪存范圍大小的問題

獲得數(shù)據(jù)只需訪問主存1次

6、相對尋址

操作數(shù)地址 + 當(dāng)前PC的值

指令所提供的相對地址是:本條指令的下條指令在內(nèi)存中的首地址為基準(zhǔn)位置的偏移量

特點(diǎn):

可節(jié)省指令中的地址位數(shù),便于程序在內(nèi)存中成塊移動

注意PC的改變對計(jì)算E的影響,計(jì)算機(jī)字長十六位則加2(16 / 8)

若計(jì)算機(jī)字長32位,且PC的值在取值階段修改,則讀完地址后,PC要加4,因?yàn)?2位占了四個(gè)字節(jié)

7、基址尋址

指定一個(gè)基址寄存器B,與本指令地址無關(guān)

E=D+(B),D為指令中地址字段的值

例:MOV AX,32[B]

特點(diǎn):

使用基址寄存器可以訪問更大的主存空間(基址寄存器可以設(shè)置成比通用寄存器還大的位數(shù))

對某一程序而言,基址值設(shè)定后不變,故要訪問不同數(shù)據(jù)需修改D

8、變址尋址

指定一個(gè)變址寄存器X,與本指令地址無關(guān),內(nèi)容可隨便要求改變

E=D+(X),D為指令中地址字段的值

MOV AX,32[SI] SI,DI都稱為變址寄存器

特點(diǎn):

不改變指令即可改變數(shù)據(jù)的有效地址,可在循環(huán)中使用

在字符串處理,向量運(yùn)算等等成批數(shù)據(jù)處理中非常有用

9、數(shù)據(jù)尋址方式總結(jié)

數(shù)據(jù)尋址方式 地址表達(dá)式E 特點(diǎn)
立即尋址 S=D 快,便于程序設(shè)計(jì),賦初值,初值大小受限
寄存器尋址 S=R 快,便于程序設(shè)計(jì),不能訪問主存
直接尋址 E=D 慢,便于程序設(shè)計(jì),提供訪存,范圍受限
間接尋址 E=(D) 很慢,解決直接尋址訪存范圍受限的問題
寄存器間接 E=(R) 慢,便于程序設(shè)計(jì),提供訪存,范圍增大
相對尋址 E=(PC)+D 慢,提供訪存,不能在循環(huán)中使用
變址尋址 E=(X)+D 慢,便于程序設(shè)計(jì),提供訪存,可在循環(huán)中用
基址尋址 E=(B)+D 慢,提供更大的范圍的訪存能力,不能在循環(huán)中用

尋址方式

六、指令格式設(shè)計(jì)

1、指令格式設(shè)計(jì)的主要內(nèi)容

操作碼字段+尋址方式+地址碼字段

  • 根據(jù)指令數(shù)量的要求及是否支持操作碼擴(kuò)展,確定操作碼字段的位數(shù)

  • 根據(jù)對操作數(shù)的要求確定地址碼字段的個(gè)數(shù)

  • 根據(jù)尋址方式的要求,為每個(gè)地址碼字段確定尋址方式字段位數(shù)。

  • 確定采用定長指令還是變長指令

例子:指令格式設(shè)計(jì)

七、MIPS

MIPS指令概述
MIPS指令詳解

三種指令格式

  • R型指令
  • I型指令
  • J型指令
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 根據(jù)馮諾依曼計(jì)算機(jī)的工作原理,需要根據(jù)物理地址從內(nèi)存中取指令和數(shù)據(jù)。如何獲得指令和數(shù)據(jù)的物理地址?這和指令的尋址方...
    moriv4閱讀 282評論 0 1
  • 指令系統(tǒng)概述 計(jì)算機(jī)程序 由一條條機(jī)器指令構(gòu)成 完成不同的功能 機(jī)器指令 計(jì)算機(jī)唯一能夠識別的語言 由若干個(gè)二進(jìn)制...
    知向誰邊閱讀 1,290評論 0 0
  • 指令系統(tǒng) 程序功能:求兩個(gè)數(shù)據(jù)之和并輸出 運(yùn)行結(jié)果:sum is 25 基本概念: 指令:是計(jì)算機(jī)硬件能夠直接理解...
    我可能是個(gè)假開發(fā)閱讀 5,298評論 0 5
  • 指令系統(tǒng)概述 指令:要求計(jì)算機(jī)執(zhí)行特定操作的命令,是程序員指揮計(jì)算機(jī)工作的最小單位。 指令系統(tǒng):指一臺計(jì)算機(jī)全部指...
    _屬于我閱讀 1,826評論 0 3
  • 指令系統(tǒng) 一臺計(jì)算機(jī)中所有機(jī)器指令的集合,稱之為這臺計(jì)算機(jī)的指令系統(tǒng)。指令系統(tǒng)是表征一臺計(jì)算機(jī)性能的重要因素,他的...
    莫那一魯?shù)?/span>閱讀 756評論 0 0

友情鏈接更多精彩內(nèi)容