指令系统寻址方式——指令寻址,数据寻址
前言
尋址方式是指確定本條指令的數據地址以及下一條將要執行的指令地址的方法,它與硬件結構緊密相關,而且直接影響指令格式和指令功能。
一、尋址方式的分類
尋址方式分為:指令尋址和數據尋址兩大類。
指令尋址又可分為:順序尋址和跳躍尋址兩大類。
數據尋址方式種類較多可分為:立即尋址,直接尋址,隱含尋址,間接尋址,寄存器尋址,寄存器間接尋址,基址尋址,變址尋址,相對尋址九大類。
二,指令尋址?
? ? ? ? 1,順序尋址
順序尋址可通過計數器PC加1,自動形成下一條指令的地址;
如圖講解,程序的首地址為0,只要先將0送至程序計數器PC中,啟動機器運行后,程序便按0,1,2,3順序執行。其中1,2,3號指令均有PC自動依次加一形成。
? ? ? ? 2,跳躍尋址
跳躍尋址是通過轉移類指令實現。
如圖講解,程序執行到第3號地址時,因第3號地址為“JMP 7”,故執行完第3號指令后,便無條件將 7 送至PC,此刻指令地址跳過4,5,6三條 ,直接執行第7條指令。這就是跳躍尋址。
三,數據尋址
數據尋址的方式種類較多,在指令字中必須設一字段來指明屬于哪一種尋址方式。
指令的地址碼字段通常不代表操作數的真實地址,故把它稱為形式地址,記作A。操作數的真實地址稱為有效地址,記作EA,它是由尋址方式和形式地址共同確定的。
指令的格式如下圖:
| 操作碼 | 尋址特征 | 形式地址A |
為了便于分析,假設指令字長,存儲字長,機器字長均相等。
1,立即尋址
? ? ? ? 立即尋址的特點是操作數設在指令字內,即形式地址A不是操作數地址,而是操作數本身,又稱為立即數。數據是采用補碼存放的。
優點:是只要取出指令就能立即獲得操作數,在執行階段不必再訪問存儲器。
缺點:A的位數限制了這類指令所能表達的立即數的范圍。
?2,直接尋址
? ? ? ? 直接尋址的特點是指令中的形式地址A就是操作數的實際地址EA。即:
EA=A
優點:尋找操作數比較簡單,不需要專門計算操作數的地址,在指令執行階段對主存只訪問一次。
缺點:A的范圍限制了操作數的尋址范圍,而且必須修改A的值,才能修改操作數的地址。
3,隱含尋址
? ? ? ? 隱含尋址是指指令字中不明顯的給出操作數的地址,其操作數的地址隱含在操作碼或者某個寄存器中。例如一地址格式的加法指令只給出一個操作數的地址,另一個操作數隱含在累加器ACC中,這些ACC就成了另一個操作數的地址。
如圖所示:?
優點:在指令字中少了一個地址,因此,這種方式的指令有利于縮短指令字長。
4,間接尋址?
? ? ? ? 形式地址不直接指出操作數的地址,而是指出操作數有效地址所在的存儲單元地址,也就是說有效地址是由形式地址間接提供的,即為間接尋址。
優點:1,擴大了操作數的尋址范圍。
? ? ? ? ? ?2,便于編制程序。例如間接尋址可以很方便地完成子程序的返回。如下圖
?缺點:是指令在執行階段需要訪問兩次內存(一次間接尋址)或多次(多次間接尋址),使執行時間延長。
5,寄存器尋址
在寄存器的指令中,地址碼字段直接指出了寄存器的編號,即EA=Ri.
如下圖示:
優點:操作數不在主存中,而在寄存器中,故寄存器尋址在指令執行階段無需訪存,減少執行時間。地址字段只需指明寄存器編號(寄存器數量有限),故指令字較短,節省了存儲空間。
6,寄存器間接尋址
????????寄存器尋址指令中的Ri的內容不是操作數,而是操作數所處在主存單元的地址號,即有效地址EA=(Ri),與寄存器尋址相比指令的執行階段還需要訪存,但他比間接尋址少訪存一次。
?
?7,基址尋址
基址尋址需設基址寄存器BR,其操作數的有效地址EA等于指令字中的形式地址與基址寄存器中的內容相加,即
EA=A+(BR)
?基址寄存器可采用隱式和顯式兩種。
????????隱式:在計算機內專門設有一個基址寄存器BR,不必指明該基址寄存器,只需有指令的尋址特征反映出基址尋址即可。
? ? ? ? 顯式:在一組通用寄存器里,由用戶明確指出那個寄存器用作基址寄存器,存放基地址。
基址尋址主要用于為程序或數據分配存儲空間,故基址寄存器的內容通常由操作系統或管理程序確定,在程序的執行過程中其值是不可變的,而指令字中的A是可變的。
????????優點:基址尋址可以擴大尋址范圍,寄存器位數可以大于形式地址A的位數。
8,變址尋址
變址尋址與基址尋址極為相似,其有效地址EA等于形式地址A與變址寄存器IX的內容相加之和,
即:EA=A+(IX)
?在變址尋址中,變址寄存器的內容是用戶設定的,而指令之中的A 是不可改變的。
變址寄存器主要用于處理數組問題,在數組處理過程中可設定A為數組的首地址,不斷改變變址寄存器IX的內容,便可容易形成數組中任意數據的地址,特別適合變址循環程序。
9,相對尋址
相對尋址的有效地址是將程序計數器PC的內容(當前指令的地址)與指令中的形式地址A相加之和,即:EA=(PC)+A
相對尋址常被用于轉移類指令,轉以后的目標地址與當前指令有一段距離,稱為相對位移量,他有指令字的形式地址A給出,故又稱A 為位移量。位移量A可正可負,通常用補碼表示。?
? ? ?建議收藏,以便今后學習方便
?文章部分圖片引用《計算機組成原理》——唐朔飛
總結
以上是生活随笔為你收集整理的指令系统寻址方式——指令寻址,数据寻址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 荣事达JZT-RM626燃气灶如何调节燃
- 下一篇: 为什么用电汇而不转账