有效操作地址

有效操作地址

一個指令字(或一條指令)一般由兩部分組成:操作碼和運算元;運算元用來指明需進行某種操作的數據(包括輸入數據、運算元變數以及所產生結果)來自何處和將被送往何處,這一部分有時被稱為操作地址碼部分。有效操作地址即指向運算元的地址是有效的,沒有地址越界。這裡的操作地址可以是物理地址或虛擬地址。主要與定址方式有關。

簡介

在計算機中, 有效操作地址即指向運算元的地址是有效的。由於各種原因,有時操作地址是無效的,最常見的地址越界,操作地址不是超過進程或程式的地址空間,檢查地址是否越界一般採取越界檢查的方法。

越界檢查

在段表暫存器中放有段表長度信息;同樣,在段表中也為每個段設定有段長欄位。在進行存儲訪問時,首先將邏輯地址空間的段號與段表長度進行比較,如果段號等於或大於段表長度,將發出地址越界中斷信號;其次,還要檢查段內地址是否等於或大於段長,若大於段長,將產生地址越界中斷信號,從而保證了每個進程只能在自己的地址空間內運行。

定址方式

根據指令內容確定運算元地址的過程稱為定址。完善的定址方式可為用戶組織和使用數據提供方便。

①直接定址:指令地址域中表示的是運算元地址。

②間接定址:指令地址域中表示的是運算元地址的地址即指令地址碼對應的存儲單元所給出的是地址A,運算元據存放在地址A指示的主存單元內。有的計算機的指令可以多次間接定址,如A指示的主存單元記憶體放的是另一地址B,而運算元據存放在B指示的主存單元內,稱為多重間接定址。

③立即定址:指令地址域中表示的是運算元本身。

④變址定址:指令地址域中表示的是變址暫存器號i和位移值D。將指定的變址暫存器內容E與位移值D相加,其和E+D為運算元地址。許多計算機具有雙變址功能,即將兩個變址暫存器內容與位移值相加,得運算元地址。變址定址有利於數組操作和程式共用。同時,位移值長度可短於地址長度,因而指令長度可以縮短。

⑤相對定址:指令地址域中表示的是位移值D。程式計數器內容(即本條指令的地址)K與位移值D相加,得運算元地址K+D。當程式在主存儲器浮動時,相對定址能保持原有程式功能。 此外,還有自增定址、自減定址、組合定址等定址方式。定址方式可由操作碼確定,也可在地址域中設標誌,指明定址方式。

有關術語

邏輯地址

對程式設計師來說,數據的存放地址由符號決定的,故稱符號名地址,或者稱為名地址,而把源程式的地址空間叫做符號名地址空間或者名空間,它是從0號單元開始編址,並順序分配所有的符號名所對應的地址單元,所以它不是主存中的真實地址,故稱為相對地址、程式地址、或稱虛擬地址。

物理地址

在存儲器里以位元組為單位存儲信息,為正確地存放或取得信息,每一個位元組單元給以一個唯一的存儲器地址,稱為物理地址(Physical Address),又叫實際地址或絕對地址。

相關詞條

熱門詞條

聯絡我們