説明

バスシステムおよびアクセス制御方法

【課題】各バスマスタからバススレーブへ複数のバスを経由してアクセスする場合であってもバスの使用効率の低下を抑制することができるバスシステムを提供することである。
【解決手段】本発明にかかるバスシステムは、複数のバスマスタ1_1〜1_4から少なくとも一つのバススレーブ5への、複数のバス2_1〜2_3を経由したアクセスを制御するバスシステムである。バス2_1〜2_3は各々、前段から入力される複数のアクセス要求16、17を調停し、当該調停により選択されたアクセス要求を次段へ出力する調停部8を備える。調停部8は、アクセス要求16、17がバスで待機した時間を差し引くことで次段へ出力されるアクセス要求29に含まれる許容待ち時間情報を更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はバスシステムおよびアクセス制御方法に関し、特に複数のバスマスタから少なくとも一つのバススレーブへのアクセスを制御するバスシステムおよびアクセス制御方法に関する。
【背景技術】
【0002】
半導体集積回路では、機能ブロック間の情報の通信を効率的に行うためにバスが用いられている。このようなバスを利用する回路は、一般的に、アクセス要求を送信する複数のバスマスタと、当該複数のバスマスタによってアクセスされるバススレーブと、複数のバスマスタ間でアクセス要求の競合が生じた場合に当該アクセス要求を調停する調停回路とを備えている。
【0003】
近年、半導体集積回路のバスシステムでは、システムが大規模化するにつれて多様なアプリケーションを処理するための機能ブロックが増加してきている。これに伴い、多数のバスマスタとバススレーブとを接続する必要性が高まり、バスを複数持つ構成が主流となってきている。しかし、各バスは機能ブロック毎に仕様が異なっているため、各バスが相互にアクセスすることは困難である。また、複数のバスを経由した転送において、プログラムの誤動作の防止や処理のリアルタイム性の確保のため、バスアクセスの転送効率を向上させる必要性が高まってきている。
【0004】
特許文献1には、複数のバスマスタによるバススレーブへのアクセス要求を調停するアクセス制御装置に関する技術が開示されている。図8は、特許文献1に開示されているアクセス制御装置の構成を示すブロック図である。図8に示すように、特許文献1に開示されているアクセス制御装置は、バススレーブBS0、BS1と、バススレーブBS0、BS1に対してアクセスを行うバスマスタBM0、BM1と、バスマスタBM0、BM1間のバススレーブBS0、BS1に対するアクセス要求を調停するアクセス調停回路AC と、記憶回路MEMとを備える。バスマスタBM0、BM1は、共通のバスを利用してバススレーブBS0、BS1にアクセスする。バスマスタBM0、BM1は、例えばCPUやDMAコントローラであり、バススレーブBS0、BS1は、例えばメモリ、UART、あるいはDRAMコントローラである。
【0005】
図9は、特許文献1に開示されているアクセス制御装置が備える記憶回路MEM及びアクセス調停回路ACの構成を示すブロック図である。図9に示すように、記憶回路MEMはレジスタREG0、REG1を備えており、アクセス調停回路ACは、許容待ち時間更新回路AWCと、アクセス要求受付け回路ARRとを備えている。レジスタREG0、REG1は、バスマスタBM0が出力する許容待ち時間情報AWI0、AWI1をそれぞれ記憶する。そして、バスマスタBM0は、レジスタREG0内の許容待ち時間情報AWI0及びレジスタREG1内の許容待ち時間情報AWI1を書き換え可能であり、それらの内容を制御する。
【0006】
許容待ち時間更新回路AWCはカウンタCT0、CT1を備えており、許容待ち時間情報AWI0、AWI1に基づいて、各バスマスタBM0、BM1のアクセス要求の許容待ち時間を更新する。ここで、許容待ち時間とは、バスマスタから発行されたバススレーブに対するアクセス要求が受付けられるまでの許容時間である。例えば、ある時点での許容待ち時間が100μsであれば、バスマスタのアクセス要求は以後100μs以内に受付けられれば良いことになる。従って、アクセス要求が出力されてからそれが受付けられるまでの間においては、許容待ち時間は時間の経過とともに小さくなる。
【0007】
また、許容待ち時間情報AWI0は、バスマスタBM0からアクセス要求が発行された際の当該アクセス要求の許容待ち時間を決定するための時間情報である。許容待ち時間情報AWI1は、バスマスタBM1からアクセス要求が発行された際の当該アクセス要求の許容待ち時間を決定するための時間情報である。
【0008】
アクセス要求受付け回路ARRは、比較器COMと、リクエストセレクタRQSと、制御信号セレクタCSSとを備える。アクセス要求受付け回路ARRは、バスマスタBM0、BM1のアクセス要求が競合する際に、許容待ち時間更新回路AWCで更新された各バスマスタBM0、BM1の許容待ち時間を比較し、その比較結果に基づいて当該アクセス要求を調停する。
【0009】
カウンタCT0には、レジスタREG0が出力する許容待ち時間情報AWI0と、バスマスタBM0が出力するアクセス要求信号RQ0と、リクエストセレクタRQSが出力するグラント信号GRT0とが入力される。一方、カウンタCT1には、レジスタREG1が出力する許容待ち時間情報AWI1と、バスマスタBM1が出力するアクセス要求信号RQ1と、リクエストセレクタRQSが出力するグラント信号GRT1とが入力される。そして、カウンタCT0、CT1は、図示しないシステムクロックCLKに基づいてクロック入力ごとに、つまりシステムクロックCLKの立ち上がりごとにカウント値をダウンカウントする。
【0010】
なお、バスマスタBM0は、アクセス要求信号RQ0を"1"に設定することによってバススレーブBS0、BS1に対するアクセス要求を出力する。また、バスマスタBM1は、アクセス要求信号RQ1を"1"に設定することによってバススレーブBS0、BS1に対するアクセス要求を出力する。
【0011】
アクセス要求受付け回路ARRの比較器COMは、カウンタCT0からのカウンタ出力値COUT0と、カウンタCT1からのカウンタ出力値COUT1とを比較して、その比較結果に基づいて、バスマスタBM0、BM1のどちらのアクセス要求の受付けを優先させるかを示す優先順位値PRVを生成して出力する。リクエストセレクタRQSは、バスマスタBM0からのアクセス要求信号RQ0と、バスマスタBM1からのアクセス要求信号RQ1と、比較器COMからの優先順位値PRVと、グラント信号GRT10とを入力し、それらの信号に基づいてグラント信号GRT0、GRT1を生成して出力する。グラント信号GRT0が"1"のとき、バスマスタBM0のアクセス要求が受付けられ、グラント信号GRT1が"1"のとき、バスマスタBM1のアクセス要求が受付けられる。
【0012】
制御信号セレクタCSSは、リクエストセレクタRQSからのグラント信号GRT0、GRT1に基づいて、バスマスタBM0が出力する制御信号CNT0と、バスマスタBM1が出力する制御信号CNT1とのどちらか一方を制御信号CNT10として出力する。これにより、バスマスタBM0、BM1のどちらか一方のアクセス要求が受付けられる。また、制御信号セレクタCSSはアクセス要求信号RQ10も出力する。なお、制御信号CNT0、CNT1は、バススレーブBS0、BS1を制御するための信号であって、それぞれライトデータ信号、アドレス信号、リード信号及びライト信号などが含まれている。
【0013】
図8に示した特許文献1に開示されているアクセス制御装置には、アドレスデコーダADとAND回路10とリードセレクタRSが更に設けられている。アドレスデコーダADは、制御信号セレクタCSSからのアクセス要求信号RQ10が"1"を示すと、制御信号CNT10に含まれるアドレス信号のうちの上位アドレス信号をデコードしてチップセレクト信号CS0、CS1を生成して出力する。
【0014】
バススレーブBS0にはチップセレクト信号CS0が入力され、当該信号が"1"のときバススレーブBS0が選択される。一方、バススレーブBS1にはチップセレクト信号CS1が入力され、当該信号が"1"のときバススレーブBS1が選択される。そして、各バススレーブBS0,BS1には、制御信号CNT10に含まれる上位アドレス信号以外の信号が入力される。
【0015】
また、バススレーブBS0は、自身の動作状態に基づいてグラント信号GRT20を出力し、バススレーブBS1も、自身の動作状態に基づいてグラント信号GRT21を出力する。例えば、バススレーブBS0、BS1は、バスマスタBM0、BM1からアクセスされている場合や初期動作を行っている場合に、グラント信号GRT20、GRT21を"0"に設定して、その設定期間はアクセス要求の受付けを行わない。
【0016】
AND回路10は、グラント信号GRT20、GRT21の論理積を演算してその結果をグラント信号GRT10としてリクエストセレクタRQSに出力する。従って、グラント信号GRT10が"0"を示す際、バススレーブBS0、BS1の両方に対するアクセスが禁止されていることになる。
【0017】
特許文献1に開示されているアクセス制御装置では、バスマスタBM0、BM1は、アクセス調停回路ACとバススレーブBS0、BS1との間の信号線の束を共通バスとして利用し、当該共通バスを利用してバススレーブBS0、BS1にアクセスする。
【0018】
また、リードセレクタRSは、アドレスデコーダADが出力する、アクセス中のバススレーブを示す制御信号CNTSに基づいて、バススレーブBS0、BS1がそれぞれ出力するリードデータ信号RDD20、RDD21のどちらか一方をリードデータRDD10としてバスマスタBM0、BM1に出力する。
【0019】
以上のように、特許文献1に開示されているアクセス制御装置では、バスマスタBM0、BM1での許容待ち時間を比較して、その比較結果に基づいてバスマスタBM0、BM1のどちらかのアクセス要求が受付けられる。そのため、アクセス要求が競合した際に許容待ち時間が少ないバスマスタにアクセス権を付与することができる。その結果、バスマスタBM0、BM1とバススレーブBS0、BS1間のデータ転送性能を犠牲にすることなく、各バスマスタBM0、BM1のバススレーブBS0、BS1に対するアクセスに要する時間( アクセスレイテンシ)を許容範囲内に収めることができる。
【0020】
更に、許容待ち時間情報AWI0、AWI1は、記憶情報が書き換え可能な記憶回路MEMに記憶されるため、システム仕様やシステムの動作状態に応じて許容待ち時間情報AWI0、AWI1を更新することができる。従って、バスマスタBM0、BM1とバススレーブBS0、BS1間において、最適なデータ転送性能を実現できる。これにより、例えば、各バスマスタBM0、BM1が動画像データ等の大量のデータをリアルタイムに取り扱う場合であっても、画像表示が不能となる等のシステム破綻を引き起こすことを防止できる。
【0021】
また、特許文献2には、バス調停時にバス使用許可を取得するまでの時間を短縮することができるバス調停回路が開示されている。特許文献2に開示されているバス調停回路では、複数のバスマスタからのバス使用要求が競合する時に、応答時間の短いバススレーブにアクセスするバスマスタのバス使用を最優先にすることで、優先順位の低いバスマスタの待ち時間を短縮することができる。
【先行技術文献】
【特許文献】
【0022】
【特許文献1】特開2006−40019号公報
【特許文献2】特開2004−78508号公報
【発明の概要】
【発明が解決しようとする課題】
【0023】
図8、図9に示した特許文献1にかかるアクセス制御装置において、アクセス調停回路AC、アドレスデコーダAD、リードセレクタRS、およびAND回路10を組み合わせた構成は一般的なバスの構成である。よって、特許文献1にかかるアクセス制御装置は、この一般的なバスの構成と記憶回路MEMとを含み構成されている。このとき、図8のバスマスタBM0とアクセス調停回路ACとの接続線は、図9のアクセス要求信号RQ0と制御信号CNT0とグラント信号GRT0とを束ねたものに相当する。
【0024】
図10は本発明の課題を説明するための図であり、特許文献1に開示されているバス(アクセス制御装置)を複数接続したバスシステムを示している。図10に示したバスシステムは、バスマスタ101〜104、バススレーブ105、記憶回路111、121、131、およびバス112、122、132を備える。バス112、122、132のそれぞれは、一般的なバス(つまり、特許文献1のアクセス調停回路AC、アドレスデコーダAD、リードセレクタRS、およびAND回路10を組み合わせた構成)を備えている。また、図10に示した記憶回路111、121、131のそれぞれは、特許文献1にかかるアクセス制御装置が備える記憶回路MEMに対応する。
【0025】
図10に示したバスシステムにおいて、バスマスタ101は、各バス112、122、132に対応する記憶回路111、121、131に、各バスマスタ101〜104が許容できる転送の待ち時間(以降、許容待ち時間と称す)を書き込む。すなわち、バス112に対応する記憶回路111にはバスマスタ101とバスマスタ102の許容待ち時間が書き込まれる。バス122に対応する記憶回路121にはバスマスタ101、バスマスタ102、およびバスマスタ103の許容待ち時間が書き込まれる。バス132に対応する記憶回路131にはバスマスタ101、バスマスタ102、バスマスタ103、およびバスマスタ104の許容待ち時間が書き込まれる。このとき、例えば、各記憶回路111、121、131には、バスマスタ101からバススレーブ105への許容待ち時間を3等分した値がそれぞれ書き込まれる。
【0026】
バス112は、バスマスタ101からのアクセス要求106_1およびバスマスタ102からのアクセス要求106_2を入力し、記憶回路111に格納されている許容待ち時間に基づいてこれらのアクセス要求106_1、106_2を調停し、調停後のアクセス要求107_1をバス122に出力する。バス122は、バス112から出力されたアクセス要求107_1およびバスマスタ103からのアクセス要求106_3を入力し、記憶回路121に格納されている許容待ち時間に基づいてこれらのアクセス要求107_1、106_3を調停し、調停後のアクセス要求107_2をバス132に出力する。バス132は、バス122から出力されたアクセス要求107_2およびバスマスタ104からのアクセス要求106_4を入力し、記憶回路131に格納されている許容待ち時間に基づいてこれらのアクセス要求107_2、106_4を調停し、調停後のアクセス要求107_3をバススレーブ105に出力する。
【0027】
しかしながら、図10に示したバスシステムでは、上述のように各記憶回路111、121、131に書き込まれる許容待ち時間は所定の値に固定されている。すなわち、例えば、各記憶回路111、121、131には、バスマスタ101からバススレーブ105への許容待ち時間を分配した値(例えば、3等分した値)がそれぞれ書き込まれ、これらの値の各々はバス毎に独立した値である。
【0028】
このため、例えばバス112において、記憶回路111に格納されている許容待ち時間よりも早くバスマスタ101のアクセス要求106_1が調停後のアクセス要求107_1として出力されたとしても、バス122ではバス112における余剰の許容待ち時間が考慮されることなく、記憶回路121に格納されている許容待ち時間(固定値)を用いてアクセス要求107_1とアクセス要求106_3とが調停される。
【0029】
このように、図10に示したバスシステムでは、各記憶回路111、121、131に書き込まれる許容待ち時間が所定の値に固定されるため、各バスマスタ101〜104からバススレーブ105へ複数のバス112、122、132を経由してアクセスする場合に、これらのバスの使用効率が低下するという問題がある。
【課題を解決するための手段】
【0030】
本発明にかかるバスシステムは、複数のバスマスタから少なくとも一つのバススレーブへの、複数のバスを経由したアクセスを制御するバスシステムであって、前記バスは各々、前段から入力される複数のアクセス要求を調停し、当該調停により選択されたアクセス要求を次段へ出力する調停部を備え、前記調停部は、前記アクセス要求が前記バスで待機した時間を差し引くことで前記次段へ出力されるアクセス要求に含まれる許容待ち時間情報を更新する。
【0031】
本発明にかかるバスシステムでは、各バスにおいて、各バスに入力される複数のアクセス要求を調停すると共に、アクセス要求の許容待ち時間を更新している。つまり、本発明にかかるバスシステムでは、複数のバスを経由する際に許容待ち時間を次のバスへ持ち越せるため、バスの使用効率を向上させることができる。
【0032】
本発明にかかるアクセス制御方法は、複数のバスマスタから少なくとも一つのバススレーブへの、複数のバスを経由したアクセスを制御するアクセス制御方法であって、前記バスは各々、前段から入力される複数のアクセス要求を調停し、当該調停により選択されたアクセス要求を次段へ出力し、前記次段へ出力されるアクセス要求が前記バスで待機した時間を差し引くことで前記次段へ出力されるアクセス要求に含まれる許容待ち時間情報を更新する。
【0033】
本発明にかかるアクセス制御方法では、各バスにおいて、各バスに入力される複数のアクセス要求を調停すると共に、アクセス要求の許容待ち時間を更新している。つまり、本発明にかかるアクセス制御方法では、複数のバスを経由する際に許容待ち時間を次のバスへ持ち越せるため、バスの使用効率を向上させることができる。
【発明の効果】
【0034】
本発明により、各バスマスタからバススレーブへ複数のバスを経由してアクセスする場合であってもバスの使用効率の低下を抑制することができるバスシステムおよびアクセス制御方法を提供することができる。
【図面の簡単な説明】
【0035】
【図1】実施の形態1にかかるバスシステムを示すブロック図である。
【図2】実施の形態1にかかるバスシステムが備える各バスの構成を示すブロック図である。
【図3】実施の形態2にかかるバスシステムが備える各バスの構成を示すブロック図である。
【図4】実施の形態2にかかるバスシステムが備える各バスの動作を示すタイミングチャートである。
【図5】実施の形態2にかかるバスシステムが備える各バスの動作を示すフローチャートである。
【図6】実施の形態3にかかるバスシステムが備える各バスの構成を示すブロック図である。
【図7】実施の形態3にかかるバスシステムが備える各バスの動作を示すタイミングチャートである。
【図8】特許文献1に開示されているアクセス制御装置の構成を示すブロック図である。
【図9】特許文献1に開示されているアクセス制御装置が備える記憶回路及びアクセス調停回路の構成を示すブロック図である。
【図10】本発明の課題を説明するための図である。
【発明を実施するための形態】
【0036】
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。
図1は、実施の形態1にかかるバスシステムを示すブロック図である。図1に示す本実施の形態にかかるバスシステムは、バスマスタ1_1〜1_4、バス2_1〜2_3、およびバススレーブ5を備える。本実施の形態にかかるバスシステムは、複数のバスマスタ1_1〜1_4から少なくとも一つのバススレーブ5へ、複数のバス2_1〜2_3を経由してアクセスするバスシステムである。
【0037】
バス2_1は、バスマスタ1_1からのアクセス要求6_1およびバスマスタ1_2からのアクセス要求6_2を入力し、これらのアクセス要求6_1、6_2を調停し、調停後のアクセス要求7_1をバス2_2に出力する。バス2_2は、バス2_1から出力されたアクセス要求7_1およびバスマスタ1_3からのアクセス要求6_3を入力し、これらのアクセス要求7_1、6_3を調停し、調停後のアクセス要求7_2をバス2_3に出力する。バス2_3は、バス2_2から出力されたアクセス要求7_2およびバスマスタ1_4からのアクセス要求6_4を入力し、これらのアクセス要求7_2、6_4を調停し、調停後のアクセス要求7_3をバススレーブ5に出力する。
【0038】
なお、図1では各バスマスタとバスとの間、各バス間、およびバスとバススレーブとの間の矢印を双方向の矢印としている。これは、バススレーブ5からバスマスタ1_1〜1_4へ応答信号が送信されることを示している。本実施の形態では、アクセス要求の調停について説明するので各矢印をアクセス要求6_1等と表現している。
【0039】
また、図1に示したバスシステムでは4つのバスマスタを備える場合を例示したが、バスマスタの数は任意に決定することができる。また、図1に示したバスシステムでは1つのバススレーブを備える場合を例示したが、バススレーブの数も任意に決定することができる。更に、図1に示したバスシステムでは各バス2_1〜2_3が2つのアクセス要求を調停する場合を例示したが、各バスが調停するアクセス要求の数は2つ以上であってもよい。
【0040】
図2は、本実施の形態にかかるバスシステムが備える各バスの構成を示すブロック図である。図2に示すバス2は調停部8を含む。調停部8は、アクセス要求分離部12、13、リクエスト制御部14、およびアクセス要求結合部15を備える。これらの構成要素にはクロック供給源(不図示)からクロック信号が供給され、これらの構成要素は当該クロック信号に同期して動作する。
【0041】
図2に示すバス2は図1に示したバス2_1〜2_3に対応している。ここで、図2に示すバス2が図1に示したバス2_1の場合は、図2に示したバス2に入力される前段からのアクセス要求16、17、および次段へのアクセス要求29はそれぞれ、図1に示したアクセス要求6_1、6_2、7_1に対応する。図2に示すバス2が図1に示したバス2_2の場合は、図2に示したバス2に入力される前段からのアクセス要求16、17、および次段へのアクセス要求29はそれぞれ、図1に示したアクセス要求7_1、6_3、7_2に対応する。図2に示すバス2が図1に示したバス2_3の場合は、図2に示したバス2に入力される前段からのアクセス要求16、17、および次段へのアクセス要求29はそれぞれ、図1に示したアクセス要求7_2、6_4、7_3に対応する。
【0042】
アクセス要求分離部12は、前段からのアクセス要求16を入力し、当該アクセス要求16に含まれるアクセス要求信号21と許容待ち時間情報22とを分離する。そして、アクセス要求分離部12は、分離したアクセス要求信号21と許容待ち時間情報22とをそれぞれリクエスト制御部14へ出力する。
【0043】
アクセス要求分離部13は、前段からのアクセス要求17を入力し、当該アクセス要求17に含まれるアクセス要求信号23と許容待ち時間情報24とを分離する。そして、アクセス要求分離部13は、分離したアクセス要求信号23と許容待ち時間情報24とをそれぞれリクエスト制御部14へ出力する。
【0044】
なお、アクセス要求分離部12、13は、バス2に入力される前段からのアクセス要求16、17に対応して設けられている。図2に示した例では、前段からのアクセス要求が2つであるので、バス2は2つのアクセス要求分離部を備えていたが、前段からのアクセス要求の数がこれよりも多い場合は、アクセス要求の数に等しい数のアクセス要求分離部を設けることができる。また、例えば前段からのアクセス要求が既にアクセス要求信号と許容待ち時間情報とに分離されている場合は、アクセス要求分離部12、13を適宜省略してもよい。
【0045】
リクエスト制御部14は、アクセス要求分離部12で分離されたアクセス要求信号21および許容待ち時間情報22、並びにアクセス要求分離部13で分離されたアクセス要求信号23および許容待ち時間情報24を入力し、許容待ち時間情報22、24を用いてアクセス要求信号21、23を調停し、当該調停により選択されたアクセス要求信号26を出力する。
【0046】
また、リクエスト制御部14は、入力された許容待ち時間情報22、24を更新する。更新された許容待ち時間情報27、28はアクセス要求結合部15に出力される。ここで、更新された許容待ち時間情報27はアクセス要求信号21の更新された許容待ち時間情報に対応し、更新された許容待ち時間情報28はアクセス要求信号23の更新された許容待ち時間情報に対応している。
【0047】
許容待ち時間情報の更新は、例えば選択されたアクセス要求信号26のバス2における待機時間を差し引くことで実施することができる。具体的には、バス2に入力された時点における許容待ち時間情報から、選択されたアクセス要求信号26がバス2で待機した時間を差し引くことで、選択されたアクセス要求信号26の許容待ち時間情報を更新することができる。
【0048】
また、リクエスト制御部14は、アクセス要求信号21およびアクセス要求信号23のうち、どちらのアクセス要求信号が選択されたかを示すアクセス要求受付情報25をアクセス要求結合部15に出力する。
【0049】
アクセス要求結合部15は、リクエスト制御部14から出力された、選択されたアクセス要求信号26と更新された許容待ち時間情報27、28とを結合し、結合後のアクセス要求を次段へのアクセス要求29として出力する。具体的には、リクエスト制御部14においてアクセス要求信号21が選択された場合、アクセス要求結合部15は、選択されたアクセス要求信号26(つまり、アクセス要求信号21)と更新された許容待ち時間情報27とを結合する。また、リクエスト制御部14においてアクセス要求信号23が選択された場合、アクセス要求結合部15は、選択されたアクセス要求信号26(つまり、アクセス要求信号23)と更新された許容待ち時間情報28とを結合する。
【0050】
このとき、アクセス要求結合部15は、リクエスト制御部14から出力されたアクセス要求受付情報25を入力することで、アクセス要求信号21およびアクセス要求信号23のうち、どちらのアクセス要求信号が選択されたかを知ることができる。アクセス要求結合部15は、アクセス要求受付情報25に基づいて、更新された許容待ち時間情報(27または28)と、選択されたアクセス要求信号26とを結合する。
【0051】
なお、例えば、次段へのアクセス要求として、アクセス要求信号および許容待ち時間情報を分離して出力することができる場合は、アクセス要求結合部15を適宜省略することができる。すなわち、本実施の形態にかかるバスシステムにおいて、バスマスタ1_1〜1_4からのアクセス要求6_1〜6_4、およびバス2_1〜2_3からのアクセス要求7_1〜7_3を、それぞれアクセス要求信号および許容待ち時間情報に分離して入出力可能に構成することで、アクセス要求分離部12、13、およびアクセス要求結合部15を省略することができる。
【0052】
図10に示したバスシステムでは、各記憶回路111、121、131に書き込まれる許容待ち時間は所定の値に固定されていた。このため、例えばバス112において、記憶回路111に格納されている許容待ち時間よりも早くバスマスタ101のアクセス要求106_1が出力されたとしても、バス122ではバス112における余剰の許容待ち時間が考慮されることなく、記憶回路121に格納されている許容待ち時間(固定値)を用いてアクセス要求107_1とアクセス要求106_3とが調停されていた。このため、図10に示したバスシステムでは、バスの使用効率が低下するという問題があった。
【0053】
具体的には、例えば、図10に示したバスシステムにおいて、バスマスタ101からバススレーブ105への許容待ち時間を7サイクル、バスマスタ104からバススレーブ105への許容待ち時間を3サイクル、各バス112、122、132における待ち時間を2サイクルとする。ここで、バスマスタ101からバススレーブ105への許容待ち時間(7サイクル)を3分割して、バス112、122に2サイクル、バス132に3サイクル割り当てたとする。また、バスマスタ101からの出力とバス112への入力とが同じサイクルで、バス112からの出力とバス122への入力とが同じサイクルで、バス122からの出力とバス132への入力とが同じサイクルで、バス132からの出力とバススレーブ105への入力とが同じサイクルで行なわれるものとする。他のバスマスタについても同様である。
【0054】
そして、例えばバス132においてバスマスタ101とバスマスタ104の転送が同時に発生したとする。このとき、バスマスタ101とバスマスタ104の許容待ち時間は同じ3サイクルである。よって、バスマスタ101が優先してバス132を使用することになると、バスマスタ104からバススレーブ105への転送サイクルは4サイクルとなり、バスマスタ104の許容待ち時間(3サイクル)を超えてしまう。
【0055】
一方、バスマスタ101からバススレーブ105への転送サイクルは4サイクルであり、全体の許容待ち時間である7サイクルに対して3サイクル余裕ができる。その結果、バスマスタ101からバススレーブ105への転送は余裕のある転送となる一方、バスマスタ104からバススレーブ105への転送は許容待ち時間を越えた転送となる。このように、図10に示したバスシステムではバスの使用効率が低下するという問題があった。
【0056】
これに対して本実施の形態にかかるバスシステムでは、各バス2_1〜2_3において、各バスに入力される複数のアクセス要求を調停すると共に、アクセス要求の許容待ち時間を更新している。つまり、本実施の形態にかかるバスシステムでは、複数のバスを経由する際に許容待ち時間を次のバスへ持ち越せるため、バスの使用効率を向上させることができる。
【0057】
上記例に本実施の形態にかかるバスシステムを適用した場合、バスマスタ101とバススレーブ105との間にあるバス132の許容待ち時間を、許容待ち時間に余裕ができた分だけ長くすることができる(持ち越すことができる)。このようにバス132の許容待ち時間を長くすることで、バスマスタ104のバス132の使用を優先させることができ、許容待ち時間以内にバスマスタ104からバススレーブ105へアクセス要求を転送することができる。
【0058】
以上で説明したように、本実施の形態にかかる発明により、各バスマスタからバススレーブへ複数のバスを経由してアクセスする場合であっても、バスの使用効率の低下を抑制することができるバスシステムおよびアクセス制御方法を提供することができる。
【0059】
実施の形態2
次に、本発明の実施の形態2について説明する。図3は、本発明の実施の形態2にかかるバスシステムが備える各バスの構成を示すブロック図である。本実施の形態においても、図3に示したバス2は、図1に示したバスシステムの各バス2_1〜2_3に対応している。本実施の形態にかかるバスシステムでは、実施の形態1にかかるバスシステムの更に詳細な構成を示している。なお、実施の形態1と同一の構成要素については同一の符号を付し、重複した説明は適宜省略する。
【0060】
図3に示すバス2は調停部8を含む。調停部8は、アクセス要求分離部12、13、リクエスト制御部14、およびアクセス要求結合部15を備える。これらの構成要素にはクロック供給源(不図示)からクロック信号が供給され、これらの構成要素は当該クロック信号に同期して動作する。アクセス要求分離部12、13、およびアクセス要求結合部15の構成および動作は実施の形態1の場合と同様であるので、重複した説明は省略する。
【0061】
リクエスト制御部14は許容待ち時間演算部45、48、最優先判定部46、49、カウンタ50、およびアクセス要求信号選択部51を備える。カウンタ50は、クロック信号に応じてカウント値67を生成する。許容待ち時間演算部45および最優先判定部46は、前段からのアクセス要求16に対応して設けられており、アクセス要求分離部12で分離された許容待ち時間情報22を用いて各種の処理を実施する。許容待ち時間演算部48および最優先判定部49は、前段からのアクセス要求17に対応して設けられており、アクセス要求分離部13で分離された許容待ち時間情報24を用いて各種の処理を実施する。
【0062】
つまり、一組の許容待ち時間演算部および最優先判定部は、一つのアクセス要求に対応して設けられている。図2に示した例では、前段からのアクセス要求が2つであるので、二組の許容待ち時間演算部および最優先判定部を備えているが、前段からのアクセス要求の数がこれよりも多い場合は、アクセス要求の数に等しい組の許容待ち時間演算部および最優先判定部を設ける。
【0063】
許容待ち時間演算部45は、許容待ち時間情報22を入力し、当該許容待ち時間情報22を用いて閾値68を生成し、生成した閾値68を最優先判定部46へ出力する。ここで、閾値68はアクセス要求信号21とアクセス要求信号23との調停時に、当該アクセス要求信号21を最優先にすべきか否かを判断する際に用いられる値である。例えば、閾値68は許容待ち時間の半分とすることができる。この場合、アクセス要求信号21の待ち時間が許容待ち時間の半分を超えた場合に、アクセス要求信号21を優先的に転送することができる。
【0064】
本実施の形態にかかるバスシステムでは、許容待ち時間演算部45は、カウンタ50のカウント値67を用いて閾値68を生成することができる。例えば、許容待ち時間情報22が30サイクル(以下では、"30"のように単に数字のみで示す場合もある)であった場合、許容待ち時間演算部45は許容待ち時間"30"の半分である"15"を目標待ち時間とすることができる。この場合のカウント値67を"20"とすると、閾値68は、20+15=35とすることができる。なお、カウンタ50はカウント値67を一定の周期でインクリメントする。
【0065】
最優先判定部46は、閾値68に基づいてアクセス要求信号21を最優先に出力するか否かを判定する。具体的には、許容待ち時間演算部45で生成された閾値68と、カウンタ50のカウント値67とを比較し、カウント値67が閾値68を超えた場合に、アクセス要求信号選択部51に最優先信号70を出力する。
【0066】
同様に、許容待ち時間演算部48は、許容待ち時間情報24を入力し、当該許容待ち時間情報24を用いて閾値69を生成し、生成した閾値69を最優先判定部49へ出力する。ここで、閾値69はアクセス要求信号21とアクセス要求信号23との調停時に、当該アクセス要求信号23を最優先にすべきか否かを判断する際に用いられる値である。例えば、閾値69は許容待ち時間の半分とすることができる。この場合、アクセス要求信号23の待ち時間が許容待ち時間の半分を超えた場合に、アクセス要求信号23を優先的に転送することができる。
【0067】
本実施の形態にかかるバスシステムでは、許容待ち時間演算部48は、カウンタ50のカウント値67を用いて閾値69を生成することができる。例えば、許容待ち時間情報24が"38"であった場合、許容待ち時間演算部48は許容待ち時間"38"の半分である"19"を目標待ち時間とすることができる。この場合のカウント値67を"20"とすると、閾値69は、20+19=39とすることができる。
【0068】
最優先判定部49は、閾値69に基づいてアクセス要求信号23を最優先に出力するか否かを判定する。具体的には、許容待ち時間演算部48で生成された閾値69と、カウンタ50のカウント値67とを比較し、カウント値67が閾値69を超えた場合に、アクセス要求信号選択部51に最優先信号71を出力する。
【0069】
アクセス要求信号選択部51は、アクセス要求分離部12で分離されたアクセス要求信号21、アクセス要求分離部13で分離されたアクセス要求信号23、最優先判定部46から出力された最優先信号70、および最優先判定部49から出力された最優先信号71を入力する。そして、最優先判定部46、49の判定結果、つまり最優先信号70、71に基づいてアクセス要求信号21、23のうち優先度が高い方のアクセス要求信号を、選択されたアクセス要求信号26としてアクセス要求結合部15に出力する。
【0070】
例えば、最優先信号70がハイレベル、最優先信号71がロウレベルの時に、アクセス要求信号21を、選択されたアクセス要求信号26としてアクセス要求結合部15に出力する。また、最優先信号70がロウレベル、最優先信号71がハイレベルの時に、アクセス要求信号23を、選択されたアクセス要求信号26としてアクセス要求結合部15に出力する。
【0071】
また、最優先信号70、71が共にロウレベルまたはハイレベルの場合、アクセス要求信号選択部51は一般的な調停回路として動作し、アクセス要求信号21、23の調停を実施する。この場合も、調停後のアクセス要求信号を選択されたアクセス要求信号26としてアクセス要求結合部15に出力する。
【0072】
更に、アクセス要求信号選択部51はアクセス要求受付情報25を許容待ち時間演算部45、48、およびアクセス要求結合部15に出力する。アクセス要求受付情報25は、アクセス要求信号21、23のうちのどのアクセス要求信号が選択されたかを示す情報である。アクセス要求受付情報25は、例えば選択されたアクセス要求信号26が出力されるタイミングと同じタイミングで出力される。
【0073】
許容待ち時間演算部45、48は、アクセス要求信号選択部51において選択されたアクセス要求信号21、23に対応するアクセス要求16、17の入力時の許容待ち時間から、選択されたアクセス要求がバス2で待機した時間を差し引くことで、選択されたアクセス要求の許容待ち時間情報を更新する。
【0074】
許容待ち時間演算部45は、アクセス要求信号21が選択されたことを示すアクセス要求受付情報25が供給されたタイミングで、許容待ち時間情報22、カウント値67、および閾値68を用いて更新された許容待ち時間情報27を生成し、当該更新された許容待ち時間情報27をアクセス要求結合部15に出力する。許容待ち時間演算部45は、例えば、許容待ち時間情報22を"30"、目標待ち時間を許容待ち時間"30"の半分である"15"、閾値68を"35"、アクセス要求受付情報25が供給されたタイミングにおけるカウント値67を"40"とすると、更新された許容待ち時間情報27として"10"(つまり、15−(40−35)=10)を出力する。
【0075】
同様に、許容待ち時間演算部48は、アクセス要求信号23が選択されたことを示すアクセス要求受付情報25が供給されたタイミングで、許容待ち時間情報24、カウント値67、および閾値69を用いて更新された許容待ち時間情報28を生成し、当該更新された許容待ち時間情報28をアクセス要求結合部15に出力する。
【0076】
なお、許容待ち時間演算部45は、アクセス要求受付情報25が、選択されたアクセス要求信号26としてアクセス要求信号21が選択されていることを示さない場合(つまり、他のアクセス要求信号が選択されている場合)は、更新された許容待ち時間情報27を生成しない。同様に、許容待ち時間演算部48は、アクセス要求受付情報25が、選択されたアクセス要求信号26としてアクセス要求信号23が選択されていることを示さない場合(つまり、他のアクセス要求信号が選択されている場合)は、更新された許容待ち時間情報28を生成しない。
【0077】
アクセス要求結合部15は、アクセス要求信号選択部51から出力されたアクセス要求受付情報25および選択されたアクセス要求信号26、並びに更新された許容待ち時間情報27、28を入力する。そして、アクセス要求受付情報25がアクセス要求信号21が選択されたことを示す場合、アクセス要求結合部15は、選択されたアクセス要求信号26(つまり、アクセス要求信号21)と更新された許容待ち時間情報27とを結合し、結合後のアクセス要求を次段へのアクセス要求29として出力する。また、アクセス要求受付情報25がアクセス要求信号23が選択されたことを示す場合、アクセス要求結合部15は、選択されたアクセス要求信号26(つまり、アクセス要求信号23)と更新された許容待ち時間情報28とを結合し、結合後のアクセス要求を次段へのアクセス要求29として出力する。
【0078】
次に、本実施の形態にかかるバスシステムの動作について説明する。図4は、本実施の形態にかかるバスシステムが備えるバス2の動作を示すタイミングチャートである。
【0079】
図4に示すように、T1において、前段からのアクセス要求16と前段からのアクセス要求17とがそれぞれ、アクセス要求分離部12およびアクセス要求分離部13に供給される。また、アクセス要求分離部12およびアクセス要求分離部13はそれぞれ、アクセス要求信号21およびアクセス要求信号23をアクセス要求信号選択部51に出力する。また、アクセス要求分離部12は許容待ち時間演算部45に許容待ち時間情報22である"30"を出力し、アクセス要求分離部13は許容待ち時間演算部48に許容待ち時間情報24である"38"を出力する。
【0080】
T2において、許容待ち時間演算部45は最優先判定部46に閾値68を出力する。ここで、許容待ち時間情報22が"30"であるので、許容待ち時間演算部45は許容待ち時間"30"の半分である"15"を目標待ち時間とする。そして、カウント値67が"20"であるので、閾値68は20+15=35となる。また、許容待ち時間演算部48は最優先判定部49に閾値69を出力する。ここで、許容待ち時間情報24が"38"であるので、許容待ち時間演算部48は許容待ち時間"38"の半分である"19"を目標待ち時間とする。そして、カウント値67が"20"であるので、閾値69は20+19=39となる。
【0081】
その後、最優先判定部46、49のそれぞれは、閾値68、69のそれぞれとカウント値67とを比較し続ける。そして、T11において、最優先判定部46は、カウント値67である"36"が閾値68である"35"を超えたので、アクセス要求信号選択部51に対して最優先信号70を出力する。
【0082】
T14において、アクセス要求信号選択部51から、アクセス要求受付情報25と選択されたアクセス要求信号26とが出力される。つまり、選択されたアクセス要求信号26としてアクセス要求信号21が出力される。また、選択されたアクセス要求信号26がアクセス要求信号21であることを示すアクセス要求受付情報25が出力される。
【0083】
また、T14において、許容待ち時間演算部45は、更新された許容待ち時間情報27をアクセス要求結合部15に出力する。ここで、許容待ち時間演算部45は、許容待ち時間情報22である"30"、目標待ち時間である"15"(許容待ち時間"30"の半分)、閾値68である"35"、アクセス要求受付情報25が供給されたタイミングにおけるカウント値67である"40"を用いて、更新された許容待ち時間情報27を計算する。この場合、更新された許容待ち時間情報27として"10"(つまり、15−(40−35)=10)が出力される。
【0084】
T15において、アクセス要求結合部15から、アクセス要求信号21と許容待ち時間情報27とが結合された次段へのアクセス要求29が出力される。なお、T1からT15までの間、前段からのアクセス要求17は待ち状態となっている。
【0085】
このような動作により、複数のアクセス要求の調停と共に、アクセス要求の許容待ち時間の更新を実施することができる。
【0086】
次に、本実施の形態にかかるバスシステムにおけるアクセス制御方法について図5に示すフローチャートを用いて説明する。
【0087】
バス2が前段からのアクセス要求16、17を受け取ると、許容待ち時間演算部45、48は、閾値68、69を計算する(ステップS1)。ここで、閾値68、69はアクセス要求信号21とアクセス要求信号23との調停時に、最優先に出力すべきアクセス要求信号を決定するために用いられる値である。
【0088】
次に、最優先判定部46、49は、閾値68、69とカウント値67とをそれぞれ比較する(ステップS2)。カウント値67が閾値68よりも大きい場合(ステップS2:Yes)、アクセス要求信号21の優先順位を最優先にする。一方、カウント値67が閾値69よりも大きい場合(ステップS2:Yes)、アクセス要求信号23の優先順位を最優先にする。カウント値67が閾値68、69よりも小さい場合は(ステップS2:No)、優先順位を決定せずにステップS4へ移動する。
【0089】
アクセス要求信号選択部51は、アクセス要求が競合した場合(つまり、アクセス要求信号21およびアクセス要求信号23が共にハイレベルの場合)、優先順位に従いアクセス要求を許可する(ステップS4:Yes)。つまり、最優先信号70がハイレベル、最優先信号71がロウレベルの時に、アクセス要求信号21をアクセス要求結合部15に出力する。また、最優先信号70がロウレベル、最優先信号71がハイレベルの時に、アクセス要求信号23をアクセス要求結合部15に出力する。
【0090】
また、アクセス要求信号選択部51は、アクセス要求が競合しており、かつ最優先のアクセス要求が決定していない場合(つまり、最優先信号70、71が共にロウレベルの場合、または最優先信号70、71が共にハイレベルの場合)、一般的な調停回路としてアクセス要求21とアクセス要求23の調停を実施して一方のアクセス要求を許可し、ステップS6へ移動する(ステップS4:Yes)。
【0091】
また、アクセス要求信号選択部51は、アクセス要求が競合していない場合(つまり、アクセス要求信号21およびアクセス要求信号23の一方のみがハイレベルの場合)、優先順位を考慮することなく、アクセス要求を許可する(ステップS4:Yes)。
【0092】
一方、アクセス要求信号選択部51は、他のバスマスタがバスを使用している場合は、アクセス要求を許可することなくステップS5へと移動する(ステップS4:No)。カウンタ50はカウント値67をインクリメントする(ステップS5)。その後、ステップS2へと移動する。
【0093】
ステップS4においてアクセス要求が許可された場合、アクセス要求結合部15はアクセス要求信号と許容待ち時間情報とを結合して次段へのアクセス要求として出力する(ステップS6)。
【0094】
以上で説明したように、本実施の形態にかかるバスシステムでは、図1に示した各バス2_1〜2_3において、各バスに入力される複数のアクセス要求を調停すると共に、アクセス要求の許容待ち時間を更新している。つまり、本実施の形態にかかるバスシステムでは、複数のバスを経由する際に許容待ち時間を次のバスへ持ち越せるため、バスの使用効率を向上させることができる。
【0095】
次に、本実施の形態にかかる発明の効果について、図1に示すバスシステムを用いて具体的に説明する。実施の形態1で説明した図10に示したバスシステムと同様に、バスマスタ1_1からバススレーブ5への許容待ち時間を"7"、バスマスタ1_4からバススレーブ5への許容待ち時間を"3"、また、各バスにおける閾値を許容待ち時間の半分と仮定する。
【0096】
バスマスタ1_1からのアクセス要求6_1がバス2_1において2サイクル使用されたとすると、残りの許容待ち時間は"5"となる。このとき、バス2_1は残りの許容待ち時間である"5"を付加したアクセス要求7_1をバス2_2に出力する。バス2_1からのアクセス要求7_1がバス2_2において1サイクル使用されたとすると、残りの許容待ち時間は"4"となる。このとき、バス2_2は残りの許容待ち時間である"4"を付加したアクセス要求7_2をバス2_3に出力する。
【0097】
バス2_3において、アクセス要求7_2とバスマスタ1_4からのアクセス要求6_4とが競合した場合、アクセス要求7_2の許容待ち時間は"4"であるため閾値は"2"となる。また、バスマスタ1_4のアクセス要求6_4の許容待ち時間は"3"であるため閾値は"1"となる。よって、バスマスタ1_4のアクセス要求6_4が優先して選択される。その結果、バスマスタ1_4からバススレーブ5への転送サイクルは"2"、バスマスタ1_1からバススレーブ5への転送サイクルは"6"となる。このように、本実施の形態にかかるバスシステムを用いることで、偏りがなく、許容待ち時間内にアクセス要求を転送することができるバスシステムを提供することができる。
【0098】
以上で説明したように、本実施の形態にかかる発明により、各バスマスタからバススレーブへ複数のバスを経由してアクセスする場合であってもバスの使用効率の低下を抑制することができるバスシステムおよびアクセス制御方法を提供することができる。
【0099】
実施の形態3
次に、本発明の実施の形態3について説明する。図6は、本発明の実施の形態3にかかるバスシステムが備える各バスの構成を示すブロック図である。本実施の形態においても、図6に示したバス3は、図1に示したバスシステムの各バス2_1〜2_3に対応している。本実施の形態にかかるバスシステムは、バス3(調停部9)が残り許容待ち時間返却部80を備えている点が、実施の形態1および2にかかるバスシステムと異なる。これ以外は、実施の形態1および2にかかるバスシステムと同様であるので、同一の構成要素については同一の符号を付し、重複した説明は適宜省略する。
【0100】
図6に示す残り許容待ち時間返却部80は、図1に示すバススレーブ5が受け取った許容待ち時間情報を残り許容待ち時間情報として、送信元のバスマスタ1_1〜1_4に返す機能を備える。残り許容待ち時間返却部80は、次段からの残り許容待ち時間情報81および次段へのアクセス要求29を入力し、次段へのアクセス要求29に応じて、次段からの残り許容待ち時間情報81を前段への残り許容待ち時間情報82、83として出力する。ここで、次段へのアクセス要求29には送信元のバスマスタに関する情報(つまり、バススレーブ5と接続しているバスマスタに関する情報)が含まれている。残り許容待ち時間返却部80は、この送信元のバスマスタに関する情報を用いることで、残り許容待ち時間情報を送信元のバスマスタに返すことができる。
【0101】
ここで、図6に示すバス3が図1に示したバス2_3の場合は、図6に示す次段からの残り許容待ち時間情報81は図1に示すバススレーブ5からの残り許容待ち時間情報7_3(この場合は、符号7_3を次段から前段へ出力される残り許容待ち時間情報とする。以下、本段落において同様。)に対応し、図6に示す前段への残り許容待ち時間情報82は図1に示すバス2_2に出力される残り許容待ち時間情報7_2に対応し、図6に示す前段への残り許容待ち時間情報83は図1に示すバスマスタ1_4に出力される残り許容待ち時間情報6_4に対応している。また、図6に示すバス3が図1に示したバス2_2の場合は、図6に示す次段からの残り許容待ち時間情報81は図1に示すバス2_3からの残り許容待ち時間情報7_2に対応し、図6に示す前段への残り許容待ち時間情報82は図1に示すバス2_1に出力される残り許容待ち時間情報7_1に対応し、図6に示す前段への残り許容待ち時間情報83は図1に示すバスマスタ1_3に出力される残り許容待ち時間情報6_3に対応している。また、図6に示すバス3が図1に示したバス2_1の場合は、図6に示す次段からの残り許容待ち時間情報81は図1に示すバス2_2からの残り許容待ち時間情報7_1に対応し、図6に示す前段への残り許容待ち時間情報82は図1に示すバスマスタ1_1に出力される残り許容待ち時間情報6_1に対応し、図6に示す前段への残り許容待ち時間情報83は図1に示すバスマスタ1_2に出力される残り許容待ち時間情報6_2に対応している。
【0102】
次に、本実施の形態にかかるバスシステムの動作について図7に示すフローチャートを用いて説明する。なお、本実施の形態にかかるバスシステムの動作は、T15までは実施の形態2にかかるバスシステムの動作(図4参照)と同様であるので重複した説明は省略する。
【0103】
T16において、次段から残り許容待ち時間情報81が出力される。例えば、バス3が図1のバス2_3である場合、T16において、バススレーブ5は受け取ったアクセス要求7_3から許容待ち時間情報を抽出し、当該許容待ち時間情報を残り許容待ち時間情報81として、バス2_3の残り許容待ち時間返却部80に出力する。
【0104】
T17において、残り許容待ち時間返却部80は、次段へのアクセス要求29から送信元のバスマスタを特定し、特定したバスマスタに対して残り許容待ち時間情報を返す。例えば、バス3が図1のバス2_3である場合、T17において、残り許容待ち時間返却部80は、次段へのアクセス要求29から送信元バスマスタ(例えば、バスマスタ1_1とする)を特定し、特定したバスマスタ1_1に対して残り許容待ち時間情報を返すために、バス2_2に残り許容待ち時間情報82を出力する。
【0105】
その後、バス2_2が備える残り許容待ち時間返却部80は、次段へのアクセス要求29から送信元のバスマスタ1_1を特定し、特定したバスマスタ1_1に対して残り許容待ち時間情報を返すために、バス2_1に残り許容待ち時間情報82を出力する。更に、バス2_1が備える残り許容待ち時間返却部80は、次段へのアクセス要求29から送信元のバスマスタ1_1を特定し、特定したバスマスタ1_1に対して残り許容待ち時間情報82を返す。
【0106】
このような動作により、各バス2_1〜2_3が備える残り許容待ち時間返却部80は、バススレーブ5が受け取った許容待ち時間情報を残り許容待ち時間情報として、送信元のバスマスタ1_1〜1_4に返すことができる。なお、バススレーブ5からバスマスタ1_1に残り許容待ち時間情報が返されるまでの間、バスマスタ1_1はバス2_1〜2_3を占有しているため、他のバスマスタは1_2〜1_4はバス2_1〜2_3を使用することができない。
【0107】
残り許容待ち時間情報を受け取ったバスマスタ1_1〜1_4は、当該残り待ち時間情報を用いてバスの使用効率を向上させることができる。例えば、返却された残り待ち時間が0未満の場合、バスマスタ1_1〜1_4は、次回のアクセス要求発行時から、アクセス要求に付加する許容待ち時間を減らして、更に優先的にバスの使用権を得られるようにすることができる。反対に、返却された残り待ち時間が十分に残っている場合には、次回のアクセス要求発行時から許容待ち時間を大きく設定することで、他のバスマスタに優先的にバス使用権を与えられるようにすることができる。
【0108】
以上で説明したように、本実施の形態にかかるバスシステムでは、バススレーブ5が受け取った許容待ち時間情報を残り許容待ち時間情報として、送信元のバスマスタ1_1〜1_4に返すことで、バスの使用効率を更に向上させることができる。
【0109】
なお、実施の形態1で説明した図2にかかるバスが残り許容待ち時間返却部80を備えている構成でも本実施の形態にかかるバスシステムと同様の効果を奏することができる。
【0110】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【0111】
1_1、1_2、1_3、1_4 バスマスタ
2、3、2_1、2_2、2_3 バス
5 バススレーブ
8、9 調停部
12、13 アクセス要求分離部
14 リクエスト制御部
15 アクセス要求結合部
16、17 前段からのアクセス要求
21、23 アクセス要求信号
22、24 許容待ち時間情報
25 アクセス要求受付情報
26 選択されたアクセス要求信号
27、28 更新された許容待ち時間情報
29 次段へのアクセス要求
45、48 許容待ち時間演算部
46、49 最優先判定部
50 カウンタ
51 アクセス要求信号選択部
67 カウント値
68、69 閾値
70、71 最優先信号
80 残り許容待ち時間返却部
81 次段からの残り許容待ち時間情報
82、83 前段への残り許容待ち時間情報

【特許請求の範囲】
【請求項1】
複数のバスマスタから少なくとも一つのバススレーブへの、複数のバスを経由したアクセスを制御するバスシステムであって、
前記バスは各々、前段から入力される複数のアクセス要求を調停し、当該調停により選択されたアクセス要求を次段へ出力する調停部を備え、
前記調停部は、前記アクセス要求が前記バスで待機した時間を差し引くことで前記次段へ出力されるアクセス要求に含まれる許容待ち時間情報を更新する、
バスシステム。
【請求項2】
前記調停部は、前記入力される各々のアクセス要求に対応して設けられたアクセス要求分離部をそれぞれ備え、
前記アクセス要求分離部は、前記入力されたアクセス要求に含まれるアクセス要求信号と前記許容待ち時間情報とを分離する、
請求項1に記載のバスシステム。
【請求項3】
前記調停部はリクエスト制御部を更に備え、
前記リクエスト制御部は、
前記アクセス要求分離部で分離された前記アクセス要求信号および前記許容待ち時間情報を入力し、
前記アクセス要求信号を調停し、当該調停により選択されたアクセス要求信号を出力すると共に、
前記アクセス要求信号が前記バスで待機した時間を差し引くことで前記選択されたアクセス要求信号の許容待ち時間情報を更新する、
請求項2に記載のバスシステム。
【請求項4】
前記調停部は、
前記リクエスト制御部から出力された、前記選択されたアクセス要求信号および前記更新された許容待ち時間情報を結合するアクセス要求結合部を更に備え、
前記アクセス要求結合部は、前記選択されたアクセス要求信号および前記更新された許容待ち時間情報を結合したアクセス要求を前記次段へ出力されるアクセス要求として出力する、
請求項3に記載のバスシステム。
【請求項5】
前記調停部は、
前記入力されたアクセス要求に含まれる前記許容待ち時間情報に基づいて当該入力されたアクセス要求を最優先に出力するか否かを判定する最優先判定部と、
前記最優先判定部の判定結果に基づき前記次段へ出力されるアクセス要求を選択するアクセス要求信号選択部と、
を更に備える請求項1乃至4のいずれか一項に記載のバスシステム。
【請求項6】
前記最優先判定部は、クロック信号に応じて生成されたカウント値が前記許容待ち時間情報に基づいて決定された閾値を超えた場合に前記入力されたアクセス要求を最優先に出力すると判定する、
請求項5に記載のバスシステム。
【請求項7】
前記調停部は、前記アクセス要求の入力時の許容待ち時間から、前記アクセス要求が前記バスで待機した時間を差し引くことで前記アクセス要求の許容待ち時間情報を更新する許容待ち時間演算部を更に備える、請求項1乃至6のいずれか一項に記載のバスシステム。
【請求項8】
前記調停部は、前記バススレーブが受け取った前記許容待ち時間情報を残り許容待ち時間情報として送信元のバスマスタに返す残り許容待ち時間返却部を更に備える、請求項1乃至7のいずれか一項に記載のバスシステム。
【請求項9】
前記バスマスタは前記残り許容待ち時間情報を用いて前記許容待ち時間を設定する、請求項8に記載のバスシステム。
【請求項10】
複数のバスマスタから少なくとも一つのバススレーブへの、複数のバスを経由したアクセスを制御するアクセス制御方法であって、
前記バスは各々、前段から入力される複数のアクセス要求を調停し、当該調停により選択されたアクセス要求を次段へ出力し、
前記次段へ出力されるアクセス要求が前記バスで待機した時間を差し引くことで前記次段へ出力されるアクセス要求に含まれる許容待ち時間情報を更新する、
アクセス制御方法。
【請求項11】
前記バスに入力された各々のアクセス要求に含まれるアクセス要求信号と前記許容待ち時間情報とを分離する、
請求項10に記載のアクセス制御方法。
【請求項12】
前記分離されたアクセス要求信号を調停し、当該調停により選択されたアクセス要求信号を出力すると共に、
前記選択されたアクセス要求信号が前記バスで待機した時間を差し引くことで前記選択されたアクセス要求信号の許容待ち時間情報を更新する、
請求項11に記載のアクセス制御方法。
【請求項13】
前記選択されたアクセス要求信号および前記更新された許容待ち時間情報を結合し、当該結合後のアクセス要求を前記次段へ出力されるアクセス要求として出力する、請求項12に記載のアクセス制御方法。
【請求項14】
前記バスに入力されたアクセス要求に含まれる前記許容待ち時間情報に基づいて当該入力されたアクセス要求を最優先に出力するか否かを判定し、
前記判定結果に基づき前記次段へ出力されるアクセス要求を選択する、
請求項10乃至13のいずれか一項に記載のアクセス制御方法。
【請求項15】
前記許容待ち時間情報に基づいて閾値を決定し、
クロック信号に応じて生成されたカウント値と前記閾値とを比較し、
前記カウント値が前記閾値を超えた場合に前記入力されたアクセス要求を最優先に出力すると判定する、
請求項14に記載のアクセス制御方法。
【請求項16】
前記アクセス要求の入力時の許容待ち時間から、前記アクセス要求が前記バスで待機した時間を差し引くことで前記アクセス要求の許容待ち時間情報を更新する、請求項10乃至15のいずれか一項に記載のアクセス制御方法。
【請求項17】
前記バススレーブが受け取った前記許容待ち時間情報を残り許容待ち時間情報として送信元のバスマスタに返す、請求項10乃至16のいずれか一項に記載のアクセス制御方法。
【請求項18】
前記バスマスタは前記残り許容待ち時間情報を用いて前記許容待ち時間を設定する、請求項17に記載のアクセス制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate