JP2005135109A - Data transfer system - Google Patents
Data transfer system Download PDFInfo
- Publication number
- JP2005135109A JP2005135109A JP2003369422A JP2003369422A JP2005135109A JP 2005135109 A JP2005135109 A JP 2005135109A JP 2003369422 A JP2003369422 A JP 2003369422A JP 2003369422 A JP2003369422 A JP 2003369422A JP 2005135109 A JP2005135109 A JP 2005135109A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- bus
- data
- transfer
- bus connection
- 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
Abstract
Description
本発明は、複数のバスを有するバスシステムにおいて、バスに接続されたデバイス間でデータを転送するデータ転送システムに関する。 The present invention relates to a data transfer system for transferring data between devices connected to a bus in a bus system having a plurality of buses.
従来、複数のバスを有するバスシステムにおいて、バスマスタからメモリ等へデータ転送が行われる場合、バスマスタが直接接続されるバスにデータが受け付けられたときにCPUに対してデータ転送終了割り込みが発せられるか、あるいは最終的なデータ転送先であるメモリ等がデータを受け付けたときに、前記メモリ等から前記バスマスタに対してデータ転送の終了が通知され前記バスマスタからCPUにデータ転送終了割り込みが発せられていた。 Conventionally, in a bus system having a plurality of buses, when data is transferred from a bus master to a memory or the like, is a data transfer end interrupt issued to the CPU when data is received on a bus directly connected to the bus master? Alternatively, when the memory, which is the final data transfer destination, accepts data, the end of data transfer is notified from the memory, etc. to the bus master, and a data transfer end interrupt is issued from the bus master to the CPU. .
また、例えば下記特許文献1には、バースト転送終了割り込み信号発生回路から誤ってバースト転送終了の割り込み信号をプロセッサに与えることを防止するために、データ一時記憶用のFIFO(First In First Out)メモリのメモリ空信号がオンであり、DMA(Direct Memory Access)制御回路がバースト転送終了を示すデータ転送終了信号がオンであり、かつDMA制御回路がFIFOメモリへ与える書き込み信号がタイマの遅延によって一定時間存在しないことを示すタイマ出力信号がオンになるという3つの条件を満足したときに、アンド回路から割り込み信号をプロセッサへ出力するバースト転送終了割り込み信号発生回路について記述されている。
しかしながら、上記前者の背景技術では、データ転送先に実際にデータが転送される前に、割り込みを発生してしまい、他のバスマスタが同じ領域にアクセスした場合に、まだ所望のデータが書き込まれていないということが起こりえる。上記後者の背景技術では、データ転送に対してレーシングが起きないような段階に至ってもまだ割り込みを通知しないので、他のバスマスタからのデータ転送の開始を必要以上に遅らせてしまうこととなる。また、上記特許文献においては、複数バスにまたがるデータ転送の場合については記述されていない。 However, in the above background art, when an interrupt occurs before data is actually transferred to the data transfer destination, and other bus masters access the same area, the desired data is still written. It can happen that there is no. In the latter background art, an interrupt is not yet notified even when a stage in which racing does not occur for data transfer, so that the start of data transfer from another bus master is delayed more than necessary. Further, the above patent document does not describe the case of data transfer over a plurality of buses.
本発明は上記の問題に鑑みてなされたもので、データ転送終了の割り込みを好適なタイミングで行うことにより効率的にデータ転送を行えるデータ転送システムを提供することを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to provide a data transfer system capable of efficiently transferring data by interrupting the end of data transfer at a suitable timing.
請求項1に係るデータ転送システムは、バス接続装置により接続され複数のバスを介して主転送装置及び従転送装置間でデータを転送するデータ転送システムであって、前記複数のバスの1つには中央処理装置が接続され、前記主転送装置は前記主転送装置から前記従転送装置に対して転送が行われる場合の経路において前記中央処理装置が接続されたバスに接続された前記バス接続装置のうち前記従転送装置側のバス接続装置と前記主転送装置との間に位置する前記バス接続装置の数に基づくバス接続数情報を前記従転送装置に対して送信する送信手段を備え、前記バス接続装置は前記バス接続数情報を受信した場合に前記バス接続数情報が当該バス接続装置を通過したことに基づいてバス接続数情報を変更する変更手段と、当該バス接続装置が前記従転送装置側のバス接続装置であることを示す予め決定された値と前記バス接続数情報が一致する場合には前記データの転送が終了した旨の通知を前記主転送装置に対して送信する通知手段とを備えることを特徴とする。
A data transfer system according to
請求項2に係るデータ転送システムは、請求項1に記載のデータ転送システムであって、前記変更手段は前記バス接続数情報を受信したときに前記バス接続数情報を1繰り下げることを特徴とする。 A data transfer system according to a second aspect is the data transfer system according to the first aspect, wherein the changing unit lowers the bus connection number information by 1 when the bus connection number information is received. .
請求項3に係るデータ転送システムは、請求項1又は2に記載のデータ転送システムであって、前記変更手段は前記バス接続数情報の送信に係るバスの使用権を獲得したときに前記バス接続数情報を1繰り下げることを特徴とする。
The data transfer system according to claim 3 is the data transfer system according to
請求項4に係るデータ転送システムは、請求項1〜3に記載のデータ転送システムであって、前記主転送装置は前記通知を前記バス接続装置から受信した場合に前記中央処理装置に割り込みを発生する割り込み手段を更に備えることを特徴とする。
The data transfer system according to
請求項5に係るデータ転送システムは、請求項1〜4に記載のデータ転送システムであって、前記複数のバスに接続される全ての前記バス接続装置及び前記主転送装置に接続された終了通知仲介装置を更に備え、前記送信手段は前記主送信装置を特定するための識別情報を送信し、前記終了通知仲介装置は前記通知手段から前記通知と共に前記識別情報を受信する通知受信手段と、前記識別情報に示される前記主転送装置に対して前記通知を送信する通知送信手段とを備えることを特徴とする。
The data transfer system according to claim 5 is the data transfer system according to
請求項1に記載の発明によれば、主転送装置においては、当該主転送装置と従転送装置との間でデータ転送を行う場合に中央処理装置と従転送装置との間で行うデータ転送との競合が起こらなくなる位置にあるバス接続装置まで主転送装置からの送信が到着したことをバス接続装置が認識するための情報として、そのバス接続装置と主転送装置との間に位置するバス接続装置の数に基づくバス接続数情報が送信手段により従転送装置に対して送信され、バス接続装置においては、バス接続数情報が変更手段により当該バス接続装置を通過したことに基づいて変更され、当該バス接続装置が前記競合が起こらなくなる位置にあるバス接続装置であることを示す予め決定された値とバス接続数情報が一致する場合には通知手段によりデータ転送が終了した旨の通知を主転送装置に対して送信するので、バス接続装置がバス接続数情報を受信した時点において、主転送装置と従転送装置との間で行われるデータ転送が既に中央処理装置と従転送装置との間で行われるデータ転送との間で競合が起こらない場合には転送終了通知を行うことができ、まだ競合が起き得る時点において転送終了通知が行われてしまうことを防ぐことができると共に、データ転送の競合が起こらないにもかかわらずデータ転送が終了するまで転送終了通知が行われないということを防ぐことができる。これにより転送終了通知が主転送装置に対して好適なタイミングで送られ、その結果、中央処理装置に対するデータ転送終了の割り込みを好適なタイミングで行うことができデータ転送の効率化が図れる。 According to the first aspect of the present invention, in the main transfer device, when data transfer is performed between the main transfer device and the slave transfer device, data transfer performed between the central processing unit and the slave transfer device; The bus connection located between the bus connection device and the main transfer device as information for the bus connection device to recognize that the transmission from the main transfer device has arrived at the bus connection device in a position where no conflict occurs. Bus connection number information based on the number of devices is transmitted to the slave transfer device by the transmission means, and in the bus connection device, the bus connection number information is changed based on having passed through the bus connection device by the changing means, When the bus connection number information matches a predetermined value indicating that the bus connection device is a bus connection device at a position where the contention does not occur, data transfer is performed by the notification means. Since the notification of completion is transmitted to the main transfer device, when the bus connection device receives the bus connection number information, the data transfer performed between the main transfer device and the slave transfer device has already been performed by the central processing unit. If there is no conflict between the data transfer and the data transfer performed by the slave transfer device, the transfer end notification can be performed, and the transfer end notification is prevented from being performed at the time when the conflict can still occur. In addition, it is possible to prevent the transfer completion notification from being performed until the data transfer is completed even though the data transfer conflict does not occur. As a result, a transfer end notification is sent to the main transfer device at a suitable timing. As a result, a data transfer end interrupt to the central processing unit can be performed at a suitable timing, and the efficiency of data transfer can be improved.
請求項2に記載の発明によれば、前記バス接続数情報は受信されたときに変更手段により1繰り下げられるので、前記競合が起こらなくなる位置にあるバス接続装置において例えば0等の予め定められた値になるように主転送装置においてバス接続数情報を設定することによりバス接続装置において前記予め定められた値との一致を比較することで当該バス接続装置が前記競合が起こらなくなる位置にあるバス接続装置か否かを判定することができる。 According to the second aspect of the present invention, when the bus connection number information is received, it is decremented by one by the changing means. Therefore, in the bus connection device in a position where the contention does not occur, a predetermined value such as 0 is set in advance. By setting the bus connection number information in the main transfer device so as to become a value, the bus connection device compares the coincidence with the predetermined value in the bus connection device, so that the bus connection device is in a position where the contention does not occur. It can be determined whether or not it is a connection device.
請求項3に記載の発明によれば、前記バス接続数情報はこの情報の送信に係るバスの使用権を獲得したときに変更手段により1繰り下げられるので、前記競合が起こらなくなる位置にあるバス接続装置において例えば0等の予め定められた値になるように主転送装置においてバス接続数情報を設定することによりバス接続装置において前記予め定められた値との一致を比較することで当該バス接続装置が前記競合が起こらなくなる位置にあるバス接続装置か否かを判定することができる。 According to a third aspect of the present invention, the bus connection number information is decremented by one when the right to use the bus related to transmission of this information is acquired, so that the bus connection at a position where the contention does not occur. By setting the bus connection number information in the main transfer device so as to have a predetermined value such as 0 in the device, the bus connection device compares the coincidence with the predetermined value in the bus connection device. It is possible to determine whether or not the bus connection device is in a position where the contention does not occur.
請求項4に記載の発明によれば、主転送装置においてデータの転送が終了した旨の通知をバス接続装置から受信した場合に割り込み手段により中央処理装置に割り込みを発生させるので、中央処理装置に対するデータ転送終了の割り込みを好適なタイミングで行うことができ、中央処理装置は必要以上のデータ転送終了待ちを軽減することができデータ転送の効率化が図れる。 According to the fourth aspect of the present invention, when the main transfer device receives notification from the bus connection device that the data transfer has been completed, the interrupt means causes the central processing device to generate an interrupt. A data transfer end interrupt can be performed at a suitable timing, and the central processing unit can reduce waiting for the data transfer end more than necessary, thereby improving the efficiency of data transfer.
請求項5に記載の発明によれば、主転送装置において送信手段により当該主転送装置を識別するための識別情報が送信され、従転送装置において通知手段によりこの識別情報が終了通知仲介装置に送信され、終了通知仲介装置において通知受信手段により識別情報が受信され、通知送信手段により識別情報に示される主転送装置に対して通知が送信されるので、バスを使用せず従転送装置から主転送装置に前記通知を行うことができ、前記通知が迅速に行える。 According to the fifth aspect of the present invention, identification information for identifying the main transfer device is transmitted by the transmission means in the main transfer device, and the identification information is transmitted to the end notification mediating device by the notification means in the slave transfer device. Since the identification information is received by the notification receiving means in the end notification mediating apparatus, and the notification is transmitted to the main transfer apparatus indicated by the identification information by the notification transmitting means, the main transfer is performed from the slave transfer apparatus without using the bus. The notification can be made to the apparatus, and the notification can be made quickly.
以下、本発明の一実施形態による複数バスを有するバスシステムにおけるデータ転送システムについて図面を参照しながら説明する。 Hereinafter, a data transfer system in a bus system having a plurality of buses according to an embodiment of the present invention will be described with reference to the drawings.
図1は、本発明の一実施形態によるバスシステムの構成の概略を示すブロック図である。バス4,8,11はこのシステムにおける3つのバスである。各バスにおける信号線の構成は同じである必要はない。バスマスタ2及びバスマスタ3はメモリ12へのDMA(Direct Memory Access)機能を有し、バス4に接続される。バスマスタ6はメモリ12へのDMA機能を有し、バス8に接続される。バスマスタ9はメモリ12へのDMA機能を有し、バス11に接続される。ブリッジ7はバス4とバス8とを接続する回路で両バス間でバス上の信号を変換・転送する。ブリッジ10はバス8とバス11とを接続する回路である。
FIG. 1 is a block diagram showing an outline of the configuration of a bus system according to an embodiment of the present invention.
CPU(Central Processing Unit:中央処理装置)5はバス8に接続されシステム全体の動作を制御する。また、メモリ12へのアクセスも行う。メモリ12は、バス11に接続される例えばRAM(Random Access Memory)である。デコーダ1はCPU5以外の全てのデバイス(バスマスタ2,3,6,9、ブリッジ7,10、メモリ12)に接続されブリッジ7,10又はメモリ12から受信したDMAにおけるデータ転送終了の通知(以下、転送終了通知という。)としてのバスマスタの識別情報(例えばバスマスタに割り振られた番号)をデコードして当該DMAを行っているバスマスタに通知するものである。バスマスタはバスの使用権を得ることができるデバイスで、例えば複写機等の画像形成装置においてはデータ圧縮伸張装置等がバスマスタとなる。バスマスタがバスの使用権を得てターゲットとなるデバイス(例えばメモリ12)を指定してデータ転送が行われる。バスマスタからターゲットデバイス(メモリ)にデータを転送することをライトといい、ターゲットデバイス(メモリ)からバスマスタにデータを転送することをリードという。
A CPU (Central Processing Unit) 5 is connected to the bus 8 and controls the operation of the entire system. The
図2は、バスマスタによるDMA転送に使用されるデータ転送用のパケットを示す図である。図2(a)は基本フォーマットを示す図である。図2(a)においてID領域21は送信元のバスマスタを識別するための情報を格納するための領域で、例えば各バスマスタに割り当てられた数字を格納する。カウント情報領域22は本パケットを転送するデバイスがバスの使用権を獲得したとき、及び、デバイスが本パケットを受信したときをカウントするためのカウント情報でこれにより送信元バスマスタに転送終了を通知する時期を得る。R/W情報領域23は本パケットがバスマスタからメモリ等へデータを転送するため(以下、ライトという。)に使用されるものか、メモリ等からバスマスタへデータを転送するため(以下、リードという。)に使用されるものかの種別を表す情報を格納する領域である。この種別は例えばR(リード)又はW(ライト)で表される。アドレス領域24は当該パケットにより転送するデータの書込先/読込先アドレスを格納する領域である。データ領域25は転送するデータ又は送信元バスマスタのアドレス等を格納する領域である。本実施形態においてはデータ領域25のサイズは所定のサイズで固定長とする。
FIG. 2 is a diagram showing a packet for data transfer used for DMA transfer by the bus master. FIG. 2A shows a basic format. In FIG. 2A, an
図2(b)はライトの場合のパケットに格納する情報の内容を示す図である。ID領域21には上述の送信元バスマスタの識別情報を格納する。カウント情報領域22には上述のカウント情報を格納する。ただし、転送データを複数回に分割して送信する場合の最後のパケット以外ではパケットがメモリ等に到着してもカウント情報が0にならない十分大きな数をカウント情報として格納する。R/W情報領域23には「W」を格納する。アドレス領域24にはデータ領域25に格納するデータを書き込むメモリ領域の先頭アドレスを格納する。データ領域25には転送するデータ(メモリ等に書き込むデータ)を格納する。ライトの場合はパケットをバスマスタからメモリに送信するのみで、メモリからバスマスタへのパケットの返信は行わない。
FIG. 2B is a diagram showing the contents of information stored in a packet in the case of writing. The
図2(c)はリードの場合の送信(バスマスタからメモリに送信する場合)パケット(リード要求パケット)に格納する情報の内容を示す図である。ID領域21には上述の送信元バスマスタの識別情報を格納する。カウント情報領域22には上述のカウント情報を格納する。R/W情報領域23には「R」を格納する。アドレス領域24にはリードするメモリ領域の先頭アドレスを格納する。データ領域25の前半部分25aには当該パケットの送信元であるバスマスタのアドレスを格納する。データ領域25の後半部分25bにはリードするデータのサイズを格納する。
FIG. 2C is a diagram showing the contents of information stored in a transmission (when transmitting from the bus master to the memory) packet (read request packet) in the case of reading. The
図2(d)はリードの場合の返信(メモリからバスマスタに送信する場合)パケット(リードパケット)に格納する情報の内容を示す図である。ID領域21にはリード要求パケットのID領域21に格納された送信元バスマスタの識別情報を格納する。カウント情報領域22にはパケットがバスマスタに到着してもカウント情報が0にならない十分大きな数をカウント情報として格納する。R/W情報領域23には「R」を格納する。アドレス領域24にはデータ領域25に格納するデータを読み出すメモリ領域の先頭アドレスを格納する。データ領域25には転送するデータ(メモリから読み出すデータ)を格納する。
FIG. 2D is a diagram showing the contents of information stored in a reply (when transmitting from the memory to the bus master) packet (read packet) in the case of reading. The
図3は、バスマスタ2,3,6,9が備える機能の構成を示したブロック図である。バスマスタ2,3,6,9はデータ転送制御部31、パケット作成部32、パケット送信部33、カウンタ繰り下げ部34、パケット受信部35、データ受信部36、転送終了通知受信部37、及び割り込み送信部38を備える。
FIG. 3 is a block diagram showing the configuration of the functions of the
データ転送制御部31は当該バスマスタがデータ転送を行うか否かを決定する。また、転送データを複数パケットに分けて送信する場合にその制御を行う。パケット作成部32はデータ転送の種別(ライト又はリード)に従って図2(b)に示すライトパケット又は図2(c)に示すリード要求パケットを作成するものである。ID領域21には当該バスマスタに割り当てられた例えば番号を格納する。カウント情報領域22には予め当該バスマスタが保持している、ターゲットデバイス毎に決定されたカウント値(数)をカウント情報として格納する。このカウント値はバスシステムの構成(例えば当該バスマスタからターゲットデバイスまでに通過すべきブリッジの数及びCPUの接続位置等)により決定されるもので、バスシステムの構成時にバスマスタに各メモリ等に対応させて格納される。R/W情報領域23にはデータ転送がリードであるかライトであるかによりRまたはWを設定する。アドレス領域24にはライトの場合にはデータ領域25に格納するデータをライトするメモリアドレス、リードの場合にはリードするデータが格納されているメモリアドレスを格納する。データ領域25にはライトの場合には転送データ、リードの場合には当該バスマスタのアドレス及びリードするデータのサイズを格納する。
The data
パケット送信部33はパケット作成部32が作成したパケットを送信するものである。パケット送信部33は、パケットを送信する場合にはまず当該バスマスタが接続されたバスの使用権を取得し、バスの使用権を取得したらカウンタ繰り下げ部34に対してパケットに記述されたカウント情報を1繰り下げることを指示し、これが行われた後、当該バスマスタが認識するターゲットデバイス(メモリ等)のアドレスをアドレスバスに出力しデータバスにパケットを複数回に分けて出力することによりパケットの送信を行う。
The
カウンタ繰り下げ部34はパケット送信部33からの指示によりパケットのカウント情報を1繰り下げる処理を行う。パケット受信部35は当該バスマスタが接続されたバスを介してパケットを構成するデータを受信しこれを蓄積してパケットを構築することによりパケットを受信する。データ受信部36は受信したパケットのデータ領域から転送データを取り出し、このデータを使用する機能部(図示なし)に渡す。
The
転送終了通知受信部37はメモリ12が送信した転送終了通知をデコーダ1を介して受け取るものである。転送終了通知受信部37は転送終了通知を受け取った場合にはその旨を割り込み送信部38に通知する。割り込み送信部38は転送終了通知受信部37から転送終了通知を受け取った旨を通知されたことを契機にCPU5に対して割り込みを送信する。
The transfer end
図4は、ブリッジ7,10が備える機能の構成を示したブロック図である。ブリッジ7,10はパケット受信部41、カウンタ繰り下げ部42、転送終了通知部43、及びパケット送信部44を備える。
FIG. 4 is a block diagram showing a configuration of functions provided in the
パケット受信部41はバスマスタ等から送信されたパケットをパケット受信部35と同様に受信する。パケット受信部41はカウンタ繰り下げ部42に対して受信したパケットのカウント情報を1繰り下げることを指示する。カウンタ繰り下げ部42はパケット受信部41又はパケット送信部44からの指示によりパケットのカウント情報を1繰り下げる処理を行う。転送終了通知部43はパケットのカウント情報22をチェックしてカウント情報22が0であるならばデコーダ1に対して転送終了通知としてパケットに記述されたID情報21を送信する。
The
パケット送信部44は受信したパケットを転送するものである。パケット送信部44は、パケットを送信する場合にはまず当該ブリッジが接続されたバスのうちパケットを受信した側でない方のバスの使用権を取得し、バスの使用権を取得したらカウンタ繰り下げ部42に対してパケットに記述されたカウント情報22を1繰り下げることを指示し、これが行われた後、パケット受信側のアドレスバスの情報を送信側のアドレスバスに出力しデータバスにパケットを複数回に分けて出力することによりパケットを送信する。
The
図5は、メモリ12が備える機能の構成を示したブロック図である。メモリ12はパケット受信部51、カウンタ繰り下げ部52、転送終了通知部53、データ読み書き部54、パケット作成部55、パケット送信部56、データ転送制御部57、及びデータ記憶部58を備える。
FIG. 5 is a block diagram showing a configuration of functions provided in the
パケット受信部51はバスマスタ等から送信されたパケットをパケット受信部35,41と同様に受信する。パケット受信部51はカウンタ繰り下げ部52に対して受信したパケットのカウント情報22を1繰り下げることを指示する。カウンタ繰り下げ部52はパケット受信部51又はパケット送信部56からの指示によりパケットのカウント情報を1繰り下げる処理を行う。転送終了通知部53はパケットのカウント情報22をチェックしてカウント情報が0であるならばデコーダ1に対して転送終了通知としてパケットに記述されたID情報21を送信する。
The
データ読み書き部54はライトパケット(図2(b))を受信した場合にはパケットのデータ領域25から転送データ、アドレス領域24からライトアドレスを取り出し、データ記憶部58の上記ライトアドレスに上記転送データを格納する。リード要求パケット(図2(c))を受信した場合にはアドレス領域24からリードアドレス、データ領域25bからサイズを取り出し、データ記憶部58の上記アドレスから上記サイズ分のデータをデータ転送制御部57の指示に従い1つのパケットに格納するデータ量分ずつ読み出し、パケット作成部55に渡す。
When the data read /
パケット作成部55はリード要求パケットを受信した場合にリードパケット(図2(d))を作成する。ID領域21には受信したパケットの内容をコピーする。カウント情報領域22にはバスマスタにパケットが到着しても0にならない十分大きな数を入れる(これはバスマスタがパケット到着時に転送終了通知を出す必要がないため)。R/W領域23にはRを入れる。アドレス領域24にはデータ領域に格納するデータの先頭アドレスを入れる。データ領域25にはデータ読み書き部54から渡された、データ記憶部58から読み出したデータを格納する。
The
パケット送信部56はパケット作成部55が作成したパケットを送信するものである。パケット送信部56は受信したパケットのデータ領域25aから返信アドレスを取得する。パケット送信部56はパケットを送信する場合にはまず当該バスマスタが接続されたバスの使用権を取得し、バスの使用権を取得したらカウンタ繰り下げ部52に対してパケットに記述されたカウント情報22を1繰り下げることを指示し、これが行われた後、上記取得したアドレスをアドレスバスに出力しデータバスにパケットを複数回に分けて出力することによりパケットの送信を行う。
The
データ転送制御部57はリードデータを複数パケットに分けて送信する場合の制御を行う。データ記憶部58はメモリとしてデータを記憶するものである。
The data
図6は、デコーダ1が備える機能の構成を示したブロック図である。デコーダ1は転送終了通知先解析部61及び転送終了通知送信部62を備える。転送終了通知先解析部61はメモリから受信したID情報21によりそのID情報21に対応したバスマスタを選択する。転送終了通知送信部62は転送終了通知先解析部61が選択したバスマスタに対して転送終了通知を送信する。
FIG. 6 is a block diagram illustrating a configuration of functions included in the
図7はバスマスタ2,3,6,9のデータ転送に係る処理の流れを示すフローチャートである。以下にバスマスタのデータ転送に係る処理の流れを説明する。
FIG. 7 is a flowchart showing a flow of processing relating to data transfer of the
ステップS1では、データ転送制御部31はデータ転送を行うか否かを決定する。データ転送を行う場合には(ステップS1でYES)ステップS3へ進む。ステップS3では、パケット作成部32はR/W等の目的に合わせて送信するパケットを作成する。ステップS5では、パケット送信部33は当該バスマスタが接続されたバスの使用権を得るまで使用権獲得を繰り返す(ステップS5でNO)。バスの使用権を獲得したら(ステップS5でYES)、ステップS7へ進む。ステップS7では、パケット送信部33はカウンタ繰り下げ部34に対しパケットのカウント情報を1繰り下げるよう指示し、カウンタ繰り下げ部34はこれを実行する。ステップS9では、パケット送信部33はターゲットデバイス(例えばメモリ12)のアドレスをアドレスバスに出力してパケットを複数回に分けてデータバスに出力する。
In step S1, the data
ステップS11では、データ転送制御部31は全転送データが送信し終わったか否かを判定し、送信する転送データがまだある場合には(ステップS11でYES)ステップS3へ戻り、残りの転送データの送信を行う。全転送データが送信し終わった場合には(ステップS11でNO)ステップS13へ進む。ステップS13では、データ送信部33はバスを解放する。ステップS1の分岐においてデータ転送を行わないと判断した場合(ステップS1でNO)及びステップS13の処理が終了した場合にはステップS15へ進む。
In step S11, the data
ステップS15では、パケット受信部35はパケットを受信したか否かをチェックし、パケットを受信した場合には(ステップS15でYES)ステップS17へ進む。ステップS17では、データ受信部36はパケットのアドレス領域24に格納されたアドレスとデータ領域25に格納されたデータを取り出し、このデータを前記アドレスからのリードデータとして使用する。ステップS15の分岐においてパケットを受信しなかった場合(ステップS15でNO)及びステップS17の処理が終了した場合にはステップS19へ進む。
In step S15, the
ステップS19では、転送終了通知受信部37は転送終了通知をデコーダ1から受信したか否かをチェックし、転送終了通知を受信した場合には(ステップS19でYES)ステップS21へ進む。ステップS21では、割り込み送信部38はCPU5に対して転送終了割り込みを行う。ステップS19の分岐において転送終了通知を受信しなかった場合(ステップS19でNO)及びステップS21の処理が終了した場合にはステップS1へ戻りステップS1からの処理を繰り返す。
In step S19, the transfer end
図8はブリッジ7,10の処理の流れを示すフローチャートである。以下にブリッジの処理の流れを説明する。
FIG. 8 is a flowchart showing the flow of processing of the
ステップS31では、パケット受信部41はパケットを受信するまでパケットを受信したか否かをチェックする(ステップS31でNO)。パケットを受信した場合には(ステップS31でYES)ステップS33へ進む。ステップS33では、パケット受信部41はカウンタ繰り下げ部42に対しパケットのカウント情報22を1繰り下げるよう指示しカウンタ繰り下げ部42はこれを実行する。ステップS35では、転送終了通知部43はパケットのカウント情報22が0であるか否をチェックする。カウント情報22が0であるならば(ステップS35でYES)ステップS37へ進む。ステップS37では、転送終了通知部43は転送終了通知としてパケットのID情報21をデコーダ1に送信する。
In step S31, the
ステップS35の分岐においてカウント情報22が0でない場合(ステップS35でNO)及びステップS37の処理が終了した場合にはステップS39へ進む。ステップS39では、パケット送信部44はパケットを受信した側と反対側のバスの使用権を獲得するまで使用権獲得を試みる(ステップS39でNO)。バスの使用権を獲得したら(ステップS39でYES)、ステップS41へ進む。ステップS41では、パケット送信部44はカウンタ繰り下げ部42に対しパケットのカウント情報22を1繰り下げるよう指示しカウンタ繰り下げ部42はこれを実行する。ステップS43では、パケット送信部44はターゲットデバイス(例えばメモリ12)のアドレスをアドレスバスに出力してパケットを複数回に分けてデータバスに出力する。ステップS45では、パケット送信部44はバスを解放する。
When the
図9はメモリ12のデータ転送に係る処理の流れを示すフローチャートである。以下にメモリ12のデータ転送に係る処理の流れを説明する。
FIG. 9 is a flowchart showing a flow of processing relating to data transfer in the
ステップS51では、パケット受信部51はパケットを受信したか否かをパケットを受信するまでチェックする(ステップS51でNO)。パケットを受信した場合には(ステップS51でYES)ステップS53へ進む。ステップS53では、パケット受信部51はカウンタ繰り下げ部52に対しパケットのカウント情報22を1繰り下げるよう指示し、カウンタ繰り下げ部52はこれを実行する。ステップS55では、転送終了通知部53はパケットのカウント情報22が0であるか否かをチェックする。カウント情報22が0であるならば(ステップS55でYES)、ステップS57へ進む。ステップ57では、転送終了通知部53は転送終了通知としてパケットのID情報21をデコーダ1に送信する。
In step S51, the
ステップS55の分岐においてカウント情報22が0でなかった場合(ステップS55でNO)及びステップS57の処理が終了した場合にはステップS59へ進む。ステップS59では、データ読み書き部54はパケットのR/W情報23をチェックし、Wである場合には(ステップS59でYES)ステップS61へ進む。ステップS61では、データ読み書き部54はパケットのアドレス領域24からアドレス、データ領域25から転送データを取り出し、データ記憶部58の上記アドレスに上記転送データを書き込む。
When the
ステップS59の分岐においてR/W情報がRであった場合には(ステップS59でNO)ステップS63へ進む。ステップS63では、パケット送信部56はパケットのデータ領域25aからパケットの返信アドレス(当該パケットを送信したバスマスタのアドレス)を取り出す。ステップS65では、データ読み書き部54はパケットのアドレス領域24からメモリのリードアドレス、データ領域のパケット返信アドレスの後25bからリードするデータのサイズ情報を取り出す。ステップS67では、データ読み書き部54はデータ転送制御部57の指示に従い上記リードアドレスから上記サイズ分又は当該パケットで転送する分のデータを読み出しパケット作成部55に渡す。
If the R / W information is R in the branch of step S59 (NO in step S59), the process proceeds to step S63. In step S63, the
ステップS69では、パケット作成部55は返信用パケット(図2(d))を作成する。ステップS71では、パケット送信部56はバスの使用権を獲得するまで使用権獲得を試みる(ステップS71でNO)。バスの使用権を獲得したら(ステップS71でYES)ステップS73へ進む。ステップS73では、パケット送信部56はカウンタ繰り下げ部52に対しパケットのカウント情報22を1繰り下げるよう指示し、カウンタ繰り下げ部52はこれを実行する。ステップS75では、パケット送信部56は受信パケットから取り出した返信先アドレス25aをアドレスバスに出力してパケットを複数回に分けてデータバスに出力する。
In step S69, the
ステップS77では、データ転送制御部57は全転送データが送信し終わったか否かを判定し、送信する転送データがまだある場合には(ステップS77でYES)ステップS67へ戻り、残りの転送データを送信を行う。全転送データが送信し終わった場合には(ステップS77でNO)ステップS79へ進む。ステップS79では、データ送信部33はバスを解放する。
In step S77, the data
図10はデコーダ1の処理の流れを示すフローチャートである。以下にデコーダ1の処理の流れを説明する。
FIG. 10 is a flowchart showing the flow of processing of the
ステップS81では、転送終了通知先解析部61は転送終了通知としてバスマスタを識別するためのID情報21、例えば識別番号を受信するまで待つ(ステップS81でNO)。ID情報を受信したら(ステップS81でYES)、ステップS83へ進む。ステップS83では、転送終了通知先解析部61は受信したID情報をデコードして対応するバスマスタへの信号線を選出する。ステップS85では、転送終了通知送信部62は選出された信号線をオンにすることにより対応するバスマスタに対して転送終了通知を送信する。
In step S81, the transfer end notification
図11はバスマスタ3からメモリ12に対してライトを行う際の処理の流れを示す図である。本フローチャートにおいては縦の列に同じデバイスの処理が並べられている。以下にこの流れを説明する。
FIG. 11 is a diagram showing the flow of processing when the bus master 3 writes to the
ステップS91では、バスマスタ3はID情報21に3、カウント情報22に4が格納されたパケットを作成し、バス4の使用権を獲得する。ステップS93では、バスマスタ3はカウント情報22を1繰り下げ3にする。ステップS95では、バスマスタ3はパケットをバス4に出力しメモリ12に対して送信する。ステップS97では、ブリッジ7がパケットを受信する。ステップS99では、ブリッジ7はカウント情報22を1繰り下げ2にする。ステップS101では、ブリッジ7はバス8の使用権を獲得する。ステップS103では、ブリッジ7はカウント情報22を1繰り下げ1にする。ステップS105では、ブリッジ7はパケットをバス8に出力しメモリ12に対して送信する。
In step S91, the bus master 3 creates a packet in which 3 is stored in the
ステップS107では、ブリッジ10がパケットを受信する。ステップS109では、ブリッジ10はカウント情報22を1繰り下げて0にする。ステップS111では、ブリッジ10はデコーダ1に転送終了通知としてID情報21に格納された数「3」を送信する。ステップS113では、ブリッジ10はバス11の使用権を獲得する。ステップS115では、ブリッジ10はカウント情報22を1繰り下げて「−1」とする。ステップS117では、ブリッジ10はパケットをバス11に出力しメモリ12に対して送信する。ステップS119では、メモリ12はパケットを受信してパケット内の転送データを指定されたアドレスに書き込む。
In step S107, the
一方、ステップS121では、デコーダ1が転送終了通知として数「3」をブリッジ10から受信する。ステップS123では、デコーダ1は「3」をデコードしバスマスタ3への信号線をオンにすることにより転送終了通知を行う。ステップS125では、バスマスタ3は転送終了通知を受け取る。ステップS127では、バスマスタ3はCPU5に転送終了割り込みを発生する。
On the other hand, in step S121, the
図12はバスマスタ9からメモリ12に対してライトを行う際の処理の流れを示す図である。以下にこの流れを説明する。
FIG. 12 is a diagram showing the flow of processing when the
ステップS131では、バスマスタ9はID情報21に9、カウント情報22に2が格納されたパケットを作成し、バス11の使用権を獲得する。ステップS133では、バスマスタ9はカウント情報22を1繰り下げ1にする。ステップS135では、バスマスタ9はパケットをバス11に出力しメモリ12に対して送信する。ステップS137では、メモリ12がパケットを受信する。ステップS139では、メモリ12はカウント情報22を1繰り下げ0にする。ステップS141では、メモリ12はデコーダ1に転送終了通知としてID情報21に格納された数「9」を送信する。一方、ステップS143では、デコーダ1が転送終了通知として数「9」をメモリ12から受信する。ステップS145では、デコーダ1は「9」をデコードしバスマスタ9への信号線をオンにすることにより転送終了通知を行う。ステップS147では、バスマスタ9は転送終了通知を受け取る。ステップS149では、バスマスタ9はCPU5に転送終了割り込みを発生する。
In step S131, the
このように本実施形態によれば、例えばバスマスタ3がメモリ12に対して行うDMA転送(例えばライト)においてはバスマスタ3から送信されたパケットがブリッジ10に到着した時点において転送終了通知がデコーダを介してバスマスタ3に送信され、これを受けたバスマスタ3はCPU5に割り込みを行う。また、例えばバスマスタ9がメモリ12に対して行うDMA転送(例えばライト)においてはバスマスタ9から送信されたパケットがメモリ12に到着した時点において転送終了通知がデコーダを介してバスマスタ9に送信され、これを受けたバスマスタ9はCPU5に割り込みを行う。このようにデータ転送に係るバスマスタに対する転送終了通知は当該データ転送に対する競合が起こらなくなった時点(CPUからのデータ転送に当該パケットが追い越されなくなるタイミングまで到達したとき)において送信されることとなり、まだ競合が起き得る時点において転送終了通知が行われてしまうことを防ぐことができると共に、データ転送の競合が起こらないにもかかわらずデータ転送が終了するまで転送終了通知が行われないということを防ぐことができる。これによりデータ転送終了の割り込みを好適なタイミングで行うことができデータ転送の効率化が図れる。
As described above, according to the present embodiment, for example, in the DMA transfer (for example, write) performed by the bus master 3 to the
なお、リードの場合の転送終了通知を送信する時期はライトの場合と同じタイミングとなる。これは、リード要求パケットが他のパケットに追い越されなければ、その後同じ領域へのライトパケットが 来ても、ライトされる以前のデータを読んだライトパケットを返せるためである。また、DMA転送に係るデータを複数のパケットに分けて送信する場合には最終のパケット(転送データの末尾が格納されたパケット)以外のパケットのカウント情報22には当該パケットが送信先デバイスに到着しても0にならない十分大きな数を格納する。最終パケット以外のパケットが送信先デバイスに到着しても転送終了通知を行わないようにするためである。
Note that the timing for transmitting the transfer end notification in the case of reading is the same as that in the case of writing. This is because if the read request packet is not overtaken by another packet, even if a write packet to the same area comes later, the write packet that has read the data before being written can be returned. When data related to DMA transfer is divided into a plurality of packets and transmitted, the packet arrives at the destination device in the
本実施形態においては、パケットを送信するデバイスがバスの使用権を獲得した場合、及びデバイスがパケットを受信した場合にカウント情報22を1繰り下げたが、必ずしもこのようにする必要はなく例えばデバイスがパケットを受信した場合のみにカウント情報22を1繰り下げるようにしてもよい。
In the present embodiment, the
また、本実施形態においては、データ領域25を固定長としたが可変長にしてもよい。この場合にはデータ領域の前にデータサイズ領域を設けデータ領域に格納されたデータの大きさを格納するようにすればよい。
In this embodiment, the
1 デコーダ(終了通知仲介装置)
2,3,6,9 バスマスタ(主転送装置)
4,8,11 バス
5 CPU(中央処理装置)
7,10 ブリッジ(バス接続装置)
12 メモリ(従転送装置)
32 パケット作成部
33 パケット送信部(送信手段)
35 パケット受信部
38 割り込み送信部(割り込み手段)
42 カウンタ繰り下げ部(変更手段)
43 転送終了通知部(通知手段)
61 転送終了通知先解析部(通知受信手段)
62 転送終了通知送信部(通知送信手段)
1 Decoder (end notification mediation device)
2, 3, 6, 9 Bus master (main transfer device)
4,8,11 Bus 5 CPU (Central processing unit)
7,10 bridge (bus connection device)
12 Memory (secondary transfer device)
32
35
42 Counter lowering section (changing means)
43 Transfer end notification section (notification means)
61 Transfer end notification destination analysis unit (notification receiving means)
62 Transfer end notification transmitter (notification transmission means)
Claims (5)
前記複数のバスの1つには中央処理装置が接続され、
前記主転送装置は
前記主転送装置から前記従転送装置に対して転送が行われる場合の経路において前記中央処理装置が接続されたバスに接続された前記バス接続装置のうち前記従転送装置側のバス接続装置と前記主転送装置との間に位置する前記バス接続装置の数に基づくバス接続数情報を前記従転送装置に対して送信する送信手段を備え、
前記バス接続装置は
前記バス接続数情報を受信した場合に前記バス接続数情報が当該バス接続装置を通過したことに基づいてバス接続数情報を変更する変更手段と、
当該バス接続装置が前記従転送装置側のバス接続装置であることを示す予め決定された値と前記バス接続数情報が一致する場合には前記データの転送が終了した旨の通知を前記主転送装置に対して送信する通知手段とを備えることを特徴とするデータ転送システム。 A data transfer system for transferring data between a main transfer device and a slave transfer device via a plurality of buses connected by a bus connection device,
A central processing unit is connected to one of the plurality of buses,
The main transfer device is a device on the slave transfer device side of the bus connection devices connected to the bus to which the central processing unit is connected in a path when transfer is performed from the main transfer device to the slave transfer device. Transmission means for transmitting to the slave transfer device bus connection number information based on the number of the bus connection devices located between the bus connection device and the master transfer device;
The bus connection device changes the bus connection number information based on the fact that the bus connection number information has passed through the bus connection device when the bus connection number information is received; and
If the predetermined value indicating that the bus connection device is a bus connection device on the slave transfer device side matches the bus connection number information, a notification that the data transfer has been completed is sent to the main transfer. A data transfer system comprising: notification means for transmitting to a device.
前記送信手段は前記主送信装置を特定するための識別情報を送信し、
前記終了通知仲介装置は
前記通知手段から前記通知と共に前記識別情報を受信する通知受信手段と、
前記識別情報に示される前記主転送装置に対して前記通知を送信する通知送信手段とを備えることを特徴とする請求項1〜4に記載のデータ転送システム。 An end notification intermediary device connected to all the bus connection devices connected to the plurality of buses and the main transfer device;
The transmission means transmits identification information for specifying the main transmission device;
The end notification mediating apparatus includes a notification receiving unit that receives the identification information together with the notification from the notification unit;
The data transfer system according to claim 1, further comprising notification transmission means for transmitting the notification to the main transfer device indicated by the identification information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003369422A JP2005135109A (en) | 2003-10-29 | 2003-10-29 | Data transfer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003369422A JP2005135109A (en) | 2003-10-29 | 2003-10-29 | Data transfer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005135109A true JP2005135109A (en) | 2005-05-26 |
Family
ID=34646785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003369422A Withdrawn JP2005135109A (en) | 2003-10-29 | 2003-10-29 | Data transfer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005135109A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090290582A1 (en) * | 2006-04-26 | 2009-11-26 | Suenaga Hiroshi | Signal transmission method, transmission/reception device, and communication system |
-
2003
- 2003-10-29 JP JP2003369422A patent/JP2005135109A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090290582A1 (en) * | 2006-04-26 | 2009-11-26 | Suenaga Hiroshi | Signal transmission method, transmission/reception device, and communication system |
US8099537B2 (en) * | 2006-04-26 | 2012-01-17 | Panasonic Corporation | Method, device, and system for transmitting data fragments over multiple transmission lines and techniques for stopping data transmission |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100939863B1 (en) | Stream data processing device, stream data processing method, and recording medium | |
JP2008310832A (en) | Apparatus and method for distributing signal from high level data link controller to a plurality of digital signal processor cores | |
US4750115A (en) | Data communication system between two different data transmission systems | |
US20060242340A1 (en) | Image sensing device | |
GB2104751A (en) | Image transmission system | |
US6952276B2 (en) | Printer detecting data precisely in response to change in data transmission speed | |
JP4018187B2 (en) | Image forming apparatus, image forming system, and image forming method | |
JP2005135109A (en) | Data transfer system | |
JPH10228365A (en) | Printer, print system, and printing method | |
US7054958B2 (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 | |
US7196713B1 (en) | Image processing system, apparatus, method, and software | |
JP5930767B2 (en) | Electronic device, communication control method | |
JP3682512B2 (en) | Image capturing apparatus and control method thereof, printing system, printing method, and printing apparatus and control method thereof | |
US5163049A (en) | Method for assuring data-string-consistency independent of software | |
JP2004086798A (en) | Multiprocessor system | |
US6847637B1 (en) | Unit and method for switching data packets, a data processing apparatus comprising such a unit and a network comprising them | |
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 | |
JP4479064B2 (en) | Information input / output device | |
JPH11504741A (en) | Method and apparatus for reducing latency on an interface by overlaying transmitted packets | |
US8601187B2 (en) | Semiconductor device and serial interface circuit | |
JP2000196873A (en) | Information processor, information processing system, method for them, and storage medium | |
JPS585047A (en) | Image loop transmission system by optical communication | |
JPH11282641A (en) | Electronic instrument, its controlling method and multi-function system | |
JP3181810B2 (en) | Data transmission equipment | |
JP2003271541A (en) | Dma transfer device and its 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: 20070109 |