JP4124579B2 - バス制御システム - Google Patents
バス制御システム Download PDFInfo
- Publication number
- JP4124579B2 JP4124579B2 JP2001153343A JP2001153343A JP4124579B2 JP 4124579 B2 JP4124579 B2 JP 4124579B2 JP 2001153343 A JP2001153343 A JP 2001153343A JP 2001153343 A JP2001153343 A JP 2001153343A JP 4124579 B2 JP4124579 B2 JP 4124579B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- clock
- signal
- master device
- transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
【発明の属する技術分野】
本発明は、複数の異なる周波数で動作するバスを有する計算機システムのバス制御に関する。
【0002】
【従来の技術】
プロセッサに高速な動作周波数を必要とするシステムにおいて、プロセッサや記憶装置等を接続する高速プロセッサバスとは別に周辺装置等を接続する比較的低速のバスを用意し、プロセッサバスに接続するデバイス数を低減することで、プロセッサバスの動作周波数の高速化を実現する方法がある。複数のデバイスを接続するバスはクロック同期式のバスが一般的であるが、上記低速バスに接続されるデバイスは、機能面でも最大動作周波数の面でも多様化しており、単一の周波数を持つクロック同期式バスに複数のデバイスを接続するためには、デバイスの動作クロックをバスクロックと同一にするか、デバイス側に同期化回路を設ける方式が取られる。一般には、接続するデバイスを各々の最大周波数で動作させることができるため、同期化回路を設ける方式の方がシステム全体の性能が良いとされる。
【0003】
デバイス側に同期化回路を設けた、バスの階層構造を有するシステムの一構成例を図2に示す。図2において、101は同期式1次バス、102は1次バス101とは異なる周波数で動作する同期式2次バス、103は1次バス101に接続されているプロセッサ、104は1次バス101に接続されている転送要求を出力するマスタデバイス、105は1次バス101に接続されている転送要求を受信するターゲットデバイス、106は1次バス101で発生した転送要求を2次バス102のデバイスに伝えるバスブリッジ、107は各デバイスにクロックを供給するクロック供給部、108は2次バス102に接続され、クロックAで動作するターゲットデバイスA、109は2次バス102に接続され、クロックBで動作するターゲットデバイスB、114は1次バス1が動作するクロックX、201は2次バス102が動作するクロックY、115はターゲットデバイスA108が動作するクロックA、116はターゲットデバイスB109が動作するクロックBである。ここで、クロックX114、クロックY201、クロックA115、クロックB116はそれぞれ独立で周波数の異なるクロックであり、4種類のクロックの中でクロックX114が一番周波数が高いと仮定する。また、111は、1次バス101が動作するクロックX114に同期した信号を2次バス102が動作するクロックY201に、2次バス102が動作するクロックY201に同期した信号を1次バス101が動作するクロックX114にそれぞれ同期化するための同期化回路、202はクロックY201に同期した信号をクロックA115に、クロックA115に同期した信号をクロックY201にそれぞれ同期化する同期化回路、203はクロックY201に同期した信号をクロックB116に、クロックB116に同期した信号をクロックY201にそれぞれ同期化する同期化回路である。ターゲットデバイスA108やターゲットデバイスB109のように、接続するバスの動作クロックと異なるクロックで動作しているデバイスは、同期化回路202,203を備え、それぞれのデバイスの動作クロックで動作する信号をバスクロックY201で同期化して出力、および、入力したバスクロックY201に同期している信号をそれぞれのデバイスの動作クロックで同期化して使用する必要がある。
【0004】
次に、1次バス101上のプロセッサ103から、2次バス102上のターゲットデバイスA108へのデータ転送の流れを、図2を使用して説明する。プロセッサ103で発生した転送要求は、転送先をターゲットデバイスA108に特定して1次バス101上に発行される。転送を受け取ったバスブリッジ106は、2次バス102に転送を伝達するため、1次バス101から入力した信号を同期化回路111で同期化する。同期化回路111を通ることで、信号は2次バス102の動作クロックY201に同期化され、2次バス102上に発行される。2次バス102では、転送先となるターゲットデバイスA108がその転送を受信し、受け取った信号をクロックA115で動作するよう同期化回路111に通して同期化する。
【0005】
図2のようなシステムでは、各ターゲットデバイスが同期化回路を持たなくてはいけないことで論理規模や消費電力が増大する上、各ターゲットデバイスとバスブリッジ両方の同期化回路を通る際に発生するレイテンシにより転送効率の低下が生じる。これらの課題を解決する一手段として、異なる動作周波数を持つデバイスを同一のバスに接続する特開平6−83770号公報記載の方式が考えられる。特開平6−83770号公報記載の方式では、動作周波数の異なる複数のデバイスがアドレスバスとデータバスを共有している場合に、各デバイスの動作周波数に同期したコマンドを生成するコマンド生成回路をデバイス毎に設け、各デバイスにコマンドを送付した後、デバイスからのデータ送受信終了信号を受け取り転送を終了する、という手順で転送が行われる。この方式を使用すれば、一度のアドレス出力で一種類のデータのみを送受信する単純なプロトコルを持つバスを2次バスとして採用した場合には、デバイス側の同期化回路を削除することが可能である。
【0006】
【発明が解決しようとする課題】
従来方式では、複雑なプロトコルを持つバスを2次バスとして採用すると、2次バスに接続されたデバイスのクロックの種類の分だけ制御線の同期化回路を設ける必要があるため、バスブリッジの同期化回路の規模が大きくなり、信号線もデバイス毎に1組ずつ持たなくてはならないためにバスブリッジのインタフェース信号の本数も増大する。さらに、アドレスとデータを同一信号線を用いて、決められたタイミングで切り替えるようなプロトコルを持つバスを2次バスとして採用した場合には、アドレス・データ線も各デバイスのクロックに同期して出力する必要があるため、バスブリッジは、バスの全信号をクロック周波数の種類分だけ、インタフェース信号として持たなければならない。
【0007】
本発明の目的は、2次バスとして複雑なプロトコルを持つバスを選択しても、バスブリッジ側の同期化回路とインタフェース信号の本数を増大させることなく、異なる周波数で動作するデバイスの接続を可能にし、論理規模、消費電力を低減して転送効率を向上させることにある。
【0008】
【課題を解決するための手段】
本発明では、上記の目的を解決するため、バスブリッジからのクロック選択信号により、2次バスに接続されている数種類のデバイスの動作クロックから2次バスの動作クロックを選択するクロック選択部を設け、クロック選択部から出力されたクロックで同期化した信号をバスブリッジから送出する機能を備える。また、複数マスタに対応した2次バスにおいても、転送要求の調停と同時に2次バスのクロック選択を行うバスアービタを設け、同期化回路を用いずターゲットデバイスの2次バスへの接続を可能にする。ここでバスブリッジ以外のマスタデバイスとしては、独自の動作クロックを持たないマスタデバイスと、独自の動作クロックを持つマスタデバイス、双方に対応する。ターゲットデバイスの同期化回路を不要にすることで、論理規模の低減、転送効率の向上が実現される。
【0009】
【発明の実施の形態】
本発明の第一の実施例を図1を用いて説明する。図1において、110は1次バス101から入力されたアドレスをデコードするアドレスデコーダ、112はクロックA115とクロックB116を選択するクロックセレクタ、113はアドレスデコーダ110で転送先として特定されたターゲットデバイスの動作クロックを示すクロック選択信号、117はクロックセレクタ112で選択された同期化回路用クロックである。第一の実施例では、周波数の異なるクロックで動作する2つ以上のターゲットデバイスを、同一のバスに接続し、ターゲットデバイス内部に同期化回路を備えることなく実現するバス制御システムを示している。
【0010】
バスブリッジ106には、図2の従来例と同様にクロック供給部107より2系統のクロックが入力されているが、本実施例では、2次バス102の動作クロックの替わりにクロックセレクタ112で選択された同期化回路用クロック117が使用されている。また、2次バス102に接続されているターゲットデバイスには、各デバイスの動作クロック、1系統のみが入力され、同期化回路は削除されている。2次バス102には規定の動作クロックはなく、データの転送先がターゲットデバイスA108の場合にはクロックA115に、転送先がターゲットデバイスB109の場合にはクロックB116に、それぞれ同期した信号をバスブリッジ106が出力することにより、ターゲットデバイスの同期化回路なしでの2次バス102上のデータ転送を可能にしている。
【0011】
バスブリッジ106は、2次バス102上に出力する信号を同期するクロックを、発生した転送毎に動的に変化させる必要があるため、1次バス101から入力されたアドレスをアドレスデコーダ110でデコードして転送先のターゲットを特定し、その結果をクロックセレクタ112に送ることで、どちらのクロックに信号を同期化するかを選択する。
【0012】
1次バス101上のプロセッサ103から、2次バス102上のターゲットデバイスA108へのデータ転送の流れを、図1を使用して説明する。プロセッサ103で発生した転送要求は、転送先をターゲットデバイスA108に特定して1次バス101上に発行される。転送を受け取ったバスブリッジ106は、受け取った転送のアドレスをデコードし、2次バス上のターゲットデバイスA108、ターゲットデバイスB109のどちらに対する転送なのかを判定する。判定の結果、プロセッサ103からの転送がターゲットデバイスA108への転送と判明すると、バスブリッジ106から出力する信号をクロックA115で同期化するために、判定結果をクロックセレクタ112へクロック選択信号113として出力する。クロックセレクタ112では、クロック選択信号113の値に従い、クロックA115を同期化回路用クロック117として選択する。クロック選択信号113は、2次バス102上の転送が終了するまで一定の値に保たれる。バスブリッジ106では、アドレスデコーダ110の判定結果をクロックセレクタ112に出力する一方、2次バス102に転送を伝達するため、1次バス101から入力した信号を同期化回路111で同期化する。以上の流れで、2次バス102にはクロックAに同期した信号が出力され、転送先として指定されたターゲットデバイスA108が転送を受信する。転送先がターゲットデバイスB109の場合も同様の転送手順となる。
【0013】
クロックセレクタ112におけるクロックの切り替えタイミングと、1次バス101から入力された信号の同期化の関係について、図3、図4を用いて説明する。図3は、バスブリッジ106の1次バス101から入力された信号を同期化する同期化回路111の周辺のブロック図、図4はそのタイミングチャートである。図3において、301はクロックX114の立ち上がりエッジで動作するフリップフロップ、302、303はクロックA115の立ち上がりエッジで動作するフリップフロップ、304はクロックX114に同期している1次バス101からバスブリッジ106に入力される信号1(X)、305はフリップフロップ301から出力された信号2(X)、306はフリップフロップ302から出力された信号3(A)、307はフリップフロップ303から2次バス102に出力された信号4(A)である。図4において、X1からX9はクロックX114の時間、A1からA6はクロックA115の時間である。ここで、クロックX114、クロックA115、クロックB116は、それぞれ異なる周波数と位相を持つクロックであるとする。
【0014】
図4のタイムチャートで、X4で変化した信号2(X)305は、A3のクロックA115の立ち上がりエッジでフリップフロップ302に取り込まれる。A3では、信号2(X)305の状態変化の発生時刻とクロックA115の立ち上がりエッジ発生時刻が極めて接近しているため、フリップフロップ302が信号2(X)305の状態変化をうまく取り込めず、出力された信号3(A)306はA4で不確定状態(メタステーブル状態)に陥っている。このメタステーブル状態を除去するために1クロック間の時間を置き、信号3(A)306は、A5のクロックA115の立ち上がりエッジで、もう1段のフリップフロップ304に入力され、クロックA116に同期した信号4(A)307が生成される。
【0015】
本実施例1において、バスブリッジ106の同期化回路111で使用されるクロックは、クロックA115とクロックB116を選択した同期化回路用クロック117である。この同期化回路用クロック117の切り替わりタイミングは、クロックX114に同期したアドレスをデコードした結果得られたクロック選択信号113の状態変化のタイミングであるが、クロックX114、クロックA115、クロックB116は周波数や位相が異なるクロックであるため、切り替わりタイミング前後の同期化回路用クロック117の立ち上がりエッジ間の時間は保証されない。
【0016】
アドレスが、信号1(X)304と同じX3のタイミングでバスブリッジに入力されるとすると、アドレスデコーダ110を通して生成したクロック選択信号113は、信号1(X)304よりも状態変化が遅れる。信号1(X)304に対して同期化を始めるとすれば、クロック選択信号113により選択された同期化回路用クロック117の立ち上がりエッジが発生しているX3で、状態変化した値がフリップフロップ302に取り込まれる。ここで、フリップフロップ302の出力信号がメタステーブル状態になったと仮定すると、同期化回路用クロック117の次の立ち上がりエッジであるA3までの時間、Tckの間にメタステーブル状態を脱しないと、フリップフロップ303でメタステーブル状態を除去することができない。前述のように、同期化回路用クロック117の切り替えタイミング前後では、クロックの立ち上がりエッジ間の時間は保証されないため、Tckが非常に短くなり、フリップフロップ302の出力信号がメタステーブル状態を脱することができない可能性がある。
【0017】
そこで、正常に同期化を行うために、同期化する信号をクロック選択信号113よりも遅いタイミングで同期化回路に入力する必要がある。図3、図4の例では、入力信号1(X)304をクロックX114で動作するフリップフロップ301に入力し、状態変化を1クロック分遅延させてから同期化回路111に入力している。
【0018】
同期化回路111に入力するクロックを選択することのない従来方式では、フリップフロップ301は必要ないため、バスブリッジ106のみのレイテンシを考えれば大きくなる。しかしシステム全体でみれば、クロックX114はクロックA115やクロックB116と比較して動作周波数が高いと考えられるので、ターゲットデバイスA108やターゲットデバイスB109の同期化回路を削除したことで短縮した遅延時間の方が、クロックX114で動作するフリップフロップ301の通過時間よりも充分大きく、本方式を採用したことによる効果に影響はないと言える。
【0019】
次に、2次バス102にバスブリッジ106以外のマスタデバイスが接続されている場合の実施例2を図5を使用して説明する。実施例2で2次バス102に新たに接続されたマスタデバイスは、単一クロックで動作し、動的なクロック変化が可能なデバイスと仮定する。そのようなデバイスの例としては、レジスタを設定することで転送要求を発行するDMAコントローラ等がある。図5において、501は2次バス102に接続された転送要求を発行するマスタデバイス、502は複数のバス使用者を調停するバスアービタ、503はバスブリッジ106からバスアービタ502に出力されるバスブリッジ転送要求、504はバスアービタ502からバスブリッジ106に出力されるバスブリッジ転送許可信号、505はマスタデバイス501からバスアービタ502に出力されるマスタ転送要求、506はバスアービタ502からマスタデバイス501に出力されるマスタ転送許可信号、507はクロック選択信号である。ここで、503と504の転送要求信号が出力されると同時に、クロック選択信号もバスアービタ502に対して出力されるものとする。
【0020】
複数マスタを接続可能なバスにはバス使用者の調停を行う機構が必要であるが、実施例2では、バスアービタ502はバス使用者の調停だけでなく、クロック選択信号の出力も行う。図5において、2次バス102に接続された転送要求を発行する2つのデバイスであるバスブリッジ106とマスタデバイス501は、バスアービタ502に対して転送要求だけではなく、どのクロックで動作させるかを指定するクロック選択信号を出力する。
【0021】
バスアービタ502は、2次バス102で転送を開始できるデバイスを選択して、そのデバイスに転送許可信号504、506を送信すると同時に、選択されたデバイスが発行しているクロック選択信号を、クロックセレクタ112に出力し、バス権を取ったデバイスが要求する周波数のクロックを選択する。バスアービタ502では、バス使用権の切り替えタイミングでクロックも切り替えるため、切り替えの前後で、何らかの方法を用いてバス衝突やメタステーブルが発生するのを防がなくてはならない。そこで実施例2では、バスアービタ502でクロック切り替えタイミングを操作する機構を導入する方式と、バスブリッジ106でクロックを操作する方式を採用する。
【0022】
まずバスアービタ502においてクロック切り替えタイミングを操作する方式を、図6のバスアービタ502詳細図と図7のバス調停タイミングチャートを用いて説明する。図6において、601はバスブリッジ106が同期化回路用クロック117を選択するために出力するバスブリッジクロック選択信号、602はマスタデバイス501が同期化回路用クロック117を選択するために出力するマスタデバイスクロック選択信号、603はバス権が与えられたデバイスのクロック選択信号を選ぶクロック選択信号セレクタ、604は1次バス101のクロックX114に同期して出力される信号であるバスブリッジ転送要求503をバスアービタ502の動作クロックである同期化回路用クロック117に同期化する同期化回路、605は同期化回路604で同期化された同期化後バスブリッジ転送要求、606は同期化後バスブリッジ転送要求605とマスタ転送要求505を受け取り、任意の優先順位決定方法によってどちらのデバイスにバス権を与えるかを決定する優先順位判定部、607は優先順位判定部606で判定された結果であるバスブリッジ選択信号、608は2次バス102の制御信号、609は制御信号606を用いて2次バス102が使用中でないことを検出するバスアイドル検出部、610はバスアイドル検出部607の結果であるバス権切り替えタイミング信号、バスブリッジ選択信号607をバス権切り替えタイミング信号610がアサートしたときに取り込み、611はバスブリッジ転送許可信号を生成するフリップフロップ、612はインバータ、613はインバータ612で反転後の信号、614はマスタ転送許可信号506をマスタデバイス501が要求するクロック周波数で同期化する同期化回路である。また図7において、A1からA5はクロックA115の時間、B1からB6はクロックB116の時間、701は図6の同期化回路610の内部信号で、同期化のため2段用意されたフリップフロップのうち、1段目のフリップフロップの出力信号である。
【0023】
バスアービタ502でバスの調停が行われる手順を説明する。バスブリッジ106からの転送要求信号503は、同期化回路604において同期化回路用クロック117に同期化されてから、すでに同期化回路用クロック117に同期しているマスタデバイス501からの転送要求信号505は直接、優先順位判定部606に入力される。優先順位判定部606では、任意の優先順位判定アルゴリズムにより、どちらの転送要求の優先度が高いかを判定し、バスブリッジ106が選択されたときにアサートされるバスブリッジ選択信号607を出力する。
【0024】
同時に、バスアイドル検出部607では、2次バス102の制御信号608を観測し、2次バス102が使用中であるかを監視、使用中でない場合はバス権切り替えタイミング信号610をアサートする。バスブリッジ選択信号607は、バス権切り替えタイミング信号610がアサートされているときのクロックの立ち上がりでフリップフロップ611に取り込まれ、バスブリッジ転送許可信号504が生成される。マスタ転送許可信号506は、バスブリッジ転送許可信号504の反転である。
【0025】
本実施例2の前提として、マスタデバイス501を、レジスタを設定することにより転送要求が発生するデバイスと仮定している。そのようなデバイスは、通常データを転送する準備が整ってから転送要求を発行するため、マスタデバイス501は、転送要求に対する転送許可信号506を受信すると、同期化回路を通すことなく次の同期化回路用クロック117の立ち上がりエッジでバス出力動作を開始できる。よってバスアービタ502は、同期化回路が存在しないマスタデバイス501へのマスタ転送許可信号506を、マスタデバイス501が要求するクロックに同期させて出力しなくてはならない。一方でバスブリッジ106は、転送要求503を発行してバス権を獲得した後、信号を同期化回路111に通して2次バス102に出力するため、バスブリッジ転送許可信号504がクロックに同期している必要はなく、バスアービタ502でバスブリッジ転送許可信号504を同期化すると2重に同期化することになる。そこで、図6にあるように、バスブリッジ転送許可信号504はフリップフロップ611の出力をそのまま使用し、マスタ転送許可信号506はフリップフロップ611の出力をインバータ612で反転後、その信号612を同期化回路614でクロック切り替え後の同期化回路用クロック117に同期化して出力することで、同期化の重複を避ける。
【0026】
バス権をバスブリッジ106からマスタデバイス501に切り替える際のタイミングの詳細を、図7のタイミングチャートに示す。A1で、バスブリッジ106が2次バス102でクロックA115に同期して転送中に、マスタデバイス501が転送要求503を発行している。ここで、マスタデバイス501は、ターゲットデバイスB109に対する転送を要求しており、クロックB116で動作することを希望しているとする。A1でバスブリッジ106の転送が終了し、A2のクロックA115の立ち上がりでバスブリッジ106が転送要求503を下げる。同時に、2次バス102が未使用状態になるので、バス権切り替えタイミング信号610がアサートされる。A3のクロックA115の立ち上がりで、バスブリッジ転送許可信号504がネゲートされ、クロック選択信号507として、マスタデバイス501から出力されたマスタデバイスクロック選択信号602が選択される。クロック選択信号507の切り替わり後、同期化回路用クロック117がクロックA115からクロックB116に切り替わる。バスブリッジ転送許可信号504は、クロックの切り替わりタイミングであるA3のクロックA115の立ち上がりでネゲートされているため、その反転信号をそのままマスタデバイス501への転送許可信号506として使用しては、マスタデバイス501が要求する動作クロックであるクロックB116とは非同期の信号になってしまう。そこで、B4のクロックB116の立ち上がりで、バスブリッジ転送許可信号504の反転信号613の値が、同期化1段目フリップフロップに取り込まれ、B5のクロックB116の立ち上がりで、同期化1段目フリップフロップからの出力信号701の値が同期化2段目フリップフロップに取り込まれることで、クロックB116に同期したマスタ転送許可信号506が生成される。
【0027】
次に、バスブリッジ106でクロックを操作する方式について説明する。実施例2で用いられるマスタデバイス501は、プロセッサ103によってレジスタが設定されることにより転送要求505が発行されるため、どのターゲットに対してマスタデバイス501が転送要求505を発行するのか、転送要求発行前にプロセッサ103が把握しているはずである。そこで本方式では、マスタデバイス501にレジスタアクセスに行く際のクロックとして、転送要求505を発行時に選択される予定のクロックを選択して転送を行うよう、バスブリッジ106内部に設定できるような機構を設ける。このような機構の例としていくつかの方法が考えられる。一つは、バスブリッジ106内部に発行する転送の動作クロックを設定する専用レジスタを設けて、マスタデバイス501のレジスタを設定する転送を発行する前に設定し、その専用レジスタの値をクロック選択信号として出力する方法である。もう一つは、マスタデバイス501の転送要求503発行時のアドレスをマスタデバイス501内部のレジスタに設定する際に、そのアドレスの設定値をデコードする機構をバスブリッジ106内部に設け、クロック選択信号を決定する方法である。こうしてマスタデバイス501のレジスタアクセス時にクロックを選択しておけば、マスタデバイス501が転送要求505を発行する際にはクロックの切り替えが発生しないため、バスアービタ502がマスタ転送許可信号506を出力する際の同期化回路を設ける必要がなくなり、バスの調停にかかる時間を短くできる。
【0028】
さらに、実施例3として、2次バス102に接続されたデバイスが、外部I/Oや他のバスに接続されているため独自の動作クロックを持っている場合を挙げ、図8を用いて説明する。図8において、801は2次バス102とのインタフェース以外に、外部とのインタフェースを持つマスタデバイス、802はマスタデバイス801に接続されている外部I/O、803は外部I/O802からのアドレスデコーダ、804は外部I/O802からの入力信号を同期化回路用クロック117に、2次バス102からの入力信号を外部I/O802の動作クロックにそれぞれ同期化する同期化回路、805はマスタデバイス801と外部I/O802が動作するクロックC、806はバスブリッジ106とマスタデバイス801から転送要求を受け取ってバスの調停をするバスアービタである。
【0029】
実施例3では、マスタデバイス801が独自の動作クロックであるクロックC805を持っているため、実施例1におけるバスブリッジ106と同様の機能を設ける必要がある。すなわち、外部I/O802からの入力されたアドレスを、アドレスデコーダ803でデコードし、バスアービタ806にマスタ転送要求505と共に出力し、マスタ転送許可信号506を受け取った時点で、同期化回路804においてクロックC805で動作する信号を同期化回路用クロック117に同期化する。
【0030】
実施例3のバスアービタ806の内部構成を図9に示す。図9において、901はマスタデバイス801の動作クロックであるクロックC805に同期して出力される信号であるマスタ転送要求505をバスアービタ502の動作クロックである同期化回路用クロック117に同期化する同期化回路、902は同期化回路901で同期化された同期化後マスタ転送要求である。マスタデバイス801に同期化回路804が存在するため、マスタ転送許可信号506は、フリップフロップ611で生成されたバスブリッジ転送許可信号504を反転しただけで出力される。マスタデバイス801が独自のクロックで動作していても、2種類のターゲットデバイスには同期化回路は必要ない。
【0031】
【発明の効果】
本発明によれば、階層的バス構造を持つシステムにおいて、1次バス(高速プロセッサバス)と2次バス(周辺装置等を接続する比較的低速のバス)を結ぶバスブリッジが、データの2次バス上の転送先によって、出力する信号を同期させるクロックを選択できるような機構を設けることで、転送先になるターゲットデバイスの同期化回路を排除し、論理規模や消費電力が低減でき、転送効率も向上する。また、2次バス上にバスの調停以外に、各マスタが出力するデータを同期させるクロックの選択を行うバスアービタを設けることにより、ターゲットデバイスに同期化回路を持たせずに、2次バスへの複数マスタ接続を可能にする。さらに、2次バス上に接続されるバスブリッジ以外のマスタデバイスが独自の動作クロックを持たない場合には、そのマスタデバイス内部の同期化回路も削除することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施例の構成図である。
【図2】従来の実施例の構成図である。
【図3】バスブリッジ内部の同期化回路の構成図である。
【図4】図3の信号線のタイミングを示すタイミングチャートである。
【図5】本発明の第二の実施例の構成図である。
【図6】第二の実施例におけるバスアービタの構成図である。
【図7】図6のバスアービタにおけるバス調停のタイミングチャートである。
【図8】本発明の第三の実施例の構成図である。
【図9】第三の実施例におけるバスアービタの構成図である。
【符号の説明】
101…同期式1次バス、102…1次バスとは異なる周波数で動作する同期式2次バス、103…1次バスに接続されているプロセッサ、104…1次バスに接続されている転送要求を出力するマスタデバイス、105…1次バスに接続されている転送要求を受信するターゲットデバイス、106…1次バスで発生した転送要求を2次バス102のデバイスに伝えるバスブリッジ、107…各デバイスにクロックを供給するクロック供給部、108…2次バスに接続され、クロックAで動作するターゲットデバイスA、109…2次バスに接続され、クロックBで動作するターゲットデバイスB、110…1次バスから入力されたアドレスをデコードするアドレスデコーダ、112…クロックAとクロックBを選択するクロックセレクタ、113…クロックAとクロックBのどちらを選択するかを示すクロック選択信号、117…クロックセレクタで選択された同期化回路用クロック、114…1次バスが動作するクロックX、115…ターゲットデバイスAが動作するクロックA、116…ターゲットデバイスBが動作するクロックB、111…バスブリッジ内部の同期化回路、201…2次バスが動作するクロックY、202…ターゲットA内部の同期化回路、203…ターゲットB内部の同期化回路、301…クロックXの立ち上がりエッジで動作するフリップフロップ、302、303…クロックAの立ち上がりエッジで動作するフリップフロップ、304…バスブリッジに入力されるクロックXに同期している信号1(X)、305…フリップフロップ301から出力された信号2(X)、306…フリップフロップ302から出力された信号3(A)、307…フリップフロップ303から2次バスに出力された信号4(A)、501…2次バスに接続された転送要求を発行するマスタデバイス、502…複数のバス使用者の調停をするバスアービタ、503…バスブリッジからバスアービタ502に出力されるバスブリッジ転送要求、504…バスアービタ502からバスブリッジに出力されるバスブリッジ転送許可信号、505…マスタデバイス501からバスアービタ502に出力されるマスタ転送要求、506…バスアービタ502からマスタデバイス501に出力されるマスタ転送許可信号、507…クロック選択信号、601…バスブリッジが同期化回路用クロックを選択するために出力するバスブリッジクロック選択信号、602…マスタデバイス501が同期化回路用クロックを選択するために出力するマスタデバイスクロック選択信号、603…バス権が与えられたデバイスのクロック選択信号を選ぶクロック選択信号セレクタ、604…クロックXに同期して出力される信号であるバスブリッジ転送要求を同期化回路用クロックに同期化する同期化回路、605…同期化回路604で同期化された同期化後バスブリッジ転送要求、606…同期化後バスブリッジ転送要求とマスタ転送要求を受け取り、任意の優先順位決定方法によってどちらのデバイスにバス権を与えるかを決定する優先順位判定部、607…優先順位判定部で判定された結果であるバスブリッジ選択信号、608…2次バスの制御信号、609…制御信号を用いて2次バスが使用中でないことを検出するバスアイドル検出部、610…バスアイドル検出部の結果であるバス権切り替えタイミング信号、611…バスブリッジ転送許可信号を生成するフリップフロップ、612…インバータ、613…インバータで反転した後の信号、614…マスタ転送許可信号をマスタデバイス501が要求するクロック周波数で同期化する同期化回路、701…同期化回路614の内部信号で、同期化のため2段用意されたフリップフロップのうち、1段目のフリップフロップの出力信号、801…2次バスとのインタフェース以外に、外部とのインタフェースを持つマスタデバイス、802…マスタデバイス801に接続されている外部I/O、803…外部I/Oからのアドレスデコーダ、804…マスタデバイス801内部の同期化回路、805…マスタデバイス801が動作するクロックC、806…バスブリッジとマスタデバイス801から転送要求を受け取ってバスの調停をするバスアービタ、901…クロックCに同期して出力される信号であるマスタ転送要求505を同期化回路用クロック117に同期化する同期化回路、902…同期化回路901で同期化された同期化後マスタ転送要求、X1〜X9…クロックX114の時間、A1〜A6…クロックA115の時間、B1〜B6…クロックB116の時間。
Claims (4)
- 少なくとも2種類のクロック同期式バスである1次バスと2次バスと、該2種類のバスを結ぶバスブリッジと、該1次バスに接続される転送要求を出力する少なくとも1種類のクロック同期式マスタデバイス1と、該2次バスに接続される互いに周波数または周期の異なるクロックで動作し転送要求を受信する少なくとも2種類のクロック同期式ターゲットデバイスと、該マスタデバイス1と該ターゲットデバイスと該バスブリッジにクロックを供給するクロック供給部を備えるシステムにおいて、該バスブリッジ内部に、該マスタデバイスからの転送要求の転送先を検出するアドレスデコーダと、該アドレスデコーダで検出された転送先の該ターゲットデバイスの動作クロックを示すクロック選択信号を出力する手段と、該1次バスのクロックで動作する信号を該2次バスのクロックで、該2次バスのクロックで動作する信号を該1次バスのクロックで同期化する同期化回路とを備え、該クロック選択信号により該2種類以上のターゲットデバイスの動作クロックから該アドレスデコーダで検出された転送先の該ターゲットデバイスの動作クロックを選択して該2次バスのクロックとして該同期化回路に入力するクロック選択部を備えることにより、該2次バスに出力される信号がデータの転送先の該ターゲットデバイスによって異なるクロックに同期していることを特徴とするバス制御システム。
- 請求項1記載のバス制御システムにおいて、該バスブリッジは、該1次バスから該バスブリッジに入力される信号を、該クロック選択信号の状態変化のタイミングよりも遅いタイミングで該同期化回路に入力して該2次バスのクロックで同期化することを特徴とするバス制御システム。
- 請求項1のバス制御システムにおいて、該2次バスに接続される少なくとも1種類のマスタデバイス2を備え、該バスブリッジと該マスタデバイス2が出力する転送要求について、バス使用許可を該バスブリッジと該マスタデバイス2に交互に与えると同時に、バス使用許可を与えられた該バスブリッジもしくは該マスタデバイス2の希望する、転送先の該ターゲットデバイスの動作クロックが該2次バスの動作クロックとして選択されるように該クロック選択部にクロック選択信号を出力する機能を備え、異なるクロックに同期した信号が該2次バス上で衝突しないように転送要求を調停するバスアービタを備えることを特徴とするバス制御システム。
- 該2次バスに接続される、該2次バスの動作クロックのみで動作する少なくとも1種類のマスタデバイス2を備える、請求項1のバス制御システムにおいて、該バスブリッジと該マスタデバイス2が出力する転送要求について、バス使用許可を該バスブリッジと該マスタデバイス2に交互に与えると同時に、バス使用許可を与えられた該バスブリッジもしくは該マスタデバイス2の希望する、転送先の該ターゲットデバイスの動作クロックが該2次バスの動作クロックとして選択されるように該クロック選択部にクロック選択信号を出力する機能を備え、異なるクロックに同期した信号が該2次バス上で衝突しないように転送要求を調停するバスアービタであって、該バスアービタから出力される該マスタデバイス2に対する転送許可信号を、該マスタデバイス2が希望する該2次バスの動作クロックに同期して出力することを特徴とするバスアービタを備えるバス制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001153343A JP4124579B2 (ja) | 2001-05-23 | 2001-05-23 | バス制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001153343A JP4124579B2 (ja) | 2001-05-23 | 2001-05-23 | バス制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002351818A JP2002351818A (ja) | 2002-12-06 |
JP4124579B2 true JP4124579B2 (ja) | 2008-07-23 |
Family
ID=18997877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001153343A Expired - Fee Related JP4124579B2 (ja) | 2001-05-23 | 2001-05-23 | バス制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4124579B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7446588B2 (en) | 2003-12-11 | 2008-11-04 | International Business Machines Corporation | Highly scalable methods and apparatus for multiplexing signals |
JP4856695B2 (ja) * | 2006-02-24 | 2012-01-18 | 富士通株式会社 | データ転送装置、データ転送システム及びデータ転送装置の制御方法 |
JP5528939B2 (ja) * | 2010-07-29 | 2014-06-25 | ルネサスエレクトロニクス株式会社 | マイクロコンピュータ |
-
2001
- 2001-05-23 JP JP2001153343A patent/JP4124579B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002351818A (ja) | 2002-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7266632B2 (en) | Programmable logic device including programmable interface core and central processing unit | |
JP3526920B2 (ja) | コンピュータシステム、ならびに周辺バスクロック信号を制御するためのシステムおよび方法 | |
TWI443675B (zh) | 記憶體系統以及存取記憶體之方法 | |
JP4182801B2 (ja) | マルチプロセサシステム | |
JP2002049576A (ja) | チップ搭載システムのためのバス・アーキテクチャ | |
JP2013106166A (ja) | クロックゲーティング回路およびバスシステム | |
JP3954011B2 (ja) | サブシステム間で通信するための方法およびコンピュータ・システム | |
EP2250569B1 (en) | Sharing bandwidth of a single port sram between at least one dma peripheral and a cpu operating with a quadrature clock | |
JP4233373B2 (ja) | データ転送制御装置 | |
JP4303417B2 (ja) | デジタル信号プロセッサ・システムのためのクロッキング方式 | |
JP2006040276A (ja) | 選択的なクロック制御に基づいて消費電力を節減させるバス仲裁システム及びその方法 | |
WO2007105376A1 (ja) | 集積回路、及び集積回路システム | |
JP4124579B2 (ja) | バス制御システム | |
TW200303472A (en) | Transferring data between differently clocked busses | |
WO2008023219A1 (en) | Pipelined device and a method for executing transactions in a pipelined device | |
US7069363B1 (en) | On-chip bus | |
JP3698324B2 (ja) | 直接メモリアクセス制御器およびデータチャンネルへのインターフェース装置を備えたワークステーション | |
JPH09153009A (ja) | 階層構成バスのアービトレーション方法 | |
JP5528939B2 (ja) | マイクロコンピュータ | |
KR100259855B1 (ko) | 공통 마이크로 프로세서 버스의 중재 장치 | |
KR100487218B1 (ko) | 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법 | |
JP2008059047A (ja) | 情報処理システム及びこの制御方法 | |
JPH10320349A (ja) | プロセッサ及び当該プロセッサを用いるデータ転送システム | |
JPH08180027A (ja) | 調停回路 | |
JPH09185582A (ja) | ローカルバスのクロック制御方式およびクロック制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040813 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040813 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070327 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070724 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070921 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080208 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080314 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080422 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080502 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |