(57)【要約】本発明は、集積回路における非アクティブ期間を減少させるためのシステムを含む。集積回路は、外部データバスによって外部周辺装置に接続される。集積回路は、内部データバスに接続されたプロセッサを有する。システムは次を備える。外部バス回路は、内部および外部データバスに接続される。このバスインタフェース回路は、要求データのためのリードおよびライト信号を受信するように構成される。応答して、バスインタフェース回路は、外部周辺装置からのデータが内部データバスにおいて使用可能となるまでウェイト信号を送信する。ウェイト信号は、外部および内部データバスが他の目的のために使用可能でないことを示す。プロセッサがデータを受信または送信した後に、バスインタフェース回路はウェイト信号の送信を停止し、ビジー信号を送信する。ビジー信号は、内部データバスが使用可能であり、外部データバスが他の目的のために使用可能でないことを示す。
2008535075.tif 000002
【特許請求の範囲】
【請求項１】
外部データバスによって外部周辺装置に接続された集積回路における非アクティブ期間を減少させるためのシステムであって、
前記集積回路は、プロセッサ、内部データバスによって前記プロセッサに接続されたアドレスデコーダを備え、
前記システムは、前記内部データバスおよび前記外部データバスに接続された外部バス回路を備え、
前記外部バス回路は、前記プロセッサからデータを要求するリード信号を受信し、応答して前記外部周辺装置からのデータが前記内部データバスにおいて使用可能となるまでウェイト信号を生成するように構成され、
前記ウェイト信号は、前記外部および内部データバスが他の目的のために使用可能でないことを示し、
前記プロセッサが前記内部データバスからデータを受信した後に、前記外部バス回路は前記ウェイト信号の生成を停止してビジー信号を生成し、
前記ビジー信号は、前記内部データバスが使用可能であり、前記外部データバスが他の目的のために使用可能でないことを示すシステム。
【請求項２】
前記外部バス回路は、前記外部データバスがフローティング中に前記ビジー信号を生成するように構成された請求項１に記載のシステム。
【請求項３】
前記外部バス回路は、前記外部周辺装置にデータを書き込むためにアクセスを要求するライト信号を受信し、応答して前記外部周辺装置がデータを受信するために使用可能となるまで前記ビジー信号を生成し、前記プロセッサが前記外部データバスを通じた前記周辺装置へのアクセスを取得した後に、前記外部バス回路は前記ビジー信号の生成を停止するように構成された請求項１に記載のシステム。
【請求項４】
前記アドレスデコーダおよび外部バス回路に接続されたロジックゲートをさらに備え、
前記ロジックゲートは、前記外部バス回路から前記ウェイト信号を受信するように構成され、
前記アドレスデコーダは、前記プロセッサが前記外部周辺装置に配置されたアドレスを要求するならば、前記ロジックゲートにホールド信号を送信するように構成され、
前記ホールド信号は、前記外部データバスが使用可能でないことを示し、
前記ロジックゲートは、前記ウェイト信号または前記ホールド信号のいずれかを前記プロセッサに送信するように構成された請求項１に記載のシステム。
【請求項５】
前記アドレスデコーダおよび外部バス回路に接続されたロジックゲートをさらに備え、
前記ロジックゲートは、前記外部バス回路から前記ウェイト信号を受信するように構成され、
前記アドレスデコーダは、前記プロセッサが前記外部周辺装置に配置されたアドレスを要求するならば、前記ロジックゲートにホールド信号を送信するように構成され、
前記アドレスデコーダは、前記ビジー信号を受信し、
前記ホールド信号は、前記外部データバスが使用可能でないことを示し、
前記ロジックゲートは、前記ウェイト信号または前記ホールド信号のいずれかを前記プロセッサに送信するように構成された請求項３に記載のシステム。
【請求項６】
前記外部周辺装置は外部メモリである請求項５に記載のシステム。
【請求項７】
前記外部バス回路はスタティックランダムアクセスメモリ（ＳＲＡＭ）コントローラである請求項６に記載のシステム。
【請求項８】
前記外部バス回路はフラッシュメモリコントローラである請求項６に記載のシステム。
【請求項９】
前記外部バス回路はバーストフラッシュメモリコントローラである請求項６に記載のシステム。
【請求項１０】
前記外部バス回路は同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）コントローラである請求項６に記載のシステム。
【請求項１１】
前記外部バス回路はダブルデータレートメモリコントローラである請求項６に記載のシステム。
【請求項１２】
前記外部バス回路はＲＬ（Reduced Latency）ダイナミックランダムアクセスメモリ（ＤＲＡＭ）コントローラである請求項６に記載のシステム。
【請求項１３】
外部データバスによって外部周辺装置に接続された集積回路における非アクティブ期間を減少させるためのシステムであって、
前記集積回路は、プロセッサ、内部データバスによって前記プロセッサに接続されたアドレスデコーダを備え、
前記システムは、前記内部データバスおよび前記外部データバスに接続された外部バス回路を備え、
前記外部バス回路は、前記外部周辺装置へのアクセスを要求するライト信号を受信し、応答して前記外部バス回路においてデータが使用可能となるまでウェイト信号を生成して前記内部データバスおよび前記外部バス回路が使用可能でないことを示し、前記外部データバスにおいて前記外部周辺装置が使用可能となるまでビジー信号を生成するように構成され、
前記ビジー信号は、前記内部データバスが使用可能であり、前記外部データバスが他の目的のために使用可能でないことを示すシステム。
【請求項１４】
前記アドレスデコーダおよび外部バス回路に接続されたロジックゲートをさらに備え、
前記ロジックゲートは、前記外部バス回路から前記ウェイト信号を受信するように構成され、
前記アドレスデコーダは、前記プロセッサが前記外部周辺装置に配置されたアドレスを要求するならば、前記ロジックゲートにホールド信号を送信するように構成され、
前記アドレスデコーダは、前記ビジー信号を受信し、
前記ホールド信号は、前記外部データバスが使用可能でないことを示し、
前記ロジックゲートは、前記ウェイト信号または前記ホールド信号のいずれかを前記プロセッサに送信するように構成された請求項１３に記載のシステム。
【請求項１５】
前記外部バス回路は、前記プロセッサが前記外部データバスを通じた前記周辺装置へのアクセスを取得した後に、前記ビジー信号の送信を停止するように構成された請求項１４に記載のシステム。
【請求項１６】
外部データバスによって外部周辺装置に接続された集積回路における非アクティブ期間を減少させるための方法であって、
前記集積回路は、プロセッサ、内部データバスによって前記プロセッサに接続されたアドレスデコーダ、前記内部データバスおよび前記外部データバスに接続された外部バス回路を備え、
前記方法は、
前記外部周辺装置からのデータのためのリード信号を受信する過程と、
前記内部データバスにおいて前記外部周辺装置からのデータが使用可能となるまでウェイト信号を生成する過程と、
を有し、
前記ウェイト信号は、前記外部および内部データバスが他の目的のために使用可能でないことを示し、
前記内部データバスを通して前記外部周辺装置からデータを読み出す過程と、
前記ウェイト信号の生成を停止する過程と、
ビジー信号を生成する過程と、
をさらに有し、
前記ビジー信号は、前記内部データバスが使用可能であり、前記外部データバスが他の目的のために使用可能でないことを示す方法。
【請求項１７】
前記集積回路は、前記アドレスデコーダおよび前記外部バス回路に接続されたロジックゲートをさらに備え、前記方法は、
前記アドレスデコーダにおいて前記ビジー信号を受信する過程と、
前記外部データバスに対応するアドレスを識別する過程と、
前記アドレスデコーダから前記ロジックゲートにホールド信号を送信する過程と、
をさらに有し、
前記ホールド信号は、前記外部データバスが使用可能でないことを示し、
前記ロジックゲートから前記プロセッサに前記ホールド信号を送信する過程をさらに有する請求項１６に記載の方法。
【請求項１８】
前記ロジックゲートにおいて前記ウェイト信号を受信する過程と、
前記ロジックゲートから前記プロセッサに前記ウェイト信号を送信する過程と、
をさらに有する請求項１７に記載の方法。
【請求項１９】
外部データバスによって外部周辺装置に接続された集積回路における非アクティブ期間を減少させるための方法であって、
前記集積回路は、プロセッサ、内部データバスによって前記プロセッサに接続されたアドレスデコーダ、前記内部データバスおよび前記外部データバスに接続された外部バス回路を備え、
前記方法は、
前記外部周辺装置のためのライト信号を受信する過程と、
前記外部バス回路においてデータが使用可能となるまでウェイト信号を生成する過程と、
を有し、
前記ウェイト信号は、前記内部データバスおよび前記外部バス回路が使用可能でないことを示し、
前記外部データバスにおいて前記外部周辺装置が使用可能となるまでビジー信号を生成する過程をさらに有し、
前記ビジー信号は、前記内部データバスが使用可能であり、前記外部データバスが他の目的のために使用可能でないことを示し、
前記外部データバスを通して前記外部周辺装置に書き込む過程と、
前記ビジー信号の生成を停止する過程と、
をさらに有する方法。
【請求項２０】
前記集積回路は、前記アドレスデコーダおよび前記外部バス回路に接続されたロジックゲートをさらに備え、前記方法は、
前記アドレスデコーダにおいて前記ビジー信号を受信する過程と、
前記外部データバスに対応するアドレスを識別する過程と、
前記アドレスデコーダから前記ロジックゲートにホールド信号を送信する過程と、
をさらに有し、
前記ホールド信号は、前記外部データバスが使用可能でないことを示し、
前記ロジックゲートから前記プロセッサに前記ホールド信号を送信する過程をさらに有する請求項１９に記載の方法。
【請求項２１】
前記ロジックゲートにおいて前記ウェイト信号を受信する過程と、
前記ロジックゲートから前記プロセッサに前記ウェイト信号を送信する過程と、
をさらに有する請求項２０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム資源の管理に関し、特に、外部データバスが使用中である間に内部データバスの使用を可能とする外部データバスインタフェースに関する。
【０００２】
本願は、２００５年５月１１日に出願された同時係属中の米国特許出願第１１／１２８，１０９および２００５年３月３０日に出願された同時係属中の仏国特許出願第０５  ０３０８９による優先権を主張し、これらはここに記載されているかのように引用してここに組み込まれる。
【背景技術】
【０００３】
図１は、外部メモリを有する先行技術のマイクロコントローラを表わす図である。プリント回路基板１００は、外部メモリに接続されたマイクロコントローラ１１０を含む。マイクロコントローラ１１０は種々の機能および内部メモリを有するが、内部メモリはマイクロコントローラ１１０の全ての意図された目的のために十分大きくはない。
スタティックランダムアクセスメモリ（ＳＲＡＭ）１２０および同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）１３０はマイクロコントローラ１１０に接続し、マイクロコントローラ１１０内で使用可能であるより大きい記憶装置を提供する。アドレスバス１４０は、マイクロコントローラ１１０からＳＲＡＭ１２０およびＳＤＲＡＭ１３０にメモリアドレス位置を与える。外部データバス１５０は、データをＳＲＡＭ１２０およびＳＤＲＡＭ１３０から読み出すこと、または、データをＳＲＡＭ１２０およびＳＤＲＡＭ１３０に書き込むことを可能とする双方向データバスである。チップセレクト１６０は、マイクロコントローラ１１０によって要求されるとき、ＳＲＡＭ１２０をアクティブにする。チップセレクト１７０は、マイクロコントローラ１１０によって要求されるとき、ＳＤＲＡＭ１３０をアクティブにする。リード／ライトライン１８０は、ＳＲＡＭ１２０およびＳＤＲＡＭ１３０に接続している。クロックライン１９０は、ＳＤＲＡＭ１３０をマイクロコントローラ１１０と同期させるクロック信号を伝達する。マイクロコントローラ１１０、ＳＲＡＭ１２０、ＳＤＲＡＭ１３０の間の他のラインおよび信号は図示しないが、この技術分野の当業者に知られている。
【０００４】
図２は、外部データバスインタフェースを有する先行技術のマイクロコントローラを表わす図である。マイクロコントローラは、一般に、マイクロプロセッサ、メモリ、通信を提供する例えば汎用非同期式送信器／受信器（ＵＡＲＴ）、ＳＰＩ（System Packet Interface（システムパケットインタフェース））、ＵＳＢ（Universal Serial Bus（ユニバーサルシリアルバス））である周辺装置モジュール、および、割り込みコントローラを含む。マイクロコントローラのための内部メモリは多くの場合小さいが、外部メモリより高速である。高速なアクセス時間を要求し、十分に小さいデータは、内部メモリに保持することが可能である。マイクロコントローラは、外部メモリのために、システムバスの波形およびプロトコルを目的メモリの波形およびプロトコルに変換する外部バス回路を使用する。外部メモリがアクセスに１より多くのクロックサイクルを必要とするとき、データバスへのさらなるアクセスは不可能であることを示すウェイト信号がマイクロプロセッサに送信される。外部メモリがその処理手順を完了すると、ウェイト信号が終了し、データバスへのさらなるアクセスが可能である。図２には、マイクロコントローラ１１０の一例がマイクロコントローラ２００として表わされている。
【０００５】
マイクロコントローラ２００は、メモリ２０４に接続されたマイクロプロセッサ２０２を含む。アドレスデコーダ２０６は、メモリ２０４および周辺装置２０８のためにマイクロプロセッサ２０２からのアドレスを受信およびデコードする。アドレスデコーダ２０６、周辺装置２０８、メモリ２０４は、アドレスバス２１０においてアドレスを受信し、一方、アドレスデコーダ２０６は、メモリセレクト２１２および周辺装置セレクト２１４において選択情報を送信する。データバスである内部データバス２１６において、マイクロプロセッサ２０２、メモリ２０４、周辺装置２０８の間でデータが送信される。リード／ライトライン２１７において、マイクロプロセッサ２０２、メモリ２０４、周辺装置２０８の間でリードまたはライト信号が送信される。マイクロコントローラ２００はクロック信号２１８およびリセット信号２２０を受信する。入力２２２は、例えば、タイマートリガおよびＵＡＲＴ入力データを含み、一方、出力２２４は、例えば、ＵＡＲＴ送信器出力データを含む。周辺装置２０８は、機能ロジック、例えば、ＵＡＲＴ、暗号処理、および／または、デジタルフィルタリングとすることが可能である。
【０００６】
マイクロコントローラ１１０がＳＲＡＭ１２０またはＳＤＲＡＭ１３０にアクセスすることが必要なとき、マイクロプロセッサ２０２は、アドレスデコーダ２０６および外部バス回路２３０にアドレスを送信する。アドレスデコーダ２０６は、アドレスがマイクロコントローラ２００の外部であることを判定し、ＳＲＡＭまたはＳＤＲＡＭのいずれにアクセスすべきかを示すセレクト信号をセレクトライン２３２に沿って外部バス回路２３０に送信する。外部バス回路２３０は、リード／ライトライン２１７においてリード／ライト信号を受信する。
【０００７】
外部バス回路２３０はアドレスを処理し、アドレスバス２３４に沿ってメモリにアドレスを送信する。制御信号ライン２３６における制御信号も送信される。メモリが要求を処理すると、図１の外部データバス１５０でもある外部データバス２３８に沿ってデータが送信される。
【０００８】
外部メモリ書き込みの間、内部データバス２１６に沿ってマイクロプロセッサ２０２から外部バス回路２３０にデータが送信される。そして、外部データバス２３８においてデータが送信される。外部メモリが外部データバス２３８からのデータを受信または記憶するために１より多くのクロックサイクルを要するならば、外部バス回路２３０はウェイトライン２４０においてウェイト信号を送信する。ウェイト信号が停止するまで、マイクロプロセッサ２０２は内部データバス２１６においてさらなる情報を送信しない。
【０００９】
外部メモリ読み出しの間、外部データバス２３８に沿って外部メモリから外部バス回路２３０にデータが送信され、そして、内部データバス２１６に沿ってマイクロプロセッサ２０２に送信される。データが受信されると、外部バス回路２３０は外部データバス２３８を解放する。外部データバス２３８および内部データバス２１６が解放されるまで、ウェイトライン２４０に沿ってウェイト信号がマイクロプロセッサ２０２に送信される。
【００１０】
図３は、先行技術の外部バス回路を表わす図である。外部バス回路３００は外部バス回路２３０の一例である。ＳＲＡＭコントローラ３０５−１またはＳＤＲＡＭコントローラ３０５−２のいずれかによってセレクト信号およびリード／ライト信号が受信される。
【００１１】
メモリ書き込みの間、コントローラ３０５は、アドレスバス３１０からのアドレス、リード／ライトライン３１５からのライト信号、セレクト信号３７０および３８０を受信する。マルチプレクサセレクタ３６０はマルチプレクサ３２０にセレクト信号を送信し、いずれのコントローラ３０５のデータ出力が外部データバス３２５に行くように選択されるべきかを示す。また、マルチプレクサセレクタ３６０はマルチプレクサ３２７にセレクト信号を送信し、いずれのコントローラ３０５のアドレス出力がアドレスバス３２９に行くように選択されるべきかを示す。制御回路３３０は外部データバス３２５におけるデータフローの方向を制御する。ＳＲＡＭが書き込まれるならば、マルチプレクサ３２０および３２７はＳＲＡＭコントローラ３０５−１からの入力を選択する。ＳＤＲＡＭが書き込まれるならば、マルチプレクサ３２０および３２７はＳＤＲＡＭコントローラ３０５−２からの入力を選択する。また、選択されるメモリはライト信号を送信される。
【００１２】
メモリ読み出しの間、コントローラ３０５は、セレクト信号３７０および３８０、アドレスバス３１０からのアドレス、リード／ライトライン３１５からのリード信号を受信する。マルチプレクサセレクタ３６０はマルチプレクサ３２７にセレクト信号を送信し、いずれのコントローラ３０５のアドレス出力がアドレスバス３２９に行くように選択されるべきかを示す。選択されたメモリは応答し、それぞれのコントローラにデータを送信する。そして、マルチプレクサセレクタ３６０は、どのデータが内部データバスに送信されるべきかを示すセレクト信号をマルチプレクサ３３５に送信する。
【００１３】
外部メモリがデータを受信しているとき（メモリ書き込み）、または、外部データバス３２５がメモリ読み出しから解放されているときに、コントローラ３０５はロジックゲート３５０へのウェイト信号を生成する。ロジックゲート３５０は、いずれかのコントローラ３０５がウェイト信号を送信するならばウェイトライン３４０に沿ってウェイト信号を生成するＯＲゲートである。
【００１４】
図４は、先行技術のマイクロコントローラにおける書き込み伝送のための波形を表わすタイミング図である。図４についての説明は、図２も参照する。クロック４００はマイクロコントローラ１１０およびＳＤＲＡＭ１３０によって受信されるクロック信号である（図１を参照）。アドレス４０５はアドレスバス２１０において出力され、ライト信号４１０はリード／ライトライン２１７において外部バス回路２３０に送信される。アドレス４０５に対応するデータ４１５は、内部データバス２１６において送信される。
【００１５】
時刻４２０において、アドレス４２５はアドレスバス２３４において使用可能となり、データ４３０は外部データバス２３８において使用可能となる。また、ウェイト信号４３５が外部バス回路２３０からマイクロプロセッサ２０２に送信される。外部メモリが外部データバス２３８におけるデータを用いて書き込みされる間、アドレス４４０がアドレスバス２１０において送信される。しかし、ウェイト信号４３５がアサートされるので、データバス２１６へのアクセスは不可能であり、データ４１５は継続する。
【００１６】
クロックサイクルの最後においてウェイト信号４３５がデアサートされ、時刻４４３において、メモリ書き込みが完了し、内部データバス２１６におけるデータ４１５は、内部アドレス４４０に対応するデータ４４５によって置き換えられる。時刻４５０において、アドレス４４０が使用可能となった後の４クロックサイクルで、内部メモリへのアクセスは完了する。
【００１７】
図５は、先行技術のマイクロコントローラにおける読み出し伝送のための波形を表わすタイミング図である。図５についての説明は、図２も参照する。クロック５００はマイクロコントローラ１１０およびＳＤＲＡＭ１３０によって受信されるクロック信号である（図１を参照）。アドレス５０５はアドレスバス２１０において出力され、リード信号５１０はリード／ライトライン２１７において外部バス回路２３０に送信される。
【００１８】
時刻５１５において、外部バス回路２３０はアドレス５１０を受信する。また、時刻５１５において、内部メモリへのアドレス５２０はアドレスバス２１０において出力され、ウェイト信号５２３は外部バス回路２３０からマイクロプロセッサ２０２に送信される。ウェイト信号５２３は、マイクロプロセッサ２０２が内部データバス２１６をアクセスしないことを保証する。
【００１９】
外部メモリに信号を送信した後、データ５２５が外部データバス２３８において送信される。データ５３０としてデータ５２５が内部データバス２１６において使用可能となった後、外部データバス２３８は解放され、フローティング状態にある。フローティング状態５３５が終了するための十分な時間が経過すると、ウェイト信号５２３がデアサートされる。
【００２０】
時刻５４０において、データ５３０はマイクロプロセッサ２０２への伝送を完了し、外部メモリ読み出しは完了する。また、内部メモリにおいて、アドレス５２０に対応するデータ５５０は、内部データバス２１６において使用可能となる。
【００２１】
時刻５４５において、アドレス５０５が使用可能となった後の５クロックサイクルで、アドレス５２０における内部メモリへのアクセスは完了する。
【発明の開示】
【発明が解決しようとする課題】
【００２２】
外部データバスの解放および外部メモリへの書き込みの間のマイクロプロセッサの非アクティブ時間を減少させるための方法およびシステムが必要とされる。いくつかのマイクロプロセッサがいくつかの外部メモリにアクセスするときに重大な問題が生じる。単一の内部データバスが使用されるならば、全てのマイクロプロセッサはウェイト信号を送信され、それらは、外部メモリを必ずしも必要としないにもかかわらず、待たなければならない。
【課題を解決するための手段】
【００２３】
本発明は、集積回路における非アクティブ期間を減少させるためのシステムである。集積回路は、外部データバスによって外部周辺装置に接続される。集積回路は、プロセッサ、内部データバスによってプロセッサに接続されたアドレスデコーダを有する。外部データバスが占有され、内部データバスが占有されていないとき、ウェイト信号とともにビジー信号が送信される。
【００２４】
本発明は、内部データバスおよび外部データバスに接続された外部バス回路である。このバスインタフェース回路は、外部周辺機器へのリード／ライトアクセスを要求するプロセッサからのリード／ライト信号を受信し、応答してウェイト信号およびビジー信号を生成するように構成される。内部データバスにおいてリード／ライトデータが伝送されるときウェイト信号が生成され、（すなわち、プロセッサからの書き込みデータが外部バスインタフェースにおいて使用可能となり、または、外部周辺装置からの読み出しデータバスがプロセッサにおいて使用可能となるまで、）内部データバスが他の目的のために使用可能でないことを示す。プロセッサまたは外部バス回路がデータを受信すると、外部バス回路はウェイト信号の生成を停止し、ビジー信号を生成し、ビジー信号は内部データバスが使用可能であり、外部データバスが他の目的のために使用可能でないことを示す。
【発明の効果】
【００２５】
本発明の利点は、外部メモリ書き込み要求のためのプロセッサのダウンタイムおよびデータフロート遅延時間の減少を含む。プロセッサは、内部データバスに、より迅速にアクセスすることができ、外部メモリアクセスの後の内部メモリへの伝送をより高速にすることができる。
【発明を実施するための最良の形態】
【００２６】
図６は、マイクロコントローラにおける本発明の一実施形態を表わす図である。マイクロコントローラ６００は、アドレスバス６１５に沿ってアドレスデコーダ６１０および外部バス回路６２０に外部メモリアドレスを送信するマイクロプロセッサ６０５を含む。
アドレスデコーダ６１０は、外部メモリとしてアドレスを認識し、外部メモリセレクトライン６２５に沿って外部バス回路６２０にメモリセレクト信号を送信する。外部バス回路６２０はアドレスおよびセレクト信号を受信し、応答して制御ライン６３０に沿って制御信号、アドレスバス６３５に沿ってアドレスを送信する。
【００２７】
外部メモリは応答し、外部データバス６４０に沿ってデータが交換される。外部メモリ書き込みの間、内部データバス６４５を通してマイクロプロセッサ６０５から外部バス回路６２０に、外部データバス６４０を通して外部メモリにデータが送信される。この技術分野の当業者は、内部データバス６４５が単一の双方向データバスとすることが可能であり、または、読み出しのために１つおよび書き込みのために１つの、２つの一方向バスとすることが可能であることを認識する。外部バス回路６２０がリード／ライトライン６５０からライト信号を受信すると、外部バス回路６２０は必要ならばウェイトライン６７０に沿ってウェイト信号を送信する。ウェイト信号は、内部データバス６４５がプロセッサ６０５から外部バス回路６２０へのデータ伝送に使用中であり、他の目的に使用可能でないことを示す。ウェイト信号６７０が解除されるとすぐに、外部バス回路６２０はビジーライン６５５に沿ってビジー信号を送信する。ビジー信号は、外部データバス６４０が外部バス回路６２０から外部周辺装置へのデータ伝送に使用中であり、他の目的に使用可能でないことを示す。
【００２８】
アドレスデコーダ６１０はビジー信号を受信し、マイクロプロセッサ６０５によって送信される次のアドレスが外部メモリアドレスまたは外部データバス６４０を要求する（例えば、周辺装置、または、他のマイクロプロセッサを要求する）アドレスであるならば、アドレスデコーダ６１０はホールド信号ライン６６０に沿ってホールド信号を送信する。一実施形態において、ロジックゲート６６５は、外部バス回路６２０からのウェイト信号、または、アドレスデコーダ６１０からのホールド信号のいずれかを送信するＯＲゲートである。外部データバス６４０が外部メモリ書き込みでビジーであるのでホールド信号が送信される。マイクロプロセッサ６０５はウェイトまたはホールド信号を受信し、ウェイトまたはホールドから解放されるまで中断する。外部データバス６４０がデアサートされるとビジー信号が停止し、アドレスデコーダはホールド信号をデアサートし、マイクロプロセッサは外部データバス６４０をアクセスすることが可能である。
【００２９】
ビジー信号の間に、アドレスデコーダ６１０に送信される次のアドレスが、内部メモリであるメモリ６８０のためのものであるならば、ホールド信号は送信されず、マイクロプロセッサは内部データバス６４５を使用したメモリ６８０へのアクセス要求を完了する。
【００３０】
外部メモリ読み出しの間、外部データバス６４０を通して外部メモリから外部バス回路６２０に、内部データバス６４５を通してマイクロプロセッサ６０５にデータが送信される。外部バス回路６２０がリード／ライトライン６５０からリード信号を受信すると、外部バス回路６２０はウェイトライン６７０に沿ってウェイト信号を送信する。ウェイト信号は、外部データバス６４０および内部データバス６４５が使用中であり、他の目的のための使用可能でないことを示す。
【００３１】
ロジックゲート６６５はウェイト信号を受信し、それをマイクロプロセッサ６０５に送信し、他の目的のためにマクロプロセッサ６０５が内部データバス６４５にアクセスすることを防止する。マイクロプロセッサが要求したデータを外部メモリから受信するとすぐに、外部バス回路６２０はロジックゲート６６５へのウェイト信号の送信を停止し、データが内部データバス６４５からクリアされたことを示す。マイクロプロセッサが外部メモリへの他のアクセスを要求する前に、外部データバス６４０は解放されなければならない。解放期間の間、データが内部データバス６４５からクリアされた後、ウェイト信号は解除され、外部バス回路６２０はアドレスデコーダ６１０にビジー信号を送信し、外部データがまだフローティング状態にあることを示す。
【００３２】
アドレスデコーダ６１０はビジー信号を受信し、マイクロプロセッサ６０５によって送信される次のアドレスが外部メモリアドレスまたは外部データバス６４０を要求する（例えば、周辺装置または他のマクロプロセッサを要求する）アドレスであるならば、アドレスデコーダ６１０はホールド信号ライン６６０に沿ってホールド信号を送信する。ロジックゲート６６５は外部バス回路６２０からのウェイト信号またはアドレスデコーダ６１０からのホールド信号のいずれかを送信する。外部データバス６４０は解放され、フローティング状態にあるのでホールド信号が送信される。外部データバス６４０が解放されるとビジー信号が停止し、アドレスデコーダ６１０はホールド信号をデアサートし、マイクロプロセッサは外部データバス６４０をアクセスすることが可能である。
ビジー信号の間、アドレスデコーダ６１０に送信される次のアドレスが内部メモリであるメモリ６８０のためのものであるならば、アドレスデコーダ６１０からホールド信号は送信されず、マイクロプロセッサは内部データバス６４５を使用したメモリ６８０へのアクセス要求を完了する。
【００３３】
まとめると、外部メモリ書き込みに続いて、外部バス回路６２０においてデータが書き込まれ、かつ任意の内部アドレスについて内部データバスを自由にアクセスできるまで、ウェイト信号６７０のためにマイクロプロセッサ６０５は中断しなければならない。外部メモリ読み出しに続いて、内部データバス６４５は読み出されるデータがクリアされ、かつ任意の内部アドレスについて内部データバス６４５をアクセスすることが可能となるまで、ウェイト信号のためにマイクロプロセッサ６０５は中断しなければならない。
【００３４】
図７は、外部バス回路における本発明の一実施形態を表わす図である。外部バス回路７００は、図６におけるように、ビジー信号をアドレスデコーダに送信することなく、図２における外部バス回路２３０を置き換えることを可能とする。
【００３５】
メモリ書き込みの間、コントローラ７０５は、アドレスバス７１０からのアドレス、セレクトライン７３５および７４０からのセレクト信号、リード／ライトライン７１５からのライト信号を受信する。マルチプレクサセレクタ７７０はマルチプレクサ７２０にセレクト信号を送信し、いずれのコントローラ７０５のデータ出力が外部データバス７２５に行くように選択されるべきかを示す。また、マルチプレクサセレクタ７７０はマルチプレクサ７２７にセレクト信号を送信し、いずれのコントローラ７０５のアドレス出力がアドレスバス７２９に行くように選択されるべきかを示す。制御回路７３０は、外部データバス７２５におけるデータフローの方向を制御する。ＳＲＡＭが書き込まれるならば、マルチプレクサ７２０および７２７はＳＲＡＭコントローラ７０５−１からの入力を選択する。ＳＤＲＡＭが書き込まれるならば、マルチプレクサ７２０および７２７はＳＤＲＡＭコントローラ７０５−２からの入力を選択する。また、選択されるメモリはライト信号が送信される。
【００３６】
コントローラ７０５がライト信号を受信すると、コントローラがすぐにデータを受け取ることができないならば、セレクト信号７３５または７４０を受信したいずれかのコントローラからウェイト信号が生成される。例えば、マイクロプロセッサから外部ＳＲＡＭへの書き込みの間、コントローラ７０５−１はロジックゲート７５５にウェイト信号を送信する。ライトデータバス７８０から内部コントローラ７０５−１にデータが伝送されると、コントローラ７０５−１はウェイト信号の送信を停止し、内部データバスが使用可能であることを示す。
【００３７】
もう１つの実施形態において、ブロック７４４はビジー出力ライン７４５および７５０を含む。外部ＳＲＡＭへの書き込みの間、コントローラ７０５−１はビジー出力ライン７４５においてコントローラ７０５−２へのビジー信号を生成する。外部ＳＲＡＭへの書き込みの間、コントローラ７０５−２が外部アドレスおよびライン７４５においてビジー信号を受信したならば、コントローラ７０５−２はロジックゲート７５５にホールド信号を送信し、ロジックゲート７５５はマイクロプロセッサにホールド信号を送信する。ホールド信号は内部データバスが使用可能であることを示すが、マイクロプロセッサによってアクセスされる次のアドレスが外部データバスに存在するので、マイクロプロセッサは外部データバスが最後のメモリ書き込みを完了するまで待たなければならない。
【００３８】
コントローラ７０５−２についても同じである。コントローラ７０５−２が外部ＳＤＲＡＭに書き込んでいるならば、コントローラ７０５−２はビジー出力ライン７５０においてコントローラ７０５−１へのビジー信号を生成する。外部メモリ書き込みの間、コントローラ７０５−１がセレクトおよび外部アドレスおよびライン７５０においてビジー信号を受信したならば、コントローラ７０５−１はロジックゲート７５５にホールド信号を送信し、ロジックゲート７５５はマイクロプロセッサにホールド信号を送信する。
【００３９】
メモリ読み出しの間、コントローラ７０５は、アドレスバス７１０からのアドレス、セレクトライン７３５、７４０からのセレクト信号、リード／ライトライン７１５からのリード信号を受信する。マルチプレクサセレクタ７７０はマルチプレクサ７２７にセレクト信号を送信し、いずれのコントローラ７０５のアドレス出力がアドレスバス７２９に行くように選択されるべきかを示す。選択されたメモリは応答し、選択されたコントローラにデータを送信する。そして、マルチプレクサセレクタ７７０は、コントローラ７０５が内部データバスに送信することを示すセレクト信号をマルチプレクサ７６０に送信する。
【００４０】
コントローラ７０５がリード信号を受信すると、セレクト信号を受信したいずれかのコントローラからウェイト信号が生成される。例えば、外部ＳＤＲＡＭからの読み出しの間、コントローラ７０５−２はロジックゲート７５５にウェイト信号を送信する。読み出されるデータが外部データバス７２５から内部データバス７６５に伝送されると、コントローラ７０５−２はウェイト信号の送信を停止し、内部データバスが使用可能であることを示す。
【００４１】
そして、コントローラ７０５−２はビジー信号を生成し、それをコントローラ７０５−１に送信する。外部データバス７２５が完全に解放されるまでビジー信号が継続する。その時間の間、コントローラ７０５−１が外部メモリからアクセスされるならば、コントローラ７０５−１はロジックゲート７５５へのホールド信号を生成し、ロジックゲート７５５はマイクロプロセッサにホールド信号を送信し、内部データバスは使用可能であるが、外部データバスはビジー信号が終わるまで使用できないことを示す。
【００４２】
この実施形態において“ビジー”および“ウェイト”信号は異なるものとして言及されたが、同じラインにおいて送信される異なる信号または同じ信号を表わすことが可能である。信号が送信される時およびそれらの効果について違いが強調された。ウェイト信号は内部データバスが使用中であるとき送信され、一方、ビジー信号は内部データバスが使用可能であるが、外部データバスが使用可能でない間、維持される。ウェイト信号は同様にマイクロプロセッサによって受信され、さらなる処理において中断を引き起こし、ビジー信号はマイクロプロセッサから制止される。
【００４３】
図８は、本発明の一実施形態における書き込み伝送のための波形を表わすタイミング図である。図８についての説明は図６も参照するが、タイミング図は全ての実施形態に適用可能であり、図６の実施形態に限定するものではない。クロック８００はマイクロコントローラ１１０およびＳＤＲＡＭ１３０によって受信されるクロック信号である（図１を参照）。アドレスバス６１５においてアドレス８０５が出力され、リード／ライトライン６５０において外部バス回路６２０にライト信号８１０が送信される。アドレス８０５に対応するデータ８１５は内部データバス６４５において送信される。
【００４４】
時刻８２０において、内部メモリ６８０へのアドレス８２５がアドレスバス６１５において使用可能となり、データ８３０が外部データバス６４０において使用可能となる。ビジー信号８４５が生成され、外部データバス６４０への他のアクセスが可能でないことを示す。この例において、外部メモリ書き込みの間、ウェイト信号は生成されない。外部データバス６４０におけるデータを用いて外部メモリが書き込みされる間、アドレスバス６１５においてアドレス８２５が送信される。ウェイト信号がアサートされないので、内部データバス６４５においてメモリ６８０にデータ８３５が送信される。
【００４５】
時刻８４０において、メモリ６８０へのアクセスが完了すると、ビジー信号８４５が終了する。時刻８４５において、外部メモリへのアクセスが終了する。時刻８４０において、内部メモリへのアクセスが完了し、内部メモリへのアドレス８２５の後の２クロックサイクルが使用可能であり、先行技術より２クロックサイクル高速である。典型的に外部データバスが使用可能となる１クロックサイクル先立って、ビジー信号の終了が生じる。
【００４６】
時刻８２０と８４０との間において、ビジー信号８４５が生成される間、外部データバス６４０へのアクセスが禁止される。
【００４７】
図９は、本発明の一実施形態における読み出し伝送のための波形を表わすタイミング図である。図９についての説明は図６も参照するが、タイミング図は全ての実施形態に適用可能であり、図６の実施形態に限定するものではない。クロック９００はマイクロコントローラ１１０およびＳＤＲＡＭ１３０によって受信されるクロック信号である（図１を参照）。アドレスバス６１５においてアドレス９０５が出力され、リード／ライトライン６５０において外部バス回路６２０にリード信号が送信される。
【００４８】
時刻９１５において、外部バス回路６２０はアドレス９１０を受信する。また、時刻９１５において、アドレスバス６１５において内部メモリへのアドレス９２０が出力され、外部バス回路６２０からマイクロプロセッサ６０５にウェイト信号９２３が送信される。ウェイト信号９２３は、マイクロプロセッサ６０５が内部データバス６４５をアクセスしないことを保証する。
【００４９】
時刻９４０において、ウェイト信号９２３のためにマイクロプロセッサ６０５においてアドレス９２０が保持され、外部データバス６４０においてデータ９２５が使用可能となる。外部データバス６４０において使用可能となった少し後に、内部データバス６４５においてデータ９３０が使用可能となり、マイクロプロセッサ６０５によって受信される。また、ほぼ時刻９４０において、ウェイト信号９２３が終了し、ビジー信号９４５が生成される。
【００５０】
時刻９５０において、アドレスバス６１５からアドレス９２０が除去され、外部データバス６４０からデータ９２５が除去される。外部データバス６４０は、それが解放されるデータフロート時間９３５に入る。時刻９５０の少し後に、内部データバス６４５においてアドレス９２０に対応するデータ９６０が使用可能となる。
【００５１】
時刻９５５において、ビジー信号９４５が終了する。時刻９５５までに、アドレス９０５の後の３クロックサイクルで、外部メモリ読み出しが完了し、１つの内部メモリ読み出しが完了する。本発明は、外部メモリ読み出しに続く内部メモリアクセスのためのアクセス時間を２クロックサイクル減少させる。
【００５２】
時刻９１５と時刻９４０との間において、ウェイト信号９２３が生成される間、内部データバス６４５へのアクセスは許可されない。時刻９４０と９５５との間において、ビジー信号９４５が生成される間、内部データバス６４５へのアクセスは許可され、外部データバス６４０へのアクセスは拒否される。時刻９５５の後に、内部または外部データバスへのアクセスが許可される。
【００５３】
図１０は、外部データバスによって外部周辺装置に接続された集積回路における非アクティブ期間を減少させる１つの方法を表わすフロー図である。集積回路は、プロセッサ、内部データバスによってプロセッサに接続されたアドレスデコーダ、内部データバスおよび外部データバスに接続された外部バス回路を有する。ブロック１０００において、外部周辺装置からのデータのためのリード信号を受信する。ブロック１００５において、外部周辺装置がすぐに応答することができるか否か判定する。外部周辺装置がすぐに応答することができないならば、ブロック１０１０において、外部周辺装置からのデータが内部データバスにおいて使用可能となるまでウェイト信号を生成する。ウェイト信号は外部および内部データバスが他の目的のために使用可能でないことを示す。そして、ウェイト信号の生成を停止する。ブロック１０２０において、内部データバスを通して外部周辺装置からのデータを読み出す。ブロック１０３０において、ウェイト信号の生成を停止する。外部周辺装置がすぐに応答することができるならば、ブロック１０３５において、内部データバスを通して外部周辺装置からのデータを読み出す。ブロック１０４０において、ビジー信号を生成し、ビジー信号は、内部データバスが使用可能であり、外部データバスが他の目的のために使用可能でないことを示す。
【００５４】
図１１は、外部データバスによって外部周辺装置に接続された集積回路における非アクティブ期間を減少させるためのもう１つの方法を表わすフロー図である。集積回路は、プロセッサ、内部データバスによってプロセッサに接続されたアドレスデコーダ、内部データバスおよび外部データバスに接続された外部バス回路を有する。ブロック１１００において、外部周辺装置のためのライト信号を受信する。ブロック１１０５において、外部バス回路がすぐに応答することができるか否か判定する。外部バス回路がすぐに応答することができないならば、ブロック１１１０において、外部バス回路においてデータが使用可能となるまでウェイト信号を生成する。ウェイト信号は内部データバスおよび外部データバスが使用可能でないことを示す。ブロック１１１５において、外部データバスにおいて外部周辺装置が使用可能となるまでビジー信号を生成し、ビジー信号は、内部データバスが使用可能であり、外部データバスが他の目的のために使用可能でないことを示す。ブロック１１２０において、外部データバスを通して外部周辺装置に書き込む。ブロック１１３０において、ビジー信号の生成を停止する。
【００５５】
本発明の効果は、データフロート遅延時間および外部メモリにおいて要求される書き込み時間の間のプロセッサの待ち時間を減少させることを含む。
【００５６】
通常の技術者は、ここで説明される実施形態は外部メモリに適用されるが、本発明は、外部バスが周辺装置、メモリ、他のプロセッサ等によって使用されていようといまいと、外部バスにおける待機によるマイクロプロセッサの遅延に適用可能であることを理解する。本発明は、外部データバスが使用中である間、内部データバスを使用するための方法およびシステムを提供する。もう１つの実施形態において、本発明は、ブリッジに接続された（外部または内部のいずれかの）一組のバスに適用することが可能である。１つのバスがビジーであるとき、他のバスを使用することが可能である。
【００５７】
ここで説明された実施形態は、単に実施可能な開示を提供することを意図し、本発明の特徴の限定を意図するものではない。この技術分野の当業者は、上述した説明、図面、特許請求の範囲から、特許請求の範囲に定義された本発明の範囲から逸脱することなく、本発明に変形、変更を行うことが可能であることを理解する。
【図面の簡単な説明】
【００５８】
【図１】外部メモリを有する先行技術のマイクロコントローラを表わす図である。
【図２】外部バス回路を有する先行技術のマイクロコントローラを表わす図である。
【図３】先行技術の外部バス回路を表わす図である。
【図４】先行技術のマイクロコントローラにおける書き込み伝送のための波形を表わすタイミング図である。
【図５】先行技術のマイクロコントローラにおける読み出し伝送のための波形を表わすタイミング図である。
【図６】マイクロコントローラにおける本発明の一実施形態を表わす図である。
【図７】外部バス回路における本発明の一実施形態を表わす図である。
【図８】本発明の一実施形態における書き込み伝送のための波形を表わすタイミング図である。
【図９】本発明の一実施形態における読み出し伝送のための波形を表わすタイミング図である。
【図１０】集積回路における非アクティブ期間を減少させる１つの方法を表わすフロー図である。
【図１１】集積回路における非アクティブ期間を減少させるもう１つの方法を表わすフロー図である。
【符号の説明】
【００５９】
６００  マイクロコントローラ
６０５  マイクロプロセッサ
６１０  アドレスデコーダ
６１５  アドレスバス
６２０  外部バス回路
６２５  外部メモリセレクトライン
６３０  制御ライン
６３５  アドレスバス
６４０  外部データバス
６４５  内部データバス
６５０  リード／ライトライン
６５５  ビジーライン
６６０  ホールド信号ライン
６６５  ロジックゲート
６７０  ウェイトライン
６８０  メモリ
【図１】
2008535075.tif 000003
【図２】
2008535075.tif 000004
【図３】
2008535075.tif 000005
【図４】
2008535075.tif 000006
【図５】
2008535075.tif 000007
【図６】
2008535075.tif 000008
【図７】
2008535075.tif 000009
【図８】
2008535075.tif 000010
【図９】
2008535075.tif 000011
【図１０】
2008535075.tif 000012
【図１１】
2008535075.tif 000013
【国際調査報告】
2008535075.tif 000014