JP4388916B2 - 複数の順序ベクトルで複数のメモリ順序モデルを実施する方法及び装置 - Google Patents
複数の順序ベクトルで複数のメモリ順序モデルを実施する方法及び装置 Download PDFInfo
- Publication number
- JP4388916B2 JP4388916B2 JP2005221620A JP2005221620A JP4388916B2 JP 4388916 B2 JP4388916 B2 JP 4388916B2 JP 2005221620 A JP2005221620 A JP 2005221620A JP 2005221620 A JP2005221620 A JP 2005221620A JP 4388916 B2 JP4388916 B2 JP 4388916B2
- Authority
- JP
- Japan
- Prior art keywords
- order
- memory
- entry
- bits
- load
- 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
- 230000015654 memory Effects 0.000 title claims description 181
- 239000013598 vector Substances 0.000 title claims description 79
- 238000000034 method Methods 0.000 title claims description 34
- 239000000872 buffer Substances 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 11
- 239000012148 binding buffer Substances 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims 5
- 238000010586 diagram Methods 0.000 description 12
- 230000001427 coherent effect Effects 0.000 description 11
- 229910003460 diamond Inorganic materials 0.000 description 3
- 239000010432 diamond Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Advance Control (AREA)
Description
20 ロードキュー
30 ストアキュー
40 バッファ
Claims (26)
- 操作順序キュー内に存在しシステムの操作に対応するエントリに関連付けられる順序ベクトルを生成して、前記順序ベクトルを記憶する工程と、
前記順序ベクトルに基づいて前記操作の処理を阻止する工程と
を備え、
前記順序ベクトルは、前記操作順序キュー内の他の関連するエントリにそれぞれ対応する複数のビットを有し、前記複数のビットのそれぞれは、それぞれ対応する前記関連するエントリの操作が完了した状態と、それぞれ対応する前記関連するエントリの操作が完了していない状態とのいずれかを示し、
前記操作順序キュー内の各エントリには、それぞれ対応する操作に関連する順序ビットが関連付けられており、前記順序ビットは、前記対応するエントリのメモリ操作に対して、後続するメモリ操作が順序付けられるべきか否かを示し、
前記順序ベクトルの前記生成は、前記操作順序キュー内に存在し完了していない先の複数のメモリ操作にそれぞれ対応する複数のエントリの前記順序ビットを、前記生成される順序ベクトルの前記複数のビットに複製することにより行われる
方法。 - 前記操作の処理を阻止する工程は、前記順序ベクトルが有する複数のビットが先のメモリ操作が前記完了していない状態を示す場合に処理を阻止する
請求項1に記載の方法。 - 先のメモリ操作が完了した場合に、前記順序ベクトルが有する当該メモリ操作に対応するビットを消去する工程
をさらに備える請求項1または2に記載の方法。 - 前記操作順序キューに存在し獲得の意味を有する複数のメモリ操作に対応する複数のエントリに対して、前記順序ビットを設定する工程
をさらに備える請求項1から3のいずれかに記載の方法。 - 獲得の意味を有し完了していない状態のメモリ操作に対して後続するメモリ操作のデータがデータキャッシュに存在している場合であっても、データキャッシュでミスするように当該後続するメモリ操作に強要し、当該後続するメモリ操作のエントリが前記操作順序キューに入るよう強制する工程
をさらに備える請求項1から4のいずれかに記載の方法。 - 前記操作の処理を阻止する工程は、前記操作順序キュー内に存在するエントリのメモリ操作によりロードされたデータをレジスタファイルに書き込む場合に、当該メモリ操作に対応するエントリに関連付けられた前記順序ベクトルの前記複数のビットを検査し、当該複数のビットの少なくともいずれかが前記完了していない状態を示す場合に処理をスリープさせ、当該複数のビットがそれぞれ前記完了した状態を示す場合に、ロードされたデータをレジスタファイルに書き込む
請求項1から5のいずれかに記載の方法。 - 第1操作順序キュー内に存在しメモリ操作に対応するエントリに関連付けられる順序ベクトルを生成して、前記順序ベクトルを記憶する工程と、
前記順序ベクトルに基づいて前記メモリ操作の処理を阻止する工程と
を備え、
前記順序ベクトルは、第2操作順序キュー内のエントリにそれぞれ対応する複数のビットを有し、前記複数のビットのそれぞれは、それぞれ対応する前記関連するエントリのメモリ操作が完了した状態と、それぞれ対応する前記関連するエントリのメモリ操作が完了していない状態とのいずれかを示し、
前記第2操作順序キュー内の各エントリには、それぞれ対応するメモリ操作に関連する順序ビットが関連付けられており、前記順序ビットは、前記対応するエントリのメモリ操作に対して、後続するメモリ操作が順序付けられるべきか否かを示し、
前記順序ベクトルの前記生成は、前記第2操作順序キュー内に存在する複数のエントリの前記順序ビットを複製することにより行われ、
前記メモリ操作の処理を阻止する工程は、前記順序ベクトルが有する前記複数のビットの少なくともいずれかが前記完了していない状態を示す場合に、前記メモリ操作の処理を阻止する
方法。 - 前記メモリ操作の処理を阻止する工程は、前記順序ベクトルが有する前記複数のビットが、前記第2操作順序キュー内の先のメモリ操作が前記完了していない状態を示す場合に、前記メモリ操作の処理を阻止する
請求項7に記載の方法。 - 先のメモリ操作が完了した場合に、前記順序ベクトルが有する当該メモリ操作に対応するビットを消去する工程
をさらに備える請求項8に記載の方法。 - 前記第1操作順序キューはストアキューであり、前記第2操作順序キューはロードキューである
請求項7から9のいずれかに記載の方法。 - 前記ロードキュー内に存在し獲得の意味を有する複数のメモリ操作に対応する複数のエントリに対して、前記順序ビットを設定する工程
をさらに備える請求項10に記載の方法。 - 前記メモリ操作の処理を阻止する工程は、前記第2操作順序キュー内に存在するエントリのメモリ操作によりロードされたデータをレジスタファイルに書き込む場合に、当該メモリ操作に対応するエントリに関連付けられた前記順序ベクトルの前記複数のビットを検査し、当該複数のビットの少なくともいずれかが前記完了していない状態を示す場合に処理をスリープさせ、当該複数のビットがそれぞれ前記完了した状態を示す場合に、ロードされたデータをレジスタファイルに書き込む
請求項10または11に記載の方法。 - プログラムであって、コンピュータに、
操作順序キュー内に存在しシステムの操作に対応するエントリに関連付けられる順序ベクトルを生成して、前記順序ベクトルを記憶する工程と、
前記順序ベクトルに基づいて前記操作の処理を阻止する工程と
を実行させ、
前記順序ベクトルは、前記操作順序キュー内の他の関連するエントリにそれぞれ対応する複数のビットを有し、前記複数のビットのそれぞれは、それぞれ対応する前記関連するエントリの操作が完了した状態と、それぞれ対応する前記関連するエントリの操作が完了していない状態とのいずれかを示し、
前記操作順序キュー内の各エントリには、それぞれ対応するメモリ操作に関連する順序ビットが関連付けられており、前記順序ビットは、前記対応するエントリのメモリ操作に対して、後続するメモリ操作が順序付けられるべきか否かを示し、
前記順序ベクトルの前記生成は、前記操作順序キュー内に存在し完了していない先の複数のメモリ操作にそれぞれ対応する複数のエントリの前記順序ビットを、前記生成される順序ベクトルの前記複数のビットに複製することにより行われる
プログラム。 - コンピュータに、
少なくとも1つの先のメモリ操作が完了した場合に前記順序ベクトルを更新する工程
をさらに実行させる請求項13に記載のプログラム。 - 獲得の意味を有し完了していない状態のメモリ操作に対して後続するメモリ操作のデータがデータキャッシュに存在している場合であっても、データキャッシュでミスするように当該後続するメモリ操作に強要し、当該後続するメモリ操作のエントリが前記操作順序キューに入るよう強制する工程
をさらに実行させる請求項13または14に記載のプログラム。 - 前記操作の処理を阻止する工程は、前記操作順序キュー内に存在するエントリのメモリ操作によりロードされたデータをレジスタファイルに書き込む場合に、当該メモリ操作に対応するエントリに関連付けられた前記順序ベクトルの前記複数のビットを検査し、当該複数のビットの少なくともいずれかが前記完了していない状態を示す場合に処理をスリープさせ、当該複数のビットがそれぞれ前記完了した状態を示す場合に、ロードされたデータをレジスタファイルに書き込む
請求項13から15のいずれかに記載のプログラム。 - ロードメモリ操作にそれぞれ対応する複数のエントリを記憶するとともに、前記複数のエントリのそれぞれが対応するロードメモリ操作の相対的な順序付けを示す順序ベクトルおよび当該対応するロードメモリ操作に対して後続するメモリ操作が順序付けられるべきか否かを示す順序ビットを、前記複数のエントリにそれぞれ関連付けて記憶するロードバッファ
を備え、
前記順序ベクトルは、前記ロードバッファ内の他の関連するエントリにそれぞれ対応する複数のビットを有し、前記複数のビットのそれぞれは、それぞれ対応する前記関連するエントリのロードメモリ操作が完了した状態と、それぞれ対応する前記関連するエントリのロードメモリ操作が完了していない状態とのいずれかを示し、
前記ロードバッファは、前記ロードバッファ内に存在し完了していない先の複数のロードメモリ操作にそれぞれ対応する複数のエントリの前記順序ビットを、後続のロードメモリ操作に対応するエントリの前記複数のビットに複製することにより生成された前記順序ベクトルを記憶する
装置。 - ストアメモリ操作にそれぞれ対応する複数のエントリを記憶するストアバッファ
をさらに備え、
前記ストアバッファは、記憶している前記複数のエントリにそれぞれ対応するストアメモリ操作の相対的な順序付けを示す順序ベクトルを、当該複数のエントリのそれぞれに関連付けて記憶する
請求項17に記載の装置。 - 前記ストアバッファに結合され、先のメモリ操作が視認可能である場合に信号を発生する結合バッファ
をさらに備える請求項18に記載の装置。 - 前記ロードバッファ内に記憶されているエントリのロードメモリ操作によりロードされたデータをレジスタファイルに書き込む場合に、当該ロードメモリ操作に対応するエントリに関連付けられた前記順序ベクトルの前記複数のビットを検査し、当該複数のビットの少なくともいずれかが前記完了していない状態を示す場合に処理をスリープさせ、当該複数のビットがそれぞれ前記完了した状態を示す場合に、ロードされたデータをレジスタファイルに書き込む
請求項17から19のいずれかに記載の装置。 - メモリ操作に各々対応する複数のエントリを記憶するとともに、前記複数のエントリのそれぞれが対応するメモリ操作の相対的な順序付けを示す順序ベクトルおよび当該対応するメモリ操作に対して後続するメモリ操作が順序付けられるべきか否かを示す順序ビットを、前記複数のエントリにそれぞれ関連付けて記憶する第1バッファを有するプロセッサと、
前記プロセッサに結合されたダイナミックランダムアクセスメモリと
を備え、
前記順序ベクトルは、前記第1バッファ内の他の関連するエントリにそれぞれ対応する複数のビットを有し、前記複数のビットのそれぞれは、それぞれ対応する前記関連するエントリのメモリ操作が完了した状態と、それぞれ対応する前記関連するエントリのメモリ操作が完了していない状態とのいずれかを示し、
前記第1バッファは、前記第1バッファ内に存在し完了していない先の複数のメモリ操作にそれぞれ対応する複数のエントリの前記順序ビットを、後続のメモリ操作に対応するエントリの前記複数のビットに複製することにより生成された前記順序ベクトルを記憶する
システム。 - 前記プロセッサは、メモリ操作にそれぞれ対応する複数のエントリを記憶する第2バッファをさらに有し、
前記第2バッファは、記憶している前記複数のエントリにそれぞれ対応するメモリ操作の相対的な順序付けを示す順序ベクトルを、当該複数のエントリのそれぞれに関連付けて記憶する
請求項21に記載のシステム。 - 前記プロセッサは、複数の先のメモリ操作が視認可能である場合に信号を発生する、前記第2バッファに結合された結合バッファをさらに有する
請求項22に記載のシステム。 - 前記プロセッサが、順序付けられていない方式で複数のロード命令を処理する命令セットアーキテクチャを有する
請求項21から23のいずれかに記載のシステム。 - 前記プロセッサが、順序付けられていない方式で複数のストア命令を処理する命令セットアーキテクチャを有する
請求項21から23のいずれかに記載のシステム。 - 前記プロセッサは、前記第1バッファ内に記憶されているエントリのロードメモリ操作によりロードされたデータをレジスタファイルに書き込む場合に、当該ロードメモリ操作に対応するエントリに関連付けられた前記順序ベクトルの前記複数のビットを検査し、当該複数のビットの少なくともいずれかが前記完了していない状態を示す場合に処理をスリープさせ、当該複数のビットがそれぞれ前記完了した状態を示す場合に、ロードされたデータをレジスタファイルに書き込む
請求項21から23のいずれかに記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/903,675 US20060026371A1 (en) | 2004-07-30 | 2004-07-30 | Method and apparatus for implementing memory order models with order vectors |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006048696A JP2006048696A (ja) | 2006-02-16 |
JP4388916B2 true JP4388916B2 (ja) | 2009-12-24 |
Family
ID=35721659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005221620A Expired - Fee Related JP4388916B2 (ja) | 2004-07-30 | 2005-07-29 | 複数の順序ベクトルで複数のメモリ順序モデルを実施する方法及び装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20060026371A1 (ja) |
JP (1) | JP4388916B2 (ja) |
CN (1) | CN100388186C (ja) |
DE (1) | DE102005032949A1 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606998B2 (en) * | 2004-09-10 | 2009-10-20 | Cavium Networks, Inc. | Store instruction ordering for multi-core processor |
US7907673B2 (en) * | 2006-10-26 | 2011-03-15 | Telefonaktiebolaget L M Ericsson (Publ) | Robust and low-complexity combined signal power estimation |
JP4983919B2 (ja) * | 2007-06-20 | 2012-07-25 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US8250336B2 (en) * | 2008-02-25 | 2012-08-21 | International Business Machines Corporation | Method, system and computer program product for storing external device result data |
US8615647B2 (en) | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
JP5541491B2 (ja) * | 2010-01-07 | 2014-07-09 | 日本電気株式会社 | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 |
US8412888B2 (en) * | 2011-01-06 | 2013-04-02 | International Business Machines Corporation | Cache-based speculation of stores following synchronizing operations |
FR2982683B1 (fr) * | 2011-11-10 | 2014-01-03 | Sagem Defense Securite | Procede de sequencement sur un processeur multicoeur. |
CN104583939B (zh) * | 2012-06-15 | 2018-02-23 | 英特尔公司 | 用于选择指令的***和方法 |
EP2862061A4 (en) | 2012-06-15 | 2016-12-21 | Soft Machines Inc | MEMORY PRECISION FOR VIRTUAL LOAD WITH DYNAMIC SHIPPING WINDOW WITH UNIFORM STRUCTURE |
WO2013188460A2 (en) | 2012-06-15 | 2013-12-19 | Soft Machines, Inc. | A virtual load store queue having a dynamic dispatch window with a distributed structure |
KR102248470B1 (ko) * | 2012-06-15 | 2021-05-06 | 인텔 코포레이션 | 메모리로부터 순차적으로 판독하는 load들을 구성하는 메모리 일관성 모델에서 비순차 load들을 갖는 세마포어 방법 및 시스템 |
CN104583942B (zh) * | 2012-06-15 | 2018-02-13 | 英特尔公司 | 乱序加载的基于锁的和基于同步的方法 |
KR101818967B1 (ko) | 2012-06-15 | 2018-01-16 | 인텔 코포레이션 | 명확화 없는 비순차 load store 큐 |
EP2862069A4 (en) | 2012-06-15 | 2016-12-28 | Soft Machines Inc | DEFINING INSTRUCTIONS TO REORDER AND OPTIMIZE LOADING AND STORAGE |
EP2862068B1 (en) | 2012-06-15 | 2022-07-06 | Intel Corporation | Reordered speculative instruction sequences with a disambiguation-free out of order load store queue |
CN104823168B (zh) | 2012-06-15 | 2018-11-09 | 英特尔公司 | 用于实现从由加载存储重新排序和优化导致的推测性转发遗漏预测/错误中恢复的方法和*** |
KR102008733B1 (ko) * | 2012-06-15 | 2019-08-09 | 소프트 머신즈, 인크. | 스토어 상위 서열에 기초하여 상이한 스레드들로부터의 포워딩을 구현하는 스레드에 무관한 로드 스토어 버퍼 |
US9218289B2 (en) * | 2012-08-06 | 2015-12-22 | Qualcomm Incorporated | Multi-core compute cache coherency with a release consistency memory ordering model |
US9875185B2 (en) * | 2014-07-09 | 2018-01-23 | Intel Corporation | Memory sequencing with coherent and non-coherent sub-systems |
US10353680B2 (en) * | 2014-07-25 | 2019-07-16 | Intel Corporation | System converter that implements a run ahead run time guest instruction conversion/decoding process and a prefetching process where guest code is pre-fetched from the target of guest branches in an instruction sequence |
US9733909B2 (en) | 2014-07-25 | 2017-08-15 | Intel Corporation | System converter that implements a reordering process through JIT (just in time) optimization that ensures loads do not dispatch ahead of other loads that are to the same address |
US20160026486A1 (en) * | 2014-07-25 | 2016-01-28 | Soft Machines, Inc. | An allocation and issue stage for reordering a microinstruction sequence into an optimized microinstruction sequence to implement an instruction set agnostic runtime architecture |
WO2016014866A1 (en) | 2014-07-25 | 2016-01-28 | Soft Machines, Inc. | System for an instruction set agnostic runtime architecture |
US11281481B2 (en) | 2014-07-25 | 2022-03-22 | Intel Corporation | Using a plurality of conversion tables to implement an instruction set agnostic runtime architecture |
US20160026484A1 (en) * | 2014-07-25 | 2016-01-28 | Soft Machines, Inc. | System converter that executes a just in time optimizer for executing code from a guest image |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US10140057B2 (en) * | 2016-02-18 | 2018-11-27 | Micron Technology, Inc. | Apparatuses and methods for multiple address registers for a solid state device |
CN105808654A (zh) * | 2016-02-29 | 2016-07-27 | 湖南蚁坊软件有限公司 | 一种针对流数据的二级排序方法 |
US10474461B2 (en) * | 2016-09-22 | 2019-11-12 | Qualcomm Incorporated | Instruction-based synchronization of operations including at least one SIMD scatter operation |
US11113065B2 (en) | 2019-04-03 | 2021-09-07 | Advanced Micro Devices, Inc. | Speculative instruction wakeup to tolerate draining delay of memory ordering violation check buffers |
CN112486638A (zh) * | 2019-09-11 | 2021-03-12 | 百度时代网络技术(北京)有限公司 | 用于执行处理任务的方法、装置、设备和存储介质 |
US11494306B2 (en) | 2019-09-20 | 2022-11-08 | Micron Technology, Inc. | Managing data dependencies in a transfer pipeline of a hybrid dimm |
US11531622B2 (en) | 2019-09-20 | 2022-12-20 | Micron Technology, Inc. | Managing data dependencies for out of order processing in a hybrid DIMM |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5689679A (en) * | 1993-04-28 | 1997-11-18 | Digital Equipment Corporation | Memory system and method for selective multi-level caching using a cache level code |
DE69423206T2 (de) * | 1994-04-28 | 2000-09-07 | Hewlett-Packard Co., Palo Alto | Rechnervorrichtung mit Mitteln zum Erzwingen der Ausführung von Befehlen in regelmässiger Folge |
JP3005456B2 (ja) * | 1995-06-16 | 2000-01-31 | 甲府日本電気株式会社 | ベクトル処理装置 |
JPH09120383A (ja) * | 1995-10-25 | 1997-05-06 | Fujitsu Ltd | データ入出力方法及びそのためのデータ入出力装置 |
US6065105A (en) * | 1997-01-08 | 2000-05-16 | Intel Corporation | Dependency matrix |
US6260131B1 (en) * | 1997-11-18 | 2001-07-10 | Intrinsity, Inc. | Method and apparatus for TLB memory ordering |
US6463522B1 (en) * | 1997-12-16 | 2002-10-08 | Intel Corporation | Memory system for ordering load and store instructions in a processor that performs multithread execution |
US6182210B1 (en) * | 1997-12-16 | 2001-01-30 | Intel Corporation | Processor having multiple program counters and trace buffers outside an execution pipeline |
CN1111297C (zh) * | 1998-07-15 | 2003-06-11 | 北京多思科技工业园股份有限公司 | 指令控制排序方法及其装置 |
US6385708B1 (en) * | 1998-11-16 | 2002-05-07 | Infineon Technologies Ag | Using a timing-look-up-table and page timers to determine the time between two consecutive memory accesses |
US6484254B1 (en) * | 1999-12-30 | 2002-11-19 | Intel Corporation | Method, apparatus, and system for maintaining processor ordering by checking load addresses of unretired load instructions against snooping store addresses |
US7149857B2 (en) * | 2002-05-14 | 2006-12-12 | Micron Technology, Inc. | Out of order DRAM sequencer |
-
2004
- 2004-07-30 US US10/903,675 patent/US20060026371A1/en not_active Abandoned
-
2005
- 2005-07-14 DE DE102005032949A patent/DE102005032949A1/de not_active Ceased
- 2005-07-29 JP JP2005221620A patent/JP4388916B2/ja not_active Expired - Fee Related
- 2005-08-01 CN CNB2005100910883A patent/CN100388186C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1728087A (zh) | 2006-02-01 |
JP2006048696A (ja) | 2006-02-16 |
US20060026371A1 (en) | 2006-02-02 |
CN100388186C (zh) | 2008-05-14 |
DE102005032949A1 (de) | 2006-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4388916B2 (ja) | 複数の順序ベクトルで複数のメモリ順序モデルを実施する方法及び装置 | |
CN101308462B (zh) | 管理对共享存储器单元的存储器访问的方法和计算*** | |
US8255626B2 (en) | Atomic commit predicated on consistency of watches | |
JP5507706B2 (ja) | バッファリングストアを利用してトランザクションを高速化するための機構 | |
CN102968292B (zh) | 无约束事务存储器*** | |
US20180011748A1 (en) | Post-retire scheme for tracking tentative accesses during transactional execution | |
US8738862B2 (en) | Transactional memory system with efficient cache support | |
US9104427B2 (en) | Computing system with transactional memory using millicode assists | |
US8176266B2 (en) | Transaction based shared data operations in a multiprocessor environment | |
JP5118652B2 (ja) | アウトオブオーダープロセッサにおけるトランザクショナルメモリ | |
US20100162247A1 (en) | Methods and systems for transactional nested parallelism | |
US20040123078A1 (en) | Method and apparatus for processing a load-lock instruction using a scoreboard mechanism | |
US10970077B2 (en) | Processor with multiple load queues including a queue to manage ordering and a queue to manage replay | |
US20050154832A1 (en) | Consistency evaluation of program execution across at least one memory barrier | |
JP2022526057A (ja) | メモリ順序付け違反チェックバッファの排出遅延を許容するための投機的命令ウェイクアップ | |
JP2001216160A (ja) | 長レイテンシ命令に対する命令属性およびステータス情報を示す処理システムおよび方法 | |
US9251074B2 (en) | Enabling hardware transactional memory to work more efficiently with readers that can tolerate stale data | |
CN112236750A (zh) | 处理支持事务存储器的设备中的独占式加载指令 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090331 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090608 |
|
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: 20090908 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091005 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121009 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |