JP2008511890A - アトミック・オペレーションを用いて情報単位を変更する方法及び装置 - Google Patents
アトミック・オペレーションを用いて情報単位を変更する方法及び装置 Download PDFInfo
- Publication number
- JP2008511890A JP2008511890A JP2007529074A JP2007529074A JP2008511890A JP 2008511890 A JP2008511890 A JP 2008511890A JP 2007529074 A JP2007529074 A JP 2007529074A JP 2007529074 A JP2007529074 A JP 2007529074A JP 2008511890 A JP2008511890 A JP 2008511890A
- Authority
- JP
- Japan
- Prior art keywords
- information unit
- type atomic
- bus
- atomic operation
- snooping
- 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.)
- Pending
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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
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)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
Description
Claims (28)
- アトミック・オペレーションを用いて、情報単位を変更する方法であって、
第1のバスを介して、メモリ・モジュールの第1のアドレスに配置された少なくとも1つの情報単位と関連したスヌーピング・タイプのアトミック・オペレーションを開始する要求を受け取るステップと、
前記情報単位を前記第1のバスを介して与えるステップと、
更新された情報単位と関連したスヌーピング・タイプのアトミック・オペレーションを完了しようと試みるステップと、
前記受け取るステップ、前記与えるステップ及び前記試みるステップ中に、前記第1のアドレスがロッキング・タイプのアトミック・オペレーションの結果としてロックされた場合、前記スヌーピング・タイプのアトミック・オペレーションを失敗したアトミック・オペレーションとして定義するステップと
を備える方法。 - 前記受け取るステップが、スヌーピング・タイプのアトミック読み出しオペレーションを実行する要求を受け取るステップを備える請求項1記載の方法。
- 前記完了しようと試みるステップが、更新された情報単位のスヌーピング・タイプのアトミック書き込みオペレーションを実行しようと試みるステップを備える請求項1記載の方法。
- 前記ロッキング・タイプのアトミック・オペレーションを開始する要求が、第2のバスを介して与えられる請求項1記載の方法。
- 前記情報単位が、セマフォーを備える請求項1記載の方法。
- 前記試みるステップが、更新された情報単位を前記第1のバスを介して与えるステップを備える請求項1記載の方法。
- 首尾良いスヌーピング・タイプのアトミック・オペレーションを完了するまで、前記受け取るステップ、前記与えるステップ、及び前記試みるステップを繰り返すステップを更に備える請求項1記載の方法。
- 前記ロッキング・タイプのアトミック・オペレーションが、ロッキング・タイプのアトミック読み出しオペレーションである請求項1記載の方法。
- 前記ロッキング・タイプのアトミック・オペレーションが、ロッキング・タイプのアトミック書き込みオペレーションである請求項1記載の方法。
- 前記第1のアドレスに配置された情報単位のスヌーピング・タイプのアトミック・オペレーションを開始する別の要求を受け取り、前記スヌーピング・タイプのアトミック・オペレーション同士間を調停するステップを更に備える請求項1記載の方法。
- 情報単位を変更する方法であって、
第1のバスを介して、メモリ・モジュールの第1のアドレスに配置された情報単位のアトミック読み出しオペレーションを実行する要求を受け取るステップと、
前記情報単位を前記第1のバスを介して与えるステップと、
前記受け取るステップと前記与えるステップとのうちの少なくとも1つのステップ中に、前記第1のアドレスがロッキング・タイプのアトミック・オペレーションの結果としてロックされない場合、更新された情報単位のスヌーピング・タイプのアトミック書き込みオペレーションを実行するよう試みるステップと
を備える方法。 - 前記ロッキング・タイプのアトミック・オペレーションを開始する要求が、第2のバスを介して与えられる請求項11記載の方法。
- 前記情報単位が、セマフォーを備える請求項11記載の方法。
- 前記試みるステップが、更新された情報単位を前記第1のバスを介して与えるステップを備える請求項11記載の方法。
- 首尾良いスヌーピング・タイプのアトミック・オペレーションを完了するまで、前記受け取るステップ、前記与えるステップ、及び前記試みるステップを繰り返すステップを更に備える請求項11記載の方法。
- 前記ロッキング・タイプのアトミック・オペレーションが、ロッキング・タイプのアトミック読み出しオペレーションである請求項11記載の方法。
- 前記第1のアドレスに配置された情報単位のスヌーピング・タイプのアトミック読み出しオペレーションを実行する別の要求を受け取り、前記スヌーピング・タイプのアトミック読み出しオペレーション同士間を調停するステップを更に備える請求項11記載の方法。
- アトミック・オペレーションを用いて、情報単位を変更する装置であって、
情報単位を第1のアドレスに格納するよう適合されたメモリ・モジュールと、
第1のバス及び前記メモリ・モジュールに結合されたコントローラと、を備え、
前記コントローラが、
メモリ・モジュールの第1のアドレスに配置された少なくとも1つの情報単位と関連したスヌーピング・タイプのアトミック・オペレーションを開始する要求を受け取り、
前記情報単位を前記第1のバスを介して与え、
更新された情報単位の前記スヌーピング・タイプのアトミック・オペレーションを完了しようと試み、
前記受け取ること、前記与えること、及び前記試みることのうちの少なくとも1つの段階中に、前記第1のアドレスがロッキング・タイプのアトミック・オペレーションの結果としてロックされた場合、前記アトミック・オペレーションを失敗したアトミック・オペレーションとして定義するよう適合されている、装置。 - 前記ロッキング・タイプのアトミック・オペレーションを開始する要求が、第2のバスを介して与えられる請求項18記載の装置。
- 前記情報単位が、セマフォーを備える請求項18記載の装置。
- 前記コントローラが更に、失敗したアトミック・オペレーションを前記第1のバスを介して送るよう適合されている請求項18記載の装置。
- 前記ロッキング・タイプのアトミック・オペレーションが、ロッキング・タイプのアトミック読み出しオペレーションである請求項18記載の装置。
- 前記第1のバスに結合された第1のプロセッサと、前記第2のバスに結合された第2のプロセッサとを更に備える請求項18記載の装置。
- 情報単位を変更する装置であって、
第1のバスを介して、メモリ・モジュールの第1のアドレスに配置された情報単位のアトミック読み出しオペレーションを実行する要求を送るよう適合された第1の要求構成要素と、
前記情報単位を前記第1のバスを介して与えることを促進するよう構成されたコントローラと、を備え、
前記第1の要求構成要素が更に、受け取ることと与えることとのうちの少なくとも1つの段階中に、前記第1のアドレスがロッキング・タイプのアトミック・オペレーションの結果としてロックされない場合、更新された情報単位のスヌーピング・タイプのアトミック書き込みオペレーションを実行するよう試みるよう適合されている、装置。 - 前記コントローラが更に、失敗したアトミック・オペレーションを前記第1のバスを介して送るよう適合されている請求項24記載の装置。
- 前記ロッキング・タイプのアトミック・オペレーションが、ロッキング・タイプのアトミック読み出しオペレーションである請求項24記載の装置。
- 前記ロッキング・タイプのアトミック・オペレーションを開始するよう適合された第2の要求構成要素を更に備える請求項24記載の装置。
- 前記第1の要求構成要素が、プロセッサである請求項24記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/933,191 US8281080B2 (en) | 2004-09-02 | 2004-09-02 | Method and apparatus for modifying an information unit using an atomic operation |
PCT/IB2005/052732 WO2006024985A2 (en) | 2004-09-02 | 2005-08-19 | Method and apparatus for modifying an information unit using an atomic operation in a system with a mixed architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008511890A true JP2008511890A (ja) | 2008-04-17 |
JP2008511890A5 JP2008511890A5 (ja) | 2008-05-29 |
Family
ID=35944821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007529074A Pending JP2008511890A (ja) | 2004-09-02 | 2005-08-19 | アトミック・オペレーションを用いて情報単位を変更する方法及び装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8281080B2 (ja) |
EP (1) | EP1789876B1 (ja) |
JP (1) | JP2008511890A (ja) |
KR (1) | KR20070062537A (ja) |
CN (1) | CN101044459B (ja) |
AT (1) | ATE541258T1 (ja) |
TW (1) | TW200620104A (ja) |
WO (1) | WO2006024985A2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010096263A2 (en) | 2009-02-17 | 2010-08-26 | Rambus Inc. | Atomic-operation coalescing technique in multi-chip systems |
US10929174B2 (en) * | 2016-12-15 | 2021-02-23 | Ecole Polytechnique Federale De Lausanne (Epfl) | Atomic object reads for in-memory rack-scale computing |
CN106886504B (zh) * | 2017-04-05 | 2020-12-04 | 上海弘矽半导体有限公司 | 基于ahb总线的多核soc中实现原子操作系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727172A (en) * | 1995-05-01 | 1998-03-10 | Motorola, Inc. | Method and apparatus for performing atomic accesses in a data processing system |
JP2004503864A (ja) * | 2000-06-12 | 2004-02-05 | ミップス テクノロジーズ インコーポレイテッド | ダイナミックマルチストリーミングプロセッサでメモリ操作の原子性を実現するための方法と装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276847A (en) | 1990-02-14 | 1994-01-04 | Intel Corporation | Method for locking and unlocking a computer address |
US5428761A (en) | 1992-03-12 | 1995-06-27 | Digital Equipment Corporation | System for achieving atomic non-sequential multi-word operations in shared memory |
US5548780A (en) | 1994-07-21 | 1996-08-20 | Apple Computer, Inc. | Method for semaphore communication between incompatible bus locking architectures |
US5761731A (en) | 1995-01-13 | 1998-06-02 | Digital Equipment Corporation | Method and apparatus for performing atomic transactions in a shared memory multi processor system |
US6529933B1 (en) * | 1995-06-07 | 2003-03-04 | International Business Machines Corporation | Method and apparatus for locking and unlocking a semaphore |
US5664092A (en) | 1995-09-20 | 1997-09-02 | National Instruments Corporation | System and method for performing locked test and set operations in an instrumentation system |
US6446149B1 (en) | 1998-03-03 | 2002-09-03 | Compaq Information Technologies Group, L.P. | Self-modifying synchronization memory address space and protocol for communication between multiple busmasters of a computer system |
US6377581B1 (en) | 1998-05-14 | 2002-04-23 | Vlsi Technology, Inc. | Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks |
US6260098B1 (en) | 1998-12-17 | 2001-07-10 | International Business Machines Corporation | Shared peripheral controller |
US6381663B1 (en) | 1999-03-26 | 2002-04-30 | Hewlett-Packard Company | Mechanism for implementing bus locking with a mixed architecture |
US6490642B1 (en) * | 1999-08-12 | 2002-12-03 | Mips Technologies, Inc. | Locked read/write on separate address/data bus using write barrier |
US6487622B1 (en) | 1999-10-28 | 2002-11-26 | Ncr Corporation | Quorum arbitrator for a high availability system |
US6839816B2 (en) * | 2002-02-26 | 2005-01-04 | International Business Machines Corporation | Shared cache line update mechanism |
US7103528B2 (en) * | 2002-09-19 | 2006-09-05 | Lsi Logic Corporation | Emulated atomic instruction sequences in a multiprocessor system |
-
2004
- 2004-09-02 US US10/933,191 patent/US8281080B2/en active Active
-
2005
- 2005-08-19 CN CN2005800354700A patent/CN101044459B/zh not_active Expired - Fee Related
- 2005-08-19 JP JP2007529074A patent/JP2008511890A/ja active Pending
- 2005-08-19 KR KR1020077007602A patent/KR20070062537A/ko not_active Application Discontinuation
- 2005-08-19 AT AT05790236T patent/ATE541258T1/de active
- 2005-08-19 EP EP05790236A patent/EP1789876B1/en active Active
- 2005-08-19 WO PCT/IB2005/052732 patent/WO2006024985A2/en active Application Filing
- 2005-08-24 TW TW094128943A patent/TW200620104A/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727172A (en) * | 1995-05-01 | 1998-03-10 | Motorola, Inc. | Method and apparatus for performing atomic accesses in a data processing system |
JP2004503864A (ja) * | 2000-06-12 | 2004-02-05 | ミップス テクノロジーズ インコーポレイテッド | ダイナミックマルチストリーミングプロセッサでメモリ操作の原子性を実現するための方法と装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1789876B1 (en) | 2012-01-11 |
US20060047917A1 (en) | 2006-03-02 |
CN101044459B (zh) | 2011-08-03 |
WO2006024985A2 (en) | 2006-03-09 |
CN101044459A (zh) | 2007-09-26 |
EP1789876A2 (en) | 2007-05-30 |
KR20070062537A (ko) | 2007-06-15 |
WO2006024985A3 (en) | 2006-07-20 |
US8281080B2 (en) | 2012-10-02 |
ATE541258T1 (de) | 2012-01-15 |
TW200620104A (en) | 2006-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR910007750B1 (ko) | 다중 프로세서 컴퓨터 시스템에서 다중 록 표시자를 실시하기 위한 방법 및 장치 | |
US5485594A (en) | Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system | |
US4404628A (en) | Multiprocessor system | |
US5506971A (en) | Method and apparatus for performing a snoop-retry protocol in a data processing system | |
JP3832833B2 (ja) | 情報処理方法および装置 | |
US5611058A (en) | System and method for transferring information between multiple buses | |
TWI396088B (zh) | 執行原子信號操作之方法及裝置 | |
JP2012038293A (ja) | マシンビジョン用マルチプロセッサシステムオンチップ | |
US20140115209A1 (en) | Flow Control for a Serial Peripheral Interface Bus | |
EP0358690A1 (en) | METHOD AND APPARATUS FOR STARTING TRANSACTIONS IN A MULTIPROCESSOR COMPUTER SYSTEM USING MULTIPLE LOCKING INDICATIONS. | |
US5822765A (en) | System and method for resolving contention arising from execution of cache coherency operations in a multiple cache computer system | |
US8458411B2 (en) | Distributed shared memory multiprocessor and data processing method | |
JP3092566B2 (ja) | パイプライン方式のバスを用いたメモリ制御方式 | |
US6968431B2 (en) | Method and apparatus for livelock prevention in a multiprocessor system | |
JP2591502B2 (ja) | 情報処理システムおよびそのバス調停方式 | |
JP2008511890A (ja) | アトミック・オペレーションを用いて情報単位を変更する方法及び装置 | |
US7558923B1 (en) | Prevention of live-lock in a multi-processor system | |
US6502150B1 (en) | Method and apparatus for resource sharing in a multi-processor system | |
US8938588B2 (en) | Ensuring forward progress of token-required cache operations in a shared cache | |
JP2556268B2 (ja) | プログラムダウンロード方式 | |
US20100153610A1 (en) | Bus arbiter and bus system | |
JP3240863B2 (ja) | 調停回路 | |
JP2006155488A (ja) | データ処理装置およびデータ処理方法 | |
JPH0844661A (ja) | 情報処理装置 | |
EP0923031A1 (en) | Method for reading data from a shared memory in a multiprocessor computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080305 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080305 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110601 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110915 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120305 |