JP5245463B2 - Arbiter, bus use control device, and bus use control method. - Google Patents

Arbiter, bus use control device, and bus use control method. Download PDF

Info

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
Application number
JP2008055511A
Other languages
Japanese (ja)
Other versions
JP2009211560A (en
Inventor
政男 大和田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008055511A priority Critical patent/JP5245463B2/en
Publication of JP2009211560A publication Critical patent/JP2009211560A/en
Application granted granted Critical
Publication of JP5245463B2 publication Critical patent/JP5245463B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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には、一定期間、リトライ終了したデバイスからのバス使用許可を受け付けないで、無駄なトランザクションのバス占有を削減する技術が記載されている。
特開2000−207354号公報
As a technique for reducing such a useless transaction, Patent Document 1 describes a technology for reducing use of a useless transaction bus without accepting a bus use permission from a device that has been retried for a certain period. .
JP 2000-207354 A

しかしながら、特許文献1に記載の技術では、一定期間が経過する前にリードコマンドを受けたデバイスがデータ送出の準備が出来た場合でも、リトライ終了したデバイスからのバス使用許可を受け付けないため、データの読出が遅くなってしまうという問題があった。   However, in the technique described in Patent Document 1, even if a device that has received a read command before a certain period of time is ready for data transmission, it does not accept a bus use permission from a device that has finished retrying. There has been a problem that reading of data becomes slow.

また、リトライ終了したデバイスが複数機能を有するデバイスの場合でも、上記リトライ応答となった機能以外の機能からの要求も、ある一定期間受け付けることが出来ないため、データの読出が遅くなってしまうという問題があった。   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 claim 1 or 2; a second device connected to the second bus; and the bus use permission unit. In response to permission to use one bus, the first device that sends a read command for requesting reading of data stored in the second device via the first bus; In response to receiving the read command sent from the device via the first bus, the sending of the read command by the first device is stopped and the second device via the second bus is stopped. A bus bridge that reads the data and sends the data to the first device via the first bus in response to receiving the read command again after the data is read. 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. It is characterized by.

さらに、本発明の第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 bus control circuit 1 includes a plurality (four in the present embodiment) of PCI devices 11A to 11D, a plurality (two in the present embodiment) of PCI buses 12A and 12B, and a PCI bus. It is composed of a bridge 13 and an arbiter 14.

PCIバス12Aには、PCIデバイス11AとPCIデバイス11Bとアービタ14とが接続されており、PCIバス12Bには、PCIデバイス11CとPCIデバイス11Dとアービタ14とが接続されている。PCIバス12AとPCIバス12Bとは、PCIバスブリッジ13を介して接続されている。   A PCI device 11A, a PCI device 11B, and an arbiter 14 are connected to the PCI bus 12A, and a PCI device 11C, a PCI device 11D, and an arbiter 14 are connected to the PCI bus 12B. The PCI bus 12 </ b> A and the PCI bus 12 </ b> B are connected via the PCI bus bridge 13.

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 device 11C and the arbiter 14, signal lines corresponding to the bus use request signal REC-C from the PCI device 11C and the bus use permission signal GNT-C for the PCI device 11C are provided. Between the PCI device 11D and the arbiter 14, signal lines corresponding to the bus use request signal REC-D from the PCI device 11D and the bus use permission signal GNT-D for the PCI device 11D are provided.

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 devices 11C and 11D read data from the PCI devices 11A and 11B, the PCI devices 11C and 11D send bus use request signals REQ-C and REQ-D to the arbiter 14 via the signal lines, respectively. Require use. When the PCI devices 11C and 11D detect the bus use permission signals GNT-C and GNT-D sent from the arbiter 14 via the signal lines, respectively, the read commands are sent to the PCI bus bridge 13 via the PCI bus 12B. Send to

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 bus bridge 13 via the PCI bus 12B, the PCI devices 11C and 11D end sending the read command to the PCI bus bridge 13. The PCI devices 11C and 11D receive data (read data) read from the PCI devices 11A and 11B by the PCI bus bridge 13.

PCIバスブリッジ13は、PCIデバイス11C、11DからPCIバス12Bを介して送出されたリードコマンドを受けると、このリードコマンドを図示せぬ内部メモリに記憶し、PCIデバイス11A、11Bからデータを読み出すとともに、リトライ応答をPCIバス12Bを介してPCIデバイス11C、11Dに対して送出する。   When the PCI bus bridge 13 receives a read command sent from the PCI devices 11C and 11D via the PCI bus 12B, the PCI bus bridge 13 stores the read command in an internal memory (not shown) and reads data from the PCI devices 11A and 11B. The retry response is sent to the PCI devices 11C and 11D via the PCI bus 12B.

PCIバスブリッジ13は、PCIデバイス11A、11Bからのデータの読出が終了した後、PCIデバイス11C、11Dからリードコマンドを再度受けると、この読み出したデータ(リードデータ)をPCIバス12Bを介してPCIデバイス11C、11Dに対して送出する。   When the PCI bus bridge 13 receives the read command from the PCI devices 11C and 11D again after the reading of data from the PCI devices 11A and 11B is completed, the PCI bus bridge 13 receives the read data (read data) via the PCI bus 12B. Send to devices 11C and 11D.

アービタ14は、デバイス判別部141と、バス監視部142と、バス調停部143と、を備えている。   The arbiter 14 includes a device determination unit 141, a bus monitoring unit 142, and a bus arbitration unit 143.

デバイス判別部141は、PCIバス12A及び12Bの初期化時に、PCIバス12Bに接続されているPCIデバイス11C、11Dが複数機能を有するデバイス(マルチファンクションデバイス)であるか否かを判別し、その判別結果を、図示せぬ内部メモリに設けられた判別結果記憶領域に記憶する。   The device determination unit 141 determines whether the PCI devices 11C and 11D connected to the PCI bus 12B are devices having a plurality of functions (multifunction devices) when the PCI buses 12A and 12B are initialized. The determination result is stored in a determination result storage area provided in an internal memory (not shown).

本実施形態において、PCIデバイス11Cは、機能11C−1及び11C−2といった2つの異なる機能を有しているのに対し、PCIデバイス11Dは、1つの機能のみを有している。このため、デバイス判別部141は、PCIバス12A及び12Bの初期化時に、PCIデバイス11Cを複数機能を有するデバイスと判別する一方で、PCIデバイス11Dを単機能しか有しないデバイスと判別して、その判別結果を判別結果記憶領域に記憶する。   In the present embodiment, the PCI device 11C has two different functions such as functions 11C-1 and 11C-2, whereas the PCI device 11D has only one function. For this reason, the device determination unit 141 determines the PCI device 11C as a device having a plurality of functions while initializing the PCI buses 12A and 12B, while determining the PCI device 11D as a device having only a single function. The discrimination result is stored in the discrimination result storage area.

バス監視部142は、PCIバス12Bを監視して、PCIデバイス11C、11DがPCIバスブリッジ13からリトライ応答を受けてリードコマンドのPCIバスブリッジ13に対する送出を終了したか否かを判別し、終了したと判別したときには、図示せぬ内部メモリに設けられたリトライ終了フラグをオン状態にセットする。   The bus monitoring unit 142 monitors the PCI bus 12B to determine whether the PCI devices 11C and 11D have received a retry response from the PCI bus bridge 13 and have finished sending the read command to the PCI bus bridge 13. When it is determined that the retry has been performed, a retry end flag provided in an internal memory (not shown) is set to an on state.

バス監視部142は、リトライ終了フラグがオンである場合、PCIバス12Aを監視して、PCIバスブリッジ13によるPCIデバイス11A、11Bからのデータの読出が終了したか否かを判別し、終了したと判別したときには、リトライ終了フラグをクリアしてオフ状態にする。   When the retry end flag is on, the bus monitoring unit 142 monitors the PCI bus 12A to determine whether or not the reading of data from the PCI devices 11A and 11B by the PCI bus bridge 13 has ended. Is determined, the retry end flag is cleared and turned off.

バス調停部143は、リトライ終了フラグがオフである場合に、バス使用要求信号REQ−C、REQ−Dの双方を受けると、例えば固定プライオリティ、ラウンドロビンなどにより優先順位を決定し、PCIデバイス11C、11Dのうち、優先度が高いものに対してPCIバス12Bの使用許可を与える。   When the retry completion flag is off and the bus arbitration unit 143 receives both the bus use request signals REQ-C and REQ-D, the bus arbitration unit 143 determines the priority order based on, for example, fixed priority, round robin, etc. , 11D is given permission to use the PCI bus 12B to a higher priority.

PCIデバイス11CがPCIデバイス11Dよりも優先度が高い場合には、バス使用許可信号GNT−Cを信号線を介して送出することにより、PCIデバイス11Cに対してPCIバス12Bの使用許可を与え、PCIデバイス11DがPCIデバイス11Cよりも優先度が高い場合には、バス使用許可信号GNT−Dを信号線を介して送出することにより、PCIデバイス11Dに対してPCIバス12Bの使用許可を与える。   When the PCI device 11C has a higher priority than the PCI device 11D, the PCI device 11C is permitted to use the PCI bus 12B by sending a bus use permission signal GNT-C through the signal line. When the PCI device 11D has a higher priority than the PCI device 11C, a use permission of the PCI bus 12B is given to the PCI device 11D by sending a bus use permission signal GNT-D through the signal line.

バス調停部143は、リトライ終了フラグがオンである場合に、バス使用要求信号REQ−C、REQ−Dの双方又はいずれか一方を受けると、判別結果記憶領域の記憶内容に基づいて、PCIバス12Bの使用を要求したPCIデバイス11C、11Dが複数機能を有するデバイスであるか否かを判別し、複数機能を有すると判別したデバイスに対しては、PCIバス12Bの使用許可を与え、単機能しか有しないと判別したデバイスに対しては、PCIバス12Bの使用許可を与えない。   If the bus arbitration unit 143 receives both or one of the bus use request signals REQ-C and REQ-D when the retry end flag is on, the bus arbitration unit 143, based on the stored contents of the determination result storage area, It is determined whether or not the PCI devices 11C and 11D that have requested the use of 12B are devices having a plurality of functions, and the use of the PCI bus 12B is given to the devices determined to have a plurality of functions, However, the use permission of the PCI bus 12B is not given to the device determined to have only the PCI bus 12B.

本実施形態において、PCIデバイス11Cは、2つの異なる機能を有していることから、バス調停部143は、リトライ終了フラグがオンである場合に、PCIデバイス11Cからバス使用要求信号REQ−Cを受けると、バス使用許可信号GNT−Cを信号線を介して送出して、PCIデバイス11Cに対してPCIバス12Bの使用許可を与える。   In this embodiment, since the PCI device 11C has two different functions, the bus arbitration unit 143 receives the bus use request signal REQ-C from the PCI device 11C when the retry end flag is on. When received, a bus use permission signal GNT-C is transmitted through the signal line, and the use permission of the PCI bus 12B is given to the PCI device 11C.

これに対して、PCIデバイス11Dは、1つの機能のみを有していることから、バス調停部143は、リトライ終了フラグがオンである場合に、PCIデバイス11Dからバス使用要求信号REQ−Dを受けても、バス使用許可信号GNT−Dを信号線を介して送出せず、PCIデバイス11Cに対してPCIバス12Bの使用許可を与えない。   On the other hand, since the PCI device 11D has only one function, the bus arbitration unit 143 receives the bus use request signal REQ-D from the PCI device 11D when the retry end flag is on. Even if received, the bus use permission signal GNT-D is not transmitted through the signal line, and the use permission of the PCI bus 12B is not given to the PCI device 11C.

次に、上記構成を備える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 arbiter 14 of the PCI bus control circuit 1 executes a device discrimination process shown in FIG.

このデバイス判別処理において、アービタ14は、まず、図2に示すように、デバイス判別部141にて、PCIバス12Bに接続されているPCIデバイス11C及び11Dのそれぞれにつき、複数機能を有するデバイス(マルチファンクションデバイス)であるか否かを判別する(ステップS1)。   In this device determination process, the arbiter 14 first has a device (multi-device) having a plurality of functions for each of the PCI devices 11C and 11D connected to the PCI bus 12B in the device determination unit 141, as shown in FIG. It is determined whether or not it is a function device (step S1).

具体的に、PCIデバイス11Cは、2つの異なる機能を有しているのに対し、PCIデバイス11Dは、1つの機能のみを有していることから、ステップS1の処理では、PCIデバイス11Cが複数機能を有するデバイスと判別され、PCIデバイス11Dが単機能しか有しないデバイスと判別される。そして、アービタ14は、ステップS1の処理にて取得された判別結果を、図示せぬ内部メモリに設けられた判別結果記憶領域に記憶する(ステップS2)。   Specifically, the PCI device 11C has two different functions, whereas the PCI device 11D has only one function. Therefore, in the process of step S1, there are a plurality of PCI devices 11C. It is determined that the device has a function, and the PCI device 11D is determined as a device having only a single function. Then, the arbiter 14 stores the determination result acquired in the process of step S1 in a determination result storage area provided in an internal memory (not shown) (step S2).

このような初期化処理の終了後、定期的にタイマ割込処理が実行される。このタイマ割込処理において、アービタ14は、図3に示すバス監視処理と、図4に示すバス調停処理と、を実行する。   After completion of such initialization processing, timer interrupt processing is periodically executed. In this timer interrupt process, the arbiter 14 executes a bus monitoring process shown in FIG. 3 and a bus arbitration process shown in FIG.

このバス監視処理において、アービタ14は、まず、図3に示すように、図示せぬ内部メモリに設けられたリトライ終了フラグがオンであるか否かを判別する(ステップS11)。ここで、リトライ終了フラグがオフであると判別した場合(ステップS11;No)、アービタ14は、バス監視部142にてPCIバス12Bを監視することにより、PCIデバイス11C、11DがPCIバスブリッジ13からリトライ応答を受けてリードコマンドのPCIバスブリッジ13に対する送出を終了したか否かを判別する(ステップS12)。   In this bus monitoring process, the arbiter 14 first determines whether or not a retry end flag provided in an internal memory (not shown) is on as shown in FIG. 3 (step S11). If it is determined that the retry end flag is off (step S11; No), the arbiter 14 monitors the PCI bus 12B with the bus monitoring unit 142, so that the PCI devices 11C and 11D are connected to the PCI bus bridge 13. In response to the retry response, it is determined whether or not the transmission of the read command to the PCI bus bridge 13 has been completed (step S12).

ここで、リードコマンドのPCIバスブリッジ13に対する送出が終了していないと判別した場合には(ステップS12;Yes)、そのままバス監視処理を終了する一方で、終了したと判別した場合には(ステップS12;Yes)、リトライ終了フラグをオン状態にセットしてから(ステップS13)、バス監視処理を終了する。   If it is determined that the sending of the read command to the PCI bus bridge 13 has not been completed (step S12; Yes), the bus monitoring process is terminated as it is. S12; Yes) After setting the retry end flag to the on state (step S13), the bus monitoring process is ended.

これに対して、リトライ終了フラグがオンであると判別した場合(ステップ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 arbiter 14 monitors the PCI bus 12A by the bus monitoring unit 142, thereby the PCI device 11A by the PCI bus bridge 13 is monitored. , 11B is determined (step S14).

ここで、PCIデバイス11A、11Bからのデータの読出が終了していないと判別した場合には(ステップS14;No)、そのままバス監視処理を終了する一方で、終了したと判別した場合には(ステップS12;Yes)、リトライ終了フラグをクリアしてオフ状にしてから(ステップS15)、バス監視処理を終了する。   Here, if it is determined that the reading of data from the PCI devices 11A and 11B has not been completed (step S14; No), the bus monitoring process is terminated as it is, whereas if it is determined that the data has been terminated ( (Step S12; Yes) After the retry end flag is cleared and turned off (Step S15), the bus monitoring process is terminated.

このバス調停処理において、アービタ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 arbiter 14 first determines whether or not either or both of the bus use request signals REQ-C and REQ-D are received, as shown in FIG. , 11D, it is determined whether or not use of the PCI bus 12B is requested (step S21). Here, if it is determined that neither of the PCI devices 11C and 11D requires the use of the PCI bus 12B (step S21; No), the bus arbitration process is terminated as it is.

一方、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 devices 11C and 11D (step S21; Yes), the retry end flag provided in the internal memory (not shown) is turned on. It is determined whether or not there is (step S22). If it is determined that the retry end flag is off (step S22; No), the arbiter 14 has requested use of the PCI bus 12B from both the PCI devices 11C and 11D, or the PCI bus 12B from either one. It is determined whether or not the use of has been requested (step S23).

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 PCI devices 11C and 11D (step S23; Yes), the arbiter 14 determines the priority in the bus arbitration unit 143, and the PCI devices 11C and 11D The use permission of the PCI bus 12B is given to those having a high priority (step S24), and the bus arbitration process is terminated.

具体的に、ステップ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 device 11C has a higher priority than the PCI device 11D, the PCI usage 11G is sent to the PCI device 11C by sending a bus use permission signal GNT-C through the signal line. Use permission of the bus 12B is given. On the other hand, when the PCI device 11D has a higher priority than the PCI device 11C, by sending a bus use permission signal GNT-D via the signal line, the PCI bus 12B is sent to the PCI device 11D. A license is granted.

一方、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 PCI devices 11C and 11D (step S23; No), the PCI devices 11C and 11D that have requested the use of the PCI bus 12B are PCI. The use permission of the bus 12B is given (step S25), and the bus arbitration process is terminated.

具体的に、ステップ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 PCI device 11C in the process of step S23, the bus use permission signal GNT-C is transmitted via the signal line. The use permission of the PCI bus 12B is given to the PCI device 11C. On the other hand, if it is determined in step S23 that the use of the PCI bus 12B is requested from the PCI device 11D, the bus use permission signal GNT-D is sent via the signal line to the PCI device 11D. On the other hand, permission to use the PCI bus 12B is given.

一方、リトライ終了フラグがオンであると判別した場合(ステップ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 arbiter 14 requests the use of the PCI bus 12B in the bus arbitration unit 143 based on the storage contents of the determination result storage area. It is determined whether or not the PCI devices 11C and 11D are devices having a plurality of functions (step S26). Here, when it is determined that the PCI devices 11C and 11D that have requested use of the PCI bus 12B are devices having only a single function (step S26; No), the bus arbitration process is ended as it is.

一方、PCIバス12Bの使用を要求したPCIデバイス11C、11Dが複数機能を有するデバイスであると判別した場合(ステップS26;Yes)、アービタ14は、バス調停部143にて、複数機能を有すると判別したデバイスに対してPCIバス12Bの使用許可を与え(ステップS27)、バス調停処理を終了する。   On the other hand, when it is determined that the PCI devices 11C and 11D that have requested use of the PCI bus 12B are devices having a plurality of functions (step S26; Yes), the arbiter 14 has a plurality of functions in the bus arbitration unit 143. The use permission of the PCI bus 12B is given to the determined device (step S27), and the bus arbitration process is terminated.

具体的に、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 PCI device 11C having two different functions, in the process of step S26, the PCI device 11C that has requested use of the PCI bus 12B is a device having a plurality of functions. In step S27, the bus use permission signal GNT-C is sent through the signal line, and the use permission of the PCI bus 12B is given to the PCI device 11C.

これに対して、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 device 11D having only one function, the PCI device 11D that has requested use of the PCI bus 12B has only a single function in the process of step S26. Therefore, the bus use permission signal GNT-D is not transmitted via the signal line, and the use permission of the PCI bus 12B is not given to the PCI device 11D.

続いて、上述した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 device 11D having only one function reads data from the PCI device 11A in a state where the PCI buses 12A and 12B are not used, first, the bus use request signal REQ-D is connected to the signal line. To the arbiter 14, the use of the PCI bus 12B is requested. In this case, the arbiter 14 determines that the retry end flag is off in the process of step S22 shown in FIG. 4 and the like, so that the bus use permission signal GNT-D is sent to the signal line in the process of step S25. By using this, the use permission of the PCI bus 12B is given to the PCI device 11D.

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 device 11D sends a read command to the PCI bus bridge 13 via the PCI bus 12B. When the PCI bus bridge 13 receives the read command, it sends the received read command to the PCI device 11A via the PCI bus 12A and sends a retry response to the PCI device 11D via the PCI bus 12B. By sending it, the sending of the read command by the PCI device 11D is terminated.

このようにして、PCIデバイス11Dによるリードコマンドの送出を終了した場合、PCIデバイス11Dは、リードコマンドのPCIバスブリッジ13に対する送出を再度実行すべく、バス使用要求信号REQ−Dを信号線を介してアービタ14に対して送出することにより、PCIバス12Bの使用を要求する一方で、アービタ14は、図3に示すステップS13の処理にて図示せぬ内部メモリに設けられたリトライ終了フラグをオン状態にセットする。   Thus, when the sending of the read command by the PCI device 11D is completed, the PCI device 11D sends the bus use request signal REQ-D via the signal line in order to execute the sending of the read command to the PCI bus bridge 13 again. The arbiter 14 requests the use of the PCI bus 12B by sending it to the arbiter 14, while the arbiter 14 turns on the retry end flag provided in the internal memory (not shown) in the process of step S13 shown in FIG. Set to state.

これにより、アービタ14は、図4に示すステップS22の処理にてリトライ終了フラグがオンであると判別し、また、ステップS26の処理にてPCIデバイス11Dが1つの機能しか有していないと判別することから、バス使用許可信号GNT−Dを信号線を介して送出せず、PCIデバイス11Cに対してPCIバス12Bの使用許可が与えられない。   Thereby, the arbiter 14 determines that the retry end flag is on in the process of step S22 shown in FIG. 4, and also determines that the PCI device 11D has only one function in the process of step S26. Therefore, the bus use permission signal GNT-D is not transmitted via the signal line, and the use permission of the PCI bus 12B is not given to the PCI device 11C.

その後、PCIバスブリッジ13によるPCIデバイス11Aからのデータの読出が終了して、この読み出したデータ(リードデータ)をPCIバス12Bを介してPCIデバイス11Dに対して送出する準備ができた場合、アービタ14は、図3に示すステップS13の処理にてリトライ終了フラグをクリアしてオフ状態にする。   Thereafter, when reading of data from the PCI device 11A by the PCI bus bridge 13 is completed and the read data (read data) is ready to be sent to the PCI device 11D via the PCI bus 12B, the arbiter 14 clears the retry end flag in the process of step S13 shown in FIG.

これにより、アービタ14は、図4に示すステップS22の処理にてリトライ終了フラグがオフであると判別することなどから、ステップS25の処理にてバス使用許可信号GNT−Dを信号線を介して送出することにより、PCIデバイス11Dに対してPCIバス12Bの使用許可を与える。   As a result, the arbiter 14 determines that the retry end flag is off in the process of step S22 shown in FIG. 4 and the like, so the bus use permission signal GNT-D is transmitted via the signal line in the process of step S25. By sending the data, the use permission of the PCI bus 12B is given to the PCI device 11D.

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 device 11D sends a read command to the PCI bus bridge 13 via the PCI bus 12B. Since the PCI bus bridge 13 has finished reading data from the PCI device 11A, when it receives the read command again, it sends the read data to the PCI device 11D via the PCI bus 12B.

このようにして、PCIバス制御回路1は、1つの機能のみを有するPCIデバイス11Dからの無駄なトランザクションによるPCIバス12Bの占有を削減しつつ、PCIデバイス11Aからデータを読み出すことができる。   In this way, the PCI bus control circuit 1 can read data from the PCI device 11A while reducing the occupation of the PCI bus 12B due to useless transactions from the PCI device 11D having only one function.

他の例として、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 function 11C-1 of the PCI devices 11C having two functions reads data from the PCI device 11A when the PCI buses 12A and 12B are not used, first, the bus The use request signal REQ-C is transmitted to the arbiter 14 through the signal line, whereby the use of the PCI bus 12B is requested. In this case, since the arbiter 14 determines that the retry end flag is OFF in the process of step S22 shown in FIG. 4, the bus use permission signal GNT-C is sent to the signal line in the process of step S25. By using this, the use permission of the PCI bus 12B is given to the PCI device 11C.

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 function 11C-1 of the PCI device 11C detects the bus use permission signal GNT-C, it sends a read command to the PCI bus bridge 13 via the PCI bus 12B. When the PCI bus bridge 13 receives the read command, it sends the received read command to the PCI device 11A via the PCI bus 12A and sends a retry response to the PCI device 11C via the PCI bus 12B. By sending it, the sending of the read command by the function 11C-1 of the PCI device 11C is terminated.

このようにして、PCIデバイス11Cの機能11C−1によるリードコマンドの送出を終了した場合、アービタ14は、図3に示すステップS13の処理にて図示せぬ内部メモリに設けられたリトライ終了フラグをオン状態にセットする。   In this way, when the sending of the read command by the function 11C-1 of the PCI device 11C is finished, the arbiter 14 sets a retry end flag provided in an internal memory (not shown) in the process of step S13 shown in FIG. Set to ON state.

その後、PCIデバイス11Cのうちのもう1つの機能11C−2がPCIデバイス11Bからデータを読み出す場合には、バス使用要求信号REQ−Cが信号線を介してアービタ14に対して送出されることにより、PCIバス12Bの使用が要求される。   Thereafter, when the other function 11C-2 of the PCI device 11C reads data from the PCI device 11B, a bus use request signal REQ-C is sent to the arbiter 14 via the signal line. The use of the PCI bus 12B is required.

この場合、アービタ14は、図4に示すステップS22の処理にてリトライ終了フラグがオンであると判別し、また、ステップS26の処理にてPCIデバイス11Cが2つの機能を有すると判別することから、バス使用許可信号GNT−Cを信号線を介して送出して、PCIデバイス11Cに対してPCIバス12Bの使用許可を与える。   In this case, the arbiter 14 determines that the retry end flag is on in the process of step S22 shown in FIG. 4, and also determines that the PCI device 11C has two functions in the process of step S26. Then, a bus use permission signal GNT-C is sent through the signal line to give the PCI device 11C permission to use the PCI bus 12B.

PCIデバイス11Dの機能11C−2は、バス使用許可信号GNT−Cを検知すると、リードコマンドをPCIバス12Bを介してPCIバスブリッジ13に対して送出する。そして、PCIバスブリッジ13は、リードコマンドを受けると、受け取ったリードコマンドをPCIバス12Aを介してPCIデバイス11Bに対して送出する。   When the function 11C-2 of the PCI device 11D detects the bus use permission signal GNT-C, it sends a read command to the PCI bus bridge 13 via the PCI bus 12B. Upon receiving the read command, the PCI bus bridge 13 sends the received read command to the PCI device 11B via the PCI bus 12A.

このようにして、PCIバス制御回路1は、2つの機能を有するPCIデバイス11Cのうちの1つの機能11C−1によるPCIデバイス11Aからのデータの読出が終了する以前でも、もう1つの機能11C−2によるPCIデバイス11Bからのデータの読出を実行することができる。   In this way, the PCI bus control circuit 1 has another function 11C- even before the reading of data from the PCI device 11A by one function 11C-1 of the PCI devices 11C having two functions is completed. 2 can read data from the PCI device 11B.

以上説明したように、本実施形態における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 PCI control circuit 1 in the present embodiment, the arbiter 14 sends the bus use request signals REQ-C and REQ-D from the PCI devices 11C and 11D connected to the PCI bus 12B. In response to the request to use the PCI bus 12B, it is made before the current request by determining whether or not the retry end flag is on in the process of step S22 shown in FIG. Whether or not the PCI bus 12A is in use is determined based on the fact that the use of the PCI bus 12B from the PCI devices 11C and 11D gives permission to the request.

ここで、ステップ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 arbiter 14 determines that the PCI bus 12A is not in use, and both the PCI devices 11C and 11D are requested to use the PCI bus 12B. If the priority is determined in the process of step S24, use of the PCI bus 12B is permitted for one of the PCI devices 11C and 11D having a higher priority, and one of the PCI devices 11C and 11D is permitted. When the use of the PCI bus 12B is requested from only one side, the use of the PCI bus 12B is permitted to the PCI devices 11C and 11D that have requested the use of the PCI bus 12B in the process of step S25.

これに対して、ステップ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 arbiter 14 determines that the PCI bus 12A is in use, and sets it in an internal memory (not shown) in the process of step S26. Based on the storage contents of the determined determination result storage area, it is determined whether or not the PCI devices 11C and 11D that have requested use of the PCI bus 12B are devices having a plurality of functions.

そして、アービタ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 arbiter 14 determines that the PCI devices 11C and 11D that have requested the use of the PCI bus 12B are devices having a plurality of functions in the process of step S26 (in this embodiment, the PCI device 11D transmits the PCI bus 12B to the PCI bus 12B). When the use of the PCI bus 12B is permitted, it is determined that the PCI devices 11C and 11D that have requested the use of the PCI bus 12B are devices having only a single function (in this embodiment). When the use of the PCI bus 12B is requested from the PCI device 11C), the use of the PCI bus 12B is not permitted.

すなわち、アービタ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 device 11D having only a single function, the arbiter 14 does not permit the use of the PCI bus 12B if the PCI bus 12A is in use. If not in use, use of the PCI bus 12B is permitted. In contrast, when the PCI device 11C having a plurality of functions requests the use of the PCI bus 12B, the use of the PCI bus 12B is permitted regardless of whether the PCI bus 12A is in use.

このように、単機能しか有しない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 device 11D having only a single function, when the PCI bus 12A is in use, that is, data from the PCI devices 11A and 11B by the PCI bus bridge 13 is used. Is not permitted to use the PCI bus 12B. Thereafter, when the PCI bus bridge 13 finishes reading data from the PCI devices 11A and 11B and is ready to send the read data (read data) to the PCI device 11D, the arbiter 14 receives the PCI bus. Since it is determined that 12A is not in use, use of the PCI bus 12B is immediately permitted.

また、複数機能を有するPCIデバイス11CからPCIバス12Bの使用が要求された場合においては、PCIバス12Aが使用中であるか否かに関わらず、アービタ14は、直ちにPCIバス12Bの使用を許可する。   Further, when the PCI device 11C having multiple functions requests the use of the PCI bus 12B, the arbiter 14 immediately permits the use of the PCI bus 12B regardless of whether the PCI bus 12A is in use. To do.

これにより、PCIバス制御回路1は、無駄なトランザクションによるPCIバス12Bの占有を削減しつつ、PCIデバイス11A、11Bからデータを遅滞なく読み出すことができる。   Thereby, the PCI bus control circuit 1 can read data from the PCI devices 11A and 11B without delay while reducing the occupation of the PCI bus 12B due to useless transactions.

なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。   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 PCI devices 11A and 11B and two PCI devices 11C and 11D are connected to the two PCI buses 12A and 12B, respectively. However, the present invention is not limited to this, and the number of PCI buses is arbitrary as long as it is two or more, and the number of PCI devices connected to one PCI bus in the PCI standard. Is a maximum of 10 and can be arbitrarily changed as long as the number is within this range.

PCIバス制御回路の構成例を示すブロック図である。It is a block diagram which shows the structural example of a PCI bus control circuit. デバイス判別処理の一例を示すフローチャートである。It is a flowchart which shows an example of a device discrimination | determination process. バス監視処理の一例を示すフローチャートである。It is a flowchart which shows an example of a bus monitoring process. バス調停処理の一例を示すフローチャートである。It is a flowchart which shows an example of a bus arbitration process.

符号の説明Explanation of symbols

1 PCIバス制御回路
11A〜11D PCIデバイス
12A,12B PCIバス
13 PCIバスブリッジ
14 アービタ
141 デバイス判別部
142 バス監視部
143 バス調停部
DESCRIPTION OF SYMBOLS 1 PCI bus control circuit 11A-11D PCI device 12A, 12B PCI bus 13 PCI bus bridge 14 Arbiter 141 Device discrimination part 142 Bus monitoring part 143 Bus arbitration part

Claims (4)

第1バスに接続されている第1デバイスから該第1バスの使用が要求されたことに応答して、今回の要求よりも以前になされた該第1デバイスからの該第1バスの使用の要求に対して許可を与えたことに基づき、該第1バスとは異なる第2バスが使用中となっているか否かを判別するバス使用判別手段と、
前記バス使用判別手段によって前記第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バスの使用を許可する、
ことを特徴とする請求項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.
請求項1又は2に記載のアービタと、
前記第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.
第1バスに接続されている第1デバイスから該第1バスの使用が要求されたことに応答して、今回の要求よりも以前になされた該第1デバイスからの該第1バスの使用の要求に対して許可を与えたことに基づき、該第1バスとは異なる第2バスが使用中となっているか否かを判別するバス使用判別ステップと、
前記バス使用判別ステップによって前記第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:
JP2008055511A 2008-03-05 2008-03-05 Arbiter, bus use control device, and bus use control method. Expired - Fee Related JP5245463B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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