討論串[問題] 虛擬記憶體mapping 實體記憶體
共 4 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者shihyu (shihyu)時間10年前 (2013/11/13 22:19), 編輯資訊
1
0
0
內容預覽:
有些虛擬記憶體轉實體記憶體疑惑. 1. 虛擬記憶體位址例如是1000 MMU 也是使用實體記憶體中1000位址嗎?. 2. 假設用到一樣位址, 那在 multi task 系統這樣同時很多個process. 以32bit Linux 系統來說每process 都有3G , 1G kernel 共用.

推噓1(1推 0噓 3→)留言4則,0人參與, 最新作者mayasky ( )時間10年前 (2013/11/14 03:05), 編輯資訊
1
0
1
內容預覽:
有可能,實際上要對到哪裡都可以,只要在ADDRESS LINE範圍內. 這依照ARCH不同有不同方式. 有TLB. HIT. 有ASID. 每個PROCESS的ASID不一樣,即使VA同也會區別出不同的SPACE. 沒ASID. 每次CONTEXT SWITCH要清掉TLB,也不會衝突. MISS.
(還有77個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者ICECOCA (unknow)時間10年前 (2013/11/15 01:03), 編輯資訊
1
0
0
內容預覽:
實體記憶體分高記憶體區和低記憶體區,. 若要求實體記憶體連續則會分配低記憶體區出去 比方說kmalloc(). 或是匯流排要使用DMA,這也必須使用連續記憶體,所以也是分配這段。. 通常會有一個offset,至於offset多少可能每個平台不一樣。. 所以1000,應該不會直接mapping到100
(還有134個字)

推噓3(3推 0噓 6→)留言9則,0人參與, 最新作者mayasky ( )時間10年前 (2013/11/15 02:04), 編輯資訊
0
0
1
內容預覽:
這是軟體設計問題,如果只談LINUX,是如此沒錯,但這概念是在32BITS CPU一些老DMA會有ADDRESS LINE限制,現代的大多沒了您這邊說的就是軟體的設計了,我只說了硬體可以做到啥:)硬體沒這些限制其實只是改個REGISTER,指向不同地方有ASID可以啥都不做,直到一些特殊狀況(EX.
(還有187個字)
首頁
上一頁
1
下一頁
尾頁