(57)【特許請求の範囲】
【請求項１】
プロセッサが接続されるプロセッサバスと外部デバイスが接続される外部バスとの間を接続するバスブリッジ回路において、外部メモリと接続されるメモリ結合線、プロセッサバスと接続されるプロセッサバス結合線、および、外部バスと接続される外部バス結合線と、前記メモリ結合線の接続をプロセッサバス結合線側と外部バス結合線側との何れかに切り換える第１切換手段と、上記プロセッサバスのバス権を要求する機能とを備え、
上記プロセッサバス結合線からの上記外部メモリへのアクセス時に上記第１切換手段により上記プロセッサバス結合線と上記メモリ結合線とが、また上記外部デバイスから上記外部メモリへのアクセス時に上記外部バス結合線と上記メモリ結合線とがダイレクトに接続可能であって、
上記外部バス側からの上記外部メモリへのアクセスの際に、上記プロセッサバスが使用されてない場合にはそのバス権を獲得した上で上記第１切換手段を上記外部バス結合線側に切り換えるように構成されてなることを特徴とするバスブリッジ回路。
【請求項２】
上記プロセッサバス結合線と外部バス結合線側との接続を遮断可能な第２切換手段を備え、この第２切換手段の遮断制御により、外部バス結合線とプロセッサバス結合線とを切り離し可能に構成されてなることを特徴とする請求項１記載のバスブリッジ回路。
【請求項３】
プロセッサが接続されたプロセッサバスと、ダイレクトメモリアクセスが可能な外部デバイスが接続された外部バスと、上記プロセッサバスと外部バスとを接続する請求項１または請求項２の何れかに記載のバスブリッジ回路とを備えたデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、２つのバスを有するデータ処理システムにおけるメモリアクセス方式に適用して有用な技術に関し、更にはプロセッサバスと外部バスとを有し高速にメモリアクセス可能なＣＰＵと低速に動作する外部デバイスとが混在したデータ処理システムにおける２つのバス間を接続するバスブリッジ回路に利用して特に有用な技術に関する。
【０００２】
【従来の技術】
ＣＰＵが接続されたプロセッサバスと外部デバイスが接続された外部バスのように互いに速度の異なる２つのバスを備えたマイクロコンピュータシステムにおいて、２つのバス間をバスブリッジ回路で接続してデータ転送を行う技術が知られている。
【０００３】
このようなシステムにおいては、ＲＡＭなどからなる主メモリはプロセッサバスに外部メモリとして接続されてプロセッサ（以下、ＣＰＵと記す）から直接アクセスされるのが一般的である。また、ハードディスクなどの外部デバイスがＣＰＵを介さずに外部メモリにアクセスするＤＭＡ（Direct Memory Access）機能を備えたシステムがある。従来、かかるシステム及び外部デバイスがバスブリッジ回路とプロセッサバスを介して上記の外部メモリにアクセスするように構成されていた。
【０００４】
この場合、外部デバイスとＣＰＵとによるプロセッサバスの競合が生じるので、それを調整する方法として、外部デバイスから外部メモリへアクセスする際は、外部デバイスからＣＰＵへのメモリアクセス要求に応じて、ＣＰＵがプロセッサバスのバス権を外部バスに与えた後に、バスブリッジ回路内のインターフェースを介して外部デバイスがプロセッサバスにアクセスし外部メモリを使用すると云った方法がある。
【０００５】
ところが、上記のようなシステムでは、プロセッサバスを介したＣＰＵによる外部デバイスへのアクセスＡと、外部デバイスから外部メモリへのアクセスＢとが、同時に発生した場合、何れのアクセスＡ，Ｂも動作が進行しない所謂バスデッドロックが発生する。これは、上記のようなアクセスＡ，Ｂにより、プロセッサバスのバス権はＣＰＵに、外部バスのバス権は外部デバイスに獲得される一方、ＣＰＵは外部バスのバス権獲得要求を出したままウェイト状態になり、同様に、外部デバイスはプロセッサバスのバス権獲得要求を出したままウェイト状態となるためである。
【０００６】
このようなバスデッドロックを回避するため、次の４つの技術が考えられる。
【０００７】
１つ目は、バスデッドロックを検出する手段とプロセッサバス制御用の専用線とを設け、バスデッドロックが検出された場合に専用線にてＣＰＵへ報告してプロセッサバスを解放させ、バス権をバスブリッジ回路へ渡す技術である。
【０００８】
２つ目は、バスブリッジ回路に外部デバイスの制御機能を設け、プロセッサバス側から外部デバイスのアクセスを間接的なものに限定し、直接的なアクセスをバスブリッジ回路にゆだねる技術である。それにより、ＣＰＵが外部デバイスへアクセスする場合でも、ＣＰＵはバスブリッジ回路へのアクセスのみすれば良く、外部バスが占有されていてもウェイト状態になることなくアクセスを終えプロセッサバスを開放できる。
【０００９】
３つ目は、バスブリッジ回路に外部メモリの制御機能を設けると共に、外部メモリをプロセッサバスから切り離してバスブリッジ回路に接続させ、バスブリッジ回路を介してプロセッサバスおよび外部バスからのメモリアクセスを可能とする技術である。それにより、外部デバイスによるメモリアクセス時にプロセッサバスのバス権獲得が不要となり、上記バスデッドロックが回避される。
【００１０】
４つ目は、外部バスのアービタをバスブリッジ回路に設け、ＣＰＵから外部バスへのアクセス優先度を高くし、前述したアクセスＡ，Ｂが競合した場合に、ＣＰＵからのアクセスを優先させる技術である。
【００１１】
【発明が解決しようとする課題】
しかしながら、上記のバスデッドロックを回避する技術では、次のような課題を有していた。
【００１２】
即ち、１つ目の技術は、外部デバイスにアクセスしている途中にアクセスを中断してプロセッサバスを開放できないタイプのＣＰＵを含むシステムに対しては、適用できないといった課題がある。一方、ＣＰＵがアクセスを中断できるタイプであっても、バスデッドロックの検出には一定時間が必要であるため、この技術を適用すると性能劣化が生じるという課題が発生する。
【００１３】
また、２つ目の技術では、ＣＰＵが間接的なアクセスで外部デバイスを制御するため、そのアクセス手順が複雑になり、その分外部デバイスへのアクセスに要する時間が増加して性能劣化が生じるという課題が発生する。
【００１４】
３つ目の技術では、ＣＰＵが外部メモリを連続アクセス可能な外部メモリインターフェースを内蔵するタイプである場合に、バスブリッジ回路の制御機能が介在することで、この連続アクセスが利用できなくなり、システムの大幅な性能劣化が生じる。
【００１５】
４つ目の技術では、バスブリッジ回路にアービタを設けるため、既にアービタの存在する独立した外部バスをそのまま接続するということはできず、新たにシステム設計をし直す必要がある。
【００１６】
この発明の目的は、上記の知見に基づいてなされたもので、バスデッドロックを回避しつつＣＰＵのメモリアクセスの性能を劣化させないバスブリッジ回路ならびにデータ処理システムを提供することにある。
【００１７】
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
【００１８】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
【００１９】
すなわち、ＣＰＵ（１０）が接続されるプロセッサバス（２）と外部デバイス（７０）が接続される外部バス（３）との間を接続するバスブリッジ回路（２０）に、外部メモリ（３０）と接続されるメモリ結合線（３０Ａ）、プロセッサバス２と接続されるプロセッサバス結合線（２Ａ）、および、外部バス（３）と接続される外部バス結合線（３Ａ）並びに、前記メモリ結合線（３０Ａ）の接続をプロセッサバス結合線（２Ａ）側と外部バス結合線３Ａ側との何れかに切り換える第１切換手段（２６）とを備え、プロセッサバス側からの上記外部メモリへのアクセス時に上記第１切換手段２６によりプロセッサバス結合線（２Ａ）とメモリ結合線（３０Ａ）とを、また、外部デバイスから外部メモリへのアクセス時には外部バス結合線（３Ａ）とメモリ結合線（３０Ａ）とをダイレクトに接続可能にしたものである。
【００２０】
この手段によれば、外部メモリがプロセッサバスから切り離されてバスブリッジ回路に接続されるので、外部デバイスのメモリアクセス時にプロセッサバスのバス権が必要とはならず、外部デバイスのメモリアクセスとプロセッサバスから外部バスへのアクセスが同時に発生した場合でも、バスデッドロックを回避できる。更に、プロセッサバスからのメモリアクセス時には外部メモリがダイレクトに接続されるので、ＣＰＵのメモリアクセスの性能低下を生じさせない。
【００２１】
更に、上記バスブリッジ回路（２０）に、プロセッサバス結合線（２Ａ）と外部バス結合線（３Ａ）側との接続を遮断可能な第２切換手段（２７）を設ける。これにより、この第２切換手段の遮断制御によって、例えば外部デバイスが外部メモリをアクセスしているときにプロセッサによる外部デバイスへのアクセスが生じるのを想定して予めプロセッサバスのバス権を獲得しなくても外部バスから外部メモリへのアクセスを行うことが出来る。
【００２２】
また、上記バスブリッジ回路に、プロセッサバス（２）に接続されたＣＰＵ（１０）等へウェイト信号を出力するウェイト信号生成回路（２２）を設け、外部バス側からの外部メモリへのアクセス中にプロセッサバス側から外部バス側へのアクセスがあった場合に、ウェイト信号を出力してこのアクセスを待機させ、外部デバイスによるメモリアクセスを実行させることで、バスデッドロックを確実に回避することが出来る。
【００２３】
望ましくは、上記バスブリッジ回路に、プロセッサバスのバス権を要求する機能を持たせ、外部バス側から外部メモリへのアクセスの際に、プロセッサバスが使用されてない場合にはそのバス権を獲得した上で第１切換手段を外部バス結合線側へ切り換えるようにする。これにより、容易に外部デバイスのメモリアクセスとＣＰＵのメモリアクセスとが競合しないようにすることが出来る。
【００２４】
また、上記バスブリッジ回路を備えたデータ処理システムにあっては、ＣＰＵが外部メモリに連続アクセス（例えばバーストモードアクセス、ページモードアクセス、高速ページモードアクセスなど）可能な外部メモリインターフェースを有するタイプである場合に、この連続アクセスの性能を低下させることがないため特に効果的である。また、ＣＰＵが外部デバイスへのアクセス途中に１単位のアクセスが終了するまで（例えば外部バスのバス権獲得待機中や、外部デバイスからのデータ待ちの間に）プロセッサバスを開放できないタイプである場合でも、上記バスブリッジ回路のウェイト信号生成回路またはバス権要求機能によって、外部デバイスによる外部メモリアクセス中にＣＰＵが外部デバイスへのアクセスを開始するのを回避できるので有効である。
【００２５】
ところで、上記のバスブリッジ回路のようにプロセッサバスと外部メモリ結合線とをダイレクトに接続すると、接続部等において信号遅延が生じる場合がある。このような信号遅延がある場合、従来は、ＣＰＵやメモリの動作クロック周波数を落とすことで対処していた。しかしながら、上記のような信号遅延があり且つ外部メモリに同期式メモリを使用しているシステムの場合には、信号遅延をもたらす回路内にラッチ回路を設けると共に、同期式メモリにおける所定のストローブ信号（例えばＣＡＳ：Column Address Strobe）の入力から読出データの出力までのレイテンシ（待ち時間）と、上記ＣＰＵ（その他のデバイスにも適用可能である）における所定のストローブ信号の出力から読出データの入力までのレイテンシとを異なる値（後者を大きな値）に設定することで、ＣＰＵやメモリの動作クロック周波数を落とすことなく、上記任意の回路の信号遅延を吸収しつつＣＰＵによる同期式メモリの同期アクセスを可能とすることが出来る。動作クロック周波数を落とすのとメモリアクセス時にＣＰＵへのデータの取込みを数クロック分遅延させるのとを較べれば、後者の方がシステムの性能を数段高く維持することが出来る。また、ＣＰＵが予めメモリの遅延クロック数を知っていれば、待ち時間に内部で他の処理を行うこともできる。
【００２６】
あるいは、ＣＰＵの外部メモリインターフェース又はプロセッサバス（その他のデバイスにも適用可能である）に入力されるクロック信号と、上記ラッチ回路および同期式メモリに入力されるクロック信号との位相を互いにずらし、例えば後者の位相を上記信号遅延分だけ遅らせるようにする。これにより、位相をずらさない場合に較べて、上記同期式メモリと上記デバイスとのレイテンシの差を１つ小さくあるいは同じにすることができ、更にシステム性能を向上させることが可能となる。
【００２７】
【発明の実施の形態】
以下、本発明の好適な実施例を図面に基づいて説明する。
【００２８】
〔第１の実施の形態〕
図１は、本発明を適用して好適なデータ処理システムの第１実施例を示す概略構成図である。
【００２９】
図１において、１０はプログラムに従って動作し、システム全体の統括制御を行うＣＰＵ（Central Processing Unit）、３０はＣＰＵ１０や外部デバイス７０で使用するデータを記憶する主記憶メモリとしての外部メモリである。２は高速データ転送を可能としたプロセッサバスであり、ＣＰＵ１０の他にビデオや高速ＬＡＮ（Local Area Network）、ワークステーションなどでは複数のＣＰＵが接続されることもある。３はＰＣＩ（Peripheral Component Interconnect）バスやＩＳＡ（Industrial Standard Architecture）バスなど比較的低速な外部バスであり、外部デバイス７０として例えばモデムやハードディスクなどが接続される。外部デバイス７０と外部メモリ３０との間ではＤＭＡ（Direct Memory Access）転送が可能であった。２０は、上記バス２，３間を接続するための本発明に係るバスブリッジ回路としてのバスブリッジ回路である。
【００３０】
上記の外部メモリ３０は、例えば同期式ＤＲＡＭ（Synchronous Dynamic Random Access Memory）等の半導体メモリで構成され、外部からのアドレス指定後に内部でアドレスを自動生成することで１クロックごとにデータ入出力を連続して複数回行うバーストモードを備えている。また、特に限定されないが、この外部メモリ３０は、ＣＡＳ（Column Address Strobe）信号入力から読出データ出力までの遅延時間（CAS Latency：以下ＣＡＳレイテンシと称する）を１クロック間隔で設定できる機能を有している。ＣＡＳレイテンシの設定はシステムの起動時に外部メモリ３０の所定のレジスタに設定データを書き込むことで行われ、この実施例のシステムにおいては電源投入時に起動されるＯＳ（オペレーションシステム）あるいはバイオスプログラムに従ってＣＰＵ１０が行う。
【００３１】
ＣＰＵ１０は、例えばリスク方式のプロセッサーであり、内部に各種レジスタやキャッシュメモリ、並びに、外部メモリインターフェース回路１１を備えている。外部メモリインターフェース回路１１は、外部メモリ３０と直接に同期アクセス可能であると共に、上述のバーストモードでのアクセスも直接行うことが可能となっている。上記プロセッサバス２および外部バス３はそれぞれアドレス線、データ線、制御線から構成される。
【００３２】
バスブリッジ回路２０は、特に制限されないが、１の半導体チップに半導体集積回路として構成されており、その内部に、外部メモリ３０と外部バス３とを接続するインターフェース並びに動作周波数の異なるプロセッサバスと外部バスとを接続するインターフェースの両機能を備えたインターフェース回路２１や、例えばトライステートによりバス切換を行う第１切換器２６および第２切換器２７、これら第１および第２切換器２６，２７等の制御を行うバス調停回路２２、プロセッサバス２のバス使用を要求するバス権獲得要求信号を出力する専用線２４および外部デバイス７０へのアクセスを待機させるウェイト信号２５を出力する専用線、並びに、ＣＰＵ１０からプロセッサバス２のバス権を与えたことを知らせるバス権許可信号を入力する専用線１２等が設けられている。これら専用線は、ＣＰＵ１０とバス調停回路２２とを直接接続している。
【００３３】
バス調停回路２２は、インターフェース回路２１を介して外部バス３の制御線に接続され、外部デバイス７０からの外部メモリ３０へのアクセス要求を監視している。同様に、信号線２８によりプロセッサバス２の制御線に接続され、プロセッサバス２から外部デバイス７０へのアクセス要求を監視している。
【００３４】
このバスブリッジ回路２０において、プロセッサバス２に接続されるプロセッサバス結合線２と、外部メモリ３０に接続される外部メモリ結合線３０Ａとは、第1および第２切換器２６，２７の切り換えによりダイレクトに接続可能な構成となっている。すなわち、プロセッサバス２と外部メモリ結合線３０Ａとがメタルラインにより１対１の関係で接続されたのと同様の状態に接続可能な構成である。
【００３５】
次に、この実施の形態のデータ処理システムの動作、特にバスブリッジ回路の動作について説明する。
【００３６】
先ず、ＣＰＵ１０から外部メモリ３０へのアクセスは、ＣＰＵ１０内部の外部メモリインターフェース回路１１が発生するメモリアクセス信号４０をバスブリッジ回路２０の内部を経由して外部メモリ３０に送信して行う。バス調停回路２２は、制御信号２３によりＣＰＵ１０がメモリアクセス可能なタイミングにおいて、常に外部メモリ結合線３０Ａとプロセッサバス結合線２Ａとが接続されるように制御している。即ち、プロセッサバス２から外部バス３へのアクセス、並びに、プロセッサバス２のバス権がバス調停回路２２に獲得されている場合以外において、バス調停回路２２は上記のようにプロセッサバス結合線２Ａと外部メモリ結合線３０Ａとをスルーの状態にしておく。このようにすることで、バス調停回路２２による切換器２６，２７の切換え動作時間がＣＰＵ１０のメモリアクセスに影響を及ぼさないように出来る。
【００３７】
プロセッサバス２から外部バス３へのアクセス６０は、バスブリッジ回路２０のインターフェース回路２１を介して信号のタイミングを変換することで行う。バス調停回路２２により、プロセッサバス２から外部バス３へのアクセス要求が検出されると、制御信号２３により第１切換器２７がインターフェース回路２１に切り換えられる。そして、アクセス終了後、第１切換器２７が第２切換器２６側に戻される。外部バス３側から外部メモリ３０へのアクセスは、外部デバイス７０のメモリアクセス信号５０を、バスブリッジ回路２０のインターフェース回路２１を経由して信号のタイミングを変換した後、外部メモリ３０に転送することで行う。
【００３８】
バス調停回路２２は、インターフェース回路２１内の外部バス制御信号の監視により、外部バス３側からのメモリアクセス要求があることを検出すると、ＣＰＵ１０のメモリアクセス３０が無い場合に、先ず、ＣＰＵ１０にプロセッサバス２のバス権獲得要求信号２４を出力する。そして、プロセッサバス２が開放されていてＣＰＵ１０からバス権許可信号１２が入力されてバス権を獲得できると、制御信号２３を出力して第１および第２切換器２６，２７の切り換えを行い、外部バス３に接続された外部バス結合線３Ａと外部メモリ結合線３０Ａとの連結を行う。
【００３９】
一方、プロセッサバス２から外部バス３へのアクセス６０があってプロセッサバス２のバス権が獲得できない場合には、バス調停回路２２は専用線にてウェイト信号２５をＣＰＵ１０に出力し、ＣＰＵ１０から外部デバイス７０へのアクセスを待機させた後、第２切換器２７を第１切換器２６側に連結させる（即ち、プロセッサバス２と外部バス３との接続を遮断する）と共に、第１切換器２６を外部バス結合線３Ａ側に切り換え、外部バス３に接続された外部バス結合線３Ａと外部メモリ結合線３０Ａとを連結する。
【００４０】
また、外部バス３側から外部メモリ３０へのアクセス要求時に、プロセッサバス２側から外部メモリ３０にアクセス中の場合には、アクセス終了まで待機して終了後に上述の制御を行う。
【００４１】
なお、特に限定はしないが、バスブリッジ回路２０に外部メモリ３０を利用する回路が設けられ、この回路から外部メモリ３０へのアクセスが発生した場合には、バス調停回路２２が外部バス３側から外部メモリ３０にアクセスする場合と同様な制御を行う。
【００４２】
また、外部メモリ３０が外部からのリフレッシュ信号を必要とするＤＲＡＭである場合に、ＣＰＵ１０から外部バス３へのアクセス６０が、外部バス３のバス権待機や外部デバイス７０からのデータ待ちなどにより一定時間で終了できない場合には、バスブリッジ回路２０にリフレッシュ信号生成機能を設け、バスブリッジ回路２０によりリフレッシュ制御を行わせるのが好ましい。
【００４３】
以上のように、この実施の形態のバスブリッジ回路２０並びにデータ処理システムによれば、外部メモリ３０がプロセッサバス２から切り離されてバスブリッジ回路２０を介して間接的に接続されるので、外部デバイス７０のメモリアクセスとＣＰＵ１０の外部バス３へのアクセスが同時に生じた場合でも、バスデッドロックが生じない。しかも、プロセッサバス２側からのメモリアクセス時には、プロセッサバス２と外部メモリ結合線３０Ａとがダイレクトに接続されるので、高機能な外部メモリインターフェース回路１１を備えたＣＰＵ１０のメモリアクセス性能を低下させない。
【００４４】
また、外部デバイス７０からの外部メモリ３０へのアクセスとＣＰＵ１０からの外部バス３へのアクセスが同時に生じた場合、バスデッドロックを回避するためにプロセッサバス２を開放させるのではなく、プロセッサバス２は占有させたままＣＰＵ１０に待機させる構成なので、ＣＰＵ１０が外部デバイス７０へのアクセス途中に１単位のアクセスが終了するまでプロセッサバス２を開放できないタイプのＣＰＵであるシステムにおいても適用可能である。
【００４５】
〔第２の実施の形態〕
図２は、本発明を適用して好適なデータ処理システムの第２実施例を示す概略構成図である。
【００４６】
この第２実施例は、第１実施例のシステムにおいて、外部メモリ３０がクロック信号に同期して動作する同期式メモリ（シンクロナスＤＲＡＭ）である場合に、バスブリッジ回路２０を介したプロセッサバス結合線２Ａと外部メモリ結合線３０Ａとのダイレクトの接続により、僅かな信号遅延が生じてＣＰＵ１０と外部メモリ３０との同期アクセスが安定して行えない場合に、その不具合を回避するため、ラッチ回路８０を設けるとともに、ＣＰＵ１０内の外部メモリインターフェース回路１１と外部メモリ３０のＣＡＳレイテンシ設定の仕方を以下のように工夫したものである。その他の構成は第１実施例と同様であるので同一の回路および構成手段は特に同一符号を付して説明を省略する。
【００４７】
図３に、上記ＣＰＵ１０と外部メモリ３０との接続部の詳細を示す。
【００４８】
同図に示すようにこの実施例では、ＣＰＵ１０と外部メモリ３０とをダイレクトに接続するのでなく、バスブリッジ回路２０における第１および第２切換器２６，２７の中間にラッチ回路８０を挿入して接続している。図中、４１はプロセッサバス２の制御信号線、４２はアドレス信号線、４５はデータ信号線である。また、８１〜８４はラッチであり、ラッチ８１〜８４を介してデータ送受信が行われることでデータの到達時間が１クロック分遅くなる。この実施例では、その１クロックの遅延により上記ダイレクトで接続した場合の信号遅延を吸収することができる。また、ラッチ８１〜８４の前後には、特に制限されないがそれぞれバッファを介在させてある。
【００４９】
ＣＰＵ１０の外部インターフェース回路１１にはクロック信号ＣＫ１が、ラッチ回路８０および外部メモリ３０には、ＣＫ１と同一周波数のクロック信号ＣＫ２が入力されている。通常、両者のクロック信号ＣＫ１，ＣＫ２は同じ位相とされる。
【００５０】
この実施例では、システム起動時のバイオス設定において、外部メモリインターフェース回路１１と外部メモリ３０とに、それぞれリードアクセス時のＣＡＳレイテンシ（CAS Latency）の設定が行われるようになっている。なお、ＣＡＳレイテンシは同期式メモリの独特の仕様であり、内部に設けられた所定のレジスタへの設定値により、アドレスが入力されてから何クロック目でデータを出力するか変えられる機能である。ＣＡＳレイテンシの設定は、通常の外部メモリのアクセスと同様にして、プロセッサバス２をおよび切換え回路２６，２７を介して外部メモリにＣＡＳレイテンシの入るレジスタのアドレスとデータを送ることにより行なうことができる。
【００５１】
この実施例では、外部メモリインターフェース回路１１のＣＡＳレイテンシ設定値を例えば「３」に、外部メモリ３０のＣＡＳレイテンシ設定値を「１」に設定する。この設定は、本発明の特徴的な設定であり、バイオスプログラムの設定データを書き換えておくことで行われる。なお、通常はＣＰＵとメモリのレイテンシは同一値に設定される。
【００５２】
次に、上記のラッチ回路８０を設け上記のＣＡＳレイテンシ設定を行った本実施例のシステムにおける、ＣＰＵ１０と外部メモリ３０間のデータ転送動作について図４のタイムチャートに基づき説明する。
【００５３】
図４は、ＣＰＵ１０から外部メモリ３０へのデータ書込時と読み出し時に、プロセッサバス２に出力される信号と外部メモリ３０に供給される信号の変化を示すタイムチャートである。
【００５４】
同図（ａ）に示すように、外部メモリ３０への書き込み時には、プロセッサバス２から所定のタイミングで出力されるＲＡＳ信号、ＣＡＳ信号および書込データは、それぞれラッチ８１〜８３を通過して外部メモリ３０に到達されるので、それぞれ１クロック分遅れて外部メモリ３０に到達する。外部メモリ３０に到達したＲＡＳ信号、ＣＡＳ信号および書込データは、信号の順番や信号が出力されるタイミングの相対的なずれはないので、外部メモリ３０の制御はラッチ回路８０が無い場合と同様である。
【００５５】
一方、図４（ｂ）に示すように、外部メモリ３０からの読み出し時には、ＣＰＵからプロセッサバス２へＲＡＳ信号とＣＡＳ信号とが１クロック差で出力され、それが外部メモリ３０に１クロック遅れて到達する。その後、外部メモリ３０はＣＡＳレイテンシ設定値が「１」であるので、ＣＡＳ信号の入力から１クロック遅れて読出データを出力する。そして、この読出データがラッチ８４を通過することで１クロック分遅延されてプロセッサバス２に出力される。ここで、プロセッサバス２の状態を見れば、ＣＡＳ信号の出力から３クロック分送れて読出データが出力されている。しかるにこの実施例では、ＣＰＵ１０の外部メモリインターフェース回路１１はＣＡＳレイテンシの設定値が「３」にセットされているので、ＣＰＵはなんら問題なくバス上のデータを取り込むことが可能となる。
【００５６】
〔その他の実施例▲１▼〕
図５には、ＣＰＵ１０および外部メモリ３０の接続部のその他の構成例のブロック図を、図６には、この場合にプロセッサバス２と外部メモリ３０に出力される信号のタイムチャートを示す。
【００５７】
この実施例は、第１実施例のシステムにおいて、バスブリッジ回路２０におけるプロセッサバス結合線と外部メモリ結合線とのダイレクトの接続で、外部メモリ３０への書込み動作は安定し、読出し動作についてのみ不安定になる場合に、図５に示すように、データ線の読出しライン４４にのみラッチ８４を設け、他の書込みライン（制御線４１，アドレス線４２、データ線の書込みライン４３）はラッチを設けないようにしたものである。この場合には、図６に示すように、外部メモリ３０のＣＡＳレイテンシを１クロックに、ＣＰＵ１０の外部メモリインターフェース回路１１のＣＡＳレイテンシを２クロックに設定することで、信号遅延による不具合を払拭して同期アクセスを行うことができる。この場合、データ読出し時のＣＡＳレイテンシを、外部メモリ３０のＣＡＳレテンシよりも１クロックだけ遅くさせるだけで済むので、第２の実施例よりは高速なメモリアクセスが出来る。
【００５８】
〔その他の実施例▲２▼〕
図７には、図３の実施例の構成において外部メモリインターフェース回路１１と外部メモリ３０に供給されるクロック信号ＣＫ１，ＣＫ２の位相を１８０°ずらした場合に、プロセッサバス２に出力される信号と外部メモリ３０に供給される信号の変化を示すタイムチャートである。
【００５９】
この実施例は、同図に示すように、外部メモリインターフェース回路１１に出力されるクロック信号ＣＫ１の位相と、ラッチ回路８０および外部メモリ３０に出力されるクロック信号ＣＫ２の位相とを、互いに約１８０°ずらした場合のものである。
【００６０】
この場合にも、外部メモリ３０のＣＡＳレイテンシが１クロックの場合に、ＣＰＵ１０の外部メモリインターフェース回路１１のＣＡＳレイテンシを２クロックに設定することが出来る。すなわち、１クロック分メモリアクセスタイミングを早くすることが出来る。
【００６１】
外部メモリインターフェース回路１１は、クロック信号ＣＫ１の立ち上がり時にデータをとり込むので、読出データが半クロックずれて到達しても十分にデータのとり込みを行うことが出来る。
【００６２】
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００６３】
例えば、外部メモリとして同期式のＳＤＲＡＭを一例に挙げたが、本発明に係るバスブリッジ回路を非同期式の外部メモリを使用したシステムにを適用した場合でも、メモリアクセス性能を維持しながらバスデッドロックを回避すると云った効果が得られる。また、ＣＰＵから外部メモリへの連続アクセスの一例として、ＳＤＲＡＭにおけるバーストモードを挙げたが、その他、列アドレスの指定のあと行アドレスの指定を連続的に行うことでメモリアクセスのサイクルタイムを短くするページモードや高速ページモードなどでも、同様の作用・効果が期待できる。
【００６４】
また、同期式メモリへのアクセス経路の途中にラッチ回路を設け、且つ、メモリのＣＡＳレイテンシ設定とデータ読出し側のＣＡＳレイテンシ設定とを異ならせる制御方式は、ＣＰＵからのメモリアクセスに対してのみ適用可能なものでなく、外部メモリに対して同期アクセス可能なデバイス（例えばＤＭＡコントローラなど）からのメモリアクセスに適用することが出来る。
【００６５】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるシングルチップの半導体集積回路により構成されたバスブリッジ回路について説明したがこの発明はそれに限定されるものでなく、例えば、第１および第２切換器２６，２７をチップ外に別構成で設けたり、また、ユーザーが任意な論理を構成可能な半導体集積回路例えばＦＰＧＡ（Field Programmable Gate Array）などを用いても構成することができる。さらに、上記実施例に従って設計されたバスブリッジ回路を、モジュールあるいはＩＰ（知的財産）としてデータベースに登録して次回の同様なシステムの開発に際してそのデータを利用することで開発期間の短縮を図ったり、顧客にそのデータを有価で提供したりすることが可能である。
【００６６】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００６７】
すなわち、本発明に従うと、ＣＰＵのメモリアクセス性能を劣化させることなく、プロセッサバスから外部デバイスへのアクセスと、外部デバイスから外部メモリへのアクセスとの両者が同時に発生した場合に起こり得る、バスデッドロックを回避できるという効果が得られる。
【００６８】
更に、外部メモリに同期式メモリを使用し、且つ、メモリアクセスに僅かな信号遅延が生じるシステムの場合でも、メモリの動作クロック周波数を落とすことなく、上記の信号遅延を吸収しつつ同期式メモリの同期アクセスを可能とすることが出来る。
【図面の簡単な説明】
【図１】本発明を適用して好適なデータ処理システムの第１実施例を示すブロック図である。
【図２】本発明を適用して好適なデータ処理システムの第２実施例を示すブロック図である。
【図３】第２実施例のＣＰＵと外部メモリとの接続部の構成例を示すブロック図である。
【図４】メモリアクセス時に図３のプロセッサバスと外部メモリに出力される信号の変化を示すタイムチャートである。
【図５】ＣＰＵと外部メモリとの接続部のその他の構成例を示すブロック図である。
【図６】メモリアクセス時に図５のプロセッサバスと外部メモリに出力される信号の変化を示すタイムチャートである。
【図７】外部メモリインターフェース回路と外部メモリに出力するクロック信号の位相を１８０°反転した場合に図３のプロセッサバスと外部メモリに出力される信号の変化を示すタイムチャートである。
【符号の説明】
２        プロセッサバス
３        外部バス
１０      ＣＰＵ
１１      外部メモリインターフェース回路
１２      バス権許可信号
２０      バスブリッジ回路
２１      インターフェース回路
２２      バス調停回路
２４      バス権獲得要求信号
２５      ウェイト信号
２６      第１切換器
２７      第２切換器
３０      外部メモリ
７０      外部デバイス
８０      ラッチ回路
８１〜８４  ラッチ
【図１】
0003818621.tif 000002
【図２】
0003818621.tif 000003
【図３】
0003818621.tif 000004
【図４】
0003818621.tif 000005
【図５】
0003818621.tif 000006
【図６】
0003818621.tif 000007
【図７】
0003818621.tif 000008