1. 求單片機大神和微機原理大神:什麼是存儲器的物理地址如何計算物理地址
微機原理,CPU 具有 20 條地址線。
由這 20 位二進制數,指定的存儲器地址就是物理地址。
單片機,一般,並沒有物理地址的說法。
2. 操作系統的物理地址怎麼計算
其實第一條回答是正確的,我在這里為網友們追加一個解釋:
按照書上定義,在頁式存儲系統中,
絕對地址 = 塊號 x塊長 +業內偏移地址。
相對地址 由一段內存的高bit位作為頁號,低bit位作為頁內偏移地址
那重要的一點是,如果找出這三個變數。且看該題:
每頁1KB,說明了,業內偏移地址的范圍是0~1023byte 換句話說,頁內偏移地址佔16bit中的 0-9bit, 那按照相對地址的概念,那10-15 bit就該為頁號地址了。
那麼, 0x0A5C <=> 0000 1010 0101 1100
則前面 0000 10 這6個bit 表示頁號,換算成十進制為 2,也即是頁號為2,再按照頁表推算,即物理塊號就為4, 而4再換算成16進制,即是0001 00;而後面 10 0101 1100 這10個bit位,理所當然的為頁內偏移地址了。 則物理地址就該為0001 00 (占據10-15bit)+ 10 0101 1100 (占據0-9bit) = 0001 0010 0101 1100
他的所謂憑接,其實就是讓0001 00 佔用bit 10-15.
3. 微機原理求物理地址的問題,那個乘16的含義是左移4位,那計算的時候應該怎麼算
物理地址的計算方法是段地址左移一位十六進制數,再加上偏移地址。就像你這個題目中的演算法就是:12000H+0FF00H=21F00H。物理地址的計算方法都是如此。只要把相應的段地址左移一位再相加就可以。但有時候需要判斷它對應的段地址。
這種題目相對來說是很簡單的,只要把題目中給出的十六進制段地址左移一位,最後一位補零就可以的。
再如CS=2100H,IP=02100H。則物理地址為:2A000H+02100H=2C100H
希望對你有幫助!
4. 8086如何計算的物理地址
8086中含有存儲器。存儲器中每一個單元的地址可以用兩種方法表示:
1.邏輯地址:其表達形式為「段地址:段內偏移地址」。
2.物理地址:CPU與存儲器進行數據交換時在地址匯流排上提供的20位地址信息稱為物理地址。
物理地址=段地址×10H+段內偏移量
註:H為16進制,CS :代碼段寄存器,
5. 電腦物理地址怎麼查(圖文)
通俗來講,物理地址就是你的電腦地址,它比IP地址更加唯一,一般網管是用來綁定固定IP,那麼電腦的物理地址怎麼查呢?6. 微機原理,已知內存單元的偏移地址求物理地址!
「(DS)=0C00EH 是20位的 」
最高的一位大於9,要在前面加0,用來區分是數字還是一個語句標識符。
其實真實的DS 是C00E 二進制是 1100 0000 0000 1110
偏移地址就是IP,CS+IP左移4位
也就是 z是在這里用的佔位的符號。寫的時候不要把*寫進去。
zzzzzz1100 0000 0000 1110
0010 0000 1100 0000
-----------------------------
0010 1100 1100 0000 1110
物理2cc0e
zc00e
20c0
----------
2cc0e
7. 關於微機中物理地址的計算
首先你要明白二進制,用十進制來做例子,左移一位,右邊補零,相當於乘以十,左移兩位,相當於乘以10的兩次方,即一百,比如241,左移兩位就是24100,就是乘一百。同理,二進制左移一位,相當於乘移2,左移四位,就是2的四次方。
8. 什麼是邏輯地址什麼是物理地址在實模式下,如何求存儲器的物理地址假設一個
邏輯地址和物理地址的區別是:
邏輯地址(Logical Address) 是指由程序產生的與段相關的偏移地址部分。例如,你在進行C語言指針編程中,可以讀取指針變數本身值(&操作),實際上這個值就是邏輯地址,它是相對於你當前進程數據段的地址,不和絕對物理地址相干。只有在Intel實模式下,邏輯地址才和物理地址相等(因為實模式沒有分段或分頁機制,Cpu不進行自動地址轉換);邏輯也就是在Intel 保護模式下程序執行代碼段限長內的偏移地址(假定代碼段、數據段如果完全一樣)。應用程序員僅需與邏輯地址打交道,而分段和分頁機制對您來說是完全透明的,僅由系統編程人員涉及。應用程序員雖然自己可以直接操作內存,那也只能在操作系統給你分配的內存段操作。
物理地址(Physical Address) 是指出現在CPU外部地址匯流排上的定址物理內存的地址信號,是地址變換的最終結果地址。如果啟用了分頁機制,那麼線性地址會使用頁目錄和頁表中的項變換成物理地址。如果沒有啟用分頁機制,那麼線性地址就直接成為物理地址了。
虛擬內存(Virtual Memory)是指計算機呈現出要比實際擁有的內存大得多的內存量。因此它允許程序員編制並運行比實際系統擁有的內存大得多的程序。這使得許多大型項目也能夠在具有有限內存資源的系統上實現。一個很恰當的比喻是:你不需要很長的軌道就可以讓一列火車從上海開到北京。你只需要足夠長的鐵軌(比如說3公里)就可以完成這個任務。採取的方法是把後面的鐵軌立刻鋪到火車的前面,只要你的操作足夠快並能滿足要求,列車就能象在一條完整的軌道上運行。這也就是虛擬內存管理需要完成的任務。在Linux 0.11內核中,給每個程序(進程)都劃分了總容量為64MB的虛擬內存空間。因此程序的邏輯地址范圍是0x0000000到0x4000000。有時我們也把邏輯地址稱為虛擬地址。因為與虛擬內存空間的概念類似,邏輯地址也是與實際物理內存容量無關的。 邏輯地址與物理地址的「差距」是0xC0000000,是由於虛擬地址->線性地址->物理地址映射正好差這個值。這個值是由操作系統指定的。
9. 如何求得本機的物理地址、IP地址以及計算機名稱
在命令行窗口中輸入ipconfig/all
Physical Address就是物理地址,IP Address就是IP地址
輸入systeminfo
主機名就是計算機名
10. 微機原理尋地址方式和求物理地址。
mov es:[si], ax 中目的操作數為 寄存器間接定址,其物理地址=es*16(即左移4位)+si=20000h+0200h=20200h 。
從已有條件看,ax 為源操作數,但其 未知。