JP5245463B2 - Arbiter, bus use control device, and bus use control method. - Google Patents
Arbiter, bus use control device, and bus use control method. Download PDFInfo
- Publication number
- JP5245463B2 JP5245463B2 JP2008055511A JP2008055511A JP5245463B2 JP 5245463 B2 JP5245463 B2 JP 5245463B2 JP 2008055511 A JP2008055511 A JP 2008055511A JP 2008055511 A JP2008055511 A JP 2008055511A JP 5245463 B2 JP5245463 B2 JP 5245463B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- pci
- arbiter
- data
- devices
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、アービタ、バス使用制御装置、及びバス使用制御方法に関し、特に、無駄なトランザクションによるバスの占有を削減しつつ、データを遅滞なく読出可能なアービタ、バス使用制御装置、及びバス使用制御方法に関する。 The present invention relates to an arbiter, a bus use control device, and a bus use control method, and more particularly to an arbiter, a bus use control device, and a bus use control capable of reading data without delay while reducing bus occupation due to useless transactions. Regarding the method.
PCI(Peripheral Component Interconnect)バスを持つコンピュータ装置では、あるデバイスが他のデバイスからデータを読み出す場合、まず、バスの使用許可を得てから、リードコマンドの送出を実行するという手順で行われる。 In a computer device having a PCI (Peripheral Component Interconnect) bus, when a certain device reads data from another device, first, after obtaining permission to use the bus, a read command is transmitted.
しかしながら、リードコマンドを受けたデバイスがデータ送出の準備が出来ていない場合には、リトライ応答でデータ転送が終了され、リトライ終了したデバイスは、実際にデータが読み出せるまで、再度バス使用許可を得て、リードコマンドの送出を実行するといった手順を繰り返す必要がある。このため、リトライ応答で終了するトランザクションは、バスを占有する無駄なトランザクションとなってしまう。 However, if the device that received the read command is not ready to send data, the data transfer is completed with a retry response, and the device that has completed the retry obtains the bus use permission again until the data can actually be read. Therefore, it is necessary to repeat a procedure such as sending a read command. For this reason, a transaction that ends with a retry response becomes a useless transaction that occupies the bus.
このような無駄なトランザクションを削減するものとして、特許文献1には、一定期間、リトライ終了したデバイスからのバス使用許可を受け付けないで、無駄なトランザクションのバス占有を削減する技術が記載されている。
しかしながら、特許文献1に記載の技術では、一定期間が経過する前にリードコマンドを受けたデバイスがデータ送出の準備が出来た場合でも、リトライ終了したデバイスからのバス使用許可を受け付けないため、データの読出が遅くなってしまうという問題があった。
However, in the technique described in
また、リトライ終了したデバイスが複数機能を有するデバイスの場合でも、上記リトライ応答となった機能以外の機能からの要求も、ある一定期間受け付けることが出来ないため、データの読出が遅くなってしまうという問題があった。 In addition, even if the device that has completed the retry has a plurality of functions, requests from functions other than the function that caused the retry response cannot be accepted for a certain period of time. There was a problem.
本発明は、上記実状に鑑みてなされたものであり、無駄なトランザクションによるバスの占有を削減しつつ、データを遅滞なく読出可能なアービタ、バス使用制御装置、及びバス使用制御方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, and provides an arbiter, a bus use control device, and a bus use control method capable of reading data without delay while reducing the occupation of the bus due to useless transactions. With the goal.
上記目的を達成するため、本発明の第1の観点に係るアービタは、第1バスに接続されている第1デバイスから該第1バスの使用が要求されたことに応答して、今回の要求よりも以前になされた該第1デバイスからの該第1バスの使用の要求に対して許可を与えたことに基づき、該第1バスとは異なる第2バスが使用中となっているか否かを判別するバス使用判別手段と、前記バス使用判別手段によって前記第2バスが使用中であると判別した場合、前記第1デバイスに対して前記第1バスの使用を許可せず、該第2バスが使用中でないと判別した場合、該第1バスの使用を許可するバス使用許可手段と、を備える。 In order to achieve the above object, the arbiter according to the first aspect of the present invention provides a request for this time in response to a request for use of the first bus from the first device connected to the first bus. Whether or not a second bus different from the first bus is in use based on granting permission to use the first bus from the first device made earlier than When the bus usage determining unit determines that the second bus is in use, the second device does not permit the first device to use the first bus. And a bus use permission means for permitting use of the first bus when it is determined that the bus is not in use.
また、本発明の第2の観点に係るバス使用制御装置は、請求項1又は2に記載のアービタと、前記第2バスに接続されている第2デバイスと、前記バス使用許可手段によって前記第1バスの使用が許可されたことに応答して、前記第2デバイスに記憶されているデータの読出を要求する読出コマンドを前記第1バスを介して送出する前記第1デバイスと、前記第1デバイスから前記第1バスを介して送出された前記読出コマンドを受信したことに応答して、該第1デバイスによる該読出コマンドの送出を停止させるとともに、前記第2デバイスから前記第2バスを介して前記データを読み出し、該データの読出の完了後、該読出コマンドを再度受信したことに応答して、該データを該第1バスを介して該第1デバイスに送出するバスブリッジと、を備え、前記バス使用判別手段は、前記バスブリッジによって第2デバイスから前記第2バスを介して前記データが読み出されている場合、該第2バスが使用中であると判別する、ことを特徴とする。
According to a second aspect of the present invention, there is provided a bus use control apparatus comprising: the arbiter according to
さらに、本発明の第3の観点に係るバス使用制御方法は、第1バスに接続されている第1デバイスから該第1バスの使用が要求されたことに応答して、今回の要求よりも以前になされた該第1デバイスからの該第1バスの使用の要求に対して許可を与えたことに基づき、該第1バスとは異なる第2バスが使用中となっているか否かを判別するバス使用判別ステップと、前記バス使用判別ステップによって前記第2バスが使用中であると判別した場合、前記第1デバイスに対して前記第1バスの使用を許可せず、該第2バスが使用中でないと判別した場合、該第1バスの使用を許可するバス使用許可ステップと、を備える。 Furthermore, the bus usage control method according to the third aspect of the present invention is more effective than the current request in response to a request to use the first bus from the first device connected to the first bus. Whether or not a second bus different from the first bus is in use is determined based on permission given to a request for use of the first bus from the first device made previously. And determining that the second bus is in use by the bus use determining step and the bus use determining step, the first device is not permitted to use the first bus, and the second bus A bus use permission step for permitting use of the first bus when it is determined that the bus is not in use.
本発明によれば、無駄なトランザクションによるバスの占有を削減しつつ、データを遅滞なく読出可能なアービタ、バス使用制御装置、及びバス使用制御方法を提供することができる。 According to the present invention, it is possible to provide an arbiter, a bus use control device, and a bus use control method capable of reading data without delay while reducing the occupation of the bus due to useless transactions.
以下、本発明を実施するための最良の形態について説明する。 Hereinafter, the best mode for carrying out the present invention will be described.
まず、本実施形態に係るPCI(Peripheral Component Interconnect)バス制御回路の構成について、図面を参照して説明する。 First, the configuration of a PCI (Peripheral Component Interconnect) bus control circuit according to the present embodiment will be described with reference to the drawings.
図1は、PCIバス制御回路の構成例を示すブロック図である。PCIバス制御回路1は、図1に示すように、複数(本実施形態では4個)のPCIデバイス11A〜11Dと、複数(本実施形態では2個)のPCIバス12A及び12Bと、PCIバスブリッジ13と、アービタ14と、から構成されている。
FIG. 1 is a block diagram illustrating a configuration example of a PCI bus control circuit. As shown in FIG. 1, the PCI
PCIバス12Aには、PCIデバイス11AとPCIデバイス11Bとアービタ14とが接続されており、PCIバス12Bには、PCIデバイス11CとPCIデバイス11Dとアービタ14とが接続されている。PCIバス12AとPCIバス12Bとは、PCIバスブリッジ13を介して接続されている。
A
PCIデバイス11Cとアービタ14との間には、PCIデバイス11Cからのバス使用要求信号REC−Cと、PCIデバイス11Cに対するバス使用許可信号GNT−Cとに対応した信号線がそれぞれ設けられている。PCIデバイス11Dとアービタ14との間には、PCIデバイス11Dからのバス使用要求信号REC−Dと、PCIデバイス11Dに対するバス使用許可信号GNT−Dとに対応した信号線がそれぞれ設けられている。
Between the
PCIデバイス11C、11Dは、PCIデバイス11A、11Bからデータを読み出す場合、それぞれバス使用要求信号REQ−C、REQ−Dを信号線を介してアービタ14に対して送出することにより、PCIバス12Bの使用を要求する。また、PCIデバイス11C及び11Dは、それぞれアービタ14から信号線を介して送出されたバス使用許可信号GNT−C、GNT−Dを検知すると、リードコマンドをPCIバス12Bを介してPCIバスブリッジ13に対して送出する。
When the
PCIデバイス11C、11Dは、PCIバスブリッジ13からPCIバス12Bを介して送出されたリトライ応答を受け取ると、リードコマンドのPCIバスブリッジ13に対する送出を終了する。また、PCIデバイス11C、11Dは、PCIバスブリッジ13によってPCIデバイス11A、11Bから読み出されたデータ(リードデータ)を受け取る。
Upon receiving the retry response sent from the
PCIバスブリッジ13は、PCIデバイス11C、11DからPCIバス12Bを介して送出されたリードコマンドを受けると、このリードコマンドを図示せぬ内部メモリに記憶し、PCIデバイス11A、11Bからデータを読み出すとともに、リトライ応答をPCIバス12Bを介してPCIデバイス11C、11Dに対して送出する。
When the
PCIバスブリッジ13は、PCIデバイス11A、11Bからのデータの読出が終了した後、PCIデバイス11C、11Dからリードコマンドを再度受けると、この読み出したデータ(リードデータ)をPCIバス12Bを介してPCIデバイス11C、11Dに対して送出する。
When the
アービタ14は、デバイス判別部141と、バス監視部142と、バス調停部143と、を備えている。
The
デバイス判別部141は、PCIバス12A及び12Bの初期化時に、PCIバス12Bに接続されているPCIデバイス11C、11Dが複数機能を有するデバイス(マルチファンクションデバイス)であるか否かを判別し、その判別結果を、図示せぬ内部メモリに設けられた判別結果記憶領域に記憶する。
The
本実施形態において、PCIデバイス11Cは、機能11C−1及び11C−2といった2つの異なる機能を有しているのに対し、PCIデバイス11Dは、1つの機能のみを有している。このため、デバイス判別部141は、PCIバス12A及び12Bの初期化時に、PCIデバイス11Cを複数機能を有するデバイスと判別する一方で、PCIデバイス11Dを単機能しか有しないデバイスと判別して、その判別結果を判別結果記憶領域に記憶する。
In the present embodiment, the
バス監視部142は、PCIバス12Bを監視して、PCIデバイス11C、11DがPCIバスブリッジ13からリトライ応答を受けてリードコマンドのPCIバスブリッジ13に対する送出を終了したか否かを判別し、終了したと判別したときには、図示せぬ内部メモリに設けられたリトライ終了フラグをオン状態にセットする。
The
バス監視部142は、リトライ終了フラグがオンである場合、PCIバス12Aを監視して、PCIバスブリッジ13によるPCIデバイス11A、11Bからのデータの読出が終了したか否かを判別し、終了したと判別したときには、リトライ終了フラグをクリアしてオフ状態にする。
When the retry end flag is on, the
バス調停部143は、リトライ終了フラグがオフである場合に、バス使用要求信号REQ−C、REQ−Dの双方を受けると、例えば固定プライオリティ、ラウンドロビンなどにより優先順位を決定し、PCIデバイス11C、11Dのうち、優先度が高いものに対してPCIバス12Bの使用許可を与える。
When the retry completion flag is off and the
PCIデバイス11CがPCIデバイス11Dよりも優先度が高い場合には、バス使用許可信号GNT−Cを信号線を介して送出することにより、PCIデバイス11Cに対してPCIバス12Bの使用許可を与え、PCIデバイス11DがPCIデバイス11Cよりも優先度が高い場合には、バス使用許可信号GNT−Dを信号線を介して送出することにより、PCIデバイス11Dに対してPCIバス12Bの使用許可を与える。
When the
バス調停部143は、リトライ終了フラグがオンである場合に、バス使用要求信号REQ−C、REQ−Dの双方又はいずれか一方を受けると、判別結果記憶領域の記憶内容に基づいて、PCIバス12Bの使用を要求したPCIデバイス11C、11Dが複数機能を有するデバイスであるか否かを判別し、複数機能を有すると判別したデバイスに対しては、PCIバス12Bの使用許可を与え、単機能しか有しないと判別したデバイスに対しては、PCIバス12Bの使用許可を与えない。
If the
本実施形態において、PCIデバイス11Cは、2つの異なる機能を有していることから、バス調停部143は、リトライ終了フラグがオンである場合に、PCIデバイス11Cからバス使用要求信号REQ−Cを受けると、バス使用許可信号GNT−Cを信号線を介して送出して、PCIデバイス11Cに対してPCIバス12Bの使用許可を与える。
In this embodiment, since the
これに対して、PCIデバイス11Dは、1つの機能のみを有していることから、バス調停部143は、リトライ終了フラグがオンである場合に、PCIデバイス11Dからバス使用要求信号REQ−Dを受けても、バス使用許可信号GNT−Dを信号線を介して送出せず、PCIデバイス11Cに対してPCIバス12Bの使用許可を与えない。
On the other hand, since the
次に、上記構成を備えるPCIバス制御回路が実行する動作について図面を参照しつつ説明する。 Next, operations performed by the PCI bus control circuit having the above configuration will be described with reference to the drawings.
電源が投入されたりシステムがリセットされたりすると、PCIバス12A及び12Bなどの初期化処理が実行される。この初期化処理において、PCIバス制御回路1のアービタ14は、図2に示すデバイス判別処理を実行する。
When the power is turned on or the system is reset, initialization processing such as PCI buses 12A and 12B is executed. In this initialization process, the
このデバイス判別処理において、アービタ14は、まず、図2に示すように、デバイス判別部141にて、PCIバス12Bに接続されているPCIデバイス11C及び11Dのそれぞれにつき、複数機能を有するデバイス(マルチファンクションデバイス)であるか否かを判別する(ステップS1)。
In this device determination process, the
具体的に、PCIデバイス11Cは、2つの異なる機能を有しているのに対し、PCIデバイス11Dは、1つの機能のみを有していることから、ステップS1の処理では、PCIデバイス11Cが複数機能を有するデバイスと判別され、PCIデバイス11Dが単機能しか有しないデバイスと判別される。そして、アービタ14は、ステップS1の処理にて取得された判別結果を、図示せぬ内部メモリに設けられた判別結果記憶領域に記憶する(ステップS2)。
Specifically, the
このような初期化処理の終了後、定期的にタイマ割込処理が実行される。このタイマ割込処理において、アービタ14は、図3に示すバス監視処理と、図4に示すバス調停処理と、を実行する。
After completion of such initialization processing, timer interrupt processing is periodically executed. In this timer interrupt process, the
このバス監視処理において、アービタ14は、まず、図3に示すように、図示せぬ内部メモリに設けられたリトライ終了フラグがオンであるか否かを判別する(ステップS11)。ここで、リトライ終了フラグがオフであると判別した場合(ステップS11;No)、アービタ14は、バス監視部142にてPCIバス12Bを監視することにより、PCIデバイス11C、11DがPCIバスブリッジ13からリトライ応答を受けてリードコマンドのPCIバスブリッジ13に対する送出を終了したか否かを判別する(ステップS12)。
In this bus monitoring process, the
ここで、リードコマンドのPCIバスブリッジ13に対する送出が終了していないと判別した場合には(ステップS12;Yes)、そのままバス監視処理を終了する一方で、終了したと判別した場合には(ステップS12;Yes)、リトライ終了フラグをオン状態にセットしてから(ステップS13)、バス監視処理を終了する。
If it is determined that the sending of the read command to the
これに対して、リトライ終了フラグがオンであると判別した場合(ステップS11;Yes)、アービタ14は、バス監視部142にてPCIバス12Aを監視することにより、PCIバスブリッジ13によるPCIデバイス11A、11Bからのデータの読出が終了したか否かを判別する(ステップS14)。
On the other hand, when it is determined that the retry end flag is on (step S11; Yes), the
ここで、PCIデバイス11A、11Bからのデータの読出が終了していないと判別した場合には(ステップS14;No)、そのままバス監視処理を終了する一方で、終了したと判別した場合には(ステップS12;Yes)、リトライ終了フラグをクリアしてオフ状にしてから(ステップS15)、バス監視処理を終了する。
Here, if it is determined that the reading of data from the
このバス調停処理において、アービタ14は、まず、図4に示すように、バス使用要求信号REQ−C、REQ−Dの双方又はいずれか一方を受けたか否かを判別することにより、PCIデバイス11C、11Dの双方又はいずれか一方からPCIバス12Bの使用が要求されたか否かを判別する(ステップS21)。ここで、PCIデバイス11C、11DのいずれからもPCIバス12Bの使用が要求されていないとと判別した場合には(ステップS21;No)、そのままバス調停処理を終了する。
In this bus arbitration process, the
一方、PCIデバイス11C、11Dの双方又はいずれか一方からPCIバス12Bの使用が要求されたと判別した場合には(ステップS21;Yes)、図示せぬ内部メモリに設けられたリトライ終了フラグがオンであるか否かを判別する(ステップS22)。ここで、リトライ終了フラグがオフであると判別した場合(ステップS22;No)、アービタ14は、PCIデバイス11C、11Dの双方からPCIバス12Bの使用が要求されたか、いずれか一方からPCIバス12Bの使用が要求されたかを判別する(ステップS23)。
On the other hand, when it is determined that use of the PCI bus 12B is requested from either or both of the
PCIデバイス11C、11Dの双方からPCIバス12Bの使用が要求されたと判別した場合(ステップS23;Yes)、アービタ14は、バス調停部143にて優先順位を決定し、PCIデバイス11C、11Dのうち、優先度が高いものに対してPCIバス12Bの使用許可を与え(ステップS24)、バス調停処理を終了する。
When it is determined that the use of the PCI bus 12B is requested from both the
具体的に、ステップS24の処理では、PCIデバイス11CがPCIデバイス11Dよりも優先度が高い場合、バス使用許可信号GNT−Cを信号線を介して送出することにより、PCIデバイス11Cに対してPCIバス12Bの使用許可が与えられる。これに対して、PCIデバイス11DがPCIデバイス11Cよりも優先度が高い場合には、バス使用許可信号GNT−Dを信号線を介して送出することにより、PCIデバイス11Dに対してPCIバス12Bの使用許可が与えられる。
Specifically, in the process of step S24, when the
一方、PCIデバイス11C、11Dのいずれか一方からPCIバス12Bの使用が要求されたと判別した場合には(ステップS23;No)、PCIバス12Bの使用を要求したPCIデバイス11C、11Dに対してPCIバス12Bの使用許可を与え(ステップS25)、バス調停処理を終了する。
On the other hand, when it is determined that the use of the PCI bus 12B is requested from either one of the
具体的に、ステップS25の処理では、ステップS23の処理にてPCIデバイス11CからPCIバス12Bの使用が要求されたと判別した場合、バス使用許可信号GNT−Cを信号線を介して送出することにより、PCIデバイス11Cに対してPCIバス12Bの使用許可が与えられる。これに対して、ステップS23の処理にてPCIデバイス11DからPCIバス12Bの使用が要求されたと判別した場合、バス使用許可信号GNT−Dを信号線を介して送出することにより、PCIデバイス11Dに対してPCIバス12Bの使用許可が与えられる。
Specifically, in the process of step S25, when it is determined that the use of the PCI bus 12B is requested from the
一方、リトライ終了フラグがオンであると判別した場合(ステップS22;Yes)、アービタ14は、バス調停部143にて、判別結果記憶領域の記憶内容に基づいて、PCIバス12Bの使用を要求したPCIデバイス11C、11Dが複数機能を有するデバイスであるか否かを判別する(ステップS26)。ここで、PCIバス12Bの使用を要求したPCIデバイス11C、11Dが単機能しか有しないデバイスであると判別した場合には(ステップS26;No)、そのままバス調停処理を終了する。
On the other hand, when it is determined that the retry end flag is on (step S22; Yes), the
一方、PCIバス12Bの使用を要求したPCIデバイス11C、11Dが複数機能を有するデバイスであると判別した場合(ステップS26;Yes)、アービタ14は、バス調停部143にて、複数機能を有すると判別したデバイスに対してPCIバス12Bの使用許可を与え(ステップS27)、バス調停処理を終了する。
On the other hand, when it is determined that the
具体的に、2つの異なる機能を有するPCIデバイス11CからPCIバス12Bの使用が要求された場合、ステップS26の処理では、PCIバス12Bの使用を要求したPCIデバイス11Cが複数機能を有するデバイスであると判別されて、ステップS27の処理にてバス使用許可信号GNT−Cが信号線を介して送出して、PCIデバイス11Cに対してPCIバス12Bの使用許可が与えられる。
Specifically, when use of the PCI bus 12B is requested from the
これに対して、1つの機能のみを有するPCIデバイス11DからPCIバス12Bの使用が要求された場合、ステップS26の処理では、PCIバス12Bの使用を要求したPCIデバイス11Dが単機能しか有しないデバイスであると判別されて、バス使用許可信号GNT−Dを信号線を介して送出せず、PCIデバイス11Dに対してPCIバス12Bの使用許可が与えられない。
On the other hand, when the use of the PCI bus 12B is requested from the
続いて、上述したPCIバス制御回路の動作について、具体例を挙げて説明する。 Next, the operation of the PCI bus control circuit described above will be described with a specific example.
一例として、PCIバス12A及び12Bが使用されていない状態において、1つの機能のみを有するPCIデバイス11DがPCIデバイス11Aからデータを読み出す場合には、まず、バス使用要求信号REQ−Dが信号線を介してアービタ14に対して送出されることにより、PCIバス12Bの使用が要求される。そして、この場合、アービタ14は、図4に示すステップS22の処理にてリトライ終了フラグがオフであると判別することなどから、ステップS25の処理にてバス使用許可信号GNT−Dを信号線を介して送出することにより、PCIデバイス11Dに対してPCIバス12Bの使用許可を与える。
As an example, when the
PCIデバイス11Dは、バス使用許可信号GNT−Dを検知すると、リードコマンドをPCIバス12Bを介してPCIバスブリッジ13に対して送出する。そして、PCIバスブリッジ13は、リードコマンドを受けると、受け取ったリードコマンドをPCIバス12Aを介してPCIデバイス11Aに対して送出するとともに、リトライ応答をPCIバス12Bを介してPCIデバイス11Dに対して送出することにより、PCIデバイス11Dによるリードコマンドの送出を終了させる。
Upon detecting the bus use permission signal GNT-D, the
このようにして、PCIデバイス11Dによるリードコマンドの送出を終了した場合、PCIデバイス11Dは、リードコマンドのPCIバスブリッジ13に対する送出を再度実行すべく、バス使用要求信号REQ−Dを信号線を介してアービタ14に対して送出することにより、PCIバス12Bの使用を要求する一方で、アービタ14は、図3に示すステップS13の処理にて図示せぬ内部メモリに設けられたリトライ終了フラグをオン状態にセットする。
Thus, when the sending of the read command by the
これにより、アービタ14は、図4に示すステップS22の処理にてリトライ終了フラグがオンであると判別し、また、ステップS26の処理にてPCIデバイス11Dが1つの機能しか有していないと判別することから、バス使用許可信号GNT−Dを信号線を介して送出せず、PCIデバイス11Cに対してPCIバス12Bの使用許可が与えられない。
Thereby, the
その後、PCIバスブリッジ13によるPCIデバイス11Aからのデータの読出が終了して、この読み出したデータ(リードデータ)をPCIバス12Bを介してPCIデバイス11Dに対して送出する準備ができた場合、アービタ14は、図3に示すステップS13の処理にてリトライ終了フラグをクリアしてオフ状態にする。
Thereafter, when reading of data from the
これにより、アービタ14は、図4に示すステップS22の処理にてリトライ終了フラグがオフであると判別することなどから、ステップS25の処理にてバス使用許可信号GNT−Dを信号線を介して送出することにより、PCIデバイス11Dに対してPCIバス12Bの使用許可を与える。
As a result, the
PCIデバイス11Dは、バス使用許可信号GNT−Dを検知すると、リードコマンドをPCIバス12Bを介してPCIバスブリッジ13に対して送出する。そして、PCIバスブリッジ13は、PCIデバイス11Aからのデータの読出が終了していることから、リードコマンドを再度受けると、リードデータをPCIバス12Bを介してPCIデバイス11Dに対して送出する。
Upon detecting the bus use permission signal GNT-D, the
このようにして、PCIバス制御回路1は、1つの機能のみを有するPCIデバイス11Dからの無駄なトランザクションによるPCIバス12Bの占有を削減しつつ、PCIデバイス11Aからデータを読み出すことができる。
In this way, the PCI
他の例として、PCIバス12A及び12Bが使用されていない状態において、2つの機能を有するPCIデバイス11Cのうちの1つの機能11C−1がPCIデバイス11Aからデータを読み出す場合には、まず、バス使用要求信号REQ−Cが信号線を介してアービタ14に対して送出されることにより、PCIバス12Bの使用が要求される。そして、この場合、アービタ14は、図4に示すステップS22の処理にてリトライ終了フラグがオフであると判別することなどから、ステップS25の処理にてバス使用許可信号GNT−Cを信号線を介して送出することにより、PCIデバイス11Cに対してPCIバス12Bの使用許可を与える。
As another example, when one
PCIデバイス11Cの機能11C−1は、バス使用許可信号GNT−Cを検知すると、リードコマンドをPCIバス12Bを介してPCIバスブリッジ13に対して送出する。そして、PCIバスブリッジ13は、リードコマンドを受けると、受け取ったリードコマンドをPCIバス12Aを介してPCIデバイス11Aに対して送出するとともに、リトライ応答をPCIバス12Bを介してPCIデバイス11Cに対して送出することにより、PCIデバイス11Cの機能11C−1によるリードコマンドの送出を終了させる。
When the
このようにして、PCIデバイス11Cの機能11C−1によるリードコマンドの送出を終了した場合、アービタ14は、図3に示すステップS13の処理にて図示せぬ内部メモリに設けられたリトライ終了フラグをオン状態にセットする。
In this way, when the sending of the read command by the
その後、PCIデバイス11Cのうちのもう1つの機能11C−2がPCIデバイス11Bからデータを読み出す場合には、バス使用要求信号REQ−Cが信号線を介してアービタ14に対して送出されることにより、PCIバス12Bの使用が要求される。
Thereafter, when the
この場合、アービタ14は、図4に示すステップS22の処理にてリトライ終了フラグがオンであると判別し、また、ステップS26の処理にてPCIデバイス11Cが2つの機能を有すると判別することから、バス使用許可信号GNT−Cを信号線を介して送出して、PCIデバイス11Cに対してPCIバス12Bの使用許可を与える。
In this case, the
PCIデバイス11Dの機能11C−2は、バス使用許可信号GNT−Cを検知すると、リードコマンドをPCIバス12Bを介してPCIバスブリッジ13に対して送出する。そして、PCIバスブリッジ13は、リードコマンドを受けると、受け取ったリードコマンドをPCIバス12Aを介してPCIデバイス11Bに対して送出する。
When the
このようにして、PCIバス制御回路1は、2つの機能を有するPCIデバイス11Cのうちの1つの機能11C−1によるPCIデバイス11Aからのデータの読出が終了する以前でも、もう1つの機能11C−2によるPCIデバイス11Bからのデータの読出を実行することができる。
In this way, the PCI
以上説明したように、本実施形態におけるPCI制御回路1によれば、アービタ14は、PCIバス12Bに接続されているPCIデバイス11C、11Dからバス使用要求信号REQ−C、REQ−Dが送出されてPCIバス12Bの使用が要求されたことに応答して、図4に示すステップS22の処理にてリトライ終了フラグがオンであるか否かを判別することにより、今回の要求よりも以前になされたPCIデバイス11C、11DからのPCIバス12Bの使用が要求に対して許可を与えたことに基づいて、PCIバス12Aが使用中であるか否かを判別する。
As described above, according to the
ここで、ステップS22の処理にてリトライ終了フラグがオフであれば、アービタ14は、PCIバス12Aが使用中でないと判別して、PCIデバイス11C、11Dの双方からPCIバス12Bの使用が要求された場合には、ステップS24の処理にて優先順位を決定し、PCIデバイス11C、11Dのうち、優先度が高いものに対してPCIバス12Bの使用を許可し、PCIデバイス11C、11Dのいずれか一方のみからPCIバス12Bの使用が要求された場合には、ステップS25の処理にてPCIバス12Bの使用を要求したPCIデバイス11C、11Dに対してPCIバス12Bの使用を許可する。
Here, if the retry end flag is OFF in the process of step S22, the
これに対して、ステップS22の処理にてリトライ終了フラグがオンであれば、アービタ14は、PCIバス12Aが使用中であると判別して、ステップS26の処理にて図示せぬ内部メモリに設けられた判別結果記憶領域の記憶内容に基づいて、PCIバス12Bの使用を要求したPCIデバイス11C、11Dが複数機能を有するデバイスであるか否かを判別する。
On the other hand, if the retry end flag is on in the process of step S22, the
そして、アービタ14は、ステップS26の処理にてPCIバス12Bの使用を要求したPCIデバイス11C、11Dが複数機能を有するデバイスであると判別した場合(本実施形態ではPCIデバイス11DからPCIバス12Bの使用が要求された場合)、PCIバス12Bの使用を許可する一方で、PCIバス12Bの使用を要求したPCIデバイス11C、11Dが単機能しか有しないデバイスであると判別した場合(本実施形態ではPCIデバイス11CからPCIバス12Bの使用が要求された場合)、PCIバス12Bの使用を許可しない。
When the
すなわち、アービタ14は、単機能しか有しないPCIデバイス11DからPCIバス12Bの使用が要求された場合、PCIバス12Aが使用中であれば、PCIバス12Bの使用を許可せず、PCIバス12Aが使用中でなければ、PCIバス12Bの使用を許可する。これに対して、複数機能を有するPCIデバイス11CからPCIバス12Bの使用が要求された場合には、PCIバス12Aが使用中であるか否かに関わらず、PCIバス12Bの使用を許可する。
That is, if the PCI bus 12B is requested from the
このように、単機能しか有しないPCIデバイス11DからPCIバス12Bの使用が要求された場合において、PCIバス12Aが使用中であるとき、すなわち、PCIバスブリッジ13によるPCIデバイス11A、11Bからのデータの読出が行われているときには、PCIバス12Bの使用を許可しない。その後、PCIバスブリッジ13によるPCIデバイス11A、11Bからのデータの読出が終了して、この読み出したデータ(リードデータ)をPCIデバイス11Dに対して送出する準備ができると、アービタ14は、PCIバス12Aが使用中でないと判別することから、直ちにPCIバス12Bの使用を許可する。
As described above, when the PCI bus 12B is requested from the
また、複数機能を有するPCIデバイス11CからPCIバス12Bの使用が要求された場合においては、PCIバス12Aが使用中であるか否かに関わらず、アービタ14は、直ちにPCIバス12Bの使用を許可する。
Further, when the
これにより、PCIバス制御回路1は、無駄なトランザクションによるPCIバス12Bの占有を削減しつつ、PCIデバイス11A、11Bからデータを遅滞なく読み出すことができる。
Thereby, the PCI
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。 In addition, this invention is not limited to the said embodiment, A various deformation | transformation and application are possible. Hereinafter, modifications of the above-described embodiment applicable to the present invention will be described.
上記実施形態では、2個のPCIバス12AとPCIバス12Bにそれぞれ2個ずつPCIデバイス11A及び11BとPCIデバイス11C及び11Dとが接続されるものとして説明した。しかしながら、本発明は、これに限定されるものではなく、PCIバスの個数は、2個以上であれば任意であり、また、PCI規格において、1個のPCIバスに接続されるPCIデバイスの個数は、最大10個であり、この範囲の個数であれば、任意に変更可能である。
In the above embodiment, two
1 PCIバス制御回路
11A〜11D PCIデバイス
12A,12B PCIバス
13 PCIバスブリッジ
14 アービタ
141 デバイス判別部
142 バス監視部
143 バス調停部
DESCRIPTION OF
Claims (4)
前記バス使用判別手段によって前記第2バスが使用中であると判別した場合、前記第1デバイスに対して前記第1バスの使用を許可せず、該第2バスが使用中でないと判別した場合、該第1バスの使用を許可するバス使用許可手段と、
を備えるアービタ。 In response to a request for use of the first bus from a first device connected to the first bus, the use of the first bus from the first device made prior to the current request. Bus use determining means for determining whether or not a second bus different from the first bus is in use on the basis of giving permission to the request;
When it is determined by the bus use determining means that the second bus is in use, the first device is not permitted to use the first bus, and it is determined that the second bus is not in use Bus use permission means for permitting the use of the first bus;
Arbiter equipped with.
前記バス使用許可手段は、前記デバイス判別手段によって前記第1デバイスが複数の機能を有すると判別した場合、前記バス使用判別手段による判別結果に関わらず、該第1デバイスに対して前記第1バスの使用を許可する、
ことを特徴とする請求項1に記載のアービタ。 Device discriminating means for discriminating whether or not the first device has a plurality of functions;
When the device determination unit determines that the first device has a plurality of functions, the bus use permission unit determines whether the first device has the first bus regardless of the determination result by the bus use determination unit. Allow the use of
The arbiter according to claim 1.
前記第2バスに接続されている第2デバイスと、
前記バス使用許可手段によって前記第1バスの使用が許可されたことに応答して、前記第2デバイスに記憶されているデータの読出を要求する読出コマンドを前記第1バスを介して送出する前記第1デバイスと、
前記第1デバイスから前記第1バスを介して送出された前記読出コマンドを受信したことに応答して、該第1デバイスによる該読出コマンドの送出を停止させるとともに、前記第2デバイスから前記第2バスを介して前記データを読み出し、該データの読出の完了後、該読出コマンドを再度受信したことに応答して、該データを該第1バスを介して該第1デバイスに送出するバスブリッジと、を備え、
前記バス使用判別手段は、前記バスブリッジによって第2デバイスから前記第2バスを介して前記データが読み出されている場合、該第2バスが使用中であると判別する、
ことを特徴とするバス使用制御装置。 An arbiter according to claim 1 or 2,
A second device connected to the second bus;
In response to the use of the first bus being permitted by the bus use permission means, the read command for requesting the reading of the data stored in the second device is sent via the first bus. A first device;
In response to receiving the read command sent from the first device via the first bus, the second device stops sending the read command, and the second device sends the second command to the second device. A bus bridge for reading the data via the bus and sending the data to the first device via the first bus in response to receiving the read command again after the data read is completed; With
The bus use determining means determines that the second bus is in use when the data is read from the second device via the second bus by the bus bridge.
A bus use control device characterized by that.
前記バス使用判別ステップによって前記第2バスが使用中であると判別した場合、前記第1デバイスに対して前記第1バスの使用を許可せず、該第2バスが使用中でないと判別した場合、該第1バスの使用を許可するバス使用許可ステップと、
を備えるバス使用制御方法。 In response to a request for use of the first bus from a first device connected to the first bus, the use of the first bus from the first device made prior to the current request. A bus use determining step for determining whether or not a second bus different from the first bus is in use based on granting the request;
When the bus use determining step determines that the second bus is in use, the first device is not permitted to use the first bus, and the second bus is determined not to be used A bus use permission step for permitting use of the first bus;
A bus use control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008055511A JP5245463B2 (en) | 2008-03-05 | 2008-03-05 | Arbiter, bus use control device, and bus use control method. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008055511A JP5245463B2 (en) | 2008-03-05 | 2008-03-05 | Arbiter, bus use control device, and bus use control method. |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009211560A JP2009211560A (en) | 2009-09-17 |
JP5245463B2 true JP5245463B2 (en) | 2013-07-24 |
Family
ID=41184619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008055511A Expired - Fee Related JP5245463B2 (en) | 2008-03-05 | 2008-03-05 | Arbiter, bus use control device, and bus use control method. |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5245463B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3466212B2 (en) * | 1991-09-17 | 2003-11-10 | インテル・コーポレーション | Computer system |
JP2000207354A (en) * | 1999-01-12 | 2000-07-28 | Mitsubishi Electric Corp | Bus arbiter and inter-bus controller |
-
2008
- 2008-03-05 JP JP2008055511A patent/JP5245463B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009211560A (en) | 2009-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6857035B1 (en) | Methods and apparatus for bus mastering and arbitration | |
US6141715A (en) | Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction | |
US5850530A (en) | Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data | |
US5276887A (en) | Bus arbitration system for granting bus access to devices following two-wire bus arbitration protocol and devices following three-wire bus arbitration protocol | |
JP3231596B2 (en) | Bus system with latency and shadow timer | |
US6697904B1 (en) | Preventing starvation of agents on a bus bridge | |
JP2004521410A (en) | System and method for implementing a multi-level interrupt scheme in a computer system | |
JP4583590B2 (en) | Control chipset arbitration in bus transactions | |
JP5245463B2 (en) | Arbiter, bus use control device, and bus use control method. | |
US11023392B2 (en) | Method for arbitrating access to a shared memory, and corresponding electronic device | |
KR101260313B1 (en) | Electric apparatus and data sending/receiving method thereof and slave apparatus and communication method between the plural number of apparatuses | |
JP2008503833A (en) | Computer system and method for queuing interrupt messages in devices connected to a parallel communication bus | |
US6754761B1 (en) | Communications system including symmetric bus bridge and method used therewith | |
JP2003281080A (en) | Data transfer controller | |
JP2008503834A (en) | Computer system and method for transmitting an interrupt message over a parallel communication bus | |
US8713205B2 (en) | Data transfer device and data transfer method | |
JP2006119724A (en) | Cpu system, bus bridge, its control method, and computer system | |
JP2001256179A (en) | Processor system | |
US20050102455A1 (en) | Data transmission system | |
JP6171367B2 (en) | Switch device, image processing device, and exclusive control method | |
JP4941212B2 (en) | Electronic device, data processing apparatus, and bus control method | |
JPH0689257A (en) | Arbitration device of bus bridge | |
TW200424858A (en) | System bus controller and the method thereof | |
US20050050253A1 (en) | Programmable bus arbitration | |
JP2006092077A (en) | Bus system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5245463 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160419 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |