(57)【要約】【課題】集積回路から外部メモリにアクセスする際のボトルネックを解消する方法を提供する。【解決手段】集積回路１０はマスタ論理ユニットおよびスレーブ論理ユニットを結合する相互接続論理４５と、外部メモリからのデータにアクセスするときに、相互接続論理４５を介してアドレス転送を出すことによりトランザクションを開始する少なくとも１つのマスタ論理ユニットと、外部バス６０を介して外部メモリ５５に結合されて１つ以上のコマンドを外部バス６０により外部メモリ５５に出すことによりトランザクションを処理して１つ以上の外部データ転送を行うメモリ制御器３５とを備え、コマンド毎に、メモリ制御器３５は外部メモリ５５の少なくとも１つの予め定められた抑制とトランザクションのフォーマット情報とに従って１つ以上の外部データ転送のための外部フォーマットを選択する。【選択図】図１
2007073052.tif 000002
【特許請求の範囲】
【請求項１】
集積回路であって、
相互接続論理であって、マスタ論理ユニットおよびスレーブ論理ユニットを結合してトランザクションを行うことを可能にし、各トランザクションはマスタ論理ユニットからスレーブ論理ユニットへのアドレス転送と、そのマスタ論理ユニットとそのスレーブ論理ユニットとの間の１つ以上のデータ転送とを含む、相互接続論理と、
少なくとも１つのマスタ論理ユニットであって、外部メモリからのデータにアクセスしようとするときに前記相互接続論理を介してアドレス転送を出すことによりトランザクションを開始し、前記トランザクションは前記相互接続論理により転送するためのトランザクションの１つ以上のデータ転送をフォーマットするのに用いられる関連するフォーマット情報を有する、少なくとも１つのマスタ論理ユニットと、
メモリ制御器であって、前記トランザクションのスレーブ論理ユニットとして動作し、外部バスを介して前記外部メモリに結合され、1つ以上のコマンドを前記外部バスにより前記外部メモリに出すことにより前記トランザクションを処理して前記メモリ制御器と前記外部メモリとの間に1つ以上の外部データ転送を行う、メモリ制御器と、
を備え、
コマンド毎に、前記メモリ制御器は前記外部メモリの少なくとも１つの予め定められた抑制と前記トランザクションのフォーマット情報とに従って１つ以上の外部データ転送のための外部フォーマットを選択する、
集積回路。
【請求項２】
前記フォーマット情報は、前記相互接続論理により行われるデータ転送の数を識別するバースト長と、アクセスされる前記データのアドレスが各データ転送の間でどのように変わるかを識別するバースト・タイプとの少なくとも１つを含む、請求項１記載の集積回路。
【請求項３】
前記フォーマット情報は前記相互接続論理による各データ転送内のデータの量を示す相互接続データ・サイズを更に含む、請求項２記載の集積回路。
【請求項４】
前記フォーマット情報は前記アドレス転送内に含まれる、請求項１記載の集積回路。
【請求項５】
前記外部メモリの前記少なくとも１つの予め定められた制約は最大外部メモリ・バースト長を含む、請求項１記載の集積回路。
【請求項６】
前記少なくとも１つの予め定められた制約は前記外部バスによる各データ転送内のデータの量を示す外部バス・データ・サイズを更に含む、請求項５記載の集積回路。
【請求項７】
前記メモリ制御器は前記トランザクションのフォーマット情報から前記トランザクションにより転送されるデータの総量を識別するトランザクション・サイズを決定し、また少なくとも１つの予め定められた抑制から、前記メモリ制御器から前記外部メモリに出されるデータ転送コマンドに応じて前記外部バスにより転送することのできるデータの最大量を識別する最大外部メモリ・アクセス・サイズを決定し、
前記トランザクション・サイズが前記最大外部メモリ・サイズ以下の場合は、前記メモリ制御器はデータ転送コマンドを出し、また前記データ転送コマンドにより指定される前記外部フォーマットとして、前記トランザクションにより指定されるデータにアクセスするために最小数の外部データ転送を用いるフォーマットを選択する、
請求項１記載の集積回路。
【請求項８】
前記外部メモリの少なくとも1つの予め定められた制約は最大メモリ・バースト長を含み、また前記トランザクション・サイズが前記最大外部メモリ・サイズより大きい場合は、前記メモリ制御器は１つのデータ転送コマンドを出して、前記データ転送コマンドにより指定される外部フォーマットとして、前記最大外部メモリ・バースト長により決まる或る数の外部データ転送を用いるフォーマットを選択し、次に前記メモリ制御器は1つ以上の別のデータ転送コマンドを出して前記トランザクションにより指定される残りのデータにアクセスする、請求項７記載の集積回路。
【請求項９】
前記外部メモリの少なくとも１つの予め定められた制約は最大外部メモリ・バースト長を含み、また前記トランザクション・サイズが前記最大外部メモリ・サイズより大きく、かつ前記トランザクションのフォーマット情報がラップ・バースト・タイプを指定する場合は、前記メモリ制御器は１つのデータ転送コマンドを出して、前記データ転送コマンドにより指定される外部フォーマットとしてインクリメントバースト・タイプと前記最大外部メモリ・バースト長以下の或る数の外部データ転送とを用いるフォーマットを選択し、次に前記メモリ制御器は１つ以上の別のデータ転送コマンドを出して前記トランザクションにより指定された残りのデータにアクセスする、請求項７記載の集積回路。
【請求項１０】
前記外部メモリは多数のメモリのバンクから成るダイナミック・メモリである、請求項１記載の集積回路。
【請求項１１】
前記外部メモリはスタティック・メモリである、請求項１記載の集積回路。
【請求項１２】
集積回路を操作して外部メモリにアクセスする方法であって、前記集積回路はマスタ論理ユニットおよびスレーブ論理ユニットを結合してトランザクションを行うことを可能にする相互接続論理を有し、各トランザクションはマスタ論理ユニットからスレーブ論理ユニットへのアドレス転送と、そのマスタ論理ユニットとそのスレーブ論理ユニットとの間の１つ以上のデータ転送とを含み、前記方法は、
マスタ論理ユニットが外部メモリからのデータにアクセスしようとするときに前記相互接続論理を介して前記アドレス転送を出すことによりトランザクションを開始し、前記トランザクションは前記相互接続論理により転送するための前記トランザクションの１つ以上のデータ転送をフォーマットするのに用いられる関連するフォーマット情報を有するステップと、
メモリ制御器を前記トランザクションのためのスレーブ論理ユニットとして動作させ、前記メモリ制御器は前記外部バスを介して前記外部メモリに結合され、１つ以上のコマンドを前記外部バスにより前記外部メモリに出すことにより前記トランザクションを処理して前記メモリ制御器と前記外部メモリとの間で１つ以上の外部データ転送を行うステップと、
コマンド毎に、前記メモリ制御器は前記外部メモリの少なくとも１つの予め定められた制約と前記トランザクションのフォーマット情報とに従って１つ以上の外部データ転送のための外部フォーマットを選択するステップと、
を含む外部メモリにアクセスする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路から外部メモリにアクセスする方法に関するものである。
【背景技術】
【０００２】
複数のマスタ論理ユニットおよびスレーブ論理ユニットを有する集積回路内で、マスタ論理ユニットとスレーブ論理ユニットとを結合する相互接続論理を設けてトランザクションを行うことは周知である。各トランザクションは、マスタ論理ユニットからスレーブ論理ユニットへのアドレス転送と、マスタ論理ユニットとスレーブ論理ユニットとの間の１つ以上のデータ転送とを含む。書込みトランザクションではこれらのデータ転送はマスタ論理ユニットからスレーブ論理ユニットに送られ、読取りトランザクションではこれらのデータ転送はスレーブ論理ユニットからマスタ論理ユニットに送られる。相互接続論理は、種々のマスタ論理ユニットおよびスレーブ論理ユニットを結合するための複数の接続経路を形成するバス・インフラストラクチャの形をとる。かかる集積回路の一例はいわゆるシステム・オン・チップ（ＳｏＣ）である。
【０００３】
集積回路は、その集積回路のマスタ論理ユニットがアクセス可能なデータを記憶するための内部メモリを含んでよい。かかるメモリは比較的高価なので、集積回路のマスタ論理ユニットがアクセスするデータを記憶するための外部メモリを集積回路に結合することが多い。かかる場合は、外部バスを介して外部メモリとインターフェースするために集積回路内にメモリ制御器を設けるのが普通である。外部メモリは、例えば、スタティックＲＡＭ（ランダム・アクセス・メモリ）やＮＯＲフラッシュ・メモリなどのスタティック・メモリでよく、または、例えばＳＤＲＡＭなどのダイナミック・メモリの形をとってよい。ダイナミック・メモリはスタティック・メモリに比べて少ないトランジスタを用いて各データ値を記憶するので、一般に密度が高くまたアクセス速度が高い。しかしダイナミック・メモリ内では漏れ電流が発生するので、中に記憶されたデータ値を保持するためにダイナミック・メモリを一般に定期的にリフレッシュする必要がある。
【０００４】
集積回路内で行われるトランザクションは種々の形をとってよい。トランザクションの正確な形はマスタ論理ユニットに依存する。例えば、プロセッサ・コアは多重データ転送のラップ・バースト（ｗｒａｐｐｅｄ  ｂｕｒｓｔｓ）の形でトランザクションを指定してよい。各データ転送はしばしば「ビート（ｂｅａｔ）」と呼ばれる。プロセッサ・コアはラップ・バーストを用いることが多い。なぜなら、これを用いると最も時間的に厳しいデータ値に最初にアクセスすることができるからである。別の例として、グラフィックス・エンジンは単一ビートを指定するトランザクションを出してよい。更に別の例として、表示制御器はインクリメント（ｉｎｃｒｅｍｅｎｔｉｎｇ）バースト・アクセスを指定するトランザクションを出してよい。なぜなら、かかるインクリメントバースト・アクセスの方がラップ・バースト・アクセスより優れた帯域幅特性を有するからである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在の外部メモリ装置は、スタティックでもダイナミックでも、固定の動作モードで（すなわち、固定バースト長および固定バースト・タイプで）動作するようにプログラムされる。この動作モードを変えるには、プロセッサは外部メモリ装置およびメモリ制御器を更新する必要があり、これは比較的遅いプロセスである。詳しく述べると、メモリ装置およびこれに関連するメモリ制御器は異なるマスタ論理ユニットからのアクセスの間にプログラムされることはできない。そのため、メモリ装置およびメモリ制御器は、システム内の総合性能を妥当なものにするために、一般に妥協した固定のバースト長およびバースト・タイプでプログラムされる。
【０００６】
一般的なシステムでは、トランザクションを処理する際のボトルネックはメモリ制御器と外部メモリとの間の外部バス接続で起こるのが普通である。システムの複雑さが増大するに従って、この外部バス接続のための帯域幅の要求が増大し、このためにこのボトルネックはますます顕著になる傾向にある。この処理のボトルネックを解消する１つの方法はメモリ制御器と外部メモリとの間のインターフェースの動作速度を高めることであるが、これではシステムの電力消費が増え、また設計が複雑になる。
したがって、集積回路から外部メモリにアクセスする効率を高める方法を提供することが望まれる。
【課題を解決するための手段】
【０００７】
第１の態様では、本発明が提供する集積回路は、相互接続論理であって、マスタ論理ユニットおよびスレーブ論理ユニットを結合してトランザクションを行うことを可能にし、各トランザクションはマスタ論理ユニットからスレーブ論理ユニットへのアドレス転送と、そのマスタ論理ユニットとそのスレーブ論理ユニットとの間の１つ以上のデータ転送とを含む、相互接続論理と、少なくとも１つのマスタ論理ユニットであって、外部メモリからのデータにアクセスしようとするときに、相互接続論理を介してアドレス転送を出すことによりトランザクションを開始し、このトランザクションは相互接続論理により転送するためのトランザクションの１つ以上のデータ転送をフォーマットするのに用いられる関連するフォーマット情報を有する、少なくとも１つのマスタ論理ユニットと、メモリ制御器であって、トランザクションのスレーブ論理ユニットとして動作し、外部バスを介して外部メモリに結合され、１つ以上のコマンドを外部バスにより外部メモリに出すことによりトランザクションを処理してメモリ制御器と外部メモリとの間に１つ以上の外部データ転送を行う、メモリ制御器とを備え、コマンド毎に、メモリ制御器は外部メモリの少なくとも１つの予め定められた抑制とトランザクションのフォーマット情報とに従って１つ以上の外部データ転送のための外部フォーマットを選択する。
【０００８】
本発明では、コマンド毎に、メモリ制御器は外部バスを介してデータ転送を行うための外部フォーマットを選択することが可能であり、かかる選択を行うときに、外部メモリの少なくとも１つの予め定められた制約とトランザクションのフォーマット情報とを考慮に入れる。集積回路の相互接続論理による1つ以上のデータ転送をフォーマットするのに用いられるトランザクションのフォーマット情報を考慮することにより、メモリ制御器は、外部メモリの少なくとも１つの予め定められた制約を考慮して、トランザクションを処理するときに必要な外部データ転送を効率的に行うことを可能にする外部フォーマットを選択することができる。或る場合には、これは集積回路の内部で相互接続論理により行われるデータ転送に用いられるフォーマットを外部フォーマットがそのまま用いてよいことを意味する。
【０００９】
本発明の利点を実現するために、外部メモリは種々の外部フォーマットの使用をサポートする必要があるが、かかるサポートが与えられると、本発明の実施の形態の方法により、外部バスの使用効率を大幅に向上させることができる。
トランザクションのフォーマット情報は種々の形をとってよい。しかし１つの実施の形態では、フォーマット情報は、相互接続論理により行われるデータ転送の数を識別するバースト長と、アクセスされるデータのアドレスが各データ転送の間でどのように変わるかを識別するバースト・タイプの少なくとも１つを含む。
【００１０】
１つの実施の形態では、フォーマット情報は、相互接続論理による各データ転送でのデータの量を示す相互接続データ・サイズを更に含む。この情報に基づいて、メモリ制御器はそのトランザクションにより転送されるデータの総量を識別するトランザクション・サイズを決定することができる。
トランザクションのフォーマット情報はトランザクション毎に変えることができる。ただし、或るマスタ論理ユニットは常に予め定められたフォーマット情報を有するトランザクションを出してよい。例えば、或るマスタ論理ユニットは常に単一データ転送（すなわち１のバースト長を有する）を指定するトランザクションを出してよい。１つの実施の形態では、フォーマット情報はアドレス転送内に含まれる。
【００１１】
更に、１つの実施の形態では、メモリ制御器により選択される外部フォーマットは外部バスにより外部メモリに出されるコマンド内で指定してよい。これには、コマンドに単に外部フォーマットを指定するための追加のビットを加えるだけでよく、または２つ以上のサイクルでコマンドを外部メモリに送って、コマンドを出すのに用いるインターフェースのピン数を増やさないようにしてよい。
【００１２】
外部メモリの少なくとも１つの予め定められた抑制は種々の形をとってよい。しかし１つの実施の形態では、この予め定められた抑制は最大外部メモリ・バースト長を含む。これは、外部バスにより外部メモリに出される或るコマンドにより決まるデータ転送の最大数を識別する。この最大バースト長は一般に、性能とゲート面積との妥協としてメモリから与えられ。しかし或る実施の形態では、外部メモリの最大バースト長抑制はメモリ制御器から与えてよい。例えば、或るスタティック・メモリは連続的なバースト長を有する。この場合、メモリ制御器は外部メモリに最大バースト長抑制を与える。
【００１３】
1つの実施の形態では、少なくとも１つの予め定められた抑制は、外部バスによる各データ転送でのデータの量を示す外部バス・データ・サイズを更に含む。この情報に基づいて、メモリ制御器は、メモリ制御器から外部メモリに出すデータ転送コマンドに応じて、外部バスにより転送することのできるデータの最大量を識別する最大外部メモリ・アクセス・サイズを決定することができる。
【００１４】
外部メモリの少なくとも１つの予め定められた抑制とトランザクションのフォーマット情報とに従って外部フォーマットを選択する方法は多数ある。１つの実施の形態では、メモリ制御器はトランザクションのフォーマット情報からトランザクション・サイズを決定しまた少なくとも１つの予め定められた抑制から最大外部メモリ・アクセス・サイズを決定して、このトランザクション・サイズが最大外部メモリ・サイズ以下の場合は、メモリ制御器はデータ転送コマンドを出し、またデータ転送コマンドにより指定される外部フォーマットとして、トランザクションにより指定されるデータにアクセスするための最小数の外部データ転送を用いるフォーマットを選択する。相互接続データ・サイズと外部バス・データ・サイズとが同じであると仮定すると、外部データ転送の数は、相互接続論理により行われるデータ転送の数を指定するトランザクションのバースト長と一般に一致する。しかし、相互接続データ・サイズと外部バス・データ・サイズとが異なる場合は、外部フォーマットにより指定される外部データ転送の数はトランザクションのフォーマット情報により指定される相互接続論理によるデータ転送の数とは異なる。１つの特定の例を考えると、外部バス・データ・サイズが相互接続データ・サイズの半分の場合は、メモリ制御器は外部フォーマットとして理想的には、相互接続論理で用いられるデータ転送の数の２倍の数の外部データ転送を用いるフォーマットを選択する。
【００１５】
１つの実施の形態では、トランザクション・サイズが最大外部メモリ・サイズより大きい場合は、メモリ制御器は１つのデータ転送コマンドを出して、このデータ転送コマンドにより指定される外部フォーマットとして最大外部メモリ・バースト長により決まる或る数の外部データ転送を用いるフォーマットを選択し、次にメモリ制御器は1つ以上の別のデータ転送コマンドを出して、トランザクションにより指定される残りのデータにアクセスする。このようにこの実施の形態では、最大外部メモリ・バースト長を用いて第１のデータ転送コマンドを介してトランザクションに関連するできるだけ多くのデータにアクセスし、次に1つ以上の別のデータ転送コマンドを用いて残りのデータにアクセスすることにより、外部バス資源を最も効率的に用いる。
【００１６】
１つの実施の形態では、トランザクション・サイズが最大外部メモリ・サイズより大きく、かつトランザクションのフォーマット情報がラップ・バースト・タイプを指定する場合は、メモリ制御器は１つのデータ転送コマンドを出して、このデータ転送コマンドにより指定される外部フォーマットとしてインクリメントバースト・タイプと最大外部メモリ・バースト長以下の或る数の外部データ転送とを用いるフォーマットを選択し、次にメモリ制御器は1つ以上の別のデータ転送コマンドを出して、トランザクションにより指定される残りのデータにアクセスする。
【００１７】
トランザクション・サイズが最大外部メモリ・サイズより大きく、かつトランザクションがラップ・バースト・タイプを指定する場合は、ラップ・バーストを外部メモリ・バス上にそのまま出すことはできない。代わりに、メモリ制御器が出す第１のデータ転送コマンドはインクリメントバースト・タイプを用いて、トランザクションにより指定されるできるだけ多くの、しかし最大外部メモリ・バースト長を超えないデータにアクセスすることを試みる。したがって、例えばトランザクションが８のバースト長を有するラップ・バーストを指定し、０から７のデータ値の中のデータ値６に最初にアクセスし、そして最大外部メモリ・バースト長が４の場合は、第１のデータ転送コマンドはインクリメントバースト・タイプでかつ２のバースト長を指定して、データ値6および７にアクセスする。トランザクションにより指定される残りのデータは続く２つのデータ転送コマンドによりアクセスされる。
【００１８】
外部メモリは種々の形をとってよい。１つの実施の形態では、外部メモリは多数のメモリのバンクから成るダイナミック・メモリである。より詳しく述べると、１つの実施の形態では、ダイナミック・メモリは複数のチップから成り、各チップは複数のバンクを有する。別の実施の形態では、外部メモリはスタティック・メモリである。
【００１９】
第２の態様では、本発明は集積回路を操作して外部メモリにアクセスする方法を提供する。この集積回路はマスタ論理ユニットおよびスレーブ論理ユニットを結合してトランザクションを行うことを可能にする相互接続論理を有し、各トランザクションはマスタ論理ユニットからスレーブ論理ユニットへのアドレス転送と、そのマスタ論理ユニットとそのスレーブ論理ユニットとの間の1つ以上のデータ転送とを含み、この方法は、マスタ論理ユニットが外部メモリからのデータにアクセスをしようとするときに相互接続論理を介してアドレス転送を出すことによりトランザクションを開始し、このトランザクションは相互接続論理により転送するためのトランザクションの1つ以上のデータ転送をフォーマットするのに用いられる関連するフォーマット情報を有するステップと、メモリ制御器をトランザクションのスレーブ論理ユニットとして動作させ、このメモリ制御器は外部バスを介して外部メモリに結合され、1つ以上のコマンドを外部バスにより外部メモリに出すことによりトランザクションを処理してメモリ制御器と外部メモリとの間に1つ以上の外部データ転送を行うステップと、コマンド毎に、メモリ制御器は外部メモリの少なくとも１つの予め定められた制約とトランザクションのフォーマット情報とに従って1つ以上の外部データ転送のための外部フォーマットを選択するステップとを含む。
【実施例】
【００２０】
図1は本発明の１つの実施の形態に係るシステムのブロック図である。詳しく述べると、この図はＳｏＣ１０の形の集積回路で、ＳｏＣ１０は相互接続論理４５を介して接続される多数のマスタ装置および多数のスレーブ装置を含む。詳しく述べると、プロセッサ・コア１５、グラフィックス・エンジン２０、表示制御器３０の３つのマスタ装置が図に示されている。同様に、内部メモリ２５、メモリ制御器３５、１つ以上の他のスレーブ装置４０（例えば、スマート・カード・インターフェース（ＳＣＩ）、ユニバーサル非同期受信機／送信機（ＵＡＲＴ）装置など）の３つのスレーブ装置が図に示されている。
【００２１】
相互接続論理４５は種々のマスタ論理ユニットおよびスレーブ論理ユニットを結合するための複数の接続経路を形成する。かかる接続経路を介してトランザクションの種々の転送の経路を選択する方法は相互接続論理内で用いられるバス・プロトコルに依存する。１つの周知のバス・プロトコルのタイプはノンスプリット・トランザクション・プロトコルで、例えば、英国キャンブリッジのＡＲＭ（登録商標）社により開発されたＡＨＢバス・プロトコルに従って設計されたＡＨＢバスを有するシステム内に用いられている。かかるノンスプリット・トランザクション・プロトコルでは、トランザクションのアドレス転送とそのトランザクションのその後の1つ以上のデータ転送との間に固定されたタイミング関係がある。
【００２２】
多数のマスタ論理ユニットおよびスレーブ論理ユニットの相互接続をサポートする必要のために相互接続論理が非常に複雑になったので、スプリット・トランザクション・プロトコルと呼ばれる別のタイプのバス・プロトコルが開発された。かかるスプリット・トランザクション・プロトコルでは、相互接続論理内の複数の接続経路はアドレス転送を行うための少なくとも1つのアドレス・チャンネルとデータ転送を行うための少なくとも１つのデータ・チャンネルとを形成する。かかるスプリット・トランザクション・プロトコルの一例は、英国キャンブリッジのＡＲＭ社により開発されたＡＸＩ（Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）プロトコルである。ＡＸＩプロトコルは情報およびデータを転送するための多数のチャンネルを形成し、これらのチャンネルは読取りトランザクションのアドレス転送を行うためのアドレス読取りチャンネルと、書込みトランザクションのアドレス転送を行うためのアドレス書込みチャンネルと、書込みトランザクションのデータ転送を行うためのデータ書込みチャンネルと、読取りトランザクションのデータ転送を行うためのデータ読取りチャンネルと、書込みトランザクションの終わりにトランザクション状態情報をマスタ論理ユニットに返すための応答書込みチャンネルとを形成する。かかるトランザクション状態情報は、例えばトランザクションが首尾よく完了したか、エラーが発生したか、などを示す。
【００２３】
本発明の目的では相互接続論理４５は種々の形をとってよいので、例えば上に述べたＡＨＢバス・インフラストラクチャまたはＡＸＩバス・インフラストラクチャを用いてよいが、以下の説明の目的では、相互接続論理４５はＡＸＩバス・インフラストラクチャを用いる仮定する。
【００２４】
図1に示すように、表示制御器３０は情報をユーザに表示するための外部表示装置５０に接続される。更に、メモリ制御器３５は外部バス６０を介して外部メモリ５５に接続される。外部バス６０は種々の形をとってよいが、１つの実施の形態ではメモリ制御器３５と外部メモリ５５とを接続する簡単な点対点バスであり、メモリ制御器３５から外部メモリ５５にコマンドを送るための制御チャンネルと、メモリ制御器３５と外部メモリ５５との間のデータの通信のための双方向データ・チャンネルとを形成すると考えてよい。
【００２５】
データ処理操作を行うとき、一般にプロセッサ・コア１５はメモリ内に記憶されているデータにアクセスする必要がある。このデータは局所的にコア内のキャッシュに入れてよいが、キャッシュ・ミスの場合は、コアはメモリからのデータに直接アクセスする必要がある。このデータは内部メモリ２５内または外部メモリ５５内に常駐してよい。しかし、内部メモリ２５のデータへのアクセスは相対的に速いが外部メモリ５５に比べて相対的に高価なので、必要なデータのかなりの部分は外部メモリ内に記憶される。外部メモリからのデータにアクセスするとき、プロセッサ・コア１５は相互接続論理４５を介してメモリ制御器３５にアドレス転送を出すことによりトランザクションを開始する。これによりメモリ制御器３５は外部バス６０により外部メモリ５５に１つ以上のコマンドを出して、外部メモリ内の必要なデータにアクセスする。
【００２６】
グラフィック・エンジン２０はメモリ内に記憶されているデータへの或る特定のグラフィックス操作を行う。そのためには、トランザクションを開始して、メモリ制御器３５を介して外部メモリ５５からデータを検索する必要がある。一般に、グラフィックス・エンジンにより作られる処理されたデータはメモリに書き戻される。
表示制御器３０は表示装置５０に出力するためのデータをメモリから検索するので、トランザクションをメモリに発行して表示に必要なデータを検索する。やはりこのデータも少なくとも部分的に外部メモリ５５内に常駐してよいので、表示制御器３０によりトランザクションを開始して、メモリ制御器３５を介して必要なデータを検索する必要がある。
【００２７】
種々のマスタ論理ユニットから出されるトランザクションの形はトランザクション毎に変わってよい。しかし、プロセッサ・コアは一般に重要なデータ値が最初に得られるようにするためにラップ・バーストを指定するトランザクションを用いてよい。対照的に、表示制御器はデータにアクセスしようとするときにインクリメントバーストを用いる傾向がある。なぜなら、インクリメントバーストは一般にラップ・バーストに比べて帯域幅性能がよいからである。他方、グラフィックス・エンジンは一般に単一ビート（すなわち、単一データ転送）を指定するトランザクションを用いてメモリにアクセスする。
【００２８】
一般的な周知のシステムでは、外部メモリ５５は固定の動作モードで（すなわち、固定のバースト長と固定のバースト・タイプで）動作するようプログラムされる。この動作モードはプロセッサを用いてメモリ制御器から外部メモリ装置をプログラムすることにより変えることはできるが、このプロセスは速くないので、一般に全てのトランザクションを処理するとき、メモリ制御器３５および外部メモリ５５は妥協した固定のバースト長およびタイプを用いるようプログラムされる。しかし後で詳細に説明するが、本発明の実施の形態により、メモリ制御器は外部バスにより出されるデータ転送コマンド毎に、集積回路１０内の相互接続論理４５によりマスタ装置とメモリ制御器３５との間に行われるトランザクションのフォーマットを考慮に入れた外部フォーマットを選択することができる。これにより外部バス６０を一層効率的に使用することができる。
【００２９】
外部メモリ５５はダイナミック・メモリまたはスタティック・メモリの形をとってよい。ダイナミック・メモリは一般に多数のチップから成り、各チップは複数のバンクを有する。ダイナミック装置は一般にアクティベート・コマンドを出して或るバンク内の行を開くことによりアクセスされ、次にストローブ信号「列アドレス・ストローブ（ＣＡＳ）」によって限定された単一サイクルでアドレスをメモリに送ることにより、その行の中の必要なデータがアクセスされる。一般に、各バンク内では一度に1行だけ開かれるので、別の行を開く前に現在の行を閉じる必要がある。これはプレチャージ・コマンドを用いて行う。ダイナミック装置とは対照的に、スタティック・メモリ装置はアクティベートおよびプレチャージ・コマンドを用いて行を開閉する必要はなく、代わりに、一般に或るバースト・アクセスのための単一のアドレス値、または場合によってはバーストのビート当たり単一のアドレス値を出すことによりアクセスされる。
【００３０】
どのタイプのメモリ装置でも、認識されるように、メモリ制御器３５から外部メモリ５５にデータ転送コマンドを出すと（ダイナミック・メモリの場合はこのデータ転送コマンドはＣＡＳ信号によって限定されたアドレスを送るが、スタティック・メモリではこのデータ転送コマンドは関連するストローブ信号のないアドレスを出す）、外部バスにより1つ以上の外部データ転送が行われ、必要なデータがメモリ制御器３５から外部メモリ５５に転送され（書込み操作の場合）、または外部メモリ５５からメモリ制御器３５に転送される（読取り操作の場合）。本発明の実施の形態の方法はダイナミック・メモリにもスタティック・メモリにも同様に適用できる。しかし以下の図面を参照して説明する実施の形態の目的では、外部メモリ５５はダイナミック・メモリと仮定する。
【００３１】
図２は、本発明の１つの実施の形態に係る図１のメモリ制御器３５内の要素をより詳細に示すブロック図である。前に説明したように、本発明の１つの実施の形態の相互接続論理４５は別個のアドレス・チャンネルとデータ書込みチャンネルとデータ読取りチャンネルとを形成し、図２の点線で示すように、メモリ制御器３５はこれらの異なるチャンネルに対応する３つの論理経路を形成すると考えてよい。相互接続論理４５のアドレス書込みチャンネルおよびアドレス読取りチャンネルに関連して与えられる論理を考慮して、マスタ論理ユニットから相互接続論理４５を介してメモリ制御器３５に出される各アドレス転送を受信するためのインターフェース１００が設けられる。このアドレス転送の実際のフォーマットは実施の形態に依存して変わってよいが、インターフェース１００が受けるアドレス転送の一例を図３Ａに略図で示す。
【００３２】
このアドレス転送２２５は多数のフィールドを含み、図３Ａに示すように、トランザクションのタイプ（例えば、読取りトランザクションか書込みトランザクションか）を識別するトランザクション・タイプ・フィールド２００と、アクセスされる最初のデータ値のアドレスを識別する開始アドレス・フィールド２０５と、相互接続論理４５を介した各データ転送に含まれるデータの量（例えば、語、半語、バイトなど）を識別するサイズ・フィールド２１０と、トランザクションを形成するビート（すなわちデータ転送）の数を識別するバースト長フィールド２１５と、バーストのタイプ（例えば、ラップ・バーストかインクリメントバーストか）を識別するバースト・タイプ・フィールド２２０とを含む。例えば、バースト長フィールド２１５内に指定されるバースト長が４で、かつバースト・タイプが「ラップ」の場合は、アドレスは最下位２ビットの位置を循環する。したがって、開始アドレス・フィールド２０５内の開始アドレスがデータ値１を識別する場合は、４バーストはデータ値１，２，３，０をそれぞれ検索する（データ値３の後、「１１」という最下位ビットはアドレスの上位ビットのどれもインクリメントせずに値「００」にラップされる）。対照的に、同じ転送においてバースト・タイプがインクリメントタイプと指定された場合は、データ値１，２，３，４がアクセスされるはずである。
【００３３】
次にこのアドレス転送はインターフェース１００からマッピング論理１０５に送られ、図３Ｂに示すフォーマットに変換された後、キュー１１０内に置かれる。図３Ｂに示すように、アドレス転送フォーマット２５５はトランザクション・タイプ・フィールド２３０を有する。１つの実施の形態では、これはアドレス・チャンネルにより受信したアドレス転送フォーマット２２５のトランザクション・タイプ・フィールド２００と同じでよい。同様にアドレス転送フォーマット２５５はサイズ・フィールド２４０およびバースト・タイプ・フィールド２５０を含む。１つの実施の形態では、これは元のアドレス転送フォーマット２２５の同等のサイズ・フィールド２１０およびバースト・タイプ・フィールド２２０そのままと考えてよい。またアドレス転送フォーマット２５５はバースト長残りフィールド２４５を含む。これは最初は元のフォーマット２２５のバースト長フィールド２１５内に含まれる情報と同じものを含むが、後で説明する調停およびフォーマット論理１１５によりやがて変更される。１つの実施の形態では、バースト長残りフィールド２４５はバーストの数を記憶してよいが、別の実施の形態では転送残りのバイトの数（実際にはバースト長およびサイズ情報を結合したもの）を実際に記憶してよい。マッピング論理１０５が行う主なタスクは開始アドレスをダイナミック・メモリのバンクおよびチップ内の或る行および列にマップすることで、その結果、チップ選択値と、バンク指示と、行指示と、列指示とを与える復号アドレス・フィールド２３５が得られる。
【００３４】
調停およびフォーマット論理１１５はキュー１１０内に置かれたアドレス転送を処理する。しかしキュー１１０をＦＩＦＯ（先入れ先出し）バッファとして単に操作するのではなく、調停およびフォーマット論理１１５は一般にメモリを最も効率的に使用するために或る調停を行う。詳しく述べると、前に述べたように、ダイナミック・メモリにアクセスするとき、或る行を開いた後でなければその行内の列にアクセスすることはできない。したがって、調停およびフォーマット論理１１５が行ってよい調停の１つの形は、或るバンク内にすでに開かれている行と同じ行に対して行われるアドレス転送を識別する項目がキュー１１０内にあるかどうか判定することである。なぜなら、その行を閉じて別の行を開く前にこれらの転送を先に処理する方が一般に効率がよいからである。更に、認識されるように、例えば他の適当な調停方式を用いて、特定のマスタ装置が出すトランザクションに優先権を与えるようにしてよい。この後者の点に関して、一般に各転送はその転送が関連するマスタ装置を識別する関連のＩＤを有しており、優先順位決定プロセスにこのＩＤ情報を用いてよい。
【００３５】
或る項目が調停およびフォーマット論理１１５によりキューから選択されると、その論理はインターフェース１２０に出す１つ以上のコマンドを生成する。かかるコマンドのフォーマットを図３Ｃに略図で示す。図３Ｃに示すように、コマンド・フォーマット２９０は、例えばアクティベート、プレチャージ、データ転送（読取りまたは書込み）などのコマンドのタイプを識別するコマンド・フィールド２６０を含む。アドレス・フィールド２６５はこのコマンドに関するアドレス情報を識別する。アクティベート・コマンドでは一般にこのアドレス情報は開かれる行を識別するが、プレチャージ・コマンドではこのアドレス情報は冗長である。なぜなら、プレチャージ・コマンドによりアクセスされる特定のバンクはどの行が開かれているかを知っていて、プレチャージ・コマンドをどのように適用するかを決定することができるからである。データ転送コマンドでは、このアドレス・フィールド２６５は、関係するバンクの開かれた行の中でアクセスされる列を識別する列識別子を含む。チップ選択フィールド２７０およびバンク・フィールド２７５はアクセスされるダイナミック・メモリの特定のチップおよびバンクを識別する。サイズ・フィールド２８０は外部バス６０により転送されるデータの量を識別する。
【００３６】
更に、コマンド・フォーマット２９０はコマンド遅延およびタイプ・フィールド２８５を含む。これは、次のコマンドを出す前に何サイクル経過しなければならないかを決定するのにインターフェース１２０が用いることのできる情報を含む。データ転送コマンドでは、これは外部バスで行われる外部データ転送をフォーマットするための、外部バス６０の制御バスにより出力されるバースト長およびバースト・タイプ情報を含む。
【００３７】
インターフェース１２０はコマンド・フォーマット２９０内に与えられる情報を用いて該当する信号をインターフェース・ピンから外部バス６０の制御バス上に出力し、これにより外部メモリ５５は必要なステップ（例えば、行を開く、行を閉じる、データにアクセスするなど）を行う。制御バスに送られる情報がバースト長およびバースト・タイプ情報を含む場合は、このインターフェースに更にピンが必要になる。または、ピンの数が増えるのを避けるために、１サイクルより多くのサイクルでコマンドを出力する。
【００３８】
次に、相互接続論理４５のデータ書込みチャンネルおよびデータ読取りチャンネルに対応するメモリ制御器３５内の経路を考えると、図から分かるように、メモリ制御器３５はデータ書込みチャンネルで受けるデータ書込みのためのデータ書込みＦＩＦＯ１３０を備え、また外部バス６０のデータ・チャンネルから受けて相互接続論理４５のデータ読取りチャンネルに送るデータのためのデータ読取りＦＩＦＯ１４０を備える。外部バスのデータ・チャンネルは一般に双方向バスなので論理要素１５０が設けられ、これはメモリ制御器３５から（一般にインターフェース論理１２０により）出力される信号により制御されて、データ書込みＦＩＦＯ１３０内のデータ書込みを外部バス６０のデータ・チャンネルに出力するか、または外部バスにより受けたデータをデータ読取りＦＩＦＯ１４０に送るかを制御する。
【００３９】
図４は、データ転送コマンドを生成するときに図２の調停およびフォーマット論理１１５が行うステップの詳細を示す流れ図である。ステップ３００で、キュー１１０上に未処理の項目が存在するかどうか判定し、存在する場合は、ステップ３０５で調停を行ってキューから項目の１つを選択する。次にステップ３１０で、トランザクション・サイズが最大外部メモリ・アクセス・サイズ以下かどうか判定する。トランザクション・サイズは、アドレス転送フォーマット２５５のフィールド２４５内のバースト長残り情報にフィールド２４０内のサイズ情報を掛けることにより得られる。最大外部メモリ・アクセス・サイズは、最大外部メモリ・バースト長および外部バス６０のバス幅（ここでは外部バスデータ・サイズとも呼ぶ）の知識に基づいて決定される。これは外部メモリの予め定められた制約である。
【００４０】
トランザクション・サイズが最大外部メモリ・アクセス・サイズ以下の場合は、プロセスはステップ３１５に分岐し、調停およびフォーマット論理１１５は必要なデータを転送するのに最小数の外部データ転送を用いるように最適化される外部フォーマットを選択することができる。詳しく述べると、この場合は、調停およびフォーマット論理１１５は最適化されたバースト長を指定しまた集積回路内の相互接続論理で行われるトランザクションにより指定されるものと同じバースト・タイプをそのまま保つコマンドを出す。したがって、例えば、相互接続論理による各データ転送のサイズが外部バス幅と同じ場合は、また相互接続論理によるトランザクションが４バーストのラップ・トランザクションである場合は、調停およびフォーマット論理１１５から出されるコマンドはコマンド２９０のコマンド遅延およびタイプ・フィールド２８５内に４のバースト長とラップというバースト・タイプを指定してよい。別の例として、相互接続論理による内部データ転送サイズが外部バス幅のサイズの２倍である場合は、やはり（トランザクション・サイズが最大外部メモリ・アクセス・サイズ以下であると仮定して）バースト長およびバースト・タイプは内部トランザクション・フォーマットから外部フォーマットにマップすることができるが、この場合は、外部フォーマットのバースト長は内部トランザクション・フォーマットのバースト長の２倍である必要がある。
ステップ３１５でコマンドが出されると、ステップ３２０でキュー１１０内の関連するキュー項目を削除し、次にプロセスはステップ３００に戻る。
【００４１】
トランザクション・サイズが最大外部メモリ・アクセス・サイズより大きい場合は、単一のデータ転送コマンドを用いてトランザクションを処理することはできない。この場合はプロセスはステップ３２５に進み、相互接続論理により行われるトランザクションで指定されるバースト・タイプがラップ・バースト・タイプかどうか判定する。バースト・タイプでない場合はプロセスはステップ３３０に進み、調停およびフォーマット論理１１５は外部メモリにより許される最大バースト長を指定しかつトランザクションのバースト・タイプをそのまま保つコマンドを出す。やはりこのバースト長およびバースト・タイプ情報はコマンド遅延およびタイプ・フィールド２８５内に含まれる。次にステップ３４５で、関係するキュー項目内のアドレス転送２５５のバースト長残りフィールド２４５および復号アドレス・フィールド２３５を、出されたコマンドに従って変更する。これは一般に、復号アドレス・フィールド２３５内の列識別子を変更しかつステップ３３０で出されたコマンドによりアクセスされるデータの量に従ってバースト長残りを減分することを含む。次に、プロセスはステップ３００に戻る。この時点でステップ３００に戻ることにより、ステップ３０５で行われる調停を各データ転送コマンドの間に行うことができるので、次に出されるコマンドは必ずしも同じトランザクションに関係しない。
【００４２】
ステップ３２５でバースト・タイプがラップ・バースト・タイプと判定された場合は、プロセスはステップ３３５に進む。トランザクション・サイズが最大外部メモリ・アクセス・サイズを超えるので、外部バス上にラップ・バースト・タイプをそのまま出すことはできない。この場合はステップ３３５で、関係するキュー項目を変更してバースト・タイプをインクリメントバースト・タイプに変える。次にステップ３４０で、調停およびフォーマット論理１１５は、外部メモリにより許される最大バースト長以下のバースト長を指定しかつインクリメントバースト・タイプを指定するコマンドを出す。やはり、この情報はコマンド遅延およびタイプ・フィールド２８５内に含まれる。理想的には、ステップ３４０でコマンドは最大バースト長に等しいバースト長を指定したいが、これは必ずしも可能ではない。例えば、マスタから出された最初のトランザクションが８のバースト長を有するラップ・トランザクションでありかつ６というデータ値で開始する（開始アドレス・フィールド２０５内の開始アドレスで示される）場合は、必要なデータ値の実際のシーケンスは６，７，０，１，２，３，４，５である。外部メモリの最大バースト長が２より大きい場合でも、ステップ３４０で出されるコマンドは、最初は２のバースト長を指定しなければならない。なぜなら、この最初のアクセスではデータ値６および７にだけアクセスできるからである。
ステップ３４０の後、プロセスはステップ３４５に進み、関係するキュー項目内のバースト長残り２４５および復号アドレス・フィールド２３５はこの出されたコマンドに従って変更される。次にプロセスはステップ３００に戻る。
【００４３】
図５は、或る例示のトランザクションを示すタイミング図であって、そのトランザクションのために外部メモリにアクセスするときに、周知の方法による場合と本発明の１つの実施の形態の方法による場合とを対比する。詳しく述べると、この例では、１ビートの書込みトランザクションに続いて、別個のチップへの４ビートの読取りトランザクションを行うと仮定する。信号線４２５はクロック信号を示し、信号線４００，４０５，４１０は、外部メモリ装置が固定の動作モードであって４の固定バースト長で動作するときに、外部メモリへのアクセスを周知の方法により行う場合を示す。第１のコマンド書込みが信号線４００に出され、次のサイクルで、第１のデータ書込み値が信号線４０５により外部メモリに与えられる。更に、データ・マスク線４１０が設けられ、これをローにセットするとデータ線４０５上のデータが外部メモリ５５により読み取られる。
【００４４】
書込みトランザクションは、別の書込みトランザクションを出すことにより、またはプレチャージ操作を行って行を閉じることにより中断される。しかしこの例では、次のトランザクションは別の書込みトランザクションではない。また一般にプレチャージ操作をすぐ行うことは適当ではないと考えられる。なぜなら、これにより行が閉じられ、行を開いておくことにより達成されるはずの可能な性能の向上が妨げられるからである。この場合は、外部バス上で４の固定バースト長が動作するので、次のコマンド読取りは４サイクル遅れる。このように、第１のデータ書込み値の後に有用なデータ書込みが転送されなくても、外部メモリはやはりこの書込みアクセスを４のバースト長を有する書込みアクセスとして扱うので、４サイクル経過するまではコマンド読取りの処理を開始することはできない。図５に示すように、チップ１を指定する次のコマンド読取りが出されると、まもなく４ビートのデータ読取りが続く。
【００４５】
本発明の実施の形態では、外部バースト長は調停およびフォーマット論理１１５により選択することができる。詳しく述べると、書込みトランザクションでは、図４のステップ３１０でトランザクション・サイズが最大外部メモリ・アクセス・サイズより小さいと判定された場合は、ステップ３１５で１という最適化されたバースト長を指定するコマンドが線４１５上に出される。次のサイクルでデータ書込みが線４２０上に出力されるが、前に１のバースト長が指定されているので、すぐその次のサイクルで次のコマンド読取りが線４１５上に出さる。その結果、外部バースト長が固定された周知の方法による場合よりはるかに早く、４ビートのデータ読取りがデータ線４２０上に現れる（図５の線４２０と線４０５とを比較するとすぐ分かる）。
【００４６】
図６は、やはり周知の方法が４の固定外部バースト長を用いるトランザクションで、この場合はトランザクションが６ビートの書込みトランザクションの後に別個のチップへの４ビートの読取りトランザクションを行うという別の例を示す。周知の方法では、第１のコマンド書込みが線５０５上に出されて４ビートのデータ書込みが転送され、次に第２のコマンド書込みが出されて残りの２ビートが出される。しかし、第１のコマンド書込みの場合と同様に第２のコマンド書込みでは４の固定バースト長が用いられるので、第２のコマンド書込みが出された後４サイクル経過するまではチップ１への次のコマンド読取りを行うことができない。図６の上半分に示すように、データ・マスク信号５１５が用いられ、これをローにセットすると第１の６つのデータ書込み値が線５１０上に出力され、次にハイにセットすると第２のコマンド書込みの残りの２サイクルをマスクする。
【００４７】
図６の下半分に示すように、本発明の実施の形態に係る方法を用いると、第１のコマンド書込みが線５２０上に出されて４の最大外部バースト長を指定し、次に第２のコマンド書込みが出されて２のバースト長を指定する。図４を参照すると、ステップ３４５から認識されるように、第１のコマンド書込みを出した後で、キュー項目内のバースト長残りおよび復号アドレス・フィールドは変更され、第２のコマンド書込みを出そうとするときに、フォーマット論理１１５はステップ３１０で現在トランザクション・サイズが最大外部メモリ・アクセス・サイズより小さいと判定するので、ステップ３１５で第２のコマンド書込みとして２のバースト長を指定するコマンドを出してよい。第２のコマンド書込みは２のバースト長を指定するので、周知の方法を用いる場合に比べて次のコマンド読取りを線５２０上に早く出すことができる。またこの例は、同じキュー項目（すなわち、同じトランザクション）に関する異なるデータ転送を処理するのに異なるバースト長コマンドを用いることを示す。
【００４８】
図７は第３の例を示す。これはやはり周知の方法で４の固定外部バースト長を用い、この場合のトランザクションはラップ・バースト・タイプを有する４バーストの読取りトランザクションである。またこの例では、相互接続論理による各データ転送のサイズは外部メモリ・バス幅のサイズに等しいと仮定する。周知の方法では、外部メモリは固定のインクリメントバースト・タイプを用いてもよいので、外部バス上で２つの別個のインクリメントデータ転送コマンドとしてトランザクションを処理しなければならない。線６０５上の第１のコマンド読取りにより３というデータ値が読み取られる。或るコマンド読取りを別のコマンド読取りにより中断することができるので、この場合は第２のコマンド読取りを出す前に４サイクル待つ必要はなく、第１のコマンド読取りの１サイクル後に第２のコマンド読取りを出すことができる。第２のコマンド読取りはやはり４のバースト長を有するので、データ値０，１，２，３が読み取られる。しかし、２回目に出るデータ値３はメモリ制御器により無視される（図７の線６１０上の点線で示すように）。
【００４９】
しかし本発明の実施の形態の方法では、図４のステップ３１０でトランザクション・サイズが最大外部メモリ・アクセス・サイズに等しいと判定されるので、プロセスはやはりステップ３１５に進み、外部バス上でバースト・タイプをラップ・バースト・タイプに変更することができるので、４のバースト長とラップというバースト・タイプを指定する単一コマンドを線６１５上に出すことができる。これにより必要なデータが線６２０上に出力される。周知の方法は第１のコマンド読取りを第２のコマンド読取りで中断する機能があるので、この例では周知の方法に比べて性能は向上しないが節電にはなる。なぜなら、メモリ制御器３５を介して外部メモリ５５に単一のコマンド読取りを出すだけでよいからである。
【００５０】
本発明の実施の形態のこれまでの説明から認識されるように、かかる実施の形態により、相互接続論理で行われるトランザクションのフォーマットと外部メモリの少なくとも１つの予め定められた制約とに従って、メモリ制御器は１つ以上の外部データ転送の外部フォーマットを選択することができる。これは外部バス６０の利用可能な資源を用いるための特に効率的な方法を提供する。
【００５１】
ここでは特定の実施の形態について説明したが、認識されるように、本発明はこれに限定されるものではなく、また本発明の範囲内で多くの変更や追加を行うことができる。例えば、本発明の範囲から逸れることなく、特許請求の範囲内の従属クレームの機能と独立クレームの機能とを種々に組み合わせることができる。
【図面の簡単な説明】
【００５２】
本発明について、例示に過ぎないが、添付の図面に示す実施の形態を参照して説明する。
【図１】本発明の１つの実施の形態に係るシステムのブロック図である。
【図２】図１のメモリ制御器の詳細を示すブロック図である。
【図３Ａ】図２に示すメモリ制御器が受けるアドレス転送のフォーマットを示す。
【図３Ｂ】図２に示すメモリ制御器内でキューに送られるアドレス転送のフォーマットを示す。
【図３Ｃ】図２に示すメモリ制御器内で調停およびフォーマット論理から出力されるコマンドのフォーマットを示す。
【図４】図２の調停およびフォーマット論理が行うプロセスを示す流れ図である。
【図５】トランザクションの一例であって、かかるトランザクションのために外部メモリにアクセスする方法を、周知の方法によるものと本発明の１つの実施の形態の方法によるものとを比較したタイミング図である。
【図６】トランザクションの別の例であって、かかるトランザクションのために外部メモリにアクセスする方法を、周知の方法によるものと本発明の１つの実施の形態の方法によるものとを比較したタイミング図である。
【図７】トランザクションの別の例であって、かかるトランザクションのために外部メモリにアクセスする方法を、周知の方法によるものと本発明の１つの実施の形態の方法によるものとを比較したタイミング図である。
【符号の説明】
【００５３】
１０  集積回路
３５  メモリ制御器
４５  相互接続論理
５５  外部メモリ
６０  外部バス
【図１】
2007073052.tif 000003
【図２】
2007073052.tif 000004
【図３Ａ】
2007073052.tif 000005
【図３Ｂ】
2007073052.tif 000006
【図３Ｃ】
2007073052.tif 000007
【図４】
2007073052.tif 000008
【図５】
2007073052.tif 000009
【図６】
2007073052.tif 000010
【図７】
2007073052.tif 000011