JP4124579B2 - Bus control system - Google Patents

Bus control system Download PDF

Info

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
Application number
JP2001153343A
Other languages
Japanese (ja)
Other versions
JP2002351818A (en
Inventor
節子 小嶋
到 野々村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2001153343A priority Critical patent/JP4124579B2/en
Publication of JP2002351818A publication Critical patent/JP2002351818A/en
Application granted granted Critical
Publication of JP4124579B2 publication Critical patent/JP4124579B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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で動作するよう同期化回路11に通して同期化する。
【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、クロックB11は周波数や位相が異なるクロックであるため、切り替わりタイミング前後の同期化回路用クロック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 primary bus 101, 103 is a processor connected to the primary bus 101, and 104 is a primary bus 101. , A master device that outputs a transfer request connected to, a target device that receives a transfer request connected to the primary bus 101, and a device that transfers a transfer request generated on the primary bus 101 to a device on the secondary bus 102. , A bus supply unit 107 for supplying a clock to each device, 108 is connected to the secondary bus 102, a target device A operating with the clock A, 109 is connected to the secondary bus 102, and a clock B The operating target device B, 114 is the clock X on which the primary bus 1 operates, and 201 is the secondary bus 102 operating. Lock Y, 115 is a clock A, 116 of target device A108 operates a clock B to the target device B109 operates. Here, it is assumed that the clock X114, the clock Y201, the clock A115, and the clock B116 are independent and have different frequencies, and the clock X114 has the highest frequency among the four types of clocks. Reference numeral 111 denotes a signal synchronized with the clock Y114 that operates the primary bus 101, a clock Y201 that operates the secondary bus 102, and a signal that synchronizes with the clock Y201 that operates the secondary bus 102. A synchronizing circuit for synchronizing with the clock X114, a synchronizing circuit for synchronizing the signal synchronized with the clock Y201 with the clock A115, a synchronizing circuit for synchronizing the signal synchronized with the clock A115 with the clock Y201, and 203 with the clock Y201. This is a synchronization circuit that synchronizes the synchronized signal with the clock B116 and the signal synchronized with the clock B116 with the clock Y201. Devices such as the target device A 108 and the target device B 109 that operate with a clock different from the operation clock of the bus to be connected include synchronization circuits 202 and 203, and signals that operate with the operation clock of each device are bus clocks. The output synchronized with Y201 and the signal synchronized with the input bus clock Y201 must be synchronized with the operation clock of each device.
[0004]
Next, the flow of data transfer from the processor 103 on the primary bus 101 to the target device A 108 on the secondary bus 102 will be described with reference to FIG. The transfer request generated by the processor 103 is issued on the primary bus 101 with the transfer destination specified as the target device A 108. The bus bridge 106 that has received the transfer synchronizes the signal input from the primary bus 101 with the synchronization circuit 111 in order to transmit the transfer to the secondary bus 102. By passing through the synchronization circuit 111, the signal is synchronized with the operation clock Y 201 of the secondary bus 102 and issued on the secondary bus 102. In the secondary bus 102, the synchronization circuit 11 is configured so that the target device A 108 as a transfer destination receives the transfer and operates the received signal with the clock A 115. 1 Synchronize through
[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 primary bus 101, 112 is a clock selector that selects a clock A 115 and a clock B 116, and 113 is an operation of a target device specified as a transfer destination by the address decoder 110. A clock selection signal 117 indicating a clock is a synchronizing circuit clock selected by the clock selector 112. In the first embodiment, a bus control system is shown in which two or more target devices operating with clocks having different frequencies are connected to the same bus, and the synchronization is not provided in the target device.
[0010]
As in the conventional example of FIG. 2, two clocks are input from the clock supply unit 107 to the bus bridge 106. In this embodiment, the clock selector 112 selects the operation clock of the secondary bus 102. The synchronized circuit clock 117 is used. Also, the target device connected to the secondary bus 102 is input with only one system operation clock and one system, and the synchronization circuit is deleted. The secondary bus 102 does not have a specified operation clock. When the data transfer destination is the target device A108, a synchronized signal is sent to the clock A115, and when the data transfer destination is the target device B109, a synchronized signal is sent to the clock B116. The output from 106 enables data transfer on the secondary bus 102 without the synchronization circuit of the target device.
[0011]
Since the bus bridge 106 needs to dynamically change the clock for synchronizing the signal output on the secondary bus 102 for each generated transfer, the address decoder 110 decodes the address input from the primary bus 101. Then, the target of the transfer destination is specified, and the result is sent to the clock selector 112 to select which clock the signal is synchronized with.
[0012]
The flow of data transfer from the processor 103 on the primary bus 101 to the target device A 108 on the secondary bus 102 will be described with reference to FIG. The transfer request generated by the processor 103 is issued on the primary bus 101 with the transfer destination specified as the target device A 108. The bus bridge 106 that has received the transfer decodes the address of the received transfer and determines whether the transfer is to the target device A 108 or the target device B 109 on the secondary bus. If it is determined that the transfer from the processor 103 is a transfer to the target device A 108, the determination result is output to the clock selector 112 as the clock selection signal 113 in order to synchronize the signal output from the bus bridge 106 with the clock A 115. To do. The clock selector 112 selects the clock A 115 as the synchronization circuit clock 117 according to the value of the clock selection signal 113. The clock selection signal 113 is kept at a constant value until the transfer on the secondary bus 102 is completed. In the bus bridge 106, the determination result of the address decoder 110 is output to the clock selector 112, while the signal input from the primary bus 101 is synchronized by the synchronization circuit 111 in order to transmit the transfer to the secondary bus 102. With the above flow, a signal synchronized with the clock A is output to the secondary bus 102, and the target device A 108 designated as the transfer destination receives the transfer. The same transfer procedure is performed when the transfer destination is the target device B109.
[0013]
The relationship between the clock switching timing in the clock selector 112 and the synchronization of the signal input from the primary bus 101 will be described with reference to FIGS. FIG. 3 is a block diagram of the periphery of the synchronization circuit 111 that synchronizes signals input from the primary bus 101 of the bus bridge 106, and FIG. 4 is a timing chart thereof. In FIG. 3, 301 is a flip-flop that operates at the rising edge of the clock X114, 302 and 303 are flip-flops that operate at the rising edge of the clock A115, and 304 is the primary bus 101 synchronized with the clock X114 to the bus bridge 106. Input signals 1 (X) and 305 are signals 2 (X) output from the flip-flop 301, 306 is a signal 3 (A) output from the flip-flop 302, and 307 is input from the flip-flop 303 to the secondary bus 102. This is the output signal 4 (A). In FIG. 4, X1 to X9 are times of the clock X114, and A1 to A6 are times of the clock A115. Here, it is assumed that the clock X114, the clock A115, and the clock B116 are clocks having different frequencies and phases.
[0014]
In the time chart of FIG. 4, the signal 2 (X) 305 changed at X4 is taken into the flip-flop 302 at the rising edge of the clock A115 of A3. In A3, since the occurrence time of the state change of the signal 2 (X) 305 and the rising edge occurrence time of the clock A115 are very close to each other, the flip-flop 302 cannot take in the state change of the signal 2 (X) 305 and outputs it. The signal 3 (A) 306 thus obtained is in an indeterminate state (metastable state) at A4. In order to eliminate this metastable state, time is taken for one clock, and the signal 3 (A) 306 is input to the flip-flop 304 in the other stage at the rising edge of the clock A115 of A5 and synchronized with the clock A116. Signal 4 (A) 307 is generated.
[0015]
In the first embodiment, the clock used in the synchronization circuit 111 of the bus bridge 106 is the synchronization circuit clock 117 selected from the clock A 115 and the clock B 116. The switching timing of the synchronizing circuit clock 117 is the timing of the state change of the clock selection signal 113 obtained as a result of decoding the address synchronized with the clock X114. The clock X114, the clock A115, and the clock B11 6 Since these are clocks having different frequencies and phases, the time between rising edges of the synchronization circuit clock 117 before and after the switching timing is not guaranteed.
[0016]
If the address is input to the bus bridge at the same timing X3 as the signal 1 (X) 304, the clock selection signal 113 generated through the address decoder 110 is delayed in the state change from the signal 1 (X) 304. If synchronization is started with respect to the signal 1 (X) 304, the state-changed value is the flip-flop 302 at X 3 at which the rising edge of the synchronization circuit clock 117 selected by the clock selection signal 113 is generated. Is taken in. Here, if it is assumed that the output signal of the flip-flop 302 is in a metastable state, the flip-flop 302 must be released from the metastable state during Tck for the time until A3 which is the next rising edge of the clock 117 for the synchronization circuit. In step 303, the metastable state cannot be removed. As described above, before and after the switching timing of the synchronization circuit clock 117, the time between the rising edges of the clock is not guaranteed. Therefore, Tck becomes very short, and the output signal of the flip-flop 302 leaves the metastable state. May not be possible.
[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 clock selection signal 113. In the example of FIGS. 3 and 4, the input signal 1 (X) 304 Is input to the flip-flop 301 operating with the clock X114, and the state change is delayed by one clock before being input to the synchronization circuit 111.
[0018]
In the conventional method in which the clock input to the synchronization circuit 111 is not selected, the flip-flop 301 is not necessary, and thus becomes large considering the latency of only the bus bridge 106. However, since the clock X114 is considered to have a higher operating frequency than the clock A115 and the clock B116 in the whole system, the delay time shortened by deleting the synchronization circuit of the target device A108 and the target device B109. However, it can be said that it is sufficiently longer than the passing time of the flip-flop 301 operated by the clock X114, and there is no influence on the effect of adopting this method.
[0019]
Next, a second embodiment in which a master device other than the bus bridge 106 is connected to the secondary bus 102 will be described with reference to FIG. The master device newly connected to the secondary bus 102 in the second embodiment is assumed to be a device that operates with a single clock and can dynamically change the clock. An example of such a device is a DMA controller that issues a transfer request by setting a register. In FIG. 5, 501 is a master device that issues a transfer request connected to the secondary bus 102, 502 is a bus arbiter that arbitrates a plurality of bus users, and 503 is a bus bridge transfer request that is output from the bus bridge 106 to the bus arbiter 502. 504, a bus bridge transfer permission signal output from the bus arbiter 502 to the bus bridge 106, 505, a master transfer request output from the master device 501 to the bus arbiter 502, and 506, a master transfer permission output from the bus arbiter 502 to the master device 501. A signal 507 is a clock selection signal. Here, it is assumed that the transfer request signals 503 and 504 are simultaneously output to the bus arbiter 502 at the same time.
[0020]
A bus that can connect a plurality of masters requires a mechanism for arbitrating the bus user. In the second embodiment, the bus arbiter 502 not only arbitrates the bus user but also outputs a clock selection signal. In FIG. 5, the bus bridge 106 and the master device 501, which are two devices that issue a transfer request connected to the secondary bus 102, specify not only the transfer request but also which clock to operate on the bus arbiter 502. The clock selection signal to be output is output.
[0021]
The bus arbiter 502 selects a device that can start transfer on the secondary bus 102 and transmits transfer permission signals 504 and 506 to the device. At the same time, the bus arbiter 502 outputs a clock selection signal issued by the selected device to the clock selector 112. And select the clock with the frequency required by the device that has acquired the bus. In the bus arbiter 502, since the clock is also switched at the timing of switching the bus usage right, it is necessary to prevent the occurrence of bus collision and metastable by some method before and after the switching. Therefore, in the second embodiment, a system that introduces a mechanism for operating the clock switching timing by the bus arbiter 502 and a system that operates the clock by the bus bridge 106 are adopted.
[0022]
First, a method of operating the clock switching timing in the bus arbiter 502 will be described with reference to a detailed diagram of the bus arbiter 502 in FIG. 6 and a bus arbitration timing chart in FIG. In FIG. 6, reference numeral 601 denotes a bus bridge clock selection signal output for the bus bridge 106 to select the synchronization circuit clock 117, and reference numeral 602 denotes a master device that the master device 501 outputs to select the synchronization circuit clock 117. A clock selection signal, 603 is a clock selection signal selector for selecting a clock selection signal of a device to which a bus right is given, and 604 is a bus arbiter for a bus bridge transfer request 503 which is a signal output in synchronization with the clock X114 of the primary bus 101. A synchronization circuit that synchronizes to the synchronization circuit clock 117, which is an operation clock of 502, 605 is a bus bridge transfer request after synchronization synchronized by the synchronization circuit 604, and 606 is a bus bridge transfer request 605 after synchronization. Receives master transfer request 505 and determines arbitrary priority Priority is a priority determination unit that determines which device is given the bus right by law, 607 is a bus bridge selection signal that is a result determined by the priority determination unit 606, 608 is a control signal for the secondary bus 102, and 609 is A bus idle detection unit that detects that the secondary bus 102 is not in use by using the control signal 606, a bus right switching timing signal 610 as a result of the bus idle detection unit 607, and a bus bridge selection signal 607 as a bus right switching timing Fetched when the signal 610 is asserted, 611 is a flip-flop that generates a bus bridge transfer permission signal, 612 is an inverter, 613 is a signal inverted by the inverter 612, 614 is a master transfer permission signal 506 requested by the master device 501 It is a synchronization circuit that synchronizes at a clock frequency. In FIG. 7, A1 to A5 are clock A115 times, B1 to B6 are clock B116 times, 701 is an internal signal of the synchronization circuit 610 of FIG. This is the output signal of the first-stage flip-flop.
[0023]
A procedure for bus arbitration by the bus arbiter 502 will be described. The transfer request signal 503 from the bus bridge 106 is already synchronized with the synchronization circuit clock 117 in the synchronization circuit 604, and is already synchronized with the synchronization circuit clock 117. 117 Synchronized to Ru The transfer request signal 505 from the star device 501 is directly input to the priority determination unit 606. The priority determination unit 606 determines which transfer request has the higher priority by an arbitrary priority determination algorithm, and outputs a bus bridge selection signal 607 that is asserted when the bus bridge 106 is selected.
[0024]
At the same time, the bus idle detection unit 607 monitors the control signal 608 of the secondary bus 102, monitors whether the secondary bus 102 is in use, and asserts the bus right switching timing signal 610 if it is not in use. The bus bridge selection signal 607 is taken into the flip-flop 611 at the rising edge of the clock when the bus right switching timing signal 610 is asserted, and the bus bridge transfer permission signal 504 is generated. The master transfer permission signal 506 is an inversion of the bus bridge transfer permission signal 504.
[0025]
As a premise of the second embodiment, it is assumed that the master device 501 is a device that generates a transfer request by setting a register. Since such a device issues a transfer request after it is ready to transfer normal data, when the master device 501 receives the transfer permission signal 506 for the transfer request, the master device 501 passes the next synchronization without passing through the synchronization circuit. The bus output operation can be started at the rising edge of the circuit clock 117. Therefore, the bus arbiter 502 must output the master transfer permission signal 506 to the master device 501 without the synchronization circuit in synchronization with the clock requested by the master device 501. On the other hand, since the bus bridge 106 issues a transfer request 503 and acquires the bus right, the signal passes through the synchronization circuit 111 and is output to the secondary bus 102. Therefore, the bus bridge transfer permission signal 504 is synchronized with the clock. However, if the bus bridge transfer permission signal 504 is synchronized by the bus arbiter 502, the synchronization is doubled. Therefore, as shown in FIG. 6, the bus bridge transfer permission signal 504 uses the output of the flip-flop 611 as it is, and the master transfer permission signal 506 inverts the output of the flip-flop 611 by the inverter 612 and then synchronizes the signal 612. The circuit 614 synchronizes and outputs to the synchronization circuit clock 117 after clock switching, thereby avoiding duplication of synchronization.
[0026]
Details of the timing for switching the bus right from the bus bridge 106 to the master device 501 are shown in the timing chart of FIG. At A1, the master device 501 issues a transfer request 503 while the bus bridge 106 is transferring on the secondary bus 102 in synchronization with the clock A115. Here, it is assumed that the master device 501 requests transfer to the target device B 109 and desires to operate with the clock B 116. The transfer of the bus bridge 106 is completed at A1, and the bus bridge 106 lowers the transfer request 503 at the rising edge of the clock A115 of A2. At the same time, since the secondary bus 102 becomes unused, the bus right switching timing signal 610 is asserted. At the rise of the clock A115 of A3, the bus bridge transfer permission signal 504 is negated, and the master device clock selection signal 602 output from the master device 501 is selected as the clock selection signal 507. After the clock selection signal 507 is switched, the synchronization circuit clock 117 is switched from the clock A115 to the clock B116. Since the bus bridge transfer permission signal 504 is negated at the rising edge of the clock A115 of A3 which is the clock switching timing, if the inverted signal is used as it is as the transfer permission signal 506 to the master device 501, the master device 501 is used. Becomes an asynchronous signal with respect to the clock B116, which is the operation clock required by. Therefore, the value of the inverted signal 613 of the bus bridge transfer permission signal 504 is taken into the synchronized first stage flip-flop at the rise of the clock B116 of B4, and the synchronized first stage flip-flop at the rise of the clock B116 of B5. The value of the output signal 701 is taken into the synchronized second-stage flip-flop, so that the master transfer permission signal 506 synchronized with the clock B116 is generated.
[0027]
Next, a method of operating the clock with the bus bridge 106 will be described. Since the master device 501 used in the second embodiment issues a transfer request 505 when a register is set by the processor 103, to which target the master device 501 issues the transfer request 505, a transfer request issuance is issued. The processor 103 should have grasped before. Therefore, in this method, a mechanism that can be set in the bus bridge 106 so as to select and transfer a clock that is scheduled to be selected when the transfer request 505 is issued as a clock for accessing the master device 501 for register access. Provide. Some examples of such a mechanism are conceivable. One is to provide a dedicated register for setting the operation clock of the transfer issued inside the bus bridge 106 and set it before issuing the transfer for setting the register of the master device 501, and set the value of the dedicated register to the clock selection signal. As the output method. The other is that when setting the address when the transfer request 503 of the master device 501 is issued in the register in the master device 501, a mechanism for decoding the set value of the address is provided in the bus bridge 106, and the clock selection signal is sent. It is a method of determination. If the clock is selected in this way when the master device 501 accesses the register, the clock switching does not occur when the master device 501 issues the transfer request 505. Therefore, when the bus arbiter 502 outputs the master transfer permission signal 506, There is no need to provide a synchronization circuit, and the time required for bus arbitration can be shortened.
[0028]
Further, as a third embodiment, a case where a device connected to the secondary bus 102 has its own operation clock because it is connected to an external I / O or another bus will be described with reference to FIG. To do. In FIG. 8, 801 is a master device having an interface with the outside in addition to the interface with the secondary bus 102, 802 is an external I / O connected to the master device 801, and 803 is an address decoder from the external I / O 802. , 804 is a synchronization circuit that synchronizes the input signal from the external I / O 802 with the clock 117 for the synchronization circuit and the input signal from the secondary bus 102 to the operation clock of the external I / O 802, and 805 is the master device 801. Clocks C and 806 for operating the external I / O 802 are bus arbiters that receive transfer requests from the bus bridge 106 and the master device 801 and arbitrate the bus.
[0029]
In the third embodiment, since the master device 801 has a clock C805 that is a unique operation clock, it is necessary to provide a function similar to that of the bus bridge 106 in the first embodiment. That is, the address input from the external I / O 802 is decoded by the address decoder 803, output to the bus arbiter 806 together with the master transfer request 505, and when the master transfer permission signal 506 is received, the synchronization circuit 804 receives the clock C 805. Is synchronized with the clock 117 for the synchronization circuit.
[0030]
FIG. 9 shows an internal configuration of the bus arbiter 806 according to the third embodiment. In FIG. 9, reference numeral 901 denotes synchronization for synchronizing a master transfer request 505, which is a signal output in synchronization with the clock C 805, which is the operation clock of the master device 801, with the synchronization circuit clock 117, which is the operation clock of the bus arbiter 502. Reference numeral 902 denotes a master transfer request after synchronization synchronized by the synchronization circuit 901. Since the synchronization circuit 804 exists in the master device 801, the master transfer permission signal 506 is output only by inverting the bus bridge transfer permission signal 504 generated by the flip-flop 611. Even if the master device 801 operates with its own clock, the two types of target devices do not require a synchronization circuit.
[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 secondary bus 102, 107. Clock supply unit for supplying a clock to the target device A 108 connected to the secondary bus and operating on the clock A 109 109 connected to the secondary bus target device B operating on the clock B 110 110 primary bus An address decoder for decoding an address inputted from 112, a clock selector for selecting clock A and clock B, 13: Clock selection signal indicating whether clock A or clock B is selected, 117: Clock for synchronization circuit selected by clock selector, 114: Clock X on which primary bus operates, 115: Target device A Operating clock A, 116... Clock B operating target device B, 111. Synchronizing circuit inside bus bridge, 201... Clock Y operating secondary bus, 202... Synchronizing circuit inside target A, 203. B internal synchronization circuit 301... Flip-flop operating at the rising edge of clock X 302, 303... Flip-flop operating at the rising edge of clock A 304 synchronizing with clock X input to the bus bridge Signal 1 (X), 305... Output from flip-flop 301 Signals 2 (X), 306... Signal 3 (A) output from flip-flop 302, 307... Signal 4 (A) output from flip-flop 303 to the secondary bus, 501. A master device that issues a transfer request 502, a bus arbiter that arbitrates a plurality of bus users, 503 a bus bridge transfer request that is output from the bus bridge to the bus arbiter 502, 504 a bus that is output from the bus arbiter 502 to the bus bridge Bridge transfer permission signal, 505... Master transfer request output from master device 501 to bus arbiter 502, 506... Master transfer permission signal output from bus arbiter 502 to master device 501, 507... Clock selection signal, 601. Output to select the clock for the control circuit A bridge clock selection signal, 602... A master device clock selection signal output for the master device 501 to select a clock for a synchronization circuit, 603... A clock selection signal selector for selecting a clock selection signal of a device to which a bus right is given, 604... Synchronizing circuit for synchronizing a bus bridge transfer request, which is a signal output in synchronization with the clock X, with the synchronizing circuit clock, 605... Synchronized bus bridge transfer request synchronized with the synchronizing circuit 604 606: a priority determination unit that receives a bus bridge transfer request and a master transfer request after synchronization and determines which device is given the bus right by an arbitrary priority determination method; 607: a determination by a priority determination unit Bus bridge selection signal, 608... Secondary bus control signal, 609. A bus idle detection unit that detects that the secondary bus is not in use, 610... Bus right switching timing signal that is a result of the bus idle detection unit, 611... Flip-flop that generates a bus bridge transfer permission signal, 612. 613: Signal after being inverted by the inverter, 614: Synchronization circuit for synchronizing the master transfer permission signal at the clock frequency required by the master device 501, 701: Internal signal of the synchronization circuit 614, two stages for synchronization Of the prepared flip-flops, the output signal of the first-stage flip-flop, 801... Master device having an interface with the outside in addition to the interface with the secondary bus, 802... External I connected to the master device 801 / O, 803 ... Address decoder from external I / O, 804 ... Master Synchronizing circuit in the device 801, 805... Clock C for operating the master device 801, 806... Bus arbiter that receives a transfer request from the bus bridge and the master device 801 and arbitrates the bus, 901. A synchronization circuit that synchronizes a master transfer request 505 that is a signal to be synchronized with the clock 117 for the synchronization circuit, 902... Master transfer request after synchronization synchronized by the synchronization circuit 901, X1 to X9. A1 to A6: time of clock A115, B1 to B6: time of clock B116.

Claims (4)

少なくとも2種類のクロック同期式バスである1次バスと2次バスと、該2種類のバスを結ぶバスブリッジと、該1次バスに接続される転送要求を出力する少なくとも1種類のクロック同期式マスタデバイス1と、該2次バスに接続される互いに周波数または周期の異なるクロックで動作し転送要求を受信する少なくとも2種類のクロック同期式ターゲットデバイスと、該マスタデバイス1と該ターゲットデバイスと該バスブリッジにクロックを供給するクロック供給部を備えるシステムにおいて、該バスブリッジ内部に、該マスタデバイスからの転送要求の転送先を検出するアドレスデコーダと、該アドレスデコーダで検出された転送先の該ターゲットデバイスの動作クロックを示すクロック選択信号を出力する手段と、該1次バスのクロックで動作する信号を該2次バスのクロックで、該2次バスのクロックで動作する信号を該1次バスのクロックで同期化する同期化回路とを備え、該クロック選択信号により該2種類以上のターゲットデバイスの動作クロックから該アドレスデコーダで検出された転送先の該ターゲットデバイスの動作クロックを選択して該2次バスのクロックとして該同期化回路に入力するクロック選択部を備えることにより、該2次バスに出力される信号がデータの転送先の該ターゲットデバイスによって異なるクロックに同期していることを特徴とするバス制御システム。  At least two types of clock synchronous buses, which are a primary bus and a secondary bus, a bus bridge that connects the two types of buses, and at least one clock synchronous type that outputs a transfer request connected to the primary bus A master device 1; at least two types of clock synchronous target devices that operate on clocks having different frequencies or periods connected to the secondary bus and receive transfer requests; the master device 1, the target device, and the bus In a system including a clock supply unit that supplies a clock to a bridge, an address decoder that detects a transfer destination of a transfer request from the master device in the bus bridge, and the target device of the transfer destination detected by the address decoder Means for outputting a clock selection signal indicating the operation clock of the primary bus, and a clock for the primary bus. And a synchronizing circuit that synchronizes a signal that operates on the clock of the secondary bus with a clock of the secondary bus, and a signal that operates on the clock of the secondary bus with the clock of the primary bus. By providing a clock selection unit that selects the operation clock of the target device of the transfer destination detected by the address decoder from the operation clock of the target device and inputs it to the synchronization circuit as the clock of the secondary bus, A bus control system, wherein a signal output to the secondary bus is synchronized with a different clock depending on the target device to which data is transferred. 請求項1記載のバス制御システムにおいて、該バスブリッジは、該1次バスから該バスブリッジに入力される信号を、該クロック選択信号の状態変化のタイミングよりも遅いタイミングで該同期化回路に入力して該2次バスのクロックで同期化することを特徴とするバス制御システム。  2. The bus control system according to claim 1, wherein the bus bridge inputs a signal input from the primary bus to the bus bridge to the synchronization circuit at a timing later than a timing of a state change of the clock selection signal. And synchronizing with the clock of the secondary bus. 請求項1のバス制御システムにおいて、該2次バスに接続される少なくとも1種類のマスタデバイス2を備え、該バスブリッジと該マスタデバイス2が出力する転送要求について、バス使用許可を該バスブリッジと該マスタデバイス2に交互に与えると同時に、バス使用許可を与えられた該バスブリッジもしくは該マスタデバイス2の希望する、転送先の該ターゲットデバイスの動作クロックが該2次バスの動作クロックとして選択されるように該クロック選択部にクロック選択信号を出力する機能を備え、異なるクロックに同期した信号が該2次バス上で衝突しないように転送要求を調停するバスアービタを備えることを特徴とするバス制御システム。2. The bus control system according to claim 1, comprising at least one type of master device 2 connected to the secondary bus, wherein the bus bridge and a transfer request output from the master device 2 are granted permission to use the bus with the bus bridge. At the same time that the master device 2 is alternately supplied, the operation clock of the target device of the transfer destination desired by the bus bridge or the master device 2 to which the bus use permission is given is selected as the operation clock of the secondary bus. a function of outputting a clock selection signal to said clock selecting portion so that, a signal synchronized with a different clock, characterized in that it comprises a Luba Suabita to arbitrate transfer requested not to collide on the secondary bus Bus control system. 該2次バスに接続される、該2次バスの動作クロックのみで動作する少なくとも1種類のマスタデバイス2を備える、請求項1のバス制御システムにおいて、該バスブリッジと該マスタデバイス2が出力する転送要求について、バス使用許可を該バスブリッジと該マスタデバイス2に交互に与えると同時に、バス使用許可を与えられた該バスブリッジもしくは該マスタデバイス2の希望する、転送先の該ターゲットデバイスの動作クロックが該2次バスの動作クロックとして選択されるように該クロック選択部にクロック選択信号を出力する機能を備え、異なるクロックに同期した信号が該2次バス上で衝突しないように転送要求を調停するバスアービタであって、該バスアービタから出力される該マスタデバイス2に対する転送許可信号を、該マスタデバイス2が希望する該2次バスの動作クロックに同期して出力することを特徴とするバスアービタを備えるバス制御システム。Is connected to the secondary bus, comprising at least one master device 2 to operate only in the operation clock of the second bus, the bus control system of claim 1, said bus bridge and said master device 2 outputs As for the transfer request, the bus bridge and the master device 2 are alternately given a bus use permission, and at the same time, the operation of the target device of the transfer destination desired by the bus bridge or the master device 2 to which the bus use is granted. A function of outputting a clock selection signal to the clock selection unit so that a clock is selected as an operation clock of the secondary bus is provided, and a transfer request is made so that signals synchronized with different clocks do not collide on the secondary bus. a bus arbiter for arbitrating the transfer permission signal to the master device 2 which is output from the bus arbiter Bus control system with the features and to Luba Suabita that the master device 2 is output in synchronization with the operation clock of the secondary buses desired.
JP2001153343A 2001-05-23 2001-05-23 Bus control system Expired - Fee Related JP4124579B2 (en)

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)

* Cited by examiner, † Cited by third party
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 (en) * 2006-02-24 2012-01-18 富士通株式会社 Data transfer device, data transfer system, and data transfer device control method
JP5528939B2 (en) * 2010-07-29 2014-06-25 ルネサスエレクトロニクス株式会社 Microcomputer

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
JP3954011B2 (en) Method and computer system for communicating between subsystems
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
JP2008059047A (en) Information processing system and control method therefor
JPH10320349A (en) Processor and data transfer system using the processor
KR100487218B1 (en) Apparatus and method for interfacing an on-chip bus
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