JP2001256179A - Processor system - Google Patents

Processor system

Info

Publication number
JP2001256179A
JP2001256179A JP2000070448A JP2000070448A JP2001256179A JP 2001256179 A JP2001256179 A JP 2001256179A JP 2000070448 A JP2000070448 A JP 2000070448A JP 2000070448 A JP2000070448 A JP 2000070448A JP 2001256179 A JP2001256179 A JP 2001256179A
Authority
JP
Japan
Prior art keywords
bus
latency
transaction
master device
processor system
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
Application number
JP2000070448A
Other languages
Japanese (ja)
Inventor
Masayuki Kino
雅之 城野
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2000070448A priority Critical patent/JP2001256179A/en
Publication of JP2001256179A publication Critical patent/JP2001256179A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a processor system based on PCI bus specifications. SOLUTION: In the configuration registers 61 and 71 of bus slaves 6 and 7, a delay cycle number is stored corresponding to required memory space and I/O space. The delay cycle number is the time required after a transaction is received from a bus bridge 5 until data transfer becomes possible. A host bridge 3 reads the delay cycle number of the bus slaves 6 and 7 in a configuration cycle and stores it in the configuration register 31 as a delay cycle table. When the host bridge 3 issues the transaction, a delay cycle counter 32 starts counting the pertinent delay cycle number and the same transaction is reissued when the delay cycle number is counted up.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明はプロセッサシステ
ムに関し、さらに詳しくは、PCI(PeripheralCompon
ent Interconnect)バスにおけるディレイドトランザク
ションの改良に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processor system, and more particularly, to a PCI (Peripheral Computer).
ent Interconnect) bus.

【0002】[0002]

【従来の技術】PCIバスは、パソコンで標準的に採用
されているクロック同期式のバスであり、パソコンや産
業用の組込み機器などのコントローラのシステムバスと
して採用されている。
2. Description of the Related Art A PCI bus is a clock-synchronous bus that is standardly employed in personal computers, and is employed as a system bus for controllers of personal computers and industrial embedded devices.

【0003】PCIバスを採用したプロセッサシステム
では、PCIバスの電気的仕様(負荷容量の制限)のた
め、1つのPCIバスに接続できるデバイスの数が制限
されている。そこで、2つのPCIバスと、その2つの
バス間のトランザクションを相互に伝達するPCI−P
CIブリッジを設けることで、プロセッサシステムのP
CIバスに接続可能なPCIデバイスの数を増やすこと
が可能である。以下、メインプロセッサに近い側のPC
IバスをプライマリPCIバスといい、PCI−PCI
ブリッジで隔てられた反対側のPCIバスをセカンダリ
PCIバスという。
In a processor system employing a PCI bus, the number of devices that can be connected to one PCI bus is limited due to the electrical specifications of the PCI bus (limitation of load capacity). Therefore, two PCI buses and a PCI-P for mutually transmitting transactions between the two buses
By providing a CI bridge, the processor system P
It is possible to increase the number of PCI devices that can be connected to the CI bus. Hereinafter, the PC near the main processor
The I bus is called a primary PCI bus, and is a PCI-PCI
The opposite PCI bus separated by the bridge is called a secondary PCI bus.

【0004】また、プライマリPCIバスとセカンダリ
PCIバスとをPCI−PCIブリッジで隔てること
で、2つのPCIバスで同時に別々のデータ転送を行な
うコンカレント処理が可能になり、より高いシステムス
ループットを得ることが可能となる。
Further, by separating the primary PCI bus and the secondary PCI bus by a PCI-PCI bridge, concurrent processing in which separate data transfer is simultaneously performed on two PCI buses becomes possible, and higher system throughput can be obtained. It becomes possible.

【0005】しかし、たとえばセカンダリPCIバス上
のバススレーブデバイスが低速なデバイスの場合、プラ
イマリPCIバス上のバスマスタデバイスがPCI−P
CIブリッジを介してそのセカンダリPCIバス上のバ
ススレーブデバイスにアクセスするとき、セカンダリP
CIバス上で行なわれるPCI−PCIブリッジとバス
スレーブデバイスとの間のデータ転送に非常に時間がか
かる場合がある。このような場合、セカンダリPCIバ
ス上でデータ転送が完了するまでプライマリPCIバス
はバスマスタデバイスによって占有されたままとなり、
プライマリPCIバスの転送効率を低下させ、システム
全体の性能を著しく低下させる要因となる。
However, for example, when the bus slave device on the secondary PCI bus is a low-speed device, the bus master device on the primary PCI bus is PCI-P.
When accessing a bus slave device on the secondary PCI bus via the CI bridge, the secondary P
Data transfer between the PCI-PCI bridge and the bus slave device performed on the CI bus may take a very long time. In such a case, the primary PCI bus remains occupied by the bus master device until data transfer on the secondary PCI bus is completed,
This reduces the transfer efficiency of the primary PCI bus, and significantly lowers the performance of the entire system.

【0006】そこで、この問題を解決するために、「デ
ィレイドトランザクション」と呼ばれる手法が用いられ
ている。以下に、ディレイドトランザクションの仕組み
について説明する。
To solve this problem, a technique called "delayed transaction" is used. Hereinafter, the mechanism of the delayed transaction will be described.

【0007】プライマリPCIバス上にあるバスマスタ
デバイスがバスブリッジを介してセカンダリPCIバス
上にあるバススレーブデバイスにアクセスしようとする
とき、バスブリッジはまずバスマスタデバイスの要求内
容(アクセス対象のターゲットアドレス、コマンド、デ
ータなど)を内部のディレイドトランザクションキュー
に格納し、バスマスタデバイスに対してリトライ応答を
返す。
When a bus master device on the primary PCI bus attempts to access a bus slave device on the secondary PCI bus via the bus bridge, the bus bridge firstly requests the bus master device for the requested contents (target address to be accessed, command , Data, etc.) in the internal delayed transaction queue and return a retry response to the bus master device.

【0008】リトライ応答を受け取ったバスマスタは、
プライマリPCIバスを一旦解放し、所定時間経過後に
再びプライマリPCIバスの使用権を獲得して同じアク
セスを再実行する。この間に、バスブリッジデバイスは
バスマスタデバイスが要求したアクセスをセカンダリP
CIバス上で実行し、バススレーブデバイスに対してラ
イト/リードアクセスを完了する。リードアクセスの場
合、バスブリッジはバススレーブデバイスから読出した
データを内部のディレイドトランザクションバッファに
格納する。バスブリッジは、バススレーブデバイスへの
アクセスが完了するまで、バスマスタデバイスからの再
アクセス要求に対してリトライ応答を返し続ける。
[0008] Upon receiving the retry response, the bus master
The primary PCI bus is once released, and after a lapse of a predetermined time, the right to use the primary PCI bus is acquired again to execute the same access again. During this time, the bus bridge device transfers the access requested by the bus master device to the secondary P.
Executes on the CI bus and completes write / read access to the bus slave device. In the case of read access, the bus bridge stores data read from the bus slave device in an internal delayed transaction buffer. The bus bridge keeps returning a retry response to the reaccess request from the bus master device until the access to the bus slave device is completed.

【0009】バスブリッジによるセカンダリPCIバス
上でのバススレーブアクセスが完了すると、その後、バ
スマスタデバイスによるトランザクションの再実行に対
して、バスブリッジはプライマリPCIバス上でデータ
転送応答を返し、これによりバスマスタデバイスによる
バススレーブデバイスへのアクセスが完了する。
When the bus bridge completes the bus slave access on the secondary PCI bus, the bus bridge returns a data transfer response on the primary PCI bus in response to the re-execution of the transaction by the bus master device. Access to the bus slave device is completed.

【0010】しかし、上述したようなディレイドトラン
ザクション方式では、バスマスタデバイスはリトライ応
答を受信した直後に、トランザクションを再実行するた
めにプライマリPCIバスの使用権を獲得する。したが
って、セカンダリPCIバス上でバススレーブデバイス
へのアクセスが完了しない限り、バスブリッジはバスマ
スタデバイスに対してリトライ応答を何度でも返しつづ
け、その結果、バスマスタデバイスはプライマリPCI
バスを長時間占有することになる。
However, in the above-described delayed transaction system, immediately after receiving the retry response, the bus master device acquires the right to use the primary PCI bus to execute the transaction again. Therefore, as long as the access to the bus slave device on the secondary PCI bus is not completed, the bus bridge continuously returns a retry response to the bus master device, so that the bus master device returns to the primary PCI bus.
The bus will be occupied for a long time.

【0011】そこで、トランザクションをリトライする
までの待ち時間を設定する従来例として、特開平10−
269169号公報に記載された「コンピュータシステ
ムおよびバストランザクション制御方法」がある。この
従来例では、バスブリッジ内に設けられたディレイドタ
イム生成回路で、待ち時間(ディレイドタイム)を予測
する手法が用いられている。この予測された待ち時間
は、トランザクションのリトライ応答中に、コマンド/
バイトイネーブル信号またはサイドバンド信号を使用し
てバスマスタデバイスに通知される。
Therefore, as a conventional example of setting a waiting time before retrying a transaction, Japanese Patent Laid-Open No.
There is a “computer system and bus transaction control method” described in Japanese Patent Application Publication No. 269169. In this conventional example, a method of estimating a waiting time (delayed time) is used in a delayed time generation circuit provided in a bus bridge. The estimated waiting time is determined by the command / retry response during the transaction retry response.
The bus master device is notified using a byte enable signal or a sideband signal.

【0012】[0012]

【発明が解決しようとする課題】しかしながら、上記従
来例には次のような問題点がある。
However, the above conventional example has the following problems.

【0013】まず、ディレイドタイムの予測に用いるデ
ィレイドタイムテーブルやディレイドタイム生成回路が
バスブリッジ内に設けられているため、過去に設計され
たバスブリッジやPCIバス仕様に準拠した汎用のバス
ブリッジが使用できず、新たに設計する必要がある。
First, since a delayed time table and a delayed time generation circuit used for predicting the delayed time are provided in the bus bridge, a bus bridge designed in the past or a general-purpose bus bridge conforming to the PCI bus specification is used. No, it needs to be redesigned.

【0014】また、バスマスタデバイスに待ち時間を通
知するために、コマンド/バイトイネーブル信号やサイ
ドバンド信号のようなPCIバス仕様で規定されていな
い信号を使用しており、PCIバス仕様に完全には準拠
していない。
Also, in order to notify the bus master device of the waiting time, signals not specified in the PCI bus specifications, such as command / byte enable signals and sideband signals, are used. Not compliant.

【0015】また、バスブリッジを介したバスアクセス
しか考慮されていないため、バスマスタデバイスと同じ
バス上に存在するバススレーブデバイスに対してバスマ
スタデバイスがバスアクセスを行なう場合には適用でき
ない。
Also, since only bus access via a bus bridge is considered, the present invention is not applicable when a bus master device performs a bus access to a bus slave device existing on the same bus as a bus master device.

【0016】この発明は上記のような問題点を解決する
ためになされたもので、その目的は、リトライによる無
駄なトランザクションの発行を低減し、バスマスタデバ
イスが接続されているバスのスループット低下を防止す
ることが可能なプロセッサシステムを提供することであ
る。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to reduce the issue of useless transactions due to retries and to prevent a decrease in throughput of a bus to which a bus master device is connected. To provide a processor system that can

【0017】この発明のもう1つの目的は、標準バス仕
様を逸脱することなく低コストで実現することが可能な
プロセッサシステムを提供することである。
Another object of the present invention is to provide a processor system which can be realized at low cost without departing from the standard bus specifications.

【0018】[0018]

【課題を解決するための手段】この発明によるプロセッ
サシステムは、第1および第2のバスと、第1のバスマ
スタデバイスと、バスブリッジと、1または2以上のバ
ススレーブデバイスとを備える。第1のバスマスタデバ
イスは、第1のバスに接続される。バスブリッジは、第
1および第2のバス間に接続され、ディレイドトランザ
クション機能を有する。バススレーブデバイスは、予め
定められた標準レイテンシを記憶するレイテンシ記憶手
段を含み、第2のバスに接続される。第1のバスマスタ
デバイスは、テーブル記憶手段と、初期化手段と、カウ
ント手段と、アクセス手段とを含む。テーブル記憶手段
は、標準レイテンシをバススレーブデバイスに対応づけ
たレイテンシテーブルを記憶するためのものである。初
期化手段は、バススレーブデバイスから当該標準レイテ
ンシを読出してテーブル記憶手段に格納する。カウント
手段は、テーブル記憶手段に格納された標準レイテンシ
をカウントするためのものである。アクセス手段は、バ
ススレーブデバイスに対してトランザクションを発行し
たときカウント手段を始動し、カウント手段がレイテン
シをカウントし終えたときトランザクションを再発行す
る。
A processor system according to the present invention includes first and second buses, a first bus master device, a bus bridge, and one or more bus slave devices. The first bus master device is connected to the first bus. The bus bridge is connected between the first and second buses and has a delayed transaction function. The bus slave device includes a latency storage unit that stores a predetermined standard latency, and is connected to the second bus. The first bus master device includes a table storage unit, an initialization unit, a count unit, and an access unit. The table storage means stores a latency table in which the standard latency is associated with the bus slave device. The initialization means reads the standard latency from the bus slave device and stores it in the table storage means. The counting means is for counting the standard latency stored in the table storage means. The access means starts the counting means when issuing the transaction to the bus slave device, and re-issues the transaction when the counting means finishes counting the latency.

【0019】このプロセッサシステムにおいては、バス
スレーブデバイスから標準レイテンシが読出され、バス
マスタデバイスのテーブル記憶手段に格納される。バス
マスタデバイスがバススレーブデバイスに対してトラン
ザクションを発行したときカウント手段はテーブル記憶
手段に格納された標準レイテンシをカウントし始め、カ
ウント手段がレイテンシをカウントし終えたときトラン
ザクションが再発行される。そのため、バスマスタデバ
イスからの無駄なトランザクションの発行回数が減り、
第1のバスのスループットの低下を防止することができ
る。また、バススレーブデバイスがレイテンシ記憶手段
を備えているため、標準バス仕様に準拠したバスブリッ
ジを使用することができる。
In this processor system, the standard latency is read from the bus slave device and stored in the table storage means of the bus master device. When the bus master device issues a transaction to the bus slave device, the counting means starts counting the standard latency stored in the table storage means, and when the counting means finishes counting the latency, the transaction is reissued. As a result, the number of unnecessary transactions issued from the bus master device decreases,
It is possible to prevent a decrease in the throughput of the first bus. In addition, since the bus slave device has the latency storage means, a bus bridge conforming to the standard bus specification can be used.

【0020】好ましくは、上記バススレーブデバイスは
コンフィグレーションレジスタを含む。上記レイテンシ
記憶手段はコンフィグレーションレジスタ内に含まれ
る。
Preferably, the bus slave device includes a configuration register. The latency storage means is included in a configuration register.

【0021】標準レイテンシは、PCIバス仕様に規定
されているコンフィグレーションレジスタに登録されて
いるため、標準レイテンシのために特に記憶領域を設け
る必要がない。
Since the standard latency is registered in a configuration register defined in the PCI bus specification, it is not necessary to provide a storage area for the standard latency.

【0022】好ましくは、上記プロセッサシステムはさ
らに、プロセッサと、メインメモリとを備える。メイン
メモリは、第1のバスマスタデバイスに接続される。第
1のバスマスタデバイスは、プロセッサおよび第1のバ
ス間に接続されたホストブリッジである。
Preferably, the processor system further includes a processor and a main memory. The main memory is connected to the first bus master device. The first bus master device is a host bridge connected between the processor and the first bus.

【0023】さらに好ましくは、上記ホストブリッジは
コンフィグレーションレジスタを含む。上記初期化手段
は、コンフィグレーションサイクルを発行することによ
りバススレーブデバイスのコンフィグレーションレジス
タから標準レイテンシを読出してホストブリッジのコン
フィグレーションレジスタに格納するコンフィグレーシ
ョン手段を含む。
More preferably, the host bridge includes a configuration register. The initialization means includes a configuration means for reading a standard latency from a configuration register of the bus slave device by issuing a configuration cycle and storing the read standard latency in the configuration register of the host bridge.

【0024】したがって、PCIバス仕様に規定されて
いるコンフィグレーションサイクルでバススレーブデバ
イスのコンフィグレーションレジスタから標準レイテン
シを読出し、ホストブリッジのコンフィグレーションレ
ジスタに格納することができる。
Therefore, the standard latency can be read from the configuration register of the bus slave device in the configuration cycle defined in the PCI bus specification and stored in the configuration register of the host bridge.

【0025】さらに好ましくは、上記プロセッサシステ
ムはさらに、第1のバスに接続された第2のバスマスタ
デバイスを備える。上記ホストブリッジは、レイテンシ
テーブルを第2のバスマスタデバイスに転送する手段を
含む。
More preferably, the processor system further includes a second bus master device connected to the first bus. The host bridge includes means for transferring the latency table to a second bus master device.

【0026】したがって、ホストブリッジが収集したバ
ススレーブデバイスの標準レイテンシを第2のバスマス
タデバイスも利用することができる。
Therefore, the standard latency of the bus slave device collected by the host bridge can be used by the second bus master device.

【0027】さらに好ましくは、上記第2のバスマスタ
デバイスは、コンフィグレーションレジスタと、ホスト
ブリッジから転送されたレイテンシテーブルを受信して
第2のバスマスタデバイスのコンフィギュレーションレ
ジスタに格納する手段とを含む。
[0027] More preferably, the second bus master device includes a configuration register and means for receiving the latency table transferred from the host bridge and storing the same in the configuration register of the second bus master device.

【0028】ホストブリッジから転送されたレイテンシ
テーブルは、PCIバス仕様に規定されているコンフィ
グレーションレジスタに格納されるため、レイテンシテ
ーブルのために特に記憶領域を設ける必要がない。
Since the latency table transferred from the host bridge is stored in the configuration register specified in the PCI bus specification, it is not necessary to provide a storage area for the latency table.

【0029】好ましくは、上記第1のバスマスタデバイ
スにはカウント手段が複数設けられる。上記バスブリッ
ジは、複数のディレイドトランザクションキューを含
む。複数のディレイドトランザクションキューは、複数
のカウント手段に対応して設けられ、バスマスタデバイ
スから受信した複数のトランザクションの情報をそれぞ
れ記憶する。
Preferably, the first bus master device is provided with a plurality of counting means. The bus bridge includes a plurality of delayed transaction queues. The plurality of delayed transaction queues are provided corresponding to the plurality of counting means, and store information of the plurality of transactions received from the bus master device.

【0030】したがって、バスマスタデバイスが複数の
トランザクションを同時に発行しても、複数のディレイ
ドトランザクションキューがその複数のトランザクショ
ンの情報を記憶する。そのため、すべてのトランザクシ
ョンにおいて無駄なリトライ応答がなくなり、第1のバ
スのスループットの低下を防止することができる。
Therefore, even if the bus master device issues a plurality of transactions at the same time, a plurality of delayed transaction queues store information on the plurality of transactions. Therefore, there is no useless retry response in all transactions, and a decrease in the throughput of the first bus can be prevented.

【0031】好ましくは、上記アクセス手段は、バスブ
リッジから発行されたリトライを受信したとき第1のバ
スを一旦解放する。
Preferably, the access means temporarily releases the first bus when receiving a retry issued from the bus bridge.

【0032】したがって、第1のバスが解放されている
間に他のバスマスタデバイスが第1のバスの使用権を獲
得することができる。
Accordingly, another bus master device can acquire the right to use the first bus while the first bus is released.

【0033】好ましくは、上記アクセス手段は、トラン
ザクションを再発行した場合においてリトライを再び受
信したときは、予め定められた待ち時間経過後にトラン
ザクションを再発行する。
Preferably, when a retry is received again when the transaction is reissued, the access means reissues the transaction after a predetermined waiting time has elapsed.

【0034】バスマスタデバイスがバススレーブデバイ
スにアクセスする場合において、1回目のトランザクシ
ョンに対してリトライを受信し、レイテンシテーブルを
参照して得た標準レイテンシの時間だけ待った後に2回
目のトランザクションを再発行したとき再度リトライを
受信するのであれば、バススレーブデバイスの内部処理
で遅延が発生していることが考えられる。特に低速なバ
ススレーブデバイスの場合、標準レイテンシが非常に長
くなっているため、2回目のトランザクションでリトラ
イを受信した後、もう1度その長い標準レイテンシの時
間だけ待つことは無駄であることが多い。そこで、2回
目のリトライ受信以降の待ち時間においては、レイテン
シテーブルの標準レイテンシを使用するのではなく、予
め定められた待ち時間経過後にトランザクションを再発
行する。これによりバススレーブデバイスへのアクセス
を早く終了することができる。
When the bus master device accesses the bus slave device, it receives a retry for the first transaction, waits for the standard latency obtained by referring to the latency table, and then reissues the second transaction. If a retry is received again, a delay may have occurred in internal processing of the bus slave device. Particularly in the case of a low-speed bus slave device, since the standard latency is very long, it is often useless to wait for the longer standard latency once after receiving a retry in the second transaction. . Therefore, in the waiting time after the second retry reception, the transaction is reissued after the elapse of a predetermined waiting time instead of using the standard latency of the latency table. As a result, access to the bus slave device can be terminated early.

【0035】さらに好ましくは、上記アクセス手段は、
トランザクションの発行回数が多くなるに従って待ち時
間を短くする。
[0035] More preferably, said access means comprises:
The waiting time is reduced as the number of issued transactions increases.

【0036】したがって、バススレーブデバイスへのア
クセスをさらに早く終了することができる。
Therefore, the access to the bus slave device can be completed earlier.

【0037】さらに好ましくは、上記アクセス手段は、
リトライの受信回数を監視し、受信回数が予め定められ
た回数よりも多いとき標準レイテンシをより長いレイテ
ンシに書換える。
[0037] More preferably, said access means comprises:
The number of retries received is monitored, and if the number of retries is greater than a predetermined number, the standard latency is rewritten to a longer latency.

【0038】ホストブリッジがバススレーブデバイスに
アクセスする場合において、レイテンシテーブルの標準
レイテンシを使用して待っているにもかかわらず、繰返
しリトライを受信する場合がある。この場合、実際のレ
イテンシは、バススレーブデバイスが想定していた標準
レイテンシよりも常に長くなっていることが考えられ
る。このような場合、レイテンシテーブルの該当する標
準レイテンシをより長いレイテンシに書換えることによ
り、無駄なリトライの発生を防ぐことができる。
When the host bridge accesses the bus slave device, it may repeatedly receive retries despite waiting using the standard latency of the latency table. In this case, the actual latency may be always longer than the standard latency assumed by the bus slave device. In such a case, by rewriting the corresponding standard latency in the latency table to a longer latency, useless retry can be prevented.

【0039】好ましくは、上記アクセス手段は、バース
トトランザクションを発行する場合、標準レイテンシに
バースト時間を加えたレイテンシを算出する。カウント
手段は、算出されたレイテンシをカウントする。
Preferably, when issuing a burst transaction, the access means calculates a latency obtained by adding a burst time to a standard latency. The counting means counts the calculated latency.

【0040】バーストアクセスの場合、標準レイテンシ
の時間だけ待った後、2回目のトランザクションを発行
したときはバスブリッジおよびバススレーブデバイスの
間で2回目以降のバーストデータを転送中であるため、
バスブリッジはバスマスタデバイスに対して必ずリトラ
イ応答を返すことになる。これを回避するために、標準
レイテンシにバースト転送の単位サイクルを予め加算し
て得たレイテンシを新しいレイテンシとすることで、無
駄なリトライを防ぐことができる。
In the case of burst access, after waiting for the standard latency time, when the second transaction is issued, the second and subsequent burst data is being transferred between the bus bridge and the bus slave device.
The bus bridge always returns a retry response to the bus master device. In order to avoid this, the latency obtained by previously adding the unit cycle of the burst transfer to the standard latency is set as a new latency, so that unnecessary retry can be prevented.

【0041】上記第1および第2のバスは互いに異なる
クロック周波数を有する。上記アクセス手段は、第2の
バスのクロック周波数におけるレイテンシを第1のバス
のクロック周波数におけるレイテンシに換算する。カウ
ント手段は、換算されたレイテンシをカウントする。
The first and second buses have different clock frequencies. The access means converts the latency at the clock frequency of the second bus into the latency at the clock frequency of the first bus. The counting means counts the converted latency.

【0042】たとえば、第1のバスのクロック周波数が
66MHz、第2のバスのクロック周波数が33MHz
である場合、バススレーブデバイスの標準レイテンシが
10サイクルであるとする。バスマスタデバイス内のカ
ウント手段は第1のバスのクロックを使用してカウント
するため、バスマスタデバイスは66MHzで10サイ
クルをカウントすることになる。これは、33MHzの
クロック周波数では5サイクルになり、本来の標準レイ
テンシ(33MHzで10サイクル)よりも小さいた
め、必ず無駄なリトライ応答が発生してしまう。
For example, the clock frequency of the first bus is 66 MHz, and the clock frequency of the second bus is 33 MHz.
, It is assumed that the standard latency of the bus slave device is 10 cycles. Since the counting means in the bus master device counts using the clock of the first bus, the bus master device counts 10 cycles at 66 MHz. This is 5 cycles at a clock frequency of 33 MHz, which is smaller than the original standard latency (10 cycles at 33 MHz), so that a useless retry response always occurs.

【0043】そこで、第1および第2のバスのクロック
周波数が異なる場合、カウント手段で使用する標準レイ
テンシはそれらクロック周波数の差に応じて再計算され
る。その計算後のレイテンシを使用する。
Therefore, when the clock frequencies of the first and second buses are different, the standard latency used by the counting means is recalculated according to the difference between the clock frequencies. The calculated latency is used.

【0044】好ましくは、上記第1のバスマスタデバイ
スはコンフィグレーションレジスタを含む。コンフィグ
レーションレジスタは、カウント手段を有していること
を示すステータスフラグを有する。
[0044] Preferably, the first bus master device includes a configuration register. The configuration register has a status flag indicating that the configuration register has counting means.

【0045】したがって、ホストブリッジはコンフィグ
レーションレジスタのステータスフラグを参照し、バス
マスタデバイスがカウント手段を備えているか否かを判
別することができる。
Therefore, the host bridge can determine whether or not the bus master device has the counting means by referring to the status flag of the configuration register.

【0046】好ましくは、上記第1のバスマスタデバイ
スはコンフィグレーションレジスタを含む。上記コンフ
ィグレーションレジスタは、レイテンシ記憶手段を有し
ていることを示すステータスフラグを有する。
Preferably, the first bus master device includes a configuration register. The configuration register has a status flag indicating that a latency storage unit is provided.

【0047】したがって、ホストブリッジは、レイテン
シ記憶手段を有しているバススレーブデバイスに対して
だけディレイサイクル数のコンフィグレーションリード
を実行すればよい。そのため、ホストブリッジはステー
タスフラグを参照することにより、バスマスタデバイス
がレイテンシ記憶手段を有しているか否かを判別するこ
とができる。
Therefore, the host bridge only needs to execute the configuration read for the number of delay cycles to the bus slave device having the latency storage means. Therefore, by referring to the status flag, the host bridge can determine whether or not the bus master device has the latency storage unit.

【0048】この発明の他のプロセッサシステムは、バ
スと、バスマスタデバイスと、1または2以上のバスス
レーブデバイスとを備える。バスマスタデバイスは、バ
スに接続される。バススレーブデバイスは、予め定めら
れた標準レイテンシを記憶するレイテンシ記憶手段を含
み、バスに接続される。バスマスタデバイスは、テーブ
ル記憶手段と、初期化手段と、カウント手段と、アクセ
ス手段とを含む。テーブル記憶手段は、標準レイテンシ
をバススレーブデバイスに対応づけたレイテンシテーブ
ルを記憶するためのものである。カウント手段は、テー
ブル記憶手段に格納された標準レイテンシをカウントす
るためのものである。アクセス手段は、バススレーブデ
バイスに対してトランザクションを発行したときカウン
ト手段を始動し、カウント手段がレイテンシをカウント
し終えたときトランザクションを再発行する。
Another processor system of the present invention includes a bus, a bus master device, and one or more bus slave devices. The bus master device is connected to the bus. The bus slave device includes a latency storage unit that stores a predetermined standard latency, and is connected to the bus. The bus master device includes a table storage unit, an initialization unit, a count unit, and an access unit. The table storage means stores a latency table in which the standard latency is associated with the bus slave device. The counting means is for counting the standard latency stored in the table storage means. The access means starts the counting means when issuing the transaction to the bus slave device, and re-issues the transaction when the counting means finishes counting the latency.

【0049】このプロセッサシステムにおいても上記と
同様に、バスマスタデバイスからの無駄なトランザクシ
ョンの発行回数が減り、バスのスループットの低下を防
止することができる。
In this processor system, similarly to the above, the number of unnecessary transactions issued from the bus master device can be reduced, and a decrease in bus throughput can be prevented.

【0050】[0050]

【発明の実施の形態】以下、この発明の実施の形態を図
面を参照して詳しく説明する。なお、図中同一または相
当部分には同一符号を付してその説明は繰返さない。
Embodiments of the present invention will be described below in detail with reference to the drawings. In the drawings, the same or corresponding portions have the same reference characters allotted, and description thereof will not be repeated.

【0051】[実施の形態1]図1は、この発明の実施
の形態1によるプロセッサシステム(以下「本システ
ム」という)の全体構成を示す概略ブロック図である。
本システムは、図1に示すように、プライマリPCIバ
ス1と、セカンダリPCIバス2と、ホストブリッジ3
と、バスマスタ4と、バスブリッジ5と、第1のバスス
レーブ6と、第2のバススレーブ7と、CPU(Centra
l Processing Unit)8とを備える。ホストブリッジ3
は、CPU8とプライマリPCIバス1との間に接続さ
れる。バスマスタ4は、プライマリPCIバス1に接続
される。バスブリッジ5は、プライマリPCIバス1と
セカンダリPCIバス2との間に接続される。第1のバ
ススレーブ6および第2のバススレーブ7は、セカンダ
リPCIバス2にそれぞれ接続される。ホストブリッジ
3は、システムバス10経由でCPU8に接続され、さ
らにメモリバス11経由でメインメモリ9に接続され
る。以下、ホストブリッジ3、バスマスタ4、バススレ
ーブ6,7を総称して、「PCIデバイス」という。
[First Embodiment] FIG. 1 is a schematic block diagram showing an overall configuration of a processor system (hereinafter referred to as "the present system") according to a first embodiment of the present invention.
As shown in FIG. 1, the system includes a primary PCI bus 1, a secondary PCI bus 2, and a host bridge 3.
, A bus master 4, a bus bridge 5, a first bus slave 6, a second bus slave 7, and a CPU (Centra
l Processing Unit) 8. Host bridge 3
Is connected between the CPU 8 and the primary PCI bus 1. The bus master 4 is connected to the primary PCI bus 1. The bus bridge 5 is connected between the primary PCI bus 1 and the secondary PCI bus 2. The first bus slave 6 and the second bus slave 7 are connected to the secondary PCI bus 2 respectively. The host bridge 3 is connected to the CPU 8 via the system bus 10 and further connected to the main memory 9 via the memory bus 11. Hereinafter, the host bridge 3, the bus master 4, and the bus slaves 6, 7 are collectively referred to as "PCI devices".

【0052】図1では1つのバスマスタ4がプライマリ
PCIバス1に接続されているだけであるが、2以上の
バスマスタがプライマリPCIバス1やセカンダリPC
Iバス2に接続されていてもよい。また、図1では2つ
のバススレーブ6,7がセカンダリPCIバス2に接続
されているだけであるが、1又は2以上のバススレーブ
がプライマリPCIバス1に接続されていてもよく、2
以上のバススレーブがセカンダリPCIバス1に接続さ
れていてもよい。
In FIG. 1, only one bus master 4 is connected to the primary PCI bus 1, but two or more bus masters are connected to the primary PCI bus 1 and the secondary PC.
It may be connected to the I bus 2. Although only two bus slaves 6 and 7 are connected to the secondary PCI bus 2 in FIG. 1, one or more bus slaves may be connected to the primary PCI bus 1.
The above bus slaves may be connected to the secondary PCI bus 1.

【0053】PCIバス1,2は、PCIバス仕様に準
拠したクロック同期式のバスである。プライマリPCI
バス1のクロック周波数は66MHzであり、セカンダ
リPCIバス2のクロック周波数は33MHzである。
各バス幅が32ビットの場合、プライマリPCIバス1
の最高データ転送レートは266Mバイト/秒であり、
セカンダリPCIバス2の最高データ転送レートは13
3Mバイト/秒である。
The PCI buses 1 and 2 are clock synchronous buses based on the PCI bus specification. Primary PCI
The clock frequency of the bus 1 is 66 MHz, and the clock frequency of the secondary PCI bus 2 is 33 MHz.
When each bus width is 32 bits, the primary PCI bus 1
Has a maximum data transfer rate of 266 Mbytes / sec.
The maximum data transfer rate of the secondary PCI bus 2 is 13
3 Mbytes / sec.

【0054】CPU8は中央演算処理装置(メインプロ
セッサ)であり、メモリ(図示せず)に格納されたプロ
グラムを実行してホストブリッジ3を制御し、これによ
りPCIデバイス4,6,7を動作させる。CPU8
は、たとえばRISC(Reduced Instruction Set Comp
uter)方式を採用したマイクロプロセッサなどによって
実現される。
The CPU 8 is a central processing unit (main processor), controls the host bridge 3 by executing a program stored in a memory (not shown), and thereby operates the PCI devices 4, 6, and 7. . CPU8
Is, for example, RISC (Reduced Instruction Set Comp
This is realized by a microprocessor using the uter) method.

【0055】システムバス10は、アドレス/データバ
ス、コマンド信号線、各種制御信号線などから構成され
る。CPU8は、このシステムバス10を介してホスト
ブリッジ3に各種命令を発行する。
The system bus 10 includes an address / data bus, command signal lines, various control signal lines, and the like. The CPU 8 issues various commands to the host bridge 3 via the system bus 10.

【0056】メインメモリ9は、本システムで処理され
る各種データを格納するためのもので、CPU8がプロ
グラムを実行するときの作業領域やデータバッファとし
ても使用される。また、メインメモリ9はPCIアドレ
ス空間に割当てられ、バスマスタ4からもアクセス可能
な領域となっている。メインメモリ9は、たとえば相互
に接続された複数のSDRAM(Synchronaus Dynamic
Random Access Memory)などから構成される。
The main memory 9 stores various data processed by the present system, and is also used as a work area and a data buffer when the CPU 8 executes a program. The main memory 9 is allocated to the PCI address space and is an area that can be accessed from the bus master 4. The main memory 9 includes, for example, a plurality of SDRAMs (Synchronaus Dynamic
Random Access Memory).

【0057】メモリバス11は、アドレスバス、データ
バス、各種メモリ制御信号線などから構成される。ホス
トブリッジ3は、このメモリバス11を介してメインメ
モリ9へのリード/ライト制御を行なう。
The memory bus 11 includes an address bus, a data bus, various memory control signal lines, and the like. The host bridge 3 performs read / write control on the main memory 9 via the memory bus 11.

【0058】ホストブリッジ3は、CPU8からの命令
に従って、メインメモリ9や他のPCIデバイスに対し
てアクセスを行なうバスマスタデバイスとして機能する
とともに、PCIバス1,2に接続されている他のバス
マスタデバイスから内部リソースへのアクセスに対して
応答するバススレーブデバイスとして機能する。
The host bridge 3 functions as a bus master device for accessing the main memory 9 and other PCI devices in accordance with an instruction from the CPU 8, and receives signals from other bus master devices connected to the PCI buses 1 and 2. Functions as a bus slave device that responds to access to internal resources.

【0059】バスマスタ4は、プライマリPCIバス1
のバスマスタデバイスとして機能し、ホストブリッジ3
(バススレーブデバイスとして機能する場合)を含むP
CIバス1,2上のすべてのPCIデバイスに対してア
クセスを行なうことができる。また、バスマスタ4は、
PCIバス1,2上の他のバスマスタデバイス(たとえ
ばホストブリッジ3)からのアクセス要求に応答するバ
ススレーブデバイスとしても機能する。
The bus master 4 is a primary PCI bus 1
Function as a bus master device for the host bridge 3
P including (when functioning as a bus slave device)
All PCI devices on the CI buses 1 and 2 can be accessed. In addition, the bus master 4
It also functions as a bus slave device responding to an access request from another bus master device (for example, host bridge 3) on the PCI buses 1 and 2.

【0060】バスマスタ機能を有するPCIデバイスと
して、たとえばPCIバスに接続可能なネットワークコ
ントローラがある。バスマスタ機能を有するネットワー
クコントローラは、外部のネットワークインタフェース
からデータを受信すると、PCIバスのバスマスタとな
り、メインメモリ9に対してデータを送信することがで
きる。
As a PCI device having a bus master function, for example, there is a network controller connectable to a PCI bus. Upon receiving data from an external network interface, the network controller having the bus master function becomes a bus master of the PCI bus and can transmit data to the main memory 9.

【0061】ここで、バスマスタがPCIバスの使用権
を獲得する方法について説明する。PCIバス上のすべ
てのバスマスタは、共通のバス使用要求信号線(図示せ
ず)および共通のバス使用許可信号線(図示せず)を介
してバスアービタ(図示せず)に接続されている。PC
Iバスを使用したいバスマスタは、まずバスアービタに
対してバス使用要求信号をアサートする。バスアービタ
は内部の調停部で各バスマスタからのバス使用要求信号
を調停(アービトレーション)し、バスの使用を許可す
るバスマスタに対してだけバス使用許可信号をアサート
してバスの使用許可を通知する。バス使用許可信号を受
信したバスマスタは、PCIバスがアイドルフェーズに
なるのを待ってバストランザクションを開始する。
Here, a method in which the bus master acquires the right to use the PCI bus will be described. All bus masters on the PCI bus are connected to a bus arbiter (not shown) via a common bus use request signal line (not shown) and a common bus use permission signal line (not shown). PC
A bus master who wants to use the I bus first asserts a bus use request signal to the bus arbiter. The bus arbiter arbitrates (arbitrates) a bus use request signal from each bus master in an internal arbitration unit, and asserts a bus use permission signal only to a bus master that permits use of the bus to notify the bus use permission. The bus master that has received the bus use permission signal starts a bus transaction after the PCI bus enters an idle phase.

【0062】バススレーブ6,7は、ホストブリッジ3
またはバスマスタ4からのアクセス要求に対して応答す
るバススレーブデバイスとして機能する。
The bus slaves 6 and 7 are connected to the host bridge 3
Alternatively, it functions as a bus slave device responding to an access request from the bus master 4.

【0063】バススレーブ機能を有するPCIデバイス
として、たとえばPCIバスに接続可能なUSB(Univ
ersal Serial Bus)コントローラがある。USBコント
ローラは、外部のUSBインタフェースからデータを受
信して内部のバッファメモリに格納する。その後、ホス
トブリッジ3がバスマスタデバイスとして機能し、これ
によりそのバッファメモリからデータを読出してメイン
メモリ9に格納する。本システムは、このようにして外
部のUSBインタフェースから受信したデータをPCI
バス1,2を介してメインメモリ9に転送することがで
きる。
As a PCI device having a bus slave function, for example, a USB (Univ.
ersal Serial Bus) controller. The USB controller receives data from an external USB interface and stores the data in an internal buffer memory. Thereafter, the host bridge 3 functions as a bus master device, whereby data is read from the buffer memory and stored in the main memory 9. The present system converts the data received from the external USB interface into a PCI
The data can be transferred to the main memory 9 via the buses 1 and 2.

【0064】バスブリッジ5は、2つのPCIバス1,
2を相互に接続するPCI−PCIブリッジであり、2
つのPCIバス1,2間でトランザクションを相互に伝
達する機能を有する。バスブリッジ5はまた、PCI−
PCIブリッジ仕様で規定されているディレイドトラン
ザクション機能を有する。
The bus bridge 5 has two PCI buses 1,
2 is a PCI-PCI bridge that interconnects
It has a function of mutually transmitting transactions between the two PCI buses 1 and 2. The bus bridge 5 also has a PCI-
It has a delayed transaction function defined in the PCI bridge specification.

【0065】図2は、本システムの全体構成を示す詳細
ブロック図である。図2に示すように、バスブリッジ5
は、ディレイドトランザクションを行なうために、ディ
レイドトランザクションバッファ52と、ディレイドト
ランザクションキュー53とを含む。バスブリッジ5
は、ホストブリッジ3やバスマスタ4のようなバスマス
タデバイスから発行されたトランザクションを受信する
と、まずそのトランザクションの情報(アドレス、コマ
ンド、ライトデータなど)をディレイドトランザクショ
ンキュー53に保存し、そのバスマスタデバイスに対し
てリトライ応答を返す。リトライ応答を受信したバスマ
スタデバイスは、バスブリッジ5からデータ転送応答を
受信するまで、そのトランザクションを再発行する。こ
の間に、バスブリッジ5はバスマスタデバイスの代わり
に第1のバススレーブ6や第2のバススレーブ7のよう
なバススレーブデバイスにアクセスし、データの送受信
を完了した後、そのデータをディレイドトランザクショ
ンバッファ52に保存する。その後、バスブリッジ5
は、バスマスタデバイスからのトランザクションに応答
して、ディレイドトランザクションバッファ52のデー
タを使用してデータ転送応答を返す。バスマスタデバイ
スとのバスアクセスが完了すると、ディレイドトランザ
クションキュー53およびディレイドトランザクション
バッファ52の内容は消去される。
FIG. 2 is a detailed block diagram showing the overall configuration of the present system. As shown in FIG.
Includes a delayed transaction buffer 52 and a delayed transaction queue 53 for performing a delayed transaction. Bus bridge 5
When a transaction issued from a bus master device such as the host bridge 3 or the bus master 4 is received, the transaction information (address, command, write data, etc.) is first stored in a delayed transaction queue 53, and Return a retry response. The bus master device that has received the retry response reissues the transaction until a data transfer response is received from the bus bridge 5. During this time, the bus bridge 5 accesses a bus slave device such as the first bus slave 6 or the second bus slave 7 instead of the bus master device, and after completing data transmission / reception, transfers the data to the delayed transaction buffer 52. To save. After that, bus bridge 5
Responds to a transaction from the bus master device with a data transfer response using the data in the delayed transaction buffer 52. When the bus access with the bus master device is completed, the contents of the delayed transaction queue 53 and the delayed transaction buffer 52 are erased.

【0066】また、ホストブリッジ3、バスマスタ4、
バスブリッジ5、バススレーブ6,7は、PCIバス仕
様に準拠したコンフィグレーションレジスタ31,4
1,51,61,71をそれぞれ含む。
The host bridge 3, bus master 4,
The bus bridge 5 and the bus slaves 6 and 7 include configuration registers 31 and 4 conforming to the PCI bus specification.
1, 51, 61, and 71, respectively.

【0067】コンフィグレーションレジスタ31,4
1,51,61,71の各々は、図3に示すように、ア
ドレス00h〜FFhの256バイトのコンフィグレー
ション空間を有し、PCIバス仕様で定義されたヘッダ
部(アドレス00h〜3Fh)とデバイスの固有領域
(アドレス40h〜FFh)とに分けられる。
Configuration registers 31 and 4
As shown in FIG. 3, each of 1, 1, 61, and 71 has a configuration space of 256 bytes of addresses 00h to FFh, and includes a header part (addresses 00h to 3Fh) defined by the PCI bus specification and a device. (Addresses 40h to FFh).

【0068】固有領域はデバイスごとに自由に使用する
ことができる。各ヘッダ部は、PCIバス仕様に従っ
て、図4に示すように、デバイス(Device)ID、ベン
ダ(Vender)ID、ステータス(Status)レジスタ、コ
マンド(Command)レジスタ、ベースアドレスレジスタ
(BAR;Base Address Register)などで構成されて
いる。ベースアドレスレジスタBAR0〜BAR5の各
々には、32ビットのベースアドレスを設定することが
でき、アドレス10hのベースアドレスレジスタBAR
0からアドレス24hのベースアドレスレジスタBAR
5まで順番に必要な個数だけ使用することができる。
The unique area can be used freely for each device. According to the PCI bus specification, each header section includes a device (Device) ID, a vendor (Vender) ID, a status (Status) register, a command (Command) register, and a base address register (BAR), as shown in FIG. ). A 32-bit base address can be set in each of the base address registers BAR0 to BAR5, and the base address register BAR of the address 10h is set.
Base address register BAR from address 0 to address 24h
As many as five can be used in order.

【0069】バススレーブ6,7のコンフィグレーショ
ンレジスタ61,71の各々においては、図5に示すよ
うに、ヘッダ部のベースアドレスレジスタBAR0〜B
AR5に対応してベースアドレスディレイレジスタBA
DR0(アドレス40h)〜BADR5(アドレス54
h)が固有領域に設けられる。各ベースアドレスディレ
イレジスタには、対応するベースアドレスレジスタのデ
ィレイサイクル数が予め格納される。このディレイサイ
クル数は、バススレーブデバイスとして機能する各PC
Iデバイスの標準レイテンシであり、より具体的には各
PCIデバイスが内部のI/O空間やメモリ空間へのア
クセス要求を受信してからデータ送受信可能な状態(デ
ータ転送フェーズ)に至るまでの最短時間に相当する。
ディレイサイクル数は、PCIデバイスが接続されてい
るPCIバス1または2のクロック周波数を基準にした
サイクル数(クロック数)で格納される。
In each of the configuration registers 61 and 71 of the bus slaves 6 and 7, as shown in FIG.
Base address delay register BA corresponding to AR5
DR0 (address 40h) to BADR5 (address 54
h) is provided in the unique area. Each base address delay register previously stores the number of delay cycles of the corresponding base address register. This number of delay cycles depends on each PC functioning as a bus slave device.
This is the standard latency of the I device, and more specifically, the shortest time from when each PCI device receives a request to access the internal I / O space or memory space to when data can be transmitted / received (data transfer phase). Equivalent to time.
The number of delay cycles is stored as the number of cycles (the number of clocks) based on the clock frequency of the PCI bus 1 or 2 to which the PCI device is connected.

【0070】一方、ホストブリッジ3およびバスマスタ
4はバスマスタデバイスとしてだけでなくバススレーブ
デバイスとしても機能するため、ホストブリッジ3およ
びバスマスタ4のコンフィグレーションレジスタ31,
41の各々においては、上記バススレーブデバイスと同
様、図6に示すようにベースアドレスディレイレジスタ
BADR0(アドレス40h)〜BADR5(アドレス
54h)が固有領域に設けられ、各ベースアドレスディ
レイレジスタには対応するベースアドレスレジスタのデ
ィレイサイクル数が予め格納される。
On the other hand, since the host bridge 3 and the bus master 4 function not only as a bus master device but also as a bus slave device, the configuration registers 31,
41, base address delay registers BADR0 (address 40h) to BADR5 (address 54h) are provided in the unique area as shown in FIG. 6, similarly to the bus slave device, and correspond to each base address delay register. The number of delay cycles in the base address register is stored in advance.

【0071】また、ホストブリッジ3およびバスマスタ
4はバスマスタデバイスとしても機能するため、各固有
領域にはディレイサイクル(レイテンシ)テーブルを格
納するための領域(アドレス60h〜FFh)が確保さ
れている。そして、アドレスブロックPADR1〜PA
DR20にはPCIアドレス空間におけるPCIデバイ
スのベースアドレスがそれぞれ格納され、アドレスブロ
ックPDLY1〜PDLY20にはPCIデバイスのデ
ィレイサイクル数がそれぞれ格納される。
Since the host bridge 3 and the bus master 4 also function as bus master devices, areas (addresses 60h to FFh) for storing a delay cycle (latency) table are secured in each unique area. Then, the address blocks PADR1 to PADR
The DR 20 stores the base address of the PCI device in the PCI address space, and the address blocks PDLY1 to PDLY20 store the number of delay cycles of the PCI device, respectively.

【0072】また、図2に示すように、ホストブリッジ
3およびバスマスタ4はディレイサイクルカウンタ3
2,42をそれぞれ含む。ホストブリッジ3がバスマス
タデバイスとして機能する場合、ホストブリッジ3のデ
ィレイサイクルカウンタ32は、コンフィグレーション
レジスタ31のディレイサイクルテーブルを参照して、
トランザクションを発行したにもかかわらずリトライ応
答を返してきたPCIデバイスのディレイサイクル数を
カウントする。バスマスタ4のディレイサイクルカウン
タ42もこれと同様である。
As shown in FIG. 2, the host bridge 3 and the bus master 4 are provided with a delay cycle counter 3
2, 42 respectively. When the host bridge 3 functions as a bus master device, the delay cycle counter 32 of the host bridge 3 refers to the delay cycle table of the configuration register 31 and
The number of delay cycles of the PCI device that returns a retry response despite issuing a transaction is counted. The same applies to the delay cycle counter 42 of the bus master 4.

【0073】なお図2では、バスブリッジ5にはディレ
イドトランザクションバッファ52およびディレイドト
ランザクションキュー53が1組しか示されていない
が、通常は複数組設けられる。その場合、ホストブリッ
ジ3およびバスマスタ4はバスブリッジ5を介してバス
スレーブ6,7に対して同時に複数のバスアクセスを発
行することができる。そこで、ホストブリッジ3および
バスマスタ4内にディレイサイクルカウンタ32,42
を、ディレイドトランザクションバッファ52およびデ
ィレイドトランザクションキュー53の組数と同じ数だ
け設けることで、同一のバスマスタデバイスから発行さ
れた複数のディレイドトランザクションのために、それ
ぞれ別のディレイサイクルカウンタを割当てることがで
き、すべてのトランザクションにおいて無駄なリトライ
応答がなくなる。
Although only one set of the delayed transaction buffer 52 and the delayed transaction queue 53 is shown in the bus bridge 5 in FIG. 2, a plurality of sets are usually provided. In this case, the host bridge 3 and the bus master 4 can simultaneously issue a plurality of bus accesses to the bus slaves 6 and 7 via the bus bridge 5. Therefore, delay cycle counters 32 and 42 are provided in host bridge 3 and bus master 4.
Are provided by the same number as the number of sets of the delayed transaction buffer 52 and the delayed transaction queue 53, so that different delay cycle counters can be assigned to a plurality of delayed transactions issued from the same bus master device, respectively. Useless retry responses are eliminated in all transactions.

【0074】次に、本システムの動作について説明す
る。 <コンフィグレーションサイクル>まず、PCIアドレ
ス空間を初期化するコンフィグレーションの手順を図7
のフローチャートを参照して説明する。
Next, the operation of the present system will be described. <Configuration Cycle> First, the configuration procedure for initializing the PCI address space is shown in FIG.
This will be described with reference to the flowchart of FIG.

【0075】CPU8はホストブリッジ3を制御して、
PCIバス1,2に接続されているすべてのPCIデバ
イスをサーチさせる(ステップS101)。ここでは、
第1のバススレーブ6、第2のバススレーブ7、および
バスマスタ4の3つのPCIデバイスが検知される。
The CPU 8 controls the host bridge 3 and
All the PCI devices connected to the PCI buses 1 and 2 are searched (step S101). here,
Three PCI devices, a first bus slave 6, a second bus slave 7, and a bus master 4, are detected.

【0076】次に、CPU8はホストブリッジ3を制御
して、すべてのPCIデバイス3〜7のコンフィグレー
ションレジスタ31,41,51,61,71からコン
フィグレーション情報を取得する(ステップS10
2)。各コンフィグレーションレジスタのベースアドレ
スレジスタBAR0,BAR1の初期値を調べること
で、各PCIデバイスが必要としているメモリ空間およ
びI/O空間のサイズを知ることができる。
Next, the CPU 8 controls the host bridge 3 to acquire configuration information from the configuration registers 31, 41, 51, 61, 71 of all the PCI devices 3 to 7 (step S10).
2). By checking the initial values of the base address registers BAR0 and BAR1 of each configuration register, it is possible to know the size of the memory space and the I / O space required by each PCI device.

【0077】ここで、ベースアドレスレジスタの構造を
説明する。各ベースアドレスレジスタの最下位ビット0
はメモリ空間かI/O空間かを示し、このビットが
「0」のときはメモリ空間を表わし、「1」のときはI
/O空間を表わしている。また、必要とするアドレス空
間のサイズに合わせて下位何ビットかが「0」のリード
専用ビットとして実装される。
Here, the structure of the base address register will be described. Least significant bit 0 of each base address register
Indicates a memory space or an I / O space. When this bit is “0”, it indicates a memory space.
/ O space. In addition, some lower bits are implemented as read-only bits of “0” according to the required size of the address space.

【0078】たとえば図8に示すように、第1のバスス
レーブ6のコンフィグレーションレジスタ61において
は、ベースアドレスレジスタBAR0(アドレス10
h)の初期値は「FFC00000h」である。これ
は、最下位ビットが「0」であることからメモリ空間を
要求していることを意味し、ビット21以下がすべて
「0」のリード専用ビットとして実装してあることから
メモリ空間のサイズとして4Mバイトを要求しているこ
とを意味する。また、ベースアドレスレジスタBAR1
(アドレス14h)の初期値は「FFFFFF01h」
である。これは、最下位ビットが「1」であることから
I/O空間を要求していることを意味し、ビット7以下
がすべて「0」のリード専用ビットとして実装してある
ことからI/O空間のサイズとして256バイトを要求
していることを意味する。
For example, as shown in FIG. 8, in the configuration register 61 of the first bus slave 6, a base address register BAR0 (address 10)
The initial value of h) is “FFC00000h”. This means that the least significant bit is “0”, requesting the memory space, and since bits 21 and below are all implemented as read-only bits of “0”, the size of the memory space is This means that 4 Mbytes are requested. Also, the base address register BAR1
The initial value of (address 14h) is “FFFFFF01h”
It is. This means that the least significant bit is “1”, requesting the I / O space, and since bits 7 and below are all implemented as read-only bits of “0”, the I / O space is required. This means that 256 bytes are required as the size of the space.

【0079】したがって、第1のバススレーブ6のコン
フィグレーションレジスタ61のベースアドレスレジス
タBAR0およびBAR1から、第1のバススレーブ6
は4Mバイトのメモリ空間および256バイトのI/O
空間を必要としていることがわかる。
Therefore, from the base address registers BAR0 and BAR1 of the configuration register 61 of the first bus slave 6, the first bus slave 6
Is 4 Mbytes of memory space and 256 bytes of I / O
It turns out that it needs space.

【0080】同様に、図9に示した第2のバススレーブ
7のコンフィグレーションレジスタ71のベースアドレ
スレジスタBAR0およびBAR1から、第2のバスス
レーブ7が1Mバイトのメモリ空間および256バイト
のI/O空間を必要としていることがわかる。
Similarly, based on the base address registers BAR0 and BAR1 of the configuration register 71 of the second bus slave 7 shown in FIG. 9, the second bus slave 7 has a memory space of 1 Mbyte and an I / O of 256 bytes. It turns out that it needs space.

【0081】また、図10に示したバスマスタ4のコン
フィグレーションレジスタ41のベースアドレスレジス
タBAR0から、バスマスタ4が32Mバイトのメモリ
空間を必要としていることがわかる。
The base address register BAR0 of the configuration register 41 of the bus master 4 shown in FIG. 10 indicates that the bus master 4 requires a memory space of 32 Mbytes.

【0082】さらに、図11に示したホストブリッジ3
のコンフィグレーションレジスタ31のベースアドレス
レジスタBAR0およびBAR1から、ホストブリッジ
3が32Mバイトのメモリ空間および256バイトのI
/O空間を必要としていることがわかる。
Further, the host bridge 3 shown in FIG.
From the base address registers BAR0 and BAR1 of the configuration register 31, the host bridge 3 has a memory space of 32 Mbytes and a memory space of 256 bytes.
It can be seen that the / O space is required.

【0083】次に、CPU8はホストブリッジ3を制御
して、各PCIデバイスがディレイサイクル数を実装し
ているか否かを調べさせ(ステップS103)、実装し
ていればそのディレイサイクル数を読込む(ステップS
104)。ディレイサイクル数が設定されているか否か
を判別するためには、たとえばコンフィグレーションレ
ジスタのステータスレジスタ(アドレス04h;図4参
照)内にディレイサイクル数の有無を示すステータスフ
ラグを設けておき、ホストブリッジ3がこのステータス
フラグに基づいてディレイサイクル数が設定されている
か否かを判別するようにする。
Next, the CPU 8 controls the host bridge 3 to check whether or not each PCI device implements the number of delay cycles (step S103), and reads the number of delay cycles if implemented. (Step S
104). In order to determine whether or not the number of delay cycles has been set, for example, a status flag indicating the presence or absence of the number of delay cycles is provided in a status register (address 04h; see FIG. 4) of the configuration register, and a host bridge is provided. 3 determines whether or not the number of delay cycles is set based on the status flag.

【0084】次に、CPU8はホストブリッジ3を制御
して、各PCIデバイスが必要としているメモリ空間お
よびI/O空間のサイズに応じて各PCIデバイスをP
CIアドレス空間に割当てる(ステップS105)。
Next, the CPU 8 controls the host bridge 3 to store each PCI device according to the size of the memory space and the I / O space required by each PCI device.
Assigned to the CI address space (step S105).

【0085】図12は、各PCIデバイスが必要とする
メモリ空間およびI/O空間のサイズを示すブロック図
である。図13は、図12に示したメモリ空間およびI
/O空間の割当てを示すアドレスマップである。ここで
は、I/O空間のベースアドレスは「00000000
h」であり、メモリ空間のベースアドレスは「8000
0000h」である。
FIG. 12 is a block diagram showing the size of the memory space and I / O space required by each PCI device. FIG. 13 shows the memory space and I shown in FIG.
6 is an address map showing assignment of a / O space. Here, the base address of the I / O space is “00000000”.
h ”, and the base address of the memory space is“ 8000 ”.
0000h ".

【0086】図12に示すようにホストブリッジ3は2
56バイトのI/O空間を必要とし、そのために図13
に示すようにアドレス空間中の領域が割当てられる。
図12に示すように、第1のバススレーブ6は256バ
イトのI/O空間を必要とし、そのために図13に示す
ようにアドレス空間中の領域が割当てられる。図12
に示すように、第2のバススレーブ7は256バイトの
I/O空間を必要とし、そのために図13に示すように
アドレス空間中の領域が割当てられる。図12に示す
ようにホストブリッジ3は32Mバイトのメモリ空間を
必要とし、そのために図3に示すようにアドレス空間中
の領域が割当てられる。図12に示すようにバスマス
タ4は32Mバイトのメモリ区間を必要とし、そのため
に図13に示すようにアドレス空間中の領域が割当て
られる。図12に示すように第1のバススレーブ6は4
Mバイトのメモリ空間を必要とし、そのために図13に
示すようにアドレス空間中の領域が割当てられる。図
12に示すように第2のバススレーブ7は1Mバイトの
メモリ空間を必要とし、そのために図13に示すように
アドレス空間中の領域が割当てられる。
[0086] As shown in FIG.
It requires 56 bytes of I / O space.
The area in the address space is allocated as shown in FIG.
As shown in FIG. 12, the first bus slave 6 requires an I / O space of 256 bytes, and therefore, an area in the address space is allocated as shown in FIG. FIG.
As shown in FIG. 13, the second bus slave 7 requires an I / O space of 256 bytes, and therefore, an area in the address space is allocated as shown in FIG. As shown in FIG. 12, the host bridge 3 requires a memory space of 32 Mbytes, and therefore, an area in the address space is allocated as shown in FIG. As shown in FIG. 12, the bus master 4 requires a memory section of 32 Mbytes, and therefore, an area in the address space is allocated as shown in FIG. As shown in FIG. 12, the first bus slave 6
An M-byte memory space is required, for which an area in the address space is allocated as shown in FIG. As shown in FIG. 12, the second bus slave 7 requires a 1-Mbyte memory space, and therefore, an area in the address space is allocated as shown in FIG.

【0087】次の表1は、図13に示した各領域のベー
スアドレス、ディレイサイクル数およびアドレス空間の
サイズを示す。これらの情報は一旦メインメモリ9に保
存される。
Table 1 below shows the base address, the number of delay cycles, and the size of the address space of each area shown in FIG. These pieces of information are temporarily stored in the main memory 9.

【0088】[0088]

【表1】 [Table 1]

【0089】次に、ホストブリッジ3は、領域〜の
ベースアドレスとディレイサイクル数とを対応づけたデ
ィレイサイクルテーブルをコンフィグレーションレジス
タ31の固有領域に作成する(ステップS106)。す
なわち図14に示すように、コンフィグレーションレジ
スタ31のアドレス60hに領域(ホストブリッジ3
のI/O空間)のベースアドレスが格納され、アドレス
64hに領域のディレイサイクル数「0000000
4h」(4サイクル)が格納される。アドレス68h以
降同様に、領域〜のベースアドレスとディレイサイ
クル数が格納される。
Next, the host bridge 3 creates a delay cycle table in which the base addresses of the areas 1 to 3 are associated with the number of delay cycles in the unique area of the configuration register 31 (step S106). That is, as shown in FIG. 14, the area (host bridge 3) is stored in the address 60h of the configuration register 31.
The base address of the I / O space is stored in an address 64h, and the number of delay cycles of the area is "00000000"
4h "(4 cycles) is stored. Similarly, after the address 68h, the base address and the number of delay cycles of the area 1 are stored.

【0090】次に、ホストブリッジ3は、ステップS1
05で割当てたメモリ空間およびI/O空間のベースア
ドレスをコンフィグレーションライトサイクルで各PC
Iデバイスに対してそれぞれ設定する(ステップS10
7)。したがって、図14に示すように、ホストブリッ
ジ3のコンフィグレーションレジスタ31においては、
ベースアドレスレジスタBAR0(アドレス10h)に
は領域(ホストブリッジ3のメモリ空間)のベースア
ドレス「80000000h」が格納され、ベースアド
レスレジスタBAR1(アドレス14h)には領域
(ホストブリッジ3のI/O空間)のベースアドレス
「00000001h」が格納される。
Next, the host bridge 3 executes step S1
The base addresses of the memory space and the I / O space allocated in 05 are assigned to each PC in the configuration write cycle.
Set for each I device (step S10
7). Therefore, as shown in FIG. 14, in the configuration register 31 of the host bridge 3,
The base address register BAR0 (address 10h) stores the base address "80000000h" of the area (memory space of the host bridge 3), and the base address register BAR1 (address 14h) stores the area (I / O space of the host bridge 3). The base address “00000001h” is stored.

【0091】図15に示すように、第1のバススレーブ
6のコンフィグレーションレジスタ61においては、ベ
ースアドレスレジスタBAR0(アドレス10h)には
領域(第1のバススレーブ6のメモリ空間)のベース
アドレス「84000000h」が格納され、ベースア
ドレスレジスタBAR1(アドレス14h)には領域
(第1のバススレーブ6のI/O空間)のベースアドレ
ス「00000101h」が格納される。また、図16
に示すように、第2のバススレーブ7のコンフィグレー
ションレジスタ71においては、ベースアドレスレジス
タBAR0(アドレス10h)には領域(第2のバス
スレーブ7のメモリ空間)のベースアドレス「8440
0000h」が格納され、ベースアドレスレジスタBA
R1(アドレス14h)には領域(第2のバススレー
ブ7のI/O空間)のベースアドレス「0000020
1h」が格納される。また、図17に示すように、バス
マスタ4のコンフィグレーションレジスタ41において
は、ベースアドレスレジスタBAR0(アドレス10
h)には領域(バスマスタ4のメモリ空間)のベース
アドレス「82000000h」が格納される。
As shown in FIG. 15, in the configuration register 61 of the first bus slave 6, the base address register BAR0 (address 10h) stores the base address "of the area (memory space of the first bus slave 6)". 8400000h ”is stored, and the base address“ 00000101h ”of the area (I / O space of the first bus slave 6) is stored in the base address register BAR1 (address 14h). FIG.
As shown in (2), in the configuration register 71 of the second bus slave 7, the base address register BAR0 (address 10h) stores the base address “8440” of the area (memory space of the second bus slave 7).
0000h ”is stored in the base address register BA
In R1 (address 14h), the base address of the area (the I / O space of the second bus slave 7) is “0000020”.
1h "is stored. As shown in FIG. 17, in the configuration register 41 of the bus master 4, the base address register BAR0 (address 10
In h), the base address "8200000h" of the area (memory space of the bus master 4) is stored.

【0092】このような設定対象のPCIデバイスがバ
スマスタデバイスか否かを判別し(ステップS10
8)、バスマスタデバイスの場合はそのバスマスタデバ
イスがディレイサイクルカウンタを有しているか否かを
判別する(ステップS109)。ディレイサイクルカウ
ンタを有している場合は、ディレイサイクルテーブルを
そのバスマスタデバイスに転送する(ステップS11
0)。ここでは、ホストブリッジ3以外のバスマスタデ
バイスはバスマスタ4のみである。バスマスタ4はディ
レイサイクルカウンタ42を有しているため、ホストブ
リッジ3のコンフィグレーションレジスタ31に作成さ
れたディレイサイクルテーブル(図14参照)は、バス
マスタ4のコンフィグレーションレジスタ41内の同一
アドレスにライト(コピー)される(図17参照)。
It is determined whether such a PCI device to be set is a bus master device (step S10).
8) In the case of a bus master device, it is determined whether or not the bus master device has a delay cycle counter (step S109). If a delay cycle counter is provided, the delay cycle table is transferred to the bus master device (step S11).
0). Here, the only bus master device other than the host bridge 3 is the bus master 4. Since the bus master 4 has the delay cycle counter 42, the delay cycle table (see FIG. 14) created in the configuration register 31 of the host bridge 3 is written at the same address in the configuration register 41 of the bus master 4. (See FIG. 17).

【0093】バスマスタデバイスがディレイサイクルカ
ウンタを有しているか否かを判別する方法として、コン
フィグレーションレジスタのステータスレジスタ(アド
レス04h)内に、ディレイサイクルカウンタの有無を
示すフラグを設けておき、そのフラグに基づいてディレ
イサイクルカウンタを有しているか否かを判別するよう
にすることができる。
As a method of determining whether or not the bus master device has a delay cycle counter, a flag indicating the presence or absence of the delay cycle counter is provided in the status register (address 04h) of the configuration register. , It is possible to determine whether or not it has a delay cycle counter.

【0094】以上のような設定をすべてのPCIデバイ
スについて完了すると、PCIアドレス空間の初期化
(コンフィグレーション)が終了する(ステップS11
1)。
When the above setting is completed for all the PCI devices, the initialization (configuration) of the PCI address space is completed (step S11).
1).

【0095】<バスアクセス>次に、バスアクセスの手
順を図18のフローチャートを参照して説明する。なお
以下では、次の二通りの場合について説明する。
<Bus Access> Next, the bus access procedure will be described with reference to the flowchart of FIG. Hereinafter, the following two cases will be described.

【0096】(A) ホストブリッジ3が第2のバスス
レーブ7のI/O空間(ベースアドレス0000020
0h;領域)に対してシングルリードアクセスをする
場合 (B) バスマスタ4が第1のバススレーブ6のメモリ
空間(ベースアドレス84000000h;領域)に
対してバーストリードアクセス(1回の転送単位=8バ
ースト)をする場合 まず、バスマスタデバイスがアクセスしようとするバス
スレーブのアドレスがディレイサイクルテーブルのどの
アドレスブロックに含まれているかを調べる(ステップ
S201,S202)。そして、アクセス対象となるア
ドレスが含まれるアドレスブロックのディレイサイクル
数をディレイサイクルテーブルから読込む(ステップS
203)。
(A) The host bridge 3 operates in the I / O space (base address 000000020) of the second bus slave 7.
(B) The bus master 4 performs a burst read access to the memory space (base address 84000000h; area) of the first bus slave 6 (one transfer unit = 8 bursts). First, it is checked which address block of the delay cycle table contains the address of the bus slave to be accessed by the bus master device (steps S201 and S202). Then, the number of delay cycles of the address block including the address to be accessed is read from the delay cycle table (step S).
203).

【0097】もしアクセス対象のアドレスがディレイサ
イクルテーブル中に登録されたアドレスブロックのどれ
にも含まれていない場合は、本システムで予め定められ
たデフォルトのディレイサイクル数を読込む(ステップ
S204)。
If the address to be accessed is not included in any of the address blocks registered in the delay cycle table, a default number of delay cycles predetermined by the present system is read (step S204).

【0098】(A)の場合は、アドレス「000002
00h」は領域に含まれているので(表1参照)、デ
ィレイサイクル数として「0000001Bh」(27
サイクル)を読込む。
In the case of (A), the address “000002”
Since 00h is included in the area (see Table 1), the number of delay cycles is “0000001Bh” (27
Cycle).

【0099】(B)の場合は、アドレス「840000
00h」は領域に含まれているので(表1参照)、デ
ィレイサイクル数として「00000020h」(32
サイクル)を読込む。
In the case of (B), the address "840000"
00h "is included in the area (see Table 1), so that" 00000020h "(32
Cycle).

【0100】次に、バスアクセスがシングルアクセスの
場合(バーストアクセスでない場合)は、ステップS2
03またはS204で読込んだディレイサイクル数をそ
のままディレイサイクル数とする。一方、バスアクセス
がバーストアクセスの場合は、読込んだディレイサイク
ル数にバースト転送サイクルサイクル数を加算してディ
レイサイクル数とする(ステップS205,S20
6)。
Next, if the bus access is a single access (not a burst access), step S2
The number of delay cycles read in 03 or S204 is directly used as the number of delay cycles. On the other hand, if the bus access is burst access, the number of burst transfer cycle cycles is added to the read number of delay cycles to obtain the number of delay cycles (steps S205 and S20).
6).

【0101】(A)の場合、シングルアクセスであるた
め、ステップS203で読込んだディレイサイクル数
「0000001Bh」(27サイクル)をそのままデ
ィレイサイクル数とする。
In the case of (A), since the access is a single access, the number of delay cycles "0000001Bh" (27 cycles) read in step S203 is directly used as the number of delay cycles.

【0102】(B)の場合、バーストアクセスであり、
1回のバースト転送単位が「8」であるため、ステップ
S203で読込んだディレイサイクル数「000000
20h」(32サイクル)に「8」を加算して「000
00028h」(40サイクル)をディレイサイクル数
とする。
In the case of (B), burst access is performed,
Since one burst transfer unit is “8”, the number of delay cycles “000000” read in step S203 is read.
Add "8" to "20h" (32 cycles) to get "000
"00028h" (40 cycles) is the number of delay cycles.

【0103】次に、バスマスタデバイスはプライマリP
CIバス1のクロック周波数とセカンダリPCIバス2
のクロック周波数を比較し(ステップS207)、異な
る場合は、ステップS205,S206で決定したディ
レイサイクル数を、接続されているバスのクロック周波
数を基準にしたディレイサイクル数に換算して、その値
をディレイサイクルカウンタにセットする(ステップS
208)。一方、クロック周波数が同じ場合は、ステッ
プS205,S206で決定したディレイサイクル数を
そのままディレイサイクルカウンタにセットする(ステ
ップS209)。
Next, the bus master device is the primary P
Clock frequency of CI bus 1 and secondary PCI bus 2
Are compared (step S207). If they differ, the number of delay cycles determined in steps S205 and S206 is converted into the number of delay cycles based on the clock frequency of the connected bus, and the value is converted. Set to delay cycle counter (step S
208). On the other hand, if the clock frequencies are the same, the number of delay cycles determined in steps S205 and S206 is directly set in the delay cycle counter (step S209).

【0104】(A)の場合、ディレイサイクル数は「0
000001Bh」(27サイクル)である。このサイ
クル数は、第2のバススレーブ7が接続されているセカ
ンダリPCIバス2のクロック周波数33MHzを基準
にした値であるため、プライマリPCIバス1のクロッ
ク周波数66MHzを基準にして、「0000001B
h」(27サイクル)×(66/33)を計算すること
によりディレイサイクル数を換算すると、「00000
036h」(54サイクル)になり、この値をディレイ
サイクルカウンタ32にセットする。
In the case of (A), the number of delay cycles is “0”.
000001Bh ”(27 cycles). Since this cycle number is a value based on the clock frequency of 33 MHz of the secondary PCI bus 2 to which the second bus slave 7 is connected, the number of cycles is “000000001B” based on the clock frequency of 66 MHz of the primary PCI bus 1.
h ”(27 cycles) × (66/33) to convert the number of delay cycles into“ 00000 ”
036h "(54 cycles), and this value is set in the delay cycle counter 32.

【0105】(B)の場合、ディレイサイクル数は「0
0000028h」(40サイクル)である。このサイ
クル数は、第1のバススレーブ6が接続されているセカ
ンダリPCIバス2のクロック周波数33MHzを基準
にした値であるため、プライマリPCIバス1のクロッ
ク周波数66MHzを基準にして、「00000028
h」(40サイクル)×(66/33)を計算すること
によりディレイサイクル数を換算すると、「00000
050h」(80サイクル)になり、この値をディレイ
サイクルカウンタ32にセットする。
In the case of (B), the number of delay cycles is “0”.
0000028h ”(40 cycles). Since the number of cycles is a value based on the clock frequency of 33 MHz of the secondary PCI bus 2 to which the first bus slave 6 is connected, the number of cycles is “00000002” based on the clock frequency of 66 MHz of the primary PCI bus 1.
h ”(40 cycles) × (66/33) to convert the number of delay cycles into“ 00000 ”
050h "(80 cycles), and this value is set in the delay cycle counter 32.

【0106】次に、バスマスタデバイスはプライマリP
CIバス1の使用権を獲得して、トランザクションを発
行し、ディレイサイクルカウンタをスタートさせる(ス
テップS210)。
Next, the bus master device is the primary P
The right to use the CI bus 1 is acquired, a transaction is issued, and the delay cycle counter is started (step S210).

【0107】(A)の場合、ホストブリッジ3は、アド
レス「00000200h」にI/Oリードコマンドを
発行してトランザクションを開始し、ディレイサイクル
カウンタ32のカウントをスタートさせる。
In the case of (A), the host bridge 3 issues an I / O read command to the address “00000200h”, starts a transaction, and starts counting of the delay cycle counter 32.

【0108】(B)の場合、バスマスタ4はアドレス
「84000000h」にメモリリードコマンドを発行
してトランザクションを開始し、ディレイサイクルカウ
ンタ42のカウントをスタートさせる。
In the case of (B), the bus master 4 issues a memory read command to the address "84000000h" to start a transaction, and starts counting by the delay cycle counter 42.

【0109】次に、(A)の場合、ホストブリッジ3が
トランザクションを発行した後、バスブリッジ5はホス
トブリッジ3からのアクセス要求内容(アクセス対象の
ターゲットアドレス、コマンド、データなど)をディレ
イドトランザクションキュー53に保持し、ホストブリ
ッジ3に対してリトライ応答を返す。そして、バスブリ
ッジ5はセカンダリPCIバス2上で第2のバススレー
ブ7に対してシングルリードアクセスを行ない、読出し
たデータをディレイドトランザクションバッファ52に
格納して第2のバススレーブ7とのトランザクションを
終了する。
Next, in the case of (A), after the host bridge 3 issues a transaction, the bus bridge 5 stores the access request contents (access target address, command, data, etc.) from the host bridge 3 in a delayed transaction queue. 53, and returns a retry response to the host bridge 3. The bus bridge 5 makes a single read access to the second bus slave 7 on the secondary PCI bus 2, stores the read data in the delayed transaction buffer 52 and ends the transaction with the second bus slave 7. I do.

【0110】(B)の場合、バスマスタ4がトランザク
ションを発行した後、バスブリッジ5はバスマスタ4か
らのアクセス要求内容(アクセス対象のターゲットアド
レス、コマンド、データなど)をディレイドトランザク
ションキュー53に保持し、バスマスタ4に対してリト
ライ応答を返す。そして、バスブリッジ5はセカンダリ
PCIバス2上で第1のバススレーブ6に対してバース
トリードアクセスを行ない、読出したデータをディレイ
ドトランザクションバッファ52に格納して第1のバス
スレーブ6とのトランザクションを終了する。
In the case (B), after the bus master 4 issues a transaction, the bus bridge 5 holds the contents of the access request (target address, command, data, etc., to be accessed) from the bus master 4 in the delayed transaction queue 53, A retry response is returned to the bus master 4. Then, the bus bridge 5 performs a burst read access to the first bus slave 6 on the secondary PCI bus 2, stores the read data in the delayed transaction buffer 52, and ends the transaction with the first bus slave 6. I do.

【0111】また、ホストブリッジ3またはバスマスタ
4はバスブリッジ5から4サイクル以内に、バススレー
ブがバスマスタに対して応答を開始したことを示すデバ
イスセレクト信号DEVSEL♯による応答を受信しな
ければ、マスタアボートで終了する(ステップS21
1)。マスタアボートが発生する仕組みはPCIバス仕
様で規定されている。
If the host bridge 3 or the bus master 4 does not receive a response by the device select signal DEVSEL # indicating that the bus slave has started responding to the bus master within four cycles from the bus bridge 5, the master abort is performed. (Step S21)
1). The mechanism by which a master abort occurs is defined in the PCI bus specification.

【0112】次に、バスブリッジ5からの応答がリトラ
イの場合、トランザクションは一旦終了する。バスマス
タデバイスはプライマリPCIバス1を解放し、ディレ
イサイクルカウンタがカウントを終了するまではトラン
ザクションを再発行しない(ステップS212,S21
3)。その間に、バスブリッジ5はセカンダリPCIバ
ス2上でバススレーブ6,7に対してバスアクセスを完
了させる。つまり、この間、プライマリPCIバス1上
の他のバスマスタデバイスはプライマリPCIバス1の
使用権を獲得し、トランザクションを発行することがで
きる。
Next, when the response from the bus bridge 5 is a retry, the transaction is temporarily ended. The bus master device releases the primary PCI bus 1 and does not reissue the transaction until the delay cycle counter has finished counting (steps S212 and S21).
3). Meanwhile, the bus bridge 5 completes the bus access to the bus slaves 6 and 7 on the secondary PCI bus 2. That is, during this time, another bus master device on the primary PCI bus 1 can acquire the right to use the primary PCI bus 1 and issue a transaction.

【0113】ディレイサイクルカウンタがカウントを終
了すると、バスマスタデバイスは改めてプライマリPC
Iバス1の使用権を獲得し、トランザクションを再発行
してディレイサイクルカウンタを再スタートさせる(ス
テップS210)。
When the delay cycle counter finishes counting, the bus master device renews the primary PC.
The right to use the I bus 1 is acquired, the transaction is reissued, and the delay cycle counter is restarted (step S210).

【0114】(A)の場合、ホストブリッジ3はバスブ
リッジ5よりリトライ応答を受信し、プライマリPCI
バス1を解放する。そして、ディレイサイクルカウンタ
32のカウントが終了するまでトランザクションを再発
行しない。この間に、セカンダリPCIバス2では、バ
スブリッジ5が第2のバススレーブ7のI/O空間(ベ
ースアドレス「00000200h」;領域)に対し
てシングルリードアクセスを行なう。ディレイサイクル
カウンタ32がカウント(27サイクル)を終了する
と、ホストブリッジ3はトランザクションを再発行して
ディレイサイクルカウンタ32(カウント値=27サイ
クル)を再スタートさせる。
In the case (A), the host bridge 3 receives the retry response from the bus bridge 5 and
Release bus 1. Then, the transaction is not reissued until the count of the delay cycle counter 32 is completed. During this time, on the secondary PCI bus 2, the bus bridge 5 makes a single read access to the I / O space (base address "00000200h"; area) of the second bus slave 7. When the delay cycle counter 32 finishes counting (27 cycles), the host bridge 3 reissues the transaction and restarts the delay cycle counter 32 (count value = 27 cycles).

【0115】(B)の場合、バスマスタ4はバスブリッ
ジ5よりリトライ応答を受信し、プライマリPCIバス
1を解放する。そして、ディレイサイクルカウンタ42
のカウントが終了するまでトランザクションを再発行し
ない。この間に、セカンダリPCIバス2では、バスブ
リッジ5が第1のバススレーブ6のメモリ空間(ベース
アドレス「84000000h」;領域)に対してバ
ーストリードアクセスを行なう。ディレイサイクルカウ
ンタ42がカウント(40サイクル)を終了すると、バ
スマスタ4はトランザクションを再発行してディレイサ
イクルカウンタ42(カウント値=40サイクル)を再
スタートさせる。
In the case (B), the bus master 4 receives the retry response from the bus bridge 5 and releases the primary PCI bus 1. Then, the delay cycle counter 42
Do not reissue the transaction until the end of the count. During this time, in the secondary PCI bus 2, the bus bridge 5 performs a burst read access to the memory space (base address "84000000h"; area) of the first bus slave 6. When the delay cycle counter 42 finishes counting (40 cycles), the bus master 4 reissues the transaction and restarts the delay cycle counter 42 (count value = 40 cycles).

【0116】また、ステップS212で、バスブリッジ
5からの応答がリトライ応答ではなく、データ転送応答
であった場合、データ転送終了後にトランザクションが
正常に完了する(ステップS214)。そして、バスマ
スタデバイスはディレイサイクルカウンタをストップ
し、カウント値をリセットする。
If the response from the bus bridge 5 is not a retry response but a data transfer response in step S212, the transaction is completed normally after the data transfer ends (step S214). Then, the bus master device stops the delay cycle counter and resets the count value.

【0117】(A)の場合、バスブリッジ5はセカンダ
リPCIバス2上で第2のバススレーブ7へのシングル
リードアクセスを行ない、読出したデータをディレイド
トランザクションバッファ52に格納しておく。データ
転送の準備ができたバスブリッジ5は、その後、ホスト
ブリッジ3からのトランザクションに対して、リトライ
応答ではなく、シングルリードデータ転送応答を行な
い、トランザクションが正常に完了する。そして、ディ
レイサイクルカウンタ32はストップし、カウント値は
リセットされる。
In the case (A), the bus bridge 5 makes a single read access to the second bus slave 7 on the secondary PCI bus 2 and stores the read data in the delayed transaction buffer 52. The bus bridge 5 ready for data transfer thereafter performs a single read data transfer response instead of a retry response to the transaction from the host bridge 3, and the transaction is completed normally. Then, the delay cycle counter 32 stops, and the count value is reset.

【0118】(B)の場合、バスブリッジ5はセカンダ
リPCIバス2上で第1のバススレーブ6へのバースト
リードアクセスを行ない、読出した8バースト分のデー
タをディレイドトランザクションバッファ52に格納し
ておく。8バーストデータ転送の準備ができたバスブリ
ッジ5は、その後、バスマスタ4からのトランザクショ
ンに対して、リトライ応答ではなく、バーストリードデ
ータ転送を行ない、トランザクションが正常に完了す
る。そして、ディレイサイクルカウンタ42はストップ
し、カウント値はリセットされる。
In the case (B), the bus bridge 5 makes a burst read access to the first bus slave 6 on the secondary PCI bus 2 and stores the read data for eight bursts in the delayed transaction buffer 52. . The bus bridge 5 that is ready for the 8 burst data transfer thereafter performs a burst read data transfer instead of a retry response to the transaction from the bus master 4, and the transaction is completed normally. Then, the delay cycle counter 42 stops, and the count value is reset.

【0119】ステップS214で、正常なデータ転送が
行なわれなかった場合は、バススレーブデバイスにとっ
て処理不能なアクセスが行なわれたことになり、ターゲ
ットアボートによりトランザクションが中止される。
If normal data transfer is not performed in step S214, an access that cannot be processed by the bus slave device is performed, and the transaction is aborted due to the target abort.

【0120】ここで、図17に示したバスアクセス処理
手順におけるステップS210〜S214の処理でリト
ライ応答が2回以上発生した場合について説明する。
Here, a case where a retry response occurs twice or more in the processing of steps S210 to S214 in the bus access processing procedure shown in FIG. 17 will be described.

【0121】通常、バスマスタデバイスが発行した1回
目のトランザクションに対してバスブリッジ5は必ずリ
トライ応答を開始し、バスマスタデバイスはディレイサ
イクルカウンタがカウントを終了するまで待った後、再
発行した2回目のトランザクションで正常なデータ転送
が完了する。なぜならば、ディレイサイクルカウンタの
カウント値は、バススレーブデバイスがデータ転送可能
になるまでに必要な時間(ディレイサイクル)に設定さ
れているためである。しかし、セカンダリPCIバス2
が他のバスマスタデバイスによって長時間占有されてい
たり、バススレーブデバイス内部で同じリソースに対す
るアクセス競合が起こっている場合は、バスブリッジ5
とバススレーブデバイスの間のバスアクセスに時間がか
かり、バスブリッジ5は2回目以降のトランザクション
に対して何度もリトライ応答を返さなければならなくな
る。このような場合、ステップS208またはS209
で最初に設定したディレイサイクル数の期間だけステッ
プS213で毎回待つことは無意味になってしまい、無
駄な待ち時間が発生しかねない。
Normally, the bus bridge 5 always starts a retry response to the first transaction issued by the bus master device, and the bus master device waits until the delay cycle counter finishes counting, and then re-issues the second transaction. Completes the normal data transfer. This is because the count value of the delay cycle counter is set to a time (delay cycle) required until the bus slave device can transfer data. However, the secondary PCI bus 2
Is occupied by another bus master device for a long time, or if there is contention for access to the same resource inside the bus slave device, the bus bridge 5
It takes time for bus access between the bus and the slave device, and the bus bridge 5 must return a retry response many times for the second and subsequent transactions. In such a case, step S208 or S209
In this case, it becomes meaningless to wait every time in step S213 for the delay cycle number initially set, and a useless waiting time may be generated.

【0122】そのため、リトライ応答が2回以上発生す
る場合は、ステップS210でディレイサイクルカウン
タの2回目以降のカウントを再スタートする前に、ディ
レイサイクル数を新しい値に再設定するのが望ましい。
Therefore, when a retry response occurs twice or more, it is desirable to reset the number of delay cycles to a new value before restarting the second and subsequent counts of the delay cycle counter in step S210.

【0123】たとえば、2回目以降のリトライ応答受信
後は、本システムで予め定められたディレイサイクル数
(たとえば最初2〜3サイクル)を使用する方法があ
る。
For example, after the second and subsequent retry responses are received, there is a method of using a predetermined number of delay cycles (for example, first two to three cycles) in this system.

【0124】また、リトライ応答を受信した回数に応じ
てディレイサイクル数を徐々に減らしていく方法があ
る。たとえば、2回目のリトライ応答を受信した場合
は、ディレイサイクル応答テーブルから読込んで最初に
設定したディレイサイクル数の2分の1のサイクル数だ
け待ち、さらに3回目のリトライ応答を受信した場合は
最初に設定したディレイサイクル数の3分の1のサイク
ル数だけ待つようにする。すなわち、n回目のリトライ
応答受信後は、最初に設定したディレイサイクル数をn
分の1にした値をディレイサイクル数として再設定す
る。
There is a method of gradually reducing the number of delay cycles according to the number of times a retry response has been received. For example, when the second retry response is received, the delay is read from the delay cycle response table and waits for half the number of delay cycles initially set, and when the third retry response is received, the first retry response is received. Is set to wait for one third of the number of delay cycles set in. That is, after receiving the n-th retry response, the initially set number of delay cycles is set to n
The value reduced to one-half is reset as the number of delay cycles.

【0125】また、同一のアドレスブロックへのバスア
クセスにおいて上述したように2回以上リトライ応答を
引起こさせるトランザクションが何度も発生する場合、
バススレーブデバイスで内部リソース競合が長時間にわ
たって頻発しているか、あるいはディレイサイクル数が
何らかの原因で誤った値に設定されてしまっている等が
考えられる。このような場合、ホストブリッジ3はリト
ライ応答の受信回数を監視しておき、リトライ応答の受
信回数が予め定められた回数よりも多くなるときは、デ
ィレイサイクルテーブル内の該当するアドレスブロック
のディレイサイクル数を元のサイクル数よりも大きいサ
イクル数に書換えてもよい。その際、ディレイサイクル
カウンタを有する他のすべてのバスマスタデバイスに対
しても、変更したディレイサイクル数を該当するアドレ
スブロックに対応するコンフィグレーションレジスタア
ドレスへのコンフィグレーションライトサイクルを実行
することにより転送する。
When a transaction that causes a retry response to occur twice or more as described above in the bus access to the same address block occurs many times,
It is conceivable that internal resource contention occurs frequently for a long time in the bus slave device, or that the number of delay cycles is set to an incorrect value for some reason. In such a case, the host bridge 3 monitors the number of receptions of the retry response, and when the number of receptions of the retry response becomes larger than a predetermined number, the delay cycle of the corresponding address block in the delay cycle table. The number may be rewritten to a cycle number larger than the original cycle number. At this time, the changed delay cycle number is transferred to all other bus master devices having the delay cycle counter by executing a configuration write cycle to a configuration register address corresponding to the corresponding address block.

【0126】図19は、(A)のバスアクセスを従来の
手法と本発明の手法で行なった場合のバストランザクシ
ョンの比較を示すタイミング図である。図19におい
て、横軸は、プライマリPCIバス1およびセカンダリ
PCIバス2上のトランザクションの流れを示してい
る。
FIG. 19 is a timing chart showing a comparison of bus transactions when the bus access of FIG. 19A is performed by the conventional method and the method of the present invention. In FIG. 19, the horizontal axis indicates the flow of transactions on the primary PCI bus 1 and the secondary PCI bus 2.

【0127】A1は、ホストブリッジ3が発行したトラ
ンザクションのアドレスフェーズで、第2のバススレー
ブ7のI/O空間に対するシングルリードアクセスの開
始を表している。A1′は、バスブリッジ5が第2のバ
ススレーブ7に対して発行したトランザクションのアド
レスフェーズで、上記A1に対応している。Rはリトラ
イ応答を表し、SDはシングルデータフェーズを表して
いる。
A1 is the address phase of the transaction issued by the host bridge 3 and represents the start of single read access to the I / O space of the second bus slave 7. A1 'is an address phase of a transaction issued by the bus bridge 5 to the second bus slave 7, and corresponds to A1 described above. R indicates a retry response, and SD indicates a single data phase.

【0128】A2は、バスマスタ4によるトランザクシ
ョンのアドレスフェーズで、第1のバススレーブ6のメ
モリ空間に対するバーストリードアクセスの開始を表し
ている。BD(8)は、8バーストのデータフェーズを
表している。このトランザクションは、上記(B)のバ
ーストアクセスを表している。
A2 indicates the start of burst read access to the memory space of the first bus slave 6 in the address phase of the transaction by the bus master 4. BD (8) represents a data phase of 8 bursts. This transaction represents the burst access of the above (B).

【0129】図19に示すように、従来の手法ではプラ
イマリPCIバス1上で無駄なリトライトランザクショ
ンが4回発生している。その間、プライマリPCIバス
1はホストブリッジ3によってほぼ独占して使用されて
いる。しかし、この実施の形態1による手法では無駄な
リトライトランザクションは発生しないため、ディレイ
サイクルカウンタが動作している間、ホストブリッジ3
はプライマリPCIバス1を解放し、他のバスマスタデ
バイス(たとえばバスマスタ4)によって有効に利用さ
れている。
As shown in FIG. 19, in the conventional method, useless retry transactions occur on the primary PCI bus 1 four times. Meanwhile, the primary PCI bus 1 is almost exclusively used by the host bridge 3. However, since the useless retry transaction does not occur in the method according to the first embodiment, while the delay cycle counter is operating, the host bridge 3
Releases the primary PCI bus 1 and is effectively used by another bus master device (for example, the bus master 4).

【0130】以上のようにこの実施の形態1によれば、
バスマスタデバイスがバスブリッジ5を介してバススレ
ーブデバイスにバスアクセスを行なうときに、従来のデ
ィレイドトランザクション方式に比べ、無駄なリトライ
に対するオーバーヘッドを回避することができ、バスの
スループットの低下を防止することができる。
As described above, according to the first embodiment,
When the bus master device accesses the bus slave device via the bus bridge 5, it is possible to avoid unnecessary retry overhead compared to the conventional delayed transaction method, and to prevent a decrease in bus throughput. it can.

【0131】また、バススレーブ6,7自身がコンフィ
グレーションレジスタ61,71内に予め設定したディ
レイサイクル数を、トランザクションをリトライするま
での待ち時間として使用するため、待ち時間(ディレイ
サイクル数)の値が正確である。
Since the bus slaves 6 and 7 themselves use the number of delay cycles preset in the configuration registers 61 and 71 as a waiting time before retrying the transaction, the value of the waiting time (number of delay cycles) is used. Is accurate.

【0132】また、ディレイサイクル数やディレイサイ
クルテーブルを格納するための領域として、コンフィグ
レーションレジスタ31,41,61,71の固有領域
を使用することで、PCIバス仕様に完全に準拠したシ
ステムを構成することができる。バスブリッジ5に関し
ても,PCIバス仕様に準拠した従来のPCI−PCI
ブリッジをそのまま使用することができるため、本シス
テムを採用するにあたって、バスブリッジ5の仕様変更
をする必要がない。また、バストランジスタの信号タイ
ミングがPCIバス仕様に完全に準拠しているため、他
のPCIデバイスとの接続性に関する問題がない。
Further, by using the unique area of the configuration registers 31, 41, 61, and 71 as an area for storing the number of delay cycles and the delay cycle table, a system completely compliant with the PCI bus specification is constituted. can do. As for the bus bridge 5, the conventional PCI-PCI conforming to the PCI bus specification
Since the bridge can be used as it is, there is no need to change the specifications of the bus bridge 5 when employing this system. Further, since the signal timing of the bus transistor completely conforms to the PCI bus specification, there is no problem regarding the connectivity with other PCI devices.

【0133】[実施の形態2]上述した実施の形態1に
おいては2つのPCIバス1,2とその間に接続された
バスブリッジ5とを含むシステムを示したが、この実施
の形態2においては、セカンダリPCIバス2およびバ
スブリッジ5が存在せず、バススレーブ自身がディレイ
ドトランザクション機能を有している。
[Second Embodiment] In the first embodiment described above, the system including the two PCI buses 1 and 2 and the bus bridge 5 connected between them is shown. In the second embodiment, The secondary PCI bus 2 and the bus bridge 5 do not exist, and the bus slave itself has a delayed transaction function.

【0134】図20は、実施の形態2によるプロセッサ
システムの全体構成を示す概略ブロック図である。図2
0に示すように、このシステムは1つのPCIバス30
1しか備えておらず、第1のバススレーブ6および第2
のバススレーブ7がPCIバス301に接続される。
FIG. 20 is a schematic block diagram showing an overall configuration of a processor system according to the second embodiment. FIG.
As shown in FIG.
1 and the first bus slave 6 and the second bus slave 6
Are connected to the PCI bus 301.

【0135】図21は、図20に示したシステムの全体
構成を示す詳細ブロック図である。図21に示すよう
に、第1のバススレーブ306はディレイドトランザク
ションバッファ362とディレイドトランザクションキ
ュー363とを備え、ディレイドトランザクション機能
を有している。第2のバススレーブ307も同様に、デ
ィレイドトランザクションバッファ372とディレイド
トランザクションキュー373とを備え、ディレイドト
ランザクション機能を有している。この実施の形態2に
よるコンフィグレーションおよびバスアクセスは上記実
施の形態1と同様の手順で行なわれる。
FIG. 21 is a detailed block diagram showing the entire configuration of the system shown in FIG. As shown in FIG. 21, the first bus slave 306 includes a delayed transaction buffer 362 and a delayed transaction queue 363, and has a delayed transaction function. Similarly, the second bus slave 307 includes a delayed transaction buffer 372 and a delayed transaction queue 373, and has a delayed transaction function. Configuration and bus access according to the second embodiment are performed in the same procedure as in the first embodiment.

【0136】まず、CPU8はシステム起動時に、各P
CIデバイスの初期設定を行なうために、ホストブリッ
ジ3を制御してコンフィグレーションサイクルを発行さ
せる。PCIアドレス空間の初期化(コンフィグレーシ
ョン)は、上記実施の形態1と同様に図7のフローチャ
ートに示した手順(ステップS101〜S111)で行
なわれる。
First, the CPU 8 sets each P at the time of system startup.
In order to initialize the CI device, the host bridge 3 is controlled to issue a configuration cycle. Initialization (configuration) of the PCI address space is performed according to the procedure (steps S101 to S111) shown in the flowchart of FIG.

【0137】次に、バスアクセスは、上記実施の形態1
とほぼ同様に、図18のフローチャートに示した手順
(ステップS201〜S214)で行なわれる。上記実
施の形態1との違いは、バススレーブ306,307自
身がディレイドトランザクション機能を有しているた
め、ホストブリッジ3やバスマスタ4のようなバスマス
タデバイスはバススレーブ306,307に対して直接
バスアクセスを行なうことである。また、セカンダリP
CIバスが存在しないため、図18におけるステップS
207は常に「YES」となり、ステップS208の処
理は発生しない。
Next, the bus access is performed according to the first embodiment.
Almost in the same manner as described above, the procedure is performed according to the procedure shown in the flowchart of FIG. The difference from the first embodiment is that bus master devices such as the host bridge 3 and the bus master 4 directly access the bus slaves 306 and 307 because the bus slaves 306 and 307 themselves have a delayed transaction function. It is to do. Also, secondary P
Since the CI bus does not exist, step S in FIG.
207 is always “YES”, and the process of step S208 does not occur.

【0138】[その他の実施の形態]上記実施の形態1
では、プライマリPCIバス1にバスマスタ4が接続さ
れ、セカンダリPCIバス2にバススレーブ6,7が接
続されているが、本システムの構成はこれに限らない。
つまり、プライマリPCIバス1にバススレーブ6,7
が接続され、セカンダリPCIバス2にバスマスタ4が
接続されていてもよい。
[Other Embodiments] The First Embodiment
In the example, the bus master 4 is connected to the primary PCI bus 1 and the bus slaves 6 and 7 are connected to the secondary PCI bus 2, but the configuration of the present system is not limited to this.
That is, the bus slaves 6, 7 are connected to the primary PCI bus 1.
May be connected, and the bus master 4 may be connected to the secondary PCI bus 2.

【0139】また、PCIバス、バスマスタ、バスブリ
ッジ、バススレーブの数は上述したものに限定されるこ
とはない。また、バスマスタデバイスまたはバススレー
ブデバイスが接続されるバスはPCIバスに限定される
ものではない。
The numbers of the PCI bus, bus master, bus bridge, and bus slave are not limited to those described above. The bus to which the bus master device or the bus slave device is connected is not limited to the PCI bus.

【0140】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
The embodiments disclosed this time are to be considered in all respects as illustrative and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

【0141】[0141]

【発明の効果】以上のようにこの発明によれば、バスス
レーブデバイスに予め定められた標準レイテンシを記憶
させておき、バスマスタデバイスがその標準レイテンシ
を読出してバススレーブデバイスに対応づけたレイテン
シテーブルを格納するようにしているため、標準バス仕
様に準拠したプロセッサシステムを低コストで実現する
ことができる。
As described above, according to the present invention, a predetermined standard latency is stored in the bus slave device, and the bus master device reads out the standard latency and creates a latency table corresponding to the bus slave device. Since they are stored, a processor system conforming to the standard bus specifications can be realized at low cost.

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

【図1】 この発明の実施の形態1によるプロセッサシ
ステムの全体構成を示す概略ブロック図である。
FIG. 1 is a schematic block diagram showing an overall configuration of a processor system according to a first embodiment of the present invention.

【図2】 図1に示したプロセッサシステムの全体構成
を示す詳細ブロック図である。
FIG. 2 is a detailed block diagram showing the overall configuration of the processor system shown in FIG.

【図3】 図2に示したコンフィグレーションレジスタ
のアドレス空間を示す図である。
FIG. 3 is a diagram showing an address space of a configuration register shown in FIG. 2;

【図4】 図3に示したコンフィグレーションレジスタ
のヘッダ部の構成を示す図である。
FIG. 4 is a diagram illustrating a configuration of a header section of the configuration register illustrated in FIG. 3;

【図5】 図2に示した各バススレーブのコンフィグレ
ーションレジスタの構成を示す図である。
FIG. 5 is a diagram showing a configuration of a configuration register of each bus slave shown in FIG. 2;

【図6】 図2に示したホストブリッジまたはバスマス
タのコンフィグレーションレジスタの構成を示す図であ
る。
FIG. 6 is a diagram illustrating a configuration of a configuration register of the host bridge or the bus master illustrated in FIG. 2;

【図7】 図1および図2に示したプロセッサシステム
によるコンフィグレーションサイクルを示すフローチャ
ートである。
FIG. 7 is a flowchart showing a configuration cycle by the processor system shown in FIGS. 1 and 2;

【図8】 図2に示した第1のバススレーブのコンフィ
グレーションレジスタのコンフィグレーション前の状態
を示す図である。
8 is a diagram illustrating a state before configuration of a configuration register of a first bus slave illustrated in FIG. 2;

【図9】 図2に示した第2のバススレーブのコンフィ
グレーションレジスタのコンフィグレーション前の状態
を示す図である。
9 is a diagram illustrating a state before configuration of a configuration register of a second bus slave illustrated in FIG. 2;

【図10】 図2に示したバスマスタのコンフィグレー
ションレジスタのコンフィグレーション前の状態を示す
図である。
10 is a diagram illustrating a state before configuration of a configuration register of the bus master illustrated in FIG. 2;

【図11】 図2に示したホストブリッジ3のコンフィ
グレーションレジスタのコンフィグレーション前の状態
を示す図である。
11 is a diagram illustrating a state before configuration of a configuration register of the host bridge 3 illustrated in FIG. 2;

【図12】 図2に示した各PCIデバイスが必要とし
ているメモリ空間およびI/O空間のサイズを示すブロ
ック図である。
12 is a block diagram showing the sizes of a memory space and an I / O space required by each PCI device shown in FIG.

【図13】 図12に示した各PCIデバイスが必要と
しているメモリ空間およびI/O空間のPCIアドレス
空間上の割当てを示すアドレスマップである。
13 is an address map showing allocation of a memory space and an I / O space required by each PCI device shown in FIG. 12 in a PCI address space.

【図14】 図11に示したホストブリッジのコンフィ
グレーションレジスタのコンフィグレーション後の状態
を示す図である。
14 is a diagram illustrating a state after configuration of a configuration register of the host bridge illustrated in FIG. 11;

【図15】 図8に示した第1のバススレーブ6のコン
フィグレーションレジスタのコンフィグレーション後の
状態を示す図である。
FIG. 15 is a diagram showing a state after configuration of a configuration register of the first bus slave 6 shown in FIG. 8;

【図16】 図9に示した第2のバススレーブのコンフ
ィグレーションレジスタのコンフィグレーション後の状
態を示す図である。
16 is a diagram illustrating a state after configuration of a configuration register of a second bus slave illustrated in FIG. 9;

【図17】 図10に示したバスマスタのコンフィグレ
ーションレジスタのコンフィグレーション後の状態を示
す図である。
17 is a diagram illustrating a state after configuration of a configuration register of the bus master illustrated in FIG. 10;

【図18】 図1および図2に示したプロセッサシステ
ムによるバスアクセスの手順を示すフローチャートであ
る。
FIG. 18 is a flowchart showing a procedure of bus access by the processor system shown in FIGS. 1 and 2;

【図19】 図18に示したバスアクセスを従来の手法
と比較して示すタイミング図である。
FIG. 19 is a timing chart showing the bus access shown in FIG. 18 in comparison with a conventional method.

【図20】 この発明の実施の形態2によるプロセッサ
システムの全体構成を示す概略ブロック図である。
FIG. 20 is a schematic block diagram showing an overall configuration of a processor system according to a second embodiment of the present invention.

【図21】 図20に示したプロセッサシステムの全体
構成を示す詳細ブロック図である。
FIG. 21 is a detailed block diagram showing the overall configuration of the processor system shown in FIG.

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

1 プライマリPCIバス、2 セカンダリPCIバ
ス、3 ホストブリッジ、4 バスマスタ、5 バスブ
リッジ、6,7,306,307 バススレーブ、8
CPU、9 メインメモリ、31,41,51,61,
71 コンフィグレーションレジスタ、32,42 デ
ィレイサイクルカウンタ、52,362,372 ディ
レイドトランザクションバッファ、53,363,37
3 ディレイドトランザクションキュー。
1 primary PCI bus, 2 secondary PCI bus, 3 host bridge, 4 bus master, 5 bus bridge, 6, 7, 306, 307 bus slave, 8
CPU, 9 main memory, 31, 41, 51, 61,
71 Configuration register, 32, 42 Delay cycle counter, 52, 362, 372 Delayed transaction buffer, 53, 363, 37
3 Delayed transaction queue.

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B061 BA01 BB13 BB17 BC06 FF13 GG02 GG13 RR05 5B077 AA17 BA02 BA06 BA09 DD05 FF11 GG24 GG25 NN02 5K033 AA02 AA09 BA04 CB06 CB08 DA01 DA05 DA13 DB12 DB14 DB16 DB19 EC01  ──────────────────────────────────────────────────続 き Continuing on the front page F term (reference)

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 第1および第2のバスと、 前記第1のバスに接続された第1のバスマスタデバイス
と、 前記第1および第2のバス間に接続され、ディレイドト
ランザクション機能を有するバスブリッジと、 予め定められた標準レイテンシを記憶するレイテンシ記
憶手段を含み、前記第2のバスに接続された1または2
以上のバススレーブデバイスとを備え、 前記第1のバスマスタデバイスは、 前記標準レイテンシを前記バススレーブデバイスに対応
づけたレイテンシテーブルを記憶するためのテーブル記
憶手段と、 前記バススレーブデバイスから当該標準レイテンシを読
出して前記テーブル記憶手段に格納する初期化手段と、 前記テーブル記憶手段に格納された標準レイテンシをカ
ウントするためのカウント手段と、 前記バススレーブデバイスに対してトランザクションを
発行したとき前記カウント手段を始動し、前記カウント
手段が前記レイテンシをカウントし終えたとき前記トラ
ンザクションを再発行するアクセス手段とを含む、プロ
セッサシステム。
A first bus connected to the first bus; a first bus master device connected to the first bus; and a bus bridge connected between the first and second buses and having a delayed transaction function. And 1 or 2 connected to the second bus, including latency storage means for storing a predetermined standard latency.
The first bus master device comprises: a table storage unit for storing a latency table in which the standard latency is associated with the bus slave device; and the first bus master device stores the standard latency from the bus slave device. Initialization means for reading and storing in the table storage means; counting means for counting standard latency stored in the table storage means; and starting the counting means when a transaction is issued to the bus slave device. And an access unit for reissuing the transaction when the counting unit has finished counting the latency.
【請求項2】 前記バススレーブデバイスはコンフィグ
レーションレジスタを含み、 前記レイテンシ記憶手段は前記コンフィグレーションレ
ジスタ内に含まれる、請求項1に記載のプロセッサシス
テム。
2. The processor system according to claim 1, wherein said bus slave device includes a configuration register, and wherein said latency storage means is included in said configuration register.
【請求項3】 前記プロセッサシステムはさらに、 プロセッサと、 前記第1のバスマスタデバイスに接続されたメインメモ
リとを備え、 前記第1のバスマスタデバイスは、前記プロセッサおよ
び前記第1のバス間に接続されたホストブリッジであ
る、請求項2に記載のプロセッサシステム。
3. The processor system further includes: a processor; and a main memory connected to the first bus master device, wherein the first bus master device is connected between the processor and the first bus. 3. The processor system according to claim 2, wherein said processor system is a host bridge.
【請求項4】 前記ホストブリッジはコンフィグレーシ
ョンレジスタを含み、 前記初期化手段は、 コンフィグレーションサイクルを発行することにより前
記バススレーブデバイスのコンフィグレーションレジス
タから標準レイテンシを読出して前記ホストブリッジの
コンフィグレーションレジスタに格納するコンフィグレ
ーション手段を含む、請求項3に記載のプロセッサシス
テム。
4. The host bridge includes a configuration register, and the initialization unit reads a standard latency from a configuration register of the bus slave device by issuing a configuration cycle to read a standard latency from the configuration register of the host bridge. The processor system according to claim 3, further comprising a configuration unit configured to store the information in the processor.
【請求項5】 前記プロセッサシステムはさらに、 前記第1のバスに接続された第2のバスマスタデバイス
を備え、 前記ホストブリッジは、 前記レイテンシテーブルを前記第2のバスマスタデバイ
スに転送する手段を含む、請求項4に記載のプロセッサ
システム。
5. The processor system further comprises: a second bus master device connected to the first bus; and the host bridge includes means for transferring the latency table to the second bus master device. The processor system according to claim 4.
【請求項6】 前記第2のバスマスタデバイスは、 コンフィグレーションレジスタと、 前記ホストブリッジから転送された前記レイテンシテー
ブルを受信して前記第2のバスマスタデバイスの前記コ
ンフィギュレーションレジスタに格納する手段とを含
む、請求項5に記載のプロセッサシステム。
6. The second bus master device includes: a configuration register; and means for receiving the latency table transferred from the host bridge and storing the latency table in the configuration register of the second bus master device. The processor system according to claim 5.
【請求項7】 前記第1のバスマスタデバイスには前記
カウント手段が複数設けられ、 前記バスブリッジは、 前記複数のカウント手段に対応して設けられ、前記バス
マスタデバイスから受信した複数のトランザクションの
情報をそれぞれ記憶する複数のディレイドトランザクシ
ョンキューを含む、請求項1に記載のプロセッサシステ
ム。
7. The first bus master device is provided with a plurality of the counting means, and the bus bridge is provided corresponding to the plurality of counting means, and is configured to receive information of a plurality of transactions received from the bus master device. The processor system according to claim 1, further comprising a plurality of delayed transaction queues that respectively store.
【請求項8】 前記アクセス手段は、前記バスブリッジ
から発行されたリトライを受信したとき前記第1のバス
を一旦解放する、請求項1に記載のプロセッサシステ
ム。
8. The processor system according to claim 1, wherein said access means temporarily releases said first bus when receiving a retry issued from said bus bridge.
【請求項9】 前記アクセス手段は、前記トランザクシ
ョンを再発行した場合において前記リトライを再び受信
したときは、予め定められた待ち時間経過後に前記トラ
ンザクションを再発行する、請求項1に記載のプロセッ
サシステム。
9. The processor system according to claim 1, wherein the access unit reissues the transaction after elapse of a predetermined waiting time when the retry is received again when the transaction is reissued. .
【請求項10】 前記アクセス手段は、前記トランザク
ションの発行回数が多くなるに従って前記待ち時間を短
くする、請求項9に記載のプロセッサシステム。
10. The processor system according to claim 9, wherein said access unit shortens said waiting time as the number of times of issuing said transaction increases.
【請求項11】 前記アクセス手段は、前記リトライの
受信回数を監視し、前記受信回数が予め定められた回数
よりも多いとき前記標準レイテンシをより長いレイテン
シに書換える、請求項9に記載のプロセッサシステム。
11. The processor according to claim 9, wherein the access unit monitors the number of times the retry is received, and rewrites the standard latency to a longer latency when the number of times of reception is greater than a predetermined number. system.
【請求項12】 前記アクセス手段は、バーストトラン
ザクションを発行する場合、前記標準レイテンシにバー
スト時間を加えたレイテンシを算出し、 前記カウント手段は、前記算出されたレイテンシをカウ
ントする、請求項1に記載のプロセッサシステム。
12. The apparatus according to claim 1, wherein, when issuing a burst transaction, the access unit calculates a latency obtained by adding a burst time to the standard latency, and the counting unit counts the calculated latency. Processor system.
【請求項13】 前記第1および第2のバスは互いに異
なるクロック周波数を有し、 前記アクセス手段は、前記第2のバスのクロック周波数
におけるレイテンシを前記第1のバスのクロック周波数
におけるレイテンシに換算し、 前記カウント手段は、前記換算されたレイテンシをカウ
ントする、請求項1に記載のプロセッサシステム。
13. The first and second buses have different clock frequencies from each other, and the access means converts latency at the clock frequency of the second bus into latency at the clock frequency of the first bus. The processor system according to claim 1, wherein said counting means counts the converted latency.
【請求項14】 前記第1のバスマスタデバイスはコン
フィグレーションレジスタを含み、 前記コンフィグレーションレジスタは、前記カウント手
段を有していることを示すステータスフラグを有する、
請求項1に記載のプロセッサシステム。
14. The first bus master device includes a configuration register, wherein the configuration register has a status flag indicating that the device has the counting means.
The processor system according to claim 1.
【請求項15】 前記第1のバスマスタデバイスはコン
フィグレーションレジスタを含み、 前記コンフィグレーションレジスタは、前記レイテンシ
記憶手段を有していることを示すステータスフラグを有
する、請求項1に記載のプロセッサシステム。
15. The processor system according to claim 1, wherein the first bus master device includes a configuration register, and the configuration register has a status flag indicating that the configuration includes the latency storage unit.
【請求項16】 バスと、 前記バスに接続されたバスマスタデバイスと、 予め定められた標準レイテンシを記憶するレイテンシ記
憶手段を含み、前記バスに接続された1または2以上の
バススレーブデバイスとを備え、 前記バスマスタデバイスは、 前記標準レイテンシを前記バススレーブデバイスに対応
づけたレイテンシテーブルを記憶するためのテーブル記
憶手段と、 前記バススレーブデバイスから当該標準レイテンシを読
出して前記テーブル記憶手段に格納する初期化手段と、 前記テーブル記憶手段に格納された標準レイテンシをカ
ウントするためのカウント手段と、 前記バススレーブデバイスに対してトランザクションを
発行したとき前記カウント手段を始動し、前記カウント
手段が前記レイテンシをカウントし終えたとき前記トラ
ンザクションを再発行するアクセス手段とを含む、プロ
セッサシステム。
16. A bus, comprising: a bus master device connected to the bus; and one or more bus slave devices connected to the bus, including a latency storage unit for storing a predetermined standard latency. A table storage unit for storing a latency table in which the standard latency is associated with the bus slave device; and initialization for reading the standard latency from the bus slave device and storing the read standard latency in the table storage unit. Means for counting the standard latency stored in the table storage means, and starting the counting means when issuing a transaction to the bus slave device, wherein the counting means counts the latency. When finished And an access means to reissue Nzakushon, processor system.
JP2000070448A 2000-03-14 2000-03-14 Processor system Withdrawn JP2001256179A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000070448A JP2001256179A (en) 2000-03-14 2000-03-14 Processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000070448A JP2001256179A (en) 2000-03-14 2000-03-14 Processor system

Publications (1)

Publication Number Publication Date
JP2001256179A true JP2001256179A (en) 2001-09-21

Family

ID=18589179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000070448A Withdrawn JP2001256179A (en) 2000-03-14 2000-03-14 Processor system

Country Status (1)

Country Link
JP (1) JP2001256179A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005123858A (en) * 2003-10-16 2005-05-12 Mega Chips Corp Camera control device
WO2009028007A1 (en) * 2007-08-24 2009-03-05 Fujitsu Limited Method for restraining requirements for i/o space of pci device
JP2010009628A (en) * 2004-12-09 2010-01-14 Hitachi Ltd Server system
JP2014041412A (en) * 2012-08-21 2014-03-06 Casio Electronics Co Ltd Pci bus control device
US8700779B2 (en) 2004-12-09 2014-04-15 Hitachi, Ltd. Multi node server system with plane interconnects the individual nodes equidistantly
JP2016164798A (en) * 2011-01-28 2016-09-08 クアルコム,インコーポレイテッド Bus clock frequency scaling for bus interconnect and related devices, systems and methods

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005123858A (en) * 2003-10-16 2005-05-12 Mega Chips Corp Camera control device
US7750954B2 (en) 2003-10-16 2010-07-06 Megachips Corporation Camera control device
JP2010009628A (en) * 2004-12-09 2010-01-14 Hitachi Ltd Server system
US8700779B2 (en) 2004-12-09 2014-04-15 Hitachi, Ltd. Multi node server system with plane interconnects the individual nodes equidistantly
WO2009028007A1 (en) * 2007-08-24 2009-03-05 Fujitsu Limited Method for restraining requirements for i/o space of pci device
US7886095B2 (en) 2007-08-24 2011-02-08 Fujitsu Limited I/O space request suppressing method for PCI device
KR101172956B1 (en) 2007-08-24 2012-08-09 후지쯔 가부시끼가이샤 Method for restraining requirements for i/o space of pci device
CN101779196B (en) * 2007-08-24 2012-08-22 富士通株式会社 Method for restraining requirements for i/o space of pci device
JP5195756B2 (en) * 2007-08-24 2013-05-15 富士通株式会社 PCI device I / O space request suppression method
JP2016164798A (en) * 2011-01-28 2016-09-08 クアルコム,インコーポレイテッド Bus clock frequency scaling for bus interconnect and related devices, systems and methods
JP2014041412A (en) * 2012-08-21 2014-03-06 Casio Electronics Co Ltd Pci bus control device

Similar Documents

Publication Publication Date Title
US5805842A (en) Apparatus, system and method for supporting DMA transfers on a multiplexed bus
JP2002140289A (en) Micro-controller dma operation with adjustable word size transfer and address array/increase
US5774681A (en) Method and apparatus for controlling a response timing of a target ready signal on a PCI bridge
US7013357B2 (en) Arbiter having programmable arbitration points for undefined length burst accesses and method
JPH10293744A (en) Pci bus system
US5553268A (en) Memory operations priority scheme for microprocessors
US6122679A (en) Master DMA controller with re-map engine for only spawning programming cycles to slave DMA controllers which do not match current programming cycle
JPH0771103B2 (en) Data communication network and token ring arbitration method
US6108735A (en) Method and apparatus for responding to unclaimed bus transactions
US5930485A (en) Deadlock avoidance in a computer system having unordered slaves
EP1063594B1 (en) An interrupt controller and a microcomputer incorporating this controller
US6081859A (en) Address dependent retry system to program the retry latency of an initiator PCI agent
US20080228975A1 (en) Device address locking to facilitate optimum usage of the industry standard iic bus
US6804736B2 (en) Bus access arbitration based on workload
JP2001256179A (en) Processor system
US5878239A (en) Method and apparatus for processing a target retry from a PCI target device to an ISA master devise using a PCI/ISA bridge
JP2001216254A (en) Arbitration of control chip set in bus transaction
KR20010108428A (en) Data transaction access system and method
JP2001282704A (en) Device, method and system for processing data
JP3602435B2 (en) Data transaction method between control chipsets
US5850529A (en) Method and apparatus for detecting a resource lock on a PCI bus
CN115794713A (en) AXI bus read-write transaction balancing method, device, electronic equipment and medium
JP2011070372A (en) Dma transmission control device
US6269360B1 (en) Optimization of ordered stores on a pipelined bus via self-initiated retry
US11914536B2 (en) Device and method for sharing resource via bus

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070605