JP2006079639A - Bus bridge - Google Patents
Bus bridge Download PDFInfo
- Publication number
- JP2006079639A JP2006079639A JP2005308598A JP2005308598A JP2006079639A JP 2006079639 A JP2006079639 A JP 2006079639A JP 2005308598 A JP2005308598 A JP 2005308598A JP 2005308598 A JP2005308598 A JP 2005308598A JP 2006079639 A JP2006079639 A JP 2006079639A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bus
- master
- storage area
- target
- 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.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、互いに異なるバスに接続しているデバイス間のデータを中継するバ
スブリッジに関する。
The present invention relates to a bus bridge that relays data between devices connected to different buses.
従来、情報機器に組み込まれるコンピュータシステム、及びパーソナルコンピ
ュータなどにおいて、システムを拡張する、バス速度、及びバス幅などを吸収す
る目的として、バスとバスとの間にバスブリッジを備える。
(従来のバスブリッジの構成)
図22は、従来のバスブリッジのブロック図である。
2. Description of the Related Art Conventionally, in a computer system and a personal computer incorporated in information equipment, a bus bridge is provided between buses for the purpose of expanding the system and absorbing bus speed, bus width, and the like.
(Conventional bus bridge configuration)
FIG. 22 is a block diagram of a conventional bus bridge.
同図にみられるように、バスブリッジ10は、プライマリバスインタフェース
11、セカンダリバスインタフェース12、バスアービタ13、コンフィグレー
ションレジスタ14、及びデータFIFO15から構成される。
プライマリバスインタフェース11は、バースト転送可能なプライマリバスの
インタフェースとして機能し、さらに、データFIFO15を制御する。
As seen in the figure, the
The
セカンダリバスインタフェース12は、バースト転送可能なセカンダリバスの
インタフェースとして機能し、さらに、データFIFO15を制御する。
ここで、プライマリバス、及びセカンダリバスは、一例として、アドレス/デ
ータ・マルチプレクサ型の32ビットバスであるPCI(Peripheral Component
Interconnect)バスとする。
The
Here, the primary bus and the secondary bus are, for example, PCI (Peripheral Component) which is an address / data multiplexer type 32-bit bus.
Interconnect) bus.
バスアービタ13は、バスブリッジ10とセカンダリバスのマスタとの間で、
セカンダリバスの使用権を調停する。
ここで、マスタとは、別名、バスマスタとも呼称し、バスのアドレス線をドラ
イブしてデータの転送先となるデバイスを指定し、バスコマンドを送るデバイス
を指す。また、ある一つのデータ転送において、マスタとして唯一機能している
デバイスを明示的にイニシエータと呼称する。
The
Arbitrate the right to use the secondary bus.
Here, the master is also referred to as an alias, a bus master, and refers to a device that drives a bus address line, designates a device to which data is transferred, and sends a bus command. In addition, in a certain data transfer, a device that functions only as a master is explicitly called an initiator.
コンフィグレーションレジスタ14は、バスブリッジ10の基本的な動作が決
定される設定情報を保持している。なお、設定情報については、PCI−PCI
ブリッジ仕様書(PCI-to-PCI Bridge Architecture Specification)などで記さ
れているフォーマットに基づく。
データFIFO15は、さらに、ダウンストリームデータFIFO16(以下
、DSデータFIFO16と呼称する)、アップストリームデータFIFO17
(以下、USデータFIFO17と呼称する)とから構成される。
The
Based on the format described in the PCI-to-PCI Bridge Architecture Specification.
The data FIFO 15 further includes a downstream data FIFO 16 (hereinafter referred to as a DS data FIFO 16), and an upstream data FIFO 17
(Hereinafter referred to as US data FIFO 17).
DSデータFIFO16は、プライマリバスのイニシエータからセカンダリバ
スのターゲットに対して発生したバスサイクルのアドレス、バスコマンド、バイ
トイネーブルビット、及びデータなどを保持する。そして、バスブリッジ10が
、セカンダリバスのイニシエータとしてバスサイクルを発生する際には、保持し
ているアドレス、バスコマンド、バイトイネーブルビット、及びデータなどをセ
カンダリバスにドライブする。
The DS data FIFO 16 holds an address of a bus cycle, a bus command, a byte enable bit, data, and the like generated from the primary bus initiator to the secondary bus target. When the
ここで、ターゲットとは、アドレス、バスコマンドを受け取り、受け取ったア
ドレス、バスコマンドをデコードして応答するデバイスを指す。
USデータFIFO17は、セカンダリバスのイニシエータからプライマリバ
スのターゲットに対して発生したバスサイクルのアドレス、バスコマンド、バイ
トイネーブルビット、及びデータなどを保持する。そして、バスブリッジ10が
、プライマリバスのイニシエータとしてバスサイクルを発生する際には、保持し
ているアドレス、バスコマンド、バイトイネーブルビット、及びデータなどをプ
ライマリバスにドライブする。
Here, the target refers to a device that receives an address and a bus command, decodes the received address and bus command, and responds.
The US data FIFO 17 holds an address of a bus cycle, a bus command, a byte enable bit, data, and the like generated from the secondary bus initiator to the primary bus target. When the
そして、バスブリッジ10におけるリードデータトランザクションは、所定サ
イズ(例えば、8エントリ)のデータがデータFIFO15に格納されるまで、
ターゲットからデータをリードする。なお、アドレス、バスコマンド、バイトイ
ネーブルビットなどについては、エントリとして、数に入れないとする。
ここで、1エントリを4バイト(32ビット)として、8エントリとは、32
バイトを指す。
Read data from the target. It is assumed that addresses, bus commands, byte enable bits, etc. are not counted as entries.
Here, 1 entry is 4 bytes (32 bits), and 8 entries are 32
Points to a byte.
しかしながら、バスブリッジ10は、リードデータトランザクションにおいて
、イニシエータが必要としないデータをターゲットからリードする場合がある。
例えば、イニシエータが2エントリのデータを必要とする場合においても、バ
スブリッジ10は、8エントリのデータをターゲットからリードする。
これにより、バスブリッジ10は、不要とされるデータをリードする分、ター
ゲット側のバスを占有している期間が長くなるという問題がある。
However, the
For example, even when the initiator needs data of 2 entries, the
As a result, the
本発明は、上記の問題に鑑みてなされたものであり、リードデータトランザク
ションにおいて、ターゲットからデータをリードする際に、不要とされるデータ
をリードすることなく、イニシエータが必要とするデータをリードするバスブリ
ッジ、前記バスブリッジによるデータ中継方法、前記バスブリッジをプログラマ
ブルデバイスに形成させるプログラム、及び前記プログラムを記録したプログラ
マブルデバイス取り込み可能な記録媒体を提供することを目的とする。
The present invention has been made in view of the above-described problems. When reading data from a target in a read data transaction, the data required by the initiator is read without reading unnecessary data. It is an object of the present invention to provide a bus bridge, a data relay method using the bus bridge, a program for forming the bus bridge in a programmable device, and a recording medium capable of capturing the programmable device in which the program is recorded.
本発明に係わるバスブリッジは、中継するデータの供給先となるデバイスをマ
スタ、中継するデータの供給源となるデバイスをターゲットとし、互いに異なる
バスに接続しているマスタとターゲットとの間のデータを中継するバスブリッジ
であって、中継するデータの量を示す中継情報を外部から書き込み可能な内部記
憶領域に記録する記録手段と、前記ターゲットから読み出されるデータを一時記
憶領域に格納する格納手段と、前記内部記憶領域に記録されている中継情報に示
される量のデータが前記一時記憶領域に格納されるまで、前記ターゲットが接続
しているバスを占有し、連続してデータを読み出し、当該量のデータが格納され
ると、占有しているバスを解放する制御手段とを備えるとする。
In the bus bridge according to the present invention, a device that is a supply destination of data to be relayed is a master, a device that is a supply source of data to be relayed is a target, and data between a master and a target that are connected to different buses is stored. A storage bridge for relaying, which is a bus bridge for relaying, recording relay information indicating an amount of data to be relayed in an internal storage area writable from the outside, and storage means for storing data read from the target in a temporary storage area; Until the amount of data indicated in the relay information recorded in the internal storage area is stored in the temporary storage area, the bus to which the target is connected is occupied and data is continuously read out. When data is stored, control means for releasing the occupied bus is provided.
さらに、前記バスブリッジが接続している複数のバスには、マスタ及びターゲ
ットのいずれかになりうるデバイスが複数接続しており、前記内部記憶領域は、
バスごとに対応する一次部分記憶領域を含み、前記記録手段は、ターゲットが接
続しているバスと対応する一次部分記憶領域に前記中継情報を記録し、前記制御
手段は、バスごとに対応するマスタ機能部を含み、各マスタ機能部は、ターゲッ
トが接続しているバスと対応する一次部分記憶領域に記録されている中継情報に
示される量のデータを当該ターゲットから読み出すとしてもよい。
Furthermore, a plurality of devices that can be either masters or targets are connected to the plurality of buses connected to the bus bridge, and the internal storage area is
A primary partial storage area corresponding to each bus, the recording means records the relay information in a primary partial storage area corresponding to the bus to which the target is connected, and the control means is a master corresponding to each bus. Each master function unit including a function unit may read out from the target the amount of data indicated in the relay information recorded in the primary partial storage area corresponding to the bus to which the target is connected.
さらに、複数のターゲットになりうるデバイスが接続しているバスと対応する
一次部分記憶領域は、当該バスに接続しているターゲットになりうるデバイスご
とに対応する二次部分記憶領域を含み、前記記録手段は、ターゲットになりうる
デバイスと対応する二次部分記憶領域に前記中継情報を記録し、各マスタ機能部
は、ターゲットと対応する二次部分記憶領域に記録されている中継情報に示され
る量のデータを当該ターゲットから読み出すとしてもよい。
Further, the primary partial storage area corresponding to a bus to which a plurality of target devices can be connected includes a secondary partial storage area corresponding to each device that can be a target connected to the bus, and the recording The means records the relay information in a secondary partial storage area corresponding to a device that can be a target, and each master function unit has an amount indicated in the relay information recorded in the secondary partial storage area corresponding to the target. The data may be read from the target.
さらに、複数のターゲットになりうるデバイスが接続しているバスと対応する
二次部分記憶領域は、当該バスに接続しているターゲットになりうるデバイスか
ら読み出したデータを中継するマスタになりうるデバイスごとに対応する三次部
分記憶領域を含み、前記記録手段は、マスタになりうるデバイスと対応する三次
部分記憶領域に前記中継情報を記録し、各マスタ機能部は、ターゲットから読み
出したデータが中継されるマスタと対応する三次部分記憶領域に記録されている
中継情報に示される量のデータを当該ターゲットから読み出すとしてもよい。
Furthermore, the secondary partial storage area corresponding to the bus to which a device that can be a plurality of targets is connected is for each device that can be a master that relays data read from the device that can be a target connected to the bus. The recording means records the relay information in a tertiary partial storage area corresponding to a device that can be a master, and each master function unit relays data read from the target The amount of data indicated in the relay information recorded in the tertiary partial storage area corresponding to the master may be read from the target.
さらに、前記記録手段は、初期状態時、及び前記制御手段によるバスの解放時
に、デフォルトとする中継情報を前記内部記憶領域に記録するとしてもよい。
さらに、前記中継情報は、バス幅のビット数を単位とするデータの数、及び中
継するデータの総サイズのいずれかであるとしてもよい。
加えて、前記バスブリッジは、前記マスタからの要求に応答する応答手段を備
え、前記応答手段は、前記マスタからの要求が、(a) 前記内部記憶領域に対する
書き込み要求である場合には、前記内部記憶領域に書き込まれるデータを、中継
情報として、前記記録手段に記録させ、(b) 前記ターゲットに対する読み出し要
求である場合には、前記マスタに出力するデータが前記一時記憶領域に記録され
ているか否かを判定し、(b1)記録されている場合には、記録されているデータを
前記マスタに出力し、(b2)記録されていない場合には、前記読み出し要求を再度
要求することを前記マスタに通知し、前記マスタに出力するデータを前記制御手
段に読み出させるとしてもよい。
Further, the recording means may record the relay information as a default in the internal storage area in an initial state and when the control means releases the bus.
Further, the relay information may be one of the number of data in units of the bus width bits and the total size of data to be relayed.
In addition, the bus bridge includes a response unit that responds to a request from the master, and the response unit includes: (a) when the request from the master is a write request to the internal storage area, The data to be written in the internal storage area is recorded as relay information in the recording means, and (b) if it is a read request to the target, is the data output to the master recorded in the temporary storage area? (B1) if recorded, output the recorded data to the master, and (b2) if not recorded, request the read request again. It is also possible to notify the master and cause the control means to read out data to be output to the master.
さらに、前記バスブリッジが接続している複数のバスには、マスタ及びターゲ
ットのいずれかになりうるデバイスが複数接続し、各デバイスにはデバイスを識
別する識別情報が割り当てられており、前記内部記憶領域は、識別情報記憶領域
を含み、前記記録手段は、前記識別情報を前記識別情報記憶領域に記録し、前記
応答手段は、さらに、前記デバイスからの要求に応答し、前記デバイスからの要
求が、(c) 前記識別情報記憶領域に対する書き込み要求である場合には、前記識
別情報記憶領域に書き込まれるデータを、識別情報として、記録手段に記録させ
、(d) 前記識別情報記憶領域に記録されている識別情報と対応するデバイスに対
する書き込み要求である場合には、バスブリッジから前記識別情報と対応するデ
バイスに出力するデータを、中継情報として、記録手段に記録させるとしてもよ
い。
Furthermore, a plurality of devices that can be either masters or targets are connected to the plurality of buses connected to the bus bridge, and identification information for identifying the devices is assigned to each device, and the internal storage The area includes an identification information storage area, the recording means records the identification information in the identification information storage area, the response means further responds to a request from the device, and a request from the device is received. (C) When the request is a write request to the identification information storage area, the data written in the identification information storage area is recorded as identification information in the recording means, and (d) is recorded in the identification information storage area. Data to be output from the bus bridge to the device corresponding to the identification information in the case of a write request to the device corresponding to the identification information. , As the relay information may be is recorded in the recording means.
加えて、前記バスブリッジは、マスタとなる中央演算処理装置、及びターゲッ
トとなる内部記憶装置が接続している第1バスと、マスタ及びターゲットのいず
れかとなるデバイスが複数接続している第2バスとに接続しており、前記内部記
憶領域は、第1バスに接続しているターゲットから読み出すデータの量を示す中
継情報が記録される第1一次部分記憶領域と、第2バスに接続しているターゲッ
トから読み出すデータの量を示す中継情報が記録される第2一次部分記憶領域と
を含み、前記一時記憶領域は、第2バスのターゲットから読み出されたデータが
記録される第1一時記憶領域と、第1バスのターゲットから読み出されたデータ
が記録される第2一時記憶領域とを含み、前記記録手段は、前記第1一次部分記
憶領域に接続し、前記第1一次部分記憶領域に記録されている中継情報を選択す
る第1セレクタと、前記第2一次部分記憶領域に接続し、前記第2一次部分記憶
領域に記録されている中継情報を選択する第2セレクタとを含み、前記バスブリ
ッジは、第2バスのマスタになりうるデバイスと対応する中継情報を選択させる
制御信号を前記第1セレクタに出力するバスアービタと、第2バスのターゲット
になりうるデバイスと対応する中継情報を選択させる制御信号を前記第2セレク
タに出力するアドレスデコーダとを備え、前記制御手段は、前記第1一次部分記
憶領域に記録されている中継情報の内、前記第1セレクタにより選択された中継
情報に示される量のデータが第1一時記憶領域に記録されるまで、第1バスに接
続しているターゲットからデータを読み出す第1マスタ機能部と、前記第2の一
次部分記憶領域に記録されている中継情報の内、前記第2セレクタにより選択さ
れた中継情報に示される量のデータが第2一時記憶領域に格納されるまで、第2
バスに接続しているターゲットからデータを読み出す第2マスタ機能部とを含む
としてもよい。
In addition, the bus bridge includes a first bus to which a central processing unit as a master and an internal storage device as a target are connected, and a second bus to which a plurality of devices as masters and targets are connected. The internal storage area is connected to a first primary partial storage area in which relay information indicating the amount of data read from the target connected to the first bus is recorded, and to the second bus. A second primary partial storage area in which relay information indicating the amount of data to be read from the target is recorded, and the temporary storage area is a first temporary storage in which data read from the target of the second bus is recorded An area and a second temporary storage area in which data read from the target of the first bus is recorded, the recording means connected to the first primary partial storage area, A first selector that selects relay information recorded in the first primary partial storage area; and a second selector that is connected to the second primary partial storage area and selects relay information recorded in the second primary partial storage area. A bus arbiter that outputs to the first selector a control signal for selecting relay information corresponding to a device that can be a master of the second bus, and a device that can be a target of the second bus. And an address decoder that outputs a control signal for selecting corresponding relay information to the second selector, and the control means uses the first selector among relay information recorded in the first primary partial storage area. Data is read from the target connected to the first bus until the amount of data indicated in the selected relay information is recorded in the first temporary storage area Of the relay information recorded in the first master function unit and the second primary partial storage area, the amount of data indicated by the relay information selected by the second selector is stored in the second temporary storage area. Until the second
A second master function unit that reads data from a target connected to the bus.
本発明に係わるデータ中継方法は、中継するデータの供給先となるデバイスで
あるマスタと、中継するデータの供給源となるデバイスであるターゲットと、互
いに異なるバスに接続しているマスタとターゲットとの間のデータを中継するバ
スブリッジとにおけるデータ中継方法であって、前記マスタに中継するデータの
量を示す中継情報を前記マスタから前記バスブリッジに渡すステップと、前記タ
ーゲットに対する読み出し要求を前記マスタから前記バスブリッジに渡すステッ
プと、前記バスブリッジにおいて、前記マスタに出力するデータが格納されてい
る場合には、格納されているデータを当該バスブリッジから前記マスタに渡し、
格納されていない場合には、当該バスブリッジに渡された中継情報に示される量
のデータが格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放するステップとを含むとする。
The data relay method according to the present invention includes a master that is a device to which data to be relayed is supplied, a target that is a device that is a source of data to be relayed, and a master and a target that are connected to different buses. A data relay method for relaying data between the master, the relay information indicating the amount of data relayed to the master from the master to the bus bridge, and a read request for the target from the master When the data to be output to the master is stored in the bus bridge in the step of passing to the bus bridge, the stored data is transferred from the bus bridge to the master,
If it is not stored, it occupies the bus to which the target is connected until the amount of data indicated in the relay information passed to the bus bridge is stored, continuously reads the data, And the step of releasing the occupied bus.
さらに、中継するデータの供給先となるデバイスであるマスタと、中継するデ
ータの供給源となるデバイスであるターゲットと、互いに異なるバスに接続して
いるマスタとターゲットとの間のデータを中継するバスブリッジとにおけるデー
タ中継方法であって、前記ターゲットから供給されるデータの量を示す供給情報
を前記マスタに中継する要求を前記マスタ以外のデバイスから前記バスブリッジ
に渡すステップと、前記バスブリッジにおいて、前記供給情報を複製し、複製し
た供給情報を、前記ターゲットから読み出すデータの量を示す中継情報として、
記録するステップと、前記ターゲットに対する読み出し要求を前記マスタから前
記バスブリッジに渡すステップと、前記バスブリッジにおいて、前記マスタに出
力するデータが格納されている場合には、格納されているデータを当該バスブリ
ッジから前記マスタに渡し、格納されていない場合には、前記バスブリッジに記
録されている中継情報に示される量のデータが格納されるまで、前記ターゲット
が接続しているバスを占有し、連続してデータを読み出し、当該量のデータが格
納されると、占有しているバスを解放するステップとを含むとしてもよい。
Furthermore, a bus that relays data between a master that is a device to which data to be relayed is supplied, a target that is a device that is a source of data to be relayed, and a master and a target that are connected to different buses. A method of relaying data to and from a bridge, the step of passing a request for relaying supply information indicating the amount of data supplied from the target to the master from a device other than the master to the bus bridge; The supply information is duplicated, and the duplicated supply information is used as relay information indicating the amount of data read from the target.
A step of recording, a step of passing a read request to the target from the master to the bus bridge, and data stored in the bus bridge when the data to be output to the master is stored. If it is not stored and passed from the bridge to the master, it continuously occupies the bus to which the target is connected until the amount of data indicated in the relay information recorded in the bus bridge is stored. Then, when the data is read and the amount of data is stored, a step of releasing the occupied bus may be included.
本発明に係わるプログラムは、中継するデータの供給先となるデバイスをマス
タ、中継するデータの供給源となるデバイスをターゲットとし、互いに異なるバ
スに接続しているマスタとターゲットとの間のデータを中継するバスブリッジを
プログラマブルデバイスに形成させるプログラムであって、中継するデータの量
を示す中継情報を外部から書き込み可能な内部記憶領域に記録する記録ブロック
と、前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ブロ
ックと、前記内部記憶領域に記録されている中継情報に示される量のデータが前
記一時記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し
、連続してデータを読み出し、当該量のデータが格納されると、占有しているバ
スを解放する制御ブロックとをプログラマブルデバイスに形成させるとする。
The program according to the present invention relays data between a master and a target connected to different buses, with a device that is a supply destination of data to be relayed as a master and a device that is a supply source of data to be relayed as a target. A program for forming a bus bridge in a programmable device, a recording block for recording relay information indicating the amount of data to be relayed in an externally writable internal storage area, and data read from the target in a temporary storage area Until the amount of data indicated in the storage block to be stored and the relay information recorded in the internal storage area is stored in the temporary storage area, the bus connected to the target is occupied and data is continuously recorded. When the amount of data is stored, the control block that releases the occupied bus And to form a click into a programmable device.
さらに、前記プログラムは、前記マスタからの要求に応答する応答ブロックを
プログラマブルデバイスに形成させ、前記応答ブロックは、前記マスタからの要
求が、(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記
憶領域に書き込まれるデータを、中継情報として、前記記録ブロックに記録させ
、(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御ブロックに読み出させるとしてもよい。
Further, the program causes a programmable device to form a response block that responds to a request from the master, and the response block is configured such that the request from the master is (a) a write request to the internal storage area. The data to be written in the internal storage area is recorded in the recording block as relay information, and (b) if it is a read request to the target, the data to be output to the master is recorded in the temporary storage area. (B1) If recorded, output the recorded data to the master. (B2) If not recorded, request the read request again. To the master,
Data to be output to the master may be read by the control block.
本発明に係わるプログラマブルデバイス取り込み可能な記録媒体は、中継する
データの供給先となるデバイスをマスタ、中継するデータの供給源となるデバイ
スをターゲットとし、互いに異なるバスに接続しているマスタとターゲットとの
間のデータを中継するバスブリッジをプログラマブルデバイスに形成させるプロ
グラムを記録したプログラマブルデバイス取り込み可能な記録媒体であって、中
継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に記録
する記録ブロックと、前記ターゲットから読み出されるデータを一時記憶領域に
格納する格納ブロックと、前記内部記憶領域に記録されている中継情報に示され
る量のデータが前記一時記憶領域に格納されるまで、前記ターゲットが接続して
いるバスを占有し、連続してデータを読み出し、当該量のデータが格納されると
、占有しているバスを解放する制御ブロックとをプログラマブルデバイスに形成
させるプログラムを記録しているとする。
A programmable device-capable recording medium according to the present invention has a master device that is a destination of data to be relayed as a master, a device that is a source of data to be relayed as a target, and a master and a target that are connected to different buses. Programmable device recording medium that records a program that allows a programmable device to form a bus bridge that relays data between them, and records relay information indicating the amount of data to be relayed in an externally writable internal storage area A storage block for storing data read from the target in a temporary storage area, and until the amount of data indicated in the relay information recorded in the internal storage area is stored in the temporary storage area, Occupies the bus to which the target is connected, and To read out data, when the amount of data is stored, and a control block which releases the bus occupying records a program to be formed into a programmable device.
さらに、前記記録媒体は、前記マスタからの要求に応答する応答ブロックをプ
ログラマブルデバイスに形成させるプログラムを記録し、前記応答ブロックは、
前記マスタからの要求が、(a) 前記内部記憶領域に対する書き込み要求である場
合には、前記内部記憶領域に書き込まれるデータを、中継情報として、前記記録
ブロックに記録させ、(b) 前記ターゲットに対する読み出し要求である場合には
、前記マスタに出力するデータが前記一時記憶領域に記録されているか否かを判
定し、(b1)記録されている場合には、記録されているデータを前記マスタに出力
し、(b2)記録されていない場合には、前記読み出し要求を再度要求することを前
記マスタに通知し、前記マスタに出力するデータを前記制御ブロックに読み出さ
せるとしてもよい。
Further, the recording medium records a program that causes a programmable device to form a response block that responds to a request from the master, and the response block includes:
When the request from the master is (a) a write request to the internal storage area, the data written to the internal storage area is recorded as relay information in the recording block, and (b) to the target If it is a read request, it is determined whether or not the data to be output to the master is recorded in the temporary storage area. (B1) If it is recorded, the recorded data is stored in the master. (B2) If not recorded, the master may be notified that the read request is requested again, and the control block may be made to read the data to be output to the master.
本発明に係わるバスブリッジは、中継するデータの供給先となるデバイスをマ
スタ、中継するデータの供給源となるデバイスをターゲットとし、互いに異なる
バスに接続しているマスタとターゲットとの間のデータを中継するバスブリッジ
であって、中継するデータの量を示す中継情報を外部から書き込み可能な内部記
憶領域に記録する記録手段と、前記ターゲットから読み出されるデータを一時記
憶領域に格納する格納手段と、前記内部記憶領域に記録されている中継情報に示
される量のデータが前記一時記憶領域に格納されるまで、前記ターゲットが接続
しているバスを占有し、連続してデータを読み出し、当該量のデータが格納され
ると、占有しているバスを解放する制御手段とを備えるとする。
In the bus bridge according to the present invention, a device that is a supply destination of data to be relayed is a master, a device that is a supply source of data to be relayed is a target, and data between a master and a target that are connected to different buses is stored. A storage bridge for relaying, which is a bus bridge for relaying, recording relay information indicating an amount of data to be relayed in an internal storage area writable from the outside, and storage means for storing data read from the target in a temporary storage area; Until the amount of data indicated in the relay information recorded in the internal storage area is stored in the temporary storage area, the bus to which the target is connected is occupied and data is continuously read out. When data is stored, control means for releasing the occupied bus is provided.
これによって、リードデータトランザクションにおいて、ターゲットからデー
タを読み出す前に、マスタが必要とするデータの量を中継情報として、内部記憶
領域に書き込むことにより、マスタが不要とするデータをターゲットから読み出
すことなく、マスタが必要とするデータの量を読み出すことが可能となる。そし
て、マスタが不要とするデータをターゲットから読み出さない分、ターゲットが
接続しているバスを占有する期間が短くなるという効果がある。
Thus, in the read data transaction, before reading data from the target, the amount of data required by the master is written as relay information in the internal storage area, so that the data unnecessary by the master is read from the target, It becomes possible to read the amount of data required by the master. As a result, data that is not required by the master is not read from the target, so that the period of occupying the bus connected to the target is shortened.
さらに、前記バスブリッジが接続している複数のバスには、マスタ及びターゲ
ットのいずれかになりうるデバイスが複数接続しており、前記内部記憶領域は、
バスごとに対応する一次部分記憶領域を含み、前記記録手段は、ターゲットが接
続しているバスと対応する一次部分記憶領域に前記中継情報を記録し、前記制御
手段は、バスごとに対応するマスタ機能部を含み、各マスタ機能部は、ターゲッ
トが接続しているバスと対応する一次部分記憶領域に記録されている中継情報に
示される量のデータを当該ターゲットから読み出すとしてもよい。
Furthermore, a plurality of devices that can be either masters or targets are connected to the plurality of buses connected to the bus bridge, and the internal storage area is
A primary partial storage area corresponding to each bus, the recording means records the relay information in a primary partial storage area corresponding to the bus to which the target is connected, and the control means is a master corresponding to each bus. Each master function unit including a function unit may read out from the target the amount of data indicated in the relay information recorded in the primary partial storage area corresponding to the bus to which the target is connected.
これによって、ターゲットが接続しているバスが変わる度に、マスタが中継情
報を内部記憶領域に書き込まなくとも、一度書き込むことで、効率的にデータを
中継することが可能となる。また、予め、バスごとに最適化された中継情報を、
当該バスと対応する一次部分記憶領域に記録しておくことにより、より効率的に
データを中継することが可能という効果がある。
As a result, each time the bus to which the target is connected changes, data can be efficiently relayed by writing the relay information once without writing it in the internal storage area. In addition, relay information optimized for each bus in advance,
By recording in the primary partial storage area corresponding to the bus, data can be relayed more efficiently.
さらに、複数のターゲットになりうるデバイスが接続しているバスと対応する
一次部分記憶領域は、当該バスに接続しているターゲットになりうるデバイスご
とに対応する二次部分記憶領域を含み、前記記録手段は、ターゲットになりうる
デバイスと対応する二次部分記憶領域に前記中継情報を記録し、各マスタ機能部
は、ターゲットと対応する二次部分記憶領域に記録されている中継情報に示され
る量のデータを当該ターゲットから読み出すとしてもよい。
Further, the primary partial storage area corresponding to a bus to which a plurality of target devices can be connected includes a secondary partial storage area corresponding to each device that can be a target connected to the bus, and the recording The means records the relay information in a secondary partial storage area corresponding to a device that can be a target, and each master function unit has an amount indicated in the relay information recorded in the secondary partial storage area corresponding to the target. The data may be read from the target.
これによって、ターゲットになりうるデバイスが変わる度に、マスタが中継情
報を内部記憶領域に書き込まなくとも、一度書き込むことで、効率的にデータを
中継することが可能となる。また、予め、ターゲットになりうるデバイスごとに
最適化された中継情報を、当該デバイスと対応する二次部分記憶領域に記録して
おくことにより、より効率的にデータを中継することが可能という効果がある。
As a result, each time a device that can be a target changes, data can be relayed efficiently by writing the relay information once without writing it in the internal storage area. In addition, it is possible to relay data more efficiently by previously recording relay information optimized for each device that can be a target in a secondary partial storage area corresponding to the device. There is.
さらに、複数のターゲットになりうるデバイスが接続しているバスと対応する
二次部分記憶領域は、当該バスに接続しているターゲットになりうるデバイスか
ら読み出したデータを中継するマスタになりうるデバイスごとに対応する三次部
分記憶領域を含み、前記記録手段は、マスタになりうるデバイスと対応する三次
部分記憶領域に前記中継情報を記録し、各マスタ機能部は、ターゲットから読み
出したデータが中継されるマスタと対応する三次部分記憶領域に記録されている
中継情報に示される量のデータを当該ターゲットから読み出すとしてもよい。
Furthermore, the secondary partial storage area corresponding to the bus to which a device that can be a plurality of targets is connected is for each device that can be a master that relays data read from the device that can be a target connected to the bus. The recording means records the relay information in a tertiary partial storage area corresponding to a device that can be a master, and each master function unit relays data read from the target The amount of data indicated in the relay information recorded in the tertiary partial storage area corresponding to the master may be read from the target.
これによって、マスタになりうるデバイスが変わる度に、中継情報を内部記憶
領域に書き込まなくとも、一度書き込むことで、効率的にデータを中継すること
が可能となる。また、予め、マスタになりうるデバイスごとに最適化された中継
情報を、当該デバイスと対応する三次部分記憶領域に記録しておくことにより、
より効率的にデータを中継することが可能という効果がある。
This makes it possible to relay data efficiently by writing the relay information once without changing the relay information to the internal storage area every time the device that can become the master changes. In addition, by previously recording the relay information optimized for each device that can be a master in the tertiary partial storage area corresponding to the device,
There is an effect that data can be relayed more efficiently.
さらに、前記記録手段は、初期状態時、及び前記制御手段によるバスの解放時
に、デフォルトとする中継情報を前記内部記憶領域に記録するとしてもよい。
これによって、マスタが、中継情報を書き込まなくとも、前に書き込まれた中
継情報を更新し、デフォルトの値とすることが可能という効果がある。
さらに、前記中継情報は、バス幅のビット数を単位とするデータの数、及び中
継するデータの総サイズのいずれかであるとしてもよい。
Further, the recording means may record the relay information as a default in the internal storage area in an initial state and when the control means releases the bus.
As a result, there is an effect that the master can update the previously written relay information to the default value without writing the relay information.
Further, the relay information may be one of the number of data in units of the bus width bits and the total size of data to be relayed.
これによって、バス幅を単位とするデータの数、又は中継するデータの総サイ
ズにより、マスタが必要とするデータの量をターゲットから読み出すことが可能
という効果がある。
加えて、前記バスブリッジは、前記マスタからの要求に応答する応答手段を備
え、前記応答手段は、前記マスタからの要求が、(a) 前記内部記憶領域に対する
書き込み要求である場合には、前記内部記憶領域に書き込まれるデータを、中継
情報として、前記記録手段に記録させ、(b) 前記ターゲットに対する読み出し要
求である場合には、前記マスタに出力するデータが前記一時記憶領域に記録され
ているか否かを判定し、(b1)記録されている場合には、記録されているデータを
前記マスタに出力し、(b2)記録されていない場合には、前記読み出し要求を再度
要求することを前記マスタに通知し、前記マスタに出力するデータを前記制御手
段に読み出させるとしてもよい。
As a result, there is an effect that the amount of data required by the master can be read from the target based on the number of data in units of bus width or the total size of data to be relayed.
In addition, the bus bridge includes a response unit that responds to a request from the master, and the response unit includes: (a) when the request from the master is a write request to the internal storage area, The data to be written in the internal storage area is recorded as relay information in the recording means, and (b) if it is a read request to the target, is the data output to the master recorded in the temporary storage area? (B1) if recorded, output the recorded data to the master, and (b2) if not recorded, request the read request again. It is also possible to notify the master and cause the control means to read out data to be output to the master.
これによって、内部記憶領域に対する書き込み要求とともに、中継情報をバス
ブリッジに出すことにより、当該中継情報をマスタが必要とするデータの量とし
て、ターゲットから読み出すことが可能となる。
さらに、前記バスブリッジが接続している複数のバスには、マスタ及びターゲ
ットのいずれかになりうるデバイスが複数接続し、各デバイスにはデバイスを識
別する識別情報が割り当てられており、前記内部記憶領域は、識別情報記憶領域
を含み、前記記録手段は、前記識別情報を前記識別情報記憶領域に記録し、前記
応答手段は、さらに、前記デバイスからの要求に応答し、前記デバイスからの要
求が、(c) 前記識別情報記憶領域に対する書き込み要求である場合には、前記識
別情報記憶領域に書き込まれるデータを、識別情報として、記録手段に記録させ
、(d) 前記識別情報記憶領域に記録されている識別情報と対応するデバイスに対
する書き込み要求である場合には、バスブリッジから前記識別情報と対応するデ
バイスに出力するデータを、中継情報として、記録手段に記録させるとしてもよ
い。
Thus, by issuing the relay information to the bus bridge together with a write request for the internal storage area, the relay information can be read from the target as the amount of data required by the master.
Furthermore, a plurality of devices that can be either masters or targets are connected to the plurality of buses connected to the bus bridge, and identification information for identifying the devices is assigned to each device, and the internal storage The area includes an identification information storage area, the recording means records the identification information in the identification information storage area, the response means further responds to a request from the device, and a request from the device is received. (C) When the request is a write request to the identification information storage area, the data written in the identification information storage area is recorded as identification information in the recording means, and (d) is recorded in the identification information storage area. Data to be output from the bus bridge to the device corresponding to the identification information in the case of a write request to the device corresponding to the identification information. , As the relay information may be is recorded in the recording means.
これによって、中継情報を内部記憶領域に書き込むことができないマスタでも
、前もって、当該マスタ以外のデバイス(例えば中央演算装置)が代わりに、中
継情報を内部記憶領域に書き込むことにより、中継情報を内部記憶領域に書き込
むことができないマスタでも必要とするデータの量をターゲットから読み出すこ
とが可能となる。また、マスタになりうるデバイスごとに中継情報を内部記憶領
域に書き込まなくとも、それらデバイスと対応する複数の中継情報を特定のデバ
イスにおいて管理しておき、特定のデバイスから、一括して複数の中継情報を内
部記憶領域に書き込むことにより、より効率的にデータを中継することが可能と
いう効果がある。
As a result, even in the master that cannot write the relay information in the internal storage area, the relay information is stored in the internal storage area by writing the relay information in the internal storage area in advance instead of a device other than the master (for example, the central processing unit). Even the master that cannot write to the area can read out the required amount of data from the target. Even if relay information is not written to the internal storage area for each device that can be a master, a plurality of relay information corresponding to the devices are managed in a specific device, and a plurality of relays are collectively performed from a specific device. By writing information in the internal storage area, there is an effect that data can be relayed more efficiently.
加えて、前記バスブリッジは、マスタとなる中央演算処理装置、及びターゲッ
トとなる内部記憶装置が接続している第1バスと、マスタ及びターゲットのいず
れかとなるデバイスが複数接続している第2バスとに接続しており、前記内部記
憶領域は、第1バスに接続しているターゲットから読み出すデータの量を示す中
継情報が記録される第1一次部分記憶領域と、第2バスに接続しているターゲッ
トから読み出すデータの量を示す中継情報が記録される第2一次部分記憶領域と
を含み、前記一時記憶領域は、第2バスのターゲットから読み出されたデータが
記録される第1一時記憶領域と、第1バスのターゲットから読み出されたデータ
が記録される第2一時記憶領域とを含み、前記記録手段は、前記第1一次部分記
憶領域に接続し、前記第1一次部分記憶領域に記録されている中継情報を選択す
る第1セレクタと、前記第2一次部分記憶領域に接続し、前記第2一次部分記憶
領域に記録されている中継情報を選択する第2セレクタとを含み、前記バスブリ
ッジは、第2バスのマスタになりうるデバイスと対応する中継情報を選択させる
制御信号を前記第1セレクタに出力するバスアービタと、第2バスのターゲット
になりうるデバイスと対応する中継情報を選択させる制御信号を前記第2セレク
タに出力するアドレスデコーダとを備え、前記制御手段は、前記第1一次部分記
憶領域に記録されている中継情報の内、前記第1セレクタにより選択された中継
情報に示される量のデータが第1一時記憶領域に記録されるまで、第1バスに接
続しているターゲットからデータを読み出す第1マスタ機能部と、前記第2の一
次部分記憶領域に記録されている中継情報の内、前記第2セレクタにより選択さ
れた中継情報に示される量のデータが第2一時記憶領域に格納されるまで、第2
バスに接続しているターゲットからデータを読み出す第2マスタ機能部とを含む
としてもよい。
In addition, the bus bridge includes a first bus to which a central processing unit as a master and an internal storage device as a target are connected, and a second bus to which a plurality of devices as masters and targets are connected. The internal storage area is connected to a first primary partial storage area in which relay information indicating the amount of data read from the target connected to the first bus is recorded, and to the second bus. A second primary partial storage area in which relay information indicating the amount of data to be read from the target is recorded, and the temporary storage area is a first temporary storage in which data read from the target of the second bus is recorded An area and a second temporary storage area in which data read from the target of the first bus is recorded, the recording means connected to the first primary partial storage area, A first selector that selects relay information recorded in the first primary partial storage area; and a second selector that is connected to the second primary partial storage area and selects relay information recorded in the second primary partial storage area. A bus arbiter that outputs to the first selector a control signal for selecting relay information corresponding to a device that can be a master of the second bus, and a device that can be a target of the second bus. And an address decoder that outputs a control signal for selecting corresponding relay information to the second selector, and the control means uses the first selector among relay information recorded in the first primary partial storage area. Data is read from the target connected to the first bus until the amount of data indicated in the selected relay information is recorded in the first temporary storage area Of the relay information recorded in the first master function unit and the second primary partial storage area, the amount of data indicated by the relay information selected by the second selector is stored in the second temporary storage area. Until the second
A second master function unit that reads data from a target connected to the bus.
これによって、内部記憶領域に複数の中継情報が記録されていれも、バスアー
ビタとアドレスデコードにより、マスタと対応する中継情報、又はターゲットと
対応する中継情報、又はマスタとターゲットとの組み合わせと対応する中継情報
を選択することが可能となる。そして、選択された中継情報に基づいて、マスタ
が必要とするデータをターゲットから読み出すことが可能という効果がある。
As a result, even if a plurality of relay information is recorded in the internal storage area, the relay information corresponding to the master, the relay information corresponding to the target, or the combination of the master and the target is combined by the bus arbiter and the address decoding. It becomes possible to select information. Then, based on the selected relay information, there is an effect that data required by the master can be read from the target.
本発明に係わるデータ中継方法は、中継するデータの供給先となるデバイスで
あるマスタと、中継するデータの供給源となるデバイスであるターゲットと、互
いに異なるバスに接続しているマスタとターゲットとの間のデータを中継するバ
スブリッジとにおけるデータ中継方法であって、前記マスタに中継するデータの
量を示す中継情報を前記マスタから前記バスブリッジに渡すステップと、前記タ
ーゲットに対する読み出し要求を前記マスタから前記バスブリッジに渡すステッ
プと、前記バスブリッジにおいて、前記マスタに出力するデータが格納されてい
る場合には、格納されているデータを当該バスブリッジから前記マスタに渡し、
格納されていない場合には、当該バスブリッジに渡された中継情報に示される量
のデータが格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放するステップとを含むとする。
The data relay method according to the present invention includes a master that is a device to which data to be relayed is supplied, a target that is a device that is a source of data to be relayed, and a master and a target that are connected to different buses. A data relay method for relaying data between the master, the relay information indicating the amount of data relayed to the master from the master to the bus bridge, and a read request for the target from the master When the data to be output to the master is stored in the bus bridge in the step of passing to the bus bridge, the stored data is transferred from the bus bridge to the master,
If it is not stored, it occupies the bus to which the target is connected until the amount of data indicated in the relay information passed to the bus bridge is stored, continuously reads the data, And the step of releasing the occupied bus.
これによって、リードデータトランザクションにおいて、ターゲットからデー
タを読み出す前に、マスタが必要とするデータの量を中継情報として、内部記憶
領域に書き込むことにより、マスタが不要とするデータをターゲットから読み出
すことなく、マスタが必要とするデータの量を読み出すことが可能となる。そし
て、マスタが不要とするデータをターゲットから読み出さない分、ターゲットが
接続しているバスを占有する期間が短くなるという効果がある。
Thus, in the read data transaction, before reading data from the target, the amount of data required by the master is written as relay information in the internal storage area, so that the data unnecessary by the master is read from the target, It becomes possible to read the amount of data required by the master. As a result, data that is not required by the master is not read from the target, so that the period of occupying the bus connected to the target is shortened.
さらに、中継するデータの供給先となるデバイスであるマスタと、中継するデ
ータの供給源となるデバイスであるターゲットと、互いに異なるバスに接続して
いるマスタとターゲットとの間のデータを中継するバスブリッジとにおけるデー
タ中継方法であって、前記ターゲットから供給されるデータの量を示す供給情報
を前記マスタに中継する要求を前記マスタ以外のデバイスから前記バスブリッジ
に渡すステップと、前記バスブリッジにおいて、前記供給情報を複製し、複製し
た供給情報を、前記ターゲットから読み出すデータの量を示す中継情報として、
記録するステップと、前記ターゲットに対する読み出し要求を前記マスタから前
記バスブリッジに渡すステップと、前記バスブリッジにおいて、前記マスタに出
力するデータが格納されている場合には、格納されているデータを当該バスブリ
ッジから前記マスタに渡し、格納されていない場合には、前記バスブリッジに記
録されている中継情報に示される量のデータが格納されるまで、前記ターゲット
が接続しているバスを占有し、連続してデータを読み出し、当該量のデータが格
納されると、占有しているバスを解放するステップとを含むとしてもよい。
Furthermore, a bus that relays data between a master that is a device to which data to be relayed is supplied, a target that is a device that is a source of data to be relayed, and a master and a target that are connected to different buses. A method of relaying data to and from a bridge, the step of passing a request for relaying supply information indicating the amount of data supplied from the target to the master from a device other than the master to the bus bridge; The supply information is duplicated, and the duplicated supply information is used as relay information indicating the amount of data read from the target.
A step of recording, a step of passing a read request to the target from the master to the bus bridge, and data stored in the bus bridge when the data to be output to the master is stored. If it is not stored and passed from the bridge to the master, it continuously occupies the bus to which the target is connected until the amount of data indicated in the relay information recorded in the bus bridge is stored. Then, when the data is read and the amount of data is stored, a step of releasing the occupied bus may be included.
これによって、中継情報を内部記憶領域に書き込むことができないマスタでも
、前もって、当該マスタ以外のデバイス(例えば中央演算装置)が代わりに、中
継情報を内部記憶領域に書き込むことにより、中継情報を内部記憶領域に書き込
むことができないマスタでも必要とするデータの量をターゲットから読み出すこ
とが可能となる。また、マスタになりうるデバイスごとに中継情報を内部記憶領
域に書き込まなくとも、それらデバイスと対応する複数の中継情報を特定のデバ
イスにおいて管理しておき、特定のデバイスから、一括して複数の中継情報を内
部記憶領域に書き込むことにより、より効率的にデータを中継することが可能と
いう効果がある。
As a result, even in the master that cannot write the relay information in the internal storage area, the relay information is stored in the internal storage area by writing the relay information in the internal storage area in advance instead of a device other than the master (for example, the central processing unit). Even the master that cannot write to the area can read out the required amount of data from the target. Even if relay information is not written to the internal storage area for each device that can be a master, a plurality of relay information corresponding to the devices are managed in a specific device, and a plurality of relays are collectively performed from a specific device. By writing information in the internal storage area, there is an effect that data can be relayed more efficiently.
本発明に係わるプログラムは、中継するデータの供給先となるデバイスをマス
タ、中継するデータの供給源となるデバイスをターゲットとし、互いに異なるバ
スに接続しているマスタとターゲットとの間のデータを中継するバスブリッジを
プログラマブルデバイスに形成させるプログラムであって、中継するデータの量
を示す中継情報を外部から書き込み可能な内部記憶領域に記録する記録ブロック
と、前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ブロ
ックと、前記内部記憶領域に記録されている中継情報に示される量のデータが前
記一時記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し
、連続してデータを読み出し、当該量のデータが格納されると、占有しているバ
スを解放する制御ブロックとをプログラマブルデバイスに形成させるとする。
The program according to the present invention relays data between a master and a target connected to different buses, with a device that is a supply destination of data to be relayed as a master and a device that is a supply source of data to be relayed as a target. A program for forming a bus bridge in a programmable device, a recording block for recording relay information indicating the amount of data to be relayed in an externally writable internal storage area, and data read from the target in a temporary storage area Until the amount of data indicated in the storage block to be stored and the relay information recorded in the internal storage area is stored in the temporary storage area, the bus connected to the target is occupied and data is continuously recorded. When the amount of data is stored, the control block that releases the occupied bus And to form a click into a programmable device.
これによって、記録媒体、ネットワークなどを介して入手したプログラムを、
コンピュータ等の一般のハードウェアにおいて、ダウンロードケーブルを介して
、プログラマブルデバイスにダウンロードすれば、ダウンロードされたプログラ
マブルデバイスは、リードデータトランザクションにおいて、ターゲットからデ
ータを読み出す前に、マスタが必要とするデータの量を中継情報として、内部記
憶領域に書き込むことにより、マスタが不要とするデータをターゲットから読み
出すことなく、マスタが必要とするデータの量を読み出すことが可能となる。そ
して、マスタが不要とするデータをターゲットから読み出さない分、ターゲット
が接続しているバスを占有する期間が短くなるという効果がある。
As a result, programs obtained via recording media, networks, etc.
In general hardware such as a computer, if downloaded to a programmable device via a download cable, the downloaded programmable device needs the amount of data the master needs before reading data from the target in a read data transaction. As relay information, the amount of data required by the master can be read without reading out data unnecessary by the master from the target. As a result, data that is not required by the master is not read from the target, so that the period of occupying the bus connected to the target is shortened.
さらに、前記プログラムは、前記マスタからの要求に応答する応答ブロックを
プログラマブルデバイスに形成させ、前記応答ブロックは、前記マスタからの要
求が、(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記
憶領域に書き込まれるデータを、中継情報として、前記記録ブロックに記録させ
、(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御ブロックに読み出させるとしてもよい。
Further, the program causes a programmable device to form a response block that responds to a request from the master, and the response block is configured such that the request from the master is (a) a write request to the internal storage area. The data to be written in the internal storage area is recorded in the recording block as relay information, and (b) if it is a read request to the target, the data to be output to the master is recorded in the temporary storage area. (B1) If recorded, output the recorded data to the master. (B2) If not recorded, request the read request again. To the master,
Data to be output to the master may be read by the control block.
これによって、内部記憶領域に対する書き込み要求とともに、中継情報をプロ
グラマブルデバイスに出すことにより、当該中継情報をマスタが必要とするデー
タの量として、ターゲットから読み出すことが可能となる。
本発明に係わるプログラムを記録したプログラマブルデバイス取り込み可能な
記録媒体は、中継するデータの供給先となるデバイスをマスタ、中継するデータ
の供給源となるデバイスをターゲットとし、互いに異なるバスに接続しているマ
スタとターゲットとの間のデータを中継するバスブリッジをプログラマブルデバ
イスに形成させるプログラムを記録したプログラマブルデバイス取り込み可能な
記録媒体であって、中継するデータの量を示す中継情報を外部から書き込み可能
な内部記憶領域に記録する記録ブロックと、前記ターゲットから読み出されるデ
ータを一時記憶領域に格納する格納ブロックと、前記内部記憶領域に記録されて
いる中継情報に示される量のデータが前記一時記憶領域に格納されるまで、前記
ターゲットが接続しているバスを占有し、連続してデータを読み出し、当該量の
データが格納されると、占有しているバスを解放する制御ブロックとをプログラ
マブルデバイスに形成させるプログラムを記録しているとする。
Thus, by issuing the relay information to the programmable device together with a write request for the internal storage area, the relay information can be read from the target as the amount of data required by the master.
A programmable device recording medium in which a program according to the present invention is recorded is connected to different buses, with a device serving as a data supply destination to be relayed as a master and a device serving as a data supply source to be relayed as a target. Programmable device recording medium that records a program that allows a programmable device to form a bus bridge that relays data between the master and target, and can internally write relay information indicating the amount of data to be relayed A recording block for recording in the storage area, a storage block for storing data read from the target in the temporary storage area, and an amount of data indicated in the relay information recorded in the internal storage area are stored in the temporary storage area Until the target is connected It occupies Rubasu read data continuously, when the amount of data is stored, and a control block which releases the bus occupying records a program to be formed into a programmable device.
これによって、記録媒体を介して入手したプログラムを、コンピュータ等の一
般のハードウェアにおいて、ダウンロードケーブルを介して、プログラマブルデ
バイスにダウンロードすれば、ダウンロードされたプログラマブルデバイスは、
リードデータトランザクションにおいて、ターゲットからデータを読み出す前に
、マスタが必要とするデータの量を中継情報として、内部記憶領域に書き込むこ
とにより、マスタが不要とするデータをターゲットから読み出すことなく、マス
タが必要とするデータの量を読み出すことが可能となる。そして、マスタが不要
とするデータをターゲットから読み出さない分、ターゲットが接続しているバス
を占有する期間が短くなるという効果がある。
Thus, if the program obtained via the recording medium is downloaded to a programmable device via a download cable in general hardware such as a computer, the downloaded programmable device is
Before reading data from the target in a read data transaction, the master needs the data that the master does not need to read from the target by writing the amount of data required by the master as relay information to the internal storage area. It is possible to read out the amount of data. As a result, data that is not required by the master is not read from the target, and the period of occupying the bus to which the target is connected is shortened.
さらに、前記記録媒体は、前記マスタからの要求に応答する応答ブロックをプ
ログラマブルデバイスに形成させるプログラムを記録し、前記応答ブロックは、
前記マスタからの要求が、(a) 前記内部記憶領域に対する書き込み要求である場
合には、前記内部記憶領域に書き込まれるデータを、中継情報として、前記記録
ブロックに記録させ、(b) 前記ターゲットに対する読み出し要求である場合には
、前記マスタに出力するデータが前記一時記憶領域に記録されているか否かを判
定し、(b1)記録されている場合には、記録されているデータを前記マスタに出力
し、(b2)記録されていない場合には、前記読み出し要求を再度要求することを前
記マスタに通知し、前記マスタに出力するデータを前記制御ブロックに読み出さ
せるとしてもよい。
Further, the recording medium records a program that causes a programmable device to form a response block that responds to a request from the master, and the response block includes:
When the request from the master is (a) a write request to the internal storage area, the data written to the internal storage area is recorded as relay information in the recording block, and (b) to the target If it is a read request, it is determined whether or not the data to be output to the master is recorded in the temporary storage area. (B1) If it is recorded, the recorded data is stored in the master. (B2) If not recorded, the master may be notified that the read request is requested again, and the control block may be made to read the data to be output to the master.
これによって、内部記憶領域に対する書き込み要求とともに、中継情報をプロ
グラマブルデバイスに出すことにより、当該中継情報をマスタが必要とするデー
タの量として、ターゲットから読み出すことが可能となる。
Thus, by issuing the relay information to the programmable device together with a write request for the internal storage area, the relay information can be read from the target as the amount of data required by the master.
(実施の形態1)
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、従
来と同一の構成要素については同一の符号を付して、その説明を省略する。
(バスブリッジの構成)
図1は、実施の形態1におけるバスブリッジのブロック図である。
(Embodiment 1)
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In addition, the same code | symbol is attached | subjected about the component same as the past, and the description is abbreviate | omitted.
(Bus bridge configuration)
FIG. 1 is a block diagram of a bus bridge according to the first embodiment.
同図にみられるように、バスブリッジ100は、従来のバスブリッジ10と比
べて、プライマリバスインタフェース11、及びセカンダリバスインタフェース
12の代わりに、プライマリバスインタフェース101、及びセカンダリバスイ
ンタフェース102を備え、さらに、レジスタブロック111を備える。
プライマリバスインタフェース101は、プライマリバスインタフェース11
と比べて、さらに、レジスタブロック111と接続している点が異なる。そして
、セカンダリバスのイニシエータがプライマリバスのターゲットに対してリード
サイクルを発生した際には、レジスタブロック111が保持している中継情報に
応じて、プライマリバスに発生させるリードサイクルを制御する。
As shown in the figure, the
The
In addition, the connection with the
ここて、中継情報とは、バスブリッジ100が転送するデータの数を指す。
セカンダリバスインタフェース102は、セカンダリバスインタフェース12
と比べて、さらに、レジスタブロック111と接続している点が異なる。そして
、プライマリバスのイニシエータがセカンダリバスのターゲットに対してリード
サイクルを発生した際には、レジスタブロック111が保持している中継情報に
応じて、セカンダリバスに発生させるリードサイクルを制御する。
Here, the relay information refers to the number of data transferred by the
The
In addition, the connection with the
レジスタブロック111は、中継情報を保持する。
図2は、プライマリバスインタフェース101、セカンダリバスインタフェー
ス102、及びレジスタブロック111の詳細なブロック図である。
同図にみられるように、プライマリバスインタフェース101は、さらに、プ
ライマリバスマスタ201、プライマリバスターゲット202、及びアドレスデ
コーダ203から構成される。
The
FIG. 2 is a detailed block diagram of the
As seen in the figure, the
プライマリバスマスタ201は、プライマリバスのマスタとして機能する。そ
して、プライマリバスのターゲットからデータをリードする際には、レジスタブ
ロック111が保持している中継情報に応じて、プライマリバスにリードサイク
ルを発生する。
プライマリバスターゲット202は、プライマリバスのターゲットとして機能
する。
The
The
アドレスデコーダ203は、コンフィグレーションレジスタ14を参照し、プ
ライマリバスに発生しているバスサイクルとともに、ドライブされたアドレスか
らデバイスを特定する。また、特定したデバイスのアドレスをレジスタブロック
111に通知する。
セカンダリバスインタフェース102は、さらに、セカンダリバスマスタ21
1、及びセカンダリバスターゲット212から構成される。
The
The
1 and a
セカンダリバスマスタ211は、セカンダリバスのマスタとして機能する。そ
して、セカンダリバスのターゲットからデータをリードする際には、レジスタブ
ロック111が保持している中継情報に応じて、セカンダリバスにリードサイク
ルを発生する。
セカンダリバスターゲット212は、セカンダリバスのターゲットとして機能
する。
The
The
レジスタブロック111は、さらに、アドレスバッファ221、レジスタ23
1、及びレジスタ241から構成される。
アドレスバッファ221は、プライマリバス、及びセカンダリバスのいずれか
のイニシエータが、アドレスバッファ221に対して発生したライトサイクルと
ともにドライブしたデータ(アドレス)を保持する。また、アドレスデコーダ2
03、及びレジスタ231に接続している。そして、アドレスバッファ221が
保持しているデータ(アドレス)と、アドレスデコーダ203から通知されたア
ドレスとが一致する場合には、一致するアドレスに続いてライトサイクルととも
にドライブされたデータ(中継情報)を複製し、複製したデータをレジスタ23
1に書き込む。
The
1 and a
The
03 and the
Write to 1.
レジスタ231は、プライマリバス、及びセカンダリバスのいずれかのイニシ
エータが、レジスタ231に対して発生したライトサイクルとともにドライブし
たデータ(中継情報)を保持する。そして、セカンダリバスのイニシエータが、
プライマリバスのターゲットに対してリードサイクルを発生する際には、保持し
ているデータ(中継情報)をプライマリバスマスタ201に送る。
The
When a read cycle is generated for the primary bus target, the held data (relay information) is sent to the
レジスタ241は、プライマリバス、及びセカンダリバスのいずれかのイニシ
エータが、レジスタ241に対して発生したライトサイクルとともにドライブし
たデータ(中継情報)を保持する。そして、プライマリバスのイニシエータが、
セカンダリバスのターゲットに対してリードサイクルを発生する際には、保持し
ているデータ(中継情報)をセカンダリバスマスタ211に送る。
The
When a read cycle is generated for the secondary bus target, the held data (relay information) is sent to the
(バスブリッジ100を備えたコンピュータシステムの構成例)
図3は、一例として、バスブリッジ100を備えたコンピュータシステムの構
成図である。
同図にみられるように、コンピュータシステム300は、プライマリバスに接
続しているCPU301、及びメモリ302と、セカンダリバスに接続している
バスマスタ303,304、及びバスターゲット305,306と、プライマリ
バス、及びセカンダリバスとに接続しているバスブリッジ100とから構成され
る。
(Configuration example of computer system provided with bus bridge 100)
FIG. 3 is a configuration diagram of a computer system including the
As seen in the figure, the
CPU301は、プライマリバスのマスタとして機能する。
メモリ302は、プライマリバスのターゲットとして機能する。
バスマスタ303,304とは、セカンダリバスのマスタとして機能する。
さらに、バスマスタ303は、レジスタ311を備える。そして、バスマスタ
303に対して発生したライトサイクルとともにドライブされたデータ(中継情
報)をレジスタ311に記憶する。
The
The
The
Further, the
図4は、コンピュータシステム300における各デバイス、及びレジスタに割
り当てられたアドレスのメモリマップを示す図である。
同図にみられるように、メモリマップ400は、アドレス列の各行に、32ビ
ットのメモリ空間における特定のアドレス、またはメモリ領域を示している。デ
バイス、及びレジスタの列の各行に、同じ行のアドレス、又はメモリ領域に対応
付けられた各デバイス、又ははレジスタを示す。なお、アドレスは、単位をByte
として、16進数表記でを示している。
FIG. 4 is a diagram illustrating a memory map of addresses assigned to devices and registers in the
As seen in the figure, the
As shown in hexadecimal notation.
以下、コンピュータシステム300において、メモリ302はアドレス000000
00〜3FFFFFFFが割り当てられ、バスターゲット305はアドレス40000000〜5FFF
FFFFが割り当てられている。バスターゲット306はアドレス60000000〜7FFFFF
FFが割り当てられ、アドレスバッファ221はアドレス80000000が割り当てられ
ている。レジスタ231はアドレス80000004が割り当てられ、レジスタ241は
アドレス8000000Cが割り当てられている。そして、レジスタ311はアドレス90
000000が割り当てられている。
Hereinafter, in the
00 to 3FFFFFFF is assigned, and
FFFF is assigned. Bus target 306 addresses 60000000-7FFFFF
FF is assigned and
000000 is assigned.
(バスブリッジの動作)
以上のように構成されたバスブリッジ100について、その動作を説明する。
(バスブリッジ100におけるデータ中継処理)
図5は、バスブリッジ100におけるデータ中継処理のフローチャートである
。
(Bus bridge operation)
The operation of the
(Data relay processing in the bus bridge 100)
FIG. 5 is a flowchart of data relay processing in the
同図にみられるように、バスブリッジ100は、バスブリッジ100がリセッ
トされるまで、以下の処理を繰り返し実行する(ステップS501)。
バスブリッジ100は、プライマリバスにライトサイクルが発生しているか否
かを判定する(ステップS502)。
判定した結果、ライトサイクルが発生している場合には、中継情報記憶処理を
実行する(ステップS503)。
As seen in the figure, the
The
If it is determined that a write cycle has occurred, relay information storage processing is executed (step S503).
そして、プライマリバスにリードサイクルが発生しているか否かを判定する(
ステップS504)。
判定した結果、リードサイクルが発生している場合には、第1リードサイクル
応答処理を実行する(ステップS505)。
また、セカンダリバスにリードサイクルが発生しているか否かを判定する(ス
テップS506)。
It is then determined whether a read cycle has occurred on the primary bus (
Step S504).
As a result of the determination, if a read cycle has occurred, a first read cycle response process is executed (step S505).
Also, it is determined whether or not a read cycle has occurred in the secondary bus (step S506).
判定した結果、リードサイクルが発生している場合には、第2リードサイクル
応答処理を実行する(ステップS507)。
(中継情報記憶処理)
図6は、バスブリッジ100における中継情報記憶処理のフローチャートであ
る。
As a result of the determination, if a read cycle has occurred, a second read cycle response process is executed (step S507).
(Relay information storage processing)
FIG. 6 is a flowchart of relay information storage processing in the
同図にみられるように、プライマリバスターゲット202は、ライトサイクル
とともにドライブされたアドレスから、プライマリバスに発生したバスサイクル
を判定する(ステップS601)。
判定した結果、レジスタ241に対するライトサイクルである場合には、プラ
イマリバスターゲット202は、ライトサイクルとともにドライブされたデータ
(中継情報)をレジスタ241に記憶し(ステップS602)、中継情報記憶処
理を終了する。
As seen in the figure, the
As a result of the determination, if it is a write cycle for the
あるいは、アドレスバッファ221に対するライトサイクルである場合には、
プライマリバスターゲット202は、ライトサイクルとともにドライブされたデ
ータ(アドレス)をアドレスバッファ221に記憶し(ステップS603)、中
継情報記憶処理を終了する。
あるいは、セカンダリバスのデバイスに対するライトサイクルである場合には
、アドレスバッファ221は、アドレスデコーダ203から通知されたアドレス
と、アドレスバッファ221が保持しているデータ(アドレス)とが一致するか
否かを判定する(ステップS604)。
Alternatively, if it is a write cycle for the
The
Alternatively, in the case of a write cycle for a secondary bus device, the
判定した結果、一致する場合には、アドレスバッファ221は、ライトサイク
ルとともにドライブされたデータ(中継情報)を複製し、複製したデータをレジ
スタ231に記憶する(ステップS605)。また、プライマリバスターゲット
202は、アドレス、コマンド、バイトイネーブルビット、及びデータ(中継情
報)をDSデータFIFO16に格納する(ステップS606)。
As a result of the determination, if they match, the
そして、セカンダリバスマスタ211は、セカンダリバスにライトサイクルを
発生するとともに、DSデータFIFO16に格納されているアドレス、データ
(中継情報)をドライブし(ステップS607)、中継情報記憶処理を終了する
。
(第1リードサイクル応答処理)
図7は、バスブリッジ100における第1リードサイクル応答処理のフローチ
ャートである。
Then, the
(First read cycle response process)
FIG. 7 is a flowchart of the first read cycle response process in the
同図にみられるように、プライマリバスターゲット202は、リードサイクル
とともにドライブされたアドレスから、プライマリバスに発生したバスサイクル
がセカンダリバスのターゲットに対するリードサイクルであるか否かを判定する
(ステップS701)。
判定した結果、セカンダリバスのターゲットに対するリードサイクルである場
合には、プライマリバスターゲット202は、USデータFIFO17を参照し
、リードサイクルを発生させたイニシエータに対して転送するデータが準備され
ているか否かを判定する(ステップS702)。
As shown in the figure, the
As a result of the determination, if the read cycle is for the secondary bus target, the
判定した結果、転送するデータが準備されている場合には、プライマリバスタ
ーゲット202は、USデータFIFO17に格納されているデータを転送し(
ステップS703)、第1リードサイクル応答処理を終了する。転送するデータ
が準備されていない場合には、プライマリバスターゲット202は、リードサイ
クルとともにドライブされたアドレスをDSデータFIFO16に格納し、リー
ドサイクルを発生させたイニシエータに対して、リトライで応答する(ステップ
S704)。
If it is determined that the data to be transferred is prepared, the
Step S703), the first read cycle response process is terminated. If the data to be transferred is not prepared, the
そして、セカンダリバスマスタ211は、レジスタ241から中継情報を受け
取り、セカンダリバスにリードサイクルを発生するとともに、DSデータFIF
O16に格納されているアドレスをセカンダリバスにドライブする(ステップS
705)。
続いて、セカンダリバスマスタ211は、ターゲットからデータをリードし、
リードしたデータをUSデータFIFO17に格納し(ステップS706)、タ
ーゲットからリードしたデータの数と、受け取った中継情報とが一致するか否か
を判定する(ステップS707)。
Then, the
The address stored in O16 is driven to the secondary bus (step S
705).
Subsequently, the
The read data is stored in the US data FIFO 17 (step S706), and it is determined whether or not the number of data read from the target matches the received relay information (step S707).
判定した結果、一致する場合には、セカンダリバスマスタ211は、リードサ
イクルを発生させたイニシエータに対して転送されるデータが準備できているこ
とを、プライマリバスターゲット202に通知し(ステップS708)、第1リ
ードサイクル応答処理を終了する。一致しない場合には、ステップS706に処
理を戻す。
If the determination results in a match, the
(第2リードサイクル応答処理)
図8は、バスブリッジ100における第2リードサイクル応答処理のフローチ
ャートである。
同図にみられるように、セカンダリバスターゲット212は、リードサイクル
とともにドライブされたアドレスから、セカンダリバスに発生したバスサイクル
がプライマリバスのターゲットに対するリードサイクルであるか否かを判定する
(ステップS801)。
(Second read cycle response process)
FIG. 8 is a flowchart of the second read cycle response process in the
As shown in the figure, the
判定した結果、プライマリバスのターゲットに対するリードサイクルである場
合には、セカンダリバスターゲット212は、DSデータFIFO16を参照し
、リードサイクルを発生させたイニシエータに対して転送するデータが準備され
ているか否かを判定する(ステップS802)。
判定した結果、転送するデータが準備されている場合には、セカンダリバスタ
ーゲット212は、DSデータFIFO16に格納されているデータを転送し(
ステップS803)、第2リードサイクル応答処理を終了する。転送するデータ
が準備されていない場合には、セカンダリバスターゲット212は、リードサイ
クルとともにドライブされたアドレスをUSデータFIFO17に格納し、リー
ドサイクルを発生させたイニシエータに対して、リトライで応答する(ステップ
S804)。
As a result of the determination, if the read cycle is for the target of the primary bus, the
As a result of the determination, when the data to be transferred is prepared, the
Step S803), the second read cycle response process is terminated. If the data to be transferred is not prepared, the
そして、プライマリバスマスタ201は、レジスタ231から中継情報を受け
取り、プライマリバスにリードサイクルを発生するとともに、USデータFIF
O17に格納されているアドレスをプライマリバスにドライブする(ステップS
805)。
続いて、プライマリバスマスタ201は、ターゲットからデータをリードし、
リードしたデータをDSデータFIFO16に格納し(ステップS806)、タ
ーゲットからリードしたデータの数と、受け取った中継情報とが一致するか否か
を判定する(ステップS807)。
The
The address stored in O17 is driven to the primary bus (step S
805).
Subsequently, the
The read data is stored in the DS data FIFO 16 (step S806), and it is determined whether or not the number of data read from the target matches the received relay information (step S807).
判定した結果、一致する場合には、プライマリバスマスタ201は、リードサ
イクルを発生させたイニシエータに対して転送されるデータが準備できているこ
とを、セカンダリバスターゲット212に通知し(ステップS808)、第2リ
ードサイクル応答処理を終了する。一致しない場合には、ステップS806に処
理を戻す。
If they match as a result of the determination, the
以上、バスブリッジ100におけるデータ中継処理のフローチャートについて
である。
(動作例)
ここで、上記コンピュータシステム300において、以下に示す(場合−1)
、(場合−2)を例に、バスブリッジ100の具体的な動作を、タイミングチャ
ートを参照しながら説明する。
The flowchart of the data relay process in the
(Operation example)
Here, in the
, (Case-2) as an example, the specific operation of the
(場合−1)セカンダリバスのターゲットからプライマリバスのイニシエータ
にデータが転送される場合
(場合−2)プライマリバスのターゲットからセカンダリバスのイニシエータ
にデータが転送される場合
以下、(場合−1)におけるバスブリッジ100のデータ中継処理をアップス
トリーム転送処理と呼称し、(場合−2)におけるバスブリッジ100のデータ
中継処理をダウンストリーム転送処理と呼称する。
(Case-1) When data is transferred from the secondary bus target to the primary bus initiator (Case-2) When data is transferred from the primary bus target to the secondary bus initiator The data relay processing of the
(アップストリーム転送処理)
まず、アップストリーム転送処理について、タイミングチャートを参照しなが
ら具体的な動作を説明する。
図9〜11は、アップストリーム転送処理におけるタイミングチャートを示す
図である。
(Upstream transfer processing)
First, specific operations of the upstream transfer process will be described with reference to a timing chart.
9 to 11 are timing charts in the upstream transfer process.
図9(a)は、T0〜T8まで、(b)は、T7〜T15までのプライマリバ
スに関するタイミングチャートを示す図である。
図9(a)(b)にみられるように、上から順に、クロック(CLK)、プラ
イマリバスの使用権、アドレス/データ、フェーズ、リード/ライト、及びバス
応答種類のタイミングチャートを示している。
FIG. 9A is a timing chart relating to the primary bus from T0 to T8, and FIG. 9B is a timing chart relating to the primary bus from T7 to T15.
9A and 9B, a timing chart of the clock (CLK), the right to use the primary bus, the address / data, the phase, the read / write, and the bus response type is shown in order from the top. .
ここで、使用権とは、バスを使用する権利を有しているデバイスを指す。
ここて、アドレス/データとは、アドレス/データ線の状態を指す。
ここで、フェーズとは、"address"、"data"、"turn around"、"idle"などのバ
スサイクルのフェーズを指す。
ここで、バス応答種類とは、"completion"、"retry"などのバスブリッジ10
0のバス応答を指す。
Here, the right to use refers to a device having the right to use the bus.
Here, the address / data refers to the state of the address / data line.
Here, the phase refers to a phase of a bus cycle such as “address”, “data”, “turn around”, “idle”, and the like.
Here, the bus response type is a
Refers to a bus response of zero.
図10(a)は、T0〜T8まで、(b)は、T7〜T15までのバスブリッ
ジ100に関するタイミングチャートを示す図である。
図10(a)(b)にみられるように、上から順に、クロック(CLK)、レ
ジスタ333、USデータFIFO212エントリ1、USデータFIFO21
2エントリ2のタイミングチャートを示している。
FIG. 10A is a timing chart relating to the
As seen in FIGS. 10A and 10B, in order from the top, clock (CLK), register 333,
The timing chart of 2
図11(a)は、T0〜T8まで、(b)は、T7〜T15までのセカンダリ
バスに関するタイミングチャートを示す図である。
図11(a)(b)にみられるように、上から順に、クロック(CLK)、セ
カンダリバスの使用権、アドレス/データ、フェーズ、リード/ライト、及びバ
ス応答種類のタイミングチャートを示している。
11A is a timing chart relating to the secondary bus from T0 to T8, and FIG. 11B is a timing chart relating to the secondary bus from T7 to T15.
As seen in FIGS. 11A and 11B, the timing chart of the clock (CLK), the right to use the secondary bus, the address / data, the phase, the read / write, and the bus response type is shown in order from the top. .
なお、図9〜11に示すタイミングチャートは同期している。
まず、図9(a)にみられるように、T0〜T2において、CPU301は、
プライマリバスをアサートし、ライトサイクルを発生するとともに、アドレス80
00000C(レジスタ241のアドレス)と、データ00000002(中継情報)とをプラ
イマリバスにドライブする。これにともない、バスブリッジ100は、中継情報
記憶処理を実行する。また、T1〜T2において、CPU301は、プライマリ
バスをディアサートする。
The timing charts shown in FIGS. 9 to 11 are synchronized.
First, as seen in FIG. 9A, at T0 to T2, the
Assert the primary bus, generate a write cycle, and address 80
00000C (address of register 241) and data 00000002 (relay information) are driven to the primary bus. Accordingly, the
ここで、アサートとは、イニシエータがバスを占有し、リードサイクル又はラ
イトサイクルを発生することを指す。
ここで、ディアサートとは、次のクロックを以て、イニシエータにより発生さ
れているリードサイクル又はライトサイクルを終了し、占有しているバスを解放
することを指す。
Here, assert means that the initiator occupies the bus and generates a read cycle or a write cycle.
Here, deassertion means that the read cycle or write cycle generated by the initiator is terminated with the next clock, and the occupied bus is released.
続いて、図10(a)にみられるように、T2〜T3において、バスブリッジ
100は、ライトサイクルとともにドライブされたデータ00000002(中継情報)
をレジスタ241に記憶する。
ここで、バスブリッジ100は、ステップS601において、レジスタ241
に対するライトサイクルであると判定し、ステップS602を実行し、中継情報
記憶処理を終了する。
Subsequently, as shown in FIG. 10A, in T2 to T3, the
Is stored in the
Here, the
Is determined to be a write cycle, step S602 is executed, and the relay information storage process is terminated.
続いて、図9(a)にみられるように、T3〜T6において、CPU301は
、プライマリバスをアサートし、リードサイクルを発生するとともに、アドレス
40000000(バスターゲット305のアドレス)をプライマリバスにドライブする
。これにともない、バスブリッジ100は、第1リードサイクル応答処理を実行
する。そして、CPU301は、リードサイクルに対する応答として、バスブリ
ッジ100からリトライをレシーブする。また、T5〜T6において、CPU3
01は、プライマリバスをディアサートする。
Subsequently, as seen in FIG. 9A, in T3 to T6, the
Drive 40000000 (address of bus target 305) to the primary bus. Accordingly, the
01 deasserts the primary bus.
ここで、バスブリッジ100は、ステップS701において、セカンダリバス
のターゲット(バスターゲット305)に対するリードサイクルであると判定し
、ステップS702を実行する。そして、ステップS702において、転送する
データが準備されていないと判定し、ステップS704を実行する。
続いて、図11(a)(b)にみられるように、T5〜T9において、バスブ
リッジ100は、セカンダリバスをアサートし、リードサイクルを発生するとと
もに、DSデータFIFO16に格納されているアドレス(アドレス40000000)
をセカンダリバスにドライブする。そして、バスブリッジ100は、セカンダリ
バスのターゲット(バスターゲット305)からデータ01234567と、データ89AB
CDEFとをリードする。また、T8〜T9において、バスブリッジ100は、セカ
ンダリバスをディアサートする。
Here, the
Subsequently, as seen in FIGS. 11 (a) and 11 (b), at T5 to T9, the
To the secondary bus. The
Lead CDEF. In T8 to T9, the
続いて、図10(b)にみられるように、T8〜T10において、バスブリッ
ジ100は、リードしたデータ01234567をUSデータFIFO17の第1エント
リに、データ89ABCDEFをUSデータFIFO17の第2エントリに格納する。
ここで、バスブリッジ100は、ステップS707において、ターゲットから
リードしたデータの数と、受け取った中継情報とが一致すると判定されるまで、
ステップS705,S706を実行し、第1リードサイクル応答処理を終了する
。
Subsequently, as seen in FIG. 10B, at T8 to T10, the
Here, the
Steps S705 and S706 are executed, and the first read cycle response process is terminated.
続いて、図9(b)にみられるように、T9〜T13において、CPU301
は、プライマリバスをアサートし、再度、リードサイクルを発生するとともに、
アドレス40000000(バスターゲット305のアドレス)をプライマリバスにドラ
イブする。これにともない、バスブリッジ100は、再度、第1リードサイクル
応答処理を実行する。そして、CPU301は、バスブリッジ100(USデー
タFIFO17の第1エントリと第2エントリと)から、データ01234567とデー
タ89ABCDEFとをリードする。また、T12〜T13において、CPU301は、
プライマリバスをディアサートする。
Subsequently, as seen in FIG. 9B, in T9 to T13, the
Asserts the primary bus, generates a read cycle again,
Address 40000000 (address of bus target 305) is driven to the primary bus. Accordingly, the
Deassert the primary bus.
ここで、バスブリッジ100は、ステップS701において、セカンダリバス
のターゲット(バスターゲット305)に対するリードサイクルであると判定し
、ステップS702を実行する。そして、ステップS702において、転送する
データが準備されていると判定し、ステップS703を実行し、第1リードサイ
クル応答処理を終了する。
Here, the
以上、アップストリーム転送処理によるバスブリッジ100の動作についてで
ある。
(ダウンストリーム転送処理)
次に、ダウンストリーム転送処理について、タイミングチャートを参照しなが
ら具体的なその動作を説明する。
The above is the operation of the
(Downstream transfer processing)
Next, a specific operation of the downstream transfer process will be described with reference to a timing chart.
図12〜14は、ダウンストリーム転送処理におけるタイミングチャートを示
す図である。
図12(a)は、T0〜T9まで、(b)は、T9〜T20までのプライマリ
バスに関するタイミングチャートを示す図である。
図12(a)(b)にみられるように、上から順に、クロック(CLK)、プ
ライマリバス使用権、アドレス/データ、フェーズ、リード/ライト、バス応答
種類のタイミングチャートを示している。
12 to 14 are timing charts in the downstream transfer process.
FIG. 12A is a timing chart relating to the primary bus from T0 to T9, and FIG. 12B is a timing chart relating to the primary bus from T9 to T20.
As can be seen from FIGS. 12A and 12B, a timing chart of the clock (CLK), primary bus use right, address / data, phase, read / write, and bus response type is shown in order from the top.
図13(a)は、T0〜T9まで、(b)は、T9〜T20までのバスブリッ
ジ100、及びレジスタ311に間するタイミングチャートを示す図である。
図13(a)(b)にみられるように、上から順に、クロック(CLK)、ア
ドレスバッファ221、レジスタ241、DSデータFIFO16の第1エント
リ、DSデータFIFO16の第2エントリ、レジスタ231のタイミングチャ
ートを示している。
FIG. 13A is a diagram illustrating a timing chart between the
As shown in FIGS. 13A and 13B, in order from the top, the clock (CLK), the
図14(a)は、T0〜T12まで、(b)は、T12〜T20までのセカン
ダリバスに関するタイミングチャートを示す図である。
図14(a)(b)にみられるように、上から順に、クロック(CLK)、セ
カンダリバス使用権、アドレス/データ、フェーズ、リード/ライト、バス応答
種類のタイミングチャートを示している。
14A is a timing chart relating to the secondary bus from T0 to T12, and FIG. 14B is a timing chart relating to the secondary bus from T12 to T20.
As seen in FIGS. 14A and 14B, a timing chart of the clock (CLK), secondary bus usage right, address / data, phase, read / write, and bus response type is shown in order from the top.
なお、図12〜14に示すタイミングチャートは同期している。
まず、図12(a)にみられるように、T0〜T2において、CPU301は
、プライマリバスをアサートし、ライトサイクルを発生するとともに、アドレス
80000000(アドレスバッファ221のアドレス)とデータ90000000(レジスタ3
11のアドレス)とをプライマリバスにドライブする。これにともない、バスブ
リッジ100は、中継情報記憶処理を実行する。また、T1〜T2において、C
PU301は、プライマリバスをディアサートする。
Note that the timing charts shown in FIGS. 12 to 14 are synchronized.
First, as seen in FIG. 12A, at T0 to T2, the
80000000 (address of address buffer 221) and data 90000000 (register 3)
11 address) to the primary bus. Accordingly, the
The
続いて、図13(a)にみられるよう1に、T1〜T2において、バスブリッ
ジ100は、ライトサイクルとともにドライブされたデータ90000000(レジスタ
311のアドレス)をアドレスバッファ221に記憶する。
ここで、バスブリッジ100は、ステップS601において、アドレスバッフ
ァ221に対するライトサイクルであると判定し、ステップS603を実行し、
中継情報記憶処理を終了する。
Subsequently, as shown in FIG. 13A, in T <b> 1 to T <b> 2, the
Here, the
The relay information storage process ends.
続いて、図12(a)にみられるように、T3〜T5において、CPU301
は、プライマリバスをアサートし、ライトサイクルを発生するとともに、アドレ
ス90000000(レジスタ311のアドレス)とデータ00000002(中継情報)とをプ
ライマリバスにドライブする。これにともない、バスブリッジ100は、中継情
報記憶処理を実行する。また、T4〜T5において、CPU301は、プライマ
リバスをディアサートする。
Subsequently, as seen in FIG. 12A, in T3 to T5, the
Asserts the primary bus, generates a write cycle, and drives address 90000000 (address of register 311) and data 00000002 (relay information) to the primary bus. Accordingly, the
続いて、図13(a)にみられるように、T5〜T6において、バスブリッジ
100は、ライトサイクルとともにドライブされたデータ00000002(中継情報)
をDSデータFIFO16に格納する。また、ライトサイクルとともにドライブ
されたデータ00000002(中継情報)を複製し、複製したデータをレジスタ231
に記憶する。
Subsequently, as shown in FIG. 13A, in T5 to T6, the
Is stored in the
To remember.
ここで、バスブリッジ100は、ステップS601において、セカンダリバス
のデバイスに対するライトサイクルであると判定し、ステップS604を実行す
る。続いて、ステップS604において、一致すると判定し、ステップS605
を実行しする。そして、ステップS606を実行する。
続いて、図14(a)にみられるように、T5〜T7において、バスブリッジ
100は、セカンダリバスをアサートし、ライトサイクルを発生するとともに、
アドレス90000000(レジスタ311のアドレス)とデータ00000002(中継情報)
とをセカンダリバスにドライブする。また、T6〜T7において、バスブリッジ
100は、セカンダリバスをディアサートする。
Here, the
Execute. Then, Step S606 is executed.
Subsequently, as seen in FIG. 14A, at T5 to T7, the
Address 90000000 (address of register 311) and data 00000002 (relay information)
And drive to the secondary bus. In T6 to T7, the
続いて、図13(a)にみられるように、T7〜T8において、バスマスタ3
03は、ライトサイクルとともにセカンダリバスにドライブされたデータ000000
02をレジスタ311に記憶する。
ここで、バスブリッジ100は、ステップS607を実行し、中継情報記憶処
理を終了する。
Subsequently, as seen in FIG. 13A, at T7 to T8, the bus master 3
03 is the data 000000 driven to the secondary bus along with the write cycle
02 is stored in the
Here, the
続いて、図14(a)にみられるように、T8〜T11において、バスマスタ
303は、プライマリバスをアサートし、リードサイクルを発生するとともに、
アドレス20000000(メモリ302の部分アドレス)をセカンダリバスにドライブ
する。これにともない、バスブリッジ100は、第2リードサイクル応答処理を
実行する。そして、バスマスタ303は、リードサイクルに対する応答として、
バスブリッジ100からリトライをレシーブする。また、T10〜T11におい
て、バスマスタ303は、セカンダリバスをディアサートする。
Subsequently, as seen in FIG. 14A, in T8 to T11, the
Address 20000000 (partial address of memory 302) is driven to the secondary bus. Accordingly, the
A retry is received from the
ここで、バスブリッジ100は、ステップS801において、プライマリバス
のターゲット(メモリ302)に対するリードサイクルであると判定し、ステッ
プS802を実行する。そして、ステップS802において、転送するデータが
準備されていないと判定し、ステップS804を実行する。
続いて、図12(b)にみられるように、T10〜T14において、バスブリ
ッジ100は、プライマリバスをアサートし、リードサイクルを発生するととも
に、USデータFIFO17に格納されているアドレス20000000(メモリ302
の部分アドレス)をプライマリバスにドライブする。そして、バスブリッジ10
0は、プライマリバスのターゲット(メモリ302)からデータ01234567とデー
タ89ABCDEFとをリードする。また、T13〜T14において、バスブリッジ10
0は、プライマリバスをディアサートする。
Here, the
Subsequently, as seen in FIG. 12B, at T10 to T14, the
To the primary bus. And
0 reads
0 deasserts the primary bus.
続いて、図13(b)にみられるように、T13〜T15において、バスブリ
ッジ100は、リードしたデータ01234567をDSデータFIFO16の第1エン
トリに格納し、データ89ABCDEFをDSデータFIFO16の第2エントリに格納
する。
ここで、バスブリッジ100は、ステップS807において、ターゲットから
リードしたデータの数と、受け取った中継情報とが一致すると判定されるまで、
ステップS805,S806を実行し、第2リードサイクル応答処理を終了する
。
Subsequently, as seen in FIG. 13B, at T13 to T15, the
Here, the
Steps S805 and S806 are executed, and the second read cycle response process is terminated.
続いて、図14(b)にみられるように、T15〜T19において、バスマス
タ303は、セカンダリバスをアサートし、再度、リードサイクルを発生すると
ともに、アドレス20000000(メモリ302の部分アドレス)をセカンダリバスに
ドライブする。これにともない、バスブリッジ100は、再度、第2リードサイ
クル応答処理を実行する。そして、バスマスタ303は、バスブリッジ100(
DSデータFIFO16の第1エントリと第2エントリと)から、データ012345
67とデータ89ABCDEFとをリードする。また、T18〜T19において、バスマス
タ303は、セカンダリバスをディアサートする。
Subsequently, as seen in FIG. 14B, in T15 to T19, the
From the first entry and the second entry of the DS data FIFO 16), the data 012345
Lead 67 and data 89ABCDEF. In T18 to T19, the
ここで、バスブリッジ100は、ステップS801において、プライマリバス
のターゲット(メモリ302)に対するリードサイクルであると判定し、ステッ
プS802を実行する。そして、ステップS802において、転送するデータが
準備されていると判定し、ステップS803を実行し、第2リードサイクル応答
処理を終了する。
Here, the
以上、ダウンストリーム転送処理によるバスブリッジ100の動作についてで
ある。
(従来のバスブリッジとの対比)
ここで、従来のバスブリッジ10と、バスブリッジ100とを対比する。
一例として、上記コンピュータシステム300において、バスブリッジ100
の代わりに、バスブリッジ10を備えた場合におけるタイミングチャートを示す
。
The above is the operation of the
(Contrast with conventional bus bridge)
Here, the
As an example, in the
A timing chart in the case where a
図15〜16は、従来のバスブリッジ10によるアップストリーム転送処理に
おけるタイミングチャートを示す図である。
図15(a)は、T0〜T8まで、(b)は、T5〜T13までのバスブリッ
ジ10が接続しているプライマリバスに関するタイミングチャートを示す図であ
る。
15 to 16 are timing charts in upstream transfer processing by the
FIG. 15A is a timing chart relating to the primary bus to which the
図15(a)(b)にみられるように、上から順に、クロック(CLK)、プ
ライマリバスの使用権、アドレス/データ、フェーズ、リード/ライト、及びバ
ス応答種類のタイミングチャートを示している。
図16(a)は、T0〜T8まで、(b)は、T5〜T13までのバスブリッ
ジ10が接続しているセカンダリバスに関するタイミングチャートを示す図であ
る。
As can be seen from FIGS. 15A and 15B, a timing chart of the clock (CLK), the right to use the primary bus, the address / data, the phase, the read / write, and the bus response type is shown in order from the top. .
FIG. 16A is a diagram illustrating a timing chart relating to the secondary bus to which the
図16(a)(b)にみられるように、上から順に、クロック(CLK)、セ
カンダリバスの使用権、アドレス/データ、フェーズ、リード/ライト、及びバ
ス応答種類のタイミングチャートを示している。
なお、図15〜16に示すタイミングチャートは同期している。
まず、図15(a)にみられるように、T0〜T3において、CPU31は、
プライマリバスをアサートし、リードサイクルを発生するとともに、アドレス40
000000(バスターゲット35のアドレス)をプライマリバスにドライブする。こ
れにともない、バスブリッジ10は、アドレス、バスコマンド、バイトイネーブ
ルビットなどをDSデータFIFO16に格納する。そして、CPU31は、バ
スブリッジ10からリードサイクルに対する応答としてリトライをレシーブする
。また、T2〜T3において、プライマリバスをディアサートする。
As seen in FIGS. 16A and 16B, a timing chart of the clock (CLK), the right to use the secondary bus, the address / data, the phase, the read / write, and the bus response type is shown in order from the top. .
The timing charts shown in FIGS. 15 to 16 are synchronized.
First, as seen in FIG. 15A, at T0 to T3, the CPU 31
Assert the primary bus, generate a read cycle, and address 40
Drive 000000 (the address of the bus target 35) to the primary bus. Accordingly, the
ここで、バスブリッジ10は、USデータFIFO17を参照し、転送するデ
ータが準備されていないと判定し、リードサイクルに対して、リトライで応答す
る。
この間、図16(a)(b)にみられるように、T1〜T11において、バス
ブリッジ10は、セカンダリバスをアサートし、リードサイクルを発生するとと
もに、DSデータFIFO16に格納されているアドレス40000000(バスターゲ
ット305のアドレス)をセカンダリバスにドライブする。そして、バスターゲ
ット35から、連続して、データ01234567、89ABCDEF、12345678、9ABCDEF0、23
456789、ABCDEF01、3456789A、BCDEF012とをリードし、リードしたデータをUS
データFIFO17に格納する。また、T11〜12において、セカンダリバス
をディアサートする。
Here, the
During this time, as seen in FIGS. 16A and 16B, in T1 to T11, the
Read 456789, ABCDEF01, 3456789A, BCDEF012, and read the read data to US
Store in the
この間、図15(b)にみられるように、T6〜T10において、CPU31
は、プライマリバスをアサートし、再度、リードサイクルを発生するとともに、
アドレス40000000(バスターゲット34のアドレス)をプライマリバスにドライ
ブする。そして、バスブリッジ10から、データ01234567とデータ89ABCDEFとを
リードする。また、T9〜T10において、CPU301は、プライマリバスを
ディアサートする。
During this time, as seen in FIG.
Asserts the primary bus, generates a read cycle again,
Address 40000000 (address of bus target 34) is driven to the primary bus. Then,
以上、バスブリッジ10と、バスブリッジ100とを対比すると、図15〜1
6にみられるように、バスブリッジ10は、2エントリのデータをCPU301
に転送する際にも、8エントリのデータをバスターゲットからリードする。一方
、図9〜11にみられるように、バスブリッジ100は、2エントリのデータを
CPU301に転送する際には、2エントリのデータをバスターゲットからリー
ドするのみである。結果、ターゲット側のバスを占有している期間はバスブリッ
ジ100の方が短いことが窺える。
As described above, when the
6, the
When data is transferred to the bus target, 8-entry data is read from the bus target. On the other hand, as shown in FIGS. 9 to 11, the
(実施の形態2)
以下、本発明の実施の形態2について、図面を参照しながら説明する。なお、
実施の形態1と同一の構成要素、動作については同一の符号を付して、その説明
を省略する。
図17は、実施の形態2におけるバスブリッジのブロック図である。
(Embodiment 2)
The same components and operations as those of the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.
FIG. 17 is a block diagram of a bus bridge according to the second embodiment.
同図にみられるように、バスブリッジ120は、実施の形態1におけるバスブ
リッジ100と比べて、プライマリバスインタフェース101、バスアービタ1
3、及びレジスタブロック111の代わりに、プライマリバスインタフェース1
21、バスアービタ123、及びレジスタブロック131を備える。
図18は、プライマリバスインタフェース121、及びレジスタブロック13
1の詳細なブロック図である。
As seen in the figure, the
3 and the
21, a bus arbiter 123, and a
FIG. 18 shows the
1 is a detailed block diagram of FIG.
同図にみられるように、プライマリバスインタフェース121は、アドレスデ
コーダ203の代わりに、アドレスデコーダ206を備える。
レジスタブロック131は、セカンダリバスのデバイスごとに対応づけられた
レジスタ251〜262と、それらのレジスタの出力を選択するセレクタ271
,272とを備える。
As seen in the figure, the
The
, 272.
レジスタ251〜262は、プライマリバス、及びセカンダリバスのいずれか
のイニシエータが、それぞれのレジスタに対して発生したライトサイクルととも
にドライブしたデータ(中継情報)を保持する。そして、レジスタ251,25
2とは、セレクタ271とそれぞれ接続し、保持しているデータをセレクタ27
1に出力する。また、レジスタ261,262とは、セレクタ272とそれぞれ
接続し、保持しているデータをセレクタ272に出力する。
The
2 is connected to the
Output to 1. In addition, the
セレクタ271は、レジスタ251,252、及びプライマリバスマスタ20
1と接続している。そして、バスアービタ103から出力される制御信号に応じ
て、レジスタ251,252のいずれかの出力を選択し、プライマリバスマスタ
201に出力する。
セレクタ272は、レジスタ261,262、及びセカンダリバスマスタ21
1と接続している。そして、アドレスデコーダ206から出力される制御信号に
応じて、レジスタ261,262のいずれかの出力を選択し、セカンダリバスマ
スタ211に出力する。
The
1 is connected. Then, according to the control signal output from the bus arbiter 103, one of the outputs of the
The
1 is connected. Then, according to the control signal output from the
アドレスデコーダ206は、さらに、セレクタ272に制御信号を出力する。
そして、リードサイクルとともにドライブされたアドレス(セカンダリバスのタ
ーゲットのアドレス)に応じて、セカンダリバスマスタ211に出力される中継
情報を制御する。
バスアービタ123は、さらに、セレクタ271に制御信号を出力する。そし
て、セカンダリバスの使用権を有するイニシエータに応じて、プライマリバスマ
スタ201に出力される中継情報を制御する。
The
The relay information output to the
The bus arbiter 123 further outputs a control signal to the
なお、レジスタ251はアドレス80000004が割り当てられ、レジスタ252は
アドレス80000008が割り当てられている。レジスタ261はアドレス8000000Cが
割り当てられ、レジスタ262はアドレス80000010が割り当てられている。
(バスブリッジ120の動作)
以上のように構成されたバスブリッジ120について、その動作を説明する。
The
(Operation of the bus bridge 120)
The operation of the
(バスブリッジ120におけるデータ中継処理)
図19は、バスブリッジ120におけるデータ中継処理のフローチャートであ
る。
同図にみられるように、データ中継処理1900は、データ中継処理500と
比べて、中継情報記憶処理(ステップS503)、第1リードサイクル応答処理
(ステップS505)、及び第2リードサイクル応答処理(ステップS507)
との代わりに、中継情報記憶処理(ステップS1903)、第1リードサイクル
応答処理(ステップS1905)、及び第2リードサイクル応答処理(ステップ
S1907)とを実行する点が異なる。
(Data relay processing in the bus bridge 120)
FIG. 19 is a flowchart of data relay processing in the
As shown in the figure, the
The relay information storage process (step S1903), the first read cycle response process (step S1905), and the second read cycle response process (step S1907) are executed instead of.
中継情報記憶処理(ステップS1903)は、中継情報記憶処理(ステップS
503)と比べて、ステップS602の代わりに、ライトサイクルとともにドラ
イブされたデータ(中継情報)を、レジスタ261に対するライトサイクルであ
る場合には、レジスタ261に記憶し、レジスタ262に対するライトサイクル
である場合には、レジスタ262に記憶する。
The relay information storage process (step S1903) is the relay information storage process (step S1).
503), instead of step S602, the data (relay information) driven together with the write cycle is stored in the
(第1リードサイクル応答処理)
図20は、バスブリッジ120における第1リードサイクル応答処理のフロー
チャートである。
同図にみられるように、第1リードサイクル応答処理(ステップS1905)
は、第1リードサイクル応答処理(ステップS505)と比べて、ステップS7
05の代わりに、以下のステップS2001〜S2004を実行する。
(First read cycle response process)
FIG. 20 is a flowchart of the first read cycle response process in the
As can be seen from the figure, the first read cycle response process (step S1905).
Compared with the first read cycle response process (step S505), step S7
Instead of 05, the following steps S2001 to S2004 are executed.
アドレスデコーダ206は、リードサイクルとともにドライブされたアドレス
に応じて、以下の処理を実行する(ステップS2001)。
リードサイクルとともにドライブされたアドレスが、バスターゲット305の
アドレスである場合には、アドレスデコーダ206は、レジスタ261の出力を
選択させる制御信号をセレクタ272に出力する(ステップS2002)。ある
いは、バスターゲット306のアドレスである場合には、アドレスデコーダ20
6は、レジスタ262の出力を選択させる制御信号をセレクタ272に出力する
(ステップS2003)。
The
If the address driven with the read cycle is the address of the
6 outputs a control signal for selecting the output of the
そして、セカンダリバスマスタ211は、セレクタ272から出力された中継
情報を受け取り、セカンダリバスにリードサイクルを発生するとともに、DSデ
ータFIFO16に格納されているアドレスをセカンダリバスにドライブする(
ステップS2004)。
(第2リードサイクル応答処理)
図21は、バスブリッジ120における第2リードサイクル応答処理のフロー
チャートである。
The
Step S2004).
(Second read cycle response process)
FIG. 21 is a flowchart of the second read cycle response process in the
同図にみられるように、第2リードサイクル応答処理(ステップS1907)
は、第2リードサイクル応答処理(ステップS507)と比べて、ステップS8
05の代わりに、以下のステップS2101〜S2104を実行する。
バスアービタ123は、セカンダリバスの使用権を有しているイニシエータに
応じて、以下の処理を実行する(ステップS2101)。
As can be seen from the figure, the second read cycle response process (step S1907).
Compared with the second read cycle response process (step S507), step S8 is performed.
Instead of 05, the following steps S2101 to S2104 are executed.
The bus arbiter 123 executes the following process according to the initiator having the right to use the secondary bus (step S2101).
セカンダリバスの使用権を有しているイニシエータが、バスマスタ303であ
る場合には、バスアービタ123は、レジスタ251の出力を選択させる制御信
号をセレクタ271に出力する(ステップS2102)。あるいは、バスマスタ
304である場合には、バスアービタ123は、レジスタ252の出力を選択さ
せる制御信号をセレクタ271に出力する(ステップS2103)。
If the initiator having the right to use the secondary bus is the
そして、プライマリバスマスタ201は、セレクタ271から出力された中継
情報を受け取り、プライマリバスにリードサイクルを発生するとともに、USデ
ータFIFO17に格納されているアドレスをプライマリバスにドライブする(
ステップS2104)。
以上、バスブリッジ120におけるデータ中継処理のフローチャートである。
The
Step S2104).
The flowchart of the data relay process in the
(その他)
なお、初期状態時、及びターゲットからデータを読み出してリードサイクルを
終了した時に、デフォルトの中継情報(例えば、8エントリ)をレジスタブロッ
クを構成する全レジスタに記録するとしてもよい。
なお、レジスタブロック111は、レジスタを、マスタごとに備えるとしても
よいし、ターゲットごとに備えるとしてもよい。
(Other)
Note that default relay information (for example, 8 entries) may be recorded in all the registers constituting the register block in the initial state and when data is read from the target and the read cycle is completed.
Note that the
なお、複数のバスに接続しているバスブリッジの第i番目のバスに接続してい
るターゲットの総数をT[i]、第i番目のバスに接続しているマスタの総数を
M[i]、バスブリッジに接続している全デバイスの内、マスタになりうるデバ
イスの総数をMとし、第i番目のバスに対応するレジスタの数とするR[i]を
、以下の(式−1)に基づくとしてもよい。
The total number of targets connected to the i-th bus of the bus bridge connected to a plurality of buses is T [i], and the total number of masters connected to the i-th bus is M [i]. The total number of devices that can become masters among all devices connected to the bus bridge is M, and R [i], which is the number of registers corresponding to the i-th bus, is expressed by the following (formula-1) It may be based on.
(式−1)R[i]=(M−M[i])×T[i](i=1,2,・・・)
なお、バスブリッジは、フルカスタムLSI(Large Scale Integration)と
して形成されるとしてもよいし、VHDL(Very high speed integrated circu
it Hardware Description Language)/Verilog−HDLなどのハードウ
ェア記述言語(Hardware Description Language)で記述されたプログラム(以
下、HDLプログラムと呼称する)により、ASIC(Application Specific I
ntegrated Circuit)のようなセミカスタムLSI、FPGA(Field Programma
ble Gate Array)/CPDL(Complex Programmable Logic Device)などのプ
ログラマブルデバイスに形成されるとしてもよい。また、HDLプログラムから
論理合成したネットリストにより形成されるとしてもよい。
(Formula-1) R [i] = (M−M [i]) × T [i] (i = 1, 2,...)
The bus bridge may be formed as a full custom LSI (Large Scale Integration) or VHDL (Very high speed integrated circuit).
It is described in ASIC (Application Specific I / F) by a program described in a hardware description language (Hardware Description Language) such as it Hardware Description Language) / Verilog-HDL.
ntegrated Circuit) Semi-custom LSI, FPGA (Field Programma)
It may be formed in a programmable device such as a ble Gate Array) / CPDL (Complex Programmable Logic Device). Further, it may be formed by a net list logically synthesized from an HDL program.
また、HDLプログラム、又はネットリストを、光学記録媒体(例えば、CD
−ROMなど)、磁気記録媒体(例えば、ハードディスクなど)、光磁気記録媒
体(例えば、MOなど)、半導体メモリ(例えば、ROMなど)などのコンピュ
ータ読み取り可能な記録媒体に記録しておき、他のコンピュータにおいて、ダウ
ンロードケーブルを介して、プログラマブルデバイスにダウンロードするとして
もよい。また、ネットワークにより接続されているコンピュータ等の一般のハー
ドウェア上に設けられたハードディスク等のコンピュータ読み取り可能な記録媒
体にHDLプログラム、又はネットリストを記録しておき、ネットワーク等の伝
送路を経由して読み取った他のコンピュータにおいて、ダウンロードケーブルを
介して、プログラマブルデバイスにダウンロードするとしてもよい。また、HD
Lプログラムから論理合成したデータをシリアルROMに記録しておき、FPG
Aに直接、ダウンロードするとしてもよい。
In addition, an HDL program or a netlist is stored in an optical recording medium (for example, a CD
-ROM), magnetic recording medium (eg, hard disk), magneto-optical recording medium (eg, MO), semiconductor memory (eg, ROM), etc. The computer may download to the programmable device via a download cable. In addition, an HDL program or a netlist is recorded on a computer-readable recording medium such as a hard disk provided on general hardware such as a computer connected via a network, and then transmitted via a transmission path such as a network. In another computer read in this manner, the program may be downloaded to the programmable device via a download cable. HD
The data synthesized from the L program is recorded in the serial ROM, and the FPG
You may download directly to A.
本発明に係るバスブリッジは、情報機器に組み込まれるコンピューターシステムにおいて、互いに異なるバスに接続されているデバイス間のデータを中継する装置として、情報産業分野で利用される。 The bus bridge according to the present invention is used in the information industry field as a device for relaying data between devices connected to different buses in a computer system incorporated in information equipment.
100 バスブリッジ
101 プライマリバスインタフェース
102 セカンダリバスインタフェース
104 コンフィグレーションレジスタ
111 レジスタブロック
201 プライマリバスマスタ
202 プライマリバスターゲット
203 アドレスデコーダ
211 セカンダリバスマスタ
212 セカンダリバスターゲット
221 アドレスバッファ
231,241 レジスタ
301 CPU
302 メモリ
303,304 バスマスタ
305,306 バスターゲット
311 レジスタ
10 バスブリッジ
11 プライマリバスインタフェース
12 セカンダリバスインタフェース
13 バスアービタ
14 コンフィグレーションレジスタ
15 データFIFO
16 DSデータFIFO
17 USデータFIFO
100
302
16 DS data FIFO
17 US Data FIFO
Claims (15)
データの供給源となるデバイスをターゲットとし、互いに異なるバスに接続して
いるマスタとターゲットとの間のデータを中継するバスブリッジであって、
中継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に
記録する記録手段と、
前記ターゲットから読み出されるデータを一時記憶領域に格納する格納手段と
、
前記内部記憶領域に記録されている中継情報に示される量のデータが前記一時
記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放する制御手段と
を備えることを特徴とするバスブリッジ。 A bus bridge that relays data between a master and a target that are connected to different buses, with a device that is a supply destination of data to be relayed as a master, a device that is a supply source of data to be relayed as a target,
Recording means for recording relay information indicating the amount of data to be relayed in an externally writable internal storage area;
Storage means for storing data read from the target in a temporary storage area;
Until the amount of data indicated in the relay information recorded in the internal storage area is stored in the temporary storage area, the bus to which the target is connected is occupied and data is continuously read out. A bus bridge comprising: control means for releasing an occupied bus when data is stored.
びターゲットのいずれかになりうるデバイスが複数接続しており、
前記内部記憶領域は、バスごとに対応する一次部分記憶領域を含み、
前記記録手段は、
ターゲットが接続しているバスと対応する一次部分記憶領域に前記中継情報を
記録し、
前記制御手段は、バスごとに対応するマスタ機能部を含み、
各マスタ機能部は、
ターゲットが接続しているバスと対応する一次部分記憶領域に記録されている
中継情報に示される量のデータを当該ターゲットから読み出すこと
を特徴とする請求項1記載のバスブリッジ。 The buses connected to the bus bridge are connected to a plurality of devices that can be either masters or targets,
The internal storage area includes a primary partial storage area corresponding to each bus,
The recording means includes
Record the relay information in the primary partial storage area corresponding to the bus to which the target is connected,
The control means includes a master function unit corresponding to each bus,
Each master function section
The bus bridge according to claim 1, wherein the amount of data indicated in the relay information recorded in the primary partial storage area corresponding to the bus to which the target is connected is read from the target.
対応する一次部分記憶領域は、
当該バスに接続しているターゲットになりうるデバイスごとに対応する二次部
分記憶領域を含み、
前記記録手段は、
ターゲットになりうるデバイスと対応する二次部分記憶領域に前記中継情報を
記録し、
各マスタ機能部は、
ターゲットと対応する二次部分記憶領域に記録されている中継情報に示される
量のデータを当該ターゲットから読み出すこと
を特徴とする請求項2記載のバスブリッジ。 A primary partial storage area corresponding to a bus to which a device that can be a plurality of targets is connected,
A secondary partial storage area corresponding to each device that can be a target connected to the bus,
The recording means includes
Record the relay information in a secondary partial storage area corresponding to a device that can be a target,
Each master function section
The bus bridge according to claim 2, wherein the amount of data indicated in the relay information recorded in the secondary partial storage area corresponding to the target is read from the target.
対応する二次部分記憶領域は、
当該バスに接続しているターゲットになりうるデバイスから読み出したデータ
を中継するマスタになりうるデバイスごとに対応する三次部分記憶領域を含み、
前記記録手段は、
マスタになりうるデバイスと対応する三次部分記憶領域に前記中継情報を記録
し、
各マスタ機能部は、
ターゲットから読み出したデータが中継されるマスタと対応する三次部分記憶
領域に記録されている中継情報に示される量のデータを当該ターゲットから読み
出すこと
を特徴とする請求項2又は3に記載のバスブリッジ。 A secondary partial storage area corresponding to a bus to which a device that can be a plurality of targets is connected,
A tertiary partial storage area corresponding to each device that can be a master that relays data read from a device that can be a target connected to the bus,
The recording means includes
Record the relay information in the tertiary partial storage area corresponding to the device that can be the master,
Each master function section
The bus bridge according to claim 2 or 3, wherein the amount of data indicated in the relay information recorded in the tertiary partial storage area corresponding to the master to which the data read from the target is relayed is read from the target. .
初期状態時、及び前記制御手段によるバスの解放時に、デフォルトとする中継
情報を前記内部記憶領域に記録すること
を特徴とする請求項1記載のバスブリッジ。 The recording means includes
2. The bus bridge according to claim 1, wherein default relay information is recorded in the internal storage area in an initial state and when the bus is released by the control means.
バス幅のビット数を単位とするデータの数、及び中継するデータの総サイズの
いずれかであること
を特徴とする請求項1記載のバスブリッジ。 The relay information is
2. The bus bridge according to claim 1, wherein the bus bridge is one of the number of data in units of the number of bits of the bus width and the total size of data to be relayed.
前記マスタからの要求に応答する応答手段を備え、
前記応答手段は、前記マスタからの要求が、
(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記憶領
域に書き込まれるデータを、中継情報として、前記記録手段に記録させ、
(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御手段に読み出させること
を特徴とする請求項1記載のバスブリッジ。 The bus bridge is
Response means for responding to a request from the master;
The response means receives a request from the master.
(a) If it is a write request to the internal storage area, the data written in the internal storage area is recorded as relay information in the recording means,
(b) If it is a read request to the target, determine whether the data to be output to the master is recorded in the temporary storage area, and (b1) if it is recorded, it is recorded. Output data to the master, (b2) if not recorded, notify the master to request the read request again,
The bus bridge according to claim 1, wherein the data output to the master is read by the control means.
びターゲットのいずれかになりうるデバイスが複数接続し、各デバイスにはデバ
イスを識別する識別情報が割り当てられており、
前記内部記憶領域は、識別情報記憶領域を含み、
前記記録手段は、前記識別情報を前記識別情報記憶領域に記録し、
前記応答手段は、さらに、前記デバイスからの要求に応答し、
前記デバイスからの要求が、
(c) 前記識別情報記憶領域に対する書き込み要求である場合には、前記識別情
報記憶領域に書き込まれるデータを、識別情報として、記録手段に記録させ、
(d) 前記識別情報記憶領域に記録されている識別情報と対応するデバイスに対
する書き込み要求である場合には、バスブリッジから前記識別情報と対応するデ
バイスに出力するデータを、中継情報として、記録手段に記録させること
を特徴とする請求項7記載のバスブリッジ。 A plurality of devices that can be either masters or targets are connected to a plurality of buses connected to the bus bridge, and identification information for identifying the devices is assigned to each device,
The internal storage area includes an identification information storage area,
The recording means records the identification information in the identification information storage area;
The response means is further responsive to a request from the device,
The request from the device is
(c) If it is a write request to the identification information storage area, the data written in the identification information storage area is recorded as identification information in a recording means,
(d) In the case of a write request to the device corresponding to the identification information recorded in the identification information storage area, the data to be output from the bus bridge to the device corresponding to the identification information as relay information, recording means The bus bridge according to claim 7, wherein the bus bridge is recorded.
ターゲットとなる内部記憶装置が接続している第1バスと、マスタ及びターゲッ
トのいずれかとなるデバイスが複数接続している第2バスとに接続しており、
前記内部記憶領域は、
第1バスに接続しているターゲットから読み出すデータの量を示す中継情報が
記録される第1一次部分記憶領域と、
第2バスに接続しているターゲットから読み出すデータの量を示す中継情報が
記録される第2一次部分記憶領域と
を含み、
前記一時記憶領域は、
第2バスのターゲットから読み出されたデータが記録される第1一時記憶領域
と、
第1バスのターゲットから読み出されたデータが記録される第2一時記憶領域
と
を含み、
前記記録手段は、
前記第1一次部分記憶領域に接続し、前記第1一次部分記憶領域に記録されて
いる中継情報を選択する第1セレクタと、
前記第2一次部分記憶領域に接続し、前記第2一次部分記憶領域に記録されて
いる中継情報を選択する第2セレクタと
を含み、
前記バスブリッジは、
第2バスのマスタになりうるデバイスと対応する中継情報を選択させる制御信
号を前記第1セレクタに出力するバスアービタと、
第2バスのターゲットになりうるデバイスと対応する中継情報を選択させる制
御信号を前記第2セレクタに出力するアドレスデコーダと
を備え、
前記制御手段は、
前記第1一次部分記憶領域に記録されている中継情報の内、前記第1セレクタ
により選択された中継情報に示される量のデータが第1一時記憶領域に記録され
るまで、第1バスに接続しているターゲットからデータを読み出す第1マスタ機
能部と、
前記第2の一次部分記憶領域に記録されている中継情報の内、前記第2セレク
タにより選択された中継情報に示される量のデータが第2一時記憶領域に格納さ
れるまで、第2バスに接続しているターゲットからデータを読み出す第2マスタ
機能部と
を含むことを特徴とする請求項1記載のバスブリッジ。 The bus bridge is connected to a first bus to which a central processing unit as a master and an internal storage device as a target are connected, and a second bus to which a plurality of devices as masters and targets are connected. And
The internal storage area is
A first primary partial storage area in which relay information indicating the amount of data read from the target connected to the first bus is recorded;
A second primary partial storage area in which relay information indicating the amount of data to be read from the target connected to the second bus is recorded;
The temporary storage area is
A first temporary storage area in which data read from the target of the second bus is recorded;
A second temporary storage area in which data read from the target of the first bus is recorded,
The recording means includes
A first selector for connecting to the first primary partial storage area and selecting relay information recorded in the first primary partial storage area;
A second selector connected to the second primary partial storage area and selecting relay information recorded in the second primary partial storage area;
The bus bridge is
A bus arbiter that outputs to the first selector a control signal for selecting relay information corresponding to a device that can be a master of the second bus;
An address decoder for outputting a control signal for selecting relay information corresponding to a device that can be a target of the second bus to the second selector;
The control means includes
The relay information recorded in the first primary partial storage area is connected to the first bus until the amount of data indicated by the relay information selected by the first selector is recorded in the first temporary storage area. A first master function unit for reading data from the target
Until the amount of data indicated in the relay information selected by the second selector among the relay information recorded in the second primary partial storage area is stored in the second temporary storage area, The bus bridge according to claim 1, further comprising: a second master function unit that reads data from a connected target.
中継するデータの供給源となるデバイスであるターゲットと、互いに異なるバス
に接続しているマスタとターゲットとの間のデータを中継するバスブリッジとに
おけるデータ中継方法であって、
前記マスタに中継するデータの量を示す中継情報を前記マスタから前記バスブ
リッジに渡すステップと、
前記ターゲットに対する読み出し要求を前記マスタから前記バスブリッジに渡
すステップと、
前記バスブリッジにおいて、前記マスタに出力するデータが格納されている場
合には、格納されているデータを当該バスブリッジから前記マスタに渡し、格納
されていない場合には、当該バスブリッジに渡された中継情報に示される量のデ
ータが格納されるまで、前記ターゲットが接続しているバスを占有し、連続して
データを読み出し、当該量のデータが格納されると、占有しているバスを解放す
るステップと
を含むことを特徴とするデータ中継方法。 A master that is a device to which data to be relayed is supplied;
A data relay method in a target that is a device serving as a source of data to be relayed and a bus bridge that relays data between a master and a target connected to different buses,
Passing relay information from the master to the bus bridge indicating the amount of data relayed to the master;
Passing a read request to the target from the master to the bus bridge;
In the bus bridge, when the data to be output to the master is stored, the stored data is passed from the bus bridge to the master, and when not stored, the data is passed to the bus bridge. Occupies the bus to which the target is connected until the amount of data indicated in the relay information is stored, reads data continuously, and releases the occupied bus when the amount of data is stored A data relay method comprising the steps of:
中継するデータの供給源となるデバイスであるターゲットと、互いに異なるバス
に接続しているマスタとターゲットとの間のデータを中継するバスブリッジとに
おけるデータ中継方法であって、
前記ターゲットから供給されるデータの量を示す供給情報を前記マスタに中継
する要求を前記マスタ以外のデバイスから前記バスブリッジに渡すステップと、
前記バスブリッジにおいて、前記供給情報を複製し、複製した供給情報を、前
記ターゲットから読み出すデータの量を示す中継情報として、記録するステップ
と、
前記ターゲットに対する読み出し要求を前記マスタから前記バスブリッジに渡
すステップと、
前記バスブリッジにおいて、前記マスタに出力するデータが格納されている場
合には、格納されているデータを当該バスブリッジから前記マスタに渡し、格納
されていない場合には、前記バスブリッジに記録されている中継情報に示される
量のデータが格納されるまで、前記ターゲットが接続しているバスを占有し、連
続してデータを読み出し、当該量のデータが格納されると、占有しているバスを
解放するステップと
を含むことを特徴とするデータ中継方法。 A master that is a device to which data to be relayed is supplied;
A data relay method in a target that is a device serving as a source of data to be relayed and a bus bridge that relays data between a master and a target connected to different buses,
Passing a request for relaying supply information indicating the amount of data supplied from the target to the master from a device other than the master to the bus bridge;
In the bus bridge, the supply information is duplicated, and the duplicated supply information is recorded as relay information indicating the amount of data read from the target;
Passing a read request to the target from the master to the bus bridge;
In the bus bridge, when data to be output to the master is stored, the stored data is passed from the bus bridge to the master, and when not stored, the data is recorded in the bus bridge. Until the amount of data indicated in the relay information is stored, the bus connected to the target is occupied, data is continuously read, and when the amount of data is stored, the occupied bus is A data relay method comprising: releasing the data.
るデータの供給源となるデバイスをターゲットとし、互いに異なるバスに接続し
ているマスタとターゲットとの間のデータを中継するバスブリッジをプログラマ
ブルデバイスに形成させるプログラムであって、
中継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に
記録する記録ブロックと、
前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ブロッ
クと、
前記内部記憶領域に記録されている中継情報に示される量のデータが前記一時
記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放する制御ブロックと
をプログラマブルデバイスに形成させることを特徴とするプログラム。 The device that is the destination of the data to be relayed is the master, the device that is the source of the data to be relayed is the target, and the bus bridge that relays the data between the master and target that are connected to different buses is the programmable device A program to form,
A recording block that records relay information indicating the amount of data to be relayed in an internal storage area writable from the outside;
A storage block for storing data read from the target in a temporary storage area;
Until the amount of data indicated in the relay information recorded in the internal storage area is stored in the temporary storage area, the bus to which the target is connected is occupied and data is continuously read out. When data is stored, a program that causes a programmable device to form a control block that releases an occupied bus.
前記マスタからの要求に応答する応答ブロックをプログラマブルデバイスに形
成させ、
前記応答ブロックは、前記マスタからの要求が、
(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記憶領
域に書き込まれるデータを、中継情報として、前記記録ブロックに記録させ、
(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御ブロックに読み出させること
を特徴とする請求項12記載のプログラム。 The program is
Forming a response block in response to a request from the master in a programmable device;
The response block includes a request from the master,
(a) If it is a write request to the internal storage area, the data written to the internal storage area is recorded as relay information in the recording block,
(b) If it is a read request to the target, determine whether the data to be output to the master is recorded in the temporary storage area, and (b1) if it is recorded, it is recorded. Output data to the master, (b2) if not recorded, notify the master to request the read request again,
The program according to claim 12, wherein the control block is made to read data to be output to the master.
るデータの供給源となるデバイスをターゲットとし、互いに異なるバスに接続し
ているマスタとターゲットとの間のデータを中継するバスブリッジをプログラマ
ブルデバイスに形成させるプログラムを記録したプログラマブルデバイス取り込
み可能な記録媒体であって、
中継するデータの量を示す中継情報を外部から書き込み可能な内部記憶領域に
記録する記録ブロックと、
前記ターゲットから読み出されるデータを一時記憶領域に格納する格納ブロッ
クと、
前記内部記憶領域に記録されている中継情報に示される量のデータが前記一時
記憶領域に格納されるまで、前記ターゲットが接続しているバスを占有し、連続
してデータを読み出し、当該量のデータが格納されると、占有しているバスを解
放する制御ブロックと
をプログラマブルデバイスに形成させるプログラムを記録した記録媒体。 The device that is the destination of the data to be relayed is the master, the device that is the source of the data to be relayed is the target, and the bus bridge that relays the data between the master and target that are connected to different buses is the programmable device A programmable device recording medium that records a program to be formed,
A recording block that records relay information indicating the amount of data to be relayed in an internal storage area writable from the outside;
A storage block for storing data read from the target in a temporary storage area;
Until the amount of data indicated in the relay information recorded in the internal storage area is stored in the temporary storage area, the bus to which the target is connected is occupied and data is continuously read out. When data is stored, a recording medium that records a program that causes a programmable device to form a control block that releases an occupied bus.
前記マスタからの要求に応答する応答ブロックをプログラマブルデバイスに形
成させるプログラムを記録し、
前記応答ブロックは、前記マスタからの要求が、
(a) 前記内部記憶領域に対する書き込み要求である場合には、前記内部記憶領
域に書き込まれるデータを、中継情報として、前記記録ブロックに記録させ、
(b) 前記ターゲットに対する読み出し要求である場合には、前記マスタに出力
するデータが前記一時記憶領域に記録されているか否かを判定し、(b1)記録され
ている場合には、記録されているデータを前記マスタに出力し、(b2)記録されて
いない場合には、前記読み出し要求を再度要求することを前記マスタに通知し、
前記マスタに出力するデータを前記制御ブロックに読み出させること
を特徴とする請求項14記載の記録媒体。 The recording medium is
Record a program that causes the programmable device to form a response block in response to a request from the master,
The response block includes a request from the master,
(a) If it is a write request to the internal storage area, the data written to the internal storage area is recorded as relay information in the recording block,
(b) If it is a read request to the target, determine whether the data to be output to the master is recorded in the temporary storage area, and (b1) if it is recorded, it is recorded. Output data to the master, (b2) if not recorded, notify the master to request the read request again,
The recording medium according to claim 14, wherein data output to the master is read by the control block.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005308598A JP2006079639A (en) | 2005-10-24 | 2005-10-24 | Bus bridge |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005308598A JP2006079639A (en) | 2005-10-24 | 2005-10-24 | Bus bridge |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001305676A Division JP2003108514A (en) | 2001-10-01 | 2001-10-01 | Bus bridge |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2006079639A true JP2006079639A (en) | 2006-03-23 |
Family
ID=36158976
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005308598A Withdrawn JP2006079639A (en) | 2005-10-24 | 2005-10-24 | Bus bridge |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2006079639A (en) |
-
2005
- 2005-10-24 JP JP2005308598A patent/JP2006079639A/en not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7685353B2 (en) | Data transfer apparatus with control of buses to optimize different size data transfers | |
| US7035958B2 (en) | Re-ordering a first request within a FIFO request queue to a different queue position when the first request receives a retry response from the target | |
| US8145858B2 (en) | Interleave control device, interleave control method, and memory system | |
| US7779174B2 (en) | Method and apparatus for dynamically changing burst length using direct memory access control | |
| JP2006113689A (en) | Bus bridge device and data transfer method | |
| JP4198376B2 (en) | Bus system and information processing system including bus system | |
| KR101022472B1 (en) | How to use the bus efficiently | |
| US6883041B2 (en) | Direct memory access device | |
| US8041855B1 (en) | Dual-bus system for communicating with a processor | |
| CN107783909A (en) | A kind of memory bus address extended method and device | |
| JP2006079639A (en) | Bus bridge | |
| JP4254932B2 (en) | Memory controller and flash memory system | |
| US6625711B1 (en) | Method and/or architecture for implementing queue expansion in multiqueue devices | |
| JP2008003786A (en) | Logic simulation method and its device | |
| JP3028932B2 (en) | Input/Output Buffer Memory Circuit | |
| JP3568384B2 (en) | Memory access circuit | |
| JP4249741B2 (en) | Bus system and information processing system including bus system | |
| JP3442118B2 (en) | Buffer circuit | |
| JP2010140440A (en) | Bus arbitration device | |
| JP4840963B2 (en) | Bus system and control method thereof | |
| JPH0743668B2 (en) | Access control device | |
| JP2004206241A (en) | Data transfer control method and circuit thereof | |
| JP2011158983A (en) | Computer program written by hardware description language | |
| JPH0561761A (en) | Main memory control method | |
| JP2008305329A (en) | Clock controller, and logic simulation method and logic simulation device using it |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090121 |