物理地址段地址
物理地址段地址
物理地址段地址是什么?先把段地址乘以16就等于把它向左移動(dòng)4位?學(xué)習(xí)啦小編整理了相關(guān)資料,下面大家跟著學(xué)習(xí)啦小編一起去了解一下吧。
物理地址段地址
為什么段地址要_6
因?yàn)閤86處理器地址總線(xiàn)是20位,最大管理1M內(nèi)存,對(duì)應(yīng)物理地址是00000H-fffffH而內(nèi)部數(shù)據(jù)總線(xiàn)、寄存器都是16位的,能表示的范圍為0000H-ffffH如何用16位寄存器表示20位?想到這樣一種方式:把兩個(gè)16位寄存器相加得到20位,于是便有了物理地址=段地址_6+偏移地址相當(dāng)于在16位地址后面加4個(gè)0,形成20位地址具體過(guò)程如下:段地址和偏移地址通過(guò)內(nèi)部總線(xiàn)傳入到地址加法器的部件; 地址加法器將兩個(gè)16位地址合并為一個(gè)20位的物理地址;
相當(dāng)于左移四位,然后地址相加,得到一個(gè)二十位的地址,因?yàn)楫?dāng)時(shí)地址線(xiàn)20根,寄存器最高16位,要尋址1M的空間,必須用段地址和偏移地址結(jié)合的辦法。
物理地址是20位的,段地址和偏移地址都是16位的。先把段地址乘以16就等于把它向左移動(dòng)4位,這樣它就變成了20位地址的高16位,再加上16位的偏移地址就是最終的物理地址。
我們看一個(gè)例子,一個(gè)數(shù)據(jù)為2H,二進(jìn)制形式為10B,對(duì)其進(jìn)行左移運(yùn)算:
觀察上面移位次數(shù)和各種形式數(shù)據(jù)的關(guān)系,我們可以發(fā)現(xiàn):
(1)一個(gè)數(shù)據(jù)的二進(jìn)制形式左移1位,相當(dāng)于該數(shù)據(jù)乘以2;
(2)一個(gè)數(shù)據(jù)的二進(jìn)制形式左移N位,相當(dāng)于該數(shù)據(jù)乘以2的N次方;
(3)地址加法器如何完成段地址_6的運(yùn)算?就是將二進(jìn)制形式存放的段地址左移4位。
進(jìn)一步思考,我們可看出:一個(gè)數(shù)據(jù)的十六進(jìn)制形式左移1位,相當(dāng)于乘以16;一個(gè)數(shù)據(jù)的十進(jìn)制形式左移1位,相當(dāng)于乘以10;一個(gè)X的進(jìn)制的數(shù)據(jù)左移1位,相當(dāng)于乘以X。發(fā)散思維。
“ 段地址_6+偏移地址=物理地址”的本質(zhì)含義是:CPU在訪問(wèn)內(nèi)存時(shí),用一個(gè)基礎(chǔ)地址(段地址_6)和一個(gè)相對(duì)于基礎(chǔ)地址的偏移地址相加,給出內(nèi)存單元的物理地址。
下面用兩個(gè)比喻來(lái)說(shuō)明“基礎(chǔ)地址+偏移地址 = 物理地址的思想”
比如說(shuō),學(xué)校、體育館、圖書(shū)館同在一條筆直的單行路上,學(xué)校位于起點(diǎn),你要去圖書(shū)館,問(wèn)我那里的地址,我可以用兩種方式告訴你圖書(shū)館的地址:
(1)從學(xué)校走2826m到圖書(shū)館。這2826m可以認(rèn)為是圖書(shū)館的物理地址。
(2)從學(xué)校走2000m到體育館,從體育館再走826m到圖書(shū)館。第一個(gè)距離2000m,是相對(duì)于起點(diǎn)的基礎(chǔ)地址,第二個(gè)距離826m是相對(duì)于基礎(chǔ)地址的偏移地址。
第二個(gè)比喻,比如,只能通過(guò)紙條來(lái)互相通信,你問(wèn)我圖書(shū)館的地址我只能將它寫(xiě)在紙上告訴你。顯然,我必須有一張可以容納4位數(shù)據(jù)的紙條,才能寫(xiě)下2826這個(gè)數(shù)據(jù)。
可不巧的是,我沒(méi)有能容納4位數(shù)據(jù)的紙條,僅有兩張可以容納3位數(shù)據(jù)的紙條。
這樣我只能這樣告訴你數(shù)據(jù)。
一個(gè)是200
一個(gè)是826
拿到這個(gè)數(shù)據(jù)后,你要做如下運(yùn)算處理:
200(段地址)_0+826(偏移地址) = 2826(物理地址)
8086CPU就是這樣一個(gè)只能提供兩張3位數(shù)據(jù)紙條的CPU。
看過(guò)“ 物理地址段地址”的人還看了:
1.物理地址和邏輯地址的區(qū)別
2.物理地址和虛擬地址
3.物理地址與虛擬地址映射
4.物理首地址是什么意思
5.物理首地址是什么