尋址方式


操作數類型數據存放

存放方式

數據存放

三個字長:

機器字長:CPU一次能處理的二進制數據的位數。

指令字長:一個指令中包含二進制代碼的位數。

存儲字長:一個存儲單元存儲二進制代碼的長度。

注:這些長度都是字節的整數倍

一般等於內部寄存器的位數。

單字長指令:指令長度=機器字長

半字長指令、雙字長指令

通常一次並行取出一個存儲字,按字節尋址時,通過移位截取存儲字中的一個字節。

存放方式

一:

二:

三:折衷???????

尋址方式

尋找指令或操作數的有效方式

確定本條指令操作數地址

下一條欲執行指令指令地址

尋址方式:

  1. 指令尋址
  2. 數據尋址

指令尋址

始終由程序計數器PC給出

順序尋址

(PC)+1->PC

永遠都是+1?不一定,假設內存單元按照字節(8Bit)進行編址單位,如果指令是32位(4個字節)的,這時候就不是+1了,是+4。64位就+8

跳躍尋址

由轉移指令指出

例如:

數據尋址

確定本條指令的數據地址,

如何在指令當中表示一個操作數的地址

**形式地址 **指令字中的地址

**有效地址 **操作數的真實地址

約定 指令字長 = 存儲字長 = 機器字長

隱含尋址

不明顯地給出操作數的地址,而是在指令中隱含着操作數的地址

優點:有利於縮短指令字長。

缺點:需增加存儲操作數或隱含地址的硬件

了解即可

立即尋址

指令特征#

直接尋址

間接尋址

寄存器尋址

寄存器間接尋址

image-20200817170153143

小節回顧

偏移尋址

基址尋址

將CPU中基址寄存器(BR)的內容加上指令格式中的形式地址A而形成操作數的有效地址,即EA=(BR)+A

面向操作系統

隱式的(專門就有的寄存器)

有利於多道程序設計

image-20200819164309665

編制浮動程序。

變址尋址

有效地址EA等於指令字中的形式地址A與編址寄存器IX的內容相加之和,即EA=(IX)+A,其中IX為變址寄存器(專用),也可用通用寄存器做編址寄存器。

所有過程和基址尋址差不多。

但是是面向用戶的

適合編寫循環程序

基址尋址+變址尋址

相對尋址

把程序計數器PC的內容就加上指令格式中的形式地址A而形成操作數有效地之,即EA=(PC)+A,其中A是相對於當前指令地址的位移量,可正可負,補碼表示。

相對尋址舉例:

堆棧尋址(不是很重要)

兩個操作數都可以隱含起來

操作數存放在堆棧中,隱含使用堆棧指針(SP)作為操作數地址。

CISC和RISC

CISC: Complex Instruction Set Computer

一條指令完成一個復雜的基本功能

代表:x86架構,主要用於筆記本、台式機

RISC: Reduced Instruction Set Computer

精簡指令集

一條指令完成一個基本“動作”;多條指令組合完成一個復雜的基本功能。

代表:ARM架構,主要用於手機、平板等。

例如單詞輸出

小結


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM