JP2006201832A - Data transfer processing apparatus - Google Patents
Data transfer processing apparatus Download PDFInfo
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
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.
しかしながら、上述した特許文献1または特許文献2に開示されたような時間による管理を行う方式では、時間計測用カウンタをバスマスタの分だけ用意する必要が生じてしまい、装置構成の複雑化や装置コストの上昇等を招いてしまう。さらに、一律に時間で管理するのでは、例えば、短時間でも必要なデータ転送があるバスマスタに対して、バス使用権が与えられなくなるおそれがある。また、上述した特許文献3に開示されたような優先順位を複数持つ方式では、柔軟かつきめ細かいアービトレーションを行える可能性があるが、そのためにはきめ細かなアービトレーションを行うだけのテーブルを用意せねばならず、装置構成の複雑化や装置コストの上昇等を招く要因となる。さらには、テーブルの用意も、様々なバスマスタの組み合わせに対応して行うことは困難である。また、上述した特許文献4に開示されたようなバス獲得回数等を計算し自律的に優先順位を変更する方式では、優先順位を自律的に変更する自己学習機能を実現するために、膨大で非常に複雑な回路(装置構成)が必要になってしまう。
However, in the method of performing management based on time as disclosed in
つまり、従来におけるバスのアービトレーションでは、共通バス全体の使用率の低下を回避しつつ、低レベルのバスマスタにも適切にバス使用権を与えるといった、柔軟で適切なバスのアービトレーションの実現と、そのアービトレーションを行うデータ転送処理装置の装置構成の複雑化や装置コストの上昇等の回避とを、それぞれ両立させることが困難である。
そこで、本発明は、柔軟で適切なバスのアービトレーションの実現と、装置構成の複雑化や装置コストの上昇等の回避とを、それぞれ両立させることが可能なデータ転送処理装置を提供することを目的とする。
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
共通バス1は、各バスマスタA1〜Zや図示しないメモリやI/O(Input/Output)装置といった各種デバイス等の間の共通信号路として機能するものであり、その代表的なものとして、例えばPCISIG(Peripheral Component Interconnect Special Interest Group)によって策定されたPCI(Peripheral Component Interconnect)規格に準拠したものが挙げられる。
The
各バスマスタ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
このうち、バスマスタ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
バスアービタ2は、各バスマスタA1〜Zからの共通バス1の使用要求であるバス要求信号に対する調停、すなわちバスのアービトレーションを行うとともに、そのアービトレーションの結果であるバス許可信号の発信を行うものである。ただし、バスアービタ2では、バスのアービトレーションを、予め設定されている優先順位に基づいて行うようになっている。優先順位は、固定されたものであっても、可変するものであってもよい。つまり、バスアービタ2は、固定優先順位方式に対応したものであってもよいし、ラウンドロビン方式に対応したものであってもよいし、固定優先順位方式とラウンドロビン方式とを組み合わせたものに対応していてもよい。なお、バスアービタ2によるアービトレーションの詳細については、従来と同様であるため、ここではその説明を省略する。
The
モード設定レジスタ3は、バスアービタ2における動作モード、特にバスアービタ2がバスのアービトレーションを行う際に基にする優先順位を設定可能なレジスタである。このモード設定レジスタ3による記憶情報を変更することで、バスアービタ2の動作モード等を変更することが可能となる。なお、モード設定レジスタ3での情報保持機能や情報書き込み機能等については、公知技術を利用すればよいため、ここではその説明を省略する。
The
要求切換手段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
なお、ここでは、要求切換手段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
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
このことから、本実施形態で説明するデータ転送処理装置では、あるデータ転送に対し、対となるデータ転送が存在するバスマスタ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
具体的には、半二重通信方式ではデータ送信とデータ受信とがほぼ交互に繰り返されるため、要求切換手段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
図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
ただし、例えば、図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
図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
以上のように、本実施形態で説明したデータ転送処理装置では、バスアービタ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
したがって、これら二つのバスマスタ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
また、二つのバスマスタ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
また、本実施形態では、バスマスタ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.
1…共通バス、2…バスアービタ、3…モード設定レジスタ、4…要求切換手段、A1,A2,B,Z…バスマスタ
DESCRIPTION OF
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010028428A (en) * | 2008-07-18 | 2010-02-04 | Kyocera Mita Corp | Image processing apparatus |
-
2005
- 2005-01-18 JP JP2005009978A patent/JP2006201832A/en active Pending
Cited By (1)
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 |