[發(fā)明專利]一種確定物理地址的方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201310207412.8 | 申請(qǐng)日: | 2013-05-29 |
| 公開(公告)號(hào): | CN104216833B | 公開(公告)日: | 2017-10-10 |
| 發(fā)明(設(shè)計(jì))人: | 張立新;張科;張義;張樂樂 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司;中國科學(xué)院計(jì)算技術(shù)研究所 |
| 主分類號(hào): | G06F12/02 | 分類號(hào): | G06F12/02 |
| 代理公司: | 北京中博世達(dá)專利商標(biāo)代理有限公司11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 確定 物理地址 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種確定物理地址的方法及裝置。
背景技術(shù)
訪問計(jì)算機(jī)內(nèi)存的時(shí)候需要提供內(nèi)存單元的物理地址。通常中央處理器(Central Processing Unit,CPU)支持分頁內(nèi)存管理,在分頁內(nèi)存管理?xiàng)l件下CPU所生成的地址叫做線性地址或者虛擬地址,通過TLB中保存的頁表將線性地址轉(zhuǎn)換為物理地址之后才能訪問計(jì)算機(jī)內(nèi)存。
當(dāng)采用組相連的旁路轉(zhuǎn)換緩沖(Translation lookaside buffer,TLB)結(jié)構(gòu)訪問計(jì)算機(jī)內(nèi)存時(shí),可以同時(shí)根據(jù)線性地址的不同部分索引不同的TLB,例如存放4K頁的線性地址到物理地址的轉(zhuǎn)換,以及存放2M頁的線性地址到物理地址的轉(zhuǎn)換,每個(gè)TLB可以確定組相連的一個(gè)組,在索引到的不同組中,確定一個(gè)與線性地址匹配的組中一個(gè)TLB表項(xiàng),根據(jù)該TLB表項(xiàng)將線性地址轉(zhuǎn)換為物理地址。需要說明的是,采用頁面大小的種類數(shù)目與TLB的個(gè)數(shù)相同,從而進(jìn)行地址轉(zhuǎn)換時(shí)就需要同時(shí)查詢所有的TLB。
另外,當(dāng)一個(gè)進(jìn)程僅采用一種頁面時(shí),可以根據(jù)正在運(yùn)行的進(jìn)程所使用的頁面大小選擇采用線性地址的哪幾位來索引組相連的TLB,確定組相連TLB的一個(gè)組中的一個(gè)TLB表項(xiàng),根據(jù)該TLB表項(xiàng)將線性地址轉(zhuǎn)換為物理地址。
然而,在采用現(xiàn)有技術(shù)獲得物理地址時(shí),需要同時(shí)查詢多個(gè)TLB,使得功耗較高,或者需要限制每個(gè)進(jìn)程只能采用一種頁面,導(dǎo)致不靈活。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種確定物理地址的方法及裝置,可以采用支持多種頁面大小的組相連的TLB獲得物理地址,并且降低功耗。
第一方面,提供一種確定物理地址的方法,用于將內(nèi)存的地址轉(zhuǎn)換為物理地址;包括:
根據(jù)線性地址的高N位獲得頁面大小,所述N大于0,并且小于所述線性地址的位數(shù);
根據(jù)所述頁面大小,獲得旁路轉(zhuǎn)換緩存TLB的索引號(hào);
根據(jù)所述頁面大小和支持的最小頁面大小,獲得屏蔽位Mask;
根據(jù)所述Mask,獲得所述TLB的標(biāo)簽;
根據(jù)所述索引號(hào)和所述標(biāo)簽,查找所述TLB,獲得所述線性地址對(duì)應(yīng)的物理地址的高M(jìn)AC1位;
根據(jù)所述Mask、所述支持的最小頁面以及所述物理地址的高M(jìn)AC1位,獲得物理地址,所述物理地址用于訪問內(nèi)存使用。
結(jié)合第一方面,在第一方面的第一種實(shí)現(xiàn)方式中,所述根據(jù)線性地址的高N位獲得頁面大小包括:
根據(jù)支持的最小頁面大小,獲得所述最小頁面大小的頁內(nèi)偏移位數(shù);
將所述線性地址的位數(shù)除去所述最小頁面大小的頁內(nèi)偏移位數(shù),獲得第一頁號(hào);
根據(jù)所述第一頁號(hào)的值在第一預(yù)設(shè)表中查詢,獲得頁面大小。
結(jié)合第一方面的第一種實(shí)現(xiàn)方式,在第一方面的第二種實(shí)現(xiàn)方式中,
所述第一預(yù)設(shè)表包括頁面大小的起始地址、所述頁面大小的終止地址和所述頁面大小;
所述根據(jù)所述第一頁號(hào)的值在第一預(yù)設(shè)表中查詢,獲得頁面大小包括:
當(dāng)所述第一頁號(hào)的值大于第一頁面大小的起始地址,并且所述第一頁號(hào)的值小于所述第一頁面大小的終止地址時(shí),則確定所述頁面大小為所述第一頁面大小。
結(jié)合第一方面,在第一方面的第三種實(shí)現(xiàn)方式中,所述根據(jù)線性地址的高N位獲得頁面大小包括:
將線性地址的高N位輸入譯碼器,獲得選通信號(hào),所述選通信號(hào)用于選擇寄存器組中的一個(gè)寄存器;
根據(jù)所述選通信號(hào),確定所述寄存器組中的第一寄存器;
確定所述頁面大小為所述第一寄存器記錄的頁面大小;
所述寄存器組中的每一個(gè)寄存器記錄的頁面大小為根據(jù)所述線性地址的高N位將所述線性地址等分為2N個(gè)內(nèi)存區(qū)后,每一個(gè)內(nèi)存區(qū)中記錄的頁面大小。
結(jié)合第一方面的前述任一種實(shí)現(xiàn)方式,在第一方面的第四種實(shí)現(xiàn)方式中,
所述根據(jù)所述頁面大小,獲得TLB的索引號(hào),包括:
根據(jù)所述TLB中保存的記錄的行數(shù),確定表示所述TLB的行數(shù)的位數(shù);
根據(jù)所述頁面大小,確定所述頁面大小的頁內(nèi)偏移位數(shù);
將所述線性地址的位數(shù)去掉所述頁面大小的頁內(nèi)偏移位數(shù)之后,將剩余的所述線性地址的部分的最低的所述表示所述TLB的行數(shù)的位數(shù)確定為所述TLB的索引號(hào)。
結(jié)合第一方面的前述任一種實(shí)現(xiàn)方式,在第一方面的第五種實(shí)現(xiàn)方式中,
所述根據(jù)所述頁面大小和支持的最小頁面大小,獲得屏蔽位Mask,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司;中國科學(xué)院計(jì)算技術(shù)研究所,未經(jīng)華為技術(shù)有限公司;中國科學(xué)院計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310207412.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





