結構
地址寄存器采用單純的寄存器結構。在對主存或I/O端口進行訪問時,地址寄存器存放當前訪問的地址,數據緩沖器實現數據的緩沖。CPU通過修改地址寄存器中的值,就可訪問不同的存儲器單元及不同的I/O端口。
地址寄存器可用LPM庫中的元件lpm_latch鎖存器來完成。圖是地址寄存器的結構圖。地址寄存器的數據寬度應當與程序計數器的數據寬度一緻。data[7…0]是地址寄存器的數據輸入端,q[7…0]是地址寄存器的數據輸出端,gate是地址鎖存器的控制端。gate的作用是當鎖存控制脈沖到來時,高電平時數據進入鎖存器,低電平時鎖存數據,保持輸出數據穩定不變。
086地址寄存器
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位變址寄存器(包含堆棧索引)。數據暫存器通常由指令隐含地使用,針對暫存值需要複雜的暫存器配置。它提供64K8位的輸出輸入(或32K16位)端口,以及固定的矢量中斷。大部分的指令隻能夠訪問一個存儲器地址,所以其中一個運算符必須是一個暫存器。運算結果會存儲在運算符中的一個。
64-bit地址寄存器可存儲2個地址,存儲器的基本單位是Byte,換言之最大支持16EiB存儲器,1EiB則相等于1024GiB。但是,現在的64-bitCPU并沒有64位地址總線。



















