JP2018523235A - Dmb操作を伴うロード/ストア操作を使用するロード獲得/ストア解放命令の実装 - Google Patents
Dmb操作を伴うロード/ストア操作を使用するロード獲得/ストア解放命令の実装 Download PDFInfo
- Publication number
- JP2018523235A JP2018523235A JP2018502709A JP2018502709A JP2018523235A JP 2018523235 A JP2018523235 A JP 2018523235A JP 2018502709 A JP2018502709 A JP 2018502709A JP 2018502709 A JP2018502709 A JP 2018502709A JP 2018523235 A JP2018523235 A JP 2018523235A
- Authority
- JP
- Japan
- Prior art keywords
- load
- memory
- operations
- store
- barrier operation
- 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
- 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
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Stored Programmes (AREA)
Abstract
Description
102 ロード/ストアコンポーネント
104 プロセッサ
106 メモリ
108 ストレージコンポーネント
110 入力
112 出力
200 システム
202 先の命令
204 データメモリバリア
206 後続の命令
300 システム
302 ロード操作
304 データメモリバリア
400 システム
402 データメモリバリア
404 ストア操作
406 データメモリバリア
800 コンピューティングシステム環境
810 コンピュータ
820 処理ユニット
821 システムバス
830 システムメモリ
840 入力
850 出力、例えば、ディスプレイ
860 ネットワークインターフェース
870 リモートコンピュータ
910,912 サーバオブジェクト
920,922,928 コンピューティングデバイス
924,926 オブジェクト
940 (複数の)データストア
942 通信ネットワーク/バス
Claims (10)
- 操作を実行するためのコンピュータ実行可能命令を実行するプロセッサであって、
前記命令が、メモリ操作の順序付けを実行する獲得付きロード命令を含み、
前記獲得付きロード命令が、データメモリバリア操作が後に続くロード操作を含む、プロセッサ。 - 前記データメモリバリア操作が、前記バリア操作の前に行われるメモリ操作の第1のセットおよび前記バリア操作の後に行われるメモリ操作の第2のセットを含むメモリ操作を順序付ける、請求項1に記載のプロセッサ。
- 前記ロード操作が、メモリの第1のデータにアクセスするためのアドレスを指定し、
前記獲得付きロード命令が、複数のタイプの獲得付きロード命令のうちの少なくとも1つを含み、
前記データメモリバリア操作が、メモリ操作の順序付けのためにロード獲得セマンティクスのセットを置き換える、請求項1に記載のプロセッサ。 - プロセッサにおいて命令を実行するための方法であって、
メモリ操作の順序付けを実行するために獲得付きロード命令を実行するステップを含み、
前記獲得付きロード命令を実行するステップが、データメモリバリア操作が後に続くロード操作を実行するステップを含む、方法。 - 複数のタイプの獲得付きロード命令を実行するステップをさらに含み、
前記データメモリバリア操作の実行が、メモリ操作の順序付けのためにロード獲得セマンティクスのセットを置き換え、
前記ロード操作が、メモリの第1のデータにアクセスするためのアドレスを指定する、請求項4に記載の方法。 - 前記データメモリバリア操作が、前記バリア操作の前に行われるメモリ操作の第1のセットおよび前記バリア操作の後に行われるメモリ操作の第2のセットを含むメモリ操作を順序付ける、請求項4に記載の方法。
- 操作を実行するためのコンピュータ実行可能命令を実行するプロセッサであって、
前記命令が、メモリ操作の順序付けを実行する解放付きストア命令を含み、
前記解放付きストア命令が、第2のデータメモリバリア操作が後に続くストア操作が後に続く第1のデータメモリバリア操作を含む、プロセッサ。 - 前記第1のデータメモリバリア操作および前記第2のデータメモリバリア操作が、前記バリア操作の前に行われるメモリ操作の第1のセットおよび前記バリア操作の後に行われるメモリ操作の第2のセットを含むメモリ操作を順序付け、
前記ストア操作が、メモリに第1のデータを書き込むためのアドレスを指定し、
前記命令が、複数のタイプの解放付きストア命令をさらに含む、請求項7に記載のプロセッサ。 - プロセッサにおいて命令を実行するための方法であって、
メモリ操作の順序付けを実行するために解放付きストア命令を実行するステップを含み、
解放付きストア命令を実行するステップが、第2のデータメモリバリア操作を実行するステップが後に続く、ストア操作を実行するステップが後に続く、第1のデータメモリバリア操作を実行するステップを含む、方法。 - 複数のタイプの解放付きストア命令を実行するステップをさらに含み、
前記第1のデータメモリバリア操作を実行するステップおよび前記第2のデータメモリバリア操作を実行するステップが、前記バリア操作の前に行われるメモリアクセスの第1のセットおよび前記バリア操作の後に行われるメモリアクセスの第2のセットを含むメモリ操作を順序付け、
獲得付きロード命令を実行する前に前記第2のデータメモリバリア操作を実行するステップが、前記命令がプログラム順序で観測されることを保証する、請求項9に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2015/041322 WO2017014752A1 (en) | 2015-07-21 | 2015-07-21 | Implementation of load acquire/store release instructions using load/store operation with dmb operation |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018523235A true JP2018523235A (ja) | 2018-08-16 |
JP2018523235A5 JP2018523235A5 (ja) | 2018-11-15 |
JP6739513B2 JP6739513B2 (ja) | 2020-08-12 |
Family
ID=57835180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018502709A Active JP6739513B2 (ja) | 2015-07-21 | 2015-07-21 | Dmb操作を伴うロード/ストア操作を使用するロード獲得/ストア解放命令の実装 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3326059A4 (ja) |
JP (1) | JP6739513B2 (ja) |
CN (2) | CN108139903B (ja) |
WO (1) | WO2017014752A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10606590B2 (en) | 2017-10-06 | 2020-03-31 | International Business Machines Corporation | Effective address based load store unit in out of order processors |
US10394558B2 (en) | 2017-10-06 | 2019-08-27 | International Business Machines Corporation | Executing load-store operations without address translation hardware per load-store unit port |
US10606591B2 (en) | 2017-10-06 | 2020-03-31 | International Business Machines Corporation | Handling effective address synonyms in a load-store unit that operates without address translation |
US10417002B2 (en) | 2017-10-06 | 2019-09-17 | International Business Machines Corporation | Hazard detection of out-of-order execution of load and store instructions in processors without using real addresses |
US10572256B2 (en) | 2017-10-06 | 2020-02-25 | International Business Machines Corporation | Handling effective address synonyms in a load-store unit that operates without address translation |
US11175924B2 (en) | 2017-10-06 | 2021-11-16 | International Business Machines Corporation | Load-store unit with partitioned reorder queues with single cam port |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181891A (ja) * | 1998-12-18 | 2000-06-30 | Hitachi Ltd | 共有メモリアクセス順序保証方式 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07302200A (ja) * | 1994-04-28 | 1995-11-14 | Hewlett Packard Co <Hp> | 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。 |
US7552317B2 (en) * | 2004-05-04 | 2009-06-23 | Sun Microsystems, Inc. | Methods and systems for grouping instructions using memory barrier instructions |
WO2005121948A1 (en) * | 2004-06-02 | 2005-12-22 | Sun Microsystems, Inc. | Method and apparatus for enforcing membar instruction semantics in an execute-ahead processor |
US7725618B2 (en) * | 2004-07-29 | 2010-05-25 | International Business Machines Corporation | Memory barriers primitives in an asymmetric heterogeneous multiprocessor environment |
US8060482B2 (en) * | 2006-12-28 | 2011-11-15 | Intel Corporation | Efficient and consistent software transactional memory |
EP2203828A1 (en) * | 2007-10-18 | 2010-07-07 | Nxp B.V. | Data processing system with a plurality of processors, cache circuits and a shared memory |
GB2461716A (en) * | 2008-07-09 | 2010-01-13 | Advanced Risc Mach Ltd | Monitoring circuitry for monitoring accesses to addressable locations in data processing apparatus that occur between the start and end events. |
US8997103B2 (en) * | 2009-09-25 | 2015-03-31 | Nvidia Corporation | N-way memory barrier operation coalescing |
US8935513B2 (en) * | 2012-02-08 | 2015-01-13 | International Business Machines Corporation | Processor performance improvement for instruction sequences that include barrier instructions |
US9582276B2 (en) * | 2012-09-27 | 2017-02-28 | Apple Inc. | Processor and method for implementing barrier operation using speculative and architectural color values |
US9442755B2 (en) * | 2013-03-15 | 2016-09-13 | Nvidia Corporation | System and method for hardware scheduling of indexed barriers |
US9477599B2 (en) * | 2013-08-07 | 2016-10-25 | Advanced Micro Devices, Inc. | Write combining cache microarchitecture for synchronization events |
-
2015
- 2015-07-21 CN CN201580082189.6A patent/CN108139903B/zh not_active Expired - Fee Related
- 2015-07-21 CN CN201910999320.5A patent/CN110795150A/zh active Pending
- 2015-07-21 WO PCT/US2015/041322 patent/WO2017014752A1/en unknown
- 2015-07-21 JP JP2018502709A patent/JP6739513B2/ja active Active
- 2015-07-21 EP EP15899072.1A patent/EP3326059A4/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181891A (ja) * | 1998-12-18 | 2000-06-30 | Hitachi Ltd | 共有メモリアクセス順序保証方式 |
Also Published As
Publication number | Publication date |
---|---|
EP3326059A1 (en) | 2018-05-30 |
EP3326059A4 (en) | 2019-04-17 |
CN108139903B (zh) | 2019-11-15 |
CN110795150A (zh) | 2020-02-14 |
WO2017014752A1 (en) | 2017-01-26 |
CN108139903A (zh) | 2018-06-08 |
JP6739513B2 (ja) | 2020-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6739513B2 (ja) | Dmb操作を伴うロード/ストア操作を使用するロード獲得/ストア解放命令の実装 | |
JP2015532749A5 (ja) | ||
EP3230860B1 (en) | Technologies for efficient synchronization barriers with work stealing support | |
JP2017535854A5 (ja) | ||
JP2016507849A5 (ja) | ||
JP2016511489A5 (ja) | ||
JP2014194770A5 (ja) | ||
WO2016036830A4 (en) | Executing graph-based program specifications | |
JP2015532748A5 (ja) | ||
EP2615546A1 (en) | Method and system, scheduler for parallel simulating processors | |
JP2014521184A5 (ja) | ||
US10592235B2 (en) | Generating an idempotent workflow | |
RU2015144322A (ru) | Способ начальной загрузки компьютерной системы с множеством центральных процессоров | |
CN107479981B (zh) | 一种基于异步调用实现同步调用的处理方法及装置 | |
JP2017503233A (ja) | 競合状態を検出する技法 | |
US11314712B2 (en) | Method and apparatus for providing serial number, electronic device and readable storage medium | |
US20160364177A1 (en) | Concurrent, moving, garbage collector | |
JP2018528515A5 (ja) | ||
JP2019502201A5 (ja) | ||
JP2018523235A5 (ja) | ||
US8732657B2 (en) | OData consumption tool | |
US9703905B2 (en) | Method and system for simulating multiple processors in parallel and scheduler | |
US9298769B1 (en) | Method and apparatus to facilitate discrete-device accelertaion of queries on structured data | |
JP2017045144A5 (ja) | ||
CN104267929A (zh) | 计算系统以及在该计算系统中操作锁的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180316 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180703 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20180725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181004 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20181004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181211 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190204 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190805 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191105 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20200205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200310 |
|
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: 20200622 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200721 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6739513 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |