JP3700787B2 - セマフォ・バイパス法 - Google Patents
セマフォ・バイパス法 Download PDFInfo
- Publication number
- JP3700787B2 JP3700787B2 JP2004010080A JP2004010080A JP3700787B2 JP 3700787 B2 JP3700787 B2 JP 3700787B2 JP 2004010080 A JP2004010080 A JP 2004010080A JP 2004010080 A JP2004010080 A JP 2004010080A JP 3700787 B2 JP3700787 B2 JP 3700787B2
- Authority
- JP
- Japan
- Prior art keywords
- semaphore
- storage
- address
- comparison device
- memory
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 49
- 230000007246 mechanism Effects 0.000 description 11
- 239000002699 waste material Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09F—DISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
- G09F9/00—Indicating arrangements for variable information in which the information is built-up on a support by selection or combination of individual elements
- G09F9/46—Indicating arrangements for variable information in which the information is built-up on a support by selection or combination of individual elements in which the desired character is selected from a number of characters arranged one behind the other
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/521—Atomic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
「Computer Architecture a Quantitative Approach」 (Hennessy 他著、Morgan Kaufman出版、1990年)第8章
Claims (6)
- 複数の要求装置による共用資源への非同期アクセスを防ぐコンピュータ・ベースの方法であり、その方法が
(1)前記共用資源の記憶場所に対応しているセマフォ・アドレスがあるか記憶比較装置をチェックするステップと、
(2)前記セマフォ・アドレスが前記記憶比較装置内にある場合には、セマフォ・フェイル信号を送るステップと、
(3)前記セマフォ・アドレスが前記記憶比較装置内に存在していない場合には、前記セマフォの内容をチェックするステップから成り、その結果、
(a)前記セマフォがロックされている場合には、前記セマフォ・アドレスを前記記憶比較装置に格納し、さらに
(b)前記セマフォがロックされていない場合には、前記セマフォをロックし、前記セマフォ・アドレスを前記記憶比較装置に格納して、さらに記憶場所にアクセスすることを特徴とする方法。 - ステップ(3)(a)がさらに前記セマフォが既にロックされているかどうか判断するために前記記憶比較装置を周期的にチェックするステップを含むことを特徴とする請求項1に記載の方法。
- 前記共用資源を複数の要求装置により使用しているか否かを表示する共用信号を、テスト・アンド・セットのメモリ・トランザクション中に要求装置が前記記憶比較装置の記入項目をクリアするのを防ぐために使うことを特徴とする請求項lに記載の方法。
- テスト・アンド・セット処理中に個々の要求装置がそれぞれ自主的に前記記憶比較装置をクリアする、のを防ぐことを特徴とする請求項1に記載の方法。
- 共用資源にアクセスするための方法であり、その方法が
(1)要求装置から、セマフォによって保護された前記共用資源にアクセスしようとするテスト・アンド・セット命令を発行するステップと、
(2)前記セマフォ・アドレスがあるかローカル記憶比較装置をチェックし、且つ当該アドレスが存在している場合には前記要求装置にセマフォ・フェイル信号を戻すステップと、さらに
(3)前記アドレスが存在していない場合には、
(i)前記セマフォ・アドレスを前記ローカル記憶比較装置に入れ、
(ii)前記セマフォを前記共用資源からフェッチし、且つそれを前記要求装置に戻し、さらに
(iii )前記セマフォをロックするステップ、
から成ることを特徴とする方法。 - テスト・アンド・セット命令に基づく書き込み以外の書き込みで前記共用資源への書き込みが試みられている場合、前記ローカル記憶比較装置がクリアされることを特徴とする請求項5に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/805,838 US5261106A (en) | 1991-12-13 | 1991-12-13 | Semaphore bypass |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5510781A Division JPH07501904A (ja) | 1991-12-13 | 1992-12-10 | セマフォ・バイパス |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004227581A JP2004227581A (ja) | 2004-08-12 |
JP3700787B2 true JP3700787B2 (ja) | 2005-09-28 |
Family
ID=25192647
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5510781A Pending JPH07501904A (ja) | 1991-12-13 | 1992-12-10 | セマフォ・バイパス |
JP2004010080A Expired - Lifetime JP3700787B2 (ja) | 1991-12-13 | 2004-01-19 | セマフォ・バイパス法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5510781A Pending JPH07501904A (ja) | 1991-12-13 | 1992-12-10 | セマフォ・バイパス |
Country Status (6)
Country | Link |
---|---|
US (1) | US5261106A (ja) |
EP (1) | EP0616709B1 (ja) |
JP (2) | JPH07501904A (ja) |
KR (1) | KR940704039A (ja) |
DE (1) | DE69222060T2 (ja) |
WO (1) | WO1993012483A1 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2665813B2 (ja) * | 1990-02-23 | 1997-10-22 | 三菱電機株式会社 | 記憶制御装置 |
US5522029A (en) * | 1993-04-23 | 1996-05-28 | International Business Machines Corporation | Fault tolerant rendezvous and semaphore for multiple parallel processors |
US5546560A (en) * | 1993-06-22 | 1996-08-13 | Advance Micro Devices, Inc. | Device and method for reducing bus activity in a computer system having multiple bus-masters |
JP2570969B2 (ja) * | 1993-07-05 | 1997-01-16 | 日本電気株式会社 | メモリ管理システム及び方法 |
US5535365A (en) * | 1993-10-22 | 1996-07-09 | Cray Research, Inc. | Method and apparatus for locking shared memory locations in multiprocessing systems |
US5611074A (en) * | 1994-12-14 | 1997-03-11 | International Business Machines Corporation | Efficient polling technique using cache coherent protocol |
US5623670A (en) * | 1995-02-17 | 1997-04-22 | Lucent Technologies Inc. | Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system |
US5704058A (en) * | 1995-04-21 | 1997-12-30 | Derrick; John E. | Cache bus snoop protocol for optimized multiprocessor computer system |
US5799195A (en) * | 1995-07-24 | 1998-08-25 | Dell Usa, L.P. | Structure and method for detecting occurrence of external events using semaphores |
US5696939A (en) * | 1995-09-29 | 1997-12-09 | Hewlett-Packard Co. | Apparatus and method using a semaphore buffer for semaphore instructions |
US5787486A (en) * | 1995-12-15 | 1998-07-28 | International Business Machines Corporation | Bus protocol for locked cycle cache hit |
US5872980A (en) * | 1996-01-25 | 1999-02-16 | International Business Machines Corporation | Semaphore access control buffer and method for accelerated semaphore operations |
US5749087A (en) * | 1996-07-30 | 1998-05-05 | International Business Machines Corporation | Method and apparatus for maintaining n-way associative directories utilizing a content addressable memory |
US6148300A (en) * | 1998-06-19 | 2000-11-14 | Sun Microsystems, Inc. | Hybrid queue and backoff computer resource lock featuring different spin speeds corresponding to multiple-states |
US6453375B1 (en) * | 1999-03-23 | 2002-09-17 | Intel Corporation | Method and apparatus for obtaining coherent accesses with posted writes from multiple software drivers |
US7089555B2 (en) * | 2001-06-27 | 2006-08-08 | International Business Machines Corporation | Ordered semaphore management subsystem |
US7454753B2 (en) * | 2001-06-27 | 2008-11-18 | International Business Machines Corporation | Semaphore management subsystem for use with multi-thread processor systems |
US7155722B1 (en) * | 2001-07-10 | 2006-12-26 | Cisco Technology, Inc. | System and method for process load balancing in a multi-processor environment |
US7143414B2 (en) * | 2001-09-26 | 2006-11-28 | International Business Machines Corporation | Method and apparatus for locking multiple semaphores |
US7406690B2 (en) * | 2001-09-26 | 2008-07-29 | International Business Machines Corporation | Flow lookahead in an ordered semaphore management subsystem |
US7197585B2 (en) * | 2002-09-30 | 2007-03-27 | International Business Machines Corporation | Method and apparatus for managing the execution of a broadcast instruction on a guest processor |
US8099538B2 (en) * | 2006-03-29 | 2012-01-17 | Intel Corporation | Increasing functionality of a reader-writer lock |
CA2932387C (en) * | 2011-11-04 | 2018-10-02 | Intel Corporation | Coordination of self-optimization operations in a self organizing network |
US9553951B1 (en) | 2013-04-24 | 2017-01-24 | Amazon Technologies, Inc. | Semaphores in distributed computing environments |
US9760529B1 (en) | 2014-09-17 | 2017-09-12 | Amazon Technologies, Inc. | Distributed state manager bootstrapping |
US9852221B1 (en) | 2015-03-26 | 2017-12-26 | Amazon Technologies, Inc. | Distributed state manager jury selection |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4320451A (en) * | 1974-04-19 | 1982-03-16 | Honeywell Information Systems Inc. | Extended semaphore architecture |
US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
JPS5939188A (ja) * | 1982-08-30 | 1984-03-03 | Hitachi Ltd | 状態変化デ−タ収集方法 |
US4594657A (en) * | 1983-04-22 | 1986-06-10 | Motorola, Inc. | Semaphore for memory shared by two asynchronous microcomputers |
US4635189A (en) * | 1984-03-01 | 1987-01-06 | Measurex Corporation | Real-time distributed data-base management system |
US4745541A (en) * | 1986-06-16 | 1988-05-17 | Cincinnati Milacron Inc. | Method and apparatus for process control |
JPH0731662B2 (ja) * | 1986-07-15 | 1995-04-10 | 富士通株式会社 | マルチプロセッサシステム |
US4780822A (en) * | 1986-09-17 | 1988-10-25 | Integrated Device Technology, Inc. | Semaphore circuit for shared memory cells |
US4785394A (en) * | 1986-09-19 | 1988-11-15 | Datapoint Corporation | Fair arbitration technique for a split transaction bus in a multiprocessor computer system |
US5050072A (en) * | 1988-06-17 | 1991-09-17 | Modular Computer Systems, Inc. | Semaphore memory to reduce common bus contention to global memory with localized semaphores in a multiprocessor system |
US4965718A (en) * | 1988-09-29 | 1990-10-23 | International Business Machines Corporation | Data processing system incorporating a memory resident directive for synchronizing multiple tasks among plurality of processing elements by monitoring alternation of semaphore data |
US4928222A (en) * | 1988-10-31 | 1990-05-22 | International Business Machines Corporation | Enhanced semaphore architecture |
US5109486A (en) * | 1989-01-06 | 1992-04-28 | Motorola, Inc. | Distributed computer system with network and resource status monitoring |
US5081702A (en) * | 1989-03-09 | 1992-01-14 | Allied-Signal Inc. | Method and apparatus for processing more than one high speed signal through a single high speed input terminal of a microcontroller |
-
1991
- 1991-12-13 US US07/805,838 patent/US5261106A/en not_active Expired - Lifetime
-
1992
- 1992-12-10 DE DE69222060T patent/DE69222060T2/de not_active Expired - Lifetime
- 1992-12-10 WO PCT/JP1992/001617 patent/WO1993012483A1/en active IP Right Grant
- 1992-12-10 KR KR1019940702008A patent/KR940704039A/ko not_active Application Discontinuation
- 1992-12-10 EP EP92924906A patent/EP0616709B1/en not_active Expired - Lifetime
- 1992-12-10 JP JP5510781A patent/JPH07501904A/ja active Pending
-
2004
- 2004-01-19 JP JP2004010080A patent/JP3700787B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR940704039A (ko) | 1994-12-12 |
WO1993012483A1 (en) | 1993-06-24 |
EP0616709B1 (en) | 1997-09-03 |
US5261106A (en) | 1993-11-09 |
EP0616709A1 (en) | 1994-09-28 |
JP2004227581A (ja) | 2004-08-12 |
JPH07501904A (ja) | 1995-02-23 |
DE69222060D1 (de) | 1997-10-09 |
DE69222060T2 (de) | 1998-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3700787B2 (ja) | セマフォ・バイパス法 | |
US6049851A (en) | Method and apparatus for checking cache coherency in a computer architecture | |
CA1306312C (en) | Write-shared cache circuit for multiprocessor system | |
US6625698B2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US5652859A (en) | Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues | |
US5996048A (en) | Inclusion vector architecture for a level two cache | |
US6529968B1 (en) | DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces | |
US5561779A (en) | Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system | |
US7305523B2 (en) | Cache memory direct intervention | |
JP2010507160A (ja) | データ処理装置の共有メモリへの書込みアクセス要求の処理 | |
US20070150658A1 (en) | Pinning locks in shared cache | |
US20080046651A1 (en) | Victim Cache Using Direct Intervention | |
JPH11506852A (ja) | 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減 | |
US20080244189A1 (en) | Method, Apparatus, System and Program Product Supporting Directory-Assisted Speculative Snoop Probe With Concurrent Memory Access | |
US20060236039A1 (en) | Method and apparatus for synchronizing shared data between components in a group | |
JPH10254773A (ja) | アクセス方法、処理装置およびコンピュータ・システム | |
US6915396B2 (en) | Fast priority determination circuit with rotating priority | |
US20020169935A1 (en) | System of and method for memory arbitration using multiple queues | |
US7117312B1 (en) | Mechanism and method employing a plurality of hash functions for cache snoop filtering | |
US5426754A (en) | Cross-interrogate method and means for combined scaler and vector processing system | |
US7325102B1 (en) | Mechanism and method for cache snoop filtering | |
US7328313B2 (en) | Methods to perform cache coherency in multiprocessor system using reserve signals and control bits | |
US6401173B1 (en) | Method and apparatus for optimizing bcache tag performance by inferring bcache tag state from internal processor state | |
JPH10232831A (ja) | キャッシュ・タグ維持装置 | |
KR0145454B1 (ko) | 분산된 공유 메모리를 갖는 다중 프로세서 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20050622 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050705 |
|
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: 20080722 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090722 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100722 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110722 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110722 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120722 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120722 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120722 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120722 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130722 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130722 Year of fee payment: 8 |