JP6728419B2 - 単一のページテーブルエントリ内の複数のセットの属性フィールド - Google Patents
単一のページテーブルエントリ内の複数のセットの属性フィールド Download PDFInfo
- Publication number
- JP6728419B2 JP6728419B2 JP2019016836A JP2019016836A JP6728419B2 JP 6728419 B2 JP6728419 B2 JP 6728419B2 JP 2019016836 A JP2019016836 A JP 2019016836A JP 2019016836 A JP2019016836 A JP 2019016836A JP 6728419 B2 JP6728419 B2 JP 6728419B2
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- memory
- chunk
- attribute bits
- page table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 556
- 238000000034 method Methods 0.000 claims description 51
- 238000013507 mapping Methods 0.000 claims description 46
- 238000007726 management method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/656—Address space sharing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
第1の処理ユニットと、
第2の処理ユニットと、
前記第1の処理ユニットと前記第2の処理ユニットに共通であり、アプリケーションのジョブによってアクセスされる、メモリ内のメモリチャンクのための仮想メモリアドレスから物理メモリアドレスへのマッピングを格納する共通ページテーブルと、
前記共通ページテーブル内に、前記第1の処理ユニットおよび前記第2の処理ユニットが、前記メモリチャンクのうちの1つのメモリチャンクにアクセスするために使用するページエントリと、ここにおいて、前記ページエントリは、前記第1の処理ユニットによる前記メモリチャンクのアクセシビリティを定義する第1のセットの属性ビットと、前記第2の処理ユニットによる同じメモリチャンクのアクセシビリティを定義する第2のセットの属性ビットと、前記メモリ内の前記メモリチャンクの物理アドレスを定義する物理アドレスビットとを備える、
を格納する前記メモリと
を備える装置。
[C2]
前記ページエントリは、前記第1の処理ユニットと前記第2の処理ユニットの両方に共通である属性を定義する第3のセットの属性ビットを備える、C1に記載の装置。
[C3]
前記第1の処理ユニットは、中央処理ユニット(CPU)を備え、前記第2の処理ユニットは、グラフィックス処理ユニット(GPU)を備える、C1に記載の装置。
[C4]
前記第1のセットの属性ビットは、前記第1の処理ユニットが前記メモリチャンクへの書き込みアクセスを有するかどうかを定義し、かつ前記第1の処理ユニットが前記メモリチャンクへの読み取りアクセスを有するかどうかを定義し、
前記第2のセットの属性ビットは、前記第2の処理ユニットが前記メモリチャンクへの書き込みアクセスを有するかどうかを定義し、かつ前記第2の処理ユニットが前記メモリチャンクへの読み取りアクセスを有するかどうかを定義する、
C1に記載の装置。
[C5]
前記第1の処理ユニットによる前記メモリチャンクの前記アクセシビリティは、前記第2の処理ユニットによる前記メモリチャンクの前記アクセシビリティとは異なる、C1に記載の装置。
[C6]
前記第1のセットの属性ビットは、前記第1の処理ユニットが、前記メモリチャンクへの読み取りアクセスおよび書き込みアクセスを有することを定義し、前記第2のセットの属性ビットは、前記第2の処理ユニットが、前記メモリチャンクへの読み取りのみのアクセスを有することを定義する、C1に記載の装置。
[C7]
前記第1の処理ユニットは、第1のメモリ管理ユニット(MMU)を備え、前記第2の処理ユニットは、第2のMMUを備え、前記第1のMMUは、前記共通ページテーブルにアクセスするように構成され、前記第2のMMUは、前記共通ページテーブルにアクセスするように構成される、C1に記載の装置。
[C8]
第1のメモリ管理ユニット(MMU)と、ここにおいて、前記第1の処理ユニットは、前記第1のMMUを備える、
第3の処理ユニットと、
入力/出力MMU(IOMMU)と、ここにおいて、前記IOMMUは、前記第2の処理ユニットと前記第3の処理ユニットによって共有される、
をさらに備え、
ここにおいて、前記第1のMMUは、前記共通ページテーブルにアクセスするように構成され、前記IOMMUは、前記共通ページテーブルにアクセスするように構成される、C1に記載の装置。
[C9]
前記アプリケーションは、前記第1の処理ユニットと前記第2の処理ユニットの両方で実行中である、C1に記載の装置。
[C10]
第1の処理ユニットによって、メモリに格納された共通ページテーブルを使用して、仮想メモリアドレスを物理メモリアドレスに変換することと、
前記第1の処理ユニットによって、前記物理メモリアドレスによって識別されるメモリチャンクにアクセスすることと、
第2の処理ユニットによって、前記メモリに格納された前記共通ページテーブルを使用して、前記仮想メモリアドレスを前記物理メモリアドレスに変換することと、
前記第2の処理ユニットによって、前記物理メモリアドレスによって識別される前記メモリチャンクにアクセスすることと
を備え、
ここにおいて、前記共通ページテーブルは、前記第1の処理ユニットと前記第2の処理ユニットに共通であり、アプリケーションのジョブによってアクセスされるメモリチャンクのための仮想メモリアドレスから物理メモリアドレスへのマッピングを格納し、
ここにおいて、前記共通ページテーブルは、前記第1の処理ユニットおよび前記第2の処理ユニットが、前記メモリチャンクにアクセスするために使用するページエントリを備え、前記ページエントリは、前記第1の処理ユニットによる前記メモリチャンクのアクセシビリティを定義する第1のセットの属性ビットと、前記第2の処理ユニットによる同じメモリチャンクのアクセシビリティを定義する第2のセットの属性ビットと、前記メモリチャンクの物理アドレスを定義する物理アドレスビットとを備える、方法。
[C11]
前記ページエントリは、前記第1の処理ユニットと前記第2の処理ユニットの両方に共通である属性を定義する第3のセットの属性ビットを備える、C10に記載の方法。
[C12]
前記第1の処理ユニットは、中央処理ユニット(CPU)を備え、前記第2の処理ユニットは、グラフィックス処理ユニット(GPU)を備える、C10に記載の方法。
[C13]
前記第1のセットの属性ビットは、前記第1の処理ユニットが前記メモリチャンクへの書き込みアクセスを有するかどうかを定義し、かつ前記第1の処理ユニットが前記メモリチャンクへの読み取りアクセスを有するかどうかを定義し、
前記第2のセットの属性ビットは、前記第2の処理ユニットが前記メモリチャンクへの書き込みアクセスを有するかどうかを定義し、かつ前記第2の処理ユニットが前記メモリチャンクへの読み取りアクセスを有するかどうかを定義する、
C10に記載の方法。
[C14]
前記第1の処理ユニットによる前記メモリチャンクの前記アクセシビリティは、前記第2の処理ユニットによる前記メモリチャンクの前記アクセシビリティとは異なる、C10に記載の方法。
[C15]
前記第1のセットの属性に基づいて、前記第1の処理ユニットは、前記メモリチャンクへの読み取りアクセスおよび書き込みアクセスを有し、前記第2のセットの属性に基づいて、前記第2の処理ユニットは、前記メモリチャンクへの読み取りのみのアクセスを有する、C10に記載の方法。
[C16]
前記第1の処理ユニットは、第1のメモリ管理ユニット(MMU)を備え、前記第2の処理ユニットは、第2のMMUを備え、前記第1のMMUは、前記共通ページテーブルにアクセスするように構成され、前記第2のMMUは、前記共通ページテーブルにアクセスするように構成される、C10に記載の方法。
[C17]
第3の処理ユニットによって、前記メモリに格納された前記共通ページテーブルを使用して、第2の仮想メモリアドレスを第2の物理メモリアドレスに変換することと、
前記第3の処理ユニットによって、前記第2の物理メモリアドレスによって識別されるメモリチャンクにアクセスすることと
をさらに備え、
ここにおいて、前記第2の処理ユニットと前記第3の処理ユニットは、入力/出力MMU(IOMMU)を共有し、前記IOMMUは、前記共通ページテーブルにアクセスするように構成される、C10に記載の方法。
[C18]
前記アプリケーションは、前記第1の処理ユニットと前記第2の処理ユニットの両方で実行中である、C10に記載の方法。
[C19]
第1の処理手段と、
第2の処理手段と、
メモリと
を備え、
ここにおいて、前記第1の処理手段は、
前記メモリに格納された共通ページテーブルを使用して、仮想メモリアドレスを物理メモリアドレスに変換するための第1の手段と、
前記物理メモリアドレスによって識別されるメモリチャンクにアクセスするための第1の手段と、を備え、
ここにおいて、前記第2の処理手段は、
前記メモリに格納された前記共通ページテーブルを使用して、前記仮想メモリアドレスを前記物理メモリアドレスに変換するための第2の手段と、
前記物理メモリアドレスによって識別される前記メモリチャンクにアクセスするための第2の手段と、を備え、
ここにおいて、前記共通ページテーブルは、前記第1の処理手段と前記第2の処理手段に共通であり、アプリケーションのジョブによってアクセスされるメモリチャンクのための仮想メモリアドレスから物理メモリアドレスへのマッピングを格納し、
ここにおいて、前記共通ページテーブルは、前記第1の処理手段および前記第2の処理手段が、前記メモリチャンクにアクセスするために使用するページエントリを備え、前記ページエントリは、前記第1の処理手段による前記メモリチャンクのアクセシビリティを定義する第1のセットの属性ビットと、前記第2の処理手段による同じメモリチャンクのアクセシビリティを定義する第2のセットの属性ビットと、前記メモリチャンクの物理アドレスを定義する物理アドレスビットとを備える、装置。
[C20]
前記ページエントリは、前記第1の処理手段と前記第2の処理手段の両方に共通である属性を定義する第3のセットの属性ビットを備える、C19に記載の装置。
[C21]
前記第1の処理手段は、中央処理ユニット(CPU)を備え、前記第2の処理手段は、グラフィックス処理ユニット(GPU)を備える、C19に記載の装置。
[C22]
前記第1のセットの属性ビットは、前記第1の処理手段が前記メモリチャンクへの書き込みアクセスを有するかどうかを定義し、かつ前記第1の処理手段が前記メモリチャンクへの読み取りアクセスを有するかどうかを定義し、
前記第2のセットの属性ビットは、前記第2の処理手段が前記メモリチャンクへの書き込みアクセスを有するかどうかを定義し、かつ前記第2の処理手段が前記メモリチャンクへの読み取りアクセスを有するかどうかを定義する、
C19に記載の装置。
[C23]
前記第1の処理手段による前記メモリチャンクの前記アクセシビリティは、前記第2の処理手段による前記メモリチャンクの前記アクセシビリティとは異なる、C19に記載の装置。
[C24]
前記第1のセットの属性に基づいて、前記第1の処理手段は、前記メモリチャンクへの読み取りアクセスおよび書き込みアクセスを有し、前記第2のセットの属性に基づいて、前記第2の処理手段は、前記メモリチャンクへの読み取りのみのアクセスを有する、C19に記載の装置。
[C25]
前記第1の処理手段は、第1のメモリ管理ユニット(MMU)を備え、前記第2の処理手段は、第2のMMUを備え、前記第1のMMUは、前記共通ページテーブルにアクセスするように構成され、前記第2のMMUは、前記共通ページテーブルにアクセスするように構成される、C19に記載の装置。
[C26]
第3の処理手段をさらに備え、
ここにおいて、前記第3の処理手段は、
前記メモリに格納された前記共通ページテーブルを使用して、第2の仮想メモリアドレスを第2の物理メモリアドレスに変換するための第2の手段と、
前記第2の物理メモリアドレスによって識別される前記メモリチャンクにアクセスするための前記第2の手段と
を備える、C19に記載の装置。
[C27]
前記アプリケーションは、前記第1の処理手段と前記第2の処理手段の両方で実行中である、C19に記載の装置。
[C28]
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されると、第1の処理ユニットおよび第2の処理ユニットに、
前記第1の処理ユニットによって、メモリに格納された共通ページテーブルを使用して、仮想メモリアドレスを物理メモリアドレスに変換することと、
前記第1の処理ユニットによって、前記物理メモリアドレスによって識別されるメモリチャンクにアクセスすることと、
前記第2の処理ユニットによって、前記メモリに格納された前記共通ページテーブルを使用して、前記仮想メモリアドレスを前記物理メモリアドレスに変換することと、
前記第2の処理ユニットによって、前記物理メモリアドレスによって識別される前記メモリチャンクにアクセスすることと
を行わせ、
ここにおいて、前記共通ページテーブルは、前記第1の処理ユニットと前記第2の処理ユニットに共通であり、アプリケーションのジョブによってアクセスされるメモリチャンクのための仮想メモリアドレスから物理メモリアドレスへのマッピングを格納し、
ここにおいて、前記共通ページテーブルは、前記第1の処理ユニットおよび前記第2の処理ユニットが、前記メモリチャンクにアクセスするために使用するページエントリを備え、前記ページエントリは、前記第1の処理ユニットによる前記メモリチャンクのアクセシビリティを定義する第1のセットの属性ビットと、前記第2の処理ユニットによる同じメモリチャンクのアクセシビリティを定義する第2のセットの属性ビットと、前記メモリチャンクの物理アドレスを定義する物理アドレスビットとを備える、コンピュータ可読記憶媒体。
[C29]
前記ページエントリは、前記第1の処理ユニットと前記第2の処理ユニットの両方に共通である属性を定義する第3のセットの属性ビットを備える、C28に記載のコンピュータ可読記憶媒体。
[C30]
前記第1の処理ユニットは、中央処理ユニット(CPU)を備え、前記第2の処理ユニットは、グラフィックス処理ユニット(GPU)を備える、C28に記載のコンピュータ可読記憶媒体。
[C31]
前記第1のセットの属性ビットは、前記第1の処理ユニットが前記メモリチャンクへの書き込みアクセスを有するかどうかを定義し、かつ前記第1の処理ユニットが前記メモリチャンクへの読み取りアクセスを有するかどうかを定義し、
前記第2のセットの属性ビットは、前記第2の処理ユニットが前記メモリチャンクへの書き込みアクセスを有するかどうかを定義し、かつ前記第2の処理ユニットが前記メモリチャンクへの読み取りアクセスを有するかどうかを定義する、
C28に記載のコンピュータ可読記憶媒体。
[C32]
前記第1の処理ユニットによる前記メモリチャンクの前記アクセシビリティは、前記第2の処理ユニットによる前記メモリチャンクの前記アクセシビリティとは異なる、C28に記載のコンピュータ可読記憶媒体。
[C33]
前記第1のセットの属性に基づいて、前記第1の処理ユニットは、前記メモリチャンクへの読み取りアクセスおよび書き込みアクセスを有し、前記第2のセットの属性に基づいて、前記第2の処理ユニットは、前記メモリチャンクへの読み取りのみのアクセスを有する、C28に記載のコンピュータ可読記憶媒体。
[C34]
前記第1の処理ユニットは、第1のメモリ管理ユニット(MMU)を備え、前記第2の処理ユニットは、第2のMMUを備え、前記第1のMMUは、前記共通ページテーブルにアクセスするように構成され、前記第2のMMUは、前記共通ページテーブルにアクセスするように構成される、C28に記載のコンピュータ可読記憶媒体。
[C35]
実行されると、第3の処理ユニットに、
前記第3の処理ユニットによって、前記メモリに格納された前記共通ページテーブルを使用して、第2の仮想メモリアドレスを第2の物理メモリアドレスに変換することと、
前記第3の処理ユニットによって、前記第2の物理メモリアドレスによって識別されるメモリチャンクにアクセスすることと
を行わせるさらなる命令を記憶し、
ここにおいて、前記第2の処理ユニットと前記第3の処理ユニットは、入力/出力MMU(IOMMU)を共有し、前記IOMMUは、前記共通ページテーブルにアクセスするように構成される、C28に記載のコンピュータ可読記憶媒体。
[C36]
前記アプリケーションは、前記第1の処理ユニットと前記第2の処理ユニットの両方で実行中である、C28に記載のコンピュータ可読記憶媒体。
Claims (20)
- 第1の処理ユニットと、ここにおいて、前記第1の処理ユニットは、中央処理ユニット(CPU)を備える、
第2の処理ユニットと、ここにおいて、前記第2の処理ユニットは、グラフィックス処理ユニット(GPU)を備える、
第3の処理ユニットと、
共通ページテーブル内に、前記第1の処理ユニット、前記第2の処理ユニット、および前記第3の処理ユニットが、1つのメモリチャンクにアクセスするために使用するページエントリを格納するメモリと、ここにおいて、前記第1の処理ユニットは、第1のメモリ管理ユニット(MMU)を備え、前記第1のMMUは、前記共通ページテーブルにアクセスするように構成され、前記第2の処理ユニットおよび前記第3の処理ユニットは、入出力MMU(IOMMU)を共有し、前記IOMMUは、前記共通ページテーブルにアクセスするように構成され、前記ページエントリは、前記第1の処理ユニットによる前記メモリチャンクのアクセシビリティを定義する第1のセットの属性ビットと、前記第2の処理ユニットによる同じメモリチャンクのアクセシビリティを定義する第2のセットの属性ビットと、前記第1の処理ユニットと前記第2の処理ユニットの両方に共通である属性を定義する第3のセットの属性ビットと、前記メモリ内の前記メモリチャンクの物理アドレスを定義する物理アドレスビットとを備え、前記第3のセットの属性ビットの数は、前記第1のセットの属性ビットの数、および前記第2のセットの属性ビットの数よりも多く、前記第1のセットの属性ビットによって定義される、前記第1の処理ユニットによる前記メモリチャンクの前記アクセシビリティは、前記第2のセットの属性ビットによって定義される、前記第2の処理ユニットによる前記メモリチャンクの前記アクセシビリティとは異なり、前記第1のセットの属性ビットは、前記第1の処理ユニットが、前記メモリチャンクへの読み取りアクセスおよび書き込みアクセスを有することを定義し、前記第2のセットの属性ビットは、前記第2の処理ユニットが、前記メモリチャンクへの読み取りのみのアクセスを有することを定義する、
を備える装置。 - 前記第3の処理ユニットは、デジタル信号プロセッサである、請求項1に記載の装置。
- 前記第3の処理ユニットは、フィールドプログラマブル論理アレイである、請求項1に記載の装置。
- 前記第3の処理ユニットは、特定用途向け集積回路である、請求項1に記載の装置。
- アプリケーションは、前記第1の処理ユニットと前記第2の処理ユニットの両方で実行中である、請求項1に記載の装置。
- 第1の処理ユニットによって、メモリに格納された共通ページテーブルを使用して、仮想メモリアドレスを物理メモリアドレスに変換することと、ここにおいて、前記第1の処理ユニットは、中央処理ユニット(CPU)を備える、
前記第1の処理ユニットによって、前記物理メモリアドレスによって識別されるメモリチャンクにアクセスすることと、
第2の処理ユニットによって、前記メモリに格納された前記共通ページテーブルを使用して、前記仮想メモリアドレスを前記物理メモリアドレスに変換することと、ここにおいて、前記第2の処理ユニットは、グラフィックス処理ユニット(GPU)を備える、
前記第2の処理ユニットによって、前記物理メモリアドレスによって識別される前記メモリチャンクにアクセスすることと、
第3の処理ユニットによって、前記メモリに格納された前記共通ページテーブルを使用して、第2の仮想メモリアドレスを第2の物理メモリアドレスに変換することと、
前記第3の処理ユニットによって、前記第2の物理メモリアドレスによって識別される前記メモリチャンクにアクセスすることと、
を備え、
ここにおいて、前記共通ページテーブルは、前記第1の処理ユニット、前記第2の処理ユニット、および第3の処理ユニットに共通であり、前記第1の処理ユニットは、第1のメモリ管理ユニット(MMU)を備え、前記第1のMMUは、前記共通ページテーブルにアクセスするように構成され、前記第2の処理ユニットおよび前記第3の処理ユニットは、入出力MMU(IOMMU)を共有し、前記IOMMUは、前記共通ページテーブルにアクセスするように構成され、アプリケーションのジョブによってアクセスされるメモリチャンクのための仮想メモリアドレスから物理メモリアドレスへのマッピングを格納し、
ここにおいて、前記共通ページテーブルは、前記第1の処理ユニット、前記第2の処理ユニット、および前記第3の処理ユニットが、前記メモリチャンクにアクセスするために使用するページエントリを備え、前記ページエントリは、前記第1の処理ユニットによる前記メモリチャンクのアクセシビリティを定義する第1のセットの属性ビットと、前記第2の処理ユニットによる同じメモリチャンクのアクセシビリティを定義する第2のセットの属性ビットと、前記第1の処理ユニットと前記第2の処理ユニットの両方に共通である属性を定義する第3のセットの属性ビットと、前記メモリチャンクの物理アドレスを定義する物理アドレスビットとを備え、前記第3のセットの属性ビットの数は、前記第1のセットの属性ビットの数、および前記第2のセットの属性ビットの数よりも多く、前記第1のセットの属性ビットによって定義される、前記第1の処理ユニットによる前記メモリチャンクの前記アクセシビリティは、前記第2のセットの属性ビットによって定義される、前記第2の処理ユニットによる前記メモリチャンクの前記アクセシビリティとは異なり、前記第1のセットの属性ビットは、前記第1の処理ユニットが、前記メモリチャンクへの読み取りアクセスおよび書き込みアクセスを有することを定義し、前記第2のセットの属性ビットは、前記第2の処理ユニットが、前記メモリチャンクへの読み取りのみのアクセスを有することを定義する、方法。 - 前記第3の処理ユニットは、デジタル信号プロセッサである、請求項6に記載の方法。
- 前記第3の処理ユニットは、フィールドプログラマブル論理アレイである、請求項6に記載の方法。
- 前記第3の処理ユニットは、特定用途向け集積回路である、請求項6に記載の方法。
- 前記アプリケーションは、前記第1の処理ユニットと前記第2の処理ユニットの両方で実行中である、請求項6に記載の方法。
- 第1の処理手段と、
第2の処理手段と、
第3の処理手段と、
メモリと
を備え、
ここにおいて、前記第1の処理手段は、
前記メモリに格納された共通ページテーブルを使用して、仮想メモリアドレスを物理メモリアドレスに変換するための第1の手段と、
前記物理メモリアドレスによって識別されるメモリチャンクにアクセスするための第1の手段と、
を備え、前記第1の処理手段は、中央処理ユニット(CPU)を備え、
ここにおいて、前記第2の処理手段は、
前記メモリに格納された前記共通ページテーブルを使用して、前記仮想メモリアドレスを前記物理メモリアドレスに変換するための第2の手段と、
前記物理メモリアドレスによって識別される前記メモリチャンクにアクセスするための第2の手段と、
を備え、前記第2の処理手段は、グラフィックス処理ユニット(GPU)を備え、
ここにおいて、前記第3の処理手段は、
前記メモリに格納された前記共通ページテーブルを使用して、第2の仮想メモリアドレスを第2の物理メモリアドレスに変換するための第3の手段と、
前記第2の物理メモリアドレスによって識別される前記メモリチャンクにアクセスするための第3の手段と、
を備え、
ここにおいて、前記共通ページテーブルは、前記第1の処理手段、前記第2の処理手段、および第3の処理手段に共通であり、前記第1の処理手段は、第1のメモリ管理ユニット(MMU)を備え、前記第1のMMUは、前記共通ページテーブルにアクセスするように構成され、前記第2の処理手段および前記第3の処理手段は、入出力MMU(IOMMU)を共有し、前記IOMMUは、前記共通ページテーブルにアクセスするように構成され、アプリケーションのジョブによってアクセスされるメモリチャンクのための仮想メモリアドレスから物理メモリアドレスへのマッピングを格納し、
ここにおいて、前記共通ページテーブルは、前記第1の処理手段、前記第2の処理手段、および第3の処理手段が、前記メモリチャンクにアクセスするために使用するページエントリを備え、前記ページエントリは、前記第1の処理手段による前記メモリチャンクのアクセシビリティを定義する第1のセットの属性ビットと、前記第2の処理手段による同じメモリチャンクのアクセシビリティを定義する第2のセットの属性ビットと、前記第1の処理手段と前記第2の処理手段の両方に共通である属性を定義する第3のセットの属性ビットと、前記メモリチャンクの物理アドレスを定義する物理アドレスビットと、を備え、前記第3のセットの属性ビットの数は、前記第1のセットの属性ビットの数、および前記第2のセットの属性ビットの数よりも多く、前記第1のセットの属性ビットによって定義される、前記第1の処理手段による前記メモリチャンクの前記アクセシビリティは、前記第2のセットの属性ビットによって定義される、前記第2の処理手段による前記メモリチャンクの前記アクセシビリティとは異なり、前記第1のセットの属性ビットは、前記第1の処理手段が、前記メモリチャンクへの読み取りアクセスおよび書き込みアクセスを有することを定義し、前記第2のセットの属性ビットは、前記第2の処理手段が、前記メモリチャンクへの読み取りのみのアクセスを有することを定義する、装置。 - 前記第3の処理手段は、デジタル信号プロセッサである、請求項11に記載の装置。
- 前記第3の処理手段は、フィールドプログラマブル論理アレイである、請求項11に記載の装置。
- 前記第3の処理手段は、特定用途向け集積回路である、請求項11に記載の装置。
- 前記アプリケーションは、前記第1の処理手段と前記第2の処理手段の両方で実行中である、請求項11に記載の装置。
- 命令を記憶した非一時的なコンピュータ可読記憶媒体であって、前記命令は、実行されると、第1の処理ユニット、第2の処理ユニット、および第3の処理ユニットに、
前記第1の処理ユニットによって、メモリに格納された共通ページテーブルを使用して、仮想メモリアドレスを物理メモリアドレスに変換することと、ここにおいて、前記第1の処理ユニットは、中央処理ユニット(CPU)を備える、
前記第1の処理ユニットによって、前記物理メモリアドレスによって識別されるメモリチャンクにアクセスすることと、
前記第2の処理ユニットによって、前記メモリに格納された前記共通ページテーブルを使用して、前記仮想メモリアドレスを前記物理メモリアドレスに変換することと、ここにおいて、前記第2の処理ユニットは、グラフィックス処理ユニット(GPU)を備える、
前記第2の処理ユニットによって、前記物理メモリアドレスによって識別される前記メモリチャンクにアクセスすることと、
前記第3の処理ユニットによって、前記メモリに格納された前記共通ページテーブルを使用して、第2の仮想メモリアドレスを第2の物理メモリアドレスに変換することと、
前記第3の処理ユニットによって、前記第2の物理メモリアドレスによって識別される前記メモリチャンクにアクセスすることと、
を行わせ、
ここにおいて、前記共通ページテーブルは、前記第1の処理ユニット、前記第2の処理ユニット、および前記第3の処理ユニットに共通であり、前記第1の処理ユニットは、第1のメモリ管理ユニット(MMU)を備え、前記第1のMMUは、前記共通ページテーブルにアクセスするように構成され、前記第2の処理ユニットおよび前記第3の処理ユニットは、入出力MMU(IOMMU)を共有し、前記IOMMUは、前記共通ページテーブルにアクセスするように構成され、アプリケーションのジョブによってアクセスされるメモリチャンクのための仮想メモリアドレスから物理メモリアドレスへのマッピングを格納し、
ここにおいて、前記共通ページテーブルは、前記第1の処理ユニット、前記第2の処理ユニット、および前記第3の処理ユニットが、前記メモリチャンクにアクセスするために使用するページエントリを備え、前記ページエントリは、前記第1の処理ユニットによる前記メモリチャンクのアクセシビリティを定義する第1のセットの属性ビットと、前記第2の処理ユニットによる同じメモリチャンクのアクセシビリティを定義する第2のセットの属性ビットと、前記第1の処理ユニットと前記第2の処理ユニットの両方に共通である属性を定義する第3のセットの属性ビットと、前記メモリチャンクの物理アドレスを定義する物理アドレスビットとを備え、前記第3のセットの属性ビットの数は、前記第1のセットの属性ビットの数、および前記第2のセットの属性ビットの数よりも多く、前記第1のセットの属性ビットによって定義される、前記第1の処理ユニットによる前記メモリチャンクの前記アクセシビリティは、前記第2のセットの属性ビットによって定義される、前記第2の処理ユニットによる前記メモリチャンクの前記アクセシビリティとは異なり、前記第1のセットの属性ビットは、前記第1の処理ユニットが、前記メモリチャンクへの読み取りアクセスおよび書き込みアクセスを有することを定義し、前記第2のセットの属性ビットは、前記第2の処理ユニットが、前記メモリチャンクへの読み取りのみのアクセスを有することを定義する、非一時的なコンピュータ可読記憶媒体。 - 前記第3の処理ユニットは、デジタル信号プロセッサである、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
- 前記第3の処理ユニットは、フィールドプログラマブル論理アレイである、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
- 前記第3の処理ユニットは、特定用途向け集積回路である、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
- 前記アプリケーションは、前記第1の処理ユニットと前記第2の処理ユニットの両方で実行中である、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/565,434 US8938602B2 (en) | 2012-08-02 | 2012-08-02 | Multiple sets of attribute fields within a single page table entry |
US13/565,434 | 2012-08-02 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017202603A Division JP2018041485A (ja) | 2012-08-02 | 2017-10-19 | 単一のページテーブルエントリ内の複数のセットの属性フィールド |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019109906A JP2019109906A (ja) | 2019-07-04 |
JP6728419B2 true JP6728419B2 (ja) | 2020-07-22 |
Family
ID=48916200
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015525447A Withdrawn JP2015527661A (ja) | 2012-08-02 | 2013-07-18 | 単一のページテーブルエントリ内の複数のセットの属性フィールド |
JP2017202603A Withdrawn JP2018041485A (ja) | 2012-08-02 | 2017-10-19 | 単一のページテーブルエントリ内の複数のセットの属性フィールド |
JP2019016836A Active JP6728419B2 (ja) | 2012-08-02 | 2019-02-01 | 単一のページテーブルエントリ内の複数のセットの属性フィールド |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015525447A Withdrawn JP2015527661A (ja) | 2012-08-02 | 2013-07-18 | 単一のページテーブルエントリ内の複数のセットの属性フィールド |
JP2017202603A Withdrawn JP2018041485A (ja) | 2012-08-02 | 2017-10-19 | 単一のページテーブルエントリ内の複数のセットの属性フィールド |
Country Status (8)
Country | Link |
---|---|
US (1) | US8938602B2 (ja) |
EP (1) | EP2880540B1 (ja) |
JP (3) | JP2015527661A (ja) |
KR (1) | KR102051698B1 (ja) |
BR (1) | BR112015001988B1 (ja) |
ES (1) | ES2763545T3 (ja) |
HU (1) | HUE047108T2 (ja) |
WO (1) | WO2014022110A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141559B2 (en) | 2012-01-04 | 2015-09-22 | Intel Corporation | Increasing virtual-memory efficiencies |
US9378572B2 (en) * | 2012-08-17 | 2016-06-28 | Intel Corporation | Shared virtual memory |
US9373182B2 (en) | 2012-08-17 | 2016-06-21 | Intel Corporation | Memory sharing via a unified memory architecture |
US9436616B2 (en) | 2013-05-06 | 2016-09-06 | Qualcomm Incorporated | Multi-core page table sets of attribute fields |
US20140331019A1 (en) * | 2013-05-06 | 2014-11-06 | Microsoft Corporation | Instruction set specific execution isolation |
US9530000B2 (en) * | 2013-06-14 | 2016-12-27 | Microsoft Technology Licensing, Llc | Secure privilege level execution and access protection |
US9507726B2 (en) * | 2014-04-25 | 2016-11-29 | Apple Inc. | GPU shared virtual memory working set management |
US9563571B2 (en) | 2014-04-25 | 2017-02-07 | Apple Inc. | Intelligent GPU memory pre-fetching and GPU translation lookaside buffer management |
US9921897B2 (en) | 2016-01-06 | 2018-03-20 | International Business Machines Corporation | Testing a non-core MMU |
GB2547242B (en) | 2016-02-11 | 2018-05-23 | Advanced Risc Mach Ltd | Graphics processing |
US10019377B2 (en) * | 2016-05-23 | 2018-07-10 | Advanced Micro Devices, Inc. | Managing cache coherence using information in a page table |
KR101942663B1 (ko) * | 2017-09-28 | 2019-01-25 | 한국과학기술원 | 가상 메모리 주소 변환 효율화를 위한 연속성 활용 주소 변환 방법 및 시스템 |
US10747679B1 (en) * | 2017-12-11 | 2020-08-18 | Amazon Technologies, Inc. | Indexing a memory region |
CN110198331B (zh) * | 2018-03-28 | 2022-11-25 | 腾讯科技(上海)有限公司 | 一种同步数据的方法及系统 |
CN112115521B (zh) * | 2019-06-19 | 2023-02-07 | 华为技术有限公司 | 数据访问方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3454854B2 (ja) * | 1992-01-16 | 2003-10-06 | 株式会社東芝 | メモリ管理装置及び方法 |
US6446034B1 (en) | 1998-12-16 | 2002-09-03 | Bull Hn Information Systems Inc. | Processor emulation virtual memory address translation |
US6286092B1 (en) | 1999-05-12 | 2001-09-04 | Ati International Srl | Paged based memory address translation table update method and apparatus |
US7444636B2 (en) | 2002-07-15 | 2008-10-28 | Hewlett-Packard Development Company, L.P. | Method and system of determining attributes of a functional unit in a multiple processor computer system |
US7111145B1 (en) | 2003-03-25 | 2006-09-19 | Vmware, Inc. | TLB miss fault handler and method for accessing multiple page tables |
US7673116B2 (en) | 2006-01-17 | 2010-03-02 | Advanced Micro Devices, Inc. | Input/output memory management unit that implements memory attributes based on translation data |
US7539842B2 (en) | 2006-08-15 | 2009-05-26 | International Business Machines Corporation | Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables |
US7865675B2 (en) | 2007-12-06 | 2011-01-04 | Arm Limited | Controlling cleaning of data values within a hardware accelerator |
US8015361B2 (en) | 2007-12-14 | 2011-09-06 | International Business Machines Corporation | Memory-centric page table walker |
US8307360B2 (en) * | 2008-01-22 | 2012-11-06 | Advanced Micro Devices, Inc. | Caching binary translations for virtual machine guest |
US8397049B2 (en) * | 2009-07-13 | 2013-03-12 | Apple Inc. | TLB prefetching |
US20110016290A1 (en) | 2009-07-14 | 2011-01-20 | Arie Chobotaro | Method and Apparatus for Supporting Address Translation in a Multiprocessor Virtual Machine Environment |
US8386745B2 (en) * | 2009-07-24 | 2013-02-26 | Advanced Micro Devices, Inc. | I/O memory management unit including multilevel address translation for I/O and computation offload |
US20110161620A1 (en) | 2009-12-29 | 2011-06-30 | Advanced Micro Devices, Inc. | Systems and methods implementing shared page tables for sharing memory resources managed by a main operating system with accelerator devices |
US8669990B2 (en) * | 2009-12-31 | 2014-03-11 | Intel Corporation | Sharing resources between a CPU and GPU |
US20120233439A1 (en) | 2011-03-11 | 2012-09-13 | Boris Ginzburg | Implementing TLB Synchronization for Systems with Shared Virtual Memory Between Processing Devices |
-
2012
- 2012-08-02 US US13/565,434 patent/US8938602B2/en active Active
-
2013
- 2013-07-18 HU HUE13745243A patent/HUE047108T2/hu unknown
- 2013-07-18 KR KR1020157005315A patent/KR102051698B1/ko active IP Right Grant
- 2013-07-18 WO PCT/US2013/051069 patent/WO2014022110A1/en active Application Filing
- 2013-07-18 ES ES13745243T patent/ES2763545T3/es active Active
- 2013-07-18 BR BR112015001988-9A patent/BR112015001988B1/pt active IP Right Grant
- 2013-07-18 JP JP2015525447A patent/JP2015527661A/ja not_active Withdrawn
- 2013-07-18 EP EP13745243.9A patent/EP2880540B1/en active Active
-
2017
- 2017-10-19 JP JP2017202603A patent/JP2018041485A/ja not_active Withdrawn
-
2019
- 2019-02-01 JP JP2019016836A patent/JP6728419B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP2880540B1 (en) | 2019-09-25 |
JP2018041485A (ja) | 2018-03-15 |
KR20150038513A (ko) | 2015-04-08 |
EP2880540A1 (en) | 2015-06-10 |
BR112015001988B1 (pt) | 2022-03-15 |
HUE047108T2 (hu) | 2020-04-28 |
JP2019109906A (ja) | 2019-07-04 |
JP2015527661A (ja) | 2015-09-17 |
CN104508641A (zh) | 2015-04-08 |
KR102051698B1 (ko) | 2019-12-03 |
ES2763545T3 (es) | 2020-05-29 |
BR112015001988A2 (pt) | 2017-07-04 |
US8938602B2 (en) | 2015-01-20 |
US20140040593A1 (en) | 2014-02-06 |
WO2014022110A1 (en) | 2014-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6728419B2 (ja) | 単一のページテーブルエントリ内の複数のセットの属性フィールド | |
US9436616B2 (en) | Multi-core page table sets of attribute fields | |
US20130013889A1 (en) | Memory management unit using stream identifiers | |
JP2018521385A (ja) | 共有システムキャッシュの仮想化制御のための方法および装置 | |
JP2013500525A (ja) | I/oのための多重レベルアドレストランスレーションを含むi/oメモリ管理ユニット及び計算負荷軽減 | |
US8521919B2 (en) | Direct memory access in a computing environment | |
JP2008033928A (ja) | Gpuにおけるページマッピングのための専用機構 | |
TWI526832B (zh) | 用於減少執行硬體表搜尋(hwtw)所需的時間和計算資源量的方法和系統 | |
KR20080080594A (ko) | 메모리 액세스 데이터 구조에 기초하는 직접 캐시 액세스트랜잭션의 수행 | |
CN112241310B (zh) | 页表管理、信息获取方法、处理器、芯片、设备及介质 | |
US20160188251A1 (en) | Techniques for Creating a Notion of Privileged Data Access in a Unified Virtual Memory System | |
US20140040577A1 (en) | Automatic Use of Large Pages | |
US8898429B2 (en) | Application processor and a computing system having the same | |
JP2022544791A (ja) | ネットワーク化された入出力メモリ管理ユニット | |
TWI497296B (zh) | 記憶體配置與分頁位址轉換系統及方法 | |
US8347064B1 (en) | Memory access techniques in an aperture mapped memory space | |
US8612691B2 (en) | Assigning memory to on-chip coherence domains | |
JP7106775B2 (ja) | グラフィックス表面アドレス指定 | |
US9916255B2 (en) | Data storage based on memory persistency | |
US20170322891A1 (en) | Device and method for secure data storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200701 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6728419 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |