[發明專利]為本地與遠程物理存儲器之間的共享虛擬存儲器提供硬件支持有效
| 申請號: | 201410350006.1 | 申請日: | 2010-09-16 |
| 公開(公告)號: | CN104123242B | 公開(公告)日: | 2017-08-08 |
| 發明(設計)人: | G.N.欽亞;H.王;D.A.馬泰庫蒂;J.D.科林斯;E.舒赫曼;J.P.赫爾德;A.V.巴特;P.塞蒂;S.F.瓦利 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F12/1027 | 分類號: | G06F12/1027 |
| 代理公司: | 中國專利代理(香港)有限公司72001 | 代理人: | 朱海煜,湯春龍 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 本地 遠程 物理 存儲器 之間 共享 虛擬 提供 硬件 支持 | ||
本分案申請的母案申請日為2010年9月16日、申請號為201010293493.4、發明名稱為“為本地與遠程物理存儲器之間的共享虛擬存儲器提供硬件支持”。
技術領域
本申請涉及為本地與遠程物理存儲器之間的共享虛擬存儲器提供硬件支持。
背景技術
隨著基于處理器的系統發展,經由例如按照基于PCI ExpressTM規范基本規范版本2.0(2007年1月17日發布)(以下稱作PCIeTM規范)或者另一種這樣的協議的鏈路的外設部件互連Express(PCIeTM)互連等高速外設互連連接到系統的可編程加速器的可用性允許系統集成人員將更大計算功率裝入系統。但是,在確保應用可透明地(transparently)利用附加計算功率而無需對應用進行顯著變更以便在主處理器(例如多核中央處理單元(CPU))與加速器之間手動劃分計算以及管理數據的來回移動方面存在難題。傳統上,只有由操作系統(OS)管理的主系統存儲器被分配供應用使用。對經由外設互連所耦合的任何加速器本地的物理存儲器被單獨管理。具體來說,加速器上的這種本地存儲器作為運行在主處理器上的OS可識別的系統存儲器的一部分不是可見的。相反,裝置驅動軟件負責顯式管理本地存儲器與遠程存儲器之間的數據移動。
由處理器存取的物理存儲器由操作系統來管理,操作系統將對這個物理存儲器的存取虛擬化,以便創建連續(contiguous)大虛擬地址空間的幻象(illusion)。OS將基礎處理器支持用于虛擬存儲器管理,因為處理器允許軟件建立將虛擬頁面映射到物理頁面的映射表。處理器通過每次需要進行存儲器存取時查詢映射表,來支持虛擬存儲器地址轉換。頻繁存取的轉換可由處理器進行高速緩存,以便加速這個過程。通常稱作頁表的這些映射表還包含例如控制對給定虛擬頁面的存取(access)的讀/寫和用戶/超級用戶特權位等屬性位。雖然OS管理主板上可用的物理存儲器(系統存儲器),但是它沒有管理或分配對加速器本地并且可用的存儲器。因此,當前解決方案創建編程人員看到的共享存儲器模型,并且取決于存儲器保護機制來找出錯誤并在不同存儲器之間來回移動頁面。
發明內容
根據第一實施例,本發明提供了一種用于支持共享虛擬存儲器的處理器,包括:
第一核心,包括取指令單元、指令解碼單元、第一存儲器管理單元(MMU)和至少一個執行單元,第一MMU包括存儲虛擬地址到物理地址轉換的多個條目;以及
加速器,與第一核心耦合并包括第二MMU,第二MMU包括存儲虛擬地址到物理地址轉換的多個條目,其中,第一MMU的各條目包括存儲指明對應條目的存儲單元是存在于與所述處理器耦合的第一存儲器中還是存在于與所述加速器耦合的第二存儲器中的第一指示符的存儲單元字段,其中,所述處理器執行處理程序以將對于第二存儲器中的存儲單元的存儲器請求轉換成直接存儲器存取(DMA)事務來與第二存儲器通信。
根據第二實施例,本發明提供了一種用于支持共享虛擬存儲器的方法,包括:
接收包含虛擬地址的存儲器存取請求;
分析處理器的轉換后備緩沖器(TLB)中存儲的與虛擬地址對應的條目,以便根據指示與虛擬地址對應的物理地址(PA)是存在于第一存儲器還是存在于第二存儲器中的TLB條目的位置屬性,確定所述PA是存在于關聯所述處理器的第一存儲器還是存在于關聯與所述處理器耦合的加速器的第二存儲器中,第一存儲器和第二存儲器共同形成共享虛擬存儲器空間;以及
如果所述PA存在于第二存儲器中,則經由非相干互連向第二存儲器發送反向代理執行請求,以便執行所述存儲器存取請求。
根據第三實施例,本發明提供了一種用于支持共享虛擬存儲器的系統,包括:
具有包括第一存儲器管理單元(MMU)的第一核心的處理器,第一MMU包括各用來存儲虛擬地址到物理地址轉換的多個條目,其中各條目包括存儲所述處理器對與耦合到所述處理器的第二處理器相關聯的第二存儲器的存儲單元的存取次數的計數的計數器,其中,當條目的計數器達到閾值時,所述處理器將與所述條目相關聯的存儲單元中存儲的數據從第二存儲器的所述存儲單元移動到與所述處理器耦合的系統存儲器的存儲單元;
經由鏈路與所述處理器耦合的第二處理器,第二處理器包括第二MMU;以及
與所述處理耦合的系統存儲器。
附圖說明
圖1是根據本發明的一個實施例的系統的框圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410350006.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于方差的文檔分類方法
- 下一篇:一種自動生成測試用例的方法





