亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 5561 | 回復(fù): 17
打印 上一主題 下一主題

32位系統(tǒng)的物理地址空間? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-07-12 17:31 |只看該作者 |倒序瀏覽
最近做驅(qū)動時發(fā)現(xiàn)物理地址經(jīng)常會被板卡占掉一些,如PCI Express的配置空間用內(nèi)核映射方式的話會占用256M的地址空間,而板子為了完成某些寄存器和驅(qū)動來交互,也會占用一些地址空間(通過BAR申請)。

這種情況下如果系統(tǒng)裝有4G的物理內(nèi)存,在32位系統(tǒng)中是如何管理的?因為地址空間有些會被板卡占用。

另外,物理內(nèi)存總是占用從0開始的物理地址嗎,能不能把物理內(nèi)存中的不同部分映射到不地的物理地址段上?

[ 本帖最后由 Cyberman.Wu 于 2008-7-12 17:32 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2008-08-12 00:03 |只看該作者
踢一下,沒人站出來?

論壇徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
3 [報告]
發(fā)表于 2008-08-12 09:12 |只看該作者
原帖由 Cyberman.Wu 于 2008-7-12 17:31 發(fā)表
最近做驅(qū)動時發(fā)現(xiàn)物理地址經(jīng)常會被板卡占掉一些,如PCI Express的配置空間用內(nèi)核映射方式的話會占用256M的地址空間,而板子為了完成某些寄存器和驅(qū)動來交互,也會占用一些地址空間(通過BAR申請)。

這種情況 ...


內(nèi)存映射的是虛擬地址,這個和物理地址是兩碼事。如果你有4G的物理內(nèi)存,那實際上是不可能所有都映射到進(jìn)程的地址空間的,應(yīng)為896M以上的就屬于高端內(nèi)存了。建議LZ看看內(nèi)存映射方面的資料,ULK上面有講到,物理內(nèi)存的使用布局等等,這個應(yīng)該有幫助你理解這個問題。

論壇徽章:
0
4 [報告]
發(fā)表于 2008-08-12 16:51 |只看該作者
原帖由 dreamice 于 2008-8-12 09:12 發(fā)表


內(nèi)存映射的是虛擬地址,這個和物理地址是兩碼事。如果你有4G的物理內(nèi)存,那實際上是不可能所有都映射到進(jìn)程的地址空間的,應(yīng)為896M以上的就屬于高端內(nèi)存了。建議LZ看看內(nèi)存映射方面的資料,ULK上面有講到, ...


ULK是啥資料?不同進(jìn)程在進(jìn)程空間占用不同的物理頁面,而共享所有內(nèi)核空間,這個我早就知道,F(xiàn)在關(guān)心的不是虛擬地址,而是物理地址,32bit能否支持4GB物理內(nèi)存?因為在總路上外設(shè)會占用一些物理地址空間,那4GB的物理內(nèi)存如何支持?如我的顯卡就占了256M的地址空間(通過BAR0申請的),那么在32bit物理尋址時從CPU上向總線發(fā)起訪問這個范圍內(nèi)的內(nèi)存操作時,實際上是北橋上視別出它在PCIe的地址空間之后直接生成一個PCIe的報文發(fā)到PCIe總線上了。這種情況下如何訪問4GB的物理內(nèi)存,通過某種復(fù)用機(jī)制?好像沒看到FSB有這種機(jī)制吧,再說如果有這種機(jī)制硬件沒辦法視別出軟件想訪問什么啊,需要軟件做出支持才行。

也就是說,我的問題是在純32位物理尋址的情況下(即不考慮PAE)CPU能否支持4GB物理內(nèi)存,和虛擬內(nèi)存沒有半點(diǎn)關(guān)系;打開PAE也只是物理內(nèi)存尋址增加了,每個進(jìn)程的虛擬內(nèi)存還是4GB的。

[ 本帖最后由 Cyberman.Wu 于 2008-8-12 16:52 編輯 ]

論壇徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
5 [報告]
發(fā)表于 2008-08-13 09:11 |只看該作者

回復(fù) #4 Cyberman.Wu 的帖子

理論上可以支持4GB的物理內(nèi)存,但實際上高端內(nèi)存(大于896MB)是不可能永久映射的到虛擬地阯空間的。

論壇徽章:
0
6 [報告]
發(fā)表于 2008-08-13 09:21 |只看該作者
原帖由 dreamice 于 2008-8-13 09:11 發(fā)表
理論上可以支持4GB的物理內(nèi)存,但實際上高端內(nèi)存(大于896MB)是不可能永久映射的到虛擬地阯空間的。


沒怎么明白是什么意思,我想討論的是物理內(nèi)存尋址,不要老是扯到虛擬內(nèi)存空間好不好?如果用VxWorks,根本就不存在虛擬空間了。

論壇徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
7 [報告]
發(fā)表于 2008-08-13 10:07 |只看該作者

回復(fù) #6 Cyberman.Wu 的帖子

不明白你到底要解決什么問題。32位肯定是可以支持4GB的物理地址,我的意思是一旦涉及到操作系統(tǒng),就離不開討論虛擬地址——進(jìn)程的地址空間也指的的是虛擬地址。關(guān)于Vxworks,我了解不多,但是他也存在地址映射(你說不存在虛擬空間,這個結(jié)論我表示質(zhì)疑)。我認(rèn)為,一個真正意義的操作系統(tǒng),不可能沒有虛擬地址到物理地址映射這一層關(guān)系。所以,我一開始就連帶說到了虛擬地址。

32位完全是支持4GB的物理內(nèi)存的:如果不使用操作系統(tǒng),你完全可以當(dāng)作一個平板物理空間來訪問。但一旦有了操作系統(tǒng),(物理內(nèi)存在896M—4G的情況),并不把RAM全部映射到內(nèi)核地址空間,Linux在初始化階段把一個具有896MB的RAM窗口映射到內(nèi)核線性地址空間。如果一個程序需要對現(xiàn)有RAM其余部分尋址,那就必須把其他的線性地址間隔映射到所需的RAM,也就是說高與896MB的頁框,并不映射到線性地址空間的第4個GB。這是一個永久映射和動態(tài)映射的問題。

論壇徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
8 [報告]
發(fā)表于 2008-08-13 10:18 |只看該作者

回復(fù) #1 Cyberman.Wu 的帖子

你所說的那些設(shè)備占用的物理內(nèi)存的問題,有可能是映射到了第4個GB——是被永久映射的物理地址,也有可能是獨(dú)立尋址的;當(dāng)然,如果你這里說占用了,那就應(yīng)該是永久映射到第4個GB了?梢钥纯催@個圖,是linux2.6前3MB的映射情況:

[ 本帖最后由 dreamice 于 2008-8-13 10:19 編輯 ]

map.JPG (16.98 KB, 下載次數(shù): 52)

map.JPG

論壇徽章:
0
9 [報告]
發(fā)表于 2008-08-13 10:19 |只看該作者

回復(fù) #7 dreamice 的帖子

我想清楚的是用32位的地址總線能否支持4GB物理內(nèi)存,就這么簡單,這個討論并不涉及操作系統(tǒng)。此時如果向總線發(fā)出一個地址訪問內(nèi)存的話,并且裝了4GB的RAM,能復(fù)用被外設(shè)占用的那一部分物理地址空間嗎?我在想如果用線性尋址的話對于PC要在32位系統(tǒng)中支持4GB物理內(nèi)存是不是一定要用PAE才行?當(dāng)然用段寄存器也許有另外的解決辦法?對于x86我并不熟悉,以前一直用PowerPC,所以現(xiàn)在搞不清楚。

什么叫“真正的操作系統(tǒng)”并沒有什么絕對的定義吧,VxWorks取決于CPU,在PowerPC上確實可以映射,但一般都是一對一映射的。許多嵌入式系統(tǒng)的CPU根本就沒有MMU,但許多還是有操作系統(tǒng)的,而且比通用操作系統(tǒng)的種類多多了。

論壇徽章:
0
10 [報告]
發(fā)表于 2008-08-13 10:25 |只看該作者
原帖由 dreamice 于 2008-8-13 10:18 發(fā)表
你所說的那些設(shè)備占用的物理內(nèi)存的問題,有可能是映射到了第4個GB——是被永久映射的物理地址,也有可能是獨(dú)立尋址的;當(dāng)然,如果你這里說占用了,那就應(yīng)該是永久映射到第4個GB了?梢钥纯催@個圖,是linux2.6前 ...


好象也不是絕對都映射到3GB以上的物理內(nèi)存吧,傳統(tǒng)的ISA設(shè)備應(yīng)該不支持32bit地址的。獨(dú)立尋址指什么,是指I/O空間嗎?以前沒怎么深入接觸過這些通用操作系統(tǒng),而計算機(jī)體系結(jié)構(gòu)也不是非常了解,物理內(nèi)存總應(yīng)該在連續(xù)的物理地址空間上吧,就算是用了PAE,它和設(shè)備占用的物理地址空間又是如何分配的?

其實目前也不是有什么具體的問題要解決,只是想對系統(tǒng)有更明確的了解。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP