邏輯位址,虛擬位址,實體地址,匯流排位址

2021-09-30 11:27:02 字數 487 閱讀 6373

很多人可能寫程式這麼多年,都分不清以下幾個位址的概念,亦或是當進入程式設計師行列時由於平台的關係有些概念已經漸漸弱化,沒有趕上那個必須與硬體親密接觸才能夠寫好程式的年代,所以平時也不會接觸到這些概念,但了解這些概念無疑是對程式設計生涯是有好處的,下面就簡述一下這幾個概念的意思。

匯流排上的值。

包機上,路由器上。它只是提供了一些針腳與外部連線。以 x86 經典架構為例,cpu 的

輸出針腳包括位址匯流排,資料匯流排,控制匯流排等,它們組成 fsb,然後與北橋晶元組相連,與北橋晶元組相連的還有外圍裝置匯流排,如果 ram 的 ddr 控制器也連線到北橋的話,ram 也算是這些裝置其中之一,當 cpu 產生了乙個實體地址,這個訊號被北橋晶元接收,北橋晶元會轉譯成匯流排位址(所有的外設,包括ram 都會配置在這個空間中,這個過程叫做 iommu,與具體架構有關),然後再去判斷,配置在這個位址區域的裝置,其實是裝置的控制器接收到訊號去響應了而已。dma 操作時使用的就是匯流排位址,如果   在匯流排上掛載了 ram ,就可以直接操作了。

邏輯位址 虛擬位址 實體地址 匯流排位址的區別

1 邏輯位址 邏輯位址是最為模糊的概念。understanding the linux kernel 上的解釋是與虛擬位址相關,基於硬體mmu與軟體記憶體管理的乙個概念,具體可以看utlk的第二章記憶體定址,有很詳細的解釋。同一塊記憶體被分別線性對映到這2個位址空間中,無論處理器有無mmu單元,上電...

邏輯位址 虛擬位址 實體地址 匯流排位址的區別

1 邏輯位址 邏輯位址是最為模糊的概念。understanding the linux kernel 上的解釋是與虛擬位址相關,基於硬體mmu與軟體記憶體管理的乙個概念,具體可以看utlk的第二章記憶體定址,有很詳細的解釋。同一塊記憶體被分別線性對映到這2個位址空間中,無論處理器有無mmu單元,上電...

邏輯位址 實體地址 虛擬位址

用於記憶體晶元級的單元定址,與處理器和cpu連線的位址匯流排相對應。雖然可以直接把實體地址理解成插在機器上那根記憶體本身,把記憶體看成乙個從0位元組一直到最大空量逐字節的編號的大陣列,然後把這個陣列叫做實體地址,但是事實上,這只是乙個硬體提供給軟體的抽像,記憶體的定址方式並不是這樣。所以,說它是 與...