18禁网站免费,成年人黄色视频网站,熟妇高潮一区二区在线播放,国产精品高潮呻吟AV

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦知識(shí)大全 > 物理地址有什么用

物理地址有什么用

時(shí)間: 春健736 分享

物理地址有什么用

  有網(wǎng)友反饋說(shuō):我在閱讀一些電腦知識(shí)的讀本時(shí),常??吹?ldquo;物理地址”這個(gè)名詞,說(shuō)實(shí)話(huà),我只知道IP地址,從未聽(tīng)說(shuō)過(guò)物理地址。這個(gè)物理地址也象IP地址一樣重要嗎?相信很多用戶(hù)與這位網(wǎng)友是一樣不知道物理地址有什么用的,針對(duì)這個(gè)情況,學(xué)習(xí)啦小編特意分享了物理地址的一些知識(shí),希望可以幫助到大家。

  物理地址

  在存儲(chǔ)器里以字節(jié)為單位存儲(chǔ)信息,為正確地存放或取得信息,每一個(gè)字節(jié)單元給以一個(gè)唯一的存儲(chǔ)器地址,稱(chēng)為物理地址(Physical Address),又叫實(shí)際地址或絕對(duì)地址。

  在x86 CPU中,采用了段頁(yè)式內(nèi)存管理機(jī)制,分段和分頁(yè)模型。

  分頁(yè)(Paging)機(jī)制

  邏輯地址由頁(yè)號(hào)和偏移量組成。

  分段(Segment)機(jī)制

  分段允許程序員把存儲(chǔ)器看成由多個(gè)地址空間或段組成。程序和相關(guān)的數(shù)據(jù)被劃分成一組段(segment),不要求所有程序的所有段都有相同長(zhǎng)度。

  和分頁(yè)一樣,分段情況下的邏輯地址由兩部分組成:段號(hào)和偏移量。

  分段的優(yōu)點(diǎn):

  簡(jiǎn)化不斷增長(zhǎng)的數(shù)據(jù)結(jié)構(gòu)處理。

  允許程序獨(dú)立地改變或重新編譯,而不要求整個(gè)程序集合重新鏈接和重新加載。

  有助于進(jìn)程間的共享。

  有助于保護(hù)。由于一個(gè)段可以被構(gòu)造成包含一個(gè)明確定義的程序或數(shù)據(jù)集,程序員或系統(tǒng)管理員可以以一種方便的形式指定訪(fǎng)問(wèn)權(quán)限。

  虛擬內(nèi)存

  內(nèi)存的基本思想是程序、數(shù)據(jù)、堆棧的總大小可以超過(guò)可用物理內(nèi)存的大小,操作系統(tǒng)把程序當(dāng)前使用的那些部分保留在內(nèi)存中,而其他部分保存在磁盤(pán)上。

  虛擬內(nèi)存的實(shí)現(xiàn)基于分頁(yè)技術(shù)。

  虛擬內(nèi)存的優(yōu)點(diǎn):

  在內(nèi)存中可以同時(shí)運(yùn)行多個(gè)進(jìn)程

  進(jìn)程可以比內(nèi)存全部空間還大,不再局限于物理內(nèi)存大小

  內(nèi)存更高效地被使用

  2 邏輯地址到線(xiàn)性地址的映射過(guò)程

  X86 CPU邏輯地址到線(xiàn)性地址映射過(guò)程如下圖:

  邏輯地址到線(xiàn)性地址映射過(guò)程如下:

  (1)根據(jù)指令的性質(zhì)來(lái)確定應(yīng)該使用哪一個(gè)段寄存器(Segment Selector),例如轉(zhuǎn)移指令中的地址在代碼段,而取數(shù)據(jù)指令中的地址在數(shù)據(jù)段;

  (2)根據(jù)段存器的內(nèi)容,找到相應(yīng)的“地址段描述結(jié)構(gòu)“(Segment Descriptor),段描述結(jié)構(gòu)都放在一個(gè)表(Descriptor Table)中(GDT或LDT、TR、IDT),而表的起始地址保存在GDTR、LDTR、IDTR、TR寄存器中。這就是4個(gè)內(nèi)存管理寄存器GDTR、LDTR、IDTR和TR的用途;

  (3)從地址段描述結(jié)構(gòu)中找到基地址(Base Address);

  (4)將指令發(fā)出的地址作為位移(Effective Address),與段描述結(jié)構(gòu)中規(guī)定的段長(zhǎng)度相比,看看是否越界;

  (5)根據(jù)指令的性質(zhì)和段描述符中的訪(fǎng)問(wèn)權(quán)限來(lái)確定是否越權(quán);

  (6)將指令中發(fā)出的地址作為位移,與基地址相加而得出線(xiàn)性地址(Linear Address)。

  問(wèn)題: 1、邏輯地址就是CPU指令發(fā)出的地址,那么段選擇碼(Segment Selector)的值在哪里? 2、知道段選擇碼后,需要從描述符表(Descriptor Table)中找到相應(yīng)的表項(xiàng),那怎么知道描述符表在內(nèi)存中哪個(gè)位置?

  3 線(xiàn)性地址到物理地址的映射過(guò)程

  X86 CPU線(xiàn)性地址到物理地址映射過(guò)程:

  線(xiàn)性地址到物理地址映射過(guò)程如下:

  (1)從CR3寄存器中獲取頁(yè)面目錄表(Page Directory)的基地址;

  (2)以線(xiàn)性地址的Directory位段為下標(biāo),在目錄(Page Directory)中取得相應(yīng)頁(yè)面表(Page Table)的基地址;

  (3)以線(xiàn)性地址中的Table位段為下標(biāo),在所得到的頁(yè)面表中獲得相應(yīng)的頁(yè)面描述項(xiàng);

  (4)將頁(yè)面描述項(xiàng)中給出的頁(yè)面基地址與線(xiàn)性地址中的offset位段相加得到物理地址。

看過(guò)“ 物理地址有什么用 ”的人還看了:

1.物理地址與虛擬地址映射

2.物理地址與虛擬地址怎么轉(zhuǎn)換

3.linux虛擬地址怎么映射物理地址

4.虛擬地址空間映射到物理地址空間

5.物理地址和邏輯地址的區(qū)別

720781