(57)【要約】      （修正有）【課題】メモリアクセス要求に応答して、メモリクロック信号を用いて、メモリバスにおいてアクセスを行うメモリアクセス回路とを備えるマイクロプロセッサを提供する。【解決手段】マイクロプロセッサは外部メモリ周波数と等しいマイクロプロセッサ周波数を表わす第１のレベルか、または外部メモリ周波数の２倍であるマイクロプロセッサ周波数を表わす第２のレベルかを有する速度制御信号を受信するための速度制御入力を含み、メモリアクセス制御は速度制御入力に結合されてかつ速度制御信号、内部マイクロプロセッサクロックおよび外部メモリクロックに応答して外部メモリ周波数がマイクロプロセッサ周波数と等しいかまたはマイクロプロセッサ周波数の２分の１である場合に外部メモリクロックと同期に外部メモリにアクセスする。【選択図】図１
2006228239.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサクロック周波数のプロセッサクロック信号を受信するための入力端子および前記プロセッサクロック信号に同期してメモリアクセス要求を供給するための出力端子を有する中央処理装置と、
前記中央処理装置およびメモリバスに結合され、メモリクロック周波数のメモリクロック信号を受信するための入力端子を有し、前記メモリアクセス要求に応答して前記メモリクロック信号を用いて前記メモリバスにおいてアクセスを行うメモリアクセス回路とを備えるマイクロプロセッサであって、
速度制御信号に応答して選択される第１または第２の動作モードのいずれかで動作し、
前記第１の動作モードにおいては、前記プロセッサクロック周波数は前記メモリクロック周波数よりも高く、前記メモリアクセス回路が前記メモリバスにおけるアクセスを前記メモリクロック信号を用いて行いつつ、前記中央処理装置は前記プロセッサクロック周波数で動作を継続し、
前記第２の動作モードにおいては、前記メモリクロック周波数は前記プロセッサクロック周波数に等しい、マイクロプロセッサ。
【発明の詳細な説明】
【発明の背景】
【０００１】
この発明は一般に外部メモリタイミングを制御するメモリクロックと同期して外部メモリへのアクセスを行なうように配列されたマイクロプロセッサに関し、かつより特定的に、マイクロプロセッサ処理速度が外部メモリタイミングと等しいときまたは予め定められた多数の外部メモリタイミングであるときにかかる同期化されたアクセスを行なうように配列されたマイクロプロセッサに関する。
【０００２】
動作命令に従ってオペランドデータ上で実行を行なうマイクロプロセッサは当該技術分野において周知である。マイクロプロセッサがかかる態様で機能するために、外部メモリはマイクロプロセッサ動作命令、オペランドデータおよびマイクロプロセッサ結果を記憶するためのマイクロプロセッサに通常は対応づける。マイクロプロセッサは読出しまたは記憶動作を行なうことによって外部メモリにアクセスし、読出し動作において、マイクロプロセッサは外部メモリから動作命令を取出すかまたはデータを入手し、かつ記憶動作においてマイクロプロセッサは外部メモリに結果を記憶する。
【０００３】
マイクロプロセッサが外部メモリにアクセスすることを可能にするために、マイクロプロセッサおよび外部メモリは複数個の制御ラインと１つ以上の多数ビットバスによって通常は結合される。或る組の制御ラインはマイクロプロセッサから外部メモリへアクセス制御信号を運び、別の組の制御ラインは外部メモリからマイクロプロセッサへアクセス制御信号を運ぶ。マイクロプロセッサから外部メモリへの制御信号は、もしアクセスが読出しまたは記憶動作であれば、アクセス要求を含んだり外部メモリへ伝えるべき情報を読出す／書込むことが可能である。
【０００４】
或る多数ビットバスはマイクロプロセッサから外部メモリへ外部メモリアドレスを運んで、読出しの間要求される命令またはデータを入手するための、または記憶の間結果を記憶するための既知の外部メモリ場所へ、マイクロプロセッサがアクセスすることを可能にするために一般に使用される。別の複数ビットバスは読出し動作の間外部メモリからマイクロプロセッサへ要求されたデータまたは命令を運ぶために、かつ記憶動作の間マイクロプロセッサから外部メモリへ結果のようなデータを運ぶために利用される。
【０００５】
マイクロプロセッサ外部メモリアクセスをサポートするためにマイクロプロセッサと外部メモリとの間のタイミング制御は非常に重要である。適切なタイミング制御は所望のマイクロプロセッサ処理速度をサポートするための効率的でかつ正確なアクセスを確実にする。かかるタイミング制御はメモリがかかるマイクロプロセッサ信号を受信することを可能にされている予め定められた時間期間の間のみプロセッサがメモリへアドレス、制御信号またはデータを駆動することを要求し、かつ同様に、プロセッサがかかる外部メモリ信号を受信することを可能にされている予め定められた時間期間の間のみ外部メモリがプロセッサへ制御信号とデータとを駆動することを要求する。かかるタイミング制御は一般に同期外部メモリアクセスと呼ばれる。
【０００６】
同期外部メモリアクセスは、メモリクロック周波数で高い位相と低い位相とを有するメモリクロックパルスを与えるメモリクロックを備えることによって達成された。メモリクロックパルスはアクセスタイミングを確立するために外部メモリとマイクロプロセッサとの双方に与えられる。マイクロプロセッサはプロセッサ動作周波数で高い位相と低い位相とを有するプロセッサクロックパルスを発生するそれ自体の内部クロックを一般に含み、この周波数は最も一般的には外部メモリクロック周波数に等しかった。メモリクロックパルスの位相とプロセッサクロックパルスの位相との間の関係は、それから確立されかつマイクロプロセッサが外部メモリへ制御信号、アドレスまたはデータを駆動する時間期間、および外部メモリがマイクロプロセッサへ制御信号またはデータを駆動する時間期間を決定するために維持される。これらの位相関係を固守するとマイクロプロセッサによる外部メモリの同期アクセスという結果になる。
【０００７】
同期アクセスはメモリクロック周波数がプロセッサクロック周波数に等しいような状況に制限されてきた。これは残念なことである、なぜなら改良された処理性能は、もし所与のメモリが外部メモリクロック周波数より大きい動作周波数で処理することが可能なマイクロプロセッサをサポートすることができれば、得られるからである。たとえば、２５メガヘルツの動作周波数を有し、かつ２５メガヘルツの外部メモリに対応づけるマイクロプロセッサが５０メガヘルツのマイクロプロセッサと取替えられれば、たとえメモリが２５メガヘルツのメモリであるとしても、大半の場合処理システムの全体的な性能は２倍になるであろう。残念ながら、先行技術はプロセッサ動作周波数で動作する外部メモリ、またはマイクロプロセッサ動作周波数の２分の１のような分数で動作する外部メモリに同期してアクセスするために選択的に動作可能なマイクロプロセッサを提供しなかった。もしかかるマイクロプロセッサが外部メモリ、外部バスおよび制御ラインに見えるような態様でいずれかの外部メモリにアクセスすることができれば、それによってマイクロプロセッサおよびメモリの相対的な動作周波数にかかわらずかかる同期アクセスを与えることは、非常に有利であろう。
【発明の開示】
【発明の概要】
【０００８】
この発明は、プロセッサクロック周波数のプロセッサクロック信号を受信するための入力端子および前記プロセッサクロック信号に同期してメモリアクセス要求を供給するための出力端子を有する中央処理装置と、前記中央処理装置およびメモリバスに結合され、メモリクロック周波数のメモリクロック信号を受信するための入力端子を有し、前記メモリアクセス要求に応答して前記メモリクロック信号を用いて前記メモリバスにおいてアクセスを行うメモリアクセス回路とを備えるマイクロプロセッサを提供する。
マイクロプロセッサは、速度制御信号に応答して選択される第１または第２の動作モードのいずれかで動作し、前記第１の動作モードにおいては、前記プロセッサクロック周波数は前記メモリクロック周波数よりも高く、前記メモリアクセス回路が前記メモリバスにおけるアクセスを前記メモリクロック信号を用いて行いつつ、前記中央処理装置は前記プロセッサクロック周波数で動作を継続し、前記第２の動作モードにおいては、前記メモリクロック周波数は前記プロセッサクロック周波数に等しい。
また、この発明は、メモリのアクセス速度を制御するためにメモリクロックパルスに第１の周波数を与えるメモリクロックと同期して、読出しおよび記憶動作を実行するために外部メモリにアクセスするように配列されたマイクロプロセッサを提供する。マイクロプロセッサはマイクロプロセッサの処理速度を制御するために第２の周波数でクロックパルスを発生するための内部クロックと、第１の周波数に等しい第２の周波数を表わす第１のレベルかまたは予め定められた多数の第１の周波数である第２の周波数を表わす第２のレベルかを有する速度制御信号を受信するための速度制御入力とを含む。マイクロプロセッサは速度制御入力に結合されて速度制御信号とメモリクロックパルスとに応答して、速度制御信号が第１のレベルにありかつ第２の周波数が第１の周波数と等しい場合にメモリクロックと同期にマイクロプロセッサが外部メモリにアクセスすることを引起こすための、かつ速度制御信号が第２のレベルにありかつ第２の周波数が予め定められた多数の第１の周波数である場合にマイクロプロセッサがメモリクロックと同期して外部メモリにアクセスすることを引起こすためのメモリアクセス制御手段をさらに含む。
【０００９】
この発明は、外部アドレスバスによってマイクロプロセッサに結合された外部メモリにアクセスして、第１の周波数でのメモリクロックパルスをマイクロプロセッサと外部メモリとに与えて、バスを介してメモリのアクセス速度を制御するメモリクロックと同期して、読出しおよび記憶動作を実行するように配列されたマイクロプロセッサをさらに提供する。マイクロプロセッサは第２の周波数でクロックパルスを発生して、マイクロプロセッサの処理速度を制御するための内部クロックと、マイクロプロセッサが外部メモリにアクセスしようとする場合に外部メモリアドレスを与えるための中央処理装置とを含む。マイクロプロセッサは外部メモリアドレスがバスを介して外部メモリに伝えられて外部メモリの同期アクセスを可能にしようとする時を制御するためのバスインタフェース装置をさらに含み、第１の周波数に等しい第２の周波数を表わす第１のレベルか、または予め定められた多数の第１の周波数である第２の周波数を表わす第２のレベルかを有する速度制御信号を受信するための速度制御入力を含む。バスインタフェース装置はまた速度制御信号レベル、メモリクロックおよび内部クロックに応答して、メモリクロックおよび内部クロックがマイクロプロセッサによる外部メモリの同期アクセスを得るためにお互いに対して第１の予め定められた位相関係にある場合に、外部メモリアドレスがバス上に置かれることを引起こすための制御手段をも含む。
【００１０】
この発明は外部バスを介して外部メモリへの出力を駆動するためにマイクロプロセッサで使用するための出力バッファをさらに提供する。出力バッファは入力信号レベルを受信するための入力、入力信号のレベルで外部バスを駆動するための出力および制御信号を受信するための制御入力を含む。制御入力は出力に結合されて出力が制御信号に応答する入力信号のレベルで外部バスを駆動することを引起こす。出力バッファは入力と出力との間に結合されかつ制御入力に結合されて、制御信号に応答して出力から入力を分離し外部バスが入力信号レベルで駆動されつつある一方で入力が新しい入力信号レベルで更新されることを可能にするための分離手段をさらに含む。
【００１１】
（１）本発明のマイクロプロセッサは、外部メモリにアクセスするように配列されたマイクロプロセッサであって、外部メモリは第１の周波数でメモリクロックパルスを与えて前記メモリのアクセス速度を制御するメモリクロックと同期して読出しおよび記憶動作を実行し、
第２の周波数でクロックパルスを発生して前記マイクロプロセッサの処理速度を制御する内部クロックと、
前記第１の周波数に等しい前記第２の周波数を示す第１のレベルかまたは予め定められた多数の前記第１の周波数である前記第２の周波数を示す第２のレベルかを有する速度制御信号を受信するための速度制御入力と、さらに
前記速度制御入力に結合され、かつ前記速度制御信号と前記メモリクロックパルスとに応答して、前記速度制御信号が前記第１のレベルにありかつ前記第２の周波数が前記第１の周波数と等しい場合に前記マイクロプロセッサが前記メモリクロックと同期して前記外部メモリにアクセスすることを引起こし、かつ前記速度制御信号が前記第２のレベルでありかつ前記第２の周波数が前記予め定められた多数の前記第１の周波数である場合に前記マイクロプロセッサが前記メモリクロックと同期して前記外部メモリにアクセスすることを引起こすためのメモリアクセス制御手段とを含む。
上記マイクロプロセッサは以下のように構成してもよい。
（２）前記予め定められた多数を２とする。
（３）前記第１の速度制御信号レベルは論理１でありかつ前記第２の速度制御信号レベルは論理０である。
（４）前記メモリクロックパルスは第１の位相部分と第２の位相部分とを含み、前記外部メモリは前記第１の位相部分の間前記マイクロプロセッサから入力を受信しかつ前記第２の位相部分の間前記マイクロプロセッサに出力を与えるように配列され、かつ前記メモリアクセス制御手段は前記第１の位相部分の間前記マイクロプロセッサが前記外部メモリに出力を与えることを可能にし、かつ前記第２の位相部分の間前記マイクロプロセッサが前記外部メモリから入力を受信することを可能にするための可能化手段を含む。
（５）前記内部クロックは第１および第２のプロセッサクロックパルスを発生するために配列され、前記第１および第２のプロセッサクロックパルスは前記第２の周波数であり、第１および第２のクロックパルス位相を有し、かつ逆の位相関係にあり、前記可能化手段は前記速度制御信号第１のレベルに応答して、各前記第１のクロックパルス第１の位相と前記メモリクロックパルス第１の位相部分との一致があるとすぐ前記マイクロプロセッサが前記外部メモリに前記出力を与えることを可能にし、かつ各前記第２のクロックパルス第１の位相と前記メモリクロックパルス第２の位相部分との一致があるとすぐマイクロプロセッサが前記外部メモリから入力を受信することを可能にする。
（６）前記可能化手段は前記速度制御信号第２のレベルにさらに応答して、１つおきの前記第１のクロックパルス第１の位相と前記メモリクロックパルス第１の位相部分との一致があるとすぐマイクロプロセッサが前記外部メモリに前記出力を与えることを可能にし、かつ１つおきの前記第２のクロックパルス第１の位相と前記メモリクロックパルス第２の位相部分との一致があるとすぐマイクロプロセッサが前記外部メモリから入力を受信することを可能にする。
（７）前記可能化手段は前記マイクロプロセッサが前記外部メモリに前記出力を与えることを可能にする第１の制御信号と、前記マイクロプロセッサが前記外部メモリから前記入力を受信することを可能にする第２の制御信号とを発生するための手段を含む。
（８）前記可能化手段は前記メモリクロックパルス、前記速度制御信号ならびに前記第１および第２のプロセッサクロックパルスに応答して前記第１および第２の制御信号を発生する。
（９）前記マイクロプロセッサによって前記外部メモリに与えられた前記出力はマイクロプロセッサアクセス制御信号、外部メモリアドレスおよびデータを含み、前記マイクロプロセッサによって受信された前記入力は外部メモリアクセス制御信号およびデータを含む。
（１０）前記マイクロプロセッサは複数個の制御ライン、データバスおよびアドレスバスによって前記外部メモリに結合されるように配列され、前記マイクロプロセッサは前記出力を前記制御ライン、前記データバスおよび前記アドレスバス上に与えるための複数個の出力ポートを含み、かつ前記出力ポートは前記第１の制御信号によって可能化され、前記メモリクロックパルスと同期して前記外部メモリへ前記出力を与えるように配列された出力バッファを含む。
（１１）前記出力バッファは前記第１の制御信号に応答して前記出力を初めに与えるための激しい駆動手段と前記第１の制御信号の終結の後前記出力を維持するための弱い駆動手段とを含む。
（１２）前記出力バッファは前記外部メモリに与えられるべき前記出力をレベルを受信するための入力を含み、前記マイクロプロセッサは前記第１の制御信号の前に前記出力バッファ入力に前記出力レベルを与えるように配列され、かつ前記出力バッファは前記レベルを前記入力に一時的に保持するための前記入力に結合されたラッチを含む。
（１３）前記バッファは前記第１の制御信号に応答して前記ラッチから前記入力を分離するための分離手段を含み、前記入力でのレベルが以前のレベルが前記外部メモリに与えられるときに更新されることを許容する。
（１４）前記出力バッファは前記更新された出力レベルを保持する前記入力ラッチの前に前記第１の制御信号の終結に応答して前記激しい駆動手段から前記弱い駆動手段へ前記前のレベルを転送するように配列される。
（１５）前記出力バッファは前記転送された出力レベルを保持するための第２のラッチと、前記第１の制御信号の終結に応答して前記更新されたレベルから前記第２のラッチを分離するための第２の分離手段とを含む。
（１６）前記マイクロプロセッサは前記外部メモリから外部アクセス制御信号を受信するための少なくとも１つの入力を含み、前記入力は前記第２の制御信号、前記メモリクロックパルスの前記第２の位相部分および前記第２のプロセッサクロックパルスの前記第１の位相部分に応答して、前記外部メモリから前記外部アクセス制御信号を受信するための論理手段を含む。
（１７）前記外部メモリからの前記外部アクセス制御信号は外部アクセスの成功した完成を示す動作可能信号であり、前記論理手段は前記動作可能信号に応答して内部動作可能信号を与えるように配列され、かつ前記マイクロプロセッサは前記内部動作可能信号に応答して前記完成された外部アクセスを終結させる。
（１８）前記メモリアクセス制御手段は少なくとも第１および第２の状態を有する状態マシーンを含み、前記第２の状態は外部アクセスを始めて完成まで継続させるためのものでありかつ前記第１の状態は前記完成されたアクセスを終結させるためのものである。
（１９）外部アクセス要求信号を与えるための中央処理装置をさらに含み、前記メモリアクセス制御手段は前記外部アクセス要求信号に応答して未決定の要求信号を発生するためのラッチ手段を含み、かつ前記状態マシーンは前記未決定の要求信号、前記第２の制御信号および前記第１の状態にあることに応答し、前記第２のプロセッサクロックパルスの次の第１の位相になるとすぐ前記第２の状態に続いて前記外部アクセスを開始する。
（２０）前記状態マシーンは前記外部アクセスを開始するとすぐ前記ラッチ手段からの前記未決定の要求信号を取除くために配列される。
（２１）前記メモリアクセス制御手段は前記論理手段に結合されてかつ前記内部動作可能信号に応答して修飾された動作可能信号を与えるための動作可能手段をさらに含む。
（２２）前記状態マシーンは前記修飾された読出信号、前記未決定の要求信号がないことおよび前記第２の状態にあることに応答して前記第２のプロセッサクロックパルスの次の第１の位相になるとすぐ前記第１の状態へと続いて前記完成された外部アクセスを終結させる。
（２３）前記マイクロプロセッサは外部ソースから前記メモリクロックパルスを受信するための入力を含む。
（２４）前記マイクロプロセッサは前記メモリクロックパルスを与えるためのクロック発生器と前記メモリクロックパルスを前記外部メモリに与えるための出力とを含む。
（２５）本発明の別のマイクロプロセッサは、外部メモリにアクセスするように配列されたマイクロプロセッサであって、外部メモリは外部アドレスバスによって前記マイクロプロセッサに結合されて第１の周波数でメモリクロックパルスを前記マイクロプロセッサと前記外部メモリとに与えて前記バスを介して前記メモリのアクセス速度を制御するメモリクロックと同期して読出しおよび記憶動作を実行し、
第２の周波数でクロックパルスを発生して前記マイクロプロセッサの処理速度を制御する内部クロックと、
前記マイクロプロセッサが前記外部メモリにアクセスしようとするときに外部メモリアドレスを与える中央処理装置と、さらに
前記外部メモリアドレスが前記バスを介して前記外部メモリに伝えられようとするときを制御して前記外部メモリの前記同期アクセスを可能にし、かつ前記第１の周波数に等しい前記第２の周波数を示す第１のレベルかまたは予め定められた多数の前記第１の周波数である前記第２の周波数を示す第２のレベルかを有する速度制御信号を受信するための速度制御入力を含むバスインタフェース装置とを含み、前記バスインタフェース装置は前記速度制御信号レベル、前記メモリクロックおよび前記内部クロックに応答して、前記メモリクロックと前記内部クロックとがお互いに第１の予め定められた位相関係にあって前記マイクロプロセッサによる前記外部メモリの前記同期アクセスを得る場合に、前記外部メモリアドレスが前記バス上に置かれることを引起こすための制御手段を含む。
上記マイクロプロセッサは以下のように構成することもできる。
（２６）前記バスインタフェース装置は複数個の制御ラインによって前記外部メモリに結合されるように配列され、かつ前記制御手段は前記メモリクロックと前記内部クロックとがお互いに前記第１の予め定められた位相関係にある場合に、前記バスインタフェース装置が制御ラインの選択されたラインを介して前記外部メモリに第１のアクセス制御信号を与えることを引起こすように配列される。
（２７）前記バスインタフェース装置は前記制御ラインの選択されたラインを介して前記外部メモリから第２のアクセス制御信号を受信するように配列され、かつ前記制御手段は前記メモリクロックと前記内部クロックとがお互いに対して第２の予め定められた位相関係にある場合に、前記バスインタフェース装置が前記メモリから前記第２の制御信号を受信することを可能にするように配列される。
（２８）前記予め定められた多数は２に等しい。
（２９）前記メモリクロックパルスは第１の位相部分と第２の位相部分とを含み、前記外部メモリは前記第１の位相部分の間前記マイクロプロセッサから前記メモリアドレスと前記第１のアクセス制御信号とを受信し、かつ前記第２の位相部分の間前記マイクロプロセッサへ前記第２のアクセス制御信号を与えるように配列され、かつ前記制御手段は前記第１の位相部分の間前記マイクロプロセッサが前記アドレスと前記制御信号とを前記外部メモリに与えることを可能にし、かつ前記第２の位相部分の間前記マイクロプロセッサが前記外部メモリから前記第２の制御信号を受信することを可能にするための可能化手段を含む。
（３０）前記内部クロックは第１および第２のプロセッサクロックパルスを発生するように配列され、前記第１および第２のプロセッサクロックパルスは前記第２の周波数であり、第１および第２のクロックパルス位相を有し、かつ反対の位相関係にあり、前記可能化手段は前記速度制御信号第１のレベルに応答して各前記第１のクロックパルス第１の位相と前記メモリクロックパルス第１の位相部分との一致があるとすぐ前記マイクロプロセッサが前記アドレスおよび第１の制御信号を前記外部メモリに与えることを可能にし、かつ各前記第２のクロックパルス第１の位相と前記メモリクロックパルス第２の位相部分との一致があるとすぐ前記マイクロプロセッサが前記外部メモリから前記第２の制御信号を受信することを可能にする。
（３１）前記可能化手段は前記速度制御信号第２のレベルにさらに応答して１つおきの前記第１のクロックパルス第１の位相と前記メモリクロックパルス第１の位相部分との一致があるとすぐ前記マイクロプロセッサが前記アドレスと第１の制御信号とを前記外部メモリに与えることを可能にし、かつ１つおきの前記第２のクロックパルス第１の位相と前記メモリクロックパルス第２の位相部分との一致があるとすぐ前記マイクロプロセッサが前記第２の制御信号を前記外部メモリから受信することを可能にする。
（３２）前記可能化手段は駆動出力制御信号を発生して前記マイクロプロセッサが前記アドレスと第１の制御信号とを前記外部メモリに与えることを可能にし、かつ可能化入力制御信号を発生して前記マイクロプロセッサが前記第２の制御信号を前記外部メモリから受信することを可能にするための手段を含む。
（３３）前記可能化手段は前記メモリクロックパルス、前記速度制御信号ならびに前記第１および第２のプロセッサクロックパルスに応答して前記駆動出力および可能化入力制御信号を発生する。
（３４）前記マイクロプロセッサは双方向データバスによって前記外部メモリに結合されるように配列され、前記マイクロプロセッサは読出しアクセスの間前記可能化入力制御信号に応答して前記外部メモリからデータを受信し、かつ記憶アクセスの間前記駆動出力制御信号に応答して前記外部メモリへデータを与えるように配列される。
（３５）前記中央処理装置に結合されて前記外部メモリアドレスを受信し、かつ前記バスインタフェース装置に結合されて前記駆動出力制御信号を受信し前記駆動出力制御信号に応答して前記アドレスバス上に前記外部メモリアドレスを置くアドレスバスインタフェースをさらに含む。
（３６）前記中央処理装置に結合されて前記中央処理装置から前記外部メモリに与えられるべきデータを受信し、かつ前記外部メモリから受信されたデータを前記中央処理装置へ与えるためのデータバスインタフェースをさらに含み、前記データバスインタフェースはまた前記バスインタフェース装置に結合されて前記駆動出力制御信号に応答して前記中央処理装置からのデータを前記データバス上に置き、かつ前記可能化入力制御信号に応答して前記外部メモリからのデータを受信する。
（３７）前記バスインタフェース装置、前記アドレスバスインタフェースおよび前記データバスインタフェースは前記駆動出力制御信号によって可能化されて前記メモリクロックパルスと同期に前記第１の制御信号、前記アドレスおよび前記データを前記外部メモリに与えるように配列されたバッファを出力する。
（３８）前記出力バッファは前記駆動出力制御信号に応答して前記第１の制御信号、アドレスおよびデータを最初に駆動するための激しい駆動手段と前記駆動出力制御信号の終結後前記第１の制御信号、アドレスおよびデータを維持するための弱い駆動手段とを含む。
（３９）前記出力バッファは前記外部メモリに与えられるべき前記第１の制御信号、前記アドレスおよび前記データの入力レベルを受信するための入力を含み、前記マイクロプロセッサは前記駆動出力制御信号の前に前記入力レベルを前記出力バッファ入力に与えるように配列され、かつ前記出力バッファは前記入力に結合されて前記入力レベルを一時的に保持するためのラッチを含む。
（４０）前記バッファは前記駆動出力制御信号に応答して前記ラッチから前記入力を分離して前の入力レベルが前記外部メモリに与えられるときに前記入力での入力レベルが更新されることを許容するための分離手段を含む。
（４１）前記出力バッファは前記更新された入力レベルを保持する前記入力ラッチに先立って前記駆動出力制御信号の終結に応答して前記前の入力レベルを前記激しい駆動手段から前記弱い駆動手段へ転送するように配列される。
（４２）前記出力バッファは前記転送された入力レベルを保持するための第２のラッチと前記駆動制御信号の終結に応答して前記更新された入力レベルから前記第２のラッチを分離するための第２の分離手段とを含む。
（４３）前記バスインタフェース装置は前記外部メモリから前記第２のアクセス制御信号の１つを受信するための少なくとも１つの入力を含み、前記入力は前記可能化入力制御信号、前記メモリクロックパルスの前記第２の位相部分および前記第２のプロセッサクロックパルスの前記第１の位相部分とに応答して前記外部メモリから前記第２のアクセス制御信号を受信するための論理手段を含む。
（４４）前記外部メモリからの前記第２のアクセス制御信号は外部アクセスの成功した完成を示す動作可能信号であり、前記論理手段は前記動作可能信号に応答して内部動作可能信号を与えるように配列され、かつ前記マイクロプロセッサは前記内部動作可能信号に応答して前記完成された外部アクセスを終結させる。
（４５）前記バスインタフェース装置は制御装置を含み、前記制御装置は少なくとも第１および第２の状態を有する状態マシーンを含み、前記第２の状態は外部アクセスを始めてかつ外部アクセスを完成まで継続させるためのものでありかつ前記第１の状態は前記完成されたアクセスを終結させるためのものである。
（４６）前記中央処理装置は外部アクセス要求信号を与えるように配列され、前記制御装置は前記外部アクセス要求信号に応答して未決定の要求信号を発生するためのラッチ手段を含み、かつ前記状態マシーンは前記未決定の要求信号、前記可能化入力制御信号および前記第１の状態にあることに応答して前記第２のプロセッサクロックパルスの次の第１の位相になるとすぐ前記第２の状態に続いて前記外部アクセスを開始する。
（４７）前記状態マシーンは前記外部アクセスを開始するとすぐ前記ラッチ手段から前記未決定の要求信号を取除くように配列される。
（４８）前記制御装置はさらに前記論理手段に結合されて前記内部動作可能信号に応答して修飾された動作可能信号を与えるための動作可能手段を含む。
（４９）前記状態マシーンは前記修飾された読出信号、前記未決定の要求信号がないことおよび前記第２の状態であることに応答して前記第２のプロセッサクロックパルスの次の第１の位相になるとすぐ前記第１の状態に続いて前記完成された外部アクセスを終結させる。
（５０）前記マイクロプロセッサは、外部ソースから前記メモリクロックパルスを受信するための入力を含む。
（５１）前記マイクロプロセッサは前記メモリクロックパルスを与えるためのクロック発生器と前記メモリクロックパルスを前記外部メモリに与えるための出力とを含む。
（５２）本発明の出力バッファは、外部バスを介して外部メモリに出力を駆動するためにマイクロプロセッサで使用するための出力バッファであって、
入力信号レベルを受信するための入力と、
前記入力信号の前記レベルで前記外部バスを駆動するための出力と、
制御信号を受信するための制御入力とを含み、前記制御入力は前記出力に結合されて前記制御信号に応答して前記入力信号の前記レベルで前記出力が前記外部バスを駆動することを引起こし、さらに
前記入力と前記出力との間に結合されてかつ前記制御入力に結合されて前記制御信号に応答して前記出力から前記入力を分離して前記外部バスが前記入力信号レベルで駆動されている間に前記入力が新しい入力信号レベルで更新されることを可能にするための分離手段を含む。
上記出力バッファは、下記のように構成してもよい。
（５３）前記出力は前記制御信号に応答して前記入力信号の前記レベルで前記バスを最初に駆動するための激しい駆動手段と、前記制御信号の終結後前記入力信号の前記レベルで前記バスを駆動するための弱い駆動手段とを含む。
（５４）前記出力バッファはさらに前記分離手段と前記出力との間に結合されて前記入力レベルを一時的に保持するための第１のラッチを含む。
（５５）前記出力バッファは前記制御信号の終結に応答して前記入力信号レベルを前記激しい駆動手段から前記弱い駆動手段へと転送するように配列される。
（５６）前記出力バッファは前記転送された入力レベルを保持するための第２のラッチと、前記制御信号の終結に応答して前記更新された入力レベルから前記第２のラッチを分離するための第２の分離手段とを含む。
新規であると考えられるこの発明の特徴は前掲の特許請求の範囲で詳細に述べられる。この発明は他の目的および利点と共に添付の図面と共に以下の説明を参照することによって最もよく理解され、幾つかの図において類似の参照番号は同一の要素を示す。
【好ましい実施例の詳細な説明】
【００１２】
ここで図１を参照して、図１はこの発明を具体化する処理システム１０を例示する。処理システム１０は一般にメモリクロック１２、外部クロック１４、マイクロプロセッサ１６、および外部メモリ１８を含む。
【００１３】
外部メモリ１８はメモリ制御装置２０および主要メモリ２２を含む。かかる外部メモリは当該技術分野において周知である。
【００１４】
メモリクロック１２は外部メモリ１８の動作周波数かつゆえに外部メモリ処理速度を決定する周波数でメモリクロックパルスを与えるように好ましくは配列される。その目的のために、クロック１２はＭＥＭＣＬＫと示された入力でメモリ制御装置２０とマイクロプロセッサ１６とに結合される。当該技術分野において周知であるように、メモリクロック１２は高い位相と低い位相とを含むメモリクロックパルスを与える。
【００１５】
外部クロック１４は水晶発振器２４、水晶２６およびバッファ２８を含む。外部クロック１４はＩＮＣＬＫと示された入力でマイクロプロセッサ１６に結合される。外部クロック１４はマイクロプロセッサ１６の動作または処理周波数を決定する周波数でマイクロプロセッサ１６にクロックパルスを与える。外部クロック１４からのクロック信号はここでＰＨ１およびＰＨ２と呼ばれる１組のプロセッサクロックを内部で発生するためにマイクロプロセッサ１６によって利用される。プロセッサクロックＰＨ１およびＰＨ２は好ましくは外部クロック１４によって決定された同一の周波数であり、かつプロセッサクロックＰＨ１およびＰＨ２の各々が高い位相と低い位相とを有する状態で逆の位相である。結果として、ＰＨ１が高い位相にある場合に、ＰＨ２は低い位相にありかつ対応してＰＨ２が高い位相にあるときはＰＨ１は低い位相にある。外部メモリ１８へのアクセスを行なう場合に、マイクロプロセッサは、以下に見られるように、ＰＨ１の高い位相とメモリクロックの高い位相との一致がある場合には外部メモリ１８へ出力を駆動し、かつＰＨ２の高い位相とメモリクロックの低い位相との一致がある場合にはマイクロプロセッサ１６へ出力を駆動する。ＰＨ１、ＰＨ２およびメモリクロックの間のこれらの位相関係を固守することによって、マイクロプロセッサ１６は外部メモリ１８への同期アクセスを行なうことが可能である。
【００１６】
図１に例示されるように、メモリクロックパルスは外部クロック１２によって与えられる。しかしながら、この発明に従って、メモリクロックパルスはまたマイクロプロセッサ１６によって発生されることも可能であり、そこではＭＥＭＣＬＫはメモリ制御装置２０にメモリクロックパルスを与えるための出力として利用される。かかる場合に、メモリクロック１２は必要とされないであろう。マイクロプロセッサ１６は外部クロック１４から受信されたクロックパルスに応答してメモリクロックパルスを発生するように配列される。
【００１７】
マイクロプロセッサ１６は論理１または論理０レベルであり得る制御信号（ＰＷＲＣＬＫ）を受信するための入力３０を含む。入力３０での制御信号は例示された位置にある場合正の電圧源に結合され、スイッチ３２が矢印３４によって示されたもう一方の位置にある場合には接地に結合される。スイッチ３２が図に例示された位置にある場合に、論理１は入力３０に与えられてマイクロプロセッサ１６がメモリクロックパルスを発生し、かつそのメモリクロックパルスをＭＥＭＣＬＫに指定された出力で与えることを引起こす。スイッチ３２が接地に結合されるように代替の位置にある場合に、入力３０は論理０レベルであり、外部クロック１２のような外部クロックソースから外部から発生されたメモリクロックパルスを受信するための入力としてＮＥＭＣＬＫが機能することを引起こすであろう。
【００１８】
マイクロプロセッサは論理１の第１のレベルかまたは論理０の第２のレベルかを有する速度制御信号（＊ＤＩＶ２）を受信するためのさらなる入力３６を含む。入力３６でのレベルは論理１レベルを発生するために正の電圧源に結合されるか、または論理０レベルを発生するために接地に結合される別のスイッチ３８によって決定される。入力３６での速度制御信号のレベルは、外部メモリ１８の動作周波数がマイクロプロセッサ動作周波数に等しいかどうか（速度制御信号が論理１である場合に）、または外部メモリ１８の動作周波数がマイクロプロセッサ１６の動作周波数の２分の１であるかどうか（速度制御信号が論理０である場合に）をマイクロプロセッサ１６に知らせる。また、もし入力３０が論理１であってマイクロプロセッサ１６がメモリクロックパルスを発生することを引起こせば、マイクロプロセッサ１６は、もし入力３６が論理１であればその動作周波数で、かつもし入力３６での速度制御信号が論理０であればマイクロプロセッサの動作周波数の２分の１でメモリクロックパルスを発生するであろう。結果として、マイクロプロセッサ１６は外部から発生されたメモリクロックパルスを受信し得るかまたはメモリクロックパルスを発生し得るかである。さらに、マイクロプロセッサ１６は入力３６での入力信号レベルに依存して動作周波数かまたは動作周波数の２分の１かでメモリクロックパルスを発生するように配列される。以下に見られるように、入力３６での速度制御入力レベルはまた外部メモリの動作周波数がマイクロプロセッサ動作周波数に等しい場合、および外部メモリの動作周波数がマイクロプロセッサ動作周波数の２分の１である場合に外部メモリ１８の同期アクセスを達成するようにマイクロプロセッサ１６によって利用される。
マイクロプロセッサ１６はマイクロプロセッサ１６と外部メモリ１８との間にアクセス制御信号を伝える複数個のアクセス制御ライン４０、４２および４４によってメモリ制御装置２０に結合される。制御ライン４０および４２はマイクロプロセッサ１６からライン４０を介する制御信号＊ＲＥＱおよびライン４２を介するＲ＊Ｗを含むメモリ制御装置２０へ第１のアクセス制御信号を伝える。＊ＲＥＱはメモリアクセスを要求するとすぐマイクロプロセッサ１６によって発生される制御信号である。この信号が活性（ロー）である場合に、アクセスのためのアドレスはマイクロプロセッサ１６と主要メモリ２２との間に結合されたアドレスバス４６上に現われる。Ｒ＊Ｗはマイクロプロセッサアクセスが読出し（ロード）アクセスであるか書込（記憶）アクセスであるかを示す制御信号である。もしアクセスが読出しアクセスであれば、この信号は高く、かつもしアクセスが書込アクセスであればこの信号は低いであろう。
【００１９】
制御ライン４４はメモリ制御装置２０からマイクロプロセッサ１６へ第２のアクセス制御信号を伝える。第２のアクセス制御信号は読出アクセスに対して有効なデータまたは命令はマイクロプロセッサ１６と主要メモリ２２との間に結合される命令／データバス４８上に現在あることを示す＊ＲＤＹである。書込アクセスに対しては、この信号はアクセスが完全でありかつデータはもはや命令／データバス４８上のマイクロプロセッサ１６によって駆動される必要がないことを示す。
【００２０】
アドレスバス４６はマイクロプロセッサ１６によって発生されたアクセスされるべき主要メモリ記憶場所のアドレスを伝える単一方向の多数ビットバスである。命令／データバス４８はマイクロプロセッサ１６から主要メモリ２２へアドレスバス４６上に与えられたアドレスに対応するメモリ場所に記憶されるべきデータを伝え、かつ主要メモリからマイクロプロセッサ１６へアドレスバス４６上に伝えられたアドレスに対応する主要メモリのメモリ場所からの命令およびデータを伝えるための双方向多数ビットバスである。
【００２１】
ここで図２を参照して、図２はブロック図の形態でこの発明を具体化する図１のマイクロプロセッサを例示する。マイクロプロセッサ１６は一般に中央処理装置５０、バスインタフェース装置５２、アドレスバスインタフェース５４およびデータバスインタフェース５６を含む。
【００２２】
中央処理装置５０は外部メモリアクセスのためのアドレスを発生し、かつマイクロプロセッサが実行している現在のプログラムのデータを実行または処理する。中央処理装置５０は多数ビット内部アドレスバス５８によってアドレスバスインタフェース５４に結合されて、アドレスバスインタフェース５４にアクセスするための外部メモリアドレスを伝える。中央処理装置５０はまた内部多数ビットデータバス６０によってデータバスインタフェース５６に結合されてデータバスインタフェース５６に外部メモリに記憶されるべきデータを伝え、かつ外部アクセスの間外部メモリから受信されたデータまたは命令をデータバスインタフェースから受信する。中央処理装置５０はさらに複数個の内部制御ライン６２、６４および６６によってバスインタフェース装置５２に結合される。内部制御ライン６６は中央処理装置によって発生されたアクセス要求をバスインタフェース装置に伝える。内部制御ライン６２および６４はバスインタフェース装置５２から中央処理装置５０にデータ動作可能制御信号および命令動作可能制御信号をそれぞれ伝える。
【００２３】
バスインタフェース装置５２はマイクロプロセッサ１６による外部メモリの同期アクセスを確実にする制御信号を発生する。バスインタフェース装置は要求および読出／書込制御信号で制御ライン４０および４２を駆動し同一のものを外部メモリに伝える。これはまた読出または書込アクセスが完成するとすぐ制御ライン４４を介して外部メモリから動作可能信号を受信する。加えて、バスインタフェース装置５２は第１および第２のプロセッサクロックパルスＰＨ１およびＰＨ２を発生してマイクロプロセッサの内部タイミングを制御する。前述のように、第１および第２のプロセッサクロックパルスＰＨ１およびＰＨ２はそれぞれ同一の周波数でありかつ各々が高い位相と低い位相とを有する状態で反対の位相である。結果として、ＰＨ１が高い位相にある場合には、ＰＨ２は低い位相にありかつＰＨ１が低い位相にある場合にはＰＨ２は高い位相にある。
【００２４】
バスインタフェース装置はまた、もしＰＷＲＣＬＫ制御信号のレベルが論理１であれば、メモリクロックパルスを発生するように配列される。バスインタフェース装置５２はさらにライン６６を介して中央処理装置アクセス要求信号を受信するように配列され、かつ制御ライン６２および６４を介して中央処理装置にデータ動作可能制御信号および命令動作可能制御信号を与える。
【００２５】
以下に見られるように、バスインタフェース装置は速度制御入力信号を受信する入力３６に結合されかつ速度制御信号とメモリクロックパルスとに応答して、速度制御信号が論理１でありかつマイクロプロセッサ処理周波数がメモリクロック周波数に等しい場合にはメモリクロックと同期してマイクロプロセッサが外部メモリにアクセスすることを引起こすための、かつ速度制御信号が論理０でありかつマイクロプロセッサ処理周波数がメモリクロック周波数の２倍である場合にはメモリクロックと同期してマイクロプロセッサが外部メモリにアクセスすることを引起こすためのメモリアクセス制御手段を含む。バスインタフェース装置はまた以下に説明されるべき制御信号をアドレスバスインタフェース５４とデータバスインタフェース５６とに与えて、アドレスやデータのような出力がマイクロプロセッサから外部に駆動されるときを制御する。
【００２６】
アドレスバスインタフェース５４は内部アドレスバス５８を介して中央処理装置５０から外部メモリアドレスを受信する。アドレスバスインタフェースは入力７０でバスインタフェース装置から受信されたラッチ内部アドレス制御信号（ＬＡＴＣＨＩＡ）に応答してアクセスのためのアドレスをラッチする内部ラッチ（図示せず）を含む。アドレスバスインタフェースはまたバスインタフェース装置から受信された増分アドレス出力ラッチ制御信号（ＩＮＣＡＯＬ）を受信するための他の入力７２をも含む。増分アドレス出力ラッチは出力ラッチが中央処理装置５０に順次アクセスの各々に対してアドレスを発生することを要求することなく、次のアドレスへ増分することを引起こすように順次アクセスのために利用される。アドレスバスインタフェース５４は、バスインタフェース装置からアドレス出力ラッチを受信して、アドレスバスインタフェースがアドレスが現在そのラッチでラッチされた状態で外部アドレスバス４６を駆動することを引起こすバス制御信号（ＡＯＬＴＯＡ）をアドレスするための他の入力７４をさらに含む。最後に、アドレスバスインタフェースはバスインタフェース装置から高いインピーダンスアドレスバス制御信号（ＨＩＺＡＢ）を受信するための他の入力７６を含み、この信号は外部アドレスバス４６を駆動する出力のすべてが高いインピーダンス状態を仮定して外部アドレスバスからこれらの出力を分離することを引起こす。
【００２７】
図２で注目されるように、アドレスバスインタフェースは速度制御信号およびメモリクロックパルスをさらに受信する。アドレスバスインタフェースはまた内部制御ライン７８を介してバスインタフェース装置からアドレスバスインタフェース制御信号をも受信する。アドレスバスインタフェース５４はさらに例示されたように第１および第２のプロセッサクロックパルスＰＨ１およびＰＨ２を受信する。
【００２８】
データバスインタフェース５６はアドレスバスインタフェース５４と類似の機能を行なう。データバスインタフェースは内部データバス６０によって中央処理装置に結合されて、記憶アクセスの間中央処理装置からデータを受信し、かつ読出しアクセスの間中央処理装置へデータまたは命令を伝える。データバスインタフェースはまた入力８０でラッチ内部データバス制御信号（ＬＡＴＣＨＩＤ）を含む制御信号をバスインタフェース装置から受信する。アドレスバスインタフェース５４のように、データバスインタフェース５６は内部データバス５６を介して中央処理装置から受信されたデータをラッチするための内部ラッチ（図示せず）を含む。データバスインタフェースはさらにバスインタフェース装置からデータバス制御信号（ＤＯＬＴＯＤ）へのデータ出力ラッチを入力８２で受信して、データバスインタフェースがその内部ラッチにあるデータを外部命令／データバス４８に転送することを引起こすようにさらに配列される。他の入力８４で、データバスインタフェース５６は、バスインタフェース装置が外部命令／データバス４８を介して受信されたデータをラッチすることを引起こすラッチデータバス制御信号（ＬＡＴＣＨＤ）をバスインタフェース装置から受信する。データバスインタフェースはまた入力８６でバスインタフェース装置から高いインピーダンスデータバス制御信号（ＨＩＺＤＢ）を受信して、外部バス４８を駆動するデータバスインタフェースの出力が高いインピーダンス状態を想定して外部命令／データバス４８からこれらの出力を分離することを引起こす。データバスインタフェース５６はまた内部制御ライン８８を介してバスインタフェース装置５２からデータバス制御信号を受信する。また例示されているように、データバスインタフェースはメモリクロックパルス、速度制御信号ならびに第１および第２のプロセッサクロック信号ＰＨ１およびＰＨ２を受信する。
【００２９】
前述のように、メモリクロックパルスは高い位相である第１の位相部分と低い位相である第２の位相部分とを含む。この発明の好ましい実施例に従って、外部メモリはメモリクロックパルスの高い位相部分の間マイクロプロセッサから入力を受信し、かつメモリクロックパルスの低い位相部分の間マイクロプロセッサへ出力を駆動するように配列される。同期のアクセスを与えるために、この好ましい実施例に従って、マイクロプロセッサは第１のプロセッサクロックパルスＰＨ１の高い位相部分とメモリクロックパルスの高い位相部分との一致がある場合には外部メモリに出力を駆動することを可能にされ、かつ第２のプロセッサクロックパルスＰＨ２の高い位相部分とメモリクロックパルスの低い位相部分との一致がある場合には外部メモリから入力を受信することを可能にされる。好ましくは、メモリクロックパルスと第１のプロセッサクロックパルスとの立上がり縁は本質的に一致しているか、または第１のプロセッサクロックパルスの立上がり縁はメモリクロックパルスの立上がり縁に対して僅かに遅れているかである。
【００３０】
プロセッサクロックパルスとメモリクロックパルスとが同一の周波数である場合に、メモリクロックパルスのすべての立上がり縁はマイクロプロセッサが第１のプロセッサクロックパルスの次の高い位相の間に出力を駆動するための有効なエッジまたは時間を表わし、第２のプロセッサクロックパルスのすべての立上がり縁は外部メモリから入力の受信を可能にするための適切なエッジまたは時間を規定する。しかしながら、もし速度制御信号がメモリクロックパルスは処理クロックパルスの周波数の２分の１であることを示す論理０であれば、前述の関係は必ずしも有効であるとは限らない。当業者によって理解されるように、これらの条件の下では第１のプロセッサクロックパルスＰＨ１の高い位相がメモリクロックパルスの高い位相に一致しないが、その代わりにメモリクロックパルスの低い位相部分に一致するときがあり、同じことが第２のプロセッサクロックパルスに対しても当てはまるであろう。結果として、マイクロプロセッサが処理周波数の２分の１の周波数で動作しているメモリにアクセスしようとする場合に、マイクロプロセッサが外部メモリに出力を駆動する適切な時間を決定し、かつマイクロプロセッサがその適切な時間期間の間に外部メモリから入力を受信することを可能にすることが必要である。
【００３１】
外部メモリへのアクセスについては、メモリクロックパルスがプロセッサクロックパルスと同一の周波数である場合に、中央処理装置は、第１のプロセッサクロックパルスＰＨ１の高い位相の間、ライン６６上に要求信号を与え、かつ外部メモリアドレスを内部アドレスバス５８上のアクセスに与える。第２のプロセッサクロックパルスＰＨ２の直後の高い位相の間に、バスインタフェース装置はライン６６から要求を検出してアドレスバスインタフェース５４の入力７０で制御信号ＬＡＴＣＨＩＡをアサートしアドレスバスインタフェースが外部メモリアドレスをラッチすることを引起こす。もし外部アドレスバスが利用可能であり、かつもし未決定のアクセスがなければＰＨ１の直後の高い位相になるとすぐ、バスインタフェース装置はアドレスバスインタフェース５４の入力７４で制御信号ＡＯＬＴＯＡをアサートして、アドレスバスインタフェースがアクセスのための外部メモリアドレスで外部アドレスバス４６を駆動することを引起こす。またこの時間期間の間に、バスインタフェース装置は制御ライン４０（活性ロー）上の要求信号を与え、かつアクセスが読出し（ロード）アクセスであるかまたは書込（記憶）アクセスであるかをライン４２上に示す。もしそれが読出しアクセスであれば、ライン４２は論理１であり、かつもしそれが書込アクセスであればライン４２は論理０であろう。
【００３２】
もしアクセスが読出しアクセスであれば、ＰＨ２の次の直後の高い位相とＰＨ２のすべての後続の高い位相の間、中央処理装置５０は制御ライン６２上のデータ動作可能制御信号の状態をチェックするであろう。もし読出しが完了するために非常に多くのマイクロプロセッササイクルをとれば、中央処理装置はライン６２を介してデータ動作可能制御信号を受信するまでこの状態での処理をやめるであろう。バスインタフェース装置がＰＨ２の高い位相の間制御ライン４４を介して動作可能信号を受信する場合に、バスインタフェース装置は次に中央処理装置５０によって検知されるデータ動作可能制御信号をライン６２を介してアサートする。ライン６２上にアサートされたデータ動作可能信号を見るとすぐ、中央処理装置はアクセスが完成しかつ要求されたデータは命令／データバス４８上にラッチされてデータを受信しかつ処理を続けることを知る。
【００３３】
ここで図３を参照して、図３はバスインタフェース装置の内部クロック発生器１００とバスインタフェース装置の可能化手段１４０とを例示する。内部クロック発生器１００は一般にバッファ１０２、クロック発生器１０４、２で割る周波数分周器１０６、マルチプレクサ１０８およびトライステートバッファ１１０を含む。
【００３４】
バッファ１０２は外部クロックソース１４（図１）から入力クロック信号を受信するための入力１１２を含む。バッファ１０２はクロック発生器１０４の入力１１４に結合される。クロック発生器１０４は第１のプロセッサクロックパルスＰＨ１を与えるための第１の出力１１６と第２のプロセッサクロックパルスＰＨ２を与えるための第２の出力１１８とを含む。前述のように、クロックパルスＰＨ１およびＰＨ２はマイクロプロセッサの処理周波数を規定し、高い位相と低い位相とを有し、かつ反対の位相関係にある。
【００３５】
マルチプレクサ１０８はバッファ１０２の出力に結合される第１の入力１２０を含む。マルチプレクサ１０８は２で割る周波数分割器１０６の出力に結合される第２の入力１２２を含み、その入力１２４は順に外部クロックソース１４（図１）によって与えられた入来クロックパルスに結合される。マルチプレクサ１０８の出力１２６はトライステートバッファ１１０の入力１２８に結合される。マルチプレクサ１０８はまた速度制御信号制御ライン１３２に結合される選択入力１３０を含む。トライステートバッファ１１０は制御信号ＰＷＲＣＬＫを運ぶ制御ライン１３６に結合される可能化入力１３４を含む。最後に、トライステートバッファはマイクロプロセッサがメモリクロックパルスを外部ソースから受信する場合には入力として機能し、かつマイクロプロセッサがメモリクロックパルスを与える場合には出力として機能するポート１３９（ＭＥＭＣＬＫ）に結合される出力１３８を含む。
【００３６】
マイクロプロセッサが外部ソースからのメモリクロックパルスを備える場合には、ライン１３６を介してトライステートバッファ１１０の可能化入力１３４に与えられる制御信号ＰＷＲＣＬＫは論理０であろう。このことはトライステートバッファが出力１３８でトライステートし、かつポート１３９とトライステートバッファの入力１２８との間に高いインピーダンスを課すことを引起こす。これによりポート１３９は外部から発生されたメモリクロックパルスを受信するための入力として利用されることが可能になる。
【００３７】
マイクロプロセッサがメモリクロックパルスを与えようとする場合には、制御信号ＰＷＲＣＬＫは論理１であり、トライステートバッファの可能化入力１３４上に与えられる。これはトライステートバッファがその入力１２８で受信されたクロックパルスをその出力１３８に、かつゆえに現在出力として機能するポート１３９に、かつマイクロプロセッサのすべての他のメモリクロックパルス入力にかつ外部メモリに転送することを引起こす。もしマイクロプロセッサがプロセッサクロックパルスＰＨ１およびＰＨ２と同一の周波数でメモリクロックパルスを与えようとすれば、マルチプレクサ１０８の選択入力１３０上に与えられるライン１３２上の速度制御信号は論理１であろう。これによりマルチプレクサは入力１２０をその出力１２６に結合し、プロセッサクロックパルスと同一の周波数でメモリクロックパルスを与える。
【００３８】
もしマイクロプロセッサがマイクロプロセッサ処理周波数の２分の１である周波数でメモリクロックパルスを与えようとすれば、マルチプレクサ１０８の選択入力１３０上に与えられるライン１３２上の速度制御信号は論理０であろう。これはマルチプレクサ１０８がその入力１２２をその出力１２６に結合させることを引起こし、それによってトライステートバッファ１１０に外部ソース１４（図１）によって与えられた入力クロック信号を伝え、この入力クロック信号はここで２で割られてプロセッサクロックパルスの２分の１の周波数でメモリクロックパルスを与える。
【００３９】
可能化手段１４０はマイクロプロセッサが外部メモリへ出力を駆動することが可能なときを制御するための第１の制御信号（ＤＲＩＶＥ  ＯＵＴＰＵＴ）を出力１４２で与え、外部メモリから入力を受信するためのマイクロプロセッサを可能化するための第２の制御信号（ＥＮＡＩＮＰＵＴ）を出力１４４で与える。以下に見られるように、これらの信号はマイクロプロセッサがマイクロプロセッサ処理速度でまたはマイクロプロセッサ処理速度の半分で動作しているメモリにアクセスしているかどうかにかかわらず発生される。以下、マイクロプロセッサがマイクロプロセッサ処理速度で動作しているメモリにアクセスしている場合には、この状態を１Ｘモードと呼び、マイクロプロセッサがマイクロプロセッサ処理速度の２分の１で動作しているメモリにアクセスしている場合には、この状態を．５Ｘモードと呼ぶこととする。
【００４０】
出力１４２で第１の制御信号を発生するために、可能化手段１４０はインバータ１４６、ＮＡＮＤゲート１４８、ｐチャネル電界効果トランジスタ１５０、ラッチ１５２、インバータ１５４、ＡＮＤゲート１５６、ＡＮＤゲート１５８、ＮＯＲゲート１６０、インバータ１６２およびｐチャネル電界効果トランジスタ１６４を含む。
【００４１】
ＮＡＮＤゲート１４８は第１のプロセッサクロックパルスＰＨ１に結合される入力、インバータ１４６の出力に結合された第２の入力およびメモリクロックパルスに結合された第３の入力を含む。インバータ１４６の入力はマイクロプロセッサの出力が高いインピーダンスになり得るかどうかを決定する制御信号ＨＩＺＣＨＬに結合される。もしそれらが高いインピーダンスになることができなければ、インバータ１４６の入力での制御信号は論理０レベルであり、ＮＡＮＤゲート１４８の第２の入力が高いレベルになることを引起こすであろう。
【００４２】
マイクロプロセッサの１Ｘモードの動作において、ＰＨ１の高い位相とメモリクロックパルスの高い位相部分との一致があるとすぐ、ＮＡＮＤゲート１４８はローレベルをｐチャネル電界効果トランジスタ１５０のゲートに与えてトランジスタ１５２が導通することを引起こすであろう。これは出力１４２での第１の制御信号を高いレベルで維持してマイクロプロセッサが外部メモリに出力を駆動することを可能にするためにラッチ１５２上にハイレベルを与える。ＡＮＤゲート１５６は１Ｘモードで論理１である速度制御信号に結合される第１の入力と、第２のプロセッサクロックパルスＰＨ２に結合される他の入力とを含む。ＡＮＤゲート１５８は第１のプロセッサクロックパルスＰＨ１に結合される入力と、インバータ１６６を介して速度制御信号に結合される第２の入力とメモリクロックパルスの逆に結合される第３の入力とを含む。ＡＮＤゲート１５６および１５８の出力はＮＯＲゲート１６０の入力に結合される。ＮＯＲゲート１６０の出力はその出力がｎチャネル電界効果トランジスタ１６４のゲートに結合されるインバータ１６２の入力に結合される。
【００４３】
ＰＨ１がローになると、ＰＨ２はハイになるであろう。またメモリクロックパルスの逆もまたハイになってＡＮＤゲート１５６がＮＯＲゲート１６０にハイレベルを与えることを引起こし、かつＡＮＤゲート１５８がＮＯＲゲート１６０にローレベルを与えることを引起こすであろう。これはＮＯＲゲート１６０がインバータ１６２の入力にローレベルを与えることを引起こし、インバータ１６２は順にトランジスタ１６４のゲートにハイレベルを与える。これによりトランジスタ１６４はオンになり、ラッチ１５２が高い入力レベルから低い入力レベルになって、順に出力１４２で第１の制御信号がローになることを引起こす。結果として、１Ｘモードにおいて、第１の制御信号（ＤＲＩＶＥ  ＯＵＴＰＵＴ）はＰＨ１の高い位相とメモリクロックパルスの高い位相部分との一致の間ハイであり、かつＰＨ１の低い位相とメモリクロックパルスの低い位相部分との間ローレベルである。以下でわかるように、これによりマイクロプロセッサが第１のプロセッサクロックパルスとメモリクロックパルスとがどちらもハイレベルである場合に外部メモリに出力を駆動することを可能にし、かつマイクロプロセッサが外部メモリに出力を駆動することができないようにする。
【００４４】
．５Ｘモードにおいて、第１の制御信号は出力１４２で上に述べられたのと同じ条件下で、つまり第１のプロセッサクロックパルスの高い位相とメモリクロックパルスの高い位相部分との一致の間ハイになるであろう。しかしながら、第１の制御信号はメモリクロックパルスの低い位相部分の開始までアサートされないことが注目されるであろう。これによりマイクロプロセッサは．５Ｘモードでメモリクロックパルスの全体の高い位相部分の間の時間の延長された期間の間、外部メモリクロックと依然として同期のままでありながら、出力を駆動することが可能になる。
【００４５】
出力１４４で第２の制御信号を発生するために、可能化手段１４０はＡＮＤゲート１７０、ｎチャネル電界効果トランジスタ１７２、１７４および１７６、ラッチ１７８ならびに１組のインバータ１８０および１８２を含む。１Ｘモードにおいて、論理１速度制御信号はｎチャネル電界効果トランジスタ１７４のゲート上に与えられる。これによりトランジスタ１７４はオンし、ローレベルをラッチ１７８の入力上に与える。これによりラッチ１７８の出力は第２のプロセッサクロック信号ＰＨ２の各高い位相の間出力１４４に転送されるハイレベルに継続的にあることを引起こす。結果として、１Ｘモードにおいて、マイクロプロセッサはＰＨ２の各高い位相の間外部メモリから入力を受信するために可能化される。
【００４６】
．５Ｘモードにおいて、速度制御信号のローレベルはラッチ１７８がＰＨ１の高い位相の間にメモリクロックのレベルを抽出することを可能にする。もしメモリクロックがハイであれば（立上がり縁に遭遇したそのとき）、ＰＨ２の次の高い位相は出力１４４での第２の制御信号が外部メモリからの動作可能信号のような入力信号を無視して外部アクセスを試みないときであることを示す論理０になることを引起こすであろう。もしメモリクロックがＰＨ１の高い位相の間にローを抽出されれば、マイクロプロセッサは．５Ｘモードで動作しているので、ＰＨ１の次の高い位相はメモリクロックの立上がり縁にほぼ対応するであろう。これは入力を抽出して出力ドライバを可能化するかまたは以下に述べられるような態様で状態マシーン上に移行する有効なときである。
【００４７】
結果として、可能化手段１４０は出力を駆動するための可能化と、マイクロプロセッサが１Ｘモードであろうと．５Ｘモードであろうと適当な時間の間入力を受信するための可能化を与える。．５Ｘモードにある場合に、入力は１つおきのＰＨ２の高い位相の間に外部メモリから入力を受信するために可能化され、かつ出力はＰＨ１の１つおきの高い位相の間でかつメモリクロックパルスの立下がり縁まで外部メモリに出力を駆動するために可能化される。
【００４８】
ここで図４を参照して、図４は概略の回路図の形態で出力バッファ２００を例示し、出力バッファ２００は外部バスおよび制御ラインを外部メモリに駆動するマイクロプロセッサ１６の出力の各々でこの好ましい実施例に従ってこの発明を実施する際に役立つように利用され得る。出力バッファ２００は一般に入力レベルを受信するための入力２０２、以下に述べるような態様で適当な時間に入力２０２で受信された入力レベルで外部制御ライン４０を駆動するための出力２０４、入力レベル２０２での入力レベルが出力２０４によって外部制御ライン４０上に駆動されるべきときを制御するための第１の制御信号（ＤＲＩＶＥ  ＯＵＴＰＵＴ）を受信するための制御入力２０６および出力２０４が高いインピーダンスを外部制御ライン４０上に課して外部制御ライン４０から入力２０４を分離するときに制御信号（ＨＩＧＨ  Ｚ  ＯＵＴＰＵＴ）を受信するための高いインピーダンス出力制御入力２０８を含む。
【００４９】
出力２０４は１組のｎチャネル電界効果トランジスタ２１２および２１４を含む強いかまたは激しい（ｈａｒｄ）駆動手段２１０と、ｐチャネル電界効果トランジスタ２１８とｎチャネル電界効果トランジスタ２２０とを含む弱い（ｗｅａｋ）駆動手段２１６とを含む。以下に見られるように、入力レベルがまず外部制御ライン４０上に駆動される場合に、入力レベルは制御入力２０６で制御信号のアサーションの間に強い駆動手段２１０によって駆動され、その後入力２０６で制御信号が終了した後、入力レベルは弱い駆動手段２１６によって外部制御ライン４０上に駆動されてその出力で入力レベルを保つ。弱い駆動手段は出力バッファが入力信号レベルが強い駆動手段２１０によって保持されていた場合より素早く入力２０８で高いインピーダンス出力制御入力信号に応答して高いインピーダンス状態にトライステートすることを許容する。
【００５０】
出力バッファ２００はより特定的にインバータ２２２、ｎチャネル電界効果トランジスタ２２４、ラッチ２２６、他のインバータ２２８、トランスファゲート２３０、さらに他のインバータ２３２およびｎチャネル電界効果トランジスタ２３４を含む。出力バッファはさらに他のトランスファゲート２３６、他のインバータ２３８およびｎチャネル電界効果トランジスタ２４０を含む。
【００５１】
出力バッファはさらに他のインバータ２４２、ｎチャネル電界効果トランジスタ２４４、他のラッチ２４６、インバータ２４８、インバータ２５０、ＮＡＮＤゲート２５２およびＮＯＲゲート２５４を含む。最後に、出力バッファ２００は他のＮＯＲゲート２５６およびｎチャネル電界効果トランジスタ２５８を含む。
【００５２】
インバータ２２２は制御入力２０６とトランジスタ２２４のゲートとの間に結合される。トランジスタ２２４は入力２０２とラッチ２２６との間に結合される。インバータ２２８はラッチ２２６と制御入力２０６に結合されるトランスファゲート１３０との間に結合される。インバータ２３２はインバータ２２８の出力とトランジスタ２３４のゲートとの間に結合される。トランジスタ２３４はトランスファゲート２３０と接地電位との間に結合される。トランジスタ２３４のソースはトランジスタ２１２のゲートに結合される。
【００５３】
ラッチ２２６の出力もまたインバータ２３８の入力と制御入力２０６にも結合されるトランスファゲート２３６とに結合される。インバータ２３８の出力はトランジスタ２４０のゲートとトランスファゲート２３６とに結合される。トランジスタ２４０はトランスファゲート２３６と接地電位との間に結合され、そのソースはトランジスタ２１４のゲートに結合される。トランジスタ２１２のドレインはトランジスタ２１４のソースに結合され、その共通接合点は外部制御ライン４０に結合される。
【００５４】
トランジスタ２４４はインバータ２２８の出力とラッチ２４６の入力との間に結合される。ラッチ２４６の出力はその出力がＮＡＮＤゲート２５２の１つの入力に結合されるインバータ２４８の入力に結合される。ＮＡＮＤゲート２５２の他の入力はＮＯＲゲート２５６の出力に結合される。トランジスタ２５８はＮＯＲゲート２５６の出力と接地電位との間に結合され、そのゲートは高いインピーダンス出力制御入力２０８に結合される。ＮＯＲゲート２５６の出力はまたその出力がＮＯＲゲート２５４の１つの入力に結合されるインバータ２５０に入力に結合される。ＮＯＲゲート２５４の他の入力はインバータ２４８の出力に結合される。ＮＡＮＤゲート２５２の第２の入力はまたインバータ２４８の出力に結合される。ＮＡＮＤゲート２５２の出力はトランジスタ２１８のゲートに結合され、ＮＯＲゲート２５４の出力はトランジスタ２２０のゲートに結合される。トランジスタ２１８のドレインはトランジスタ２２０のソースに結合され、その共通接合点は外部制御ライン４０に結合される。
【００５５】
出力バッファ２００は外部バスまたは外部制御ラインを駆動するマイクロプロセッサの出力ポートのいずれにおいても使用され得るが、例示の目的のために、出力バッファ２００の動作は以前に言及された外部メモリの外部アクセスを要求するためにマイクロプロセッサによって発生される要求制御信号（＊ＲＥＱ）の発生に関して説明することとする。図４で注目されるように、入力２０２は早いと指定される早い要求（ＥＲＥＱ）制御信号を受信するように適用される、なぜならそれは要求信号として出力によって外部制御ライン４０上に駆動されるべき時間に先立って入力２０２に現われるからである。早い要求信号の出現によって、早い要求信号の入力レベルは前もって設定されることが可能であり、その後要求信号として外部メモリに伝えられる。
【００５６】
動作において、入力２０６での制御信号がアサートされない場合（ローレベルで）、トランジスタ２２４はオンにされて入力レベル２０２での入力レベルがラッチ２２６によってラッチされることを許容することは注目されるであろう。また、入力２０６での制御信号がローの場合に、トランジスタ２１２と２１４との双方は外部制御ライン４０に何ら出力を与えないようにオフにされるであろう。
【００５７】
入力２０６での制御信号がアサートする（ハイになる）場合に、トランジスタ２２４はオフにされて入力２０２での入力レベルがラッチ２２６に影響を及ぼすことなく変化することを許容するであろう。結果として、トランジスタ２２４は入力２０２をラッチ２２６から分離するかつゆえに出力バッファ２００の出力から分離するための分離手段として機能し、そのとき前の入力信号レベルは外部制御ライン４０上に駆動される。
【００５８】
入力２０６での制御信号のアサーションは強い駆動手段２１０が外部制御ライン４０に前の入力信号レベルを駆動することを可能にする。前の入力信号は、もし前の入力信号レベルがハイレベルであれば、強い駆動トランジスタ２１２がライン２６０上で可能化ハイ制御信号によってオンにされ、強い駆動トランジスタ２１４がライン２６２上の可能化ロー制御信号によってオフにされて高い入力レベルが外部制御ライン４０上に駆動されることを引起こすように、ラッチ２２６によってラッチされるであろう。
【００５９】
もし前の入力信号がローレベルであれば、強い駆動トランジスタ２１２はライン２６０上の可能化ハイ信号によってオフにされ、かつ強い駆動トランジスタ２１４はライン２６２上の可能化ロー制御信号によってオンにされるであろう。これによって前の入力信号のロー入力レベルが外部制御ライン４０上に駆動されることを引起こす。ローレベルが外部制御信号上に駆動されるこの後者の場合は要求制御信号（＊ＲＥＱ）のアサーションに対応する。
【００６０】
前の入力レベルが入力２０６での制御信号のアサーションに応答して強い駆動手段２１０によって外部制御ライン４０上に駆動された場合に、前の入力信号レベルはトランジスタ２４４を介してラッチ２４６に転送されつつあるインバータ２２８の出力のレベルによって弱い駆動手段２１６に転送される。この転送が可能にされるのは、ライン２６０および２６２上の可能化ハイおよび可能化ロー制御信号がそれぞれＮＯＲゲート２５６の入力に結合されているからである。これらの信号の一方がハイでかつ他方がローでなければならないので、インバータ２４２によって反転されてトランジスタ２４４のゲート上にハイレベルを与えるＮＯＲゲート２５６の出力はローであろう。これによってトランジスタ２４４のオンが維持されて前の入力レベルをラッチ２４６に転送する。
【００６１】
入力２０６での制御信号（ＤＲＩＶＥ  ＯＵＴＰＵＴ）がデアサートする（ローになる）場合に、ライン２６０および２６２上の可能化ハイおよび可能化ロー制御信号の双方はローになって強い駆動手段２１０をオフにしてＮＯＲゲート２５６の出力がハイになることを引起こす。これによってトランジスタ２４４はオフになり、ラッチ２４６をインバータ２２８の出力から分離する。トランジスタ２４４をオンにするために要求された時間がラッチ２２６を新しい入力信号レベルで更新するために要求された時間より短いので、前の入力信号レベルはラッチ２４６によって維持されるであろう。
【００６２】
弱い駆動手段２１６はここで出力２０４かつゆえに外部制御ライン４０を元来は強い駆動手段によって確立されたレベルに維持するために引継ぐ。当該技術分野において周知であるように、強い駆動手段２１０と弱い駆動手段２１６との違いは主に弱い駆動トランジスタと比べたときの強い駆動トランジスタの物理的な寸法にある。周知のように、強い駆動トランジスタは弱いトランジスタより大きく、かつゆえにより大きな電流を駆動することが可能である。
【００６３】
弱い駆動手段２１６は出力が高いインピーダンスを想定しようとする場合に出力バッファ２００のトライステーティングを収容するために利用される。弱いドライバは強いドライバよりずっと素早くトライステートされ得る。もし前の入力レベルの弱い駆動手段２１６への転送後に出力バッファ２００がトライステートされることになれば、２０８での高いインピーダンス出力入力制御信号はハイレベルとしてアサートしてトランジスタ２５８をオンにするであろう。これによってインバータ２５０の入力はローレベルになり、このレベルによってトランジスタ２１８および２２０の双方がオフにされて外部制御ライン４０から出力２０４を分離することを引起こす。
【００６４】
したがって前述からわかるように、出力バッファ２００は制御入力２０６でＤＲＩＶＥ  ＯＵＴＰＵＴ制御信号に応答して外部メモリに出力を開始する。もし入力２０６での制御信号がローレベルであれば、出力バッファ２００の出力は入力２０２での入力レベルにかかわらずオフにされるであろう。入力２０６での制御信号がアサートする場合には、出力バッファ２００はラッチ２２６によって維持された前の入力信号レベルで外部制御ラインを駆動する一方で、入力２２２はラッチ２２６から分離されて入力２０２での入力レベルが新しいレベルを想定することを許容するであろう。制御信号が入力２０６でデアサートする場合には、前の入力信号レベルは弱い駆動手段２１６に転送され、この弱い駆動手段は外部制御ライン４０を前の入力信号レベルに対応するレベルに維持する。結果として、外部メモリへの出力はＤＲＩＶＥ  ＯＵＴＰＵＴ制御信号のアサーションがあるとすぐのみ開始され、出力バッファ２００はマイクロプロセッサが１Ｘモードであろうと．５Ｘモードであろうとにかかわらず同じ態様で動作し、外部メモリへの同期アクセスを実行する。結果として、いつ出力が駆動されるべきかに関する決定プロセスは出力バッファ２００に見えるようにされる。
【００６５】
ここで図５を参照して、図５はマイクロプロセッサ１６のバスインタフェース装置５２の制御装置部分２８０を例示する。制御装置は論理手段２８２、チャネルラッチ２８４、チャネル状態マシーン２８６、チャネル駆動２８８およびチャネル動作可能２９０を含む。以下でわかるように、論理手段２８２は第２の制御信号（ＥＮＡＩＮＰＵＴ）に応答してマイクロプロセッサ入力を条件づけて外部メモリからアクセス制御信号を受信し、チャネルラッチ２８４、チャネル状態マシーン２８６、チャネル駆動２８８およびチャネル動作可能２９０は一緒に動作してマイクロプロセッサアクセスが始まるときおよびマイクロプロセッサアクセスが終結されるべきときを制御する。さらに、チャネルラッチ２８４、チャネル状態マシーン２８６、チャネル駆動２８８およびチャネル動作可能２９０はマイクロプロセッサが１Ｘモードであろうと．５Ｘモードであろうとにかかわらず同じ態様で動作して外部メモリに同期にアクセスする。
【００６６】
論理手段２８２のような論理手段はマイクロプロセッサの各入力でこの発明のこの好ましい実施例に従って利用されることが可能であり、各入力は外部メモリからアクセス制御信号を受信することが可能である。論理手段２８２は外部メモリから外部制御ラインに結合され、かつ例示されるように制御ライン４４に結合されて外部メモリから動作可能信号（＊ＲＤＹ）を受信する入力２９２を含む。論理手段２８２はさらにインバータ２９４、インバータ２９６、ｎチャネル電界効果トランジスタ２９８、インバータ３００、ｎチャネル電界効果トランジスタ３０２およびラッチ３０４を含む。論理手段はさらに非反転バッファ３０６、ＮＡＮＤゲート３０８およびインバータ３１０を含む。論理手段２８２はさらに第２の制御信号（ＥＮＡＩＮＰＵＴ）を受信するための制御入力３１２を含み、第２の制御信号の発生は図３に関連して説明された。
以前に説明されたように、外部アクセスが完成した場合に、外部メモリは外部制御ライン４４を介してロー論理レベルの形態で動作可能信号を与える。動作可能信号はインバータ２９４および２９６によってバッファされ、トランジスタ２９８が導通することを引起こすメモリクロックパルスの第２の位相部分（低い位相）とトランジスタ３０２が導通することを引起こす第２のプロセッサクロックパルスの第１の位相（高い位相）との一致があるとすぐラッチ３０４に伝えられる。動作可能信号はそれからラッチ３０４でラッチされて非反転バッファ３０６を介してＮＡＮＤゲート３０８の１つの入力に伝えられる。動作可能信号はラッチ３０４によってＮＡＮＤゲート３０８の入力で保持される。入力３０２での第２の制御信号（ＥＮＡＩＮＰＵＴ）がアサートする場合には、動作可能信号はインバータ３１０の出力３１４で内部動作可能信号（ＩＮＴＲＤＹ）を与えるインバータ３１０を介して送られる。結果として、外部メモリからの動作可能信号は第２の制御信号（ＥＮＡＩＮＰＵＴ）がアサートされるまでマイクロプロセッサによって検出されない。すなわち、もし動作可能信号が外部メモリから受信されるが、第２の制御信号がローレベルであれば、バスインタフェース装置制御装置の残りの部分はあたかも動作可能信号がまだ受信されていないかのように作動するであろう。内部動作可能信号は入力３１２で可能化入力制御信号によって条件づけられるので、バスインタフェース装置の残りの部分はマイクロプロセッサが１Ｘモードであろうと．５Ｘモードであろうと同じ態様で機能して外部メモリに同期にアクセスすることを許容される。
【００６７】
チャネルラッチ２８４は内部制御ライン６６を介して中央処理装置５０（図２）からアクセス要求を検出するために使用される。ライン６６上で要求信号を検出するとすぐ、チャネルラッチは内部制御ライン３２０上に未決定の要求制御信号（ＰＥＮＤＲＥＱ）を発生し、この信号はチャネル状態マシーン２８６、チャネル駆動２８８およびチャネル動作可能２９０に伝えられる。
【００６８】
チャネル駆動２８８は図２に関連して以前に述べられた以下の制御信号、つまりＬＡＴＣＨＩＡ，ＩＮＣＡＯＬ，ＨＩＺＡＢ，ＡＯＬＴＯＡ，＊ＲＥＱおよびＨＩＺＤＢを発生する。チャネル駆動２８８が制御信号ＡＯＬＴＯＡをアサートして中央処理装置によって与えられた外部メモリアドレスがアドレス出力ラッチからアドレスバスへ転送されることを引起こし、かつ要求信号（＊ＲＥＱ）をアサートする場合に、チャネルラッチ２８４はチャネル状態マシーン２８６によって発生されたクリア要求信号（ＣＬＲＲＥＱ）に応答してライン３２０から未決定要求信号を取除くであろう。チャネルラッチ２８４は未決定の要求制御信号をラッチしてライン３２２を介してクリア要求制御信号を見るまでアクセス要求を覚えているであろう。
【００６９】
チャネル動作可能２９０は内部制御ライン３２４を介して論理手段２９２から内部動作可能制御信号を受信するように配列される。後で説明されるように、チャネル状態マシーン２８６は２つの動作状態、つまり遊休状態と単一状態とを規定する。遊休状態の間、マイクロプロセッサは外部アクセスに関する何の処理も行なわない。単一状態において、マイクロプロセッサは外部アクセスが完成されるまで外部アクセスに関する処理を行なう。内部動作可能制御信号に応答するチャネル動作可能２９０は、もしチャネル状態マシーンが単一状態であれば、内部制御ライン３２６上に修飾された動作可能制御信号（ＱＲＤＹ）を発生する。また内部動作可能制御信号に応答して、かつチャネル状態マシーン２８６が単一状態である場合に、チャネル駆動２９０は内部制御ライン６４および６２を介して命令動作可能またはデータ動作可能制御信号をそれぞれ与え、内部制御ライン３２８を介してラッチデータ制御信号を与えてデータバスインタフェースが外部メモリから受信されたデータをラッチすることを引起こす。
【００７０】
以前に述べられたように、チャネル状態マシーン２８６は２つの異なった状態、つまり遊休状態と単一状態とを規定する。単一状態は外部アクセスを開始して完成まで継続させ、かつ遊休状態は完成されたアクセスを終結させてマイクロプロセッサを新しい外部アクセスが開始されるまで遊休状態に維持する。以下の表はチャネル状態マシーン２８６の状態移行をまとめたものである。
【００７１】
【表１】
2006228239.tif 000003
上の表からわかるように、未決定の要求信号が検出された場合、状態マシーンは現在の状態を見る。もし現在の状態が遊休であれば、第２の制御信号（ＥＮＡＩＮＰＵＴ）が存在（メモリクロックの正しいエッジを示して）すればそれは単一状態に移行する。もしチャネル状態マシーンが単一状態で、かつ未決定の要求を検出すれば、もし動作可能信号が現在のアクセスのための外部メモリから受信されたことを示す有効な修飾された動作可能があれば、状態マシーン２８６は単一状態のままであり、かつクリア要求制御信号を発生して外部メモリの次のアクセスを始める。したがって、次の状態へのすべての移行は修飾された動作可能制御信号の存在かまたは次の状態への移行への第２の制御信号（ＥＮＡＩＮＰＵＴ）のアサーションに依存することは注目されるであろう。さもなければ、次の状態は現在の状態と同じままである。結果として、状態移行はどちらも適切なメモリクロックエッジに基づく第２の制御信号（ＥＮＡＩＮＰＵＴ）かまたは修飾された動作可能（ＱＲＤＹ）に応答するので、状態マシーンはマイクロプロセッサが１Ｘモードであろうと．５Ｘモードであろうとメモリクロックから独立している。
【００７２】
前述から、状態マシーンが次のサイクルの間遊休状態に移行することによって完成された外部アクセスを終結させるための単一状態にあるときに、マイクロプロセッサは修飾された動作可能信号を発生するために使用される内部動作可能信号に応答することが理解される。チャネル状態マシーンはトランスファ装置３３０に結合されているので、チャネル状態マシーンが状態を変えるとき、第２のプロセッサクロックパルスＰＨ２の次の第１の位相（高い位相）があるとすぐそうすることも注目されるであろう。したがって、チャネル状態マシーンが遊休状態にあり、未決定の要求と第２の制御信号（ＥＮＡＩＮＰＵＴ）を見るとき、それはＰＨ２の次の高い位相があるとすぐ単一状態に続いて外部アクセスを開始するであろう。また、状態マシーン２８６は修飾された動作可能信号、未決定の要求信号がないこと、かつ単一状態にあることに応答して、ＰＨ２の次の高い位相があるとすぐ遊休状態に続いて完成された外部アクセスを終結させる。以前に述べられたように、第２の制御信号（ＥＮＡＩＮＰＵＴ）と修飾された動作可能制御信号（ＱＲＤＹ）との発生はメモリクロックの適切な立上がり縁に基づいているので、状態マシーンはマイクロプロセッサが１Ｘモードであるか．５Ｘモードであるかということから独立しており、ゆえに、メモリクロック出力の立上がり縁が駆動されるべきか入力が可能化されるべきかどちらであるかについての判断決定プロセスから独立している。
【００７３】
ここで図６を参照して、図６は外部メモリがプロセッサ動作周波数と同一の周波数で動作している場合、およびマイクロプロセッサがメモリクロックパルスを発生している場合に外部メモリに同期にアクセスする場合のこの発明のマイクロプロセッサの動作を表わす一連の波形を例示する。結果として、速度制御信号（＊ＤＩＶ２）は１に等しくかつＰＷＲＣＬＫ制御信号もまた１に等しい。
【００７４】
このモード（１Ｘモード）において、外部クロック（ＩＮＣＬＫ）の周波数およびメモリクロックパルスの周波数は同一であることは注目されるであろう。また第１のプロセッサクロックパルス（ＰＨ１）は外部クロックパルスに本質的に対応し、かつ第２のプロセッサクロックパルス（ＰＨ２）は第１のプロセッサクロックパルスと同一の周波数でありかつ逆の位相関係にあることも思い出されるであろう。
【００７５】
メモリクロックの第１のサイクルの間、マイクロプロセッサは要求制御信号を発生する。要求制御信号に応答して、チャネルラッチ２８４は未決定の要求制御信号を発生する。この時点で間に合ってチャネル状態マシーンは遊休状態である。このモードにおいては可能化入力（ＥＮＡＩＮＰＵＴ）制御信号はメモリクロックがその低い位相にあるときはいつでも発生されるので、第２のメモリクロックサイクルが始まるとすぐ、かつ未決定要求のアサーションがありかつチャネル状態マシーンが遊休状態であれば、チャネル状態マシーンは単一状態に移行して外部メモリアドレスが外部アドレスバス上に駆動されることを引起こし、ローになることによってかつ要求信号（＊ＲＥＱ）がアサートすることを引起こすであろう。メモリサイクルＮｏ．３の終わりに、外部メモリはデータを与え、かつ動作可能信号をローに強制することによってアサートした。チャネル状態マシーンは単一状態であったので、かつ修飾された動作可能信号の発生があり、第４のメモリサイクルが始まるとすぐ、チャネル状態マシーンは遊休状態に戻って外部アクセスを完成する。
【００７６】
ここで図７を参照して、図７はマイクロプロセッサが．５Ｘモードで動作している場合に、かつゆえにマイクロプロセッサ動作周波数の２分の１である周波数で動作している外部メモリにアクセスしている場合のこの発明に従うマイクロプロセッサの動作を示す一連の波形を例示する。ここで外部クロックパルス（ＩＮＣＬＫ）はメモリクロックパルスの周波数の２倍の周波数でありかつゆえにマイクロプロセッサはメモリクロックパルスの２倍の周波数であることが注目されるであろう。メモリクロックの前第１サイクルの間、チャネル状態マシーンは遊休状態である。第２のメモリクロックサイクルが始まると、マイクロプロセッサ内の未決定の要求を鑑みてかつ可能化入力がアサートされた状態で、チャネル状態マシーンは単一状態に移行して外部メモリアドレスが外部アドレスバス上に駆動されることを引起こし、かつ要求信号がアサートされることを引起こす。第２のメモリクロックサイクルの後半において、チャネル状態マシーンは単一状態のままである、なぜなら修飾された動作可能信号はバスインタフェース装置制御装置のチャネル駆動２９０によってまだ発生されていないからである。チャネル状態マシーンは第３のメモリクロックサイクルの終わりまで単一状態のままであり、この第３のメモリクロックサイクルにおいては外部メモリがデータを与えかつ動作可能信号をアサートしたことが見られる。動作可能信号と可能化入力制御信号とのアサーションはチャネル状態マシーンが第４のメモリクロックサイクルの始まりで単一状態から遊休状態に移行して外部アクセスを完成することを引起こす。
【００７７】
図６および図７の波形図からわかるように、この発明は外部メモリがマイクロプロセッサと同一の周波数で動作していようと、外部メモリがマイクロプロセッサ動作周波数の２分の１の周波数で動作していようと外部メモリに同期にアクセスすることが可能なマイクロプロセッサを提供する。さらに、どのメモリクロック端縁から出力を駆動するかまたはどのメモリクロック端縁から入力の受信を可能にするかについての判断決定プロセスは、マイクロプロセッサバスインタフェース装置制御装置状態マシーンおよび出力バッファから独立して行なわれるので、その結果かかる判断決定プロセスはマイクロプロセッサの外部メモリおよび主要論理部分に見える態様で行なわれる。
【００７８】
この発明の特定の実施例が示されかつ説明されてきたが、修正が可能であり、かつゆえに前掲の特許請求の範囲においてこの発明の真の精神および範囲内にあるすべてのかかる変更および修正を網羅することが意図される。
【図面の簡単な説明】
【００７９】
【図１】この発明を具体化する処理システムのブロック図である。
【図２】図１の処理システムのマイクロプロセッサのブロック図である。
【図３】図２で例示されたマイクロプロセッサのバスインタフェース装置の一部を例示する部分ブロック図の形態で示された概略の回路図である。
【図４】この発明を具体化しかつ図２で示されたマイクロプロセッサからのバスおよび制御ラインを駆動するために役に立つように利用され得る出力バッファの概略の回路図である。
【図５】図２で例示されたマイクロプロセッサのバスインタフェース装置の別の部分のブロック図である。
【図６】この発明に従うマイクロプロセッサの動作周波数と同一の周波数で動作する外部メモリへの同期化された外部アクセスを行なう際の図２のマイクロプロセッサの動作を例示する一連の波形図である。
【図７】この発明に従うマイクロプロセッサの動作周波数の２分の１の周波数で動作する外部メモリへの同期化された外部アクセスを行なう際の図２のマイクロプロセッサの動作を例示する一連の波形図である。
【符号の説明】
【００８０】
１０  処理システム
１２  メモリクロック
１４  外部クロック
１６  マイクロプロセッサ
１８  外部メモリ
２０  メモリ制御装置
２２  主要メモリ
２４  水晶発振器
２６  水晶
２８  バッファ
【図１】
2006228239.tif 000004
【図２】
2006228239.tif 000005
【図３】
2006228239.tif 000006
【図４】
2006228239.tif 000007
【図５】
2006228239.tif 000008
【図６】
2006228239.tif 000009
【図７】
2006228239.tif 000010