地址暫存器

地址暫存器

用來保存當前CPU所訪問的記憶體單元的地址。由於在記憶體和CPU之間存在著操作速度上的差別,所以必須使用地址暫存器來保持地址信息,直到記憶體的讀/寫操作完成為止 。

基本介紹

  • 中文名:地址暫存器
  • 外文名:Address Register
  • 縮寫:AR
  • 定義:保存當前CPU所訪問記憶體單元地址
簡介,結構,特點,8086地址暫存器,

簡介

地址暫存器(Address Register,AR)用來保存當前CPU所訪問的記憶體單元的地址。由於在記憶體和CPU之間存在著操作速度上的差別,所以必須使用地址暫存器來保持地址信息,直到記憶體的讀/寫操作完成為止。
地址暫存器(AR)是用來保存當前CPU所要訪問的記憶體單元或I/O設備的地址。由於記憶體和CPU之間存在著速度上的差別,所以必須使用地址暫存器來保存地址信息,直到記憶體讀/寫操作完成為止。數據暫存器DR用來暫存微處理器與存儲器或輸人/輸出接口電路之間待傳送的數據。地址暫存器AR和數據暫存器DR在微處理器的內部匯流排和外部匯流排之間,還起著隔離和緩衝的作用。

結構

地址暫存器採用單純的暫存器結構。在對主存或I/O連線埠進行訪問時,地址暫存器存放當前訪問的地址,數據緩衝器實現數據的緩衝。CPU通過修改地址暫存器中的值,就可訪問不同的存儲器單元及不同的I/O連線埠。
地址暫存器可用LPM庫中的元件lpm_latch鎖存器來完成。圖是地址暫存器的結構圖。地址暫存器的數據寬度應當與程式計數器的數據寬度一致。data[7…0]是地址暫存器的數據輸入端,q[7…0]是地址暫存器的數據輸出端,gate是地址鎖存器的控制端。gate的作用是當鎖存控制脈衝到來時,高電平時數據進入鎖存器,低電平時鎖存數據,保持輸出數據穩定不變。

特點

當CPU和記憶體進行信息交換,即CPU向記憶體存/取數據時,或者CPU從記憶體中讀出指令時,都要使用地址暫存器和數據緩衝暫存器。同樣,如果我們把外圍設備的設備地址作為像記憶體的地址單元那樣來看待,那么,當CPU和外圍設備交換信息時,我們同樣使用 地址暫存器和數據緩衝暫存器。
地址暫存器的結構和數據緩衝暫存器、指令暫存器一樣,通常使用單純的暫存器結構。信息的存入一般採用電位-脈衝方式,即電位輸入端對應數據信息位,脈衝輸入端對應控制信號,在控制信號作用下,瞬時地將信息打入暫存器。

8086地址暫存器

8086有8個16比特的暫存器,包括棧暫存器SP與BP,但不包括指令暫存器IP、控制暫存器FLAGS以及四個段暫存器。AX, BX, CX, DX,這四個暫存器可以按照位元組訪問;但BP, SI, DI, SP,這四個地址暫存器只能按照16位寬訪問。
8086以8080和8085(它與8080有彙編語言上的原始碼兼容性)的設計為基礎,擁有類似的暫存器集合,但是擴充為16位。匯流排接口單元(Bus Interface Unit)通過6位元組預存(prefetch)的貯列(queue)將指令送給運行單元(Execution Unit),所以取指令和運行是同步的-一種流水線的原始形式(8086指令長度變化從1到6位元組)。
8086有四個完全一樣的16位暫存器,但也能夠當作八個8位暫存器來訪問;以及四個16位變址暫存器(包含堆疊索引)。數據暫存器通常由指令隱含地使用,針對暫存值需要複雜的暫存器配置。它提供64K 8位的輸出輸入(或32K 16位)連線埠,以及固定的矢量中斷。大部分的指令只能夠訪問一個存儲器地址,所以其中一個運算符必須是一個暫存器。運算結果會存儲在運算符中的一個。
64-bit地址暫存器可存儲2個地址,存儲器的基本單位是Byte,換言之最大支持16EiB存儲器,1EiB則相等於1024GiB。但是,現在的64-bit CPU並沒有64位地址匯流排。

相關詞條

熱門詞條

聯絡我們