二進制地址

二進制地址

在計算機科學中,二進制地址,也叫實地址(real address)、物理地址(英語:physical address),它是在地址匯流排上,以電子形式存在的,使得數據匯流排可以訪問主存的某個特定存儲單元的記憶體地址。在存儲器里以位元組為單位存儲信息,為正確地存放或取得信息,每一個位元組單元給以一個獨立的存儲器地址。

簡介

在和虛擬記憶體的計算機中,二進制地址這個術語多用於區分虛擬地址。尤其是在使用記憶體管理單元(MMU)轉換記憶體地址的計算機中,虛擬和物理地址分別指在經MMU轉換之前和之後的地址。

在計算機網路中,二進制地址有時又是MAC地址的同義詞。這個地址實際上是用於數據鏈路層,而不是如它名字所指的物理層上的。

地址從0開始編號,順序地每次加1,因此存儲器的物理地址空間是呈線性增長的。它是用二進制數來表示的,是無符號整數,書寫格式為十六進制數。

它是在CPU外部地址匯流排上的定址物理記憶體的地址信號,是地址變換的最終結果。用於記憶體晶片級的單元定址,與處理器和CPU連線的地址匯流排相對應。

不對齊的定址

根據計算機體系的不同,對記憶體的不對齊的訪問對計算機的性能可能會有所損害。例如,像Intel 8086這種數據匯流排為16位的計算機,對偶數地址的訪問會更有效率。在那種情況下,獲取一個16位的值只要讀一次記憶體以及在數據匯流排上傳送一次數據。顯然,如果那16位的值儲存在奇數地址上,處理器實際上要讀兩次記憶體,即,一次用於讀存儲在低地址的部分,另一次讀存儲在高地址的部分;兩次都要把讀到的數據丟棄一半。

二進制地址作用

和ip地址類似,每一個電腦都有一個ip,但並不是一個,是可以通過設定改變的。一個電腦網卡對應一個物理地址所以對一台計算機來說,物理地址是它獨立的網路標誌,是無法改變的。這樣,如果一台電腦訪上網,網站上會記下你的IP位址已經物理地址,但是IP位址是活的,但是物理地址是死的,因此有些網站做一些投票,等活動的時候之所以能讓一台電腦之能投一次,就是它記住了地址,如果更換他就會當作其他電腦來處理 。還有在校園網,任何一個區域網路中的用戶在上網時,做出了不符合規定的上網行為(比如:在論壇里亂講、惡意攻擊網站等),網路管理員可以迅速定位到做出這些行為的客戶端(也就是那台機器的物理地址)。

計算方法

在實地址方式下,二進制地址是通過段地址乘以16加上偏移地址得到的。而16位的段地址乘以16等同於左移4位二進制位,這樣變成20位的段基地址,最後段基地址加上段內偏移地址即可得到物理地址。

20位物理地址計算方法如下:

物理地址=段地址*16d+偏移地址

與邏輯地址的關係

只有在Intel實模式下,邏輯地址才和二進制地址相等(因為實模式沒有分段或分頁機制,CPU不進行自動地址轉換);邏輯也就是在Intel 保護模式下程式執行代碼段限長內的偏移地址(假定代碼段、數據段如果完全一樣)。應用程式員僅需與邏輯地址打交道,而分段和分頁機制對您來說是完全透明的,僅由系統編程人員涉及。應用程式員雖然自己可以直接操作記憶體,那也只能在作業系統給你分配的記憶體段操作。邏輯地址與二進制地址的“差距”是0xC0000000,是由於虛擬地址->線性地址->二進制地址映射正好差這個值。這個值是由作業系統指定的。

相關詞條

熱門詞條

聯絡我們