有效地址(Effective Address, EA)是一個在計算機體系結構中用於指定記憶體位置的概念,它可以是運算元所在單元到段首的距離,即邏輯地址的偏移地址。有效地址通常由基址暫存器內容、變址暫存器內容、比例因子和位移量組成。在8086和8088處理器中,有效地址是一個16位無符號數。在訪問記憶體時,有效地址與段地址結合使用,以形成物理地址。
在實模式和保護模式下,有效地址的計算方式不同。實模式下,邏輯地址是邏輯段地址左移4位加上有效地址。而在保護模式和IA-32e模式下,處理器使用段選擇子從描述符表中獲取段基地址,然後與有效地址相結合形成線性地址(也稱為虛擬地址)。
有效地址的概念在不同的上下文中可能有不同的含義。例如,在進程、執行緒、中斷處理器或核心組件的角度來看,有效地址是指可以用來執行存取操作的記憶體位置的值。這個值可以是暫存器的內容,也可以是變數或指針變數的地址。有效地址的具體意義取決於訪問記憶體的位置的運行實體。
總結來說,有效地址是一個用於指定記憶體位置的值,它可以是運算元所在單元到段首的距離,也可以是由暫存器內容、變數或指針變數確定的地址。在訪問記憶體時,有效地址與段地址結合使用,以形成物理地址或線性地址。