JP2006091982A - On-chip bus system - Google Patents
On-chip bus system Download PDFInfo
- Publication number
- JP2006091982A JP2006091982A JP2004273407A JP2004273407A JP2006091982A JP 2006091982 A JP2006091982 A JP 2006091982A JP 2004273407 A JP2004273407 A JP 2004273407A JP 2004273407 A JP2004273407 A JP 2004273407A JP 2006091982 A JP2006091982 A JP 2006091982A
- Authority
- JP
- Japan
- Prior art keywords
- fifo
- read data
- read
- storage means
- bus system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
本発明は、ポイント・ツー・ポイント通信を行うマスタデバイスとスレーブデバイスとを各々少なくとも2つ以上クロスバースイッチを介して相互接続して成るオンチップバスシステムに関する。 The present invention relates to an on-chip bus system in which at least two or more master devices and slave devices that perform point-to-point communication are interconnected via a crossbar switch.
近年、システムLSI(large scale intergrated circuit)で使用するオンチップバスシステムにおいて、AXI(Advanced eXtensible Interface)やOCP(Open Core Protocol)等のマスタデバイスとスレーブデバイスとがポイント・ツー・ポイントでデータ通信を行うバスプロトコルが主流と成りつつある。これは、従来の複数のデバイスを1本のデータバスで共有するバスプロトコルと比べて、バスを特定のマスタデバイスとスレーブデバイスとが占有するため、複数のデバイス相互間での調停機能が不要となり、高速なデータ通信が可能である。 In recent years, master devices and slave devices such as AXI (Advanced eXtensible Interface) and OCP (Open Core Protocol) perform point-to-point data communication in an on-chip bus system used in a system LSI (large scale integrated circuit). The bus protocol to be performed is becoming mainstream. Compared to a conventional bus protocol in which a plurality of devices are shared by a single data bus, a specific master device and slave device occupy the bus, eliminating the need for an arbitration function between a plurality of devices. High-speed data communication is possible.
一般に、このマスタデバイスとスレーブデバイスの通信経路をチャネルと呼ぶ。 In general, the communication path between the master device and the slave device is called a channel.
通常、これらのチャネルでデータ通信を行うデバイスを持つオンチップバスシステムでは、複数のマスタデバイスとスレーブデバイスとをクロスバースイッチを介して相互接続して、互いにポイント・ツー・ポイントで接続されたもの同士間で並列に高速なデータ通信を行う(例えば、特許文献1参照)。 Usually, in an on-chip bus system having devices that perform data communication on these channels, a plurality of master devices and slave devices are interconnected via a crossbar switch and connected to each other in a point-to-point manner. High-speed data communication is performed in parallel between each other (for example, see Patent Document 1).
特に、メモリコントローラのような特定のスレーブデバイスは、複数のマスタデバイスからアクセスが集中することが多く、これを連続して高速に処理するように設計されている。また、各チャネルは、スレーブデバイス毎にデータ転送の緩衝用のFIFOを有する。 In particular, a specific slave device such as a memory controller often concentrates access from a plurality of master devices, and is designed to process this continuously at high speed. Each channel has a FIFO for buffering data transfer for each slave device.
これは、一旦、スレーブデバイスがリードデータの転送を開始した後に、マスタデバイスが、そのリードデータを全て受け取れない事態が発生した場合に、できるだけスレーブデバイスの処理を停止することなく、データ転送を継続させるために必要である。 This is because once the slave device starts transferring read data, if the master device cannot receive all of the read data, it continues data transfer without stopping the processing of the slave device as much as possible. It is necessary to make it.
更に、近年では、リード要求とリードデータの返信とを分離して、非連続に転送を行うリードスプリット転送が主流である。この場合のバスプロトコルでは、チャネルは、リード要求用のアドレスチャネルとリードデータ返信用のリードチャネルとに分けられる。アドレスチャネルとリードチャネルは、基本的に独立しており、マスタデバイスは、対応するリードデータの返信を待つことなく、一度に複数の要求をスレーブデバイスに発行することが可能である。 Furthermore, in recent years, read split transfer, in which read requests and read data replies are separated and transferred non-sequentially, has become the mainstream. In the bus protocol in this case, the channel is divided into a read request address channel and a read data return read channel. The address channel and the read channel are basically independent, and the master device can issue a plurality of requests to the slave device at a time without waiting for the return of corresponding read data.
一方、スレーブデバイスは、事前に発行された複数のリード要求を連続して処理することが可能であり、リードデータを返信した後に、再度次の要求が間欠的に発行される従来のバスプロトコルと比べて、バスの利用効率を飛躍的に向上させることが可能である。 On the other hand, the slave device is capable of continuously processing a plurality of read requests issued in advance, and a conventional bus protocol in which the next request is intermittently issued again after returning read data. In comparison, it is possible to dramatically improve the bus utilization efficiency.
図9は、従来のオンチップバスシステムの構成を示すブロック図であり、ここでは、説明を容易にするために、マスタデバイスとスレーブデバイスとが各々2個の場合で、リードチャネルのみを図示している。 FIG. 9 is a block diagram showing the configuration of a conventional on-chip bus system. Here, for ease of explanation, only two read devices are shown in the case where there are two master devices and two slave devices. ing.
図9において、オンチップバスシステム10は、ポイント・ツー・ポイントでデータ通信を行うマスタデバイス11A,11B、スレーブデバイス12A,12B、これらを相互接続するクロスバースイッチ13から構成される。クロスバースイッチ13は、スレーブデバイス12A,12Bからのリードデータを一時的に蓄積するFIFO131A,131B、FIFO131A,131Bへのリードデータの書き込みを制御する書き込み制御回路132A,132B、FIFO131A,131Bからのリードデータの読み出しを制御する読み出し制御回路133A,133B、各マスタデバイス11A,11Bとスレーブデバイス12A,12Bを接続するスイッチ134A,134Bから成る。
In FIG. 9, the on-
図10は、従来のオンチップバスシステム10におけるFIFO131A,131Bの読み出しと書き込みの制御を行う制御回路の構成を示すブロック図であり、同図において、図9と同一部分には、同一符号が付してある。
FIG. 10 is a block diagram showing the configuration of a control circuit for controlling the reading and writing of the
図10において、1001はスレーブデバイス12A(12B)とFIFO131A(131B)との間に介装されたAND回路、1002はスレーブデバイス12A(12B)とFIFO131A(131B)との間に介装されたNOT回路、1003はFIFO131A(131B)とマスタデバイス11A(11B)との間に介装されたAND回路、1004はFIFO131A(131B)とマスタデバイス11A(11B)との間に介装されたNOT回路である。
In FIG. 10, 1001 is an AND circuit interposed between the
図10において、valid信号とready信号は、共にデータを転送するための制御信号である。送信側でデータ転送が可能であれば、valid信号をアサートし、受信側でデータ受信が可能であれば、ready信号をアサートする。即ち、valid信号とready信号が共にアサートされた時、リードデータバス上のデータが送信側から受信側に転送される。また、full信号とempty信号は、FIFO131A,131Bの状態を示す信号である。FIFO131A,131Bがフルの状態でfull信号がアサートされ、FIFO131A,131Bが空の状態でempty信号がアサートされる。we信号とoe信号は、それぞれFIFO131A,131Bへの書き込み許可と出力許可とを示す信号である。we信号がアサートされた時、FIFO131A,131Bへの書き込みが実行され、oe信号がアサートされた時、FIFO131A,131Bからの読み出しが実行される。
In FIG. 10, a valid signal and a ready signal are both control signals for transferring data. If data transmission is possible on the transmission side, the valid signal is asserted. If data reception is possible on the reception side, the ready signal is asserted. That is, when both the valid signal and the ready signal are asserted, the data on the read data bus is transferred from the transmission side to the reception side. The full signal and the empty signal are signals indicating the states of the
以下、マスタデバイス11Aがスレーブデバイス12Aにリード要求を発行した場合について説明する。
Hereinafter, a case where the
スレーブデバイス12Aは、マスタデバイス11Aからのリード要求に応じてリードデータを準備し、valid信号をアサートして、リードデータの転送が可能であることをクロスバースイッチ13に通知する。この際、FIFO131Aのfull信号がアサートされておらず、リードデータの書き込みが可能であれば、書き込み制御回路132Aは、スレーブデバイス12Aに対してready信号をアサートしてリードデータを受け取り、順次FIFO131Aに書き込む。
The
一方、読み出し制御回路133Aは、FIFO131Aのempty信号がアサートされておらず、リードデータを読み出し可能であれば、スイッチ134Aを経由してマスタデバイス11Aにvalid信号をアサートして、リードデータの転送が可能であることを通知する。マスタデバイス11Aは、リードデータの受信が可能であれば、ready信号をアサートして、リードデータを順次受け取る。ここでスイッチ134Aは、読み出し制御回路133A,133Bからのデータ転送要求を調停して適切な経路を選択する。
On the other hand, if the empty signal of the
以上により、スレーブデバイス12Aからのリードデータは、FIFO131Aを経由してマスタデバイス11Aへ転送される。
As described above, the read data from the
次に、マスタデバイス11Aの処理がビジーとなった場合を考える。
Next, consider a case where the processing of the
この場合、マスタデバイス11Aは、クロスバースイッチ13からのリードデータを受け取ることができないため、読み出し制御回路133Aは、FIFO131Aからリードデータの読み出しを停止する。即ち、マスタデバイス11Aからのready信号がアサートされず、FIFO131Aのoe信号がアサートされない状態である。
In this case, since the
一方、スレーブデバイス12Aは、マスタデバイス11Aの状態に拘らず順次リードデータを転送するため、書き込み制御回路132Aは、FIFOへの書き込みを継続する。この状態が継続されると、FIFO131Aがフル状態となり、full信号がアサートされて、スレーブデバイス12Aに対してready信号がアサートされず、スレーブデバイス12Aは、リードデータの転送を停止する。
On the other hand, since the
以上により、マスタデバイス11Aとスレーブデバイス12Aは、互いの処理能力に応じてリードデータの転送を行う。
以上のように、従来技術では、マスタデバイスの処理がビジーで即座にメモリコントローラからのリードデータを受け取ることができない場合、チャネル全体がビジーとなり、スレーブデバイスは、緩衝用のFIFOがフル状態となった時点で、一時的にリード処理を停止する必要があった。 As described above, in the prior art, when the master device processing is busy and the read data from the memory controller cannot be received immediately, the entire channel is busy, and the slave device has the buffer FIFO full. At that time, it was necessary to temporarily stop the read processing.
また、メモリコントローラのような特定のスレーブデバイスは、一旦バースト転送を開始すると、中断した場合のペナルティが大きく、このため、システム全体のスループットが低下するといった問題があった。また、これは、FIFOのサイズを増大させることにより回避可能であるが、FIFOのサイズを増大させた場合、システム全体のゲート規模を増大させると言った別の問題が生じた。 In addition, a specific slave device such as a memory controller has a problem that once burst transfer is started, the penalty when interrupted is large, resulting in a decrease in throughput of the entire system. Further, this can be avoided by increasing the size of the FIFO. However, when the size of the FIFO is increased, another problem arises that the gate scale of the entire system is increased.
本発明は、上述したような従来技術の有する問題点を解消するためになされたもので、その目的は、スレーブデバイスの処理停止時間を削減し、少ないFIFO構成でスループットの低下を防ぐことを可能とするオンチップバスシステムを提供することである。 The present invention has been made to solve the above-described problems of the prior art, and its purpose is to reduce the processing stop time of the slave device and to prevent the throughput from being lowered with a small FIFO configuration. Is to provide an on-chip bus system.
上記目的を達成するために、本発明のオンチップバスシステムは、ポイント・ツー・ポイント通信を行うマスタデバイスとスレーブデバイスとを各々少なくとも2つ以上クロスバースイッチを介して相互接続して成るオンチップバスシステムにおいて、第1のスレーブデバイスから出力されるリードデータを保持する第1の蓄積手段と、第2のスレーブデバイスから出力されるリードデータを保持する第2の蓄積手段と、前記第1の蓄積手段がフル状態となったとき前記第2の蓄積手段の空き状況を確認してフル状態でなければ該第2の蓄積手段にリードデータを書き込み前記第1の蓄積手段を迂回するように制御する制御手段とを有することを特徴とする。 In order to achieve the above object, an on-chip bus system according to the present invention comprises an on-chip bus formed by interconnecting at least two or more master devices and slave devices that perform point-to-point communication via a crossbar switch. In the bus system, first storage means for holding read data output from a first slave device, second storage means for holding read data output from a second slave device, and the first storage device When the storage means becomes full, the availability of the second storage means is confirmed. If the storage means is not full, read data is written to the second storage means and control is performed to bypass the first storage means. And a control means.
本発明によれば、特定のスレーブデバイスへのリードアクセスが集中してチャネルがビジーとなった際に、一時的に別のチャネルのFIFOを使用して、本来のチャネルを迂回させることで、スレーブデバイスの処理停止時間を削減し、少ないFIFO構成でスループットの低下を防ぐことが可能である。 According to the present invention, when a channel becomes busy due to concentration of read access to a specific slave device, the slave of the original channel is temporarily bypassed by using the FIFO of another channel. It is possible to reduce the processing stop time of the device and prevent a decrease in throughput with a small FIFO configuration.
以下、本発明の実施の形態を、図1〜図8に基づき説明する。 Hereinafter, embodiments of the present invention will be described with reference to FIGS.
(第1の実施の形態)
まず、第1の実施の形態を、図1〜図3に基づき説明する。
(First embodiment)
First, a first embodiment will be described with reference to FIGS.
図1は、第1の実施の形態に係るオンチップバスシステムの構成を示すブロック図であり、同図において、図9と同一部分には、同一符号が付してある。 FIG. 1 is a block diagram showing the configuration of the on-chip bus system according to the first embodiment. In FIG. 1, the same parts as those in FIG. 9 are denoted by the same reference numerals.
なお、図1では、説明を容易にするために、マスタデバイスとスレーブデバイスとが各々2個の場合で、リードチャネルのみを図示している。 In FIG. 1, only the read channel is illustrated in the case where there are two master devices and two slave devices for ease of explanation.
図1において、オンチップバスシステム10は、ポイント・ツー・ポイントでデータ通信を行うマスタデバイス11A,11B、スレーブデバイス12A,12B、これらを相互に接続するクロスバースイッチ14から構成される。クロスバースイッチ14は、スレーブデバイス12A,12Bからのリードデータを一時的に蓄積するFIFO141A,141B、FIFO141A,141Bへのリードデータの書き込みを制御する書き込み制御回路142A,142B、FIFO141A,141Bからのリードデータの読み出しを制御する読み出し制御回路143A,143B、各マスタデバイス11A,11Bとスレーブデバイス12A,12Bを接続するスイッチ144A,144B、書き込み制御回路142A,142BからのFIFO141A,141Bへの書き込みを選択するセレクタ145Bから成る。
In FIG. 1, an on-
図2及び図3は、本実施の形態に係るオンチップバスシステム10におけるFIFO141A,141Bの読み出しと書き込みの制御を行う制御回路の構成を示すブロック図であり、これら両図において、図1と同一部分には、同一符号が付してある。
2 and 3 are block diagrams showing the configuration of a control circuit that controls the reading and writing of the
図2において、201はFIFO141Aとスイッチ144Aとの間に介装されたAND回路、202はFIFO141Aとスイッチ144Aとの間に介装されたNOT回路、203はFIFO141Bとスイッチ144Aとの間に介装されたAND回路、204はFIFO141Bとスイッチ144Aとの間に介装されたNOT回路である。
In FIG. 2, 201 is an AND circuit interposed between the
図2において、FIFO141A,141Bの読み出しと書き込みは、それぞれFIFO141A,141Bの状態に応じたvalid信号とready信号の2線ハンドシェークによりデータ転送を行う。また、書き込み制御回路142Aは、他の書き込み制御回路142BからのFIFO141Bの使用状況を示すチャネル状態信号をモニタしており、FIFO141Aがフル状態で、スレーブデバイス12Aからのデータ転送要求がある場合、FIFO141Bへのリードデータの書き込みが可能であれば、書き込み制御回路142Bに対して書き込み要求信号を出力する。
In FIG. 2, reading and writing of the
一方、書き込み制御回路142Bは、セレクタ145Bに対してスレーブデバイス12A,12Bからのリードデータを選択する選択信号を出力しており、書き込み制御回路142Aからの書き込み要求信号がアサートされた場合のみ、スレーブデバイス12Aからのリードデータを選択してFIFO141Bに書き込む。それ以外は、スレーブデバイス12Bからのリードデータを選択している。この時のより詳細な制御回路の構成を図3に示す。
On the other hand, the
図3において、図2と同一部分には、同一符号が付してある。 3, the same parts as those in FIG. 2 are denoted by the same reference numerals.
図3において、スレーブデバイス12AとFIFO141Aとの間に位置する一方の書き込み制御回路142Aは、3つのAND回路301,302,303と1つのOR回路304とから成る。また、スレーブデバイス12BとFIFO141Bとの間に位置する他方の書き込み制御回路142Bは、2つのAND回路305,306と1つのOR回路307とから成る。
In FIG. 3, one
図3において、チャネル状態信号は、FIFO141Bのfull信号がアサートされておらず、更に、スレーブデバイス12Bがvalid信号をアサートしていないときにアサートされる。FIFO141Aのfull信号がアサートされており、スレーブデバイス12Aがvalid信号をアサートしている場合、チャネル状態信号がアサートされていれば、書き込み要求信号はアサートされる。この時、FIFO141Aへのready信号とセレクタ145Bへの選択信号も同時にアサートされる。
In FIG. 3, the channel status signal is asserted when the
以下、マスタデバイス11Aがスレーブデバイス12Aにリード要求を発行した場合について説明する。
Hereinafter, a case where the
スレーブデバイス12Aは、マスタデバイス11Aからのリード要求に応じてリードデータを準備し、valid信号をアサートして、リードデータの転送が可能であることをクロスバースイッチ14に通知する。この際、FIFO141Aのfull信号がアサートされておらず、リードデータの書き込みが可能であれば、書き込み制御回路142Aは、スレーブデバイス12Aに対してready信号をアサートしてリードデータを受け取り、順次FIFO141Aに書き込む。
The
一方、読み出し制御回路143Aは、FIFO141Aのempty信号がアサートされておらず、リードデータを読み出し可能であれば、スイッチ144Aを経由してマスタデバイス11Aにvalid信号をアサートして、リードデータの転送が可能であることを通知する。マスタデバイス11Aは、リードデータの受信が可能であれば、ready信号をアサートしてリードデータを順次受け取る。ここでスイッチ144Aは、読み出し制御回路143A,143Bからのデータ転送要求を調停して、適切な経路を選択する。
On the other hand, if the empty signal of the
以上により、スレーブデバイス12Aからのリードデータは、FIFO141Aを経由してマスタデバイス11Aへ転送される。
As described above, the read data from the
次に、マスタデバイス11Aの処理がビジーとなった場合を考える。
Next, consider a case where the processing of the
この場合、マスタデバイス11Aは、クロスバースイッチ14からのリードデータを受け取ることができないため、読み出し制御回路143Aは、FIFO141Aからリードデータの読み出しを停止する。即ち、マスタデバイス11Aからのready信号がアサートされず、FIFO141Aのoe信号がアサートされない状態である。
In this case, since the
一方、スレーブデバイス12Aは、マスタデバイス11Aの状態に拘らず順次リードデータを転送するため、書き込み制御回路142Aは、FIFO141Aへの書き込みを継続する。この状態が継続されると、FIFO141Aがフル状態となり、full信号がアサートされる。この状態で書き込み制御回路142Aは、スレーブデバイス12Bに対するリードチャネルの状態をチャネル状態信号により確認して、FIFO141Bがフル状態でなく、スレーブデバイス12Bが使用していなければ、書き込み制御回路142Bに対して書き込み要求を出す。この際、スレーブデバイス12Aに対するready信号とセレクタ145Bに対する選択信号がアサートされて、スレーブデバイス12AからのリードデータがFIFO141Bに書き込まれる。FIFO141Bに書き込まれたリードデータは、マスタデバイス11Aの処理が回復した後、スイッチ144Aを経由して、マスタデバイス11Aに転送される。
On the other hand, since the
以上、説明したように、本実施の形態によれば、マスタデバイスの処理がビジーとなった場合、スレーブデバイスは、FIFOがフル状態になるまでリードデータの転送を継続して、更に、フル状態になった後にも、別のリードチャネルのFIFOを使用することが可能となる。このため、同一のFIFO構成でも、一時的にFIFOのサイズを増大させたのと同等の効果が得られ、スレーブデバイスは、処理を停止することなくリードデータの転送を継続することが可能となり、システム全体のスループットを向上させることが可能である。 As described above, according to the present embodiment, when the processing of the master device becomes busy, the slave device continues to transfer the read data until the FIFO becomes full, and further, Even after this, it becomes possible to use the FIFO of another read channel. For this reason, even with the same FIFO configuration, an effect equivalent to temporarily increasing the size of the FIFO can be obtained, and the slave device can continue to transfer the read data without stopping the processing. It is possible to improve the throughput of the entire system.
即ち、メモリコントローラのような一旦バースト転送を開始すると中断した場合のペナルティが大きい特定のスレーブデバイスに対して通信チャネルがビジーとなった際に、別のチャネルの使用状況を確認して、ビジーでなければ、そのまま処理を停止することなく、その別のチャネルにリードデータを転送することが可能である。 In other words, when a communication channel is busy for a specific slave device that has a large penalty when interrupted once burst transfer is started, such as a memory controller, check the usage status of another channel and Otherwise, the read data can be transferred to the other channel without stopping the process.
また、本来のチャネルを迂回した時に、インオーダ処理用の情報を付加して、互いにチャネル間のデータ通信を確認することで、正しい順番でマスタデバイスへリードデータを返信することが可能である。 Also, when the original channel is detoured, information for in-order processing is added and the data communication between the channels is mutually confirmed, so that the read data can be returned to the master device in the correct order.
(第2の実施の形態)
次に、第2の実施の形態を図4〜図8に基づき説明する。
(Second Embodiment)
Next, a second embodiment will be described with reference to FIGS.
図4は、第2の実施の形態に係るオンチップバスシステムの構成を示すブロック図であり、同図において、図1と同一部分には、同一符号が付してある。 FIG. 4 is a block diagram showing the configuration of the on-chip bus system according to the second embodiment. In FIG. 4, the same parts as those in FIG.
図4においては、説明を容易にするために、マスタデバイスとスレーブデバイスとが各々2個の場合で、リードチャネルのみを図示している。 In FIG. 4, only the read channel is illustrated in the case where there are two master devices and two slave devices for ease of explanation.
図4において、オンチップバスシステム10は、ポイント・ツー・ポイントでデータ通信を行うマスタデバイス11A,11B、スレーブデバイス12A,12B、これらを相互に接続するクロスバースイッチ15から構成される。
In FIG. 4, the on-
クロスバースイッチ15は、スレーブデバイス12A,12Bからのリードデータを一時的に蓄積するFIFO151A,151B、FIFO151A,151Bへのリードデータの書き込みを制御する書き込み制御回路152A,152B、FIFO151A,151Bからのリードデータの読み出しを制御する読み出し制御回路153A,153B、各マスタデバイス11A,11Bとスレーブデバイス12A,12Bとを接続するスイッチ154A,154B、書き込み制御回路152A,152BからのFIFO151A,151Bへの書き込みを選択するセレクタ155B、リードデータのオーダを調停する調停回路156から成る。
The
図5は、本実施の形態に係るオンチップバスシステム10におけるリードデータの応答フィールドの一様態を示す図である。
FIG. 5 is a diagram showing a state of the read data response field in the on-
通常、リードデータの応答フィールドは、リードデータ501とマスタID502とThreadID503とから成る。マスタID502は、そのトランザクションを発行したマスタの番号であり、リードデータ501は、マスタID502の示すマスタデバイスに返信される。ThreadID503は、そのトランザクションのスレッド番号を示し、異なるThreadIDは、別のスレッドとしてマスタデバイス11A,11Bへの返信の順番を変更しても良い(アウトオブオーダ転送)が、同一のThreadIDに対しては、返信の順番を変更することは禁止されている(インオーダ転送)。
Usually, the read data response field is composed of read
本実施の形態では、図5に示すように、TXID504を付加する。TXID504は、本実施の形態におけるクロスバースイッチ15内のトランザクションの転送番号を示す。
In this embodiment,
以下、本実施の形態に係るオンチップバスシステム10の動作について説明する。
Hereinafter, the operation of the on-
まず、スレーブデバイス12A,12Bからマスタデバイス11A,11Bへの基本的なリードデータの転送に関しては、上述した第1の実施の形態と同じであるから、その説明は省略する。但し、リードデータをFIFO151A,151Bに書き込む際に、書き込み制御回路152A,152Bは、それぞれTXIDを付加する。
First, the basic read data transfer from the
図6にその様子を示す。 This is shown in FIG.
TXIDは、上述した通り、本実施の形態に係るオンチップバスシステム10におけるクロスバースイッチ15内のトランザクションの転送番号を示し、番号0は、特別でスレーブデバイス12Bからのリードデータであることを示す。そのため、書き込み制御回路152Bは、常にTXIDに番号0を書き込む。次に、書き込み制御回路152Aは、マスタIDとThreadID毎に、そのトランザクションの番号を付加する。図6においては、FIFO151A内には、マスタデバイス11A(M0)に対するスレッド0のトランザクションが3個存在することを示している。
As described above, TXID indicates the transfer number of the transaction in the
次に、マスタデバイス11Aの処理がビジーとなった場合を考える。
Next, consider a case where the processing of the
この場合、FIFO151Aがフル状態となり、full信号がアサートされた状態となるまでは、上述した第1の実施の形態と同じである。
In this case, the process is the same as that in the first embodiment described above until the
この状態で書き込み制御回路152Aは、スレーブデバイス12Bに対するリードチャネルの状態を確認して、FIFO151Bがフル状態ではなく、スレーブデバイス12Bを使用していなければ、書き込み制御回路152Bに対して書き込み要求を出す。書き込み制御回路152Bは、スレーブデバイス12Aからリードデータを受け取り、次のTXIDと共にFIFO151Bに書き込む。
In this state, the
図7は、FIFO151Aがマスタデバイス11A(M0)に対するスレッド0の4番目のトランザクションを書き込んだ時点でフル状態となり、次の同一スレッドのトランザクションをFIFO151Bに書き込んだ状態を示している。
FIG. 7 shows a state in which the
また、図8は、FIFO151Aがマスタデバイス11A(M0)に対するスレッド0の4番目のトランザクションを書き込んだ時点でフル状態となり、次の異なるスレッドのトランザクションをFIFO151Bに書き込んだ状態を示している。
FIG. 8 shows a state in which the
FIFO151Bに書き込まれたリードデータは、マスタデバイス11Aの処理が回復した後、スイッチ154Aを経由してマスタデバイス11Aに転送される。この際、調停回路156は、読み出し制御回路153A,153BからのThreadIDとTXIDの値を監視しており、この値が正しい順番でマスタデバイス11A,11Bへ返信されるように調停を行う。
The read data written to the
即ち、図7においては、FIFO151Bの最初のマスタデバイス11B(M1)に対する2個のトランザクション転送が完了して、次に、マスタデバイス11A(M0)に対するトランザクションが転送可能となっても、FIFO151Aのマスタデバイス11A(M0)に対する4番目のトランザクションが完了するまで転送されない。
That is, in FIG. 7, even if the two transactions transfer to the
一方、図8においては、FIFO151Bの最初のマスタデバイス11B(M1)に対する2個のトランザクション転送が完了して、次に、マスタデバイス11A(M0)に対するトランザクションが転送可能となった時点で、アウトオブオーダ転送が可能であるため、即座に転送することが可能である。
On the other hand, in FIG. 8, when the two transactions transfer to the
以上、説明したように、本実施の形態によれば、マスタデバイスの処理がビジーとなった場合、スレーブデバイスは、FIFOがフル状態になるまでリードデータの転送を継続して、フル状態になった後にも、別のリードチャネルのFIFOを使用することが可能となる。更に、インオーダ処理用の情報を付加して、互いにチャネル間のデータ通信を確認することで、正しい順番でマスタデバイスへリードデータを返信することが可能である。 As described above, according to the present embodiment, when the processing of the master device becomes busy, the slave device continues to transfer read data until the FIFO becomes full and becomes full. After that, it becomes possible to use the FIFO of another read channel. Furthermore, by adding information for in-order processing and mutually confirming data communication between channels, it is possible to return read data to the master device in the correct order.
(その他の実施の形態)
以上が本発明の実施の形態の説明であるが、本発明は、これら実施の形態に限られるものではなく、特許請求の範囲で示した機能、または実施の形態の構成が持つ機能を達成できる構成であれば、どのようなものであっても適用可能である。
(Other embodiments)
The above is the description of the embodiments of the present invention. However, the present invention is not limited to these embodiments, and the functions shown in the claims or the functions of the embodiments can be achieved. Any configuration is applicable.
10 オンチップバスシステム
11A マスタデバイスA
11B マスタデバイスB
12A スレーブデバイスA
12B スレーブデバイスB
13 クロスバースイッチ
131A FIFO
131B FIFO
132A 書き込み制御回路
132B 書き込み制御回路
133A 読み出し制御回路
133B 読み出し制御回路
134A スイッチ
134B スイッチ
14 クロスバースイッチ
141A FIFO
141B FIFO
142A 書き込み制御回路
142B 書き込み制御回路
143A 読み出し制御回路
143B 読み出し制御回路
144A スイッチ
144B スイッチ
145B セレクタ
15 クロスバースイッチ
151A FIFO
151B FIFO
152A 書き込み制御回路
152B 書き込み制御回路
153A 読み出し制御回路
153B 読み出し制御回路
154A スイッチA
154B スイッチB
155B セレクタ
156 調停回路
10 On-
11B Master device B
12A Slave device A
12B Slave device B
13
131B FIFO
132A
141B FIFO
142A
151B FIFO
152A
154B Switch B
Claims (2)
第1のスレーブデバイスから出力されるリードデータを保持する第1の蓄積手段と、
第2のスレーブデバイスから出力されるリードデータを保持する第2の蓄積手段と、
前記第1の蓄積手段がフル状態となったとき前記第2の蓄積手段の空き状況を確認してフル状態でなければ該第2の蓄積手段にリードデータを書き込み前記第1の蓄積手段を迂回するように制御する制御手段と
を有することを特徴とするオンチップバスシステム。 In an on-chip bus system in which at least two or more master devices and slave devices that perform point-to-point communication are interconnected via a crossbar switch,
First storage means for holding read data output from the first slave device;
Second storage means for holding read data output from the second slave device;
When the first storage means becomes full, the availability of the second storage means is confirmed, and if it is not full, read data is written to the second storage means and bypasses the first storage means. And an on-chip bus system characterized by comprising:
前記第2の蓄積手段からリードデータを前記マスタデバイスへ転送する際に前記順序制御用情報を確認してインオーダで転送する必要がある場合には前記第1の蓄積手段に存在する特定のリードデータが転送されるまで待ち且つアウトオブオーダで転送して良い場合には即座に転送するように制御する第2の制御手段と
を有することを特徴とする請求項1に記載のオンチップバスシステム。 Information adding means for adding sequence control information when writing read data to the first storage means and the second storage means;
When it is necessary to confirm the order control information when transferring read data from the second storage means to the master device and transfer in-order, specific read data existing in the first storage means 2. The on-chip bus system according to claim 1, further comprising: a second control unit configured to wait until the data is transferred and to transfer the data immediately when the data can be transferred out of order.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004273407A JP2006091982A (en) | 2004-09-21 | 2004-09-21 | On-chip bus system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004273407A JP2006091982A (en) | 2004-09-21 | 2004-09-21 | On-chip bus system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006091982A true JP2006091982A (en) | 2006-04-06 |
Family
ID=36232933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004273407A Pending JP2006091982A (en) | 2004-09-21 | 2004-09-21 | On-chip bus system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006091982A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012003676A (en) * | 2010-06-21 | 2012-01-05 | Hitachi Ltd | Semiconductor integrated circuit and control method for data transfer in semiconductor integrated circuit |
JP2012113452A (en) * | 2010-11-24 | 2012-06-14 | Nec Access Technica Ltd | Asynchronous fifo order control circuit, data processing apparatus and asynchronous fifo order control method used therefor |
-
2004
- 2004-09-21 JP JP2004273407A patent/JP2006091982A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012003676A (en) * | 2010-06-21 | 2012-01-05 | Hitachi Ltd | Semiconductor integrated circuit and control method for data transfer in semiconductor integrated circuit |
JP2012113452A (en) * | 2010-11-24 | 2012-06-14 | Nec Access Technica Ltd | Asynchronous fifo order control circuit, data processing apparatus and asynchronous fifo order control method used therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6704817B1 (en) | Computer architecture and system for efficient management of bi-directional bus | |
CN100472494C (en) | System and method for implementing memory mediation of supporting multi-bus multi-type memory device | |
EP1239374B1 (en) | Shared program memory for use in multicore DSP devices | |
US20060206645A1 (en) | Performing arbitration in a data processing apparatus | |
US6078976A (en) | Bridge device that prevents decrease in the data transfer efficiency of buses | |
US20070136503A1 (en) | Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features | |
US7165133B2 (en) | Multiprocessor system having shared buses, prioritized arbitration, and clock synchronization circuitry | |
CN102622192B (en) | Weak correlation multiport parallel store controller | |
US20040024943A1 (en) | Generic bridge core | |
Bainbridge et al. | Asynchronous macrocell interconnect using MARBLE | |
KR20120040535A (en) | Bus system and operating method thereof | |
CN114265872B (en) | Interconnection device for bus | |
EP1132826A2 (en) | Bus control system for integrated circuit device with improved bus access efficiency | |
US20070156937A1 (en) | Data transfer in multiprocessor system | |
US8359419B2 (en) | System LSI having plural buses | |
JPH10143466A (en) | Bus communication system | |
JPH11167560A (en) | Data transfer system, switching circuit used to the transfer system, adapter, integrated circuit having the transfer system and data transfer method | |
JP2005293596A (en) | Arbitration of data request | |
JP2006091982A (en) | On-chip bus system | |
CN114328350A (en) | Communication method, device and medium based on AXI bus | |
KR100872196B1 (en) | Memory system and method of controlling access of dual port memory using the memory system | |
US7716392B2 (en) | Computer system having an I/O module directly connected to a main storage for DMA transfer | |
US20150227481A1 (en) | System interconnect and operating method of system interconnect | |
US6377581B1 (en) | Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks | |
EP2189909A1 (en) | Information processing unit and method for controlling the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060419 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20070626 |