(57)【特許請求の範囲】
【請求項１】
８×ｂ，ｂ＞ａなるビット幅のデータ端子を持ち、ＣＰＵがアクセスする８×ａビット幅のデ−タバスに、下位０〜〔８×ａ−１〕ビットの各デ−タ端子を接続し、かつ、残りの８×ａ〜〔８×ｂ−１〕ビットの各デ−タ端子を、前記デ−タバスの、それぞれ下位０〜〔８×ａ−１〕ビットの各デ−タ端子が接続したラインに接続した第１のＤＲＡＭ；
前記デ−タバスに接続した、８×ａビット幅のデータ端子を持つ第２のＤＲＡＭ；および、
第１および第２のＤＲＡＭのそれぞれに宛てた、それぞれが８×ｂビット幅か８×ａビット幅かを示す情報を格納するレジスタおよび該レジスタから読み出した情報をマスク信号に変換して第１および第２のＤＲＡＭに出力するデコーダを含み、アクセスされる第１又は第２のＤＲＡＭに宛てられた前記情報を前記レジスタから読出して、該情報に対応して第１のＤＲＡＭには下位０〜〔８×ａ−１〕ビットのデ−タ端子のマスク信号および８×ａ〜〔８×ｂ−１〕ビットのデ−タ端子のマスク信号を出力するメモリ制御回路；
を備えるメモリ装置。
【請求項２】
前記ＣＰＵは、各ＤＲＡＭに対し、ＤＲＡＭ宛ての前記いずれのビット幅かを示す情報を８×ｂビット幅を示すものとしてデ−タ書込みを行ない、次に読出しを行なって書込デ−タと読出しデ−タが一致すると８×ｂビット幅を示す情報を、不一致であると８×ａビット幅を示す情報を、前記レジスタにＤＲＡＭ宛てに書込む、請求項１に記載のメモリ装置。
【請求項３】
ａ＝４，ｂ＝８であって、ＤＲＡＭはシンクロナスＤＲＡＭである、請求項１又は請求項２に記載のメモリ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵがアクセスするＤＲＡＭメモリ装置に関し、特に、これに限定する意図ではないが、ＣＰＵのデ−タバスのビット幅に対してビット幅が大きいシンクロナスＤＲＡＭが混在するＤＲＡＭメモリ装置に関する。
【０００２】
【従来の技術】
特開平８−７７０９７号公報には、ＣＰＵのデ−タバス幅（ビット幅）の増大に適応しうる、シンクロナスＤＲＡＭのビット幅に対してＣＰＵのビット幅が広いメモリシステムが提示されている。
【０００３】
【発明が解決しようとする課題】
ＣＰＵのアクセススピ−ドを向上するためデ−タバス幅が拡がる傾向にあり、これに合わせてシンクロナスＤＲＡＭ（ＳＤＲＡＭ）のビット幅も拡がる傾向があるが、一方で、機構制御などでは、ＣＰＵがアクセスする小規模のメモリ装置の必要性も高い。例えば画像デ−タ処理では高精細化（高ＤＰＩ）の要求に伴って、６４ビット幅のＣＰＵとそれがアクセスする６４ビット幅のＳＤＲＡＭとを組合せるメモリシステムなど、メモリ装置が高容量化して行く一方で、機構制御あるいは簡易デ−タ処理では、３２ビットあるいはそれ以下のビット数のＣＰＵにてデ−タの読み書きをする比較的に小容量のメモリシステムの需要が根強い。この小容量メモリシステムでも、高速処理が可能なＳＤＲＡＭを用いようとすると、ＣＰＵのビット幅に対してＳＤＲＡＭのビット幅が拡いという組合せを採用せざるを得ない場合があり、その組合せの実現が望まれる。
【０００４】
本発明は、ＣＰＵのデータのバス幅に比べ広いバス幅のＤＲＡＭを該ＣＰＵのデ−タバスに接続したメモリ装置を提供することを第１の目的とする。狭いバス幅のＣＰＵに拡いバス幅のＤＲＡＭを簡易に組合せることを第２の目的とする。
【０００５】
【課題を解決するための手段】
（１）８×ｂ，ｂ＞ａなるビット幅(64ビット幅)のデータ端子を持ち、ＣＰＵ(101)がアクセスする８×ａビット幅(32ビット幅)のデ−タバス(MD＝Ｄ[31:0])に、下位０〜〔８×ａ−１〕ビット (0〜31＝Ｄ[31:0])の各デ−タ端子を接続し、かつ、残りの８×ａ〜〔８×ｂ−１〕ビット(32〜63＝Ｄ[63:32])の各デ−タ端子を、前記デ−タバスの、それぞれ下位０〜〔８×ａ−１〕ビットの各デ−タ端子が接続したラインに接続した第１のＤＲＡＭ(204)；
前記デ−タバスに接続した、８×ａビット幅のデータ端子を持つ第２のＤＲＡＭ(205)；および、
第１および第２のＤＲＡＭ(204,205)のそれぞれに宛てた、それぞれが８×ｂビット幅か８×ａビット幅かを示す情報を格納するレジスタ(320)および該レジスタから読み出した情報をマスク信号に変換して第１および第２のＤＲＡＭに出力するデコーダ(321)を含み、アクセスされる第１又は第２のＤＲＡＭに宛てられた前記情報を前記レジスタから読出して、該情報に対応して第１のＤＲＡＭには下位０〜〔８×ａ−１〕ビットのデ−タ端子のマスク信号(DQM[3:0])および８×ａ〜〔８×ｂ−１〕ビットのデ−タ端子のマスク信号(DQM[7:4])を出力するメモリ制御回路(201)；
を備えるメモリ装置。なお、理解を容易にするためにカッコ内には、図面に示し後述する実施例の対応要素の符号又は対応事項を、参考までに付記した。以下も同様である。
【０００６】
これによれば、マスク信号(DQM)にてＤＲＡＭ(204)の８×ａビット〜〔８×ｂ−１〕ビット(32〜63＝Ｄ[63:32])のデ−タ端子をマスクすることにより、３２ビット幅のアクセスにてＤＲＡＭ(204)を読み書きすることができる。ＤＲＡＭ(204)の６４ビットデ−タから下位３２ビットのデ−タのみを摘出するセレクタやマルチプレクサ等のデバイスを要しないので、低コストのメモリ装置が得られる。
【０００７】
【発明の実施の形態】
（２）前記ＣＰＵ(101)は、各ＤＲＡＭ(204,205)に対し、ＤＲＡＭ(204,205)宛ての前記いずれのビット幅かを示す情報(A5)を８×ｂビット幅(64ビット)を示すものとしてデ−タ書込みを行ない、次に読出しを行なって書込デ−タと読出しデ−タが一致すると８×ｂビット幅を示す情報を、不一致であると８×ａビット幅を示す情報を、前記レジスタ(320)にＤＲＡＭ(204,205)宛てに書込む。
【０００８】
これによれば、ＤＲＡＭ(204,205)ごとに、あらかじめビット幅を知る必要はなく、簡単にビット幅が検知できる。
（３）ａ＝４，ｂ＝８であって、ＤＲＡＭ(204,205)はシンクロナスＤＲＡＭである。
【０００９】
本発明の他の目的および特徴は、図面を参照した以下の実施例の説明より明らかになろう。
【００１０】
【実施例】
図５に、本発明の一実施例のメモリ装置１０５を用いたメモリシステムを示す。図５において、１０１はＣＰＵであり、内部にインストラクションとデータのキャッシュ・メモリを持っており、外部アクセスは、シングル・リードまたはライト、バースト・リードまたはライトにて行う。１０２はシンクロナスＤＲＡＭ（以下、ＳＤＲＡＭと呼ぶ時がある）モジュールとの間のインターフェースであり、制御ＡＳＩＣ  １０３にて制御される。制御ＡＳＩＣ  １０３は、ＣＰＵ  １０１からの外部アクセス要求に対する制御を行っているＡＳＩＣである。１０４はＲＯＭ等の低速Ｉ／Ｏであり、制御ＡＳＩＣ  １０３を介してＣＰＵ  １０１にデータを渡す。１０５から１０８はＳＤＲＡＭモジュール（以下、ＳＤＲＡＭＭと呼ぶ時がある）であり、ＳＤＲＡＭモジュ−ル１０５が本発明の実施例である。
【００１１】
図６に、ＳＤＲＡＭモジュ−ル１０５の構成を示す。ＳＤＲＡＭモジュール１０５は、ＳＤＲＡＭ制御回路２０１、水晶発振器２０２、ＳＤＲＡＭ２０３〜２０６にて構成されている。ＳＤＲＡＭ２０３と２０４は、下位０〜６３ビット（以下これを［６３：０］と記す）の６４ビット幅、ＳＤＲＡＭ２０５と２０６は、デ−タバスＭＤのビット幅［３１：０］と同一のビット幅である。そこでＳＤＲＡＭ２０３と２０４を、簡易に［３１：０］のビット幅で使用しうるように、ＤＲＡＭ２０３と２０４のビット［６３：３２］のデ−タ端子Ｄ［６３：３２］のそれぞれを、デ−タ端子Ｄ［３１：０］のそれぞれが接続したデ−タバスラインＭＤ［３１：０］に、ワイヤ−ドオア接続している。つまり、例えば、ＤＲＡＭ２０３および２０４のそれぞれの、デ−タ端子Ｄ［０：０］とＤ［３２：３２］がデ−タバスＤＭ［０：０］に共通接続している。
【００１２】
ＳＤＲＡＭ制御回路２０１は、このモジュール１０５の全体を制御しており、図５のＩ／Ｆ  ＡＳＩＣ  １０２との間で、ＡＤＤＲ、ＤＡＴＡ、Ｒ＿ＡＤＤＲ、Ｗ＿ＡＤＤＲ、ＣＭＤ、ＳＴＡＲＴ、ＨＩＧＨ、ＮＥＸＴ＿ＯＫの信号を使用してインタフェースしている。
【００１３】
ＡＤＤＲは、アクセス・リクエストのアドレスを示し、
ＤＡＴＡは、ライト時には、このバスを通してライト・データを受取り、リード時には、このバスを通してリード・データを送る，
Ｒ＿ＡＤＤＲは、リード時にＤＡＴＡバスに何番目のデータを送り出しているかを示し、
Ｗ＿ＡＤＤＲは、ライト時にＤＡＴＡバスに何番目のライト・データが転送されているかを示す，
ＣＭＤは、アクセス要求の種類を示し、リード／ライト、シングル／バースト（４ワード、８ワード）等を示す，
ＳＴＡＲＴは、リクエストを発行したことを示す信号で、一定期間アサートする，
ＨＩＧＨは、現在ＡＤＤＲに示されている内容が上位ビット側なのか、下位ビット側なのかを示す信号である，
ＮＥＸＴ＿ＯＫはリード・バッファ・メモリの容量以上のデータのリードを行う時に使用する信号で、リード・バッファ・メモリに新しいリード・データを上書きしても良いことを示す信号である。
【００１４】
ＳＤＲＡＭ制御回路２０１はまた、ＳＤＲＡＭ２０３〜２０６との間でＲＡ、ＭＤ、ＣＯＮＴ信号を介してインタフェースしている。
【００１５】
ＲＡは、ＳＤＲＡＭ２０３〜２０６に与えるアドレスのバス、
ＭＤは、ＳＤＲＡＭ２０３〜２０６との間のデータ・バス、
ＣＯＮＴは、ＲＡＳ、ＣＡＳ、ＷＥ、ＣＫＥ、ＣＳ、ＤＱＭなどを含む、ＳＤＲＡＭ２０３〜２０６の制御信号のバスである。なお、ＣＯＮＴ  １は、全制御信号（ＣＯＮＴ）から、マスク信号ＤＱＭを除外した残りの制御信号を意味する。
【００１６】
水晶発振器２０２は、ＳＤＲＡＭＭ  １０５内でのみ使用されるクロック信号を供給しており、ＳＤＲＡＭ２０３〜２０６もこのクロック信号で動作している。
【００１７】
図７に、ＳＤＲＡＭ制御回路２０１の構成を示す。ＳＤＲＡＭ制御回路２０１は、シーケンサ３０１、４ワード分のライト・レジスタ３０２〜３０５、これらのレジスタ３０２〜３０５の内のＳＤＲＡＭに供給するハーフ・ワード分のライト・データを選択するセレクタ１  ３０６、該ＳＤＲＡＭからのリ−ド・デ−タもしくはライト・レジスタ３０２〜３０５の１つを選択してリ−ド・レジスタ３０８に供給するセレクタ２  ３０７、ハーフ・ワード分のリード・データをも受け，必要な場合には２回のリード・データからワードのリード・データを作り出しまたリード・データの送り出しタイミングを決定するためのリード・レジスタ３０８、および、バッファ３０９〜３１２により構成されている。セレクタ２  ３０７は、ＳＤＲＡＭ  ２０３〜２０６からのリ−ド・デ−タ又はライト・レジスタ３０２〜３０５の内のいずれか１つデ−タをリ−ド・レジスタ３０８に供給できる構成となっており、ライト・レジスタ３０２〜３０５に記憶されているデ−タを、ＳＤＲＡＭ２０３〜２０６のアクセスを行うことなくリ−ド・デ−タとして供給することができる。
【００１８】
本発明を実施するためにＳＤＲＡＭ制御回路２０１には、レジスタ３２０と、レジスタ３２０から読み出すデ−タに対応したＤＱＭを発生するデコ−ダ３２１が備わっている。
【００１９】
図８に、図５に示すＩ／Ｆ  ＡＳＩＣ  １０２の構成を示す。このインタ−フェ−ス１０２は、シーケンサ４０１、４ワード分のリード・レジスタ４０２〜４０５、これらのレジスタ４０２〜４０５の内のＣＰＵに供給するリード・データを選択するセレクタ４０６、ＣＰＵ  １０１からのライト・データを一時記憶するライト・レジスタ４０７、および、バッファ４０８〜４１１から構成される。
【００２０】
図１に、ＳＤＲＡＭ制御回路２０１と、ＳＤＲＡＭ２０４，２０５との組合せ部を抜粋して示す。ＳＤＲＡＭ  ２０４は、ＤＩＭＭ（ＲＡＭモジュ−ル）で構成され６４ｂｉｔデータバス幅であり、ＳＤＲＡＭ  ２０５は、チップで構成され３２ｂｉｔのデータバス幅である。ＳＤＲＡＭ  ２０４，２０５それぞれにＣＳが割り与えられ、マスクＤＱＭは、ＳＤＲＡＭ  ２０５にはＤＱＭ［３：０］の４本、ＳＤＲＡＭ  ２０４にはＤＱＭ［７：０］の７本が接続される。ＤＱＭ０はＤ［７：０］宛て、ＤＱＭ１はＤ［１５：８］宛て、ＤＱＭ２はＤ［２３：１６］宛て、ＤＱＭ３はＤ［３１：２４］宛て、ＤＱＭ４はＤ［３９：３２］宛て、ＤＱＭ５はＤ［４７：４０］宛て、ＤＱＭ６はＤ［５５：４８］宛て、ＤＱＭ７はＤ［６３：５６］宛て、である。例えば、ＤＱＭ０に「１」を立てれば、ＳＤＲＡＭはそれに対応した８本のデ−タ端子Ｄ［７：０］に対し、ＲeadならＨｉ  Ｚを、Writeなら書き込み禁止を指定する。
【００２１】
制御回路２０１の３２ｂｉｔデータバスＭＤ［３１：０］とＳＤＲＡＭ  ２０４との接続は、Ｄ［７：０］とＤ［３９：３２］、Ｄ［１５：８］とＤ［４７：４０］、Ｄ［２３：１６］とＤ［５５：４８］、Ｄ［３１：２４］とＤ［６３：５６］をワイヤードオアして接続している。
【００２２】
図２は、ＣＰＵ１０１よりメモリシステムへのアクセス対象となる物理アドレスと、Ｒowアドレス、Ｃolumnアドレス、Ｂankアドレスとの関係を示し、図３は、物理アドレスＡ５に書込むデ−タと、該デ−タ値に対応して発生するＤＱＭ［７：０］の関係を示す。ここで注目すべきことは、物理アドレスＡ５が３２ｂｉｔと６４ｂｉｔバス幅によって割り当てられているところが相違しており、６４ｂｉｔバス幅においてはＤＱＭの有効部分に割り当てられている。なお、３２ｂｉｔと６４ｂｉｔバス幅のどちらの割り当てを選ぶかは、レジスタ３２０への書込みによってプログラマブルに設定可能である。
【００２３】
図４は、ＣＰＵ１０１が、ＳＤＲＡＭＭ０  １０５の各ＳＤＲＡＭ  ２０３〜２０６が、６４ｂｉｔバス幅か３２ｂｉｔバス幅かを検知するフローを示す。ＣＰＵ１０１は、
(1)全てのＳＤＲＡＭ  ２０３〜２０６に対し、レジスタ３２０に６４ｂｉｔバス幅を意味するＡ５＝１を設定する。すなわちレジスタ３２０の、各ＳＤＲＡＭ宛てのデ−タＡ５を１とする（図４のステップ１）。これにより、各ＳＤＲＡＭ２０３〜２０６にアクセスするとき、図３の「Ａ５＝１」の欄のＤＱＭが発生する。
【００２４】
(2)各ＳＤＲＡＭ  ２０３〜２０６に対して、ステップ３〜８を実施して、各ＳＤＲＡＭ  ２０３〜２０６が、６４ｂｉｔバス幅か３２ｂｉｔバス幅かを検知する。検知に応じて、レジスタ３２０に、該当ＳＤＲＡＭ宛てに６４ｂｉｔバス幅か３２ｂｉｔバス幅かを示すデ−タ（情報）を書込む；
すなわち、ステップ３のＣＳベースアドレス＋０ｘ２０とは、物理アドレスＡ５に１がたつアドレスであることを示す。ステップ４では、上記アドレスに値Ｂを書き込む。Ａ５＝１であり、６４ｂｉｔバス幅設定であるので図３よりＤＱＭはＤＱＭ［７：４］が有効である。よってメモリシステムが３２ｂｉｔバス幅である場合、ＤＱＭ［３：０］が「１」に固定であるため（マスクされているため）何も書き込まれない。ステップ５では上記アドレスのデ−タを読出す。そしてステップ６では書き込んだ値と読出した値を比較し、等しければステップ７にてテスト中のＳＤＲＡＭは６４ｂｉｔバス幅と判断し、違っていれば（何も書き込まれていないために相違する）、ステップ８にて、テスト中のＳＤＲＡＭは３２ｂｉｔバス幅であると判断する。
【図面の簡単な説明】
【図１】  図５に示すメモリシステムの、ＳＤＲＡＭモジュ−ル１０５の内部の一部分の概要を示すブロック図である。
【図２】  図５に示すＣＰＵ１０１よりメモリシステムへのアクセス対象となる物理アドレスと、Ｒowアドレス，ＣolumnアドレスおよびＢankアドレスとの関係を示す図表である。
【図３】  図２に示すアドレスＡ５のデ−タ０，１対応のマスク信号ＤＱＭを示す図表である。
【図４】  図５に示すＣＰＵ１０１の、図６に示すＳＤＲＡＭ２０３〜２０６が６４ビット幅か３２ビット幅かを検出するためのデ−タ読み書き処理を示すフロ−チャ−トである。
【図５】  ＳＤＲＡＭモジュ−ル１０５を装備したメモリシステムの概要を示すブロック図である。
【図６】  図５に示す本発明の一実施例のＳＤＲＡＭモジュ−ル１０５の構成を示すブロック図である。
【図７】  図６に示す制御回路２０１の構成を示すブロック図である。
【図８】  図５に示すＩ／Ｆ  ＡＳＩＣ  １０２の構成を示すブロック図である。
【符号の説明】
３０１：シ−ケンサ  ３０２〜３０５：ライト・レジスタ
３０６：セレクタ１    ３０７：セレクタ２
３０８：リ−ド・レジスタ
３０９〜３１２：バッファ
３２０：レジスタ      ３２１：デコ−ダ
４０１：シ−ケンサ    ４０２〜４０５：リ−ド・レジスタ
４０６：セレクタ１    ４０７：セレクタ２
４０８：ライト・レジスタ
４０９〜４１２：バッファ
【図１】
0003719633.tif 000002
【図２】
0003719633.tif 000003
【図３】
0003719633.tif 000004
【図４】
0003719633.tif 000005
【図５】
0003719633.tif 000006
【図６】
0003719633.tif 000007
【図７】
0003719633.tif 000008
【図８】
0003719633.tif 000009