JP2012509529A - トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 - Google Patents
トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 Download PDFInfo
- Publication number
- JP2012509529A JP2012509529A JP2011536630A JP2011536630A JP2012509529A JP 2012509529 A JP2012509529 A JP 2012509529A JP 2011536630 A JP2011536630 A JP 2011536630A JP 2011536630 A JP2011536630 A JP 2011536630A JP 2012509529 A JP2012509529 A JP 2012509529A
- Authority
- JP
- Japan
- Prior art keywords
- handler
- execution
- transactional
- event
- transaction
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
- G06F9/528—Mutual exclusion algorithms by using speculative mechanisms
Abstract
Description
本発明は、プロセッサ実行の分野に関し、特に、命令群の実行に関する。
本出願は、本出願とともに出願された、 Gad Sheafferらによる、「Extending Cache Coherency Protocols to Support Locally Buffered Data」と題する、西暦2008年12月30日付け出願の米国特許出願第12/346543号(代理人整理番号P29132)、Gad Sheafferらによる、「Memory Model for Hardware Attributes Within a Transactional Memory System」と題する、西暦2008年12月30日付け出願の米国特許出願第12/346539号(代理人整理番号P29131)、Gad Sheafferらによる、「Read and Write Monitoring Attributes in Transactional Memory (TM) Systems」と題する、西暦2008年12月30日付け出願の米国特許出願第12/346530号(代理人整理番号P29130)、及びGad Sheafferらによる、「Metaphysical Address Space for Holding Lossy Meta−data in Hardware」と題する、西暦2008年12月30日付け出願の米国特許出願第12/346500号(代理人整理番号P29128)の特許出願に関連している。
トランザクションがコミットすると、ログインされたデータは、無効にされるか、又は無視される。しかし、トランザクションがアボートした場合、先行データは、再ロードされるか、又は有効データとして、大局的に識別される。
Claims (38)
- 装置であって、
トランザクショナル・ハンドラへの参照を保持するための、非特権ソフトウェアによって修正可能である記憶エレメントと、
前記記憶エレメントに結合され、トランザクションを実行し、ハンドラ・イベントに応じて前記記憶エレメントに保持される対象の、前記トランザクショナル・ハンドラへの前記参照に基づいて前記トランザクションから前記トランザクショナル・ハンドラに実行を向けるための実行リソースと
を備える装置。 - 請求項1記載の装置であって、前記記憶エレメントはレジスタを含み、前記トランザクショナル・ハンドラに対する前記参照は仮想アドレスを含む装置。
- 請求項2記載の装置であって、前記トランザクションから前記トランザクショナル・ハンドラに実行を向けるための実行リソースは、前記仮想アドレス及びオフセットに関連付けられた目標アドレスにより、ジャンプ・タイプの動作を行うための前記実行リソースを含む装置。
- 請求項1記載の装置であって、前記非特権ソフトウェアはトランザクショナル・ランタイム・コードを含む装置。
- 請求項1記載の装置であって、前記ハンドラ・イベントは非同期ハンドラ・イベントを含む装置。
- 請求項1記載の装置であって、前記ハンドラ・イベントは同期ハンドラ・イベントを含む装置。
- 請求項1記載の装置であって、前記ハンドラ・イベントは、属性情報の欠如、属性情報の喪失、トランザクションの範囲内で不正な命令の実行、非チェックポイント・レジスタへのアクセス、監視されたデータの喪失、バッファリングされたデータの喪失、トランザクションの範囲内で禁止されたメモリ・タイプへのアクセス、例外、及びシステム・コールを含む群から選択されるイベントを含む装置。
- 請求項1記載の装置であって、第2の記憶エレメントを更に備え、前記第2の記憶エレメントも、前記ハンドラ・イベントを含む複数のハンドラ・イベントを規定するために、前記非特権ソフトウェアによって修正可能である装置。
- 請求項8記載の装置であって、複数のハンドラ・イベントを規定するための前記第2の記憶エレメントは、ビット・ベクトルを保持するための前記第2の記憶エレメントを含み、前記ビット・ベクトルのビットはそれぞれ、前記複数のハンドラ・イベントのうちの1つに対応し、前記ハンドラ・イベントに対応するビットは、前記ハンドラ・イベントに応じて、前記トランザクショナル・ハンドラに実行を前記実行リソースが向けることを可能にするために前記非特権ソフトウェアによってセットされる装置。
- 請求項8記載の装置であって、前記非特権ソフトウェアによって読み出し可能な第3の記憶エレメントを更に備え、前記第3の記憶エレメントは、前記ハンドラ・イベントに応じて前記トランザクショナル・ハンドラへの前記参照に基づいて前記トランザクショナル・ハンドラから実行を向ける前記ハンドラ・イベントを前記実行リソースに応じて規定するためのステータス値を保持する装置。
- 請求項10記載の装置であって、前記トランザクションから前記トランザクショナル・ハンドラへの実行リソース・ベクトル実行前に、現在の命令ポインタへの参照により、更新される対象の第4の記憶エレメントを更に備える装置。
- 請求項11記載の装置であって、前記ハンドラ・イベントを処理する前記トランザクショナル・ハンドラに応じて、前記実行リソースは、前記トランザクションに実行を戻すために前記目標として前記現在の命令ポインタにより、ジャンプ・タイプの命令を実行する装置。
- プロセッサであって、
トランザクショナル・ハンドラのアドレスへの参照を保持するために非特権レベル・ソフトウェアによって更新することができるレジスタと、
前記トランザクショナル・ハンドラの前記アドレスへの前記参照に基づいてトランザクションの実行中にハンドラ・イベントに応じて特権レベル・ソフトウェアの介入なしで制御フローを前記トランザクショナル・ハンドラに移行するための実行ロジックと
を備えるプロセッサ。 - 請求項13記載のプロセッサであって、前記トランザクショナル・ハンドラの前記アドレスは、前記トランザクショナル・ハンドラの開始アドレスであり、前記トランザクショナル・ハンドラの前記アドレスへの前記参照は仮想アドレスを含むプロセッサ。
- 請求項13記載のプロセッサであって、前記トランザクショナル・ハンドラの前記アドレスへの前記参照に基づいてトランザクションの実行中にハンドラ・イベントに応じて特権レベル・ソフトウェアの介入なしで前記制御フローを前記トランザクショナル・ハンドラに移行するための前記実行ロジックは、目標アドレスとして前記レジスタに保持された前記トランザクショナル・ハンドラの前記アドレスへの前記参照からの、前記トランザクション・ハンドラの前記アドレスを利用した第1のジャンプ・タイプ動作を実行するための実行ロジックを含むプロセッサ。
- 請求項15記載のプロセッサであって、戻りレジスタを更に備え、前記目標アドレスとして前記レジスタに保持された前記トランザクショナル・ハンドラの前記アドレスへの前記参照からの前記トランザクショナル・ハンドラの前記アドレスを利用した前記ジャンプ・タイプ動作を前記実行ロジックが実行する前に、前記戻りレジスタは、前記実行ロジックが前記第1のジャンプ・タイプ動作を実行する直前の現在の位置において命令ポインタ・アドレスへの参照によって更新されるプロセッサ。
- 請求項16記載のプロセッサであって、前記実行ロジックは、前記第1のジャンプ・タイプ動作の実行に応じて前記ハンドラ・イベントを処理するために前記トランザクション・ハンドラを更に実行し、前記ハンドラ・イベントを処理するために前記実行ロジックが前記トランザクション・ハンドラを実行した後、前記実行ロジックは、前記実行ロジックが前記第1のジャンプ・タイプ動作を実行する直前に前記現在の位置に戻るために前記戻りレジスタに保持された前記命令ポインタ・アドレスへの前記参照からの、前記命令ポインタ・アドレスを利用した第2のジャンプ・タイプ動作を実行するプロセッサ。
- 請求項13記載のプロセッサであって、前記ハンドラ・イベントは、属性情報の欠如、属性情報の喪失、及びバッファリングされたデータの喪失を含む群から選択された非同期イベントを含むプロセッサ。
- 請求項13記載のプロセッサであって、前記ハンドラ・イベントは、前記トランザクションの範囲内の不正な命令の実行、非チェックポイント・レジスタに対するアクセス動作、不正なメモリ・タイプ、例外、及びシステム・コールを含む群から選択される同期イベントを含むプロセッサ。
- 請求項13記載のプロセッサであって、非特権レベル・ソフトウェアは、オペレーティング・システム・ソフトウェア、カーネル・ソフトウェア、及び仮想マシン・モニタ(VMM)ソフトウェアを含む群から選択されるソフトウェアを含むプロセッサ。
- 装置であって、
複数のトランザクショナル・ハンドラ・イベントを規定するためにユーザレベル・ソフトウェアによって更新することができる記憶エレメントと、
前記複数のトランザクショナル・ハンドラ・イベントのうちのトランザクショナル・ハンドラ・イベントの検出に応じてトランザクションからトランザクショナル・ハンドラへ実行を向けるための実行ロジックと
を備える装置。 - 請求項21記載の装置であって、実行リソースは、オペレーティング・システム(OS)介入なしで、前記トランザクションから前記トランザクショナル・ハンドラへ実行を向ける装置。
- 請求項22記載の装置であって、非特権ソフトウェアは、トランザクショナル・ランタイム・ソフトウェア、前記トランザクションを含むアプリケーション・コード、及び仮想マシン・コードを含む群から選択される装置。
- 請求項21記載の装置であって、前記複数のイベントのうちの第1のトランザクショナル・ハンドラ・イベントは非同期ハンドラ・イベントを含み、前記複数のイベントのうちの第2のトランザクショナル・ハンドラ・イベントは同期ハンドラ・イベントを含む装置。
- 請求項21記載の装置であって、前記複数のイベントのうちの第1のトランザクショナル・ハンドラ・イベントは非同期ハンドラ・イベントを含み、前記複数のイベントのうちの第2のトランザクショナル・ハンドラ・イベントは同期ハンドラ・イベントを含む装置。
- 請求項21記載の装置であって、前記複数のハンドラ・イベントはそれぞれ、属性情報の欠如、属性情報の喪失、トランザクションの範囲内で不正な命令の実行、非チェックポイント・レジスタへのアクセス、及び監視されたデータの喪失を含む群から個々に選択される装置。
- システムであって、
トランザクショナル・ハンドラへの参照を保持するためのユーザ・アドレス指定可能なレジスタ、第2のレジスタ、及び第1のレジスタと前記第2のレジスタに結合された実行ロジックを含むプロセッサであって、トランザクションの実行中のハンドラ・イベントに応じて、前記実行ロジックは、前記トランザクション内の現在の命令位置への参照により、前記第2のレジスタを更新し、前記ハンドラ・イベントを処理するために、前記ユーザ・アドレス指定可能なレジスタに保持された前記トランザクショナル・ハンドラへの前記参照に基づいて前記トランザクショナル・ハンドラに制御フローを向け、前記ハンドラ・イベントを処理するための前記トランザクション・ハンドラの実行後に、前記第2のレジスタに保持された前記現在の命令位置への前記参照に基づいて前記現在の命令の位置にもう一度、制御のフローを向けるプロセッサと、
前記プロセッサに結合された入出力(IO)デバイスと
を備えるシステム。 - 請求項27記載のシステムであって、前記トランザクショナル・ハンドラへの前記参照は、物理アドレスに変換されると、前記トランザクショナル・ハンドラの開始物理アドレスを参照するためのオフセット及び仮想アドレスを含むシステム。
- 請求項28記載のシステムであって、前記トランザクションを含むユーザコードは、実行されると、前記トランザクションの実行前に前記オフセット及び前記仮想アドレスを前記ユーザ・アドレス指定可能なレジスタにロードするシステム。
- 請求項27記載のシステムであって、前記トランザクション内の前記現在の命令位置への前記参照は、前記現在の命令位置に関連付けられた命令ポインタ・アドレスへの参照を含み、前記第2のレジスタに保持された命令ポインタ・アドレスへの前記参照に基づいて前記現在の命令位置にもう一度制御フローを向けるための前記実行ロジックは、戻り目標アドレスとしての前記命令ポインタ・アドレスにより、戻りジャンプ動作を実行するための前記実行ロジックを含むシステム。
- 請求項30記載のシステムであって、前記ハンドラ・イベントを処理するために前記ユーザ・アドレス指定可能なレジスタに保持された前記トランザクショナル・ハンドラへの前記参照に基づいて前記トランザクショナル・ハンドラに制御フローを向けるための前記実行ロジックは、目標アドレスとして前記ユーザ・アドレス指定可能なレジスタに保持された前記トランザクショナル・ハンドラへの前記参照に関連付けられた目標アドレスにより、ジャンプ動作を実行するための前記実行ロジックを備えるシステム。
- 方法であって、
プロセッサのハードウェア内の非特権レベル・ソフトウェアでトランザクショナル・ハンドラを登録する工程と、
前記プロセッサによるトランザクションの実行中にハンドラ・イベントを検出する工程と、
特権レベル・ソフトウェアの介入なしでハードウェアにおける前記トランザクショナル・ハンドラの実行に、前記トランザクションの実行から制御フローを向ける工程と、
前記トランザクショナル・ハンドラにより、前記ハンドラ・イベントを処理した後、前記特権レベル・ソフトウェアの介入なしで前記トランザクションの実行に前記制御フローを戻す工程と
を含む方法。 - 請求項32記載の方法であって、プロセッサのハードウェア内の非特権化レベル・ソフトウェアでトランザクショナル・ハンドラを登録する工程は、前記トランザクショナル・ハンドラに関連付けられたアドレスの表現を第1のレジスタにロードする工程を含む方法。
- 請求項33記載の方法であって、前記トランザクションの実行から前記トランザクショナル・ハンドラの実行に制御フローを向ける前に命令ポインタ・アドレスを第2のレジスタに記憶する工程を更に含む方法。
- 請求項34記載の方法であって、特権レベル・ソフトウェアの介入なしで、ハードウェア内の前記トランザクショナル・ハンドラの実行に前記トランザクションの実行から制御フローを向ける工程は、前記トランザクショナル・ハンドラの実行のために前記特権レベル・ソフトウェアの介入なしで前記トランザクショナル・ハンドラに関連付けられた前記アドレスへ実行をジャンプさせる工程を含む方法。
- 請求項35記載の方法であって、前記トランザクショナル・ハンドラにより、前記ハンドラ・イベントを処理した後、前記特権レベル・ソフトウェアの介入なしで前記トランザクションの実行に前記制御フローを戻す工程は、前記トランザクショナル・ハンドラにより、前記ハンドラ・イベントを処理した後、前記特権レベル・ソフトウェアの介入なしで、前記第2のレジスタに記憶された前記命令ポインタ・アドレスへ実行をジャンプさせる工程を含む方法。
- 請求項34記載の方法であって、前記ハンドラ・イベントを検出する前に第3のレジスタ内の前記非特権レベル・ソフトウェアにより、前記ハンドラ・イベントを特定する工程を更に含む方法。
- 請求項37記載の方法であって、前記ハンドラ・イベントの検出に応じて前記トランザクションの実行から前記トランザクショナル・ハードウェアの実行に前記制御フローを向ける前に前記ハンドラ・イベントの表現を保持するために第4のレジスタを更新する工程を更に含む方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/346,518 | 2008-12-30 | ||
US12/346,518 US9785462B2 (en) | 2008-12-30 | 2008-12-30 | Registering a user-handler in hardware for transactional memory event handling |
PCT/US2009/068081 WO2010077872A2 (en) | 2008-12-30 | 2009-12-15 | Registering a user-handler in hardware for transactional memory event handling |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014003360A Division JP5944417B2 (ja) | 2008-12-30 | 2014-01-10 | トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012509529A true JP2012509529A (ja) | 2012-04-19 |
JP5650123B2 JP5650123B2 (ja) | 2015-01-07 |
Family
ID=42286511
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011536630A Expired - Fee Related JP5650123B2 (ja) | 2008-12-30 | 2009-12-15 | トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 |
JP2014003360A Expired - Fee Related JP5944417B2 (ja) | 2008-12-30 | 2014-01-10 | トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014003360A Expired - Fee Related JP5944417B2 (ja) | 2008-12-30 | 2014-01-10 | トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9785462B2 (ja) |
JP (2) | JP5650123B2 (ja) |
KR (1) | KR101291016B1 (ja) |
CN (1) | CN101950259B (ja) |
BR (1) | BRPI0920789A2 (ja) |
TW (1) | TWI476595B (ja) |
WO (1) | WO2010077872A2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2891984A2 (en) | 2014-01-06 | 2015-07-08 | Fujitsu Limited | Transaction abort method in a multi-core CPU |
JP2015523654A (ja) * | 2012-06-15 | 2015-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 制約付きトランザクションの実行 |
JP2015526789A (ja) * | 2012-06-15 | 2015-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トランザクション実行におけるプログラム割り込みフィルタ処理 |
JP2015526788A (ja) * | 2012-06-15 | 2015-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トランザクション診断ブロック |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799582B2 (en) | 2008-12-30 | 2014-08-05 | Intel Corporation | Extending cache coherency protocols to support locally buffered data |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US9110808B2 (en) * | 2009-12-30 | 2015-08-18 | International Business Machines Corporation | Formation of an exclusive ownership coherence state in a lower level cache upon replacement from an upper level cache of a cache line in a private shared owner state |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US8606907B1 (en) | 2011-07-20 | 2013-12-10 | Google Inc. | Multi-tiered system for receiving and reporting web site traffic data |
US8606825B1 (en) | 2011-07-20 | 2013-12-10 | Google Inc. | Query response streams based on dynamic query library |
US8560685B1 (en) | 2011-07-20 | 2013-10-15 | Google Inc. | Probabilistic data storage owner election and replication protocol |
US10387324B2 (en) | 2011-12-08 | 2019-08-20 | Intel Corporation | Method, apparatus, and system for efficiently handling multiple virtual address mappings during transactional execution canceling the transactional execution upon conflict between physical addresses of transactional accesses within the transactional execution |
WO2013089767A1 (en) * | 2011-12-16 | 2013-06-20 | Intel Corporation | Method and system using exceptions for code specialization in a computer architecture that supports transactions |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US9619345B2 (en) | 2012-09-13 | 2017-04-11 | International Business Machines Corporation | Apparatus for determining failure context in hardware transactional memories |
US9122873B2 (en) | 2012-09-14 | 2015-09-01 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9411739B2 (en) * | 2012-11-30 | 2016-08-09 | Intel Corporation | System, method and apparatus for improving transactional memory (TM) throughput using TM region indicators |
US9424198B2 (en) * | 2012-11-30 | 2016-08-23 | Intel Corporation | Method, system and apparatus including logic to manage multiple memories as a unified exclusive memory |
US10061609B2 (en) | 2013-06-26 | 2018-08-28 | Intel Corporation | Method and system using exceptions for code specialization in a computer architecture that supports transactions |
US9916161B2 (en) * | 2015-06-25 | 2018-03-13 | Intel Corporation | Instruction and logic for tracking fetch performance bottlenecks |
US9733689B2 (en) * | 2015-06-27 | 2017-08-15 | Intel Corporation | Hardware apparatuses and methods to perform transactional power management |
WO2017012667A1 (en) * | 2015-07-22 | 2017-01-26 | Huawei Technologies Co., Ltd. | Hardware transactional memory in non volatile memory with log and no lock |
US10037147B2 (en) * | 2015-12-14 | 2018-07-31 | International Business Machines Corporation | Sharing files in a multisystem environment |
US10324728B2 (en) | 2015-12-17 | 2019-06-18 | International Business Machines Corporation | Lightweight interrupts for condition checking |
US10318295B2 (en) * | 2015-12-22 | 2019-06-11 | Intel Corporation | Transaction end plus commit to persistence instructions, processors, methods, and systems |
US10552212B2 (en) * | 2016-11-28 | 2020-02-04 | Arm Limited | Data processing |
CN108345471B (zh) * | 2017-05-08 | 2019-10-25 | 清华大学 | 检测装置处理异步事件的方法及检测装置 |
US10684896B2 (en) | 2017-02-20 | 2020-06-16 | Tsinghua University | Method for processing asynchronous event by checking device and checking device |
US10783011B2 (en) | 2017-09-21 | 2020-09-22 | Qualcomm Incorporated | Deadlock free resource management in block based computing architectures |
US10990369B2 (en) * | 2018-04-30 | 2021-04-27 | EMC IP Holding Company LLC | Repurposing serverless application copies |
US11615023B2 (en) | 2018-09-17 | 2023-03-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Bit register in shared memory indicating the processor and the software handlers |
CN110333935B (zh) * | 2019-06-05 | 2022-12-02 | 创新先进技术有限公司 | 事务请求处理方法及装置 |
CN113227975B (zh) * | 2021-03-31 | 2023-03-17 | 华为技术有限公司 | 一种同步方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007002550A2 (en) * | 2005-06-23 | 2007-01-04 | Intel Corporation | Primitives to enhance thread-level speculation |
US20070239942A1 (en) * | 2006-03-30 | 2007-10-11 | Ravi Rajwar | Transactional memory virtualization |
WO2007115003A1 (en) * | 2006-03-30 | 2007-10-11 | Intel Corporation | Transactional memory in out-of-order processors |
JP2007531167A (ja) * | 2004-03-31 | 2007-11-01 | インテル コーポレイション | ユーザーレベルのマルチスレッドを提供する方法およびシステム |
JP2008525921A (ja) * | 2004-12-30 | 2008-07-17 | インテル コーポレイション | オペレーティング・システム介入なしにos隔離シーケンサー上でスレッドをスケジューリングする機構 |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8728494D0 (en) | 1987-12-05 | 1988-01-13 | Int Computers Ltd | Multi-cache data storage system |
JP2651037B2 (ja) | 1990-04-23 | 1997-09-10 | 株式会社日立製作所 | アドレスバス制御装置 |
US6216200B1 (en) | 1994-10-14 | 2001-04-10 | Mips Technologies, Inc. | Address queue |
JP3546694B2 (ja) | 1998-03-31 | 2004-07-28 | 日本電気株式会社 | マルチスレッド計算機システム及びマルチスレッド実行制御方法 |
US6526481B1 (en) | 1998-12-17 | 2003-02-25 | Massachusetts Institute Of Technology | Adaptive cache coherence protocols |
US6272602B1 (en) | 1999-03-08 | 2001-08-07 | Sun Microsystems, Inc. | Multiprocessing system employing pending tags to maintain cache coherence |
US6549996B1 (en) | 1999-07-02 | 2003-04-15 | Oracle Corporation | Scalable multiple address space server |
US6490668B2 (en) | 2000-12-15 | 2002-12-03 | Hewlett-Packard Company | System and method for dynamically moving checksums to different memory locations |
US7035963B2 (en) | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US6499085B2 (en) | 2000-12-29 | 2002-12-24 | Intel Corporation | Method and system for servicing cache line in response to partial cache line request |
US20030005219A1 (en) | 2001-06-29 | 2003-01-02 | Royer Robert J. | Partitioning cache metadata state |
US7272622B2 (en) | 2001-10-29 | 2007-09-18 | Intel Corporation | Method and apparatus for parallel shift right merge of data |
US7565687B2 (en) | 2002-02-08 | 2009-07-21 | International Business Machines Corporation | Transmission control system, server, terminal station, transmission control method, program and storage medium |
US7032125B2 (en) | 2002-04-25 | 2006-04-18 | Lsi Logic Corporation | Method for loosely coupling metadata and data in a storage array |
US7003631B2 (en) | 2002-05-15 | 2006-02-21 | Broadcom Corporation | System having address-based intranode coherency and data-based internode coherency |
US6944796B2 (en) * | 2002-06-27 | 2005-09-13 | Intel Corporation | Method and system to implement a system event log for system manageability |
US7062610B2 (en) | 2002-09-30 | 2006-06-13 | Advanced Micro Devices, Inc. | Method and apparatus for reducing overhead in a data processing system with a cache |
US20040111593A1 (en) | 2002-12-05 | 2004-06-10 | International Business Machines Corporation | Interrupt handler prediction method and system |
FR2859307A1 (fr) | 2003-08-27 | 2005-03-04 | St Microelectronics Sa | Memoire cache a lecture asynchrone et dispositif de controle de l'acces a une memoire de donnees comprenant une telle memoire cache |
US20050050305A1 (en) * | 2003-08-28 | 2005-03-03 | Kissell Kevin D. | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
US7587615B2 (en) | 2003-09-12 | 2009-09-08 | International Business Machines Corporation | Utilizing hardware transactional approach to execute code after initially utilizing software locking by employing pseudo-transactions |
US20050086446A1 (en) * | 2003-10-04 | 2005-04-21 | Mckenney Paul E. | Utilizing software locking approach to execute code upon failure of hardware transactional approach |
US20050091459A1 (en) | 2003-10-23 | 2005-04-28 | Nhon Quach | Flexible mechanism for enforcing coherency among caching structures |
US7237131B2 (en) | 2003-12-30 | 2007-06-26 | Intel Corporation | Transaction-based power management in a computer system |
US7177987B2 (en) | 2004-01-20 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | System and method for responses between different cache coherency protocols |
US7395374B2 (en) | 2004-01-20 | 2008-07-01 | Hewlett-Packard Company, L.P. | System and method for conflict responses in a cache coherency protocol with ordering point migration |
GB0407384D0 (en) * | 2004-03-31 | 2004-05-05 | Ignios Ltd | Resource management in a multicore processor |
PT1735983E (pt) | 2004-04-14 | 2008-05-15 | Telecom Italia Spa | Método e sistema para gerir distribuição de conteúdos em redes de comunicação |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US7395382B1 (en) * | 2004-08-10 | 2008-07-01 | Sun Microsystems, Inc. | Hybrid software/hardware transactional memory |
JP4431022B2 (ja) | 2004-10-18 | 2010-03-10 | 株式会社日立製作所 | コンピュータシステム及びその制御方法 |
US7337280B2 (en) | 2005-02-10 | 2008-02-26 | International Business Machines Corporation | Data processing system and method for efficient L3 cache directory management |
US7627784B1 (en) * | 2005-04-06 | 2009-12-01 | Altera Corporation | Modular processor debug core connection for programmable chip systems |
KR100704037B1 (ko) | 2005-04-15 | 2007-04-04 | 삼성전자주식회사 | 이종의 비휘발성 메모리를 가지는 데이터 저장장치와 그의구동 방법 |
US20060236039A1 (en) | 2005-04-19 | 2006-10-19 | International Business Machines Corporation | Method and apparatus for synchronizing shared data between components in a group |
US7490199B2 (en) | 2005-05-09 | 2009-02-10 | Noam Camiel | System and method for safe removal of a removable device from a digital appliance |
US7350034B2 (en) * | 2005-06-20 | 2008-03-25 | International Business Machines Corporation | Architecture support of best-effort atomic transactions for multiprocessor systems |
US7533215B2 (en) | 2005-09-15 | 2009-05-12 | Intel Corporation | Distributed and packed metadata structure for disk cache |
US8001538B2 (en) | 2005-12-07 | 2011-08-16 | Microsoft Corporation | Software accessible cache metadata |
US8225297B2 (en) | 2005-12-07 | 2012-07-17 | Microsoft Corporation | Cache metadata identifiers for isolation and sharing |
US20070300238A1 (en) | 2006-06-21 | 2007-12-27 | Leonidas Kontothanassis | Adapting software programs to operate in software transactional memory environments |
US20080005504A1 (en) | 2006-06-30 | 2008-01-03 | Jesse Barnes | Global overflow method for virtualized transactional memory |
US9798590B2 (en) * | 2006-09-07 | 2017-10-24 | Intel Corporation | Post-retire scheme for tracking tentative accesses during transactional execution |
US7949794B2 (en) | 2006-11-02 | 2011-05-24 | Intel Corporation | PCI express enhancements and extensions |
US7783805B2 (en) | 2006-11-29 | 2010-08-24 | Cisco Technology, Inc. | Interlocking input/outputs on a virtual logic unit number |
US7669040B2 (en) * | 2006-12-15 | 2010-02-23 | Sun Microsystems, Inc. | Method and apparatus for executing a long transaction |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7917701B2 (en) | 2007-03-12 | 2011-03-29 | Arm Limited | Cache circuitry, data processing apparatus and method for prefetching data by selecting one of a first prefetch linefill operation and a second prefetch linefill operation |
US8751859B2 (en) | 2007-05-10 | 2014-06-10 | International Business Machines Corporation | Monitoring lost data in a storage system |
US9009452B2 (en) * | 2007-05-14 | 2015-04-14 | International Business Machines Corporation | Computing system with transactional memory using millicode assists |
US8095741B2 (en) | 2007-05-14 | 2012-01-10 | International Business Machines Corporation | Transactional memory computing system with support for chained transactions |
US20080307169A1 (en) | 2007-06-06 | 2008-12-11 | Duane Arlyn Averill | Method, Apparatus, System and Program Product Supporting Improved Access Latency for a Sectored Directory |
US9292436B2 (en) | 2007-06-25 | 2016-03-22 | Sonics, Inc. | Various methods and apparatus to support transactions whose data address sequence within that transaction crosses an interleaved channel address boundary |
US9280397B2 (en) | 2007-06-27 | 2016-03-08 | Intel Corporation | Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata |
US8195832B2 (en) | 2007-12-12 | 2012-06-05 | Alcatel Lucent | Facilitating management of layer 2 hardware address table based on packet priority information |
US8078807B2 (en) | 2007-12-27 | 2011-12-13 | Intel Corporation | Accelerating software lookups by using buffered or ephemeral stores |
US8108619B2 (en) | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
US20100122073A1 (en) | 2008-11-10 | 2010-05-13 | Ravi Narayanaswamy | Handling exceptions in software transactional memory systems |
US8555016B2 (en) | 2008-12-17 | 2013-10-08 | Intel Corporation | Unified optimistic and pessimistic concurrency control for a software transactional memory (STM) system |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US8627017B2 (en) | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
US8627014B2 (en) | 2008-12-30 | 2014-01-07 | Intel Corporation | Memory model for hardware attributes within a transactional memory system |
US8799582B2 (en) | 2008-12-30 | 2014-08-05 | Intel Corporation | Extending cache coherency protocols to support locally buffered data |
US8806101B2 (en) | 2008-12-30 | 2014-08-12 | Intel Corporation | Metaphysical address space for holding lossy metadata in hardware |
US8370577B2 (en) | 2009-06-26 | 2013-02-05 | Microsoft Corporation | Metaphysically addressed cache metadata |
US8095824B2 (en) | 2009-12-15 | 2012-01-10 | Intel Corporation | Performing mode switching in an unbounded transactional memory (UTM) system |
-
2008
- 2008-12-30 US US12/346,518 patent/US9785462B2/en not_active Expired - Fee Related
-
2009
- 2009-12-15 JP JP2011536630A patent/JP5650123B2/ja not_active Expired - Fee Related
- 2009-12-15 KR KR1020117007724A patent/KR101291016B1/ko active IP Right Grant
- 2009-12-15 WO PCT/US2009/068081 patent/WO2010077872A2/en active Application Filing
- 2009-12-15 BR BRPI0920789A patent/BRPI0920789A2/pt active Search and Examination
- 2009-12-17 TW TW098143374A patent/TWI476595B/zh not_active IP Right Cessation
- 2009-12-25 CN CN200911000212.5A patent/CN101950259B/zh not_active Expired - Fee Related
-
2014
- 2014-01-10 JP JP2014003360A patent/JP5944417B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007531167A (ja) * | 2004-03-31 | 2007-11-01 | インテル コーポレイション | ユーザーレベルのマルチスレッドを提供する方法およびシステム |
JP2008525921A (ja) * | 2004-12-30 | 2008-07-17 | インテル コーポレイション | オペレーティング・システム介入なしにos隔離シーケンサー上でスレッドをスケジューリングする機構 |
WO2007002550A2 (en) * | 2005-06-23 | 2007-01-04 | Intel Corporation | Primitives to enhance thread-level speculation |
US20070239942A1 (en) * | 2006-03-30 | 2007-10-11 | Ravi Rajwar | Transactional memory virtualization |
WO2007115003A1 (en) * | 2006-03-30 | 2007-10-11 | Intel Corporation | Transactional memory in out-of-order processors |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015523654A (ja) * | 2012-06-15 | 2015-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 制約付きトランザクションの実行 |
JP2015526789A (ja) * | 2012-06-15 | 2015-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トランザクション実行におけるプログラム割り込みフィルタ処理 |
JP2015526788A (ja) * | 2012-06-15 | 2015-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トランザクション診断ブロック |
EP2891984A2 (en) | 2014-01-06 | 2015-07-08 | Fujitsu Limited | Transaction abort method in a multi-core CPU |
US9535839B2 (en) | 2014-01-06 | 2017-01-03 | Fujitsu Limited | Arithmetic processing device, method of controlling arithmetic processing device, and information processing device |
EP3131018A1 (en) | 2014-01-06 | 2017-02-15 | Fujitsu Limited | Transaction abort method in a multi-core cpu |
Also Published As
Publication number | Publication date |
---|---|
JP5944417B2 (ja) | 2016-07-05 |
US9785462B2 (en) | 2017-10-10 |
US20100169894A1 (en) | 2010-07-01 |
WO2010077872A2 (en) | 2010-07-08 |
KR101291016B1 (ko) | 2013-07-30 |
JP5650123B2 (ja) | 2015-01-07 |
CN101950259B (zh) | 2014-08-20 |
WO2010077872A3 (en) | 2010-09-23 |
TWI476595B (zh) | 2015-03-11 |
BRPI0920789A2 (pt) | 2015-12-22 |
JP2014089752A (ja) | 2014-05-15 |
KR20110050724A (ko) | 2011-05-16 |
CN101950259A (zh) | 2011-01-19 |
TW201037524A (en) | 2010-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5944417B2 (ja) | トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 | |
JP6342970B2 (ja) | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 | |
JP5860450B2 (ja) | ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 | |
JP5608738B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
JP5416223B2 (ja) | トランザクショナルメモリシステム内でのハードウェア属性のメモリモデル | |
US8612950B2 (en) | Dynamic optimization for removal of strong atomicity barriers | |
US20100122073A1 (en) | Handling exceptions in software transactional memory systems | |
JP6023765B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
JP6318440B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130115 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130410 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130417 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130510 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130517 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130612 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130619 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130716 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130910 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140110 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140204 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140430 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140509 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140530 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140606 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140701 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140708 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140801 |
|
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: 20141014 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141112 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5650123 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |