(57)【要約】【課題】各バスマスタからバススレーブへ複数のバスを経由してアクセスする場合であってもバスの使用効率の低下を抑制することができるバスシステムを提供することである。【解決手段】本発明にかかるバスシステムは、複数のバスマスタ１_１〜１_４から少なくとも一つのバススレーブ５への、複数のバス２_１〜２_３を経由したアクセスを制御するバスシステムである。バス２_１〜２_３は各々、前段から入力される複数のアクセス要求１６、１７を調停し、当該調停により選択されたアクセス要求を次段へ出力する調停部８を備える。調停部８は、アクセス要求１６、１７がバスで待機した時間を差し引くことで次段へ出力されるアクセス要求２９に含まれる許容待ち時間情報を更新する。【選択図】図２
2012168773.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタから少なくとも一つのバススレーブへの、複数のバスを経由したアクセスを制御するバスシステムであって、
前記バスは各々、前段から入力される複数のアクセス要求を調停し、当該調停により選択されたアクセス要求を次段へ出力する調停部を備え、
前記調停部は、前記アクセス要求が前記バスで待機した時間を差し引くことで前記次段へ出力されるアクセス要求に含まれる許容待ち時間情報を更新する、
バスシステム。
【請求項２】
前記調停部は、前記入力される各々のアクセス要求に対応して設けられたアクセス要求分離部をそれぞれ備え、
前記アクセス要求分離部は、前記入力されたアクセス要求に含まれるアクセス要求信号と前記許容待ち時間情報とを分離する、
請求項１に記載のバスシステム。
【請求項３】
前記調停部はリクエスト制御部を更に備え、
前記リクエスト制御部は、
前記アクセス要求分離部で分離された前記アクセス要求信号および前記許容待ち時間情報を入力し、
前記アクセス要求信号を調停し、当該調停により選択されたアクセス要求信号を出力すると共に、
前記アクセス要求信号が前記バスで待機した時間を差し引くことで前記選択されたアクセス要求信号の許容待ち時間情報を更新する、
請求項２に記載のバスシステム。
【請求項４】
前記調停部は、
前記リクエスト制御部から出力された、前記選択されたアクセス要求信号および前記更新された許容待ち時間情報を結合するアクセス要求結合部を更に備え、
前記アクセス要求結合部は、前記選択されたアクセス要求信号および前記更新された許容待ち時間情報を結合したアクセス要求を前記次段へ出力されるアクセス要求として出力する、
請求項３に記載のバスシステム。
【請求項５】
前記調停部は、
前記入力されたアクセス要求に含まれる前記許容待ち時間情報に基づいて当該入力されたアクセス要求を最優先に出力するか否かを判定する最優先判定部と、
前記最優先判定部の判定結果に基づき前記次段へ出力されるアクセス要求を選択するアクセス要求信号選択部と、
を更に備える請求項１乃至４のいずれか一項に記載のバスシステム。
【請求項６】
前記最優先判定部は、クロック信号に応じて生成されたカウント値が前記許容待ち時間情報に基づいて決定された閾値を超えた場合に前記入力されたアクセス要求を最優先に出力すると判定する、
請求項５に記載のバスシステム。
【請求項７】
前記調停部は、前記アクセス要求の入力時の許容待ち時間から、前記アクセス要求が前記バスで待機した時間を差し引くことで前記アクセス要求の許容待ち時間情報を更新する許容待ち時間演算部を更に備える、請求項１乃至６のいずれか一項に記載のバスシステム。
【請求項８】
前記調停部は、前記バススレーブが受け取った前記許容待ち時間情報を残り許容待ち時間情報として送信元のバスマスタに返す残り許容待ち時間返却部を更に備える、請求項１乃至７のいずれか一項に記載のバスシステム。
【請求項９】
前記バスマスタは前記残り許容待ち時間情報を用いて前記許容待ち時間を設定する、請求項８に記載のバスシステム。
【請求項１０】
複数のバスマスタから少なくとも一つのバススレーブへの、複数のバスを経由したアクセスを制御するアクセス制御方法であって、
前記バスは各々、前段から入力される複数のアクセス要求を調停し、当該調停により選択されたアクセス要求を次段へ出力し、
前記次段へ出力されるアクセス要求が前記バスで待機した時間を差し引くことで前記次段へ出力されるアクセス要求に含まれる許容待ち時間情報を更新する、
アクセス制御方法。
【請求項１１】
前記バスに入力された各々のアクセス要求に含まれるアクセス要求信号と前記許容待ち時間情報とを分離する、
請求項１０に記載のアクセス制御方法。
【請求項１２】
前記分離されたアクセス要求信号を調停し、当該調停により選択されたアクセス要求信号を出力すると共に、
前記選択されたアクセス要求信号が前記バスで待機した時間を差し引くことで前記選択されたアクセス要求信号の許容待ち時間情報を更新する、
請求項１１に記載のアクセス制御方法。
【請求項１３】
前記選択されたアクセス要求信号および前記更新された許容待ち時間情報を結合し、当該結合後のアクセス要求を前記次段へ出力されるアクセス要求として出力する、請求項１２に記載のアクセス制御方法。
【請求項１４】
前記バスに入力されたアクセス要求に含まれる前記許容待ち時間情報に基づいて当該入力されたアクセス要求を最優先に出力するか否かを判定し、
前記判定結果に基づき前記次段へ出力されるアクセス要求を選択する、
請求項１０乃至１３のいずれか一項に記載のアクセス制御方法。
【請求項１５】
前記許容待ち時間情報に基づいて閾値を決定し、
クロック信号に応じて生成されたカウント値と前記閾値とを比較し、
前記カウント値が前記閾値を超えた場合に前記入力されたアクセス要求を最優先に出力すると判定する、
請求項１４に記載のアクセス制御方法。
【請求項１６】
前記アクセス要求の入力時の許容待ち時間から、前記アクセス要求が前記バスで待機した時間を差し引くことで前記アクセス要求の許容待ち時間情報を更新する、請求項１０乃至１５のいずれか一項に記載のアクセス制御方法。
【請求項１７】
前記バススレーブが受け取った前記許容待ち時間情報を残り許容待ち時間情報として送信元のバスマスタに返す、請求項１０乃至１６のいずれか一項に記載のアクセス制御方法。
【請求項１８】
前記バスマスタは前記残り許容待ち時間情報を用いて前記許容待ち時間を設定する、請求項１７に記載のアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバスシステムおよびアクセス制御方法に関し、特に複数のバスマスタから少なくとも一つのバススレーブへのアクセスを制御するバスシステムおよびアクセス制御方法に関する。
【背景技術】
【０００２】
半導体集積回路では、機能ブロック間の情報の通信を効率的に行うためにバスが用いられている。このようなバスを利用する回路は、一般的に、アクセス要求を送信する複数のバスマスタと、当該複数のバスマスタによってアクセスされるバススレーブと、複数のバスマスタ間でアクセス要求の競合が生じた場合に当該アクセス要求を調停する調停回路とを備えている。
【０００３】
近年、半導体集積回路のバスシステムでは、システムが大規模化するにつれて多様なアプリケーションを処理するための機能ブロックが増加してきている。これに伴い、多数のバスマスタとバススレーブとを接続する必要性が高まり、バスを複数持つ構成が主流となってきている。しかし、各バスは機能ブロック毎に仕様が異なっているため、各バスが相互にアクセスすることは困難である。また、複数のバスを経由した転送において、プログラムの誤動作の防止や処理のリアルタイム性の確保のため、バスアクセスの転送効率を向上させる必要性が高まってきている。
【０００４】
特許文献１には、複数のバスマスタによるバススレーブへのアクセス要求を調停するアクセス制御装置に関する技術が開示されている。図８は、特許文献１に開示されているアクセス制御装置の構成を示すブロック図である。図８に示すように、特許文献１に開示されているアクセス制御装置は、バススレーブＢＳ０、ＢＳ１と、バススレーブＢＳ０、ＢＳ１に対してアクセスを行うバスマスタＢＭ０、ＢＭ１と、バスマスタＢＭ０、ＢＭ１間のバススレーブＢＳ０、ＢＳ１に対するアクセス要求を調停するアクセス調停回路ＡＣ と、記憶回路ＭＥＭとを備える。バスマスタＢＭ０、ＢＭ１は、共通のバスを利用してバススレーブＢＳ０、ＢＳ１にアクセスする。バスマスタＢＭ０、ＢＭ１は、例えばＣＰＵやＤＭＡコントローラであり、バススレーブＢＳ０、ＢＳ１は、例えばメモリ、ＵＡＲＴ、あるいはＤＲＡＭコントローラである。
【０００５】
図９は、特許文献１に開示されているアクセス制御装置が備える記憶回路ＭＥＭ及びアクセス調停回路ＡＣの構成を示すブロック図である。図９に示すように、記憶回路ＭＥＭはレジスタＲＥＧ０、ＲＥＧ１を備えており、アクセス調停回路ＡＣは、許容待ち時間更新回路ＡＷＣと、アクセス要求受付け回路ＡＲＲとを備えている。レジスタＲＥＧ０、ＲＥＧ１は、バスマスタＢＭ０が出力する許容待ち時間情報ＡＷＩ０、ＡＷＩ１をそれぞれ記憶する。そして、バスマスタＢＭ０は、レジスタＲＥＧ０内の許容待ち時間情報ＡＷＩ０及びレジスタＲＥＧ１内の許容待ち時間情報ＡＷＩ１を書き換え可能であり、それらの内容を制御する。
【０００６】
許容待ち時間更新回路ＡＷＣはカウンタＣＴ０、ＣＴ１を備えており、許容待ち時間情報ＡＷＩ０、ＡＷＩ１に基づいて、各バスマスタＢＭ０、ＢＭ１のアクセス要求の許容待ち時間を更新する。ここで、許容待ち時間とは、バスマスタから発行されたバススレーブに対するアクセス要求が受付けられるまでの許容時間である。例えば、ある時点での許容待ち時間が１００μｓであれば、バスマスタのアクセス要求は以後１００μｓ以内に受付けられれば良いことになる。従って、アクセス要求が出力されてからそれが受付けられるまでの間においては、許容待ち時間は時間の経過とともに小さくなる。
【０００７】
また、許容待ち時間情報ＡＷＩ０は、バスマスタＢＭ０からアクセス要求が発行された際の当該アクセス要求の許容待ち時間を決定するための時間情報である。許容待ち時間情報ＡＷＩ１は、バスマスタＢＭ１からアクセス要求が発行された際の当該アクセス要求の許容待ち時間を決定するための時間情報である。
【０００８】
アクセス要求受付け回路ＡＲＲは、比較器ＣＯＭと、リクエストセレクタＲＱＳと、制御信号セレクタＣＳＳとを備える。アクセス要求受付け回路ＡＲＲは、バスマスタＢＭ０、ＢＭ１のアクセス要求が競合する際に、許容待ち時間更新回路ＡＷＣで更新された各バスマスタＢＭ０、ＢＭ１の許容待ち時間を比較し、その比較結果に基づいて当該アクセス要求を調停する。
【０００９】
カウンタＣＴ０には、レジスタＲＥＧ０が出力する許容待ち時間情報ＡＷＩ０と、バスマスタＢＭ０が出力するアクセス要求信号ＲＱ０と、リクエストセレクタＲＱＳが出力するグラント信号ＧＲＴ０とが入力される。一方、カウンタＣＴ１には、レジスタＲＥＧ１が出力する許容待ち時間情報ＡＷＩ１と、バスマスタＢＭ１が出力するアクセス要求信号ＲＱ１と、リクエストセレクタＲＱＳが出力するグラント信号ＧＲＴ１とが入力される。そして、カウンタＣＴ０、ＣＴ１は、図示しないシステムクロックＣＬＫに基づいてクロック入力ごとに、つまりシステムクロックＣＬＫの立ち上がりごとにカウント値をダウンカウントする。
【００１０】
なお、バスマスタＢＭ０は、アクセス要求信号ＲＱ０を"１"に設定することによってバススレーブＢＳ０、ＢＳ１に対するアクセス要求を出力する。また、バスマスタＢＭ１は、アクセス要求信号ＲＱ１を"１"に設定することによってバススレーブＢＳ０、ＢＳ１に対するアクセス要求を出力する。
【００１１】
アクセス要求受付け回路ＡＲＲの比較器ＣＯＭは、カウンタＣＴ０からのカウンタ出力値ＣＯＵＴ０と、カウンタＣＴ１からのカウンタ出力値ＣＯＵＴ１とを比較して、その比較結果に基づいて、バスマスタＢＭ０、ＢＭ１のどちらのアクセス要求の受付けを優先させるかを示す優先順位値ＰＲＶを生成して出力する。リクエストセレクタＲＱＳは、バスマスタＢＭ０からのアクセス要求信号ＲＱ０と、バスマスタＢＭ１からのアクセス要求信号ＲＱ１と、比較器ＣＯＭからの優先順位値ＰＲＶと、グラント信号ＧＲＴ１０とを入力し、それらの信号に基づいてグラント信号ＧＲＴ０、ＧＲＴ１を生成して出力する。グラント信号ＧＲＴ０が"１"のとき、バスマスタＢＭ０のアクセス要求が受付けられ、グラント信号ＧＲＴ１が"１"のとき、バスマスタＢＭ１のアクセス要求が受付けられる。
【００１２】
制御信号セレクタＣＳＳは、リクエストセレクタＲＱＳからのグラント信号ＧＲＴ０、ＧＲＴ１に基づいて、バスマスタＢＭ０が出力する制御信号ＣＮＴ０と、バスマスタＢＭ１が出力する制御信号ＣＮＴ１とのどちらか一方を制御信号ＣＮＴ１０として出力する。これにより、バスマスタＢＭ０、ＢＭ１のどちらか一方のアクセス要求が受付けられる。また、制御信号セレクタＣＳＳはアクセス要求信号ＲＱ１０も出力する。なお、制御信号ＣＮＴ０、ＣＮＴ１は、バススレーブＢＳ０、ＢＳ１を制御するための信号であって、それぞれライトデータ信号、アドレス信号、リード信号及びライト信号などが含まれている。
【００１３】
図８に示した特許文献１に開示されているアクセス制御装置には、アドレスデコーダＡＤとＡＮＤ回路１０とリードセレクタＲＳが更に設けられている。アドレスデコーダＡＤは、制御信号セレクタＣＳＳからのアクセス要求信号ＲＱ１０が"１"を示すと、制御信号ＣＮＴ１０に含まれるアドレス信号のうちの上位アドレス信号をデコードしてチップセレクト信号ＣＳ０、ＣＳ１を生成して出力する。
【００１４】
バススレーブＢＳ０にはチップセレクト信号ＣＳ０が入力され、当該信号が"１"のときバススレーブＢＳ０が選択される。一方、バススレーブＢＳ１にはチップセレクト信号ＣＳ１が入力され、当該信号が"１"のときバススレーブＢＳ１が選択される。そして、各バススレーブＢＳ０，ＢＳ１には、制御信号ＣＮＴ１０に含まれる上位アドレス信号以外の信号が入力される。
【００１５】
また、バススレーブＢＳ０は、自身の動作状態に基づいてグラント信号ＧＲＴ２０を出力し、バススレーブＢＳ１も、自身の動作状態に基づいてグラント信号ＧＲＴ２１を出力する。例えば、バススレーブＢＳ０、ＢＳ１は、バスマスタＢＭ０、ＢＭ１からアクセスされている場合や初期動作を行っている場合に、グラント信号ＧＲＴ２０、ＧＲＴ２１を"０"に設定して、その設定期間はアクセス要求の受付けを行わない。
【００１６】
ＡＮＤ回路１０は、グラント信号ＧＲＴ２０、ＧＲＴ２１の論理積を演算してその結果をグラント信号ＧＲＴ１０としてリクエストセレクタＲＱＳに出力する。従って、グラント信号ＧＲＴ１０が"０"を示す際、バススレーブＢＳ０、ＢＳ１の両方に対するアクセスが禁止されていることになる。
【００１７】
特許文献１に開示されているアクセス制御装置では、バスマスタＢＭ０、ＢＭ１は、アクセス調停回路ＡＣとバススレーブＢＳ０、ＢＳ１との間の信号線の束を共通バスとして利用し、当該共通バスを利用してバススレーブＢＳ０、ＢＳ１にアクセスする。
【００１８】
また、リードセレクタＲＳは、アドレスデコーダＡＤが出力する、アクセス中のバススレーブを示す制御信号ＣＮＴＳに基づいて、バススレーブＢＳ０、ＢＳ１がそれぞれ出力するリードデータ信号ＲＤＤ２０、ＲＤＤ２１のどちらか一方をリードデータＲＤＤ１０としてバスマスタＢＭ０、ＢＭ１に出力する。
【００１９】
以上のように、特許文献１に開示されているアクセス制御装置では、バスマスタＢＭ０、ＢＭ１での許容待ち時間を比較して、その比較結果に基づいてバスマスタＢＭ０、ＢＭ１のどちらかのアクセス要求が受付けられる。そのため、アクセス要求が競合した際に許容待ち時間が少ないバスマスタにアクセス権を付与することができる。その結果、バスマスタＢＭ０、ＢＭ１とバススレーブＢＳ０、ＢＳ１間のデータ転送性能を犠牲にすることなく、各バスマスタＢＭ０、ＢＭ１のバススレーブＢＳ０、ＢＳ１に対するアクセスに要する時間（ アクセスレイテンシ）を許容範囲内に収めることができる。
【００２０】
更に、許容待ち時間情報ＡＷＩ０、ＡＷＩ１は、記憶情報が書き換え可能な記憶回路ＭＥＭに記憶されるため、システム仕様やシステムの動作状態に応じて許容待ち時間情報ＡＷＩ０、ＡＷＩ１を更新することができる。従って、バスマスタＢＭ０、ＢＭ１とバススレーブＢＳ０、ＢＳ１間において、最適なデータ転送性能を実現できる。これにより、例えば、各バスマスタＢＭ０、ＢＭ１が動画像データ等の大量のデータをリアルタイムに取り扱う場合であっても、画像表示が不能となる等のシステム破綻を引き起こすことを防止できる。
【００２１】
また、特許文献２には、バス調停時にバス使用許可を取得するまでの時間を短縮することができるバス調停回路が開示されている。特許文献２に開示されているバス調停回路では、複数のバスマスタからのバス使用要求が競合する時に、応答時間の短いバススレーブにアクセスするバスマスタのバス使用を最優先にすることで、優先順位の低いバスマスタの待ち時間を短縮することができる。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特開２００６−４００１９号公報
【特許文献２】特開２００４−７８５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【００２３】
図８、図９に示した特許文献１にかかるアクセス制御装置において、アクセス調停回路ＡＣ、アドレスデコーダＡＤ、リードセレクタＲＳ、およびＡＮＤ回路１０を組み合わせた構成は一般的なバスの構成である。よって、特許文献１にかかるアクセス制御装置は、この一般的なバスの構成と記憶回路ＭＥＭとを含み構成されている。このとき、図８のバスマスタＢＭ０とアクセス調停回路ＡＣとの接続線は、図９のアクセス要求信号ＲＱ０と制御信号ＣＮＴ０とグラント信号ＧＲＴ０とを束ねたものに相当する。
【００２４】
図１０は本発明の課題を説明するための図であり、特許文献１に開示されているバス（アクセス制御装置）を複数接続したバスシステムを示している。図１０に示したバスシステムは、バスマスタ１０１〜１０４、バススレーブ１０５、記憶回路１１１、１２１、１３１、およびバス１１２、１２２、１３２を備える。バス１１２、１２２、１３２のそれぞれは、一般的なバス（つまり、特許文献１のアクセス調停回路ＡＣ、アドレスデコーダＡＤ、リードセレクタＲＳ、およびＡＮＤ回路１０を組み合わせた構成）を備えている。また、図１０に示した記憶回路１１１、１２１、１３１のそれぞれは、特許文献１にかかるアクセス制御装置が備える記憶回路ＭＥＭに対応する。
【００２５】
図１０に示したバスシステムにおいて、バスマスタ１０１は、各バス１１２、１２２、１３２に対応する記憶回路１１１、１２１、１３１に、各バスマスタ１０１〜１０４が許容できる転送の待ち時間（以降、許容待ち時間と称す）を書き込む。すなわち、バス１１２に対応する記憶回路１１１にはバスマスタ１０１とバスマスタ１０２の許容待ち時間が書き込まれる。バス１２２に対応する記憶回路１２１にはバスマスタ１０１、バスマスタ１０２、およびバスマスタ１０３の許容待ち時間が書き込まれる。バス１３２に対応する記憶回路１３１にはバスマスタ１０１、バスマスタ１０２、バスマスタ１０３、およびバスマスタ１０４の許容待ち時間が書き込まれる。このとき、例えば、各記憶回路１１１、１２１、１３１には、バスマスタ１０１からバススレーブ１０５への許容待ち時間を３等分した値がそれぞれ書き込まれる。
【００２６】
バス１１２は、バスマスタ１０１からのアクセス要求１０６_１およびバスマスタ１０２からのアクセス要求１０６_２を入力し、記憶回路１１１に格納されている許容待ち時間に基づいてこれらのアクセス要求１０６_１、１０６_２を調停し、調停後のアクセス要求１０７_１をバス１２２に出力する。バス１２２は、バス１１２から出力されたアクセス要求１０７_１およびバスマスタ１０３からのアクセス要求１０６_３を入力し、記憶回路１２１に格納されている許容待ち時間に基づいてこれらのアクセス要求１０７_１、１０６_３を調停し、調停後のアクセス要求１０７_２をバス１３２に出力する。バス１３２は、バス１２２から出力されたアクセス要求１０７_２およびバスマスタ１０４からのアクセス要求１０６_４を入力し、記憶回路１３１に格納されている許容待ち時間に基づいてこれらのアクセス要求１０７_２、１０６_４を調停し、調停後のアクセス要求１０７_３をバススレーブ１０５に出力する。
【００２７】
しかしながら、図１０に示したバスシステムでは、上述のように各記憶回路１１１、１２１、１３１に書き込まれる許容待ち時間は所定の値に固定されている。すなわち、例えば、各記憶回路１１１、１２１、１３１には、バスマスタ１０１からバススレーブ１０５への許容待ち時間を分配した値（例えば、３等分した値）がそれぞれ書き込まれ、これらの値の各々はバス毎に独立した値である。
【００２８】
このため、例えばバス１１２において、記憶回路１１１に格納されている許容待ち時間よりも早くバスマスタ１０１のアクセス要求１０６_１が調停後のアクセス要求１０７_１として出力されたとしても、バス１２２ではバス１１２における余剰の許容待ち時間が考慮されることなく、記憶回路１２１に格納されている許容待ち時間（固定値）を用いてアクセス要求１０７_１とアクセス要求１０６_３とが調停される。
【００２９】
このように、図１０に示したバスシステムでは、各記憶回路１１１、１２１、１３１に書き込まれる許容待ち時間が所定の値に固定されるため、各バスマスタ１０１〜１０４からバススレーブ１０５へ複数のバス１１２、１２２、１３２を経由してアクセスする場合に、これらのバスの使用効率が低下するという問題がある。
【課題を解決するための手段】
【００３０】
本発明にかかるバスシステムは、複数のバスマスタから少なくとも一つのバススレーブへの、複数のバスを経由したアクセスを制御するバスシステムであって、前記バスは各々、前段から入力される複数のアクセス要求を調停し、当該調停により選択されたアクセス要求を次段へ出力する調停部を備え、前記調停部は、前記アクセス要求が前記バスで待機した時間を差し引くことで前記次段へ出力されるアクセス要求に含まれる許容待ち時間情報を更新する。
【００３１】
本発明にかかるバスシステムでは、各バスにおいて、各バスに入力される複数のアクセス要求を調停すると共に、アクセス要求の許容待ち時間を更新している。つまり、本発明にかかるバスシステムでは、複数のバスを経由する際に許容待ち時間を次のバスへ持ち越せるため、バスの使用効率を向上させることができる。
【００３２】
本発明にかかるアクセス制御方法は、複数のバスマスタから少なくとも一つのバススレーブへの、複数のバスを経由したアクセスを制御するアクセス制御方法であって、前記バスは各々、前段から入力される複数のアクセス要求を調停し、当該調停により選択されたアクセス要求を次段へ出力し、前記次段へ出力されるアクセス要求が前記バスで待機した時間を差し引くことで前記次段へ出力されるアクセス要求に含まれる許容待ち時間情報を更新する。
【００３３】
本発明にかかるアクセス制御方法では、各バスにおいて、各バスに入力される複数のアクセス要求を調停すると共に、アクセス要求の許容待ち時間を更新している。つまり、本発明にかかるアクセス制御方法では、複数のバスを経由する際に許容待ち時間を次のバスへ持ち越せるため、バスの使用効率を向上させることができる。
【発明の効果】
【００３４】
本発明により、各バスマスタからバススレーブへ複数のバスを経由してアクセスする場合であってもバスの使用効率の低下を抑制することができるバスシステムおよびアクセス制御方法を提供することができる。
【図面の簡単な説明】
【００３５】
【図１】実施の形態１にかかるバスシステムを示すブロック図である。
【図２】実施の形態１にかかるバスシステムが備える各バスの構成を示すブロック図である。
【図３】実施の形態２にかかるバスシステムが備える各バスの構成を示すブロック図である。
【図４】実施の形態２にかかるバスシステムが備える各バスの動作を示すタイミングチャートである。
【図５】実施の形態２にかかるバスシステムが備える各バスの動作を示すフローチャートである。
【図６】実施の形態３にかかるバスシステムが備える各バスの構成を示すブロック図である。
【図７】実施の形態３にかかるバスシステムが備える各バスの動作を示すタイミングチャートである。
【図８】特許文献１に開示されているアクセス制御装置の構成を示すブロック図である。
【図９】特許文献１に開示されているアクセス制御装置が備える記憶回路及びアクセス調停回路の構成を示すブロック図である。
【図１０】本発明の課題を説明するための図である。
【発明を実施するための形態】
【００３６】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。
図１は、実施の形態１にかかるバスシステムを示すブロック図である。図１に示す本実施の形態にかかるバスシステムは、バスマスタ１_１〜１_４、バス２_１〜２_３、およびバススレーブ５を備える。本実施の形態にかかるバスシステムは、複数のバスマスタ１_１〜１_４から少なくとも一つのバススレーブ５へ、複数のバス２_１〜２_３を経由してアクセスするバスシステムである。
【００３７】
バス２_１は、バスマスタ１_１からのアクセス要求６_１およびバスマスタ１_２からのアクセス要求６_２を入力し、これらのアクセス要求６_１、６_２を調停し、調停後のアクセス要求７_１をバス２_２に出力する。バス２_２は、バス２_１から出力されたアクセス要求７_１およびバスマスタ１_３からのアクセス要求６_３を入力し、これらのアクセス要求７_１、６_３を調停し、調停後のアクセス要求７_２をバス２_３に出力する。バス２_３は、バス２_２から出力されたアクセス要求７_２およびバスマスタ１_４からのアクセス要求６_４を入力し、これらのアクセス要求７_２、６_４を調停し、調停後のアクセス要求７_３をバススレーブ５に出力する。
【００３８】
なお、図１では各バスマスタとバスとの間、各バス間、およびバスとバススレーブとの間の矢印を双方向の矢印としている。これは、バススレーブ５からバスマスタ１_１〜１_４へ応答信号が送信されることを示している。本実施の形態では、アクセス要求の調停について説明するので各矢印をアクセス要求６_１等と表現している。
【００３９】
また、図１に示したバスシステムでは４つのバスマスタを備える場合を例示したが、バスマスタの数は任意に決定することができる。また、図１に示したバスシステムでは１つのバススレーブを備える場合を例示したが、バススレーブの数も任意に決定することができる。更に、図１に示したバスシステムでは各バス２_１〜２_３が２つのアクセス要求を調停する場合を例示したが、各バスが調停するアクセス要求の数は２つ以上であってもよい。
【００４０】
図２は、本実施の形態にかかるバスシステムが備える各バスの構成を示すブロック図である。図２に示すバス２は調停部８を含む。調停部８は、アクセス要求分離部１２、１３、リクエスト制御部１４、およびアクセス要求結合部１５を備える。これらの構成要素にはクロック供給源（不図示）からクロック信号が供給され、これらの構成要素は当該クロック信号に同期して動作する。
【００４１】
図２に示すバス２は図１に示したバス２_１〜２_３に対応している。ここで、図２に示すバス２が図１に示したバス２_１の場合は、図２に示したバス２に入力される前段からのアクセス要求１６、１７、および次段へのアクセス要求２９はそれぞれ、図１に示したアクセス要求６_１、６_２、７_１に対応する。図２に示すバス２が図１に示したバス２_２の場合は、図２に示したバス２に入力される前段からのアクセス要求１６、１７、および次段へのアクセス要求２９はそれぞれ、図１に示したアクセス要求７_１、６_３、７_２に対応する。図２に示すバス２が図１に示したバス２_３の場合は、図２に示したバス２に入力される前段からのアクセス要求１６、１７、および次段へのアクセス要求２９はそれぞれ、図１に示したアクセス要求７_２、６_４、７_３に対応する。
【００４２】
アクセス要求分離部１２は、前段からのアクセス要求１６を入力し、当該アクセス要求１６に含まれるアクセス要求信号２１と許容待ち時間情報２２とを分離する。そして、アクセス要求分離部１２は、分離したアクセス要求信号２１と許容待ち時間情報２２とをそれぞれリクエスト制御部１４へ出力する。
【００４３】
アクセス要求分離部１３は、前段からのアクセス要求１７を入力し、当該アクセス要求１７に含まれるアクセス要求信号２３と許容待ち時間情報２４とを分離する。そして、アクセス要求分離部１３は、分離したアクセス要求信号２３と許容待ち時間情報２４とをそれぞれリクエスト制御部１４へ出力する。
【００４４】
なお、アクセス要求分離部１２、１３は、バス２に入力される前段からのアクセス要求１６、１７に対応して設けられている。図２に示した例では、前段からのアクセス要求が２つであるので、バス２は２つのアクセス要求分離部を備えていたが、前段からのアクセス要求の数がこれよりも多い場合は、アクセス要求の数に等しい数のアクセス要求分離部を設けることができる。また、例えば前段からのアクセス要求が既にアクセス要求信号と許容待ち時間情報とに分離されている場合は、アクセス要求分離部１２、１３を適宜省略してもよい。
【００４５】
リクエスト制御部１４は、アクセス要求分離部１２で分離されたアクセス要求信号２１および許容待ち時間情報２２、並びにアクセス要求分離部１３で分離されたアクセス要求信号２３および許容待ち時間情報２４を入力し、許容待ち時間情報２２、２４を用いてアクセス要求信号２１、２３を調停し、当該調停により選択されたアクセス要求信号２６を出力する。
【００４６】
また、リクエスト制御部１４は、入力された許容待ち時間情報２２、２４を更新する。更新された許容待ち時間情報２７、２８はアクセス要求結合部１５に出力される。ここで、更新された許容待ち時間情報２７はアクセス要求信号２１の更新された許容待ち時間情報に対応し、更新された許容待ち時間情報２８はアクセス要求信号２３の更新された許容待ち時間情報に対応している。
【００４７】
許容待ち時間情報の更新は、例えば選択されたアクセス要求信号２６のバス２における待機時間を差し引くことで実施することができる。具体的には、バス２に入力された時点における許容待ち時間情報から、選択されたアクセス要求信号２６がバス２で待機した時間を差し引くことで、選択されたアクセス要求信号２６の許容待ち時間情報を更新することができる。
【００４８】
また、リクエスト制御部１４は、アクセス要求信号２１およびアクセス要求信号２３のうち、どちらのアクセス要求信号が選択されたかを示すアクセス要求受付情報２５をアクセス要求結合部１５に出力する。
【００４９】
アクセス要求結合部１５は、リクエスト制御部１４から出力された、選択されたアクセス要求信号２６と更新された許容待ち時間情報２７、２８とを結合し、結合後のアクセス要求を次段へのアクセス要求２９として出力する。具体的には、リクエスト制御部１４においてアクセス要求信号２１が選択された場合、アクセス要求結合部１５は、選択されたアクセス要求信号２６（つまり、アクセス要求信号２１）と更新された許容待ち時間情報２７とを結合する。また、リクエスト制御部１４においてアクセス要求信号２３が選択された場合、アクセス要求結合部１５は、選択されたアクセス要求信号２６（つまり、アクセス要求信号２３）と更新された許容待ち時間情報２８とを結合する。
【００５０】
このとき、アクセス要求結合部１５は、リクエスト制御部１４から出力されたアクセス要求受付情報２５を入力することで、アクセス要求信号２１およびアクセス要求信号２３のうち、どちらのアクセス要求信号が選択されたかを知ることができる。アクセス要求結合部１５は、アクセス要求受付情報２５に基づいて、更新された許容待ち時間情報（２７または２８）と、選択されたアクセス要求信号２６とを結合する。
【００５１】
なお、例えば、次段へのアクセス要求として、アクセス要求信号および許容待ち時間情報を分離して出力することができる場合は、アクセス要求結合部１５を適宜省略することができる。すなわち、本実施の形態にかかるバスシステムにおいて、バスマスタ１_１〜１_４からのアクセス要求６_１〜６_４、およびバス２_１〜２_３からのアクセス要求７_１〜７_３を、それぞれアクセス要求信号および許容待ち時間情報に分離して入出力可能に構成することで、アクセス要求分離部１２、１３、およびアクセス要求結合部１５を省略することができる。
【００５２】
図１０に示したバスシステムでは、各記憶回路１１１、１２１、１３１に書き込まれる許容待ち時間は所定の値に固定されていた。このため、例えばバス１１２において、記憶回路１１１に格納されている許容待ち時間よりも早くバスマスタ１０１のアクセス要求１０６_１が出力されたとしても、バス１２２ではバス１１２における余剰の許容待ち時間が考慮されることなく、記憶回路１２１に格納されている許容待ち時間（固定値）を用いてアクセス要求１０７_１とアクセス要求１０６_３とが調停されていた。このため、図１０に示したバスシステムでは、バスの使用効率が低下するという問題があった。
【００５３】
具体的には、例えば、図１０に示したバスシステムにおいて、バスマスタ１０１からバススレーブ１０５への許容待ち時間を７サイクル、バスマスタ１０４からバススレーブ１０５への許容待ち時間を３サイクル、各バス１１２、１２２、１３２における待ち時間を２サイクルとする。ここで、バスマスタ１０１からバススレーブ１０５への許容待ち時間（７サイクル）を３分割して、バス１１２、１２２に２サイクル、バス１３２に３サイクル割り当てたとする。また、バスマスタ１０１からの出力とバス１１２への入力とが同じサイクルで、バス１１２からの出力とバス１２２への入力とが同じサイクルで、バス１２２からの出力とバス１３２への入力とが同じサイクルで、バス１３２からの出力とバススレーブ１０５への入力とが同じサイクルで行なわれるものとする。他のバスマスタについても同様である。
【００５４】
そして、例えばバス１３２においてバスマスタ１０１とバスマスタ１０４の転送が同時に発生したとする。このとき、バスマスタ１０１とバスマスタ１０４の許容待ち時間は同じ３サイクルである。よって、バスマスタ１０１が優先してバス１３２を使用することになると、バスマスタ１０４からバススレーブ１０５への転送サイクルは４サイクルとなり、バスマスタ１０４の許容待ち時間（３サイクル）を超えてしまう。
【００５５】
一方、バスマスタ１０１からバススレーブ１０５への転送サイクルは４サイクルであり、全体の許容待ち時間である７サイクルに対して３サイクル余裕ができる。その結果、バスマスタ１０１からバススレーブ１０５への転送は余裕のある転送となる一方、バスマスタ１０４からバススレーブ１０５への転送は許容待ち時間を越えた転送となる。このように、図１０に示したバスシステムではバスの使用効率が低下するという問題があった。
【００５６】
これに対して本実施の形態にかかるバスシステムでは、各バス２_１〜２_３において、各バスに入力される複数のアクセス要求を調停すると共に、アクセス要求の許容待ち時間を更新している。つまり、本実施の形態にかかるバスシステムでは、複数のバスを経由する際に許容待ち時間を次のバスへ持ち越せるため、バスの使用効率を向上させることができる。
【００５７】
上記例に本実施の形態にかかるバスシステムを適用した場合、バスマスタ１０１とバススレーブ１０５との間にあるバス１３２の許容待ち時間を、許容待ち時間に余裕ができた分だけ長くすることができる（持ち越すことができる）。このようにバス１３２の許容待ち時間を長くすることで、バスマスタ１０４のバス１３２の使用を優先させることができ、許容待ち時間以内にバスマスタ１０４からバススレーブ１０５へアクセス要求を転送することができる。
【００５８】
以上で説明したように、本実施の形態にかかる発明により、各バスマスタからバススレーブへ複数のバスを経由してアクセスする場合であっても、バスの使用効率の低下を抑制することができるバスシステムおよびアクセス制御方法を提供することができる。
【００５９】
実施の形態２
次に、本発明の実施の形態２について説明する。図３は、本発明の実施の形態２にかかるバスシステムが備える各バスの構成を示すブロック図である。本実施の形態においても、図３に示したバス２は、図１に示したバスシステムの各バス２_１〜２_３に対応している。本実施の形態にかかるバスシステムでは、実施の形態１にかかるバスシステムの更に詳細な構成を示している。なお、実施の形態１と同一の構成要素については同一の符号を付し、重複した説明は適宜省略する。
【００６０】
図３に示すバス２は調停部８を含む。調停部８は、アクセス要求分離部１２、１３、リクエスト制御部１４、およびアクセス要求結合部１５を備える。これらの構成要素にはクロック供給源（不図示）からクロック信号が供給され、これらの構成要素は当該クロック信号に同期して動作する。アクセス要求分離部１２、１３、およびアクセス要求結合部１５の構成および動作は実施の形態１の場合と同様であるので、重複した説明は省略する。
【００６１】
リクエスト制御部１４は許容待ち時間演算部４５、４８、最優先判定部４６、４９、カウンタ５０、およびアクセス要求信号選択部５１を備える。カウンタ５０は、クロック信号に応じてカウント値６７を生成する。許容待ち時間演算部４５および最優先判定部４６は、前段からのアクセス要求１６に対応して設けられており、アクセス要求分離部１２で分離された許容待ち時間情報２２を用いて各種の処理を実施する。許容待ち時間演算部４８および最優先判定部４９は、前段からのアクセス要求１７に対応して設けられており、アクセス要求分離部１３で分離された許容待ち時間情報２４を用いて各種の処理を実施する。
【００６２】
つまり、一組の許容待ち時間演算部および最優先判定部は、一つのアクセス要求に対応して設けられている。図２に示した例では、前段からのアクセス要求が２つであるので、二組の許容待ち時間演算部および最優先判定部を備えているが、前段からのアクセス要求の数がこれよりも多い場合は、アクセス要求の数に等しい組の許容待ち時間演算部および最優先判定部を設ける。
【００６３】
許容待ち時間演算部４５は、許容待ち時間情報２２を入力し、当該許容待ち時間情報２２を用いて閾値６８を生成し、生成した閾値６８を最優先判定部４６へ出力する。ここで、閾値６８はアクセス要求信号２１とアクセス要求信号２３との調停時に、当該アクセス要求信号２１を最優先にすべきか否かを判断する際に用いられる値である。例えば、閾値６８は許容待ち時間の半分とすることができる。この場合、アクセス要求信号２１の待ち時間が許容待ち時間の半分を超えた場合に、アクセス要求信号２１を優先的に転送することができる。
【００６４】
本実施の形態にかかるバスシステムでは、許容待ち時間演算部４５は、カウンタ５０のカウント値６７を用いて閾値６８を生成することができる。例えば、許容待ち時間情報２２が３０サイクル（以下では、"３０"のように単に数字のみで示す場合もある）であった場合、許容待ち時間演算部４５は許容待ち時間"３０"の半分である"１５"を目標待ち時間とすることができる。この場合のカウント値６７を"２０"とすると、閾値６８は、２０＋１５＝３５とすることができる。なお、カウンタ５０はカウント値６７を一定の周期でインクリメントする。
【００６５】
最優先判定部４６は、閾値６８に基づいてアクセス要求信号２１を最優先に出力するか否かを判定する。具体的には、許容待ち時間演算部４５で生成された閾値６８と、カウンタ５０のカウント値６７とを比較し、カウント値６７が閾値６８を超えた場合に、アクセス要求信号選択部５１に最優先信号７０を出力する。
【００６６】
同様に、許容待ち時間演算部４８は、許容待ち時間情報２４を入力し、当該許容待ち時間情報２４を用いて閾値６９を生成し、生成した閾値６９を最優先判定部４９へ出力する。ここで、閾値６９はアクセス要求信号２１とアクセス要求信号２３との調停時に、当該アクセス要求信号２３を最優先にすべきか否かを判断する際に用いられる値である。例えば、閾値６９は許容待ち時間の半分とすることができる。この場合、アクセス要求信号２３の待ち時間が許容待ち時間の半分を超えた場合に、アクセス要求信号２３を優先的に転送することができる。
【００６７】
本実施の形態にかかるバスシステムでは、許容待ち時間演算部４８は、カウンタ５０のカウント値６７を用いて閾値６９を生成することができる。例えば、許容待ち時間情報２４が"３８"であった場合、許容待ち時間演算部４８は許容待ち時間"３８"の半分である"１９"を目標待ち時間とすることができる。この場合のカウント値６７を"２０"とすると、閾値６９は、２０＋１９＝３９とすることができる。
【００６８】
最優先判定部４９は、閾値６９に基づいてアクセス要求信号２３を最優先に出力するか否かを判定する。具体的には、許容待ち時間演算部４８で生成された閾値６９と、カウンタ５０のカウント値６７とを比較し、カウント値６７が閾値６９を超えた場合に、アクセス要求信号選択部５１に最優先信号７１を出力する。
【００６９】
アクセス要求信号選択部５１は、アクセス要求分離部１２で分離されたアクセス要求信号２１、アクセス要求分離部１３で分離されたアクセス要求信号２３、最優先判定部４６から出力された最優先信号７０、および最優先判定部４９から出力された最優先信号７１を入力する。そして、最優先判定部４６、４９の判定結果、つまり最優先信号７０、７１に基づいてアクセス要求信号２１、２３のうち優先度が高い方のアクセス要求信号を、選択されたアクセス要求信号２６としてアクセス要求結合部１５に出力する。
【００７０】
例えば、最優先信号７０がハイレベル、最優先信号７１がロウレベルの時に、アクセス要求信号２１を、選択されたアクセス要求信号２６としてアクセス要求結合部１５に出力する。また、最優先信号７０がロウレベル、最優先信号７１がハイレベルの時に、アクセス要求信号２３を、選択されたアクセス要求信号２６としてアクセス要求結合部１５に出力する。
【００７１】
また、最優先信号７０、７１が共にロウレベルまたはハイレベルの場合、アクセス要求信号選択部５１は一般的な調停回路として動作し、アクセス要求信号２１、２３の調停を実施する。この場合も、調停後のアクセス要求信号を選択されたアクセス要求信号２６としてアクセス要求結合部１５に出力する。
【００７２】
更に、アクセス要求信号選択部５１はアクセス要求受付情報２５を許容待ち時間演算部４５、４８、およびアクセス要求結合部１５に出力する。アクセス要求受付情報２５は、アクセス要求信号２１、２３のうちのどのアクセス要求信号が選択されたかを示す情報である。アクセス要求受付情報２５は、例えば選択されたアクセス要求信号２６が出力されるタイミングと同じタイミングで出力される。
【００７３】
許容待ち時間演算部４５、４８は、アクセス要求信号選択部５１において選択されたアクセス要求信号２１、２３に対応するアクセス要求１６、１７の入力時の許容待ち時間から、選択されたアクセス要求がバス２で待機した時間を差し引くことで、選択されたアクセス要求の許容待ち時間情報を更新する。
【００７４】
許容待ち時間演算部４５は、アクセス要求信号２１が選択されたことを示すアクセス要求受付情報２５が供給されたタイミングで、許容待ち時間情報２２、カウント値６７、および閾値６８を用いて更新された許容待ち時間情報２７を生成し、当該更新された許容待ち時間情報２７をアクセス要求結合部１５に出力する。許容待ち時間演算部４５は、例えば、許容待ち時間情報２２を"３０"、目標待ち時間を許容待ち時間"３０"の半分である"１５"、閾値６８を"３５"、アクセス要求受付情報２５が供給されたタイミングにおけるカウント値６７を"４０"とすると、更新された許容待ち時間情報２７として"１０"（つまり、１５−（４０−３５）＝１０）を出力する。
【００７５】
同様に、許容待ち時間演算部４８は、アクセス要求信号２３が選択されたことを示すアクセス要求受付情報２５が供給されたタイミングで、許容待ち時間情報２４、カウント値６７、および閾値６９を用いて更新された許容待ち時間情報２８を生成し、当該更新された許容待ち時間情報２８をアクセス要求結合部１５に出力する。
【００７６】
なお、許容待ち時間演算部４５は、アクセス要求受付情報２５が、選択されたアクセス要求信号２６としてアクセス要求信号２１が選択されていることを示さない場合（つまり、他のアクセス要求信号が選択されている場合）は、更新された許容待ち時間情報２７を生成しない。同様に、許容待ち時間演算部４８は、アクセス要求受付情報２５が、選択されたアクセス要求信号２６としてアクセス要求信号２３が選択されていることを示さない場合（つまり、他のアクセス要求信号が選択されている場合）は、更新された許容待ち時間情報２８を生成しない。
【００７７】
アクセス要求結合部１５は、アクセス要求信号選択部５１から出力されたアクセス要求受付情報２５および選択されたアクセス要求信号２６、並びに更新された許容待ち時間情報２７、２８を入力する。そして、アクセス要求受付情報２５がアクセス要求信号２１が選択されたことを示す場合、アクセス要求結合部１５は、選択されたアクセス要求信号２６（つまり、アクセス要求信号２１）と更新された許容待ち時間情報２７とを結合し、結合後のアクセス要求を次段へのアクセス要求２９として出力する。また、アクセス要求受付情報２５がアクセス要求信号２３が選択されたことを示す場合、アクセス要求結合部１５は、選択されたアクセス要求信号２６（つまり、アクセス要求信号２３）と更新された許容待ち時間情報２８とを結合し、結合後のアクセス要求を次段へのアクセス要求２９として出力する。
【００７８】
次に、本実施の形態にかかるバスシステムの動作について説明する。図４は、本実施の形態にかかるバスシステムが備えるバス２の動作を示すタイミングチャートである。
【００７９】
図４に示すように、Ｔ１において、前段からのアクセス要求１６と前段からのアクセス要求１７とがそれぞれ、アクセス要求分離部１２およびアクセス要求分離部１３に供給される。また、アクセス要求分離部１２およびアクセス要求分離部１３はそれぞれ、アクセス要求信号２１およびアクセス要求信号２３をアクセス要求信号選択部５１に出力する。また、アクセス要求分離部１２は許容待ち時間演算部４５に許容待ち時間情報２２である"３０"を出力し、アクセス要求分離部１３は許容待ち時間演算部４８に許容待ち時間情報２４である"３８"を出力する。
【００８０】
Ｔ２において、許容待ち時間演算部４５は最優先判定部４６に閾値６８を出力する。ここで、許容待ち時間情報２２が"３０"であるので、許容待ち時間演算部４５は許容待ち時間"３０"の半分である"１５"を目標待ち時間とする。そして、カウント値６７が"２０"であるので、閾値６８は２０＋１５＝３５となる。また、許容待ち時間演算部４８は最優先判定部４９に閾値６９を出力する。ここで、許容待ち時間情報２４が"３８"であるので、許容待ち時間演算部４８は許容待ち時間"３８"の半分である"１９"を目標待ち時間とする。そして、カウント値６７が"２０"であるので、閾値６９は２０＋１９＝３９となる。
【００８１】
その後、最優先判定部４６、４９のそれぞれは、閾値６８、６９のそれぞれとカウント値６７とを比較し続ける。そして、Ｔ１１において、最優先判定部４６は、カウント値６７である"３６"が閾値６８である"３５"を超えたので、アクセス要求信号選択部５１に対して最優先信号７０を出力する。
【００８２】
Ｔ１４において、アクセス要求信号選択部５１から、アクセス要求受付情報２５と選択されたアクセス要求信号２６とが出力される。つまり、選択されたアクセス要求信号２６としてアクセス要求信号２１が出力される。また、選択されたアクセス要求信号２６がアクセス要求信号２１であることを示すアクセス要求受付情報２５が出力される。
【００８３】
また、Ｔ１４において、許容待ち時間演算部４５は、更新された許容待ち時間情報２７をアクセス要求結合部１５に出力する。ここで、許容待ち時間演算部４５は、許容待ち時間情報２２である"３０"、目標待ち時間である"１５"（許容待ち時間"３０"の半分）、閾値６８である"３５"、アクセス要求受付情報２５が供給されたタイミングにおけるカウント値６７である"４０"を用いて、更新された許容待ち時間情報２７を計算する。この場合、更新された許容待ち時間情報２７として"１０"（つまり、１５−（４０−３５）＝１０）が出力される。
【００８４】
Ｔ１５において、アクセス要求結合部１５から、アクセス要求信号２１と許容待ち時間情報２７とが結合された次段へのアクセス要求２９が出力される。なお、Ｔ１からＴ１５までの間、前段からのアクセス要求１７は待ち状態となっている。
【００８５】
このような動作により、複数のアクセス要求の調停と共に、アクセス要求の許容待ち時間の更新を実施することができる。
【００８６】
次に、本実施の形態にかかるバスシステムにおけるアクセス制御方法について図５に示すフローチャートを用いて説明する。
【００８７】
バス２が前段からのアクセス要求１６、１７を受け取ると、許容待ち時間演算部４５、４８は、閾値６８、６９を計算する（ステップＳ１）。ここで、閾値６８、６９はアクセス要求信号２１とアクセス要求信号２３との調停時に、最優先に出力すべきアクセス要求信号を決定するために用いられる値である。
【００８８】
次に、最優先判定部４６、４９は、閾値６８、６９とカウント値６７とをそれぞれ比較する（ステップＳ２）。カウント値６７が閾値６８よりも大きい場合（ステップＳ２：Ｙｅｓ）、アクセス要求信号２１の優先順位を最優先にする。一方、カウント値６７が閾値６９よりも大きい場合（ステップＳ２：Ｙｅｓ）、アクセス要求信号２３の優先順位を最優先にする。カウント値６７が閾値６８、６９よりも小さい場合は（ステップＳ２：Ｎｏ）、優先順位を決定せずにステップＳ４へ移動する。
【００８９】
アクセス要求信号選択部５１は、アクセス要求が競合した場合（つまり、アクセス要求信号２１およびアクセス要求信号２３が共にハイレベルの場合）、優先順位に従いアクセス要求を許可する（ステップＳ４：Ｙｅｓ）。つまり、最優先信号７０がハイレベル、最優先信号７１がロウレベルの時に、アクセス要求信号２１をアクセス要求結合部１５に出力する。また、最優先信号７０がロウレベル、最優先信号７１がハイレベルの時に、アクセス要求信号２３をアクセス要求結合部１５に出力する。
【００９０】
また、アクセス要求信号選択部５１は、アクセス要求が競合しており、かつ最優先のアクセス要求が決定していない場合（つまり、最優先信号７０、７１が共にロウレベルの場合、または最優先信号７０、７１が共にハイレベルの場合）、一般的な調停回路としてアクセス要求２１とアクセス要求２３の調停を実施して一方のアクセス要求を許可し、ステップＳ６へ移動する（ステップＳ４：Ｙｅｓ）。
【００９１】
また、アクセス要求信号選択部５１は、アクセス要求が競合していない場合（つまり、アクセス要求信号２１およびアクセス要求信号２３の一方のみがハイレベルの場合）、優先順位を考慮することなく、アクセス要求を許可する（ステップＳ４：Ｙｅｓ）。
【００９２】
一方、アクセス要求信号選択部５１は、他のバスマスタがバスを使用している場合は、アクセス要求を許可することなくステップＳ５へと移動する（ステップＳ４：Ｎｏ）。カウンタ５０はカウント値６７をインクリメントする（ステップＳ５）。その後、ステップＳ２へと移動する。
【００９３】
ステップＳ４においてアクセス要求が許可された場合、アクセス要求結合部１５はアクセス要求信号と許容待ち時間情報とを結合して次段へのアクセス要求として出力する（ステップＳ６）。
【００９４】
以上で説明したように、本実施の形態にかかるバスシステムでは、図１に示した各バス２_１〜２_３において、各バスに入力される複数のアクセス要求を調停すると共に、アクセス要求の許容待ち時間を更新している。つまり、本実施の形態にかかるバスシステムでは、複数のバスを経由する際に許容待ち時間を次のバスへ持ち越せるため、バスの使用効率を向上させることができる。
【００９５】
次に、本実施の形態にかかる発明の効果について、図１に示すバスシステムを用いて具体的に説明する。実施の形態１で説明した図１０に示したバスシステムと同様に、バスマスタ１_１からバススレーブ５への許容待ち時間を"７"、バスマスタ１_４からバススレーブ５への許容待ち時間を"３"、また、各バスにおける閾値を許容待ち時間の半分と仮定する。
【００９６】
バスマスタ１_１からのアクセス要求６_１がバス２_１において２サイクル使用されたとすると、残りの許容待ち時間は"５"となる。このとき、バス２_１は残りの許容待ち時間である"５"を付加したアクセス要求７_１をバス２_２に出力する。バス２_１からのアクセス要求７_１がバス２_２において１サイクル使用されたとすると、残りの許容待ち時間は"４"となる。このとき、バス２_２は残りの許容待ち時間である"４"を付加したアクセス要求７_２をバス２_３に出力する。
【００９７】
バス２_３において、アクセス要求７_２とバスマスタ１_４からのアクセス要求６_４とが競合した場合、アクセス要求７_２の許容待ち時間は"４"であるため閾値は"２"となる。また、バスマスタ１_４のアクセス要求６_４の許容待ち時間は"３"であるため閾値は"１"となる。よって、バスマスタ１_４のアクセス要求６_４が優先して選択される。その結果、バスマスタ１_４からバススレーブ５への転送サイクルは"２"、バスマスタ１_１からバススレーブ５への転送サイクルは"６"となる。このように、本実施の形態にかかるバスシステムを用いることで、偏りがなく、許容待ち時間内にアクセス要求を転送することができるバスシステムを提供することができる。
【００９８】
以上で説明したように、本実施の形態にかかる発明により、各バスマスタからバススレーブへ複数のバスを経由してアクセスする場合であってもバスの使用効率の低下を抑制することができるバスシステムおよびアクセス制御方法を提供することができる。
【００９９】
実施の形態３
次に、本発明の実施の形態３について説明する。図６は、本発明の実施の形態３にかかるバスシステムが備える各バスの構成を示すブロック図である。本実施の形態においても、図６に示したバス３は、図１に示したバスシステムの各バス２_１〜２_３に対応している。本実施の形態にかかるバスシステムは、バス３（調停部９）が残り許容待ち時間返却部８０を備えている点が、実施の形態１および２にかかるバスシステムと異なる。これ以外は、実施の形態１および２にかかるバスシステムと同様であるので、同一の構成要素については同一の符号を付し、重複した説明は適宜省略する。
【０１００】
図６に示す残り許容待ち時間返却部８０は、図１に示すバススレーブ５が受け取った許容待ち時間情報を残り許容待ち時間情報として、送信元のバスマスタ１_１〜１_４に返す機能を備える。残り許容待ち時間返却部８０は、次段からの残り許容待ち時間情報８１および次段へのアクセス要求２９を入力し、次段へのアクセス要求２９に応じて、次段からの残り許容待ち時間情報８１を前段への残り許容待ち時間情報８２、８３として出力する。ここで、次段へのアクセス要求２９には送信元のバスマスタに関する情報（つまり、バススレーブ５と接続しているバスマスタに関する情報）が含まれている。残り許容待ち時間返却部８０は、この送信元のバスマスタに関する情報を用いることで、残り許容待ち時間情報を送信元のバスマスタに返すことができる。
【０１０１】
ここで、図６に示すバス３が図１に示したバス２_３の場合は、図６に示す次段からの残り許容待ち時間情報８１は図１に示すバススレーブ５からの残り許容待ち時間情報７_３（この場合は、符号７_３を次段から前段へ出力される残り許容待ち時間情報とする。以下、本段落において同様。）に対応し、図６に示す前段への残り許容待ち時間情報８２は図１に示すバス２_２に出力される残り許容待ち時間情報７_２に対応し、図６に示す前段への残り許容待ち時間情報８３は図１に示すバスマスタ１_４に出力される残り許容待ち時間情報６_４に対応している。また、図６に示すバス３が図１に示したバス２_２の場合は、図６に示す次段からの残り許容待ち時間情報８１は図１に示すバス２_３からの残り許容待ち時間情報７_２に対応し、図６に示す前段への残り許容待ち時間情報８２は図１に示すバス２_１に出力される残り許容待ち時間情報７_１に対応し、図６に示す前段への残り許容待ち時間情報８３は図１に示すバスマスタ１_３に出力される残り許容待ち時間情報６_３に対応している。また、図６に示すバス３が図１に示したバス２_１の場合は、図６に示す次段からの残り許容待ち時間情報８１は図１に示すバス２_２からの残り許容待ち時間情報７_１に対応し、図６に示す前段への残り許容待ち時間情報８２は図１に示すバスマスタ１_１に出力される残り許容待ち時間情報６_１に対応し、図６に示す前段への残り許容待ち時間情報８３は図１に示すバスマスタ１_２に出力される残り許容待ち時間情報６_２に対応している。
【０１０２】
次に、本実施の形態にかかるバスシステムの動作について図７に示すフローチャートを用いて説明する。なお、本実施の形態にかかるバスシステムの動作は、Ｔ１５までは実施の形態２にかかるバスシステムの動作（図４参照）と同様であるので重複した説明は省略する。
【０１０３】
Ｔ１６において、次段から残り許容待ち時間情報８１が出力される。例えば、バス３が図１のバス２_３である場合、Ｔ１６において、バススレーブ５は受け取ったアクセス要求７_３から許容待ち時間情報を抽出し、当該許容待ち時間情報を残り許容待ち時間情報８１として、バス２_３の残り許容待ち時間返却部８０に出力する。
【０１０４】
Ｔ１７において、残り許容待ち時間返却部８０は、次段へのアクセス要求２９から送信元のバスマスタを特定し、特定したバスマスタに対して残り許容待ち時間情報を返す。例えば、バス３が図１のバス２_３である場合、Ｔ１７において、残り許容待ち時間返却部８０は、次段へのアクセス要求２９から送信元バスマスタ（例えば、バスマスタ１_１とする）を特定し、特定したバスマスタ１_１に対して残り許容待ち時間情報を返すために、バス２_２に残り許容待ち時間情報８２を出力する。
【０１０５】
その後、バス２_２が備える残り許容待ち時間返却部８０は、次段へのアクセス要求２９から送信元のバスマスタ１_１を特定し、特定したバスマスタ１_１に対して残り許容待ち時間情報を返すために、バス２_１に残り許容待ち時間情報８２を出力する。更に、バス２_１が備える残り許容待ち時間返却部８０は、次段へのアクセス要求２９から送信元のバスマスタ１_１を特定し、特定したバスマスタ１_１に対して残り許容待ち時間情報８２を返す。
【０１０６】
このような動作により、各バス２_１〜２_３が備える残り許容待ち時間返却部８０は、バススレーブ５が受け取った許容待ち時間情報を残り許容待ち時間情報として、送信元のバスマスタ１_１〜１_４に返すことができる。なお、バススレーブ５からバスマスタ１_１に残り許容待ち時間情報が返されるまでの間、バスマスタ１_１はバス２_１〜２_３を占有しているため、他のバスマスタは１_２〜１_４はバス２_１〜２_３を使用することができない。
【０１０７】
残り許容待ち時間情報を受け取ったバスマスタ１_１〜１_４は、当該残り待ち時間情報を用いてバスの使用効率を向上させることができる。例えば、返却された残り待ち時間が０未満の場合、バスマスタ１_１〜１_４は、次回のアクセス要求発行時から、アクセス要求に付加する許容待ち時間を減らして、更に優先的にバスの使用権を得られるようにすることができる。反対に、返却された残り待ち時間が十分に残っている場合には、次回のアクセス要求発行時から許容待ち時間を大きく設定することで、他のバスマスタに優先的にバス使用権を与えられるようにすることができる。
【０１０８】
以上で説明したように、本実施の形態にかかるバスシステムでは、バススレーブ５が受け取った許容待ち時間情報を残り許容待ち時間情報として、送信元のバスマスタ１_１〜１_４に返すことで、バスの使用効率を更に向上させることができる。
【０１０９】
なお、実施の形態１で説明した図２にかかるバスが残り許容待ち時間返却部８０を備えている構成でも本実施の形態にかかるバスシステムと同様の効果を奏することができる。
【０１１０】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【０１１１】
１_１、１_２、１_３、１_４  バスマスタ
２、３、２_１、２_２、２_３  バス
５  バススレーブ
８、９  調停部
１２、１３  アクセス要求分離部
１４  リクエスト制御部
１５  アクセス要求結合部
１６、１７  前段からのアクセス要求
２１、２３  アクセス要求信号
２２、２４  許容待ち時間情報
２５  アクセス要求受付情報
２６  選択されたアクセス要求信号
２７、２８  更新された許容待ち時間情報
２９  次段へのアクセス要求
４５、４８  許容待ち時間演算部
４６、４９  最優先判定部
５０  カウンタ
５１  アクセス要求信号選択部
６７  カウント値
６８、６９  閾値
７０、７１  最優先信号
８０  残り許容待ち時間返却部
８１  次段からの残り許容待ち時間情報
８２、８３  前段への残り許容待ち時間情報
【図１】
2012168773.tif 000003
【図２】
2012168773.tif 000004
【図３】
2012168773.tif 000005
【図４】
2012168773.tif 000006
【図５】
2012168773.tif 000007
【図６】
2012168773.tif 000008
【図７】
2012168773.tif 000009
【図８】
2012168773.tif 000010
【図９】
2012168773.tif 000011
【図１０】
2012168773.tif 000012