[發(fā)明專利]低開銷的轉(zhuǎn)換后備緩沖器下拉有效
| 申請?zhí)枺?/td> | 201611191432.0 | 申請日: | 2016-12-21 |
| 公開(公告)號(hào): | CN107480075B | 公開(公告)日: | 2020-10-27 |
| 發(fā)明(設(shè)計(jì))人: | 埃里克·諾瑟普;本杰明·查爾斯·塞利布林 | 申請(專利權(quán))人: | 谷歌有限責(zé)任公司 |
| 主分類號(hào): | G06F12/1027 | 分類號(hào): | G06F12/1027;G06F9/455 |
| 代理公司: | 中原信達(dá)知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11219 | 代理人: | 高偉;周亞榮 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 開銷 轉(zhuǎn)換 后備 緩沖器 下拉 | ||
公開了低開銷的轉(zhuǎn)換后備緩沖器下拉。本公開的各方面涉及在硬件內(nèi)引導(dǎo)和跟蹤轉(zhuǎn)換后備緩沖器(TLB)下拉。包括一個(gè)或多個(gè)處理器核的一個(gè)或多個(gè)處理器可以確定在處理器核上執(zhí)行的進(jìn)程導(dǎo)致一個(gè)或多個(gè)虛擬存儲(chǔ)器頁面與一個(gè)或多個(gè)先前關(guān)聯(lián)的物理存儲(chǔ)器地址解除關(guān)聯(lián)。正在執(zhí)行引起解除關(guān)聯(lián)的處理的處理器核可以生成TLB下拉請求。處理器核可以將TLB下拉請求發(fā)送到其它核。TLB下拉請求可以包括標(biāo)識(shí)信息、指示需要從其它核的相應(yīng)TLB刷新的解除關(guān)聯(lián)的虛擬存儲(chǔ)器頁面的下拉地址以及指示其它核可以在何處確認(rèn)TLB下拉請求的完成的通知地址。
相關(guān)申請的交叉引用
本申請要求于2016年6月8日提交的美國臨時(shí)專利申請No.62/347,495和2016年10月14日提交的美國專利申請No.15/293,627的申請日的權(quán)益,其公開內(nèi)容通過引用并入本文。
背景技術(shù)
多核處理器和虛擬處理器的激增導(dǎo)致虛擬存儲(chǔ)器的使用的增加。虛擬存儲(chǔ)器向在系統(tǒng)的處理器上操作的每個(gè)進(jìn)程提供存儲(chǔ)器的連續(xù)部分的錯(cuò)覺,但是每個(gè)進(jìn)程使用的實(shí)際物理存儲(chǔ)器可以散布在系統(tǒng)的物理存儲(chǔ)器上。在這點(diǎn)上,虛擬存儲(chǔ)器通常被分割成頁面,其中每個(gè)頁面被映射到系統(tǒng)的物理存儲(chǔ)器的位置。頁表可以用于將一段數(shù)據(jù)的虛擬存儲(chǔ)器頁面映射到存儲(chǔ)數(shù)據(jù)的對(duì)應(yīng)物理地址。為了提高將虛擬存儲(chǔ)器頁面轉(zhuǎn)換為相應(yīng)物理地址的速度,處理器的每個(gè)核可以實(shí)現(xiàn)存儲(chǔ)虛擬存儲(chǔ)器頁面到物理存儲(chǔ)器地址的最近轉(zhuǎn)換的轉(zhuǎn)換后備緩沖器(translation lookaside buffer,TLB)。
當(dāng)在頁表中修改虛擬存儲(chǔ)器頁面映射時(shí),或者當(dāng)管理程序從虛擬機(jī)的虛擬存儲(chǔ)器去映射或以其它方式修改客戶頁面時(shí),需要相應(yīng)地更新每個(gè)處理器核的轉(zhuǎn)換后備緩沖器(TLB)。在一些情況下,這是通過發(fā)送稱為TLB下拉(shootdown)中斷的中斷來實(shí)現(xiàn)的,該中斷指示每個(gè)目標(biāo)處理器核查看未映射的虛擬存儲(chǔ)器頁面條目的軟件定義的列表,并且從它們各自的TLB中移除這些條目。目標(biāo)處理器核可以從它們各自的TLB表中移除未映射的條目,并且向TLB下拉的發(fā)起處理器發(fā)信號(hào)通知它們完成以上步驟。在發(fā)起處理器上的OS軟件必須等到所有響應(yīng)都返回,然后可以重新開始進(jìn)一步處理。類似地,接收處理器核必須在恢復(fù)進(jìn)一步處理之前完成TLB下拉請求。
在虛擬化環(huán)境中,發(fā)送和接收中斷(例如TLB下拉請求)可能是耗時(shí)的,因?yàn)槲锢硖幚砥骱吞摂M處理器之間的通信需要管理程序的介入。此外,虛擬處理器可以離線(例如,由管理程序進(jìn)行預(yù)排序或者物理CPU可以被停止),從而導(dǎo)致來自那些虛擬處理器的TLB下拉確認(rèn)被延遲。在具有大量虛擬處理器的系統(tǒng)中,這些延遲可能增加,有時(shí)是超線性地增加,導(dǎo)致顯著的性能降低。
發(fā)明內(nèi)容
本公開內(nèi)的各種實(shí)施例基本涉及處理TLB下拉請求。一個(gè)方面包括一種用于在硬件內(nèi)引導(dǎo)和跟蹤TLB下拉的方法。在這點(diǎn)上,包括一個(gè)或多個(gè)處理器核的一個(gè)或多個(gè)處理器可以確定在處理器核上執(zhí)行的進(jìn)程導(dǎo)致一個(gè)或多個(gè)虛擬存儲(chǔ)器頁面與一個(gè)或多個(gè)先前關(guān)聯(lián)的物理存儲(chǔ)器地址解除關(guān)聯(lián)。正在執(zhí)行引起解除關(guān)聯(lián)的進(jìn)程的處理器核可以生成TLB下拉請求。處理器核可以將TLB下拉請求發(fā)送到其它核。TLB下拉請求可以包括標(biāo)識(shí)信息、指示需要從其它核的相應(yīng)TLB刷新的解除關(guān)聯(lián)的虛擬存儲(chǔ)器頁的頁面的下拉地址以及指示其它核可以在何處確認(rèn)TLB下拉請求完成的通知地址。
在一些示例中,該方法還可以包括在處理器核完成TLB下拉請求時(shí)從其它核接收確認(rèn)。可以在通知地址處接收確認(rèn)。所述一個(gè)或多個(gè)處理器可以執(zhí)行一個(gè)或多個(gè)虛擬機(jī),其中所述虛擬機(jī)包括一個(gè)或多個(gè)虛擬計(jì)算機(jī)處理器。該進(jìn)程可以是在一個(gè)或多個(gè)虛擬機(jī)中執(zhí)行的第一進(jìn)程。
在一些示例中,該方法還可以包括:由電力管理單元確定接收到TLB下拉請求的第一核是否處于低電力狀態(tài),以及在第一核處于低電力狀態(tài)的情況下通過電力管理單元確認(rèn)TLB下拉請求。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于谷歌有限責(zé)任公司,未經(jīng)谷歌有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611191432.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:兒童安全座椅
- 下一篇:一種后排座椅防下潛裝置及具有其的車輛后地板、車輛
- 同類專利
- 專利分類
- 圖像轉(zhuǎn)換設(shè)備、圖像轉(zhuǎn)換電路及圖像轉(zhuǎn)換方法
- 數(shù)模轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 轉(zhuǎn)換設(shè)備和轉(zhuǎn)換方法
- 占空比轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 通信轉(zhuǎn)換方法、轉(zhuǎn)換裝置及轉(zhuǎn)換系統(tǒng)
- 模數(shù)轉(zhuǎn)換和模數(shù)轉(zhuǎn)換方法
- 轉(zhuǎn)換模塊以及轉(zhuǎn)換電路
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件和熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊





