[發明專利]一種尋址方法及裝置有效
| 申請號: | 201480000679.2 | 申請日: | 2014-04-25 |
| 公開(公告)號: | CN105283855B | 公開(公告)日: | 2018-01-23 |
| 發明(設計)人: | 徐君;朱冠宇;羅彩珠;黃文龍 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京同達信恒知識產權代理有限公司11291 | 代理人: | 馮艷蓮 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 尋址 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種尋址方法及裝置。
背景技術
在計算機應用中,處理器一般會使用虛擬地址訪問內存。在使用虛擬地址訪問內存時,需要先將虛擬地址轉換成物理地址,從而可以確定數據在內存中的實際位置。CPU一般采用內存管理單元(Memory management Unit,MMU)來完成虛擬地址到物理地址的映射。
MMU通過建立頁表項實現從虛擬地址到物理地址的映射。在二級管理模式下,基于頁表項的地址查詢方式依次包括對頁目錄和頁表的查詢。其中,頁目錄中存儲有多個頁表的基地址,每個頁表中存儲有多個頁表項。頁表項中記錄有這個虛擬地址所對應物理頁的物理基地址。
進程是操作系統結構的基礎,它是一個具有獨立功能的程序關于某個數據集合的一次運行活動,可以認為是一次程序的執行。內核是操作系統的核心,提供操作系統的最基本的功能,是操作系統工作的基礎,它負責管理系統的進程和內存。每個進程都有其各自專用的虛擬地址空間(即用戶空間)以及用于尋址的頁目錄;同時,每個進程可以通過系統調用進入內核,因此,系統內所有進程共享內核的虛擬地址空間(即內核空間)以及內核的頁目錄。中央處理器(Central Processing Unit,CPU)中只存在一個保存頁目錄基地址的寄存器(即CR3寄存器)。在進程調度時,該寄存器指向當前進程的頁目錄基地址,在進程切換時,該寄存器切換當前所指向的頁目錄基地址。當任意一個進程需要訪問內核的虛擬地址空間時,需要將內核的頁目錄中頁表的基地址拷貝到該進程的頁目錄下,增加了操作時間。
發明內容
本發明實施例提供一種尋址方法及裝置,用以解決尋址效率較低的問題。
第一方面,提供一種尋址方法,該方法包括:
接收地址轉換請求,所述地址轉換請求中包含有虛擬地址;
根據所述虛擬地址中第一預設位置的值,從內存管理單元MMU管理的多個寄存器中確定待訪問的寄存器,所述待訪問的寄存器中保存有與所述虛擬地址對應的內存空間的頁目錄的基地址,其中,所述內存空間至少包括以下之一:內核的虛擬地址空間和進程的虛擬地址空間;
根據所述虛擬地址中第二預設位置的值,在所述頁目錄的基地址所指向的頁目錄中查找所述虛擬地址指向的頁表的基地址;
根據所述虛擬地址中第三預設位置的值,在所述頁表的基地址所指向的頁表中查找所述虛擬地址對應的頁表項,所述頁表項中記錄有所述虛擬地址所對應的頁面的物理基地址;
根據查找到的所述頁表項將所述虛擬地址轉換為物理地址;
其中,所述第一預設位置、所述第二預設位置與所述第三預設位置互不相同。
結合第一方面,在第一種可能的實現方式中,所述根據所述虛擬地址中第一預設位置的值,從內存管理單元MMU管理的多個寄存器中確定待訪問的寄存器包括:
根據所述虛擬地址中第一預設位置的值,以及預設的寄存器與數值的對應關系,從內存管理單元MMU管理的多個寄存器中確定待訪問的寄存器。
結合第一方面,或第一方面的第一種可能的實現方式,在第二種可能的實現方式中,所述第一預設位置為所述虛擬地址的高N位,N為正整數,且N≥1。
結合第一方面,或第一方面的第一或第二種可能的實現方式,在第三種可能的實現方式中,所述根據確定的所述頁表項將所述虛擬地址轉換為物理地址,包括:
將所述頁表項中記錄的所述虛擬地址對應的頁面的物理基地址與所述虛擬地址中第四預設位置的值進行組合,確定組合后的地址為將所述虛擬地址轉換后的物理地址;其中,所述虛擬地址中第四預設位置的值為頁內偏移量。
第二方面,提供一種尋址裝置,包括:
接收模塊,用于接收地址轉換請求,所述地址轉換請求中包含有虛擬地址;
確定模塊,用于根據所述虛擬地址中第一預設位置的值,從內存管理單元MMU管理的多個寄存器中確定待訪問的寄存器,所述待訪問的寄存器中保存有與所述虛擬地址對應的內存空間的頁目錄的基地址;其中,所述內存空間至少包括以下之一:內核的虛擬地址空間和進程的虛擬地址空間;
第一查找模塊,用于根據所述虛擬地址中第二預設位置的值,在所述頁目錄的基地址所指向的頁目錄中查找所述虛擬地址指向的頁表的基地址;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201480000679.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于數據通信的方法和裝置
- 下一篇:存儲器總線誤差信號





