JP2004013356A - バス調停システム - Google Patents
バス調停システム Download PDFInfo
- Publication number
- JP2004013356A JP2004013356A JP2002163497A JP2002163497A JP2004013356A JP 2004013356 A JP2004013356 A JP 2004013356A JP 2002163497 A JP2002163497 A JP 2002163497A JP 2002163497 A JP2002163497 A JP 2002163497A JP 2004013356 A JP2004013356 A JP 2004013356A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data transfer
- bus arbitration
- priority
- channel
- 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
【課題】バスを介してのデータ転送を制御するデータ転送チャネルを複数有するデータ転送装置と、1以上のマスタ・ノードとを備えたバス調停システムにおいて、適切なバス調停を実現する。
【解決手段】バス調停手段107は、マスタ・ノード102,103、及び複数のデータ転送チャネル111〜115からのバス使用権の要求を受け付け、その要求を一括して調停して、バス使用権を要求したマスタ・ノード102,103及びデータ転送チャネル111〜115のいずれか一つにバス使用権を与える。
【選択図】 図1
【解決手段】バス調停手段107は、マスタ・ノード102,103、及び複数のデータ転送チャネル111〜115からのバス使用権の要求を受け付け、その要求を一括して調停して、バス使用権を要求したマスタ・ノード102,103及びデータ転送チャネル111〜115のいずれか一つにバス使用権を与える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、バス使用権の要求に対してバス調停を行うバス調停システムに関する。
【0002】
【従来の技術】
以下、従来のバス調停システムについて、図面を参照しながら説明する。
図7は、従来のバス調停システムの構成を示すブロック図である。図7において、従来のバス調停システムは、マスタ・ノード102,103と、スレーブ・ノード104,105と、バス106と、データ転送装置201と、バス調停手段202とを備える。
【0003】
マスタ・ノード102,103は、バス106を使用したいときに、バス使用要求信号123を介し、バス調停手段202に対しバス獲得要求を出力する。そして、バス調停手段202からバス使用権を与えられたマスタ・ノードが、バス106を使用することができる。このマスタ・ノード102,103としては、例えば、CPUやDSPなどがある。スレーブ・ノード104,105は、バス106の使用権の要求は行わず、バスを使用しているマスタ・ノードにより、データが読み出されたり、書き込まれたりする。このスレーブ・ノード104,105としては、例えば、メモリやストレージデバイスなどがある。
【0004】
データ転送装置201は、例えば、DMAコントローラであり、複数のデータ転送チャネル211−1〜211−nと、チャネル選択手段220とを有している。データ転送チャネル211−1〜211−nは、それぞれ、CPUなどからの指示により、マスタ・ノード102,103およびスレーブ・ノード104,105のいずれかから、マスタ・ノード102,103およびスレーブ・ノード104,105の他のいずれかへのデータ転送を、バス106を介して行う。チャネル選択手段220は、あらかじめ設定されている優先度に基づいて、バス106にアクセスするデータ転送チャネルを選択する。
【0005】
バス調停手段202は、データ転送装置201からのバス要求信号221、及びマスタ・ノード102,103からのバス要求信号123を受け付け、そのバス獲得要求を調停し、マスタ・ノード102、103及びデータ転送装置201のいずれか一つにバス使用権を付与する。
【0006】
次に、従来のバス調停システムの動作について説明する。
データ転送チャネル211−1〜211−nのいずれかがデータ転送を行うときには、まず、チャネル選択手段220においてチャネル調停を行う。例えば、データ転送チャネル211−1,211−2がデータ転送を行うときには、それぞれに対してあらかじめ定められているチャネル優先度に基づいて、チャネル選択手段220はデータ転送チャネル211−1,211−2のいずれかを選択する。次に、チャネル選択手段220により選択されたデータ転送チャネルのバス獲得要求を、データ転送装置201のバス要求信号221によりバス調停手段202に出す。また、マスタ・ノード102,103もバスを使用したい場合には、バス要求信号123を介してバス獲得要求をバス調停手段202に出す。バス調停手段202は、データ転送装置201やマスタ・ノード102,103からのバス獲得要求を受け取り、その要求を調停して、優先度の高いものに対してバス使用権を付与する。そして、その使用権の与えられたデータ転送チャネル、あるいはマスタ・ノードが、バス106を使用してデータの転送を行う。
【0007】
以上のように、従来のバス調停システムにおいては、データ転送チャネル211−1〜211−nがデータ転送を行う場合に、▲1▼チャネル選択手段220によるデータ転送チャネルの調停と、▲2▼バス調停手段202によるバス調停との2段階の調停処理を行う必要があった。
【0008】
【発明が解決しようとする課題】
上記のように従来のバス調停システムでは、データ転送装置201におけるチャネル調停、及びバス調停手段202によるバス調停を別個に行うため、バス調停におけるデータ転送装置201の優先度は、データ転送チャネル211−1〜211−nの種類によらず、データ転送装置201として一括して取り扱われていた。このため、データ転送チャネル211−1〜211−nと、マスタ・ノード102,103とを含めた最適な優先度でのバス調停ができないという問題点があった。
【0009】
具体的には、マスタ・ノード102の優先度をPM1、マスタ・ノード103の優先度をPM2、データ転送装置201の優先度をPTとし、PM1>PT>PM2という関係となるように優先度が設定されている場合には、データ転送チャネル211−1〜211−nのいずれかからのバス使用権の要求と、マスタ・ノード103からのバス使用権の要求とが競合したときに、バス調停手段202は、より優先度の高いデータ転送チャネル211−1〜211−nの方にバス使用権を付与することとなる。したがって、例えば、データ転送チャネルの数nが5である、すなわち、データ転送装置201が211−1〜211−5の5つのデータ転送チャネルを備えたものであるとして、データ転送チャネル211−1〜211−5の優先度をそれぞれ、PC1〜PC5とし、データ転送チャネル211−4からのバス使用権の要求と、マスタ・ノード103からのバス使用権の要求とが競合した場合に、PC4<PM2であったとしても、バス調停手段202は、上述のようにデータ転送チャネル211−4にバス使用権を付与することとなり、データ転送チャネルの個別の優先度は全く考慮されないこととなる。このように、データ転送の実際の優先度としては、マスタ・ノード103の方がデータ転送チャネル211−4より高かったとしても、バス調停においては、データ転送チャネル214が優先されることとなり、実際のデータ転送の優先度を反映しないバス調停が行われることとなる。
【0010】
本発明は、上記問題点を解決するためになされたものであり、データ転送チャネルを複数有するデータ転送装置と、1以上のマスタ・ノードとを備えたバス調停システムにおいて、各データ転送チャネルおよびマスタ・ノードのそれぞれの優先度に基づく適切なバス調停を、少ないハードウェア・コストで実現できるバス調停システムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明によるバス調停システムは、複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、前記データ転送装置の前記複数のデータ転送チャネルは、それぞれ独自に前記バス調停手段に対しバス獲得要求を出すものであり、前記バス調停手段は、前記複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記データ転送チャネル及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものである。
【0012】
また、本発明によるバス調停システムは、複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、前記データ転送装置は、各々1個以上の前記データ転送チャネルを含む複数のチャネルグループを備え、前記チャネルグループは、該グループ内のデータ転送チャネルがデータ転送を行う際には、該グループ内のチャネル間調停を行った後、該調停により選択された1つのデータ転送チャネルのバス獲得要求を、前記バス調停手段に対し出すものであり、前記バス調停手段は、前記複数のチャネルグループおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記チャネルグループ及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものである。
【0013】
また、本発明によるバス調停システムは、請求項1または2記載のバス調停システムにおいて、各ノード(データ転送チャネルを含む)のバス使用時間を計測するバス計測手段を備え、前記バス計測手段により計測された各ノードのバス使用時間に基づいて、各ノードの優先度を動的に変更するものである。
【0014】
また、本発明によるバス調停システムは、請求項1ないし請求項3のいずれかに記載のバス調停システムにおいて、各ノード(データ転送チャネルを含む)の優先度を設定するバス優先度記憶手段を備え、前記バス優先度記憶手段に対しその優先度の値を書き替えることにより、各ノードの優先度を動的に変更するものである。
【0015】
また、本発明によるバス調停システムは、請求項1ないし請求項4のいずれかに記載のバス調停システムにおいて、優先度が下位のノード(データ転送チャネルを含む)が動作中である時に、優先度が上位のデータ転送要求が発生した場合、前記優先度が下位のノードの動作を一時中断し、前記優先度が上位のデータ転送を実行した後、前記一時中断されたノードの動作を再開するための情報を記憶する再開情報記憶手段を備えたものである。
【0016】
【発明の実施の形態】
(実施の形態1)
以下、本発明の実施の形態1によるバス調停システムについて、図面を参照しながら説明する。
図1は、本実施の形態1によるバス調停システムの構成を示すブロック図である。
【0017】
図1において、本実施の形態1によるバス調停システムは、データ転送装置101と、マスタ・ノード102,103と、スレーブ・ノード104,105と、バス106と、バス調停手段107とを備える。なお、マスタ・ノード102,103、スレーブ・ノード104,105、及びバス106は、従来例の説明と同様のものであり、その説明を省略する。
【0018】
データ転送装置101は、複数のデータ転送チャネル111−1〜111−nと、チャネル選択手段120とを有する。データ転送チャネル111−1〜111−nは、バス106を介してデータ転送を行う。例えば、スレーブ・ノード104からスレーブ・ノード105へのデータ転送などを行う。チャネル選択手段120は、データ転送チャネル111−1〜111−nのうち、バス調停手段107によりバス使用権の与えられたものを選択して、バス106と接続させる。
【0019】
バス調停手段107は、データ転送チャネル111−1〜111−n、及びマスタ・ノード102,103からのバス使用要求信号を受け付け、その要求をデータ転送チャネル111−1〜111−n及びマスタ・ノード102,103の各優先度に基づいて調停して、バス使用要求信号を出力したデータ転送チャネル111−1〜111−n及びマスタ・ノード102,103のいずれか一つにバス使用権を与える。
【0020】
次に、本実施の形態1によるバス調停システムの動作について説明する。
データ転送チャネル111−1〜111−nのうちのいずれかのデータ転送チャネルがデータ転送を行う場合、そのデータ転送を行うデータ転送チャネルは、バス調停手段107に対してデータ転送チャネル専用のバス要求信号121を介して、バス獲得要求を出す。バス106に接続された、データ転送装置101以外のマスタ・ノード102,103も、バス106を使用したい場合には、バス調停手段107に対して、各マスタ・ノード102,103ごとのバス要求信号123を介して、バス獲得要求を出す。
【0021】
バス調停手段107は、データ転送チャネル111−1〜111−n、及びマスタ・ノード102,103から、ただ一つのバス獲得要求を受け付けた場合には、そのバス獲得要求を出したノードに対してバス使用権を与える。一方、2以上のバス獲得要求が競合した場合には、バス調停手段107は、データ転送チャネル111−1〜111−n、及びマスタ・ノード102,103のうち、バス獲得要求を出しているものについて、あらかじめ設定されている優先度に基づいて、一括してバス調停を行い、バス獲得要求を出したマスタ・ノード、及びデータ転送チャネルのうちから、バス使用権を与える1つのノードを決定する。データ転送チャネル111−1〜111−nのいずれかにバス使用権が与えられた場合には、バス調停手段107は、そのバス使用権の与えられたデータ転送チャネルを特定する情報を、選択信号122によりチャネル選択手段120に知らせる。選択信号122を受けたチャネル選択手段120は、その情報により特定されたデータ転送チャネルを、バス・インターフェイス回路110に接続する。バス・インターフェイス回路110に接続されたデータ転送チャネルは、バス106を介してのデータ転送を開始する。マスタ・ノード102,103のいずれかにバス使用権が与えられた場合には、バス使用権を獲得したマスタ・ノードがバス106を介してのデータ転送を開始する。
【0022】
ここで、具体例について説明する。なお、ここではデータ転送チャネルの数nが5である、すなわち、データ転送装置101が111−1〜111−5の5つのデータ転送チャネルを備えたものであるとして説明する。マスタ・ノード102の優先度をPM1、マスタ・ノード103の優先度をPM2、データ転送チャネル111−1〜111−5の優先度をそれぞれPC1〜PC5とし、PM1>PC1>PC2>PC3>PM2>PC4>PC5という関係となるように優先度が設定されているとする。この場合に、データ転送チャネル111−4からのバス獲得要求と、マスタ・ノード103からのバス獲得要求とが競合したとすると、PM2>PC4であるため、バス調停手段107は、マスタ・ノード103にバス使用権を付与する。また、データ転送チャネル111−1からのバス獲得要求と、マスタ・ノード103からのバス獲得要求とが競合したとすると、PC1>PM2であるため、バス調停手段107は、データ転送チャネル111−1にバス使用権を付与する。このように、本実施の形態1によるバス調停では、複数のデータ転送チャネルの各優先度を考慮に入れた調停がなされることとなる。
【0023】
ここで、バス調停手段107がバス要求信号121,123を介してバス獲得要求を受けた時に、バス106が他ノードにより使用中である場合は、バス調停手段107が即座にバス調停を行い、バス使用権を与えるノードを決定した後に、該バス使用権を獲得したノードが、バス106が非使用状態となったとき、該バス106を使用してデータ転送を行うようにする。なお、上述したように、バス調停手段107がバス獲得要求を受けた時にバス106が他ノードにより使用中である場合は、該バス調停手段107は、バス106が非使用状態になるまで調停動作を待機し、バス106が非使用状態になってから調停を行なうようにしてもよい。
【0024】
このように、本実施の形態1によるバス調停システムでは、バス調停手段107が、マスタ・ノード102,103からのバス使用権の要求に加えて、複数のデータ転送チャネル111−1〜111−nからのバス使用権の要求をも受け付け、それらを一括して調停するようにしたから、各データ転送チャネルの個別の優先度をも考慮に入れたバス調停を行うことができ、すべてのデータ転送の優先度を反映させた、効率的なバス調停を実現することができる。
【0025】
(実施の形態2)
以下、本発明の実施の形態2によるバス調停システムについて、図面を参照しながら説明する。
図2は、本実施の形態2によるバス調停システムの構成を示すブロック図である。
【0026】
図2において、本実施の形態2によるバス調停システムは、データ転送装置130と、マスタ・ノード102,103と、スレーブ・ノード104,105と、バス106と、バス調停手段107とを備える。なお、マスタ・ノード102,103、スレーブ・ノード104,105、バス106、及びバス調停手段107は、実施の形態1と同様のものであり、その説明を省略する。
【0027】
データ転送装置130は、複数のチャネルグループ141,143と、チャネルグループ選択手段150とを有する。チャネルグループ141では、複数のデータ転送チャネル161−1,161−2がグループ化されている。そして、チャネルグループ141には、チャネル選択手段191が設けられている。チャネル選択手段191は、チャネルグループ141に属するデータ転送チャネル161−1,161−2のバス使用の要求が競合した場合に、いずれかを選択して、チャネルグループのバス要求信号125の使用権を与える。チャネルグループ143も、チャネルグループ141と同様、複数のデータ転送チャネル(図ではデータ転送チャネル161−nのみを示している)がグループ化されている。そして、チャネルグループ143には、チャネル選択手段193が設けられている。チャネル選択手段193は、チャネルグループ143に属する複数のデータ転送チャネルのバス使用の要求が競合した場合に、いずれかを選択して、チャネルグループのバス要求信号125の使用権を与える。チャネルグループ選択手段150は、バス調停手段107により複数のチャネルグループのいずれかにバス使用権が与えられたとき、バス調停手段107によりバス使用権の与えられたチャネルグループを選択し、バス・インターフェイス回路110に接続する。
【0028】
次に、本実施の形態2によるバス調停システムの動作について説明する。
データ転送チャネル161−1〜161−nのうち、1以上のものがデータ転送を行う場合、そのデータ転送を行うデータ転送チャネルは、チャネル選択手段191,193に対して、バス使用の要求を出す。チャネル選択手段191,193は、データ転送チャネル161−1〜161−nからただ一つのバス使用権の要求を受けた場合には、そのデータ転送チャネルに対して、チャネルグループのバス使用要求信号125の使用権を与える。一方、チャネル選択手段191,193が複数のデータ転送チャネルからバス使用の要求を受けた場合には、あらかじめ設定されている優先度に基づいて、各チャネルグループ141,143ごとにいずれかのデータ転送チャネルを選択し、その選択したものに対して、チャネルグループのバス要求信号125を介してバス調停手段107にバス獲得要求を出すことを許可する。また、マスタ・ノード102,103も、バスを使用したい場合には、バス調停手段107に対して、各マスタ・ノードごとのバス要求信号123を介して、バス獲得要求を出す。
【0029】
バス調停手段107は、チャネルグループ141,143、及びマスタ・ノード102,103から、ただ一つのバス獲得要求を受け付けた場合には、そのバス獲得要求を出したノードに対してバス使用権を与える。一方、2以上のバス獲得要求が競合した場合には、バス調停手段107は、チャネルグループ141,143、及びマスタ・ノード102,103のうち、バス獲得要求を出しているものについて、あらかじめ設定されている優先度に基づいて、一括してバス調停を行う。そして、バス獲得要求を出したマスタ・ノード、及びチャネルグループのうちから、バス使用権を与える1つのノードを決定する。チャネルグループ141,143のいずれかにバス使用権が与えられた場合には、バス調停手段107は、そのバス使用権の与えられたチャネルグループを特定する情報を、選択信号122によりチャネルグループ選択手段150に知らせる。選択信号122を受けたチャネルグループ選択手段150は、その情報により特定されたチャネルグループを、バス・インターフェイス回路110に接続する。そして、バス・インターフェイス回路110に接続されたチャネルグループ内の、チャネル選択手段によって選択されたデータ転送チャネルは、バス106を介してのデータ転送を開始する。マスタ・ノード102,103のいずれかにバス使用権が与えられた場合には、バス使用権を獲得したマスタ・ノードがバス106を介してのデータ転送を開始する。
【0030】
ここで、バス調停手段107がバス要求信号123,125を介してバス獲得要求を受けた時に、バス106が他ノードにより使用中である場合は、バス調停手段107が即座にバス調停を行い、バス使用権を与えるノードを決定した後に、該バス使用権を獲得したノードが、バス106が非使用状態となったとき、該バス106を使用してデータ転送を行うようにする。なお、上述したように、バス調停手段107がバス獲得要求を受けた時にバス106が他ノードにより使用中である場合は、該バス調停手段107は、バス106が非使用状態になるまで調停動作を待機し、バス106が非使用状態になってから調停を行なうようにしてもよい。
【0031】
なお、バス調停手段107がバス調停を行うときに用いるチャネルグループの優先度は、各チャネルグループごとに独自に設定されていてもよく、あるいはチャネル選択手段によりバス獲得要求を出すことの許可されたデータ転送チャネルの優先度をチャネルグループの優先度として用いてもよい。
【0032】
このように、本実施の形態2によるバス調停システムでは、複数のデータ転送チャネル161−1〜161−nを各チャネルグループ141,143にまとめ、チャネルグループ141,143ごとに各一つのバス獲得要求をバス調停手段107に対して出すようにしたことで、マスタ・ノード102,103からのバス要求と、複数のデータ転送チャネルからのバス要求とを、一括して調停することができるとともに、データ転送装置130の有するデータ転送チャネルの個数が増大した場合でも、該データ転送チャネルのグループ化により、バス要求信号の数を減らすことができ、バス調停手段107の規模を削減して、効率的なバス調停を実現することができる。
【0033】
なお、本実施の形態2では、データ転送装置130のデータ転送チャネルがすべてグループ化されているものについて説明したが、必ずしもすべてのデータ転送チャネルがグループ化されていなくてもよく、図3に示すように、データ転送装置130が、複数のデータ転送チャネルを含むチャネルグループ(141)と、バス調停手段107に対して直接バス獲得要求を出す、グループ化されていないデータ転送チャネル(161−n)と、の両方を有する構成としてもよい。
【0034】
(実施の形態3)
図4は本発明の実施の形態3によるバス調停システムの構成を示すブロック図である。本実施の形態3によるバス調停システムは、上記実施の形態1のバス調停システムにおいて、バス調停手段107がバス計測手段501を装備したものである。
【0035】
以上のように構成された本実施の形態3によるバス調停システムについて、以下、その動作を説明する。
本実施の形態3のバス調停システムの動作は、基本的に実施の形態1のバス調停システムの動作と同じであるが、バス調停手段107は、データ転送要求のあったデータ転送チャネル111−1〜111−nおよびバス106に接続されたマスタ・ノード間の調停を行う際に、バス計測手段501の出力に従って動的にノードの優先度を変更する。
【0036】
バス計測手段501を装備することにより、バス106に接続されたデータ転送装置101、マスタ・ノード102,103が、バス106を介したデータ転送を行う際に、予め設定された時間以上待たされることが無い事を保証することが要求されるリアルタイム・システムにおいては、バスの現在の使用状況を計測するバス計測手段501によりバスの使用時間を計測し、1度バスを獲得したデータ転送チャネルあるいはマスタ・ノードについては、そのバス調停における優先度を、最下位とする、あるいはより低下させることにより、バスを獲得できなかったデータ転送チャネルあるいはマスタ・ノードが、一定期間以上待たされることがないことを保証できる。
【0037】
このように、本実施の形態3では、バス計測手段501を装備したことにより、バス使用履歴情報に従って、データ転送チャネルおよびマスタ・ノードを含めたバス調停を効率的に行うことのできるバス調停システムを実現することができる。
【0038】
なお、本実施の形態3では、前記実施の形態1によるバス調停システムのバス調停手段107がバス計測手段501を備えたものについて示したが、実施の形態2によるバス調停システムのバス調停手段107がバス計測手段501を備えるようにしてもよい。
【0039】
(実施の形態4)
図5は本発明の実施の形態4によるバス調停システムの構成を示すブロック図である。本実施の形態4によるバス調停システムは、上記実施の形態1のバス調停システムにおいて、バス調停手段107がバス優先度記憶手段601を装備したものである。
【0040】
以上のように構成された本実施の形態4によるバス調停システムについて、以下、その動作を説明する。
本実施の形態4によるバス調停システムの動作は、基本的に上記実施の形態1によるバス調停システムの動作と同じであるが、バス調停手段107は、バス優先度記憶手段601に格納されたバス優先度情報に従って、データ転送要求のあったデータ転送チャネルおよびバス106に接続されたマスタ・ノード間の調停を行う。このため、本実施の形態4では、バス調停システムの動作中においても、バス優先度記憶手段601へバス優先度情報を新たに設定しなおす事により、動的に優先度を変更することができる。
【0041】
複数の動作モードを装備し、動作モード毎にバス106に接続されたデータ転送装置101、マスタ・ノード102,103間のバス調停の際の優先度が大きく変わるようなシステムにおいては、バス優先度記憶手段601を装備し、システムが動作モードを変更する際に、バス優先度記憶手段601に対して、動作モードに応じたバス優先度情報を設定することにより、動作モード対応に最適な優先度でのバス調停を行うことができる。
【0042】
このように、本実施の形態4では、バス優先度記憶手段601を装備したことにより、バス優先度記憶手段にバス優先度情報を設定して、データ転送チャネルおよびマスタ・ノードを含めたバス調停時の優先度を動的に変更することにより、効率的なバス調停を実現することができる。
【0043】
なお、本実施の形態4では、前記実施の形態1によるバス調停システムのバス調停手段107がバス優先度記憶手段601を備えたものについて示したが、実施の形態2、または実施の形態3によるバス調停システムのバス調停手段107がバス優先度記憶手段601を備えるようにしてもよい。
【0044】
(実施の形態5)
図6は本発明の実施の形態5によるバス調停システムの構成を示すブロック図である。本実施の形態5によるバス調停システムは、上記実施の形態1のバス調停システムにおいて、バス調停手段107が再開情報記憶手段701を装備したものである。
【0045】
以上のように構成された本実施の形態5によるバス調停システムについて、以下、その動作を説明する。
本実施の形態5によるバス調停システムの動作は、基本的に上記実施の形態1によるバス調停システムの動作と同じであるが、データ転送チャネルあるいはバスに接続されたマスタ・ノードがバス106を使用してデータ転送を行っている最中でも、前記データ転送を行っているノードよりも優先度の高いデータ転送要求が発生した場合には、前記データ転送を中断し、優先度の高いデータ転送要求が終了した後に前記中断されたデータ転送を再開するための再開情報を再開情報記憶手段701に記憶して、前記優先度の高いデータ転送が終了した後に、再開情報記憶手段701に格納された情報に基づいて、中断されたデータ転送を再開可能とするものである。上記再開情報としては、中断前にデータ転送を行っている主体(例えば、データ転送チャネル111−1であるなど)、どこからどこへのデータ転送であるか(例えば、スレーブ・ノード104からスレーブ・ノード105へのデータ転送であるなど)、データ転送の中断までに転送の終了したデータ量などの情報が記憶される。
【0046】
このように、本実施の形態5では、再開情報記憶手段701を装備したことにより、優先度の低いデータ転送を一時中断し、優先度の高いデータ転送を優先的に実行可能とすると共に、一時中断された前記優先度の低いデータ転送も再開可能とでき、データ転送チャネルおよびマスタ・ノードを含めたバス調停を効率的に行うことのできるバス調停システムを実現することができる。
【0047】
なお、本実施の形態5では、前記実施の形態1によるバス調停システムのバス調停手段107が再開情報記憶手段701を備えたものについて示したが、実施の形態2、実施の形態3、または実施の形態4によるバス調停システムのバス調停手段107が再開情報記憶手段701を備えるようにしてもよい。
【0048】
また、上記各実施の形態では、単一のバス106を用いる場合について説明したが、バス106として、階層バス・システム、あるいはクロスバー・システムを用いてもよい。すなわち、バス調停手段107にバス使用権を要求するマスタ・ノードは、バス106に直接接続されているものであってもよく、あるいはバス106以外の他のバスと、バスブリッジとを介してバス106に接続されているものであってもよい。
【0049】
また、上記各実施の形態によるバス調停システムのうち、バス調停手段107などのプログラム制御により実現することも可能な構成要素については、ハードウェアで構成してもよく、あるいはプログラム制御のソフトウェアで構成してもよい。
【0050】
【発明の効果】
以上の説明から明らかなように、本発明によるバス調停システムによれば、複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、前記データ転送装置の前記複数のデータ転送チャネルは、それぞれ独自に前記バス調停手段に対しバス獲得要求を出すものであり、前記バス調停手段は、前記複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記データ転送チャネル及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものとしたから、前記データ転送チャネルの個別の優先度も考慮に入れた調停がなされることとなり、効率的なバス調停を実現することができる効果が得られる。
【0051】
また、本発明によるバス調停システムによれば、複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、前記データ転送装置は、各々1個以上の前記データ転送チャネルを含む複数のチャネルグループを備え、前記チャネルグループは、該グループ内のデータ転送チャネルがデータ転送を行う際には、該グループ内のチャネル間調停を行った後、該調停により選択された1つのデータ転送チャネルのバス獲得要求を、前記バス調停手段に対し出すものであり、前記バス調停手段は、前記複数のチャネルグループおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記チャネルグループ及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものとしたから、前記マスタ・ノードからのバス要求と、前記データ転送チャネルからのバス要求とを一括して調停することができると共に、前記データ転送装置の有するデータ転送チャネルの個数が増大した場合でも、グループ化により、バス使用権の要求の数を減らすことができ、前記バス調停手段の規模を削減して、効率的なバス調停を実現できる効果が得られる。
【0052】
また、本発明によるバス調停システムによれば、前記バス調停システムにおいて、各ノード(データ転送チャネルを含む)のバス使用時間を計測するバス計測手段を備え、前記バス計測手段により計測された各ノードのバス使用時間に基づいて、各ノードの優先度を動的に変更するものとしたから、バス調停によりバスを使用できなかったマスタ・ノードやデータ転送チャネルなどが一定時間以上待たされることなく、バスを獲得することができ、バス要求からバス使用権の付与までを所定の時間以内としなければならないリアルタイム・システムにも対応可能となる効果が得られる。
【0053】
また、本発明によるバス調停システムによれば、前記バス調停システムにおいて、各ノード(データ転送チャネルを含む)の優先度を設定するバス優先度記憶手段を備え、前記バス優先度記憶手段に対しその優先度の値を書き替えることにより、各ノードの優先度を動的に変更するものとしたから、複数の各動作モードに応じた優先度に基づいてバス使用権の要求の調停を行うことで、各動作モードに応じた最適な優先度を設定することができ、効率的なバス調停を行うことができる効果が得られる。
【0054】
また、本発明によるバス調停システムによれば、前記バス調停システムにおいて、優先度が下位のノード(データ転送チャネルを含む)が動作中である時に、優先度が上位のデータ転送要求が発生した場合、前記優先度が下位のノードの動作を一時中断し、前記優先度が上位のデータ転送を実行した後、前記一時中断されたノードの動作を再開するための情報を記憶する再開情報記憶手段を備えたものとしたので、より優先度の高いデータ転送を優先的に行うことができ、中断したデータ転送を再開する場合にも再開するための情報があるため、中断したところから再開することができ、効率的なバス調停を実現できる効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態1によるバス調停システムの構成を示すブロック図である。
【図2】本発明の実施の形態2によるバス調停システムの構成を示すブロック図である。
【図3】本発明の実施の形態2によるバス調停システムの変形例の構成を示すブロック図である。
【図4】本発明の実施の形態3によるバス調停システムの構成を示すブロック図である。
【図5】本発明の実施の形態4によるバス調停システムの構成を示すブロック図である。
【図6】本発明の実施の形態5によるバス調停システムの構成を示すブロック図である。
【図7】従来のバス調停システムの構成を示すブロック図である。
【符号の説明】
101,130,201 データ転送装置
102,103 マスタ・ノード
104,105 スレーブ・ノード
106 バス
107,202 バス調停手段
111−1〜111−n、161−1〜161−n データ転送チャネル
120,191,193 チャネル選択手段
121,123,125 バス要求信号
122 選択信号
141,143 チャネルグループ
150 チャネルグループ選択手段
【発明の属する技術分野】
本発明は、バス使用権の要求に対してバス調停を行うバス調停システムに関する。
【0002】
【従来の技術】
以下、従来のバス調停システムについて、図面を参照しながら説明する。
図7は、従来のバス調停システムの構成を示すブロック図である。図7において、従来のバス調停システムは、マスタ・ノード102,103と、スレーブ・ノード104,105と、バス106と、データ転送装置201と、バス調停手段202とを備える。
【0003】
マスタ・ノード102,103は、バス106を使用したいときに、バス使用要求信号123を介し、バス調停手段202に対しバス獲得要求を出力する。そして、バス調停手段202からバス使用権を与えられたマスタ・ノードが、バス106を使用することができる。このマスタ・ノード102,103としては、例えば、CPUやDSPなどがある。スレーブ・ノード104,105は、バス106の使用権の要求は行わず、バスを使用しているマスタ・ノードにより、データが読み出されたり、書き込まれたりする。このスレーブ・ノード104,105としては、例えば、メモリやストレージデバイスなどがある。
【0004】
データ転送装置201は、例えば、DMAコントローラであり、複数のデータ転送チャネル211−1〜211−nと、チャネル選択手段220とを有している。データ転送チャネル211−1〜211−nは、それぞれ、CPUなどからの指示により、マスタ・ノード102,103およびスレーブ・ノード104,105のいずれかから、マスタ・ノード102,103およびスレーブ・ノード104,105の他のいずれかへのデータ転送を、バス106を介して行う。チャネル選択手段220は、あらかじめ設定されている優先度に基づいて、バス106にアクセスするデータ転送チャネルを選択する。
【0005】
バス調停手段202は、データ転送装置201からのバス要求信号221、及びマスタ・ノード102,103からのバス要求信号123を受け付け、そのバス獲得要求を調停し、マスタ・ノード102、103及びデータ転送装置201のいずれか一つにバス使用権を付与する。
【0006】
次に、従来のバス調停システムの動作について説明する。
データ転送チャネル211−1〜211−nのいずれかがデータ転送を行うときには、まず、チャネル選択手段220においてチャネル調停を行う。例えば、データ転送チャネル211−1,211−2がデータ転送を行うときには、それぞれに対してあらかじめ定められているチャネル優先度に基づいて、チャネル選択手段220はデータ転送チャネル211−1,211−2のいずれかを選択する。次に、チャネル選択手段220により選択されたデータ転送チャネルのバス獲得要求を、データ転送装置201のバス要求信号221によりバス調停手段202に出す。また、マスタ・ノード102,103もバスを使用したい場合には、バス要求信号123を介してバス獲得要求をバス調停手段202に出す。バス調停手段202は、データ転送装置201やマスタ・ノード102,103からのバス獲得要求を受け取り、その要求を調停して、優先度の高いものに対してバス使用権を付与する。そして、その使用権の与えられたデータ転送チャネル、あるいはマスタ・ノードが、バス106を使用してデータの転送を行う。
【0007】
以上のように、従来のバス調停システムにおいては、データ転送チャネル211−1〜211−nがデータ転送を行う場合に、▲1▼チャネル選択手段220によるデータ転送チャネルの調停と、▲2▼バス調停手段202によるバス調停との2段階の調停処理を行う必要があった。
【0008】
【発明が解決しようとする課題】
上記のように従来のバス調停システムでは、データ転送装置201におけるチャネル調停、及びバス調停手段202によるバス調停を別個に行うため、バス調停におけるデータ転送装置201の優先度は、データ転送チャネル211−1〜211−nの種類によらず、データ転送装置201として一括して取り扱われていた。このため、データ転送チャネル211−1〜211−nと、マスタ・ノード102,103とを含めた最適な優先度でのバス調停ができないという問題点があった。
【0009】
具体的には、マスタ・ノード102の優先度をPM1、マスタ・ノード103の優先度をPM2、データ転送装置201の優先度をPTとし、PM1>PT>PM2という関係となるように優先度が設定されている場合には、データ転送チャネル211−1〜211−nのいずれかからのバス使用権の要求と、マスタ・ノード103からのバス使用権の要求とが競合したときに、バス調停手段202は、より優先度の高いデータ転送チャネル211−1〜211−nの方にバス使用権を付与することとなる。したがって、例えば、データ転送チャネルの数nが5である、すなわち、データ転送装置201が211−1〜211−5の5つのデータ転送チャネルを備えたものであるとして、データ転送チャネル211−1〜211−5の優先度をそれぞれ、PC1〜PC5とし、データ転送チャネル211−4からのバス使用権の要求と、マスタ・ノード103からのバス使用権の要求とが競合した場合に、PC4<PM2であったとしても、バス調停手段202は、上述のようにデータ転送チャネル211−4にバス使用権を付与することとなり、データ転送チャネルの個別の優先度は全く考慮されないこととなる。このように、データ転送の実際の優先度としては、マスタ・ノード103の方がデータ転送チャネル211−4より高かったとしても、バス調停においては、データ転送チャネル214が優先されることとなり、実際のデータ転送の優先度を反映しないバス調停が行われることとなる。
【0010】
本発明は、上記問題点を解決するためになされたものであり、データ転送チャネルを複数有するデータ転送装置と、1以上のマスタ・ノードとを備えたバス調停システムにおいて、各データ転送チャネルおよびマスタ・ノードのそれぞれの優先度に基づく適切なバス調停を、少ないハードウェア・コストで実現できるバス調停システムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明によるバス調停システムは、複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、前記データ転送装置の前記複数のデータ転送チャネルは、それぞれ独自に前記バス調停手段に対しバス獲得要求を出すものであり、前記バス調停手段は、前記複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記データ転送チャネル及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものである。
【0012】
また、本発明によるバス調停システムは、複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、前記データ転送装置は、各々1個以上の前記データ転送チャネルを含む複数のチャネルグループを備え、前記チャネルグループは、該グループ内のデータ転送チャネルがデータ転送を行う際には、該グループ内のチャネル間調停を行った後、該調停により選択された1つのデータ転送チャネルのバス獲得要求を、前記バス調停手段に対し出すものであり、前記バス調停手段は、前記複数のチャネルグループおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記チャネルグループ及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものである。
【0013】
また、本発明によるバス調停システムは、請求項1または2記載のバス調停システムにおいて、各ノード(データ転送チャネルを含む)のバス使用時間を計測するバス計測手段を備え、前記バス計測手段により計測された各ノードのバス使用時間に基づいて、各ノードの優先度を動的に変更するものである。
【0014】
また、本発明によるバス調停システムは、請求項1ないし請求項3のいずれかに記載のバス調停システムにおいて、各ノード(データ転送チャネルを含む)の優先度を設定するバス優先度記憶手段を備え、前記バス優先度記憶手段に対しその優先度の値を書き替えることにより、各ノードの優先度を動的に変更するものである。
【0015】
また、本発明によるバス調停システムは、請求項1ないし請求項4のいずれかに記載のバス調停システムにおいて、優先度が下位のノード(データ転送チャネルを含む)が動作中である時に、優先度が上位のデータ転送要求が発生した場合、前記優先度が下位のノードの動作を一時中断し、前記優先度が上位のデータ転送を実行した後、前記一時中断されたノードの動作を再開するための情報を記憶する再開情報記憶手段を備えたものである。
【0016】
【発明の実施の形態】
(実施の形態1)
以下、本発明の実施の形態1によるバス調停システムについて、図面を参照しながら説明する。
図1は、本実施の形態1によるバス調停システムの構成を示すブロック図である。
【0017】
図1において、本実施の形態1によるバス調停システムは、データ転送装置101と、マスタ・ノード102,103と、スレーブ・ノード104,105と、バス106と、バス調停手段107とを備える。なお、マスタ・ノード102,103、スレーブ・ノード104,105、及びバス106は、従来例の説明と同様のものであり、その説明を省略する。
【0018】
データ転送装置101は、複数のデータ転送チャネル111−1〜111−nと、チャネル選択手段120とを有する。データ転送チャネル111−1〜111−nは、バス106を介してデータ転送を行う。例えば、スレーブ・ノード104からスレーブ・ノード105へのデータ転送などを行う。チャネル選択手段120は、データ転送チャネル111−1〜111−nのうち、バス調停手段107によりバス使用権の与えられたものを選択して、バス106と接続させる。
【0019】
バス調停手段107は、データ転送チャネル111−1〜111−n、及びマスタ・ノード102,103からのバス使用要求信号を受け付け、その要求をデータ転送チャネル111−1〜111−n及びマスタ・ノード102,103の各優先度に基づいて調停して、バス使用要求信号を出力したデータ転送チャネル111−1〜111−n及びマスタ・ノード102,103のいずれか一つにバス使用権を与える。
【0020】
次に、本実施の形態1によるバス調停システムの動作について説明する。
データ転送チャネル111−1〜111−nのうちのいずれかのデータ転送チャネルがデータ転送を行う場合、そのデータ転送を行うデータ転送チャネルは、バス調停手段107に対してデータ転送チャネル専用のバス要求信号121を介して、バス獲得要求を出す。バス106に接続された、データ転送装置101以外のマスタ・ノード102,103も、バス106を使用したい場合には、バス調停手段107に対して、各マスタ・ノード102,103ごとのバス要求信号123を介して、バス獲得要求を出す。
【0021】
バス調停手段107は、データ転送チャネル111−1〜111−n、及びマスタ・ノード102,103から、ただ一つのバス獲得要求を受け付けた場合には、そのバス獲得要求を出したノードに対してバス使用権を与える。一方、2以上のバス獲得要求が競合した場合には、バス調停手段107は、データ転送チャネル111−1〜111−n、及びマスタ・ノード102,103のうち、バス獲得要求を出しているものについて、あらかじめ設定されている優先度に基づいて、一括してバス調停を行い、バス獲得要求を出したマスタ・ノード、及びデータ転送チャネルのうちから、バス使用権を与える1つのノードを決定する。データ転送チャネル111−1〜111−nのいずれかにバス使用権が与えられた場合には、バス調停手段107は、そのバス使用権の与えられたデータ転送チャネルを特定する情報を、選択信号122によりチャネル選択手段120に知らせる。選択信号122を受けたチャネル選択手段120は、その情報により特定されたデータ転送チャネルを、バス・インターフェイス回路110に接続する。バス・インターフェイス回路110に接続されたデータ転送チャネルは、バス106を介してのデータ転送を開始する。マスタ・ノード102,103のいずれかにバス使用権が与えられた場合には、バス使用権を獲得したマスタ・ノードがバス106を介してのデータ転送を開始する。
【0022】
ここで、具体例について説明する。なお、ここではデータ転送チャネルの数nが5である、すなわち、データ転送装置101が111−1〜111−5の5つのデータ転送チャネルを備えたものであるとして説明する。マスタ・ノード102の優先度をPM1、マスタ・ノード103の優先度をPM2、データ転送チャネル111−1〜111−5の優先度をそれぞれPC1〜PC5とし、PM1>PC1>PC2>PC3>PM2>PC4>PC5という関係となるように優先度が設定されているとする。この場合に、データ転送チャネル111−4からのバス獲得要求と、マスタ・ノード103からのバス獲得要求とが競合したとすると、PM2>PC4であるため、バス調停手段107は、マスタ・ノード103にバス使用権を付与する。また、データ転送チャネル111−1からのバス獲得要求と、マスタ・ノード103からのバス獲得要求とが競合したとすると、PC1>PM2であるため、バス調停手段107は、データ転送チャネル111−1にバス使用権を付与する。このように、本実施の形態1によるバス調停では、複数のデータ転送チャネルの各優先度を考慮に入れた調停がなされることとなる。
【0023】
ここで、バス調停手段107がバス要求信号121,123を介してバス獲得要求を受けた時に、バス106が他ノードにより使用中である場合は、バス調停手段107が即座にバス調停を行い、バス使用権を与えるノードを決定した後に、該バス使用権を獲得したノードが、バス106が非使用状態となったとき、該バス106を使用してデータ転送を行うようにする。なお、上述したように、バス調停手段107がバス獲得要求を受けた時にバス106が他ノードにより使用中である場合は、該バス調停手段107は、バス106が非使用状態になるまで調停動作を待機し、バス106が非使用状態になってから調停を行なうようにしてもよい。
【0024】
このように、本実施の形態1によるバス調停システムでは、バス調停手段107が、マスタ・ノード102,103からのバス使用権の要求に加えて、複数のデータ転送チャネル111−1〜111−nからのバス使用権の要求をも受け付け、それらを一括して調停するようにしたから、各データ転送チャネルの個別の優先度をも考慮に入れたバス調停を行うことができ、すべてのデータ転送の優先度を反映させた、効率的なバス調停を実現することができる。
【0025】
(実施の形態2)
以下、本発明の実施の形態2によるバス調停システムについて、図面を参照しながら説明する。
図2は、本実施の形態2によるバス調停システムの構成を示すブロック図である。
【0026】
図2において、本実施の形態2によるバス調停システムは、データ転送装置130と、マスタ・ノード102,103と、スレーブ・ノード104,105と、バス106と、バス調停手段107とを備える。なお、マスタ・ノード102,103、スレーブ・ノード104,105、バス106、及びバス調停手段107は、実施の形態1と同様のものであり、その説明を省略する。
【0027】
データ転送装置130は、複数のチャネルグループ141,143と、チャネルグループ選択手段150とを有する。チャネルグループ141では、複数のデータ転送チャネル161−1,161−2がグループ化されている。そして、チャネルグループ141には、チャネル選択手段191が設けられている。チャネル選択手段191は、チャネルグループ141に属するデータ転送チャネル161−1,161−2のバス使用の要求が競合した場合に、いずれかを選択して、チャネルグループのバス要求信号125の使用権を与える。チャネルグループ143も、チャネルグループ141と同様、複数のデータ転送チャネル(図ではデータ転送チャネル161−nのみを示している)がグループ化されている。そして、チャネルグループ143には、チャネル選択手段193が設けられている。チャネル選択手段193は、チャネルグループ143に属する複数のデータ転送チャネルのバス使用の要求が競合した場合に、いずれかを選択して、チャネルグループのバス要求信号125の使用権を与える。チャネルグループ選択手段150は、バス調停手段107により複数のチャネルグループのいずれかにバス使用権が与えられたとき、バス調停手段107によりバス使用権の与えられたチャネルグループを選択し、バス・インターフェイス回路110に接続する。
【0028】
次に、本実施の形態2によるバス調停システムの動作について説明する。
データ転送チャネル161−1〜161−nのうち、1以上のものがデータ転送を行う場合、そのデータ転送を行うデータ転送チャネルは、チャネル選択手段191,193に対して、バス使用の要求を出す。チャネル選択手段191,193は、データ転送チャネル161−1〜161−nからただ一つのバス使用権の要求を受けた場合には、そのデータ転送チャネルに対して、チャネルグループのバス使用要求信号125の使用権を与える。一方、チャネル選択手段191,193が複数のデータ転送チャネルからバス使用の要求を受けた場合には、あらかじめ設定されている優先度に基づいて、各チャネルグループ141,143ごとにいずれかのデータ転送チャネルを選択し、その選択したものに対して、チャネルグループのバス要求信号125を介してバス調停手段107にバス獲得要求を出すことを許可する。また、マスタ・ノード102,103も、バスを使用したい場合には、バス調停手段107に対して、各マスタ・ノードごとのバス要求信号123を介して、バス獲得要求を出す。
【0029】
バス調停手段107は、チャネルグループ141,143、及びマスタ・ノード102,103から、ただ一つのバス獲得要求を受け付けた場合には、そのバス獲得要求を出したノードに対してバス使用権を与える。一方、2以上のバス獲得要求が競合した場合には、バス調停手段107は、チャネルグループ141,143、及びマスタ・ノード102,103のうち、バス獲得要求を出しているものについて、あらかじめ設定されている優先度に基づいて、一括してバス調停を行う。そして、バス獲得要求を出したマスタ・ノード、及びチャネルグループのうちから、バス使用権を与える1つのノードを決定する。チャネルグループ141,143のいずれかにバス使用権が与えられた場合には、バス調停手段107は、そのバス使用権の与えられたチャネルグループを特定する情報を、選択信号122によりチャネルグループ選択手段150に知らせる。選択信号122を受けたチャネルグループ選択手段150は、その情報により特定されたチャネルグループを、バス・インターフェイス回路110に接続する。そして、バス・インターフェイス回路110に接続されたチャネルグループ内の、チャネル選択手段によって選択されたデータ転送チャネルは、バス106を介してのデータ転送を開始する。マスタ・ノード102,103のいずれかにバス使用権が与えられた場合には、バス使用権を獲得したマスタ・ノードがバス106を介してのデータ転送を開始する。
【0030】
ここで、バス調停手段107がバス要求信号123,125を介してバス獲得要求を受けた時に、バス106が他ノードにより使用中である場合は、バス調停手段107が即座にバス調停を行い、バス使用権を与えるノードを決定した後に、該バス使用権を獲得したノードが、バス106が非使用状態となったとき、該バス106を使用してデータ転送を行うようにする。なお、上述したように、バス調停手段107がバス獲得要求を受けた時にバス106が他ノードにより使用中である場合は、該バス調停手段107は、バス106が非使用状態になるまで調停動作を待機し、バス106が非使用状態になってから調停を行なうようにしてもよい。
【0031】
なお、バス調停手段107がバス調停を行うときに用いるチャネルグループの優先度は、各チャネルグループごとに独自に設定されていてもよく、あるいはチャネル選択手段によりバス獲得要求を出すことの許可されたデータ転送チャネルの優先度をチャネルグループの優先度として用いてもよい。
【0032】
このように、本実施の形態2によるバス調停システムでは、複数のデータ転送チャネル161−1〜161−nを各チャネルグループ141,143にまとめ、チャネルグループ141,143ごとに各一つのバス獲得要求をバス調停手段107に対して出すようにしたことで、マスタ・ノード102,103からのバス要求と、複数のデータ転送チャネルからのバス要求とを、一括して調停することができるとともに、データ転送装置130の有するデータ転送チャネルの個数が増大した場合でも、該データ転送チャネルのグループ化により、バス要求信号の数を減らすことができ、バス調停手段107の規模を削減して、効率的なバス調停を実現することができる。
【0033】
なお、本実施の形態2では、データ転送装置130のデータ転送チャネルがすべてグループ化されているものについて説明したが、必ずしもすべてのデータ転送チャネルがグループ化されていなくてもよく、図3に示すように、データ転送装置130が、複数のデータ転送チャネルを含むチャネルグループ(141)と、バス調停手段107に対して直接バス獲得要求を出す、グループ化されていないデータ転送チャネル(161−n)と、の両方を有する構成としてもよい。
【0034】
(実施の形態3)
図4は本発明の実施の形態3によるバス調停システムの構成を示すブロック図である。本実施の形態3によるバス調停システムは、上記実施の形態1のバス調停システムにおいて、バス調停手段107がバス計測手段501を装備したものである。
【0035】
以上のように構成された本実施の形態3によるバス調停システムについて、以下、その動作を説明する。
本実施の形態3のバス調停システムの動作は、基本的に実施の形態1のバス調停システムの動作と同じであるが、バス調停手段107は、データ転送要求のあったデータ転送チャネル111−1〜111−nおよびバス106に接続されたマスタ・ノード間の調停を行う際に、バス計測手段501の出力に従って動的にノードの優先度を変更する。
【0036】
バス計測手段501を装備することにより、バス106に接続されたデータ転送装置101、マスタ・ノード102,103が、バス106を介したデータ転送を行う際に、予め設定された時間以上待たされることが無い事を保証することが要求されるリアルタイム・システムにおいては、バスの現在の使用状況を計測するバス計測手段501によりバスの使用時間を計測し、1度バスを獲得したデータ転送チャネルあるいはマスタ・ノードについては、そのバス調停における優先度を、最下位とする、あるいはより低下させることにより、バスを獲得できなかったデータ転送チャネルあるいはマスタ・ノードが、一定期間以上待たされることがないことを保証できる。
【0037】
このように、本実施の形態3では、バス計測手段501を装備したことにより、バス使用履歴情報に従って、データ転送チャネルおよびマスタ・ノードを含めたバス調停を効率的に行うことのできるバス調停システムを実現することができる。
【0038】
なお、本実施の形態3では、前記実施の形態1によるバス調停システムのバス調停手段107がバス計測手段501を備えたものについて示したが、実施の形態2によるバス調停システムのバス調停手段107がバス計測手段501を備えるようにしてもよい。
【0039】
(実施の形態4)
図5は本発明の実施の形態4によるバス調停システムの構成を示すブロック図である。本実施の形態4によるバス調停システムは、上記実施の形態1のバス調停システムにおいて、バス調停手段107がバス優先度記憶手段601を装備したものである。
【0040】
以上のように構成された本実施の形態4によるバス調停システムについて、以下、その動作を説明する。
本実施の形態4によるバス調停システムの動作は、基本的に上記実施の形態1によるバス調停システムの動作と同じであるが、バス調停手段107は、バス優先度記憶手段601に格納されたバス優先度情報に従って、データ転送要求のあったデータ転送チャネルおよびバス106に接続されたマスタ・ノード間の調停を行う。このため、本実施の形態4では、バス調停システムの動作中においても、バス優先度記憶手段601へバス優先度情報を新たに設定しなおす事により、動的に優先度を変更することができる。
【0041】
複数の動作モードを装備し、動作モード毎にバス106に接続されたデータ転送装置101、マスタ・ノード102,103間のバス調停の際の優先度が大きく変わるようなシステムにおいては、バス優先度記憶手段601を装備し、システムが動作モードを変更する際に、バス優先度記憶手段601に対して、動作モードに応じたバス優先度情報を設定することにより、動作モード対応に最適な優先度でのバス調停を行うことができる。
【0042】
このように、本実施の形態4では、バス優先度記憶手段601を装備したことにより、バス優先度記憶手段にバス優先度情報を設定して、データ転送チャネルおよびマスタ・ノードを含めたバス調停時の優先度を動的に変更することにより、効率的なバス調停を実現することができる。
【0043】
なお、本実施の形態4では、前記実施の形態1によるバス調停システムのバス調停手段107がバス優先度記憶手段601を備えたものについて示したが、実施の形態2、または実施の形態3によるバス調停システムのバス調停手段107がバス優先度記憶手段601を備えるようにしてもよい。
【0044】
(実施の形態5)
図6は本発明の実施の形態5によるバス調停システムの構成を示すブロック図である。本実施の形態5によるバス調停システムは、上記実施の形態1のバス調停システムにおいて、バス調停手段107が再開情報記憶手段701を装備したものである。
【0045】
以上のように構成された本実施の形態5によるバス調停システムについて、以下、その動作を説明する。
本実施の形態5によるバス調停システムの動作は、基本的に上記実施の形態1によるバス調停システムの動作と同じであるが、データ転送チャネルあるいはバスに接続されたマスタ・ノードがバス106を使用してデータ転送を行っている最中でも、前記データ転送を行っているノードよりも優先度の高いデータ転送要求が発生した場合には、前記データ転送を中断し、優先度の高いデータ転送要求が終了した後に前記中断されたデータ転送を再開するための再開情報を再開情報記憶手段701に記憶して、前記優先度の高いデータ転送が終了した後に、再開情報記憶手段701に格納された情報に基づいて、中断されたデータ転送を再開可能とするものである。上記再開情報としては、中断前にデータ転送を行っている主体(例えば、データ転送チャネル111−1であるなど)、どこからどこへのデータ転送であるか(例えば、スレーブ・ノード104からスレーブ・ノード105へのデータ転送であるなど)、データ転送の中断までに転送の終了したデータ量などの情報が記憶される。
【0046】
このように、本実施の形態5では、再開情報記憶手段701を装備したことにより、優先度の低いデータ転送を一時中断し、優先度の高いデータ転送を優先的に実行可能とすると共に、一時中断された前記優先度の低いデータ転送も再開可能とでき、データ転送チャネルおよびマスタ・ノードを含めたバス調停を効率的に行うことのできるバス調停システムを実現することができる。
【0047】
なお、本実施の形態5では、前記実施の形態1によるバス調停システムのバス調停手段107が再開情報記憶手段701を備えたものについて示したが、実施の形態2、実施の形態3、または実施の形態4によるバス調停システムのバス調停手段107が再開情報記憶手段701を備えるようにしてもよい。
【0048】
また、上記各実施の形態では、単一のバス106を用いる場合について説明したが、バス106として、階層バス・システム、あるいはクロスバー・システムを用いてもよい。すなわち、バス調停手段107にバス使用権を要求するマスタ・ノードは、バス106に直接接続されているものであってもよく、あるいはバス106以外の他のバスと、バスブリッジとを介してバス106に接続されているものであってもよい。
【0049】
また、上記各実施の形態によるバス調停システムのうち、バス調停手段107などのプログラム制御により実現することも可能な構成要素については、ハードウェアで構成してもよく、あるいはプログラム制御のソフトウェアで構成してもよい。
【0050】
【発明の効果】
以上の説明から明らかなように、本発明によるバス調停システムによれば、複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、前記データ転送装置の前記複数のデータ転送チャネルは、それぞれ独自に前記バス調停手段に対しバス獲得要求を出すものであり、前記バス調停手段は、前記複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記データ転送チャネル及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものとしたから、前記データ転送チャネルの個別の優先度も考慮に入れた調停がなされることとなり、効率的なバス調停を実現することができる効果が得られる。
【0051】
また、本発明によるバス調停システムによれば、複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、前記データ転送装置は、各々1個以上の前記データ転送チャネルを含む複数のチャネルグループを備え、前記チャネルグループは、該グループ内のデータ転送チャネルがデータ転送を行う際には、該グループ内のチャネル間調停を行った後、該調停により選択された1つのデータ転送チャネルのバス獲得要求を、前記バス調停手段に対し出すものであり、前記バス調停手段は、前記複数のチャネルグループおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記チャネルグループ及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものとしたから、前記マスタ・ノードからのバス要求と、前記データ転送チャネルからのバス要求とを一括して調停することができると共に、前記データ転送装置の有するデータ転送チャネルの個数が増大した場合でも、グループ化により、バス使用権の要求の数を減らすことができ、前記バス調停手段の規模を削減して、効率的なバス調停を実現できる効果が得られる。
【0052】
また、本発明によるバス調停システムによれば、前記バス調停システムにおいて、各ノード(データ転送チャネルを含む)のバス使用時間を計測するバス計測手段を備え、前記バス計測手段により計測された各ノードのバス使用時間に基づいて、各ノードの優先度を動的に変更するものとしたから、バス調停によりバスを使用できなかったマスタ・ノードやデータ転送チャネルなどが一定時間以上待たされることなく、バスを獲得することができ、バス要求からバス使用権の付与までを所定の時間以内としなければならないリアルタイム・システムにも対応可能となる効果が得られる。
【0053】
また、本発明によるバス調停システムによれば、前記バス調停システムにおいて、各ノード(データ転送チャネルを含む)の優先度を設定するバス優先度記憶手段を備え、前記バス優先度記憶手段に対しその優先度の値を書き替えることにより、各ノードの優先度を動的に変更するものとしたから、複数の各動作モードに応じた優先度に基づいてバス使用権の要求の調停を行うことで、各動作モードに応じた最適な優先度を設定することができ、効率的なバス調停を行うことができる効果が得られる。
【0054】
また、本発明によるバス調停システムによれば、前記バス調停システムにおいて、優先度が下位のノード(データ転送チャネルを含む)が動作中である時に、優先度が上位のデータ転送要求が発生した場合、前記優先度が下位のノードの動作を一時中断し、前記優先度が上位のデータ転送を実行した後、前記一時中断されたノードの動作を再開するための情報を記憶する再開情報記憶手段を備えたものとしたので、より優先度の高いデータ転送を優先的に行うことができ、中断したデータ転送を再開する場合にも再開するための情報があるため、中断したところから再開することができ、効率的なバス調停を実現できる効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態1によるバス調停システムの構成を示すブロック図である。
【図2】本発明の実施の形態2によるバス調停システムの構成を示すブロック図である。
【図3】本発明の実施の形態2によるバス調停システムの変形例の構成を示すブロック図である。
【図4】本発明の実施の形態3によるバス調停システムの構成を示すブロック図である。
【図5】本発明の実施の形態4によるバス調停システムの構成を示すブロック図である。
【図6】本発明の実施の形態5によるバス調停システムの構成を示すブロック図である。
【図7】従来のバス調停システムの構成を示すブロック図である。
【符号の説明】
101,130,201 データ転送装置
102,103 マスタ・ノード
104,105 スレーブ・ノード
106 バス
107,202 バス調停手段
111−1〜111−n、161−1〜161−n データ転送チャネル
120,191,193 チャネル選択手段
121,123,125 バス要求信号
122 選択信号
141,143 チャネルグループ
150 チャネルグループ選択手段
Claims (5)
- 複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、
前記データ転送装置の前記複数のデータ転送チャネルは、それぞれ独自に前記バス調停手段に対しバス獲得要求を出すものであり、
前記バス調停手段は、前記複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記データ転送チャネル及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものである、
ことを特徴とするバス調停システム。 - 複数のデータ転送チャネルを装備したデータ転送装置、および前記データ転送装置以外の1個以上のマスタ・ノードが接続されたバスと、前記データ転送装置の複数のデータ転送チャネルおよび前記1個以上のマスタ・ノードのいずれかに対し、前記バスの使用権を与えるバス調停手段とを備えたバス調停システムであって、
前記データ転送装置は、各々1個以上の前記データ転送チャネルを含む複数のチャネルグループを備え、
前記チャネルグループは、該グループ内のデータ転送チャネルがデータ転送を行う際には、該グループ内のチャネル間調停を行った後、該調停により選択された1つのデータ転送チャネルのバス獲得要求を、前記バス調停手段に対し出すものであり、
前記バス調停手段は、前記複数のチャネルグループおよび前記1個以上のマスタ・ノードからのバス獲得要求を受け付け、該バス獲得要求を前記チャネルグループ及び前記マスタ・ノードの各優先度に基づいて調停して、そのうちの1つにバス使用権を与えるものである、
ことを特徴とするバス調停システム。 - 請求項1または2記載のバス調停システムにおいて、
各ノード(データ転送チャネルを含む)のバス使用時間を計測するバス計測手段を備え、
前記バス計測手段により計測された各ノードのバス使用時間に基づいて、各ノードの優先度を動的に変更する、
ことを特徴とするバス調停システム。 - 請求項1ないし請求項3のいずれかに記載のバス調停システムにおいて、
各ノード(データ転送チャネルを含む)の優先度を設定するバス優先度記憶手段を備え、
前記バス優先度記憶手段に対しその優先度の値を書き替えることにより、各ノードの優先度を動的に変更する、
ことを特徴とするバス調停システム。 - 請求項1ないし請求項4のいずれかに記載のバス調停システムにおいて、
優先度が下位のノード(データ転送チャネルを含む)が動作中である時に、優先度が上位のデータ転送要求が発生した場合、前記優先度が下位のノードの動作を一時中断し、前記優先度が上位のデータ転送を実行した後、前記一時中断されたノードの動作を再開するための情報を記憶する再開情報記憶手段を備えた、
ことを特徴とするバス調停システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002163497A JP2004013356A (ja) | 2002-06-04 | 2002-06-04 | バス調停システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002163497A JP2004013356A (ja) | 2002-06-04 | 2002-06-04 | バス調停システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004013356A true JP2004013356A (ja) | 2004-01-15 |
Family
ID=30431968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002163497A Pending JP2004013356A (ja) | 2002-06-04 | 2002-06-04 | バス調停システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004013356A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100694086B1 (ko) * | 2005-01-26 | 2007-03-12 | 삼성전자주식회사 | 멀티 마스터 버스 시스템에서 우선순위 조정 방법 및우선순위조정 기능을 구비한 중재기 |
JP2008046997A (ja) * | 2006-08-18 | 2008-02-28 | Fujitsu Ltd | 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置 |
JP2008140003A (ja) * | 2006-11-30 | 2008-06-19 | Brother Ind Ltd | 回路ユニット |
JP2008158585A (ja) * | 2006-12-20 | 2008-07-10 | Canon Inc | バスシステム及びそのバス調停方法 |
JP2012168808A (ja) * | 2011-02-15 | 2012-09-06 | Fujitsu Semiconductor Ltd | データ転送システム,データ転送スケジューリングプログラム |
-
2002
- 2002-06-04 JP JP2002163497A patent/JP2004013356A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100694086B1 (ko) * | 2005-01-26 | 2007-03-12 | 삼성전자주식회사 | 멀티 마스터 버스 시스템에서 우선순위 조정 방법 및우선순위조정 기능을 구비한 중재기 |
JP2008046997A (ja) * | 2006-08-18 | 2008-02-28 | Fujitsu Ltd | 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置 |
JP2008140003A (ja) * | 2006-11-30 | 2008-06-19 | Brother Ind Ltd | 回路ユニット |
JP4582082B2 (ja) * | 2006-11-30 | 2010-11-17 | ブラザー工業株式会社 | 回路ユニット |
JP2008158585A (ja) * | 2006-12-20 | 2008-07-10 | Canon Inc | バスシステム及びそのバス調停方法 |
JP2012168808A (ja) * | 2011-02-15 | 2012-09-06 | Fujitsu Semiconductor Ltd | データ転送システム,データ転送スケジューリングプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4480427B2 (ja) | リソース管理装置 | |
EP1403773B1 (en) | Resource management device | |
US6820152B2 (en) | Memory control device and LSI | |
US7353311B2 (en) | Method of accessing information and system therefor | |
JP5578713B2 (ja) | 情報処理装置 | |
JP2010282405A (ja) | データ処理システム | |
US7107365B1 (en) | Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus | |
KR100708096B1 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
US5649209A (en) | Bus coupling information processing system for multiple access to system bus | |
JP2002304369A (ja) | バスシステム | |
TW200400438A (en) | Bus arbiter for integrated circuit systems | |
JP2004013356A (ja) | バス調停システム | |
JP2004246862A (ja) | リソース管理装置 | |
JP4953794B2 (ja) | バスシステムのバス調停方法及びバスシステム | |
JP3987750B2 (ja) | メモリ制御装置及びlsi | |
JP2006251875A (ja) | バス調停装置及びバス調停方法 | |
WO2002093392A1 (fr) | Processeur de donnees | |
JPH09269927A (ja) | バスアクセス方法、バス、並びにバス接続システム | |
JP5772040B2 (ja) | データ転送システム,データ転送スケジューリングプログラム | |
JP3914404B2 (ja) | 省電力インターフェース装置及び省電力方法 | |
JP3124544B2 (ja) | バス制御装置 | |
JPH0830549A (ja) | バス制御装置 | |
JPH06266657A (ja) | 情報処理装置 | |
JP2000250852A (ja) | バス調停装置、バスシステムおよびバス調停方法 | |
JP2002091903A (ja) | バスシステム |