(57)【特許請求の範囲】
【請求項１】
複数のアドレス・バス端子と、複数のデータ・バス端子とを有するデータ・プロセッサにおいて、待受状態を判定する方法であって：
バス・サイクルの間に、前記複数のアドレス・バス端子を通じて、前記データ・プロセッサ外部に第１アドレス値を供給する段階；
前記データ・プロセッサ外部から、第１待受状態値を受信する段階；および
前記第１待受状態値の受信に応答して、前記データ・プロセッサを通じて、前記第１待受状態値に対応する第１の回数の待受状態を与える段階であって、前記第１の回数の待受状態は前記バス・サイクルの終りには挿入されず、有効な前記第１アドレス値と対応する有効な第１データ値の間、すなわち前記第１アドレス値を供給した後バスからのデータ値を判定する前に挿入され、前記第１の回数の待受状態だけ前記バス・サイクルの間有効データの確認を遅らせる、段階；
を具備することを特徴とする方法。
【請求項２】
データ処理システムであって：
プロセッサ；
前記プロセッサに結合された複数の第１バス端子であって、前記データ処理システム外部に複数のアドレス信号を供給する複数の第１バス端子；
前記プロセッサに結合された複数の第２バス端子であって、ライト・アクセスに対して前記データ処理システム外部に複数のデータ信号を供給し、リード・アクセスに対して前記データ処理システム外部から前記複数のデータ信号を受信し、かつ前記データ処理システム外部から待受状態値を提供する前記複数の第２バス端子；
バス・サイクルの間、前記データ処理システム外部から前記待受状態値を受信する待受状態決定回路；および
前記待受状態決定回路に結合された制御回路であって、前記待受状態値を受信し、前記待受状態値に対応する第１の待受状態をアドレス信号を供給した後バスからのデータ信号を判定する前に挿入することにより、選択された待受状態数だけ前記バス・サイクルの間有効データの確認を遅らせ、前記選択された待受状態数は前記待受状態値により決定される制御回路；
を具備することを特徴とするデータ処理システム。
【請求項３】
複数のアドレス・バス端子および複数のデータ・バス端子を有するデータ・プロセッサにおいて待受状態を与える方法であって：
バス・サイクルの間、前記複数のアドレス・バス端子を通じて、前記データ・プロセッサ外部に第１アドレス値を供給する段階；
待受状態パルスを供給する段階；
前記バス・サイクルの開始時に、前記データ・プロセッサ外部から第１待受状態値を受信する段階；
前記第１待受状態値の受信に応答して、前記データ・プロセッサを通じて、前記第１待受状態値に対応する第１の回数の待受状態を与える段階；および
前記第１待受状態値の受信に応答して、ライト・アクセスに対して、前記複数のデータ・バス端子を通じて前記データ・プロセッサ外部に第１データ値を供給し、リード・アクセスに対して、前記複数のデータ・バス端子を通じて前記データ・プロセッサ外部から第１データ値を受信する段階であって、前記第１データ値が前記第１アドレス値に付随する、段階；
を具備し、前記第１の回数の待受状態は、前記データプロセッサにより、前記第１アドレス値を供給する段階の後にかつ前記第１データ値を供給しかつ受信する段階の前に提供し、前記第１の回数の待受状態だけ前記バス・サイクルの間有効データの確認を遅らせることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的にデータ処理システムに関し、更に特定すれば、データ処理システムにおいてサイクル毎に待受状態を決定する方法および装置に関するものである。
【０００２】
【従来の技術】
マイクロプロセッサ集積回路のようなデータ処理システムは、例えば、メモリ集積回路や特定用途集積回路（ＡＳＩＣ：application specific integrated circuit ）のような広範囲の周辺素子とともに用いられる。周辺素子への外部バス・アクセスの後、周辺素子には素早く応答するものもあるが、それよりも応答が遅い周辺素子もある。
【０００３】
典型的に、データ・プロセッサはシステム内の最も遅い周辺素子より、動作速度は格段に速い。例えば、リード・アクセスの場合、遅い周辺素子は、それよりも高い周波数で動作するデータ・プロセッサにデータを供給することができない。既存のデータ処理システムの中には、所定回数の待受状態を挿入することによって、この問題に対処したものがある。待受状態は、周辺素子がデータ・プロセッサと通信できるようにするものであり、データ・プロセッサは周辺素子がその動作(performance) を完了するまで待っている。
【０００４】
【発明が解決しようとする課題】
しかしながら、この手法は、データ処理システムが遅い周辺素子および速い周辺素子双方にアクセスしなければならない場合には多量の時間を浪費するので不適当である。また、遅い周辺素子は遅延の延長を必要とするが、速い素子は遅延の延長を必要としないことにも注意されたい。最も遅い周辺素子の周波数に基づいて全ての周辺素子に待受状態を適用することにより、貴重なバス時間が浪費されることになる。
【０００５】
他のデータ処理システムには、多数のチップ・セレクト信号を用いて、各周辺素子に対して遅延の長さを決定するものがある。しかしながら、多数のチップ・セレクト・ピンが必要となるので、使用する周辺素子の複雑化および数の増大を招くことになる。
【０００６】
【課題を解決するための手段】
本発明は、データ処理システムにおいてサイクル毎に待受状態を決定する方法および装置を提供する。待受状態値をデータ処理システムに供給することにより、各バス・サイクル毎に待受状態の回数を示す。一実施例では、データ処理システムによって待受状態パルスが供給され、その間、データ・バスを通じてデータ処理システムに待受状態値が供給される。待受状態値に応答して、データ処理システムは、現バス・サイクルの間に、待受状態値に対応する回数の待受状態を挿入する。本発明の一実施例では、チップ・セレクト信号をアドレスの一部と組み合わせることによって、チップ・セレクト信号のアドレス範囲を更に分割する。
【発明の実施の形態】
本発明は、データ処理システム１０（図１）が、バス２８上の１バス・サイクルの間に、０回，１回，またはそれ以上の待受状態を選択的に挿入することによって、遅い周辺素子および速い周辺素子双方に便宜を図ろうとするものである。挿入する待受状態の回数は、データ処理システム１０外部の発生源（図５および図６参照）からデータ処理システムに供給される待受状態値によって決定することができる。したがって、データ処理システム１０は、最小限必要な回数の待受状態（即ち、遅い周辺素子にアクセスする各バス・サイクルの間は多い方の待受状態回数、そしてより速い周辺素子にアクセスする各バス・サイクルの間は、待受状態なしまたは小さい方の待受状態回数）を選択的に挿入することによって、システム（例えば図５におけるシステム２００、または図６におけるシステム３００）全体の性能向上および高速化を図ることができる。このように、不要な待受状態を実行することによって貴重なバス・タイムを浪費することなく、システム全体の性能を高めることができる。したがって、本発明を用いることにより、アクセスされている特定の周辺素子の応答速度に応じて、各バス・サイクルの間にデータ処理システム１０によって、最適回数の待受状態を挿入することができる。勿論、応答時間が長い周辺素子に必要な待受状態は長く、応答時間が短い周辺素子に必要な待受状態は短く、必要ない場合もある。
【０００７】
本発明は、各バス・サイクルの間、データ処理システム１０外部からデータ処理システム１０に待ち時間値を与える方法を提供する。データ処理システム１０は、この待受状態値を用いて、その同じバス・サイクルの間に挿入すべき待受状態の回数を決定する。本発明の一実施例では、データ処理システム１０のデータ・バス端子８２の一部を通じて、待受状態値をデータ処理システム１０に供給する。尚、非多重化バスでは、データ・バス上でデータが駆動されない初期部分が各バス・サイクルにあることを注記しておく。本発明の別の実施例は、データ処理システム１０のいずれかの端子を用いて、待受状態値をデータ処理システム１０に供給することができる。本発明の一実施例では、データ処理システム１０がチップ・セレクト信号を発生し、これをデータ処理システム１０外部に供給する。しかしながら、本発明の別の実施例は、ボード上でのチップ・セレクト信号の発生を使用しなくてももよい。
【０００８】
従来技術のデータ処理システムには、各チップ・セレクトに対して異なる回数の待受状態をプログラム可能としたものが存在する。しかしながら、図５および図６の例に示すように、多数の周辺素子に対するデコードの一部として同じチップ・セレクト信号を使用する場合、各チップ・セレクトに対してプログラム可能な待受状態回数は１つのみであるので、同じチップ・セレクト信号を使用する周辺素子は全て、同じ回数の待受状態を使用するよう強要されることになる。本発明は、多数の周辺素子に対するデコードの一部として同じチップ・セレクト信号を使用するが、その上でこれらの周辺素子各々に、各バス・サイクル毎に異なる回数の待受状態を選択させる方法を提供する。本発明では、あらゆるチップ・セレクト値とは無関係に、各バス・サイクルの間に、外部回路（例えば、図５および図６における三状態バッファ６０）がデータ処理システム１０に異なる待受状態値を供給することができる。次に、データ処理システム１０はこの待受状態値を用いて、当該バス・サイクルの間に挿入すべき待受状態回数を決定する。
【０００９】
「待受状態（群）」という用語は、本明細書で用いる場合、バス・サイクル期間を延長するために、そのバス・サイクルの間に追加される余分な時間のことを意味する。通常、待受状態（群）は応答が遅い周辺素子によって要求される。１回のバス・サイクルの待受状態が完了すると、バス・サイクルが継続する(continue)ことができる。
【００１０】
尚、バス・サイクルの終了時にアイドル時間を追加することによって達成される目的は、バス・サイクルの途中に待受状態を追加することによって達成される目的とは全く異なることを注記しておく。待受状態の目的は、バス上で有効なアドレス値と有効なデータ値との間の時間を延長することである。周辺素子の中には、アドレス値の受信とデータ値による応答との間に大量の時間間隔を必要とするものがある。データ処理システムは、アドレス値を供給した後、バスからのデータ値を判定する前に、余分な時間量（即ち、１回以上の待受状態）だけ待たなければならない。データ処理システムが十分に長く待たないと、周辺素子はデータ値によってバスを駆動するための十分な時間量が得られず、データ処理システムは不正確なデータ値を読み取る可能性がある。
【００１１】
このように、待受状態によって達成される目的は、バス競合を防止することではなく、データ処理システムが不正確なデータを受信するのを防止することである。更に、バス・サイクルの終了時に挿入されるに過ぎないアイドル・クロックとは異なり、待受状態は、アドレス値の転送とデータ値の転送との間のバス・サイクル途中に挿入される。
【００１２】
「バス」という用語は、データ，アドレス，制御，またはステータスのような１つ以上の様々なタイプの情報を転送するために使用可能な複数の信号線または導体を意味する際に使用する。また、「アサート(assert)」および「ニゲート(negate)」は、信号，ステータス・ビット，または同様の装置をその論理真状態から論理虚状態にそれぞれ移行することを意味する場合に用いる。論理真状態が論理レベル１である場合、論理虚状態は論理レベル０となる。また、論理真状態が論理レベル０である場合、論理虚状態は論理レベル１となる。数字の前にある記号「％」は、その番号がその二値即ち基底が２の形態で表されていることを示す。
【００１３】
図１ないし図６を参照することにより、本発明についてより完全に近い理解が得られよう。図１はデータ処理システム１０を示し、中央演算装置（ＣＰＵ）１２，タイマ回路１４，システム統合回路１６，直列回路１８，Ａ／Ｄ変換回路２０，スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）２２を含み、これらは全てバス３６に双方向的に結合されている。オプションとして、ＣＰＵ１２は、集積回路端子２４を通じて、データ処理システム１０外部に結合される。タイマ１４は、集積回路端子２６を通じて、データ処理システム１０外部に結合されている。
【００１４】
システム統合回路１６は、集積回路端子２８を通じて、データ処理システム１０外部に結合されている。直列回路１８は、集積回路端子３０を通じて、データ処理システム１０外部に結合されている。Ａ／Ｄ変換回路２０は、集積回路端子３２を通じて、データ処理システム１０外部に結合されている。ＳＲＡＭ２２は、オプションとして、１つ以上の集積回路端子３４を通じて、データ処理システム１０外部に結合されている。一実施例では、データ処理システム１０は、単一集積回路上に形成されたマイクロコンピュータである。本発明の一実施例では、集積回路端子２４，２６，２８，３０，３２，３４は集積回路のボンディング・パッドである。本発明の他の実施例では、集積回路端子２４，２６，２８，３０，３２，３４は集積回路のピンである。
【００１５】
図２は、システム統合回路１６の一部の一実施例を示す。システム統合回路１６の図示の部分は、バス３６に双方向的に結合されているバス・インターフェース回路４０を含む。アドレス信号導体５４が、バス・インターフェース４０，比較回路４２，レジスタ４４，および外部バス回路１５６に結合されている。データ信号導体５６が、バス・インターフェース４０，レジスタ４４，および外部バス回路１５６に結合されている。制御信号導体５８が、バス・インターフェース４０，比較器４２，レジスタ４４，制御回路１５２，外部バス回路１５６，およびチップ・セレクト発生回路７０に結合されている。一致信号線９１が、比較器４２，制御回路１５２，およびチップ・セレクト発生回路７０に結合されている。
【００１６】
レジスタ４４は、オプション・レジスタ４６とアドレス範囲レジスタ４８とを含む。比較器４２は、オプション信号導体７６を通じて、オプション・レジスタ４６に結合されている。また、比較器４２は、アドレス信号導体７８を通じて、アドレス範囲レジスタ４８に結合されている。比較器４２は、複数の一致信号９１を、制御回路１５２およびチップ・セレクト発生回路７０に供給する。
【００１７】
外部バス回路１５６は、データ信号線８７を通じて複数のデータ端子８２に双方向的に結合され、更にアドレス信号線８８を通じて複数のアドレス端子８３に結合されている。チップ・セレクト発生回路７０は、複数のチップ・セレクト端子７３に結合されている。外部バス回路１５６は、制御回路１５２にも双方向的に結合されている。
【００１８】
制御回路１５２は、外部バス回路１５６に双方向的に結合されている。制御回路１５２は待受状態決定回路９０を内蔵しており、この待受状態決定回路９０はデータ信号線８７に結合されている。制御回路１５２は、制御信号線８５を通じて、制御端子８０に双方向的に結合されている。制御回路１５２は、待受状態パルス信号線８６を通じて、待受状態パルス端子８１に双方向的に結合されている。
【００１９】
チップ・セレクト発生回路７０は、一方向導体を通じて、チップ・セレクト端子７３に結合されている。外部バス端子７２は、制御端子８０，待受状態パルス端子８１，データ端子８２，アドレス端子８３，およびチップ・セレクト端子７３を含む。
【００２０】
図３は、従来技術において用いられており、データ処理システム１０（図１参照）が発生可能な、待受状態を用いないデータ処理信号のタイミングを示す。アドレス端子８３は、アドレス[A15:A0]の各ビット毎の導体を含む。本発明の一実施例では、データ処理システム１０は、Ｔ１，Ｔ２，Ｔ３，Ｔ４で表わす、４回のクロック動作サイクルを有する。アドレス端子８３が有効なアドレス情報を供給するクロック期間を、アドレス・サイクルとして記載する。図３を参照すると、アドレス・サイクルはクロックＴ３で開始し、Ｔ４，Ｔ１，Ｔ２と継続し、最終的に次のＴ３で終了する。対応するデータ・サイクルは、データ情報がデータ端子８２上で有効となるクロック周期を規定する。リード・アクセスでは、データ情報は、Ｔ２において開始しＴ３において終了するまで有効であることを注記しておく。一方、ライト・アクセスでは、データ情報は、Ｔ１において開始し、Ｔ２，Ｔ３と継続し、最終的に次のＴ４で終了するまで有効である。チップ・セレクト端子７３（CS0 またはCS1 を含む）および制御端子８０（リード・ストローブ１８０およびライト・ストローブ２８０を含む）のタイミング関係も図３に示されている。
【００２１】
図４は、本発明の一実施例にしたがって、データ・バス８２上に待受状態値が供給される場合のデータ処理信号のタイミングを示す。図３におけると同様、外部バス端子７２のタイミング関係を示しており、ここでは、アドレス・サイクルは、アドレス端子８３上でアドレス情報が有効となっている動作サイクルの部分のことを言う。同様に、データ・サイクルは、データ情報がデータ端子８２上で有効となっている動作サイクルの部分のことを言う。加えて、待受状態パルス端子８１が、クロックＴ４の間、待受状態パルス（反転WSP ）を供給する。待受状態値情報３９は、待受状態パルスの間、データ端子８２上で有効となる。待受状態値情報は、Ｔ４の間、リード・アクセスおよびライト・アクセス双方に対して有効となることを注記しておく。
【００２２】
図５を参照すると、本発明の一実施例を使用したシステム２００が図示されている。システム２００は、データ処理システム１０，１回の待受状態を必要とするプログラム・メモリ６８，待受状態を必要としないランダム・アクセス・メモリ（ＲＡＭ）６６，および２回の待受状態を必要とする周辺素子６４を含む。データ処理システム１０は、プログラム・メモリ６８，ＲＡＭ６６，および周辺素子６４に、データ端子８２およびチップ・セレクト端子７３を通じて結合されている。デコード回路６２が、アドレス端子８３を通じて、データ処理システム１０に結合され、導体４００を通じて、三状態バッファ６０に結合されている。本発明の一実施例では、デコード回路６２は、ＲＡＭ６６および周辺素子６４に結合されている。本発明の一実施例では、三状態バッファ６０への入力の内２つは、所定論理レベル即ち論理状態に、具体的には論理「０」に固定されている。三状態バッファ６０は、更に、データ端子８２および待受状態パルス端子８１を通じて、データ処理システム１０に結合されている。
【００２３】
図６を参照すると、本発明の別の実施例を使用したシステム３００が図示されている。このシステムは、データ処理システム１０，２回の待受状態を必要とするプログラム・メモリ６７，５回の待受状態を必要とする周辺素子６５，および１回の待受状態を必要とする周辺素子６１を含む。データ処理システム１０は、データ端子８２およびチップ・セレクト端子７３を通じて、プログラム・メモリ６７に結合されている。データ処理システム１０は、データ端子８２を通じて、周辺素子６５および周辺素子６１に結合されている。デコード回路６３が、アドレス端子８３およびチップ・セレクト端子７３を通じて、データ処理システム１０に結合されている。更に、デコード回路６３は、アドレス端子８３およびチップ・セレクト端子７３を通じて、データ処理システム１０に結合されている。更に、デコード回路６３は、他の素子，周辺素子６５，および周辺素子６１にも結合されている。データ処理システム１０は、アドレス端子８３およびデータ端子８２を通じて、三状態バッファ６０に結合されている。
好適実施例の動作
次に本発明の動作について論ずる。本発明では、データ処理システム１０（図１参照）が、各バス・サイクルの間、バス・サイクル毎に０回，１回またはそれ以上の待受状態を選択的に挿入することができる。挿入する待受状態の回数は、データ処理システム１０外部の発生源（図５および図６参照）からデータ処理システム１０に供給される待受状態値によって決定することができる。したがって、データ処理システム１０は、最小限必要な待受状態回数（遅い周辺素子にアクセスする各バス・サイクルの間は多い待受状態回数、そして速い周辺素子にアクセスする各バスサイクルの間は待受状態なし、または少ない待受状態回数）を選択的に挿入することによって、システム（例えば、図５のシステム２００または図６のシステム３００）全体の性能向上および高速化を図ることができる。このように、不要な待受状態を実行することによって貴重なバス・タイムを浪費することなく、システム全体の性能を高めることができる。したがって、本発明を用いることによる、アクセス中である特定の周辺素子の応答速度に応じて、各バス・サイクルの間に、データ処理システム１０によって最適回数の待受状態を挿入することができる。
【００２４】
本発明は、各バス・サイクルの間に、データ処理システム１０外部からデータ処理システム１０に待受状態値を供給する方法を提供する。データ処理システム１０は、この待受状態値を用いて、その同じバス・サイクルの間に挿入すべき待受状態の回数を決定する。本発明の一実施例では、待受状態値は、データ処理システム１０のデータ・バス端子８２の一部を通じて、データ処理システム１０に供給される。尚、非多重化バスでは、データ・バス上でデータが駆動されない初期部分が各バス・サイクルにあることを注記しておく。本発明の別の実施例は、データ処理システム１０のいずれかの端子を用いて、待受状態値をデータ処理システム１０に供給することができる。本発明の一実施例では、データ処理システム１０がチップ・セレクト信号を発生し、これをデータ処理システム１０外部に供給する。しかしながら、本発明の別の実施例は、ボード上でのチップ・セレクト信号の発生を使用しなくてもよい。
【００２５】
本発明の一実施例では、ＣＰＵ１２がレジスタ４４へのリード・アクセスおよびライト・アクセスを開始することができる。レジスタ４４は、バス３６，バス・インターフェース４０，アドレス信号線５４，データ信号線５６，および制御信号線５８を通じて、リード・アクセスおよびライト・アクセスが可能である。データ処理システム１０のユーザは、オプション・レジスタ４６に値を書き込むことによって、オプション・レジスタ４６をプログラムすることができ、更に、アドレス範囲レジスタ４８に値を書き込むことによって、アドレス範囲レジスタ４８をプログラムすることができる。
【００２６】
本発明の一実施例では、ＣＰＵ１２は外部バス・サイクルを開始することができる。外部バス・サイクルは、外部バス端子７２を用いて、データ処理システム１０外部の外部素子（図５および図６参照）への情報転送および／または外部素子からの情報転送を行うものである。例えば、外部ライト・バス・サイクルを開始するには、ＣＰＵ１２は、バス３６を通じて、アドレス信号，データ信号，および制御信号をシステム統合回路１６に転送する。本発明の別の実施例では、データ処理システム１０における回路の他の部分（図示せず）が、外部バス・サイクルを開始することも可能である。
【００２７】
本発明の一実施例では、バス・インターフェース４０がバス３６からアドレス信号導体５４にアドレス信号を供給し、バス３６およびデータ信号線５６間でデータ信号を転送し、バス３６および制御信号導体５８間で制御信号を転送する。次に、比較器４２は比較動作を行い、オプション信号７６の所定のものを、制御信号５８の所定のものと比較する。オプション信号７６の論理状態は、オプション・レジスタ４６における１つ以上の所定の制御ビットの論理状態によって決定される。アドレス信号７８の論理状態は、アドレス範囲レジスタ４８における１つ以上の所定の制御ビットの論理状態によって決定される。
【００２８】
本発明の一実施例では、各チップ・セレクト端子７３は、アドレス範囲レジスタ４８（図２参照）内に、対応するアドレス範囲レジスタを有する。同様に、各チップ・セレクト端子７３は、オプション・レジスタ（図２参照）内に、対応するオプション・レジスタを有する。本発明の一実施例では、チップ・セレクト端子７３は２つのチップセレクト端子を含む。その結果、２つのオプション・レジスタ４６および２つのアドレス範囲レジスタ４８がある。一方のオプション・レジスタ４６およびアドレス範囲レジスタ４８の対は、チップ・セレクト端子７３の各１つと関連付けられる。本発明の別の実施例では、いずれの数のチップ・セレクト端子７３でも含むことができ、またチップ・セレクト端子７３を含まなくてもよい。
【００２９】
一例として、第１チップ・セレクトに対してアドレス信号７８およびオプション信号７６が一致した場合、対応する一致信号、即ち、導体９１上を転送される第１一致信号がアサートされる。同様に、第２チップ・セレクトに対してアドレス信号７８およびオプション信号７６が一致した場合、対応する一致信号、即ち、導体９１上を転送される第２一致信号がアサートされる。本発明の別の実施例では、一致信号をアサートするためにはアドレス信号７８のみの比較を行ってもよく、あるいは一致信号をアサートするためにオプション信号７６のみの比較を行ってもよい。
【００３０】
オプション・レジスタ４６における他の制御ビット（図示せず）を用いて、アドレス信号およびオプション信号が一致した場合に、システム統合回路１６の応答に影響を与えるようにしてもよい。例えば、かかる他の制御ビット（図示せず）を用いて、必要なデータ転送サイズ，必要な関数コード，またはチップ・セレクト端子７３上のチップ・セレクト信号のアサートに関連して必要なタイミングを決定することができる。
【００３１】
本発明の別の実施例では、レジスタ４４にレジスタを追加してもよい。また、別の実施例では、レジスタ４４内のビット・フィールドのビット数は、増減が可能である。加えて、別の実施例では、レジスタ４４内のビット・フィールドは、異なるレジスタ内に配置してもよく、あるいは同一レジスタの異なる部分に配置してもよい。
【００３２】
本発明の一実施例では、チップ・セレクト発生回路７０によって、チップ・セレクト端子７３に２つのチップ・セレクト信号が供給される。本発明の一実施例では、各チップ・セレクト信号は、オプション・レジスタ４６に対応する１つを有し、このオプション・レジスタ４６の対応する１つは、「待受状態発生源選択」ビット・フィールド３８および「待受状態回数」ビット・フィールド３７を含む。待受状態発生源選択ビット・フィールド３８が第１の値を有する場合、オプション・レジスタ４６内の待受状態回数ビット・フィールド３７から、現バス・サイクルの間に挿入される待受状態回数が決定される。更に、待受状態発生源選択ビット・フィールド３８が第２の値を有する場合、データ処理システム１０外部からデータ処理システム１０に供給される待受状態値から、現バス・サイクルの間に挿入される待受状態回数が決定される。
【００３３】
一例として、遅い周辺素子（図５および図６参照）は、第１チップ・セレクト端子７３に結合し、第１チップ・セレクト信号を受信することができる。一致が生じたと比較器４２が判定した場合、比較器４２は第１チップ・セレクト信号に対応する一致信号９１をアサートし、これを制御回路１５２およびチップ・セレクト発生回路７０に供給する。その結果、チップ・セレクト発生回路７０は、第１チップ・セレクト端子７３上の第１チップ・セレクト信号をアサートする。第１チップ・セレクト信号に対応する「待受状態発生源選択」ビット・フィールド３８は、制御回路１５２に供給される。制御回路１５２は、待受状態発生源選択ビット・フィールド３８を用いて、「待受状態回数」ビット・フィールド３７または待受状態値３９のどちらを選択して、外部バス端子７２上の現バス・サイクルの間に挿入すべき待受状態回数を決定する。
【００３４】
図２に示す本発明の実施例では、制御回路１５２を用いて制御端子８０上の制御信号の転送を制御し、更に待受状態パルス端子８１上の待受状態パルス信号８６の供給を制御する。外部バス回路１５６を用いて、アドレス端子８３およびデータ端子８２上のアドレス信号８８およびデータ信号８７の転送をそれぞれ制御する。これらの信号転送のタイミングは、制御回路１５２および／または制御信号５８によって制御される。
【００３５】
次に、本発明の一実施例の使用を例示する図４におけるタイミング図を参照する。バス・サイクルの開始は、アドレス端子８３上に駆動される有効な外部アドレスを供給することによって示される。時間Ｔ４によって示されるバス・サイクルの初期部分の間は、データ・バスおよびデータ端子８２は不要であることを注記しておく。したがって、この時間Ｔ４は、外部論理回路（例えば、図５および図６における三状態バッファ６０）が待受状態値３９をデータ処理システム１０に返送するために使用することができる。次に、データ処理システム１０は外部から供給された待受状態値を用いて、この同じバス・サイクルの間に何回の待受状態を挿入すべきかを決定する。
【００３６】
外部論理回路（例えば、図５および図６における三状態バッファ６０）は、リード・バス・サイクルのみの間、リード・バス・サイクルのみの間、またはリード・バス・サイクルおよびライト・バス・サイクル双方の間に、待受状態値をデータ処理システム１０に供給することができる。本発明の一実施例では、待受状態パルス８１を用いて、いつデータ・バス上に待受状態値を駆動すべきかを、外部論理回路に指示する。データ処理システム１０は、次に、データ端子８２を通じて待受状態値を受信する。本発明の別の実施例では、データ処理システム１０の１つ以上のいずれかの端子上で待受状態値を駆動してもよいことを注記しておく。
【００３７】
図４におけるタイミング図を参照すると、外部論理回路（例えば、図５および図６における三状態バッファ６０）は、待受状態パルス８１がアサートされているときに、待受状態値３９を用いてデータ・バス８２を駆動する。アドレス・バス８３，リード・ストローブ信号１８０，およびライト・ストローブ信号２８０は、従来技術における場合と同様に動作することを注記しておく。加えて、本発明の実施例の中には、チップ・セレクト端子７３（図２参照）を通じて、データ処理システム１０によって１つ以上のチップ・セレクト信号を供給する場合もある。図４に示す待受状態パルス８１はＴ４の間にアサートされるが、本発明の別の実施例は、異なるタイミング・パターンを用いてもよく、異なる時点において待受状態パルス８１をアサートしてもよい。しかしながら、データ・バス８２を用いて待受状態値をデータ処理システム１０に供給する場合、外部論理回路（例えば、図５および図６における三状態バッファ６０）は、データ処理システム１０または外部周辺素子（例えば、図５における周辺素子６４，６６，または６８）のいずれかによって、実際のデータ値がデータ・バス８２に駆動される前に、待受状態値を有するデータ・バス８２の駆動を中断しなくてはならない。
【００３８】
図５は、本発明を使用するシステム２００における、データ処理システム１０の一実施例の使用を示す。図５では、データ処理システム１０が発生するチップ・セレクト信号０（CS0 ）を更に多数のアドレス空間にデコード可能とするために、本発明が用いられている。これまで、１つのチップ・セレクト（例えば、CS0 ）を多数のアドレス空間にデコードして多数の周辺素子を選択する際に、これらの周辺素子全てに対して、そのチップ・セレクト（例えば、CS0 ）にプログラム可能な待受状態値は１つしかないという問題があった。本発明は、周辺素子の各々がそのアドレス・デコードの一部として同一のチップ・セレクト（例えば、CS0 ）を使用する場合に、異なる回数の待受状態の使用を可能にする。
図５に示すシステム２００の実施例では、チップ・セレクト信号CS0 は、ＲＡＭ６６および周辺層６４双方に供給される。デコーダ６２はアドレス線A14 ，A15 を受け、所与のバス・サイクルの間に周辺素子６４，６６のどちらを選択するのかをデコードするために用いられる。本発明は、三状態バッファ６０を用いて、データ端子D0，D1，D2を通じて、データ処理システム１０に待受状態値を返送する。三状態バッファ６０への待受状態パルス入力は、チップ・セレクト信号CS0 もアサートされているＴ４の間でのみアサートされることを注記しておく。図５に示すシステム２００はD0，D1，D2データ・バス端子８２を用いて待受状態値をデータ処理システム１０に供給するが、本発明の別の実施例では、いずれの数のデータ・バス端子８２を使用してもよく、あるいはデータ・バス端子８２以外のデータ処理システム１０の端子を使用してもよい。
【００３９】
システム２００は３つの周辺素子、即ち、プログラム・メモリ６８，ＲＡＭ６６，および周辺素子６４のみを有するものとして示されているが、本発明の別の実施例はあらゆる数の周辺素子を含むことができる。同様に、これらの周辺素子は、０からＮまでのあらゆる回数の待受状態を要求してもよい。本発明の別の実施例では、三状態バッファ６０は、プログラム可能なアレイ状論理回路，プログラム可能な論理回路アレイ，ゲート・アレイ等を含む、三状態が可能な出力を有するいずれかのタイプの論理ゲートまたはゲート群とすることができる。図５において、チップ・セレクト信号CS0 はＲＡＭ６６および周辺素子６４双方に結合されており、したがって、ＲＡＭ６６または周辺素子６４のいずれかのアドレス空間がアドレス・バス８３上で駆動されるときに、チップ・セレクト信号CS0 がアサートされることを注記しておく。次に、アドレス線A14 ，A15 をデコードし、ＲＡＭ６６または周辺素子６４の一方のみを選択するために用いる。
【００４０】
図５に示す例では、D0ないしD2上で駆動される二進値は、二進値％０００ないし二進値％１１１までの二進値である。D0ないしD2上で駆動される二進値は、データ処理システム１０によって与えられる待受状態の回数を決定するために用いられる。二進値％０００がD0ないしD2上で駆動される場合、０回の待受状態が挿入される。十進数の４に対応する二進値％１００がD0ないしD2上で駆動される場合、４回の待受状態が挿入される。本発明の別の実施例では、データ処理システム１０の端子上で、上述とは別の待受状態回数をエンコードすることも可能である。重要なのは、外部論理回路（例えば、図５および図６における三状態バッファ６０）によって駆動される待受状態値と、データ処理システム１０によって挿入される待受状態の可能な回数との間に所定のマッピングがあることである。
次に図６を参照すると、本発明はシステム３００において利用されており、この場合、チップ・セレクト信号CS0 を用いて、８つまでの周辺素子がデコード可能となっている。これら８つの周辺素子の各々は、データ端子D0，D1，D2を通じてデータ処理システム１０に待受状態値を供給することによって、異なる回数の待受状態を要求することができる。デコード回路６３を用いることによって、チップ・セレクトCS0 のアドレス範囲内において、チップ・セレクト０のアドレス空間を最大８つのサブ・ブロックにデコードする。アドレス範囲レジスタ４８を用いて、チップ・セレクトCS0 のアドレス範囲をプログラム可能に選択することを注記しておく。アドレス信号を三状態バッファ６０への入力としてマッピングすることによって、チップ・セレクトCS0 のアドレス範囲の各サブ・ブロックと関連する待受状態回数を決定する。その結果、各外部周辺素子は、異なる回数の待受状態を有するようにプログラム可能となる。三状態バッファ６０は、データ端子D0，D1，D2を通じて、実際に待受状態値をデータ処理システム１０に返送する回路である。
【００４１】
デコード回路６３および三状態バッファ６０への入力として示したアドレス信号は、アドレス信号A12 ，A13 ，A14 であるが、アドレス信号線８３の１つ以上のいずれの信号でもその代わりに使用可能である。システム３００の別の実施例は、三状態バッファ６０の入力の１つ以上において、反転器のような論理ゲートを含んでもよい。これによって異なる待受状態値パターンを生成し、データ処理システム１０のデータ端子D0，D1，D2上に返送することにより、異なる回数の待受状態を対応する周辺素子に使用する。加えて、本発明の別の実施例は、データ端子８２の選択されたものに供給される１または０の数をカウントし、挿入する待受状態回数を決定することも可能である。
【００４２】
尚、図５および図６に示した例はボード上でのチップ・セレクト信号の発生を採用したが、本発明はボード上でチップ・セレクト信号を供給する必要はなく、代わりに、アドレス線を直接デコードして、待受状態値３９をデータ処理システム１０に供給してもよい。チップ・セレクト信号を用いることの利点は、データ処理システム１０外部において行わなければならないデコーディングが、少なくて済むことである。図５および図６に示したシステムは、データ処理システム１０が供給する待受状態パルス８１を使用したが、本発明の別の実施例では、他の方法を用いて、データ処理システム１０の端子上の待受状態値３９をいつ駆動するかを三状態バッファ６０に指示してもよい。
【００４３】
以上、本発明をその具体的な実施例を参照しながら示しかつ説明したが、更に別の変更や改良を当業者には想起されよう。例えば、本発明の別の実施例では、データ処理システム１０は、外部バス端子７２を含み、バス・サイクル毎に１回以上の待受状態を選択的挿入可能であり、この待受状態の回数をデータ処理システム１０外部から供給可能な、あらゆるタイプのデータ処理システムとすることができる。一実施例では、データ処理システム１０はマイクロコンピュータ集積回路とすることができる。本発明の別の実施例では、データ処理システム１０は、図１に示したものとは異なる回路ブロックを有するものでもよい。加えて、本発明の別の実施例では、外部バス端子７２は、システム統合回路１６の一部として含ませなくてもよく、データ処理システム１０内のいずれかの場所に配置すればよい。本発明の別の実施例は、固定トランザクション(fixed transaction) ，パイプライン型(pipelined),非パイプライン型(non-pipelined) ，およびその他のバス・タイプを含む、広範囲の様々な非多重バス・タイプと共に用いることも可能である。
【００４４】
本発明の別の実施例では、チップ・セレクト発生回路７０およびチップ・セレクト端子７３を実施しなくてもよいことを注記しておく。その結果、各バス・サイクルの間１種類の選択された回数の待受状態を挿入することができるが、対応するチップ・セレクト信号はアサートされない。あるいは、チップ・セレクト発生回路７０はチップ・セレクト信号を発生してもよいが、しかしながら、チップ・セレクト端子７３を実施しないか、あるいはデータ処理システム１０外部にチップ・セレクト信号を転送する以外の機能のために用いてもよい。
【００４５】
尚、比較器４２（図２参照）によって一致信号がアサートされずに、バス・サイクルが開始された場合、本発明の実施例の中には、そのバス・サイクルの間に所定回数の待受状態を挿入することをデフォルトとするものがある。しかしながら、本発明の別の実施例では、デフォルトはユーザがプログラム可能であってもよく、あるいはかかる場合に待受状態の挿入をしなくてもよい。
【００４６】
本発明の実施例の中には、データ処理システム１０に供給される待受状態値は、代わりに、アイドル状態値としてもよく、この場合、データ処理システム１０は、このアイドル状態値を用いて、現バス・サイクルの終了時に挿入すべきアイドル状態即ちアイドル・クロックの数を決定する。このように、本発明の異なる実施例では、外部回路がデータ処理システム１０に供給する値は、待受状態値でも、アイドル状態値でもよく、あるいは、挿入すべき遅延の長さをデータ処理システム１０に示す他のあらゆるタイプの遅延信号でもよい。本発明の別の実施例は、１つ以上の信号をデータ処理システム１０に供給することにより、遅延の種類（例えば、待受状態，アイドル状態，または他の遅延）をも示すこともでき、遅延値自体（例えば、待受状態値，アイドル状態値，またはその他の遅延値）は要求される遅延の長さを示す。
【００４７】
したがって、本発明はここに示した特定形態に限定されるのではなく、特許請求の範囲は、本発明の範囲から逸脱しない全ての変更に該当することは理解されよう。
【図面の簡単な説明】
【図１】本発明の一実施例によるデータ処理システム１０を示すブロック図。
【図２】本発明の一実施例による図１のシステム統合回路１６の一部を示すブロック図。
【図３】従来技術のデータ処理システムにおける信号のタイミング方式を示すタイミング図。
【図４】本発明の一実施例によるデータ処理システム１０における信号のタイミング方式を示すタイミング図。
【図５】本発明の一実施例によるシステム２００を示す回路図。
【図６】本発明の一実施例によるシステム３００を示す回路図。
【符号の説明】
１０    データ処理システム
１２    中央演算装置（ＣＰＵ）
１４    タイマ回路
１６    システム統合回路
１８    直列回路
２０    Ａ／Ｄ変換回路
２２    スタティック・ランダム・アクセス・メモリ
２４，２６，２８，３０，３２，３４    集積回路端子
３６    バス
４０    バス・インターフェース回路
４２    比較回路
４４    レジスタ
４６    オプション・レジスタ
４８    アドレス範囲レジスタ
５４    アドレス信号導体
５６    データ信号導体
５８    制御信号導体
６０    三状態バッファ
６１    周辺素子
６２    デコード回路
６３    デコード回路
６４    周辺素子
６５    周辺素子
６６    ランダム・アクセス・メモリ（ＲＡＭ）
６７    プログラム・メモリ
６８    プログラム・メモリ
７０    チップ・セレクト発生回路
７３    チップ・セレクト端子
７６    オプション信号導体
７８    アドレス信号導体
８０    制御端子
８１    待受状態パルス端子
８２    データ端子
８３    アドレス端子
８５    制御信号線
８６    待受状態パルス信号
８７    データ信号線
８８    アドレス信号線
９０    待受状態決定回路
９１    一致信号線
１５２    制御回路
１５６    外部バス回路
２００    システム
３００    システム
４００    導体４００
【図１】
0003740250.tif 000002
【図２】
0003740250.tif 000003
【図３】
0003740250.tif 000004
【図４】
0003740250.tif 000005
【図５】
0003740250.tif 000006
【図６】
0003740250.tif 000007