JP2006164024A - On-chip bus system - Google Patents
On-chip bus system Download PDFInfo
- Publication number
- JP2006164024A JP2006164024A JP2004356753A JP2004356753A JP2006164024A JP 2006164024 A JP2006164024 A JP 2006164024A JP 2004356753 A JP2004356753 A JP 2004356753A JP 2004356753 A JP2004356753 A JP 2004356753A JP 2006164024 A JP2006164024 A JP 2006164024A
- Authority
- JP
- Japan
- Prior art keywords
- fifo
- address
- decoding result
- master device
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】 アドレスのデコード結果を記憶しておくFIFOサイズは比較的小さく、アクセスが連続してFIFOが一杯になるとスレーブデバイスやバスの状況に関係なくマスタデバイスは次のトランザクションの発行を待たされるため、システム全体のスループットが低下するといった問題を解決するオンチップバスシステムを提供すること。
【解決手段】 スプリットバスのライト用のデータチャネルにおいてマスタデバイスとスレーブデバイスを接続する際に必要となるアドレスのデコード結果をFIFOに記憶する際に、その内容をデコード結果と累積回数に分離することで同一のデコード結果が連続した場合は一つのデコード結果に対して連続した回数のみを記憶することでFIFOの使用効率を向上させる。
【選択図】 図2
PROBLEM TO BE SOLVED: To store an address decoding result in a relatively small FIFO size, and when access is continuously performed and the FIFO becomes full, a master device waits for the next transaction regardless of the status of a slave device or a bus. To provide an on-chip bus system that solves the problem of lowering the throughput of the entire system.
When storing a decoding result of an address necessary for connecting a master device and a slave device in a split bus write data channel in a FIFO, the contents are separated into a decoding result and an accumulated number of times. When the same decoding result continues, only the number of consecutive times for one decoding result is stored to improve the use efficiency of the FIFO.
[Selection] Figure 2
Description
本発明は、スプリットバス対応のオンチップバスシステムに関し、より詳細にはライトデータチャネルのマスタデバイスとスレーブデバイスを接続する際に必要となるアドレスのデコード結果を累積回数と共に逐次記憶することを特徴とするオンチップバスシステムに関する。 The present invention relates to an on-chip bus system that supports a split bus, and more specifically, is characterized by sequentially storing a decoding result of an address necessary for connecting a master device and a slave device of a write data channel together with an accumulated number of times. It relates to an on-chip bus system.
近年、システムLSIで使用するオンチップバスにおいて、アドレスバスとデータバスを分離して制御可能なスプリットバスが主流と成りつつある。これは、従来のアドレスを発行した直後にデータを送受信するバスプロトコルと比べて、一旦アドレスを発行すると任意のタイミングでデータの読み出しあるいは書き込みを行うことが可能であり、従来のようにレイテンシの遅いスレーブデバイスがバスを占有する事がなくバスのスループットの向上を図ることが可能である。また連続してアドレスを先出しすることが可能なため、スレーブデバイスは一連のアクセスを効率化良く処理することが可能である。図7にスプリットバスのアドレスチャネルとデータチャネルの転送例を示す。 In recent years, split buses that can be controlled by separating an address bus and a data bus are becoming mainstream among on-chip buses used in system LSIs. Compared with a conventional bus protocol that transmits and receives data immediately after issuing an address, once an address is issued, it is possible to read or write data at an arbitrary timing, and the latency is low as in the past. The slave device does not occupy the bus, and the bus throughput can be improved. In addition, since it is possible to continuously advance the address, the slave device can efficiently process a series of accesses. FIG. 7 shows a transfer example of the address channel and data channel of the split bus.
通常、スプリットバスはポイント・ツー・ポイントでデータ通信を行うマスタデバイスとスレーブデバイスをクロスバースイッチで接続したオンチップバスでも複数のデバイスをそれぞれ1つのアドレスバスとデータバスで共有するオンチップバスでも対応可能である(例えば、特許文献1参照)。いずれの場合も最初にアドレスチャネルにおいてマスタデバイスが出力するアドレスをデコードしてその結果に基づき対応するアドレスチャネルのマスタデバイスとスレーブデバイスを接続する。接続されたアドレスチャネルではマスタデバイスからスレーブデバイスへアドレスが転送される。次にデータチャネルにおいては、一般に書き込みの場合はマスタデバイスがライトデータを出力しても対応するスレーブデバイスが不明であるためアドレスチャネルでデコードした結果を逐次記憶しておく必要がある。すなわち、マスタデバイスがライトデータを出力した際にこの記憶したデコード結果を順次読み出してその結果に基づき対応するデータチャネルのマスタデバイスとスレーブデバイスを接続する。接続されたデータチャネルではマスタデバイスからスレーブデバイスへライトデータが転送される。読み出しの場合は、一般に各トランザクションには発行したマスタデバイスが認識可能なIDが付加されておりスレーブデバイスがこのトランザクションIDをリードデータと共に返信することで対応するマスタデバイスを認識することが出来るためデータチャネルのマスタデバイスとスレーブデバイスが接続されリードデータを受信することが可能である。 Usually, the split bus is either an on-chip bus in which a master device and a slave device that perform point-to-point data communication are connected by a crossbar switch, or an on-chip bus in which multiple devices are shared by one address bus and a data bus (For example, refer to Patent Document 1). In either case, the address output from the master device is first decoded in the address channel, and the master device and slave device of the corresponding address channel are connected based on the result. In the connected address channel, the address is transferred from the master device to the slave device. Next, in the data channel, in general, in the case of writing, even if the master device outputs write data, the corresponding slave device is unknown, so it is necessary to sequentially store the results decoded by the address channel. That is, when the master device outputs write data, the stored decoding results are sequentially read, and the master device and slave device of the corresponding data channel are connected based on the results. In the connected data channel, write data is transferred from the master device to the slave device. In the case of reading, generally an ID that can be recognized by the issued master device is added to each transaction, and the slave device can recognize the corresponding master device by returning this transaction ID together with the read data. The master device and slave device of the channel are connected and can receive read data.
図8に一般的なオンチップバスシステムの一様態を示す。ここでは、説明を容易にするためにマスタデバイスとスレーブデバイスが各々2個の場合でアドレスチャネルとライト用のデータチャネルのみを図示している。また、ここでは一例としてクロスバースイッチによるポイント・ツー・ポイントでデータ通信を行うオンチップバスを示している。オンチップバスシステム10は、マスタデバイスとして中央演算処理装置(CPU)11AとDMAコントローラ(DMAC)11B、スレーブデバイスとしてメモリコントローラ(MEMC)12AとプログラマブルIO(PIO)12B、これらを相互接続するクロスバースイッチ13から構成される。また、図9にクロスバースイッチ13内の各マスタデバイスとスレーブデバイスを接続するスイッチの一様態を示す。各スイッチは、アドレスチャネルとライトデータチャネルの対応するマスタデバイスとスレーブデバイスをそれぞれ接続するスレーブ選択回路131と133、アドレスチャネルのアドレスをデコードしてスレーブ選択回路131を制御するアドレスデコーダ132、アドレスデコーダ132のデコード結果を逐次記憶してマスタデバイスがライトデータを出力した際にその記憶した内容によりスレーブ選択回路133を制御するFIFO134から成る。
FIG. 8 shows an aspect of a general on-chip bus system. Here, for ease of explanation, only the address channel and the data channel for writing are shown in the case where there are two master devices and two slave devices. In addition, here, as an example, an on-chip bus that performs point-to-point data communication using a crossbar switch is shown. The on-
以下、CPU11AがMEMC12Aに対してデータを書き込む動作について説明する。最初にCPU11AはMEMC12Aがマッピングされている所望のアドレスを発行する。発行されたアドレスはクロスバースイッチ13に渡されて内部のアドレスデコーダ132によりデコードされる。デコードされた結果に基づきアドレスチャネル用のスレーブ選択回路131はMEMC12Aを選択してCPU11AとMEMC12Aを接続する。この時デコード結果は同時にFIFO134に記憶される。仮にFIFO134がフル状態であればアドレスチャネルはMEMC12Aと接続されないで発行されたアドレスはクロスバースイッチ13との間でFIFO134に空きが出来るまで待たされる。接続後、クロスバースイッチ13はCPU11Aが発行したアドレスをMEMC12Aに速やかに転送する。次にCPU11Aがライトデータを発行する。クロスバースイッチ13はFIFO134に記憶されたデコード結果を読み出し、デコード結果に基づきデータチャネル用のスレーブ選択回路133はアドレスチャネルと同様にMEMC12Aを選択してCPU11AとMEMC12Aを接続する。接続後、クロスバースイッチ13はCPU11Aが発行したライトデータを速やかにMEMC12Aに転送する。ライトデータはアドレスと同時に発行しても良いがクロスバースイッチ13との間でFIFO134にデコード結果が記憶されデータチャネルが接続されるまで待たされる。また、マスタデバイスは発行したアドレスの順番に対応するライトデータを発行するため、FIFO134に記憶された順番にデコード結果を読み出すことでアドレスとデータの対応を取ることが可能である。
Hereinafter, an operation in which the CPU 11A writes data to the MEMC 12A will be described. First, the CPU 11A issues a desired address to which the MEMC 12A is mapped. The issued address is passed to the crossbar switch 13 and decoded by the
次に、CPU11AがMEMC12Aに対して固定長のバーストデータを書き込む動作について説明する。基本動作はシングルのデータ書き込みと同様である。CPU11Aはアドレスを発行した後、例えば4ビートのライトデータを発行する。ここで一般に固定長のバースト転送の場合、マスタデバイスはアドレスの先頭アドレスのみを発行することが多くFIFO134には1回のバースト転送につき1つのデコード結果が記憶されることになる。一方、ライトデータに関しては通常バースト転送を含めた各データ転送の最後を示すラスト信号が存在しており、この信号がアサートされるまでFIFO134に記憶されたデコード結果を更新しないことでバースト転送にも対応することが可能である。すなわち、シングルライトの場合は、CPU11Aが各ライトデータの発行毎にラスト信号をアサートするためFIFO134のデコード結果は順次読み出されてそのデコード結果に基づいてデータチャネル用のスレーブ選択回路133はMEMC12Aを選択してCPU11AとMEMC12Aを接続する。バースト転送の場合は、CPU11Aがアドレスを発行してFIFO134にデコード結果を記憶するまでは同様である。次にCPU11Aが4ビートのバーストデータを発行するが4回目のデータ転送でラスト信号がアサートされるまで同一のFIFO134のデコード結果に基づいてデータチャネル用のスレーブ選択回路133はMEMC12Aを選択してCPU11AとMEMC12Aを接続する。図10にスプリットバスのバースト転送時のアドレスチャネルとデータチャネルの転送例、およびラスト信号のアサートタイミングを示す。
Next, an operation in which the CPU 11A writes fixed-length burst data to the MEMC 12A will be described. The basic operation is the same as single data writing. After issuing the address, the CPU 11A issues, for example, 4-beat write data. In general, in the case of fixed-length burst transfer, the master device often issues only the head address of the address, and the FIFO 134 stores one decode result for each burst transfer. On the other hand, with respect to write data, there is a last signal indicating the end of each data transfer including normal burst transfer. By not updating the decoding result stored in the FIFO 134 until this signal is asserted, burst data can be transferred. It is possible to respond. In other words, in the case of single write, the CPU 11A asserts the last signal every time each write data is issued, so that the decode result of the FIFO 134 is read sequentially, and the
以上により、マスタデバイスがシングル、バースト転送に関わらず連続してアドレスを発行しても順次FIFO134にアドレスのデコード結果を記憶して、マスタデバイスがライトデータを出力した際にデコード結果を取り出して対応するマスタデバイスとスレーブデバイスを接続することで任意のタイミングでデータ書き込みを行うことを可能としておりスプリットバスとしての機能を果たしている。また、DMAC11BやPIO12Bの動作も同様である。ただし、通常MEMC12AはIO領域であるPIO12Bと比べて複数のマスタデバイスからのアクセスが集中する。言い換えれば、各マスタデバイスはMEMC12Aに対して連続してアクセスする場合が多く、クロスバースイッチ13の各スイッチが持つFIFO134には同一のデコード結果が連続して記憶される。
以上のように従来技術では、アドレスのデコード結果を逐次記憶しておき、マスタデバイスがライトデータを出力した際にデコード結果を取り出して対応するマスタデバイスとスレーブデバイスを接続することで任意のタイミングでデータ書き込みが行われていた。ここでデータチャネルにおいてアドレスのデコード結果は、アドレスの先出し回数分だけ記憶しておく必要がある。また、記憶したデコード結果はマスタデバイスがライトデータを発行するまで保持しておく必要がある。しかしながら、アドレスのデコード結果を記憶しておくFIFOサイズは比較的小さく、アクセスが連続してFIFOが一杯になるとスレーブデバイスやバスの状況に関係なくマスタデバイスは次のトランザクションの発行を待たされるため、システム全体のスループットが低下するといった問題があった。 As described above, in the prior art, the address decoding results are sequentially stored, and when the master device outputs write data, the decoding results are extracted and the corresponding master device and slave device are connected at any timing. Data was being written. Here, it is necessary to store the address decoding results in the data channel for the number of times of address advance. Further, the stored decoding result must be held until the master device issues write data. However, the FIFO size for storing the address decoding result is relatively small, and when the access is continuously full, the master device waits for the next transaction regardless of the status of the slave device or the bus. There was a problem that the throughput of the entire system was lowered.
上記目的を達成するために、請求項1記載の発明に係わるシステムは、スプリットバス対応のオンチップバスにおいて、マスタデバイスが出力するアドレスをデコードするデコード手段と該デコード手段の結果に基づき対応するアドレスチャネルのマスタデバイスとスレーブデバイスを接続する接続手段を有し、ライトデータチャネルにおいては該デコード手段の結果を累積回数と共に逐次記憶する記憶手段と該記憶手段の内容に基づき対応するデータチャネルのマスタデバイスとスレーブデバイスを接続する接続手段を有することを特徴とする。 In order to achieve the above object, the system according to the first aspect of the present invention includes a decoding means for decoding an address output from a master device on an on-chip bus corresponding to a split bus and a corresponding address based on a result of the decoding means. A storage means for connecting a master device and a slave device of the channel, and in the write data channel, a storage means for sequentially storing the result of the decoding means together with the cumulative number, and a master device of the corresponding data channel based on the contents of the storage means And connecting means for connecting the slave device.
また、請求項2記載の発明に係わるシステムは、前記オンチップバスシステムにおいて、前記デコード手段の結果と同時にトランザクションIDを累積回数と共に逐次記憶する記憶手段を有することを特徴とする。 A system according to a second aspect of the present invention is characterized in that in the on-chip bus system, the system further comprises storage means for sequentially storing the transaction ID together with the cumulative number simultaneously with the result of the decoding means.
本発明は、スプリットバスのライト用のデータチャネルにおいてマスタデバイスとスレーブデバイスを接続する際に必要となるアドレスのデコード結果をFIFOに記憶する際に、その内容をデコード結果と累積回数に分離することで同一のデコード結果が連続した場合は一つのデコード結果に対して連続した回数のみを記憶することでFIFOの使用効率を向上させることが可能となる。特に、各マスタデバイスはメモリコントローラのような特定のスレーブデバイスに対して連続してアクセスする場合が多く、FIFOには同一のデコード結果が連続して記憶されるため、FIFOの仕様効率はより一層向上させることが可能である。 The present invention separates the contents into the decoding result and the cumulative number when storing the decoding result of the address necessary for connecting the master device and the slave device in the data bus for writing on the split bus in the FIFO. When the same decoding result is continuous, it is possible to improve the use efficiency of the FIFO by storing only the continuous number of times for one decoding result. In particular, each master device often accesses a specific slave device such as a memory controller continuously, and since the same decoding result is continuously stored in the FIFO, the efficiency of the specification of the FIFO is further increased. It is possible to improve.
(実施例1)
図1は本発明のオンチップバスシステムの一様態である。ここでは、説明を容易にするためにマスタデバイスとスレーブデバイスが各々2個の場合でアドレスチャネルとライト用のデータチャネルのみを図示している。また、ここでは一例としてクロスバースイッチによるポイント・ツー・ポイントでデータ通信を行うオンチップバスを示しているが従来例と同様にバス構成はこれに限らない。オンチップバスシステム10は、マスタデバイスとして中央演算処理装置(CPU)11AとDMAコントローラ(DMAC)11B、スレーブデバイスとしてメモリコントローラ(MEMC)12AとプログラマブルIO(PIO)12B、これらを相互接続するクロスバースイッチ14から構成される。また、図2にクロスバースイッチ14内の各マスタデバイスとスレーブデバイスを接続するスイッチの一様態を示す。各スイッチは、アドレスチャネルとライトデータチャネルの対応するマスタデバイスとスレーブデバイスをそれぞれ接続するスレーブ選択回路141と143、アドレスチャネルのアドレスをデコードするアドレスデコーダ142、アドレスデコーダ142のデコード結果を逐次記憶してマスタデバイスがライトデータを出力した際にその記憶した内容によりスレーブ選択回路143を制御するFIFO144から成る。更に、図3にFIFO144の一様態を示す。FIFO144は、FIFOキュー、書き込み制御回路、読み出し制御回路から成り、FIFOキューはデコード結果を記憶する領域と各デコード結果の累積回数を記憶する領域から成る。
Example 1
FIG. 1 shows an embodiment of the on-chip bus system of the present invention. Here, for ease of explanation, only the address channel and the data channel for writing are shown in the case where there are two master devices and two slave devices. Also, here, as an example, an on-chip bus that performs point-to-point data communication using a crossbar switch is shown, but the bus configuration is not limited to this as in the conventional example. The on-
以下、CPU11AがMEMC12Aに対してデータを書き込む動作について説明する。最初にCPU11AはMEMC12Aがマッピングされている所望のアドレスを発行する。発行されたアドレスはクロスバースイッチ14に渡されて内部のアドレスデコーダ142によりデコードされる。デコードされた結果に基づきアドレスチャネル用のスレーブ選択回路141はMEMC12Aを選択してCPU11AとMEMC12Aを接続する。この時デコード結果は同時にFIFO144に記憶される。仮にFIFO144がフル状態であればアドレスチャネルはMEMC12Aと接続されないで発行されたアドレスはクロスバースイッチ14との間でFIFO144に空きが出来るまで待たされる。接続後、クロスバースイッチ14はCPU11Aが発行したアドレスをMEMC12Aに速やかに転送する。次にCPU11Aがライトデータを発行する。クロスバースイッチ14はFIFO144に記憶されたデコード結果を読み出し、デコード結果に基づきデータチャネル用のスレーブ選択回路143はMEMC12Aを選択してCPU11AとMEMC12Aを接続する。接続後、クロスバースイッチ14はCPU11Aが発行したライトデータを速やかにMEMC12Aに転送する。ライトデータはアドレスと同時に発行しても良いがクロスバースイッチ14との間でFIFO144にデコード結果が記憶されデータチャネルが接続されるまで待たされる。ライトデータはアドレスと同時に発行しても良いがクロスバースイッチ13との間でFIFO134にデコード結果が記憶されデータチャネルが接続されるまで待たされる。また、マスタデバイスは発行したアドレスの順番に対応するライトデータを発行するため、FIFO144に記憶された順番にデコード結果を読み出すことでアドレスとデータの対応を取ることが可能である。
Hereinafter, an operation in which the CPU 11A writes data to the MEMC 12A will be described. First, the CPU 11A issues a desired address to which the MEMC 12A is mapped. The issued address is passed to the
次に、CPU11AがMEMC12Aに対して連続してデータを書き込む動作について説明する。基本動作は前述の書き込みと同様である。CPU11Aはライトデータを発行する前に連続してMEMC12Aがマッピングされている所望のアドレスを発行する。この場合、FIFO144に同一のデコード結果が連続して書き込まれるがFIFO144では事前に記憶しているデコード結果と比較して同じ結果であれば新規にデコード結果を書き込まずに最初のデコード結果に対して累積回数の値のみをインクリメントする。図4にFIFO144の書き込み動作と読み出し動作のフローを示す。以下この動作について説明する。最初にFIFO144がFULL状態であるかどうかを確認する(1)。仮にFULL状態であればアドレスチャネルはMEMC12Aと接続されないで発行されたアドレスはクロスバースイッチ14との間でFIFO144に空きが出来るまで待たされる。次にFIFO144がFULL状態でなければ入力されたデコード結果とFIFO144が記憶している最新のデコード結果の値を比較する(2)。この時、デコード結果の値が異なればそのまま入力されたデコード結果を新規にFIFO144に累積回数を1として書き込む(6)。デコード結果の値が同じ場合、そのデコード結果の累積回数を確認する(3)。ここで累積回数が記憶可能な最大値の場合、そのまま入力されたデコード結果を新規にFIFO144に累積回数を1として書き込む(6)。累積回数が記憶可能な最大値でない場合、FIFO144に記憶されているデコード結果の累積回数のみをインクリメントする(5)。ただし、書き込みと同時に同一領域の読み出しが行われた場合(4)は、何もしないでそのまま書き込み動作を終了する。したがって、CPU11AがMEMC12Aに対して連続して4回のアドレスを発行した場合、FIFO144の内容は1回のデコード結果の書き込みに対して累積回数が4として記憶される。続いてCPU11Aが先に発行したアドレスに対応するライトデータを発行する。最初にFIFO144ではFIFOキューがEMPTY状態であるかどうかを確認する(7)。仮にEMPTY状態であればデータチャネルはMEMC12Aと接続されないで発行されたデータはクロスバースイッチ14との間でFIFO144にデコード結果が記憶されデータチャネルが接続されるまで待たされる。次にFIFO144がEMPTY状態でなければFIFO144から最古のデコード結果を読み出し、その内容に基づきデータチャネル用のスレーブ選択回路143はMEMC12Aを選択してCPU11AとMEMC12Aを接続する。この際、読み出しと同時に同一領域への書き込みが行われているかどうかを確認する(8)。同時に書き込みが行われている場合、FIFOの内容に対して何もしないでそのまま読み出し動作を終了する。同時に書き込みが行われていない場合、読み出したデコード結果の累積回数を確認する(9)。この時、累積回数が2以上の場合、読み出したデコード結果に対して累積回数のみをデクリメントする(11)。累積回数が1の場合、読み出したデコード結果をFIFOから取り出す。したがって、CPU11AがMEMC12Aに対して連続して4回のアドレスを発行した場合、CPU11Aがライトデータを順次発行する毎に累積回数をデクリメントして4回目のライトデータの発行と共にFIFO144からデコード結果を取り出す。
Next, an operation in which the CPU 11A continuously writes data to the MEMC 12A will be described. The basic operation is the same as the above-described writing. The CPU 11A issues a desired address to which the MEMC 12A is continuously mapped before issuing write data. In this case, the same decoding result is continuously written in the FIFO 144. However, if the same result is compared with the decoding result stored in advance in the FIFO 144, the decoding result is not newly written and the first decoding result is not written. Only the cumulative count value is incremented. FIG. 4 shows a flow of write operation and read operation of the FIFO 144. This operation will be described below. First, it is confirmed whether the FIFO 144 is in the FULL state (1). If it is in the FULL state, the address channel is not connected to the MEMC 12A, and the issued address is waited until the FIFO 144 is vacant with the
次に、CPU11AがMEMC12Aに対して固定長のバーストデータを書き込む動作について説明する。基本動作はシングルのデータ書き込みと同様である。CPU11Aはアドレスを発行した後、例えば4ビートのライトデータを発行する。ここで一般に固定長のバースト転送の場合、マスタデバイスはアドレスの先頭アドレスのみを発行することが多くFIFO144には1回のバースト転送につき1つのデコード結果が記憶されることになる。一方、ライトデータに関しては通常バースト転送を含めた各データ転送の最後を示すラスト信号が存在しており、この信号がアサートされるまでFIFO144に記憶されたデコード結果を更新しないことでバースト転送にも対応することが可能である。すなわち、シングルライトの場合は、CPU11Aが各ライトデータの発行毎にラスト信号をアサートするためFIFO144のデコード結果は順次読み出されてそのデコード結果に基づいてデータチャネル用のスレーブ選択回路143はMEMC12Aを選択してCPU11AとMEMC12Aを接続する。バースト転送の場合は、CPU11Aがアドレスを発行してFIFO144にデコード結果が記憶される。次にCPU11Aが4ビートのバーストデータを発行するが4回目のデータ転送でラスト信号がアサートされるまで同一のFIFO144のデコード結果に基づいてデータチャネル用のスレーブ選択回路143はMEMC12Aを選択してCPU11AとMEMC12Aを接続する。 Next, an operation in which the CPU 11A writes fixed-length burst data to the MEMC 12A will be described. The basic operation is the same as single data writing. After issuing the address, the CPU 11A issues, for example, 4-beat write data. In general, in the case of fixed-length burst transfer, the master device often issues only the head address of the address, and the FIFO 144 stores one decoding result for each burst transfer. On the other hand, with respect to write data, there is a last signal indicating the end of each data transfer including normal burst transfer. By not updating the decoding result stored in the FIFO 144 until this signal is asserted, the burst data is also transferred. It is possible to respond. That is, in the case of single write, since the CPU 11A asserts the last signal every time each write data is issued, the decoding result of the FIFO 144 is sequentially read, and the data channel slave selection circuit 143 selects the MEMC 12A based on the decoding result. Select and connect the CPU 11A and MEMC 12A. In the case of burst transfer, the CPU 11A issues an address and the decoding result is stored in the FIFO 144. Next, the CPU 11A issues 4-beat burst data, but the slave selection circuit 143 for the data channel selects the MEMC 12A based on the decoding result of the same FIFO 144 until the last signal is asserted in the fourth data transfer and selects the CPU 11A. And MEMC 12A are connected.
以上、説明したように本発明によれば、マスタデバイスがシングル、バースト転送に関わらず連続してアドレスを発行しても順次FIFO144にアドレスチャネルのデコード結果を記憶してマスタデバイスがライトデータを出力した際にデコード結果を取り出して対応するマスタデバイスとスレーブデバイスを接続することで任意のタイミングでデータ書き込みを行うことを可能としスプリットバスとしての機能を果たしている。DMAC11BやPIO12Bの動作も同様である。更に各マスタデバイスがメモリコントローラのような特別なスレーブデバイスに対して連続してアクセスした場合、FIFO144ではFIFOキューとして一つのデコード結果のみを使用するためFIFOの使用効率を向上させることが可能となる。 As described above, according to the present invention, even if the master device continuously issues an address regardless of single or burst transfer, the decoding result of the address channel is sequentially stored in the FIFO 144 and the master device outputs the write data. In this case, the decoding result is taken out and the corresponding master device and slave device are connected, so that data can be written at an arbitrary timing, and the function as a split bus is achieved. The operations of the DMAC 11B and the PIO 12B are the same. Further, when each master device continuously accesses a special slave device such as a memory controller, the FIFO 144 uses only one decoding result as a FIFO queue, so that the use efficiency of the FIFO can be improved. .
(実施例2)
図5に本発明の別の一様態を示す。バス構成は実施例1と同様でオンチップバスシステム10は、マスタデバイスとして中央演算処理装置(CPU)11AとDMAコントローラ(DMAC)11B、スレーブデバイスとしてメモリコントローラ(MEMC)12AとプログラマブルIO(PIO)12B、これらを相互接続するクロスバースイッチ14から構成される。各スイッチは、アドレスチャネルとライトデータチャネルの対応するマスタデバイスとスレーブデバイスをそれぞれ接続するスレーブ選択回路141と143、アドレスチャネルのアドレスをデコードするアドレスデコーダ142、アドレスデコーダ142のデコード結果を逐次記憶してマスタデバイスがライトデータを出力した際にその記憶した内容によりスレーブ選択回路143を制御するFIFO145から成る。更に、図6にFIFO145の一様態を示す。FIFO145は、FIFOキュー、書き込み制御回路、読み出し制御回路から成り、FIFOキューはデコード結果を記憶する領域、トランザクションのIDを記憶する領域、各デコード結果の累積回数を記憶する領域から成る。
(Example 2)
FIG. 5 shows another embodiment of the present invention. The bus configuration is the same as in the first embodiment, and the on-
本発明は、マスタデバイスがアドレスと同時に発行するトランザクションIDをデコード結果と共にFIFO145に記憶すること以外は実施例1と同じである。 The present invention is the same as the first embodiment except that the transaction ID issued by the master device at the same time as the address is stored in the FIFO 145 together with the decoding result.
10 オンチップバスシステム
11A 中央演算処理装置(CPU)
11B DMAコントローラ(DMAC)
12A メモリコントローラ(MEMC)
12B プログラマブルIO(PIO)
13 クロスバースイッチ
131 スレーブ選択回路
132 アドレスデコーダ
133 スレーブ選択回路
134 FIFO
14 クロスバースイッチ
141 スレーブ選択回路
142 アドレスデコーダ
143 スレーブ選択回路
144 FIFO
145 FIFO
10 On-chip bus system 11A Central processing unit (CPU)
11B DMA controller (DMAC)
12A Memory controller (MEMC)
12B Programmable IO (PIO)
13 Crossbar switch 131
14 Crossbar switch 141
145 FIFO
Claims (2)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004356753A JP2006164024A (en) | 2004-12-09 | 2004-12-09 | On-chip bus system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004356753A JP2006164024A (en) | 2004-12-09 | 2004-12-09 | On-chip bus system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2006164024A true JP2006164024A (en) | 2006-06-22 |
Family
ID=36665956
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004356753A Withdrawn JP2006164024A (en) | 2004-12-09 | 2004-12-09 | On-chip bus system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2006164024A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011526031A (en) * | 2008-06-27 | 2011-09-29 | マーベル ワールド トレード リミテッド | Solid disk with wireless functionality |
-
2004
- 2004-12-09 JP JP2004356753A patent/JP2006164024A/en not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011526031A (en) * | 2008-06-27 | 2011-09-29 | マーベル ワールド トレード リミテッド | Solid disk with wireless functionality |
| US8719485B2 (en) | 2008-06-27 | 2014-05-06 | Marvell World Trade Ltd. | Solid-state disk with wireless functionality |
| US8935464B2 (en) | 2008-06-27 | 2015-01-13 | Marvell World Trade Ltd. | Solid-state disk with wireless functionality |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0993680B1 (en) | Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory | |
| US6954821B2 (en) | Crossbar switch that supports a multi-port slave device and method of operation | |
| TWI400617B (en) | Wireless transmission schedule and data cache | |
| US20040107265A1 (en) | Shared memory data transfer apparatus | |
| EP0991999A1 (en) | Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates | |
| JP2009515262A (en) | Alternative to write confirmation with fully buffered DIMM read data | |
| US20020184453A1 (en) | Data bus system including posted reads and writes | |
| JP2008009817A (en) | Semiconductor device and data transfer method | |
| CN111611185B (en) | An MSI interrupt filtering device with multiple PCIE ports | |
| US9984014B2 (en) | Semiconductor device | |
| CN109981431A (en) | A kind of CAN controller data storage circuitry and date storage method | |
| JPS62206658A (en) | storage management device | |
| JP4022442B2 (en) | Control method of fieldbus interface board | |
| US20040199704A1 (en) | Apparatus for use in a computer system | |
| CN104077080B (en) | Memory access method, memory access control method, SPI flash memory device and controller thereof | |
| JP5304815B2 (en) | Microcomputer | |
| JP2006164024A (en) | On-chip bus system | |
| JP5058890B2 (en) | Bus control device | |
| US20030093594A1 (en) | Apparatus and method for controlling block signal flow in a multi digital signal processor configuration from a shared peripheral direct memory controller to high level data link controller | |
| US20030093603A1 (en) | Apparatus and method for responding to a interruption of a packet flow to a high level data link controller in a signal processing system | |
| US20140229641A1 (en) | Method and apparatus for latency reduction | |
| JP2009037639A (en) | Dmac issue mechanism via streaming identification method | |
| JPH10187599A (en) | Digital signal processor | |
| JP3206656B2 (en) | Prefetch device and prefetch method on bus | |
| JP2003085125A (en) | Memory controller and memory control method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080304 |