JP2005135109A - Data transfer system - Google Patents

Data transfer system Download PDF

Info

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
Application number
JP2003369422A
Other languages
Japanese (ja)
Inventor
Shinichi Kawaguchi
真一 川口
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2003369422A priority Critical patent/JP2005135109A/en
Publication of JP2005135109A publication Critical patent/JP2005135109A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To generate a data transfer end interrupt in proper timing during data transfer in a bus system having a plurality of buses. <P>SOLUTION: In the bus system having a plurality of buses 4, 8, and 11, DMA transfer between bus masters 2, 3, 6, and 9 and a memory 12 is performed by using a communication packet 20. The bus master 2, 3, 6, or 9 serving as the transmission source of the communication packet 20 decreases a number set in the communication packet 20 when the communication packet 20 passes through the bus masters 2, 3, 6, and 9, bridges 7 and 10 and a memory 12. When the number set in the communication packet 20 reaches 0, a notice of the end of the transfer is given to the bus masters 2, 3, 6, or 9 serving as the transmission source of the communication packet 20. Consequently, the bus master 2, 3, 6, or 9 generates a transfer end interrupt to a CPU 5. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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つの条件を満足したときに、アンド回路から割り込み信号をプロセッサへ出力するバースト転送終了割り込み信号発生回路について記述されている。
特開平5−28093号公報
For example, Patent Document 1 below discloses a FIFO (First In First Out) memory for temporarily storing data in order to prevent a burst transfer end interrupt signal generation circuit from erroneously giving a burst transfer end interrupt signal to a processor. The memory empty signal is ON, the data transfer end signal indicating that the DMA (Direct Memory Access) control circuit indicates the end of burst transfer is ON, and the write signal given to the FIFO memory by the DMA control circuit is set for a certain time by the delay of the timer. A burst transfer end interrupt signal generation circuit is described that outputs an interrupt signal from an AND circuit to a processor when the three conditions that a timer output signal indicating nonexistence is turned on are satisfied.
Japanese Patent Laid-Open No. 5-28093

しかしながら、上記前者の背景技術では、データ転送先に実際にデータが転送される前に、割り込みを発生してしまい、他のバスマスタが同じ領域にアクセスした場合に、まだ所望のデータが書き込まれていないということが起こりえる。上記後者の背景技術では、データ転送に対してレーシングが起きないような段階に至ってもまだ割り込みを通知しないので、他のバスマスタからのデータ転送の開始を必要以上に遅らせてしまうこととなる。また、上記特許文献においては、複数バスにまたがるデータ転送の場合については記述されていない。   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 claim 1 is a data transfer system that is connected by a bus connection device and transfers data between a main transfer device and a slave transfer device via a plurality of buses, and is connected to one of the plurality of buses. Is connected to the bus to which the central processing unit is connected in the path when the main transfer device transfers data from the main transfer device to the slave transfer device. Transmission means for transmitting bus connection number information based on the number of bus connection devices located between the bus connection device on the slave transfer device side and the master transfer device to the slave transfer device, When the bus connection device receives the bus connection number information, 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; and the bus connection device If the predetermined value indicating that the device is a bus connection device on the slave transfer device side and the bus connection number information match, a notification that the data transfer has been completed is sent to the main transfer device. And a notification means for transmitting.

請求項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 claim 1 or 2, wherein the changing unit acquires the bus use right when transmitting the bus connection number information. The number information is decremented by one.

請求項4に係るデータ転送システムは、請求項1〜3に記載のデータ転送システムであって、前記主転送装置は前記通知を前記バス接続装置から受信した場合に前記中央処理装置に割り込みを発生する割り込み手段を更に備えることを特徴とする。   The data transfer system according to claim 4 is the data transfer system according to claims 1 to 3, wherein the main transfer device generates an interrupt to the central processing unit when the notification is received from the bus connection device. It is further characterized by further comprising an interrupting means.

請求項5に係るデータ転送システムは、請求項1〜4に記載のデータ転送システムであって、前記複数のバスに接続される全ての前記バス接続装置及び前記主転送装置に接続された終了通知仲介装置を更に備え、前記送信手段は前記主送信装置を特定するための識別情報を送信し、前記終了通知仲介装置は前記通知手段から前記通知と共に前記識別情報を受信する通知受信手段と、前記識別情報に示される前記主転送装置に対して前記通知を送信する通知送信手段とを備えることを特徴とする。   The data transfer system according to claim 5 is the data transfer system according to claims 1 to 4, wherein all the bus connection devices connected to the plurality of buses and an end notification connected to the main transfer device Further comprising an intermediary device, wherein the transmission means transmits identification information for specifying the main transmission device, and the end notification mediation device receives the identification information together with the notification from the notification means; And a notification transmission unit configured to transmit the notification to the main transfer device indicated by the identification information.

請求項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. Buses 4, 8, and 11 are three buses in this system. The configuration of signal lines in each bus need not be the same. The bus master 2 and the bus master 3 have a DMA (Direct Memory Access) function to the memory 12 and are connected to the bus 4. The bus master 6 has a DMA function to the memory 12 and is connected to the bus 8. The bus master 9 has a DMA function to the memory 12 and is connected to the bus 11. The bridge 7 is a circuit that connects the bus 4 and the bus 8 and converts and transfers signals on the bus between the two buses. The bridge 10 is a circuit that connects the bus 8 and the bus 11.

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 memory 12 is also accessed. The memory 12 is, for example, a RAM (Random Access Memory) connected to the bus 11. The decoder 1 is connected to all devices (bus masters 2, 3, 6, 9, bridges 7, 10, memory 12) other than the CPU 5, and notifies the end of data transfer in the DMA received from the bridges 7, 10 or memory 12 (hereinafter, The bus master identification information (for example, a number assigned to the bus master) is decoded and notified to the bus master performing the DMA. The bus master is a device that can obtain the right to use the bus. For example, in an image forming apparatus such as a copying machine, a data compression / decompression apparatus is the bus master. The bus master obtains the right to use the bus and designates a target device (for example, the memory 12) to perform data transfer. Transferring data from the bus master to the target device (memory) is called writing, and transferring data from the target device (memory) to the bus master is called reading.

図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 ID area 21 is an area for storing information for identifying the bus master of the transmission source, and stores numbers assigned to each bus master, for example. The count information area 22 is count information for counting when the device that transfers this packet acquires the right to use the bus and when the device receives this packet, thereby notifying the transmission source bus master of the transfer end. Get time. The R / W information area 23 is used to transfer data from the bus master to the memory or the like (hereinafter referred to as “write”), or to transfer data from the memory or the like to the bus master (hereinafter referred to as “read”). ) Is an area for storing information indicating the type of one used. This type is represented by R (read) or W (write), for example. The address area 24 is an area for storing a write destination / read destination address of data transferred by the packet. The data area 25 is an area for storing data to be transferred or the address of the transmission source bus master. In the present embodiment, the data area 25 has a predetermined size and a fixed length.

図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 ID area 21 stores identification information of the transmission source bus master. The count information area 22 stores the count information described above. However, if the transfer data is divided into a plurality of times and transmitted, other than the last packet, a sufficiently large number that does not become 0 even if the packet arrives at the memory or the like is stored as the count information. In the R / W information area 23, “W” is stored. The address area 24 stores the start address of a memory area to which data to be stored in the data area 25 is written. The data area 25 stores data to be transferred (data to be written to a memory or the like). In the case of writing, only the packet is transmitted from the bus master to the memory, and no packet is returned from the memory to the bus master.

図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 ID area 21 stores identification information of the transmission source bus master. The count information area 22 stores the count information described above. “R” is stored in the R / W information area 23. The address area 24 stores the start address of the memory area to be read. The address of the bus master that is the transmission source of the packet is stored in the first half portion 25a of the data area 25. In the latter half portion 25b of the data area 25, the size of data to be read is stored.

図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 ID area 21 stores the identification information of the transmission source bus master stored in the ID area 21 of the read request packet. In the count information area 22, a sufficiently large number that does not become zero even when a packet arrives at the bus master is stored as count information. “R” is stored in the R / W information area 23. The address area 24 stores the start address of a memory area from which data stored in the data area 25 is read. The data area 25 stores data to be transferred (data read from the memory).

図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 bus masters 2, 3, 6, and 9. The bus masters 2, 3, 6, and 9 are a data transfer control unit 31, a packet creation unit 32, a packet transmission unit 33, a counter decrement unit 34, a packet reception unit 35, a data reception unit 36, a transfer end notification reception unit 37, and an interrupt transmission. The unit 38 is provided.

データ転送制御部31は当該バスマスタがデータ転送を行うか否かを決定する。また、転送データを複数パケットに分けて送信する場合にその制御を行う。パケット作成部32はデータ転送の種別(ライト又はリード)に従って図2(b)に示すライトパケット又は図2(c)に示すリード要求パケットを作成するものである。ID領域21には当該バスマスタに割り当てられた例えば番号を格納する。カウント情報領域22には予め当該バスマスタが保持している、ターゲットデバイス毎に決定されたカウント値(数)をカウント情報として格納する。このカウント値はバスシステムの構成(例えば当該バスマスタからターゲットデバイスまでに通過すべきブリッジの数及びCPUの接続位置等)により決定されるもので、バスシステムの構成時にバスマスタに各メモリ等に対応させて格納される。R/W情報領域23にはデータ転送がリードであるかライトであるかによりRまたはWを設定する。アドレス領域24にはライトの場合にはデータ領域25に格納するデータをライトするメモリアドレス、リードの場合にはリードするデータが格納されているメモリアドレスを格納する。データ領域25にはライトの場合には転送データ、リードの場合には当該バスマスタのアドレス及びリードするデータのサイズを格納する。   The data transfer control unit 31 determines whether or not the bus master performs data transfer. In addition, when the transfer data is divided into a plurality of packets and transmitted, the control is performed. The packet creation unit 32 creates the write packet shown in FIG. 2B or the read request packet shown in FIG. 2C according to the type of data transfer (write or read). In the ID area 21, for example, a number assigned to the bus master is stored. In the count information area 22, a count value (number) determined for each target device, which is held in advance by the bus master, is stored as count information. This count value is determined by the configuration of the bus system (for example, the number of bridges to be passed from the bus master to the target device and the connection position of the CPU, etc.). When the bus system is configured, the bus master corresponds to each memory. Stored. R or W is set in the R / W information area 23 depending on whether the data transfer is a read or a write. The address area 24 stores a memory address for writing data to be stored in the data area 25 in the case of writing, and a memory address in which data to be read is stored in the case of reading. The data area 25 stores transfer data in the case of writing, and the address of the bus master and the size of data to be read in the case of reading.

パケット送信部33はパケット作成部32が作成したパケットを送信するものである。パケット送信部33は、パケットを送信する場合にはまず当該バスマスタが接続されたバスの使用権を取得し、バスの使用権を取得したらカウンタ繰り下げ部34に対してパケットに記述されたカウント情報を1繰り下げることを指示し、これが行われた後、当該バスマスタが認識するターゲットデバイス(メモリ等)のアドレスをアドレスバスに出力しデータバスにパケットを複数回に分けて出力することによりパケットの送信を行う。   The packet transmission unit 33 transmits the packet created by the packet creation unit 32. When transmitting a packet, the packet transmission unit 33 first acquires the right to use the bus to which the bus master is connected. When the right to use the bus is acquired, the packet transmission unit 33 sends the count information described in the packet to the counter decrement unit 34. When this is done, the address of the target device (memory, etc.) recognized by the bus master is output to the address bus, and the packet is transmitted to the data bus in multiple times to transmit the packet. Do.

カウンタ繰り下げ部34はパケット送信部33からの指示によりパケットのカウント情報を1繰り下げる処理を行う。パケット受信部35は当該バスマスタが接続されたバスを介してパケットを構成するデータを受信しこれを蓄積してパケットを構築することによりパケットを受信する。データ受信部36は受信したパケットのデータ領域から転送データを取り出し、このデータを使用する機能部(図示なし)に渡す。   The counter decrement unit 34 performs a process of decrementing the packet count information by one according to an instruction from the packet transmission unit 33. The packet receiving unit 35 receives the data by receiving the data constituting the packet via the bus to which the bus master is connected, and storing the data to construct the packet. The data receiving unit 36 takes out the transfer data from the data area of the received packet and passes it to a functional unit (not shown) that uses this data.

転送終了通知受信部37はメモリ12が送信した転送終了通知をデコーダ1を介して受け取るものである。転送終了通知受信部37は転送終了通知を受け取った場合にはその旨を割り込み送信部38に通知する。割り込み送信部38は転送終了通知受信部37から転送終了通知を受け取った旨を通知されたことを契機にCPU5に対して割り込みを送信する。   The transfer end notification receiving unit 37 receives the transfer end notification transmitted from the memory 12 via the decoder 1. When the transfer end notification receiving unit 37 receives the transfer end notification, the transfer end notification receiving unit 37 notifies the interrupt transmitting unit 38 to that effect. The interrupt transmission unit 38 transmits an interrupt to the CPU 5 when notified from the transfer end notification receiving unit 37 that the transfer end notification has been received.

図4は、ブリッジ7,10が備える機能の構成を示したブロック図である。ブリッジ7,10はパケット受信部41、カウンタ繰り下げ部42、転送終了通知部43、及びパケット送信部44を備える。   FIG. 4 is a block diagram showing a configuration of functions provided in the bridges 7 and 10. The bridges 7 and 10 include a packet reception unit 41, a counter decrement unit 42, a transfer end notification unit 43, and a packet transmission unit 44.

パケット受信部41はバスマスタ等から送信されたパケットをパケット受信部35と同様に受信する。パケット受信部41はカウンタ繰り下げ部42に対して受信したパケットのカウント情報を1繰り下げることを指示する。カウンタ繰り下げ部42はパケット受信部41又はパケット送信部44からの指示によりパケットのカウント情報を1繰り下げる処理を行う。転送終了通知部43はパケットのカウント情報22をチェックしてカウント情報22が0であるならばデコーダ1に対して転送終了通知としてパケットに記述されたID情報21を送信する。   The packet receiver 41 receives a packet transmitted from a bus master or the like in the same manner as the packet receiver 35. The packet receiving unit 41 instructs the counter decrement unit 42 to decrement the received packet count information by one. The counter decrementing unit 42 performs a process of decrementing the packet count information by one according to an instruction from the packet receiving unit 41 or the packet transmitting unit 44. The transfer end notification unit 43 checks the packet count information 22 and, if the count information 22 is 0, transmits the ID information 21 described in the packet to the decoder 1 as a transfer end notification.

パケット送信部44は受信したパケットを転送するものである。パケット送信部44は、パケットを送信する場合にはまず当該ブリッジが接続されたバスのうちパケットを受信した側でない方のバスの使用権を取得し、バスの使用権を取得したらカウンタ繰り下げ部42に対してパケットに記述されたカウント情報22を1繰り下げることを指示し、これが行われた後、パケット受信側のアドレスバスの情報を送信側のアドレスバスに出力しデータバスにパケットを複数回に分けて出力することによりパケットを送信する。   The packet transmission unit 44 transfers the received packet. When transmitting a packet, the packet transmission unit 44 first acquires the right to use the bus not receiving the packet among the buses to which the bridge is connected. When the right to use the bus is acquired, the counter decrement unit 42 Is instructed to decrement the count information 22 described in the packet by one, and after this is done, the address bus information on the packet receiving side is output to the address bus on the transmitting side, and the packet is sent to the data bus multiple times. Packets are transmitted by outputting separately.

図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 memory 12. The memory 12 includes a packet receiver 51, a counter decrement unit 52, a transfer end notification unit 53, a data read / write unit 54, a packet creation unit 55, a packet transmission unit 56, a data transfer control unit 57, and a data storage unit 58.

パケット受信部51はバスマスタ等から送信されたパケットをパケット受信部35,41と同様に受信する。パケット受信部51はカウンタ繰り下げ部52に対して受信したパケットのカウント情報22を1繰り下げることを指示する。カウンタ繰り下げ部52はパケット受信部51又はパケット送信部56からの指示によりパケットのカウント情報を1繰り下げる処理を行う。転送終了通知部53はパケットのカウント情報22をチェックしてカウント情報が0であるならばデコーダ1に対して転送終了通知としてパケットに記述されたID情報21を送信する。   The packet receiving unit 51 receives packets transmitted from the bus master or the like in the same manner as the packet receiving units 35 and 41. The packet receiving unit 51 instructs the counter decrement unit 52 to decrement the received packet count information 22 by one. The counter decrement unit 52 performs a process of decrementing the packet count information by 1 according to an instruction from the packet reception unit 51 or the packet transmission unit 56. The transfer end notification unit 53 checks the packet count information 22 and, if the count information is 0, transmits the ID information 21 described in the packet to the decoder 1 as a transfer end notification.

データ読み書き部54はライトパケット(図2(b))を受信した場合にはパケットのデータ領域25から転送データ、アドレス領域24からライトアドレスを取り出し、データ記憶部58の上記ライトアドレスに上記転送データを格納する。リード要求パケット(図2(c))を受信した場合にはアドレス領域24からリードアドレス、データ領域25bからサイズを取り出し、データ記憶部58の上記アドレスから上記サイズ分のデータをデータ転送制御部57の指示に従い1つのパケットに格納するデータ量分ずつ読み出し、パケット作成部55に渡す。   When the data read / write unit 54 receives a write packet (FIG. 2B), it extracts the transfer data from the data area 25 of the packet and the write address from the address area 24, and transfers the transfer data to the write address of the data storage unit 58. Is stored. When a read request packet (FIG. 2C) is received, the read address is extracted from the address area 24 and the size is extracted from the data area 25b, and the data for the size is transferred from the address in the data storage section 58 to the data transfer control section 57. In accordance with the instruction, the data amount stored in one packet is read out and transferred to the packet creation unit 55.

パケット作成部55はリード要求パケットを受信した場合にリードパケット(図2(d))を作成する。ID領域21には受信したパケットの内容をコピーする。カウント情報領域22にはバスマスタにパケットが到着しても0にならない十分大きな数を入れる(これはバスマスタがパケット到着時に転送終了通知を出す必要がないため)。R/W領域23にはRを入れる。アドレス領域24にはデータ領域に格納するデータの先頭アドレスを入れる。データ領域25にはデータ読み書き部54から渡された、データ記憶部58から読み出したデータを格納する。   The packet creation unit 55 creates a read packet (FIG. 2D) when a read request packet is received. The contents of the received packet are copied to the ID area 21. In the count information area 22, a sufficiently large number that does not become 0 even when a packet arrives at the bus master is entered (this is because the bus master does not need to issue a transfer end notification when the packet arrives). R is entered in the R / W area 23. In the address area 24, the head address of data stored in the data area is entered. In the data area 25, the data read from the data storage unit 58 and transferred from the data read / write unit 54 is stored.

パケット送信部56はパケット作成部55が作成したパケットを送信するものである。パケット送信部56は受信したパケットのデータ領域25aから返信アドレスを取得する。パケット送信部56はパケットを送信する場合にはまず当該バスマスタが接続されたバスの使用権を取得し、バスの使用権を取得したらカウンタ繰り下げ部52に対してパケットに記述されたカウント情報22を1繰り下げることを指示し、これが行われた後、上記取得したアドレスをアドレスバスに出力しデータバスにパケットを複数回に分けて出力することによりパケットの送信を行う。   The packet transmission unit 56 transmits the packet created by the packet creation unit 55. The packet transmission unit 56 acquires a return address from the data area 25a of the received packet. When transmitting a packet, the packet transmission unit 56 first acquires the right to use the bus to which the bus master is connected. When the right to use the bus is acquired, the packet transmission unit 56 sends the count information 22 described in the packet to the counter decrement unit 52. After this is instructed, the packet is transmitted by outputting the acquired address to the address bus and outputting the packet in multiple times to the data bus.

データ転送制御部57はリードデータを複数パケットに分けて送信する場合の制御を行う。データ記憶部58はメモリとしてデータを記憶するものである。   The data transfer control unit 57 performs control when the read data is transmitted by being divided into a plurality of packets. The data storage unit 58 stores data as a memory.

図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 decoder 1. The decoder 1 includes a transfer end notification destination analysis unit 61 and a transfer end notification transmission unit 62. The transfer end notification destination analysis unit 61 selects a bus master corresponding to the ID information 21 based on the ID information 21 received from the memory. The transfer end notification transmission unit 62 transmits a transfer end notification to the bus master selected by the transfer end notification destination analysis unit 61.

図7はバスマスタ2,3,6,9のデータ転送に係る処理の流れを示すフローチャートである。以下にバスマスタのデータ転送に係る処理の流れを説明する。   FIG. 7 is a flowchart showing a flow of processing relating to data transfer of the bus masters 2, 3, 6, and 9. The flow of processing related to data transfer of the bus master will be described below.

ステップ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 transfer control unit 31 determines whether or not to perform data transfer. If data transfer is to be performed (YES in step S1), the process proceeds to step S3. In step S3, the packet creation unit 32 creates a packet to be transmitted in accordance with the purpose such as R / W. In step S5, the packet transmission unit 33 repeats acquisition of the right to use until the right to use the bus to which the bus master is connected is obtained (NO in step S5). If the right to use the bus is acquired (YES in step S5), the process proceeds to step S7. In step S7, the packet transmission unit 33 instructs the counter decrement unit 34 to decrement the packet count information by 1, and the counter decrement unit 34 executes this. In step S9, the packet transmission unit 33 outputs the address of the target device (for example, the memory 12) to the address bus, divides the packet into a plurality of times, and outputs the packet to the data bus.

ステップS11では、データ転送制御部31は全転送データが送信し終わったか否かを判定し、送信する転送データがまだある場合には(ステップS11でYES)ステップS3へ戻り、残りの転送データの送信を行う。全転送データが送信し終わった場合には(ステップS11でNO)ステップS13へ進む。ステップS13では、データ送信部33はバスを解放する。ステップS1の分岐においてデータ転送を行わないと判断した場合(ステップS1でNO)及びステップS13の処理が終了した場合にはステップS15へ進む。   In step S11, the data transfer control unit 31 determines whether or not all transfer data has been transmitted. If there is still transfer data to be transmitted (YES in step S11), the process returns to step S3, and the remaining transfer data is transferred. Send. If all the transfer data has been transmitted (NO in step S11), the process proceeds to step S13. In step S13, the data transmission unit 33 releases the bus. When it is determined that data transfer is not performed in the branch of step S1 (NO in step S1) and when the process of step S13 is completed, the process proceeds to step S15.

ステップS15では、パケット受信部35はパケットを受信したか否かをチェックし、パケットを受信した場合には(ステップS15でYES)ステップS17へ進む。ステップS17では、データ受信部36はパケットのアドレス領域24に格納されたアドレスとデータ領域25に格納されたデータを取り出し、このデータを前記アドレスからのリードデータとして使用する。ステップS15の分岐においてパケットを受信しなかった場合(ステップS15でNO)及びステップS17の処理が終了した場合にはステップS19へ進む。   In step S15, the packet receiver 35 checks whether or not a packet has been received. If a packet has been received (YES in step S15), the process proceeds to step S17. In step S17, the data receiving unit 36 takes out the address stored in the address area 24 of the packet and the data stored in the data area 25, and uses this data as read data from the address. If no packet is received in the branch of step S15 (NO in step S15) and if the process of step S17 is completed, the process proceeds to step S19.

ステップS19では、転送終了通知受信部37は転送終了通知をデコーダ1から受信したか否かをチェックし、転送終了通知を受信した場合には(ステップS19でYES)ステップS21へ進む。ステップS21では、割り込み送信部38はCPU5に対して転送終了割り込みを行う。ステップS19の分岐において転送終了通知を受信しなかった場合(ステップS19でNO)及びステップS21の処理が終了した場合にはステップS1へ戻りステップS1からの処理を繰り返す。   In step S19, the transfer end notification receiving unit 37 checks whether or not a transfer end notification is received from the decoder 1, and if a transfer end notification is received (YES in step S19), the process proceeds to step S21. In step S21, the interrupt transmission unit 38 issues a transfer end interrupt to the CPU 5. When the transfer end notification is not received in the branch of step S19 (NO in step S19) and when the process of step S21 is completed, the process returns to step S1 and the processes from step S1 are repeated.

図8はブリッジ7,10の処理の流れを示すフローチャートである。以下にブリッジの処理の流れを説明する。   FIG. 8 is a flowchart showing the flow of processing of the bridges 7 and 10. The processing flow of the bridge will be described below.

ステップ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 packet receiver 41 checks whether or not a packet is received until a packet is received (NO in step S31). If a packet has been received (YES in step S31), the process proceeds to step S33. In step S33, the packet reception unit 41 instructs the counter decrement unit 42 to decrement the packet count information 22 by one, and the counter decrement unit 42 executes this. In step S35, the transfer end notification unit 43 checks whether or not the packet count information 22 is zero. If the count information 22 is 0 (YES in step S35), the process proceeds to step S37. In step S37, the transfer end notification unit 43 transmits the packet ID information 21 to the decoder 1 as a transfer end notification.

ステップ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 count information 22 is not 0 in the branch of step S35 (NO in step S35) and when the process of step S37 is completed, the process proceeds to step S39. In step S39, the packet transmitter 44 tries to acquire the right to use until the right to use the bus on the side opposite to the side that received the packet is acquired (NO in step S39). If the right to use the bus is acquired (YES in step S39), the process proceeds to step S41. In step S41, the packet transmission unit 44 instructs the counter decrement unit 42 to decrement the packet count information 22 by one, and the counter decrement unit 42 executes this. In step S43, the packet transmission unit 44 outputs the address of the target device (for example, the memory 12) to the address bus, divides the packet into a plurality of times, and outputs the packet to the data bus. In step S45, the packet transmission unit 44 releases the bus.

図9はメモリ12のデータ転送に係る処理の流れを示すフローチャートである。以下にメモリ12のデータ転送に係る処理の流れを説明する。   FIG. 9 is a flowchart showing a flow of processing relating to data transfer in the memory 12. The flow of processing related to data transfer in the memory 12 will be described below.

ステップ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 packet receiver 51 checks whether or not a packet has been received until a packet is received (NO in step S51). If a packet has been received (YES in step S51), the process proceeds to step S53. In step S53, the packet receiving unit 51 instructs the counter decrement unit 52 to decrement the packet count information 22 by one, and the counter decrement unit 52 executes this. In step S55, the transfer end notification unit 53 checks whether or not the packet count information 22 is zero. If the count information 22 is 0 (YES in step S55), the process proceeds to step S57. In step 57, the transfer end notification unit 53 transmits the packet ID information 21 to the decoder 1 as a transfer end notification.

ステップS55の分岐においてカウント情報22が0でなかった場合(ステップS55でNO)及びステップS57の処理が終了した場合にはステップS59へ進む。ステップS59では、データ読み書き部54はパケットのR/W情報23をチェックし、Wである場合には(ステップS59でYES)ステップS61へ進む。ステップS61では、データ読み書き部54はパケットのアドレス領域24からアドレス、データ領域25から転送データを取り出し、データ記憶部58の上記アドレスに上記転送データを書き込む。   When the count information 22 is not 0 in the branch of step S55 (NO in step S55) and when the process of step S57 is completed, the process proceeds to step S59. In step S59, the data read / write unit 54 checks the R / W information 23 of the packet, and if it is W (YES in step S59), the process proceeds to step S61. In step S 61, the data read / write unit 54 extracts the address from the address area 24 of the packet and the transfer data from the data area 25, and writes the transfer data to the address in the data storage unit 58.

ステップ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 packet transmission unit 56 takes out the packet return address (the address of the bus master that transmitted the packet) from the packet data area 25a. In step S65, the data read / write unit 54 extracts the size information of the data to be read from 25b after the read address of the memory from the packet address area 24 and the packet return address of the data area. In step S <b> 67, the data read / write unit 54 reads the data corresponding to the size or the amount transferred by the packet from the read address according to the instruction of the data transfer control unit 57 and passes the data to the packet creation unit 55.

ステップS69では、パケット作成部55は返信用パケット(図2(d))を作成する。ステップS71では、パケット送信部56はバスの使用権を獲得するまで使用権獲得を試みる(ステップS71でNO)。バスの使用権を獲得したら(ステップS71でYES)ステップS73へ進む。ステップS73では、パケット送信部56はカウンタ繰り下げ部52に対しパケットのカウント情報22を1繰り下げるよう指示し、カウンタ繰り下げ部52はこれを実行する。ステップS75では、パケット送信部56は受信パケットから取り出した返信先アドレス25aをアドレスバスに出力してパケットを複数回に分けてデータバスに出力する。   In step S69, the packet creation unit 55 creates a reply packet (FIG. 2 (d)). In step S71, the packet transmission unit 56 tries to acquire the usage right until it acquires the bus usage right (NO in step S71). If the right to use the bus is acquired (YES in step S71), the process proceeds to step S73. In step S73, the packet transmission unit 56 instructs the counter decrement unit 52 to decrement the packet count information 22 by one, and the counter decrement unit 52 executes this. In step S75, the packet transmission unit 56 outputs the return address 25a extracted from the received packet to the address bus, and outputs the packet to the data bus in a plurality of times.

ステップS77では、データ転送制御部57は全転送データが送信し終わったか否かを判定し、送信する転送データがまだある場合には(ステップS77でYES)ステップS67へ戻り、残りの転送データを送信を行う。全転送データが送信し終わった場合には(ステップS77でNO)ステップS79へ進む。ステップS79では、データ送信部33はバスを解放する。   In step S77, the data transfer control unit 57 determines whether or not all transfer data has been transmitted. If there is still transfer data to be transmitted (YES in step S77), the process returns to step S67, and the remaining transfer data is transferred. Send. If all the transfer data has been transmitted (NO in step S77), the process proceeds to step S79. In step S79, the data transmission unit 33 releases the bus.

図10はデコーダ1の処理の流れを示すフローチャートである。以下にデコーダ1の処理の流れを説明する。   FIG. 10 is a flowchart showing the flow of processing of the decoder 1. The processing flow of the decoder 1 will be described below.

ステップS81では、転送終了通知先解析部61は転送終了通知としてバスマスタを識別するためのID情報21、例えば識別番号を受信するまで待つ(ステップS81でNO)。ID情報を受信したら(ステップS81でYES)、ステップS83へ進む。ステップS83では、転送終了通知先解析部61は受信したID情報をデコードして対応するバスマスタへの信号線を選出する。ステップS85では、転送終了通知送信部62は選出された信号線をオンにすることにより対応するバスマスタに対して転送終了通知を送信する。   In step S81, the transfer end notification destination analysis unit 61 waits until receiving ID information 21, for example, an identification number, for identifying the bus master as a transfer end notification (NO in step S81). If the ID information is received (YES in step S81), the process proceeds to step S83. In step S83, the transfer end notification destination analysis unit 61 decodes the received ID information and selects a signal line to the corresponding bus master. In step S85, the transfer end notification transmitter 62 transmits a transfer end notification to the corresponding bus master by turning on the selected signal line.

図11はバスマスタ3からメモリ12に対してライトを行う際の処理の流れを示す図である。本フローチャートにおいては縦の列に同じデバイスの処理が並べられている。以下にこの流れを説明する。   FIG. 11 is a diagram showing the flow of processing when the bus master 3 writes to the memory 12. In this flowchart, the processes of the same device are arranged in a vertical column. This flow will be described below.

ステップ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 ID information 21 and 4 is stored in the count information 22, and the right to use the bus 4 is acquired. In step S93, the bus master 3 decrements the count information 22 by one. In step S 95, the bus master 3 outputs the packet to the bus 4 and transmits it to the memory 12. In step S97, the bridge 7 receives the packet. In step S99, the bridge 7 decrements the count information 22 by 1. In step S101, the bridge 7 acquires the right to use the bus 8. In step S103, the bridge 7 decrements the count information 22 by 1. In step S <b> 105, the bridge 7 outputs the packet to the bus 8 and transmits it to the memory 12.

ステップ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 bridge 10 receives the packet. In step S109, the bridge 10 decrements the count information 22 by 1 to zero. In step S111, the bridge 10 transmits the number “3” stored in the ID information 21 to the decoder 1 as a transfer end notification. In step S113, the bridge 10 acquires the right to use the bus 11. In step S115, the bridge 10 decrements the count information 22 by 1 to “−1”. In step S117, the bridge 10 outputs the packet to the bus 11 and transmits it to the memory 12. In step S119, the memory 12 receives the packet and writes the transfer data in the packet to the designated address.

一方、ステップS121では、デコーダ1が転送終了通知として数「3」をブリッジ10から受信する。ステップS123では、デコーダ1は「3」をデコードしバスマスタ3への信号線をオンにすることにより転送終了通知を行う。ステップS125では、バスマスタ3は転送終了通知を受け取る。ステップS127では、バスマスタ3はCPU5に転送終了割り込みを発生する。   On the other hand, in step S121, the decoder 1 receives the number “3” from the bridge 10 as a transfer end notification. In step S123, the decoder 1 decodes “3” and turns on the signal line to the bus master 3, thereby giving a transfer end notification. In step S125, the bus master 3 receives a transfer end notification. In step S127, the bus master 3 generates a transfer end interrupt to the CPU 5.

図12はバスマスタ9からメモリ12に対してライトを行う際の処理の流れを示す図である。以下にこの流れを説明する。   FIG. 12 is a diagram showing the flow of processing when the bus master 9 writes to the memory 12. This flow will be described below.

ステップ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 bus master 9 creates a packet in which 9 is stored in the ID information 21 and 2 is stored in the count information 22, and the right to use the bus 11 is acquired. In step S133, the bus master 9 decrements the count information 22 by 1. In step S <b> 135, the bus master 9 outputs the packet to the bus 11 and transmits it to the memory 12. In step S137, the memory 12 receives the packet. In step S139, the memory 12 decrements the count information 22 by one. In step S141, the memory 12 transmits the number “9” stored in the ID information 21 to the decoder 1 as a transfer end notification. On the other hand, in step S143, the decoder 1 receives the number “9” from the memory 12 as a transfer end notification. In step S145, the decoder 1 performs the transfer end notification by decoding “9” and turning on the signal line to the bus master 9. In step S147, the bus master 9 receives a transfer end notification. In step S149, the bus master 9 generates a transfer end interrupt to the CPU 5.

このように本実施形態によれば、例えばバスマスタ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 memory 12, the transfer end notification is sent via the decoder when the packet transmitted from the bus master 3 arrives at the bridge 10. The bus master 3 that has received the request interrupts the CPU 5. For example, in the DMA transfer (for example, write) performed by the bus master 9 to the memory 12, when the packet transmitted from the bus master 9 arrives at the memory 12, a transfer end notification is transmitted to the bus master 9 via the decoder. The bus master 9 having received this interrupts the CPU 5. As described above, the transfer end notification to the bus master related to data transfer is transmitted when contention for the data transfer does not occur (when the packet arrives at a timing at which the data transfer from the CPU is not overtaken). It is possible to prevent the transfer end notification from being performed at the time when the conflict can occur, and to prevent the transfer end notification from being performed until the data transfer is completed even though the data transfer conflict does not occur. be able to. As a result, a data transfer end interrupt can be performed at a suitable timing, and the efficiency of data transfer can be improved.

なお、リードの場合の転送終了通知を送信する時期はライトの場合と同じタイミングとなる。これは、リード要求パケットが他のパケットに追い越されなければ、その後同じ領域へのライトパケットが 来ても、ライトされる以前のデータを読んだライトパケットを返せるためである。また、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 count information 22 of the packet other than the last packet (packet storing the end of the transfer data). A sufficiently large number that does not become zero is stored. This is because the transfer end notification is not performed even if a packet other than the final packet arrives at the destination device.

本実施形態においては、パケットを送信するデバイスがバスの使用権を獲得した場合、及びデバイスがパケットを受信した場合にカウント情報22を1繰り下げたが、必ずしもこのようにする必要はなく例えばデバイスがパケットを受信した場合のみにカウント情報22を1繰り下げるようにしてもよい。   In the present embodiment, the count information 22 is decremented by 1 when the device that transmits the packet acquires the right to use the bus and when the device receives the packet. Only when a packet is received, the count information 22 may be decremented by one.

また、本実施形態においては、データ領域25を固定長としたが可変長にしてもよい。この場合にはデータ領域の前にデータサイズ領域を設けデータ領域に格納されたデータの大きさを格納するようにすればよい。   In this embodiment, the data area 25 has a fixed length, but may have a variable length. In this case, a data size area may be provided in front of the data area to store the size of the data stored in the data area.

本発明の一実施形態におけるバスシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the bus system in one Embodiment of this invention. 本発明の一実施形態におけるパケットの例を示す図で、(a)は基本フォーマット、(b)はライトパケット、(c)はリード要求パケット、(d)はリードパケットである。FIG. 4 is a diagram illustrating an example of a packet in an embodiment of the present invention, where (a) is a basic format, (b) is a write packet, (c) is a read request packet, and (d) is a read packet. 本発明の一実施形態におけるバスマスタの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the bus master in one Embodiment of this invention. 本発明の一実施形態におけるブリッジの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the bridge | bridging in one Embodiment of this invention. 本発明の一実施形態におけるメモリの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the memory in one Embodiment of this invention. 本発明の一実施形態におけるデコーダの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the decoder in one Embodiment of this invention. バスマスタのデータ転送に係る処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which concerns on the data transfer of a bus master. ブリッジの処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of a bridge | bridging. メモリのデータ転送に係る処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process which concerns on the data transfer of a memory. デコーダの処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of a decoder. バスマスタ3からメモリ12にライトする場合の処理の流れを示すフローチャートである。6 is a flowchart showing a flow of processing when data is written from the bus master 3 to the memory 12. バスマスタ9からメモリ12にライトする場合の処理の流れを示すフローチャートである。6 is a flowchart showing a flow of processing when data is written from the bus master 9 to the memory 12.

符号の説明Explanation of symbols

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 packet generator 33 packet transmitter (transmission means)
35 Packet receiver 38 Interrupt transmitter (interrupt)
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繰り下げることを特徴とする請求項1に記載のデータ転送システム。   2. The data transfer system according to claim 1, wherein the changing unit lowers the bus connection number information by 1 when the bus connection number information is received. 前記変更手段は前記バス接続数情報の送信に係るバスの使用権を獲得したときに前記バス接続数情報を1繰り下げることを特徴とする請求項1又は2に記載のデータ転送システム。   3. The data transfer system according to claim 1, wherein the changing unit decrements the bus connection number information by 1 when a bus use right related to transmission of the bus connection number information is acquired. 前記主転送装置は前記通知を前記バス接続装置から受信した場合に前記中央処理装置に割り込みを発生する割り込み手段を更に備えることを特徴とする請求項1〜3に記載のデータ転送システム。   4. The data transfer system according to claim 1, wherein the main transfer device further includes an interrupt unit that generates an interrupt to the central processing unit when the notification is received from the bus connection 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.
JP2003369422A 2003-10-29 2003-10-29 Data transfer system Withdrawn JP2005135109A (en)

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)

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

Cited By (2)

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