基本介紹
- 中文名:二進制地址
- 外文名:binary address
- 性質:CPU中相關術語
- 作用:記憶體晶片級的單元定址
簡介,不對齊的定址,二進制地址作用,計算方法,與邏輯地址的關係,
簡介
不對齊的定址
根據計算機體系的不同,對記憶體的不對齊的訪問對計算機的性能可能會有所損害。例如,像Intel 8086這種數據匯流排為16位的計算機,對偶數地址的訪問會更有效率。在那種情況下,獲取一個16位的值只要讀一次記憶體以及在數據匯流排上傳送一次數據。顯然,如果那16位的值儲存在奇數地址上,處理器實際上要讀兩次記憶體,即,一次用於讀存儲在低地址的部分,另一次讀存儲在高地址的部分;兩次都要把讀到的數據丟棄一半。
二進制地址作用
和ip地址類似,每一個電腦都有一個ip,但並不是一個,是可以通過設定改變的。一個電腦網卡對應一個物理地址所以對一台計算機來說,物理地址是它獨立的網路標誌,是無法改變的。這樣,如果一台電腦訪上網,網站上會記下你的IP位址已經物理地址,但是IP位址是活的,但是物理地址是死的,因此有些網站做一些投票,等活動的時候之所以能讓一台電腦之能投一次,就是它記住了地址,如果更換他就會當作其他電腦來處理 。還有在校園網,任何一個區域網路中的用戶在上網時,做出了不符合規定的上網行為(比如:在論壇里亂講、惡意攻擊網站等),網路管理員可以迅速定位到做出這些行為的客戶端(也就是那台機器的物理地址)。
計算方法
在實地址方式下,二進制地址是通過段地址乘以16加上偏移地址得到的。而16位的段地址乘以16等同於左移4位二進制位,這樣變成20位的段基地址,最後段基地址加上段內偏移地址即可得到物理地址。
20位物理地址計算方法如下:
與邏輯地址的關係
只有在Intel實模式下,邏輯地址才和二進制地址相等(因為實模式沒有分段或分頁機制,CPU不進行自動地址轉換);邏輯也就是在Intel 保護模式下程式執行代碼段限長內的偏移地址(假定代碼段、數據段如果完全一樣)。應用程式員僅需與邏輯地址打交道,而分段和分頁機制對您來說是完全透明的,僅由系統編程人員涉及。應用程式員雖然自己可以直接操作記憶體,那也只能在作業系統給你分配的記憶體段操作。邏輯地址與二進制地址的“差距”是0xC0000000,是由於虛擬地址->線性地址->二進制地址映射正好差這個值。這個值是由作業系統指定的。