JP4124579B2 - Bus control system - Google Patents
Bus control system 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
Description
【0001】
【発明の属する技術分野】
本発明は、複数の異なる周波数で動作するバスを有する計算機システムのバス制御に関する。
【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の時間。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to bus control of a computer system having a bus that operates at a plurality of different frequencies.
[0002]
[Prior art]
In a system that requires a high-speed operating frequency for the processor, a relatively low-speed bus that connects peripheral devices is prepared separately from the high-speed processor bus that connects the processor and storage device, and the number of devices connected to the processor bus There is a method for realizing an increase in the operating frequency of the processor bus by reducing the frequency. The bus connecting multiple devices is generally a clock-synchronous bus, but the devices connected to the low-speed bus are diversified both in terms of function and maximum operating frequency, and have a single frequency. In order to connect a plurality of devices to the clock-synchronous bus, a method is adopted in which the operation clock of the device is the same as the bus clock or a synchronization circuit is provided on the device side. In general, since a connected device can be operated at each maximum frequency, the method of providing a synchronization circuit is considered to have better overall system performance.
[0003]
FIG. 2 shows a configuration example of a system having a bus hierarchical structure in which a synchronization circuit is provided on the device side. In FIG. 2, 101 is a synchronous primary bus, 102 is a synchronous secondary bus that operates at a frequency different from that of the
[0004]
Next, the flow of data transfer from the
[0005]
In the system as shown in FIG. 2, since each target device must have a synchronization circuit, the logic scale and power consumption increase, and it occurs when passing through the synchronization circuits of both the target device and the bus bridge. Latency causes a decrease in transfer efficiency. As a means for solving these problems, a method described in Japanese Patent Laid-Open No. 6-83770 in which devices having different operating frequencies are connected to the same bus can be considered. In the method described in Japanese Patent Laid-Open No. 6-83770, when a plurality of devices having different operating frequencies share an address bus and a data bus, a command generation circuit that generates a command synchronized with the operating frequency of each device is provided as a device. Transfer is performed in a procedure in which a command is sent to each device, a data transmission / reception end signal is received from the device, and the transfer is terminated. If this method is used, when a bus with a simple protocol that transmits and receives only one type of data with a single address output is adopted as the secondary bus, the synchronization circuit on the device side can be deleted. is there.
[0006]
[Problems to be solved by the invention]
In the conventional method, when a bus having a complicated protocol is adopted as a secondary bus, it is necessary to provide a control line synchronization circuit corresponding to the type of clock of the device connected to the secondary bus. Therefore, the number of bus bridge interface signals also increases because one circuit line must be provided for each device. Furthermore, when a bus with a protocol that switches addresses and data at the determined timing using the same signal line is adopted as the secondary bus, the address / data line is also output in synchronization with the clock of each device. Therefore, the bus bridge must have all the signals of the bus as interface signals corresponding to the types of clock frequencies.
[0007]
The object of the present invention is to connect devices operating at different frequencies without increasing the number of interface circuits and the synchronization circuit on the bus bridge side even if a bus having a complicated protocol is selected as the secondary bus. And reducing the logical scale and power consumption to improve the transfer efficiency.
[0008]
[Means for Solving the Problems]
In the present invention, in order to solve the above-described object, a clock selection unit for selecting an operation clock of the secondary bus from operation clocks of several types of devices connected to the secondary bus by a clock selection signal from the bus bridge is provided. And a function of sending a signal synchronized with the clock output from the clock selection unit from the bus bridge. Also, a secondary bus corresponding to multiple masters is provided with a bus arbiter that selects the clock of the secondary bus simultaneously with the arbitration of the transfer request, and enables connection of the target device to the secondary bus without using a synchronization circuit. . Here, the master device other than the bus bridge corresponds to both a master device having no original operation clock and a master device having an original operation clock. By eliminating the synchronization circuit of the target device, the logical scale can be reduced and the transfer efficiency can be improved.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
A first embodiment of the present invention will be described with reference to FIG. In FIG. 1, 110 is an address decoder that decodes an address input from the
[0010]
As in the conventional example of FIG. 2, two clocks are input from the
[0011]
Since the
[0012]
The flow of data transfer from the
[0013]
The relationship between the clock switching timing in the
[0014]
In the time chart of FIG. 4, the signal 2 (X) 305 changed at X4 is taken into the flip-
[0015]
In the first embodiment, the clock used in the
[0016]
If the address is input to the bus bridge at the same timing X3 as the signal 1 (X) 304, the
[0017]
Therefore, in order to perform normal synchronization, it is necessary to input a signal to be synchronized to the synchronization circuit at a timing later than the
[0018]
In the conventional method in which the clock input to the
[0019]
Next, a second embodiment in which a master device other than the
[0020]
A bus that can connect a plurality of masters requires a mechanism for arbitrating the bus user. In the second embodiment, the
[0021]
The
[0022]
First, a method of operating the clock switching timing in the
[0023]
A procedure for bus arbitration by the
[0024]
At the same time, the bus
[0025]
As a premise of the second embodiment, it is assumed that the
[0026]
Details of the timing for switching the bus right from the
[0027]
Next, a method of operating the clock with the
[0028]
Further, as a third embodiment, a case where a device connected to the
[0029]
In the third embodiment, since the
[0030]
FIG. 9 shows an internal configuration of the
[0031]
【The invention's effect】
According to the present invention, in a system having a hierarchical bus structure, a bus bridge that connects a primary bus (high-speed processor bus) and a secondary bus (a relatively low-speed bus that connects peripheral devices and the like) is a secondary data link. By providing a mechanism that allows you to select the clock that synchronizes the output signal depending on the transfer destination on the bus, you can eliminate the synchronization circuit of the target device that is the transfer destination, reduce the logic scale and power consumption, and transfer efficiency Will also improve. In addition to arbitration of the bus on the secondary bus, a bus arbiter that selects a clock for synchronizing data output from each master is provided, so that the target device can be connected to the secondary bus without having a synchronization circuit. Allows multiple master connections. Further, when a master device other than the bus bridge connected on the secondary bus does not have a unique operation clock, the synchronization circuit in the master device can also be deleted.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a first embodiment of the present invention.
FIG. 2 is a configuration diagram of a conventional embodiment.
FIG. 3 is a configuration diagram of a synchronization circuit inside a bus bridge.
4 is a timing chart showing timings of signal lines in FIG. 3;
FIG. 5 is a configuration diagram of a second embodiment of the present invention.
FIG. 6 is a configuration diagram of a bus arbiter in the second embodiment.
7 is a timing chart of bus arbitration in the bus arbiter of FIG. 6. FIG.
FIG. 8 is a configuration diagram of a third embodiment of the present invention.
FIG. 9 is a configuration diagram of a bus arbiter in the third embodiment.
[Explanation of symbols]
101 ... Synchronous primary bus, 102 ... Synchronous secondary bus operating at a frequency different from that of the primary bus, 103 ... Processor connected to the primary bus, 104 ... Transfer request connected to the primary bus , 105... Target device that receives a transfer request connected to the primary bus, 106... Bus bridge that transmits the transfer request generated on the primary bus to the device on the
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001153343A JP4124579B2 (en) | 2001-05-23 | 2001-05-23 | Bus control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001153343A JP4124579B2 (en) | 2001-05-23 | 2001-05-23 | Bus control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002351818A JP2002351818A (en) | 2002-12-06 |
JP4124579B2 true JP4124579B2 (en) | 2008-07-23 |
Family
ID=18997877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001153343A Expired - Fee Related JP4124579B2 (en) | 2001-05-23 | 2001-05-23 | Bus control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4124579B2 (en) |
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 |
WO2007097006A1 (en) * | 2006-02-24 | 2007-08-30 | Fujitsu Limited | Packet exporting control apparatus and method |
JP5528939B2 (en) * | 2010-07-29 | 2014-06-25 | ルネサスエレクトロニクス株式会社 | Microcomputer |
-
2001
- 2001-05-23 JP JP2001153343A patent/JP4124579B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002351818A (en) | 2002-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7266632B2 (en) | Programmable logic device including programmable interface core and central processing unit | |
JP3526920B2 (en) | Computer system and system and method for controlling peripheral bus clock signals | |
TWI443675B (en) | Apparatus and method that accesses memory | |
KR101442791B1 (en) | Apparatus and methods employing variable clock gating hysteresis for a communications port | |
JP4182801B2 (en) | Multi-processor system | |
JP2002049576A (en) | Bus architecture for system mounted on chip | |
JP2013106166A (en) | Clock gating circuit and bus system | |
US6948017B2 (en) | Method and apparatus having dynamically scalable clock domains for selectively interconnecting subsystems on a synchronous bus | |
EP2250569B1 (en) | Sharing bandwidth of a single port sram between at least one dma peripheral and a cpu operating with a quadrature clock | |
JP4303417B2 (en) | Clocking scheme for digital signal processor systems | |
JP4233373B2 (en) | Data transfer control device | |
JP2006040276A (en) | Bus arbitration system for saving on power consumption based on selective clock control and method thereof | |
JP4124579B2 (en) | Bus control system | |
TW200303472A (en) | Transferring data between differently clocked busses | |
WO2007105376A1 (en) | Integrated circuit, and integrated circuit system | |
WO2008023219A1 (en) | Pipelined device and a method for executing transactions in a pipelined device | |
US7069363B1 (en) | On-chip bus | |
JP3698324B2 (en) | Workstation with direct memory access controller and interface device to data channel | |
JPH09153009A (en) | Arbitration method for hierarchical constitution bus | |
JP5528939B2 (en) | Microcomputer | |
KR100259855B1 (en) | Arbiter of the common micro-processor bus | |
KR100487218B1 (en) | Apparatus and method for interfacing an on-chip bus | |
JP2008059047A (en) | Information processing system and control method therefor | |
JPH10320349A (en) | Processor and data transfer system using the processor | |
JPH08180027A (en) | Arbitration circuit |
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 |