[發(fā)明專利]為本地與遠程物理存儲器之間的共享虛擬存儲器提供硬件支持有效
| 申請?zhí)枺?/td> | 201010293493.4 | 申請日: | 2010-09-16 |
| 公開(公告)號: | CN102023932A | 公開(公告)日: | 2011-04-20 |
| 發(fā)明(設(shè)計)人: | G·N·欽亞;H·王;D·A·馬泰庫蒂;J·D·科林斯;E·舒赫曼;J·P·赫爾德;A·V·巴特;P·塞蒂;S·F·瓦利 | 申請(專利權(quán))人: | 英特爾公司 |
| 主分類號: | G06F12/10 | 分類號: | G06F12/10 |
| 代理公司: | 中國專利代理(香港)有限公司 72001 | 代理人: | 俞華梁;徐予紅 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 本地 遠程 物理 存儲器 之間 共享 虛擬 提供 硬件 支持 | ||
背景技術(shù)
隨著基于處理器的系統(tǒng)發(fā)展,經(jīng)由例如按照基于PCI?ExpressTM規(guī)范基本規(guī)范版本2.0(2007年1月17日發(fā)布)(以下稱作PCIeTM規(guī)范)或者另一種這樣的協(xié)議的鏈路的外設(shè)部件互連Express(PCIeTM)互連等高速外設(shè)互連連接到系統(tǒng)的可編程加速器的可用性允許系統(tǒng)集成人員將更大計算功率裝入系統(tǒng)。但是,在確保應用可透明地(transparently)利用附加計算功率而無需對應用進行顯著變更以便在主處理器(例如多核中央處理單元(CPU))與加速器之間手動劃分計算以及管理數(shù)據(jù)的來回移動方面存在難題。傳統(tǒng)上,只有由操作系統(tǒng)(OS)管理的主系統(tǒng)存儲器被分配供應用使用。對經(jīng)由外設(shè)互連所耦合的任何加速器本地的物理存儲器被單獨管理。具體來說,加速器上的這種本地存儲器作為運行在主處理器上的OS可識別的系統(tǒng)存儲器的一部分不是可見的。相反,裝置驅(qū)動軟件負責顯式管理本地存儲器與遠程存儲器之間的數(shù)據(jù)移動。
由處理器存取的物理存儲器由操作系統(tǒng)來管理,操作系統(tǒng)將對這個物理存儲器的存取虛擬化,以便創(chuàng)建連續(xù)(contiguous)大虛擬地址空間的幻象(illusion)。OS將基礎(chǔ)處理器支持用于虛擬存儲器管理,因為處理器允許軟件建立將虛擬頁面映射到物理頁面的映射表。處理器通過每次需要進行存儲器存取時查詢映射表,來支持虛擬存儲器地址轉(zhuǎn)換。頻繁存取的轉(zhuǎn)換可由處理器進行高速緩存,以便加速這個過程。通常稱作頁表的這些映射表還包含例如控制對給定虛擬頁面的存取(access)的讀/寫和用戶/超級用戶特權(quán)位等屬性位。雖然OS管理主板上可用的物理存儲器(系統(tǒng)存儲器),但是它沒有管理或分配對加速器本地并且可用的存儲器。因此,當前解決方案創(chuàng)建編程人員看到的共享存儲器模型,并且取決于存儲器保護機制來找出錯誤并在不同存儲器之間來回移動頁面。
發(fā)明內(nèi)容
本發(fā)明提供了一種方法,包括:接收包含虛擬地址的存儲器存取請求;分析處理器的轉(zhuǎn)換后備緩沖器(TLB)中存儲的與虛擬地址對應的條目,以便確定與所述虛擬地址對應的物理地址(PA)是存在于關(guān)聯(lián)所述處理器的本地存儲器還是存在于關(guān)聯(lián)經(jīng)由非相干鏈路耦合到所述處理器的加速器的遠程存儲器中,所述本地存儲器和所述遠程存儲器共同形成共享虛擬存儲器空間;以及如果PA存在于所述遠程存儲器中,則向所述遠程存儲器發(fā)送反向代理執(zhí)行請求,以便執(zhí)行所述存儲器存取請求。
本發(fā)明還提供了一種設(shè)備,包括:具有包括第一存儲器管理單元(MMU)的第一核心的處理器,所述第一MMU包括存儲虛擬地址到物理地址轉(zhuǎn)換的多個條目,其中各條目包括存儲指明對應條目的存儲單元是存在于耦合到所述處理器的本地存儲器中還是存在于耦合到經(jīng)由非相干互連與所述處理器耦合的加速器的遠程存儲器中的第一指示符的存儲單元字段,以及存儲與所述遠程存儲器關(guān)聯(lián)的加速器的標識符的標識符字段。
本發(fā)明還提供了一種系統(tǒng),包括:具有包括第一存儲器管理單元(MMU)的第一核心的處理器,所述第一MMU包括存儲虛擬地址到物理地址轉(zhuǎn)換的多個條目,其中各條目包括存儲指明對應條目的存儲單元是存在于系統(tǒng)存儲器中還是存在于與加速器組件關(guān)聯(lián)的第二存儲器中的指示符的存儲單元字段,以及存儲所述處理器對所述第二存儲器的所述存儲單元的存取次數(shù)的計數(shù)的計數(shù)器;經(jīng)由鏈路耦合到所述處理器的加速器組件,所述加速器組件包括第二處理器和第二MMU;以及耦合到所述處理器的系統(tǒng)存儲器,其中所述系統(tǒng)存儲器包括動態(tài)隨機存取存儲器(DRAM)。
本發(fā)明還提供了一種設(shè)備,包括:具有包括第一邏輯的第一核心的處理器,所述第一邏輯在存儲器存取請求的存儲單元存在于關(guān)聯(lián)所述加速器的存儲器時,以對運行在所述第一核心上的請求數(shù)據(jù)的用戶級應用透明的方式將數(shù)據(jù)的存儲器存取請求發(fā)送給耦合到所述第一核心的加速器,并且響應所述存儲器存取請求而從所述加速器接收所述存儲單元中存儲的數(shù)據(jù)。
附圖說明
圖1是根據(jù)本發(fā)明的一個實施例的系統(tǒng)的框圖。
圖2是根據(jù)本發(fā)明的一個實施例、用于反向代理執(zhí)行(reverse?proxy?execution)的方法的流程圖。
圖3是示出根據(jù)本發(fā)明的一個實施例的反向代理執(zhí)行操作的框圖。
圖4是根據(jù)本發(fā)明的一個實施例、用于代理執(zhí)行的方法的流程圖。
圖5是示出根據(jù)本發(fā)明的一個實施例的代理執(zhí)行操作的框圖。
圖6是根據(jù)本發(fā)明的一個實施例的頁表的示例條目。
圖7是根據(jù)本發(fā)明的一個實施例的處理器的框圖。
圖8是根據(jù)本發(fā)明的一個實施例、包括片上加速器的系統(tǒng)的框圖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010293493.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





