JP2002541548A - Global bus synchronous transaction acknowledgment with no response detection - Google Patents

Global bus synchronous transaction acknowledgment with no response detection

Info

Publication number
JP2002541548A
JP2002541548A JP2000609887A JP2000609887A JP2002541548A JP 2002541548 A JP2002541548 A JP 2002541548A JP 2000609887 A JP2000609887 A JP 2000609887A JP 2000609887 A JP2000609887 A JP 2000609887A JP 2002541548 A JP2002541548 A JP 2002541548A
Authority
JP
Japan
Prior art keywords
bus
tack
command
data
circuit
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
Application number
JP2000609887A
Other languages
Japanese (ja)
Other versions
JP4412852B2 (en
Inventor
ワイランド,デイビッド・シィ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRADLE TECHNOLOGIES
Original Assignee
CRADLE TECHNOLOGIES
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CRADLE TECHNOLOGIES filed Critical CRADLE TECHNOLOGIES
Publication of JP2002541548A publication Critical patent/JP2002541548A/en
Application granted granted Critical
Publication of JP4412852B2 publication Critical patent/JP4412852B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 高速スプリットトランザクションバス(16)上のプロセッサ(25)のクラスタ(130、131、132、133)を備える集積マルチプロセッサシステムは、バス上のマスタデバイスからの要求の受取りに応答するターゲットデバイスによるトランザクション肯定応答(TACK)を用いる。マスタおよびターゲットデバイスはバスにグローバルバスインターフェイス(17;31B、33B)を介して接続され、FIFOレジスタ(31A、33A)はバッファとして作用し、ターゲットインターフェイスは、ブロードキャスト要求がそのターゲットデバイスにアドレス指定されたことを判断してグローバルバスのTACKライン(TACK番号)の状態を反転するTACK生成器(図6)を含む。バスアイドルデフォルトデバイス(BIDD)(図8の18)は、いずれのデバイスもバス上にない場合にTACK信号を生成し、かつTACKラインの状態を監視することによりいかなるTACK応答(165)の不在をも検出し、それにより存在しないターゲットデバイスにアドレスしようと試みるマスタデバイスに示唆を与える。BIDDは次いで、要求するマスタデバイスに対して、フラグを無効データにセットしたダミー応答を生成する。 (57) Summary An integrated multiprocessor system comprising a cluster (13 0 , 13 1 , 13 2 , 13 3 ) of processors (25) on a high-speed split transaction bus (16) requires a request from a master device on the bus. Transaction acknowledgment (TACK) by the target device in response to receipt of The master and target devices are connected to the bus via a global bus interface (17; 31B, 33B), the FIFO registers (31A, 33A) act as buffers, and the target interface is configured so that broadcast requests are addressed to the target device. And a TACK generator (FIG. 6) for inverting the state of the global bus TACK line (TACK number). The bus idle default device (BIDD) (18 in FIG. 8) generates a TACK signal when no device is on the bus and monitors the state of the TACK line to detect the absence of any TACK response (165). , Thereby providing an indication to the master device attempting to address a non-existent target device. BIDD then generates a dummy response with the flag set to invalid data for the requesting master device.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】 技術分野 この発明は、オンチップまたはオフチップで装着された多数の中速デバイスを
備えるオンチップ高速バスを有する集積回路アーキテクチャに関し、特に、バス
を渡るデバイス間のコマンドまたはデータ転送と、バス上に配置されるコマンド
またはデータパケットのターゲットデバイスによる肯定応答受信のためのハンド
シェイク方法および回路に関する。
[0001] Technical Field This invention relates to integrated circuit architectures having an on-chip high-speed bus comprises a number of medium-speed device attached on-chip or off-chip, in particular, the command or data transfer between devices across the bus, A handshake method and circuit for receiving an acknowledgment by a target device of a command or data packet located on a bus.

【0002】 背景技術 典型的なバスシステムにおいては、バスは装着されるデバイスと同じ速度であ
るか、またはこれよりも遅い速度である。システムバスはプリント配線板上に位
置決めされ、プロセッサとメモリチップモジュールとはボードにボンディングさ
れ、バスはさまざまなチップ間のバスを渡る情報転送を遅くするキャパシタンス
およびインダクタンス遅延を受ける。そのようなシステムにおいては、情報転送
における第1のボトルネックはデバイスではなくバスであり、レイテンシおよび
帯域幅の計算は、バスへのアクセスを得るためのアービトレーション遅延に関わ
る。
[0002] BACKGROUND ART Typical bus systems, bus is the same speed or where slower rate than this a device to be mounted. The system bus is positioned on the printed wiring board, the processor and the memory chip module are bonded to the board, and the bus experiences capacitance and inductance delays that slow the transfer of information between the various chips across the bus. In such systems, the first bottleneck in information transfer is the bus, not the device, and latency and bandwidth calculations involve arbitration delay to gain access to the bus.

【0003】 システム全体、またはその大部分がチップに集積される場合、バス自体もチッ
プ上に集積され得る。そのようなオンチップバスは非常に速く、典型的にはプリ
ント回線板上に配置されるものよりも6倍から10倍速い。640から800M
Hzのクロックレートで動作するオンチップバスは、約4から5ギガバイト/秒
のレートでデータを転送できる。この速度ではバスが非常に速いので、事実上バ
スは透過性である。バスは、バスに装着された最も速いターゲットデバイスにさ
えも、速度が顕著に勝る。たとえば、DRAMは、0.8ギガバイト/秒のピー
クの維持可能量伝送レートを有する。2つのDRAMモジュールを備えていても
、それらを総合した帯域幅はわずかに1.6ギガバイト/秒であり、まだバスの
帯域幅よりも顕著に少ない。これは、システムの速度はバスの速度によって制限
されるのではなく、バス上のターゲットデバイスの速度によって制限されること
を意味する。
When the entire system, or most of it, is integrated on a chip, the bus itself may also be integrated on the chip. Such an on-chip bus is very fast, typically six to ten times faster than that located on a printed circuit board. 640 to 800M
An on-chip bus operating at a clock rate of 1 Hz can transfer data at a rate of about 4-5 gigabytes / second. At this speed, the bus is so fast that it is virtually transparent. The bus significantly outperforms even the fastest target device mounted on the bus. For example, DRAM has a peak sustainable transmission rate of 0.8 gigabytes / second. Even with two DRAM modules, the combined bandwidth is only 1.6 gigabytes / second, still significantly less than the bus bandwidth. This means that the speed of the system is not limited by the speed of the bus, but by the speed of the target device on the bus.

【0004】 1つのデバイスが、バス上の別のデバイスからデータを受取るのを待機する間
にバスを停滞させるのを避けるために、スプリットトランザクションバスを用い
得る。この方法で、バスは同時に多くのトランザクションを進行させることがで
きる。データ読出動作の各々は2つのステップで起こる。すなわち、読出開始、
次いで読出完了である。読出開始と読出完了との間には遅延がある。この遅延は
、ターゲットが要求をデコードし、要求されたデータを獲得し、それを要求する
デバイス(マスタ)に送り返すために必要となる時間である。この時間の間には
、マスタデバイスもターゲットデバイスもバス上にない。そうではなく、マスタ
デバイスはそのデータ読出コマンドを第1のバスサイクルで送った後に、バスを
解放する。こうして、マスタデバイスがその読出の完了を待機する間に、バスは
他のトランザクションをサポートすることができる。一方、ターゲットデバイス
は受取った要求を処理し、かつ読出データが準備できたときにのみ、バスをアー
ビトレーションし、要求されたデータをマスタデバイスに送る。データを要求す
るデバイスに転送することにより、読出サイクルは終了する。
[0004] A split transaction bus may be used to avoid stalling the bus while one device waits to receive data from another device on the bus. In this way, the bus can have many transactions in progress at the same time. Each of the data read operations occurs in two steps. That is, reading starts,
Next, the reading is completed. There is a delay between the start of reading and the completion of reading. This delay is the time required for the target to decode the request, get the requested data, and send it back to the requesting device (master). During this time, neither the master device nor the target device is on the bus. Instead, the master device releases its bus after sending its data read command in the first bus cycle. Thus, while the master device waits for its read to complete, the bus can support other transactions. On the other hand, the target device processes the received request, and arbitrates the bus and sends the requested data to the master device only when the read data is ready. The transfer cycle ends when the data is transferred to the requesting device.

【0005】 スプリットトランザクションバスに関して起こり得る1つの問題は、ターゲッ
トデバイスが存在しない場合である。もしコマンドを受取るデバイスがなければ
、データは戻ってこない。しかしながら、スプリットトランザクションバスは通
常は読出コマンドとその結果であるデータの受取りとの間に遅延を有するために
、無応答は見出されないまま発生し得る。要求デバイスは無期限に待機し続ける
。必要なのは、ターゲットデバイスによるトランザクション肯定応答を提供する
ハンドシェイク方法である。マスタデバイスが要求を送ってから2クロックサイ
クル以内に、ターゲットデバイスがその要求を受取ったという示唆を受取ること
が望ましい。この本質的に即時のフィードバックに対する要件では、肯定応答を
返すのに要求される時間の間バスを停滞させることなく、あるいは、ターゲット
がデータ送信サイクルとは別の肯定応答サイクルに対してバスをアービトレーシ
ョンすることを要求することなく、スプリットトランザクションバスで行なうこ
とは困難である。
[0005] One possible problem with the split transaction bus is when the target device is not present. If no device receives the command, no data will be returned. However, no response can occur without being found because the split transaction bus usually has a delay between the read command and the receipt of the resulting data. The requesting device continues to wait indefinitely. What is needed is a handshake method that provides a transaction acknowledgment by the target device. It is desirable to receive an indication within two clock cycles of the master device sending the request that the target device has received the request. This essentially immediate feedback requirement does not cause the bus to stagnate for the time required to return an acknowledgment, or the target arbitrates the bus for an acknowledgment cycle separate from the data transmission cycle. It is difficult to do this on a split transaction bus without requiring it to do so.

【0006】 ワイザー(Wisor)他の米国特許第5,666,559号は、データを受取る
周辺デバイスが中央ユニットに肯定応答信号を提供するシステムを記載する。タ
イムアウトカウンタが設けられ、もしタイムアウト期間が肯定応答信号の返信前
に満了すると、制御ユニットはエラーフラグをアサートし、割込ルーチンを開始
する。
US Pat. No. 5,666,559 to Wisor et al. Describes a system in which a peripheral device receiving data provides an acknowledgment signal to a central unit. A timeout counter is provided, and if the timeout period expires before returning an acknowledgment signal, the control unit asserts an error flag and starts an interrupt routine.

【0007】 この発明の目的は、高速スプリットトランザクションバスのための無応答検出
を備えた同期トランザクション肯定応答回路を提供することである。
It is an object of the present invention to provide a synchronous transaction acknowledgment circuit with no response detection for a high-speed split transaction bus.

【0008】 発明の要約 この発明の目的は、バスに別々のトランザクション肯定応答ラインを設け、タ
ーゲットデバイスがそれ自体に向けられたコマンドを受取ったときにトランザク
ション肯定応答ラインの現在の状態を反対の状態に反転させるドライバ回路をタ
ーゲットデバイスの各々に設け、かつバスシステムにトランザクション肯定応答
ラインの状態が反転されたかどうかを監視する肯定応答検出回路を設けることに
より、達成される。この方策は、要求するマスタデバイスにそのコマンドが指定
されたターゲットデバイスによって受取られたという即時のフィードバックを提
供する。もしトランザクション肯定応答ラインの状態が変化していなければ、タ
ーゲットデバイスが存在しないことが示唆される。
An object of Abstract The invention relates to a bus provided separate transaction acknowledgment line, the current state of the opposite state of the transaction acknowledgment line when receiving the command the target device is directed to itself This is achieved by providing a driver circuit in each of the target devices for inverting the transaction acknowledgment, and providing the bus system with an acknowledgment detection circuit that monitors whether the state of the transaction acknowledgment line is inverted. This strategy provides the requesting master device with immediate feedback that the command has been received by the specified target device. If the state of the transaction acknowledge line has not changed, it indicates that the target device is not present.

【0009】 バスアイドルデフォルトデバイス(BIDD)が、他のデバイスがバスを駆動
していない場合にトランザクション肯定応答ラインを駆動するために提供されて
もよい。一実施例においては、BIDDは、存在しないターゲットデバイスから
の無応答を検出し、次いで要求するマスタデバイスにダミー応答を生成する回路
を含み得る。ダミーデータは、要求されたデータではないことを示すフラグを立
てられる。これに代えて、トランザクション肯定応答の不在の検出は、マスタデ
バイスごとのバスインターフェイスにおける検出器によって行なわれてもよい。
A bus idle default device (BIDD) may be provided to drive the transaction acknowledge line when no other device is driving the bus. In one embodiment, BIDD may include circuitry to detect a no response from a non-existent target device and then generate a dummy response to the requesting master device. The dummy data is flagged to indicate that it is not the requested data. Alternatively, the detection of the absence of a transaction acknowledgment may be performed by a detector at the bus interface for each master device.

【0010】 発明を実行するためのベストモード 図1を参照すると、マルチプロセッサシステムを形成する集積回路11は、入
力/出力(I/O)クラスタ14として複数の処理クラスタ130−133(ここ
では数は4個)と、SDRAMメモリコントローラ15とを有し、これらすべて
はバスインターフェイスユニット17によってオンチップ高速グローバルバス1
6に装着される。典型的なシステムは、640MHzクロックレートで動作する
グローバルバス16を有し得る一方、クラスタ13−15はその半分のクロック
レート、すなわち320MHzで動作する。グローバルバス制御ユニット18は
、さまざまなクラスタ13−15によるバス16へのアクセスを規制するバスア
ービタおよび、どのクラスタ要素もバスを駆動していない場合に用いるバスアイ
ドルデフォルトデバイス(BIDD)をも含む。I/Oクラスタ14およびSD
RAMコントローラ15は、I/Oバス19およびプログラム可能I/Oサブシ
ステム20を介してオフチップデバイスと通信し、該プログラム可能I/Oサブ
システム20は、チップのI/Oパッド21と1つ以上のSDRAMメモリチッ
プ22とに接続される。この発明では主に、グローバルバス16、バスインター
フェイスユニット17、およびグローバルバス制御ユニット18内のBIDDデ
バイスに焦点を当てる。
[0010] With reference to best modes Figure 1 for carrying out the invention, the integrated circuit 11 to form a multiprocessor system, an input / output (I / O) a plurality of processing clusters 13 0 -13 3 as a cluster 14 (here And four SDRAM memory controllers 15, all of which are controlled by the bus interface unit 17.
6 is attached. A typical system may have a global bus 16 operating at a 640 MHz clock rate, while clusters 13-15 operate at half that clock rate, ie, 320 MHz. Global bus control unit 18 also includes a bus arbiter that regulates access to bus 16 by various clusters 13-15, and a bus idle default device (BIDD) that is used when no cluster element is driving the bus. I / O cluster 14 and SD
The RAM controller 15 communicates with off-chip devices via an I / O bus 19 and a programmable I / O subsystem 20, which has one I / O pad 21 and one It is connected to the SDRAM memory chip 22 described above. The present invention mainly focuses on the BIDD devices in the global bus 16, bus interface unit 17, and global bus control unit 18.

【0011】 図2を参照すると、集積回路のバス構造は、単一のグローバルバス16と、図
1に示すようにグローバルバス16に装着された複数のクラスタ13−15ごと
のローカルバス29とからなる。処理クラスタ13の各々は、処理要素、デジタ
ル信号エンジン、メモリ転送制御エンジンならびに関連のクラスタデータ、およ
び命令メモリ、キャッシュならびにレジスタなどの複数の処理機能を含み、すべ
てはクラスタ13のローカルバス28に装着される。I/Oクラスタ(図1では
14)も同様であるが、I/O転送エンジンがデジタル信号エンジンおよびメモ
リ転送制御エンジンに置換わり、I/Oバス(図1では19)もまたローカルバ
ス29とインターフェイスする点が異なる。バス16および29は、バス上のさ
まざまな要素が情報(データ、命令など)を転送することを可能にする。バス要
素は2種類からなる。すなわち、マスタ25およびターゲット27である。バス
マスタデバイス25の例は、処理要素、デジタル信号エンジン、メモリ転送制御
エンジンおよびI/O転送エンジンである。バスターゲットデバイス27の例は
、クラスタデータおよび命令メモリならびにキャッシュを含む、メモリおよびレ
ジスタ、処理要素デジタル信号エンジンおよびメモリ転送制御エンジンのための
クラスタハードウェアレジスタ、およびDRAMメモリおよびシステムレジスタ
である。すべての情報転送はマスタとターゲットとの間で行なわれ、マスタはタ
ーゲットとの間の転送を開始する。クラスタ13内のすべての転送はローカルバ
ス29を渡って行なわれるのに対し、I/Oクラスタ(図1においては14)お
よびSDRAMコントローラ(図1においては15)を含むクラスタ間の情報転
送は、グローバルバスインターフェイス17を介してグローバルバス16を渡っ
て行なわれる。グローバルバスインターフェイス17は、関連のFIFOレジス
タバンク31Aを備えたマスタインターフェイス31Bと、やはり関連のFIF
Oレジスタバンク33Bを備えたターゲットインターフェイス33Bとを含む。
すべての書込動作はマスタからターゲットへの直接トランザクションである。す
べての読出動作はスプリットトランザクションであり、マスタからターゲットへ
のコマンド書込がトランザクションを開始し、その後にターゲットから発信マス
タへの別の応答書込によりトランザクションが終了する。グローバルバス制御(
図1においては18)は、グローバルバス16へのアクセスのためにマスタおよ
びターゲットインターフェイス31Bおよび33Bの間でアービトレーションし
、かつマスタとターゲットFIFO31Aおよび33Aとの間でデータ転送のた
めにクロッキングを提供する。
Referring to FIG. 2, the bus structure of the integrated circuit includes a single global bus 16 and a local bus 29 for each of a plurality of clusters 13-15 mounted on the global bus 16 as shown in FIG. Become. Each of the processing clusters 13 includes a processing element, a digital signal engine, a memory transfer control engine and associated cluster data, and a plurality of processing functions such as instruction memories, caches and registers, all mounted on the local bus 28 of the cluster 13. Is done. The same applies to the I / O cluster (14 in FIG. 1), except that the I / O transfer engine is replaced by a digital signal engine and a memory transfer control engine, and the I / O bus (19 in FIG. 1) is also connected to the local bus 29. The interface is different. Buses 16 and 29 allow various elements on the bus to transfer information (data, instructions, etc.). There are two types of bus elements. That is, they are the master 25 and the target 27. Examples of the bus master device 25 are a processing element, a digital signal engine, a memory transfer control engine, and an I / O transfer engine. Examples of bus target devices 27 are memory and registers, including cluster data and instruction memories and caches, cluster hardware registers for processing element digital signal engines and memory transfer control engines, and DRAM memory and system registers. All information transfer occurs between the master and the target, and the master initiates the transfer between the target. While all transfers within the cluster 13 take place across the local bus 29, information transfers between clusters including the I / O cluster (14 in FIG. 1) and the SDRAM controller (15 in FIG. 1) This is performed across the global bus 16 via the global bus interface 17. The global bus interface 17 comprises a master interface 31B with an associated FIFO register bank 31A and an associated FIFO register bank 31A.
And a target interface 33B having an O register bank 33B.
All write operations are direct transactions from master to target. All read operations are split transactions, where a command write from the master to the target initiates the transaction, followed by another transaction write from the target to the originating master, ending the transaction. Global bus control (
In FIG. 1, 18) arbitrates between master and target interfaces 31B and 33B for access to global bus 16 and provides clocking for data transfer between master and target FIFOs 31A and 33A. I do.

【0012】 図3を参照すると、グローバルバスインターフェイス17は、マスタインター
フェイス31とターゲットインターフェイス33とを含む。マスタインターフェ
イス31は転送を開始し、ターゲットインターフェイス33はマスタインターフ
ェイス31から受取った転送要求に応答する。ほとんどのグローバルバスインタ
ーフェイス17は、マスタインターフェイス31およびターゲットインターフェ
イス33の両方を有するが、レジスタバンクまたはメモリなどのグローバルバス
上のいくつかのデバイスは1つのみのターゲットインターフェイス33を有し得
る。バスシステムはすべてのバス要素に対して単一の32ビットアドレスの一様
のアドレス指定を用いる。いずれのバスマスタ要素も、ターゲット要素のバスア
ドレスを用いて他のいずれのバスターゲット要素にもアドレス指定できる。した
がって、グローバルバスマスタインターフェイス31の各々はレジスタ41にス
トアされる「マイデバイス番号」と呼ばれる独自のハードウェアに割当てられた
デバイス番号を有する。この番号は、グローバルバス転送においてデータを受取
るべき独自のインターフェイス31を示唆する。これはハードウェアポート番号
であり、プログラマーによっては生成されずまた参照もできない。ターゲットイ
ンターフェイス33の各々はまた、「マイグローバルアドレス範囲」と呼ばれる
グローバルバスアドレスの範囲を有し、これはターゲットが応答するであろうア
ドレスを識別する。このアドレス範囲も同様にターゲットインターフェイス33
内のレジスタ43にストアされる。
Referring to FIG. 3, the global bus interface 17 includes a master interface 31 and a target interface 33. The master interface 31 starts the transfer, and the target interface 33 responds to the transfer request received from the master interface 31. Most global bus interfaces 17 have both a master interface 31 and a target interface 33, but some devices on the global bus, such as register banks or memories, may have only one target interface 33. The bus system uses uniform addressing of a single 32-bit address for all bus elements. Any bus master element can address any other bus target element using the bus address of the target element. Therefore, each of the global bus master interfaces 31 has a unique hardware-assigned device number called “My Device Number” stored in the register 41. This number indicates a unique interface 31 to receive data in a global bus transfer. This is a hardware port number and is not generated or referenced by the programmer. Each of the target interfaces 33 also has a range of global bus addresses called "My Global Address Range", which identifies the addresses to which the target will respond. This address range is likewise the target interface 33
Is stored in the register 43.

【0013】 グローバルバス16は、単一のトランザクション書込、スプリットトランザク
ション読出バスである。これは64ビットバスであり、32ビットアドレスと6
4ビットデータ転送とを備える。バスサイクルの各々は、トランザクションタイ
プ(アイドル、コマンド、データ、最後のデータ)と、情報を受取るバスデバイ
スと、64ビットのコマンドまたはデータとを特定する。コマンドオクテットは
、コマンド情報(読出/書込など)と32ビット転送アドレスとを含む。データ
を受取るデスティネーション(読出コマンドまたは書込コマンドに加えて書込デ
ータを受取るターゲットデバイス、またはターゲットデバイスによって返信され
るデータを受取るマスタデバイスのいずれか)は特定のデバイスであってもよい
し、すべてのデバイスに対するブロードキャストであってもよい(「デバイス0
」として指定される)。推奨されるグローバルバス転送アトムは各々4バイトの
8ワードであり、これにより各々8バイトの4バスオクテット(64ビット)と
なり、1、2および4オクテット転送は特別な場合である。4オクテットデータ
転送は、80%のバス効率を有する(4データオクテットごとに1コマンドオク
テット)。すべての転送は、バス16上のグローバルバスインターフェイス17
におけるFIFO(図3においては56、63、82、85)への書込である。
アドレスおよびデータはパイプライン化される。バス上のすべてのデータ転送は
、自然に整列されたアドレスでの64ビットバスオクテットである。転送はどの
アドレスにおいても開始できる。データはバスクロックに同期して転送され、各
々のバスインターフェイスデバイス17におけるFIFOレジスタは主にソース
とデスティネーションとの間のクロック速度差およびスキューに対して補償する
ためにグローバルバス16との間のアドレスおよびデータ情報をバッファするよ
う機能する。FIFOレジスタは、ソースとデスティネーションとの間で最大4
クロックサイクル(それぞれの側で2クロックサイクル)のパイプライン遅延を
加えることができる。
The global bus 16 is a single transaction write, split transaction read bus. This is a 64-bit bus, with a 32-bit address and 6 bits.
4-bit data transfer. Each bus cycle specifies the transaction type (idle, command, data, last data), the bus device receiving the information, and the 64-bit command or data. The command octet includes command information (such as read / write) and a 32-bit transfer address. The destination for receiving data (either a target device for receiving write data in addition to a read or write command, or a master device for receiving data returned by the target device) may be a specific device; It may be a broadcast to all devices ("Device 0
"). The recommended global bus transfer atom is 8 words of 4 bytes each, resulting in 4 bus octets (64 bits) of 8 bytes each, with 1, 2 and 4 octet transfers being a special case. Four octet data transfers have a bus efficiency of 80% (one command octet for every four data octets). All transfers are performed on the global bus interface 17 on the bus 16
(In FIG. 3, 56, 63, 82, 85).
Addresses and data are pipelined. All data transfers on the bus are 64-bit bus octets at naturally aligned addresses. The transfer can start at any address. Data is transferred in synchronization with the bus clock, and the FIFO registers in each bus interface device 17 are mainly connected to the global bus 16 to compensate for clock speed differences and skew between the source and destination. Functions to buffer address and data information. FIFO registers have a maximum of 4 between the source and destination.
A pipeline delay of clock cycles (two clock cycles on each side) can be added.

【0014】 グローバルバス16は、4つの情報転送タイプを有する。すなわち、データ書
込、データ読出、制御書込および制御読出である。バスマスタによるデータ書込
動作は、第1のバスサイクルで転送コマンドを送り、次いで1、2または4デー
タオクテットを後続のサイクルで送る。最後のデータオクテットの転送が書込サ
イクルを完了させる。バスマスタによるデータ読出動作は、転送コマンドを第1
のサイクルで送り、次いでバスを解放する。ターゲットとされたデバイスはコマ
ンドを受取る。読出データが準備できたとき、ターゲットはバスに対してアービ
トレーションし、読出データをコマンドオクテットに示されたバスマスタに返送
する。要求するマスタデバイスへの最後のデータオクテットの転送は読出サイク
ルを完了させる。制御書込は、データ書込動作のアドレス変形であり、単一のデ
ータオクテットを備える。すなわち、これはデータを別の32ビット制御アドレ
ス空間に書込む。コマンドオクテットのデータ/制御ビットは制御アドレス空間
への書込を示唆する。すべてのターゲットがコマンドおよびデータオクテットを
受取り、サイクルを完了させる。制御書込は、これらを受取るインターフェイス
内の別のデータレジスタに向かう。これはインターフェイスがデータ動作でビジ
ーになることによるコマンド拒絶を回避するものである。制御書込は、クラスタ
の各々にベースアドレスを送り、かつグローバルレジスタのような他のすべての
グローバルバスデバイスにベースアドレスと構成データとを送るために用いられ
る。制御書込もまた、すべてのクラスタにグローバルタイミング信号およびグロ
ーバルウェークアップ割込を送るために用いられる。クラスタの各々は、そのク
ラスタベースアドレスのグローバルバス制御書込を受取る。クラスタベースアド
レスを受取ると、クラスタの各々はそのベースアドレスをそのすべての処理要素
とデジタル信号エンジンとに送り、これらはこのアドレスをストアして、クラス
タデータバス上に適切なグローバルアドレスが存在する場合に内部レジスタへの
転送要求に応答できるようにする。制御読出は制御書込の対になるものである。
制御読出は、ホストまたは構成デバイスが、グローバルバス制御アドレス空間に
おけるベースアドレスと構成レジスタとを読出し、かつこれらを書込むことを可
能にする。これはPCI構成レジスタ(たとえばPCIインターフェイスを介し
て外部PCIデバイスが参照可能なもの)に対して必要となる。
The global bus 16 has four information transfer types. That is, data writing, data reading, control writing, and control reading. A data write operation by the bus master sends a transfer command in a first bus cycle, and then sends one, two or four data octets in a subsequent cycle. The transfer of the last data octet completes the write cycle. In the data read operation by the bus master, the transfer command
And then release the bus. The targeted device receives the command. When the read data is ready, the target arbitrates for the bus and returns the read data to the bus master indicated in the command octet. The transfer of the last data octet to the requesting master device completes the read cycle. A control write is an address variant of a data write operation and comprises a single data octet. That is, it writes data to another 32-bit control address space. The data / control bits in the command octet indicate a write to the control address space. All targets receive the command and data octets and complete the cycle. Control writes go to another data register in the interface that receives them. This avoids command rejection due to the interface being busy with data operations. The control write is used to send the base address to each of the clusters and to send the base address and configuration data to all other global bus devices, such as global registers. Control writes are also used to send global timing signals and global wake-up interrupts to all clusters. Each of the clusters receives a global bus control write of its cluster base address. Upon receiving the cluster base address, each of the clusters sends its base address to all of its processing elements and the digital signal engine, which stores this address if there is an appropriate global address on the cluster data bus. Can respond to a transfer request to an internal register. Control reading is a pair of control writing.
Control reads allow a host or configuration device to read and write base addresses and configuration registers in the global bus control address space. This is required for PCI configuration registers (eg, those that can be referenced by an external PCI device via a PCI interface).

【0015】 グローバルバスマスタの各々は、いかなる一時点においても1つの処理中のト
ランザクションだけを有する。これは、現在のトランザクションが完了するまで
別のトランザクションを開始することができない。マスタの各々が一度に1つの
トランザクションしかサポートできなくても、バスは進行中に多くのトランザク
ションを有し得る。読出動作の各々は2つのステップで起こる。すなわち、読出
開始、次いで読出完了である。読出開始と読出完了との間には遅延がある。この
遅延は、ターゲットがコマンドをデコードし、読出データを獲得し、これをマス
タに返信するのに要求される時間である。この時間の間、マスタもターゲットも
バス上にない。マスタがその読取の完了を待機する間、バスは他のトランザクシ
ョンをサポートし得る。たとえば、他のマスタは書込転送を行ない、かつ他の読
出転送を行なうこともできる。
Each of the global bus masters has only one transaction in progress at any one time. It cannot start another transaction until the current transaction is completed. The bus may have many transactions in progress, even though each of the masters can only support one transaction at a time. Each of the read operations takes place in two steps. That is, reading is started, and then reading is completed. There is a delay between the start of reading and the completion of reading. This delay is the time required for the target to decode the command, get the read data, and send it back to the master. During this time, neither the master nor the target is on the bus. While the master waits for the read to complete, the bus may support other transactions. For example, another master may perform a write transfer and another read transfer.

【0016】 グローバルバストランザクションの各々は、ターゲットデバイスに書込まれる
コマンドオクテットで開始する。コマンドオクテットは、以下のフィールドを含
み得る。すなわち、読出/書込転送ビットと、データ/制御タイプビットと、予
想される転送長をオクテット(1、2、4または4以上)でDRAMメモリに示
すための2ビット転送長フィールドと、2ビット優先フィールドと、2つのマル
チビットフィールド(たとえば、各々6ビット)とを含み、該2つのマルチビッ
トフィールドはそれぞれ、読出コマンドに応答するデスティネーションとしてタ
ーゲットデバイスが用いるための発信マスタインタフェースデバイスのデバイス
番号とクラスタ内で特定のデバイスを指定するサブデバイス番号とを指定し、フ
ィールドはさらに、ターゲット内のデータのアドレスおよびターゲットデバイス
アドレスを指定する32ビットアドレスフィールドを含む。所望であれば他のフ
ィールドを定義するか、またはコマンドのサイズを総合してもグローバルバスに
よって確立された1オクテットサイズを超えなければフィールドサイズを拡張し
てもよい。
Each of the global bus transactions starts with a command octet written to the target device. Command octets may include the following fields: That is, a read / write transfer bit, a data / control type bit, a 2-bit transfer length field for indicating the expected transfer length in octets (1, 2, 4, or 4 or more) to the DRAM memory; A priority field and two multi-bit fields (e.g., 6 bits each), each of the two multi-bit fields being a device number of an originating master interface device for use by the target device as a destination in response to a read command. And a sub-device number specifying a particular device in the cluster, and the fields further include a 32-bit address field specifying the address of the data in the target and the target device address. Other fields may be defined if desired, or the field size may be extended if the combined command size does not exceed the one octet size established by the global bus.

【0017】 図4のタイミング図とともに再び図3のインターフェイス構造を参照すると、
マスタデバイスが1から4データオクテットを指定されたターゲットデバイスに
書込むデータ書込動作は、マスタデバイスがマスタインターフェイス31へコマ
ンドを転送することにより開始するが、これはローカルバス29を介してマスタ
インターフェイスバス47に、次いでライン51を介してコマンドバッファ53
へ転送される。「マイデバイス番号」記憶レジスタ41からライン52を介して
コマンドバッファ53によって受取られるマスタインターフェイスのデバイス番
号は、適切なフィールド内のコマンドに付与される。次いで、マスタインターフ
ェイス31はグローバルバスへのアクセスを要求するが、これは図4において参
照番号91でグローバルバスの要求ライン(GBR♯)がローになることにより
示される。要求はコマンドオクテットに対して行なわれ、かつデータオクテット
の各々の書込に対しても行なわれる。図4に示す例においては、マスタの要求信
号は5オクテット転送に対して5クロックサイクルの間ローにとどまる。グロー
バルバス制御のアービタ(図1においては18)はマスタインターフェイスへの
アクセスを要求されたサイクルの数だけ承認するが、これは参照符号93におい
て5クロックサイクルの間承認ライン(GBA♯)がローになっていることによ
り示される。マスタインターフェイス31は次いで書込コマンドオクテットとデ
ータオクテットとを、図3におけるコマンド出力ライン54を介して送り、イン
ターフェイスバス47と書込データライン55とを介して通信する書込FIFO
レジスタバンク56からの書込データライン57を介してグローバルバスに送る
。この書込コマンドの後に要求された数のデータオクテットが続く発信は、図4
におけるオクテット95−99によって示される。
Referring again to the interface structure of FIG. 3 with the timing diagram of FIG.
The data write operation in which the master device writes 1 to 4 data octets to the specified target device is started by the master device transferring a command to the master interface 31, which is performed via the local bus 29. A command buffer 53 via bus 47 and then via line 51
Transferred to The master interface device number received by the command buffer 53 from the "my device number" storage register 41 via line 52 is appended to the command in the appropriate field. The master interface 31 then requests access to the global bus, which is indicated by the global bus request line (GBR #) going low at 91 in FIG. Requests are made for command octets and also for each write of data octets. In the example shown in FIG. 4, the master request signal stays low for five clock cycles for a five octet transfer. The global bus control arbiter (18 in FIG. 1) grants access to the master interface for the number of cycles requested, which means that at 93 the grant line (GBA $) goes low for five clock cycles. It is indicated by having become. Master interface 31 then sends a write command octet and a data octet over command output line 54 in FIG. 3 and communicates via interface bus 47 and write data line 55 with a write FIFO.
It is sent to the global bus via a write data line 57 from the register bank 56. A transmission in which this write command is followed by the requested number of data octets is shown in FIG.
Octets 95-99.

【0018】 書込コマンドオクテットは、ターゲットデバイスコード(ターゲットデバイス
)=0によって図4において100で示されるように、すべてのグローバルバス
ターゲットインターフェイス(それ自体をも含む)へのブロードキャストである
。これがブロードキャストであるのは、マスタがどのグローバルバスがコマンド
オクテットに含まれるアドレスに応答するかわからないためである。コマンドオ
クテットは、転送のための32ビットグローバルアドレス101と、転送タイプ
(書込)と、転送長(1−4オクテット)とを含む。これはまた、マスタのデバ
イス番号であるマイデバイス番号をも含むが、これは書込動作においては用いら
れない。ターゲットデバイス33の各々は、コマンド入力ライン71を介してタ
ーゲットインターフェイスのコマンドバッファ72内に書込コマンドと、データ
ライン81を介してターゲットインターフェイスの書込FIFOレジスタ82内
に書込データとをそれぞれ受取る。これは、ターゲットアドレスライン74を介
して比較回路95で受取った書込コマンド内の32ビットアドレスと、記憶レジ
スタ43からライン76を介して比較回路75で受取ったマイグローバルアドレ
スであるそれ自体のグローバルアドレスと比較する。もし整合すれば、これは書
込データ102−105を受取り、その書込FIFO82からライン83を渡っ
てクロックアウトする。これにより書込動作は終了する。もし整合するがデバイ
スが先行のコマンドによりビジーであれば、これはコマンド拒絶をバスに送る。
もし整合しなければ、ターゲットはコマンドを無視し、次の書込コマンドに対し
て準備するために書込FIFO82をフラッシュする。すべての書込がブロード
キャストであることに留意されたい。通常は意図されるターゲットのみがブロー
ドキャスト書込データを受取り、他のデバイスはこれを捨てる。しかしながら、
1つ以上のターゲットに書込データをブロードキャストすることも、もしターゲ
ットが一連のブロードキャストアドレスをデコードするよう設計されていれば可
能である。
A write command octet is a broadcast to all global bus target interfaces (including itself), as indicated at 100 in FIG. 4 by target device code (target device) = 0. This is a broadcast because the master does not know which global bus responds to the address contained in the command octet. The command octet includes a 32-bit global address 101 for transfer, a transfer type (write), and a transfer length (1-4 octets). This also includes the master device number, My Device Number, which is not used in write operations. Each of the target devices 33 receives a write command into the command buffer 72 of the target interface via a command input line 71 and write data into a write FIFO register 82 of the target interface via a data line 81, respectively. . This is the 32-bit address in the write command received by the comparator circuit 95 via the target address line 74 and its own global address which is the my global address received by the comparator circuit 75 via the line 76 from the storage register 43. Compare with address. If so, it receives the write data 102-105 and clocks out its write FIFO 82 across line 83. Thus, the writing operation ends. If a match is found, but the device is busy with the previous command, this sends a command reject to the bus.
If not, the target ignores the command and flushes write FIFO 82 to prepare for the next write command. Note that all writes are broadcast. Usually, only the intended target receives the broadcast write data, and other devices discard it. However,
It is possible to broadcast the write data to one or more targets if the targets are designed to decode a series of broadcast addresses.

【0019】 次に図3および図5を参照して、ターゲットからのマスタデータ読出を考察す
る。マスタインターフェイス31は、図5において121、123および125
に示されるように、バスへのアクセスを要求し受取った後に、グローバルバスに
読出コマンドオクテットを送ることにより転送を開始する。読出コマンドオクテ
ットは、(図5の126でデバイス0によって示されるように)すべてのグロー
バルバスターゲットインターフェイス(それ自体のものも含む)に対するブロー
ドキャストである。これがブロードキャストであるのは、マスタがどのグローバ
ルバスデバイスがコマンドオクテットに含まれるアドレス(図5においては12
7)に応答するかわからないためである。コマンドオクテットは、転送のための
32ビットグローバルアドレスと、転送タイプ(書込)と転送長(1−4オクテ
ット)とを含む。これはまた、ターゲットデバイスがその応答のために用いる、
マスタのデバイス番号であるマイデバイス番号をも含む。マスタは読出コマンド
オクテットを送信し終わると、後で読出ライン62を渡って読出データを受ける
ためにその読出FIFO63を作動状態にする。通常はこの時点でマスタはスト
ールし、ターゲットが読出データを送って読出コマンドを完了させるのを待機す
る。ターゲットインターフェイス33の各々は、コマンド入力ライン71を渡っ
て読出コマンドオクテットをバッファ72内に受取る。比較回路75を用いるこ
とにより、これはその読出コマンド内の32ビットアドレスと、レジスタ43内
にストアされたそれ自体のグローバルアドレスであるマイグローバルアドレスと
を比較する。もし整合すれば、コマンドはライン73および77を渡ってインタ
ーフェイスバス67に転送され、次いでローカルバス29に送られ、要求された
データを受取り、ローカルバス29と、インターフェイスバス67と、読出ライ
ン84および86と、読出FIFOレジスタバンク85とを介して、これをグロ
ーバルバス16に転送する。図5において131および133に示されるように
、グローバルバス16へのアクセスを要求しこれを獲得した後に、図5において
マスタデバイスコード139の使用により示されるように、応答アドレスとして
コマンドオクテット内に含まれるマスタのデバイス番号を用いることにより要求
された読出データをマスタに送る。これにより読出動作が終了する。もし整合す
るがデバイスが先行のコマンドによりビジーであれば、これはコマンド拒絶14
5をバス16に送る。もし整合しなければ、ターゲットはコマンドを無視する。
データ140−143を、マスタ内の待機中の読出FIFO63に送ることがで
きる唯一の有効な方法は、先行の読出コマンドに応答してのみであることに留意
されたい。コマンドオクテットのみがコマンドを送信したマスタのデバイス番号
を含み、このデバイス番号はコマンドを送信するマスタデバイス内にハードウェ
アとして組み込まれる(41)。デバイス番号は比較回路60によってライン5
8上で読出され、ライン59を渡って比較回路60によって受取られたストアさ
れたデバイス番号(41)に対して調べられる。整合は、制御ライン61を介し
てFIFO63をイネーブルする。他の何らかのデバイスが、開いたマスタ読出
FIFOにデータを送り、オープンリードコマンドの不適切な完了をもたらし得
る他の有効な方法はない。
Next, referring to FIG. 3 and FIG. 5, consider reading master data from the target. The master interface 31 includes 121, 123 and 125 in FIG.
After requesting and receiving access to the bus, transfer is initiated by sending a read command octet to the global bus, as shown in FIG. The read command octet is a broadcast to all global bus target interfaces (including itself) (as indicated by device 0 at 126 in FIG. 5). This is broadcast because the master specifies which global bus device contains the address contained in the command octet (12 in FIG. 5).
This is because it is not known whether to respond to 7). The command octet includes a 32-bit global address for transfer, a transfer type (write), and a transfer length (1-4 octets). This is also the target device uses for its response,
It also includes the my device number, which is the device number of the master. When the master has transmitted the read command octet, it activates its read FIFO 63 to receive the read data across read line 62 later. Normally at this point, the master stalls and waits for the target to send the read data to complete the read command. Each of the target interfaces 33 receives a read command octet in a buffer 72 across a command input line 71. By using the comparison circuit 75, it compares the 32-bit address in the read command with my global address, which is its own global address stored in the register 43. If there is a match, the command is transferred over lines 73 and 77 to interface bus 67 and then sent to local bus 29 to receive the requested data and to read the local bus 29, interface bus 67, read line 84 and This is transferred to the global bus 16 via the read FIFO register bank 85 and the read bus 86. After requesting and obtaining access to global bus 16 as shown at 131 and 133 in FIG. 5, it is included in the command octet as a response address, as indicated by the use of master device code 139 in FIG. The requested read data is sent to the master by using the device number of the master to be read. Thus, the read operation ends. If there is a match, but the device is busy with the previous command, this will result in a command rejection 14
Send 5 to bus 16. If they do not match, the target ignores the command.
Note that the only valid way that data 140-143 can be sent to the waiting read FIFO 63 in the master is in response to a previous read command. Only the command octet contains the device number of the master that sent the command, and this device number is embedded as hardware in the master device that sends the command (41). The device number is determined by line
8 and is checked against the stored device number (41) received over line 59 by the comparison circuit 60. Matching enables FIFO 63 via control line 61. There is no other valid way that some other device may send data to the open master read FIFO, resulting in improper completion of the open read command.

【0020】 ターゲットデバイスはブロードキャスト書込を受取り、読出に応答する。これ
に代えて、もしマスタデバイスがどのデバイスがコマンドを受取るべきであるか
わかっていれば、マスタデバイスはその書込コマンドおよびデータをブロードキ
ャストする代わりに特定のターゲットデバイスに、送ってもよい。これを行なう
と、他のデバイスがコマンドを受取り、その結果電力を散逸させることがないた
めに、電力を節約することができる。
The target device receives the broadcast write and responds to the read. Alternatively, if the master device knows which device should receive the command, the master device may send its write command and data to a particular target device instead of broadcasting. By doing so, power can be saved because no other device receives the command and consequently dissipates power.

【0021】 要約すると、例として4オクテットデータ転送を用いた、基本的な書込転送シ
ーケンスは以下のとおりである。
In summary, the basic write transfer sequence using a 4-octet data transfer as an example is as follows:

【0022】 1.マスタデバイスが、バス上の5オクテット転送を要求する。 2.マスタがターゲットバスデバイス番号および書込コマンドを発する。もし
書込に対するターゲットバスデバイス番号が未知であれば、ターゲットデバイス
番号は0(ブロードキャスト)であってもよい。書込コマンドは、書込アドレス
、書込コマンド、コマンド優先、チェーンビットおよびマスタデバイスコードを
含む。
1. The master device requests a five octet transfer on the bus. 2. The master issues a target bus device number and a write command. If the target bus device number for writing is unknown, the target device number may be 0 (broadcast). The write command includes a write address, a write command, a command priority, a chain bit, and a master device code.

【0023】 3.データオクテット0−2を発する(転送は、転送長コードに応じて1〜4
オクテットであり得る)。
[0023] 3. It issues data octets 0-2 (transfers may take 1-4 depending on the transfer length code).
Octets).

【0024】 4.データオクテット3と最後の転送タイプを発し、バスを解放する。バスア
ービトレーションは再びこのサイクルで開始する。
[0024] 4. Emit data octet 3 and the last transfer type and release the bus. Bus arbitration starts again in this cycle.

【0025】 例として4オクテットデータ転送を用いた、基本的な読出転送シーケンスは以
下のとおりである。
A basic read transfer sequence using a 4-octet data transfer as an example is as follows:

【0026】 1.マスタデバイスが、読出コマンドのために1オクテット転送を要求する。 2.マスタが、ターゲットバスデバイス番号と読出コマンドとを発する。もし
読出に対するターゲットバスデバイス番号が未知であれば、ターゲットデバイス
番号は0(ブロードキャスト)であってもよい。読出コマンドは、読出アドレス
、読出コマンド、コマンド優先、チェーンビットおよびマスタデバイスコードを
含む。マスタデバイスコードはDRAM応答アドレスである。
1. The master device requests a one-octet transfer for a read command. 2. The master issues a target bus device number and a read command. If the target bus device number for reading is unknown, the target device number may be 0 (broadcast). The read command includes a read address, a read command, a command priority, a chain bit, and a master device code. The master device code is a DRAM response address.

【0027】 3.バスを解放する。 4.ターゲットデバイスが、読出データ応答のために4オクテット転送を要求
する。
[0027] 3. Release the bus. 4. The target device requests a 4-octet transfer for a read data response.

【0028】 5.ターゲットが、ターゲットデバイスアドレスと読出データの第1のオクテ
ットを発する。マスタデバイスコードは読出データに対するターゲットである。
転送は、転送長コードに応じて1〜4オクテットであり得る。
[0028] 5. The target issues a first octet of the target device address and read data. The master device code is a target for the read data.
The transfer can be 1-4 octets depending on the transfer length code.

【0029】 6.データオクテット1〜2を発する。 7.データオクテット3、最後の転送タイプを発し、バスを解放する。バスの
アービトレーションはこのサイクルで再び開始する。
[0029] 6. Emit data octets 1-2. 7. Data octet 3, issues last transfer type, releases bus. Bus arbitration starts again in this cycle.

【0030】 スプリットトランザクションバスを用いる、上述のシステムと同様のものにお
いて、この発明はトランザクション肯定応答(TACK)信号をバスシステムに
与えて、少なくとも1つのターゲットデバイスによるコマンドまたはデータの受
取りを示唆する。特に、グローバルバス16上で転送されるオクテットの各々を
受取るターゲットデバイスは、グローバルバス16の転送肯定応答(TACK)
ラインを活性化することにより、オクテットに肯定応答する。これは転送される
オクテット、コマンドまたはデータの各々に対して当てはまる。TACKは、タ
ーゲットがこれに意図されたコマンドオクテットまたはデータオクテットを受取
ったことを示唆する。図3に示すように、ターゲットデバイス33が制御読出ま
たは書込オクテットを受取ったとき、これは比較回路75を用いて、これが意図
されたターゲットであるかどうかを調べるためにデコードする。もしそうであれ
ば、これはTACKを(TACK信号をライン80に与えるTACK生成回路7
9によって)、図4および図5に106および144で示されるようにオクテッ
トが転送された2クロック後にTACK信号のために活性化させる。ターゲット
はTACKを、これが(図4および図5に111および145で見られるように
)コマンドを拒絶した場合でも活性化させる。もしコマンドが書込であれば、書
込データオクテットの各々もまたターゲットによって(図4の107−110で
)肯定応答される。同様に、読取データを受取るマスタはオクテット読出の各々
に対してTACKを(図5の146−148で)活性化させる。TACKにより
、コマンドにどのデバイスも応答しない状態、すなわちバスエラーを検出するこ
とができる。TACKは、バスタイムアウトを待機する必要なくこれを即時に検
出する。TACKはデバッギングに対しても有用である。すなわち、応答したデ
バイスがあるかどうか見出すことができる。干渉なしに、1つ以上のデバイスが
TACK信号に応答することができる。
In a system similar to the one described above that uses a split transaction bus, the present invention provides a transaction acknowledgment (TACK) signal to the bus system to indicate receipt of a command or data by at least one target device. In particular, a target device that receives each of the octets transferred on the global bus 16 will receive a transfer acknowledge (TACK) on the global bus 16.
Acknowledge the octet by activating the line. This is true for each octet, command or data transferred. TACK indicates that the target has received the command or data octet intended for it. As shown in FIG. 3, when the target device 33 receives a control read or write octet, it decodes it using a comparison circuit 75 to see if it is the intended target. If so, this generates TACK (the TACK generation circuit 7 which provides a TACK signal on line 80).
9) and activates for the TACK signal two clocks after the octet has been transferred, as shown at 106 and 144 in FIGS. The target activates TACK even if it rejects the command (as seen at 111 and 145 in FIGS. 4 and 5). If the command is a write, each of the write data octets is also acknowledged by the target (at 107-110 in FIG. 4). Similarly, the master receiving the read data activates TACK (at 146-148 in FIG. 5) for each octet read. By TACK, a state in which no device responds to the command, that is, a bus error can be detected. TACK detects this immediately without having to wait for a bus timeout. TACK is also useful for debugging. That is, it is possible to find out whether there is a device that responded. One or more devices can respond to the TACK signal without interference.

【0031】 TACKは独自のコーディングを有する。TACKを活性化するためには、先
行のクロックからその状態を変化させる。連続的なTACK信号に対しては、T
ACKラインはクロックごとに反転する。ターゲットデバイスの各々は、バスク
ロックごとにTACKを活性化させる。1つ以上のデバイスがTACK信号に応
答できることに留意されたい。すなわち、すべての応答するデバイスは同じ方向
にTACKを駆動する。図6および図7は、TACK信号を生成し、かつTAC
K信号を検出するための論理のブロック図である。図6の生成器論理においては
、最後のTACKフリップフロップ151は先行のサイクルに対してTACK信
号値を記録する。デコードフリップフロップ153は、先行のサイクルにおける
有効なアドレスデコードを記録する。もしターゲットアドレスが先行のサイクル
で有効であれば、この論理はTACKドライバ155をイネーブルすることによ
りTACK信号に応答する。TACKドライバ155は、フリップフロップ15
1の反転出力を用いて先行のTACK値に相補的である現在のTACK値を生成
する。このTACK生成回路は、ターゲットデバイスの各々の、またはグローバ
ルバス上にターゲットデバイスを含むクラスタのターゲットバスインターフェイ
ス33の一部である。
TACK has its own coding. To activate TACK, its state is changed from the preceding clock. For a continuous TACK signal, T
The ACK line is inverted every clock. Each of the target devices activates TACK every bus clock. Note that one or more devices can respond to the TACK signal. That is, all responding devices drive TACK in the same direction. FIG. 6 and FIG. 7 generate the TACK signal and
It is a block diagram of the logic for detecting a K signal. In the generator logic of FIG. 6, the last TACK flip-flop 151 records the TACK signal value for the previous cycle. The decode flip-flop 153 records a valid address decode in the preceding cycle. If the target address is valid in the previous cycle, this logic responds to the TACK signal by enabling the TACK driver 155. The TACK driver 155 is connected to the flip-flop 15
The inverted output of one is used to generate a current TACK value that is complementary to the previous TACK value. This TACK generation circuit is part of the target bus interface 33 of each of the target devices or of the cluster that includes the target devices on the global bus.

【0032】 図7の検出器論理内で、最後のTACKフリップフロップ157は先行のサイ
クルに対するTACK信号値を記録する。もし現在のTACK信号値が先行のサ
イクルにおけるTACK信号に対して相補的であれば、現在のTACK信号は有
効であり、XORゲート159は「真」TACK検出済信号値を出力する。TA
CK検出器回路はマスタデバイスの、またはグローバルバス上のマスタデバイス
のクラスタの各々のマスタバスインターフェイスの一部である。これに代えて、
単一のTACK生成器がグローバルバス制御(図1における18)のバスアイド
ルデフォルトデバイス(BIDD)の一部を形成してもよい。いずれの場合にお
いても、もしバスがアイドルであれば、BIDDはTACKを活性化し、バスを
デフォルトレベルに駆動する。もしコマンドが発信されどのデバイスも応答しな
ければ、TACKラインは変化しない。これにより、存在しないデバイスに対し
てアドレス指定したかどうかを検出することができる。もしどのデバイスもTA
CKを駆動していなければ、浮遊容量およびバス保持論理がTACKラインをそ
の先行のレベルに保持する。
In the detector logic of FIG. 7, the last TACK flip-flop 157 records the TACK signal value for the previous cycle. If the current TACK signal value is complementary to the TACK signal in the previous cycle, the current TACK signal is valid and XOR gate 159 outputs a "true" TACK detected signal value. TA
The CK detector circuit is part of the master bus interface of the master device or of each cluster of master devices on the global bus. Instead,
A single TACK generator may form part of the bus idle default device (BIDD) of the global bus control (18 in FIG. 1). In either case, if the bus is idle, BIDD activates TACK and drives the bus to the default level. If a command is issued and no device responds, the TACK line does not change. This makes it possible to detect whether or not an address has been specified for a non-existent device. If any device is TA
If CK is not being driven, stray capacitance and bus holding logic will hold the TACK line at its previous level.

【0033】 グローバルバス(GB)上のマスタデバイスの各々は、いずれの一時点におい
ても1つの進行中のGB転送しか有し得ない。読出転送に対しては、GBマスタ
は読出データが返信されるのを待機する。書込転送に対しては、マスタはコマン
ドに対するバスの承認と、バスからのコマンド拒絶の不在とを待機するが、これ
らは書込コマンドおよびデータが認証されたことを示す。これはマスタとターゲ
ットとの間の転送帯域幅の自動制御をもたらす。これは自己スロットリングと呼
ばれる。マスタの各々はターゲットが応答するのを待機する。ターゲットは多く
のGB転送コマンドを受取っており、それらを処理している途中であるかもしれ
ない。これらのコマンドは典型的にはコマンドFIFOにおいてバッファされる
。ターゲットは、そのFIFO内にN個のマスタからのN個のコマンドを有し得
る。一旦コマンドがFIFOに入ると、N個のデバイスのすべては、各々のコマ
ンドが肯定応答されるまで待機する。時間がかかってもマスタの各々は転送が完
了するまで待機するために、ターゲットがオーバーランすることはない。
Each of the master devices on the global bus (GB) may have only one ongoing GB transfer at any one time. For a read transfer, the GB master waits for read data to be returned. For a write transfer, the master waits for the bus to acknowledge the command and for the absence of command rejection from the bus, which indicates that the write command and data have been authenticated. This results in automatic control of the transfer bandwidth between master and target. This is called self-throttling. Each of the masters waits for the target to respond. The target has received many GB transfer commands and may be in the process of processing them. These commands are typically buffered in a command FIFO. A target may have N commands from N masters in its FIFO. Once commands enter the FIFO, all N devices wait until each command is acknowledged. Even though it takes time, each of the masters waits until the transfer is completed, so that the target does not overrun.

【0034】 図8および図9を参照すると、グローバルバスがアイドルである場合、バスを
駆動するために選択さるたアクティブなデバイスはない。もしいずれのアクティ
ブなデバイスも選択されていなければ、アービタはデフォルトデバイスであるバ
スアイドルデフォルトデバイス(BIDD)をバスを駆動するために選択する。
そうでなければ、デバイスラインは浮動し、ノイズとエラーとを引起す可能性が
ある。BIDDは、アービタからのアイドル承認信号に応答するアイドルバス論
理およびバスドライバ161によってバスラインを有効なレベルに駆動する。こ
れはデータワード、バイトイネーブルおよびデバイスアドレスに対して0を送り
、ワードタイプに対しても0を送る。すなわち、アイドルコマンドである。これ
に代えて、アドレス/データラインはそれらの先行の値に保持され(低出力のた
めに)、すなわちバイトイネーブルは不活性に、ターゲットデバイス番号はすべ
て1に保持されてもよい。これは出力163においてTACK信号を活性化させ
るが、これはBIDDが有効なデバイスであり、バスを有効に駆動しているため
である。TACK信号が駆動されない唯一の時間は、コマンドまたはデータワー
ドがバス上に送られて、いずれのデバイスもそれに応答しない場合だけである。
Referring to FIGS. 8 and 9, when the global bus is idle, no active device is selected to drive the bus. If no active device is selected, the arbiter selects a default device, the bus idle default device (BIDD), to drive the bus.
Otherwise, device lines can float, causing noise and errors. BIDD drives the bus line to a valid level with the idle bus logic and bus driver 161 in response to an idle acknowledge signal from the arbiter. This sends a 0 for data words, byte enables and device addresses, and also sends a 0 for word types. That is, it is an idle command. Alternatively, the address / data lines may be held at their previous value (because of the low output), ie the byte enable is inactive and the target device number is held at all ones. This activates the TACK signal at output 163 because BIDD is a valid device and drives the bus effectively. The only time the TACK signal is not driven is when a command or data word is sent on the bus and no device responds.

【0035】 BIDDはまた、TACK検出論理105(図7に示す)を介して、TACK
なしで読出コマンドに応答するが、これによりいかなるデバイスも読出に応答し
ないことを示す。グローバルバスマスタデバイスは、存在しないターゲットアド
レスに対して読出および書込コマンドを発信することができる(図9の例におい
てはデバイス36、15および27)。この場合では、いかなるデバイスもアド
レスをデコードし、コマンドに応答し、TACK信号を発信しない(図9におい
てはTACK応答なしにより示される)。コマンドを発信したGBマスタは、T
ACKの不在を見出しコマンドを打切らない限り読出データを待機する。次の問
題はどのようにコマンドを打切るかである。最も簡単な方法は、代替的なデータ
(図9における175−177)を与え、データが有効ではないことを示すフラ
グを立ててコマンドを通常の完了状態までランさせることである。これは受取状
態機械(およびこれらに依存する他の状態機械)に対して特別な変更がないこと
を意味するが、ダミーデータを挿入することが必要である。グローバルバスマス
タはこれを行なうために、バスに要求を行ない(図9に示す179での要求およ
び171での承認)、バス上にそれ自体が受取るためのダミーデータを配置する
か、または1〜4バスアイドルサイクルを送ることが必要となる。ダミーデータ
を挿入する間にグローバルバスをオフに保持するためにこれを行なうことが必要
となる。そうでなければ、グローバルバスは、グローバルバスマスタ論理がダミ
ーデータを挿入している間に、データをFIFOに入れようと試行することが考
えられる。
BIDD also receives TACK via TACK detection logic 105 (shown in FIG. 7).
Without a response to the read command, indicating that no device responds to the read. The global bus master device can issue read and write commands to non-existent target addresses (devices 36, 15 and 27 in the example of FIG. 9). In this case, no device decodes the address, responds to the command, and does not emit a TACK signal (indicated by no TACK response in FIG. 9). The GB master that sent the command
Until the absence of ACK is detected and the command is terminated, the read data is awaited. The next question is how to abort the command. The simplest method is to provide alternative data (175-177 in FIG. 9) and set a flag to indicate that the data is not valid and run the command to a normal completion state. This means that there are no special changes to the receiving state machine (and other state machines that depend on them), but it is necessary to insert dummy data. To do this, the global bus master makes a request to the bus (request at 179 and acknowledgment at 171 shown in FIG. 9) and places dummy data on the bus for itself to receive, or 1-4. It is necessary to send a bus idle cycle. This must be done to keep the global bus off while inserting the dummy data. Otherwise, the global bus may attempt to put the data into the FIFO while the global bus master logic is inserting the dummy data.

【0036】 図8は、TACKなし応答論理を備えた、BIDDに対するマイクロアーキテ
クチャを示す。BIDDは、バッファレジスタ167を通してデバイス0ブロー
ドキャストコマンドを監視し、TACKなし応答を備えた読出コマンドを調べる
。TACKなし応答の場合(図9において183)、状態機械169はグローバ
ルバスに要求を行ない、コマンド内の2長さビットによって決定される1、2ま
たは4オクテットの0データの読出応答を発信する。これは読出応答のための適
切なワードタイプコードを備えて、0データ値と0バイトイネーブルとを返信す
る。0バイトイネーブルは、データが無効であることを示す。(読出データは通
常はすべてのバイトイネーブルが1に設定されたデータを返信する)。BIDD
はまた、読出コマンドからのデバイスアドレスに応答し(図9における183)
、それによりダミーデータは発信元の要求デバイスに進む。BIDDはFIFO
171を用いて、TACKなし読出応答に対してバスの制御が認証される前に、
GBからの最大5つの読出要求まで保留する。
FIG. 8 shows the microarchitecture for BIDD with TACK-less response logic. BIDD monitors the device 0 broadcast command through buffer register 167 and checks for a read command with a no TACK response. In the case of a no TACK response (183 in FIG. 9), state machine 169 makes a request to the global bus and issues a read response of 1, 2, or 4 octets of 0 data determined by the two length bits in the command. It returns a 0 data value and a 0 byte enable with the appropriate word type code for the read response. 0 byte enable indicates that the data is invalid. (The read data usually returns data in which all byte enables are set to 1.) BIDD
Also responds to the device address from the read command (183 in FIG. 9).
, Whereby the dummy data goes to the originating requesting device. BIDD is FIFO
171, before control of the bus is authenticated for a TACK-less read response,
Hold up to 5 read requests from GB.

【0037】 図9は、TACKなし応答のタイミング図を示す。BIDDは、TACKなし
を備えた読出コマンドに対するコマンドバッファリングを最小化するようGBに
要求する場合に最上級の優先性を有する。コマンドバッファリングが必要である
のは、TACKなし応答を備えたいくつもの読出コマンドが連続して起こり得る
ためである。最上級の優先性により、3つのコマンドのみがバッファされる必要
があり、これらは状態の検出とGBにダミー読出データを入れる間のクロックの
数に対応する。すなわち、1つは状態を検出するためであり、1つはGB要求を
発信するためであり、1つはGB承認を受取るためである。図9のタイミング図
は、BIDDがGBアービタに対して最上級の優先性を有し、かつBIDDがパ
ルス状の要求に対してDC要求(179)を提示できることを想定する。BID
Dは必要であるよりも長い期間GB要求を保持することができるが、これはTA
CKなし応答が頻繁には起こらないためである。一旦BIDD応答要求が発信さ
れると、BIDDはもし要求されるよりも承認時間が長ければアイドルサイクル
を入れることができる。存在しないアドレスに対していくつもの読出コマンドが
連続して起こり得るが、これはBIDDがこれらの読出コマンドをバッファしな
ければならないことを意味する。これがGBに対するアクセスを得ることができ
るまで、コマンドをバッファしなければならない。TACKなし応答論理を最上
級優先度GBデバイスとすることにより、TACKが検出された時間と、GB承
認が受取られる時間との間のバッファリングをクロックの数にまで最小化するこ
とができる。これは3つのコマンドであろう。すなわち、1つはこれを検出し、
1つは要求を発信し、1つは承認を受取る。14ビットのみをコマンドワードか
ら退避させればよいことに留意されたい。2ビットの長さコードと、12ビット
の読出応答に対するデバイスおよびサブデバイスアドレスである。
FIG. 9 shows a timing diagram of a response without TACK. BIDD has the highest priority when requesting GB to minimize command buffering for read commands with no TACK. Command buffering is necessary because several read commands with no TACK response can occur consecutively. Due to the highest priority, only three commands need to be buffered, which correspond to the number of clocks between the detection of the state and the insertion of the dummy read data into GB. That is, one is for detecting a state, one is for sending a GB request, and one is for receiving a GB approval. The timing diagram of FIG. 9 assumes that BIDD has the highest priority over GB arbiters and that BIDD can present a DC request (179) for pulsed requests. BID
D can hold the GB request for a longer period than necessary,
This is because a response without CK does not occur frequently. Once a BIDD response request is issued, the BIDD can enter an idle cycle if the approval time is longer than required. Any number of read commands can occur consecutively for non-existent addresses, which means that BIDD must buffer these read commands. Commands must be buffered until this can gain access to GB. By making the TACK-less response logic the highest priority GB device, buffering between the time that a TACK is detected and the time that a GB acknowledge is received can be minimized to the number of clocks. This would be three commands. That is, one detects this,
One submits the request and one receives the acknowledgment. Note that only 14 bits need be saved from the command word. These are a 2-bit length code and a device and sub-device address for a 12-bit read response.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 この発明の無応答検出を備える同期トランザクション肯定応答が
配置される、高速スプリットトランザクションバスを備えた集積されたマルチプ
ロセッサシステムの概略ブロック図である。
FIG. 1 is a schematic block diagram of an integrated multiprocessor system with a high-speed split transaction bus in which a synchronous transaction acknowledgment with no-response detection of the present invention is arranged.

【図2】 この発明のトランザクション肯定応答を含むグローバルバスイン
ターフェイスを備えた、図1のシステムにおける処理クラスタの概略ブロック図
である。
FIG. 2 is a schematic block diagram of a processing cluster in the system of FIG. 1 with a global bus interface including a transaction acknowledgment of the present invention.

【図3】 ターゲットインターフェイスにおけるトランザクション肯定応答
生成器79を示す、図2のグローバルバスインターフェイス17の詳細なブロッ
ク図である。
FIG. 3 is a detailed block diagram of the global bus interface 17 of FIG. 2, showing the transaction acknowledgment generator 79 at the target interface.

【図4】 信号状態の反転として示されるトランザクション肯定応答(信号
TACK番号)を備えた、図1から図3におけるグローバルバス16上の、書込
転送のタイミング図である。
FIG. 4 is a timing diagram of a write transfer on the global bus 16 in FIGS. 1-3 with a transaction acknowledgment (signal TACK number) shown as an inversion of the signal state.

【図5】 信号状態の反転として示されるトランザクション肯定応答(信号
TACK番号)を備えた、図1から図3におけるグローバルバス16上の、読出
転送のタイミング図である。
FIG. 5 is a timing diagram of a read transfer on the global bus 16 in FIGS. 1-3 with a transaction acknowledgment (signal TACK number) shown as an inversion of the signal state.

【図6】 トランザクション肯定応答(TACK)生成論理のブロック回路
図である。
FIG. 6 is a block circuit diagram of transaction acknowledgment (TACK) generation logic.

【図7】 トランザクション肯定応答(TACK)検出論理のブロック回路
図である。
FIG. 7 is a block circuit diagram of the transaction acknowledgment (TACK) detection logic.

【図8】 図8のTACKなし検出器を含む、図1のグローバルバス制御ユ
ニット18の一部である、バスアイドルデフォルトデバイス(BIDD)の詳細
なブロック図である。
FIG. 8 is a detailed block diagram of a bus idle default device (BIDD) that is part of the global bus control unit 18 of FIG. 1, including the TACK-less detector of FIG.

【図9】 TACKなし検出に対する図8のBIDDの応答を示すタイミン
グ図である。
FIG. 9 is a timing chart showing a response of the BIDD of FIG. 8 to detection of no TACK.

【手続補正書】特許協力条約第34条補正の翻訳文提出書[Procedural Amendment] Submission of translation of Article 34 Amendment

【提出日】平成13年5月29日(2001.5.29)[Submission date] May 29, 2001 (2001.5.29)

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】特許請求の範囲[Correction target item name] Claims

【補正方法】変更[Correction method] Change

【補正の内容】[Contents of correction]

【特許請求の範囲】[Claims]

───────────────────────────────────────────────────── 【要約の続き】 いで、要求するマスタデバイスに対して、フラグを無効 データにセットしたダミー応答を生成する。────────────────────────────────────────────────── ─── [Continuation of summary] Then, a dummy response with the flag set to invalid data is generated for the requesting master device.

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 オンチップバスに装着された多数の回路デバイスを有する集
積回路において、前記バスに入れられたコマンドが指定されたターゲット回路デ
バイスによって受取られていないことを示す無応答検出を備えるトランザクショ
ン肯定応答回路であって、 前記バスに設けられる別々のトランザクション肯定応答ラインと、 ターゲット回路デバイスの各々に関連するドライブ回路手段とを含み、前記ド
ライブ回路手段は、特定のターゲット回路デバイスに指定されたコマンドがその
デバイスによって受取られた場合にはいつでも、前記トランザクション肯定応答
ラインを反対の状態に反転し、指定されたターゲット回路によるコマンドの未受
信は、前記トランザクション肯定応答ラインが変化しないことにより示される、
トランザクション肯定応答回路。
Claims: 1. An integrated circuit having a number of circuit devices mounted on an on-chip bus, a transaction comprising a no response detection indicating that a command placed on the bus has not been received by a specified target circuit device. An acknowledgment circuit, comprising: a separate transaction acknowledgment line provided on the bus; and drive circuit means associated with each of the target circuit devices, wherein the drive circuit means is designated for a particular target circuit device. Whenever a command is received by the device, the transaction acknowledgment line is inverted to the opposite state, and the absence of the command by the designated target circuit is indicated by the transaction acknowledgment line not changing. ,
Transaction acknowledgment circuit.
【請求項2】 前記バスに装着され、前記バスがアイドルである場合にはい
つでも前記トランザクション肯定応答ラインをその反対の状態に駆動するよう接
続される、バスアイドルデフォルトデバイスをさらに含む、請求項1に記載のト
ランザクション肯定応答回路。
2. The system of claim 1 further comprising a bus idle default device mounted on said bus and connected to drive said transaction acknowledge line to its opposite state whenever said bus is idle. A transaction acknowledgment circuit according to claim 1.
【請求項3】 前記バスアイドルデフォルトデバイスは、前記トランザクシ
ョン肯定応答ラインを監視し、かつコマンドの未受信が示される場合にはいつで
もダミー応答を生成するための手段を含む、請求項2に記載のトランザクション
肯定応答回路。
3. The bus idle default device of claim 2, wherein the bus idle default device includes means for monitoring the transaction acknowledgment line and generating a dummy response whenever indicated that no command has been received. Transaction acknowledgment circuit.
【請求項4】 装着された多数の回路デバイスを備えるオンチップバスを有
する集積回路アーキテクチャにおいて、コマンドとデータとは前記回路デバイス
間で前記バスを渡って転送され、前記バスはデータ読出動作のためのスプリット
トランザクションバスであり、指定されたデバイスが前記バスに入れられたコマ
ンドまたはデータを受信したかを判断するための無応答検出回路を備えた同期ト
ランザクション肯定応答(TACK)システムであって、 前記オンチップバスに関連のTACKラインを含み、前記TACKラインは2
つの反対の状態を有し、さらに 回路デバイスが、その回路デバイスに意図されたコマンドまたはデータを受取
ったときにはいつでも、TACKラインの現在の状態をその反対の状態に反転さ
せるための回路デバイスの各々に関連のバスインターフェイス手段と、 前記バスがアイドルである場合にはいつでもTACKラインの現在の状態をそ
の反対の状態に反転させるよう前記バスに装着されるバスアイドルデフォルトデ
バイス(BIDD)と、 前記TACKラインの状態を監視するための無応答検出手段とを含み、指定さ
れた回路デバイスによるコマンドまたはデータの未受信は、前記TACKライン
が変化されないままである場合に示される、TACKシステム。
4. In an integrated circuit architecture having an on-chip bus with a large number of mounted circuit devices, commands and data are transferred between said circuit devices across said bus, said bus being used for data read operations. A synchronous transaction acknowledgment (TACK) system comprising a no-response detection circuit for determining whether a designated device has received a command or data placed on said bus. Includes a TACK line associated with the on-chip bus, wherein the TACK line is
Each of the circuit devices for inverting the current state of the TACK line to the opposite state whenever the circuit device receives a command or data intended for that circuit device. Associated bus interface means; a bus idle default device (BIDD) attached to the bus to reverse the current state of the TACK line to the opposite state whenever the bus is idle; and the TACK line. No response detection means for monitoring the status of the TACK line, wherein the absence of a command or data by the designated circuit device is indicated when the TACK line remains unchanged.
【請求項5】 前記無応答検出手段は、コマンドの未受信に応答してダミー
データを生成し、かつ前記ダミーデータを前記コマンドを発信した前記回路装置
に送信するための手段を含み、前記ダミーデータは前記コマンドの前記未受信状
態を示す、請求項4に記載のTACKシステム。
5. The non-response detecting means includes means for generating dummy data in response to a non-reception of a command, and transmitting the dummy data to the circuit device which has transmitted the command. The TACK system of claim 4, wherein data indicates the unreceived state of the command.
【請求項6】 前記無応答検出手段は前記BIDDの一部である、請求項4
に記載のTACKシステム。
6. The non-response detecting means is a part of the BIDD.
2. The TACK system according to 1.
【請求項7】 前記無応答検出手段は、前記バスに装着された前記回路デバ
イスの各々に関連する検出回路を含む、請求項4に記載のTACKシステム。
7. The TACK system according to claim 4, wherein said non-response detecting means includes a detecting circuit associated with each of said circuit devices mounted on said bus.
【請求項8】 回路デバイスの各々に関連する前記バスインターフェイス手
段は、前記バス上に入れられたいずれのコマンドのアドレスフィールドと、その
回路装置が応答するアドレス範囲とを比較するための手段を有し、整合するとき
にはいつでも、前記コマンドを前記回路デバイスに転送し、かつ前記TACKラ
インの状態を反転する、請求項4に記載のTACKシステム。
8. The bus interface means associated with each of the circuit devices includes means for comparing an address field of any command placed on the bus with an address range to which the circuit device responds. 5. The TACK system of claim 4, wherein, whenever a match occurs, the command is transferred to the circuit device and the state of the TACK line is inverted.
【請求項9】 前記TACKラインの状態を反転するための前記手段は、 前記TACKラインに接続された入力と、反転出力とを有する第1のフリップ
フロップと、 前記アドレス比較手段に接続された入力と、出力とを有する第2のフリップフ
ロップとを含み、両方のフリップフロップは前記バスに対するクロックによって
クロックされ、さらに トライステートドライバを含み、前記トライステートドライバは、前記第1の
フリップフロップの前記反転出力に接続された入力と、前記第2のフリップフロ
ップの前記出力に接続されたイネーブルと、前記TACKラインに接続された出
力とを有する、請求項8に記載のTACKシステム。
9. The means for inverting the state of the TACK line comprises: a first flip-flop having an input connected to the TACK line and an inverted output; and an input connected to the address comparing means. And a second flip-flop having an output, both flip-flops being clocked by a clock to the bus, and further including a tri-state driver, wherein the tri-state driver is configured to invert the first flip-flop. 9. The TACK system of claim 8, having an input connected to an output, an enable connected to the output of the second flip-flop, and an output connected to the TACK line.
【請求項10】 前記無応答検出手段は、 フリップフロップを含み、前記フリップフロップは前記バスに対するクロック
によってクロックされ、前記TACKラインに接続される入力と、出力とを有し
、 排他的ORゲートをさらに含み、前記排他的ORゲートは第1の入力を前記T
ACKラインに接続され、第2の入力を前記フリップフロップの出力に接続され
、出力は前記バス上のコマンドまたはデータの未受信の示唆を提供する、請求項
4に記載のTACKシステム。
10. The non-response detecting means includes a flip-flop, the flip-flop being clocked by a clock for the bus, having an input connected to the TACK line, and an output; The exclusive-OR gate further includes a first input connected to the T input.
5. The TACK system of claim 4, wherein the TACK system is connected to an ACK line and has a second input connected to an output of the flip-flop, the output providing an indication of a lack of a command or data on the bus.
【請求項11】 前記集積回路アーキテクチャはマルチプロセッサシステム
を形成し、前記オンチップバスに装着される回路デバイスのいくつかは処理クラ
スタであり、前記バスは前記クラスタよりも速いクロックレートで動作する、請
求項4に記載のTACKシステム。
11. The integrated circuit architecture forms a multiprocessor system, wherein some of the circuit devices mounted on the on-chip bus are processing clusters, wherein the bus operates at a faster clock rate than the cluster. The TACK system according to claim 4.
JP2000609887A 1999-04-07 2000-04-06 Global bus synchronous transaction acknowledgment with no response detection Expired - Fee Related JP4412852B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12822299P 1999-04-07 1999-04-07
US60/128,222 1999-04-07
PCT/US2000/009155 WO2000060462A1 (en) 1999-04-07 2000-04-06 Global bus synchronous transaction acknowledge with nonresponse detection

Publications (2)

Publication Number Publication Date
JP2002541548A true JP2002541548A (en) 2002-12-03
JP4412852B2 JP4412852B2 (en) 2010-02-10

Family

ID=22434254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000609887A Expired - Fee Related JP4412852B2 (en) 1999-04-07 2000-04-06 Global bus synchronous transaction acknowledgment with no response detection

Country Status (3)

Country Link
EP (1) EP1257917A4 (en)
JP (1) JP4412852B2 (en)
WO (1) WO2000060462A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189695A (en) * 2000-12-19 2002-07-05 Nec Eng Ltd Cpu interface circuit

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2367648B (en) 2000-10-03 2002-08-28 Sun Microsystems Inc Multiple trap avoidance mechanism
GB2367646B (en) 2000-10-03 2002-11-20 Sun Microsystems Inc Resource access control
GB2367647B (en) 2000-10-03 2002-11-20 Sun Microsystems Inc Resource access control for a processor
GB2367645B (en) * 2000-10-03 2002-11-20 Sun Microsystems Inc Memory access control
DE10110778A1 (en) * 2001-03-07 2002-09-12 Philips Corp Intellectual Pty Integrated circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4459665A (en) * 1979-01-31 1984-07-10 Honeywell Information Systems Inc. Data processing system having centralized bus priority resolution
US4486855A (en) * 1982-01-28 1984-12-04 Ncr Corporation Activity detector usable with a serial data link
US4785394A (en) * 1986-09-19 1988-11-15 Datapoint Corporation Fair arbitration technique for a split transaction bus in a multiprocessor computer system
JP2539021B2 (en) * 1987-05-01 1996-10-02 ディジタル イクイプメント コーポレーション Interrupt request generation node that sends an interrupt request to the pending bus
DE69507360T2 (en) * 1994-04-06 1999-06-17 Advanced Micro Devices Inc Parallel connection interface circuits in computer systems
US5659718A (en) * 1994-08-19 1997-08-19 Xlnt Designs, Inc. Synchronous bus and bus interface device
US5963721A (en) * 1995-12-29 1999-10-05 Texas Instruments Incorporated Microprocessor system with capability for asynchronous bus transactions
US5948093A (en) * 1996-02-09 1999-09-07 Advanced Micro Devices, Inc. Microprocessor including an interrupt polling unit configured to poll external devices for interrupts when said microprocessor is in a task switch state
US5687381A (en) * 1996-02-09 1997-11-11 Advanced Micro Devices, Inc. Microprocessor including an interrupt polling unit configured to poll external devices for interrupts using interrupt acknowledge bus transactions
US5991900A (en) * 1998-06-15 1999-11-23 Sun Microsystems, Inc. Bus controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189695A (en) * 2000-12-19 2002-07-05 Nec Eng Ltd Cpu interface circuit
JP4592944B2 (en) * 2000-12-19 2010-12-08 Necエンジニアリング株式会社 CPU interface circuit

Also Published As

Publication number Publication date
EP1257917A4 (en) 2004-11-10
JP4412852B2 (en) 2010-02-10
EP1257917A1 (en) 2002-11-20
WO2000060462A1 (en) 2000-10-12

Similar Documents

Publication Publication Date Title
US6405271B1 (en) Data flow control mechanism for a bus supporting two-and three-agent transactions
US5379379A (en) Memory control unit with selective execution of queued read and write requests
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US6275885B1 (en) System and method for maintaining ownership of a processor bus while sending a programmed number of snoop cycles to the processor cache
EP0748481B1 (en) Highly pipelined bus architecture
US5519839A (en) Double buffering operations between the memory bus and the expansion bus of a computer system
US5925118A (en) Methods and architectures for overlapped read and write operations
US5001624A (en) Processor controlled DMA controller for transferring instruction and data from memory to coprocessor
JP3218773B2 (en) Cache controller
US20020065967A1 (en) Transmission of signals synchronous to a common clock and transmission of data synchronous to strobes in a multiple agent processing system
JPH0473176B2 (en)
EP0591419A1 (en) Method and apparatus for expanding a backplane interconnecting bus without additional byte select signals
JPH0330045A (en) Logic circuit for microprocessor
JPH05197647A (en) Input/output device and method of data transfer
KR20020009823A (en) Bus system and bus arbitration method thereof
JPH04502825A (en) System bus with multiplexed commands/ID and data
JP4412852B2 (en) Global bus synchronous transaction acknowledgment with no response detection
US6701398B1 (en) Global bus synchronous transaction acknowledge with nonresponse detection
US6209052B1 (en) System and method for suppressing processor cycles to memory until after a peripheral device write cycle is acknowledged by the memory arbiter
US20040054843A1 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
US5699540A (en) Pseudo-concurrent access to a cached shared resource
US6216190B1 (en) System and method for optimally deferring or retrying a cycle upon a processor bus that is destined for a peripheral bus
US6253302B1 (en) Method and apparatus for supporting multiple overlapping address spaces on a shared bus
US20030023782A1 (en) Microprocessor system bus protocol providing a fully pipelined input/output DMA write mechanism
JP2003316724A (en) Signal transmission device between control chip sets

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091016

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: 20091020

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: 20091117

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121127

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: 20121127

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees