JP2006201832A - Data transfer processing apparatus - Google Patents

Data transfer processing apparatus Download PDF

Info

Publication number
JP2006201832A
JP2006201832A JP2005009978A JP2005009978A JP2006201832A JP 2006201832 A JP2006201832 A JP 2006201832A JP 2005009978 A JP2005009978 A JP 2005009978A JP 2005009978 A JP2005009978 A JP 2005009978A JP 2006201832 A JP2006201832 A JP 2006201832A
Authority
JP
Japan
Prior art keywords
bus
data transfer
masters
priority
bus masters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005009978A
Other languages
Japanese (ja)
Inventor
Tomokazu Kaneko
智一 金子
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2005009978A priority Critical patent/JP2006201832A/en
Publication of JP2006201832A publication Critical patent/JP2006201832A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reconcile the flexible and appropriate arbitration of a bus and the avoidance of the complication of an apparatus constitution and an increase in apparatus cost and the like. <P>SOLUTION: The data transfer processing apparatus is comprised of a common bus 1, a plurality of bus masters A1 to Z for transferring data by using the common bus 1, a bus arbiter 2 for arbitrating requests to use the common bus from the plurality of bus masters A1 to Z based on an order of priority which is set beforehand and a request switching means 4 for switching the order of priority between the bus masters A1, A2 which are included in the plurality of bus masters A1 to Z at timing according to a data transfer method using the bus masters A1, A2. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、複数のバスマスタが共有している共通バスについて、その使用要求が競合したときにこれらに対する調停を行う機能を有したデータ転送処理装置に関するものである。   The present invention relates to a data transfer processing device having a function of arbitrating for common buses shared by a plurality of bus masters when use requests compete with each other.

一般に、複数のバスマスタが一つの共通バスを共有する場合、これら複数のバスマスタからの共通バス使用要求が競合すると、どのバスマスタにバス使用権を与えるか調停(バスのアービトレーション)を行う必要があるが、そのアービトレーションの代表的な方式としては、固定優先順位方式とラウンドロビン方式が知られている。固定優先順位方式は、バス使用権が与えられるバスマスタの優先順位が予め決められており、常に優先順位の高いバスマスタがバス使用権を得るというものである。一方、ラウンドロビン方式は、各バスマスタについての優先順位がアービトレーションの度に更新(ラウンド)され、バス使用権が与えられるバスマスタの順番が変わっていくというものである。現在では、両方を組み合わせた方式も一般的となっている。   In general, when multiple bus masters share a common bus, if common bus use requests from these multiple bus masters compete, it is necessary to perform arbitration (bus arbitration) to which bus master is given the bus use right. As a typical method of arbitration, a fixed priority method and a round robin method are known. In the fixed priority method, the priority order of bus masters to which a bus use right is given is determined in advance, and a bus master having a higher priority always obtains the bus use right. On the other hand, the round robin method is such that the priority order of each bus master is updated (rounded) every arbitration, and the order of the bus masters to which the bus use right is given changes. At present, a method combining both is also common.

ところが、共通バスを使用したデータ転送が非常に過密になった場合には、固定優先順位方式とラウンドロビン方式とのどちらの方式であっても、優先順位が低い低レベルのバスマスタにとって、バス使用権の獲得が困難になってしまうおそれがある。例えば、データ転送が過密になった場合、固定優先順位方式では、低レベルのバスマスタがバス使用権権を得られなくなる可能性がある。また、ラウンドロビン方式では、低レベルのバスマスタにも順番が回ってくるが、データ転送が過密ゆえに、そのバスマスタがデータ転送を実行できる保証はない。   However, if the data transfer using the common bus becomes very crowded, the fixed bus priority method and the round robin method will use the bus for low-level bus masters with low priority. There is a risk that it will be difficult to acquire the right. For example, when data transfer becomes congested, there is a possibility that a low-level bus master cannot obtain the right to use the bus in the fixed priority method. Further, in the round robin method, the turn goes to the low-level bus master, but there is no guarantee that the bus master can execute the data transfer because the data transfer is overcrowded.

そのため、近年では、より一層柔軟で適切なバスのアービトレーションを実現可能にすべく、一定時間内にデータを転送する必要のあるバスマスタをタイマーで監視し、一定期間選択されなかったらそのバスマスタの優先順位が最も高くなるようにプライオリティを変更したり(例えば、特許文献1参照)、バス占有時間に応じて使用優先率を動的に変化させ、各バスマスタによるバス占有時間の割合が一定になるようにし、アクセス実行時間が長く、頻度の多い状態となったバスマスタによる長期占有を防いだりすること(例えば、特許文献2参照)が提案されている。また、その他にも、バス調停の優先順位をレジスタのビットとして用意し、これをアクセスが発生する度にシフトして、優先順位の低いマスタにも一定時間内に確実にバス権が与えられることを保証すること(例えば、特許文献3参照)や、優先順位を各バスマスタの使用状態に応じて自律的に変更する自己学習機能をもち、優先順位が低くても使用率が上がれば優先順位を高くすること(例えば、特許文献4参照)が提案されている。   Therefore, in recent years, in order to realize more flexible and appropriate bus arbitration, a bus master that needs to transfer data within a certain period of time is monitored with a timer, and if it is not selected for a certain period, the priority of that bus master is The priority is changed so as to be the highest (see, for example, Patent Document 1), or the usage priority rate is dynamically changed according to the bus occupation time so that the ratio of the bus occupation time by each bus master becomes constant. It has been proposed to prevent long-term occupancy by a bus master having a long access execution time and frequent frequency (see, for example, Patent Document 2). In addition, the priority of bus arbitration is prepared as a register bit, which is shifted each time an access occurs, so that the master with low priority can be given the bus right within a certain time. (See, for example, Patent Document 3) and a self-learning function that autonomously changes the priority according to the usage status of each bus master. If the usage rate increases even if the priority is low, the priority is increased. Increasing the height (for example, see Patent Document 4) has been proposed.

特開平9−91194号公報Japanese Patent Laid-Open No. 9-91194 特開2002−91903号公報JP 2002-91903 A 特開2001−84219号公報JP 2001-84219 A 特開2003−150537号公報JP 2003-150537 A

しかしながら、上述した特許文献1または特許文献2に開示されたような時間による管理を行う方式では、時間計測用カウンタをバスマスタの分だけ用意する必要が生じてしまい、装置構成の複雑化や装置コストの上昇等を招いてしまう。さらに、一律に時間で管理するのでは、例えば、短時間でも必要なデータ転送があるバスマスタに対して、バス使用権が与えられなくなるおそれがある。また、上述した特許文献3に開示されたような優先順位を複数持つ方式では、柔軟かつきめ細かいアービトレーションを行える可能性があるが、そのためにはきめ細かなアービトレーションを行うだけのテーブルを用意せねばならず、装置構成の複雑化や装置コストの上昇等を招く要因となる。さらには、テーブルの用意も、様々なバスマスタの組み合わせに対応して行うことは困難である。また、上述した特許文献4に開示されたようなバス獲得回数等を計算し自律的に優先順位を変更する方式では、優先順位を自律的に変更する自己学習機能を実現するために、膨大で非常に複雑な回路(装置構成)が必要になってしまう。   However, in the method of performing management based on time as disclosed in Patent Document 1 or Patent Document 2 described above, it is necessary to prepare a time measurement counter for the bus master, which complicates the device configuration and reduces the device cost. Will be raised. Furthermore, if the management is performed uniformly in time, for example, there is a possibility that the right to use the bus may not be given to a bus master having necessary data transfer even in a short time. Further, in the method having a plurality of priorities as disclosed in Patent Document 3 described above, there is a possibility that flexible and fine-tuned arbitration can be performed. As a result, the apparatus configuration becomes complicated and the apparatus cost increases. Furthermore, it is difficult to prepare a table corresponding to various combinations of bus masters. Moreover, in the method of calculating the number of bus acquisitions and the like autonomously changing the priority order as disclosed in Patent Document 4 described above, in order to realize a self-learning function for autonomously changing the priority order, it is enormous. A very complicated circuit (device configuration) is required.

つまり、従来におけるバスのアービトレーションでは、共通バス全体の使用率の低下を回避しつつ、低レベルのバスマスタにも適切にバス使用権を与えるといった、柔軟で適切なバスのアービトレーションの実現と、そのアービトレーションを行うデータ転送処理装置の装置構成の複雑化や装置コストの上昇等の回避とを、それぞれ両立させることが困難である。
そこで、本発明は、柔軟で適切なバスのアービトレーションの実現と、装置構成の複雑化や装置コストの上昇等の回避とを、それぞれ両立させることが可能なデータ転送処理装置を提供することを目的とする。
In other words, conventional bus arbitration realizes flexible and appropriate bus arbitration, such as giving the right to use a bus to a low-level bus master while avoiding a decrease in the usage rate of the entire common bus. It is difficult to achieve both the complexity of the device configuration of the data transfer processing device that performs and avoiding an increase in device cost.
SUMMARY OF THE INVENTION An object of the present invention is to provide a data transfer processing device capable of realizing both flexible and appropriate bus arbitration and avoiding complicated device configuration and increased device cost. And

本発明は、上記目的を達成するために案出されたデータ転送処理装置で、共通バスと、前記共通バスを使用してデータ転送を行う複数のバスマスタと、前記複数のバスマスタからの共通バス使用要求に対する調停を予め設定されている優先順位に基づいて行うバスアービタと、前記複数のバスマスタの一部である少なくとも二つのバスマスタについて、当該少なくとも二つのバスマスタが前記共通バスを使用して行うデータ転送方式に応じて定められたタイミングで、当該少なくとも二つのバスマスタ間の優先順位を入れ換える要求切換手段とを備えることを特徴とするものである。   The present invention provides a data transfer processing device devised to achieve the above object, a common bus, a plurality of bus masters that perform data transfer using the common bus, and a common bus use from the plurality of bus masters A bus arbiter that performs arbitration with respect to a request based on a preset priority, and a data transfer method in which at least two bus masters use the common bus for at least two bus masters that are part of the plurality of bus masters And a request switching means for switching the priority order between the at least two bus masters at a timing determined according to the above.

上記構成のデータ転送処理装置によれば、バスアービタが予め設定されている優先順位に基づいて複数のバスマスタに対する調停を行うが、そのバスアービタによって調停される複数のバスマスタの一部、すなわち当該複数のバスマスタの全部ではない少なくとも二つのバスマスタについては、当該バスマスタによるデータ転送方式に応じて定められたタイミングで、要求切換手段が優先順位を入れ換えるようになっている。
ここで、「データ転送方式」とは、前記少なくとも二つのバスマスタのいずれもが対応しているデータ転送方式のことで、具体的には例えば双方向通信方式の一つである半二重通信方式が挙げられる。また、「データ転送方式に応じて定められたタイミング」とは、データ転送方式の内容に適するように予め定められているタイミングのことをいい、例えばデータ転送方式が半二重通信方式であれば、双方向のうちの片方向のデータ通信が終了するタイミングが挙げられる。
このようなタイミングで前記少なくとも二つのバスマスタについての優先順位を入れ換えれば、例えば半二重通信方式であれば、片方向のデータ通信が終了したら、反対方向のデータ通信を行うバスマスタの優先順位が高くなるといった具合に、各バスマスタについての優先順位が、前記少なくとも二つのバスマスタによるデータ転送方式に適するように、柔軟に入れ換わることになる。
According to the data transfer processing device having the above-described configuration, the bus arbiter performs arbitration for a plurality of bus masters based on a preset priority, but a part of the plurality of bus masters arbitrated by the bus arbiter, that is, the plurality of bus masters. For at least two bus masters that are not all, the request switching means switches the priority order at a timing determined in accordance with the data transfer method by the bus master.
Here, the “data transfer method” is a data transfer method that is compatible with both of the at least two bus masters. Specifically, for example, a half-duplex communication method that is one of bidirectional communication methods. Is mentioned. The “timing determined according to the data transfer method” refers to a predetermined timing suitable for the contents of the data transfer method. For example, if the data transfer method is a half-duplex communication method, The timing at which the one-way data communication out of the two directions ends is given.
If the priorities of the at least two bus masters are interchanged at such timing, for example, in the case of a half-duplex communication method, when one-way data communication is completed, the priority order of the bus masters performing data communication in the opposite direction is In other words, the priority order of each bus master is flexibly switched so as to be suitable for the data transfer method using the at least two bus masters.

本発明のデータ転送処理装置では、複数のバスマスタの一部についてのみ、そのデータ転送方式に応じて定められたタイミングで優先順位を入れ換わるので、当該一部以外のバスマスタ(特に高レベルのマスタ)については影響を及ぼすことがない。また、当該一部である少なくとも二つのバスマスタについては、そのデータ転送方式に適するように優先順位が柔軟に入れ換わるので、レベルが低い場合であっても、バス使用権を獲得できる可能性が確保されることになる。つまり、バスアービタが柔軟で適切なバスのアービトレーションを行うことが可能となる。
しかも、その場合であっても、タイマー機能や膨大なデータ量のテーブル等を要することがなく、優先順位の入れ換え(例えば、スイッチング)を行う要求切換手段を備えるだけでよいため、簡素な装置構成での実現が可能となり、装置構成の複雑化や装置コストの上昇等を招いてしまうこともない。
このように、本発明によれば、柔軟で適切なバスのアービトレーションの実現と、装置構成の複雑化や装置コストの上昇等の回避とを、それぞれ両立させることが可能となるのである。
In the data transfer processing device of the present invention, the priority order of only a part of a plurality of bus masters is switched at a timing determined according to the data transfer method, so that other bus masters (particularly high-level masters). There is no effect on. In addition, the priority of the at least two bus masters that are part of the master is flexibly switched so as to be suitable for the data transfer method, so that it is possible to acquire the right to use the bus even when the level is low. Will be. That is, the bus arbiter can perform flexible and appropriate bus arbitration.
Moreover, even in such a case, a simple device configuration can be provided because it does not require a timer function or a table with a huge amount of data, and only has a request switching means for switching the priority order (for example, switching). Therefore, it is possible to achieve the above-described configuration, and the apparatus configuration is not complicated and the apparatus cost is not increased.
As described above, according to the present invention, it is possible to achieve both the realization of flexible and appropriate bus arbitration and the avoidance of the complexity of the device configuration and the increase of the device cost.

以下、図面に基づき本発明に係るデータ転送処理装置について説明する。   The data transfer processing device according to the present invention will be described below with reference to the drawings.

先ず、データ転送処理装置の概略構成について説明する。図1は、データ転送処理装置の概略構成例を示す模式図である。図例のように、ここで説明するデータ転送処理装置は、共通バス1と、複数のバスマスタA1〜Zと、バスアービタ2と、モード設定レジスタ3と、要求切換手段4と、を備えて構成されている。   First, a schematic configuration of the data transfer processing device will be described. FIG. 1 is a schematic diagram illustrating a schematic configuration example of a data transfer processing device. As shown in the figure, the data transfer processing device described here includes a common bus 1, a plurality of bus masters A1 to Z, a bus arbiter 2, a mode setting register 3, and a request switching means 4. ing.

共通バス1は、各バスマスタA1〜Zや図示しないメモリやI/O(Input/Output)装置といった各種デバイス等の間の共通信号路として機能するものであり、その代表的なものとして、例えばPCISIG(Peripheral Component Interconnect Special Interest Group)によって策定されたPCI(Peripheral Component Interconnect)規格に準拠したものが挙げられる。   The common bus 1 functions as a common signal path between various devices such as the bus masters A1 to Z, a memory (not shown), and an I / O (Input / Output) device. As a typical example, for example, PCISIG Examples are those based on the PCI (Peripheral Component Interconnect) standard established by (Peripheral Component Interconnect Special Interest Group).

各バスマスタA1〜Zは、例えばDMA(Direct Memory Access)コントローラのように、共通バス1を使用して各種デバイス間のデータ転送を行うものである。さらに詳しくは、各種デバイス間のデータ転送を行うために、バスアービタ2に対してバス要求信号を送信し、バスアービタ2からバス許可信号を受け取ると、共通バス1を使用したデータ転送を開始し、そのデータ転送が終了した時点でバス要求信号の送信を停止するようになっている。   Each of the bus masters A1 to Z performs data transfer between various devices using the common bus 1 like a DMA (Direct Memory Access) controller, for example. More specifically, in order to transfer data between various devices, a bus request signal is transmitted to the bus arbiter 2, and when a bus permission signal is received from the bus arbiter 2, data transfer using the common bus 1 is started. The transmission of the bus request signal is stopped when the data transfer is completed.

このうち、バスマスタA1,A2については、半二重通信方式により共通バス1を使用したデータ送信またはデータ受信を行うようになっているものとする。半二重通信方式とは、同時に双方からデータを送信したり、受信したりすることができず、片方向からの通信しかできない通信方式のことをいう。このような半二重通信方式では、定期的に通信の向きを切り替えて、すなわちデータ送信とデータ受信とを交互に繰り返して対応することになるが、単一の帯域でデータ通信ができるという簡易さがある。つまり、バスマスタA1,A2では、対となるデータ転送を行うようになっており、一方が共通バス1を使用したデータ送信を、他方が共通バス1を使用したデータ受信を、それぞれ交互に行うようになっている   Of these, the bus masters A1 and A2 are assumed to perform data transmission or data reception using the common bus 1 by the half-duplex communication method. The half-duplex communication method refers to a communication method in which data cannot be transmitted or received from both sides at the same time and communication from only one direction is possible. In such a half-duplex communication method, the direction of communication is periodically switched, that is, data transmission and data reception are alternately repeated, but it is easy to perform data communication in a single band. There is. That is, the bus masters A1 and A2 perform paired data transfer, one of which alternately performs data transmission using the common bus 1 and the other alternately performs data reception using the common bus 1. It has become

バスアービタ2は、各バスマスタA1〜Zからの共通バス1の使用要求であるバス要求信号に対する調停、すなわちバスのアービトレーションを行うとともに、そのアービトレーションの結果であるバス許可信号の発信を行うものである。ただし、バスアービタ2では、バスのアービトレーションを、予め設定されている優先順位に基づいて行うようになっている。優先順位は、固定されたものであっても、可変するものであってもよい。つまり、バスアービタ2は、固定優先順位方式に対応したものであってもよいし、ラウンドロビン方式に対応したものであってもよいし、固定優先順位方式とラウンドロビン方式とを組み合わせたものに対応していてもよい。なお、バスアービタ2によるアービトレーションの詳細については、従来と同様であるため、ここではその説明を省略する。   The bus arbiter 2 performs arbitration with respect to a bus request signal that is a request for using the common bus 1 from each of the bus masters A1 to Z, that is, arbitrates the bus and transmits a bus permission signal that is a result of the arbitration. However, the bus arbiter 2 performs bus arbitration based on a preset priority order. The priority order may be fixed or variable. In other words, the bus arbiter 2 may correspond to the fixed priority method, may correspond to the round robin method, or corresponds to a combination of the fixed priority method and the round robin method. You may do it. Note that the details of the arbitration by the bus arbiter 2 are the same as in the prior art, and the description thereof is omitted here.

モード設定レジスタ3は、バスアービタ2における動作モード、特にバスアービタ2がバスのアービトレーションを行う際に基にする優先順位を設定可能なレジスタである。このモード設定レジスタ3による記憶情報を変更することで、バスアービタ2の動作モード等を変更することが可能となる。なお、モード設定レジスタ3での情報保持機能や情報書き込み機能等については、公知技術を利用すればよいため、ここではその説明を省略する。   The mode setting register 3 is a register that can set an operation mode in the bus arbiter 2, in particular, a priority order based on the bus arbiter 2 performing the arbitration of the bus. By changing the information stored in the mode setting register 3, the operation mode of the bus arbiter 2 can be changed. Note that the information holding function, the information writing function, and the like in the mode setting register 3 are omitted here because known techniques may be used.

要求切換手段4は、本実施形態で説明するデータ転送処理装置の特徴的な構成部分で、各バスマスタA1〜Zの一部であるバスマスタA1,A2とバスアービタ2との間に配されており、これら二つのバスマスタA1,A2についての優先順位の入れ換えを行うものである。具体的には、バスマスタA1,A2に繋がるバス要求信号およびバス許可信号と、バスアービタ2におけるこれらの信号線用の端子(ただし、優先順位のレベルが互いに異なっている端子)との接続を、バスマスタA1,A2間でスイッチングして入れ換えるものである。すなわち、要求切換手段4では、バスマスタA1,A2とバスアービタ2との間の接続状態の入れ換えを行うことで、これら二つのバスマスタA1,A2について、バスアービタ2がバスのアービトレーションを行う際に基にする優先順位の入れ換えを行うようになっている。この要求切換手段4は、スイッチング回路等のハードウエアによって実現することが考えられるが、CPU(Central Processing Unit)等に所定プログラムを実行させてソフトウエアにより実現することも考えられる。   The request switching unit 4 is a characteristic component of the data transfer processing device described in the present embodiment, and is arranged between the bus masters A1 and A2 that are part of each of the bus masters A1 to Z and the bus arbiter 2, The priorities of these two bus masters A1 and A2 are switched. Specifically, the bus request signal and bus permission signal connected to the bus masters A1 and A2 and the signal line terminals in the bus arbiter 2 (however, the terminals having different priority levels) are connected to the bus master. Switching is performed between A1 and A2. That is, the request switching means 4 switches the connection state between the bus masters A1 and A2 and the bus arbiter 2, so that the bus arbiter 2 performs the bus arbitration for these two bus masters A1 and A2. The order of priority is changed. The request switching means 4 can be realized by hardware such as a switching circuit, but it can also be realized by software by causing a CPU (Central Processing Unit) or the like to execute a predetermined program.

なお、ここでは、要求切換手段4に二つのバスマスタA1,A2が接続している場合を例に示しているが、接続状態の入れ換えが可能であれば、三つ以上のバスマスタが接続されていてもよい。ただし、要求切換手段4に接続されるバスマスタA1,A2の組み合わせは、同じデータ転送方式に対応したもので、共通バス1を使用したデータ転送を行う上でペアとなるものとする。
また、ここでは、一つの要求切換手段4が設けられている場合を例に示しているが、データ転送を行う上でのバスマスタのペアが複数存在していれば、各ペアに対応して要求切換手段4が複数設けられていてもよい。
また、一つの要求切換手段4に接続されるバスマスタA1,A2は、各バスマスタA1〜Zのうちの一部、すなわち各バスマスタA1〜Zの全部ではないものとする。要求切換手段4が複数設けられている場合には、各要求切換手段4のそれぞれに接続されるのが各バスマスタA1〜Zの一部であればよい。すなわち、各バスマスタA1〜Zの全部がいずれかの要求切換手段4に接続されていても、その全部が同一の要求切換手段4に接続されていなければ構わない。
Here, the case where two bus masters A1 and A2 are connected to the request switching means 4 is shown as an example, but if the connection state can be switched, three or more bus masters are connected. Also good. However, the combination of the bus masters A1 and A2 connected to the request switching unit 4 corresponds to the same data transfer method and is paired when performing data transfer using the common bus 1.
In addition, here, a case where one request switching means 4 is provided is shown as an example, but if there are a plurality of pairs of bus masters for performing data transfer, a request corresponding to each pair is provided. A plurality of switching means 4 may be provided.
The bus masters A1 and A2 connected to one request switching unit 4 are not part of the bus masters A1 to Z, that is, not all of the bus masters A1 to Z. In the case where a plurality of request switching means 4 are provided, it is only necessary that each of the request switching means 4 is connected to each of the bus masters A1 to Z. That is, even if all of the bus masters A1 to Z are connected to any one of the request switching means 4, it is not necessary that all of them are connected to the same request switching means 4.

次に、以上のように構成されたデータ転送処理装置における処理動作例について説明する。   Next, an example of processing operation in the data transfer processing device configured as described above will be described.

例えば、各バスマスタA1〜Zの中に、低速でありながらも一定期間にある程度のデータ転送を必要とする特徴のものが存在する場合に、そのマスタの優先順位を高く設定してしまうと、バス全体の使用率が低下してしまうおそれがある。すなわち、他のマスタ(特に優先順位が高レベルであるマスタ)にも影響を及ぼしてしまうことになる。また、例えば、タイマー機能等を用いてバス状態を監視し、一定期間要求が通らないことを検知すると優先順位を高くすることも考えられるが(例えば、特許文献1参照)、その場合には、対象となるマスタが、優先順位が変更されるまでの間は低レベルのままとなってしまう。さらに、複数のバスマスタA1〜Zが接続されるバスアービタ2において、それぞれのバスマスタA1〜Zに対する優先順位を動的に変化させようとすると(例えば、特許文献2〜4参照)、優先順位変更条件を算出する回路構成が、非常に複雑なものになると思われる。   For example, if there is a feature in each bus master A1 to Z that requires a certain amount of data transfer for a certain period even though it is low speed, if the priority of that master is set high, The overall usage rate may be reduced. That is, other masters (especially masters having a high priority) are also affected. In addition, for example, the bus state is monitored using a timer function or the like, and if it is detected that a request does not pass for a certain period of time, it may be possible to increase the priority (for example, refer to Patent Document 1). The target master remains at a low level until the priority is changed. Furthermore, in the bus arbiter 2 to which a plurality of bus masters A1 to Z are connected, if the priority order for each of the bus masters A1 to Z is dynamically changed (see, for example, Patent Documents 2 to 4), the priority order changing condition is changed. It seems that the circuit configuration to be calculated becomes very complicated.

このことから、本実施形態で説明するデータ転送処理装置では、あるデータ転送に対し、対となるデータ転送が存在するバスマスタA1,A2に、スムーズに共通バス1の使用権を確保させることができるアービトレーションを実現すべく、要求切換手段4がバスマスタA1,A2についての優先順位の入れ換えを行い、これにより他のマスタ(特に高レベルのマスタ)の優先順位を変えることなく、高速でも低速でもない中間バンド幅を、簡易な装置構成で確保しているのである。   Therefore, in the data transfer processing device described in the present embodiment, the bus masters A1 and A2 in which a pair of data transfers exist for a certain data transfer can smoothly ensure the right to use the common bus 1. In order to realize arbitration, the request switching means 4 exchanges the priorities of the bus masters A1 and A2, thereby changing the priority of the other masters (especially high-level masters) and not being a high speed or a low speed. The bandwidth is secured with a simple device configuration.

具体的には、半二重通信方式ではデータ送信とデータ受信とがほぼ交互に繰り返されるため、要求切換手段4は、バスアービタ2のバスマスタA1,A2に対する信号線用端子のうち、優先順位のレベルが高いほうの端子(以下「レベルHigh側端子」という)に繋がるバスマスタA1またはバスマスタA2によるデータ転送が終了すると、バスマスタA1,A2とバスアービタ2との間の接続状態をスイッチングして、バスマスタA1,A2についての優先順位の入れ換えを行うのである。つまり、レベルHigh側端子を介したアービトレーションによるデータ転送を実行したら、要求切換手段4は、そのデータ転送の終了時に、レベルHigh側端子へのバス要求信号およびバス許可信号の接続を、優先順位のレベルが低いほうの端子(以下「レベルLow側端子」という)へ切り換える。ただし、レベルLow側端子を介したアービトレーションによるデータ転送の実行時には、そのデータ転送が終了しても、接続状態のスイッチングは行わない。なお、データ転送の終了は、例えばバス要求信号の送信停止によって検出することが考えられるが、他の公知技術を利用して検出して、これをトリガーにしてスイッチングを行うようにしても構わない。   Specifically, in the half-duplex communication method, data transmission and data reception are repeated almost alternately, so that the request switching means 4 has a priority level among the signal line terminals for the bus masters A1 and A2 of the bus arbiter 2. When the data transfer by the bus master A1 or the bus master A2 connected to the higher terminal (hereinafter referred to as “level high side terminal”) is completed, the connection state between the bus masters A1 and A2 and the bus arbiter 2 is switched. The order of priority for A2 is changed. That is, after executing data transfer by arbitration via the level High side terminal, the request switching means 4 connects the bus request signal and bus permission signal to the level High side terminal at the end of the data transfer. Switch to the terminal with the lower level (hereinafter referred to as the “Level Low side terminal”). However, when data transfer is executed by arbitration via the level low side terminal, the connection state is not switched even if the data transfer ends. The end of data transfer can be detected by, for example, stopping transmission of a bus request signal. However, it may be detected by using another known technique, and switching may be performed using this as a trigger. .

図2は、データ転送処理装置における優先順位入れ換えを、固定優先順位方式に適用した場合の一具体例を示す状態遷移図である。   FIG. 2 is a state transition diagram showing a specific example when priority switching in the data transfer processing device is applied to the fixed priority method.

例えば、図2(a)に示すように、優先順位がデータ送信を行うバスマスタA1>データ受信を行うバスマスタA2と設定されている場合に(図中(i)参照)、バスマスタA1によるデータ転送が実行され、そのデータ転送の終了すると、要求切換手段4は、バスマスタA1,A2とバスアービタ2の各端子との間の接続状態をスイッチングして、優先順位のレベルをバスマスタA2>バスマスタA1へ切り換える(図中(ii)参照)。そして、半二重通信方式ではデータ送信とデータ受信とがほぼ交互に繰り返されるため、その後にバスマスタA1によるデータ転送が実行されると、要求切換手段4は、バスマスタA1,A2とバスアービタ2の各端子との間の接続状態をスイッチングして、優先順位のレベルをバスマスタA1>バスマスタA2へ切り換える(図中(iii)参照)。   For example, as shown in FIG. 2A, when the priority is set such that the bus master A1 that transmits data> the bus master A2 that receives data (see (i) in the figure), the data transfer by the bus master A1 is performed. When the data transfer is completed, the request switching means 4 switches the connection state between the bus masters A1 and A2 and the terminals of the bus arbiter 2, and switches the priority level from bus master A2 to bus master A1 ( (See (ii) in the figure). In the half-duplex communication method, since data transmission and data reception are repeated almost alternately, when the data transfer by the bus master A1 is subsequently executed, the request switching means 4 causes each of the bus masters A1, A2 and the bus arbiter 2 to The connection state between the terminals is switched to switch the priority level from bus master A1> bus master A2 (see (iii) in the figure).

ただし、例えば、図2(b)に示すように、優先順位がバスマスタA1>バスマスタA2と設定されている場合に(図中(i)参照)、バスマスタA2によるデータ転送が実行されると、要求切換手段4は、そのデータ転送の終了しても、バスマスタA1,A2とバスアービタ2の各端子との間の接続状態のスイッチングを行わずに、優先順位のレベルをバスマスタA1>バスマスタA2のままとする(図中(ii)参照)。これは、半二重通信方式ではデータ送信とデータ受信とがほぼ交互に繰り返されるためである。その後に、バスマスタA1によるデータ転送が実行されると、要求切換手段4は、バスマスタA1,A2とバスアービタ2の各端子との間の接続状態をスイッチングして、優先順位のレベルをバスマスタA1>バスマスタA2へ切り換える(図中(iii)参照)。   However, for example, as shown in FIG. 2B, when the priority order is set as bus master A1> bus master A2 (see (i) in the figure), when data transfer by the bus master A2 is executed, the request The switching means 4 does not switch the connection state between the bus masters A1 and A2 and each terminal of the bus arbiter 2 even when the data transfer is completed, and keeps the priority level as bus master A1> bus master A2. (Refer to (ii) in the figure). This is because data transmission and data reception are almost alternately repeated in the half-duplex communication method. After that, when data transfer by the bus master A1 is executed, the request switching means 4 switches the connection state between the bus masters A1 and A2 and each terminal of the bus arbiter 2, and sets the priority level to bus master A1> bus master. Switch to A2 (see (iii) in the figure).

図3は、データ転送処理装置における優先順位入れ換えを、ラウンドロビン方式に適用した場合の一具体例を示す状態遷移図である。ここでは、3グループ3階層に設定されたラウンドロビン方式を例に挙げて説明する。   FIG. 3 is a state transition diagram showing a specific example when priority order switching in the data transfer processing device is applied to the round robin method. Here, a round robin method set in three groups and three layers will be described as an example.

図例のように、バスマスタA1の優先順位レベルが中位階層に属し、バスマスタA2の優先順位レベルが下位階層に属しており、これにより優先順位がバスマスタA1>バスマスタA2と設定されている場合に(図中(i)参照)、バスマスタA1によるデータ転送が実行され、そのデータ転送の終了すると、要求切換手段4は、バスマスタA1,A2とバスアービタ2の各端子との間の接続状態をスイッチングして、優先順位のレベルをバスマスタA2>バスマスタA1へ切り換える(図中(ii)参照)。これによりバスマスタA1の優先順位レベルは下位階層に属することになり、バスマスタA2の優先順位レベルは中位階層に属することになる。その後に、バスマスタA2によるデータ転送が実行されると、要求切換手段4は、バスマスタA1,A2とバスアービタ2の各端子との間の接続状態をスイッチングして、優先順位のレベルをバスマスタA1>バスマスタA2へ切り換える(図中(iii)参照)。これによりバスマスタA1の優先順位レベルは再び中位階層に属することになり、バスマスタA2の優先順位レベルは下位階層に属することになる。   As shown in the figure, when the priority level of the bus master A1 belongs to the middle hierarchy, and the priority level of the bus master A2 belongs to the lower hierarchy, the priority is set as bus master A1> bus master A2. (See (i) in the figure) Data transfer by the bus master A1 is executed, and when the data transfer is completed, the request switching means 4 switches the connection state between the bus masters A1 and A2 and each terminal of the bus arbiter 2. Thus, the priority level is switched from bus master A2> bus master A1 (see (ii) in the figure). As a result, the priority level of the bus master A1 belongs to the lower hierarchy, and the priority level of the bus master A2 belongs to the middle hierarchy. After that, when data transfer by the bus master A2 is executed, the request switching means 4 switches the connection state between the bus masters A1 and A2 and each terminal of the bus arbiter 2, and sets the priority level to bus master A1> bus master. Switch to A2 (see (iii) in the figure). As a result, the priority level of the bus master A1 again belongs to the middle hierarchy, and the priority level of the bus master A2 belongs to the lower hierarchy.

以上のように、本実施形態で説明したデータ転送処理装置では、バスアービタ2が複数のバスマスタA1〜Zからのバス要求信号に対するアービトレーションを行うが、そのうちの一部である二つのバスマスタA1,A2については、これらバスマスタA1,A2によるデータ転送方式に応じて定められたタイミング、具体的には半二重通信方式に応じて定められたタイミングで、バスアービタ2のレベルHigh側端子を介したアービトレーションによるデータ転送が終了した時点で、要求切換手段4がバスマスタA1,A2とバスアービタ2の各端子との間の接続状態をスイッチングして、バスマスタA1,A2についての優先順位を入れ換えるようになっている。このようなタイミングでバスマスタA1,A2についての優先順位を入れ換えれば、例えば片方向のデータ通信が終了したら、反対方向のデータ通信を行うバスマスタの優先順位が高くなるといった具合に、各バスマスタA1,A2についての優先順位が、これらバスマスタA1,A2が実行するデータ転送方式である半二重通信方式に適するように、柔軟に入れ換わることになる。   As described above, in the data transfer processing device described in the present embodiment, the bus arbiter 2 performs arbitration for the bus request signals from the plurality of bus masters A1 to Z, but the two bus masters A1 and A2 that are part of them The data by arbitration via the level high side terminal of the bus arbiter 2 at a timing determined according to the data transfer method by these bus masters A1 and A2, specifically at a timing determined according to the half-duplex communication method. When the transfer is completed, the request switching means 4 switches the connection state between the bus masters A1 and A2 and each terminal of the bus arbiter 2 so that the priorities of the bus masters A1 and A2 are switched. If the priority order of the bus masters A1 and A2 is switched at such timing, for example, when the data communication in one direction is completed, the priority order of the bus masters performing data communication in the opposite direction becomes higher. The priority order for A2 is flexibly switched so as to be suitable for the half-duplex communication method which is a data transfer method executed by the bus masters A1 and A2.

したがって、これら二つのバスマスタA1,A2については、そのデータ転送方式である半二重通信方式に適するように優先順位が柔軟に入れ換わるので、一方の優先順位のレベルが低く設定されている場合であっても、二つのバスマスタA1,A2のそれぞれに対してバス使用権を獲得できる可能性が確保される。つまり、二つのバスマスタA1,A2のうち、片方をマスクすることが無いため、一方の優先順位のレベルが低くなっても、共通バス1にアクセスできる可能性が残されることになる。   Accordingly, the priority order of these two bus masters A1 and A2 can be flexibly switched so as to be suitable for the half-duplex communication method which is the data transfer method, and therefore, when one of the priority levels is set low. Even in such a case, the possibility of acquiring the bus use right for each of the two bus masters A1 and A2 is ensured. In other words, since one of the two bus masters A1 and A2 is not masked, there is a possibility that the common bus 1 can be accessed even if one of the priority levels is lowered.

また、二つのバスマスタA1,A2、すなわち複数のバスマスタA1〜Zの一部についてのみ、その優先順位が入れ換わるので、これら二つのバスマスタA1,A2以外のバスマスタ(特に高レベルのマスタ)については、その優先順位やバスのアービトレーション等に影響を及ぼすことがない。例えば、高レベルのものは、優先順位が入れ換わりに関わりなく、高レベルのままとなる。
二つのバスマスタA1,A2についての優先順位のレベルを高く設定する必要がある場合においても、半二重通信方式に適するように優先順位が入れ換わるので、送信/受信の二系統のうち、どちらか一系統の優先順位のみを高く設定すればよく、他のマスタの優先順位を一段階上げることができる。
In addition, since the priority order of only two bus masters A1 and A2, that is, a part of the plurality of bus masters A1 to Z, is switched, the bus masters other than these two bus masters A1 and A2 (particularly high-level masters) The priority and bus arbitration are not affected. For example, high-level ones remain high regardless of the order of priority.
Even when it is necessary to set a high priority level for the two bus masters A1 and A2, the priority is switched so as to be suitable for the half-duplex communication method, so either one of the two systems of transmission / reception is used. Only the priority of one system needs to be set high, and the priority of other masters can be raised by one level.

しかも、二つのバスマスタA1,A2について優先順位の入れ換えを行っても、タイマー機能や膨大なデータ量のテーブル等を要することがなく、優先順位の入れ換えのためのスイッチングを行う要求切換手段4を備えるだけでよいため、簡素な装置構成での実現が可能となり、装置構成の複雑化や装置コストの上昇等を招いてしまうこともない。つまり、安価な装置構成で実現でき、既存の回路への追加も実現容易となる。   In addition, even if the priority order of the two bus masters A1 and A2 is switched, the request switching means 4 that performs switching for switching the priority order is provided without requiring a timer function or a huge data amount table. Therefore, a simple device configuration can be realized, and the device configuration is not complicated and the device cost is not increased. That is, it can be realized with an inexpensive apparatus configuration, and can be easily added to an existing circuit.

このように、本実施形態におけるデータ転送処理装置によれば、柔軟で適切なバスのアービトレーションの実現と、装置構成の複雑化や装置コストの上昇等の回避とを、それぞれ両立させることが可能となるのである。   As described above, according to the data transfer processing device of this embodiment, it is possible to achieve both flexible and appropriate bus arbitration and avoidance of complicated device configuration and increased device cost. It becomes.

なお、本実施形態では、本発明の好適な実施具体例を説明したが、本発明はその内容に限定されるものではなく、その要旨を逸脱しない範囲で適宜変更することが可能である。例えば、本実施形態では、バスアービタ2が固定優先順位方式またはラウンドロビン方式によりアービトレーションを行う場合を例に挙げたが、例えばこれらを組み合わせたものや他の公知技術を用いたもの等であっても、全く同様に本発明を適用することが可能である。   In the present embodiment, the preferred specific examples of the present invention have been described. However, the present invention is not limited to the contents, and can be appropriately changed without departing from the gist thereof. For example, in the present embodiment, the case where the bus arbiter 2 performs arbitration by the fixed priority method or the round robin method is taken as an example. However, for example, the bus arbiter 2 may be a combination of these or another known technique. The present invention can be applied in exactly the same manner.

また、本実施形態では、バスマスタA1,A2が半二重通信方式によるデータ転送を行う場合を例に挙げて説明したが、対となるデータ転送を行うものであれば、他のデータ転送方式に適用してもよい。他のデータ転送方式としては、例えば時分割によるデータ転送を行うものが考えられる。このようなデータ転送方式の場合に、そのデータ転送方式に応じて定められたタイミングとしては、ある一定量(例えば一定パケット数)のデータ通信が終了するタイミングが挙げられる。   In this embodiment, the case where the bus masters A1 and A2 perform data transfer by the half-duplex communication method has been described as an example, but other data transfer methods can be used as long as they perform paired data transfer. You may apply. As another data transfer method, for example, a method of performing data transfer by time division can be considered. In the case of such a data transfer method, the timing determined according to the data transfer method includes a timing at which a certain amount of data communication (for example, a certain number of packets) is completed.

本発明に係るデータ転送処理装置の概略構成例を示す模式図である。It is a schematic diagram which shows the schematic structural example of the data transfer processing apparatus which concerns on this invention. 本発明に係るデータ転送処理装置における優先順位入れ換えを、固定優先順位方式に適用した場合の一具体例を示す状態遷移図である。It is a state transition diagram which shows one specific example at the time of applying the priority order change in the data transfer processing apparatus concerning this invention to a fixed priority system. 本発明に係るデータ転送処理装置における優先順位入れ換えを、ラウンドロビン方式に適用した場合の一具体例を示す状態遷移図である。It is a state transition diagram which shows one specific example at the time of applying priority order change in the data transfer processing apparatus which concerns on this invention to a round robin system.

符号の説明Explanation of symbols

1…共通バス、2…バスアービタ、3…モード設定レジスタ、4…要求切換手段、A1,A2,B,Z…バスマスタ   DESCRIPTION OF SYMBOLS 1 ... Common bus, 2 ... Bus arbiter, 3 ... Mode setting register, 4 ... Request switching means, A1, A2, B, Z ... Bus master

Claims (4)

共通バスと、
前記共通バスを使用してデータ転送を行う複数のバスマスタと、
前記複数のバスマスタからの共通バス使用要求に対する調停を予め設定されている優先順位に基づいて行うバスアービタと、
前記複数のバスマスタの一部である少なくとも二つのバスマスタについて、当該少なくとも二つのバスマスタが前記共通バスを使用して行うデータ転送方式に応じて定められたタイミングで、当該少なくとも二つのバスマスタ間の優先順位を入れ換える要求切換手段と
を備えることを特徴とするデータ転送処理装置。
A common bus,
A plurality of bus masters performing data transfer using the common bus;
A bus arbiter that performs arbitration for a common bus use request from the plurality of bus masters based on a preset priority;
For at least two bus masters that are part of the plurality of bus masters, the priority order between the at least two bus masters at a timing determined according to the data transfer method performed by the at least two bus masters using the common bus And a request switching means for replacing the data.
前記少なくとも二つのバスマスタは、半二重通信方式により前記共通バスを使用したデータ送信またはデータ受信を行うものであり、
前記要求切換手段は、前記少なくとも二つのバスマスタのうちのいずれかによるデータ送信またはデータ受信が終了すると、当該少なくとも二つのバスマスタ間の優先順位を入れ換えるものである
ことを特徴とする請求項1記載のデータ転送処理装置。
The at least two bus masters perform data transmission or data reception using the common bus by a half-duplex communication method.
2. The request switching unit, when data transmission or data reception by one of the at least two bus masters is completed, switches the priority order between the at least two bus masters. Data transfer processing device.
前記バスアービタが基にする優先順位は、固定優先順位方式によるものである
ことを特徴とする請求項1または2記載のデータ転送処理装置。
The data transfer processing device according to claim 1, wherein the priority order based on the bus arbiter is based on a fixed priority method.
前記バスアービタが基にする優先順位は、ラウンドロビン方式によるものである
ことを特徴とする請求項1または2記載のデータ転送処理装置。
The data transfer processing device according to claim 1, wherein the priority order based on the bus arbiter is based on a round robin method.
JP2005009978A 2005-01-18 2005-01-18 Data transfer processing apparatus Pending JP2006201832A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005009978A JP2006201832A (en) 2005-01-18 2005-01-18 Data transfer processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005009978A JP2006201832A (en) 2005-01-18 2005-01-18 Data transfer processing apparatus

Publications (1)

Publication Number Publication Date
JP2006201832A true JP2006201832A (en) 2006-08-03

Family

ID=36959798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005009978A Pending JP2006201832A (en) 2005-01-18 2005-01-18 Data transfer processing apparatus

Country Status (1)

Country Link
JP (1) JP2006201832A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028428A (en) * 2008-07-18 2010-02-04 Kyocera Mita Corp Image processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028428A (en) * 2008-07-18 2010-02-04 Kyocera Mita Corp Image processing apparatus

Similar Documents

Publication Publication Date Title
US20120042105A1 (en) Bus arbitration apparatus
US7305510B2 (en) Multiple master buses and slave buses transmitting simultaneously
US4458314A (en) Circuitry for allocating access to a demand shared bus
EP3254203B1 (en) Receive clock calibration for a serial bus
US7467245B2 (en) PCI arbiter
EP0383475A2 (en) Shared resource arbitration
KR20160107247A (en) Camera control interface extension with in-band interrupt
CN103890745A (en) Integrating intellectual property (Ip) blocks into a processor
EP3055779A1 (en) Coexistence of i2c slave devices and camera control interface extension devices on a shared control data bus
KR100905802B1 (en) Tagging and arbitration mechanism in an input/output node of computer system
US20070156937A1 (en) Data transfer in multiprocessor system
JP4666143B2 (en) Data transfer processing device
EP1444587B1 (en) Computer system i/o node
US20110069717A1 (en) Data transfer device, information processing apparatus, and control method
JP2006201832A (en) Data transfer processing apparatus
KR20170024876A (en) Scheduling method of system on chip including real-time shared interface
JP5677007B2 (en) Bus arbitration device and bus arbitration method
JPH03179850A (en) Common bus token control system
JP2003006139A (en) Dma transfer apparatus
US7747806B2 (en) Resource use management device, resource use management system, and control method for a resource use management device
JP4898527B2 (en) RESOURCE USE MANAGEMENT DEVICE, RESOURCE USE MANAGEMENT SYSTEM, AND RESOURCE USE MANAGEMENT DEVICE CONTROL METHOD
JP3667504B2 (en) Arbitration circuit
US8984194B2 (en) Multi-master bus arbitration and resource control
CN113711191A (en) Information processing apparatus
JP2000201161A (en) Arbitration control circuit