【學習計算機組成原理】尋址技術(少話,多圖,生動)

尋址,通俗講就是尋找地址

比喻:給你一個房間號F1003,讓你找這個房間。如果我們第一次來到一個新校園,好懵逼啊,這怎麼找,F代表什麼,1003難道是第一千零三個房間嗎?或者F1是某棟樓的簡稱,003是第三個房間?
怎麼才能快速找到這個房間呢?
(1)如果規定是,F表示輔助樓,第一個數代表樓層,後3位數是房間編號。
(2)然後給我一條去往輔助樓的路線,告訴我樓梯在樓宇中的位置。
OK,沒問題,很快找到這個小房間。這裏第一點對應的術語是編址方式,第二點是尋址方式。

編址方式

下面每個格子代表一位,一行有16個格子,代表機器字長爲16
位編址
一位一個地址
在這裏插入圖片描述
字節編址
一個字節(8位)一個地址
在這裏插入圖片描述
字編址
一個字(字長16)一個地址
在這裏插入圖片描述
在計算機中最基本的單位是字節,位地址中的大多數地址都不會使用,造成大量浪費。
對於處理字符,每個字符佔一個字節,字節編址比較好。
對於處理數字,數字一般佔用2個(short)或4個(int、float)字節,字編址比較好。

尋址方式

對於尋找的目標不同,尋址分爲指令尋址和數據尋址
如果尋找的是將要執行的指令的地址,就是指令尋址
如果尋找的是操作數的地址,就是數據尋址

新瓶裝舊酒! ----李彥宏

數據尋址

立即尋址
簡單粗暴,不用去找數了,數就在指令裏。但仍然得根據操作碼去找具體的操作。
在這裏插入圖片描述
寄存器尋址
根據寄存器的編號,去指定的寄存器取數,速度很快。
在這裏插入圖片描述
直接尋址
根據主存地址去主存中找操作數
在這裏插入圖片描述
間接尋址
對地址進行分類,如果一個地址指向的是地址,那麼稱它爲間接地址;如果指向的是操作數,那麼稱它爲有效地址
主存地址可以指向間接地址或有效地址,間接地址可以指向間接地址或有效地址
在這裏插入圖片描述
爲了區分是間接地址還是有效地址,用存儲單元的最高位來分辨
在這裏插入圖片描述
寄存器間接尋址
寄存器2中存放的是有效地址
在這裏插入圖片描述
變址尋址
將寄存器中的變址值(變量)與形式地址(常量)相加,得到有效地址
在這裏插入圖片描述
基址尋址
和變址尋址類似
將寄存器中的基址值(常量)與位移量(變量)相加,得到有效地址
位移量可正可負
在這裏插入圖片描述
相對尋址
將程序計數器中的指令地址(變量)與位移量(變量)相加,得到有效地址
在這裏插入圖片描述
頁面尋址
將地址高n位相同的主存單元分爲一組,每組稱爲1個頁面
在這裏插入圖片描述
有效地址分成兩部分,一部分是頁面地址,用於找到對應的頁;另一部分是頁內地址,用於找到頁中的主存單元
在這裏插入圖片描述
根據頁面地址的來源,頁面尋址可分爲3種方式

  • 基頁尋址(零頁尋址):頁面地址固定全0
  • 當前頁尋址:頁面地址等於程序計數器(PC)的高几位
  • 頁寄存器尋址:頁面地址取自寄存器

指令中的多個地址碼的尋址方式可不同


指令尋址

順序尋址
不用幹預,自動按順序往下執行。這個指令的順序保存在程序計數器(PC)中
在這裏插入圖片描述
跳躍尋址(同上)

  1. 直接尋址
    在這裏插入圖片描述
  2. 相對尋址
    在這裏插入圖片描述
  3. 間接尋址
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章