怎樣把邏輯位址轉化為實體地址? 5

2025-01-28 02:05:18 字數 3822 閱讀 3756

怎樣把邏輯位址轉化為實體地址?

1樓:死去的螺旋

如果是16進位的話 將段位址移一位 加上偏移位址就是了。

如果是二進位的話 是將段位址移4位 加上偏移量。

邏輯位址轉換實體地址公式

2樓:天羅網

物理知談位址。

是明確的、最終用在匯流排上的編號。那麼邏輯位址轉實體地址怎麼轉?我為大家介紹邏輯位址轉實體地址的解決 方法 。希望大家喜歡。

1. 實體地址和邏輯位址

中的位址,記憶體單元的真正位址。在前端匯流排上傳輸的記憶體位址都是實體記憶體。

位址,編號從0開始一直到可用實體記憶體的最高階。這些數字被北橋。

nortbridge chip)對映到實際的記憶體條。

上。實體地址是明確的、最終用在匯流排上的編號,不必轉換,不必分頁,也沒有特權級檢查(no translation, no paging, no privilege checks)。

例如,你在進行c語言指標程式設計中,可以讀取指標變數本身值(&操作),實際上這個值就是邏輯位址,它是相對於你當前程序資料段的位址(偏移位址),不和絕對實體地址相干。

具體步驟 共三步)

1.確定虛擬位址(實體地址)的有效位。

由32(kb)=32×1024(b) 即等於32×1024 位元組。

二進位。用多少位能有效表示這麼多位元組呢——答是:15位 因為32×1024=2^5×2^10=2^15

還是以上假設,那麼頁面大小為1kb=1024位元組 同樣的方法計算中猛悔出表示位數:10位。

那麼由:011+11100000000(相當於 頁號+頁面(10位))推得出頁號011=3

3.根據頁號找出對應的賣正頁框號。

由 實體地址=頁框號×頁塊大小(頁塊大小是等於頁面大小的)+頁內位移(即頁面邏輯位址)

根據上面 實體地址=頁框號×1024b + 1110000000 ( 這裡的相加是指位置上而言)

提問:在一分頁儲存管理系統中,邏輯位址長度為16位,頁面大小為4096b,現有一邏輯位址為2f6ah,且第頁依次存放在物理塊中,問相應的實體地址為多少?

答:4096b=2^12b

16位定址一共2^16b

分頁儲存。共分的頁:2^16/2^12=2^4=16 共分16頁。

第0頁的位址範圍 0 - fffh

第1頁的位址範圍 1000h - 1fffh

第2頁得位址範圍 2000h - 2fffh

第11頁 b000h - bfffh

第15頁 f000h - ffffh

2f6ah=10 1111 0110 1010 在2頁的範圍對應物理塊11

2f6ah - 2000h + b000h = f6ah + b000h= bf6ah

邏輯位址怎麼轉化為實體地址

3樓:嘟嚕的電子數碼

實體地址:載入到記憶體位址暫存器中的位址,記憶體單元的真正位址。在前端匯流排上傳輸的記憶體位址都是實體記憶體位址,編號從0開始一直到可用實體記憶體的最高階。

程式的邏輯位址空間變換成記憶體中的實際實體地址空間的過程,也就是說在裝入時對目標程式中指令和資料的修改過程。他是實現多道程式在記憶體中同時執行的基礎。重定位有兩種,分別是動態重定位與靜態重定位。

乙個邏輯位址由兩部份組成,段識別符號和段內偏移量。段識別符號是由乙個16位長的欄位組成,稱為段選擇符。其中前13位是乙個索引號。

這就是「段描述符(segment descriptor)」,段描述符具體位址描述了乙個段(對於「段」這個字眼的理解:我們可以理解為把虛擬記憶體分為乙個乙個的段。

比如乙個儲存器有1024個位元組,可以把它分成4段,每段有256個位元組)。這樣,很多個段描述符,就組了乙個陣列,叫「段描述符表」。

作業系統中邏輯位址轉實體地址是什麼?

4樓:惠企百科

1、確定虛擬位址(實體地址)的有效位。

3、由實體地址=頁框號×頁塊大小(頁塊大小是等於頁面大小的)+頁內位移(即頁面邏輯位址)

4、根據上面 實體地址=頁框號×1024b+1110000000。

5、若在一分頁儲存管理系統中,某作業的頁表如下所示。已知頁面大小為1024位元組,試將邏輯位址1011,2148,4000,5012轉化為相應的實體地址。

分析頁式儲存管理的地仿野唯址結構是一維的,即邏輯位址(或實體地址)只用乙個數值即可表示。若給定邏輯位址a,頁面備培的大小為l,則頁號p和頁內位址d可按照下式求得:

p=int[a/l]d=amodl

其中,int是取整函式(取數值的整數部分),mod是取餘函式(取數值的餘數部脊扮分)。

什麼是邏輯位址?什麼是實體地址?8086cpu如何將邏輯位址轉換為實體地址

5樓:

摘要。1 .邏輯位址:其表達形式為「段位址:段內偏移位址」. eg:邏輯位址:b027:ef7f,其段位址為b027h,偏移位址為ef7fh

2 實體地址: cpu訪問儲存單元時,必須在位址匯流排上提供乙個20位的位址資訊,以便選中所要訪問的儲存單元。把cpu訪問儲存器時實際定址所使用的20位位址稱為實體地址。

實體地址=段位址x10h +段內偏移量。

eg:邏輯位址:b027:ef7f,則實體地址為:b027h x 10h + ef7fh = b0270h + ef7fh = bf1efh

邏輯位址:cd17:000b, 則實體地址為:cd17h x 10h + 000bh = cd170h + 000bh = cd17bh

什麼是邏輯位址?什麼是實體地址?8086cpu如何將邏輯位址轉換為實體地址。

b027:ef7f,其段位址為襪旦判b027h,偏移位址為ef7fh2 實體地址: cpu訪問儲存單元時,必須在位址匯流排上提供乙個20位的位址資訊,以便選中所要訪問的儲存單元。

把cpu訪問儲存器時實際定址所使用的20位位址稱為實體地址。實體地址=段位址x10h +段內偏移量告改遲鋒eg:邏輯位址:

b027:ef7f,則實體地址為:b027h x 10h + ef7fh = b0270h + ef7fh = bf1efh​ 邏輯位址:

cd17:000b, 則實體地址為:cd17h x 10h + 000bh = cd170h + 000bh = cd17bh

匯流排週期的含義是什麼?8086乙個基本的匯流排週期由幾個時鐘週期構成。

問一問自定義訊息】

還能問嗎?不能了。

實體地址是邏輯位址嗎?

6樓:生活小達人

區別如下:

實體地址:在儲存器裡以位元組為單位儲存資訊,為正確地存放或取得資訊,每乙個位元組單元給以乙個唯一的儲存器位址,稱為實體地址,又叫實際位址或絕對位址。

二、表達方式:

追根求源,intel的8位機8080cpu,資料匯流排(db)為8位,位址匯流排(ab)為16位。那麼這個16位位址資訊也是要通過8位資料匯流排來傳送,也是要在資料通道中的暫存器,以及在cpu中的暫存器和記憶體中存放的,但由於ab正好是db的整數倍,故不會產生矛盾!

但當上公升到16位機後,intel8086/8088cpu的設計由於當年ic整合技術和外封裝及引腳技術的限制,不能超過40個引腳。但又感覺到8位機原來的位址定址能力2^16=64kb太少了,但直接增加到16的整數倍即令ab=32位又是達不到的。

故而只能把ab暫時增加4條成為20條。則2^20=1mb的定址能力已經增加了16倍。但此舉卻造成了ab的20位和db的16位之間的矛盾,20位位址資訊既無法在db上傳送,又無法在16位的cpu暫存器和記憶體單元中存放。

於是應運而生就產生了cpu段結構的原理。

組合語言邏輯地址轉換為實體地址,組合語言把下列邏輯地址轉換成實體地址分頁定址,總容量4Gbyte,不可見暫存器CR3中的內容是2000H

演算法 實體地址 段首地址 10h 偏移地址 你的問題裡前面數值代表段首地址,後面數值代表偏移地址按照公式直接算就可以看了,比如 39ab b087 實體地址 39abh 10h b087 44b37 前面的乘以10h加上後面的,例如 1 39abh 10h b087h 44b37h 電腦內的計算機...

linux中虛擬地址和實體地址怎樣對映

虛擬就是虛擬的,不是實際真是的實體地址。你可以認為,這兩個地址之間沒關係。這個虛擬是通過系統和硬體的雙重工作,做的一種點對點的對映 當然實際記憶體分配是按照頁來處理 也就是軟體不需要考慮記憶體資料的實體地址,只需要用虛擬地址做資料儲存處理就行了。linux中虛擬地址和實體地址怎樣對映 linux虛擬...

IP地址與實體地址這間怎麼轉換,IP地址與實體地址怎麼轉換

ip地址不是根據mac地址來轉換的。通過tcp ip屬性裡設定,手動指定,或者從dhcp伺服器的ip池裡租來的。1122334455這種mac地址是網絡卡本身自有的。除非藉助軟體。否則是不能更改!十進位制ip地址如 202.106.185.77轉換成十進位制就是3395991885不信的話你們pin...