定址技術

定址技術

定址技術是指尋找數據及其它信息的地址的技術,它是軟體與硬體的一個主要分界面。定址技術要研究的主要內容包括編址方式、定址方式和定位方式等。定址技術研究的對象主要有暫存器、主存儲器、堆疊和輸入輸出設備等,其中以面向主存儲器的定址技術為主要研究對象。

基本介紹

  • 中文名:定址技術
  • 外文名:addressing technique
  • 又稱:名字系統
概述,分類,主要研究內容,編址方式,定址方式,定位方式,

概述

技術,也就是名字系統(Domain Name System,DNS)是傳統網際網路Internet的核心技術之一。DNS創建了一種用字元(主要是數字、字母)與網際網路上的伺服器地址(IP位址)相互對應的解析關係,這種對應關係通常稱作“域名解析”,可以使得網際網路上的資源(站點)更容易記憶和傳播。域名(Domain Name)就是網際網路上的定址服務。如新浪網的IP位址是202.108.33.32,而新浪網註冊了域名sina.com後,其訪問的地址就可以表示為www.sina.com了。
10年前,我們現在所熟知的傳統網際網路正是由於域名技術的誕生才得到了爆炸式發展:最初,人們是直接採用IP位址來完成網路資源標識和定址的。但是IP位址一長串的數字,不僅枯燥而且抽象,在記憶上也很不方便。那時的網際網路只是專業人士的特有名詞。這種情況一直持續到域名系統的誕生,用一個形象的英文符號代替繁瑣的IP位址,從而引爆了傳統網際網路的春天。至今,我們所熟悉的sina、sohu、taobao等等都是通過域名定址技術,展現在我們每一個人眼前。然而,DNS只能同時為一個域名解析到一個IP位址或URL地址,而且域名的所有者也只能有一個。這樣就保證我們每次訪問一個網址的時候,只會看到唯一的一個對應的網站。
定址技術,在計算機體系結構中,設計通用暫存器型指令結構時,用來指明指令中的運算元是一個常數,一個暫存器運算元或者是一個存儲器運算元。

分類

定址可以分為數據定址和指令定址。尋找運算元的地址稱為數據定址,數據定址方式較 多,其最終目的都是尋找所需要的運算元。尋找下一條將要執行的指令地址稱為指令定址, 指令定址比較簡單,它又可以細分為順序定址和跳躍定址。
順序定址可通過程式計數器 PC 加 1,自動形成下一條指令的地址;跳躍定址則需要通過 程式轉移類指令實現。
跳躍定址的轉移地址形成方式有三種:直接(絕對)、相對和間接定址,它與下面介紹 的數據定址方式中的直接、相對和間接定址是相同的,只不過尋找到的不是運算元的有效地 址而是轉移的有效地址而已。

主要研究內容

定址技術主要研究內容有編址方式、定址方式、定位方式。主要研究對象為暫存器、主存儲器、堆疊、輸入輸出設備。

編址方式

一、編址方式指對各種存儲設備進行編碼的方法。主要內容包括編址單位、零地址空間個數、並行存儲器編址技術、輸入輸出設備的非線性編址技術。
1.常用的編址單位有字編址、位元組編址、位編址。字編址方式是最簡單、容易實現的一種。每個編址單位與設備的訪問單位一致,每取完一條指令,程式計數器加1,每從主存儲器中讀完一個數據,地址計數器加1。優點是容易實現、使用簡單;缺點是沒有提供對非數值運算的支持。為了提供對非數值運算的支持,往往使用位元組編址或位編址技術,但在這兩種編址技術中,不同的信息存儲方式有不同主存儲器利用率。
2.在計算機中需要進行編址的設備主要有通用暫存器、主存儲器、輸入輸出設備。由於三種設備採用的定址技術有較大的區別,可以對這三種分別進行編址,即每種設備都有自己的零地址空間(即三個零地址空間)。也可以對通用暫存器獨立編址,而對主存儲器和輸入輸出設備統一編址(即兩個零地址空間)。也可以對這三種設備進行統一編址,地址最底端分配給通用暫存器,最高端分配給輸入輸出設備,中間地址分配給主存儲器(即一個零地址空間)。另外,堆疊不需要編址,Cache也不需要編址。
3.對I/O設備的接口暫存器通常有三種不同的編址方法:1)給每台設備分配一個地址,這時需要根據指令中的操作碼來識別I/O設備上的不同暫存器;2)給每台設備分配兩個地址,一個給數據暫存器,一個給狀態暫存器或控制暫存器;3)在主存儲器和I/O設備統一編制的計算機中,往往根據不同的需要給I/O設備的有關暫存器分配多個地址。
4.一個主存儲器通常由多個獨立的存儲模組(例如用兩塊256M的記憶體條組成512M的主存)組成,對於這些模組往往有兩種不同的編址方式:1)如果只是簡單的擴大主存儲器容量,可以使用地址碼高位交叉編址方式,地址碼高位表示不同的存儲體,而低位表示每個存儲體內的地址,這種方式要求每個存儲模組有獨立的地址暫存器、地址解碼器、驅動電路、放大電路、讀寫控制電路、數據暫存器等控制部件,甚至要求存儲模組有校驗電路、高速緩衝部件;如果要求提高存儲其訪問速度,則可以使用地址碼低位交叉編址方式,低位部分表示不同的存儲模組,而高位部分表示不同存儲模組的內部地址,不同的存儲模組採用流水線方式工作而組成一個並行存儲器。

定址方式

二、定址方式主要指尋找運算元及數據存放單元的方法。
1.立即數定址方式中,直接在指令中給出運算元,執行速度快,只能用於元運算元定址。
2.暫存器定址。指令在執行過程中所需要的運算元來源於暫存器,運算結果也寫回到暫存器。
3.主存儲器定址又分為直接定址方式、間接定址方式和變址定址方式。直接定址方式指在指令中直接給出參與運算的運算元及運算結果的主存儲器地址(有效地址),需要較長的地址碼,不利用實現程式循環或數組處理,也不利於作業系統的作業調度;間接定址方式中在指令中給出運算元的地址的地址,可以兩次或更多次訪問主存儲器以獲得運算元;在變址定址方式中,設定一個或多個變址暫存器(長度由主存儲器的定址空間決定,也可以使用通用暫存器作為變址暫存器)用來存放數組的基地址。

定位方式

三、定位方式指把指令和數據的邏輯地址轉換成主存儲器的物理地址的方式。
1.直接定位方式中,需要程式設計師編寫程式式或貶抑程式編譯源程式時確切知道該程式應該占用的主存物理空間,可以保證主存物理地址不相互重疊。
2.靜態定位由專門設計的定位裝入程式完成,並要求程式本身可以重定位。靜態定位在程式裝入主存儲器的過程中一次性完成,程式一旦裝入主存儲器,就不能更改其在主存儲器中的物理地址。這種方式中,多個用戶不能共享主存儲器中的同一段程式代碼。
3.在硬體支持下,動態定位在程式實際執行時,才由硬體形成主存物理地址,在程式執行之前,不必把整個程式裝入主存,一個程式也可以被分配在多個不連續的主存物理空間,有利於提高準儲器的利用率;並且多個程式可以共享主存中的同一段程式代碼;動態定位方式支持虛擬存儲器

相關詞條

熱門詞條

聯絡我們