(57)【要約】本発明によるメモリアクセスアプローチは仮想メモリ配列内のデータにアクセスするためのメモリアドレスマッピングを最適化し、特徴として複数のデータのバンクが一度に開かれる。一つの具体的な実現は、データ、コンポーネントおよび／あるいはデバイスを選択するためのアドレス信号および制御信号を持つコンピュータシステム内でのメモリデータにアクセスする過程に向けられる。この過程は、複数のアドレサブルメモリセルのバンクを提供するステップ、列ビットおよび行ビットを介して前記バンク内のアレイにアドレスすることで前記メモリセルにアクセスするステップ、前記アドレス信号および制御信号を前記アドレサブル列アドレスビットと行アドレスビットが選択されるようにダイレンクするステップを含む。本発明のこの過程によると、特徴として、アドレスビットの下位のグループ（ｌｏｗｅｒ ｏｒｄｅｒ ｇｒｏｕｐ）は列アドレスビットを選択するようにダイレクト（マッピング）され、アドレスビットの次に最も上位のグループ（ｎｅｘｔ ｈｉｇｈｅｓｔ ｇｒｏｕｐ）はバンクアドレスビットを選択するようにダイレクトされ、アドレスビットの次に最も上位のグループ（ｎｅｘｔ ｈｉｇｈｅｓｔ ｇｒｏｕｐ）は行アドレスビットを選択するようにダイレクトされる。
2005501300.tif 000002
【特許請求の範囲】
【請求項１】
データをデジタル的に処理するためのデジタル処理手段と、
複数のアドレサブルメモリセルのバンクに配列され、前記バンク内に前記メモリセルにアクセスするための列ビットと行ビットを介してアドレスすることが可能なアレイを有するメモリマッピング手段と、
前記デジタル処理手段によって生成されたアドレス信号と制御信号をダイレクトするため、およびアドレサブル列アドレスビットおよび行アドレスビットを選択ための論理手段を備え、この論理手段によって前記アドレスビットのより下位のグループが前記列アドレスビットを選択するようにダイレクトされ、前記アドレスビットの次に最も上位のグループがバンクアドレスビットを選択するようにダイレクトされ、前記アドレスビットの次に最も上位のグループが前記行アドレスビットを選択するようにダイレクトされることを特徴とするコンピュータシステム。
【請求項２】
読出／書込メモリがＤＲＡＭから成り、前記メモリマッピング手段が、８個の列アドレスラインを持つ読出／書込メモリに対して適合化されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記読出／書込メモリがＤＲＡＭから成り、前記メモリマッピング手段が、仮想ページ内に完全にマッピングされるセットの連続したＤＲＡＭページに対応する列アドレスラインを持つ読出／書込メモリに対して適合化されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
前記読出／書込メモリがＤＲＡＭから成り、前記メモリマッピング手段が、少なくとも９個の列アドレスラインを持つ読出／書込メモリに対して適合化されることを特徴とする請求項１記載のコンピュータシステム。
【請求項５】
前記読出／書込メモリがＤＲＡＭから成り、前記メモリマッピング手段が、仮想ページ内に完全にマッピングされるセットの連続したＤＲＡＭページに対応する列アドレスラインを持つ読出／書込メモリに対して適合化されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項６】
前記メモリマッピング手段が、８個の列アドレスラインを持つ読出／書込メモリに対して適合化されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項７】
前記メモリマッピング手段が、少なくとも９個の列アドレスラインを持つ読出／書込メモリに対して適合化されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項８】
前記メモリマッピング手段が、仮想ページのサイズより小さなサイズのメモリ配列ページに対応する列アドレスラインを持つ読出／書込メモリに対して適合化されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項９】
前記メモリマッピング手段が、仮想ページのサイズと同一あるいはそれより大きなサイズのメモリ配列ページに対応する列アドレスラインを持つ読出／書込メモリに対して適合化されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項１０】
前記読出／書込メモリがＤＲＡＭから成ることを特徴とする請求項８に記載のコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリ配列内のデータへのアクセス、より詳細には、データの複数のバンクがそれに対して同時に開かれる仮想メモリ内のデータへのアクセスを伴うデータ処理システムおよび方法に関する。
【０００２】
【従来の技術】
近年、半導体産業は、飛躍的な技術的進歩を遂げ、このため、回路密度と複雑さは劇的に増加し、加えて、電力消費とパッケージサイズは劇的に低減している。今日の半導体技術では、数百ＭＩＰＳ（ｍｉｌｌｉｏｎｓ ｏｆ ｉｎｓｔｒｕｃｔｉｏｎｓ ｐｅｒ ｓｅｃｏｎｄ）にて動作する幾１００万個ものトランジスタから成る単一チップマイクロプロセッサを比較的小さな空冷の半導体デバイスパッケージ内にパッケージ化することが可能となっている。
【０００３】
半導体デバイスにおけるこのような高密度化および高機能化の副産物として、より高速なデータメモリに対する要求も増している。多くの用途では、このことは、ある与えられたチップサイズ（あるいは面積）内のメモリセルの数の増加を意味する。ただし、このような高密度のメモリ回路を用いた場合でも、依然として、ＣＰＵのデータ処理能力を増加する必要性は残り、このためには、今度は、関連する資源、例えば、システムの読出／書込メモリをより一層改善することが求められる。このことは、とりわけ、幾つかのＣＰＵ、例えば、より広範に用いられているＣｏｍｐｌｅｘ Ｉｎｓｔｒｕｃｔｉｏｎ Ｓｅｔ Ｃｏｍｐｕｔｉｎｇ （ＣＩＳＣ） ＣＰＵより大きなメモリ容量を要求し、同時に、より高い（大きな）メモリ帯域幅も要求するＶｅｒｙ Ｌｏｎｇ Ｉｎｓｔｒｕｃｔｉｏｎ Ｗｏｒｄ （ＶＬＩＷ） およびＲｅｄｕｃｅｄ Ｉｎｓｔｒｕｃｔｉｏｎ Ｓｅｔ Ｃｏｍｐｕｔｉｎｇ （ＲＩＳＣ）プロセッサではそうである。
【０００４】
ＣＰＵのデータ処理能力を増加させるための通常のアプローチにおいては、仮想メモリとメモリアドレスのマッピングが採用される。仮想メモリを採用するシステムにおいては、ＣＰＵが読出／書込メモリ（例えば、ＤＲＡＭ）にアクセスする際に、ＤＲＡＭサブシステムが全仮想メモリページへの高速アクセスを許すことが重要となる。これは、このページ内のコード／データが比較的頻繁にリレート（関連付け）されたり、アクセスされたりするためである。ＤＲＡＭサブシステムを仮想メモリページの外側へのアクセスに対して最適アクセス時間を持つように構成することはそれほど重要ではない。これは、ＤＲＡＭコントローラは、物理メモリ内の仮想メモリの外側の任意の箇所へのアクセスについては、そのアクセスが最終的にどこに向けられるかを知らなくても制御できるためである。
【０００５】
【発明が解決しようとする課題】
多くの仮想メモリシステムにおいては、オープンなＤＲＡＭページのサイズは、仮想メモリページほど大きくない。この関係は、システム内のメモリの編成に依存する。オープンなＤＲＡＭページのサイズの方が小さな仮想メモリシステムにおいては、メモリアドレス（ＭＡ）マップが、次に最も上位のアドレスビット（ｎｅｘｔ ｈｉｇｈｅｓｔ ａｄｄｒｅｓｓ ｂｉｔｓ）へのバンクアドレス（ｂａｎｋ ａｄｄｒｅｓｓ ＢＡ）マッピングを持たない場合は、仮想ページと同一の大きさの連続したオープンなＤＲＡＭページを実現することはできない。例えば、ＤＲＡＭページのサイズは２Ｋバイトで、仮想ページのサイズは４Ｋバイト（あるいはそれ以上）の場合、仮想ページと同一の大きさのオープンなＤＲＡＭページを実現する能力なしには、ＣＰＵ−ｔｏ−ＤＲＡＭ性能を最適化することはできない。さらに、ＤＲＡＭのバンクが仮想メモリページと同一サイズのページをサポートできるシステムの場合でも、複数のＤＲＡＭページがこれらの部分が単一の仮想メモリページにマッピングされるようなやり方でマッピングされれば、ＣＰＵ−ｔｏ−ＤＲＡＭ性能は劣化する。
【０００６】
従って、複数のデータのバンクを同時に開くことができ、仮想メモリアクセスに関してＣＰＵ−ｔｏ−ＤＲＡＭ性能を改善することができるメモリアクセスアプローチに対する必要性が存在する。
【０００７】
【課題を解決するための手段】
本発明の幾つかの観点によると、本発明の実施例は、仮想メモリ配列内のデータにアクセスするための方法および配列（システム）の形態をとり、特徴として複数のデータのバンクが一度に開かれる。一つの具体的な実現は、データ、コンポーネントおよび／あるいはデバイスを選択するためのアドレス信号および制御信号を持つコンピュータシステム内でのメモリデータにアクセスする過程に向けられる。この過程は、複数のアドレサブルメモリセルのバンクを提供するステップ；列ビットおよび行ビットを介して前記バンク内のアレイにアドレスすることで前記メモリセルにアクセスするステップ；前記アドレス信号および制御信号を前記アドレサブル列アドレスビットと行アドレスビットが選択されるようにダイレンクするステップを含む。本発明のこの過程によると、特徴として、アドレスビットの下位のグループ（ｌｏｗｅｒ ｏｒｄｅｒ ｇｒｏｕｐ）は列アドレスビットを選択するようにダイレクト（マッピング）され、アドレスビットの次に最も上位のグループ（ｎｅｘｔ ｈｉｇｈｅｓｔ ｇｒｏｕｐ）はバンクアドレスビットを選択するようにダイレクトされ、アドレスビットの次に最も上位のグループ（ｎｅｘｔ ｈｉｇｈｅｓｔ ｇｒｏｕｐ）は行アドレスビットを選択するようにダイレクトされる。
【０００８】
本発明のもう一つの具体的な実現は、メモリ配列内のデータにアクセスするために構成されたコンピュータシステムに向けられる。このシステムは、以下から構成されるコンピュータシステム配列から成る。つまり、このシステムは、ＣＰＵ回路；および複数のアドレサブルメモリセルのバンクに配列されたメモリ配列を備え、このメモリ配列は、前記バンク内に前記メモリセルにアクセスするための列ビットと行ビットを介してアドレスすることが可能なアレイを含む。このシステムは、さらに、メモリマッピング回路を備え、このメモリマッピング回路は、ＣＰＵ回路によって生成されたアドレス信号と制御信号をアドレサブル列アドレスビットと行アドレスビットを選択するようにダイレクトするように適合化される。本発明のコンピュータシステム配列によると、特徴として、アドレスビットの下位のグループは列アドレスビットを選択するようにダイレクト（マッピング）され、アドレスビットの次に最も上位のグループはバンクアドレスビットを選択するようにダイレクトされ、アドレスビットの次に最も上位のグループは行アドレスビットを選択するようにダイレクトされる。
【０００９】
上の要約は本発明の全ての観点の概要を与えることを意図したものではない。本発明の他の観点も詳細な説明との関連で説明される。
【００１０】
本発明の様々な観点および長所が様々な実施例の以下の詳細な説明を図面を参照しながら読むことで明らかになるものである。
【００１１】
【発明の実施の形態】
本発明は、様々な修正および代替が可能であるが、以下では本発明の特定な実施例を図面を用いて説明する。ただし、これは本発明を説明される特定の実現に制限する目的で行なわれるものではなく、本発明はクレームによって定義される本発明の範囲内に入る全ての修正、同等物、および代替を包含するものである。
【００１２】
本発明は多様なコンピュータ配列（システム）に適用することができるが、とりわけ、複数のバンクのデータが同時に開かれるメモリマッピング配列との関連で用いるのに有効である。本発明はこれに限定されるものではないが、本発明の様々な観点の理解がこのような環境内での様々な実施例についての以下の説明から得られるものである。
【００１３】
本発明の第一の実施例によるメモリマッピングアプローチにおいては、最も下位のＣＰＵアドレスビット（ｌｏｗｅｓｔ ＣＰＵ ａｄｄｒｅｓｓ ｂｉｔｓ）がＤＲＡＭ列アドレスビット（ＤＲＡＭ ｃｏｌｕｍｎ ａｄｄｒｅｓｓ ｂｉｔｓ）にマッピングされ、次に最も上位のＣＰＵアドレスビット（ｎｅｘｔ ｈｉｇｈｅｓｔ ＣＰＵ ａｄｄｒｅｓｓ ｂｉｔｓ）がバンクアドレス（ｂａｎｋ ａｄｄｒｅｓｓ、ＢＡ）ビットにマッピングされ、次に上位のＣＰＵアドレスビット（ｈｉｇｈｅｒ ＣＰＵ ａｄｄｒｅｓｓ ｂｉｔｓ）が、行アドレスビット（ｒｏｗ ａｄｄｒｅｓｓ ｂｉｔｓ）にマッピングされる。バンクアドレス（ＢＡ）ビットは、こうして、典型的には、複数のページが開かれたとき、これらが連続的な仮想ページのサイズと同一の単一のより大きなＤＲＡＭページを形成するように２Ｋあるいは４Ｋ境界の所に配置される。このアプローチでは、ＤＲＡＭコントローラは、長所として、列アドレスビットの直ぐ”上（ａｂｏｖｅ）”にバンクアドレス（ＢＡ）ビットを配置することができるが；これは、連続的で仮想メモリページ全域に及ぶ複数のオープンページを用いて実現される。このため、仮想メモリページ内の任意の箇所へのＤＲＡＭアクセスが、仮想メモリページの様々な箇所に、ＤＲＡＭページを何度も開いたり、閉じたり、何度もアクセスすることを要求されることなく可能となる。
【００１４】
もう一つの実施例においては、このシステムは、さらに、仮想メモリページと同一の大きさのページサイズをサポートする能力を持つＳＤＲＡＭ（同期ＤＲＡＭ）のバンクを含む。この配列は、バンクアドレス（ＢＡ）ビットに異なる（例えば、より上位の）アドレスビットをマッピングすることで第一の実施例に適合化させることができる。このアプローチでは、単一のＤＲＡＭページを仮想メモリページにマッピングすることが可能となり、２つのＤＲＡＭページの各々の半分を単一の仮想メモリページにマッピングする必要はなくなる。
【００１５】
図１は、本発明の実施例に従って実現されるデータアクセス配列（システム）１００を示す。データアクセス配列１００は、単に、本発明の採用し、本発明から利益を得ることができる様々なタイプのＣＰＵ−ベースのデータプロセッサの一つの典型例を示すものであり、例えば、データアクセス配列１００はＰＣに対するマザーボードから成る。
【００１６】
データアクセス配列１００は、単一プロセッサあるいはマルチプロセッサアーキテクチャから成るＣＰＵ１１０、バスコントローラ１１４、ディスプレイコントローラ１１７を備える周辺機器、リアルタイムクロック１１８、外部メモリデバイス１１９、ＤＲＡＭ１２４ａおよびＳＤＲＡＭ１２４ｂを備えるローカルメモリ１２４から構成される。ＣＰＵ１１０は、ＣＰＵ１１０および／あるいはデータアクセス配列１１０の仕様による定義に従うアドレス、データ、および制御信号のシグナリング（やりとり）を介してバスコントローラ１１４と通信する。
【００１７】
バスコントローラ１１４は、ＣＰＵ１１０からのインストラクションに従って、ＣＰＵ１１０から受信されるアドレスをＤＲＡＭ１２４ａおよび／あるいはＳＤＲＡＭ１２４ｂ内の指定されるデータのバンクにマッピングする。ＤＲＡＭ１２４ａおよびＳＤＲＡＭ１２４ｂの各々は複数のメモリセルのアレイを含み、これらは、タイミングを指定したり、あるアクセスが”読出（ｒｅａｄ−ｆｒｏｍ）”アクセスであるか、あるいは”書込（ｗｒｉｔｅ−ｔｏ）”アクセスであるかを指定するためのマッピングされたアドレス、信号および制御信号を用いてアクセスおよびリフレッシュされる。アプリケーションによって、バスコントローラ１１４はＣＰＵ１１０の一部として組み込むことも、別個の回路として設けることもできる。当業者ならば、図１のアーキテクチャは、単に多くのアプローチの一例であり、一つのありきたりのバリエーションとして、バスにＰＣＩ（周辺機器接続インタフェース）ブリッジを結合し、ＣＰＵ１１０が受理されたＰＣＩ通信プロトコルを用いて追加の周辺デバイスと通信できるようにすることもできることが理解される。
【００１８】
図２Ａと図３は、図１のアーキテクチャとの関連で用いのに有効な本発明の一つの実施例に従って実現されたデータアクセス配列を示す。この実施例においては、図１のバスコントローラ１１４は、メモリ１２４、他の周辺機器１１７〜１１９、および、存在する場合は、ＣＰＩブリッジへのマッピングを調整するために用いられる。メモリ１２４にマッピングするためには、バスコントローラ１１４は構成復号論理を備え、この論理によってバスコントローラ１１４内に設計あるいはプログラムされた構成レジスタの設定に従って各ＤＲＡＭメモリバンクに対する開始および終端アドレスが生成される。レジスタの設定はバンクサイズを確立するため、および一つあるいは複数のバンクの選択を示す信号を生成するために用いられる。
【００１９】
もう一つの実現においては、本発明は４Ｋバイトの仮想ページサイズに対して構成されたコンピュータシステム、例えば、インテルＸ−８６−タイプのＣＰＵに対して適用される。このようなシステムに対するメモリ仕様は、最小で１６ＭバイトのＳＤＲＡＭメモリと、最大で５１２ＭバイトのサポートされたＳＤＲＡＭを含む。図２Ａと図２Ｂは、それぞれ、８個の列アドレスラインを持つ、２ＫバイトのＳＤＲＡＭページサイズに 対応するＳＤＲＡＭメモリを持つシステムに対する仮想ページサイズの比較を示す。図２ＢはバンクアドレスビットＢＡ０がアドレスビットＡ１２にマッピングされる従来のマッピングを示す。本発明の実現によるマッピングでは、図２Ａに示すように、バンクアドレスビットＢＡ０は、アドレスビットＡ１１にマッピングされ、０〜４Ｋバイトが仮想ページとして開かれる。
【００２０】
図３は、図２Ａのデータアクセス配列に対するメモリアクセスのマッピングを示す。図２Ａのメモリアクセスのマッピングにおいては、従来のマッピングアプローチ（図２Ｂ）とは異なり、最も下位のアドレスビット（ｌｏｗｅｓｔ ａｄｄｒｅｓｓ ｂｉｔｓ）は、アドレス列ビット（ａｄｄｒｅｓｓ ｃｏｌｕｍｎ ｂｉｔｓ）に対して指定され（にマッピングされ）、次に最も上位のビット（ｎｅｘｔ ｈｉｇｈｅｓｔ ｂｉｔｓ）（Ａ１１とＡ１２）は（高々４バンクまでのＤＲＡＭデータを選択するために）バンクアドレスビットＢＡ０とＢＡ１に対して指定され（にマッピングされ）、次に最も上位のアドレス（ｎｅｘｔ ｈｉｇｈｅｓｔ ａｄｄｒｅｓｓ）（＞Ａ１２）は、行アドレスビットに対して指定される（にマッピングされる）。図３のアドレスビットＡ１０の下の”Ｐ”なる記号は、ＪＥＤＥＣ推奨に準拠するもので、オートプリチャージビット（ａｕｔｏ−ｐｒｅｃｈａｒｇｅ ｂｉｔ）を表し、２つのデータのバンクが同時に開かれるときに用いられる。
【００２１】
図４Ａと図４Ｂは、それぞれ、仮想ページ全域をスパンする９個の列アドレスラインを持つシステムと、４ＫバイトのＳＤＲＡＭページサイズを持つシステムとで仮想ページサイズの比較を示す。ＢＡ０をＡ１１にマッピングすることは、（図２Ａと図３との関連で説明したように）このようなマッピングでは、両方の４ＫＤＲＡＭページの部分が、ＤＲＡＭ内の単一の４Ｋ仮想ページにマッピングされるために好ましくない。図４Ａは、より望ましいマッピングを示す。このマッピングにおいては、ＢＡ０はＡ１２に、ＢＡ１はＡ１３に指定され（マッピングされ）、このため、開かれたＤＲＡＭの４Ｋバイトの各々を独立に異なる仮想ページに割当てることが可能となる。図４Ｂは、ＢＡ０からＡ１１への望ましくないマッピングを示し、この場合は、単一の仮想ページにマッピングするために、仮想ＤＲＡＭの２つのバンクを開くことが必要となる。
【００２２】
図５は、もう一つのデータアクセス配列に対するメモリアクセスのマッピングを示す。図２Ａのマッピングアプローチと同様に、このメモリアクセスマッピングにおいても、最も下位のアドレスビットはアドレス列ビットに対して指定され（マッピングされ）、次に最も高いビット（Ａ１２およびＡ１３）はバンクアドレスビットＢＡ０とＢＡ１に対して指定され、次に最も上位のアドレスビットは行アドレスビットに対して指定される。
【００２３】
上に説明の様々な実施例は、単に解説のために示されたものであり、本発明を制限することを意図するものではない。当業者においては、上に説明された実施例および適用には厳密には従わない本発明に対する様々な修正および変更を容易に考えられるものである。例えば、本発明は、８Ｋバイトの仮想ページサイズに対して構成されたコンピュータシステム、例えば、ＤＥＣ Ａｌｐｈａ ＣＰＵに対しても適用できるものである。これら変形例も本発明の範囲内に入り、本発明はクレームによってのみ限定されるものである。
【図面の簡単な説明】
【図１】
本発明の一つの実施例に従って構成されたデータアクセス配列を採用するコンピュータシステムである。
【図２Ａ】
本発明の一つの実施例による、第一のＤＲＡＭページサイズに対するデータアクセス配列を示す。
【図２Ｂ】
従来の技術による、第一のＤＲＡＭページサイズに対するデータアクセス配列を示す。
【図３】
図２Ｂのデータアクセス配列に対するメモリアクセスのマッピングを示す。
【図４Ａ】
本発明のもう一つの実施例による、第二のＤＲＡＭページサイズに対するデータアクセス配列を示す。
【図４Ｂ】
従来の技術による、第二のＤＲＡＭページサイズに対するデータアクセス配列を示す。
【図５】
図４Ｂのデータアクセス配列に対するメモリアクセスのマッピングを示す。
【図１】
2005501300.tif 000003
【図２Ａ】
2005501300.tif 000004
【図２Ｂ】
2005501300.tif 000005
【図３】
2005501300.tif 000006
【図４Ａ】
2005501300.tif 000007
【図４Ｂ】
2005501300.tif 000008
【図５】
2005501300.tif 000009
【国際公開パンフレット】
2005501300.tif 000010
2005501300.tif 000011
2005501300.tif 000012
2005501300.tif 000013
2005501300.tif 000014
2005501300.tif 000015
2005501300.tif 000016
2005501300.tif 000017
2005501300.tif 000018
2005501300.tif 000019
2005501300.tif 000020
2005501300.tif 000021
2005501300.tif 000022
2005501300.tif 000023
【国際公開パンフレット（コレクトバージョン）】
2005501300.tif 000024
2005501300.tif 000025
【国際公開パンフレット（コレクトバージョン）】
2005501300.tif 000026
2005501300.tif 000027
【国際調査報告】
2005501300.tif 000028
2005501300.tif 000029