JP6378733B2 - 共有仮想メモリをサポートする異種コンピュータシステムにおけるtlbシュートダウンの方法および装置 - Google Patents
共有仮想メモリをサポートする異種コンピュータシステムにおけるtlbシュートダウンの方法および装置 Download PDFInfo
- Publication number
- JP6378733B2 JP6378733B2 JP2016207724A JP2016207724A JP6378733B2 JP 6378733 B2 JP6378733 B2 JP 6378733B2 JP 2016207724 A JP2016207724 A JP 2016207724A JP 2016207724 A JP2016207724 A JP 2016207724A JP 6378733 B2 JP6378733 B2 JP 6378733B2
- Authority
- JP
- Japan
- Prior art keywords
- tlb
- entry
- pasid
- core
- devices
- 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.)
- Expired - Fee Related
Links
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
-
- 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/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- 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/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/303—In peripheral interface, e.g. I/O adapter or channel
-
- 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
-
- 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/683—Invalidation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
[項目1]
仮想メモリを共有する複数の異種デバイスを有するマルチコアシステムにおける、効率的なTLBシュートダウンの方法であって、
前記マルチコアシステムにおける前記複数の異種デバイスのうちの1以上の要求デバイスから、対応する1以上のプロセスアドレス空間識別子(PASID)ステート更新リクエストを受信する段階と、
前記1以上のPASIDステート更新リクエストのうちの第1のPASIDステート更新リクエストに対応するPASIDステートのアトミック修正を実行する段階であって、前記PASIDステートのエントリがレイジー無効化ステートを含む段階と、
前記PASIDに対応する仮想アドレス変換エントリを、アクティブにされる前にシステムページテーブルと同期する必要があるかを判断すべく、前記対応するPASIDステートのレイジー無効化チェックを実行する段階と、
前記1以上のPASIDステート更新リクエストのうちの前記第1のPASIDステート更新リクエストに対応する要求デバイスに、PASIDステート更新応答を送信する段階と、を備える方法。
[項目2]
前記マルチコアシステムにおけるオペレーティングシステムからのTLBシュートダウンを処理する段階を更に備える、項目1に記載の方法。
[項目3]
前記TLBシュートダウンを処理する段階は、IOTLBエントリを無効化する段階を有する、項目2に記載の方法。
[項目4]
前記TLBシュートダウンを処理する段階は、前記複数の異種デバイスのうちの一のデバイスのデバイスTLBエントリを無効化する段階を備える、項目2または3に記載の方法。
[項目5]
前記TLBシュートダウンを処理する段階は、
PASIDステートエントリを読み出す段階と、
前記PASIDステートエントリにおけるアクティブリファレンスカウントがゼロである場合には、前記PASIDステートエントリにレイジー無効化フィールドを設定する段階と、を有する項目2に記載の方法。
[項目6]
前記TLBシュートダウンを処理する段階は、
前記PASIDステートエントリにおける前記アクティブリファレンスカウントがゼロでない場合には、IOTLBエントリを無効化する段階と、
前記PASIDステートエントリにおける前記アクティブリファレンスカウントがゼロでない場合には、前記複数の異種デバイスのうちの一のデバイスのデバイスTLBエントリを無効化する段階と、を有する項目5に記載の方法。
[項目7]
前記PASIDステートエントリに前記レイジー無効化フィールドを設定する段階は、ロックド比較交換命令(locked compare-and-exchange instruction)およびアトミック読み出し/修正/書き込みの少なくとも1つであるオペレーションを使用して実行される、項目5に記載の方法。
[項目8]
前記PASIDステートの前記アトミック修正を実行する段階は、
前記第1のPASIDステート更新リクエストが、非アクティベーション更新を示す場合には、アクティブリファレンスカウントをデクリメントする段階を有する、項目1から6の何れか一項に記載の方法。
[項目9]
前記PASIDステートの前記アトミック修正を実行する段階は、
レイジー無効化フィールドを含むPASIDステートエントリを読み出す段階と、
前記第1のPASIDステート更新リクエストが、アクティベーション更新を示す場合には、アクティブリファレンスカウントをインクリメントする段階と、
前記第1のPASIDステート更新リクエストが、アクティベーション更新を示す場合には、前記レイジー無効化フィールドをクリアする段階と、を有する、項目1から6の何れか一項に記載の方法。
[項目10]
読み出された前記PASIDステートエントリに含まれる前記レイジー無効化フィールドが設定された場合には、IOTLBエントリを無効化する段階と、
読み出された前記PASIDステートエントリに含まれる前記レイジー無効化フィールドが設定され、前記第1のPASIDステート更新リクエストが、アクティベーション更新を示す場合には、前記第1のPASIDステート更新リクエストに対してデバイス同期フラグを設定する段階とを更に備える、項目9に記載の方法。
[項目11]
複数の仮想アドレス変換エントリを格納するTLBと、
前記TLBに接続され、前記複数の仮想アドレス変換エントリの一部に対応する複数のプロセスアドレス空間識別子(PASID)ステートエントリを保持するメモリ管理ユニットとを備え、
前記複数のPASIDステートエントリはそれぞれ、レイジー無効化ステートを含み、
前記メモリ管理ユニットは、マルチコアシステムにおける複数の異種デバイスのうちの一のデバイスから、第1のPASIDステート更新リクエストを受信すると、第1のPASIDステートエントリのアトミック修正を実行し、前記第1のPASIDステートエントリの前記レイジー無効化ステートを読み出して、前記PASIDに対応する仮想アドレス変換エントリを、アクティベーションの前にシステムページテーブルと同期する必要があるかを判断し、
前記メモリ管理ユニットは、少なくとも前記レイジー無効化ステートが読み出されると、アクティベーションの前にデバイスTLBエントリを同期するべく、前記一のデバイスに、PASIDステート更新応答を送信する、装置。
[項目12]
前記第1のPASIDステートエントリの前記アトミック修正は、
レイジー無効化ステートを含む前記第1のPASIDステートエントリを読み出すこと、
前記第1のPASIDステート更新リクエストが、アクティベーション更新を示す場合には、アクティブリファレンスカウントをインクリメントすること、および、
前記第1のPASIDステート更新リクエストが、アクティベーション更新を示す場合には、前記レイジー無効化ステートをクリアすること、を含む、項目11に記載の装置。
[項目13]
前記メモリ管理ユニットは更に、少なくとも前記レイジー無効化ステートが読み出されると、
前記第1のPASIDステートエントリに対応するTLB仮想アドレス変換エントリを無効化し、および、
前記一のデバイスに送信される前記PASIDステート更新応答に対する同期フラグを設定する、項目11または12に記載の装置。
[項目14]
前記メモリ管理ユニットは更に、
前記マルチコアシステムにおけるオペレーティングシステムからのTLBシュートダウンを処理する、項目11または12に記載の装置。
[項目15]
前記TLBシュートダウンを処理することは、
TLB仮想アドレス変換エントリを無効化することを含む、項目14に記載の装置。
[項目16]
前記TLBシュートダウンを処理することは、
前記複数の異種デバイスのうちの一のデバイスのデバイスTLBエントリを無効化することを含む、項目14に記載の装置。
[項目17]
前記TLBシュートダウンを処理することは、
PASIDステートエントリを読み出すこと、および、
前記PASIDステートエントリにおけるアクティブリファレンスカウントがゼロである場合には、前記PASIDステートエントリにレイジー無効化フィールドを設定すること、を含む、項目14に記載の装置。
[項目18]
前記TLBシュートダウンを処理することは、
前記PASIDステートエントリにおける前記アクティブリファレンスカウントがゼロでない場合には、前記TLBにおける仮想アドレス変換エントリを無効化すること、および、
前記PASIDステートエントリにおける前記アクティブリファレンスカウントがゼロでない場合には、前記複数の異種デバイスのうちの一のデバイスのデバイスTLBエントリを無効化すること、を含む、項目17に記載の装置。
[項目19]
前記PASIDステートエントリに前記レイジー無効化フィールドを設定することは、ロックド比較交換命令(locked compare-and-exchange instruction)およびアトミック読み出し/修正/書き込みの少なくとも1つであるオペレーションを使用して実行される、項目17に記載の装置。
[項目20]
マルチコアプロセッサであって、
第1の複数の同種処理コアと、
異種処理デバイスと、
複数の仮想アドレス変換エントリを格納するTLBと、
前記TLBに接続され、前記複数の仮想アドレス変換エントリの一部に対応する複数のプロセスアドレス空間識別子(PASID)ステートエントリを保持するメモリ管理ユニットとを備え、
前記複数のPASIDステートエントリはそれぞれ、レイジー無効化ステートを含み、
前記メモリ管理ユニットは、マルチコアプロセッサにおける複数の異種デバイスのうちの一のデバイスから、第1のPASIDステート更新リクエストを受信すると、第1のPASIDステートエントリのアトミック修正を実行し、前記第1のPASIDステートエントリの前記レイジー無効化ステートを読み出して、前記PASIDに対応する仮想アドレス変換エントリを、アクティベーションの前にシステムページテーブルと同期する必要があるかを判断し、
前記メモリ管理ユニットは、少なくとも前記レイジー無効化ステートが読み出されると、アクティベーションの前にデバイスTLBエントリを同期するべく、前記一のデバイスに、PASIDステート更新応答を送信する、マルチコアプロセッサ。
[項目21]
前記第1のPASIDステートエントリの前記アトミック修正は、
レイジー無効化ステートを含む前記第1のPASIDステートエントリを読み出すこと、
前記第1のPASIDステート更新リクエストが、アクティベーション更新を示す場合には、アクティブリファレンスカウントをインクリメントすること、および、
前記第1のPASIDステート更新リクエストが、アクティベーション更新を示す場合には、前記レイジー無効化ステートをクリアすること、を含む、項目20に記載のマルチコアプロセッサ。
[項目22]
前記メモリ管理ユニットは更に、
オペレーティングシステムからのTLBシュートダウンを処理する、項目20または21に記載のマルチコアプロセッサ。
[項目23]
前記TLBシュートダウンを処理することは、
PASIDステートエントリを読み出すこと、および、
前記PASIDステートエントリにおけるアクティブリファレンスカウントがゼロである場合には、前記PASIDステートエントリにレイジー無効化フィールドを設定すること、を含む、項目22に記載のマルチコアプロセッサ。
[項目24]
前記TLBシュートダウンを処理することは、
前記PASIDステートエントリにおける前記アクティブリファレンスカウントがゼロでない場合には、前記TLBにおける仮想アドレス変換エントリを無効化すること、および、
前記PASIDステートエントリにおける前記アクティブリファレンスカウントがゼロでない場合には、前記複数の異種デバイスのうちの一のデバイスのデバイスTLBエントリを無効化すること、を含む、項目23に記載のマルチコアプロセッサ。
[項目25]
前記PASIDステートエントリに前記レイジー無効化フィールドを設定することは、ロックド比較交換命令(locked compare-and-exchange instruction)およびアトミック読み出し/修正/書き込みの少なくとも1つであるオペレーションを使用して実行される、項目23に記載のマルチコアプロセッサ。
[項目26]
マルチコアシステムであって、
複数の仮想アドレス変換エントリを含む複数のページテーブルを格納するメモリと、
第1の複数の同種処理コアと、
異種処理デバイスと、
前記複数の仮想アドレス変換エントリを格納するTLBと、
前記TLBに接続され、前記複数の仮想アドレス変換エントリの一部に対応する複数のプロセスアドレス空間識別子(PASID)ステートエントリを保持するメモリ管理ユニットとを備え、
前記複数のPASIDステートエントリはそれぞれ、レイジー無効化ステートを含み、
前記メモリ管理ユニットは、前記マルチコアシステムにおける複数の異種デバイスのうちの一のデバイスから、第1のPASIDステート更新リクエストを受信すると、第1のPASIDステートエントリのアトミック修正を実行し、前記第1のPASIDステートエントリの前記レイジー無効化ステートを読み出して、前記PASIDに対応する仮想アドレス変換エントリを、アクティベーションの前にシステムページテーブルと同期する必要があるかを判断し、
前記メモリ管理ユニットは、少なくとも前記レイジー無効化ステートが読み出されると、アクティベーションの前にデバイスTLBエントリを同期するべく、前記一のデバイスに、PASIDステート更新応答を送信する、マルチコアシステム。
[項目27]
前記メモリ管理ユニットは更に、
前記マルチコアシステムにおけるオペレーティングシステムからのTLBシュートダウンを処理する、項目26に記載のマルチコアシステム。
[項目28]
前記TLBシュートダウンを処理することは、
前記複数の異種デバイスのうちの一のデバイスのデバイスTLBエントリを無効化すること、を含む、項目27に記載のマルチコアシステム。
[項目29]
前記TLBシュートダウンを処理することは、
PASIDステートエントリを読み出し、
前記PASIDステートエントリにおけるアクティブリファレンスカウントがゼロである場合には、前記PASIDステートエントリにおけるレイジー無効化フィールドを設定することを含む、項目27に記載のマルチコアシステム。
[項目30]
前記TLBシュートダウンを処理することは、
前記PASIDステートエントリにおける前記アクティブリファレンスカウントがゼロでない場合には、前記TLBにおける仮想アドレス変換エントリを無効化すること、および、
前記PASIDステートエントリにおける前記アクティブリファレンスカウントがゼロでない場合には、前記複数の異種デバイスのうちの一のデバイスのデバイスTLBエントリを無効化すること、を含む、項目29に記載のマルチコアシステム。
Claims (13)
- スレッドをアクティベートするステート更新リクエストをメモリ管理ユニットに発行するデバイスを備え、
前記メモリ管理ユニットは、前記スレッドに対応するアドレス空間のエントリの修正を実行し、前記ステート更新リクエストに対しデバイス同期フラグを設定し、
前記デバイス同期フラグは、前記ステート更新リクエストを発行する前記デバイスにアクティベーション前に当該デバイスのTLBエントリを同期する必要があることを示す、システム。 - 前記メモリ管理ユニットはIOMMUである、請求項1に記載のシステム。
- 前記メモリ管理ユニットは、ステート更新応答を用いて前記ステート更新リクエストに応答する、請求項1または2に記載のシステム。
- 前記デバイスは、非中央処理ユニットデバイスである、請求項1〜3の何れか一項に記載のシステム。
- 前記アドレス空間は、プロセスアドレス空間識別子(PASID)を用いて識別される、請求項1〜4の何れか一項に記載のシステム。
- 前記アドレス空間のエントリはIOTLB内のエントリに対応する、請求項1〜5の何れか一項に記載のシステム。
- 前記デバイスは、前記スレッドのアクティベーションの前に、前記ステート更新応答に応じてTLBエントリを同期する、請求項3、または、請求項3に従属する請求項4〜6の何れか一項に記載のシステム。
- スレッドを非アクティベートするステート更新リクエストをメモリ管理ユニットに発行するデバイスを備え、
前記メモリ管理ユニットは、前記スレッドに対応するアドレス空間のエントリの修正を実行し、前記ステート更新リクエストに対しデバイス同期フラグを設定する、システム。 - 前記メモリ管理ユニットはIOMMUである、請求項8に記載のシステム。
- 前記メモリ管理ユニットは、ステート更新応答を用いて前記ステート更新リクエストに応答する、請求項8または9に記載のシステム。
- 前記デバイスは、非中央処理ユニットデバイスである、請求項8〜10の何れか一項に記載のシステム。
- 前記アドレス空間は、プロセスアドレス空間識別子(PASID)を用いて識別される、請求項8〜11の何れか一項に記載のシステム。
- 前記アドレス空間のエントリはIOTLB内のエントリに対応する、請求項8〜12の何れか一項に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/191,327 US9916257B2 (en) | 2011-07-26 | 2011-07-26 | Method and apparatus for TLB shoot-down in a heterogeneous computing system supporting shared virtual memory |
US13/191,327 | 2011-07-26 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014522944A Division JP6032855B2 (ja) | 2011-07-26 | 2012-07-24 | 共有仮想メモリをサポートする異種コンピュータシステムにおけるtlbシュートダウンの方法および装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017037672A JP2017037672A (ja) | 2017-02-16 |
JP2017037672A5 JP2017037672A5 (ja) | 2017-03-23 |
JP6378733B2 true JP6378733B2 (ja) | 2018-08-22 |
Family
ID=47425977
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014522944A Expired - Fee Related JP6032855B2 (ja) | 2011-07-26 | 2012-07-24 | 共有仮想メモリをサポートする異種コンピュータシステムにおけるtlbシュートダウンの方法および装置 |
JP2016207724A Expired - Fee Related JP6378733B2 (ja) | 2011-07-26 | 2016-10-24 | 共有仮想メモリをサポートする異種コンピュータシステムにおけるtlbシュートダウンの方法および装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014522944A Expired - Fee Related JP6032855B2 (ja) | 2011-07-26 | 2012-07-24 | 共有仮想メモリをサポートする異種コンピュータシステムにおけるtlbシュートダウンの方法および装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9916257B2 (ja) |
JP (2) | JP6032855B2 (ja) |
KR (1) | KR101604929B1 (ja) |
CN (2) | CN103827839B (ja) |
DE (1) | DE202012007252U1 (ja) |
GB (1) | GB2506788B (ja) |
IN (1) | IN2014CN00386A (ja) |
TW (1) | TWI489278B (ja) |
WO (1) | WO2013016345A2 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014016650A1 (en) * | 2012-07-27 | 2014-01-30 | Freescale Semiconductor, Inc. | Circuitry for a computing system and computing system |
WO2014133527A1 (en) * | 2013-02-28 | 2014-09-04 | Intel Corporation | Leveraging an enumeration and/or configuration mechanism of one interconnect protocol for a different interconnect protocol |
US9223690B2 (en) * | 2013-10-04 | 2015-12-29 | Sybase, Inc. | Freeing memory safely with low performance overhead in a concurrent environment |
US9411745B2 (en) | 2013-10-04 | 2016-08-09 | Qualcomm Incorporated | Multi-core heterogeneous system translation lookaside buffer coherency |
US9384133B2 (en) * | 2014-05-30 | 2016-07-05 | International Business Machines Corporation | Synchronizing updates of page table status indicators and performing bulk operations |
US9785554B2 (en) | 2014-05-30 | 2017-10-10 | International Business Machines Corporation | Synchronizing updates of page table status indicators in a multiprocessing environment |
US20160098203A1 (en) * | 2014-12-18 | 2016-04-07 | Mediatek Inc. | Heterogeneous Swap Space With Dynamic Thresholds |
CN105846859B (zh) * | 2015-01-12 | 2019-05-24 | 芋头科技(杭州)有限公司 | 一种嵌入式操作系统实现蓝牙从设备功能的系统及方法 |
EP3054384B1 (en) * | 2015-02-04 | 2018-06-27 | Huawei Technologies Co., Ltd. | System and method for memory synchronization of a multi-core system |
WO2016206012A1 (en) * | 2015-06-24 | 2016-12-29 | Intel Corporation | Systems and methods for isolating input/output computing resources |
EP3353659A4 (en) * | 2015-09-25 | 2019-05-01 | Intel Corporation | SYSTEMS AND METHODS FOR CONTROLLING INPUT / OUTPUT COMPUTER RESOURCES |
US10942683B2 (en) | 2015-10-28 | 2021-03-09 | International Business Machines Corporation | Reducing page invalidation broadcasts |
US9898226B2 (en) * | 2015-10-28 | 2018-02-20 | International Business Machines Corporation | Reducing page invalidation broadcasts in virtual storage management |
US9892024B2 (en) * | 2015-11-02 | 2018-02-13 | Sony Interactive Entertainment America Llc | Backward compatibility testing of software in a mode that disrupts timing |
US10386904B2 (en) | 2016-03-31 | 2019-08-20 | Qualcomm Incorporated | Hardware managed power collapse and clock wake-up for memory management units and distributed virtual memory networks |
US10120814B2 (en) * | 2016-04-01 | 2018-11-06 | Intel Corporation | Apparatus and method for lazy translation lookaside buffer (TLB) coherence |
US10067870B2 (en) | 2016-04-01 | 2018-09-04 | Intel Corporation | Apparatus and method for low-overhead synchronous page table updates |
US10540292B2 (en) | 2016-06-08 | 2020-01-21 | Google Llc | TLB shootdowns for low overhead |
DK3502906T3 (da) * | 2016-06-08 | 2021-08-30 | Google Llc | Tlb-shootdown for lav overhead |
US10282308B2 (en) * | 2016-06-23 | 2019-05-07 | Advanced Micro Devices, Inc. | Method and apparatus for reducing TLB shootdown overheads in accelerator-based systems |
US20180276175A1 (en) * | 2017-03-22 | 2018-09-27 | National Instruments Corporation | Direct Network Access by a Memory Mapped Peripheral Device for Scheduled Data Transfer on the Network |
CN108932213A (zh) * | 2017-10-10 | 2018-12-04 | 北京猎户星空科技有限公司 | 多操作系统间的通讯方法、装置、电子设备和存储介质 |
US10725932B2 (en) | 2017-11-29 | 2020-07-28 | Qualcomm Incorporated | Optimizing headless virtual machine memory management with global translation lookaside buffer shootdown |
US10990436B2 (en) * | 2018-01-24 | 2021-04-27 | Dell Products L.P. | System and method to handle I/O page faults in an I/O memory management unit |
US11106613B2 (en) * | 2018-03-29 | 2021-08-31 | Intel Corporation | Highly scalable accelerator |
US10846235B2 (en) | 2018-04-28 | 2020-11-24 | International Business Machines Corporation | Integrated circuit and data processing system supporting attachment of a real address-agnostic accelerator |
DE102018004086A1 (de) | 2018-05-18 | 2019-11-21 | Singulus Technologies Ag | Durchlaufanlage und Verfahren zum Beschichten von Substraten |
KR102655094B1 (ko) * | 2018-11-16 | 2024-04-08 | 삼성전자주식회사 | 메모리를 공유하는 이종의 프로세서들을 포함하는 스토리지 장치 및 그것의 동작 방법 |
US11036649B2 (en) | 2019-04-04 | 2021-06-15 | Cisco Technology, Inc. | Network interface card resource partitioning |
CN110968530B (zh) * | 2019-11-19 | 2021-12-03 | 华中科技大学 | 一种基于非易失性内存的键值存储系统和内存访问方法 |
US12086082B2 (en) * | 2020-09-21 | 2024-09-10 | Intel Corporation | PASID based routing extension for scalable IOV systems |
CN116594925B (zh) * | 2023-04-24 | 2024-09-27 | 上海天数智芯半导体有限公司 | 一种地址转换系统、处理器、地址转换方法及电子设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02183849A (ja) * | 1989-01-11 | 1990-07-18 | Fujitsu Ltd | アドレス対応表無効化処理方式 |
JPH06139149A (ja) * | 1992-10-29 | 1994-05-20 | Mitsubishi Electric Corp | 多重仮想空間制御装置 |
US6175876B1 (en) | 1998-07-09 | 2001-01-16 | International Business Machines Corporation | Mechanism for routing asynchronous state changes in a 3-tier application |
US6779049B2 (en) * | 2000-12-14 | 2004-08-17 | International Business Machines Corporation | Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism |
US7111145B1 (en) | 2003-03-25 | 2006-09-19 | Vmware, Inc. | TLB miss fault handler and method for accessing multiple page tables |
US7073043B2 (en) * | 2003-04-28 | 2006-07-04 | International Business Machines Corporation | Multiprocessor system supporting multiple outstanding TLBI operations per partition |
US7552254B1 (en) * | 2003-07-30 | 2009-06-23 | Intel Corporation | Associating address space identifiers with active contexts |
US7093100B2 (en) * | 2003-11-14 | 2006-08-15 | International Business Machines Corporation | Translation look aside buffer (TLB) with increased translational capacity for multi-threaded computer processes |
US7069389B2 (en) * | 2003-11-26 | 2006-06-27 | Microsoft Corporation | Lazy flushing of translation lookaside buffers |
US7562179B2 (en) * | 2004-07-30 | 2009-07-14 | Intel Corporation | Maintaining processor resources during architectural events |
US7376807B2 (en) | 2006-02-23 | 2008-05-20 | Freescale Semiconductor, Inc. | Data processing system having address translation bypass and method therefor |
US7555628B2 (en) * | 2006-08-15 | 2009-06-30 | Intel Corporation | Synchronizing a translation lookaside buffer to an extended paging table |
US7917725B2 (en) | 2007-09-11 | 2011-03-29 | QNX Software Systems GmbH & Co., KG | Processing system implementing variable page size memory organization using a multiple page per entry translation lookaside buffer |
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 |
US9535849B2 (en) * | 2009-07-24 | 2017-01-03 | Advanced Micro Devices, Inc. | IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect |
US8364902B2 (en) | 2009-08-07 | 2013-01-29 | Via Technologies, Inc. | Microprocessor with repeat prefetch indirect instruction |
US8719547B2 (en) | 2009-09-18 | 2014-05-06 | Intel Corporation | Providing hardware support for shared virtual memory between local and remote physical memory |
EP2622525A1 (en) | 2010-09-30 | 2013-08-07 | Hewlett-Packard Development Company, L.P. | Virtual machines for virus scanning |
JP5956754B2 (ja) | 2012-01-06 | 2016-07-27 | 株式会社荏原製作所 | 真空排気システム |
-
2011
- 2011-07-26 US US13/191,327 patent/US9916257B2/en active Active
-
2012
- 2012-07-24 CN CN201280031876.1A patent/CN103827839B/zh not_active Expired - Fee Related
- 2012-07-24 GB GB1400358.6A patent/GB2506788B/en not_active Expired - Fee Related
- 2012-07-24 WO PCT/US2012/047991 patent/WO2013016345A2/en active Application Filing
- 2012-07-24 IN IN386CHN2014 patent/IN2014CN00386A/en unknown
- 2012-07-24 JP JP2014522944A patent/JP6032855B2/ja not_active Expired - Fee Related
- 2012-07-24 KR KR1020147002511A patent/KR101604929B1/ko active IP Right Grant
- 2012-07-24 CN CN201611013967.9A patent/CN106776379B/zh not_active Expired - Fee Related
- 2012-07-25 TW TW101126812A patent/TWI489278B/zh not_active IP Right Cessation
- 2012-07-26 DE DE202012007252U patent/DE202012007252U1/de not_active Expired - Lifetime
-
2016
- 2016-10-24 JP JP2016207724A patent/JP6378733B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2506788B (en) | 2020-05-27 |
CN103827839B (zh) | 2016-12-21 |
WO2013016345A3 (en) | 2013-04-11 |
GB2506788A (en) | 2014-04-09 |
TWI489278B (zh) | 2015-06-21 |
IN2014CN00386A (ja) | 2015-04-03 |
CN106776379B (zh) | 2021-09-07 |
KR101604929B1 (ko) | 2016-03-18 |
WO2013016345A2 (en) | 2013-01-31 |
TW201333700A (zh) | 2013-08-16 |
JP2014526102A (ja) | 2014-10-02 |
JP6032855B2 (ja) | 2016-11-30 |
GB201400358D0 (en) | 2014-02-26 |
KR20140028137A (ko) | 2014-03-07 |
US9916257B2 (en) | 2018-03-13 |
JP2017037672A (ja) | 2017-02-16 |
CN106776379A (zh) | 2017-05-31 |
DE202012007252U1 (de) | 2012-11-29 |
US20130031333A1 (en) | 2013-01-31 |
CN103827839A (zh) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6378733B2 (ja) | 共有仮想メモリをサポートする異種コンピュータシステムにおけるtlbシュートダウンの方法および装置 | |
US9921968B2 (en) | Multi-core shared page miss handler | |
US20080162868A1 (en) | Means to share translation lookaside buffer (TLB) entries between different contexts | |
US20120239904A1 (en) | Seamless interface for multi-threaded core accelerators | |
US9465670B2 (en) | Generational thread scheduler using reservations for fair scheduling | |
US20120159101A1 (en) | Information processing device | |
WO2008005687A2 (en) | Global overflow method for virtualized transactional memory | |
US20140173203A1 (en) | Block Memory Engine | |
CN112463657B (zh) | 一种地址转换缓存清除指令的处理方法和处理装置 | |
US12072813B2 (en) | Method for remapping virtual address to physical address and address remapping unit | |
US20230127938A1 (en) | Method and device for rapidly searching cache | |
JP2015197802A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP7359858B2 (ja) | 仮想化された環境におけるパススルーデバイスのための直接メモリアクセストラッキング | |
JP2008123333A (ja) | 半導体集積回路装置 | |
JP2008123333A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161121 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171031 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20180130 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20180330 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180501 |
|
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: 20180529 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20180627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180727 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6378733 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |