JP4666143B2 - データ転送処理装置 - Google Patents

データ転送処理装置 Download PDF

Info

Publication number
JP4666143B2
JP4666143B2 JP2005072948A JP2005072948A JP4666143B2 JP 4666143 B2 JP4666143 B2 JP 4666143B2 JP 2005072948 A JP2005072948 A JP 2005072948A JP 2005072948 A JP2005072948 A JP 2005072948A JP 4666143 B2 JP4666143 B2 JP 4666143B2
Authority
JP
Japan
Prior art keywords
bus
data transfer
bus master
master
priority
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.)
Expired - Fee Related
Application number
JP2005072948A
Other languages
English (en)
Other versions
JP2006259842A (ja
Inventor
健二 今村
明博 池田
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
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2005072948A priority Critical patent/JP4666143B2/ja
Publication of JP2006259842A publication Critical patent/JP2006259842A/ja
Application granted granted Critical
Publication of JP4666143B2 publication Critical patent/JP4666143B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、複数のバスマスタが共有している共通バスについて、その使用要求が競合したときにこれらに対する調停を行う機能を有したデータ転送処理装置に関するものである。
一般に、複数のバスマスタが一つの共通バスを共有する場合、これら複数のバスマスタからの共通バス使用要求が競合すると、どのバスマスタにバス使用権を与えるか調停(バスのアービトレーション)を行う必要があるが、そのアービトレーションの代表的な方式としては、固定優先順位方式とラウンドロビン方式が知られている。固定優先順位方式は、バス使用権が与えられるバスマスタの優先順位が予め決められており、常に優先順位の高いバスマスタがバス使用権を得るというものである。一方、ラウンドロビン方式は、各バスマスタについての優先順位がアービトレーションの度に更新(ラウンド)され、バス使用権が与えられるバスマスタの順番が変わっていくというものである。現在では、両方を組み合わせた方式も一般的となっている。
ところが、共通バスを使用したデータ転送が非常に過密になった場合には、固定優先順位方式とラウンドロビン方式とのどちらの方式であっても、優先順位が低い低レベルのバスマスタにとって、バス使用権の獲得が困難になってしまうおそれがある。例えば、データ転送が過密になった場合、固定優先順位方式では、低レベルのバスマスタがバス使用権権を得られなくなる可能性がある。また、ラウンドロビン方式では、低レベルのバスマスタにも順番が回ってくるが、データ転送が過密ゆえに、そのバスマスタがデータ転送を実行できる保証はない。
そのため、近年では、より一層柔軟で適切なバスのアービトレーションを実現可能にすべく、以下に述べるようなものが提案されている。すなわち、各バスマスタ毎のタイムアウト時間の設定値と実際の待ち時間を比較して、低レベルのバスマスタの順位を一時的に高くすることで、優先順位の低いバスマスタの待ち合わせによるタイムアウトを防止したり(例えば、特許文献1参照)、要求発生までの時間と優先順位による重み付けでバス獲得の優先度を制御することで、バス使用効率を改善したり(例えば、特許文献2参照)、あるバスマスタがバスの使用を開始すると、そのバスマスタに宛てられたマスク時間の計時を開始し、その間は計時を開始していない他のバスマスタに対する優先順位を上位とすることで、連続使用が長いバスマスタによるバスの占有を防ぐこと(例えば、特許文献3参照)が提案されている。また、その他にも、バス調停の優先順位をレジスタのビットとして用意し、これをアクセスが発生する度にシフトして、優先順位の低いマスタにも一定時間内に確実にバス権が与えられることを保証すること(例えば、特許文献4参照)が提案されている。
特開平8−314852号公報 特開平10−27156号公報 特開2000−259556号公報 特開2001−84219号公報
しかしながら、上述した特許文献1〜3に開示されたような時間による管理を行うものでは、時間計測用カウンタをバスマスタの分だけ用意する必要が生じてしまい、装置構成の複雑化や装置コストの上昇等を招いてしまう。さらに、一律に時間で管理するのでは、例えば、不必要に大量のデータを転送するタイプのバスマスタにバス使用権が付与されてしまい、短時間でも必要なデータ転送があるバスマスタに対してバス使用権が与えられなくなるおそれがある。さらには、低レベルのバスマスタを組み込んでしまうと、高レベルのバスマスタに対してバンド幅を制限してしまうことに繋がってしまう。また、上述した特許文献4に開示されたような優先順位を複数持つ方式では、柔軟かつきめ細かいアービトレーションを行える可能性があるが、そのためにはきめ細かなアービトレーションを行うだけのテーブルを用意せねばならず、装置構成の複雑化や装置コストの上昇等を招く要因となる。さらには、様々なバスマスタの組み合わせに対応してテーブルを用意し、効果的に切り換えを行うことは、非常に困難であると考えられる。
また、従来は、高スループットを要求する高速デバイスあるいは低スループットでも構わない低速デバイスという二種類のバスマスタしか存在しなかったが、最近では、例えばUSB(Universal Serial Bus)接続に対応したシリアルバスのホストコントローラのように、低速でありながらも一定期間にある程度の転送量を必要とする、従来とは特徴の異なるバスマスタが存在するようになっている。このようなバスマスタについては、当該バスマスタ自身のタイムフレームによる実際のデータ転送の他に、DMA(Direct Memory Access)によるメモリのポーリングといった実際のデータ転送ではない動作を含むため、単に高優先順位に設定してしまうと、バス全体の使用率を低下させてしまうおそれがある。
このように、従来におけるバスのアービトレーションでは、共通バス全体の使用率の低下を回避しつつ、低レベルのバスマスタにも適切にバス使用権を与えるといった、柔軟で適切なバスのアービトレーションの実現と、そのアービトレーションを行うデータ転送処理装置の装置構成の複雑化や装置コストの上昇等の回避とを、必ずしもそれぞれ両立させ得るとは限らない。
そこで、本発明は、単に低レベルマスタの救済に留まらない、柔軟で適切なバスのアービトレーションの実現と、装置構成の複雑化や装置コストの上昇等の回避とを、それぞれ両立させることが可能なデータ転送処理装置を提供することを目的とする。
本発明は、上記目的を達成するために案出されたデータ転送処理装置で、共通バスと、前記共通バスを使用してデータ転送を行う複数のバスマスタと、前記複数のバスマスタからの共通バス使用要求に対する調停を予め設定されている優先順位に基づいて行うバスアービタと、前記複数のバスマスタのうちのあるバスマスタの優先順位として、当該あるバスマスタについて設定されている複数の異なる優先順位の中からいずれか一つを選択するとともに、当該選択の切り換えを定期的に行う要求切換手段とを備えることを特徴とするものである。
上記構成のデータ転送処理装置によれば、バスアービタが予め設定されている優先順位に基づいて複数のバスマスタに対する調停を行うが、そのバスアービタによって調停される複数のバスマスタのうち、あるバスマスタについては、その優先順位を要求切換手段が複数の異なるの中からいずれか一つ選択するとともに、その選択の切り換えを定期的に行うようになっている。したがって、あるバスマスタについては、その優先順位が定期的に切り換わるので、その切り換わりを何度か経た期間を通してみれば、高速でもない、低速でもない、中間のバンド幅を確保することが可能となる。
本発明のデータ転送処理装置では、あるバスマスタについて、複数の異なる優先順位が定期的に切り換わるので、中間のバンド幅を確保することが可能となり、共通バス全体の使用率の低下を回避しつつ、当該あるバスマスタに対して適切にバス使用権を与えるといったことが実現可能となる。つまり、バスアービタが柔軟で適切なバスのアービトレーションを行うことが可能となる。しかも、その場合であっても、あるバスマスタ以外のバスマスタ(特に高レベルのマスタ)については影響を及ぼすことがない。これにより、既存のシステムのバランスを崩すことなく、例えばUSB接続に対応したものの如く新しい特徴的なデバイスについても対応することが可能となる。
また、柔軟で適切なバスのアービトレーションを実現しても、タイマー機能や膨大なデータ量のテーブル等を要することがなく、優先順位の入れ換え(例えば、スイッチング)を行う要求切換手段を備えるだけでよいため、簡素な装置構成での実現が可能となり、装置構成の複雑化や装置コストの上昇等を招いてしまうこともない。
このように、本発明によれば、柔軟で適切なバスのアービトレーションの実現と、装置構成の複雑化や装置コストの上昇等の回避とを、それぞれ両立させることが可能となるのである。
以下、図面に基づき本発明に係るデータ転送処理装置について説明する。
先ず、データ転送処理装置の概略構成について説明する。図1は、データ転送処理装置の概略構成例を示す模式図である。図例のように、ここで説明するデータ転送処理装置は、共通バス1と、複数のバスマスタA〜Zと、バスアービタ2と、モード設定レジスタ3と、要求切換手段4と、インターバルカウンタ5と、インターバルレジスタ6と、を備えて構成されている。
共通バス1は、各バスマスタA〜Zや図示しないメモリやI/O(Input/Output)装置といった各種デバイス等の間の共通信号路として機能するものであり、その代表的なものとして、例えばPCISIG(Peripheral Component Interconnect Special Interest Group)によって策定されたPCI(Peripheral Component Interconnect)規格に準拠したものが挙げられる。
各バスマスタA〜Zは、例えばDMA(Direct Memory Access)コントローラのように、共通バス1を使用して各種デバイス間のデータ転送を行うものである。さらに詳しくは、各種デバイス間のデータ転送を行うために、バスアービタ2に対してバス要求信号を送信し、バスアービタ2からバス許可信号を受け取ると、共通バス1を使用したデータ転送を開始し、そのデータ転送が終了した時点でバス要求信号の送信を停止するようになっている。
バスアービタ2は、各バスマスタA〜Zからの共通バス1の使用要求であるバス要求信号に対する調停、すなわちバスのアービトレーションを行うとともに、そのアービトレーションの結果であるバス許可信号の発信を行うものである。ただし、バスアービタ2では、バスのアービトレーションを、予め設定されている優先順位に基づいて行うようになっている。優先順位は、固定されたものであっても、可変するものであってもよい。つまり、バスアービタ2は、固定優先順位方式に対応したものであってもよいし、ラウンドロビン方式に対応したものであってもよいし、固定優先順位方式とラウンドロビン方式とを組み合わせたものに対応していてもよい。なお、バスアービタ2によるアービトレーションの詳細については、従来と同様であるため、ここではその説明を省略する。
モード設定レジスタ3は、バスアービタ2における動作モード、特にバスアービタ2がバスのアービトレーションを行う際に基にする優先順位を設定可能なレジスタである。このモード設定レジスタ3による記憶情報を変更することで、バスアービタ2の動作モード等を変更することが可能となる。なお、モード設定レジスタ3での情報保持機能や情報書き込み機能等については、公知技術を利用すればよいため、ここではその説明を省略する。
要求切換手段4は、本実施形態で説明するデータ転送処理装置の特徴的な構成部分で、各バスマスタA〜ZのうちのあるバスマスタAとバスアービタ2との間に配されており、そのバスマスタAの優先順位として、複数の異なる優先順位の中からいずれか一つを選択するとともに、その選択の切り換えを定期的に行うためのものである。具体的には、あるバスマスタAに繋がるバス要求信号線およびバス許可信号線と、バスアービタ2におけるこれらの信号線用の端子REQ0〜REQ2,GNT0〜GNT2との接続を、スイッチングして入れ換えるものである。ただし、各端子REQ0〜REQ2,GNT0〜GNT2については、それぞれ優先順位のレベルが互いに異なっているものとする。そして、例えば優先順位が高(High)/中(Mid)/低(Low)レベルの三つのグループ分けされる場合であれば、全てのグループに対してそれぞれ三つの端子REQ0〜REQ2,GNT0〜GNT2が確保されている。つまり、要求切換手段4は、すなわち、要求切換手段4では、バスマスタAとバスアービタ2との間の接続状態の入れ換えを行うことで、そのバスマスタAについての優先順位の選択切り換えを行うようになっている。この要求切換手段4は、スイッチング回路等のハードウエアによって実現することが考えられるが、CPU(Central Processing Unit)等に所定プログラムを実行させてソフトウエアにより実現することも考えられる。
インターバルカウンタ5は、要求切換手段4がスイッチングを行うと、その時点を「0」としてシステムクロック等のカウントを行い、カウント数が設定値INT_CTRに到達したら、カウントを停止して、その旨を要求切換手段4に通知するとともに、カウント数を「0」にリセットし、再び新たなカウントを開始するものである。このインターバルカウンタ5からの通知に基づいて、要求切換手段4は、定期的な選択切り換え(スイッチング)を行うようになっている。
インターバルレジスタ6は、インターバルカウンタ5がカウントを停止する設定値INT_CTRが予め設定されているものである。ただし、インターバルレジスタ6には、複数(例えば三つ)の設定値INT_CTR1〜INT_CTR3が設定されており、これらの設定値INT_CTR1〜INT_CTR3を順次切り換えてインターバルカウンタ5にロードするようになっている。これにより、インターバルカウンタ5は、システムクロック等のカウントを行う度に、そのカウントを停止するカウント数として、異なる設定値INT_CTR1〜INT_CTR3を用いることになる。
このように、インターバルカウンタ5およびインターバルレジスタ6は、要求切換手段4が定期的に行う選択切り換え(スイッチング)の間隔を、その選択切り換え毎に異なるように可変にする、本発明の間隔可変手段として機能するものである。
なお、ここでは、バスマスタA〜Zのうちの一つのバスマスタAに対応して要求切換手段4、インターバルカウンタ5およびインターバルレジスタ6が設けられている場合を例に示しているが、他のバスマスタAにも対応して、要求切換手段4等が複数設けられていてもよい。ただし、その場合には、一つの要求切換手段4に対して、必ず一つのバスマスタA〜Zが対応するようになっているものとする。
次に、以上のように構成されたデータ転送処理装置における処理動作例について説明する。
例えば、USB接続に対応する場合のように、各バスマスタA〜Zの中に、低速でありながらも一定期間にある程度のデータ転送を必要とする特徴のものが存在する場合に、そのマスタの優先順位を高く設定してしまうと、バス全体の使用率が低下してしまうおそれがある。すなわち、他のマスタ(特に優先順位が高レベルであるマスタ)にも影響を及ぼしてしまうことになる。また、例えば、USB接続に対応する場合には、バス状態を時間により管理すると(例えば、特許文献1〜3参照)、不必要に大量のデータを転送するタイプのバスマスタにバス使用権が付与されてしまい、短時間でも必要なデータ転送があるバスマスタに対してバス使用権が与えられなくなるおそれがある。さらに、複数のバスマスタA〜Zが接続されるバスアービタ2において、それぞれのバスマスタA〜Zに対する優先順位を動的に変化させようとすると(例えば、特許文献4参照)、これに対応するだけのテーブルを用意せねばならず、そのための装置構成が非常に複雑なものになると思われる。
このことから、本実施形態で説明するデータ転送処理装置では、バスマスタA〜Zのうちのある一つのバスマスタAで、例えば低速でありながらも一定期間にある程度のデータ転送を必要とする特徴のものに対して、スムーズに共通バス1の使用権を確保させることができるアービトレーションを実現すべく、要求切換手段4がそのバスマスタAについての優先順位の選択切り換えを定期的に行い、これにより他のマスタ(特に高レベルのマスタ)の優先順位を変えることなく、高速でも低速でもない中間バンド幅を、簡易な装置構成で確保しているのである。
具体的には、要求切換手段4は、バスアービタ2の側がHigh/Mid/Lowレベルの各グループに対応した三つの端子REQ0〜REQ2,GNT0〜GNT2と接続しているので、先ず、デフォルト(例えばHighレベル)の端子REQ0,GNT0とバスマスタAとの間の接続が確保されるようにスイッチングを行う。そして、インターバルカウンタ5でのカウント数が設定値INT_CTR1〜INT_CTR3に到達する度に、例えばHighレベル→Midレベル→Lowレベルといった順で、バスマスタAとバスアービタ2との間の接続状態の入れ換えを行う。ただし、優先順位の選択切り換えは、Highレベル→Midレベル→Lowレベルといったように、順位の高いほうから低いほうへ順に切り換えるのではなく、Lowレベル→Midレベル→Highレベルといったようなその逆順に行うようにしてもよい。いずれの場合においても、レベル遷移のためのスイッチングの手法としては、例えばステート情報を用いることが考えられる。ステート情報は、フリップフロップで構成され、カウンタの値がそれぞれのカウント値に到達する度に、ステートを遷移する。この信号をマスク信号として使うことで、要求切換手段4が三つの端子REQ0〜REQ2,GNT0〜GNT2と接続していても、その中から選択されたいずれか一つ以外については信号の授受を行わないという、信号の排他制御を実現することができるのである。
図2は、データ転送処理装置における優先順位の選択切り換えを、ラウンドロビン方式に適用した場合の一具体例を示す状態遷移図である。図例のように、ここでは、High/Mid/Lowレベルの3グループ3階層で、HighレベルのグループにバスマスタBが、MidレベルのグループにバスマスタCが、LowレベルのグループにバスマスタZがそれぞれ属するように設定されたラウンドロビン方式を例に挙げて説明する。なお、バスマスタAについては、その優先順位としてHigh/Mid/Lowレベルのそれぞれが設定されており(各端子REQ0〜REQ2,GNT0〜GNT2がHigh/Mid/Lowレベルのそれぞれに対応している)、要求切換手段4がその中からいずれか一つを選択するようになっているものとする。
このような設定のラウンドロビン方式の場合、バスマスタAに着目すると、共通バス1の使用許可頻度が以下に述べるように遷移する。
動作開始からインターバルカウンタ5によるカウント数が最初の設定値INT_CTR1に到達するまでの間は、要求切換手段4がデフォルトであるHighレベルの端子REQ0,GNT0とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、共通バス1の使用権についての優先順位が、Highレベルのグループに属する「B」→Highレベルのグループに属する「A」→Midレベルのグループに属する「C」→Highレベルのグループに属する「B」→Highレベルのグループに属する「A」→Lowレベルのグループに属する「Z」という順の遷移を繰り返すことになる。したがって、バスアービタ2に対して各バスマスタA〜Zがバス要求信号を送信する場合であっても、バスマスタAは、三回に一回の割合で共通バス1の使用権を獲得することが可能となる。
インターバルカウンタ5によるカウント数が設定値INT_CTR1に到達すると、要求切換手段4がMidレベルの端子REQ1,GNT1とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、カウント数が設定値INT_CTR1への到達後から設定値INT_CTR2に到達するまでの間は、共通バス1の使用権についての優先順位が、Highレベルのグループに属する「B」→Midレベルのグループに属する「C」→Highレベルのグループに属する「B」→Midレベルのグループに属する「A」→Highレベルのグループに属する「B」→Lowレベルのグループに属する「Z」をいう順の遷移を繰り返すことになる。したがって、バスアービタ2に対して各バスマスタA〜Zがバス要求信号を送信する場合に、バスマスタAは、六回に一回の割合で共通バス1の使用権を獲得することが可能となる。
インターバルカウンタ5によるカウント数が設定値INT_CTR2に到達すると、要求切換手段4がLowレベルの端子REQ2,GNT2とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、カウント数が設定値INT_CTR1+設定値INT_CTR2への到達後から設定値INT_CTR3に到達するまでの間は、その後からカウント数が設定値INT_CTR2に到達するまでの間は、共通バス1の使用権についての優先順位が、Highレベルのグループに属する「B」→Midレベルのグループに属する「C」→Highレベルのグループに属する「B」→Lowレベルのグループに属する「Z」→Highレベルのグループに属する「B」→Midレベルのグループに属する「C」→Highレベルのグループに属する「B」→Lowレベルのグループに属する「A」をいう順の遷移を繰り返すことになる。したがって、バスアービタ2に対して各バスマスタA〜Zがバス要求信号を送信する場合に、バスマスタAは、八回に一回の割合で共通バス1の使用権を獲得することが可能となる。
その後は、再び、要求切換手段4がHighレベルの端子REQ0,GNT0とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、カウント数が設定値INT_CTR1+設定値INT_CTR2+設定値INT_CTR3への到達後から設定値INT_CTR1に到達するまでの間、上述したようにバスマスタAが三回に一回の割合で共通バス1の使用権を獲得することが可能となり、以下、上述した処理動作を繰り返すことになる。なお、このような処理動作の繰り返しは、上述したようなHighレベル→Midレベル→Lowレベルといった順で切り換えが行われる場合のみならず、その逆順で切り換えが行われる場合についても全く同様である。
図3は、データ転送処理装置における選択切り換えを、固定優先順位方式に適用した場合の一具体例を示す状態遷移図である。図例のように、ここでは、各バスマスタA〜Zについて、バスマスタB>Highレベルの端子REQ0,GNT0に接続している状態のバスマスタA>バスマスタC>Midレベルの端子REQ1,GNT1に接続している状態のバスマスタA>バスマスタZ>Lowレベルの端子REQ2,GNT2に接続している状態のバスマスタAという順で優先順位が設定された固定優先順位方式を例に挙げて説明する。
このような設定の固定優先順位方式の場合、バスマスタAに着目すると、共通バス1の使用許可頻度が以下に述べるように遷移する。
動作開始からインターバルカウンタ5によるカウント数が最初の設定値INT_CTR1に到達するまでの間は、要求切換手段4がデフォルトであるHighレベルの端子REQ0,GNT0とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、バスマスタAの優先順位が、バスマスタBとバスマスタCとの間に存在することになる。したがって、バスアービタ2に対して各バスマスタA〜Zがバス要求信号を送信する場合であっても、バスマスタAは、バスマスタBからのバス要求信号がなければ、共通バス1の使用権を獲得することが可能となる。
インターバルカウンタ5によるカウント数が設定値INT_CTR1に到達すると、要求切換手段4がMidレベルの端子REQ1,GNT1とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、カウント数が設定値INT_CTR1への到達後から設定値INT_CTR2に到達するまでの間は、バスマスタAの優先順位が、バスマスタCとバスマスタZとの間に存在することになる。したがって、バスアービタ2に対して各バスマスタA〜Zがバス要求信号を送信する場合であっても、バスマスタAは、バスマスタB,Cからのバス要求信号がなければ、共通バス1の使用権を獲得することが可能となる。
インターバルカウンタ5によるカウント数が設定値INT_CTR2に到達すると、要求切換手段4がLowレベルの端子REQ2,GNT2とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、カウント数が設定値INT_CTR1+設定値INT_CTR2への到達後から設定値INT_CTR3に到達するまでの間は、バスマスタAの優先順位が、バスマスタZよりも下位に存在することになる。したがって、バスマスタAは、バスマスタB〜Zのいずれからもバス要求信号がない場合にのみ、共通バス1の使用権を獲得することが可能となる。
その後は、再び、要求切換手段4がHighレベルの端子REQ0,GNT0とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、カウント数が設定値INT_CTR1+設定値INT_CTR2+設定値INT_CTR3への到達後から設定値INT_CTR1に到達するまでの間、上述したようにバスマスタAはバスマスタBからのバス要求信号がなければ共通バス1の使用権を獲得することが可能となり、以下、上述した処理動作を繰り返すことになる。なお、このような処理動作の繰り返しは、上述したようなHighレベル→Midレベル→Lowレベルといった順で切り換えが行われる場合のみならず、その逆順で切り換えが行われる場合についても全く同様である。
図4は、データ転送処理装置における選択切り換えを、ラウンドロビン方式と固定優先順位方式とを組み合わせたものに適用した場合の一具体例を示す状態遷移図である。図例のように、ここでは、High/Mid/Lowレベルの3グループ3階層で、HighレベルのグループにバスマスタBが、MidレベルのグループにバスマスタCが、LowレベルのグループにバスマスタZがそれぞれ属するように設定されたラウンドロビン方式と、Highレベルのグループ>Midレベルのグループ>Lowレベルのグループという順で優先順位が設定された固定優先順位方式とを組み合わせた場合を例に挙げて説明する。なお、バスマスタAについては、その優先順位としてHigh/Mid/Lowレベルのそれぞれが設定されており(各端子REQ0〜REQ2,GNT0〜GNT2がHigh/Mid/Lowレベルのそれぞれに対応している)、要求切換手段4がその中からいずれか一つを選択するようになっているものとする。
このような設定の組み合わせ方式の場合、バスマスタAに着目すると、共通バス1の使用許可頻度が以下に述べるように遷移する。
動作開始からインターバルカウンタ5によるカウント数が最初の設定値INT_CTR1に到達するまでの間は、要求切換手段4がデフォルトであるHighレベルの端子REQ0,GNT0とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、バスマスタAの優先順位がHighレベルのグループに属することになる。したがって、共通バス1の使用権についての優先順位が、Highレベルのグループに属する「B」→Highレベルのグループに属する「A」という順の遷移を繰り返し、バスマスタA,Bからのバス要求信号がない場合にのみ、バスマスタCまたはバスマスタZが共通バス1の使用権を獲得することが可能となる。
インターバルカウンタ5によるカウント数が設定値INT_CTR1に到達すると、要求切換手段4がMidレベルの端子REQ1,GNT1とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、カウント数が設定値INT_CTR1への到達後から設定値INT_CTR2に到達するまでの間は、バスマスタAの優先順位がMidレベルのグループに属することになる。したがって、バスマスタBからのバス要求信号がなければ、共通バス1の使用権についての優先順位が、Midレベルのグループに属する「C」→Midレベルのグループに属する「A」という順の遷移を繰り返し、バスマスタA,B,Cのいずれからもバス要求信号がない場合にのみ、バスマスタZが共通バス1の使用権を獲得することが可能となる。
インターバルカウンタ5によるカウント数が設定値INT_CTR2に到達すると、要求切換手段4がLowレベルの端子REQ2,GNT2とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、カウント数が設定値INT_CTR1+設定値INT_CTR2への到達後から設定値INT_CTR3に到達するまでの間は、バスマスタAの優先順位がLowレベルのグループに属することになる。したがって、バスマスタB,Cのいずれからもバス要求信号がない場合に、共通バス1の使用権についての優先順位が、Lowレベルのグループに属する「Z」→Lowレベルのグループに属する「A」という順の遷移を繰り返すこととなる。
その後は、再び、要求切換手段4がHighレベルの端子REQ0,GNT0とバスマスタAとの間の接続が確保されるようにスイッチングを行うので、カウント数が設定値INT_CTR1+設定値INT_CTR2+設定値INT_CTR3への到達後から設定値INT_CTR1に到達するまでの間、共通バス1の使用権についての優先順位が、Highレベルのグループに属する「B」→Highレベルのグループに属する「A」という順の遷移を繰り返し、以下、上述した処理動作を繰り返すことになる。なお、このような処理動作の繰り返しは、上述したようなHighレベル→Midレベル→Lowレベルといった順で切り換えが行われる場合のみならず、その逆順で切り換えが行われる場合についても全く同様である。
以上のように、本実施形態で説明したデータ転送処理装置では、バスアービタ2が複数のバスマスタA〜Zからのバス要求信号に対するアービトレーションを行うが、バスアービタ2によるアービトレーションに固定優先順位方式、ラウンドロビン方式またはこれらの組み合わせのいずれを適用した場合であっても、そのうちのバスマスタAについては、その優先順位を要求切換手段4が複数の異なるの中からいずれか一つ選択するとともに、その選択の切り換えを定期的に行うようになっている。したがって、そのバスマスタAについては、アービトレーションの方式に拘わらず、その優先順位が定期的に切り換わるので、その切り換わりを何度か経た期間を通してみれば、高速でもない、低速でもない、中間のバンド幅を確保することが可能となる。
つまり、本実施形態におけるデータ転送処理装置では、あるバスマスタAについて、複数の異なる優先順位が定期的に切り換わるので、中間のバンド幅を確保することが可能となり、バスが過密になっても破綻することがない等の如く、共通バス1全体の使用率の低下を回避しつつ、当該あるバスマスタAに対して適切にバス使用権を与えるといったことが実現でき、その結果としてバスアービタ2が柔軟で適切なバスのアービトレーションを行うことが可能となるのである。しかも、その場合であっても、あるバスマスタA以外のバスマスタB〜C(特に高レベルのもの)については影響を及ぼすことがない。これにより、既存のシステムのバランスを崩すことなく、例えばUSB接続に対応したものの如く、低速でありながら、あるタイムフレームで制御を終了する制限を持つ等の新しい特徴的なデバイスについても、好適なアービトレーションを実現することが可能となる。
さらに、柔軟で適切なバスのアービトレーションを実現しても、タイマー機能や膨大なデータ量のテーブル等を要することがなく、優先順位の入れ換え(例えば、スイッチング)を行う要求切換手段4を備えるだけでよいため、簡素な装置構成での実現が可能となる。また、既存の構成に追加して本実施形態のデータ転送処理装置を実現することも容易である。したがって、装置構成の複雑化や装置コストの上昇等を招いてしまうこともない。
このように、本実施形態におけるデータ転送処理装置によれば、柔軟で適切なバスのアービトレーションの実現と、装置構成の複雑化や装置コストの上昇等の回避とを、それぞれ両立させることが可能となるのである。
また、本実施形態におけるデータ転送処理装置では、単に要求切換手段4がバスマスタAについての優先順位の選択切り換えを定期的に行うだけでなく、インターバルレジスタ6に設定された複数の設定値INT_CTR1〜INT_CTR3に基づいて、その定期的に行う選択切り換えの間隔、すなわちインターバルカウンタ5によるカウント数が、その間隔が選択切り換え毎に異なるようになっている。つまり、インターバルカウンタ5およびインターバルレジスタ6を備えることで、選択切り換えの間隔(カウント数)が可変するようになっている。このことは、要求切換手段4が選択切り換えを行うことによって、バスマスタAについて中間のバンド幅を確保する場合に、複数の設定値INT_CTR1〜INT_CTR3の設定次第で、その中間のバンド幅が決定されることを意味する。したがって、カウント数を選択切り換え毎に可変とすれば、設定値INT_CTR1〜INT_CTR3の設定次第で中間のバンド幅の大きさを適宜調整できることとなり、柔軟で適切なバスのアービトレーションを実現する上で非常に好適なものとなる。
また、上述したように、本実施形態におけるデータ転送処理装置は、固定優先順位方式、ラウンドロビン方式またはこれらの組み合わせのいずれに対しても適用することが可能である。そして、固定優先順位方式に適用した場合は高速性を要求されるマスタのバンド幅確保が確実となり、またラウンドロビン方式に適用した場合は各マスタによる公平なバス権取得が可能となり、両者の組み合わせに適用した場合は高速性を要求されるマスタのバンド幅確保しつつ各マスタによる公平なバス権取得を可能にする、といったそれぞれの方式における利点をそのまま享受することができる。
なお、本実施形態では、本発明の好適な実施具体例を説明したが、本発明はその内容に限定されるものではなく、その要旨を逸脱しない範囲で適宜変更することが可能である。例えば、本実施形態では、バスアービタ2が固定優先順位方式、ラウンドロビン方式またはこれらの組み合わせによりアービトレーションを行う場合を例に挙げたが、他の公知技術を用いたもの等であっても、全く同様に本発明を適用することが考えられる。
また、本実施形態では、要求切換手段4が、バスマスタAについての優先順位の選択切り換えを、順位の高いほうから低いほうへ順に切り換え、またはその逆順に切り換えるように行う場合を例に挙げたが、その切り換え順は対象となるバスマスタAの特性、すなわち徐々にバス使用頻度が低くなるようなものか、あるいは高くなるものかといった特性に合わせて予め決定しておくばよく、必ずしも順位の高いほうから低いほうへの順またはその逆順に限定されることはない。
本発明に係るデータ転送処理装置の概略構成例を示す模式図である。 本発明に係るデータ転送処理装置における優先順位の選択切り換えを、ラウンドロビン方式に適用した場合の一具体例を示す状態遷移図である。 本発明に係るデータ転送処理装置における優先順位の選択切り換えを、固定優先順位方式に適用した場合の一具体例を示す状態遷移図である。 本発明に係るデータ転送処理装置における優先順位の選択切り換えを、ラウンドロビン方式と固定優先順位方式とを組み合わせたものに適用した場合の一具体例を示す状態遷移図である。
符号の説明
1…共通バス、2…バスアービタ、3…モード設定レジスタ、4…要求切換手段、A,B,C,Z…バスマスタ、5…インターバルカウンタ、6…インターバルレジスタ

Claims (6)

  1. 共通バスと、
    前記共通バスを使用してデータ転送を行う複数のバスマスタであって、当該複数のバスマスタのうちの1つ以上の第1のバスマスタに対しては複数の異なる優先順位が設定され、当該複数のバスマスタのうちの前記第1のバスマスタ以外の第2のバスマスタそれぞれに対しては予め優先順位が設定されている、複数のバスマスタと、
    前記第1のバスマスタについて設定されている複数の異なる優先順位の中からいずれか一つを選択するとともに、当該選択の切り換えを定期的に行う要求切換手段と
    前記第2のバスマスタに予め設定されている優先順位と、前記要求切換手段によって選択された前記第1のバスマスタについての優先順位とに基づいて、前記複数のバスマスタからの共通バス使用要求に対する調停を行うバスアービタと
    を備えることを特徴とするデータ転送処理装置。
  2. 前記要求切換手段が定期的に行う選択切り換えの間隔を当該選択切り換え毎に異なるように可変にする間隔可変手段と
    を備えることを特徴とする請求項1記載のデータ転送処理装置。
  3. 前記バスアービタが基にする優先順位は、固定優先順位方式によるものである
    ことを特徴とする請求項1、2または3記載のデータ転送処理装置。
  4. 前記バスアービタが基にする優先順位は、ラウンドロビン方式によるものである
    ことを特徴とする請求項1、2または3記載のデータ転送処理装置。
  5. 前記バスアービタが基にする優先順位は、固定優先順位方式とラウンドロビン方式との組み合わせによるものである
    ことを特徴とする請求項1、2または3記載のデータ転送処理装置。
  6. 前記要求切換手段は、優先順位の選択切り換えを、順位の高いほうから低いほうへ順に切り換え、またはその逆順に切り換えるように行うものである
    ことを特徴とする請求項1〜5のいずれか1項に記載のデータ転送処理装置。
JP2005072948A 2005-03-15 2005-03-15 データ転送処理装置 Expired - Fee Related JP4666143B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005072948A JP4666143B2 (ja) 2005-03-15 2005-03-15 データ転送処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005072948A JP4666143B2 (ja) 2005-03-15 2005-03-15 データ転送処理装置

Publications (2)

Publication Number Publication Date
JP2006259842A JP2006259842A (ja) 2006-09-28
JP4666143B2 true JP4666143B2 (ja) 2011-04-06

Family

ID=37099070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005072948A Expired - Fee Related JP4666143B2 (ja) 2005-03-15 2005-03-15 データ転送処理装置

Country Status (1)

Country Link
JP (1) JP4666143B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4862593B2 (ja) * 2006-10-04 2012-01-25 富士ゼロックス株式会社 データ転送装置及び画像形成装置
JP2010028428A (ja) * 2008-07-18 2010-02-04 Kyocera Mita Corp 画像処理装置
JP5125890B2 (ja) * 2008-08-28 2013-01-23 富士通セミコンダクター株式会社 調停装置及び電子機器
JP2010191911A (ja) * 2009-02-20 2010-09-02 Ntt Electornics Corp データ転送装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216256A (ja) * 2000-02-02 2001-08-10 Denso Corp アクセス権調停方法及び装置
JP2002312309A (ja) * 2001-04-09 2002-10-25 Nec Eng Ltd 調停回路及び調停方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01263756A (ja) * 1988-04-13 1989-10-20 Matsushita Electric Ind Co Ltd バス制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216256A (ja) * 2000-02-02 2001-08-10 Denso Corp アクセス権調停方法及び装置
JP2002312309A (ja) * 2001-04-09 2002-10-25 Nec Eng Ltd 調停回路及び調停方法

Also Published As

Publication number Publication date
JP2006259842A (ja) 2006-09-28

Similar Documents

Publication Publication Date Title
US20120042105A1 (en) Bus arbitration apparatus
US10353837B2 (en) Method and apparatus to enable multiple masters to operate in a single master bus architecture
US9684624B2 (en) Receive clock calibration for a serial bus
US5572686A (en) Bus arbitration scheme with priority switching and timer
US7305510B2 (en) Multiple master buses and slave buses transmitting simultaneously
EP1018687B1 (en) A port manager controller for connecting various function modules
US7467245B2 (en) PCI arbiter
JP4480427B2 (ja) リソース管理装置
KR20160107247A (ko) 대역-내 인터럽트를 이용한 카메라 제어 인터페이스 확장
KR20170110610A (ko) 시리얼 버스를 위한 수신 클록 캘리브레이션
JP2004531830A (ja) キャッシュメモリバーストサイクル中にバスアービトレーションを制御するためのシステム及び方法
US20150220460A1 (en) Arbitrating direct memory access channel requests
WO2003040936A1 (en) System and method for managing priorities in a pci bus system
JP4666143B2 (ja) データ転送処理装置
US20120089759A1 (en) Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)
US7054970B2 (en) Bus arbiter for integrated circuit systems
KR102360214B1 (ko) 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법
KR101420290B1 (ko) 트랜잭션들을 그룹화하는 버스 중재기, 이를 포함하는 버스장치 및 시스템
CN101331469B (zh) 访问数据传送总线的方法、相应设备与***
JP5677007B2 (ja) バス調停装置、バス調停方法
JP2004078508A (ja) バス調停回路、バス調停方法およびそのプログラム
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP2006201832A (ja) データ転送処理装置
JP2008059047A (ja) 情報処理システム及びこの制御方法
JP2003006139A (ja) Dma転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080221

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101228

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees