JP5652866B2 - Bus arbitration circuit and bus arbitration method - Google Patents

Bus arbitration circuit and bus arbitration method Download PDF

Info

Publication number
JP5652866B2
JP5652866B2 JP2010242927A JP2010242927A JP5652866B2 JP 5652866 B2 JP5652866 B2 JP 5652866B2 JP 2010242927 A JP2010242927 A JP 2010242927A JP 2010242927 A JP2010242927 A JP 2010242927A JP 5652866 B2 JP5652866 B2 JP 5652866B2
Authority
JP
Japan
Prior art keywords
data
buffer
pointer
queuing
received
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
JP2010242927A
Other languages
Japanese (ja)
Other versions
JP2012094081A (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 Engineering Ltd
Original Assignee
NEC Engineering Ltd
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 Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2010242927A priority Critical patent/JP5652866B2/en
Publication of JP2012094081A publication Critical patent/JP2012094081A/en
Application granted granted Critical
Publication of JP5652866B2 publication Critical patent/JP5652866B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、バス調停回路に関し、特に、コンピュータ装置や情報処理装置等に適用可能なバス調停回路及びバス調停方法に関する。   The present invention relates to a bus arbitration circuit, and more particularly to a bus arbitration circuit and a bus arbitration method that can be applied to a computer apparatus, an information processing apparatus, and the like.

従来、複数のデバイスがバスを共有するシステムにおいては、どのデバイスにバスの使用権を与えるのかを決定し、バス使用権の調停を行うバス調停回路が設けられている。従来のバス調停回路を用いた場合、ある特定のデバイスがビジー状態(転送サイクル中)であると、他のデバイスは、この特定のデバイスによるデータの転送が完了するまでリトライを繰り返す。そして、このような動作が連続すると、他のデバイスは、データを転送することができなくなってしまう。   2. Description of the Related Art Conventionally, in a system in which a plurality of devices share a bus, a bus arbitration circuit that determines which device is given the bus use right and arbitrates the bus use right is provided. When a conventional bus arbitration circuit is used, if a specific device is busy (during a transfer cycle), another device repeats a retry until data transfer by the specific device is completed. If such an operation continues, other devices cannot transfer data.

そこで、この種のバス調停回路では、ある特定のデバイスがビジー状態(転送サイクル中)である場合、他のデバイスがリトライを繰り返し続けることによりデータの転送が不可能となるのを防ぐ方法が提案されている。   Therefore, in this type of bus arbitration circuit, when a specific device is busy (during the transfer cycle), a method is proposed to prevent data transfer from becoming impossible due to repeated retry of other devices. Has been.

例えば、下記の特許文献1には、バスに接続されたデバイスのビジー状態を監視し、リトライを繰り返すデバイスを記憶し、優先してそのデバイスによるデータの転送を開始するバス調停回路が記載されている。   For example, Patent Literature 1 below describes a bus arbitration circuit that monitors the busy state of a device connected to a bus, stores a device that repeats retry, and preferentially starts data transfer by the device. Yes.

特開2002−366511号公報JP 2002-366511 A

しかし、特許文献1に記載のバス調停回路では、リトライを繰り返す特定のデバイスに対して優先的にバス使用権が与えられるが、バス使用権を得るまでは、他のデバイスがバスを占有している。そのため、特定のデバイスがデータの転送を待つか、リトライを繰り返さなければならないという問題があった。   However, in the bus arbitration circuit described in Patent Document 1, a bus use right is preferentially given to a specific device that repeats retrying, but other devices occupy the bus until the bus use right is obtained. Yes. Therefore, there has been a problem that a specific device has to wait for data transfer or repeat the retry.

また、特定のデバイスが故障し、転送サイクルが完了できない場合には、バスを開放するための施策が必要となり、その条件に合うまでバスを開放することができない。そのため、他のデバイスは、データの転送を待ち続けるか、リトライを繰り返さなければならないという問題があった。   Further, when a specific device fails and the transfer cycle cannot be completed, a measure for opening the bus is necessary, and the bus cannot be released until the condition is met. For this reason, there is a problem that other devices have to wait for data transfer or repeat retries.

そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、複数のデバイスによるデータ転送を同時に行うことができるとともに、特定のデバイスが故障した場合でも、他のデバイスによるデータ転送が可能なバス調停回路システムを提供することを目的とする。   Therefore, the present invention has been made in view of the above-described problems in the prior art, and can perform data transfer by a plurality of devices at the same time. An object is to provide a bus arbitration circuit system capable of data transfer.

上記目的を達成するため、本発明は、複数のデバイスが接続され、該複数のデバイスから受信したデータを共通のバスに対して送信するバス調停回路であって、複数の領域からなり、データを所定の領域に格納する複数のキューイングバッファと、データを保持する一時バッファを有し、複数のデバイスから送信されたデータを各々受信して前記一時バッファに各々保持し該一時バッファに保持した該データの前記キューイングバッファへの書き込みを制御する複数の受信制御部と、複数の領域からなり、前記デバイスから受信したデータが格納されたキューイングバッファを示す情報を、前記複数の受信制御部がデータを受信した順序に従って所定の領域に格納するコヒーレンシバッファと、前記コヒーレンシバッファに格納された情報に基づき、前記データを受信した順序通りに前記キューイングバッファからデータを読み出し、バスに対して送信する送信制御部とを備え、前記受信制御部は、前記一時バッファに保持したデータに対するエラーの有無を判断し、前記データにエラーがあると判断した場合に、前記データを初期化することを特徴とする。 In order to achieve the above object, the present invention provides a bus arbitration circuit in which a plurality of devices are connected, and transmits data received from the plurality of devices to a common bus. a plurality of queuing buffer for storing a predetermined area, has a temporary buffer to hold the data, and each received data transmitted from a plurality of devices respectively held in the temporary buffer, and held on the temporary buffer A plurality of reception control units for controlling writing of the data to the queuing buffer and information indicating a queuing buffer that includes a plurality of areas and stores data received from the device, the plurality of reception control units Coherency buffer that stores data in a predetermined area according to the order in which data is received, and information stored in the coherency buffer Based reads data from the queuing buffer in sequence which has received the data, and a transmission control unit that transmits to the bus, the reception control unit, the presence or absence of error for data stored in the temporary buffer If the data is judged to have an error, the data is initialized .

そして、本発明によれば、複数のデバイスから受信したデータのキューイングバッファへの書き込みを制御する受信制御部と、受信したデータを格納するキューイングバッファとを、デバイスに応じて各々独立して設けたため、複数のデバイスから同時にデータを受信することができ、特定のデバイスがデータの送信が不可能となった場合であっても、他のデバイスは、影響を受けることなくデータを正常に送信することが可能になる。   According to the present invention, a reception control unit that controls writing of data received from a plurality of devices to a queuing buffer, and a queuing buffer that stores received data are independently provided for each device. Because it is provided, data can be received from multiple devices at the same time, and even when a specific device cannot transmit data, other devices can transmit data normally without being affected. It becomes possible to do.

また、受信したデータが格納されたキューイングバッファを示す情報を、各受信制御部がデータを受信した順序に基づいて保持するコヒーレンシバッファを設けたため、各デバイスから受信したデータを、受信した順序通りにバスへ送信することが可能になる。   In addition, a coherency buffer that holds information indicating the queuing buffer in which the received data is stored based on the order in which each reception control unit receives the data is provided, so that the data received from each device is received in the order received. Can be sent to the bus.

上記バス調停回路において、前記キューイングバッファは、前記受信制御部により受信したデータを格納する領域を指定する書き込みポインタと、前記送信制御部により読み出されるデータを格納する領域を指定する読み出しポインタとを有し、前記コヒーレンシバッファは、前記デバイスから受信したデータが格納されたキューイングバッファを示す情報を格納する領域を指定する順序待ちポインタと、前記バスに対して送信するデータが格納されたキューイングバッファを示す情報が格納された領域を指定する次送信ポインタとを有し、前記受信制御部は、前記キューイングバッファの前記書き込みポインタが指定する領域に、前記デバイスから受信したデータを格納し、前記デバイスからのデータを正常に受信したことを示す受信完了信号を生成し、前記キューイングバッファ及び前記コヒーレンシバッファに対して送信し、前記コヒーレンシバッファの前記順序待ちポインタが指定する領域に、前記受信完了信号に対応する受信制御部からのデータが格納されたキューイングバッファを示す情報を格納し、前記受信完了信号に基づき前記書き込みポインタ及び前記順序待ちポインタをインクリメントさせ、前記送信制御部は、前記コヒーレンシバッファの前記次送信ポインタが指定する領域に格納された情報を参照し、前記参照した情報に対応するキューイングバッファの前記読み出しポインタが指定する領域に格納されたデータを読み出して前記バスに対して送信し、前記バスへのデータ送信を完了したことを示す送信完了信号を生成し、前記キューイングバッファ及び前記コヒーレンシバッファに対して送信し、前記送信完了信号に基づき前記読み出しポインタ及び前記次送信ポインタをインクリメントさせることができる。   In the bus arbitration circuit, the queuing buffer includes a write pointer for designating an area for storing data received by the reception control unit and a read pointer for designating an area for storing data read by the transmission control unit. The coherency buffer includes an order wait pointer for specifying an area for storing information indicating a queuing buffer in which data received from the device is stored, and a queuing in which data to be transmitted to the bus is stored A next transmission pointer that designates an area in which information indicating a buffer is stored, and the reception control unit stores data received from the device in an area designated by the write pointer of the queuing buffer, Completion of reception indicating that data from the device has been received normally Is generated and transmitted to the queuing buffer and the coherency buffer, and data from the reception control unit corresponding to the reception completion signal is stored in an area designated by the order wait pointer of the coherency buffer. Information indicating a queuing buffer is stored, the write pointer and the order wait pointer are incremented based on the reception completion signal, and the transmission control unit is stored in an area designated by the next transmission pointer of the coherency buffer. Refers to information, reads the data stored in the area specified by the read pointer of the queuing buffer corresponding to the referenced information, transmits the data to the bus, and completes the data transmission to the bus A transmission completion signal indicating the queuing buffer and Serial transmitted to coherency buffer, it is possible to increment the read pointer and the next transmission pointer based on the transmission completion signal.

上記バス調停回路において、前記複数の受信制御部に対して優先順位を設定し、前記コヒーレンシバッファは、前記複数の受信制御部から同時に受信した複数の受信完了信号と前記設定された優先順位とに基づき、前記優先順位が最も高い受信制御部からのデータが格納されたキューイングバッファを示す情報を、前記順序待ちポインタが指定する領域に格納し、前記優先順位に従って、該優先順位が高い受信制御部からのデータが格納されたキューイングバッファを示す情報を次の領域に順次格納し、前記順序待ちポインタを、同時に受信した前記複数の受信完了信号の数だけインクリメントさせることができる。   In the bus arbitration circuit, priority is set for the plurality of reception control units, and the coherency buffer is configured to receive a plurality of reception completion signals simultaneously received from the plurality of reception control units and the set priority order. And storing information indicating a queuing buffer in which data from the reception control unit with the highest priority is stored in an area designated by the order wait pointer, and receiving control with the higher priority according to the priority. Information indicating a queuing buffer in which data from the storage unit is stored can be sequentially stored in the next area, and the order wait pointer can be incremented by the number of the plurality of reception completion signals received simultaneously.

そして、本発明によれば、複数の受信制御部に対して優先順位を予め設定したため、複数のデバイスから同時にデータを受信した場合であっても、設定された優先順位に従ってデータの送信順序を決定することが可能になる。   According to the present invention, since the priority order is set in advance for a plurality of reception control units, the data transmission order is determined according to the set priority order even when data is simultaneously received from a plurality of devices. It becomes possible to do.

また、本発明は、複数のデバイスが接続され、該複数のデバイスから受信したデータを共通のバスに対して送信するバス調停回路のバス調停方法であって、複数のデバイスから送信されたデータを複数の受信制御部で各々受信し、前記受信したデータを一時バッファに各々保持し、前記一時バッファに保持した複数のデータに対するエラーの有無を判断し、前記データにエラーがないと判断した場合に、前記データを複数の領域からなる複数のキューイングバッファの所定の領域に各々格納すると共に、前記データにエラーがあると判断した場合に、前記データを初期化し、前記デバイスから受信したデータが格納されたキューイングバッファを示す情報を、前記複数の受信制御部がデータを受信した順序に従って複数の領域からなるコヒーレンシバッファの所定の領域に格納し、前記コヒーレンシバッファに格納された情報に基づき、前記データを受信した順序通りに前記キューイングバッファからデータを読み出し、バスに対して送信することを特徴とする。 The present invention also provides a bus arbitration method for a bus arbitration circuit in which a plurality of devices are connected and data received from the plurality of devices is transmitted to a common bus, and the data transmitted from the plurality of devices is transmitted. When received by each of a plurality of reception control units, each of the received data is held in a temporary buffer, whether there is an error in the plurality of data held in the temporary buffer, and when it is determined that there is no error in the data , together with the respectively stored in a predetermined area of a plurality of queuing buffer comprising said data from a plurality of regions, if it is determined that there is an error in the data, the data is initialized and data received from the device Information indicating the stored queuing buffer is stored in a coherent area consisting of a plurality of areas according to the order in which the plurality of reception control units receive data. Stored in a predetermined area of Nshibaffa, based on the coherency information stored in the buffer, the data read out data from the queuing buffer in sequence that has received, and transmits to the bus.

本発明によれば、前記発明と同様に、複数のデバイスによるデータ転送を同時に行うことができるとともに、特定のデバイスが故障した場合でも、他のデバイスによるデータ転送が可能になる。   According to the present invention, data transfer by a plurality of devices can be performed at the same time as in the above invention, and data transfer by another device can be performed even if a specific device fails.

以上のように、本発明によれば、複数のデバイスによるデータ転送を同時に行うことができるとともに、特定のデバイスが故障した場合でも、他のデバイスによるデータ転送が可能になる。   As described above, according to the present invention, data transfer by a plurality of devices can be performed simultaneously, and data transfer by other devices can be performed even when a specific device fails.

本発明の一実施の形態によるバス調停回路の一例の構成を示すブロック図である。It is a block diagram which shows the structure of an example of the bus arbitration circuit by one embodiment of this invention. 受信制御部の状態について説明するための状態遷移図である。It is a state transition diagram for demonstrating the state of a reception control part.

次に、発明を実施するための形態について、図面を参照しながら詳細に説明する。   Next, modes for carrying out the invention will be described in detail with reference to the drawings.

図1は、本発明にかかるバス調停回路の一実施の形態を示し、このバス調停回路1には、バス2と、バス2を共有するデバイス3a〜3cとが接続される。尚、図1に示す例では、3つのデバイス3a〜3cが接続されているが、これに限られず、2以下または4以上のデバイスが接続されてもよい。   FIG. 1 shows an embodiment of a bus arbitration circuit according to the present invention. A bus 2 and devices 3 a to 3 c sharing the bus 2 are connected to the bus arbitration circuit 1. In the example illustrated in FIG. 1, the three devices 3 a to 3 c are connected. However, the present invention is not limited to this, and two or less devices or four or more devices may be connected.

ここで、各デバイス3a〜3cから送信されるデータについて説明する。各デバイス3a〜3cからバス調停回路1に対して送信されるデータは、所定のパケットのペイロードに格納され、パケット単位で送信される。パケットの先頭及び最後尾には、スタートパケット(SOP;Start Of Packet)及びエンドパケット(EOP;End Of Packet)が各々付加される。   Here, data transmitted from each of the devices 3a to 3c will be described. Data transmitted from each of the devices 3a to 3c to the bus arbitration circuit 1 is stored in a payload of a predetermined packet and transmitted in units of packets. A start packet (SOP; Start Of Packet) and an end packet (EOP; End Of Packet) are added to the beginning and end of the packet, respectively.

バス調停回路1は、大別して、受信制御部11a〜11c、キューイングバッファ12a〜12c、コヒーレンシバッファ13及び送信制御部14で構成される。受信制御部11a〜11c及びキューイングバッファ12a〜12cは、バス調停回路1に接続されるデバイスに対応して各々独立して設けられる。尚、以下の説明において、受信制御部11a〜11c及びキューイングバッファ12a〜12cの各々を特に区別する必要がない場合には、単に、受信制御部11及びキューイングバッファ12とする。   The bus arbitration circuit 1 is roughly divided into reception control units 11a to 11c, queuing buffers 12a to 12c, a coherency buffer 13, and a transmission control unit 14. The reception control units 11 a to 11 c and the queuing buffers 12 a to 12 c are provided independently corresponding to devices connected to the bus arbitration circuit 1. In the following description, the reception control units 11a to 11c and the queuing buffers 12a to 12c are simply referred to as the reception control unit 11 and the queuing buffer 12 when it is not necessary to distinguish between them.

受信制御部11a〜11cは、デバイス3a〜3cからデータを受信するとともに、受信したデータのキューイングバッファ12a〜12cへの書き込みを制御する。受信制御部11a〜11cには、一時バッファ21a〜21cが接続され、デバイス3a〜3cから受信したパケットを一時バッファ21a〜21cに格納する。受信制御部11a〜11cは、受信したパケットに付加されたSOP及びEOPの有無を判断することにより、パケットが正常に受信できたか否かを判断し、データを正常に受信した際に、一時バッファ21a〜21cに格納されたデータをキューイングバッファ12a〜12cに書き込む。   The reception controllers 11a to 11c receive data from the devices 3a to 3c and control writing of the received data to the queuing buffers 12a to 12c. Temporary buffers 21a to 21c are connected to the reception control units 11a to 11c, and packets received from the devices 3a to 3c are stored in the temporary buffers 21a to 21c. The reception control units 11a to 11c determine whether or not the packet has been normally received by determining the presence or absence of the SOP and EOP added to the received packet. The data stored in 21a-21c is written into queuing buffers 12a-12c.

また、受信制御部11a〜11cは、データを正常に受信したことを示す受信完了信号を生成し、この受信完了信号を後述のキューイングバッファ12a〜12cの書き込みポインタ22a〜22c、及びコヒーレンシバッファ13の順序待ちポインタ24に対して送信する。   Further, the reception control units 11a to 11c generate a reception completion signal indicating that the data has been normally received, and the reception completion signal is transmitted to write pointers 22a to 22c of the queuing buffers 12a to 12c described later and the coherency buffer 13 respectively. To the order waiting pointer 24.

キューイングバッファ12a〜12cは、受信制御部11a〜11cから受信したデータを格納するための複数の領域が設けられ、書き込みポインタ22a〜22c及び読み出しポインタ23a〜23cが接続される。   The queuing buffers 12a to 12c are provided with a plurality of areas for storing data received from the reception control units 11a to 11c, and connected to the write pointers 22a to 22c and the read pointers 23a to 23c.

書き込みポインタ22a〜22cは、受信制御部11a〜11cから受け取ったデータを、キューイングバッファ12a〜12cにおける複数の領域のうち、どの領域に格納するかを指定するためのポインタである。書き込みポインタ22a〜22cは、受信制御部11a〜11cから受信完了信号を受信すると、ポインタを1ずつインクリメントさせる。   The write pointers 22a to 22c are pointers for designating in which of the plurality of areas in the queuing buffers 12a to 12c the data received from the reception control units 11a to 11c are stored. The write pointers 22a to 22c increment the pointer by one when receiving the reception completion signal from the reception control units 11a to 11c.

読み出しポインタ23a〜23c(以下、特に区別する必要がない場合には、単に、読み出しポインタ23とする)は、キューイングバッファ12a〜12cの複数の領域に各々格納されたデータのうち、どの領域に格納されたデータを読み出して送信するかを指定するためのポインタである。読み出しポインタ23a〜23cは、送信制御部14から後述の送信完了信号を受信すると、ポインタを1ずつインクリメントさせる。   The read pointers 23a to 23c (hereinafter, simply referred to as the read pointer 23 when there is no need to distinguish between them) are stored in any of the data stored in the plurality of areas of the queuing buffers 12a to 12c. This is a pointer for designating whether stored data is read out and transmitted. When the read pointers 23a to 23c receive a transmission completion signal described later from the transmission control unit 14, the read pointers 23a to 23c increment the pointer by one.

キューイングバッファ12a〜12cは、受信制御部11a〜11cの制御により、受信したデータを書き込みポインタ22a〜22cが指定する領域に格納する。また、キューイングバッファ12a〜12cは、後述する送信制御部14の制御により、読み出しポインタ23a〜23cが指定する領域からデータを読み出して送信制御部14に転送する。   The queuing buffers 12a to 12c store the received data in areas designated by the write pointers 22a to 22c under the control of the reception control units 11a to 11c. Further, the queuing buffers 12a to 12c read out data from the area designated by the read pointers 23a to 23c and transfer the data to the transmission control unit 14 under the control of the transmission control unit 14 described later.

コヒーレンシバッファ13は、デバイス3a〜3cから受信したデータを、受信した順序通りにバス2へ送信するために、受信したデータが格納されたキューイングバッファ12a〜12cを示す情報を格納する複数の領域が設けられ、順序待ちポインタ24及び次送信ポインタ25が接続される。   The coherency buffer 13 stores a plurality of areas for storing information indicating the queuing buffers 12a to 12c in which the received data is stored in order to transmit the data received from the devices 3a to 3c to the bus 2 in the order received. And the order waiting pointer 24 and the next transmission pointer 25 are connected.

順序待ちポインタ24は、バス2への送信の順序待ちをしているデータが格納されたキューイングバッファ12a〜12cを示す情報を格納する領域を指定するためのポインタである。順序待ちポインタ24は、受信制御部11a〜11cから受信完了信号を受信すると、ポインタを1ずつインクリメントさせる。   The order wait pointer 24 is a pointer for designating an area for storing information indicating the queuing buffers 12a to 12c in which data waiting for the order of transmission to the bus 2 is stored. The order wait pointer 24 increments the pointer by one when receiving the reception completion signal from the reception control units 11a to 11c.

次送信ポインタ25は、コヒーレンシバッファ13における複数の領域のうち、次にバス2に送信するデータが格納されたキューイングバッファ12a〜12cを示す情報が格納された領域を指定するためのポインタである。次送信ポインタ25は、送信制御部14から後述の送信完了信号を受信すると、ポインタを1ずつインクリメントさせる。   The next transmission pointer 25 is a pointer for designating an area in which information indicating the queuing buffers 12 a to 12 c in which data to be transmitted next to the bus 2 is stored among a plurality of areas in the coherency buffer 13. . When the next transmission pointer 25 receives a transmission completion signal described later from the transmission control unit 14, the next transmission pointer 25 increments the pointer by one.

コヒーレンシバッファ13は、受信制御部11a〜11cのうち所定の受信制御部から受信完了信号を受信すると、この受信完了信号に基づき、順序待ちポインタ24が指定する領域に、所定の受信制御部11からのデータが格納されたキューイングバッファ12を示す情報(以下、「キューイングバッファ12を示す情報」とする)を格納する。   When the coherency buffer 13 receives a reception completion signal from a predetermined reception control unit among the reception control units 11a to 11c, the coherency buffer 13 moves from the predetermined reception control unit 11 to an area designated by the order wait pointer 24 based on the reception completion signal. Information indicating the queuing buffer 12 storing the data (hereinafter referred to as “information indicating the queuing buffer 12”) is stored.

送信制御部14は、キューイングバッファ12a〜12cからのデータの読み出し及びバス2への送信を制御する。送信制御部14は、バス2への送信が可能になった際に、コヒーレンシバッファ13の次送信ポインタ25が示す領域に格納された情報に基づき、送信待ちとなっているデータを格納するキューイングバッファ12a〜12cから、読み出しポインタ23a〜23cが示す領域のデータを読み出し、バス2に送信する。また、送信制御部14は、バス2へのデータの送信が完了したことを示す送信完了信号を生成し、この送信完了信号を読み出しポインタ23a〜23c及び次送信ポインタ25に対して送信する。   The transmission control unit 14 controls reading of data from the queuing buffers 12 a to 12 c and transmission to the bus 2. When transmission to the bus 2 becomes possible, the transmission control unit 14 stores the data waiting for transmission based on the information stored in the area indicated by the next transmission pointer 25 of the coherency buffer 13. Data in the area indicated by the read pointers 23 a to 23 c is read from the buffers 12 a to 12 c and transmitted to the bus 2. Further, the transmission control unit 14 generates a transmission completion signal indicating that transmission of data to the bus 2 is completed, and transmits this transmission completion signal to the read pointers 23 a to 23 c and the next transmission pointer 25.

次に、上記構成を有するバス調停回路1の動作について、図1及び図2を参照しながら説明する。図2は、受信制御部11a〜11cにおける動作の一例を示す状態遷移図である。尚、以下では、デバイス3aからデータが転送された場合の動作を例にとって説明する。   Next, the operation of the bus arbitration circuit 1 having the above configuration will be described with reference to FIGS. FIG. 2 is a state transition diagram illustrating an example of operations in the reception control units 11a to 11c. Hereinafter, an operation when data is transferred from the device 3a will be described as an example.

従来のバス調停回路においては、受信制御部からのチップセレクト信号やレディ信号、あるいはウェイト信号等の制御信号により、デバイスからのデータ転送の開始や待機等を制御する。   In a conventional bus arbitration circuit, the start or standby of data transfer from a device is controlled by a control signal such as a chip select signal, a ready signal, or a wait signal from a reception control unit.

これに対して、本実施の形態では、複数のデバイスから送信されたデータを受信する受信制御部と、受信したデータを格納するキューイングバッファとをデバイスに応じて各々独立して設けるようにしている。そのため、デバイスからのデータ転送の際には、従来のバス調停回路で用いられているチップセレクト信号等の制御信号が不要であり、各デバイスからの転送を受信制御部が受け付けることができる。   In contrast, in the present embodiment, a reception control unit that receives data transmitted from a plurality of devices and a queuing buffer that stores the received data are provided independently for each device. Yes. Therefore, when transferring data from a device, a control signal such as a chip select signal used in a conventional bus arbitration circuit is unnecessary, and the transfer from each device can be accepted by the reception control unit.

例えば、各デバイス3a〜3cと受信制御部11a〜11cとのインタフェースが、スタートパケット(SOP)→ペイロード→チェック→エンドパケット(EOP)というフォーマットである場合、各受信制御部11a〜11cは、図2に示す状態を遷移することになる。   For example, when the interfaces between the devices 3a to 3c and the reception control units 11a to 11c have a format of start packet (SOP) → payload → check → end packet (EOP), the reception control units 11a to 11c The state shown in FIG.

初期状態において、受信制御部11aは、SOPステート(図2のステップS1)の状態となっている。受信制御部11aは、デバイス3aからパケットを受信すると、パケットの先頭に付加されたSOPの有無を判断する。受信したパケットからSOPを認識した場合には、状態がペイロードステート(図2のステップS2)に遷移する。一方、SOPを認識しない場合には、そのままの状態で待機する。   In the initial state, the reception control unit 11a is in the SOP state (step S1 in FIG. 2). When receiving the packet from the device 3a, the reception control unit 11a determines whether there is an SOP added to the head of the packet. When the SOP is recognized from the received packet, the state transits to the payload state (step S2 in FIG. 2). On the other hand, when SOP is not recognized, it waits as it is.

状態がペイロードステート(ステップS2)に遷移すると、受信制御部11aは、受信したパケットのペイロードに格納されたデータを一時バッファ21aに保持する。そして、デバイス3aからのデータ受信が完了すると、状態がチェックステート(図2のステップS3)に遷移する。   When the state transitions to the payload state (step S2), the reception control unit 11a holds the data stored in the payload of the received packet in the temporary buffer 21a. When data reception from the device 3a is completed, the state transitions to the check state (step S3 in FIG. 2).

状態がチェックステート(ステップS3)に遷移すると、受信制御部11aは、これまでに受信したパケットにおけるエラーの有無を判断する。エラーがないと判断した場合には、状態がEOPステート(図2のステップS4)に遷移する。一方、エラーがあると判断した場合には、一時バッファ21aに保持したデータを初期化し、状態がSOPステート(ステップS1)に遷移する。そして、デバイス3aから次のパケットが転送されるまで待機する。   When the state transitions to the check state (step S3), the reception control unit 11a determines whether there is an error in the packets received so far. If it is determined that there is no error, the state transitions to the EOP state (step S4 in FIG. 2). On the other hand, if it is determined that there is an error, the data held in the temporary buffer 21a is initialized, and the state transitions to the SOP state (step S1). Then, it waits until the next packet is transferred from the device 3a.

状態がEOPステート(ステップS4)に遷移すると、受信制御部11aは、受信したパケットの最後尾に付加されたEOPの有無を判断する。受信したパケットからEOPを認識した場合には、パケットを正常に受信したと判断する。そして、受信制御部11aは、受信完了信号を生成し、書き込みポインタ22a及び順序待ちポインタ24に対して送信する。また、状態がSOPステート(ステップS1)に遷移し、次のパケットを受信するまで待機する。一方、EOPを認識しない場合には、そのままの状態で待機する。   When the state transitions to the EOP state (step S4), the reception control unit 11a determines whether or not there is an EOP added to the end of the received packet. When EOP is recognized from the received packet, it is determined that the packet has been normally received. Then, the reception control unit 11a generates a reception completion signal and transmits it to the write pointer 22a and the order wait pointer 24. Further, it waits until the state transits to the SOP state (step S1) and the next packet is received. On the other hand, if EOP is not recognized, the process stands by as it is.

受信制御部11aは、一時バッファ21aに保持したデータを、キューイングバッファ12aの書き込みポインタ22aが指定する領域に格納する。書き込みポインタ22aは、受信制御部11aから受信した受信完了信号により1だけインクリメントされる。   The reception control unit 11a stores the data held in the temporary buffer 21a in an area designated by the write pointer 22a of the queuing buffer 12a. The write pointer 22a is incremented by 1 by the reception completion signal received from the reception control unit 11a.

例えば、最初に書き込みポインタ22aの指定する領域が第1の領域であった場合、現在送信されたパケットのデータは、キューイングバッファ12aの第1の領域に格納される。そして、書き込みポインタ22aは、受信完了信号によって1だけインクリメントされ、次の領域である第2の領域を指定することになる。従って、次に送信されたパケットのデータは、キューイングバッファ12aの第2の領域に格納されることになる。   For example, when the area designated by the write pointer 22a is the first area, the data of the currently transmitted packet is stored in the first area of the queuing buffer 12a. The write pointer 22a is incremented by 1 by the reception completion signal, and designates the second area which is the next area. Therefore, the data of the next transmitted packet is stored in the second area of the queuing buffer 12a.

このようにして、受信完了信号によってポインタが1ずつインクリメントされることにより、デバイス3aから受信したパケットのデータが書き込みポインタ22aが指定するキューイングバッファ12aの所定の領域に順次格納される。   In this manner, the pointer is incremented by 1 by the reception completion signal, whereby the data of the packet received from the device 3a is sequentially stored in a predetermined area of the queuing buffer 12a designated by the write pointer 22a.

他のデバイス3b及び3cからパケットが送信された場合においても、同様に処理が行われ、受信制御部11b及び11cは、デバイス3b及び3cからのパケットを受信し、キューイングバッファ12b及び12cに格納する。すなわち、各デバイス3a〜3cから送信されたパケットのデータをキューイングバッファ12a〜12cに格納する際には、他のデバイスとの関係を考慮する必要がなく、独立してデータを受信することができる。   When packets are transmitted from the other devices 3b and 3c, the same processing is performed, and the reception control units 11b and 11c receive the packets from the devices 3b and 3c and store them in the queuing buffers 12b and 12c. To do. That is, when storing packet data transmitted from the devices 3a to 3c in the queuing buffers 12a to 12c, it is not necessary to consider the relationship with other devices, and the data can be received independently. it can.

コヒーレンシバッファ13は、受信制御部11aから受信完了信号を受け取った場合、順序待ちポインタ24が指定する領域に、受信制御部11aからのデータが格納されたキューイングバッファ12aを示す情報を保持する。また、順序待ちポインタ24は、受信完了信号によって1だけインクリメントされる。   When the coherency buffer 13 receives a reception completion signal from the reception control unit 11a, the coherency buffer 13 holds information indicating the queuing buffer 12a in which data from the reception control unit 11a is stored in an area designated by the order wait pointer 24. The order wait pointer 24 is incremented by 1 by the reception completion signal.

同様に、受信制御部11b及び11cから受信完了信号を受け取った場合についても、順序待ちポインタ24が指定する領域に、受信制御部11b及び11cからのデータが格納されたキューイングバッファ12b及び12cを示す情報を保持する。   Similarly, when receiving completion signals are received from the reception control units 11b and 11c, the queuing buffers 12b and 12c in which the data from the reception control units 11b and 11c are stored in the area designated by the order wait pointer 24. Holds the information shown.

例えば、受信制御部11a、11b及び11cからのデータが格納されたキューイングバッファ12a、12b及び12cを示す情報を、各々値「01」、値「10」及び値「11」とし、受信完了信号を受信制御部11a、11c、11b及び11bの順序で受け取った場合について考える。この場合、最初に順序待ちポインタ24が指定するコヒーレンシバッファ13の第1の領域には、キューイングバッファ12aを示す情報である値「01」が書き込まれる。次に、受信完了信号によって順序待ちポインタ24が1だけインクリメントされ、コヒーレンシバッファ13の第2の領域には、キューイングバッファ12cを示す情報である値「11」が書き込まれる。以下、同様にして、コヒーレンシバッファ13の第3の領域には、キューイングバッファ12bを示す情報である値「10」が書き込まれるとともに、第4の領域には、キューイングバッファ12bを示す情報である値「10」が書き込まれることになる。   For example, information indicating the queuing buffers 12a, 12b, and 12c in which the data from the reception control units 11a, 11b, and 11c are stored is a value “01”, a value “10”, and a value “11”, respectively. Is received in the order of the reception control units 11a, 11c, 11b, and 11b. In this case, a value “01”, which is information indicating the queuing buffer 12a, is written in the first area of the coherency buffer 13 specified by the order wait pointer 24 first. Next, the order waiting pointer 24 is incremented by 1 by the reception completion signal, and a value “11” that is information indicating the queuing buffer 12 c is written in the second area of the coherency buffer 13. Hereinafter, similarly, a value “10”, which is information indicating the queuing buffer 12b, is written in the third area of the coherency buffer 13, and information indicating the queuing buffer 12b is written in the fourth area. A certain value “10” will be written.

送信制御部14は、バス2への送信が可能になると、コヒーレンシバッファ13の次送信ポインタ25が指定する領域に保持された情報を参照し、複数の受信制御部11a〜11cのうちどの受信制御部11からのデータが送信待ちとなっているかを判断する。そして、送信制御部14は、次送信ポインタ25が指定する領域に保持された情報に対応するキューイングバッファ12の読み出しポインタ23が指定する所定の領域に格納されたデータを読み出し、バス2に対して送信する。   When transmission to the bus 2 becomes possible, the transmission control unit 14 refers to the information held in the area designated by the next transmission pointer 25 of the coherency buffer 13 and determines which reception control among the plurality of reception control units 11a to 11c. It is determined whether data from the unit 11 is waiting for transmission. Then, the transmission control unit 14 reads the data stored in the predetermined area designated by the read pointer 23 of the queuing buffer 12 corresponding to the information held in the area designated by the next transmission pointer 25, and sends it to the bus 2. To send.

バス2への送信が正常に完了すると、送信制御部14は、送信完了信号を次送信ポインタ25、及びデータを読み出したキューイングバッファ12に対応する読み出しポインタ23に送信し、各々ポインタを1だけインクリメントさせる。   When the transmission to the bus 2 is normally completed, the transmission control unit 14 transmits a transmission completion signal to the next transmission pointer 25 and the read pointer 23 corresponding to the queuing buffer 12 from which the data has been read. Increment.

次に、送信制御部14は、1だけインクリメントされた次送信ポインタ25が指定する領域に保持された情報を参照し、この情報に対応するキューイングバッファ12の読み出しポインタ23が指定する所定の領域に格納されたデータを読み出し、バス2に対して送信する。以下、同様にして、送信制御部14は、次送信ポインタ25が指定する領域に保持された情報を参照し、キューイングバッファ12の所定の領域に格納されたデータを順次読み出し、バス2に対して送信する。   Next, the transmission control unit 14 refers to the information held in the area designated by the next transmission pointer 25 incremented by 1, and the predetermined area designated by the read pointer 23 of the queuing buffer 12 corresponding to this information The data stored in is sent to the bus 2. Thereafter, similarly, the transmission control unit 14 refers to the information held in the area designated by the next transmission pointer 25, sequentially reads the data stored in the predetermined area of the queuing buffer 12, and sends the data to the bus 2. To send.

上述の例においては、最初に、次送信ポインタ25がコヒーレンシバッファ13の第1の領域を指定しているものとすると、送信制御部14は、コヒーレンシバッファ13の第1の領域に保持された情報を参照する。第1の領域に保持された情報は、値「01」であるので、送信制御部14は、受信制御部11aからの送信待ちであると判断する。そして、値「01」に対応するキューイングバッファ12aの読み出しポインタ23aが指定する領域に格納されたデータを読み出し、バス2に対して送信する。   In the above example, assuming that the next transmission pointer 25 first designates the first area of the coherency buffer 13, the transmission control unit 14 stores the information held in the first area of the coherency buffer 13. Refer to Since the information held in the first area is the value “01”, the transmission control unit 14 determines that it is waiting for transmission from the reception control unit 11a. Then, the data stored in the area designated by the read pointer 23 a of the queuing buffer 12 a corresponding to the value “01” is read and transmitted to the bus 2.

送信制御部14は、バス2への送信が正常に完了すると、送信完了信号を次送信ポインタ25及び読み出しポインタ23aに送信し、各々ポインタを1ずつインクリメントさせる。これにより、次送信ポインタ25が指定する領域は、第2の領域となる。   When transmission to the bus 2 is normally completed, the transmission control unit 14 transmits a transmission completion signal to the next transmission pointer 25 and the read pointer 23a, and increments each pointer by one. As a result, the area designated by the next transmission pointer 25 becomes the second area.

次に、送信制御部14は、コヒーレンシバッファ13の第2の領域に保持された情報を参照する。第2の領域に保持された情報は、値「11」であるので、送信制御部14は、受信制御部11cからの送信待ちであると判断し、値「11」に対応するキューイングバッファ12cの読み出しポインタ23cが指定する領域に格納されたデータを読み出し、バス2に対して送信する。   Next, the transmission control unit 14 refers to the information held in the second area of the coherency buffer 13. Since the information held in the second area is the value “11”, the transmission control unit 14 determines that it is waiting for transmission from the reception control unit 11c, and the queuing buffer 12c corresponding to the value “11”. The data stored in the area designated by the read pointer 23c is read and transmitted to the bus 2.

送信制御部14は、バス2への送信が正常に完了すると、送信完了信号を次送信ポインタ25及び読み出しポインタ23cに送信し、各々ポインタを1ずつインクリメントさせる。これにより、次送信ポインタ25が指定する領域は、第3の領域となる。   When transmission to the bus 2 is normally completed, the transmission control unit 14 transmits a transmission completion signal to the next transmission pointer 25 and the read pointer 23c, and increments each pointer by one. As a result, the area designated by the next transmission pointer 25 becomes the third area.

以下、同様にして、送信制御部14は、次送信ポインタ25が指定する第3及び第4の領域に保持された情報を参照する。第3及び第4の領域に保持された情報は、各々値「10」であるので、送信制御部14は、値「11」に対応するキューイングバッファ12cの読み出しポインタ23cが指定する領域に格納されたデータを読み出し、バス2に対して送信する。   Hereinafter, similarly, the transmission control unit 14 refers to the information held in the third and fourth areas designated by the next transmission pointer 25. Since the information held in the third and fourth areas is the value “10”, the transmission control unit 14 stores the information in the area designated by the read pointer 23c of the queuing buffer 12c corresponding to the value “11”. The read data is read and transmitted to the bus 2.

このようにして、複数のデバイス3a〜3cから送信され、キューイングバッファ12a〜12cに格納されたデータを、コヒーレンシバッファ13に保持された情報に基づいて順次読み出すことにより、受信したデータを受信した順序通りにバス2に対して送信することができる。   In this way, the received data is received by sequentially reading the data transmitted from the plurality of devices 3 a to 3 c and stored in the queuing buffers 12 a to 12 c based on the information held in the coherency buffer 13. It can be transmitted to the bus 2 in order.

以上のように、本実施の形態によれば、外部に接続された複数のデバイスから送信されたデータを受信する受信制御部と、受信したデータを格納するキューイングバッファとを、デバイスに応じて各々独立して設けたため、他のデバイスの影響を受けることなく、複数のデバイスから同時にデータを受信することができる。このため、ある特定のデバイスが何らかの影響でデータの送信が不可能となった場合であっても、他のデバイスは、その影響を受けることなくデータを正常に送信することができる。   As described above, according to the present embodiment, the reception control unit that receives data transmitted from a plurality of devices connected to the outside and the queuing buffer that stores the received data are set according to the device. Since each is provided independently, data can be received simultaneously from a plurality of devices without being affected by other devices. For this reason, even if a certain device cannot transmit data due to some influence, other devices can transmit data normally without being affected by the influence.

また、本実施の形態によれば、受信したデータが格納されたキューイングバッファを示す情報を、データを受信した順序に基づいて保持するコヒーレンシバッファを設けたため、各デバイスから受信したデータを、受信した順序通りにバスへ送信することができる。   In addition, according to the present embodiment, since the coherency buffer that holds information indicating the queuing buffer in which the received data is stored is provided based on the order in which the data is received, the data received from each device is received. Can be sent to the bus in the order specified.

さらに、本実施の形態によれば、受信制御部及びキューイングバッファを、デバイスに応じて各々独立して設けたため、各デバイスに対してバス使用権を与えることなく、データの転送が可能となる。   Furthermore, according to the present embodiment, since the reception control unit and the queuing buffer are provided independently according to the device, it is possible to transfer data without giving the bus use right to each device. .

次に、本発明に係る他の実施形態について説明する。   Next, another embodiment according to the present invention will be described.

複数のデバイスが接続されたバス調停回路1においては、各デバイス3a〜3cから送信されたデータを同時に受信する場合が考えられる。このような場合、図1及び図2に示した実施形態では、データの受信が完了した際に、各受信制御部11a〜11cにおいて受信完了信号を同時に生成し、順序待ちポインタ24に送信することになる。   In the bus arbitration circuit 1 to which a plurality of devices are connected, it is conceivable that data transmitted from the devices 3a to 3c is received simultaneously. In such a case, in the embodiment shown in FIGS. 1 and 2, when the reception of data is completed, the reception control units 11 a to 11 c simultaneously generate reception completion signals and transmit them to the order wait pointer 24. become.

このとき、順序待ちポインタ24は、同時に複数の受信完了信号を受信することになる。そのため、コヒーレンシバッファ13は、順序待ちポインタ24が指定する領域に対して、どの受信制御部11からのデータが格納されたキューイングバッファ12を示す情報を格納すべきか判断できず、受信したデータをバス2へ送信する際に、適切な送信順序で送信することができないことが考えられる。   At this time, the order wait pointer 24 receives a plurality of reception completion signals simultaneously. For this reason, the coherency buffer 13 cannot determine which information indicating the queuing buffer 12 in which the data from the reception control unit 11 should be stored in the area specified by the order wait pointer 24, and receives the received data. When transmitting to the bus 2, it is conceivable that transmission cannot be performed in an appropriate transmission order.

そこで、本実施の形態では、複数のデバイスからデータを同時に受信した場合でも、受信したデータをバスへ送信する順序を決定できるように、各デバイスに対応する受信制御部に対して優先順位を設定する。   Therefore, in this embodiment, even when data is received simultaneously from a plurality of devices, a priority order is set for the reception control unit corresponding to each device so that the order of transmitting the received data to the bus can be determined. To do.

尚、本実施の形態に係るバス調停回路1の構成については、図1に示す実施の形態によるバス調停回路1と同様であるため、説明を省略する。   The configuration of the bus arbitration circuit 1 according to the present embodiment is the same as that of the bus arbitration circuit 1 according to the embodiment shown in FIG.

本実施の形態に係るバス調停回路1の動作について、図1を参照して説明する。但し、各デバイス3a〜3cから送信されたデータをキューイングバッファ12a〜12cに格納する動作、並びにキューイングバッファ12a〜12cからデータを読み出してバス2に送信する動作については、上述した実施の形態と同様であるため、説明を省略する。   The operation of the bus arbitration circuit 1 according to the present embodiment will be described with reference to FIG. However, the operation of storing the data transmitted from each of the devices 3a to 3c in the queuing buffers 12a to 12c and the operation of reading the data from the queuing buffers 12a to 12c and transmitting them to the bus 2 are described above. Since it is the same as that of FIG.

本実施の形態では、受信制御部11a〜11cに対して優先順位を予め設定しておく。コヒーレンシバッファ13は、複数の受信完了信号を同時に受信すると、予め設定された優先順位に基づき順序待ちポインタ24が指定する領域に、優先順位が最も高い受信制御部11からのデータが格納されたキューイングバッファ12を示す情報を保持する。次に、この領域の一つ先の領域に、優先順位が次に高い受信制御部11からのデータが格納されたキューイングバッファ12を示す情報を保持する。以下同様に、優先順位に従って、さらに一つ先の領域にキューイングバッファ12を示す情報を順次保持する。   In the present embodiment, priorities are set in advance for the reception controllers 11a to 11c. When the coherency buffer 13 receives a plurality of reception completion signals simultaneously, the coherency buffer 13 is a queue in which data from the reception control unit 11 having the highest priority is stored in an area designated by the order wait pointer 24 based on a preset priority. Information indicating the in-buffer 12 is held. Next, information indicating the queuing buffer 12 in which data from the reception control unit 11 having the next highest priority is stored is held in an area immediately ahead of this area. In the same manner, information indicating the queuing buffer 12 is sequentially held in a further area according to the priority order.

そして、順序待ちポインタ24は、同時に受信した受信完了信号の数に応じて、所定数だけインクリメントされる。インクリメントされる数は、同時に受信した受信完了信号の数となる。例えば、順序待ちポインタ24は、2つの受信完了信号を受信した場合に2だけインクリメントされ、3つの受信完了信号を受信した場合に3だけインクリメントされる。   The order waiting pointer 24 is incremented by a predetermined number according to the number of reception completion signals received simultaneously. The incremented number is the number of reception completion signals received simultaneously. For example, the order wait pointer 24 is incremented by 2 when two reception completion signals are received, and is incremented by 3 when three reception completion signals are received.

ここで、一例として、優先順位を受信制御部11a、11b及び11cの順とした場合について、上述した実施の形態で説明した具体例に基づいて説明する。例えばデバイス3a及び3bから送信された2つのデータを、受信制御部11a及び11bにおいて各々同時に受信した場合、受信制御部11a及び11bは、受信完了信号を各々生成し、コヒーレンシバッファ13の順序待ちポインタ24に対して同時に送信する。   Here, as an example, the case where the priority order is the order of the reception control units 11a, 11b, and 11c will be described based on the specific example described in the above-described embodiment. For example, when two data transmitted from the devices 3a and 3b are simultaneously received by the reception control units 11a and 11b, the reception control units 11a and 11b respectively generate reception completion signals and wait for the order of the coherency buffer 13 24 simultaneously.

最初に順序待ちポインタ24が指定するコヒーレンシバッファ13の領域が第1の領域である場合には、予め設定された優先順位に従い、第1の領域に、受信制御部11aからのデータが格納されたキューイングバッファ12aを示す情報である値「01」が書き込まれ、第2の領域に、受信制御部11bからのデータが格納されたキューイングバッファ12bを示す情報である値「10」が書き込まれる。そして、順序待ちポインタ24は、同時に2つの受信完了信号を受信したことにより、2だけインクリメントされる。   When the area of the coherency buffer 13 that is first designated by the order wait pointer 24 is the first area, the data from the reception control unit 11a is stored in the first area in accordance with a preset priority order. A value “01” that is information indicating the queuing buffer 12a is written, and a value “10” that is information indicating the queuing buffer 12b in which data from the reception control unit 11b is stored is written in the second area. . The order wait pointer 24 is incremented by 2 because two reception completion signals are received simultaneously.

また、例えばデバイス3a、3b及び3cから送信された3つのデータを、受信制御部11a、11b及び11cにおいて各々同時に受信した場合には、予め設定された優先順位に従い、順序待ちポインタ24が指定する第1の領域に、キューイングバッファ12aを示す情報である値「01」が書き込まれ、第2の領域に、キューイングバッファ12bを示す情報である値「10」が書き込まれ、第3の領域に、キューイングバッファ12cを示す情報である値「11」が書き込まれる。そして、順序待ちポインタ24は、同時に3つの受信完了信号を受信したことにより、3だけインクリメントされる。   For example, when three data transmitted from the devices 3a, 3b, and 3c are simultaneously received by the reception control units 11a, 11b, and 11c, the order waiting pointer 24 designates according to a preset priority order. A value “01”, which is information indicating the queuing buffer 12a, is written in the first area, and a value “10”, which is information indicating the queuing buffer 12b, is written in the second area. The value “11”, which is information indicating the queuing buffer 12c, is written in Then, the order wait pointer 24 is incremented by 3 because three reception completion signals are received simultaneously.

このように、同時に受信した受信完了信号の数に応じて、順序待ちポインタ24のインクリメントされる数を決定することにより、次以降の各デバイスからのデータ受信を適切に行うことができる。   Thus, by determining the incremented number of the order wait pointer 24 in accordance with the number of reception completion signals received simultaneously, data reception from each subsequent device can be appropriately performed.

以上のように、本実施の形態によれば、複数の受信制御部に対して優先順位を予め設定するようにしているため、複数のデバイスから同時にデータを受信した場合であっても、設定された優先順位に従ってデータの送信順序を決定し、データを適切にバスへ送信することができる。   As described above, according to the present embodiment, since the priority order is set in advance for a plurality of reception control units, the priority order is set even when data is simultaneously received from a plurality of devices. The data transmission order can be determined according to the priorities, and the data can be appropriately transmitted to the bus.

以上、本発明の一実施の形態及び他の実施形態について説明したが、本発明は、上述した本発明の一実施の形態及び他の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   As mentioned above, although one embodiment of this invention and other embodiment were described, this invention is not limited to one embodiment and other embodiment of this invention mentioned above, The summary of this invention is provided. Various modifications and applications are possible without departing from the scope.

1 バス調停回路
2 バス
3(3a〜3c) デバイス
11(11a〜11c) 受信制御部
12(12a〜12c) キューイングバッファ
13 コヒーレンシバッファ
14 送信制御部
21(21a〜21c) 一時バッファ
22(22a〜22c) 書き込みポインタ
23(23a〜23c) 読み出しポインタ
24 順序待ちポインタ
25 次送信ポインタ
DESCRIPTION OF SYMBOLS 1 Bus arbitration circuit 2 Bus 3 (3a-3c) Device 11 (11a-11c) Reception control part 12 (12a-12c) Queuing buffer 13 Coherency buffer 14 Transmission control part 21 (21a-21c) Temporary buffer 22 (22a- 22c) Write pointer 23 (23a-23c) Read pointer 24 Order wait pointer 25 Next transmission pointer

Claims (4)

複数のデバイスが接続され、該複数のデバイスから受信したデータを共通のバスに対して送信するバス調停回路であって、
複数の領域からなり、データを所定の領域に格納する複数のキューイングバッファと、
データを保持する一時バッファを有し、複数のデバイスから送信されたデータを各々受信して前記一時バッファに各々保持し該一時バッファに保持した該データの前記キューイングバッファへの書き込みを制御する複数の受信制御部と、
複数の領域からなり、前記デバイスから受信したデータが格納されたキューイングバッファを示す情報を、前記複数の受信制御部がデータを受信した順序に従って所定の領域に格納するコヒーレンシバッファと、
前記コヒーレンシバッファに格納された情報に基づき、前記データを受信した順序通りに前記キューイングバッファからデータを読み出し、バスに対して送信する送信制御部とを備え
前記受信制御部は、前記一時バッファに保持したデータに対するエラーの有無を判断し、前記データにエラーがあると判断した場合に、前記データを初期化することを特徴とするバス調停回路。
A bus arbitration circuit for connecting a plurality of devices and transmitting data received from the plurality of devices to a common bus,
A plurality of queuing buffers that are composed of a plurality of areas and store data in a predetermined area;
A temporary buffer for holding data; receiving data transmitted from a plurality of devices ; holding the data in the temporary buffer ; and controlling writing of the data held in the temporary buffer to the queuing buffer A plurality of reception control units;
A coherency buffer that includes a plurality of areas and stores information indicating a queuing buffer in which data received from the device is stored in a predetermined area according to the order in which the plurality of reception control units receive the data;
Based on the information stored in the coherency buffer, the data is read from the queuing buffer in the order in which the data is received, and a transmission control unit that transmits to the bus ,
The bus arbitration circuit , wherein the reception control unit determines whether or not there is an error in the data held in the temporary buffer, and initializes the data when determining that the data has an error .
前記キューイングバッファは、
前記受信制御部により受信したデータを格納する領域を指定する書き込みポインタと、
前記送信制御部により読み出されるデータを格納する領域を指定する読み出しポインタとを有し、
前記コヒーレンシバッファは、
前記デバイスから受信したデータが格納されたキューイングバッファを示す情報を格納する領域を指定する順序待ちポインタと、
前記バスに対して送信するデータが格納されたキューイングバッファを示す情報が格納された領域を指定する次送信ポインタとを有し、
前記受信制御部は、
前記キューイングバッファの前記書き込みポインタが指定する領域に、前記デバイスから受信したデータを格納し、
前記デバイスからのデータを正常に受信したことを示す受信完了信号を生成し、前記キューイングバッファ及び前記コヒーレンシバッファに対して送信し、
前記コヒーレンシバッファの前記順序待ちポインタが指定する領域に、前記受信完了信号に対応する受信制御部からのデータが格納されたキューイングバッファを示す情報を格納し、
前記受信完了信号に基づき前記書き込みポインタ及び前記順序待ちポインタをインクリメントさせ、
前記送信制御部は、
前記コヒーレンシバッファの前記次送信ポインタが指定する領域に格納された情報を参照し、
前記参照した情報に対応するキューイングバッファの前記読み出しポインタが指定する領域に格納されたデータを読み出して前記バスに対して送信し、
前記バスへのデータ送信を完了したことを示す送信完了信号を生成し、前記キューイングバッファ及び前記コヒーレンシバッファに対して送信し、
前記送信完了信号に基づき前記読み出しポインタ及び前記次送信ポインタをインクリメントさせることを特徴とする請求項1に記載のバス調停回路。
The queuing buffer is
A write pointer for designating an area for storing data received by the reception control unit;
A read pointer for designating an area for storing data read by the transmission control unit;
The coherency buffer is
An order wait pointer for designating an area for storing information indicating a queuing buffer in which data received from the device is stored;
A next transmission pointer for designating an area storing information indicating a queuing buffer in which data to be transmitted to the bus is stored;
The reception control unit
Store the data received from the device in the area specified by the write pointer of the queuing buffer;
Generating a reception completion signal indicating that data from the device has been normally received, and transmitting the signal to the queuing buffer and the coherency buffer;
Storing information indicating a queuing buffer in which data from a reception control unit corresponding to the reception completion signal is stored in an area designated by the order wait pointer of the coherency buffer;
Based on the reception completion signal, the write pointer and the order wait pointer are incremented,
The transmission control unit
Referring to the information stored in the area specified by the next transmission pointer of the coherency buffer;
Read the data stored in the area specified by the read pointer of the queuing buffer corresponding to the referenced information and send it to the bus,
Generating a transmission completion signal indicating completion of data transmission to the bus, and transmitting to the queuing buffer and the coherency buffer;
The bus arbitration circuit according to claim 1, wherein the read pointer and the next transmission pointer are incremented based on the transmission completion signal.
前記複数の受信制御部に対して優先順位を設定し、
前記コヒーレンシバッファは、
前記複数の受信制御部から同時に受信した複数の受信完了信号と前記設定された優先順位とに基づき、前記優先順位が最も高い受信制御部からのデータが格納されたキューイングバッファを示す情報を、前記順序待ちポインタが指定する領域に格納し、
前記優先順位に従って、該優先順位が高い受信制御部からのデータが格納されたキューイングバッファを示す情報を次の領域に順次格納し、
前記順序待ちポインタを、同時に受信した前記複数の受信完了信号の数だけインクリメントさせることを特徴とする請求項2に記載のバス調停回路。
Setting priorities for the plurality of reception control units;
The coherency buffer is
Based on a plurality of reception completion signals received simultaneously from the plurality of reception control units and the set priority, information indicating a queuing buffer storing data from the reception control unit having the highest priority, Store in the area specified by the waiting pointer,
According to the priority, information indicating a queuing buffer in which data from a reception control unit with a high priority is stored is sequentially stored in the next area,
3. The bus arbitration circuit according to claim 2, wherein the order waiting pointer is incremented by the number of the plurality of reception completion signals received simultaneously.
複数のデバイスが接続され、該複数のデバイスから受信したデータを共通のバスに対して送信するバス調停回路のバス調停方法であって、
複数のデバイスから送信されたデータを複数の受信制御部で各々受信し、
前記受信したデータを一時バッファに各々保持し、
前記一時バッファに保持した複数のデータに対するエラーの有無を判断し、前記データにエラーがないと判断した場合に、前記データを複数の領域からなる複数のキューイングバッファの所定の領域に各々格納すると共に、前記データにエラーがあると判断した場合に、前記データを初期化し、
前記デバイスから受信したデータが格納されたキューイングバッファを示す情報を、前記複数の受信制御部がデータを受信した順序に従って複数の領域からなるコヒーレンシバッファの所定の領域に格納し、
前記コヒーレンシバッファに格納された情報に基づき、前記データを受信した順序通りに前記キューイングバッファからデータを読み出し、バスに対して送信することを特徴とするバス調停方法。
A bus arbitration method of a bus arbitration circuit, in which a plurality of devices are connected and data received from the plurality of devices is transmitted to a common bus,
Each of the data received from a plurality of devices is received by a plurality of reception control units,
Each of the received data is held in a temporary buffer,
It is determined whether or not there is an error in a plurality of data held in the temporary buffer, and when it is determined that there is no error in the data, the data is stored in a predetermined area of a plurality of queuing buffers each including a plurality of areas. In addition, when it is determined that there is an error in the data, the data is initialized ,
Information indicating a queuing buffer in which data received from the device is stored is stored in a predetermined area of a coherency buffer including a plurality of areas in accordance with the order in which the plurality of reception control units receive data;
A bus arbitration method comprising: reading data from the queuing buffer in the order in which the data is received based on information stored in the coherency buffer and transmitting the data to the bus.
JP2010242927A 2010-10-29 2010-10-29 Bus arbitration circuit and bus arbitration method Expired - Fee Related JP5652866B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010242927A JP5652866B2 (en) 2010-10-29 2010-10-29 Bus arbitration circuit and bus arbitration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010242927A JP5652866B2 (en) 2010-10-29 2010-10-29 Bus arbitration circuit and bus arbitration method

Publications (2)

Publication Number Publication Date
JP2012094081A JP2012094081A (en) 2012-05-17
JP5652866B2 true JP5652866B2 (en) 2015-01-14

Family

ID=46387307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010242927A Expired - Fee Related JP5652866B2 (en) 2010-10-29 2010-10-29 Bus arbitration circuit and bus arbitration method

Country Status (1)

Country Link
JP (1) JP5652866B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116094867B (en) * 2023-04-10 2023-06-16 湖南鲸瓴智联信息技术有限公司 Time-sensitive network control protocol design method based on MLVDS bus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63260235A (en) * 1987-04-17 1988-10-27 Hitachi Ltd Transmission control system
JPH0468733A (en) * 1990-07-04 1992-03-04 Fujitsu Ltd Cell multiplex system
JP2000244585A (en) * 1999-02-22 2000-09-08 Mitsubishi Electric Corp Bus interface circuit
JP2001022711A (en) * 1999-07-08 2001-01-26 Hitachi Ltd Method for controlling crossbar switch and parallel computer system
JP2001067308A (en) * 1999-08-27 2001-03-16 Nec Software Shikoku Ltd Bus arbitration circuit

Also Published As

Publication number Publication date
JP2012094081A (en) 2012-05-17

Similar Documents

Publication Publication Date Title
US8719476B2 (en) Communication system, master device and slave device, and communication method, configured to handle plural concurrent requests
US8635386B2 (en) Communication control device, data communication method and program
US20060236001A1 (en) Direct memory access controller
GB2365596A (en) Transfer acknowledgement in a bus system
KR101630599B1 (en) Serial peripheral interface with control logic for system performance improvement, and method therefor
JP2008541276A (en) Simultaneous read response confirmation extended direct memory access unit
JP2006270469A (en) Communication data controller
JP5652866B2 (en) Bus arbitration circuit and bus arbitration method
US20080147906A1 (en) DMA Transferring System, DMA Controller, and DMA Transferring Method
JP4104939B2 (en) Multiprocessor system
JP2006313479A (en) Semiconductor integrated circuit device and data transfer method
JPH10334037A (en) Communication dma device
US7861026B2 (en) Signal relay device and method for accessing an external memory via the signal relay device
KR101260313B1 (en) Electric apparatus and data sending/receiving method thereof and slave apparatus and communication method between the plural number of apparatuses
US20050027906A1 (en) System and method for adaptive buffer allocation in a memory device interface
US20090063725A1 (en) Direct memory access system
JP2004206487A (en) Fifo memory circuit
JP2007214981A (en) Data transfer circuit, multi-processor system using the same and data transfer method
US20080104286A1 (en) Data transfer apparatus and data transfer method
KR101345437B1 (en) Interfacing apparatus and method for communication between chips
JP4472402B2 (en) Bus equipment
JP4514411B2 (en) Inter-bus communication interface device
JP6631370B2 (en) Microcomputer and electronic control unit
JP4567373B2 (en) Data transfer device and communication data processing system
JP2006115315A (en) Data transferring method and data transferring device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

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: 20141021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141113

R150 Certificate of patent or registration of utility model

Ref document number: 5652866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees