版權歸原作者所有,如有侵權,請聯(lián)系我們

[科普中國]-有效地址寄存器

科學百科
原創(chuàng)
科學百科為用戶提供權威科普內(nèi)容,打造知識科普陣地
收藏

簡介

有效地址寄存器是指用于存放操作數(shù)的有效地址(實際地址)的寄存器,主要與尋址方式有關。例如間接尋址方式中,寄存器中的地址就是有效地址,而在變址尋址方式和基址尋址方式中,寄存器中的地址要加上一個偏移地址才能得到有效地址。

有效地址有效地址(effective address,EA)是一16位無符號數(shù),表示操作數(shù)所在單元到段首的距離即邏輯地址的偏移地址。偏移地址就是計算機里的內(nèi)存分段后,在段內(nèi)某一地址相對于段首地址(段地址)的偏移量。如8086存儲系統(tǒng)中 20位的物理地址(就是數(shù)據(jù)存儲的實際地址)=16位的段基地址*16+16位的偏移量。

當操作數(shù)是存放在存儲器中時,存儲器的存儲單元的物理地址有兩部分組成。一部分是偏移地址;一部分是段地址。在8086/8088的各種尋址方式中,尋找存儲單元所需的偏移地址可由各種成分組成,稱為有效地址,用EA表示??梢酝ㄟ^存儲器尋址方式獲得有效地址。

有效地址可以由幾部分組成:基址寄存器內(nèi)容、變址寄存器內(nèi)容、比例因子和位移量。

寄存器概述寄存器(Register),是中央處理器內(nèi)的其中組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數(shù)據(jù)和地址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數(shù)器。在中央處理器的算術及邏輯部件中,包含的寄存器有累加器。

在計算機架構里,處理器中的寄存器是少量且速度快的計算機內(nèi)存,借由提供快速共同地訪問數(shù)值來加速計算機程序的運行:典型地說就是在已知時間點所作的之計算中間的數(shù)值。

寄存器是內(nèi)存層次結構中的最頂端,也是系統(tǒng)操作數(shù)據(jù)的最快速途徑。寄存器通常都是以他們可以保存的比特數(shù)量來估量,舉例來說,一個8位寄存器或32位寄存器。寄存器現(xiàn)在都以寄存器數(shù)組的方式來實現(xiàn),但是他們也可能使用單獨的觸發(fā)器、高速的核心內(nèi)存、薄膜內(nèi)存以及在數(shù)種機器上的其他方式來實現(xiàn)出來。

地址寄存器地址寄存器(AR)是用來保存當前CPU所要訪問的內(nèi)存單元或I/O設備的地址。由于內(nèi)存和CPU之間存在著速度上的差別,所以必須使用地址寄存器來保存地址信息,直到內(nèi)存讀/寫操作完成為止。數(shù)據(jù)寄存器DR用來暫存微處理器與存儲器或輸人/輸出接口電路之間待傳送的數(shù)據(jù)。地址寄存器AR和數(shù)據(jù)寄存器DR在微處理器的內(nèi)部總線和外部總線之間,還起著隔離和緩沖的作用。

地址寄存器采用單純的寄存器結構。在對主存或I/O端口進行訪問時,地址寄存器存放當前訪問的地址,數(shù)據(jù)緩沖器實現(xiàn)數(shù)據(jù)的緩沖。CPU通過修改地址寄存器中的值,就可訪問不同的存儲器單元及不同的I/O端口1。

地址寄存器可用LPM庫中的元件lpm_latch鎖存器來完成。圖是地址寄存器的結構圖。地址寄存器的數(shù)據(jù)寬度應當與程序計數(shù)器的數(shù)據(jù)寬度一致。data[7…0]是地址寄存器的數(shù)據(jù)輸入端,q[7…0]是地址寄存器的數(shù)據(jù)輸出端,gate是地址鎖存器的控制端。gate的作用是當鎖存控制脈沖到來時,高電平時數(shù)據(jù)進入鎖存器,低電平時鎖存數(shù)據(jù),保持輸出數(shù)據(jù)穩(wěn)定不變。

尋址方式尋址方式就是處理器根據(jù)指令中給出的地址信息來尋找物理地址的方式,是確定本條指令的數(shù)據(jù)地址以及下一條要執(zhí)行的指令地址的方法2。在存儲器中,操作數(shù)或指令字寫入或讀出的方式,有地址指定方式、相聯(lián)存儲方式和堆棧存取方式。幾乎所有的計算機,在內(nèi)存中都采用地址指定方式。當采用地址指定方式時,形成操作數(shù)或指令地址的方式稱為尋址方式。尋址方式分為兩類,即指令尋址方式和數(shù)據(jù)尋址方式,前者比較簡單,后者比較復雜。值得注意的是,在傳統(tǒng)方式設計的計算機中,內(nèi)存中指令的尋址與數(shù)據(jù)的尋址是交替進行的。