(57)【特許請求の範囲】
【請求項１】
データプロセッサ（３）であって、
複数の内部アドレス信号、複数の内部データ信号、および複数の内部制御信号を内部バスに提供するための中央処理ユニット（２）、
前記内部バスと前記データプロセッサ（３）の外部の少なくとも１つの装置（２０７）との間で複数の外部制御信号および複数の外部アドレス信号を通信するための外部バスコントローラ、
前記データプロセッサ（３）が転送アクノレッジ信号を発生すべきことを選択的に指示する外部アクノレッジビットを格納するための制御レジスタ（８１０）、そして
前記内部バスに結合され前記外部アクノレッジビットが第１の論理状態にある場合に外部バスマスタによって開始されるアクセスに応じて前記転送アクノレッジ信号を肯定し、かつ前記外部アクノレッジビットが第２の論理状態にある場合に前記外部バスマスタによって開始されるアクセスに応じて前記転送アクノレッジ信号をインアクティブ状態に保つためのメモリコントローラ（８０４）であって、該メモリコントローラ（８０４）は前記制御レジスタ（８１０）に結合されて前記外部アクノレッジビットを受信しかつ前記外部バスコントローラに結合されて前記転送アクノレッジ信号を提供し、該メモリコントローラ（８０４）は前記転送アクノレッジ信号が肯定された時および前記転送アクノレッジ信号がインアクティブ状態である時の双方に前記少なくとも１つの装置に書き込むための書込イネーブル信号を提供するもの、
を具備することを特徴とするデータプロセッサ（３）。
【請求項２】
データプロセッサ（３）を使用して外部装置（２０７）にアクセスする方法であって、
複数の集積回路ピンの内の第１の部分から外部バスマスタ（２０５）からのバス承認信号および外部アドレス値を受信する段階、
前記バス承認信号が所定の論理状態にあることを指示するためにバス調停回路（８０６）を使用して外部マスタ制御信号を選択的に肯定する段階、
前記外部マスタ制御信号が肯定されたときにデコードおよびアドレス発生回路（８０８）を使用して前記外部アドレス値をデコードする段階、
制御レジスタ（８１０）からの制御ビットにアクセスする段階であって、前記制御ビットは前記データプロセッサ（３）が転送アクノレッジ信号を発生すべきことを示すもの、
前記制御ビットが第１の論理状態にありかつ前記外部マスタ制御信号が肯定されたときに、前記デコードおよびアドレス発生回路（８０８）が前記外部アドレス値が所定の範囲内にあることを判定したことに応じて前記転送アクノレッジ信号を発生する段階、
前記制御ビットが前記第１の論理状態と反対の第２の論理状態にありかつ前記外部マスタ制御信号が肯定された時に、前記デコードおよびアドレス発生回路（８０８）が前記外部アドレス値が前記所定の範囲内にあることを判定したことに応じて前記転送アクノレッジ信号をインアクティブに保つ段階、そして
前記転送アクノレッジ信号が肯定された時および前記転送アクノレッジ信号がインアクティブ状態である時の双方に前記外部装置に書き込むための書込イネーブル信号を提供する段階、
を具備することを特徴とするデータプロセッサ（３）を使用して外部装置（２０７）にアクセスする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には、外部マスタおよび外部メモリの間で情報を通信するデータプロセッサに関し、かつ、より特定的には、外部ダイナミック・ランダムアクセスメモリ（ＤＲＡＭ）、外部のチップ選択可能な装置、および外部マスタの間で情報を通信するデータプロセッサに関する。
【０００２】
【従来の技術】
ダイナミック・ランダムアクセスメモリ（ＤＲＡＭ）回路は一般的には半導体データ処理システムにおいて使用され無数のデータ処理動作の間に使用するための費用のかからないメモリを提供する。共通のＤＲＡＭ回路にアクセスする複数のデータプロセッサを使用した現在のデータ処理システムは典型的には適切なアドレス多重化を提供するために外部マルチプレクサを必要とする。そのようなアドレス多重化はメモリアクセス動作の間にＤＲＡＭ回路に適切なアドレスを提供するために必要とされる。ＤＲＡＭ回路のピン数は典型的には制限されているから、前記複数のデータプロセッサの内の１つによって適切な制御が提供される場合にＤＲＡＭ回路の同じ予め選択された部分の集積回路ピンにローアドレスまたはコラムアドレスを提供するためにマルチプレクサが必要とされる。データプロセッサはＲＡＳ（ローアドレスストローブ）またはＣＡＳ（コラムアドレスストローブ）信号をＤＲＡＭ回路に提供して前記ＤＲＡＭ回路の予め選択された部分の集積回路ピンに関して現在ローアドレスが提供されているかあるいはコラムアドレスが提供されているかを指示する。さらに、ＤＲＡＭ回路に読出しまたは書込みアクセスを指示するためにＤＲＡＭＷ信号が提供される。典型的なＤＲＡＭ回路においては、前記ＲＡＳ信号はＤＲＡＭ回路の予め選択された部分の集積回路ピンがローアドレス値を受信していることを指示しかつＣＡＳバスはＤＲＡＭ回路の予め選択された部分の集積回路ピンがコラムアドレスを受信していることを示す。前記ＲＡＳ，ＣＡＳおよびＤＲＡＭＷ信号に加えて、データプロセッサはまた一般に前記マルチプレクサに対して制御を提供するために少なくとも１つの集積回路ピンを指定しなければならない。集積回路ピンの数が制限されている技術領域においては、マルチプレクサの制御を提供するために単一のピンを使用することはデータ処理システムの設計者にとって面倒なことであろう。
【０００３】
さらに、従来技術の構成においてマルチプレクサを実施するために必要とされる外部ロジックはしばしば外部マスタを含めてデータ処理システムに対しかなりの量のオーバヘッドコストを加える。アドバンスド・マイクロ・デバイセス（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ）社によって製造されたＡＭ２９２００およびインターナショナル・ビジネス・マシンズ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ）社によって製造されたＰＰＣ４０３ＧＡを使用したデータ処理システムにおいては、上に述べたような外部多重化が必要とされる。これらのシステムの各々は図１に示されるような構成を必要とする。したがって、現在のＤＲＡＭコントローラの構成は適切に機能するが、上に述べたマルチプレクサを使用することを必要とせずあるいはそのマイクロプロセッサを制御するために余分の外部集積回路ピンを必要としないデータ処理システムの必要性が存在する。
【０００４】
データ処理システムの設計者の関心を引き起こす他の領域は内部および外部マスタ装置が共にデータプロセッサにおいてチップ選択および書込みイネーブル発生ロジックを使用する場合に生じる。外部マスタが内部チップ選択発生を使用してバス転送を開始する場合、しばしば、外部マスタはチップ選択されたメモリをアクセスするのに内部マスタとは異なる量の時間を必要とする。これは外部マスタアドレスおよびバス属性が内部マスタアドレスおよびバス属性と同じ時間量で内部コントローラに得られないからである。もしこのような場合が生じかつ外部マスタが内部チップ選択発生ロジックを使用することを希望すれば、従来技術の解決方法は外部マスタのアクセスに整合するために内部マスタのアクセスを変更することを要求するかあるいは内部マスタアクセスが外部マスタアクセスよりも１クロック短くできるようにすることである。
【０００５】
【発明が解決しようとする課題】
しかしながら、もしユーザが上の解決方法のいずれかを使用することができなければ、ユーザは内部チップ選択および書込みイネーブル発生ロジックを使用することができないであろう。このような状況では、ユーザは外部マスタのアクセスのためにそのようなロジックを外部システムに加えなければならない。したがって、外部マスタが外部メモリをアクセスしたときに、外部マスタアクセスのタイミングが内部マスタアクセスのものに等しいかあるいは１サイクル遅くなることを要求することなく、ユーザが内部的に構成されたチップ選択および書込みイネーブル発生ロジックを活用できるようにするデータプロセッサの必要性も存在する。
【０００６】
【課題を解決するための手段】
本発明はデータプロセッサ、外部メモリまたは装置、および外部マスタの間で情報を通信するための装置および方法を提供する。本発明の装置および方法はデータプロセッサが外部マスタによるアクセスの間に外部メモリまたは装置を適切に制御できるようにし、外部インタフェース回路の必要量を低減しかつデータ処理システムに関連するオーバヘッドコストを低減できるようにする。
【０００７】
本発明においては、ＤＲＡＭ回路のアクセスの間に多重化機能を行なうために何らの外部回路も必要とすることなく、データ処理システムにおける外部メモリを制御するための回路および動作方法が提供される。さらに、本発明は外部マスタ装置によるダイナミック・ランダムアクセスメモリ（ＤＲＡＭ）アクセスのためにデータプロセッサにおいて外部マルチプレクサおよび専用の集積回路ピンの必要性を除去する。本発明は図１に示されるような従来技術のデータ処理システムによって必要とされるような専用の集積回路ピンを必要とすることなくＤＲＡＭ回路をアクセスするために必要とされるマルチプレクス機能を実施する。本発明のデータプロセッサによる増大した柔軟性および低減された集積回路ピンの要求はより低いシステムコストを有しかつ半導体市場における最新の進歩を活用するため容易に更新できるデータ処理システムを実現する。
【０００８】
本発明の第２の観点においては、ユーザは外部マスタのチップ選択アクセスが内部マスタのアクセスと同じ数のサイクルとすることができるか、あるいは外部転送アクノレッジ終了を使用しかつ任意の数のサイクルとすることができるように本発明のデータプロセッサをプログラムすることができる。ユーザは内部および外部マスタチップ選択アクセスのために、独立にかつチップ選択のベースで、一方依然として内部チップ選択および書込みイネーブル発生ロジックを使用して、外部転送アクノレッジ終了を使用するようプログラムできる。本発明のこの観点によって与えられる柔軟性はユーザが外部チップ選択および書込みイネーブル発生ロジックを必要とすることなく異なる外部マスタサイクルのタイミングを補償できるようにする。したがって、本発明のこの実施形態においてはオーバヘッドが節約されかつ効率が増大する。
【０００９】
【発明の実施の形態】
以下の説明では、本発明を実施したデータ処理システムの一実施形態の接続および動作につきより詳細に説明する。
【００１０】
〈本発明の接続構成〉
本発明の接続構成に関する以下の説明においては、用語「バス」は、データ、アドレス、制御またはステータスのような、１つまたはそれ以上の種々の形式の情報を転送するために使用できる複数の信号または導体に言及するために使用される。用語「肯定する」および「否定する」は信号、ステータスビット、または同様の装置を、それぞれ、その論理的に真のまたは論理的に偽の状態にすることに言及する場合に使用される。もし論理的に真の状態が論理レベル“１”であれば、論理的に偽の状態は論理レベル“０”である。また、もし論理的に真の状態が論理レベル“０”であれば、論理的に偽の状態は論理レベル“１”である。
【００１１】
さらに、数字に先行する記号“＄”はその数字が１６進でまたは１６をベースとした形式で表わされることを示す。ある数字に先行する記号“％”はその数字がその２進または２をベースとした形式で表わされることを示している。また、本明細書では記号“＊”は信号の論理的反転または否定を示すものとし、いわゆる上線に対応する。
【００１２】
本発明の以下の説明においては、用語フィールドおよびビットは相互交換可能に使用されることがあることに注目すべきである。
【００１３】
図２は、本発明の一実施形態に係わるデータ処理システム２０２を示す。データ処理システム２０２はデータプロセッサ３、外部バスマスタ２０５、メモリ２０６、およびＤＲＡＭ２０７を含む。データプロセッサ３は外部バスマスタ２０５、メモリ２０６およびＤＲＡＭ２０７にＥバス（外部バス：ＥｘｔｅｒｎａｌＢｕｓ）を介して接続されている。該Ｅバスはバス調停バス、読出し／＊書込み（Ｒ／＊Ｗ）信号、転送開始（ＴＳ）信号、転送アクノレッジ（ＴＡ）信号、および「サイズ（ｓｉｚｅ）」バスをデータプロセッサ３と外部バスマスタ２０５との間で結合している。「アドレスバス」および「データバス」もまたデータプロセッサ３と外部バスマスタ２０５、メモリ２０６およびＤＲＡＭ２０７の各々の間でＥバスによって結合されている。さらに、データプロセッサ３はＥバスを介してＤＲＡＭ２０７に結合され、「ローアドレスストローブ（ＲＡＳ）」信号、「コラムアドレスストローブ（ＣＡＳ）」バス、およびＤＲＡＭ書込み（ＤＲＡＭＷ）信号を提供する。データプロセッサ３はＥバスを介してメモリ２０６に結合され「チップ選択（ＣＳ）」信号および「書込みイネーブル（ＷＥ）」バスを提供する。前記「バス調停」バスは本発明のこの実施形態では「バス要求（ＢＲ）」、「バス承認（ＢＧ）」および「バス駆動（Ｂｕｓ  Ｄｒｉｖｅｎ：ＢＤ）」信号の寄せ集め（ｃｏｍｐｉｌａｔｉｏｎ）である。しかし、バス調停およびそれに関連する信号はデータ処理技術においてはよく知られており他の信号を含む他の構成もここで使用することができる。
【００１４】
次に図３を参照すると、図３は本発明の一実施形態に係わるデータプロセッサ３を示している。データプロセッサ３はシステムバスコントローラ８、コア９、スレイブモジュール１２、スレイブモジュール１３、マスタモジュール１４、およびデバッグモジュール１０を含む。システムバスコントローラ８はＥバスを介して外部装置（ここでは図示されていない）に結合されている。システムバスコントローラ８はＳバスを介してスレイブモジュール１２およびスレイブモジュール１３に結合されている。Ｓバスはスレイブモジュールバスである。システムバスコントローラ８はＭバス２３を介してコア９およびマスタモジュール１４に結合されている。Ｍバス２３はマスタモジュールバスである。図３は本発明の一実施形態を示していることを理解すべきである。したがって、複数のスレイブモジュールおよび複数のマスタモジュールをデータプロセッサ３の別の実施形態において実施することができる。
【００１５】
コア９は中央処理ユニット（ＣＰＵ）２、メモリ管理ユニット（ＭＭＵ）／コントローラ４、およびメモリ６を具備する。中央処理ユニット２、ＭＭＵ／コントローラ４、メモリ６およびデバッグモジュール１０は各々Ｋバス２５を介してお互いに結合されている。中央処理ユニット２およびメモリ６の双方はまた直接ＭＭＵ／コントローラ４に接続されている。ＭＭＵ／コントローラ４はＭバス２３を介してデータプロセッサ３の残りの部分に情報を提供する。ＣＰＵ２は外部装置から「リセット」信号を受信する。デバッグモジュール１０はデータプロセッサ３の外部の装置（ここでは図示されていない）と複数のデバッグ情報を通信する。
【００１６】
図４は、システムバスコントローラ８の一部を示す。システムバスコントローラ８はデータパス（ｄａｔａ  ｐａｔｈ）回路８０２、メモリコントローラ８０４、バス調停回路８０６、デコードおよびアドレス発生回路８０８、そして制御レジスタ８１０を具備する。
【００１７】
Ｅバスは双方向的に外部「データ」バスをデータパス（ｄａｔａ  ｐａｔｈ）制御回路８０２と結合する。Ｍバス２３はまた双方向的に「マスタデータ（ＭＤａｔａ）」バスをデータパス（ｄａｔａ  ｐａｔｈ）回路８０２と結合する。データパス（ｄａｔａ  ｐａｔｈ）回路８０２はまた「レジスタデータ」信号を受信するためにメモリコントローラ８０４に結合されている。
【００１８】
メモリコントローラ８０４はＭバス２３に結合されて「マスタ転送アクノレッジ（ＭＴＡ）」信号を提供する。メモリコントローラ８０４はＥバスに結合されて「書込みイネーブル（ＷＥ）」バス、「チップ選択（ＣＳ）」信号、「ＤＲＡＭ書込み（ＤＲＡＭＷ）」信号、「ローアドレスストローブ（ＲＡＳ）」信号、「コラムアドレスストローブ（ＣＡＳ）」バス、および「転送アクノレッジ（ＴＡ）」信号を提供する。
【００１９】
メモリコントローラ８０４はまた制御レジスタ８１０に結合されて複数の制御情報を受信する。メモリコントローラ８０４はデコードおよびアドレス発生回路８０８に結合されてＤＲＡＭ＿ヒット（ＤＲＡＭ＿ｈｉｔ）信号およびＣＳ＿ヒット（ＣＳ＿ｈｉｔ）信号を受信する。メモリコントローラ８０４はバス調停回路８０６に結合されて＊ｉｎｔ＿ｅｘｔ＿マスタ（＊ｉｎｔ＿ｅｘｔ＿ｍａｓｔｅｒ）（内部ではなく、外部マスタ）信号を受信する。
【００２０】
バス調停回路８０６はＥバスに結合されて「バス承認（ＢＧ）」信号を受信しかつ「バス要求（ＢＲ）」信号および「バス駆動（ＢＤ）」信号を提供する。バス調停回路はデコードおよびアドレス発生回路８０８に結合されて前記＊ｉｎｔ＿ｅｘｔ＿マスタ信号を提供する。
【００２１】
デコードおよびアドレス発生回路８０８は双方向的にＥバスに結合されてアドレス値、「転送開始（ＴＳ）」信号、「読出し／＊書込み（Ｒ／＊Ｗ）」信号、および「サイズ」バスを通信する。デコードおよびアドレス発生回路８０８はまたは制御レジスタ８１０に結合されて前記複数の制御情報を受信する。デコードおよびアドレス発生回路８０８はまたＭバス２３に結合されて「マスタアドレス（ＭＡＤＤＲ）」値、「マスタ転送開始（ＭＴＳ）」信号、「マスタサイズ（ＭＳＩＺＥ）」バス、および「マスタ読出し／＊書込み（ＭＲ／＊Ｗ）」信号を受信する。
【００２２】
〈レジスタの説明〉
本発明の一実施形態を構成するシステムバスコントローラ８の一部は複数の制御レジスタ８１０を含む。本発明を実施する上で使用される各々のレジスタにつき引き続きより詳細に説明する。さらに、本発明の動作の間における制御レジスタ８１０の使用につき後により詳細に説明する。
【００２３】
前記複数の制御レジスタ８１０は図１２（ａ）〜図１２（ｃ）および図１３（ａ）〜図１３（ｅ）により詳細に示されている。複数の制御レジスタ８１０はチップ選択アドレスレジスタ（ＣＳＡＲ０−７）、チップ選択マスクレジスタ（ＣＳＭＲ０−ＣＳＭＲ７）、そしてチップ選択制御レジスタ（ＣＳＣＲ０−ＣＳＣＲ７）を含む。
【００２４】
前記複数のチップ選択アドレスレジスタ（ＣＳＡＲ）の内の代表的な１つが図１２（ａ）に示されている。各チップ選択アドレスレジスタはチップ選択ピンのベースアドレスを決定する。ビットＢＡ３１〜ＢＡ１６の各々は各チップ選択に専用のものであるメモリのベースアドレスロケーションを規定する。これらのビットは内部アドレスバスの上位ビットと比較されてチップ選択メモリがアクセスされているか否かを決定する。
【００２５】
前記複数のチップ選択マスクレジスタ（ＣＳＭＲ）の内の代表的な１つが図１２（ｂ）に示されている。各々のＣＳＭＲは各々のチップ選択に対するアドレスマスクを決定する。さらに、各々のＣＳＭＲはチップ選択信号に対して許容されるアクセスのタイプの定義を決定する。
【００２６】
図１２（ｂ）においては、ＢＡＭ３１〜ＢＡＭ１６と名付けられた格納ロケーションがベースアドレスマスクを示す。このフィールドはアドレスマスクビットの使用を通して各々のチップ選択に専用のものとされるメモリのブロックを規定する。前記ベースアドレスマスクビットは論理的に反転されかつ前に述べたＣＳＡＲに格納されたベースアドレスの上位ビットおよび内部アドレスバスの上位ビットと“ＡＮＤ”操作される。これら２つの値は次に比較されてチップ選択アドレス空間がアクセスされているか否かを判定する。前記ベースアドレスマスクビットの内の１つが論理“１”である場合は、このビットはチップ選択アドレスのデコード操作からディスエーブルされる。前記ベースアドレスマスクビットの内の１つが論理“０”である場合は、前記内部アドレスバスからの対応するアドレスビットがＣＳＡＲにおける対応するビットと比較されて適切なデコードアドレスを決定する。ＣＰＵ，ＳＣ，ＳＤ，ＵＣおよびＵＤと名付けられたＣＳＭＲビットは特定のアドレス空間をマスクしかつチップ選択を特定のアドレス空間（単数または複数）に与える。ディスエーブルされたアドレス空間において、そのアドレス空間におけるロケーションへのアクセスは通常の外部バスアクセスとなりかつチップ選択はアクティブにされない。前記アドレス空間マスクビットはＣＰＵ空間マスク、スーパバイザコードアドレス空間マスク（ＳＣ）、スーパバイザデータアドレス空間マスク（ＳＤ）、ユーザコードアドレス空間マスク（ＵＣ）、およびユーザデータアドレス空間マスク（ＵＤ）を含む。ＣＳＭＲにおけるアドレス空間マスクビットの１つが論理“１”の値である場合は、対応するアドレス空間がチップ選択のアクティブベイションおよび動作からディスエーブルされる。もし該アドレス空間が対応するアドレス空間マスクビットが肯定されている場合にアクセスされれば、何らのチップ選択のアクティベイションも生じずかつノンチップ選択（ｎｏｎ−ｃｈｉｐ  ｓｅｌｅｃｔ）外部サイクルが発生される。ＣＳＭＲにおけるアドレスビットの内の１つが論理“０”の値である場合は、そのチップ選択動作に対して対応するアドレス空間がイネーブルされる。該チップ選択を使用するアクセスはこのアドレス空間に対して行なうことができる。
【００２７】
図１２（ｃ）はチップ選択制御レジスタ（ＣＳＣＲ）を示す。各々のＣＳＣＲは内部自動アクノレッジ終了を制御し、外部マスタ自動アクノレッジ終了を制御し、ポートサイズを指示するためにチップ選択および書込みイネーブル肯定およびタイミングを制御し、かつチップ選択の各々のバースト能力を指示するために使用される。
【００２８】
動作の間に、チップ選択ゼロ（ＣＳ０）信号はグローバル（ｇｌｏｂａｌ）、またはブート（ｂｏｏｔ）、チップ選択を外部集積回路ピンに提供する。グローバルチップ選択として、ＣＳ０はシステムの初期化が行なわれる前にブートＲＯＭに対するアドレスデコードを許容する。さらに、前記ＣＳ０信号の出力は本データプロセッサに関して実施されるいずれの他のチップ選択集積回路ピンとも異なっている。システムリセット動作の後に、ＣＳ０集積回路ピンはそれぞれのアドレスに対して肯定される。この能力はブートＲＯＭが外部アドレス空間における任意のアドレスに配置できるようにする。ＣＳ０集積回路ピンは対応するＣＳＭＲ（ＣＳＭＲ０）が書込まれた状態でこのようにして動作する。そのポイントまで、ＣＳ０のポートサイズおよび内部自動アクノレッジ機能はリセット否定においてサンプルされた複数の集積回路ピンによって提供される値により決定される。以下の表、表１、はＣＳ０に対応するチップ選択のためのポートサイズを選択するために使用される値を示す。
【００２９】
【表１】
0003817327.tif 000002
【００３０】
また、以下の表２はデータプロセッサ３における内部自動アクノレッジ機能をイネーブルしまたはディスエーブルするための値を示す。ＣＳ０に対しては、システムリセットに応じて、読出しおよび書込み転送動作の双方がイネーブルされかつバースト動作がディスエーブルされる。
【００３１】
【表２】
0003817327.tif 000003
【００３２】
図１２（ｃ）においては、待機状態、ＷＳ［３：０］はＡＡ（自動アクノレッジ）フィールドまたはＥＭＡＡ（外部マスタ自動アクノレッジ）フィールドが論理“１”の値に等しい場合に有効である。有効である場合、ＷＳ［３：０］フィールドは転送アクノレッジが発生される前に挿入される待機状態の数を規定する。内部マスタ開始サイクルに対しては、もし外部転送アクノレッジが指示された数の待機状態が発生される前に受信されれば、外部転送アクノレッジはサイクルを終了することになる。
【００３３】
前記ＥＭＡＡフィールドは対応するチップ選択アドレス空間と「ヒット（ｈｉｔ）」する外部マスタ開始サイクルの間に転送アクノレッジのドライブおよび肯定を制御する。もしＥＭＡＡフィールドが論理“１”の値であれば、メモリコントローラ８０４からの転送アクノレッジは出力へとセットされかつ前記値ＷＳ［３：０］で決定される時間に肯定される。外部バスマスタ２０５からの外部転送アクノレッジ（ＴＡ）終了はディスエーブルされなければならないことに注意を要する。前記ＥＭＡＡが論理“０”の値である場合は、メモリコントローラ８０４からの外部転送アクノレッジは外部マスタ開始バスサイクルの間ドライブされずかつ外部バスマスタ２０５からの外部ＴＡ終了が提供されなければならない。
【００３４】
前記ＡＡフィールドは対応するチップ選択アドレス空間においてヒットする内部的に開始されたバスサイクルの間に前記内部ＴＡの肯定を制御する。もし前記ＡＡフィールドが論理“１”の値にセットされれば、内部ＴＡは前記ＷＳ［３：０］フィールドによって決定される時間に肯定される。メモリコントローラ８０４からの転送アクノレッジ信号は内部的に開始されたサイクルの間にパッケージ集積回路ピンが入力にセットされるときに転送される。前記ＡＡフィールドが論理“０”の値を格納している場合、前記内部転送アクノレッジは前記転送アクノレッジ終了が外部バスマスタ２０５から受信されるまで発生されない。
【００３５】
前記ＰＳ［１：０］（ポートサイズ）フィールドは各々のチップ選択に関連するデータの幅を特定する。前記ＰＳフィールドは書込みサイクルの間にどこにデータがドライブされるかおよび読出しサイクルの間にどこでデータがサンプルされるかを決定する。たとえば、もしＰＳフィールドが００の２進値を有していれば、前記プログラムされたポートサイズは３２ビットでありかつデータはデータ［３１：０］と名付けられた複数の集積回路ピンにおいてサンプルされかつドライブされる。もし前記ＰＳフィールドが０１の２進値を有していれば、プログラムされたポートサイズは８ビットでありかつデータはデータ［３１：２４］と名付けられた複数の集積回路ピンにおいてのみサンプルされかつドライブされる。もし前記ＰＳフィールドが１０の２進値を有していれば、プログラムされたポートサイズは１６ビットでありかつデータはデータ［３１：１６］と名付けられた複数の集積回路ピンにおいてのみサンプルされかつドライブされる。もし前記ＰＳフィールドが１１の２進値を有していれば、プログラムされたポートサイズは１６ビットでありかつデータはデータ［３１：１６］と名付けられた複数の集積回路ピンにおいてサンプルされかつドライブされることになる。
【００３６】
前記ＢＲＳＴ（バーストイネーブル）フィールドは各々のチップ選択に関連するメモリの「バースト可能性（ｂｕｒｓｔａｂｉｌｉｔｙ）」を示す。もし前記ＢＲＳＴフィールドが論理“１”の値にセットされれば、要求された転送サイズより小さなポートサイズへのかつ該ポートサイズからの全ての転送は「バースト化される（ｂｕｒｓｔｅｄ）」ことになる。たとえば、８および１６ビットポートに対するロングワード転送、８ビットポートへのワード転送、および８，１６および３２ビットポートへのライン転送は全て「バースト化される」ことになる。前記ＢＲＳＴフィールドが論理“０”の値を有する場合、特定されたポートサイズより大きな全ての転送は前記特定されたポートサイズより大きくない個々のノンバースト転送へと分離される。
【００３７】
前記ＡＳＥＴ（アドレスセットアップイネーブル）フィールドはアドレスの有効性の指示子に関してチップ選択の肯定を制御する。前記ＡＳＥＴフィールドが論理“０”の値である場合は、チップ選択は前記アドレスバス上のアドレスが有効である場合に肯定される。前記ＡＳＥＴフィールドが論理“１”の値である場合は、チップ選択はアドレスバス上のアドレスが有効になった後に１サイクル肯定される。
【００３８】
ＷＲＡＨ（書込みアドレスホールドイネーブル：Ｗｒｉｔｅ  ＡｄｄｒｅｓｓＨｏｌｄ  Ｅｎａｂｌｅ）フィールドはチップ選択書込みサイクルの間にチップ選択および書込みイネーブルが否定された後のアドレスホールド時間を制御する。ＷＲＡＨ値が論理“０”の値である場合、アドレスは書込み動作の実行の間に何らの余分のサイクルにつき保持されることはない。前記ＷＲＡＨフィールドが論理“１”の値である場合は、書込み動作の実行の間に転送アクノレッジが肯定された後にアドレスが１サイクルの間保持される。
【００３９】
前記ＲＤＡＨ（読出しアドレスホールドイネーブル：Ｒｅａｄ  Ａｄｄｒｅｓｓ  Ｈｏｌｄ  Ｅｎａｂｌｅ）フィールドはチップ選択読出しサイクルの間にチップ選択信号が肯定された後のアドレスホールド時間を制御する。該ＲＤＡＨ値が論理“０”の値である場合は、読出し動作の実行の間にアドレスは何らの余分のサイクルにつき保持されることはない。該ＲＤＡＨフィールドが論理“１”の値である場合は、アドレスは読出し動作の実行の間に転送アクノレッジが肯定された後に１サイクルの間保持される。
【００４０】
ＷＲ（書込みイネーブル：Ｗｒｉｔｅ  Ｅｎａｂｌｅ）フィールドは書込みサイクルに際してチップ選択および書込みイネーブル信号の肯定を制御する。ＷＲフィールドが論理“０”の値である場合は、チップ選択信号は書込み動作の実行の間にアクティベイトされない。ＷＲフィールドが論理“１”の値である場合は、チップ選択信号は書込み動作の実行の間にアクティベイトされる。
【００４１】
ＲＤ（読出しイネーブル：Ｒｅａｄ  Ｅｎａｂｌｅ）フィールドは読出しサイクルに際してチップ選択信号の肯定を制御する。ＲＤフィールドが論理“０”の値である場合は、チップ選択信号は読出し動作の実行の間にアクティベイトされない。ＲＤフィールドが論理“１”の値である場合は、チップ選択信号は読出し動作の実行の間にアクティベイトされる。
【００４２】
前記複数の制御レジスタ８１０はまたＤＲＡＭコントローラリフレッシュレジスタ（ＤＣＲＲ）、ＤＲＡＭコントローラタイミングレジスタ（ＤＣＴＲ）、複数のＤＲＡＭコントローラアドレスレジスタ（ＤＣＡＲ０−ＤＣＡＲ１）、複数のＤＲＡＭ制御マスクレジスタ（ＤＣＭＲ０−ＤＣＭＲ１）、そして複数のＤＲＡＭコントローラ制御レジスタ（ＤＣＣＲ０−ＤＣＣＲ１）を含む。
【００４３】
前記ＤＣＲＲは図１３（ａ）により詳細に示されている。ＤＲＡＭコントローラリフレッシュカウンタレジスタはリフレッシュサイクルの間のシステムクロックの数を制御する。図１３（ａ）において、「リフレッシュカウント」フィールド、ＲＣ１１−ＲＣ０、はメモリコントローラ８０４によるリフレッシュ要求の頻度を制御する。「リフレッシュカウント」フィールドに格納された値は１６のシステムクロックにより乗算されてリフレッシュ期間または周期を決定する。
【００４４】
図１３（ｂ）により詳細に示された、ＤＣＴＲはＤＲＡＭの複数のバンクに対するＤＲＡＭアクセスのためのタイミングを制御する。このレジスタにおける各フィールドはメモリコントローラ８０４によって提供されるすべての形式のＤＲＡＭアクセスのために「ローアドレスストローブ（ＲＡＳ）」および「コラムアドレスストローブ（ＣＡＳ）」バスを変更する。ＤＣＴＲにおいては、「外部マスタＤＲＡＭアクセスの間のドライブアドレス（ＤＡＥＭ）」フィールドは外部マスタによるＤＲＡＭのアクセスの間にすべてのアドレスラインに関してメモリコントローラ８０４の出力ドライバを制御する。アドレス信号を出力するよう構成されたアドレスバスの部分をドライブして外部マスタに対するローおよびコラムアドレスの多重化（ｍｕｌｔｉｐｌｅｘｉｎｇ）を提供することができる。ＤＡＥＭフィールドはＤＲＡＭへの内部的に開始されるアクセスの間にアドレスのドライブに影響を与えない。動作の間において、ＤＡＥＭフィールドが論理“０”の値である場合は、外部マスタＤＲＡＭアクセスの間にアドレス信号はドライブされない。逆に、ＤＡＥＭフィールドが論理“１”の値である場合は、外部マスタのＤＲＡＭアクセスの間にアドレス信号がドライブされてローおよびコラムアドレス多重化を提供する。
【００４５】
ＥＤＯフィールド（拡張データ出力：Ｅｘｔｅｎｄｅｄ  Ｄａｔａ  Ｏｕｔ）はＤＲＡＭバンクにＥＤＯ  ＤＲＡＭが所在するか否かを特定しかつメモリコントローラ８０４にページモードアクセスの間にＥＤＯ時間の間ＣＡＳを肯定するよう指令する。そのような手順はメモリコントローラ８０４がＥＤＯ  ＤＲＡＭによって許容される特別のＣＡＳタイミングを活用できるようにする。
【００４６】
ＲＣＤ（ＲＡＳ−ＣＡＳ遅延：ＲＡＳ  ｔｏ  ＣＡＳ  Ｄｅｌａｙ）フィールドはＲＡＳ信号の肯定とＣＡＳバスの肯定との間のシステムクロックの数を制御する。このフィールドはページおよびノンページモードのアクセスに対してのみ有効である。それはリフレッシュサイクルを制御しない。ＲＣＤフィールドが“０”の論理レベルを有する場合は、ＲＡＳ信号はＣＡＳバスの肯定の前に１システムクロック肯定する。ＲＣＤフィールドが“１”の論理レベルを有する場合、ＲＡＳ信号はＣＡＳバスの肯定の前に２システムクロック肯定する。
【００４７】
ＲＳＨ１−ＲＳＨ０（ノンページモードＲＡＳホールド時間：Ｎｏｎ−Ｐａｇｅ  Ｍｏｄｅ  ＲＡＳ  Ｈｏｌｄ  Ｔｉｍｅ）フィールドはＣＡＳバスの肯定の後にＲＡＳ信号が肯定された状態に留っているシステムクロックの数を制御する。このフィールドはノンページモードの読出しおよび書込みサイクルの間におけるＲＡＳ信号のタイミングを制御する。このフィールドが００の２進値を有する場合、ＲＡＳ信号はＣＡＳバスの肯定の後に１．５（ｏｎｅ  ａｎｄ  ａ  ｈａｌｆ）システムクロック否定する。同様に、このフィールドが０１の２進値を有する場合、ＲＡＳ信号はＣＡＳバスの肯定の後に２．５（ｔｗｏ  ａｎｄ  ａ  ｈａｌｆ）システムクロック否定する。さらに、このフィールドが１０の２進値を有する場合、ＲＡＳ信号はＣＡＳバスの肯定の後に３．５（ｔｈｒｅｅ  ａｎｄ  ａ  ｈａｌｆ）システムクロック否定する。
【００４８】
ＣＰＲ１−ＣＰＲ０（ノンページモードＣＡＳ−ＲＡＳプリチャージ時間：Ｎｏｎ−Ｐａｇｅ  Ｍｏｄｅ  ＣＡＳ  ｔｏ  ＲＡＳ  Ｐｒｅｃｈａｒｇｅ  Ｔｉｍｅ）フィールドはバスマスタがバックツウバック（ｂａｃｋ−ｔｏ−ｂａｃｋ）のＤＲＡＭアクセスを要求する際にＣＡＳバスの否定の後にＲＡＳ信号が否定された状態に留っているシステムクロックの数を制御する。ＣＲＰフィールドが００の２進値を有する場合、ＲＡＳ信号はＣＡＳバスの否定の後に１．５システムクロックを肯定する。同様に、ＣＲＰフィールドが０１の２進値を有する場合、ＲＡＳ信号はＣＡＳバスの否定の後に２．５システムクロックを肯定する。さらに、ＣＲＰフィールドが１０の２進値を有する場合、ＲＡＳ信号はＣＡＳバスの否定の後に３．５システムクロックを肯定する。
【００４９】
ＣＡＳ（ページモード・コラムアドレスストローブタイミング：Ｐａｇｅ  Ｍｏｄｅ  Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ  Ｓｔｒｏｂｅ  Ｔｉｍｉｎｇ）フィールドは、前記ＥＤＯフィールドとともに、ページモードのＤＲＡＭアクセスの間にＣＡＳがアクティブに保持されるシステムクロックの最少数を制御する。以下の表３はＣＡＳおよびＥＤＯフィールドの間の関係を示す。
【００５０】
【表３】
0003817327.tif 000004
【００５１】
ＣＰ（ＣＡＳプリチャージタイミング：ＣＡＳ  Ｐｒｅｃｈａｒｇｅ  Ｔｉｍｉｎｇ）フィールドは、前記ＥＤＯフィールドとともに、ＤＲＡＭアクセスの後にＣＡＳバスがインアクティブに保持されるシステムクロックの数を制御する。このフィールドはページモードの読出しおよび書込みサイクルの後にのみＣＡＳバスのインアクティブタイミングを制御する。表４はＣＰおよびＥＤＯフィールドの間の関係を示す。
【００５２】
【表４】
0003817327.tif 000005
【００５３】
ＣＳＲ（ＲＡＳリフレッュの前のＣＡＳに対するＣＡＳセットアップ時間：ＣＡＳ  Ｓｅｔｕｐ  Ｔｉｍｅ  ｆｏｒ  ＣＡＳ  Ｂｅｆｏｒｅ  ＲＡＳ  Ｒｅｆｒｅｓｈ）フィールドはＣＡＳバスの肯定とリフレッシュサイクルのみの間におけるＲＡＳサイクルの肯定の間のシステムクロックの数を制御する。ＣＳＲフィールドが論理“０”の値である場合は、ＣＡＳバスはＲＡＳ信号の肯定の前に１システムクロックを肯定する。ＣＳＲフィールドが論理“１”の値である場合は、ＣＡＳバスはＲＡＳ信号の肯定の前に２システムクロックを肯定する。
【００５４】
前記複数のＤＲＡＭコントローラのアドレスレジスタ（ＤＣＡＲ）の代表的な１つが図１３（ｃ）に示されている。おのおののＤＲＡＭコントローラのアドレスレジスタはおのおののＤＲＡＭバンクに専用のメモリのベースアドレスを格納する。これらのビットは内部アドレスバスの上位ビットと比較されてＤＲＡＭバンクがアクセスされているかを判定する。
【００５５】
複数のＤＲＡＭコントローラのマスクレジスタ（ＤＣＭＲ）の内の代表的な１つが図１３（ｄ）に示されている。おのおののＤＣＭＲは前記ＤＲＡＭバンクのおのおのに対するアドレスマスクを決定する。さらに、おのおののＤＣＭＲはこれらの信号に対して許容されるアクセスのタイプの定義を定める。
【００５６】
図１３（ｄ）においては、ＢＡＭ３１〜ＢＡＭ１７と名付けられた格納ロケーションはベースアドレスマスクを示す。このフィールドはアドレスマスクビットの使用によりおのおののＤＲＡＭバンクに専用のメモリのブロックを規定する。ベースアドレスマスクビットは論理的に反転されかつ上に述べたＤＣＡＲに格納されたベースアドレスの上位ビットおよび内部アドレスバスの上位ビットと“ＡＮＤ”操作される。２つの値は次に比較されてＤＲＡＭバンクアドレス空間がアクセスされているかを判定する。ベースアドレスマスクビットの内の１つが論理“１”である場合は、このビットはＤＲＡＭバンクアドレスのデコード操作からディスエーブルされる。ベースアドレスマスクビットの内の１つが論理“０”である場合は、内部アドレスバスからの対応するアドレスビットは前記ＤＣＡＲにおける対応するビットと比較されて適切なデコードアドレスを決定する。ＳＣ，ＳＤ，ＵＣおよびＵＤと名付けられたＤＣＭＲビットは特定のアドレス空間をマスクしかつＤＲＡＭバンクを特定のアドレス空間（単数または複数）にする。ディスエーブルされたアドレス空間において、そのアドレス空間におけるロケーションへのアクセスはノンＤＲＡＭ外部バスアクセスとなりかつＤＲＡＭはアクティベイトされない。前記アドレス空間マスクビットはスーパバイザコード・アドレス空間マスク（ＳＣ）、スーパバイザデータ・アドレス空間マスク（ＳＤ）、ユーザコード・アドレス空間マスク（ＵＣ）、およびユーザデータ・アドレス空間マスク（ＵＤ）を含む。ＤＣＭＲにおけるアドレス空間マスクビットの内の１つが論理“１”の値である場合は、対応するアドレス空間はＤＲＡＭアクティベイションおよび動作からディスエーブルされる。対応するアドレス空間マスクビットが肯定されている場合に該アドレス空間がアクセスされれば、何らのＤＲＡＭアクティベイションも行われずかつ外部ノンＤＲＡＭサイクルが発生される。ＤＣＭＲにおけるアドレスマスクビットの内の１つが論理“０”の値である場合は、対応するアドレス空間はＤＲＡＭ動作に対してイネーブルされる。ＤＲＡＭを使用したアクセスがこのアドレス空間に対して生じ得る。
【００５７】
図１３（ｅ）はＤＲＡＭコントローラ制御レジスタ（ＤＣＣＲ）を示す。おのおののＤＣＣＲはポートサイズ、ページサイズ、ページモードおよびデータ処理システムにおいて実施されるＤＲＡＭバンクのおのおののアクティベイションを制御するために使用される。ＤＣＣＲにおいては、ＰＳ［１：０］（ポートサイズ）フィールドはＤＲＡＭアドレス空間に関連するデータ幅を特定する。ＰＳフィールドが００の２進値を有する場合、プログラムされるポートサイズは３２ビットでありかつデータは「データ［３１：０］」と名付けられた複数の集積回路ピンに関してサンプルされかつドライブされる。もしＰＳフィールドが０１の２進値を有すれば、プログラムされたポートサイズは８ビットでありかつデータは「データ［３１：２４］」と名付けられた複数の集積回路ピンに関してのみサンプルされかつドライブされる。もしＰＳフィールドが１０の２進値を有していれば、プログラムされたポートサイズは１６ビットでありかつデータは「データ［３１：１６］」と名付けられた複数の集積回路ピンに関してのみサンプルされかつドライブされる。もしＰＳフィールドが１１の２進値を有していれば、プログラムされたポートサイズは１６ビットでありかつデータは「データ［３１：１６］」と名付けられた複数の集積回路ピンに関してのみサンプルされかつドライブされる。
【００５８】
ＢＰＳ［１：０］バンクページサイズ（ＢＰＳ［１：０］Ｂａｎｋ  ＰａｇｅＳｉｚｅ）フィールドはページモードのＤＲＡＭが使用される場合におのおののＤＲＡＭバンクに対するページサイズを規定する。ＢＰＳフィールドが００の２進値を有する場合、ページサイズは５１２バイトのページとして定義される。ＢＰＳフィールドが０１の２進値を有する場合、ページサイズは１キロバイトのページとして規定される。同様に、ＢＰＳフィールドが１０の２進値を有する場合、ページサイズは２キロバイトのページとして規定される。
【００５９】
前記ポートサイズ（ＰＳ［１：０］）およびバンクページサイズ（ＢＰＳ［１：０］）はいっしょに使用されてＤＲＡＭサイクルのコラムアドレスフェーズの間にアドレスバスの多重化を決定する。ポートサイズおよびバンクページサイズのすべての組合わせに対するアドレスバスの多重化は図１４〜図１６に示されている。
【００６０】
ＰＭ［１：０］（ページモード選択：Ｐａｇｅ  Ｍｏｄｅ  Ｓｅｌｅｃｔ）フィールドはおのおののＤＲＡＭバンクに対して許容されるページモードアクセスのタイプを選択する。ＰＭフィールドが００の２進値を有する場合、何らのページモードのアクセスも許容されない。ＰＭフィールドが０１の２進値を有する場合、ページモードアクセスはバーストアクセスに関して許容される。さらに、ＰＭフィールドが１１の２進値を有する場合、通常のページモードの動作が許容される。
【００６１】
ＷＲ（書込みイネーブル：Ｗｒｉｔｅ  Ｅｎａｂｌｅ）フィールドは書込みサイクルに際してＤＲＡＭ制御信号の肯定を制御する。ＷＲフィールドが論理“０”の値を有する場合、ＤＲＡＭ制御信号は書込み動作の間はアクティベイトされない。ＷＲフィールドが論理“１”の値を有する場合、ＤＲＡＭ制御信号は書込み動作の間にアクティベイトされる。
【００６２】
ＲＤ（読出しイネーブル：Ｒｅａｄ  Ｅｎａｂｌｅ）フィールドは読出しサイクルに際してＤＲＡＭ制御信号の肯定を制御する。ＲＤフィールドが論理“０”の値を有する場合、ＤＲＡＭ制御信号は読出し動作の間にアクティベイトされない。ＲＤフィールドが論理“１”の値を有する場合、ＤＲＡＭ制御信号は読出し動作の間にアクティベイトされる。
【００６３】
＜動作の説明＞
図２に示されるように、本発明の動作の間に、外部バスマスタ２０５は外部マルチプレクサまたは従来技術のデータ処理システムによって必要とされた何らかの他の外部回路を使用することなくデータプロセッサ３の内部のメモリコントローラを使用してＤＲＡＭ２０７にアクセスすることができる。本発明はデータプロセッサ３内部のＤＲＡＭのローおよびコラムアドレスを多重化するために独自の回路および技術を実施することにより外部マルチプレクサおよび外部マスタが開始するＤＲＡＭアクセスの間に外部多重化制御を提供するための専用の集積回路ピンの必要性を除去する。
【００６４】
そのような外部アクセスの間に、外部バスマスタ２０５は本発明のデータプロセッサ３に対し転送開始（ＴＳ）信号、「サイズ」バス、および読出し／書込み（Ｒ／＊Ｗ）信号を肯定することによりデータ転送動作を開始する。外部バスマスタ２０５はまたデータプロセッサ３にアドレス値を提供する。初期タイミングサイクルの間に、前記ＴＳ、Ｒ／＊Ｗ、サイズ、およびアドレス信号を含むアクセス情報は本発明のデータプロセッサ３内に実施されるメモリコントローラ（図２には示されていない）により記憶される。前記ＴＳ信号の肯定に続く次のタイミングサイクルの間に、外部バスマスタ２０５はアドレスバスをトライステート化する。同じタイミングサイクルの間に、データプロセッサ３において実施されるメモリコントローラは上述のアドレス値を外部アドレスバス上に送り始めかつＲＡＳ（ローアドレスストローブ）信号を肯定する。複数のプログラム可能な制御ビットにより決定される適切な時点に、メモリコントローラは次にコラムアドレスを提供しかつＣＡＳ（コラムアドレスストローブ）信号を肯定する。本発明の動作のこの点に関しては添付の図面を参照して後により詳細に説明する。
【００６５】
さらに、本発明は外部バスマスタ２０５がデータプロセッサ３の内部のメモリコントローラによって発生される内部チップ選択および書込みイネーブル信号を使用する場合にチップ選択および書込みイネーブル信号の外部的な発生を提供する必要性を除去する。ユーザは外部マスタチップ選択アクセスが内部マスタアクセスと同じになるようにすることができるようにデータプロセッサ３をプログラムするか、あるいは外部的に発生された転送アクノレッジを使用するために内部または外部マスタアクセスをプログラムすることができる。従って、ユーザは内部転送アクノレッジ論理をターンオフしかつ依然として内部チップ選択および書込みイネーブル発生論理を使用しながら外部転送アクノレッジ論理を加えることができる。内部転送アクノレッジ論理は、他のマスタによる使用と独立に、内部または外部マスタ開始サイクルに対しターンオフすることができる。この特徴はチップ選択のベースでユーザがプログラム可能である。本発明のこの観点によって与えられる柔軟性はユーザが外部チップ選択および書込みイネーブル論理を必要とすることなく外部マスタアクセスの異なるタイミングを補償できるようにする。従って、本発明のこの実施形態においてはオーバヘッドが節約されかつ効率が増大する。
【００６６】
また、本発明の回路および方法は外部バスマスタ２０５が外部制御回路を加えることなく内部マスタ（データプロセッサ３）と異なる数の待機状態を使用してチップ選択可能な装置にアクセスできるようにする。内部マスタと異なる数の待機状態を使用して、外部マスタがデータプロセッサ３の内部のチップ選択回路を使用してメモリにアクセスできるようにするため、本発明はレジスタビットが、内部チップ選択回路が外部アクセスに際して転送アクノレッジ信号を肯定しないように、プログラムできるようにする。従って、外部アクセスの間に、データプロセッサ３のチップ選択論理は内部的に発生されたチップ選択および書込みイネーブル信号を否定する前に外部的に発生された転送アクノレッジ信号を待機することになる。本発明のこの観点は内部および外部マスタの間で待機状態の数が異なる場合に必要とされる外部論理の量を低減する。
【００６７】
本発明によって実施される独自の回路および技術は後により詳細に説明するが、次に本発明の動作の概略的な説明を行う。
【００６８】
図３は、データプロセッサ３をより詳細に示す。データプロセッサ３の動作の間に、コア９はＫバス２５を使用してＣＰＵ２、ＭＭＵ／コントローラ４、およびメモリ６を接続する。本発明のこの実施形態においては、Ｋバス２５は高速の、単一サイクルのアクセスバスである。メモリ６はランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、キャッシュブロック、フラッシュ（ＦＬＡＳＨ）メモリ、内部ＤＲＡＭ、およびそれらの任意の組合わせを含むことができる。すべての他のシステムモジュールおよびペリフェラルはＭバス２３を介してコア９に結合されている。Ｍバス２３は複数のバスマスタの内の１つによって開始されるデータ転送を行うために使用される内部マルチマスタバスである。システムバスコントローラ８は複数の機能を提供する。システムバスコントローラ８は内部Ｍバス２３および外部Ｅバスとの間のインタフェースを提供する。さらに、システムバスコントローラ８はＳバス上のすべてのデータ転送を制御するための焦点（ｆｏｃａｌ  ｐｏｉｎｔ）として作用する。Ｓバスはタイマおよびシリアル通信チャネルのようなスレイブ周辺モジュール（１２および１３）をデータプロセッサ３内へ接続するために使用される。
【００６９】
本発明においては、コア９は性能を最大にするため高速の、単一サイクルのＫバス２５と相互接続されている。この高速バスに直接結合されていない転送に対して、Ｍバス２３はコア９およびマスタモジュール１４のような内部バスマスタの内の任意のものから帯域幅を提供する。システムバスコントローラ８は内部Ｍバス２３および外部Ｅバスとの間での接続を提供し、また一方でスレイブモジュール１２および１３のようなスレイブ周辺モジュールに対して低価格の、より低い帯域幅のＳバスによるすべてのデータ転送のための制御機能を提供する。
【００７０】
図２の要素２０５のような、外部バスマスタがデータプロセッサ３の内部制御メカニズムを通して外部メモリを制御できるようにするＤＲＡＭコントローラはシステムバスコントローラ８において実施される。システムバスコントローラ８の一部が図４により詳細に示されている。
【００７１】
データ処理システム２０２のチップ選択可能な装置のアクセス動作の間に、外部バスマスタ２０５（図２に示されている）はＴＳ（転送開始）信号を肯定し、所望のデータに対応する適切なアドレス値を提供し、前記データ値が読出されるべきかあるいは書込まれるべきかを示すＲ／＊Ｗ信号を提供し、かつ「サイズ」バスを提供することによりデータ転送を開始する。本発明を実施するために使用される回路およびフローのより詳細な説明については図４および図５を参照。
【００７２】
前記ＴＳ信号、アドレス値、Ｒ／＊Ｗ信号、および「サイズ」バスが外部バスマスタ２０５によって出力されたとき、それらはデコードおよびアドレス発生回路８０８（図４に示されている）に格納される。バス調停回路８０６（図４に示されている）はデータプロセッサ３がいつＥバスを制御できるかを決定する。ＢＧおよびＢＤ信号が否定されたとき、外部装置がＥバスを制御することができかつバス調停回路８０６は＊ｉｎｔ＿ｅｘｔ＿マスタ（＊ｉｎｔ＿ｅｘｔ＿ｍａｓｔｅｒ）信号を肯定する。ＢＤはバス調停回路８０６によって否定されて内部マスタがＥバスをドライブしていないことを示す。ＢＲは内部バスマスタがＥバスの支配（ｍａｓｔｅｒｓｈｉｐ）を要求している場合に肯定される。従って、外部バスマスタ２０５が適切な制御信号を肯定してＤＲＡＭ２０７またはメモリ２０６へのアクセスが望まれることを示した場合、バス調停回路８０６はＢＧ信号の値を調べかつそれが否定されていることを判定し、次にバス調停回路８０６は前記＊ｉｎｔ＿ｅｘｔ＿マスタ信号を肯定する。前に述べたように、前記＊ｉｎｔ＿ｅｘｔ＿マスタ信号はメモリコントローラ８０４およびデコードおよびアドレス発生回路８０８の双方に提供される。
【００７３】
その後、デコードおよびアドレス発生回路８０８は外部バスマスタ２０５によって前記転送開始（ＴＳ）信号が肯定されているか否かを判定する。もしＴＳ信号が肯定されていれば、デコードおよびアドレス発生回路８０８はアドレス値、Ｒ／＊Ｗ信号、および「サイズ」バスをデコードしデータ処理システム２０２におけるどの装置がアクセスされるべきかを決定する。デコードおよびアドレス発生回路８０８はＤＲＡＭ＿ヒット（ＤＲＡＭ＿ｈｉｔ）信号を肯定しそこに提供されたアドレスがＤＲＡＭ２０７内のメモリロケーションをアクセスすることを示す。同様に、デコードおよびアドレス発生回路８０８はＣＳ＿ヒット（ＣＳ＿ｈｉｔ）信号を肯定してそこに提供されるアドレスがメモリ２０６のようなチップ選択可能な外部装置にアクセスすることを示す。本発明のこの実施形態ではメモリ２０６のみが示されているが、メモリ２０６に代えてまたは加えて他のチップ選択可能な装置も実施できる。複数のチップ選択可能な装置を含むシステムにおいては、ＣＳ＿ヒット信号はこれらの装置の内のいずれかがアクセスされる場合にデコードおよびアドレス発生回路８０８にアドレスが提供されることを示すために肯定される。さらに、メモリ２０６はＳＲＡＭ，ＲＯＭ，ＥＥＰＲＯＭ，ＥＰＲＯＭおよびフラッシュメモリのような任意の形式の外部メモリ、あるいはシリアルインタフェースまたはタイマのような任意のチップ選択可能な装置として実施できることに注目すべきである。
【００７４】
＜外部マスタによるＤＲＡＭアクセス＞
外部バスマスタ２０５によるＤＲＡＭ２０７のアクセスの以下の説明は図５を参照すべきである。
【００７５】
もしＤＲＡＭ＿ヒット信号が肯定されてＤＲＡＭ２０７におけるあるメモリロケーションがアクセスされていることを示せば、メモリコントローラ８０４は次に制御レジスタ８１０のＤＣＴＲレジスタ（図１３（ｂ）に示されている）におけるＤＡＥＭ（外部マスタＤＲＡＭアクセスの間のドライブアドレス）ビットが外部ユーザにプログラムされて外部バスマスタ２０５によるＤＲＡＭ２０７のアクセスの間にすべてのアドレスラインにおけるメモリコントローラ８０４の出力ドライバをイネーブルするかを判定する。もしＤＡＥＭフィールドがセットされていれば（本発明のこの実施形態では論理“１”）、メモリコントローラ８０４はデコードおよびアドレス発生回路８０８をイネーブルしＥバスのアドレスバス部分からのローアドレスを反映するアドレスをドライブする。２分の１タイミングサイクル後に、前記ＲＡＳ信号はメモリコントローラ８０４によって肯定される。その後、ＤＣＴＲにおけるＲＣＤフィールドによって決定される期間の後に、デコードおよびアドレス発生回路８０８は前記Ｅバスのアドレス部分からの、図１４〜図１６において述べたようなデコードおよびアドレス発生回路８０８によって形成される、コラムアドレスを反映する新しいアドレスをドライブする。２分の１タイミングサイクル後に、ＣＡＳバスがメモリコントローラ８０４によって肯定される。さらに、もしそれがＤＲＡＭ２０７の書込みアクセスであれば、ＤＲＡＭＷ信号が肯定されかつもしそれがＤＲＡＭ２０７の読出しアクセスであれば、ＤＲＡＭＷ信号が否定される。さらに、メモリコントローラ８０４はＤＲＡＭ２０７のアクセスが完了したとき外部バスマスタ２０５へのＴＡ（転送アクノレッジ）信号を肯定する。
【００７６】
図６〜図９は本発明のいくつかの実施形態においてメモリコントローラ８０４によって実施されるタイミングを示すタイミング図を与える。
【００７７】
図６は、ＤＲＡＭ２０７が始めに書き込まれかつ次に読み出され、そして制御レジスタ８１０のＤＣＴＲにおけるＤＡＥＭフィールドが肯定されて提供されるアドレス値がドライブされるべきことを示す、本発明の第１の実施形態を示している。図６においては、Ｃｌｋ（クロック）信号が提供されている。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図６に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスをデータプロセッサ３に提供する。このタイミング例の第１の部分においては、前記Ｒ／＊Ｗ信号はデータプロセッサ３があるデータ値をＤＲＡＭ２０７に書き込んでいることを示すために否定される。
【００７８】
外部バスマスタ２０５がアドレス値を転送してから１タイミングサイクル後に、外部バスマスタ２０５は前記ＴＳ信号を否定し、アドレスをトライステート化し、かつ書き込まれるべきデータをドライブする。
【００７９】
ＴＳ信号が否定されてから１タイミングサイクル後に、システムバスコントローラ８の一部のデコードおよびアドレス発生回路８０８は外部バスマスタ２０５によって前にドライブされたアドレスをＤＲＡＭ２０７におけるメモリロケーションをアクセスするために必要なローアドレスとして出力する。デコードおよびアドレス発生回路８０８が該アドレスをＤＲＡＭ２０７に提供したとき、メモリコントローラ８０４はまたＤＲＡＭＷ信号を肯定して書込み動作が実行されていることを示す。２分の１タイミングサイクル後に、メモリコントローラ８０８はＲＡＳ信号を肯定してＤＲＡＭ２０７にそこに提供されているアドレスがローアドレスであることを示す。
【００８０】
前記アドレスが１タイミングサイクルの間提供された後に、デコードおよびアドレス発生回路８０８は新しいアドレス値を提供し、その一部はローアドレスをＤＲＡＭ２０７に提供した同じ集積回路ピンを介してＤＲＡＭ２０７に提供されるコラムアドレスである。２分の１タイミングサイクル後に、デコードおよびアドレス発生回路８０８が新しいアドレス値を提供した後に、メモリコントローラ８０４はＣＡＳバスを肯定してＤＲＡＭ２０７にそこに提供されているアドレスがコラムアドレスであることを示す。
【００８１】
２分の１タイミングサイクル後に、メモリコントローラ８０４は外部バスマスタ２０５へのＴＡ信号を肯定してバスアクセスの終りを示す。
【００８２】
ＴＡ信号が肯定されてから１タイミングサイクル後に、メモリコントローラ８０５はＲＡＳ信号、ＣＡＳバス、およびＴＡ信号を否定する。さらに、ＤＲＡＭ２０７に提供されるアドレスおよびデータ値がトライステート化される。
【００８３】
その後、ＤＲＡＭの読出し動作が実行されかつそのタイミングは図６に示されている。図６に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にデータプロセッサ３にアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、Ｒ／＊Ｗ信号はデータプロセッサ３がＤＲＡＭ２０７からデータ値を読み出していることを示すために肯定されることに注意を要する。
【００８４】
外部バスマスタ２０５が前記アドレス値を転送してから１タイミングサイクル後に、前記ＴＳ信号が否定されかつアドレスバスが外部バスマスタ２０５によってトライステート化される。
【００８５】
ＴＳ信号が否定されてから１タイミングサイクル後に、システムバスコントローラ８の一部のデコードおよびアドレス発生回路８０８は外部バスマスタ２０５によって前にドライブされたアドレス値をＤＲＡＭ２０７のメモリロケーションにアクセスするのに必要なローアドレスとして出力する。デコードおよびアドレス発生回路８０８がアドレスをＤＲＡＭ２０７に提供したとき、メモリコントローラ８０４は読出し動作が実行されていることを示すためにＤＲＡＭＷ信号を否定する。
【００８６】
デコードおよびアドレス発生回路８０８が前記アドレスを提供してから２分の１タイミングサイクル後に、メモリコントローラ８０４はＲＡＳ信号を肯定してＤＲＡＭ２０７に対しそこに提供されているアドレスがローアドレスであることを示す。
【００８７】
１タイミングサイクルの間アドレスが提供された後に、デコードおよびアドレス発生回路８０８は、その一部がコラムアドレスである、新しいアドレス値をローアドレスをＤＲＡＭ２０７に提供した同じ集積回路ピンを介してＤＲＡＭ２０７に提供する。
【００８８】
デコードおよびアドレス発生回路８０８が新しいアドレスを提供してから２分の１タイミングサイクル後に、メモリコントローラ８０４はＣＡＳバスを肯定してＤＲＡＭ２０７に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【００８９】
２分の１タイミングサイクル後に、メモリコントローラ８０４はＴＡ信号を肯定してバスアクセスの終りを示す。ＴＡ信号が最初に否定されたとき、ＤＲＡＭ２０７によってＥバスを介して提供されるデータは有効でありかつ外部バスマスタ２０５によってエラーなしに使用することができる。
【００９０】
ＴＡ信号が１クロックサイクル後に肯定されたとき、ＲＡＳ信号、ＣＡＳバス、およびＴＡ信号が否定される。さらに、メモリコントローラ８０４によって提供されるアドレス、およびＤＲＡＭ２０７によって提供されるデータがトライステート化される。
【００９１】
図７は、本発明の第２の実施形態を示し、この場合はＤＲＡＭ２０７が始めに書き込まれかつ次に読み出され、そして制御レジスタ８１０のＤＣＴＲにおけるＤＡＥＭフィールドが提供されるアドレス値がドライブされるべきことを示すために肯定される。図７において、Ｃｌｋ（クロック）信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図７に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にデータプロセッサ３にアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、前記Ｒ／＊Ｗ信号はデータプロセッサ３があるデータ値をＤＲＡＭ２０７に書き込んでいることを示すために否定されることに注目すべきである。
【００９２】
外部バスマスタ２０５が前記アドレス値を転送してから１タイミングサイクル後に、外部バスマスタ２０５はＴＳ信号を否定し、アドレスをトライステート化し、かつ書き込まれるべきデータをドライブする。
【００９３】
ＴＳ信号が否定されてから１タイミングサイクル後に、システムバスコントローラ８の一部のデコードおよびアドレス発生回路８０８は外部バスマスタ２０５によって前にドライブされたアドレスをＤＲＡＭ２０７におけるメモリロケーションをアクセスするのに必要なローアドレスとして出力する。デコードおよびアドレス発生回路８０８がアドレスをＤＲＡＭ２０７に提供したとき、メモリコントローラ８０４はまたＤＲＡＭＷ信号を肯定して書込み動作が実行されていることを示す。２分の１タイミングサイクル後に、メモリコントローラ８０４はＲＡＳ信号を肯定してＤＲＡＭ２０７にそこに提供されているアドレスがローアドレスであることを示す。
【００９４】
アドレスが１タイミングサイクルの間提供された後、デコードおよびアドレス発生回路８０８は、その一部がＤＲＡＭ２０７へのコラムアドレスである、新しいアドレス値をＤＲＡＭ２０７にローアドレスを提供した同じ集積回路ピンを介して提供する。２分の１タイミングサイクル遅れて、デコードおよびアドレス発生回路８０８が新しいアドレス値を提供した後、メモリコントローラ８０４はＣＡＳバスを肯定してＤＲＡＭ２０７に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【００９５】
２分の１タイミングサイクル遅れて、メモリコントローラ８０４は外部バスマスタ２０５へのＴＡ信号を肯定しバスアクセスの終りを示す。
【００９６】
ＴＡ信号が肯定されてから１タイミングサイクル後に、メモリコントローラ８０４はＣＡＳバスおよびＴＡ信号を否定する。さらに、ＤＲＡＭ２０７に提供されるアドレスおよびデータ値がトライステート化される。ページの引き続くアドレスがアクセスされる間にＲＡＳ信号は肯定された状態に留まっていることに注意を要する。ＲＡＳ信号は、
（１）現在のＤＲＡＭバンクに対するアドレスが同じページまたはローになくなるか、
（２）他のＤＲＡＭバンクへのアクセスが発生するか、あるいは
（３）リフレッシュ動作が行われるか、
するまで肯定された状態に留まっている。
【００９７】
その後、ＤＲＡＭ読出し動作が実行されかつそのタイミングは図７に示されている。図７に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にデータプロセッサ３に対しアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、前記Ｒ／＊Ｗ信号はデータプロセッサがＤＲＡＭ２０７からデータ値を読み出していることを示すために肯定されることに注意を要する。
【００９８】
外部バスマスタ２０５が前記アドレス値を転送してから１タイミングサイクル後に、ＴＳ信号が否定されかつアドレスバスが外部バスコントローラ２０５によってトライステート化される。
【００９９】
ＴＳ信号が否定されてから１タイミングサイクル後に、デコードおよびアドレス発生回路８０８は、その一部がコラムアドレスである、新しいアドレス値をローアドレスをＤＲＡＭ２０７に提供した同じ集積回路ピンを介してＤＲＡＭ２０７に提供する。
【０１００】
デコードおよびアドレス発生回路８０８が新しいアドレスを提供してから２分の１タイミングサイクル後に、メモリコントローラ８０４はＣＡＳバスを肯定してＤＲＡＭ２０７に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【０１０１】
２分の１タイミングサイクル遅れて、メモリコントローラ８０４はＴＡ信号を肯定してバスアクセスの終りを示す。ＴＡ信号が最初に否定されたとき、Ｅバスを介してＤＲＡＭ２０７によって提供されるデータは有効でありかつ外部バスマスタ２０５によってエラーなしに使用できる。１クロックサイクル後にＴＡ信号が肯定されたとき、ＣＡＳバスおよびＴＡ信号は否定される。さらに、メモリコントローラ８０４によって提供される、アドレスおよびＤＲＡＭ２０７によって提供されるデータはトライステート化される。
【０１０２】
図８は、本発明の第３の実施形態を示し、この場合はＤＲＡＭ２０７が最初に書き込まれかつ次に読み出され、そして制御レジスタ８１０のＤＣＴＲにおけるＤＡＥＭフィールドが肯定されて提供されるアドレス値がドライブされるべきことを示す。図８において、Ｃｌｋ（クロック）信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図８に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にデータプロセッサ３にアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、Ｒ／＊Ｗ信号はデータプロセッサ３があるデータ値をＤＲＡＭ２０７に書き込んでいることを示すために否定されることに注目すべきである。
【０１０３】
外部バスマスタ２０５がアドレス値を転送した１タイミングサイクル後に、外部バスマスタ２０５はＴＳ信号を否定し、アドレスをトライステート化し、かつ書き込まれるべきデータをドライブする。ＴＳ信号が否定されたとき、システムバスコントローラ８の一部のデコードおよびアドレス発生回路８０８は外部バスマスタ２０５によってドライブされるアドレスをＤＲＡＭ２０７のメモリロケーションにアクセスするのに必要なローアドレスとして強化する。デコードおよびアドレス発生回路８０８がアドレスをＤＲＡＭ２０７に提供したとき、メモリコントローラ８０４はまたＤＲＡＭＷ信号を肯定して書込み動作が実行されていることを示す。２分の１タイミングサイクル遅れて、メモリコントローラ８０４はＲＡＳ信号を肯定してＤＲＡＭ２０７にそこに提供されているアドレスがローアドレスであることを示す。
【０１０４】
アドレスが１タイミングサイクル提供された後に、デコードおよびアドレス発生回路８０８は、その一部がコラムアドレスである、新しいアドレス値をＤＲＡＭ２０７にローアドレスを提供した同じ集積回路ピンを介してＤＲＡＭ２０７に提供する。２分の１タイミングサイクル遅れて、デコードおよびアドレス発生回路８０８が新しいアドレス値を提供した後に、メモリコントローラ８０４はＣＡＳバスを肯定してＤＲＡＭ２０７にそこに提供されているアドレスがコラムアドレスであることを示す。
【０１０５】
２分の１タイミングサイクル遅れて、メモリコントローラ８０４は外部バスマスタ２０５へのＴＡ信号を肯定してバスアクセスの終りを示す。
【０１０６】
ＴＡ信号が肯定されて１タイミングサイクル後に、メモリコントローラ８０５はＲＡＳ信号、ＣＡＳバス、およびＴＡ信号を否定する。さらに、ＤＲＡＭ２０７に提供されるアドレスおよびデータ値がトライステート化される。
【０１０７】
その後、ＤＲＡＭ読出し動作が実行されかつそのタイミングは図８に示されている。図８に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にデータプロセッサ３に対しアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、前記Ｒ／＊Ｗ信号は肯定されてデータプロセッサ３があるデータ値をＤＲＡＭ２０７から読み取っていることを示す。
【０１０８】
外部バスマスタ２０５がアドレス値を転送して１タイミングサイクル後に、前記ＴＳ信号およびアドレスバスが否定される。ＴＳ信号が否定されたとき、システムバスコントローラ８の一部のデコードおよびアドレス発生回路８０８は外部バスマスタ２０５によってドライブされるアドレス値をＤＲＡＭ２０７におけるメモリロケーションにアクセスするのに必要なローアドレスとして補強または強化する。デコードおよびアドレス発生回路８０８がＤＲＡＭ２０７にアドレスを提供したとき、メモリコントローラ８０４はＤＲＡＭＷ信号を否定して読出し動作が実行されていることを示す。
【０１０９】
デコードおよびアドレス発生回路８０８がアドレスを提供した２分の１タイミングサイクル後に、メモリコントローラ８０４はＲＡＳ信号を肯定してＤＲＡＭ２０７に対しそこに提供されているアドレスがローアドレスであることを示す。
【０１１０】
アドレスが１タイミングサイクルの間提供された後、デコードおよびアドレス発生回路８０８は、その一部がコラムアドレスである、新しいアドレス値をＤＲＡＭ２０７にローアドレスを提供した同じ集積回路ピンを介してＤＲＡＭ２０７に提供する。
【０１１１】
デコードおよびアドレス発生回路８０８が新しいアドレスを提供して２分の１タイミングサイクル後に、メモリコントローラ８０４はＣＡＳバスを肯定しＤＲＡＭ２０７に対してそこに提供されているアドレスがコラムアドレスであることを示す。
【０１１２】
２分の１タイミングサイクル遅れて、メモリコントローラ８０４はＴＡ信号を肯定しバスアクセスの終りを示す。ＴＡ信号が始めに否定されたとき、Ｅバスを介してＤＲＡＭ２０７によって提供されるデータは有効でありかつ外部バスマスタ２０５によってエラーなしに使用できる。ＴＡ信号が１クロックサイクル後に肯定されたとき、ＲＡＳ信号、ＣＡＳバスおよびＴＡ信号が否定される。さらに、メモリコントローラ８０４によって提供されるアドレスおよびＤＲＡＭ２０７によって提供されるデータがトライステート化される。
【０１１３】
図９は制御レジスタ８１０におけるＤＣＴＲのＤＡＥＭフィールドが肯定されない場合を示す。ＤＡＥＭフィールドが肯定されない場合、データ処理システム２０２の設計者は従来技術のシステムにおいて要求されたようなマルチプレクサを実施することを要求される。設計者が外部マルチプレクサを実施するか否かを選択できるようにすることにより、本発明はより大きな柔軟性を与える。
【０１１４】
図９は本発明の第４の実施形態を示し、この場合はＤＲＡＭ２０７が始めに書き込まれかつ次に読み出され、そして制御レジスタ８１０のＤＣＴＲにおけるＤＡＥＭフィールドが否定されてアドレスがデコードおよびアドレス発生回路８０８によってドライブされるべきでないことを示す。図９において、Ｃｌｋ（クロック）信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図９に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にデータプロセッサ３に対しアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、Ｒ／＊Ｗ信号は否定されてデータプロセッサ３があるデータ値をＤＲＡＭ２０７に書き込んでいることを示すことに注意を要する。
【０１１５】
外部バスマスタ２０５がアドレス値を転送して１タイミングサイクル後に、外部バスマスタ２０５はＴＳ信号を否定しかつ書き込まれるべきデータをドライブする。２分の１タイミングサイクル遅れて、メモリコントローラ８０４はＲＡＳ信号を肯定しＤＲＡＭ２０７に対しそこに提供されているアドレスがローアドレスであることを示す。
【０１１６】
１タイミングサイクル遅れて、メモリコントローラ８０４はＣＡＳバスを肯定しＤＲＡＭ２０７に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【０１１７】
２分の１タイミングサイクル遅れて、メモリコントローラ８０４は外部バスマスタ２０５へのＴＡ信号を肯定しバスアクセスの終りを示す。
【０１１８】
ＴＡ信号が肯定されて１タイミングサイクル後に、メモリコントローラ８０５はＲＡＳ信号、ＣＡＳバス、およびＴＡ信号を否定する。さらに、ＤＲＡＭ２０７に提供されるアドレスおよびデータ値がトライステート化される。
【０１１９】
その後、ＤＲＡＭ読出し動作が実行されかつそのタイミングが図９に示されている。図９に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にデータプロセッサ３に対しアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、前記Ｒ／＊Ｗ信号は肯定されてデータプロセッサ３があるデータ値をＤＲＡＭ２０７から読み出していることを示すことに注目すべきである。
【０１２０】
外部バスマスタ２０５がアドレス値を転送して１タイミングサイクル後に、ＴＳ信号が否定される。
【０１２１】
２分の１タイミングサイクル後に、メモリコントローラ８０４はＲＡＳ信号を肯定しＤＲＡＭ２０７にそこに提供されているアドレスがローアドレスであることを示す。
【０１２２】
１タイミングサイクル遅れて、メモリコントローラ８０４はＣＡＳバスを肯定しＤＲＡＭ２０７に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【０１２３】
２分の１タイミングサイクル遅れて、メモリコントローラ８０４はＴＡ信号を肯定してバスアクセスの終りを示す。ＴＡ信号が最初に否定されたとき、Ｅバスを介してＤＲＡＭ２０７によって提供されるデータは有効でありかつ外部バスマスタ２０５によってエラーなしに使用できる。１クロックサイクル後にＴＡ信号が肯定されたとき、ＲＡＳ信号、ＣＡＳバス、およびＴＡ信号が否定される。さらに、ＤＲＡＭ２０７によって提供されるデータがトライステート化される。
【０１２４】
図６〜図９のおのおのにおいて、コラムアドレスはＣＡＳバスが肯定されたときにＤＲＡＭ２０７に提供される。本発明の動作から生じるアドレス値の例が図１４〜図１６に示されている。これらの図面のおのおのは本発明において開示された回路および方法の動作の間にアクセスされるＤＲＡＭにおいて異なるポートサイズが実施される場合に必要な多重化（ｍｕｌｔｉｐｌｅｘｉｎｇ）を示している。
【０１２５】
ブロック図、フローチャート、およびタイミング図によって外部バスマスタによるＤＲＡＭのアクセスの実行についての前の説明から、データプロセッサ、外部メモリ、および外部マスタの間で情報を通信するための装置および方法が説明された。本発明のこの部分の要約として、ＤＲＡＭ回路のアクセスの間に多重化機能を行うために外部回路が必要とされないようにデータ処理システムにおける外部メモリを制御するための回路および動作が提供されている。さらに、データプロセッサ３における内部多重化の使用およびＣＡＳバスの使用により、本発明は外部マスタ装置によるダイナミックランダムアクセスメモリ（ＤＲＡＭ）のアクセスのためのデータプロセッサにおける専用の集積回路ピンおよび外部マルチプレクサの必要性を除去する。本発明はＤＲＡＭ回路にアクセスするのに必要な多重化機能を図１に示される従来技術のデータ処理システムによって必要とされるような専用の集積回路ピンを必要とすることなく実施できるようにする。本発明のデータプロセッサの増大した柔軟性および集積回路ピンの要求の低減はより低いシステムコストを有しかつ半導体市場の最近の進歩を活用するために容易に更新できるデータ処理システムを生じさせる。
【０１２６】
＜外部マスタによるチップ選択可能なアクセス＞
図５に戻って、本発明の別の観点につきより詳細に説明する。もしＣＳ＿ヒット信号が肯定されて、メモリ２０６のような、チップ選択可能な装置内のあるロケーションがアクセスされることを示せば、メモリコントローラ８０４は次に制御レジスタ８１０のＣＳＣＲレジスタ（図１２（ｃ）に示されている）におけるＥＭＡＡ（外部マスタ自動アクノレッジ：Ｅｘｔｅｒｎａｌ  Ｍａｓｔｅｒ  Ａｕｔｏｍａｔｉｃ  Ａｃｋｎｏｗｌｅｄｇｅ）フィールドが、外部ユーザによって、他のメモリ装置への外部バスマスタ２０５によって開始されたアクセス動作の間に転送アクノレッジの出力および肯定を制御するためにプログラムされているか否かを判定する。もしＥＭＡＡフィールドが肯定されていれば（本発明のこの実施形態では論理“１”）、メモリコントローラ８０４は図１２（ｃ）のＣＳＣＲレジスタにおいてプログラムされた待機状態の値（ＷＳ［３：０］）によって決定される時間の長さの間転送アクノレッジ（ＴＡ）信号を否定し、かつ次に１クロックサイクルの間ＴＡ信号を肯定する。ＣＳＣＲのような、チップ選択レジスタはあるアドレス空間に対応する。チップ選択レジスタの実施および使用はデータ処理技術においてよく知られておりかつこれ以上詳細には説明しない。
【０１２７】
前記ＥＭＡＡフィールドが肯定された場合、メモリコントローラ８０４はＣＳ（チップ選択）信号、ＷＥ（書込みイネーブル）バス、およびＴＡ（転送アクノレッジ）信号をメモリ２０６のための制御を与えるために提供する。これらの信号を使用することにより、データプロセッサ３は外部バスマスタ２０５のためのメモリ２０６の制御を効果的に提供している。逆に、前記ＥＭＡＡフィールドが否定された場合には、メモリコントローラ８０４はＣＳ（チップ選択）信号およびＷＥ（書込みイネーブル）バスのみを提供する。メモリ２０６のための制御を提供するためにＴＡ（転送アクノレッジ）信号を提供するよりはむしろ、メモリコントローラ８０４は外部バスマスタ２０５または他の外部回路（ここでは図示されていない）によって外部的に提供されるＴＡ信号をサンプルする。
【０１２８】
図１０、図１１、図１７および図１８は、本発明のいくつかの実施形態においてメモリコントローラ８０４によって実施されるタイミングを示すタイミング図を与えている。
【０１２９】
図１０は、本発明の第１の実施形態を示し、この場合メモリ２０６は最初に書き込まれかつ次に読み出され、そして制御レジスタ８１０のＣＳＣＲにおけるＥＭＡＡフィールドが肯定されてメモリコントローラ８０４が転送アクノレッジ（ＴＡ）信号を提供すべきことを示す。図１０において、Ｃｌｋ（クロック）信号が提供されている。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細に説明しない。図１０に示されるように、外部バスマスタ２０５は最初のタイミングサイクルの間にデータプロセッサ３に対しアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、前記Ｒ／＊Ｗ信号は否定されて外部マスタ２０５があるデータ値をメモリ２０６に書き込んでいることを示すことに注目すべきである。次のタイミングサイクルの間に、前記ＴＳ信号は否定されかつ外部バスマスタ２０５はメモリ２０６に書き込まれるべきデータをドライブし始める。これらのタイミングサイクルの間に、前記転送アクノレッジ（ＴＡ）信号はトライステート化された状態に留まっている。
【０１３０】
ＴＳ信号が否定されて１タイミングサイクル後に、システムバスコントローラ８の一部のメモリコントローラ８０４はチップ選択（ＣＳ）信号を肯定してメモリ２０６、または任意の他の選択された装置、が外部バスマスタ２０５によってアクセスされたことを示す。さらに、メモリコントローラ８０４は同じタイミングサイクルの間に転送アクノレッジ（ＴＡ）信号を否定する。
【０１３１】
次のタイミングサイクルの間に、メモリコントローラ８０４は書込みイネーブル（ＷＥ）バスを肯定してアドレスバスを介して転送されるアドレスロケーションメモリ２０６が外部バスマスタ２０５によって提供されるデータによって書き込まれるようイネーブルする。さらに、メモリコントローラ８０４はこの次のタイミングサイクルの間に転送アクノレッジ（ＴＡ）信号を肯定する。
【０１３２】
その後のタイミングサイクルにおいて、ＴＡ信号は再び否定され、一方ＣＳ信号およびＷＥバスは否定されかつデータ値はトライステート化される。
【０１３３】
その後、メモリ読出し動作が実行されかつそのタイミングは図１０に示されている。図１０に示されるように、外部バスマスタ２０５は最初のタイミングサイクルの間にデータプロセッサ３に対して他のアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分において、前記Ｒ／＊Ｗ信号が肯定されて外部バスマスタ２０５がメモリ２０６からあるデータ値を読み出していることを示すことに注意を要する。これらのタイミングサイクルの間に、メモリコントローラ８０４によって出力される転送アクノレッジ（ＴＡ）信号はトライステート化された状態に留まっている。
【０１３４】
ＴＳ信号が否定されて１タイミングサイクル後に、システムバスコントローラ８の部分のメモリコントローラ８０４はチップ選択（ＣＳ）信号を肯定してメモリ２０６、または任意の他の選択された装置、が外部バスマスタ２０５によってアクセスされていることを示す。さらに、メモリコントローラ８０４は同じタイミングサイクルの間に転送アクノレッジ（ＴＡ）信号を肯定する。その時点で、メモリ２０６は有効なデータ値を外部バスマスタ２０５に提供する。
【０１３５】
次のタイミングサイクルの間に、メモリコントローラ８０４は転送アクノレッジ（ＴＡ）信号およびＣＳ信号を否定する。この次のタイミングサイクルの間に、メモリ２０６は外部バスマスタ２０５によってそこから読み出されたデータ値を転送するために前に使用された集積回路ピンをトライステート化する。
【０１３６】
その後のまたは引き続くタイミングサイクルにおいて、メモリコントローラ８０４から出力されるＴＡ信号は再びトライステート化される。
【０１３７】
図１７は本発明の第２の実施形態を示し、この場合はメモリ２０６は最初に書き込まれかつ次に読み出され、そして制御レジスタ８１０のＣＳＣＲにおけるＥＭＡＡフィールドが否定されてメモリコントローラ８０４が転送アクノレッジ（ＴＡ）信号を提供すべきでないことを示す。この場合、メモリコントローラ８０４から出力されるＴＡはトライステート化されかつＴＡ信号は外部バスマスタ２０５または他の外部回路（ここでは図示されていない）によって外部的に提供されなければならない。
【０１３８】
図１７において、Ｃｌｋ（クロック）信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図１７に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にデータプロセッサ３に対しアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、前記Ｒ／＊Ｗ信号は外部マスタ２０５があるデータ値をメモリ２０６に書き込んでいることを示すために否定されることに注意を要する。次のタイミングサイクルの間に、ＴＳ信号は否定されかつ外部バスマスタ２０５はメモリ２０６に書き込まれるべきデータをドライブし始める。この全タイミングシーケンスの間にメモリコントローラ８０４から出力される転送アクノレッジ（ＴＡ）信号はトライステート化された状態に留まっている。
【０１３９】
ＴＳ信号が否定されてから１タイミングサイクル後に、システムバスコントローラ８の部分のメモリコントローラ８はチップ選択（ＣＳ）信号を肯定してメモリ２０６、または任意の他の選択された装置、が外部バスマスタ２０５によってアクセスされたことを示す。これらのタイミングサイクルの間に、外部バス２０５または他の外部回路（ここでは図示されていない）から出力されるＴＡ信号は否定された状態に留まっている。
【０１４０】
次のタイミングサイクルの間に、メモリコントローラ８０４は書込みイネーブル（ＷＥ）バスを肯定して外部バスマスタ２０５によって提供されるデータにより書き込まれるべきアドレスバスを介して転送されるアドレスロケーションメモリ２０６をイネーブルする。さらに、外部バスマスタ２０５または他の外部回路（ここでは図示されていない）はこの次のタイミングサイクルの間に転送アクノレッジ（ＴＡ）信号を肯定する。
【０１４１】
その後のタイミングサイクルにおいて、ＴＡ信号は再び否定され、一方前記ＣＳ信号およびＷＥバスは否定されかつデータ値はトライステート化される。ＴＡ信号は外部バスマスタ２０５または他の外部回路によって要求される数の待機状態の後に肯定される。ＴＡ信号を肯定している外部バスマスタ２０５または他の外部回路はＣＳ信号およびＷＥバスの肯定を、制御レジスタ８１０のＣＳＣＲのＷＳ［３：０］ビットによって指示される待機状態の数にかかわりなく、任意の数のサイクルまで延長することができることに注目すべきである。
【０１４２】
その後、メモリ読出し動作が実行されかつそのタイミングが図１７に示されている。図１７に示されるように、外部バスマスタ２０５は第１のタイミングサイクルの間にデータプロセッサ３に対して他のアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分においては、前記Ｒ／＊Ｗ信号は肯定されて外部バスマスタ２０５がメモリ２０６からあるデータ値を読み出していることを示すことに注意を要する。これらのタイミングサイクルの間に、メモリコントローラ８０４から出力される前記転送アクノレッジ（ＴＡ）信号はトライステート化された状態に留まっている。
【０１４３】
ＴＳ信号が否定されてから１タイミングサイクル後に、システムバスコントローラ８の一部のメモリコントローラ８０４はチップ選択（ＣＳ）信号を肯定してメモリ２０６、または任意の他の選択された装置、が外部バスマスタ２０５によってアクセスされていることを示す。これらのタイミングサイクルの間に、外部バスマスタ２０５または他の外部回路から出力されるＴＡ信号は否定された状態に留まっている。
【０１４４】
次のタイミングサイクルの間に、メモリ２０６は有効なデータ値を外部バスマスタ２０５に提供する。外部バスマスタ２０５または他の外部回路はＴＡ信号を肯定してバスサイクルの終りを示す。
【０１４５】
その後のタイミングサイクルにおいて、前記ＴＡ信号は再び否定され、一方前記ＣＳ信号は否定されかつデータ値はトライステート化される。ＴＡ信号は外部バスマスタ２０５によって必要とされかつ外部バスマスタ２０５または他の外部回路によって決定される数の待機状態の後に肯定される。外部バスマスタ２０５またはＴＡ信号を肯定している他の外部回路は、制御レジスタ８１０のＣＳＣＲのＷＳ［３：０］ビットによって示される数の待機状態にかかわりなく、ＣＳ信号の肯定を任意の数のサイクルまで延長できることに注意を要する。
【０１４６】
図１１は、本発明の第３の実施形態を示し、この場合はメモリ２０６は始めに書き込まれかつ次に読み出され、そして制御レジスタ８１０のＣＳＣＲにおけるＥＭＡＡフィールドは肯定されてメモリコントローラ８０４が転送アクノレッジ（ＴＡ）信号を提供すべきことを示す。図１１において、Ｃｌｋ（クロック）信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図１１に示されるように、外部バスマスタ２０５は最初のタイミングサイクルの間にデータプロセッサ３に対しアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分において、Ｒ／＊Ｗ信号は否定されて外部バスマスタ２０５があるデータ値をメモリ２０６に書き込んでいることを示すことに注意を要する。次のタイミングサイクルの間に、ＴＳ信号は否定されかつ外部バスマスタ２０５はメモリ２０６に書き込まれるべきデータ値の有効なサイズ値をドライブし始める。これらのタイミングサイクルの間に、転送アクノレッジ（ＴＡ）信号はトライステート化された（ｔｒｉ−ｓｔａｔｅｄ）状態に留まっている。
【０１４７】
ＴＳ信号が否定されて後の次のタイミングサイクルにおいて、システムバスコントローラ８の部分のメモリコントローラ８０４はチップ選択（ＣＳ）信号を肯定してメモリ２０６、または任意の他の選択された装置、が外部バスマスタ２０５によってアクセスされたことを示す。さらに、メモリコントローラ８０４は同じタイミングサイクルの間に転送アクノレッジ（ＴＡ）信号を否定する。同時に、外部バスマスタ２０５はメモリ２０６に書き込まれるべきデータを提供する。
【０１４８】
次のタイミングサイクルの間に、メモリコントローラ８０４は書込みイネーブル（ＷＥ）バスを肯定して外部バスマスタ２０５によって提供されるデータによって書き込まれるべきアドレスバスを介して転送されるアドレスロケーションメモリ２０６をイネーブルする。さらに、メモリコントローラ８０４はこの次のタイミングサイクルの間に転送アクノレッジ（ＴＡ）信号を肯定する。
【０１４９】
その後のタイミングサイクルにおいて、ＴＡ信号は再び否定され、一方ＣＳ信号およびＷＥバスは否定されかつデータ値はトライステート化される。
【０１５０】
その後、メモリ読出し動作が実行されかつそのタイミングは図１１に示されている。図１１に示されるように、外部バスマスタ２０５は最初のまたは第１のタイミングサイクルの間にデータプロセッサ３に対し他のアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および他の「サイズ」バスを提供する。このタイミング例の第１の部分においては、Ｒ／＊Ｗ信号は肯定されてデータプロセッサ３がメモリ２０６からあるデータ値を読み出していることを示すことに注意を要する。これらのタイミングサイクルの間に、前記転送アクノレッジ（ＴＡ）信号はトライステート化された状態に留まっている。
【０１５１】
ＴＳ信号が否定された同じタイミングサイクルにおいて、システムバスコントローラ８の一部のメモリコントローラ８０４はチップ選択（ＣＳ）信号を肯定してメモリ２０６、または任意の他の選択された装置、が外部バスマスタ２０５によってアクセスされたことを示す。さらに、メモリコントローラ８０４は同じタイミングサイクルの間に転送アクノレッジ（ＴＡ）信号を肯定する。その時点で、メモリ２０６はシステムバスコントローラ８の前記部分のデータバス８０２に対して有効なデータ値を提供する。
【０１５２】
次のタイミングサイクルの間に、メモリコントローラ８０４は転送アクノレッジ（ＴＡ）信号およびＣＳ信号を否定する。この次のタイミングサイクルの間に、メモリ２０６は前に外部バスマスタ２０５によってそこから読み出されたデータ値を転送するために使用された集積回路ピンをトライステート化する。
【０１５３】
その後のタイミングサイクルにおいて、ＴＡ信号は再びトライステート化される。
【０１５４】
図１８は本発明の第４の実施形態を示し、この場合はメモリ２０６は始めに書き込まれかつ次に読み出され、そして制御レジスタ８１０のＣＳＣＲにおけるＥＭＡＡフィールドが否定されてメモリコントローラ８０４が転送アクノレッジ（ＴＡ）信号を提供すべきでないことを示す。この場合、メモリコントローラ８０４から出力されるＴＡ信号はトライステート化されかつＴＡ信号は外部バスマスタ２０５または他の外部回路（ここでは図示されていない）によって外部的に提供されなければならない。
【０１５５】
図１８においては、Ｃｌｋ（クロック）信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上は説明しない。図１８に示されるように、外部バスマスタ２０５は最初のタイミングサイクルの間にデータプロセッサ３に対しアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および「サイズ」バスを提供する。このタイミング例の第１の部分において、前記Ｒ／＊Ｗ信号は否定されて外部バスマスタ２０５があるデータ値をメモリ２０６に書き込んでいることを示すことに注目すべきである。次のタイミングサイクルの間に、ＴＳ信号は否定されかつ外部バスマスタ２０５はメモリ２０６に書き込まれるべきデータをドライブし始める。この全タイミングシーケンスの間、メモリコントローラ８０４によって出力される転送アクノレッジ（ＴＡ）信号はトライステート化された状態に留まっている。
【０１５６】
ＴＳ信号が否定された後の次のタイミングサイクルにおいて、システムバスコントローラ８の一部のメモリコントローラ８０４はチップ選択（ＣＳ）信号を肯定してメモリ２０６、または任意の他の選択された装置、が外部バスマスタ２０５によってアクセスされたことを示す。これらのタイミングサイクルの間に、外部バスマスタ２０５または他の外部回路（ここでは図示されていない）から出力されるＴＡ信号は否定された状態に留まっている。
【０１５７】
次のタイミングサイクルの間に、メモリコントローラ８０４は書込みイネーブル（ＷＥ）バスを肯定してアドレスバスを介して転送されるアドレスロケーションメモリ２０６が外部バスマスタ２０５によって提供されるデータによって書き込まれるようイネーブルする。さらに、外部バスマスタ２０５または他の外部回路（ここでは図示されていない）はこの次のタイミングサイクルの間にＴＡ信号を肯定してバスサイクルの終りを示す。
【０１５８】
その後のタイミングサイクルにおいて、ＴＡ信号は再び否定され、一方ＣＳ信号およびＷＥバスは否定されかつデータ値はトライステート化される。ＴＡ信号は外部バスマスタ２０５によって要求されかつ外部バスマスタまたは他の外部回路によって決定される数の待機状態の後に肯定される。ＴＡ信号を肯定している外部バスマスタ２０５または他の回路は、制御レジスタ８１０のＣＳＣＲのＷＳ［３：０］ビットによって指示される待機状態の数にかかわりなく、ＣＳ信号およびＷＥバスの肯定を任意の数のタイミングサイクルまで延長することができることに注意を要する。
【０１５９】
その後、メモリ読み出し動作が実行されかつそのタイミングは図１８に示されている。図１８に示されるように、外部バスマスタ２０５は最初のタイミングサイクルの間にデータプロセッサ３に対し他のアドレス値、転送開始（ＴＳ）信号、Ｒ／＊Ｗ信号、および他の「サイズ」バスを提供する。このタイミング例の第１の部分においては、Ｒ／＊Ｗ信号はデータプロセッサ３がメモリ２０６からあるデータ値を読み出していることを示すために肯定されることに注意を要する。これらのタイミングサイクルの間に、メモリコントローラ８０４によって出力される転送アクノレッジ（ＴＡ）信号はトライステート化された状態に留まっている。
【０１６０】
ＴＳ信号が否定された後の次のタイミングサイクルの間に、システムバスコントローラ８の部分のメモリコントローラ８０４はチップ選択（ＣＳ）信号を肯定してメモリ２０６、または任意の他の選択された装置、が外部バスマスタ２０５によってアクセスされたことを示す。これらのタイミングサイクルの間、外部バスマスタ２０５または他の外部回路から出力されるＴＡ信号は否定された状態に留まっている。
【０１６１】
次のタイミングサイクルの間に、メモリ２０６は有効なデータ値を外部バスマスタ２０５に提供する。外部バスマスタ２０５または他の外部回路はＴＡ信号を肯定してバスサイクルの終りを示す。
【０１６２】
その後のタイミングサイクルにおいて、ＴＡ信号は再び否定され、一方ＣＳ信号は否定されかつデータ値はトライステート化される。ＴＡ信号は外部バスマスタ２０５によって要求されかつ外部バスマスタ２０５または他の外部回路によって決定される待機状態の数の後に肯定される。外部バスマスタ２０５またはＴＡ信号を肯定している他の外部回路は、制御レジスタ８１０のＣＳＣＲのＷＳ［３：０］ビットによって指示される数の待機状態にかかわりなく、ＣＳ信号の肯定を任意の数のサイクルまで延長できることに注意を要する。
【０１６３】
ここに与えられたブロック図、流れ図、およびタイミング図から、本発明は外部バスマスタ２０５がデータプロセッサ３のメモリコントローラ８０４によって発生される内部チップ選択を使用する場合に転送アクノレッジ信号の外部的な発生を提供する必要性を除去することがわかる。ユーザはデータプロセッサ３を、アドレスおよび属性が記憶された後に、外部マスタのチップ選択アクセスが内部マスタのアクセスと同じにできるようにプログラムすることができる。さらに、ユーザは内部転送アクノレッジ論理をターンオフしかつ内部チップ選択および書込みイネーブル発生論理を依然として使用しながら外部転送アクノレッジ論理を加えることができる。この特徴はチップ選択のベースでユーザによってプログラム可能である。本発明のこの観点によって与えられる柔軟性はユーザが外部チップ選択および書込みイネーブル発生論理を要求することなく外部マスタのアクセスの異なるタイミングを補償できるようにする。したがって、本発明のこの実施形態においてはオーバヘッドが節約されかつ効率が増大する。
【０１６４】
また、本発明の回路および方法は外部メモリ制御回路を加えることなく外部バスマスタ２０５が内部マスタ（データプロセッサ３）と異なる数の待機状態を使用してチップ選択可能なメモリにアクセスできるようにする。外部バスマスタ２０５がデータプロセッサ３、内部マスタ、の内部のチップ選択回路を使用し、かつ内部マスタと異なる数の待機状態を使用してメモリ２０６にアクセスできるようにするため、本発明はレジスタビットが内部チップ選択回路が外部アクセスに際して転送アクノレッジ信号を肯定しないようにプログラムできるようにする。したがって、外部アクセスの間に、データプロセッサ３のチップ選択論理は内部的に発生されたチップ選択信号および書込みイネーブルバスを否定する前に外部的に発生された転送アクノレッジ信号を待機することになる。本発明のこの観点は待機状態の数が内部および外部マスタの間で異なる場合に必要とされる外部論理の量を低減する。
【０１６５】
〈外部メモリの内部アクセス〉
再び図５を参照すると、もし＊ｉｎｔ＿ｅｘｔ＿マスタ（＊ｉｎｔ＿ｅｘｔ＿ｍａｓｔｅｒ）信号が否定されれば、デコードおよびアドレス発生ブロック８０８は外部マスタが外部メモリをアクセスしていないことを判定しかつデータプロセッサ３がＭＴＳ（マスタ転送開始）信号の使用により外部メモリをアクセスしようと試みているか否かを評価する。もしＭＴＳ信号が肯定されれば、データプロセッサ３は外部メモリの内部マスタアクセスを試みている。
【０１６６】
もしＭＴＳ信号が肯定されていれば、デコードおよびアドレス発生回路８０８はマスタアドレス（ＭＡＤＤＲ）値、ＭＲ／＊Ｗ信号、およびＭサイズ（ＭＳｉｚｅ）バスをデコードしてデータ処理システム２０２におけるどの装置がアクセスされているかを決定する。デコードおよびアドレス発生回路８０８は次にＤＲＡＭ＿ヒット（ＤＲＡＭ＿ｈｉｔ）信号を肯定してそこに提供されるアドレスがＤＲＡＭ２０７内のメモリロケーションをアクセスすることを示す。同様に、デコードおよびアドレス発生回路８０８はＣＳ＿ヒット（ＣＳ＿ｈｉｔ）信号を肯定してそこに提供されるアドレスがメモリ２０６のような他の外部装置をアクセスすることを示す。メモリ２０６のみが本発明のこの実施形態において示されているが、メモリ２０６に代えてまたはメモリ２０６に加えて他のチップ選択可能な装置も実施できることを理解すべきである。他のチップ選択可能な装置が実施されれば、ＣＳ＿ヒット信号はデコードおよびアドレス発生回路８０８に提供されるアドレスはこれらの装置の内の１つをアクセスすることを示すことになる。さらに、メモリ２０６は、ＳＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュまたはシリアルインタフェースまたはタイマのようなチップ選択可能な周辺装置などの、任意の形式の外部メモリとして実施できることに注目すべきである。
【０１６７】
もし前記ＤＲＡＭ＿ヒット信号が肯定されてＤＲＡＭ２０７内のメモリロケーションがアクセスされていることを示せば、メモリコントローラ８０４は次にデコードおよびアドレス発生回路８０８がＴＳ、Ｒ／＊Ｗ、サイズ、およびアドレス値をＥバスにドライブするようイネーブルする。メモリコントローラ８０４はまたバス調停回路をイネーブルしてバス要求（ＢＲ）信号およびバス駆動（Ｂｕｓ  Ｄｒｉｖｅｎ：ＢＤ）信号をＥバスを介して外部メモリにドライブする。さらに、メモリコントローラ８０４はＥバスを介して外部メモリにＲＡＳ、ＣＡＳおよびＤＲＡＭＷ信号を提供する。データバス８０２はまたＲ／＊Ｗ信号が否定されたときにデータをドライブしかつこの動作モードの間にＲ／＊Ｗが肯定された場合にデータをサンプルする。メモリコントローラ８０４はその後ＴＡ信号をドライブしてバスサイクルの終りを示す。
【０１６８】
もしＤＲＡＭ＿ヒット信号が否定されてＤＲＡＭ２０７内のメモリロケーションがアクセスされていることを示せば、メモリコントローラ８０４は次にデコードおよびアドレス発生回路８０８をイネーブルしてＴＳ、Ｒ／＊Ｗ、サイズ、およびアドレス値をＥバスを介して外部メモリにドライブする。さらに、メモリコントローラ８０４はＣＳ信号およびＷＥバスをＥバスを介して外部メモリに提供する。データバス８０２はまたＲ／＊Ｗ信号が否定されたときにデータをドライブしかつこの動作モードの間にＲ／＊Ｗが肯定されたときにデータをサンプルする。もしＡＡが肯定されれば、メモリコントローラ８０４は前記数の待機状態の後にあるいは外部ＴＡ信号が肯定されればＴＡ信号を肯定する。ＴＡ信号が外部装置によって肯定されてバスサイクルの終りを示せば、メモリコントローラ８０４はマスタ転送アクノレッジ（ＭＴＡ）信号を肯定する。データバス８０２はまた読出し動作が実行された場合にＭバス２３を介してデータプロセッサ３の他の部分にデータをドライブする。
【０１６９】
【発明の効果】
本発明はデータプロセッサ、外部メモリ、および外部マスタの間で情報を通信するための独自のかつ有用な装置および方法を提供する。本発明の装置および方法はデータプロセッサが外部マスタによるアクセスの間に適切に外部メモリを制御できるようにするため、より少ない外部インタフェース回路を必要とするのみでありかつデータ処理システムに関連するオーバヘッドコストが低減される。
【０１７０】
ここに説明された本発明の構成は実例として与えられているのみである。しかしながら、ここに説明した機能を実行するために数多くの他の構成が存在し得る。たとえば、本発明は数多くの形式の外部装置のアクセスに適用されかつＤＲＡＭに制限されない。さらに、図１２（ａ）〜図１２（ｃ）および図１３（ａ）〜図１３（ｅ）に示された制御レジスタ８１０は増加し、減少させ、かついくつかの場合には削除も可能である。また、ＤＲＡＭコントローラは本発明のチップ選択機能と一緒にまたは分離して構成できることが理解されるべきである。本発明が特定の実施形態に関して図示されかつ説明されたが、当業者にはさらに他の修正および改善を行なうことができる。したがって、この発明は示された特定の形式に制限されるものではなくかつ添付の特許請求の範囲がこの発明の範囲から離れることのない全ての変更をカバーすることが理解されるべきである。
【０１７１】
前記データプロセッサ（３）が前記データプロセッサ（３）の外部に実施された外部バスマスタ（２０５）に転送アクノレッジ信号を提供することは本発明の１つの態様である。
【０１７２】
前記データプロセッサがバス調停回路（８０６）およびデコード回路（８０８）を具備することは本発明の他の態様である。前記バス調停回路（８０６）はバス承認信号をデコードしてデータプロセッサ（３）がいつ外部メモリアクセスを実行しているかを選択的に指示する。前記バス調停回路はまたデータプロセッサ（３）の外部の装置（２０７）がいつ外部アクセスを実行しているかを選択的に指示し、かつ外部マスタ制御信号を提供する。前記バス調停回路（８０６）は前記入力手段に結合されかつバス承認信号を前記複数の外部制御信号の内の第１の１つとして受信する。前記デコード回路（８０８）は内部転送開始信号および外部転送開始信号、前記複数の外部アドレス信号の内の第１の１つ、複数の内部アドレス信号の内の第１の１つ、外部アクノレッジビット、および外部マスタ制御信号を受信しかつデコードして外部装置アクセス信号を発生する。前記デコード回路（８０８）は前記中央処理ユニット（２）に結合されかつ前記内部転送開始信号を前記複数の外部制御信号の内の第１の１つとして受信する。前記デコード回路（８０８）はまた前記第１の手段に結合されて前記複数の外部アドレス信号の内の第１の１つを受信し、前記バス調停回路（８０６）に結合されて外部マスタ制御信号を受信し、かつ前記制御レジスタ（８１０）に結合されて前記外部アクノレッジビットを受信する。
【０１７３】
本発明の別の態様は、前記メモリコントローラ（８０４）が外部アクノレッジビットが第１の論理状態にあり、外部転送開始信号が第２の論理状態にあり、かつ外部装置アクセス信号が第３の論理状態にあるときに選択的に転送アクノレッジ信号を肯定することである。
【０１７４】
前記外部アクノレッジビットが前記第１の論理状態にない場合に前記外部転送アクノレッジ信号が受信されかつサンプルされることは本発明のさらに別の態様である。
【０１７５】
前記外部転送アクノレッジ信号がデータプロセッサ（３）の外部に実施または構成された外部バスマスタ（２０５）によって提供されることは本発明のさらに他の態様である。
【０１７６】
前記転送アクノレッジ信号がデータ処理動作が完了したことを示すことは本発明のさらに別の態様である。
【０１７７】
前記制御レジスタ（８１０）が前記メモリコントローラ（８０４）が前記転送アクノレッジ信号を肯定する前に経過すべき時間の長さを指示するための待機状態値を格納することは本発明のさらに他の態様である。
【０１７８】
前記メモリコントローラ（８０４）がチップ選択信号を肯定して前記データプロセッサ（３）の外部の少なくとも１つの装置を選択することは本発明のさらに別の態様である。
【図面の簡単な説明】
【図１】外部メモリコントローラを実施するデータ処理システムの従来技術の構成を示すブロック図である。
【図２】本発明の一実施形態に係わる外部メモリコントローラを実施するデータ処理システムの構成を示すブロック図である。
【図３】本発明の一実施形態に係わるデータプロセッサを示すブロック図である。
【図４】図３のデータプロセッサのシステムバスコントローラを示すブロック図である。
【図５】図４のシステムバスコントローラによって行なわれる機能を示すフローチャートである。
【図６】本発明に係わるＤＲＡＭ回路の外部マスタ開始アクセスの第１の例を示すタイミング図である。
【図７】本発明に係わるＤＲＡＭ回路の外部マスタ開始フルページアクセスの第２の例を示すタイミング図である。
【図８】本発明に係わるＤＲＡＭ回路の外部マスタ開始アクセスの第３の例を示すタイミング図である。
【図９】本発明に係わるＤＲＡＭ回路の外部マスタ開始アクセスの第４の例を示すタイミング図である。
【図１０】本発明に係わるチップ選択可能な回路の外部マスタ開始アクセスの第１の例を示すタイミング図である。
【図１１】本発明に係わるチップ選択可能な回路の外部マスタ開始アクセスの第３の例を示すタイミング図である。
【図１２】（ａ）は図４のシステムバスコントローラの複数のチップ選択レジスタに含まれるチップ選択アドレスレジスタを示す説明図であり、（ｂ）は図４のシステムバスコントローラの複数のチップ選択レジスタに含まれるチップ選択マスクレジスタを示す説明図であり、（ｃ）は図４のシステムバスコントローラの複数のチップ選択レジスタに含まれるチップ選択制御レジスタを示す説明図である。
【図１３】（ａ）は図４のシステムバスコントローラの複数のＤＲＡＭ制御レジスタに含まれるＤＲＡＭコントローラリフレッシュレジスタを示す説明図であり、（ｂ）は図４のシステムバスコントローラの複数のＤＲＡＭ制御レジスタに含まれるＤＲＡＭコントローラタイミングレジスタを示す説明図であり、（ｃ）は図４のシステムバスコントローラの複数のＤＲＡＭ制御レジスタに含まれるＤＲＡＭコントローラアドレスレジスタを示す説明図であり、（ｄ）は図４のシステムバスコントローラの複数のＤＲＡＭ制御レジスタに含まれるＤＲＡＭコントローラマスクレジスタを示す説明図であり、（ｅ）は図４のシステムバスコントローラの複数のＤＲＡＭ制御レジスタに含まれるＤＲＡＭコントローラ制御レジスタを示す説明図である。
【図１４】本発明の一実施形態において実施される８ビットデータポートサイズ・アドレスマルチプレクス構成を示す説明図である。
【図１５】本発明の一実施形態において実施される１６ビットデータポートサイズ・アドレスマルチプレクス構成を示す説明図である。
【図１６】本発明の一実施形態において実施される３２ビットデータポートサイズ・アドレスマルチプレクス構成を示す説明図である。
【図１７】本発明に係わるチップ選択可能な回路の外部マスタ開始アクセスの第２の例を示すタイミング図である。
【図１８】本発明に係わるチップ選択可能な回路の外部マスタ開始アクセスの第４の例を示すタイミング図である。
【符号の説明】
２  中央処理ユニット（ＣＰＵ）
３  データプロセッサ
４  メモリ管理ユニット／コントローラ
６  メモリ
８  システムバスコントローラ
９  コア
１０  デバッグモジュール
１２，１３  スレイブモジュール
１４  マスタモジュール
２３  Ｍバス
２５  Ｋバス
２０２  データ処理システム
２０５  外部バスマスタ
２０６  メモリ
２０７  ＤＲＡＭ
８０２  データパス回路
８０４  メモリコントローラ
８０６  バス調停回路
８０８  デコードおよびアドレス発生回路
８１０  制御レジスタ
【図１】
0003817327.tif 000006
【図２】
0003817327.tif 000007
【図３】
0003817327.tif 000008
【図４】
0003817327.tif 000009
【図５】
0003817327.tif 000010
【図６】
0003817327.tif 000011
【図７】
0003817327.tif 000012
【図８】
0003817327.tif 000013
【図９】
0003817327.tif 000014
【図１０】
0003817327.tif 000015
【図１１】
0003817327.tif 000016
【図１２】
0003817327.tif 000017
【図１３】
0003817327.tif 000018
【図１４】
0003817327.tif 000019
【図１５】
0003817327.tif 000020
【図１６】
0003817327.tif 000021
【図１７】
0003817327.tif 000022
【図１８】
0003817327.tif 000023