JP2001154979A - Bus bridge device, computer system and bus cycle control method - Google Patents

Bus bridge device, computer system and bus cycle control method

Info

Publication number
JP2001154979A
JP2001154979A JP33660899A JP33660899A JP2001154979A JP 2001154979 A JP2001154979 A JP 2001154979A JP 33660899 A JP33660899 A JP 33660899A JP 33660899 A JP33660899 A JP 33660899A JP 2001154979 A JP2001154979 A JP 2001154979A
Authority
JP
Japan
Prior art keywords
bus
cycle
memory read
address
burst
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP33660899A
Other languages
Japanese (ja)
Inventor
Haruo Sakai
陽夫 界
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP33660899A priority Critical patent/JP2001154979A/en
Publication of JP2001154979A publication Critical patent/JP2001154979A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve data transfer efficiency by dynamically changing the kinds of cycles generated on another bus in accordance with the contents of a memory reading cycle generated on one bus. SOLUTION: A single/burst judging circuit 141 judges whether the memory reading cycle is a single cycle or a burst cycle when an address designated by the memory reading cycle on a secondary PCI bus 3 belongs to a pre-fetching possible address range. When the single one is judged, a bus cycle for pre- fetching is not executed. The bus cycle for pre-fetching is executed on a primary PCI bus 2 only when the burst cycle is judged. Thus, a trouble that a useless pre-fetching cycle is executed is eliminated so that data transfer efficiency is improved in a whole system.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はバスブリッジ装置お
よびそれを用いたコンピュータシステム並びにバスサイ
クル制御方法に関し、特にプリフェッチ機能を有するバ
スブリッジ装置およびそれを用いたコンピュータシステ
ム並びにバスサイクル制御方法に関する。
The present invention relates to a bus bridge device, a computer system using the same, and a bus cycle control method, and more particularly to a bus bridge device having a prefetch function, a computer system using the same, and a bus cycle control method.

【0002】[0002]

【従来の技術】一般に、パーソナルコンピュータ(P
C)やPCサーバなどのコンピュータシステムにおいて
は、そのシステムバスとしてPCI(Peripher
al Component Interconnec
t)バスが用いられている。
2. Description of the Related Art Generally, personal computers (P
C) or a PC server, a PC (Peripherer) is used as a system bus.
al Component Interconnect
t) A bus is used.

【0003】PCIバスにおいては、データ転送はブロ
ック転送を基本としており、各ブロック転送はバースト
転送を用いて実現されている。これにより、例えばPC
Iバスでは最大133Mバイト/秒(データバスが32
ビット幅の時)のデータ転送速度を実現できる。
In the PCI bus, data transfer is based on block transfer, and each block transfer is realized by using burst transfer. Thereby, for example, PC
133 Mbytes / sec on I bus (32 data buses)
(At the time of bit width).

【0004】また、PCIバス仕様では、メモリリード
サイクル(メモリリード、メモリリードライン、メモリ
リードマルチプル)において、マスタは、指定したアド
レスがプリフェッチ(先読み)可能な範囲にある場合に
は、データ転送の効率を上げるために、後続するデータ
をプリフェッチしておくことができる。このプリフェッ
チ機能は、2つのPCIバス間を接続するためのPCI
−PCIブリッジにも適用される。
[0004] In the PCI bus specification, in a memory read cycle (memory read, memory read line, memory read multiple), when a specified address is within a prefetchable (prefetchable) range, a master transfers data. Subsequent data can be prefetched to increase efficiency. This prefetch function is a PCI bus for connecting between two PCI buses.
-Also applies to PCI bridges.

【0005】すなわち、メモリリードサイクルを発行す
るマスタとそのサイクルのターゲットが互いに異なるバ
ス上に存在する場合、PCI−PCIブリッジは、一方
のPCIバス上で生成されたバスサイクルがメモリリー
ドで、そのアドレスがプリフェッチ可能な範囲であるな
らば、そのアドレスのデータとそれに後続するアドレス
のデータを連続的にメモリから読み出すためのバスサイ
クルを、他方のPCIバス上に出力する。これにより、
他方のPCIバス上のメモリからPCI−PCIブリッ
ジにデータをプリフェッチすることができる。
That is, when the master that issues a memory read cycle and the target of that cycle are on different buses, the PCI-PCI bridge sets the bus cycle generated on one PCI bus to a memory read, and If the address is within the prefetchable range, a bus cycle for continuously reading the data of that address and the data of the address following it from the memory is output on the other PCI bus. This allows
Data can be prefetched from the memory on the other PCI bus to the PCI-PCI bridge.

【0006】[0006]

【発明が解決しようとする課題】しかし、実際にはPC
I−PCIブリッジ自体がメモリデータを使用するので
はないので、最初にメモリリードサイクルを生成したマ
スタが意図していないメモリ領域に対してもプリフェッ
チが行われてしまう場合がある。
However, in practice, the PC
Since the I-PCI bridge itself does not use memory data, prefetching may be performed on a memory area not intended by the master that first generated the memory read cycle.

【0007】つまり、最初にメモリリードサイクルを生
成したマスタの必要なデータが1転送サイクル分のデー
タ(4バイトあるいはそれ以下)のみであった場合に
は、PCI−PCIブリッジによって無駄なプリフェッ
チサイクルが実行されてしまうことになり、システム全
体のデータ転送効率の低下が招かれる。
In other words, if the master that first generated the memory read cycle needed only one transfer cycle of data (4 bytes or less), a wasteful prefetch cycle was generated by the PCI-PCI bridge. This causes the data transfer efficiency of the entire system to decrease.

【0008】本発明は上述の事情に鑑みてなされたもの
であり、一方のバス上で発生されたメモリリードサイク
ルの内容に応じて他方のバス上に発生するサイクルの種
類を動的に変更できるようにし、データ転送効率の向上
を図ることが可能なバスブリッジ装置およびコンピュー
タシステム並びにバスサイクル制御方法を提供すること
を目的とする。
The present invention has been made in view of the above circumstances, and the type of a cycle generated on the other bus can be dynamically changed in accordance with the content of a memory read cycle generated on one bus. Thus, an object of the present invention is to provide a bus bridge device, a computer system, and a bus cycle control method capable of improving data transfer efficiency.

【0009】[0009]

【課題を解決するための手段】上述の課題を解決するた
め、本発明は、第1および第2のバス間を接続するため
のバスブリッジ装置において、前記第1のバス上のバス
サイクルが前記第2のバス上に伝達されるように、前記
第1のバス上のバスサイクルに基づいて前記第2のバス
上にバスサイクルを発行するバスサイクル実行手段と、
前記第1のバス上のメモリリードサイクルで指定された
アドレスが前記第2のバス上のメモリ空間内のプリフェ
ッチ可能なアドレス範囲に属する場合、前記第1のバス
上のメモリリードサイクルが、1回のデータ転送サイク
ルで終結されるシングルサイクルと複数のデータ転送サ
イクルを含むバーストサイクルのどちらのサイクルであ
るかを判定するシングル/バースト判定手段とを具備
し、前記バスサイクル実行手段は、前記シングル/バー
スト判定手段によって前記メモリリードサイクルが前記
バーストサイクルであると判定された場合、前記メモリ
リードサイクルで指定されたアドレスに後続するアドレ
スのデータが前記バスブリッジ装置内にプリフェッチさ
れるように、前記メモリリードサイクルで指定されたア
ドレスのデータとそれに後続するアドレスのデータを連
続してリードするための第1のバスサイクルを前記第2
のバス上に発行し、前記シングル/バースト判定手段に
よって前記メモリリードサイクルが前記シングルサイク
ルであると判定された場合、前記メモリリードサイクル
で指定されたアドレスのデータをリードするための第2
のバスサイクルを前記第2のバス上に発行することを特
徴とする。
According to the present invention, there is provided a bus bridge device for connecting between a first bus and a second bus, wherein the bus cycle on the first bus is the same as that of the first embodiment. Bus cycle execution means for issuing a bus cycle on the second bus based on a bus cycle on the first bus so as to be transmitted on a second bus;
If the address specified by the memory read cycle on the first bus belongs to a prefetchable address range in the memory space on the second bus, the memory read cycle on the first bus is performed once. And a single / burst determining means for determining which cycle is a single cycle terminated by the data transfer cycle or a burst cycle including a plurality of data transfer cycles. When the memory read cycle is determined to be the burst cycle by the burst determination means, the memory at the address subsequent to the address specified by the memory read cycle is prefetched into the bus bridge device. The data at the address specified in the read cycle and its data The second the first bus cycle for reading continuously the data of the subsequent addresses
When the memory read cycle is determined to be the single cycle by the single / burst determination means, a second data for reading data at an address designated by the memory read cycle is issued.
Is issued on the second bus.

【0010】このバスブリッジ装置においては、第1の
バス上のメモリリードサイクルで指定されたアドレスが
プリフェッチ可能なアドレス範囲に属する場合には、そ
のメモリリードサイクルが、1回のデータ転送サイクル
で終結されるシングルサイクルであるか、複数のデータ
転送サイクルを含むバーストサイクルであるかが判定さ
れる。シングルサイクルであると判定された場合には、
プリフェッチのためのためのバスサイクルは実行され
ず、バーストサイクルであると判定された場合にのみ、
プリフェッチのためのためのバスサイクルが実行され
る。これにより、無駄なプリフェッチサイクルが実行さ
れてしまうという不具合がなくなり、システム全体のデ
ータ転送効率の向上を図ることが可能となる。
In this bus bridge device, when an address specified by a memory read cycle on the first bus belongs to an address range that can be prefetched, the memory read cycle ends with one data transfer cycle. It is determined whether the cycle is a single cycle to be performed or a burst cycle including a plurality of data transfer cycles. If it is determined that it is a single cycle,
A bus cycle for prefetch is not executed, and only when it is determined that the cycle is a burst cycle,
A bus cycle for prefetch is executed. This eliminates the problem that a useless prefetch cycle is executed, and improves the data transfer efficiency of the entire system.

【0011】シングル/バーストの判定は、第1のバス
上のバスサイクルの開始および期間を示すフレーム信号
を監視し、アドレスフェーズの次のクロックタイミング
におけるフレーム信号がデアサート/アサートのいずれ
の状態であるかを調べることによって行うことができ
る。
In the single / burst determination, a frame signal indicating the start and period of a bus cycle on the first bus is monitored, and the frame signal at the next clock timing of the address phase is either deasserted or asserted. You can do this by checking.

【0012】また、第1のバス上のメモリリードサイク
ルがメモリリードラインまたはメモリリードマルチプル
であることが、アドレスフェーズで指定されたコマンド
から検出された場合には、そのメモリリードサイクルの
シングル/バーストを判定せずとも、一義的にプリフェ
ッチのためのバスサイクルを実行することが好ましい。
メモリリードはシングル/バーストの双方に使用される
が、メモリリードラインおよびメモリリードマルチプル
は、通常、バースト転送の時にのみ使用されるものであ
るからである。
If it is detected from the command specified in the address phase that the memory read cycle on the first bus is a memory read line or a memory read multiple, a single / burst of the memory read cycle is detected. , It is preferable to execute a bus cycle for prefetch uniquely.
This is because the memory read is used for both single / burst, but the memory read line and the memory read multiple are usually used only for the burst transfer.

【0013】[0013]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0014】図1には、本発明の一実施形態に係るコン
ピュータシステムの構成が示されている。このコンピュ
ータシステムはパーソナルコンピュータ(PC)やPC
サーバとして使用されるものであり、図示のように、プ
ロセッサバス1、プライマリPCIバス2、セカンダリ
PCIバス3、CPU11、ホスト−PCIブリッジ装
置12、主メモリ13、PCI−PCIブリッジ装置1
4、およびPCIデバイス15,16,17等から構成
されている。
FIG. 1 shows a configuration of a computer system according to an embodiment of the present invention. This computer system is a personal computer (PC) or PC
It is used as a server, and as shown, a processor bus 1, a primary PCI bus 2, a secondary PCI bus 3, a CPU 11, a host-PCI bridge device 12, a main memory 13, a PCI-PCI bridge device 1
4 and PCI devices 15, 16, 17 and the like.

【0015】CPU11は本PCシステム全体の動作を
制御するためのものであり、主メモリ13にロードされ
るオペレーティングシステム、システムBIOS、およ
び他の各種プログラムを実行する。ホスト−PCIブリ
ッジ装置12は、CPUバス1とプライマリPCIバス
2を双方向で接続するブリッジ装置であり、ここには主
メモリ13をアクセス制御するためのメモリコントロー
ルロジック等も内蔵されている。このホスト−PCIブ
リッジ12装置はプライマリPCIバス2上のバスマス
タとして機能することが出来る。
The CPU 11 controls the operation of the entire PC system, and executes an operating system, a system BIOS, and various other programs loaded into the main memory 13. The host-PCI bridge device 12 is a bridge device for connecting the CPU bus 1 and the primary PCI bus 2 in two directions, and also includes a memory control logic for controlling access to the main memory 13 and the like. This host-PCI bridge 12 device can function as a bus master on the primary PCI bus 2.

【0016】主メモリ13は、オペレーティングシステ
ム、処理対象のアプリケーションプログラム/ユーティ
リティ、およびアプリケーションプログラム等によって
作成されたユーザデータ等を格納する。
The main memory 13 stores an operating system, an application program / utility to be processed, user data created by an application program, and the like.

【0017】プライマリPCIバス2およびセカンダリ
PCIバス3は様々なデバイス(記憶装置、表示装置、
通信装置など)が接続されるバスである。PCIバスは
多ビット幅のアドレス/データ線等を含む並列伝送路で
あり、PCIバス上のバスサイクル(バストランザクシ
ョン)は、基本的には、コマンドおよびアドレス出力の
ためのアドレスフェーズと、それに後続する1以上のデ
ータ転送フェーズとから構成される。これら2つのPC
Iバス2,3間を接続し、PCIバス2,3間のバスサ
イクルの伝達をコントロールするのがPCI−PCIブ
リッジ装置14である。
The primary PCI bus 2 and the secondary PCI bus 3 include various devices (storage device, display device,
Communication device). The PCI bus is a parallel transmission line including a multi-bit width address / data line and the like. A bus cycle (bus transaction) on the PCI bus basically includes an address phase for command and address output, and a subsequent address phase. And one or more data transfer phases. These two PCs
The PCI-PCI bridge device 14 connects the I buses 2 and 3 and controls transmission of a bus cycle between the PCI buses 2 and 3.

【0018】すなわち、PCI−PCIブリッジ装置1
4は、プライマリPCIバス2とセカンダリPCIバス
3との間を双方向で接続するためのものであり、プライ
マリPCIバス2側のCPU11、ホスト−PCIブリ
ッジ12、およびPCIデバイス15などがPCIバス
3上のPCIデバイス16,17をアクセスすること、
およびPCIバス3上のPCIデバイス16,17がプ
ライマリPCIバス2上のPCIデバイス15やメモリ
13をアクセスすることを可能にする。
That is, the PCI-PCI bridge device 1
Reference numeral 4 denotes a bidirectional connection between the primary PCI bus 2 and the secondary PCI bus 3, and the CPU 11, the host-PCI bridge 12, and the PCI device 15 on the primary PCI bus 2 are connected to the PCI bus 3. Accessing the above PCI devices 16, 17;
And the PCI devices 16 and 17 on the PCI bus 3 can access the PCI device 15 and the memory 13 on the primary PCI bus 2.

【0019】PCI−PCIブリッジ装置14から見て
ホスト側に近い方のPCIバス2がPCI−PCIブリ
ッジ装置のプライマリPCIバスとなり、遠い方のPC
Iバス3がPCI−PCIブリッジ装置のセカンダリP
CIバスとなる。
The PCI bus 2 closer to the host as viewed from the PCI-PCI bridge device 14 becomes the primary PCI bus of the PCI-PCI bridge device, and the farther PC
I bus 3 is a secondary P of the PCI-PCI bridge device
It becomes a CI bus.

【0020】本実施形態のPCI−PCIブリッジ装置
14には、図示のように、シングル/バースト判定回路
141およびプリフェッチバッファ142が設けられて
いる。シングル/バースト判定回路141は、セカンダ
リPCIバス3上のPCIデバイス16,17から発生
されたメモリ13に対するメモリリードサイクルが、1
回のデータ転送サイクルで終結されるシングルサイクル
であるか、複数のデータ転送サイクルを含むバーストサ
イクルであるかを判定するためのものである。
The PCI-PCI bridge device 14 of the present embodiment is provided with a single / burst determination circuit 141 and a prefetch buffer 142 as shown in the figure. The single / burst determination circuit 141 determines that the memory read cycle for the memory 13 generated from the PCI devices 16 and 17 on the secondary PCI bus 3 is 1
This is for determining whether the cycle is a single cycle terminated by one data transfer cycle or a burst cycle including a plurality of data transfer cycles.

【0021】バーストサイクルであると判定された場合
には、PCI−PCIブリッジ装置14は、メモリリー
ドサイクルで指定されたアドレスのデータとそれに後続
するアドレスのデータを連続してリードするためのバー
ストメモリサイクルをプライマリPCIバス2上に発行
する。これにより、メモリリードサイクルで指定された
アドレスのデータのみならず、それに後続するアドレス
のデータについてもメモリ13から読み出されてPCI
−PCIブリッジ装置14内のプリフェッチバッファ1
42にプリフェッチされる。一方、シングルサイクルで
あると判定された場合には、PCI−PCIブリッジ装
置14は、プリフェッチのためのバーストサイクルは実
行せず、メモリリードサイクルで指定されたアドレスの
データをリードするためのシングルメモリサイクルをプ
ライマリPCIバス2上に発行する。
If it is determined that the cycle is a burst cycle, the PCI-PCI bridge device 14 sets a burst memory for continuously reading data at an address designated by the memory read cycle and data at an address subsequent thereto. Issue a recycle on primary PCI bus 2. As a result, not only the data at the address specified in the memory read cycle but also the data at the address subsequent thereto are read from the memory 13 and read from the
-Prefetch buffer 1 in PCI bridge device 14
42 is prefetched. On the other hand, if it is determined that the cycle is a single cycle, the PCI-PCI bridge device 14 does not execute the burst cycle for prefetch, but performs the single memo for reading the data at the address specified in the memory read cycle. Issue a recycle on primary PCI bus 2.

【0022】次に、図2を参照して、シングル/バース
トの判定方法について説明する。
Next, a method for determining single / burst will be described with reference to FIG.

【0023】一般に、PCIバス上のデバイスがマスタ
となってバスサイクルを生成する場合には、主にフレー
ム信号(FRAME#)とイニシエータレディー信号
(IRDY#)の制御信号を用いて、サイクルを制御す
る。この制御信号を用いて、サイクルを生成したマスタ
が1転送のみのデータ転送でサイクルを終了するつもり
であるのか、2転送以上行うつもりであるのかを見分け
ることができる。
In general, when a device on the PCI bus becomes a master and generates a bus cycle, the cycle is controlled mainly by using control signals of a frame signal (FRAME #) and an initiator ready signal (IRDY #). I do. Using this control signal, it is possible to determine whether the master that has generated the cycle intends to end the cycle with only one transfer of data or to perform two or more transfers.

【0024】まず、図2のタイミングチャートに示され
ているPCIバス上の信号線の意味について説明する。
First, the meaning of the signal lines on the PCI bus shown in the timing chart of FIG. 2 will be described.

【0025】フレーム信号(FRAME#)は、PCI
バス上のマスタによって、アクセスの開始とその期間を
示すためにドライブされる信号である。すなわち、FR
AME#はバスサイクルが開始されていることを示すた
めに“L”にアサートされる。FRAME#がアサート
されている間は、データ転送が継続する。FRAME#
がデアサートされたとき、次のデータ転送が現在のバス
サイクルの中の最後のデータ転送であることを示す。
The frame signal (FRAME #) is
This signal is driven by the master on the bus to indicate the start of access and the period of access. That is, FR
AME # is asserted "L" to indicate that a bus cycle has been started. Data transfer continues while FRAME # is asserted. FRAME #
Is deasserted, indicating that the next data transfer is the last data transfer in the current bus cycle.

【0026】イニシエータレディー信号(IRDY#)
はイニシエータ(マスタ)がデータ転送可能な状態にな
ったことを示す信号であり、リードサイクルにおいて
は、そのサイクルのマスタがデータを受け入れる準備が
整っていることを示すためにマスタによってドライブさ
れる。
Initiator ready signal (IRDY #)
Is a signal indicating that the initiator (master) is ready for data transfer, and is driven by the master in a read cycle to indicate that the master in that cycle is ready to accept data.

【0027】ターゲットレディー信号(TRDY#)は
バスサイクルで指定されたデバイスであるターゲットが
データ転送可能な状態になったことを示す信号であり、
リードサイクルにおいては、そのサイクルのターゲット
がADバス線に有効なデータを出力していることを示す
ために、ターゲットによってドライブされる。
The target ready signal (TRDY #) is a signal indicating that a target, which is a device specified in a bus cycle, is ready for data transfer.
In a read cycle, the target is driven by the target to indicate that the target of the cycle is outputting valid data to the AD bus line.

【0028】コマンド/バイトイネーブル信号(C/B
E#)は、バスコマンドの指定と、有効バイトレーンの
指定に用いられる。マスタは、アドレスフェーズでバス
コマンドを出力してバスサイクルの種類を指定し、デー
タフェーズではデータ転送に使用するバイトレーンを指
定する。
Command / byte enable signal (C / B
E #) is used to specify a bus command and a valid byte lane. The master outputs a bus command in the address phase to specify the type of bus cycle, and in the data phase, specifies a byte lane to be used for data transfer.

【0029】ADは32ビットバスの信号で、アドレス
およびデータの転送に用いられる。サイクルのアドレス
フェーズにおいては、常にそのサイクルのマスタによっ
てドライブされる。データフェーズにおいては、リード
サイクルでTRDY#が“L”にアサートされていると
きに有効な値となってドライブされる。
AD is a 32-bit bus signal used for transferring addresses and data. In the address phase of a cycle, it is always driven by the master of that cycle. In the data phase, when TRDY # is asserted to "L" in the read cycle, it becomes a valid value and is driven.

【0030】ここで、アドレスフェーズとは、マスタが
FRAME#をアサートした後の1クロック範囲で、最
初のクロック立ち上がりで(タイミング1)、PCIバ
ス上のターゲットはアドレスをサンプルする。データフ
ェーズは、アドレスフェーズに続くフェーズであり、I
RDY#とTRDY#が同時にアサート状態“L”であ
る時に実際のデータ転送が行われ、FRAME#とIR
DY#が同時に“H”である時に、データフェーズは終
了する。
Here, the address phase is one clock range after the master asserts FRAME #, and the target on the PCI bus samples an address at the first rising edge of the clock (timing 1). The data phase is a phase following the address phase,
When RDY # and TRDY # are simultaneously in the asserted state “L”, actual data transfer is performed, and FRAME # and IR
When DY # is simultaneously "H", the data phase ends.

【0031】図2(A)は2回のデータ転送を行う場合
のメモリリードサイクルを示しており、また図2(B)
は1転送でサイクルが終了される場合のメモリリードサ
イクルを示している。
FIG. 2A shows a memory read cycle when two data transfers are performed, and FIG.
Indicates a memory read cycle when the cycle is completed by one transfer.

【0032】ここで、最終転送では必ずFRAME#が
“H”、IRDY#が“L”となることに注目したい。
つまり、マスタは、FRAME#を“H”にすること
で、ターゲットにこれ以上転送を行う意志がないことを
伝え、最終転送が行われた後、サイクルは終了する。
Here, it should be noted that FRAME # always becomes "H" and IRDY # becomes "L" in the final transfer.
In other words, the master sets FRAME # to "H" to notify the target that there is no intention to transfer any more, and the cycle ends after the final transfer is performed.

【0033】特に、図2(B)に示すように、サイクル
のマスタがアドレスフェーズ後、IRDY#を“L”に
ドライブするのと同時にFRAME#を“H”にドライ
ブすれば、マスタは、1転送でサイクルを終了するつも
りであると判断してよく、ターゲットはあと1転送分の
データをドライブした時点でサイクルを終了することが
できる。
In particular, as shown in FIG. 2B, if the master of the cycle drives IRDY # to "L" at the same time as driving FRAME # to "H" after the address phase, the master becomes 1 It may be determined that the transfer is to end the cycle, and the target may end the cycle when it has driven one more transfer of data.

【0034】本発明はこの特徴を利用して、データ転送
の向上を図ったものである。つまり、PCI−PCIブ
リッジ装置14のシングル/バースト判定回路141
は、FRAME#とIRDY#を監視し、アドレスフェ
ーズの次のクロックタイミング(タイミング2)におけ
るFRAME#とIRDY#の状態を調べることによ
り、マスタによって発行されたメモリリードサイクルが
1転送でサイクルが終了されるもの(シングルサイク
ル)であるか、2転送以上のデータ転送の後に終了され
るもの(バーストサイクル)であるかを判断する。PC
I−PCIブリッジ14は、同じメモリリードサイクル
であっても1転送でサイクルを終了させるのであれば、
プリフェッチリードすることを止め、プライマリPCI
バス2に対して1転送のみのリードサイクルを出力す
る。これによって、無駄にプリフェッチリードすること
を避けることができる。
The present invention uses this feature to improve data transfer. That is, the single / burst determination circuit 141 of the PCI-PCI bridge device 14
Monitors the FRAME # and IRDY # and checks the states of the FRAME # and IRDY # at the next clock timing (timing 2) of the address phase, so that the memory read cycle issued by the master is one transfer and the cycle ends. Is determined (single cycle) or terminated after two or more data transfers (burst cycle). PC
If the I-PCI bridge 14 terminates the cycle by one transfer even in the same memory read cycle,
Stop prefetching read, primary PCI
A read cycle of only one transfer is output to the bus 2. As a result, useless prefetch reading can be avoided.

【0035】なお、FRAME#がデアサートされた後
に実行されるデータ転送は1転送のみであるので、原理
的には、IRDY#を監視せずとも、アドレスフェーズ
の次のクロックタイミング(タイミング2)におけるF
RAME#の状態を調べることだけで、シングル/バー
ストの判定を行うことができる。PCI仕様では、マス
タはFRAME#をデアサートした後でも最後のデータ
転送が完了するまではIRDY#をアサートしなければ
ならないという事が規定されている。したがって、実際
には、FRAME#のみの状態だけでなく、前述したよ
うにIRDY#の状態をも考慮してシングル/バースト
の判定を行うことにより、マスタの様々な動作に対応す
ることが可能となるのである。
Since only one data transfer is performed after FRAME # is deasserted, in principle, even if IRDY # is not monitored, the clock at the next clock timing (timing 2) of the address phase can be used. F
A single / burst determination can be made only by checking the state of the RAME #. The PCI specification states that the master must assert IRDY # after deasserting FRAME # until the last data transfer is completed. Therefore, in practice, it is possible to cope with various operations of the master by performing the single / burst determination in consideration of not only the state of FRAME # but also the state of IRDY # as described above. It becomes.

【0036】次に、図3および図4を参照して、以上の
動作を実現するためのPCI−PCIブリッジ装置14
の回路構成を説明する。
Next, referring to FIGS. 3 and 4, the PCI-PCI bridge device 14 for realizing the above operation will be described.
Will be described.

【0037】PCI−PCIブリッジ装置14は、図3
に示されているように、プライマリPCIバス2からセ
カンダリPCIバス3へのバスサイクル伝達に使用され
るターゲット制御部21およびマスタ制御部22と、セ
カンダリPCIバス3からプライマリPCIバス2への
バスサイクル伝達に使用されるターゲット制御部31お
よびマスタ制御部32とを備えている。
The PCI-PCI bridge device 14 is configured as shown in FIG.
, The target control unit 21 and the master control unit 22 used for transmitting the bus cycle from the primary PCI bus 2 to the secondary PCI bus 3, and the bus cycle from the secondary PCI bus 3 to the primary PCI bus 2. A target control unit 31 and a master control unit 32 used for transmission are provided.

【0038】プライマリPCIバス2からセカンダリP
CIバス3へのバスサイクルの伝達においては、ターゲ
ット制御部21は、プライマリPCIバス2上のマスタ
に対してターゲットとして動作する。そしてマスタ制御
部22は、プライマリPCIバス2上のマスタからのバ
スサイクルを伝達するために、セカンダリPCIバス3
のマスタとして動作して、セカンダリPCIバス3上に
バスサイクルを発行する。
From the primary PCI bus 2 to the secondary P
In transmitting a bus cycle to the CI bus 3, the target control unit 21 operates as a target for the master on the primary PCI bus 2. The master control unit 22 transmits the bus cycle from the master on the primary PCI bus 2 to the secondary PCI bus 3
And issues a bus cycle on the secondary PCI bus 3.

【0039】同様に、セカンダリPCIバス3からプラ
イマリPCIバス2へのバスサイクルの伝達において
は、ターゲット制御部31は、セカンダリPCIバス3
2上のマスタに対してターゲットとして動作する。そし
てマスタ制御部32は、セカンダリPCIバス32上の
マスタからのバスサイクルを伝達するために、プライマ
リPCIバス2のマスタとして動作して、プライマリP
CIバス2上にバスサイクルを発行する。セカンダリP
CIバス3上のPCIデバイス16,17から発生され
たメモリ13に対するメモリリードサイクルに対して
は、ターゲット制御部31がシングル/バーストの判定
を行い、その判定結果に基づいて、マスタ制御部32に
よるプリフェッチサイクルの実行の許可/禁止の制御を
行う。
Similarly, in transmitting a bus cycle from the secondary PCI bus 3 to the primary PCI bus 2, the target control unit 31
2 as a target for the master above. The master control unit 32 operates as a master of the primary PCI bus 2 to transmit a bus cycle from the master on the secondary PCI bus 32, and
A bus cycle is issued on the CI bus 2. Secondary P
For a memory read cycle for the memory 13 generated from the PCI devices 16 and 17 on the CI bus 3, the target control unit 31 makes a single / burst determination, and based on the determination result, the master control unit 32 Controls permission / prohibition of execution of the prefetch cycle.

【0040】図4に示されているように、ターゲット制
御部31には、前述のシングル/バースト判定回路14
1に加え、デコード回路201が設けられている。
As shown in FIG. 4, the target control unit 31 includes the single / burst determination circuit 14 described above.
1, a decoding circuit 201 is provided.

【0041】PCI−PCIブリッジ装置14に接続さ
れたセカンダリPCIバス3上のマスタによってサイク
ルが生成された場合、このサイクルのターゲットとなる
デバイスがプライマリPCIバス2上にあるならば、タ
ーゲット制御部31はこのサイクルに応答しなければな
らない。そのために、デコード回路201では、アドレ
スをデコードし、コンフィグレジスタ202内の情報に
よって規定されるメモリウィンドウやプリフェッチウィ
ンドウにヒットするかどうかを判定する。コンフィグレ
ジスタ202に記憶されたメモリ情報は、システム内の
全メモリ空間の内、セカンダリPCIバス3側に存在す
るメモリ範囲を示すものであり、それ以外のメモリ範囲
はプライマリPCIバス2側に設けられていることにな
る。また、そのメモリ情報には、プリフェッチ可能なア
ドレス範囲についても規定されている。
When a cycle is generated by the master on the secondary PCI bus 3 connected to the PCI-PCI bridge device 14, if the target device of this cycle is on the primary PCI bus 2, the target control unit 31 Must respond to this cycle. For this purpose, the decode circuit 201 decodes the address and determines whether or not the memory window or the prefetch window specified by the information in the configuration register 202 hits. The memory information stored in the configuration register 202 indicates a memory range existing on the secondary PCI bus 3 side in the entire memory space in the system, and the other memory ranges are provided on the primary PCI bus 2 side. Will be. The memory information also specifies a prefetchable address range.

【0042】また、デコード回路201は、セカンダリ
PCIバス3上のバスサイクルのコマンドもデコード
し、そのサイクルのコマンドが、メモリリードかメモリ
リードラインかメモリリードマルチプルであるかを判定
する。ここで、メモリリードは、メモリリードサイクル
のための基本的なコマンドであり、シングル/バースト
のどちらの転送においても使用することができる。メモ
リリードラインは、比較的多くの転送サイクルを行う場
合に利用されるコマンドであり、またメモリリードマル
チプルはさらに多くの転送サイクルを行う場合に利用さ
れるコマンドである。
The decode circuit 201 also decodes a command of a bus cycle on the secondary PCI bus 3, and determines whether the command of the cycle is a memory read, a memory read line, or a memory read multiple. Here, the memory read is a basic command for a memory read cycle, and can be used in both single and burst transfers. The memory read line is a command used when performing a relatively large number of transfer cycles, and the memory read multiple is a command used when performing a large number of transfer cycles.

【0043】前述のシングル/バースト判定回路141
によるシングル/バーストの判定動作は、セカンダリP
CIバス3上のメモリリードサイクルのコマンドがメモ
リリードコマンドであり、且つそのサイクルで指定され
たアドレスがプライマリPCIバス2上のメモリアドレ
ス空間のプリフェッチ可能なアドレス範囲に属する場合
に実行される。セカンダリPCIバス3上のメモリリー
ドサイクルのコマンドがメモリリードラインあるいはメ
モリリードマルチプルである場合には、基本的にはプリ
フェッチサイクルが実行されることになる。
The aforementioned single / burst determination circuit 141
The single / burst determination operation by
This command is executed when the command of the memory read cycle on the CI bus 3 is a memory read command and the address specified in the cycle belongs to a prefetchable address range of the memory address space on the primary PCI bus 2. When the command of the memory read cycle on the secondary PCI bus 3 is a memory read line or a memory read multiple, a prefetch cycle is basically executed.

【0044】このように、本実施形態では、デコード回
路201およびシングル/バースト判定回路141の判
定結果に基づいて、プライマリPCIバス2に対して出
力するサイクルが決定され、その結果がマスタ制御部3
2に伝達されプライマリPCIバス2にサイクルが出力
される。
As described above, in this embodiment, the cycle to be output to the primary PCI bus 2 is determined based on the determination results of the decode circuit 201 and the single / burst determination circuit 141, and the result is determined by the master control unit 3.
2 and the cycle is output to the primary PCI bus 2.

【0045】以下、図5のフローチャートを参照して、
セカンダリPCIバス3上で発生されるメモリリードサ
イクルが発生した場合に実行される、プライマリPCI
バス2に対して出力するサイクルを決定するための動作
について説明する。
Hereinafter, referring to the flowchart of FIG.
Primary PCI executed when a memory read cycle generated on the secondary PCI bus 3 occurs
An operation for determining a cycle to be output to the bus 2 will be described.

【0046】セカンダリPCIバス3上のマスタによっ
てFRAME#がアサートされて、メモリリードサイク
ルが開始されると(ステップS11)、アドレスフェー
ズにおけるアドレスをサンプリングして調べることによ
り、現在のサイクルのアドレスがプライマリPCIバス
2側のメモリ範囲に属するかどうかがデコード回路20
1によって判断される(ステップS12)。プライマリ
PCIバス2側のメモリ範囲に属さない場合は(ステッ
プS12のNO)、サイクルをプライマリPCIバス2
側に伝達する必要がないので、PCI−PCIブリッジ
装置14はその時点で処理を終了する。
When FRAME # is asserted by the master on the secondary PCI bus 3 and a memory read cycle is started (step S11), the address in the address phase is sampled and checked to make the address of the current cycle primary. The decoding circuit 20 determines whether or not it belongs to the memory range on the PCI bus 2 side.
1 (step S12). If the cycle does not belong to the memory range of the primary PCI bus 2 (NO in step S12), the cycle is changed to the primary PCI bus 2
The PCI-PCI bridge device 14 terminates the processing at that time because there is no need to transmit the information to the side.

【0047】プライマリPCIバス2側のメモリ範囲に
属する場合は(ステップS12のNO)、デコード回路
201はアドレスフェーズにおけるコマンドを調べ、現
在のサイクルがメモリリードラインであるかメモリリー
ドマルチプルであるかを判定する(ステップS13)。
現在のサイクルがメモリリードラインまたはメモリリー
ドマルチプルであった場合には(ステップS13のYE
S)、連続転送を行うメモリリードサイクル(プリフェ
ッチサイクル)が、プライマリPCIバス2に対して出
力すべきサイクルとして決定され、そのサイクルがマス
タ制御部32によって実行される(ステップS14)。
If it belongs to the memory range on the primary PCI bus 2 side (NO in step S12), the decoding circuit 201 checks the command in the address phase and determines whether the current cycle is a memory read line or a memory read multiple. A determination is made (step S13).
If the current cycle is a memory read line or a memory read multiple (YE in step S13)
S), a memory read cycle (prefetch cycle) for performing continuous transfer is determined as a cycle to be output to the primary PCI bus 2, and the cycle is executed by the master control unit 32 (step S14).

【0048】一方、現在のサイクルがメモリリードライ
ン、メモリリードマルチプルのどちらでもない場合には
(ステップS13のNO)、デコード回路201は、今
度は、現在のサイクルのコマンドがメモリリードで、且
つそのサイクルで指定されたアドレスがプリフェッチ可
能なメモリアドレス範囲のものである、という条件を満
たすか否かを判定する(ステップS15)。この条件が
成立している場合には(ステップS15のYES)、シ
ングル/バースト判定回路141による判定処理が開始
される。シングル/バースト判定回路141は、アドレ
スフェーズの次のクロックの立ち上がり時にIRDY#
のアサートとRRAME#のデアサートが同時に発生す
るか否かにより、現在のサイクルがシングル転送である
かバースト転送であるかを判断する(ステップS1
6)。
On the other hand, when the current cycle is neither the memory read line nor the memory read multiple (NO in step S13), the decode circuit 201 determines that the command of the current cycle is a memory read and It is determined whether or not the condition that the address specified in the cycle is in the prefetchable memory address range is satisfied (step S15). If this condition is satisfied (YES in step S15), the determination processing by the single / burst determination circuit 141 is started. The single / burst determination circuit 141 outputs the IRDY # signal at the rising edge of the clock following the address phase.
It is determined whether the current cycle is a single transfer or a burst transfer based on whether the assertion of RRAME # and the deassertion of RRAME # occur simultaneously (step S1).
6).

【0049】アドレスフェーズの次のクロックの立ち上
がり時にIRDY#のアサートとRRAME#のデアサ
ートが同時に発生した場合には(ステップS16のYE
S)、1転送のみを行うメモリリードサイクルが、プラ
イマリPCIバス2に対して出力すべきサイクルとして
決定され、そのサイクルがマスタ制御部32によって実
行される(ステップS17)。一方、ステップS16の
条件が成立しなかった場合には(ステップS16のN
O)、連続転送を行うメモリリードサイクル(プリフェ
ッチサイクル)が、プライマリPCIバス2に対して出
力すべきサイクルとして決定され、そのサイクルがマス
タ制御部32によって実行される(ステップS14)。
If the assertion of IRDY # and the deassertion of RRAME # occur simultaneously at the rising edge of the clock following the address phase (YE in step S16)
S) A memory read cycle in which only one transfer is performed is determined as a cycle to be output to the primary PCI bus 2, and the cycle is executed by the master control unit 32 (step S17). On the other hand, if the condition of step S16 is not satisfied (N of step S16)
O), a memory read cycle (prefetch cycle) for performing continuous transfer is determined as a cycle to be output to the primary PCI bus 2, and the cycle is executed by the master control unit 32 (step S14).

【0050】次に、図6のタイミングチャートを参照し
て、PCI−PCIブリッジ装置14によって実行され
る具体的なバスサイクル制御動作について説明する。
Next, a specific bus cycle control operation executed by the PCI-PCI bridge device 14 will be described with reference to the timing chart of FIG.

【0051】ここでは、セカンダリPCIバス3上のマ
スタによって実行されるバスサイクルが1転送のみで終
了するシングル転送である場合を想定する。PCI−P
CIブリッジ装置14のターゲット制御部31は、現在
のセカンダリPCIバス3上のサイクルのアドレスがプ
ライマリPCIバス2側のメモリ空間内に属する場合に
は、まず、デバイスセレクト信号(DEVSEL#)を
アサートして、セカンダリPCIバス3上のマスタに応
答する。DEVSEL#は、アクセスを受けたターゲッ
トからの応答信号であり、アクセスを受けたターゲット
によってドライブされる。
Here, it is assumed that the bus cycle executed by the master on secondary PCI bus 3 is a single transfer that ends with only one transfer. PCI-P
When the current cycle address on the secondary PCI bus 3 belongs to the memory space on the primary PCI bus 2 side, the target control unit 31 of the CI bridge device 14 first asserts the device select signal (DEVSEL #). Responds to the master on the secondary PCI bus 3. DEVSEL # is a response signal from the accessed target and is driven by the accessed target.

【0052】この後、ターゲット制御部31は、現在の
バスサイクルを中止を指示するためのストップ信号(S
TOP#)をアサートして、セカンダリPCIバス3上
のマスタに対してリトライを要求する。リトライ要求を
受けたマスタは、ターゲットが現在のサイクルを受け付
けることができない状態であると判断し、現在のサイク
ルを一旦中止し、一定期間経過後に再度同じサイクルを
実行する。
Thereafter, the target control unit 31 outputs a stop signal (S) for instructing the suspension of the current bus cycle.
TOP #) to request a retry to the master on the secondary PCI bus 3. The master that has received the retry request determines that the target cannot accept the current cycle, temporarily suspends the current cycle, and executes the same cycle again after a certain period of time.

【0053】セカンダリPCIバス3上のマスタに対し
てリトライを要求した後、通常のPCI−PCIブリッ
ジの場合には、プリフェッチのために、メモリから連続
してデータを読み出すというバースト転送が実行されて
しまう。これにより、プライマリPCIバス2は、セカ
ンダリPCIバス3上のマスタが使用しない無駄なデー
タ転送によって、長い期間占有されてしまうことにな
る。
After requesting a retry to the master on the secondary PCI bus 3, in the case of a normal PCI-PCI bridge, a burst transfer in which data is continuously read from the memory for prefetch is executed. I will. As a result, the primary PCI bus 2 is occupied for a long period by useless data transfer that is not used by the master on the secondary PCI bus 3.

【0054】本実施形態のPCI−PCIブリッジ装置
14においては、1転送のみを行うメモリリードサイク
ルがプライマリPCIバス2に対して出力される。メモ
リ13から1転送分のデータだけが読み込まれ、プリフ
ェッチバッファ142に格納される。よって、無駄なプ
リフェッチサイクルが実行されてしまうという不具合が
なくなり、システム全体のデータ転送効率の向上を図る
ことが可能となる。
In the PCI-PCI bridge device 14 of this embodiment, a memory read cycle for performing only one transfer is output to the primary PCI bus 2. Only data for one transfer is read from the memory 13 and stored in the prefetch buffer 142. Therefore, the problem that unnecessary prefetch cycles are executed is eliminated, and the data transfer efficiency of the entire system can be improved.

【0055】セカンダリPCIバス3上のマスタによっ
てメモリリードサイクルがリトライされると、PCI−
PCIブリッジ装置14は、それに応答して、既にプラ
イマリPCIバス2側のメモリから読み込んでいるデー
タを即座にマスタに返す。
When the memory read cycle is retried by the master on the secondary PCI bus 3, the PCI-
In response, the PCI bridge device 14 immediately returns the data already read from the memory on the primary PCI bus 2 side to the master.

【0056】次に、図7を参照して、本実施形態のPC
I−PCIブリッジ装置14の適用例について説明す
る。
Next, referring to FIG. 7, the PC of this embodiment will be described.
An application example of the I-PCI bridge device 14 will be described.

【0057】図7は、PCI−PCIブリッジ装置14
を物理的に異なる二つのコントローラ301,302に
よって構成した場合の例である。第1のコントローラ3
01については、プライマリPCIバス2が設けらたホ
スト装置側、つまりパーソナルコンピュータ本体側に実
装されており、また第2のコントローラ302について
は、パーソナルコンピュータ本体の機能拡張のために必
要に応じて接続可能な拡張ユニット(ドッキングステー
ション側に実装されている。二つのコントローラ30
1,302間のデータ転送はシリアル転送路400を介
したシリアル転送によって実行される。
FIG. 7 shows the PCI-PCI bridge device 14.
Is configured by two physically different controllers 301 and 302. First controller 3
01 is mounted on the host device side where the primary PCI bus 2 is provided, that is, on the personal computer main body side, and the second controller 302 is connected as necessary for expanding the functions of the personal computer main body. Possible extension unit (mounted on the docking station side. Two controllers 30
The data transfer between the devices 1302 is performed by serial transfer via the serial transfer path 400.

【0058】すなわち、プライマリPCIバス2からセ
カンダリPCIバス3へバスサイクルを伝達する場合に
は、コントローラ301にて、プライマリPCIバス2
上の多数の信号線の状態を示す情報(バスサイクルを構
成するアドレス、コマンド、データ、バイトイネーブ
ル、およびその他の信号の情報)がパラレルデータから
シリアルデータに変換され、それがシリアル転送路40
0を介してコントローラ302にシリアル転送される。
コントローラ302では、シリアルデータがパラレルデ
ータに復元され、それがセカンダリPCIバス3上にバ
スサイクルとして展開される。同様に、セカンダリPC
Iバス3からプライマリPCIバス2へバスサイクルを
伝達する場合には、コントローラ302にて、セカンダ
リPCIバス3上の多数の信号線の状態を示す情報(バ
スサイクルを構成するアドレス、コマンド、データ、バ
イトイネーブル、およびその他の信号の情報)がパラレ
ルデータからシリアルデータに変換され、それがシリア
ル転送路400を介してコントローラ301にシリアル
転送される。コントローラ301では、シリアルデータ
がパラレルデータに復元され、それがプライマリPCI
バス2上にバスサイクルとして展開される。
That is, when transmitting a bus cycle from the primary PCI bus 2 to the secondary PCI bus 3, the controller 301
Information (address, command, data, byte enable, and other signal information constituting a bus cycle) indicating the state of a number of upper signal lines is converted from parallel data to serial data.
0 is serially transferred to the controller 302.
In the controller 302, the serial data is restored to the parallel data, which is developed on the secondary PCI bus 3 as a bus cycle. Similarly, secondary PC
When transmitting a bus cycle from the I bus 3 to the primary PCI bus 2, the controller 302 uses the controller 302 to display information indicating the state of a number of signal lines on the secondary PCI bus 3 (address, command, data, Byte enable and other signal information) are converted from parallel data to serial data, which is serially transferred to the controller 301 via the serial transfer path 400. In the controller 301, the serial data is restored to parallel data, which is
It is developed on the bus 2 as a bus cycle.

【0059】このようなPCIシリアル転送インターフ
ェイスを利用することにより、シリアル転送路400を
含む細いケーブルで、コンピュータ本体とドッキングス
テーションとを接続することが可能となる。
By using such a PCI serial transfer interface, the computer main body and the docking station can be connected with a thin cable including the serial transfer path 400.

【0060】この場合、コントローラ302側に図示の
ように前述のシングル/バースト判定回路141および
デコード回路201をはじめ、コンフィグレジスタ20
2、プリフェッチバッファ142を設けておくことによ
り、セカンダリPCIバス3側のマスタが使用しない無
駄なメモリデータのプリフェッチのために、プライマリ
PCIバス2およびシリアル転送路400が長い間占有
されてしまうという不具合の発生を防止することができ
る。
In this case, the controller 302 includes the single / burst determination circuit 141 and the decode circuit 201 as shown in FIG.
2. With the provision of the prefetch buffer 142, the primary PCI bus 2 and the serial transfer path 400 are occupied for a long time due to unnecessary memory data prefetch not used by the master on the secondary PCI bus 3 side. Can be prevented from occurring.

【0061】このようにPCI−PCIブリッジ装置1
4は必ずしも1個のLSIで構成する必要はなく、物理
的に異なる2つのLSIによって構成してもよい。
As described above, the PCI-PCI bridge device 1
4 does not necessarily need to be constituted by one LSI, but may be constituted by two physically different LSIs.

【0062】なお、以上の本実施形態の説明において
は、セカンダリPCIバス3側のマスタからプライマリ
PCIバス2側のメモリに対するメモリリードサイクル
についてのみ説明したが、セカンダリPCIバス3側に
メモリが設けられている場合は、プライマリPCIバス
23側のマスタからセカンダリPCIバス3側のメモリ
に対するメモリリードサイクルについても、同様の制御
を適用することができる。
In the above description of the present embodiment, only the memory read cycle from the master on the secondary PCI bus 3 side to the memory on the primary PCI bus 2 side has been described, but a memory is provided on the secondary PCI bus 3 side. In this case, the same control can be applied to the memory read cycle from the master on the primary PCI bus 23 side to the memory on the secondary PCI bus 3 side.

【0063】[0063]

【発明の効果】以上説明したように、本発明によれば、
無駄なプリフェッチサイクルの実行を抑制できるように
なり、システム全体のデータ転送効率の向上を図ること
が可能となる。
As described above, according to the present invention,
Useless prefetch cycles can be suppressed, and the data transfer efficiency of the entire system can be improved.

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

【図1】本発明の一実施形態に係るコンピュータシステ
ムの構成を示すブロック図。
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.

【図2】同実施形態のシステムで用いられるシングル/
バースト判定の原理を説明するためのタイミングチャー
ト。
FIG. 2 is a diagram showing a single / single unit used in the system of the embodiment.
5 is a timing chart for explaining the principle of burst determination.

【図3】同実施形態のシステムに設けられたPCI−P
CIブリッジ装置の構成を示すブロック図。
FIG. 3 shows a PCI-P provided in the system of the embodiment.
FIG. 2 is a block diagram showing a configuration of a CI bridge device.

【図4】図3のPCI−PCIブリッジ装置内に設けら
れたターゲット制御部の構成を示すブロック図。
FIG. 4 is a block diagram showing a configuration of a target control unit provided in the PCI-PCI bridge device of FIG. 3;

【図5】同実施形態のシステムに設けられたPCI−P
CIブリッジ装置によって実行されるバスサイクル判定
動作の手順を示すフローチャート。
FIG. 5 shows a PCI-P provided in the system of the embodiment.
9 is a flowchart illustrating a procedure of a bus cycle determination operation executed by the CI bridge device.

【図6】同実施形態のシステムに設けられたPCI−P
CIブリッジ装置によって実行されるバスサイクルを説
明するための図。
FIG. 6 shows a PCI-P provided in the system of the embodiment.
FIG. 4 is a diagram for explaining a bus cycle executed by the CI bridge device.

【図7】同実施形態のシステムに設けられたPCI−P
CIブリッジ装置を2つのコントローラによって実現し
た場合の構成を示す図。
FIG. 7 shows a PCI-P provided in the system of the embodiment.
FIG. 2 is a diagram illustrating a configuration in a case where a CI bridge device is realized by two controllers.

【符号の説明】[Explanation of symbols]

2…プライマリPCIバス 3…セカンダリPCIバス 11…CPU 12…ホスト−PCIブリッジ 13…メモリ 14…PCI−PCIブリッジ 15,16,17…PCIデバイス 141…シングル/バースト判定回路 142…プリフェッチバッファ 31…ターゲット制御部 32…マスタ制御部 201…デコード回路 202…コンフィグレジスタ 2 Primary PCI bus 3 Secondary PCI bus 11 CPU 12 Host-PCI bridge 13 Memory 14 PCI-PCI bridge 15, 16, 17 PCI device 141 Single / burst determination circuit 142 Prefetch buffer 31 Target Control unit 32: Master control unit 201: Decode circuit 202: Configuration register

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 第1および第2のバス間を接続するため
のバスブリッジ装置において、 前記第1のバス上のバスサイクルが前記第2のバス上に
伝達されるように、前記第1のバス上のバスサイクルに
基づいて前記第2のバス上にバスサイクルを発行するバ
スサイクル実行手段と、 前記第1のバス上のメモリリードサイクルで指定された
アドレスが前記第2のバス上のメモリ空間内のプリフェ
ッチ可能なアドレス範囲に属する場合、前記第1のバス
上のメモリリードサイクルが、1回のデータ転送サイク
ルで終結されるシングルサイクルと複数のデータ転送サ
イクルを含むバーストサイクルのどちらのサイクルであ
るかを判定するシングル/バースト判定手段とを具備
し、 前記バスサイクル実行手段は、 前記シングル/バースト判定手段によって前記メモリリ
ードサイクルが前記バーストサイクルであると判定され
た場合、前記メモリリードサイクルで指定されたアドレ
スに後続するアドレスのデータが前記バスブリッジ装置
内にプリフェッチされるように、前記メモリリードサイ
クルで指定されたアドレスのデータとそれに後続するア
ドレスのデータを連続してリードするための第1のバス
サイクルを前記第2のバス上に発行し、 前記シングル/バースト判定手段によって前記メモリリ
ードサイクルが前記シングルサイクルであると判定され
た場合、前記メモリリードサイクルで指定されたアドレ
スのデータをリードするための第2のバスサイクルを前
記第2のバス上に発行することを特徴とするバスブリッ
ジ装置。
1. A bus bridge device for connecting between a first bus and a second bus, wherein the first bus is transmitted to the second bus so that a bus cycle on the first bus is transmitted to the second bus. Bus cycle executing means for issuing a bus cycle on the second bus based on a bus cycle on the bus; and an address designated by a memory read cycle on the first bus is a memory on the second bus. In the case where the memory read cycle belongs to a prefetchable address range in the space, the memory read cycle on the first bus is either a single cycle terminated by one data transfer cycle or a burst cycle including a plurality of data transfer cycles. And a single / burst determination unit that determines whether the bus cycle execution unit is a single / burst determination unit. If it is determined that the memory read cycle is the burst cycle, the data at the address subsequent to the address specified in the memory read cycle is prefetched into the bus bridge device so as to be prefetched in the memory read cycle. A first bus cycle for continuously reading data of a specified address and data of an address subsequent thereto is issued on the second bus, and the single / burst determination means determines that the memory read cycle is A bus bridge device for issuing, on the second bus, a second bus cycle for reading data at an address specified in the memory read cycle when it is determined that the cycle is a single cycle.
【請求項2】 前記メモリリードサイクルには、メモリ
リード、メモリリードライン、およびメモリリードマル
チプルの3種類のサイクルが定義されており、 前記第1のバス上のメモリリードサイクルで指定される
コマンドに基づいて、そのメモリリードサイクルが、前
記メモリリード、メモリリードライン、およびメモリリ
ードマルチプルのいずれであるかを判別する手段をさら
に具備し、 前記バスサイクル実行手段は、 前記第1のバス上のメモリリードサイクルが前記メモリ
リードラインまたは前記メモリリードマルチプルである
場合には、前記第1のバスサイクルを前記第2のバス上
に発行し、 前記第1のバス上のメモリリードサイクルが前記メモリ
リードである場合には、前記シングル/バースト判定手
段の判定結果に従って、前記第1または第2のバスサイ
クルを前記第2のバス上に発行することを特徴とする請
求項1記載のブリッジ装置。
2. The memory read cycle defines three types of cycles: a memory read, a memory read line, and a memory read multiple. The memory read cycle includes a command designated by a memory read cycle on the first bus. Further comprising means for determining whether the memory read cycle is one of the memory read, the memory read line, and the memory read multiple, based on the memory read cycle. If the read cycle is the memory read line or the memory read multiple, the first bus cycle is issued on the second bus, and the memory read cycle on the first bus is the memory read cycle. In some cases, according to the judgment result of the single / burst judgment means, Bridge apparatus according to claim 1, wherein issuing a first or second bus cycle on said second bus.
【請求項3】 前記メモリリードサイクルはアドレスフ
ェーズとそれに後続する1以上のデータフェーズから構
成されており、 前記シングル/バースト判定手段は、前記第1のバス上
のバスサイクルの開始および期間を示すフレーム信号を
監視し、前記アドレスフェーズの次のクロックタイミン
グにおける前記フレーム信号の状態に基づいて、前記第
1のバス上のメモリリードサイクルがシングルサイクル
であるかバーストサイクルであるかを判定すること特徴
とする請求項1記載のブリッジ装置。
3. The memory read cycle includes an address phase and one or more subsequent data phases, and the single / burst determination means indicates a start and a period of a bus cycle on the first bus. Monitoring a frame signal and determining whether a memory read cycle on the first bus is a single cycle or a burst cycle based on a state of the frame signal at a clock timing next to the address phase. The bridge device according to claim 1, wherein
【請求項4】 第1および第2のバス間を接続するため
のバスブリッジ装置において、 前記第1のバス上で発生されたメモリリードサイクルに
応答して、前記メモリリードサイクルで指定されたアド
レスのデータとそれに後続するアドレスのデータを連続
してリードするための第1のバスサイクルを前記第2の
バス上に発行し、前記メモリリードサイクルで指定され
たアドレスに後続するアドレスのデータを前記バスブリ
ッジ装置内にプリフェッチするプリフェッチ手段と、 前記第1のバス上のメモリリードサイクルが、1回のデ
ータ転送サイクルで終結されるシングルサイクルと複数
のデータ転送サイクルを含むバーストサイクルのどちら
のサイクルであるかを判定するシングル/バースト判定
手段と、 前記シングル/バースト判定手段の判定結果に基づい
て、前記プリフェッチ手段の動作を許可または禁止する
手段とを具備することを特徴とするバスブリッジ装置。
4. A bus bridge device for connecting between a first bus and a second bus, wherein an address specified in the memory read cycle is responsive to a memory read cycle generated on the first bus. Issue a first bus cycle on the second bus for continuously reading the data of the address and the data of the address following the data, and read the data of the address subsequent to the address specified in the memory read cycle. A prefetch means for prefetching in the bus bridge device, wherein the memory read cycle on the first bus is either a single cycle terminated by one data transfer cycle or a burst cycle including a plurality of data transfer cycles. Single / burst determination means for determining whether there is a Means for permitting or inhibiting the operation of the prefetch means based on a result of the determination.
【請求項5】 第1および第2のバスと、 前記第1および第2のバス間を接続するためのバスブリ
ッジ装置と、 前記第1のバス上のメモリリードサイクルで指定された
アドレスが前記第2のバス上のメモリ空間内のプリフェ
ッチ可能なアドレス範囲に属する場合、前記第1のバス
上のメモリリードサイクルが、1回のデータ転送サイク
ルで終結されるシングルサイクルと複数のデータ転送サ
イクルを含むバーストサイクルのどちらのサイクルであ
るかを判定するシングル/バースト判定手段と、 前記シングル/バースト判定手段によって前記メモリリ
ードサイクルが前記バーストサイクルであると判定され
た場合、前記メモリリードサイクルで指定されたアドレ
スに後続するアドレスのデータが前記バスブリッジ装置
内にプリフェッチされるように、前記バスブリッジ装置
に、前記メモリリードサイクルで指定されたアドレスの
データとそれに後続するアドレスのデータを連続してリ
ードするための第1のバスサイクルを前記第2のバス上
に発行させる手段と、 前記シングル/バースト判定手段によって前記メモリリ
ードサイクルが前記バーストサイクルであると判定され
た場合、前記バスブリッジ装置に、前記メモリリードサ
イクルで指定されたアドレスのデータをリードするため
の第2のバスサイクルを前記第2のバス上に発行させる
手段とを具備することを特徴とするコンピュータシステ
ム。
5. A first and second bus, a bus bridge device for connecting the first and second buses, and an address specified in a memory read cycle on the first bus is When belonging to the prefetchable address range in the memory space on the second bus, the memory read cycle on the first bus is divided into a single cycle terminated by one data transfer cycle and a plurality of data transfer cycles. A single / burst determination unit for determining which of the included burst cycles is included; and if the single / burst determination unit determines that the memory read cycle is the burst cycle, the single / burst determination unit is designated by the memory read cycle. The data of the address following the address that has been prefetched is prefetched into the bus bridge device. As described above, the bus bridge device issues, on the second bus, a first bus cycle for continuously reading data at an address designated by the memory read cycle and data at an address subsequent thereto. Means for reading data at an address specified by the memory read cycle into the bus bridge device when the single / burst determination means determines that the memory read cycle is the burst cycle. Means for issuing said bus cycle on said second bus.
【請求項6】 第1および第2のバスと、 前記第1および第2のバス間を接続するためのバスブリ
ッジ装置と、 前記バスブリッジ装置内に設けられ、前記第1のバス上
で発生されたメモリリードサイクルに応答して、前記メ
モリリードサイクルで指定されたアドレスのデータとそ
れに後続するアドレスのデータを連続してリードするた
めの第1のバスサイクルを前記第2のバス上に発行し、
前記メモリリードサイクルで指定されたアドレスに後続
するアドレスのデータを前記バスブリッジ装置内にプリ
フェッチするプリフェッチ手段と、 前記第1のバス上のメモリリードサイクルが、1回のデ
ータ転送サイクルで終結されるシングルサイクルと複数
のデータ転送サイクルを含むバーストサイクルのどちら
のサイクルであるかを判定するシングル/バースト判定
手段と、 前記シングル/バースト判定手段の判定結果に基づい
て、前記プリフェッチ手段の動作を許可または禁止する
手段とを具備することを特徴とするコンピュータシステ
ム。
6. A first and second bus, a bus bridge device for connecting the first and second buses, and a bus bridge device provided in the bus bridge device and generated on the first bus. Issue a first bus cycle on the second bus for continuously reading data at an address specified in the memory read cycle and data at an address subsequent thereto in response to the read memory read cycle. And
A prefetch means for prefetching data of an address subsequent to an address specified in the memory read cycle into the bus bridge device; and a memory read cycle on the first bus is terminated by one data transfer cycle. Single / burst determination means for determining which cycle is a single cycle or a burst cycle including a plurality of data transfer cycles; and permitting or deactivating the operation of the prefetch means based on a determination result of the single / burst determination means. A computer system comprising: a prohibition unit.
【請求項7】 コンピュータシステムに設けられた第1
および第2のバス上で実行されるバスサイクルを制御す
るためのバスサイクル制御方法であって、 前記第1のバス上のメモリリードサイクルで指定された
アドレスが前記第2のバス上のメモリ空間内のプリフェ
ッチ可能なアドレス範囲に属する場合、前記第1のバス
上のメモリリードサイクルが、1回のデータ転送サイク
ルで終結されるシングルサイクルと複数のデータ転送サ
イクルを含むバーストサイクルのどちらのサイクルであ
るかを判定するシングル/バースト判定ステップと、 前記シングル/バースト判定ステップによって前記メモ
リリードサイクルが前記バーストサイクルであると判定
された場合、前記メモリリードサイクルで指定されたア
ドレスに後続するアドレスのデータが、前記第1および
第2のバス間を接続するためのバスブリッジ装置内にプ
リフェッチされるように、前記バスブリッジ装置に、前
記メモリリードサイクルで指定されたアドレスのデータ
とそれに後続するアドレスのデータを連続してリードす
るための第1のバスサイクルを前記第2のバス上に発行
させるステップと、 前記シングル/バースト判定手段によって前記メモリリ
ードサイクルが前記バーストサイクルであると判定され
た場合、前記バスブリッジ装置に、前記メモリリードサ
イクルで指定されたアドレスのデータをリードするため
の第2のバスサイクルを前記第2のバス上に発行させる
ステップとを具備することを特徴とするバスサイクル制
御方法。
7. A first system provided in a computer system.
And a bus cycle control method for controlling a bus cycle executed on a second bus, wherein an address specified in a memory read cycle on the first bus is a memory space on the second bus. , The memory read cycle on the first bus is either a single cycle terminated by one data transfer cycle or a burst cycle including a plurality of data transfer cycles. A single / burst determination step of determining whether there is a data read; and if the single / burst determination step determines that the memory read cycle is the burst cycle, data of an address subsequent to an address specified in the memory read cycle For connecting between the first and second buses A first bus cycle for continuously reading data of an address specified in the memory read cycle and data of an address subsequent thereto is provided to the bus bridge device so as to be prefetched in the bridge device. Causing the bus bridge device to issue the address specified in the memory read cycle to the bus bridge device when the single / burst determination means determines that the memory read cycle is the burst cycle. Issuing a second bus cycle for reading data on the second bus.
JP33660899A 1999-11-26 1999-11-26 Bus bridge device, computer system and bus cycle control method Pending JP2001154979A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33660899A JP2001154979A (en) 1999-11-26 1999-11-26 Bus bridge device, computer system and bus cycle control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33660899A JP2001154979A (en) 1999-11-26 1999-11-26 Bus bridge device, computer system and bus cycle control method

Publications (1)

Publication Number Publication Date
JP2001154979A true JP2001154979A (en) 2001-06-08

Family

ID=18300929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33660899A Pending JP2001154979A (en) 1999-11-26 1999-11-26 Bus bridge device, computer system and bus cycle control method

Country Status (1)

Country Link
JP (1) JP2001154979A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1814040A3 (en) * 2006-01-30 2009-04-01 Hitachi, Ltd. Storage system, and storage control method
JP2013161367A (en) * 2012-02-07 2013-08-19 Fujitsu Ltd Information processing apparatus and control method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1814040A3 (en) * 2006-01-30 2009-04-01 Hitachi, Ltd. Storage system, and storage control method
JP2013161367A (en) * 2012-02-07 2013-08-19 Fujitsu Ltd Information processing apparatus and control method thereof

Similar Documents

Publication Publication Date Title
US5805842A (en) Apparatus, system and method for supporting DMA transfers on a multiplexed bus
US5802269A (en) Method and apparatus for power management of distributed direct memory access (DDMA) devices
US5740376A (en) Signaling protocol for a peripheral component interconnect
US5862387A (en) Method and apparatus for handling bus master and direct memory access (DMA) requests at an I/O controller
US5729762A (en) Input output controller having interface logic coupled to DMA controller and plurality of address lines for carrying control information to DMA agent
US5935226A (en) Method and apparatus for issuing transaction requests to a target device in accordance with the state of connection between the portable computer and the target device
KR100742718B1 (en) Transparent bridges connected between the first and second buses of a computer system, systems comprising the same and methods of bridging the first and second buses of a computer system
US6199134B1 (en) Computer system with bridge logic that asserts a system management interrupt signal when an address is made to a trapped address and which also completes the cycle to the target address
US5255376A (en) Method and apparatus for supporting a dual bit length protocol for data transfers
US6513094B1 (en) ROM/DRAM data bus sharing with write buffer and read prefetch activity
US5301281A (en) Method and apparatus for expanding a backplane interconnecting bus in a multiprocessor computer system without additional byte select signals
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US6247087B1 (en) Bus system for shadowing registers
US6496938B1 (en) Enhanced PCI clock control architecture
US5968144A (en) System for supporting DMA I/O device using PCI bus and PCI-PCI bridge comprising programmable DMA controller for request arbitration and storing data transfer information
US5867728A (en) Preventing corruption in a multiple processor computer system during a peripheral device configuration cycle
US5890002A (en) System and method for bus master emulation
JPH10198629A (en) Method and device for transaction communication between two pct buses
US5933613A (en) Computer system and inter-bus control circuit
US6076128A (en) Data transfer method between buses, bridge devices for interconnecting buses, and data processing system including multiple buses
US5857081A (en) Method and apparatus for controlling a master abort in a computer system
US5838930A (en) Method and apparatus for controlling a command cycle on a bus
JP2001154979A (en) Bus bridge device, computer system and bus cycle control method
JPH0981505A (en) Computer system
US6230227B1 (en) Computer system with support for a subtractive agent on the secondary side of a PCI-to-PCI bridge