天才教育網(wǎng)合作機構 > 培訓機構 >

                                                                                        天才領(lǐng)路者

                                                                                        歡迎您!
                                                                                        朋友圈

                                                                                        400-850-8622

                                                                                        全國統一學(xué)習專(zhuān)線(xiàn) 9:00-21:00

                                                                                        位置:培訓問(wèn)答 > PTE考試如何找到相對應的pte-pde指針

                                                                                        PTE考試如何找到相對應的pte-pde指針

                                                                                        日期:2019-08-19 17:57:39     瀏覽:219    來(lái)源:天才領(lǐng)路者
                                                                                        核心提示: 我們首先明確一下這個(gè)問(wèn)題也就是說(shuō)你需要通過(guò)線(xiàn)性地址(因為開(kāi)啟了分頁(yè),這里也可以叫虛擬地址,我們下文都將這樣稱(chēng)呼,假設需要找到虛擬地址vaddr)vaddr來(lái)找到對應它的PTE指針。 我們知道通過(guò)虛擬地址vaddr

                                                                                          我們首先明確一下這個(gè)問(wèn)題 也就是說(shuō)你需要通過(guò)線(xiàn)性地址(因為開(kāi)啟了分頁(yè),這里也可以叫虛擬地址,我們下文都將這樣稱(chēng)呼,假設需要找到虛擬地址vaddr)vaddr來(lái)找到對應它的PTE指針。   我們知道通過(guò)虛擬地址vaddr,我們經(jīng)過(guò)頁(yè)變化可以找到一個(gè)確定的物理地址phy_vaddr?,F在我們想要找到的是指向這個(gè)phy_vaddr的pte指針,由于頁(yè)表,頁(yè)表項這些都是存在于內存中的,所以其對應的是實(shí)在的物理地址。于是我們現在的目的就是:通過(guò)一個(gè)虛擬地址得到物理地址。   嗯,聽(tīng)起來(lái)就讓人很激動(dòng)呀?   讓我們先來(lái)回顧一下處理器處理 32 位地址的三個(gè)步驟: (1)首先處理高 10位 的 pde索引,從而處理器得到頁(yè)表物理地址。 (2)其次處理中間 10 位 的 pte 索引,進(jìn)而處理器得到普通物理頁(yè)的物理地址 (3)*是把低 12 位 作為普通物理頁(yè)的頁(yè)內偏移地址,此偏移地址加上物理頁(yè)的物理地址,得到的地址之和便是最終的物理地址,處理器到此物理地址上進(jìn)行讀寫(xiě)操作。也就是說(shuō),我們要創(chuàng )造的一個(gè)新的虛擬地址 new vaddr,它經(jīng)過(guò)處理器以上三個(gè)步驟的拆分處理,最終會(huì )落到 vaddr 自身所在的 pte 的物理地址上。   *步:高10位的構成   那么分析到這里,我們就需要知道一個(gè)知識點(diǎn):在頁(yè)目錄表中,*一個(gè)目錄表項填的是頁(yè)目錄表自己的地址。   所以我們在構建新的虛擬地址的時(shí)候,在高10位,我們可以直接讓其指向頁(yè)目錄表的*一位,然后本該得到頁(yè)表物理地址的我們得到的還是頁(yè)目錄表的物理地址。   即圖中Dir我們讓其指向Page Directory的*一項,然后我們得到的還是一個(gè)指向Page Directory的指針,而并不是指向Page Table的指針。   由于頁(yè)目錄表也是4KB,所以為4*2^10 = 2^12 = 1024,由于其實(shí)下標為0,所以*一個(gè)表項為1023,對應的16進(jìn)制為0x3ff,將其左移到高10位后,變?yōu)?xffc00000   第二步:中間10位的構成   現在我們的指針是指向頁(yè)目錄表的,如果按照之前的規則的話(huà),我們此時(shí)看圖,應該是Table與上一個(gè)結果相加,得到Physical Address Space的地址,而我們最終想得到的是指向物理地址Phy.Addr的那個(gè)指針,也就是我們想知道的pte指針,那么這一步我們就應該找到Page Table的地址。   所以,我們構造中間10位的時(shí)候,將原本的Dir作為偏移地址,這樣,通過(guò)其與*步我們得到的頁(yè)目錄表的地址相加,就可以得到指向Page Table的指針,也就是我們要得到的頁(yè)表的地址。

                                                                                        PTE考試如何找到相對應的pte pde指針

                                                                                          于是中間10位的構成為圖中Dir的值  第三步:低12位的構成   我們現在已經(jīng)有了指向Page Table的指針了,那我們如何找到指向物理地址Phy.Addr的那個(gè)指針呢?我們可以想一下,初始的時(shí)候我們是通過(guò)加上Table的值得到指向物理地址Phy.Addr的指針的,所以我們此時(shí)也是將其作為低12位。   但是這里又有一個(gè)問(wèn)題了,其為10位,而我們需要的是12位,怎么辦呢?我們通過(guò)將其左移2位,即可得到新的地址,即將其值乘以4即可。同樣pde指針也是同理,大家自己可以思考一下哦??

                                                                                        免責聲明:本信息由用戶(hù)發(fā)布,本站不承擔本信息引起的任何交易及知識產(chǎn)權侵權的法律責任!

                                                                                        如果本頁(yè)不是您要找的課程,您也可以百度查找一下:

                                                                                        奇米在线7777在线精品|国产成人精品免费视|精品无码不卡一区二区三区|国内综合精品午夜久久资源|亚洲视频在线观看..