邏輯地址和物理地址轉(zhuǎn)換步驟 把邏輯地址轉(zhuǎn)換成物理地址叫啥?
把邏輯地址轉(zhuǎn)換成物理地址叫啥?把邏輯地址改變?yōu)閮?nèi)存的物理地址的過程被稱重定位重定位那是把程序的邏輯地址空間變化成內(nèi)存中的不好算物理地址空間的過程,也就是說在然后取出時對目標(biāo)程序中指令和數(shù)據(jù)的修改過程。
把邏輯地址轉(zhuǎn)換成物理地址叫啥?
把邏輯地址改變?yōu)閮?nèi)存的物理地址的過程被稱重定位
重定位那是把程序的邏輯地址空間變化成內(nèi)存中的不好算物理地址空間的過程,也就是說在然后取出時對目標(biāo)程序中指令和數(shù)據(jù)的修改過程。他是實現(xiàn)多道程序在內(nèi)存中同樣的運(yùn)行的基礎(chǔ)。重定位有兩種,四個是動態(tài)重實現(xiàn)定位與動態(tài)和靜態(tài)重定位。
在8086中,邏輯地址,偏移地址,物理地址分別指的是什么?
存儲器中每一個單元的地址可以不用兩種方法它表示:1.邏輯地址:其表達(dá)形式為“段地址:段內(nèi)偏移地址”。
2.物理地址:CPU與存儲器通過數(shù)據(jù)交換時在地址總線上需要提供的20位地址信息稱作物理地址。
物理地址段地址×10H+段內(nèi)偏移量CPU三次一次性處理的數(shù)據(jù)是16位
20位物理地址怎么變成邏輯地址?
像現(xiàn)代內(nèi)存容量太大比如256M,而計算機(jī)的數(shù)據(jù)線并不一定只有一16位、32位或者64位(目前應(yīng)用到大多),他們所能他收集到的地址空間比較大只不過是2^16(64K)、2^32(4M)的或2^64(16T),所以我內(nèi)存通常不使用段頁式存儲.也就是將內(nèi)存空間組成若干段,或是若干頁,每段大小是數(shù)據(jù)線所能ftp連接到的最大空間.在內(nèi)存中的換算地址就是有所謂的“物理地址”,而邏輯地址應(yīng)該是邏輯段管理內(nèi)存而無法形成的.
例如在8086系統(tǒng)中,8086對外再連接建議使用一個20位的線性地址僅有可以確定一個存儲單元,也就是說:對于每個存儲器單元也有的一個同樣的20位地址,我們稱為該單元的物理地址或絕對地址.
8086在內(nèi)部結(jié)構(gòu)中和程序設(shè)計時常規(guī)邏輯段管理內(nèi)存,就自然形成了邏輯地址.它的表達(dá)形式為“段基地址:偏移地址”.
邏輯地址=段基地址:偏移地址
段基地址(Segment)——邏輯段在主存中的起始位置,全稱段地址.因此8086法律規(guī)定段又開始于模16地址,因此加逗號低4位0不顯式表達(dá),段基地址就可以不用16位數(shù)據(jù)可以表示.
偏移地址(Offset)——主存單元距離外段初始位置的偏移量(Displacement).導(dǎo)致標(biāo)準(zhǔn)限制每段不超過64KB,所以我偏移地址也是可以用16位數(shù)據(jù)可以表示.
那樣互成內(nèi)存單元就即有物理地址,又有邏輯地址.只不過請再注意,物理地址是外部再連接使用的、唯一的;而邏輯地址是內(nèi)部和編程在用的、當(dāng)然不同樣.
物理地址和邏輯地址可以不一起可以轉(zhuǎn)換.
將邏輯地址中的段地址左移4位,另外偏移地址就能得到20位物理地址.這里左移的4位是二進(jìn)制位;要是用十六進(jìn)制表達(dá)出地址那就是左移一位(可不知道為么,怎么復(fù)習(xí)數(shù)制內(nèi)容吧!還可不知道我想知道為什么,看管理工具吧!).左移4位還這個可以表達(dá)為乘以316,即:段地址×16+偏移地址.
同一個物理地址可以對應(yīng)多個邏輯地址形式.所以物理地址裝換為邏輯地址,要應(yīng)明確段基地址或偏移地址,然后同上原則確認(rèn)另一個地址.
邏輯地址1460H:0100H1380H:0F00H
物理地址14700H
索性,對此主存14700H單元,我們可以詳細(xì)解釋為在1460H(或1380H)段的100H(或F00H)單元,或則說主存1460H:0100H(或1380H:0F00H)單元.
1年前