JP2006092575A - 据置きトランザクションを実行するための方法および装置 - Google Patents
据置きトランザクションを実行するための方法および装置 Download PDFInfo
- Publication number
- JP2006092575A JP2006092575A JP2005343925A JP2005343925A JP2006092575A JP 2006092575 A JP2006092575 A JP 2006092575A JP 2005343925 A JP2005343925 A JP 2005343925A JP 2005343925 A JP2005343925 A JP 2005343925A JP 2006092575 A JP2006092575 A JP 2006092575A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- request
- agent
- transaction
- address
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/37—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】コンピュータ・システムのバス上でバス・トランザクションを実行するに際し、順不同応答は、専用のトークン・バスを使用せずに、コンピュータ・システム内の要求側エージェントと応答側エージェントとの間のトークンの送信(302)を含んで為される。
【選択図】 図3
Description
パイプライン化トランザクションでは、アドレス・バス上で要求のアドレスが送信されている間に、(アドレス・バス上で)前に要求したアドレスに対応するデータまたは信号をデータ・バス上で返すことができる。所与のパイプライン化システムでは、要求されたのと同じ順序で完了応答が行われる。しかし、他のパイプライン化システムでは、完了応答の順序がそれに対応する要求と同じ順序である必要はない。このタイプのバス・システムは、一般に、分割トランザクション・バス・システムと呼ばれる。
分割トランザクションに対応するため、システムは、応答をそのアドレス(即ち、その要求)に関連付けるための何らかの機能を必要とする。1つの手法は、2つの別々のトークン・バスと1つの据置きバスを使用する方法である。要求を実行する場合、アドレスがアドレス・バス上に励起される。同時に、トークンが第1のトークン・バス上に励起される。このトークンは、アドレス要求に関連付けられている。トークンは、アドレス要求に応答する予定のエージェント(即ち、応答側エージェント)によって受信される。この時点でエージェントが応答可能である場合、応答側エージェントは、第2のトークン・バス上にトークンを励起し、データ・バス上に適切な応答を励起する。
コンピュータ・システム内で分割バス・トランザクションを実行するための方法および装置について説明する。このコンピュータ・システムは、バス・トランザクションをパイプライン化方式で行えるようにするための別々のデータ・バスとアドレス・バスとを含む。本発明は、第1のバス・トランザクションを開始し、要求アドレスをアドレス・バス上で励起するための方法および装置を含む。要求アドレスは、要求側装置またはエージェントによって励起される。応答側エージェントは、この時点で応答ができなければ、据置き応答を励起する。本発明は、その要求およびアドレスに関連するアドレス・バス上に要求側エージェントによる第1のトークンを励起するための方法および装置も含む。要求アドレスは第1のクロック中に共通多重アドレス・バス上で励起され、トークンは第2のクロック中に共通多重アドレス・バス上で励起される。応答側装置は第1のトークンを受信し、応答側装置がアドレス要求を満足する準備ができているかまたは満足できる場合に、後で使用するためにそのトークンを内部に格納することができる。格納すると、第1のバス・トランザクションは完了している。
コンピュータ・システム内の分割トランザクションに対応するための方法および装置について説明する。以下に示す本発明の詳細な説明では、本発明を完全に理解するために、トークン・サイズ、待ち行列サイズなどの、数多くの特定の詳細データを示している。しかし、このような特定の詳細データがなくても本発明を実施できることは、当業者には明らかであろう。その他の例では、本発明を不明確にしないように、周知の方法、機能、構成要素、手順について詳しく説明していない。
まず図1を参照すると、同図には、本発明のコンピュータ・システムの一実施形態の概要がブロック図形式で示されている。図1は本発明のコンピュータ・システムの全体を説明するのに有用であるが、システムの詳細の一部は図示していないことに留意されたい。本発明の開示に必要なので、詳細については本明細書に付属するその他の図に関連して示す。
本発明では、コンピュータ・システム内の装置およびユニットがプロセッサメモリ・バス上でバス・トランザクションを実行する。一実施形態では、プロセッサメモリ・バスのうちのアドレス・バスと制御バスの一部分が相俟って、要求を開始したり、要求に応答するための「要求」バスとして機能する。要求の開始側(例えば、要求側エージェント)は要求タイプとアドレスを転送するためにこの「要求」バスを使用し、要求の監視側(例えば、応答側エージェント)は出されたトランザクションに関する自分の状況または応答を転送するために同じバスを使用する。データ・バスは読取り中または書込み中のデータを転送するものである。
アービトレーション
要求
エラー
スヌープ
応答
データ
本発明では、バス・プロトコルに応じてプロセッサメモリ・バス上で操作が行われる。本発明のコンピュータ・システム内の装置およびユニットは、要求側エージェントと応答側エージェントの両方を表す。要求側エージェントは、1つまたは複数の完了信号と、任意で別の装置からのデータの受信を伴うバス操作を要求できる装置である。応答側エージェントは、必要な信号と、任意で要求に応答するデータを送信することによって要求に応答できる装置である。分割トランザクションに対応できる応答側エージェントは本明細書では「スマート」応答側エージェントと呼ばれ、分割トランザクションに対応できない応答側エージェントは本明細書では「ダム」応答側エージェントと呼ばれる。ただし、以下の説明では、「エージェント」という用語と「装置」という用語を取換え可能な使い方をする場合があることに留意されたい。
データが使用可能になると、応答側エージェントは、格納したトークンと据置かれた要求を使用して、データの宛先を識別することができる。同一キャッシュ線への複数の要求がある場合など、応答側エージェントが据置き応答を出力すると、そのエージェントは一貫性の維持を担当する。
バス・トランザクションの要求フェーズ中、エージェントは、トランザクションに据置かれた応答を出すことができるかどうかを示すために据置きイネーブル(DEN#)信号をアサートすることができる。ただし、「#」という記号は、その信号がアクティブ・ローであることを示すことに留意されたい。DEN#信号がアサート解除されると、トランザクションは据置かれた応答を受信しないはずである。一実施形態では、バスロック操作内のすべてのトランザクション、据置き応答トランザクション、書戻しトランザクションは据え置くことができない。また、トランザクション待ち時間感知エージェントも、DEN#信号機構を使用して、限定待ち時間内のトランザクション完了を保証することができる。
。
グループを励起し、行読取り要求を出す。T2では、要求側エージェントがトークンをアドレス・バスに励起する。アドレスとトークンはT2とT3でアドレス指定されたエージェントによってそれぞれラッチされる。
本発明では、一部の応答側エージェントは一切要求を据え置かず、一部の応答側エージェントは必ず要求を据え置き、一部の応答側エージェントは所与の操作については要求を据え置き、他の操作については据え置かない。
本発明では、据置きプロトコルを使用するために、要求側エージェントと応答側エージェントのそれぞれが追加の機能性をサポートしている。本発明では、据置きおよび据置かれた応答が可能なエージェントはバス・マスタとして機能する。本発明によるバス・マスタになるには、バスについてアービトレーションを行い、要求転送サイクルを実行する能力を含む。このため、応答エージェントは、応答側エージェントによる据置き応答の出力後に完了信号またはデータの準備ができると、第2のトランザクションを開始し、バスの制御権を獲得することができる。例えば、プロセッサは一般にバス・マスタである。これに対して、メモリ制御装置は一般にバス・マスタではないので、バス操作を完了するためにその後のトランザクションを開始するこの能力を備える必要があるはずである。
例えば、要求位置は2ビットの数値にすることができる。要求の位置を記述するために使用するビットの数は、要求待ち行列のサイズを示す。例えば、位置要求用に4ビットを使用することは、要求待ち行列が別々にアドレス可能な項目を最高16個備えることができることを意味する。
これにより、据置かれた応答と通常の応答とを適切に区別することができる。
待ち行列1000は図6に示す待ち行列と同じ情報を格納するが、ただし、アドレスはすでに格納されているのでトークン用の別個のフィールドは不要である。
また、要求側エージェントは、後で返されるアドレスを使用して、後で返されるデータまたは完了信号あるいはその両方を適切な要求と突き合わせるための突合せハードウェアも含んでいる。第2の独立トランザクション中、要求側エージェントは、再送されたアドレス(例えば、トークン)をその保留要求待ち行列内のすべてのトークンと突き合わせる。アドレスが一致すると、要求側エージェントは、元の要求をその保留要求待ち行列から廃棄し、操作を完了することができる。この実施形態の要求側エージェントは、突合せを実行するために複数の54ビット・ラッチとラッチ当たり1つずつの54ビット比較器とを使用する。一実施形態の比較器論理回路は、一致を識別し、その内部タグとともに内部ユニットにデータを返すための制御論理回路を含む。
本発明のプロセッサは、推論実行と順不同実行を行う。これは、プロセッサのマイクロエンジンが欠落データの参照を越えて実行を続けることを意味する。プロセッサのキャッシュ・メモリと後方のキャッシュ・メモリ内でアクセスがミスとして確認された後、要求はプロセッサメモリ・バスに送信される。待ち時間が長いアクセスは、バスを解放するためにプロセッサに据置き応答を返すことにより、最適に満足することができる。このようにして、プロセッサは追加のデータ転送を続行することができる。
以下に示す本発明の様々な実施形態の詳細な説明と添付図面により、本発明をより完全に理解できるだろうが、これらは、本発明を特定の実施形態に限定するものであると解釈すべきではなく、説明および理解のみを目的とするものである。
600:要求待ち行列
601:トークン・フィールド
602:要求フィールド
603:バイト・イネーブル・フィールド
604:アドレス・フィールド
700:保留要求待ち行列
701:要求側エージェントの要求IDフィールド
702:要求側エージェントのID用のフィールド
900:アドレスを使用するトークン
901:アドレス
902:要求修飾子
903:要求
1000:据置かれた要求待ち行列
1001:要求フィールド
1002:バイト・イネーブル・フィールド
1002:アドレス・フィールド
Claims (4)
- 要求側エージェントは、 バス・トランザクションの一部として各バス要求ごとに連続するバス・サイクル中にアドレス・バス上にトークンおよびアドレスを出すための手段を含むことを特徴とするコンピュータ・システム。
- アドレス・バスと、
アドレス・バスに結合された要求側エージェントとを含み、
この要求側エージェントは、バス・トランザクションの一部として各バス要求ごとに、アドレス・バス上にアドレスとそれに続く要求識別トークンを出すための手段を含むことを特徴とするコンピュータ・システム。 - アドレス・バスと、
アドレス・バスに結合された要求側エージェントとを有し、
この要求側エージェントは、バス・トランザクションの一部として各バス要求ごとに、アドレスとそれに続く要求識別トークンをアドレス・バス上に出すように構成された第1の論理回路を有することを特徴とするコンピュータ・システム。 - データ・バス・インタフェースと、
アドレス・バス・インタフェースと、
スヌープ・インタフェースと、
アービトレーション・インタフェースと、
これらのデータ・バス・インタフェース、アドレス・バス・インタフェース、スヌープ・インタフェース、アービトレーション・インタフェースに結合され、異なったトランザクションの様々な異なったトランザクション・フェーズが1クロック・サイクルの間に異なったバスでアクティブであることがあるパイプライン化バス・プロトコルをサポートするバス制御論理とを具備し、
このバス制御論理は、第1のトランザクションの要求フェーズにおいてアドレス・バス・インターフェースに要求と要求トークンを順次送ることを特徴とするバス・エージェント。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/302,600 US5615343A (en) | 1993-06-30 | 1994-09-08 | Method and apparatus for performing deferred transactions |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50965696A Division JP3771260B2 (ja) | 1994-09-08 | 1995-09-08 | 据置きトランザクションを実行するための方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006092575A true JP2006092575A (ja) | 2006-04-06 |
JP4157127B2 JP4157127B2 (ja) | 2008-09-24 |
Family
ID=23168453
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50965696A Expired - Lifetime JP3771260B2 (ja) | 1994-09-08 | 1995-09-08 | 据置きトランザクションを実行するための方法および装置 |
JP2005343925A Expired - Lifetime JP4157127B2 (ja) | 1994-09-08 | 2005-11-29 | 据置きトランザクションを実行するための方法および装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50965696A Expired - Lifetime JP3771260B2 (ja) | 1994-09-08 | 1995-09-08 | 据置きトランザクションを実行するための方法および装置 |
Country Status (7)
Country | Link |
---|---|
US (4) | US5615343A (ja) |
JP (2) | JP3771260B2 (ja) |
KR (1) | KR100253753B1 (ja) |
AU (1) | AU3506295A (ja) |
BR (1) | BR9508906C1 (ja) |
DE (1) | DE19580990C2 (ja) |
WO (1) | WO1996007970A1 (ja) |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5615343A (en) * | 1993-06-30 | 1997-03-25 | Intel Corporation | Method and apparatus for performing deferred transactions |
USRE38428E1 (en) | 1995-05-02 | 2004-02-10 | Apple Computer, Inc. | Bus transaction reordering in a computer system having unordered slaves |
US6108735A (en) * | 1995-09-29 | 2000-08-22 | Intel Corporation | Method and apparatus for responding to unclaimed bus transactions |
US5802055A (en) * | 1996-04-22 | 1998-09-01 | Apple Computer, Inc. | Method and apparatus for dynamic buffer allocation in a bus bridge for pipelined reads |
KR100280285B1 (ko) | 1996-08-19 | 2001-02-01 | 윤종용 | 멀티미디어 신호에 적합한 멀티미디어 프로세서 |
US5923857A (en) * | 1996-09-06 | 1999-07-13 | Intel Corporation | Method and apparatus for ordering writeback data transfers on a bus |
US5878235A (en) * | 1996-10-03 | 1999-03-02 | Micron Electronics, Inc. | Method and system for concurrent computer transaction processing |
US6173349B1 (en) * | 1996-10-18 | 2001-01-09 | Samsung Electronics Co., Ltd. | Shared bus system with transaction and destination ID |
US6012118A (en) * | 1996-12-30 | 2000-01-04 | Intel Corporation | Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus |
US5930485A (en) * | 1997-01-07 | 1999-07-27 | Apple Computer, Inc. | Deadlock avoidance in a computer system having unordered slaves |
DE19712799A1 (de) | 1997-03-26 | 1998-10-01 | Siemens Nixdorf Inf Syst | Abhängigkeitssteuerung für überlappende Speicherzugriffe |
US6128677A (en) * | 1997-10-15 | 2000-10-03 | Intel Corporation | System and method for improved transfer of data between multiple processors and I/O bridges |
US6260091B1 (en) * | 1997-10-20 | 2001-07-10 | Intel Corporation | Method and apparatus for performing out-of-order bus operations in which an agent only arbitrates for use of a data bus to send data with a deferred reply |
US6112270A (en) * | 1997-10-31 | 2000-08-29 | International Business Machines Corporation | Method and system for high speed transferring of strictly ordered bus operations by reissuing bus operations in a multiprocessor system |
US6145038A (en) * | 1997-10-31 | 2000-11-07 | International Business Machines Corporation | Method and system for early slave forwarding of strictly ordered bus operations |
US7071946B2 (en) * | 1997-12-30 | 2006-07-04 | Micron Technology, Inc. | Accelerated graphics port for a multiple memory controller computer system |
US6157398A (en) * | 1997-12-30 | 2000-12-05 | Micron Technology, Inc. | Method of implementing an accelerated graphics port for a multiple memory controller computer system |
US6032178A (en) * | 1998-01-12 | 2000-02-29 | Siemens Aktiengesellschaft | Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations |
US6195722B1 (en) * | 1998-01-26 | 2001-02-27 | Intel Corporation | Method and apparatus for deferring transactions on a host bus having a third party agent |
US6073198A (en) * | 1998-03-31 | 2000-06-06 | Micron Electronics, Inc. | System for peer-to-peer mastering over a computer bus |
US6223238B1 (en) | 1998-03-31 | 2001-04-24 | Micron Electronics, Inc. | Method of peer-to-peer mastering over a computer bus |
US6202101B1 (en) * | 1998-09-30 | 2001-03-13 | Compaq Computer Corporation | System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom |
TW523672B (en) * | 1999-04-23 | 2003-03-11 | Via Tech Inc | Bus system delayed transaction method and device applying the method |
US6609171B1 (en) | 1999-12-29 | 2003-08-19 | Intel Corporation | Quad pumped bus architecture and protocol |
US6813767B1 (en) * | 2000-06-30 | 2004-11-02 | Intel Corporation | Prioritizing transaction requests with a delayed transaction reservation buffer |
US6450882B1 (en) * | 2000-08-30 | 2002-09-17 | Liberty Diversified Industries, Inc. | Precipitation resistant ridge vent |
US6993663B1 (en) * | 2000-08-31 | 2006-01-31 | Microsoft Corporation | Input buffer overrun checking and prevention |
US20020087766A1 (en) * | 2000-12-29 | 2002-07-04 | Akhilesh Kumar | Method and apparatus to implement a locked-bus transaction |
US6742160B2 (en) | 2001-02-14 | 2004-05-25 | Intel Corporation | Checkerboard parity techniques for a multi-pumped bus |
US6968409B1 (en) * | 2001-08-29 | 2005-11-22 | Lsi Logic Corporation | Method and apparatus of establishing a dynamically adjustable loop of delayed read commands for completion in a queue buffer |
US6961800B2 (en) * | 2001-09-28 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Method for improving processor performance |
US6807593B1 (en) * | 2001-11-01 | 2004-10-19 | Lsi Logic Corporation | Enhanced bus architecture for posted read operation between masters and slaves |
US7085866B1 (en) * | 2002-02-19 | 2006-08-01 | Hobson Richard F | Hierarchical bus structure and memory access protocol for multiprocessor systems |
US6959372B1 (en) * | 2002-02-19 | 2005-10-25 | Cogent Chipware Inc. | Processor cluster architecture and associated parallel processing methods |
US7085889B2 (en) * | 2002-03-22 | 2006-08-01 | Intel Corporation | Use of a context identifier in a cache memory |
TWI282513B (en) * | 2002-06-12 | 2007-06-11 | Mediatek Inc | A pre-fetch device of instruction for an embedded system |
US8185602B2 (en) | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
US7254658B2 (en) * | 2004-06-08 | 2007-08-07 | Arm Limited | Write transaction interleaving |
US7779188B2 (en) * | 2005-03-22 | 2010-08-17 | Intel Corporation | System and method to reduce memory latency in microprocessor systems connected with a bus |
US7386683B2 (en) * | 2005-03-29 | 2008-06-10 | International Business Machines Corporation | Method and apparatus for filtering snoop requests in a point-to-point interconnect architecture |
US7373462B2 (en) | 2005-03-29 | 2008-05-13 | International Business Machines Corporation | Snoop filter for filtering snoop requests |
US20080282034A1 (en) * | 2005-09-19 | 2008-11-13 | Via Technologies, Inc. | Memory Subsystem having a Multipurpose Cache for a Stream Graphics Multiprocessor |
US20070067567A1 (en) * | 2005-09-19 | 2007-03-22 | Via Technologies, Inc. | Merging entries in processor caches |
JP4297969B2 (ja) * | 2006-02-24 | 2009-07-15 | 富士通株式会社 | 記録制御装置および記録制御方法 |
WO2007097029A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | プロセッサ装置および命令処理方法 |
US8127080B2 (en) | 2008-02-01 | 2012-02-28 | International Business Machines Corporation | Wake-and-go mechanism with system address bus transaction master |
US8250396B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Hardware wake-and-go mechanism for a data processing system |
US8516484B2 (en) | 2008-02-01 | 2013-08-20 | International Business Machines Corporation | Wake-and-go mechanism for a data processing system |
US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
US8732683B2 (en) | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
US8312458B2 (en) | 2008-02-01 | 2012-11-13 | International Business Machines Corporation | Central repository for wake-and-go mechanism |
US8171476B2 (en) | 2008-02-01 | 2012-05-01 | International Business Machines Corporation | Wake-and-go mechanism with prioritization of threads |
US8316218B2 (en) * | 2008-02-01 | 2012-11-20 | International Business Machines Corporation | Look-ahead wake-and-go engine with speculative execution |
US8341635B2 (en) | 2008-02-01 | 2012-12-25 | International Business Machines Corporation | Hardware wake-and-go mechanism with look-ahead polling |
US8015379B2 (en) * | 2008-02-01 | 2011-09-06 | International Business Machines Corporation | Wake-and-go mechanism with exclusive system bus response |
US8386822B2 (en) * | 2008-02-01 | 2013-02-26 | International Business Machines Corporation | Wake-and-go mechanism with data monitoring |
US8225120B2 (en) | 2008-02-01 | 2012-07-17 | International Business Machines Corporation | Wake-and-go mechanism with data exclusivity |
US8640141B2 (en) * | 2008-02-01 | 2014-01-28 | International Business Machines Corporation | Wake-and-go mechanism with hardware private array |
US8145849B2 (en) * | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Wake-and-go mechanism with system bus response |
US8452947B2 (en) * | 2008-02-01 | 2013-05-28 | International Business Machines Corporation | Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms |
US8612977B2 (en) * | 2008-02-01 | 2013-12-17 | International Business Machines Corporation | Wake-and-go mechanism with software save of thread state |
US8788795B2 (en) * | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
US8880853B2 (en) | 2008-02-01 | 2014-11-04 | International Business Machines Corporation | CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock |
US20090235083A1 (en) * | 2008-02-20 | 2009-09-17 | Micheal Bleahen | System and method for preventing unauthorized access to information |
US9443068B2 (en) | 2008-02-20 | 2016-09-13 | Micheal Bleahen | System and method for preventing unauthorized access to information |
US8145805B2 (en) * | 2008-06-09 | 2012-03-27 | Emulex Design & Manufacturing Corporation | Method for re-sequencing commands and data between a master and target devices utilizing parallel processing |
US8145723B2 (en) * | 2009-04-16 | 2012-03-27 | International Business Machines Corporation | Complex remote update programming idiom accelerator |
US8886919B2 (en) | 2009-04-16 | 2014-11-11 | International Business Machines Corporation | Remote update programming idiom accelerator with allocated processor resources |
US8082315B2 (en) * | 2009-04-16 | 2011-12-20 | International Business Machines Corporation | Programming idiom accelerator for remote update |
US8230201B2 (en) * | 2009-04-16 | 2012-07-24 | International Business Machines Corporation | Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system |
US9104581B2 (en) * | 2010-06-24 | 2015-08-11 | International Business Machines Corporation | eDRAM refresh in a high performance cache architecture |
WO2013070217A1 (en) * | 2011-11-09 | 2013-05-16 | Intel Corporation | Method and apparatus for an agent interfacing with a pipelined backbone to locally handle transactions while obeying an ordering rule |
US9411748B2 (en) | 2011-12-20 | 2016-08-09 | Intel Corporation | Secure replay protected storage |
WO2013095387A1 (en) | 2011-12-20 | 2013-06-27 | Intel Corporation | Secure replay protected storage |
US9122508B2 (en) | 2012-06-15 | 2015-09-01 | International Business Machines Corporation | Real time measurement of I/O interrupt delay times by hypervisor by selectively starting and/or stopping corresponding LPARs |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4181974A (en) * | 1978-01-05 | 1980-01-01 | Honeywell Information Systems, Inc. | System providing multiple outstanding information requests |
YU40357B (en) * | 1978-01-05 | 1985-12-31 | Honeywell Inf Systems | System facilitating a higher number of contemporary information claims |
US4488232A (en) * | 1981-10-02 | 1984-12-11 | Hughes Aircraft Company | Self-adjusting, distributed control, access method for a multiplexed single-signal data bus |
US4481625A (en) | 1981-10-21 | 1984-11-06 | Elxsi | High speed data bus system |
JPH0632056B2 (ja) * | 1985-05-31 | 1994-04-27 | 松下電器産業株式会社 | デ−タ処理装置 |
US4807118A (en) * | 1987-01-14 | 1989-02-21 | Hewlett-Packard Company | Method for handling slot requests over a network |
US5235684A (en) * | 1988-06-30 | 1993-08-10 | Wang Laboratories, Inc. | System bus having multiplexed command/id and data |
US5006982A (en) * | 1988-10-21 | 1991-04-09 | Siemens Ak. | Method of increasing the bandwidth of a packet bus by reordering reply packets |
US5197137A (en) * | 1989-07-28 | 1993-03-23 | International Business Machines Corporation | Computer architecture for the concurrent execution of sequential programs |
US5555425A (en) * | 1990-03-07 | 1996-09-10 | Dell Usa, L.P. | Multi-master bus arbitration system in which the address and data lines of the bus may be separately granted to individual masters |
JP3524110B2 (ja) * | 1992-11-06 | 2004-05-10 | 株式会社ルネサステクノロジ | マイクロコンピュータシステム |
US5528764A (en) | 1992-12-24 | 1996-06-18 | Ncr Corporation | Bus system with cache snooping signals having a turnaround time between agents driving the bus for keeping the bus from floating for an extended period |
US5615343A (en) * | 1993-06-30 | 1997-03-25 | Intel Corporation | Method and apparatus for performing deferred transactions |
US5568620A (en) | 1993-06-30 | 1996-10-22 | Intel Corporation | Method and apparatus for performing bus transactions in a computer system |
US5551005A (en) | 1994-02-25 | 1996-08-27 | Intel Corporation | Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches |
BR9506997A (pt) | 1994-03-01 | 1997-11-18 | Intel Corp | Arquitetura de barramento altamente canalizada |
US5535340A (en) | 1994-05-20 | 1996-07-09 | Intel Corporation | Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge |
US5758106A (en) * | 1994-06-30 | 1998-05-26 | Digital Equipment Corporation | Arbitration unit which requests control of the system bus prior to determining whether such control is required |
US5699516A (en) * | 1994-12-22 | 1997-12-16 | Motorola, Inc. | Method and apparatus for implementing a in-order termination bus protocol within a data processing system |
US5696910A (en) * | 1995-09-26 | 1997-12-09 | Intel Corporation | Method and apparatus for tracking transactions in a pipelined bus |
-
1994
- 1994-09-08 US US08/302,600 patent/US5615343A/en not_active Expired - Lifetime
-
1995
- 1995-09-08 AU AU35062/95A patent/AU3506295A/en not_active Abandoned
- 1995-09-08 DE DE19580990T patent/DE19580990C2/de not_active Expired - Lifetime
- 1995-09-08 WO PCT/US1995/011315 patent/WO1996007970A1/en active IP Right Grant
- 1995-09-08 KR KR1019970701525A patent/KR100253753B1/ko not_active IP Right Cessation
- 1995-09-08 JP JP50965696A patent/JP3771260B2/ja not_active Expired - Lifetime
- 1995-09-08 BR BR9508906-3A patent/BR9508906C1/pt not_active IP Right Cessation
-
1996
- 1996-06-26 US US08/669,101 patent/US5937171A/en not_active Ceased
- 1996-09-06 US US08/709,215 patent/US6405271B1/en not_active Expired - Fee Related
-
2001
- 2001-06-14 US US09/882,444 patent/USRE38388E1/en not_active Expired - Lifetime
-
2005
- 2005-11-29 JP JP2005343925A patent/JP4157127B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE19580990T1 (de) | 1997-08-21 |
DE19580990C2 (de) | 1999-11-11 |
BR9508906A (pt) | 1997-10-28 |
JP4157127B2 (ja) | 2008-09-24 |
JPH10505184A (ja) | 1998-05-19 |
JP3771260B2 (ja) | 2006-04-26 |
KR970705792A (ko) | 1997-10-09 |
US5937171A (en) | 1999-08-10 |
KR100253753B1 (ko) | 2000-04-15 |
US5615343A (en) | 1997-03-25 |
US6405271B1 (en) | 2002-06-11 |
AU3506295A (en) | 1996-03-27 |
BR9508906C1 (pt) | 2004-10-19 |
WO1996007970A1 (en) | 1996-03-14 |
USRE38388E1 (en) | 2004-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4157127B2 (ja) | 据置きトランザクションを実行するための方法および装置 | |
US5568620A (en) | Method and apparatus for performing bus transactions in a computer system | |
US6012118A (en) | Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus | |
CA2186598C (en) | Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge | |
US5696910A (en) | Method and apparatus for tracking transactions in a pipelined bus | |
US4949239A (en) | System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system | |
US5901295A (en) | Address and data bus arbiter for pipelined transactions on a split bus | |
CA2109043A1 (en) | System and method for transferring data between multiple buses | |
US5911053A (en) | Method and apparatus for changing data transfer widths in a computer system | |
US5903738A (en) | Method and apparatus for performing bus transactions in a computer system | |
US6260091B1 (en) | Method and apparatus for performing out-of-order bus operations in which an agent only arbitrates for use of a data bus to send data with a deferred reply | |
US5923857A (en) | Method and apparatus for ordering writeback data transfers on a bus | |
JP3602435B2 (ja) | 制御チップセット間におけるデータトランザクション方法 | |
US6253302B1 (en) | Method and apparatus for supporting multiple overlapping address spaces on a shared bus | |
US6694400B1 (en) | PCI system controller capable of delayed transaction | |
JP3441521B2 (ja) | バス・トランザクション実行の方法と装置 | |
US20020169930A1 (en) | Memory access control system, method thereof and host bridge | |
WO2006024985A2 (en) | Method and apparatus for modifying an information unit using an atomic operation in a system with a mixed architecture | |
US20020166039A1 (en) | Method and apparatus for supporting multiple overlapping address spaces on a shared bus | |
WO1998010350A1 (en) | A data flow control mechanism for a bus supporting two-and three-agent transactions | |
JP2000207371A (ja) | メモリライト方式 |
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: 20080610 |
|
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: 20080710 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
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: 20110718 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130718 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |