JP3817327B2 - データ処理システムにおいてチップ選択可能な装置をアクセスする方法および装置 - Google Patents
データ処理システムにおいてチップ選択可能な装置をアクセスする方法および装置 Download PDFInfo
- Publication number
- JP3817327B2 JP3817327B2 JP09012497A JP9012497A JP3817327B2 JP 3817327 B2 JP3817327 B2 JP 3817327B2 JP 09012497 A JP09012497 A JP 09012497A JP 9012497 A JP9012497 A JP 9012497A JP 3817327 B2 JP3817327 B2 JP 3817327B2
- Authority
- JP
- Japan
- Prior art keywords
- external
- signal
- bus
- address
- master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Dram (AREA)
- Memory System (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、一般的には、外部マスタおよび外部メモリの間で情報を通信するデータプロセッサに関し、かつ、より特定的には、外部ダイナミック・ランダムアクセスメモリ(DRAM)、外部のチップ選択可能な装置、および外部マスタの間で情報を通信するデータプロセッサに関する。
【0002】
【従来の技術】
ダイナミック・ランダムアクセスメモリ(DRAM)回路は一般的には半導体データ処理システムにおいて使用され無数のデータ処理動作の間に使用するための費用のかからないメモリを提供する。共通のDRAM回路にアクセスする複数のデータプロセッサを使用した現在のデータ処理システムは典型的には適切なアドレス多重化を提供するために外部マルチプレクサを必要とする。そのようなアドレス多重化はメモリアクセス動作の間にDRAM回路に適切なアドレスを提供するために必要とされる。DRAM回路のピン数は典型的には制限されているから、前記複数のデータプロセッサの内の1つによって適切な制御が提供される場合にDRAM回路の同じ予め選択された部分の集積回路ピンにローアドレスまたはコラムアドレスを提供するためにマルチプレクサが必要とされる。データプロセッサはRAS(ローアドレスストローブ)またはCAS(コラムアドレスストローブ)信号をDRAM回路に提供して前記DRAM回路の予め選択された部分の集積回路ピンに関して現在ローアドレスが提供されているかあるいはコラムアドレスが提供されているかを指示する。さらに、DRAM回路に読出しまたは書込みアクセスを指示するためにDRAMW信号が提供される。典型的なDRAM回路においては、前記RAS信号はDRAM回路の予め選択された部分の集積回路ピンがローアドレス値を受信していることを指示しかつCASバスはDRAM回路の予め選択された部分の集積回路ピンがコラムアドレスを受信していることを示す。前記RAS,CASおよびDRAMW信号に加えて、データプロセッサはまた一般に前記マルチプレクサに対して制御を提供するために少なくとも1つの集積回路ピンを指定しなければならない。集積回路ピンの数が制限されている技術領域においては、マルチプレクサの制御を提供するために単一のピンを使用することはデータ処理システムの設計者にとって面倒なことであろう。
【0003】
さらに、従来技術の構成においてマルチプレクサを実施するために必要とされる外部ロジックはしばしば外部マスタを含めてデータ処理システムに対しかなりの量のオーバヘッドコストを加える。アドバンスド・マイクロ・デバイセス(Advanced Micro Devices)社によって製造されたAM29200およびインターナショナル・ビジネス・マシンズ(International Business Machines)社によって製造されたPPC403GAを使用したデータ処理システムにおいては、上に述べたような外部多重化が必要とされる。これらのシステムの各々は図1に示されるような構成を必要とする。したがって、現在のDRAMコントローラの構成は適切に機能するが、上に述べたマルチプレクサを使用することを必要とせずあるいはそのマイクロプロセッサを制御するために余分の外部集積回路ピンを必要としないデータ処理システムの必要性が存在する。
【0004】
データ処理システムの設計者の関心を引き起こす他の領域は内部および外部マスタ装置が共にデータプロセッサにおいてチップ選択および書込みイネーブル発生ロジックを使用する場合に生じる。外部マスタが内部チップ選択発生を使用してバス転送を開始する場合、しばしば、外部マスタはチップ選択されたメモリをアクセスするのに内部マスタとは異なる量の時間を必要とする。これは外部マスタアドレスおよびバス属性が内部マスタアドレスおよびバス属性と同じ時間量で内部コントローラに得られないからである。もしこのような場合が生じかつ外部マスタが内部チップ選択発生ロジックを使用することを希望すれば、従来技術の解決方法は外部マスタのアクセスに整合するために内部マスタのアクセスを変更することを要求するかあるいは内部マスタアクセスが外部マスタアクセスよりも1クロック短くできるようにすることである。
【0005】
【発明が解決しようとする課題】
しかしながら、もしユーザが上の解決方法のいずれかを使用することができなければ、ユーザは内部チップ選択および書込みイネーブル発生ロジックを使用することができないであろう。このような状況では、ユーザは外部マスタのアクセスのためにそのようなロジックを外部システムに加えなければならない。したがって、外部マスタが外部メモリをアクセスしたときに、外部マスタアクセスのタイミングが内部マスタアクセスのものに等しいかあるいは1サイクル遅くなることを要求することなく、ユーザが内部的に構成されたチップ選択および書込みイネーブル発生ロジックを活用できるようにするデータプロセッサの必要性も存在する。
【0006】
【課題を解決するための手段】
本発明はデータプロセッサ、外部メモリまたは装置、および外部マスタの間で情報を通信するための装置および方法を提供する。本発明の装置および方法はデータプロセッサが外部マスタによるアクセスの間に外部メモリまたは装置を適切に制御できるようにし、外部インタフェース回路の必要量を低減しかつデータ処理システムに関連するオーバヘッドコストを低減できるようにする。
【0007】
本発明においては、DRAM回路のアクセスの間に多重化機能を行なうために何らの外部回路も必要とすることなく、データ処理システムにおける外部メモリを制御するための回路および動作方法が提供される。さらに、本発明は外部マスタ装置によるダイナミック・ランダムアクセスメモリ(DRAM)アクセスのためにデータプロセッサにおいて外部マルチプレクサおよび専用の集積回路ピンの必要性を除去する。本発明は図1に示されるような従来技術のデータ処理システムによって必要とされるような専用の集積回路ピンを必要とすることなくDRAM回路をアクセスするために必要とされるマルチプレクス機能を実施する。本発明のデータプロセッサによる増大した柔軟性および低減された集積回路ピンの要求はより低いシステムコストを有しかつ半導体市場における最新の進歩を活用するため容易に更新できるデータ処理システムを実現する。
【0008】
本発明の第2の観点においては、ユーザは外部マスタのチップ選択アクセスが内部マスタのアクセスと同じ数のサイクルとすることができるか、あるいは外部転送アクノレッジ終了を使用しかつ任意の数のサイクルとすることができるように本発明のデータプロセッサをプログラムすることができる。ユーザは内部および外部マスタチップ選択アクセスのために、独立にかつチップ選択のベースで、一方依然として内部チップ選択および書込みイネーブル発生ロジックを使用して、外部転送アクノレッジ終了を使用するようプログラムできる。本発明のこの観点によって与えられる柔軟性はユーザが外部チップ選択および書込みイネーブル発生ロジックを必要とすることなく異なる外部マスタサイクルのタイミングを補償できるようにする。したがって、本発明のこの実施形態においてはオーバヘッドが節約されかつ効率が増大する。
【0009】
【発明の実施の形態】
以下の説明では、本発明を実施したデータ処理システムの一実施形態の接続および動作につきより詳細に説明する。
【0010】
〈本発明の接続構成〉
本発明の接続構成に関する以下の説明においては、用語「バス」は、データ、アドレス、制御またはステータスのような、1つまたはそれ以上の種々の形式の情報を転送するために使用できる複数の信号または導体に言及するために使用される。用語「肯定する」および「否定する」は信号、ステータスビット、または同様の装置を、それぞれ、その論理的に真のまたは論理的に偽の状態にすることに言及する場合に使用される。もし論理的に真の状態が論理レベル“1”であれば、論理的に偽の状態は論理レベル“0”である。また、もし論理的に真の状態が論理レベル“0”であれば、論理的に偽の状態は論理レベル“1”である。
【0011】
さらに、数字に先行する記号“$”はその数字が16進でまたは16をベースとした形式で表わされることを示す。ある数字に先行する記号“%”はその数字がその2進または2をベースとした形式で表わされることを示している。また、本明細書では記号“*”は信号の論理的反転または否定を示すものとし、いわゆる上線に対応する。
【0012】
本発明の以下の説明においては、用語フィールドおよびビットは相互交換可能に使用されることがあることに注目すべきである。
【0013】
図2は、本発明の一実施形態に係わるデータ処理システム202を示す。データ処理システム202はデータプロセッサ3、外部バスマスタ205、メモリ206、およびDRAM207を含む。データプロセッサ3は外部バスマスタ205、メモリ206およびDRAM207にEバス(外部バス:ExternalBus)を介して接続されている。該Eバスはバス調停バス、読出し/*書込み(R/*W)信号、転送開始(TS)信号、転送アクノレッジ(TA)信号、および「サイズ(size)」バスをデータプロセッサ3と外部バスマスタ205との間で結合している。「アドレスバス」および「データバス」もまたデータプロセッサ3と外部バスマスタ205、メモリ206およびDRAM207の各々の間でEバスによって結合されている。さらに、データプロセッサ3はEバスを介してDRAM207に結合され、「ローアドレスストローブ(RAS)」信号、「コラムアドレスストローブ(CAS)」バス、およびDRAM書込み(DRAMW)信号を提供する。データプロセッサ3はEバスを介してメモリ206に結合され「チップ選択(CS)」信号および「書込みイネーブル(WE)」バスを提供する。前記「バス調停」バスは本発明のこの実施形態では「バス要求(BR)」、「バス承認(BG)」および「バス駆動(Bus Driven:BD)」信号の寄せ集め(compilation)である。しかし、バス調停およびそれに関連する信号はデータ処理技術においてはよく知られており他の信号を含む他の構成もここで使用することができる。
【0014】
次に図3を参照すると、図3は本発明の一実施形態に係わるデータプロセッサ3を示している。データプロセッサ3はシステムバスコントローラ8、コア9、スレイブモジュール12、スレイブモジュール13、マスタモジュール14、およびデバッグモジュール10を含む。システムバスコントローラ8はEバスを介して外部装置(ここでは図示されていない)に結合されている。システムバスコントローラ8はSバスを介してスレイブモジュール12およびスレイブモジュール13に結合されている。Sバスはスレイブモジュールバスである。システムバスコントローラ8はMバス23を介してコア9およびマスタモジュール14に結合されている。Mバス23はマスタモジュールバスである。図3は本発明の一実施形態を示していることを理解すべきである。したがって、複数のスレイブモジュールおよび複数のマスタモジュールをデータプロセッサ3の別の実施形態において実施することができる。
【0015】
コア9は中央処理ユニット(CPU)2、メモリ管理ユニット(MMU)/コントローラ4、およびメモリ6を具備する。中央処理ユニット2、MMU/コントローラ4、メモリ6およびデバッグモジュール10は各々Kバス25を介してお互いに結合されている。中央処理ユニット2およびメモリ6の双方はまた直接MMU/コントローラ4に接続されている。MMU/コントローラ4はMバス23を介してデータプロセッサ3の残りの部分に情報を提供する。CPU2は外部装置から「リセット」信号を受信する。デバッグモジュール10はデータプロセッサ3の外部の装置(ここでは図示されていない)と複数のデバッグ情報を通信する。
【0016】
図4は、システムバスコントローラ8の一部を示す。システムバスコントローラ8はデータパス(data path)回路802、メモリコントローラ804、バス調停回路806、デコードおよびアドレス発生回路808、そして制御レジスタ810を具備する。
【0017】
Eバスは双方向的に外部「データ」バスをデータパス(data path)制御回路802と結合する。Mバス23はまた双方向的に「マスタデータ(MData)」バスをデータパス(data path)回路802と結合する。データパス(data path)回路802はまた「レジスタデータ」信号を受信するためにメモリコントローラ804に結合されている。
【0018】
メモリコントローラ804はMバス23に結合されて「マスタ転送アクノレッジ(MTA)」信号を提供する。メモリコントローラ804はEバスに結合されて「書込みイネーブル(WE)」バス、「チップ選択(CS)」信号、「DRAM書込み(DRAMW)」信号、「ローアドレスストローブ(RAS)」信号、「コラムアドレスストローブ(CAS)」バス、および「転送アクノレッジ(TA)」信号を提供する。
【0019】
メモリコントローラ804はまた制御レジスタ810に結合されて複数の制御情報を受信する。メモリコントローラ804はデコードおよびアドレス発生回路808に結合されてDRAM_ヒット(DRAM_hit)信号およびCS_ヒット(CS_hit)信号を受信する。メモリコントローラ804はバス調停回路806に結合されて*int_ext_マスタ(*int_ext_master)(内部ではなく、外部マスタ)信号を受信する。
【0020】
バス調停回路806はEバスに結合されて「バス承認(BG)」信号を受信しかつ「バス要求(BR)」信号および「バス駆動(BD)」信号を提供する。バス調停回路はデコードおよびアドレス発生回路808に結合されて前記*int_ext_マスタ信号を提供する。
【0021】
デコードおよびアドレス発生回路808は双方向的にEバスに結合されてアドレス値、「転送開始(TS)」信号、「読出し/*書込み(R/*W)」信号、および「サイズ」バスを通信する。デコードおよびアドレス発生回路808はまたは制御レジスタ810に結合されて前記複数の制御情報を受信する。デコードおよびアドレス発生回路808はまたMバス23に結合されて「マスタアドレス(MADDR)」値、「マスタ転送開始(MTS)」信号、「マスタサイズ(MSIZE)」バス、および「マスタ読出し/*書込み(MR/*W)」信号を受信する。
【0022】
〈レジスタの説明〉
本発明の一実施形態を構成するシステムバスコントローラ8の一部は複数の制御レジスタ810を含む。本発明を実施する上で使用される各々のレジスタにつき引き続きより詳細に説明する。さらに、本発明の動作の間における制御レジスタ810の使用につき後により詳細に説明する。
【0023】
前記複数の制御レジスタ810は図12(a)〜図12(c)および図13(a)〜図13(e)により詳細に示されている。複数の制御レジスタ810はチップ選択アドレスレジスタ(CSAR0−7)、チップ選択マスクレジスタ(CSMR0−CSMR7)、そしてチップ選択制御レジスタ(CSCR0−CSCR7)を含む。
【0024】
前記複数のチップ選択アドレスレジスタ(CSAR)の内の代表的な1つが図12(a)に示されている。各チップ選択アドレスレジスタはチップ選択ピンのベースアドレスを決定する。ビットBA31〜BA16の各々は各チップ選択に専用のものであるメモリのベースアドレスロケーションを規定する。これらのビットは内部アドレスバスの上位ビットと比較されてチップ選択メモリがアクセスされているか否かを決定する。
【0025】
前記複数のチップ選択マスクレジスタ(CSMR)の内の代表的な1つが図12(b)に示されている。各々のCSMRは各々のチップ選択に対するアドレスマスクを決定する。さらに、各々のCSMRはチップ選択信号に対して許容されるアクセスのタイプの定義を決定する。
【0026】
図12(b)においては、BAM31〜BAM16と名付けられた格納ロケーションがベースアドレスマスクを示す。このフィールドはアドレスマスクビットの使用を通して各々のチップ選択に専用のものとされるメモリのブロックを規定する。前記ベースアドレスマスクビットは論理的に反転されかつ前に述べたCSARに格納されたベースアドレスの上位ビットおよび内部アドレスバスの上位ビットと“AND”操作される。これら2つの値は次に比較されてチップ選択アドレス空間がアクセスされているか否かを判定する。前記ベースアドレスマスクビットの内の1つが論理“1”である場合は、このビットはチップ選択アドレスのデコード操作からディスエーブルされる。前記ベースアドレスマスクビットの内の1つが論理“0”である場合は、前記内部アドレスバスからの対応するアドレスビットがCSARにおける対応するビットと比較されて適切なデコードアドレスを決定する。CPU,SC,SD,UCおよびUDと名付けられたCSMRビットは特定のアドレス空間をマスクしかつチップ選択を特定のアドレス空間(単数または複数)に与える。ディスエーブルされたアドレス空間において、そのアドレス空間におけるロケーションへのアクセスは通常の外部バスアクセスとなりかつチップ選択はアクティブにされない。前記アドレス空間マスクビットはCPU空間マスク、スーパバイザコードアドレス空間マスク(SC)、スーパバイザデータアドレス空間マスク(SD)、ユーザコードアドレス空間マスク(UC)、およびユーザデータアドレス空間マスク(UD)を含む。CSMRにおけるアドレス空間マスクビットの1つが論理“1”の値である場合は、対応するアドレス空間がチップ選択のアクティブベイションおよび動作からディスエーブルされる。もし該アドレス空間が対応するアドレス空間マスクビットが肯定されている場合にアクセスされれば、何らのチップ選択のアクティベイションも生じずかつノンチップ選択(non−chip select)外部サイクルが発生される。CSMRにおけるアドレスビットの内の1つが論理“0”の値である場合は、そのチップ選択動作に対して対応するアドレス空間がイネーブルされる。該チップ選択を使用するアクセスはこのアドレス空間に対して行なうことができる。
【0027】
図12(c)はチップ選択制御レジスタ(CSCR)を示す。各々のCSCRは内部自動アクノレッジ終了を制御し、外部マスタ自動アクノレッジ終了を制御し、ポートサイズを指示するためにチップ選択および書込みイネーブル肯定およびタイミングを制御し、かつチップ選択の各々のバースト能力を指示するために使用される。
【0028】
動作の間に、チップ選択ゼロ(CS0)信号はグローバル(global)、またはブート(boot)、チップ選択を外部集積回路ピンに提供する。グローバルチップ選択として、CS0はシステムの初期化が行なわれる前にブートROMに対するアドレスデコードを許容する。さらに、前記CS0信号の出力は本データプロセッサに関して実施されるいずれの他のチップ選択集積回路ピンとも異なっている。システムリセット動作の後に、CS0集積回路ピンはそれぞれのアドレスに対して肯定される。この能力はブートROMが外部アドレス空間における任意のアドレスに配置できるようにする。CS0集積回路ピンは対応するCSMR(CSMR0)が書込まれた状態でこのようにして動作する。そのポイントまで、CS0のポートサイズおよび内部自動アクノレッジ機能はリセット否定においてサンプルされた複数の集積回路ピンによって提供される値により決定される。以下の表、表1、はCS0に対応するチップ選択のためのポートサイズを選択するために使用される値を示す。
【0029】
【表1】
【0030】
また、以下の表2はデータプロセッサ3における内部自動アクノレッジ機能をイネーブルしまたはディスエーブルするための値を示す。CS0に対しては、システムリセットに応じて、読出しおよび書込み転送動作の双方がイネーブルされかつバースト動作がディスエーブルされる。
【0031】
【表2】
【0032】
図12(c)においては、待機状態、WS[3:0]はAA(自動アクノレッジ)フィールドまたはEMAA(外部マスタ自動アクノレッジ)フィールドが論理“1”の値に等しい場合に有効である。有効である場合、WS[3:0]フィールドは転送アクノレッジが発生される前に挿入される待機状態の数を規定する。内部マスタ開始サイクルに対しては、もし外部転送アクノレッジが指示された数の待機状態が発生される前に受信されれば、外部転送アクノレッジはサイクルを終了することになる。
【0033】
前記EMAAフィールドは対応するチップ選択アドレス空間と「ヒット(hit)」する外部マスタ開始サイクルの間に転送アクノレッジのドライブおよび肯定を制御する。もしEMAAフィールドが論理“1”の値であれば、メモリコントローラ804からの転送アクノレッジは出力へとセットされかつ前記値WS[3:0]で決定される時間に肯定される。外部バスマスタ205からの外部転送アクノレッジ(TA)終了はディスエーブルされなければならないことに注意を要する。前記EMAAが論理“0”の値である場合は、メモリコントローラ804からの外部転送アクノレッジは外部マスタ開始バスサイクルの間ドライブされずかつ外部バスマスタ205からの外部TA終了が提供されなければならない。
【0034】
前記AAフィールドは対応するチップ選択アドレス空間においてヒットする内部的に開始されたバスサイクルの間に前記内部TAの肯定を制御する。もし前記AAフィールドが論理“1”の値にセットされれば、内部TAは前記WS[3:0]フィールドによって決定される時間に肯定される。メモリコントローラ804からの転送アクノレッジ信号は内部的に開始されたサイクルの間にパッケージ集積回路ピンが入力にセットされるときに転送される。前記AAフィールドが論理“0”の値を格納している場合、前記内部転送アクノレッジは前記転送アクノレッジ終了が外部バスマスタ205から受信されるまで発生されない。
【0035】
前記PS[1:0](ポートサイズ)フィールドは各々のチップ選択に関連するデータの幅を特定する。前記PSフィールドは書込みサイクルの間にどこにデータがドライブされるかおよび読出しサイクルの間にどこでデータがサンプルされるかを決定する。たとえば、もしPSフィールドが00の2進値を有していれば、前記プログラムされたポートサイズは32ビットでありかつデータはデータ[31:0]と名付けられた複数の集積回路ピンにおいてサンプルされかつドライブされる。もし前記PSフィールドが01の2進値を有していれば、プログラムされたポートサイズは8ビットでありかつデータはデータ[31:24]と名付けられた複数の集積回路ピンにおいてのみサンプルされかつドライブされる。もし前記PSフィールドが10の2進値を有していれば、プログラムされたポートサイズは16ビットでありかつデータはデータ[31:16]と名付けられた複数の集積回路ピンにおいてのみサンプルされかつドライブされる。もし前記PSフィールドが11の2進値を有していれば、プログラムされたポートサイズは16ビットでありかつデータはデータ[31:16]と名付けられた複数の集積回路ピンにおいてサンプルされかつドライブされることになる。
【0036】
前記BRST(バーストイネーブル)フィールドは各々のチップ選択に関連するメモリの「バースト可能性(burstability)」を示す。もし前記BRSTフィールドが論理“1”の値にセットされれば、要求された転送サイズより小さなポートサイズへのかつ該ポートサイズからの全ての転送は「バースト化される(bursted)」ことになる。たとえば、8および16ビットポートに対するロングワード転送、8ビットポートへのワード転送、および8,16および32ビットポートへのライン転送は全て「バースト化される」ことになる。前記BRSTフィールドが論理“0”の値を有する場合、特定されたポートサイズより大きな全ての転送は前記特定されたポートサイズより大きくない個々のノンバースト転送へと分離される。
【0037】
前記ASET(アドレスセットアップイネーブル)フィールドはアドレスの有効性の指示子に関してチップ選択の肯定を制御する。前記ASETフィールドが論理“0”の値である場合は、チップ選択は前記アドレスバス上のアドレスが有効である場合に肯定される。前記ASETフィールドが論理“1”の値である場合は、チップ選択はアドレスバス上のアドレスが有効になった後に1サイクル肯定される。
【0038】
WRAH(書込みアドレスホールドイネーブル:Write AddressHold Enable)フィールドはチップ選択書込みサイクルの間にチップ選択および書込みイネーブルが否定された後のアドレスホールド時間を制御する。WRAH値が論理“0”の値である場合、アドレスは書込み動作の実行の間に何らの余分のサイクルにつき保持されることはない。前記WRAHフィールドが論理“1”の値である場合は、書込み動作の実行の間に転送アクノレッジが肯定された後にアドレスが1サイクルの間保持される。
【0039】
前記RDAH(読出しアドレスホールドイネーブル:Read Address Hold Enable)フィールドはチップ選択読出しサイクルの間にチップ選択信号が肯定された後のアドレスホールド時間を制御する。該RDAH値が論理“0”の値である場合は、読出し動作の実行の間にアドレスは何らの余分のサイクルにつき保持されることはない。該RDAHフィールドが論理“1”の値である場合は、アドレスは読出し動作の実行の間に転送アクノレッジが肯定された後に1サイクルの間保持される。
【0040】
WR(書込みイネーブル:Write Enable)フィールドは書込みサイクルに際してチップ選択および書込みイネーブル信号の肯定を制御する。WRフィールドが論理“0”の値である場合は、チップ選択信号は書込み動作の実行の間にアクティベイトされない。WRフィールドが論理“1”の値である場合は、チップ選択信号は書込み動作の実行の間にアクティベイトされる。
【0041】
RD(読出しイネーブル:Read Enable)フィールドは読出しサイクルに際してチップ選択信号の肯定を制御する。RDフィールドが論理“0”の値である場合は、チップ選択信号は読出し動作の実行の間にアクティベイトされない。RDフィールドが論理“1”の値である場合は、チップ選択信号は読出し動作の実行の間にアクティベイトされる。
【0042】
前記複数の制御レジスタ810はまたDRAMコントローラリフレッシュレジスタ(DCRR)、DRAMコントローラタイミングレジスタ(DCTR)、複数のDRAMコントローラアドレスレジスタ(DCAR0−DCAR1)、複数のDRAM制御マスクレジスタ(DCMR0−DCMR1)、そして複数のDRAMコントローラ制御レジスタ(DCCR0−DCCR1)を含む。
【0043】
前記DCRRは図13(a)により詳細に示されている。DRAMコントローラリフレッシュカウンタレジスタはリフレッシュサイクルの間のシステムクロックの数を制御する。図13(a)において、「リフレッシュカウント」フィールド、RC11−RC0、はメモリコントローラ804によるリフレッシュ要求の頻度を制御する。「リフレッシュカウント」フィールドに格納された値は16のシステムクロックにより乗算されてリフレッシュ期間または周期を決定する。
【0044】
図13(b)により詳細に示された、DCTRはDRAMの複数のバンクに対するDRAMアクセスのためのタイミングを制御する。このレジスタにおける各フィールドはメモリコントローラ804によって提供されるすべての形式のDRAMアクセスのために「ローアドレスストローブ(RAS)」および「コラムアドレスストローブ(CAS)」バスを変更する。DCTRにおいては、「外部マスタDRAMアクセスの間のドライブアドレス(DAEM)」フィールドは外部マスタによるDRAMのアクセスの間にすべてのアドレスラインに関してメモリコントローラ804の出力ドライバを制御する。アドレス信号を出力するよう構成されたアドレスバスの部分をドライブして外部マスタに対するローおよびコラムアドレスの多重化(multiplexing)を提供することができる。DAEMフィールドはDRAMへの内部的に開始されるアクセスの間にアドレスのドライブに影響を与えない。動作の間において、DAEMフィールドが論理“0”の値である場合は、外部マスタDRAMアクセスの間にアドレス信号はドライブされない。逆に、DAEMフィールドが論理“1”の値である場合は、外部マスタのDRAMアクセスの間にアドレス信号がドライブされてローおよびコラムアドレス多重化を提供する。
【0045】
EDOフィールド(拡張データ出力:Extended Data Out)はDRAMバンクにEDO DRAMが所在するか否かを特定しかつメモリコントローラ804にページモードアクセスの間にEDO時間の間CASを肯定するよう指令する。そのような手順はメモリコントローラ804がEDO DRAMによって許容される特別のCASタイミングを活用できるようにする。
【0046】
RCD(RAS−CAS遅延:RAS to CAS Delay)フィールドはRAS信号の肯定とCASバスの肯定との間のシステムクロックの数を制御する。このフィールドはページおよびノンページモードのアクセスに対してのみ有効である。それはリフレッシュサイクルを制御しない。RCDフィールドが“0”の論理レベルを有する場合は、RAS信号はCASバスの肯定の前に1システムクロック肯定する。RCDフィールドが“1”の論理レベルを有する場合、RAS信号はCASバスの肯定の前に2システムクロック肯定する。
【0047】
RSH1−RSH0(ノンページモードRASホールド時間:Non−Page Mode RAS Hold Time)フィールドはCASバスの肯定の後にRAS信号が肯定された状態に留っているシステムクロックの数を制御する。このフィールドはノンページモードの読出しおよび書込みサイクルの間におけるRAS信号のタイミングを制御する。このフィールドが00の2進値を有する場合、RAS信号はCASバスの肯定の後に1.5(one and a half)システムクロック否定する。同様に、このフィールドが01の2進値を有する場合、RAS信号はCASバスの肯定の後に2.5(two and a half)システムクロック否定する。さらに、このフィールドが10の2進値を有する場合、RAS信号はCASバスの肯定の後に3.5(three and a half)システムクロック否定する。
【0048】
CPR1−CPR0(ノンページモードCAS−RASプリチャージ時間:Non−Page Mode CAS to RAS Precharge Time)フィールドはバスマスタがバックツウバック(back−to−back)のDRAMアクセスを要求する際にCASバスの否定の後にRAS信号が否定された状態に留っているシステムクロックの数を制御する。CRPフィールドが00の2進値を有する場合、RAS信号はCASバスの否定の後に1.5システムクロックを肯定する。同様に、CRPフィールドが01の2進値を有する場合、RAS信号はCASバスの否定の後に2.5システムクロックを肯定する。さらに、CRPフィールドが10の2進値を有する場合、RAS信号はCASバスの否定の後に3.5システムクロックを肯定する。
【0049】
CAS(ページモード・コラムアドレスストローブタイミング:Page Mode Column Address Strobe Timing)フィールドは、前記EDOフィールドとともに、ページモードのDRAMアクセスの間にCASがアクティブに保持されるシステムクロックの最少数を制御する。以下の表3はCASおよびEDOフィールドの間の関係を示す。
【0050】
【表3】
【0051】
CP(CASプリチャージタイミング:CAS Precharge Timing)フィールドは、前記EDOフィールドとともに、DRAMアクセスの後にCASバスがインアクティブに保持されるシステムクロックの数を制御する。このフィールドはページモードの読出しおよび書込みサイクルの後にのみCASバスのインアクティブタイミングを制御する。表4はCPおよびEDOフィールドの間の関係を示す。
【0052】
【表4】
【0053】
CSR(RASリフレッュの前のCASに対するCASセットアップ時間:CAS Setup Time for CAS Before RAS Refresh)フィールドはCASバスの肯定とリフレッシュサイクルのみの間におけるRASサイクルの肯定の間のシステムクロックの数を制御する。CSRフィールドが論理“0”の値である場合は、CASバスはRAS信号の肯定の前に1システムクロックを肯定する。CSRフィールドが論理“1”の値である場合は、CASバスはRAS信号の肯定の前に2システムクロックを肯定する。
【0054】
前記複数のDRAMコントローラのアドレスレジスタ(DCAR)の代表的な1つが図13(c)に示されている。おのおののDRAMコントローラのアドレスレジスタはおのおののDRAMバンクに専用のメモリのベースアドレスを格納する。これらのビットは内部アドレスバスの上位ビットと比較されてDRAMバンクがアクセスされているかを判定する。
【0055】
複数のDRAMコントローラのマスクレジスタ(DCMR)の内の代表的な1つが図13(d)に示されている。おのおののDCMRは前記DRAMバンクのおのおのに対するアドレスマスクを決定する。さらに、おのおののDCMRはこれらの信号に対して許容されるアクセスのタイプの定義を定める。
【0056】
図13(d)においては、BAM31〜BAM17と名付けられた格納ロケーションはベースアドレスマスクを示す。このフィールドはアドレスマスクビットの使用によりおのおののDRAMバンクに専用のメモリのブロックを規定する。ベースアドレスマスクビットは論理的に反転されかつ上に述べたDCARに格納されたベースアドレスの上位ビットおよび内部アドレスバスの上位ビットと“AND”操作される。2つの値は次に比較されてDRAMバンクアドレス空間がアクセスされているかを判定する。ベースアドレスマスクビットの内の1つが論理“1”である場合は、このビットはDRAMバンクアドレスのデコード操作からディスエーブルされる。ベースアドレスマスクビットの内の1つが論理“0”である場合は、内部アドレスバスからの対応するアドレスビットは前記DCARにおける対応するビットと比較されて適切なデコードアドレスを決定する。SC,SD,UCおよびUDと名付けられたDCMRビットは特定のアドレス空間をマスクしかつDRAMバンクを特定のアドレス空間(単数または複数)にする。ディスエーブルされたアドレス空間において、そのアドレス空間におけるロケーションへのアクセスはノンDRAM外部バスアクセスとなりかつDRAMはアクティベイトされない。前記アドレス空間マスクビットはスーパバイザコード・アドレス空間マスク(SC)、スーパバイザデータ・アドレス空間マスク(SD)、ユーザコード・アドレス空間マスク(UC)、およびユーザデータ・アドレス空間マスク(UD)を含む。DCMRにおけるアドレス空間マスクビットの内の1つが論理“1”の値である場合は、対応するアドレス空間はDRAMアクティベイションおよび動作からディスエーブルされる。対応するアドレス空間マスクビットが肯定されている場合に該アドレス空間がアクセスされれば、何らのDRAMアクティベイションも行われずかつ外部ノンDRAMサイクルが発生される。DCMRにおけるアドレスマスクビットの内の1つが論理“0”の値である場合は、対応するアドレス空間はDRAM動作に対してイネーブルされる。DRAMを使用したアクセスがこのアドレス空間に対して生じ得る。
【0057】
図13(e)はDRAMコントローラ制御レジスタ(DCCR)を示す。おのおののDCCRはポートサイズ、ページサイズ、ページモードおよびデータ処理システムにおいて実施されるDRAMバンクのおのおののアクティベイションを制御するために使用される。DCCRにおいては、PS[1:0](ポートサイズ)フィールドはDRAMアドレス空間に関連するデータ幅を特定する。PSフィールドが00の2進値を有する場合、プログラムされるポートサイズは32ビットでありかつデータは「データ[31:0]」と名付けられた複数の集積回路ピンに関してサンプルされかつドライブされる。もしPSフィールドが01の2進値を有すれば、プログラムされたポートサイズは8ビットでありかつデータは「データ[31:24]」と名付けられた複数の集積回路ピンに関してのみサンプルされかつドライブされる。もしPSフィールドが10の2進値を有していれば、プログラムされたポートサイズは16ビットでありかつデータは「データ[31:16]」と名付けられた複数の集積回路ピンに関してのみサンプルされかつドライブされる。もしPSフィールドが11の2進値を有していれば、プログラムされたポートサイズは16ビットでありかつデータは「データ[31:16]」と名付けられた複数の集積回路ピンに関してのみサンプルされかつドライブされる。
【0058】
BPS[1:0]バンクページサイズ(BPS[1:0]Bank PageSize)フィールドはページモードのDRAMが使用される場合におのおののDRAMバンクに対するページサイズを規定する。BPSフィールドが00の2進値を有する場合、ページサイズは512バイトのページとして定義される。BPSフィールドが01の2進値を有する場合、ページサイズは1キロバイトのページとして規定される。同様に、BPSフィールドが10の2進値を有する場合、ページサイズは2キロバイトのページとして規定される。
【0059】
前記ポートサイズ(PS[1:0])およびバンクページサイズ(BPS[1:0])はいっしょに使用されてDRAMサイクルのコラムアドレスフェーズの間にアドレスバスの多重化を決定する。ポートサイズおよびバンクページサイズのすべての組合わせに対するアドレスバスの多重化は図14〜図16に示されている。
【0060】
PM[1:0](ページモード選択:Page Mode Select)フィールドはおのおののDRAMバンクに対して許容されるページモードアクセスのタイプを選択する。PMフィールドが00の2進値を有する場合、何らのページモードのアクセスも許容されない。PMフィールドが01の2進値を有する場合、ページモードアクセスはバーストアクセスに関して許容される。さらに、PMフィールドが11の2進値を有する場合、通常のページモードの動作が許容される。
【0061】
WR(書込みイネーブル:Write Enable)フィールドは書込みサイクルに際してDRAM制御信号の肯定を制御する。WRフィールドが論理“0”の値を有する場合、DRAM制御信号は書込み動作の間はアクティベイトされない。WRフィールドが論理“1”の値を有する場合、DRAM制御信号は書込み動作の間にアクティベイトされる。
【0062】
RD(読出しイネーブル:Read Enable)フィールドは読出しサイクルに際してDRAM制御信号の肯定を制御する。RDフィールドが論理“0”の値を有する場合、DRAM制御信号は読出し動作の間にアクティベイトされない。RDフィールドが論理“1”の値を有する場合、DRAM制御信号は読出し動作の間にアクティベイトされる。
【0063】
<動作の説明>
図2に示されるように、本発明の動作の間に、外部バスマスタ205は外部マルチプレクサまたは従来技術のデータ処理システムによって必要とされた何らかの他の外部回路を使用することなくデータプロセッサ3の内部のメモリコントローラを使用してDRAM207にアクセスすることができる。本発明はデータプロセッサ3内部のDRAMのローおよびコラムアドレスを多重化するために独自の回路および技術を実施することにより外部マルチプレクサおよび外部マスタが開始するDRAMアクセスの間に外部多重化制御を提供するための専用の集積回路ピンの必要性を除去する。
【0064】
そのような外部アクセスの間に、外部バスマスタ205は本発明のデータプロセッサ3に対し転送開始(TS)信号、「サイズ」バス、および読出し/書込み(R/*W)信号を肯定することによりデータ転送動作を開始する。外部バスマスタ205はまたデータプロセッサ3にアドレス値を提供する。初期タイミングサイクルの間に、前記TS、R/*W、サイズ、およびアドレス信号を含むアクセス情報は本発明のデータプロセッサ3内に実施されるメモリコントローラ(図2には示されていない)により記憶される。前記TS信号の肯定に続く次のタイミングサイクルの間に、外部バスマスタ205はアドレスバスをトライステート化する。同じタイミングサイクルの間に、データプロセッサ3において実施されるメモリコントローラは上述のアドレス値を外部アドレスバス上に送り始めかつRAS(ローアドレスストローブ)信号を肯定する。複数のプログラム可能な制御ビットにより決定される適切な時点に、メモリコントローラは次にコラムアドレスを提供しかつCAS(コラムアドレスストローブ)信号を肯定する。本発明の動作のこの点に関しては添付の図面を参照して後により詳細に説明する。
【0065】
さらに、本発明は外部バスマスタ205がデータプロセッサ3の内部のメモリコントローラによって発生される内部チップ選択および書込みイネーブル信号を使用する場合にチップ選択および書込みイネーブル信号の外部的な発生を提供する必要性を除去する。ユーザは外部マスタチップ選択アクセスが内部マスタアクセスと同じになるようにすることができるようにデータプロセッサ3をプログラムするか、あるいは外部的に発生された転送アクノレッジを使用するために内部または外部マスタアクセスをプログラムすることができる。従って、ユーザは内部転送アクノレッジ論理をターンオフしかつ依然として内部チップ選択および書込みイネーブル発生論理を使用しながら外部転送アクノレッジ論理を加えることができる。内部転送アクノレッジ論理は、他のマスタによる使用と独立に、内部または外部マスタ開始サイクルに対しターンオフすることができる。この特徴はチップ選択のベースでユーザがプログラム可能である。本発明のこの観点によって与えられる柔軟性はユーザが外部チップ選択および書込みイネーブル論理を必要とすることなく外部マスタアクセスの異なるタイミングを補償できるようにする。従って、本発明のこの実施形態においてはオーバヘッドが節約されかつ効率が増大する。
【0066】
また、本発明の回路および方法は外部バスマスタ205が外部制御回路を加えることなく内部マスタ(データプロセッサ3)と異なる数の待機状態を使用してチップ選択可能な装置にアクセスできるようにする。内部マスタと異なる数の待機状態を使用して、外部マスタがデータプロセッサ3の内部のチップ選択回路を使用してメモリにアクセスできるようにするため、本発明はレジスタビットが、内部チップ選択回路が外部アクセスに際して転送アクノレッジ信号を肯定しないように、プログラムできるようにする。従って、外部アクセスの間に、データプロセッサ3のチップ選択論理は内部的に発生されたチップ選択および書込みイネーブル信号を否定する前に外部的に発生された転送アクノレッジ信号を待機することになる。本発明のこの観点は内部および外部マスタの間で待機状態の数が異なる場合に必要とされる外部論理の量を低減する。
【0067】
本発明によって実施される独自の回路および技術は後により詳細に説明するが、次に本発明の動作の概略的な説明を行う。
【0068】
図3は、データプロセッサ3をより詳細に示す。データプロセッサ3の動作の間に、コア9はKバス25を使用してCPU2、MMU/コントローラ4、およびメモリ6を接続する。本発明のこの実施形態においては、Kバス25は高速の、単一サイクルのアクセスバスである。メモリ6はランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、キャッシュブロック、フラッシュ(FLASH)メモリ、内部DRAM、およびそれらの任意の組合わせを含むことができる。すべての他のシステムモジュールおよびペリフェラルはMバス23を介してコア9に結合されている。Mバス23は複数のバスマスタの内の1つによって開始されるデータ転送を行うために使用される内部マルチマスタバスである。システムバスコントローラ8は複数の機能を提供する。システムバスコントローラ8は内部Mバス23および外部Eバスとの間のインタフェースを提供する。さらに、システムバスコントローラ8はSバス上のすべてのデータ転送を制御するための焦点(focal point)として作用する。Sバスはタイマおよびシリアル通信チャネルのようなスレイブ周辺モジュール(12および13)をデータプロセッサ3内へ接続するために使用される。
【0069】
本発明においては、コア9は性能を最大にするため高速の、単一サイクルのKバス25と相互接続されている。この高速バスに直接結合されていない転送に対して、Mバス23はコア9およびマスタモジュール14のような内部バスマスタの内の任意のものから帯域幅を提供する。システムバスコントローラ8は内部Mバス23および外部Eバスとの間での接続を提供し、また一方でスレイブモジュール12および13のようなスレイブ周辺モジュールに対して低価格の、より低い帯域幅のSバスによるすべてのデータ転送のための制御機能を提供する。
【0070】
図2の要素205のような、外部バスマスタがデータプロセッサ3の内部制御メカニズムを通して外部メモリを制御できるようにするDRAMコントローラはシステムバスコントローラ8において実施される。システムバスコントローラ8の一部が図4により詳細に示されている。
【0071】
データ処理システム202のチップ選択可能な装置のアクセス動作の間に、外部バスマスタ205(図2に示されている)はTS(転送開始)信号を肯定し、所望のデータに対応する適切なアドレス値を提供し、前記データ値が読出されるべきかあるいは書込まれるべきかを示すR/*W信号を提供し、かつ「サイズ」バスを提供することによりデータ転送を開始する。本発明を実施するために使用される回路およびフローのより詳細な説明については図4および図5を参照。
【0072】
前記TS信号、アドレス値、R/*W信号、および「サイズ」バスが外部バスマスタ205によって出力されたとき、それらはデコードおよびアドレス発生回路808(図4に示されている)に格納される。バス調停回路806(図4に示されている)はデータプロセッサ3がいつEバスを制御できるかを決定する。BGおよびBD信号が否定されたとき、外部装置がEバスを制御することができかつバス調停回路806は*int_ext_マスタ(*int_ext_master)信号を肯定する。BDはバス調停回路806によって否定されて内部マスタがEバスをドライブしていないことを示す。BRは内部バスマスタがEバスの支配(mastership)を要求している場合に肯定される。従って、外部バスマスタ205が適切な制御信号を肯定してDRAM207またはメモリ206へのアクセスが望まれることを示した場合、バス調停回路806はBG信号の値を調べかつそれが否定されていることを判定し、次にバス調停回路806は前記*int_ext_マスタ信号を肯定する。前に述べたように、前記*int_ext_マスタ信号はメモリコントローラ804およびデコードおよびアドレス発生回路808の双方に提供される。
【0073】
その後、デコードおよびアドレス発生回路808は外部バスマスタ205によって前記転送開始(TS)信号が肯定されているか否かを判定する。もしTS信号が肯定されていれば、デコードおよびアドレス発生回路808はアドレス値、R/*W信号、および「サイズ」バスをデコードしデータ処理システム202におけるどの装置がアクセスされるべきかを決定する。デコードおよびアドレス発生回路808はDRAM_ヒット(DRAM_hit)信号を肯定しそこに提供されたアドレスがDRAM207内のメモリロケーションをアクセスすることを示す。同様に、デコードおよびアドレス発生回路808はCS_ヒット(CS_hit)信号を肯定してそこに提供されるアドレスがメモリ206のようなチップ選択可能な外部装置にアクセスすることを示す。本発明のこの実施形態ではメモリ206のみが示されているが、メモリ206に代えてまたは加えて他のチップ選択可能な装置も実施できる。複数のチップ選択可能な装置を含むシステムにおいては、CS_ヒット信号はこれらの装置の内のいずれかがアクセスされる場合にデコードおよびアドレス発生回路808にアドレスが提供されることを示すために肯定される。さらに、メモリ206はSRAM,ROM,EEPROM,EPROMおよびフラッシュメモリのような任意の形式の外部メモリ、あるいはシリアルインタフェースまたはタイマのような任意のチップ選択可能な装置として実施できることに注目すべきである。
【0074】
<外部マスタによるDRAMアクセス>
外部バスマスタ205によるDRAM207のアクセスの以下の説明は図5を参照すべきである。
【0075】
もしDRAM_ヒット信号が肯定されてDRAM207におけるあるメモリロケーションがアクセスされていることを示せば、メモリコントローラ804は次に制御レジスタ810のDCTRレジスタ(図13(b)に示されている)におけるDAEM(外部マスタDRAMアクセスの間のドライブアドレス)ビットが外部ユーザにプログラムされて外部バスマスタ205によるDRAM207のアクセスの間にすべてのアドレスラインにおけるメモリコントローラ804の出力ドライバをイネーブルするかを判定する。もしDAEMフィールドがセットされていれば(本発明のこの実施形態では論理“1”)、メモリコントローラ804はデコードおよびアドレス発生回路808をイネーブルしEバスのアドレスバス部分からのローアドレスを反映するアドレスをドライブする。2分の1タイミングサイクル後に、前記RAS信号はメモリコントローラ804によって肯定される。その後、DCTRにおけるRCDフィールドによって決定される期間の後に、デコードおよびアドレス発生回路808は前記Eバスのアドレス部分からの、図14〜図16において述べたようなデコードおよびアドレス発生回路808によって形成される、コラムアドレスを反映する新しいアドレスをドライブする。2分の1タイミングサイクル後に、CASバスがメモリコントローラ804によって肯定される。さらに、もしそれがDRAM207の書込みアクセスであれば、DRAMW信号が肯定されかつもしそれがDRAM207の読出しアクセスであれば、DRAMW信号が否定される。さらに、メモリコントローラ804はDRAM207のアクセスが完了したとき外部バスマスタ205へのTA(転送アクノレッジ)信号を肯定する。
【0076】
図6〜図9は本発明のいくつかの実施形態においてメモリコントローラ804によって実施されるタイミングを示すタイミング図を与える。
【0077】
図6は、DRAM207が始めに書き込まれかつ次に読み出され、そして制御レジスタ810のDCTRにおけるDAEMフィールドが肯定されて提供されるアドレス値がドライブされるべきことを示す、本発明の第1の実施形態を示している。図6においては、Clk(クロック)信号が提供されている。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図6に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスをデータプロセッサ3に提供する。このタイミング例の第1の部分においては、前記R/*W信号はデータプロセッサ3があるデータ値をDRAM207に書き込んでいることを示すために否定される。
【0078】
外部バスマスタ205がアドレス値を転送してから1タイミングサイクル後に、外部バスマスタ205は前記TS信号を否定し、アドレスをトライステート化し、かつ書き込まれるべきデータをドライブする。
【0079】
TS信号が否定されてから1タイミングサイクル後に、システムバスコントローラ8の一部のデコードおよびアドレス発生回路808は外部バスマスタ205によって前にドライブされたアドレスをDRAM207におけるメモリロケーションをアクセスするために必要なローアドレスとして出力する。デコードおよびアドレス発生回路808が該アドレスをDRAM207に提供したとき、メモリコントローラ804はまたDRAMW信号を肯定して書込み動作が実行されていることを示す。2分の1タイミングサイクル後に、メモリコントローラ808はRAS信号を肯定してDRAM207にそこに提供されているアドレスがローアドレスであることを示す。
【0080】
前記アドレスが1タイミングサイクルの間提供された後に、デコードおよびアドレス発生回路808は新しいアドレス値を提供し、その一部はローアドレスをDRAM207に提供した同じ集積回路ピンを介してDRAM207に提供されるコラムアドレスである。2分の1タイミングサイクル後に、デコードおよびアドレス発生回路808が新しいアドレス値を提供した後に、メモリコントローラ804はCASバスを肯定してDRAM207にそこに提供されているアドレスがコラムアドレスであることを示す。
【0081】
2分の1タイミングサイクル後に、メモリコントローラ804は外部バスマスタ205へのTA信号を肯定してバスアクセスの終りを示す。
【0082】
TA信号が肯定されてから1タイミングサイクル後に、メモリコントローラ805はRAS信号、CASバス、およびTA信号を否定する。さらに、DRAM207に提供されるアドレスおよびデータ値がトライステート化される。
【0083】
その後、DRAMの読出し動作が実行されかつそのタイミングは図6に示されている。図6に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にデータプロセッサ3にアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、R/*W信号はデータプロセッサ3がDRAM207からデータ値を読み出していることを示すために肯定されることに注意を要する。
【0084】
外部バスマスタ205が前記アドレス値を転送してから1タイミングサイクル後に、前記TS信号が否定されかつアドレスバスが外部バスマスタ205によってトライステート化される。
【0085】
TS信号が否定されてから1タイミングサイクル後に、システムバスコントローラ8の一部のデコードおよびアドレス発生回路808は外部バスマスタ205によって前にドライブされたアドレス値をDRAM207のメモリロケーションにアクセスするのに必要なローアドレスとして出力する。デコードおよびアドレス発生回路808がアドレスをDRAM207に提供したとき、メモリコントローラ804は読出し動作が実行されていることを示すためにDRAMW信号を否定する。
【0086】
デコードおよびアドレス発生回路808が前記アドレスを提供してから2分の1タイミングサイクル後に、メモリコントローラ804はRAS信号を肯定してDRAM207に対しそこに提供されているアドレスがローアドレスであることを示す。
【0087】
1タイミングサイクルの間アドレスが提供された後に、デコードおよびアドレス発生回路808は、その一部がコラムアドレスである、新しいアドレス値をローアドレスをDRAM207に提供した同じ集積回路ピンを介してDRAM207に提供する。
【0088】
デコードおよびアドレス発生回路808が新しいアドレスを提供してから2分の1タイミングサイクル後に、メモリコントローラ804はCASバスを肯定してDRAM207に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【0089】
2分の1タイミングサイクル後に、メモリコントローラ804はTA信号を肯定してバスアクセスの終りを示す。TA信号が最初に否定されたとき、DRAM207によってEバスを介して提供されるデータは有効でありかつ外部バスマスタ205によってエラーなしに使用することができる。
【0090】
TA信号が1クロックサイクル後に肯定されたとき、RAS信号、CASバス、およびTA信号が否定される。さらに、メモリコントローラ804によって提供されるアドレス、およびDRAM207によって提供されるデータがトライステート化される。
【0091】
図7は、本発明の第2の実施形態を示し、この場合はDRAM207が始めに書き込まれかつ次に読み出され、そして制御レジスタ810のDCTRにおけるDAEMフィールドが提供されるアドレス値がドライブされるべきことを示すために肯定される。図7において、Clk(クロック)信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図7に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にデータプロセッサ3にアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、前記R/*W信号はデータプロセッサ3があるデータ値をDRAM207に書き込んでいることを示すために否定されることに注目すべきである。
【0092】
外部バスマスタ205が前記アドレス値を転送してから1タイミングサイクル後に、外部バスマスタ205はTS信号を否定し、アドレスをトライステート化し、かつ書き込まれるべきデータをドライブする。
【0093】
TS信号が否定されてから1タイミングサイクル後に、システムバスコントローラ8の一部のデコードおよびアドレス発生回路808は外部バスマスタ205によって前にドライブされたアドレスをDRAM207におけるメモリロケーションをアクセスするのに必要なローアドレスとして出力する。デコードおよびアドレス発生回路808がアドレスをDRAM207に提供したとき、メモリコントローラ804はまたDRAMW信号を肯定して書込み動作が実行されていることを示す。2分の1タイミングサイクル後に、メモリコントローラ804はRAS信号を肯定してDRAM207にそこに提供されているアドレスがローアドレスであることを示す。
【0094】
アドレスが1タイミングサイクルの間提供された後、デコードおよびアドレス発生回路808は、その一部がDRAM207へのコラムアドレスである、新しいアドレス値をDRAM207にローアドレスを提供した同じ集積回路ピンを介して提供する。2分の1タイミングサイクル遅れて、デコードおよびアドレス発生回路808が新しいアドレス値を提供した後、メモリコントローラ804はCASバスを肯定してDRAM207に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【0095】
2分の1タイミングサイクル遅れて、メモリコントローラ804は外部バスマスタ205へのTA信号を肯定しバスアクセスの終りを示す。
【0096】
TA信号が肯定されてから1タイミングサイクル後に、メモリコントローラ804はCASバスおよびTA信号を否定する。さらに、DRAM207に提供されるアドレスおよびデータ値がトライステート化される。ページの引き続くアドレスがアクセスされる間にRAS信号は肯定された状態に留まっていることに注意を要する。RAS信号は、
(1)現在のDRAMバンクに対するアドレスが同じページまたはローになくなるか、
(2)他のDRAMバンクへのアクセスが発生するか、あるいは
(3)リフレッシュ動作が行われるか、
するまで肯定された状態に留まっている。
【0097】
その後、DRAM読出し動作が実行されかつそのタイミングは図7に示されている。図7に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にデータプロセッサ3に対しアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、前記R/*W信号はデータプロセッサがDRAM207からデータ値を読み出していることを示すために肯定されることに注意を要する。
【0098】
外部バスマスタ205が前記アドレス値を転送してから1タイミングサイクル後に、TS信号が否定されかつアドレスバスが外部バスコントローラ205によってトライステート化される。
【0099】
TS信号が否定されてから1タイミングサイクル後に、デコードおよびアドレス発生回路808は、その一部がコラムアドレスである、新しいアドレス値をローアドレスをDRAM207に提供した同じ集積回路ピンを介してDRAM207に提供する。
【0100】
デコードおよびアドレス発生回路808が新しいアドレスを提供してから2分の1タイミングサイクル後に、メモリコントローラ804はCASバスを肯定してDRAM207に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【0101】
2分の1タイミングサイクル遅れて、メモリコントローラ804はTA信号を肯定してバスアクセスの終りを示す。TA信号が最初に否定されたとき、Eバスを介してDRAM207によって提供されるデータは有効でありかつ外部バスマスタ205によってエラーなしに使用できる。1クロックサイクル後にTA信号が肯定されたとき、CASバスおよびTA信号は否定される。さらに、メモリコントローラ804によって提供される、アドレスおよびDRAM207によって提供されるデータはトライステート化される。
【0102】
図8は、本発明の第3の実施形態を示し、この場合はDRAM207が最初に書き込まれかつ次に読み出され、そして制御レジスタ810のDCTRにおけるDAEMフィールドが肯定されて提供されるアドレス値がドライブされるべきことを示す。図8において、Clk(クロック)信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図8に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にデータプロセッサ3にアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、R/*W信号はデータプロセッサ3があるデータ値をDRAM207に書き込んでいることを示すために否定されることに注目すべきである。
【0103】
外部バスマスタ205がアドレス値を転送した1タイミングサイクル後に、外部バスマスタ205はTS信号を否定し、アドレスをトライステート化し、かつ書き込まれるべきデータをドライブする。TS信号が否定されたとき、システムバスコントローラ8の一部のデコードおよびアドレス発生回路808は外部バスマスタ205によってドライブされるアドレスをDRAM207のメモリロケーションにアクセスするのに必要なローアドレスとして強化する。デコードおよびアドレス発生回路808がアドレスをDRAM207に提供したとき、メモリコントローラ804はまたDRAMW信号を肯定して書込み動作が実行されていることを示す。2分の1タイミングサイクル遅れて、メモリコントローラ804はRAS信号を肯定してDRAM207にそこに提供されているアドレスがローアドレスであることを示す。
【0104】
アドレスが1タイミングサイクル提供された後に、デコードおよびアドレス発生回路808は、その一部がコラムアドレスである、新しいアドレス値をDRAM207にローアドレスを提供した同じ集積回路ピンを介してDRAM207に提供する。2分の1タイミングサイクル遅れて、デコードおよびアドレス発生回路808が新しいアドレス値を提供した後に、メモリコントローラ804はCASバスを肯定してDRAM207にそこに提供されているアドレスがコラムアドレスであることを示す。
【0105】
2分の1タイミングサイクル遅れて、メモリコントローラ804は外部バスマスタ205へのTA信号を肯定してバスアクセスの終りを示す。
【0106】
TA信号が肯定されて1タイミングサイクル後に、メモリコントローラ805はRAS信号、CASバス、およびTA信号を否定する。さらに、DRAM207に提供されるアドレスおよびデータ値がトライステート化される。
【0107】
その後、DRAM読出し動作が実行されかつそのタイミングは図8に示されている。図8に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にデータプロセッサ3に対しアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、前記R/*W信号は肯定されてデータプロセッサ3があるデータ値をDRAM207から読み取っていることを示す。
【0108】
外部バスマスタ205がアドレス値を転送して1タイミングサイクル後に、前記TS信号およびアドレスバスが否定される。TS信号が否定されたとき、システムバスコントローラ8の一部のデコードおよびアドレス発生回路808は外部バスマスタ205によってドライブされるアドレス値をDRAM207におけるメモリロケーションにアクセスするのに必要なローアドレスとして補強または強化する。デコードおよびアドレス発生回路808がDRAM207にアドレスを提供したとき、メモリコントローラ804はDRAMW信号を否定して読出し動作が実行されていることを示す。
【0109】
デコードおよびアドレス発生回路808がアドレスを提供した2分の1タイミングサイクル後に、メモリコントローラ804はRAS信号を肯定してDRAM207に対しそこに提供されているアドレスがローアドレスであることを示す。
【0110】
アドレスが1タイミングサイクルの間提供された後、デコードおよびアドレス発生回路808は、その一部がコラムアドレスである、新しいアドレス値をDRAM207にローアドレスを提供した同じ集積回路ピンを介してDRAM207に提供する。
【0111】
デコードおよびアドレス発生回路808が新しいアドレスを提供して2分の1タイミングサイクル後に、メモリコントローラ804はCASバスを肯定しDRAM207に対してそこに提供されているアドレスがコラムアドレスであることを示す。
【0112】
2分の1タイミングサイクル遅れて、メモリコントローラ804はTA信号を肯定しバスアクセスの終りを示す。TA信号が始めに否定されたとき、Eバスを介してDRAM207によって提供されるデータは有効でありかつ外部バスマスタ205によってエラーなしに使用できる。TA信号が1クロックサイクル後に肯定されたとき、RAS信号、CASバスおよびTA信号が否定される。さらに、メモリコントローラ804によって提供されるアドレスおよびDRAM207によって提供されるデータがトライステート化される。
【0113】
図9は制御レジスタ810におけるDCTRのDAEMフィールドが肯定されない場合を示す。DAEMフィールドが肯定されない場合、データ処理システム202の設計者は従来技術のシステムにおいて要求されたようなマルチプレクサを実施することを要求される。設計者が外部マルチプレクサを実施するか否かを選択できるようにすることにより、本発明はより大きな柔軟性を与える。
【0114】
図9は本発明の第4の実施形態を示し、この場合はDRAM207が始めに書き込まれかつ次に読み出され、そして制御レジスタ810のDCTRにおけるDAEMフィールドが否定されてアドレスがデコードおよびアドレス発生回路808によってドライブされるべきでないことを示す。図9において、Clk(クロック)信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図9に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にデータプロセッサ3に対しアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、R/*W信号は否定されてデータプロセッサ3があるデータ値をDRAM207に書き込んでいることを示すことに注意を要する。
【0115】
外部バスマスタ205がアドレス値を転送して1タイミングサイクル後に、外部バスマスタ205はTS信号を否定しかつ書き込まれるべきデータをドライブする。2分の1タイミングサイクル遅れて、メモリコントローラ804はRAS信号を肯定しDRAM207に対しそこに提供されているアドレスがローアドレスであることを示す。
【0116】
1タイミングサイクル遅れて、メモリコントローラ804はCASバスを肯定しDRAM207に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【0117】
2分の1タイミングサイクル遅れて、メモリコントローラ804は外部バスマスタ205へのTA信号を肯定しバスアクセスの終りを示す。
【0118】
TA信号が肯定されて1タイミングサイクル後に、メモリコントローラ805はRAS信号、CASバス、およびTA信号を否定する。さらに、DRAM207に提供されるアドレスおよびデータ値がトライステート化される。
【0119】
その後、DRAM読出し動作が実行されかつそのタイミングが図9に示されている。図9に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にデータプロセッサ3に対しアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、前記R/*W信号は肯定されてデータプロセッサ3があるデータ値をDRAM207から読み出していることを示すことに注目すべきである。
【0120】
外部バスマスタ205がアドレス値を転送して1タイミングサイクル後に、TS信号が否定される。
【0121】
2分の1タイミングサイクル後に、メモリコントローラ804はRAS信号を肯定しDRAM207にそこに提供されているアドレスがローアドレスであることを示す。
【0122】
1タイミングサイクル遅れて、メモリコントローラ804はCASバスを肯定しDRAM207に対しそこに提供されているアドレスがコラムアドレスであることを示す。
【0123】
2分の1タイミングサイクル遅れて、メモリコントローラ804はTA信号を肯定してバスアクセスの終りを示す。TA信号が最初に否定されたとき、Eバスを介してDRAM207によって提供されるデータは有効でありかつ外部バスマスタ205によってエラーなしに使用できる。1クロックサイクル後にTA信号が肯定されたとき、RAS信号、CASバス、およびTA信号が否定される。さらに、DRAM207によって提供されるデータがトライステート化される。
【0124】
図6〜図9のおのおのにおいて、コラムアドレスはCASバスが肯定されたときにDRAM207に提供される。本発明の動作から生じるアドレス値の例が図14〜図16に示されている。これらの図面のおのおのは本発明において開示された回路および方法の動作の間にアクセスされるDRAMにおいて異なるポートサイズが実施される場合に必要な多重化(multiplexing)を示している。
【0125】
ブロック図、フローチャート、およびタイミング図によって外部バスマスタによるDRAMのアクセスの実行についての前の説明から、データプロセッサ、外部メモリ、および外部マスタの間で情報を通信するための装置および方法が説明された。本発明のこの部分の要約として、DRAM回路のアクセスの間に多重化機能を行うために外部回路が必要とされないようにデータ処理システムにおける外部メモリを制御するための回路および動作が提供されている。さらに、データプロセッサ3における内部多重化の使用およびCASバスの使用により、本発明は外部マスタ装置によるダイナミックランダムアクセスメモリ(DRAM)のアクセスのためのデータプロセッサにおける専用の集積回路ピンおよび外部マルチプレクサの必要性を除去する。本発明はDRAM回路にアクセスするのに必要な多重化機能を図1に示される従来技術のデータ処理システムによって必要とされるような専用の集積回路ピンを必要とすることなく実施できるようにする。本発明のデータプロセッサの増大した柔軟性および集積回路ピンの要求の低減はより低いシステムコストを有しかつ半導体市場の最近の進歩を活用するために容易に更新できるデータ処理システムを生じさせる。
【0126】
<外部マスタによるチップ選択可能なアクセス>
図5に戻って、本発明の別の観点につきより詳細に説明する。もしCS_ヒット信号が肯定されて、メモリ206のような、チップ選択可能な装置内のあるロケーションがアクセスされることを示せば、メモリコントローラ804は次に制御レジスタ810のCSCRレジスタ(図12(c)に示されている)におけるEMAA(外部マスタ自動アクノレッジ:External Master Automatic Acknowledge)フィールドが、外部ユーザによって、他のメモリ装置への外部バスマスタ205によって開始されたアクセス動作の間に転送アクノレッジの出力および肯定を制御するためにプログラムされているか否かを判定する。もしEMAAフィールドが肯定されていれば(本発明のこの実施形態では論理“1”)、メモリコントローラ804は図12(c)のCSCRレジスタにおいてプログラムされた待機状態の値(WS[3:0])によって決定される時間の長さの間転送アクノレッジ(TA)信号を否定し、かつ次に1クロックサイクルの間TA信号を肯定する。CSCRのような、チップ選択レジスタはあるアドレス空間に対応する。チップ選択レジスタの実施および使用はデータ処理技術においてよく知られておりかつこれ以上詳細には説明しない。
【0127】
前記EMAAフィールドが肯定された場合、メモリコントローラ804はCS(チップ選択)信号、WE(書込みイネーブル)バス、およびTA(転送アクノレッジ)信号をメモリ206のための制御を与えるために提供する。これらの信号を使用することにより、データプロセッサ3は外部バスマスタ205のためのメモリ206の制御を効果的に提供している。逆に、前記EMAAフィールドが否定された場合には、メモリコントローラ804はCS(チップ選択)信号およびWE(書込みイネーブル)バスのみを提供する。メモリ206のための制御を提供するためにTA(転送アクノレッジ)信号を提供するよりはむしろ、メモリコントローラ804は外部バスマスタ205または他の外部回路(ここでは図示されていない)によって外部的に提供されるTA信号をサンプルする。
【0128】
図10、図11、図17および図18は、本発明のいくつかの実施形態においてメモリコントローラ804によって実施されるタイミングを示すタイミング図を与えている。
【0129】
図10は、本発明の第1の実施形態を示し、この場合メモリ206は最初に書き込まれかつ次に読み出され、そして制御レジスタ810のCSCRにおけるEMAAフィールドが肯定されてメモリコントローラ804が転送アクノレッジ(TA)信号を提供すべきことを示す。図10において、Clk(クロック)信号が提供されている。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細に説明しない。図10に示されるように、外部バスマスタ205は最初のタイミングサイクルの間にデータプロセッサ3に対しアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、前記R/*W信号は否定されて外部マスタ205があるデータ値をメモリ206に書き込んでいることを示すことに注目すべきである。次のタイミングサイクルの間に、前記TS信号は否定されかつ外部バスマスタ205はメモリ206に書き込まれるべきデータをドライブし始める。これらのタイミングサイクルの間に、前記転送アクノレッジ(TA)信号はトライステート化された状態に留まっている。
【0130】
TS信号が否定されて1タイミングサイクル後に、システムバスコントローラ8の一部のメモリコントローラ804はチップ選択(CS)信号を肯定してメモリ206、または任意の他の選択された装置、が外部バスマスタ205によってアクセスされたことを示す。さらに、メモリコントローラ804は同じタイミングサイクルの間に転送アクノレッジ(TA)信号を否定する。
【0131】
次のタイミングサイクルの間に、メモリコントローラ804は書込みイネーブル(WE)バスを肯定してアドレスバスを介して転送されるアドレスロケーションメモリ206が外部バスマスタ205によって提供されるデータによって書き込まれるようイネーブルする。さらに、メモリコントローラ804はこの次のタイミングサイクルの間に転送アクノレッジ(TA)信号を肯定する。
【0132】
その後のタイミングサイクルにおいて、TA信号は再び否定され、一方CS信号およびWEバスは否定されかつデータ値はトライステート化される。
【0133】
その後、メモリ読出し動作が実行されかつそのタイミングは図10に示されている。図10に示されるように、外部バスマスタ205は最初のタイミングサイクルの間にデータプロセッサ3に対して他のアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分において、前記R/*W信号が肯定されて外部バスマスタ205がメモリ206からあるデータ値を読み出していることを示すことに注意を要する。これらのタイミングサイクルの間に、メモリコントローラ804によって出力される転送アクノレッジ(TA)信号はトライステート化された状態に留まっている。
【0134】
TS信号が否定されて1タイミングサイクル後に、システムバスコントローラ8の部分のメモリコントローラ804はチップ選択(CS)信号を肯定してメモリ206、または任意の他の選択された装置、が外部バスマスタ205によってアクセスされていることを示す。さらに、メモリコントローラ804は同じタイミングサイクルの間に転送アクノレッジ(TA)信号を肯定する。その時点で、メモリ206は有効なデータ値を外部バスマスタ205に提供する。
【0135】
次のタイミングサイクルの間に、メモリコントローラ804は転送アクノレッジ(TA)信号およびCS信号を否定する。この次のタイミングサイクルの間に、メモリ206は外部バスマスタ205によってそこから読み出されたデータ値を転送するために前に使用された集積回路ピンをトライステート化する。
【0136】
その後のまたは引き続くタイミングサイクルにおいて、メモリコントローラ804から出力されるTA信号は再びトライステート化される。
【0137】
図17は本発明の第2の実施形態を示し、この場合はメモリ206は最初に書き込まれかつ次に読み出され、そして制御レジスタ810のCSCRにおけるEMAAフィールドが否定されてメモリコントローラ804が転送アクノレッジ(TA)信号を提供すべきでないことを示す。この場合、メモリコントローラ804から出力されるTAはトライステート化されかつTA信号は外部バスマスタ205または他の外部回路(ここでは図示されていない)によって外部的に提供されなければならない。
【0138】
図17において、Clk(クロック)信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図17に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にデータプロセッサ3に対しアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、前記R/*W信号は外部マスタ205があるデータ値をメモリ206に書き込んでいることを示すために否定されることに注意を要する。次のタイミングサイクルの間に、TS信号は否定されかつ外部バスマスタ205はメモリ206に書き込まれるべきデータをドライブし始める。この全タイミングシーケンスの間にメモリコントローラ804から出力される転送アクノレッジ(TA)信号はトライステート化された状態に留まっている。
【0139】
TS信号が否定されてから1タイミングサイクル後に、システムバスコントローラ8の部分のメモリコントローラ8はチップ選択(CS)信号を肯定してメモリ206、または任意の他の選択された装置、が外部バスマスタ205によってアクセスされたことを示す。これらのタイミングサイクルの間に、外部バス205または他の外部回路(ここでは図示されていない)から出力されるTA信号は否定された状態に留まっている。
【0140】
次のタイミングサイクルの間に、メモリコントローラ804は書込みイネーブル(WE)バスを肯定して外部バスマスタ205によって提供されるデータにより書き込まれるべきアドレスバスを介して転送されるアドレスロケーションメモリ206をイネーブルする。さらに、外部バスマスタ205または他の外部回路(ここでは図示されていない)はこの次のタイミングサイクルの間に転送アクノレッジ(TA)信号を肯定する。
【0141】
その後のタイミングサイクルにおいて、TA信号は再び否定され、一方前記CS信号およびWEバスは否定されかつデータ値はトライステート化される。TA信号は外部バスマスタ205または他の外部回路によって要求される数の待機状態の後に肯定される。TA信号を肯定している外部バスマスタ205または他の外部回路はCS信号およびWEバスの肯定を、制御レジスタ810のCSCRのWS[3:0]ビットによって指示される待機状態の数にかかわりなく、任意の数のサイクルまで延長することができることに注目すべきである。
【0142】
その後、メモリ読出し動作が実行されかつそのタイミングが図17に示されている。図17に示されるように、外部バスマスタ205は第1のタイミングサイクルの間にデータプロセッサ3に対して他のアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分においては、前記R/*W信号は肯定されて外部バスマスタ205がメモリ206からあるデータ値を読み出していることを示すことに注意を要する。これらのタイミングサイクルの間に、メモリコントローラ804から出力される前記転送アクノレッジ(TA)信号はトライステート化された状態に留まっている。
【0143】
TS信号が否定されてから1タイミングサイクル後に、システムバスコントローラ8の一部のメモリコントローラ804はチップ選択(CS)信号を肯定してメモリ206、または任意の他の選択された装置、が外部バスマスタ205によってアクセスされていることを示す。これらのタイミングサイクルの間に、外部バスマスタ205または他の外部回路から出力されるTA信号は否定された状態に留まっている。
【0144】
次のタイミングサイクルの間に、メモリ206は有効なデータ値を外部バスマスタ205に提供する。外部バスマスタ205または他の外部回路はTA信号を肯定してバスサイクルの終りを示す。
【0145】
その後のタイミングサイクルにおいて、前記TA信号は再び否定され、一方前記CS信号は否定されかつデータ値はトライステート化される。TA信号は外部バスマスタ205によって必要とされかつ外部バスマスタ205または他の外部回路によって決定される数の待機状態の後に肯定される。外部バスマスタ205またはTA信号を肯定している他の外部回路は、制御レジスタ810のCSCRのWS[3:0]ビットによって示される数の待機状態にかかわりなく、CS信号の肯定を任意の数のサイクルまで延長できることに注意を要する。
【0146】
図11は、本発明の第3の実施形態を示し、この場合はメモリ206は始めに書き込まれかつ次に読み出され、そして制御レジスタ810のCSCRにおけるEMAAフィールドは肯定されてメモリコントローラ804が転送アクノレッジ(TA)信号を提供すべきことを示す。図11において、Clk(クロック)信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上詳細には説明しない。図11に示されるように、外部バスマスタ205は最初のタイミングサイクルの間にデータプロセッサ3に対しアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分において、R/*W信号は否定されて外部バスマスタ205があるデータ値をメモリ206に書き込んでいることを示すことに注意を要する。次のタイミングサイクルの間に、TS信号は否定されかつ外部バスマスタ205はメモリ206に書き込まれるべきデータ値の有効なサイズ値をドライブし始める。これらのタイミングサイクルの間に、転送アクノレッジ(TA)信号はトライステート化された(tri−stated)状態に留まっている。
【0147】
TS信号が否定されて後の次のタイミングサイクルにおいて、システムバスコントローラ8の部分のメモリコントローラ804はチップ選択(CS)信号を肯定してメモリ206、または任意の他の選択された装置、が外部バスマスタ205によってアクセスされたことを示す。さらに、メモリコントローラ804は同じタイミングサイクルの間に転送アクノレッジ(TA)信号を否定する。同時に、外部バスマスタ205はメモリ206に書き込まれるべきデータを提供する。
【0148】
次のタイミングサイクルの間に、メモリコントローラ804は書込みイネーブル(WE)バスを肯定して外部バスマスタ205によって提供されるデータによって書き込まれるべきアドレスバスを介して転送されるアドレスロケーションメモリ206をイネーブルする。さらに、メモリコントローラ804はこの次のタイミングサイクルの間に転送アクノレッジ(TA)信号を肯定する。
【0149】
その後のタイミングサイクルにおいて、TA信号は再び否定され、一方CS信号およびWEバスは否定されかつデータ値はトライステート化される。
【0150】
その後、メモリ読出し動作が実行されかつそのタイミングは図11に示されている。図11に示されるように、外部バスマスタ205は最初のまたは第1のタイミングサイクルの間にデータプロセッサ3に対し他のアドレス値、転送開始(TS)信号、R/*W信号、および他の「サイズ」バスを提供する。このタイミング例の第1の部分においては、R/*W信号は肯定されてデータプロセッサ3がメモリ206からあるデータ値を読み出していることを示すことに注意を要する。これらのタイミングサイクルの間に、前記転送アクノレッジ(TA)信号はトライステート化された状態に留まっている。
【0151】
TS信号が否定された同じタイミングサイクルにおいて、システムバスコントローラ8の一部のメモリコントローラ804はチップ選択(CS)信号を肯定してメモリ206、または任意の他の選択された装置、が外部バスマスタ205によってアクセスされたことを示す。さらに、メモリコントローラ804は同じタイミングサイクルの間に転送アクノレッジ(TA)信号を肯定する。その時点で、メモリ206はシステムバスコントローラ8の前記部分のデータバス802に対して有効なデータ値を提供する。
【0152】
次のタイミングサイクルの間に、メモリコントローラ804は転送アクノレッジ(TA)信号およびCS信号を否定する。この次のタイミングサイクルの間に、メモリ206は前に外部バスマスタ205によってそこから読み出されたデータ値を転送するために使用された集積回路ピンをトライステート化する。
【0153】
その後のタイミングサイクルにおいて、TA信号は再びトライステート化される。
【0154】
図18は本発明の第4の実施形態を示し、この場合はメモリ206は始めに書き込まれかつ次に読み出され、そして制御レジスタ810のCSCRにおけるEMAAフィールドが否定されてメモリコントローラ804が転送アクノレッジ(TA)信号を提供すべきでないことを示す。この場合、メモリコントローラ804から出力されるTA信号はトライステート化されかつTA信号は外部バスマスタ205または他の外部回路(ここでは図示されていない)によって外部的に提供されなければならない。
【0155】
図18においては、Clk(クロック)信号が提供される。データ処理システムにおけるクロック信号の発生、使用、およびルーティングは技術的によく知られておりかつこれ以上は説明しない。図18に示されるように、外部バスマスタ205は最初のタイミングサイクルの間にデータプロセッサ3に対しアドレス値、転送開始(TS)信号、R/*W信号、および「サイズ」バスを提供する。このタイミング例の第1の部分において、前記R/*W信号は否定されて外部バスマスタ205があるデータ値をメモリ206に書き込んでいることを示すことに注目すべきである。次のタイミングサイクルの間に、TS信号は否定されかつ外部バスマスタ205はメモリ206に書き込まれるべきデータをドライブし始める。この全タイミングシーケンスの間、メモリコントローラ804によって出力される転送アクノレッジ(TA)信号はトライステート化された状態に留まっている。
【0156】
TS信号が否定された後の次のタイミングサイクルにおいて、システムバスコントローラ8の一部のメモリコントローラ804はチップ選択(CS)信号を肯定してメモリ206、または任意の他の選択された装置、が外部バスマスタ205によってアクセスされたことを示す。これらのタイミングサイクルの間に、外部バスマスタ205または他の外部回路(ここでは図示されていない)から出力されるTA信号は否定された状態に留まっている。
【0157】
次のタイミングサイクルの間に、メモリコントローラ804は書込みイネーブル(WE)バスを肯定してアドレスバスを介して転送されるアドレスロケーションメモリ206が外部バスマスタ205によって提供されるデータによって書き込まれるようイネーブルする。さらに、外部バスマスタ205または他の外部回路(ここでは図示されていない)はこの次のタイミングサイクルの間にTA信号を肯定してバスサイクルの終りを示す。
【0158】
その後のタイミングサイクルにおいて、TA信号は再び否定され、一方CS信号およびWEバスは否定されかつデータ値はトライステート化される。TA信号は外部バスマスタ205によって要求されかつ外部バスマスタまたは他の外部回路によって決定される数の待機状態の後に肯定される。TA信号を肯定している外部バスマスタ205または他の回路は、制御レジスタ810のCSCRのWS[3:0]ビットによって指示される待機状態の数にかかわりなく、CS信号およびWEバスの肯定を任意の数のタイミングサイクルまで延長することができることに注意を要する。
【0159】
その後、メモリ読み出し動作が実行されかつそのタイミングは図18に示されている。図18に示されるように、外部バスマスタ205は最初のタイミングサイクルの間にデータプロセッサ3に対し他のアドレス値、転送開始(TS)信号、R/*W信号、および他の「サイズ」バスを提供する。このタイミング例の第1の部分においては、R/*W信号はデータプロセッサ3がメモリ206からあるデータ値を読み出していることを示すために肯定されることに注意を要する。これらのタイミングサイクルの間に、メモリコントローラ804によって出力される転送アクノレッジ(TA)信号はトライステート化された状態に留まっている。
【0160】
TS信号が否定された後の次のタイミングサイクルの間に、システムバスコントローラ8の部分のメモリコントローラ804はチップ選択(CS)信号を肯定してメモリ206、または任意の他の選択された装置、が外部バスマスタ205によってアクセスされたことを示す。これらのタイミングサイクルの間、外部バスマスタ205または他の外部回路から出力されるTA信号は否定された状態に留まっている。
【0161】
次のタイミングサイクルの間に、メモリ206は有効なデータ値を外部バスマスタ205に提供する。外部バスマスタ205または他の外部回路はTA信号を肯定してバスサイクルの終りを示す。
【0162】
その後のタイミングサイクルにおいて、TA信号は再び否定され、一方CS信号は否定されかつデータ値はトライステート化される。TA信号は外部バスマスタ205によって要求されかつ外部バスマスタ205または他の外部回路によって決定される待機状態の数の後に肯定される。外部バスマスタ205またはTA信号を肯定している他の外部回路は、制御レジスタ810のCSCRのWS[3:0]ビットによって指示される数の待機状態にかかわりなく、CS信号の肯定を任意の数のサイクルまで延長できることに注意を要する。
【0163】
ここに与えられたブロック図、流れ図、およびタイミング図から、本発明は外部バスマスタ205がデータプロセッサ3のメモリコントローラ804によって発生される内部チップ選択を使用する場合に転送アクノレッジ信号の外部的な発生を提供する必要性を除去することがわかる。ユーザはデータプロセッサ3を、アドレスおよび属性が記憶された後に、外部マスタのチップ選択アクセスが内部マスタのアクセスと同じにできるようにプログラムすることができる。さらに、ユーザは内部転送アクノレッジ論理をターンオフしかつ内部チップ選択および書込みイネーブル発生論理を依然として使用しながら外部転送アクノレッジ論理を加えることができる。この特徴はチップ選択のベースでユーザによってプログラム可能である。本発明のこの観点によって与えられる柔軟性はユーザが外部チップ選択および書込みイネーブル発生論理を要求することなく外部マスタのアクセスの異なるタイミングを補償できるようにする。したがって、本発明のこの実施形態においてはオーバヘッドが節約されかつ効率が増大する。
【0164】
また、本発明の回路および方法は外部メモリ制御回路を加えることなく外部バスマスタ205が内部マスタ(データプロセッサ3)と異なる数の待機状態を使用してチップ選択可能なメモリにアクセスできるようにする。外部バスマスタ205がデータプロセッサ3、内部マスタ、の内部のチップ選択回路を使用し、かつ内部マスタと異なる数の待機状態を使用してメモリ206にアクセスできるようにするため、本発明はレジスタビットが内部チップ選択回路が外部アクセスに際して転送アクノレッジ信号を肯定しないようにプログラムできるようにする。したがって、外部アクセスの間に、データプロセッサ3のチップ選択論理は内部的に発生されたチップ選択信号および書込みイネーブルバスを否定する前に外部的に発生された転送アクノレッジ信号を待機することになる。本発明のこの観点は待機状態の数が内部および外部マスタの間で異なる場合に必要とされる外部論理の量を低減する。
【0165】
〈外部メモリの内部アクセス〉
再び図5を参照すると、もし*int_ext_マスタ(*int_ext_master)信号が否定されれば、デコードおよびアドレス発生ブロック808は外部マスタが外部メモリをアクセスしていないことを判定しかつデータプロセッサ3がMTS(マスタ転送開始)信号の使用により外部メモリをアクセスしようと試みているか否かを評価する。もしMTS信号が肯定されれば、データプロセッサ3は外部メモリの内部マスタアクセスを試みている。
【0166】
もしMTS信号が肯定されていれば、デコードおよびアドレス発生回路808はマスタアドレス(MADDR)値、MR/*W信号、およびMサイズ(MSize)バスをデコードしてデータ処理システム202におけるどの装置がアクセスされているかを決定する。デコードおよびアドレス発生回路808は次にDRAM_ヒット(DRAM_hit)信号を肯定してそこに提供されるアドレスがDRAM207内のメモリロケーションをアクセスすることを示す。同様に、デコードおよびアドレス発生回路808はCS_ヒット(CS_hit)信号を肯定してそこに提供されるアドレスがメモリ206のような他の外部装置をアクセスすることを示す。メモリ206のみが本発明のこの実施形態において示されているが、メモリ206に代えてまたはメモリ206に加えて他のチップ選択可能な装置も実施できることを理解すべきである。他のチップ選択可能な装置が実施されれば、CS_ヒット信号はデコードおよびアドレス発生回路808に提供されるアドレスはこれらの装置の内の1つをアクセスすることを示すことになる。さらに、メモリ206は、SRAM、ROM、EEPROM、フラッシュまたはシリアルインタフェースまたはタイマのようなチップ選択可能な周辺装置などの、任意の形式の外部メモリとして実施できることに注目すべきである。
【0167】
もし前記DRAM_ヒット信号が肯定されてDRAM207内のメモリロケーションがアクセスされていることを示せば、メモリコントローラ804は次にデコードおよびアドレス発生回路808がTS、R/*W、サイズ、およびアドレス値をEバスにドライブするようイネーブルする。メモリコントローラ804はまたバス調停回路をイネーブルしてバス要求(BR)信号およびバス駆動(Bus Driven:BD)信号をEバスを介して外部メモリにドライブする。さらに、メモリコントローラ804はEバスを介して外部メモリにRAS、CASおよびDRAMW信号を提供する。データバス802はまたR/*W信号が否定されたときにデータをドライブしかつこの動作モードの間にR/*Wが肯定された場合にデータをサンプルする。メモリコントローラ804はその後TA信号をドライブしてバスサイクルの終りを示す。
【0168】
もしDRAM_ヒット信号が否定されてDRAM207内のメモリロケーションがアクセスされていることを示せば、メモリコントローラ804は次にデコードおよびアドレス発生回路808をイネーブルしてTS、R/*W、サイズ、およびアドレス値をEバスを介して外部メモリにドライブする。さらに、メモリコントローラ804はCS信号およびWEバスをEバスを介して外部メモリに提供する。データバス802はまたR/*W信号が否定されたときにデータをドライブしかつこの動作モードの間にR/*Wが肯定されたときにデータをサンプルする。もしAAが肯定されれば、メモリコントローラ804は前記数の待機状態の後にあるいは外部TA信号が肯定されればTA信号を肯定する。TA信号が外部装置によって肯定されてバスサイクルの終りを示せば、メモリコントローラ804はマスタ転送アクノレッジ(MTA)信号を肯定する。データバス802はまた読出し動作が実行された場合にMバス23を介してデータプロセッサ3の他の部分にデータをドライブする。
【0169】
【発明の効果】
本発明はデータプロセッサ、外部メモリ、および外部マスタの間で情報を通信するための独自のかつ有用な装置および方法を提供する。本発明の装置および方法はデータプロセッサが外部マスタによるアクセスの間に適切に外部メモリを制御できるようにするため、より少ない外部インタフェース回路を必要とするのみでありかつデータ処理システムに関連するオーバヘッドコストが低減される。
【0170】
ここに説明された本発明の構成は実例として与えられているのみである。しかしながら、ここに説明した機能を実行するために数多くの他の構成が存在し得る。たとえば、本発明は数多くの形式の外部装置のアクセスに適用されかつDRAMに制限されない。さらに、図12(a)〜図12(c)および図13(a)〜図13(e)に示された制御レジスタ810は増加し、減少させ、かついくつかの場合には削除も可能である。また、DRAMコントローラは本発明のチップ選択機能と一緒にまたは分離して構成できることが理解されるべきである。本発明が特定の実施形態に関して図示されかつ説明されたが、当業者にはさらに他の修正および改善を行なうことができる。したがって、この発明は示された特定の形式に制限されるものではなくかつ添付の特許請求の範囲がこの発明の範囲から離れることのない全ての変更をカバーすることが理解されるべきである。
【0171】
前記データプロセッサ(3)が前記データプロセッサ(3)の外部に実施された外部バスマスタ(205)に転送アクノレッジ信号を提供することは本発明の1つの態様である。
【0172】
前記データプロセッサがバス調停回路(806)およびデコード回路(808)を具備することは本発明の他の態様である。前記バス調停回路(806)はバス承認信号をデコードしてデータプロセッサ(3)がいつ外部メモリアクセスを実行しているかを選択的に指示する。前記バス調停回路はまたデータプロセッサ(3)の外部の装置(207)がいつ外部アクセスを実行しているかを選択的に指示し、かつ外部マスタ制御信号を提供する。前記バス調停回路(806)は前記入力手段に結合されかつバス承認信号を前記複数の外部制御信号の内の第1の1つとして受信する。前記デコード回路(808)は内部転送開始信号および外部転送開始信号、前記複数の外部アドレス信号の内の第1の1つ、複数の内部アドレス信号の内の第1の1つ、外部アクノレッジビット、および外部マスタ制御信号を受信しかつデコードして外部装置アクセス信号を発生する。前記デコード回路(808)は前記中央処理ユニット(2)に結合されかつ前記内部転送開始信号を前記複数の外部制御信号の内の第1の1つとして受信する。前記デコード回路(808)はまた前記第1の手段に結合されて前記複数の外部アドレス信号の内の第1の1つを受信し、前記バス調停回路(806)に結合されて外部マスタ制御信号を受信し、かつ前記制御レジスタ(810)に結合されて前記外部アクノレッジビットを受信する。
【0173】
本発明の別の態様は、前記メモリコントローラ(804)が外部アクノレッジビットが第1の論理状態にあり、外部転送開始信号が第2の論理状態にあり、かつ外部装置アクセス信号が第3の論理状態にあるときに選択的に転送アクノレッジ信号を肯定することである。
【0174】
前記外部アクノレッジビットが前記第1の論理状態にない場合に前記外部転送アクノレッジ信号が受信されかつサンプルされることは本発明のさらに別の態様である。
【0175】
前記外部転送アクノレッジ信号がデータプロセッサ(3)の外部に実施または構成された外部バスマスタ(205)によって提供されることは本発明のさらに他の態様である。
【0176】
前記転送アクノレッジ信号がデータ処理動作が完了したことを示すことは本発明のさらに別の態様である。
【0177】
前記制御レジスタ(810)が前記メモリコントローラ(804)が前記転送アクノレッジ信号を肯定する前に経過すべき時間の長さを指示するための待機状態値を格納することは本発明のさらに他の態様である。
【0178】
前記メモリコントローラ(804)がチップ選択信号を肯定して前記データプロセッサ(3)の外部の少なくとも1つの装置を選択することは本発明のさらに別の態様である。
【図面の簡単な説明】
【図1】外部メモリコントローラを実施するデータ処理システムの従来技術の構成を示すブロック図である。
【図2】本発明の一実施形態に係わる外部メモリコントローラを実施するデータ処理システムの構成を示すブロック図である。
【図3】本発明の一実施形態に係わるデータプロセッサを示すブロック図である。
【図4】図3のデータプロセッサのシステムバスコントローラを示すブロック図である。
【図5】図4のシステムバスコントローラによって行なわれる機能を示すフローチャートである。
【図6】本発明に係わるDRAM回路の外部マスタ開始アクセスの第1の例を示すタイミング図である。
【図7】本発明に係わるDRAM回路の外部マスタ開始フルページアクセスの第2の例を示すタイミング図である。
【図8】本発明に係わるDRAM回路の外部マスタ開始アクセスの第3の例を示すタイミング図である。
【図9】本発明に係わるDRAM回路の外部マスタ開始アクセスの第4の例を示すタイミング図である。
【図10】本発明に係わるチップ選択可能な回路の外部マスタ開始アクセスの第1の例を示すタイミング図である。
【図11】本発明に係わるチップ選択可能な回路の外部マスタ開始アクセスの第3の例を示すタイミング図である。
【図12】(a)は図4のシステムバスコントローラの複数のチップ選択レジスタに含まれるチップ選択アドレスレジスタを示す説明図であり、(b)は図4のシステムバスコントローラの複数のチップ選択レジスタに含まれるチップ選択マスクレジスタを示す説明図であり、(c)は図4のシステムバスコントローラの複数のチップ選択レジスタに含まれるチップ選択制御レジスタを示す説明図である。
【図13】(a)は図4のシステムバスコントローラの複数のDRAM制御レジスタに含まれるDRAMコントローラリフレッシュレジスタを示す説明図であり、(b)は図4のシステムバスコントローラの複数のDRAM制御レジスタに含まれるDRAMコントローラタイミングレジスタを示す説明図であり、(c)は図4のシステムバスコントローラの複数のDRAM制御レジスタに含まれるDRAMコントローラアドレスレジスタを示す説明図であり、(d)は図4のシステムバスコントローラの複数のDRAM制御レジスタに含まれるDRAMコントローラマスクレジスタを示す説明図であり、(e)は図4のシステムバスコントローラの複数のDRAM制御レジスタに含まれるDRAMコントローラ制御レジスタを示す説明図である。
【図14】本発明の一実施形態において実施される8ビットデータポートサイズ・アドレスマルチプレクス構成を示す説明図である。
【図15】本発明の一実施形態において実施される16ビットデータポートサイズ・アドレスマルチプレクス構成を示す説明図である。
【図16】本発明の一実施形態において実施される32ビットデータポートサイズ・アドレスマルチプレクス構成を示す説明図である。
【図17】本発明に係わるチップ選択可能な回路の外部マスタ開始アクセスの第2の例を示すタイミング図である。
【図18】本発明に係わるチップ選択可能な回路の外部マスタ開始アクセスの第4の例を示すタイミング図である。
【符号の説明】
2 中央処理ユニット(CPU)
3 データプロセッサ
4 メモリ管理ユニット/コントローラ
6 メモリ
8 システムバスコントローラ
9 コア
10 デバッグモジュール
12,13 スレイブモジュール
14 マスタモジュール
23 Mバス
25 Kバス
202 データ処理システム
205 外部バスマスタ
206 メモリ
207 DRAM
802 データパス回路
804 メモリコントローラ
806 バス調停回路
808 デコードおよびアドレス発生回路
810 制御レジスタ
Claims (2)
- データプロセッサ(3)であって、
複数の内部アドレス信号、複数の内部データ信号、および複数の内部制御信号を内部バスに提供するための中央処理ユニット(2)、
前記内部バスと前記データプロセッサ(3)の外部の少なくとも1つの装置(207)との間で複数の外部制御信号および複数の外部アドレス信号を通信するための外部バスコントローラ、
前記データプロセッサ(3)が転送アクノレッジ信号を発生すべきことを選択的に指示する外部アクノレッジビットを格納するための制御レジスタ(810)、そして
前記内部バスに結合され前記外部アクノレッジビットが第1の論理状態にある場合に外部バスマスタによって開始されるアクセスに応じて前記転送アクノレッジ信号を肯定し、かつ前記外部アクノレッジビットが第2の論理状態にある場合に前記外部バスマスタによって開始されるアクセスに応じて前記転送アクノレッジ信号をインアクティブ状態に保つためのメモリコントローラ(804)であって、該メモリコントローラ(804)は前記制御レジスタ(810)に結合されて前記外部アクノレッジビットを受信しかつ前記外部バスコントローラに結合されて前記転送アクノレッジ信号を提供し、該メモリコントローラ(804)は前記転送アクノレッジ信号が肯定された時および前記転送アクノレッジ信号がインアクティブ状態である時の双方に前記少なくとも1つの装置に書き込むための書込イネーブル信号を提供するもの、
を具備することを特徴とするデータプロセッサ(3)。 - データプロセッサ(3)を使用して外部装置(207)にアクセスする方法であって、
複数の集積回路ピンの内の第1の部分から外部バスマスタ(205)からのバス承認信号および外部アドレス値を受信する段階、
前記バス承認信号が所定の論理状態にあることを指示するためにバス調停回路(806)を使用して外部マスタ制御信号を選択的に肯定する段階、
前記外部マスタ制御信号が肯定されたときにデコードおよびアドレス発生回路(808)を使用して前記外部アドレス値をデコードする段階、
制御レジスタ(810)からの制御ビットにアクセスする段階であって、前記制御ビットは前記データプロセッサ(3)が転送アクノレッジ信号を発生すべきことを示すもの、
前記制御ビットが第1の論理状態にありかつ前記外部マスタ制御信号が肯定されたときに、前記デコードおよびアドレス発生回路(808)が前記外部アドレス値が所定の範囲内にあることを判定したことに応じて前記転送アクノレッジ信号を発生する段階、
前記制御ビットが前記第1の論理状態と反対の第2の論理状態にありかつ前記外部マスタ制御信号が肯定された時に、前記デコードおよびアドレス発生回路(808)が前記外部アドレス値が前記所定の範囲内にあることを判定したことに応じて前記転送アクノレッジ信号をインアクティブに保つ段階、そして
前記転送アクノレッジ信号が肯定された時および前記転送アクノレッジ信号がインアクティブ状態である時の双方に前記外部装置に書き込むための書込イネーブル信号を提供する段階、
を具備することを特徴とするデータプロセッサ(3)を使用して外部装置(207)にアクセスする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/623,482 | 1996-03-28 | ||
US08/623,482 US5740382A (en) | 1996-03-28 | 1996-03-28 | Method and apparatus for accessing a chip-selectable device in a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1091568A JPH1091568A (ja) | 1998-04-10 |
JP3817327B2 true JP3817327B2 (ja) | 2006-09-06 |
Family
ID=24498247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09012497A Expired - Fee Related JP3817327B2 (ja) | 1996-03-28 | 1997-03-24 | データ処理システムにおいてチップ選択可能な装置をアクセスする方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5740382A (ja) |
EP (1) | EP0798644A3 (ja) |
JP (1) | JP3817327B2 (ja) |
KR (1) | KR100436098B1 (ja) |
CN (1) | CN1118028C (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5854944A (en) * | 1996-05-09 | 1998-12-29 | Motorola, Inc. | Method and apparatus for determining wait states on a per cycle basis in a data processing system |
GB2362482A (en) | 2000-05-15 | 2001-11-21 | Ridgeway Systems & Software Lt | Direct slave addressing to indirect slave addressing |
US6798711B2 (en) * | 2002-03-19 | 2004-09-28 | Micron Technology, Inc. | Memory with address management |
JP2005038230A (ja) * | 2003-07-16 | 2005-02-10 | Oki Electric Ind Co Ltd | システムlsi |
KR100746646B1 (ko) * | 2006-07-11 | 2007-08-06 | 삼성전자주식회사 | 디스플레이 구동 회로 및 이를 갖는 액정 표시 장치 |
CN115529275B (zh) * | 2022-11-28 | 2023-04-07 | 中国人民解放军国防科技大学 | 一种报文处理系统及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4615017A (en) * | 1983-09-19 | 1986-09-30 | International Business Machines Corporation | Memory controller with synchronous or asynchronous interface |
US4617624A (en) * | 1984-04-16 | 1986-10-14 | Goodman James B | Multiple configuration memory circuit |
US4745407A (en) * | 1985-10-30 | 1988-05-17 | Sun Microsystems, Inc. | Memory organization apparatus and method |
US5151986A (en) * | 1987-08-27 | 1992-09-29 | Motorola, Inc. | Microcomputer with on-board chip selects and programmable bus stretching |
US5448744A (en) * | 1989-11-06 | 1995-09-05 | Motorola, Inc. | Integrated circuit microprocessor with programmable chip select logic |
JP2762138B2 (ja) * | 1989-11-06 | 1998-06-04 | 三菱電機株式会社 | メモリコントロールユニット |
US5522064A (en) * | 1990-10-01 | 1996-05-28 | International Business Machines Corporation | Data processing apparatus for dynamically setting timings in a dynamic memory system |
US5418924A (en) * | 1992-08-31 | 1995-05-23 | Hewlett-Packard Company | Memory controller with programmable timing |
US5511182A (en) * | 1994-08-31 | 1996-04-23 | Motorola, Inc. | Programmable pin configuration logic circuit for providing a chip select signal and related method |
-
1996
- 1996-03-28 US US08/623,482 patent/US5740382A/en not_active Expired - Lifetime
-
1997
- 1997-02-21 CN CN97102640A patent/CN1118028C/zh not_active Expired - Fee Related
- 1997-03-13 KR KR1019970008475A patent/KR100436098B1/ko not_active IP Right Cessation
- 1997-03-20 EP EP97104768A patent/EP0798644A3/en not_active Withdrawn
- 1997-03-24 JP JP09012497A patent/JP3817327B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1118028C (zh) | 2003-08-13 |
US5740382A (en) | 1998-04-14 |
KR970066899A (ko) | 1997-10-13 |
JPH1091568A (ja) | 1998-04-10 |
EP0798644A3 (en) | 1999-05-06 |
KR100436098B1 (ko) | 2004-08-16 |
CN1165346A (zh) | 1997-11-19 |
EP0798644A2 (en) | 1997-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5873114A (en) | Integrated processor and memory control unit including refresh queue logic for refreshing DRAM during idle cycles | |
EP0692764B1 (en) | Memory throttle for PCI master | |
US5761458A (en) | Intelligent bus bridge for input/output subsystems in a computer system | |
KR100805603B1 (ko) | 집적 회로 | |
US6104417A (en) | Unified memory computer architecture with dynamic graphics memory allocation | |
JP4507186B2 (ja) | モードレジスタにおけるバースト長設定の変更を行わずに、異なるバースト長のアクセスをサポートするdram | |
EP0700003B1 (en) | Data processor with controlled burst memory accesses and method therefor | |
US20070055813A1 (en) | Accessing external memory from an integrated circuit | |
JP2504206B2 (ja) | バスコントロ―ラ | |
JP6710219B2 (ja) | 統合プロセッサを備えたdram回路 | |
JP2004110785A (ja) | メモリコントローラ | |
US5640517A (en) | Method and apparatus for masters to command a slave whether to transfer data in a sequential or non-sequential burst order | |
JP3886189B2 (ja) | バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置 | |
US6892289B2 (en) | Methods and structure for using a memory model for efficient arbitration | |
US7814258B2 (en) | PCI bus burst transfer sizing | |
JP3817327B2 (ja) | データ処理システムにおいてチップ選択可能な装置をアクセスする方法および装置 | |
KR102144185B1 (ko) | 상용 메모리 버스를 이용하는 프로세싱 인 메모리 장치 | |
US5717931A (en) | Method and apparatus for communicating between master and slave electronic devices where the slave device may be hazardous | |
US5890196A (en) | Method and apparatus for performing page mode accesses | |
JP3431025B2 (ja) | データ転送システム | |
JPH0728745A (ja) | プロセッサバス使用のためのシステムおよび方法 | |
JPH0778106A (ja) | データ処理システム | |
JP3720872B2 (ja) | システムメモリとpciマスタ装置との間のデータの転送を最適化するための方法、およびコンピュータにおけるメモリアクセス時間を最適化するためのシステム | |
US5765217A (en) | Method and apparatus to perform bus reflection operation using a data processor | |
JP3959137B2 (ja) | データプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040319 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040319 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060511 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060530 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060612 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130616 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |