説明

バス調停回路及びバス調停方法

【課題】スレーブデバイスを追加する際に、マスタデバイス・スレーブデバイス間のデータ転送を調停する調停回路を少ない変更とすることができるバス調停回路を提供すること。
【解決手段】 バス調停回路30は、複数のマスタデバイス10と、これらにバスを介して接続されるスレーブデバイス20との間のデータ転送の調停をするものであって、複数のマスタデバイス10からデータ転送リクエストを受け取り、当該リクエストを出力したマスタデバイスの識別情報を要求順又は優先順に出力するID生成回路31と、ID生成部から受け取ったマスタデバイス識別情報に基づき、リクエストを処理させるリクエスト処理部32とを有する。調停回路30のうち少なくともリクエスト処理部32は、スレーブデバイス20毎に設けられている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のマスタデバイスからのスレーブデバイスへ対するデータ転送リクエストを調停するバス調停回路及びバス調停方法に関する。
【背景技術】
【0002】
図3は、従前のバス調停回路を示す図である。図3に示すように、従前は、複数のマスタデバイス110とバスモジュール130を介してスレーブデバイス120が接続されているシステムにおいて、異なるマスタデバイス130から同一のスレーブデバイスへデータ転送を行う際、バスモジュール130の調停回路131は、先にアクセスを開始したマスタデバイスの転送が終了してから、次の転送のリクエストを受け付けるようにアービトレーション(Arbitration:調停)していた。
【0003】
これは以下の理由による。すなわち、一つのスレーブデバイスが、複数のマスタデバイスから連続してリクエストを受け付けてしまうと、ライトデータフェーズ、又はリードデータフェーズにおいて、複数のマスタデバイスが転送可能になってしまう。すると、データ転送の順序関係が保証されないため、後にリクエストを出力したマスタデバイスが先に転送を実行したり、同時に転送を実行した場合、正しく転送を実行することができなくなってしまう。
【0004】
このため、調停回路131を設け、異なるマスタデバイスが一つのスレーブデバイスに対して連続してアクセスする際は、最初のデータ転送を終了してから、次のリクエストを受け付けるよう、前記バス調停回路にて調停されていた。しかしながら、この方法では、スレーブデバイスコンフリクト時に、スレーブデバイスがリクエストを受け付けられない期間が生じるため、マスタデバイス・スレーブデバイス間の転送速度が落ちてしまうという欠点があった。
【0005】
すなわち、同一のスレーブデバイスへのアクセスが生じると、先のマスタデバイスのデータ転送が終了するのを待ってから、次のマスタデバイスのリクエストを受け付けるように調停するため、レイテンシ(待ち時間)が多くなってしまい、実質的にデータ転送の高速化を図ることができないという問題点があった。
【0006】
このような問題に対し、特許文献1には、一連のデータ転送終了を待たずにデータ転送の起動を行なえるようにすることで、実質的にデータ転送の高速化を図ったバス調停方法が開示されている。図4は、特許文献1に記載のバス調停方法を説明する図である。
【0007】
図4に示すように、複数のマスタデバイス220は、それぞれ複数のスレーブデバイス230とバスを介して接続され、データの転送要求が生じると該当するスレーブデバイス230にデータ転送の要求を行う。マスタデバイス220はまた、データ転送の要求が生じると、データ転送を行うデバイス情報を示す識別信号(1)を識別信号制御回路210に送る。
【0008】
識別信号制御回路210は、バスを介してマスタデバイス220及びスレーブデバイス230に接続され、これらデバイス間で行うデータ転送のタイミングを指示する制御回路である。この識別信号制御回路210は、マスタデバイス220よりスレーブデバイス230に行われたデータ転送の要求(バスサイクル)を識別信号(1)にて記憶し、同バスサイクルに対するデータ転送タイミングを識別信号(2)にて通知する。
【0009】
スレーブデバイス230は、マスタデバイス220よりデータ転送の要求を受けると、要求されたデータの転送をバスを介して所定のタイミングにて行う。このスレーブデバイス230は、識別信号制御回路210より送られた識別信号(2)により、各デバイスが起動されたバスサイクルに対するデータ転送のタイミングを判断する。識別信号制御回路210、マスタデバイス220及びスレーブデバイス230間でやり取りされる情報は、識別信号(1)、識別信号(2)、アドレス/転送方向信号243、アドレスストローブ信号244、アドレス応答信号245、データ信号246、データ応答信号247であり、これらはバスを介して伝送される。
【0010】
識別信号(1)は、マスタデバイス220がスレーブデバイス230に対し転送要求を行う際に識別信号制御回路210に送出される信号であり、転送要求を行ったマスタデバイス220、要求先のスレーブデバイス230の情報などが含まれている。
【0011】
識別信号(2)は識別信号制御回路210がスレーブデバイス230に対しデータ転送を行うタイミングを示す信号であり、各スレーブデバイス230はこの信号が自スレーブデバイス230を示しているときにデータの転送を行う。この識別信号(2)に同期してマスタデバイス220とスレーブデバイス230はデータ転送を行う。
【0012】
アドレス信号/転送方向信号243は、マスタデバイス220よりスレーブデバイス230に送信される信号であり、アドレス信号により信号送信先のスレーブデバイス20が指定され、転送方向信号により、マスタデバイス220がスレーブデバイス230に対し、書き込み動作を行うのかまたは読み出し動作を行うのかを指示する。
【0013】
アドレスストローブ信号244は、信号の有効/無効を示す信号である。この信号244は、マスタデバイス220より送られるアドレス信号/転送方向信号243および識別信号(1)を、スレーブデバイス230が記憶するタイミングを示す。
【0014】
アドレス応答信号245は、スレーブデバイス230から識別信号制御回路210及びマスタデバイス220に送られる信号であり、識別信号(1)及びアドレス信号/転送方向信号243の取り込みが終了したときに送出される。
【0015】
データ信号246は、マスタデバイス220とスレーブデバイス230間でやり取りされる情報である。データ応答信号247は、スレーブデバイス230からマスタデバイス220及び識別信号制御回路210に送信される信号である。スレーブデバイス230は、書き込み動作または読み出し動作のために十分な時間が経過するとこの信号を送出する。読み出し動作の場合、マスタデバイス220はデータ応答信号247が送出された時点でデータ信号246の取り込みを行う。
【0016】
このように、特許文献1に記載の技術においては、各マスタデバイスからのリクエスト信号から、データ転送するマスタデバイス・スレーブデバイスの識別信号を付加し、その識別信号によりデータ転送を行う。
【特許文献1】特開平5−143533号公報
【発明の開示】
【発明が解決しようとする課題】
【0017】
しかしながら、上述の特許文献1においては、複数のマスタデバイスとスレーブデバイスとのデータ転送の調停を1つの識別信号制御回路210が行なうため、1つのリクエストを処理するため、マスタデバイス及びスレーブデバイスの両方を識別する識別信号を生成する必要があり、マスタデバイス・スレーブデバイスの数が多い場合には多数のリクエストを調停しなければならない等、その処理が複雑である。また、新たにスレーブデバイスを接続する場合には、識別信号制御回路210を取り替える必要があり、スレーブデバイスを追加する際の処理が煩雑であるという問題点がある。
【課題を解決するための手段】
【0018】
本発明にかかるバス調停回路は、複数のマスタデバイスからのスレーブデバイスへ対するデータ転送リクエストを調停するバス調停回路であって、前記複数のマスタデバイスから受け取ったデータ転送リクエストの調停をし、リクエストを要求したマスタデバイスの識別情報を生成して出力する識別情報生成部と、前記識別情報生成部から受け取ったマスタデバイス識別情報に基づき、リクエストを処理させるリクエスト処理部とを有し、少なくともリクエスト処理部は、前記スレーブデバイス毎に設けられるものである。
【0019】
本発明においては、調停回路のうち、少なくともリクエスト処理部はスレーブデバイス毎に設けられるため、ID生成部のみを更新すれば簡単にスレーブデバイスを追加することができる。
【0020】
本発明にかかるバス調停方法は、複数のマスタデバイスからのスレーブデバイスへ対するデータ転送リクエストを調停するバス調停方法であって、前記複数のマスタデバイスからのデータ転送リクエストを受け取ると、そのデータ転送リクエストを要求したマスタデバイスを識別するマスタデバイス識別情報を生成し、前記データ転送リクエストが前記スレーブデバイスに対するリード要求かライト要求かを判別し、前記マスタデバイス識別情報を、リード要求である場合には前記スレーブデバイス毎に設けられたリード用リクエスト処理部に出力し、ライト要求である場合には前記スレーブデバイス毎に設けられたライト用リクエスト処理部に出力し、前記リード要求とライト要求のデータ転送リクエストを並列して処理するものである。
【0021】
本発明においては、スレーブデバイス毎にリード用リクエスト処理部及びライト用リクエスト処理部が設けられているため、スレーブデバイスの追加が容易であると共に、マスタデバイスからのリード要求とライト要求とを並列処理することができるため、リクエストの処理を高速化することができる。
【発明の効果】
【0022】
本発明によれば、スレーブデバイスを増設する場合であっても、マスタデバイス・スレーブデバイス間のデータ転送を調停する調停回路を少ない変更とすることができるバス調停回路及びバス調停方法を提供する。
【発明を実施するための最良の形態】
【0023】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、データ転送の終了を待たずに、次のデータ転送リクエストを受け付けることができるバス制御回路に適用したものである。
【0024】
図1は、本実施の形態にかかるバス調停回路を示すブロック図である。図1に示すように、バス制御システム1は、例えばシステムLSI(Large Scale Integration)内部に設けられる。本実施の形態にかかる調停回路30は、複数のマスタデバイス10と、複数のスレーブデバイス20とを接続し、バス制御システム1を構成する。この調停回路30は、マスタデバイス10とスレーブデバイス20との間のバスにおけるデータ転送リクエストの調停を行なう。
【0025】
ここで、マスタデバイス10は、例えばCPU(Central Processing Unit)、DSP(Digital Signal Processor)、DMA(Direct Memory Access controller)コントローラなどである。スレーブデバイス20は、メモリなどである。
【0026】
調停回路30は、リクエスト調停・ID生成回路31と、リクエスト処理部32とを有する。ここで、本実施の形態においては、リクエスト処理部32は、各スレーブデバイス20毎に設けられるものとして、リクエスト調停・ID生成回路31は、各スレーブデバイス20に共通に設けられるものとして説明する。なお、リクエスト調停・ID生成回路31も、リクエスト処理部32と同様、スレーブデバイス20毎に設ける、すなわち、調停回路30をスレーブデバイス毎に設けることも可能である。少なくともリクエスト処理部32をスレーブデバイス20毎に設けることで、各リクエスト処理部32の処理を軽くすると共に、新たなスレーブデバイス20を追加する際に、追加前のスレーブデバイス20に対応して設けられるリクエスト処理部32をそのまま使用することができ、リクエスト調停・ID生成回路31のみの変更でよいため、スレーブデバイス20の追加が簡単化する。
【0027】
リクエスト調停・ID生成回路31は、リクエストフェーズの調停と、スレーブデバイス毎にアクセス許可されたマスタデバイスのIDを出力する。具体的には、複数のマスタデバイス10からデータ転送リクエストを受け取ると、どのスレーブデバイス20へのリクエストかを判別する。また、リクエストが、ライト要求であるかリード要求であるかを判別する。これらの判別結果に基づき、データ転送リクエストをスレーブデバイス20毎、リード要求、ライト要求毎に振り分ける。そして、リクエストを発行したマスタデバイス10を識別するためのマスタデバイス識別情報(マスタデバイスID)を生成し、これを要求先の各スレーブデバイス20のリクエスト処理部32へ出力する。ここで、リクエスト調停・ID生成回路31は、マスタデバイスIDと共に、データ転送リクエストのデータ転送の繰り返し回数(バースト長)も出力する。
【0028】
ここで、リクエスト調停・ID生成回路32は、一のスレーブデバイス20に対する複数のデータ転送リクエストを受け取った場合には、マスタデバイスIDをマスタデバイスのリクエスト発行順に出力することができる。また、一のスレーブデバイス20に対する複数のデータ転送リクエストを同時に受け取った場合には、例えば予め定められたマスタデバイス10の優先順位が高い順に上記マスタデバイスIDを出力することができる。又は、同時に受け取った場合には、優先順位が最も高いマスタデバイス10からのリクエストのみを受け付け、そのマスタデバイスIDを出力することも可能である。こうしてリクエストを、要求順又は優先順等としてそのマスタデバイスID及び繰り返し回数をリクエスト処理部32へ出力する。この場合、リクエストがライト要求であるかリード要求であるかにより、各スレーブデバイス20のリクエスト処理部32の後述するライト用ID保持回路41又はリード用ID保持回路51のいずれかに出力する。リクエストをライト要求とリード要求とで区別することで、リート用バス、ライト用バスを有効利用することができると共にリクエストの処理を高速化することができる。
【0029】
こうしてリクエスト調停ID生成回路31により、マスタデバイス10からのリクエストが対象のスレーブデバイス20のリクエスト処理部32へ振り分けられる。リクエスト処理部32は、リクエスト調停・ID生成回路31から受け取ったマスタデバイスID及び繰り返し回数に基づき、リクエストを処理させる回路である。このリクエスト処理部32は、マスタデバイス10からスレーブデバイス20に対してライト要求を処理するライト用リクエスト処理部と、リード要求を処理するリード用リクエスト処理部とからなる。
【0030】
ライト用リクエスト処理部は、ライト用ID保持回路41と、ライトフェーズ信号調停回路42と、ライト用転送カウンタ43とを有する。リード用リクエスト処理部も同様に構成され、リード用ID保持回路51と、リードフェーズ信号調停回路52と、リード用転送カウンタ53とを有する。リクエスト調停ID生成回路31からスレーブデバイス20毎に割り振られたマスタデバイスID及び繰り返し回数は、リクエストがリード要求かライト要求かでライト用ID保持回路41又はリード用ID保持回路51に割り振られる。
【0031】
ライト用ID保持回路41は、マスタデバイスID及びカウント回数をリクエスト毎に保持するリクエスト保持部として機能する。また、保持しているリクエスト順で、そのマスタデバイスIDに基づきライトフェーズ信号調停回路42を制御する。ライトフェーズ信号調停回路42は、ライト用ID保持回路41からのマスタデバイスIDに基づきスレーブデバイス20と複数のマスタデバイス10のうち、マスタデバイスIDが示す特定のマスタデバイスとを接続させる選択部として機能する。
【0032】
ライト用転送カウンタ43は、スレーブデバイス20とライトフェーズ信号調停回路42との間に接続され、スレーブデバイス20がリクエストを処理して出力する終了信号(ACK)に基づきライト用ID保持回路41にリクエストの終了通知する転送監視部として機能する。
【0033】
次に、リクエスト処理部32の各回路について更に詳細に説明する。上述したように、リクエスト処理部32は、スレーブデバイス毎に設けられる。そして、リクエスト調停ID生成回路31からスレーブデバイス毎に割り振られたリクエストは、当該リクエストがリード要求であるかライト要求であるかでライト用ID保持回路41又はリード用ID保持回路51に割り振られる。
【0034】
ライト用ID保持回路41は、リクエスト調停ID生成回路31から割り振られたデータ転送リクエストのうちライト要求を保持する。この際、ライトリクエストを発行したマスタデバイスを識別するマスタデバイスIDと、ライトデータの転送回数とをリクエスト毎に保持する。そして、保持した順で、マスタデバイスIDをライトフェーズ信号調停回路42に出力する。一のリクエストの処理が終了すると次のリクエストのマスタデバイスIDを出力する。
【0035】
同様に、リード用ID保持回路51は、リクエスト調停ID生成回路31から割り振られたデータ転送リクエストのうちライト要求をリクエスト毎に保持する。そして、保持した順で、マスタデバイスIDをリードフェーズ信号調停回路52に出力する。
【0036】
ライトフェーズ信号調停回路42は、マスタデバイスIDを受け取ると、このマスタデバイスIDをデコードし現在のリクエスト元であるマスタデバイス10とスレーブデバイス20とを接続させる。リードフェーズ信号調停回路52も同様に、マスタデバイスIDに基づき現在のリクエスト元のマスタデバイス10とスレーブデバイス20とを接続させる。
【0037】
ライト用転送カウンタ43は、ライトデータが転送終了した際の転送終了通知を受け取るとこれをライト用ID保持回路41へ通知する。ライト用ID保持回路41は、この通知により現在のリクエストをクリアし、次のリクエストの処理に移る。また、同一のデータを繰り返しライトするリクエストの場合には、データ転送毎に転送完了通知を受け取り、これを終了回数までカウントアップすることでリクエストの終了をライト用ID保持回路41へ通知する。リード用転送カウンタ53も同様に機能する。
【0038】
なお、スレーブデバイス20が繰り返し転送を行なう場合に、1回の転送を終了する毎ではなく、全てのデータ転送が終了した場合にのみ転送完了通知を出力するものであるときは、ライト用転送カウンタ43、リード用転送カウンタ53はこれを検知しそれぞれライト用ID保持回路41、リード用ID保持回路51に通知すればよい。また、これらライト用転送カウンタ43、リード用転送カウンタ53は、それぞれライト用ID保持回路41、リード用ID保持回路51内に設けてもよい。更に、これらライト用転送カウンタ43、リード用転送カウンタ53を設けず、ライト用ID保持回路41、リード用ID保持回路51はデータ転送終了通知をスレーブデバイス20から直接受け取るようにしてもよい。
【0039】
次に、本実施の形態にかかるバス調停回路の動作について説明する。本実施の形態においては、2つのマスタデバイス10(以下、マスタデバイスM0、M1という。)がスレーブデバイス20に対して連続してライト転送リクエスト(ライト要求)、リード転送リクエスト(リード要求)する場合について説明する。図2は、バス調停回路1の動作を説明するタイミングチャートである。
【0040】
先ず、マスタデバイスM0がスレーブデバイス20に対してライト要求をする。ライト要求は、リクエスト調停ID生成回路31を介して、又は直接スレーブデバイス20に転送される。ライト要求には、ライトデータのアドレス等が含まれる。これを受け取ったスレーブデバイス20は、リクエスト受付(ack0)をリクエスト調停・ID生成回路31へ出力する。マスタデバイスM1が同じくスレーブデバイス20に対してリード要求をするとこのリード要求もリクエスト調停ID生成回路31を介して、又は直接スレーブデバイス20に転送される。リード要求には、リードデータのアドレス等が含まれる。そして、これを受け取ったスレーブデバイスからリクエスト受け付け(ack1)がリクエスト調停・ID生成回路31へ出力される。
【0041】
本例においては、これらのリクエストは、同一のスレーブデバイス20に対するものであるが、リード要求、ライト要求であって、それぞれ別々のバス(リードバス、ライトバス)にて処理されるものであって、また順次発行されていることから、リクエスト調停・ID生成回路31がこれらのリクエストを処理可能としてスレーブデバイス20からの上記リクエスト受付(ack0、ack1)をマスタデバイス10へ渡す。以上のようにして、マスタデバイスM0、M1からのリクエストが受け付け完了となる。
【0042】
ここで、リクエスト調停ID生成回路31は、複数のマスタデバイス10から同時に同一のスレーブデバイス10に対し、例えばライト要求(同種のリクエスト)が発行された場合には、上述したように、例えば、スレーブデバイス20から渡されるリクエスト受付のうち、優先順位が高いマスタデバイス10からのものに対するリクエストのリクエスト受付のみをマスタデバイス10へ返すことでリクエストの調停を行なう。
【0043】
リクエスト調停ID生成回路31は、受け付けを完了したリクエストを順次処理する。本例では、先ず、マスタデバイスM0のライト要求から、マスタデバイスM0を示すマスタデバイスID、ライトデータの繰り返し回数をライト用ID保持回路41へ出力する。ライト用ID保持回路41は、受け取ったマスタデバイスIDをライトフェーズ信号調停回路42へ出力する(図2に示すM0 ライトID)。ライトフェーズ信号調停回路42は、このマスタデバイスIDに基づき、マスタデバイスM0からの信号がスレーブデバイス20に転送されるよう両者を接続する。マスタデバイスM0とスレーブデバイス20とは、このマスタデバイスIDが出力されている間、接続される。
【0044】
また、リクエスト調停ID生成回路31は、マスタデバイスM1のリード要求から、マスタデバイスM1を示すマスタデバイスID、繰り返し回数をリード用ID保持回路51へ出力する。リード用ID保持回路51は、受け取ったマスタデバイスIDをリードフェーズ信号調停回路52へ出力する(図2に示すM1 リードID)。リードフェーズ信号調停回路52は、このマスタデバイスIDに基づき、マスタデバイスM1からの信号がスレーブデバイス20に転送されるよう両者を接続する。マスタデバイスM1とスレーブデバイス20とは、このマスタデバイスIDが出力されている間、接続される。ここで、マスタデバイスM1からのリクエストはリード要求であるので、上記のマスタデバイスM0からのライト要求と並行して処理することができる。
【0045】
マスタデバイスM0とスレーブデバイス20とが接続されると、マスタデバイスM0がスレーブデバイス20へライトデータ及びライトデータが有効であることを示す信号(data valid)を出力する。この際、ライト用転送カウンタ43は、スレーブデバイス20のライトデータフェーズのデータ転送終了信号の回数をカウントし、ライト用ID保持回路41に保持されている繰り返し回数分の転送終了信号を受け取ったら、これをライト用ID保持回路41へ通知する。又は、スレーブデバイス20からデータ転送が終了した際に出力するデータ転送終了信号を受け取り、これをライト用ID保持回路41へ通知する。
【0046】
ライト用ID保持回路41は、この通知により保持しているリクエスト(マスタデバイスID、繰り返し回数)をクリアし、マスタデバイスIDの出力を終了する。これにより、ライトフェーズ信号調停回路42によるマスタデバイスM0とスレーブデバイス20との接続を終了させ、コマンド処理を終了する。なお、スレーブデバイス20がデータ転送終了信号を出力しない場合には、ライト用転送カウンタ43を設けず、ライト用マスタID保持回路41がマスタデバイスID出力後、データ転送に必要十分な時間が経過するのを待って処理を終了するようにしてもよい。
【0047】
一方、マスタデバイスM1とスレーブデバイス20とが接続されると、スレーブデバイス20は、転送するリードデータが有効であること示す応答信号及び読み出したリードデータをマスタデバイスM1へ転送する。
【0048】
リード用転送カウンタ53は、スレーブデバイス20のリードデータフェーズのデータ転送終了信号の回数をカウントし、リードID・バースト長保持回路51に保持されている繰り返し回数分のデータ転送が終了したら、これをリード用ID保持回路51へ通知する。又は、スレーブデバイス20からデータ転送が終了した際に出力するデータ転送終了信号を受け取り、これをリード用ID保持回路51へ通知する。
【0049】
リード用ID保持回路51は、この通知により保持しているリクエスト(マスタデバイスID、繰り返し回数)をクリアし、マスタデバイスIDの出力を終了する。これにより、リードフェーズ信号調停回路52によるマスタデバイスM1とスレーブデバイス20との接続を終了させ、コマンド処理を終了する。なお、ライトの場合と同様、リード用マスタID保持回路51がマスタデバイスID出力後、データ転送に必要十分な時間が経過するのを待って処理を終了するようにしてもよい。
【0050】
本実施の形態においては、スレーブデバイス20毎に、マスタデバイス10からのリクエストを処理するリクエスト処理部32を設けることで、スレーブデバイス20の新たな追加を容易とする。また、スレーブデバイス20毎に、リクエスト処理部32によりデータ転送を行なうマスタデバイスIDとその順序を記憶することで、複数のリクエストを受け取ることができると共にリクエスト処理部32がリードとライトのリクエストを別々に処理することができ、このことにより、従来に比べてレイテンシを少なくして、データ転送を高速化することができる。
【0051】
すなわち、リクエスト処理部32をスレーブデバイス20毎に設けることで、新たなスレーブデバイスを追加する場合には、調停回路30の全体ではなく、リクエスト調停ID生成回路31のみを変更すればよく、簡単にスレーブデバイスを追加することができる。
【0052】
また、異なる複数のマスタデバイス10から同一のスレーブデバイス20に対してリクエストを発行された場合に、リクエスト調停ID生成回路31がこれをスレーブデバイス20毎に、リクエストを発行したマスタデバイスIDとして振り分ける。この際、スレーブデバイス毎に設けられるリクエスト処理部32は、ライト用ID保持回路41及びリード用ID保持回路51により、リードのリクエストとライトのリクエストとを別々にマスタデバイスIDとして順次振り分ける。
【0053】
このことにより、複数のマスタデバイス10が同時に同一のスレーブデバイス20に対してリクエストを要求した場合においても、最初のデータ転送の終了を待たずに次のリクエストを発行することができる。また、リードとライトのリクエストを別々に処理するため、ライトリクエスト、リードリクエストの同時実行が可能となり、リクエストの処理を高速化することができる。
【0054】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、本実施の形態においては、リクエスト調停ID生成回路31は、各スレーブデバイスに共通に設けることとしたが、リクエスト処理部32と同様、各スレーブデバイス毎に設けることも可能である。この場合、リクエスト調停ID生成回路は、マスタデバイスから受け取ったリクエストが、自己のスレーブデバイス宛であるか否かを判断すればよい。このことにより、スレーブデバイス20の追加が更に簡単化する。
【0055】
更に、上述の実施の形態においては、ライト用ID保持回路41、リード用ID保持回路51は、マスタデバイスID及び転送データのバースト長を保持するものとして説明したが、マスタデバイスIDのみを保持するようにすることも可能である。一のリクエストによるデータ転送が終了したか否かは、データ転送終了時にスレーブデバイスが出力する転送終了通知により判断することができ、この通知に基づき、ライトフェーズ信号調停回路42、リードフェーズ信号調停回路52を制御すればよい。
【図面の簡単な説明】
【0056】
【図1】本発明の実施の形態にかかるバス調停回路を示すブロック図である。
【図2】本発明の実施の形態にかかるバス調停方法を説明するタイミングチャートである。
【図3】従前のバス調停回路を示す図である。
【図4】特許文献1に記載のバス調停方法を説明する図である。
【符号の説明】
【0057】
10 マスタデバイス
20 スレーブデバイス
30 調停回路
31 ID生成回路
32 リクエスト処理部
41 ライト用バースト長保持回路
42 ライトフェーズ信号調停回路
43 ライト用転送カウンタ
51 リード用バースト長保持回路
52 リードフェーズ信号調停回路
53 リード用転送カウンタ

【特許請求の範囲】
【請求項1】
複数のマスタデバイスからのスレーブデバイスへ対するデータ転送リクエストを調停するバス調停回路であって、
前記複数のマスタデバイスから受け取ったデータ転送リクエストの調停をし、リクエストを要求したマスタデバイスの識別情報を生成して出力する識別情報生成部と、
前記識別情報生成部から受け取ったマスタデバイス識別情報に基づき、リクエストを処理させるリクエスト処理部とを有し、
少なくともリクエスト処理部は、前記スレーブデバイス毎に設けられるバス調停回路。
【請求項2】
前記リクエスト処理部は、
前記マスタデバイス識別情報を保持するリクエスト保持部と、
前記スレーブデバイスと前記複数のマスタデバイスのいずれか一とを接続させる選択部とを有し、
前記リクエスト保持部は、前記マスタデバイス識別情報に基づき前記選択部の接続を制御する
ことを特徴とする請求項1記載のバス調停回路。
【請求項3】
前記識別情報生成部は、前記スレーブデバイス毎に設けられるものであって、
前記複数のマスタデバイスから受け取ったデータ転送リクエストのうち自己のスレーブデバイスに対するリクエストのみを抽出し、抽出したリクエストを要求したマスタデバイスの識別情報を出力する
ことを特徴とする請求項1又は2記載のバス調停回路。
【請求項4】
前記リクエスト処理部は、ライト用リクエスト処理部及びリード用リクエスト処理部とからなり、
前記ライト用リクエスト処理部及びリード用リクエスト処理部は、それぞれ前記リクエスト保持部及び前記選択部を有する
ことを特徴とする請求項1乃至3のいずれか1項記載のバス調停回路。
【請求項5】
前記識別情報生成部は、一のマスタデバイスに対して2以上の前記データ転送リクエストを受け取った場合は、受け取った順で前記一のマスタデバイスへ前記識別情報を出力する
ことを特徴とする請求項1乃至4のいずれか1項記載のバス調停回路。
【請求項6】
前記識別情報生成部は、一のマスタデバイスに対して2以上の前記データ転送リクエストを受け取った場合は、当該データ転送リクエストを発行したマスタデバイスの優先順位が高い順で前記一のマスタデバイスへ前記識別情報を出力する
ことを特徴とする請求項1乃至4のいずれか1項記載のバス調停回路。
【請求項7】
前記識別情報生成部は、一のマスタデバイスに対して2以上の前記データ転送リクエストを受け取った場合は、当該データ転送リクエストを発行したマスタデバイスのうち最も優先順位が高いマスタデバイスの前記識別情報を前記一のマスタデバイスへ出力する
ことを特徴とする請求項1乃至4のいずれか1項記載のバス調停回路。
【請求項8】
前記リクエスト処理部は、前記スレーブデバイスと前記複数のマスタデバイスとの間に接続された転送監視部を更に有し、
前記転送監視部は、前記スレーブデバイスとマスタデバイスとの間の転送終了を検知し前記リクエスト保持部に前記リクエストの終了通知する
ことを特徴とする請求項1乃至4のいずれか1項記載のバス調停回路。
【請求項9】
前記識別情報生成部は、前記データ転送リクエストを受け取ると、前記識別情報と共にデータ転送の繰り返し回数を出力し、
前記転送監視部は、前記繰り返し回数に基づきデータ転送回数をカウントし、カウント結果に基づき前記リクエストの終了通知をする
ことを特徴とする請求項8記載のバス調停回路。
【請求項10】
複数のマスタデバイスからのスレーブデバイスへ対するデータ転送リクエストを調停するバス調停方法であって、
前記複数のマスタデバイスからのデータ転送リクエストを受け取ると、そのデータ転送リクエストを要求したマスタデバイスを識別するマスタデバイス識別情報を生成し、
前記データ転送リクエストが前記スレーブデバイスに対するリード要求かライト要求かを判別し、
前記マスタデバイス識別情報を、リード要求である場合には前記スレーブバイス毎に設けられたリード用リクエスト処理部に出力し、ライト要求である場合には前記スレーブデバイス毎に設けられたライト用リクエスト処理部に出力し、
前記リード要求とライト要求のデータ転送リクエストを並列して処理するバス調停方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2007−122410(P2007−122410A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2005−313710(P2005−313710)
【出願日】平成17年10月28日(2005.10.28)
【出願人】(302062931)NECエレクトロニクス株式会社 (8,021)
【Fターム(参考)】