(57)【特許請求の範囲】
【請求項１】
複数のメモリセルを有する第１のメモリアレイ、
複数のメモリセルを有する第２のメモリアレイ、
データ格納手段を含み、前記第１および第２のメモリアレイの間に設けられかつ前記第１および第２のメモリアレイの間のデータ転送を行なうためのデータ転送手段、
前記第１のメモリアレイとデータの授受を行なう、特定の処理に用いられるデータを記憶する記憶手段、および
前記データ転送手段、前記第２のメモリアレイおよび前記記憶手段に選択的に結合され、装置外部とデータ入出力を行なうための入出力回路を備える、半導体記憶装置。
【請求項２】
前記記憶手段は、
前記第１のメモリアレイから前記データ転送手段を介して与えられるデータを記憶し、該記憶データを前記入出力回路を介して装置外部へ出力する読出データ記憶手段を備える、請求項１記載の半導体記憶装置。
【請求項３】
前記記憶手段は、
前記入出力回路を介して装置外部から与えられるデータを格納し、該格納データを前記データ転送手段を介して前記第１のメモリアレイへ伝達する書込データ記憶手段を備える、請求項１または２記載の半導体記憶装置。
【請求項４】
前記記憶手段は、前記データ転送手段と並列に設けられ、前記入出力回路から与えられたデータを格納しかつ該格納したデータを前記第１のメモリアレイへ転送する記憶／転送手段を備える、請求項１記載の半導体記憶装置。
【請求項５】
前記記憶手段は、
前記データ転送手段と並列に前記第１のメモリアレイに結合され、前記第１のメモリアレイからのデータを受けて格納し、かつ該格納データを前記入出力回路を介して装置外部へ出力する記憶／転送手段を備える、請求項１記載の半導体記憶装置。
【請求項６】
前記データ転送手段は、
前記第１のメモリアレイから転送されたデータを受けて格納するマスタラッチ手段と、
前記マスタラッチ手段のラッチデータを受けるスレーブラッチ手段とを備え、前記スレーブラッチ手段は、受けて格納したデータを前記第２のメモリアレイへ転送しかつ前記入出力回路へ選択的に伝達する手段を含み、
前記記憶手段は、
前記マスタラッチ手段と前記入出力回路との間に前記スレーブラッチ手段と並列に設けられ、前記マスタラッチ手段からのデータを受けて格納しかつ該格納データを前記入出力回路へ選択的に伝達する手段を含む、請求項１記載の半導体記憶装置。
【請求項７】
前記データ転送手段は、
前記第２のメモリアレイおよび前記入出力回路から選択的に与えられるデータを受けて格納するマスタラッチ手段と、
前記マスタラッチ手段の格納データを受けて前記第１のメモリアレイへ転送するためのスレーブラッチ手段とを含み、
前記記憶手段は、
前記入出力回路からのデータを格納しかつ該格納データを前記スレーブラッチ手段を介して前記第１のメモリアレイへ転送する前記マスタラッチ手段と並列に設けられる手段を備える、請求項１記載の半導体記憶装置。
【請求項８】
前記データ転送手段は、複数ビットのデータを前記第１および第２のメモリアレイの間で同時に転送する手段を含み、
前記記憶手段は、
前記複数ビットのデータを記憶する容量を備える、請求項１ないし７のいずれかに記載の半導体記憶装置。
【請求項９】
前記特定の処理は画像データ処理であり、
前記記憶手段は、画像表示装置の表示画面上の１走査線上の画素データを格納する記憶容量を備える、請求項１ないし７のいずれかに記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は半導体記憶装置に関し、特に、大記憶容量のメモリと高速のメモリとが同一半導体基板上に集積化された半導体記憶装置に関する。より特定的には、この発明は画像データ処理用途に適した半導体記憶装置の構成に関する。
【０００２】
【従来の技術】
近年、文字情報、音声情報および動画情報等の異なるメディア情報を同一プラットホーム上で処理を行なうマルチメディアシステムが構築されつつある。このようなシステムにおいては、特に動画が有する膨大な量の画像データを高速に処理する必要があり、一般に、以下に示すような構成が用いられる。
【０００３】
図２２は、従来の画像処理システムの構成を概略的に示す図である。図２２において、画像処理システムは、データに対し必要な演算処理を行なう中央演算処理装置（ＣＰＵ）１と、画像データの処理および画像表示装置上へのこの画像データの表示を行なうグラフィックエンジン２とを含む。グラフィックエンジン２は、中央演算処理装置１と異なり、画像データの処理のみを行ない、一方、中央演算処理装置１は、画像データの処理および命令の実行、およびシステム全体の動作制御などを実行する。
【０００４】
画像処理システムは、さらに、中央演算処理装置１およびグラフィックエンジン２に対するキャッシュメモリとして用いられるスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）３と、このシステムの主記憶として用いられるダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）４と、グラフィックエンジン２に結合され、画像データのバッファメモリとして用いられるビデオメモリ（ＶＲＡＭ）５を含む。中央演算処理装置１、グラフィックエンジン２、ＳＲＡＭ３およびＤＲＡＭ４は、共通データバス６を介して相互接続される。
【０００５】
中央演算処理装置１は、通常はＳＲＡＭ３へアクセスし、このＳＲＡＭ３に、必要とされるアドレスのメモリセルのデータが存在しない場合には、ＤＲＡＭ４へアクセスする。グラフィックエンジン２は、ＤＲＡＭ４へアクセスし、必要なデータをビデオメモリ５に格納し、必要な処理を行なった後、再びこのビデオメモリ５へデータを書込む。画像表示装置への表示では、このビデオメモリ５に格納されたデータを順次画像表示装置（図示せず）へ与える。
【０００６】
上述のような処理システムにおいては、処理用途に応じて複数種類のメモリが用いられる。このため、用いられるメモリの数が多くなり、システムコストの上昇および実装密度の低下が生じ、小型かつ低価格の処理システムを構築することができないという問題が生じる。
【０００７】
また、ＤＲＡＭは、プロセス微細化技術の発展に伴って、その集積度は３年あたり４倍の割合で増加しており、近い将来メインメモリを１チップで構成できるようになる。たとえば、６４ＭビットＤＲＡＭであれば、８Ｍワード・８ビットの記憶容量を１チップのメモリを用いて実現することができる。メインメモリを１チップで構成できれば、このメインメモリのためのコストおよび占有面積を低下することができるにもかかわらず、複数種類のメモリを用いる必要があれば、コスト低減および実装密度増加を十分に実現することができなくなる。このような状況は既にパーソナルコンピュータなどの比較的小記憶容量のメインメモリを利用するシステムにおいて生じている。
【０００８】
図２３は、従来の改良された処理システムの構成を概略的に示す図である。図２３に示す構成においては、ＣＰＵ１およびグラフィックエンジン２が、共通データバス６を介して高速ＤＲＡＭ７に接続される。この高速ＤＲＡＭ７は、ＣＰＵ１が利用するプログラムデータとグラフィックエンジン２が利用する画像データとを記憶する。
【０００９】
図２４は、図２３に示すデータ処理システムの動作を示すタイミングチャート図である。図２４に示すように、ＣＰＵ１およびグラフィックエンジン２が、高速ＤＲＡＭ７に対し、たとえばシステムクロックであるメインクロックの各サイリスタごとに交互にアクセスする。すなわち、図示しないインタフェース回路を介して、ＣＰＵ１およびグラフィックエンジン２が高速ＤＲＡＭ７に対し時分割的にアクセスする。この図２３に示す構成を利用すれば、１チップの高速ＤＲＡＭ７を用いて３種類（図２２のＳＲＡＭ３，ＤＲＡＭ４およびＶＲＡＭ５）の異なるメモリの機能を実現することができる。これにより、システムの実装密度を高くするこができ、またコストも低減することができる。
【００１０】
上述のような機能を実現するのに適した高速ＤＲＡＭとしては、大記憶容量ＤＲＡＭと高速ＳＲＡＭとが同一チップ上に集積化されたキャッシュＤＲＡＭ（ＣＤＲＡＭ）が知られている。キャッシュＤＲＡＭ（ＣＤＲＡＭ）は、高速ＳＲＡＭが集積化されているため、高速ランダムアクセスを実現することができる。したがって、ＣＰＵ１が要求するプログラムデータとグラフィックエンジンが要求する画像データとを時分割でアクセスする構成としても、メインクロック周波数を高くすることにより、必要とされる速度でこれらのデータをアクセスすることができ、システム性能はほとんど低下しない。
【００１１】
図２５は、従来のＣＤＲＡＭの全体の構成を概念的に示す図である。図２５において、従来のＣＤＲＡＭは、４Ｍ・４ビットの記憶容量を備えるＤＲＡＭアレイ１０と、４Ｋ・４ビットの記憶容量を備えるＳＲＡＭアレイ１２と、ＤＲＡＭアレイ１０からＳＲＡＭアレイ１２へ、１６・４ビットのデータを同時に転送するための読出データ転送バッファ（ＤＴＢＲ）１４と、ＳＲＡＭアレイ１２からＤＲＡＭアレイ１０へ、１６・４ビットのデータを並列に転送する書込データ転送バッファ（ＤＴＢＷ）１６を含む。
【００１２】
ＤＴＢＲ１４は、ＤＲＡＭアレイ１０からＤＲＡＭデータバス３０を介して与えられる１６・４ビットのデータを格納するマスタラッチ２０と、このマスタラッチ２０に格納されたデータをＳＲＡＭデータバス３２へ伝達するスレーブラッチ２２を含む。ＤＴＢＷ１６は、ＳＲＡＭデータバス３２からのデータを格納するマスタラッチ２４と、このマスタラッチ２４に格納されたデータを受けてＤＲＡＭデータバス３０へ伝達するスレーブラッチ２６を含む。ＳＲＡＭデータバス３２は、図示しないデコーダ回路を介して４ビット幅の入出力データバス３４に接続される。この入出力データバス３４は、入出力バッファ２８に接続される。
【００１３】
後に詳細に説明するように、入出力バッファ２８は、ＤＴＢＲ１４、ＤＴＢＲ１６およびＳＲＡＭアレイ１２とデータの授受を行なうことができる。
【００１４】
ＤＲＡＭアレイ１０とＳＲＡＭアレイ１２とは互いに独立にアドレス指定が可能である。ＤＲＡＭアレイ１０の任意の位置のメモリセルのデータがＤＲＡＭデータバス３０上へ伝達される。したがって、ＳＲＡＭアレイ１２へＤＲＡＭアレイ１０の任意の位置のデータを転送することができる。データ転送時においては、１６・４ビットの容量を備えるＤＴＢＲ１４およびＤＴＢＷ１６を用いて転送データを一度に転送することができ、高速データ転送が可能となる。ＳＲＡＭアレイ１２をキャッシュメモリとして利用する場合、キャッシュミス時に一度にキャッシュブロックのデータをＤＲＡＭアレイ１０からＳＲＡＭアレイ１２へ転送することができ、外部処理装置の待ち時間を低減することができる。
【００１５】
図２６は、図２５に示すＤＴＢＲおよびＤＴＢＷの１ビットの部分の構成を示すブロック図である。図２６において、ＤＴＢＲ１４は、１ビットのＤＲＡＭデータバスを構成するグローバルＩ／Ｏ線ＧＩ／ＯおよびＺＧＩ／Ｏ上のデータをプリアンプイネーブル信号ＤＰＡＥに応答して増幅するプリアンプ４３と、プリアンプ４３で増幅されたデータをラッチするマスタラッチ回路２０ａと、マスタラッチ回路２０ａのラッチデータを、転送指示信号ＤＲＴＥに応答してスレーブラッチ回路２２ａへ転送する転送ゲート４４を含む。
【００１６】
ＤＴＢＲ１６は、転送データをラッチするマスタラッチ回路２４ａと、転送指示信号ＤＷＴＥに応答して、このマスタラッチ回路２４ａのラッチデータをスレーブラッチ回路２６ａへ転送する転送ゲート４１と、スレーブラッチ回路２６ａのラッチデータを、プリアンプイネーブル信号ＤＷＤＥに応答して増幅し、グローバルＩ／Ｏ線ＧＩ／ＯおよびＺＧＩ／Ｏへ伝達するプリアンプ４２を含む。グローバルＩ／Ｏ線ＧＩ／ＯおよびＺＧＩ／Ｏは互いに相補なデータ信号を転送し、１ビットＤＲＡＭデータバス３０ａを構成する。
【００１７】
入出力バッファ２８は、データ入出力端子へ与えられる１ビットデータＤＱを、書込指示信号Ｗに応答して増幅して内部書込データを生成する入力バッファ６１と、読出指示信号Ｒに応答して活性化され、与えられたデータを増幅して、読出データを生成するメインアンプ６２を含む。
【００１８】
ＤＴＢＲ１４およびＤＴＢＷ１６ならびにＳＲＡＭアレイを入出力バッファ２８へ選択的に結合するために、書込デコード信号ＳＹＷに応答して活性化され、入力バッファ６１から与えられたデータを増幅して、ＳＲＡＭビット線ＳＢＬおよびＺＳＢＬへ伝達するライトドライブ５１と、書込デコード信号ＢＹＷに応答して、入力バッファ６１から与えられたデータをマスタラッチ回路２４ａへ伝達するデコーダ５２と、転送指示信号ＢＷＴＥに応答して活性化され、ＳＲＡＭビット線ＳＢＬおよびＺＳＢＬ上のデータを増幅してマスタラッチ回路２４ａへ伝達するドライブ５３と、転送指示信号ＢＲＴＥに応答して活性化され、スレーブラッチ回路２２ａのラッチデータをＳＲＡＭビット線ＳＢＬおよびＺＳＢＬへ伝達するドライブ５４と、アクセス選択信号ＳＥＬに応答して、ドライブ５４およびスレーブラッチ回路２２ａおよびＳＲＡＭビット線ＳＢＬおよびＺＳＢＬ上のデータのいずれかを選択するセレクタ５５と、読出デコード信号ＲＹＷに応答して活性化され、セレクタ５５の選択する信号を増幅してメインアンプ５２へ伝達するデコーダ５６を含む。ドライバ５３および５４は各々ＤＴＢＷ１６ａおよびＤＴＢＲ１４ａに含まれる様に示される。
【００１９】
ＳＲＡＭビット線ＳＢＬおよびＺＳＢＬは、互いに相補なＳＲＡＭデータを伝達する信号線であり、１ビットＳＲＡＭデータバス３２ａを構成する。デコード信号ＢＹＷ、ＳＹＷ、およびＲＹＷは、１６ビットのデータのうち１ビットのデータを選択する。入出力バッファ２８ａは、１ビットのデータの入出力を行ない、この入出力バッファ２８ａが４つ並列に設けられて、４ビットのデータが入出力される。ライトドライバ５１により、ＳＲＡＭデータバス３２ａへ入力バッファ５１からデータを書込むことができる。デコーダ５２により、入力バッファ５１からのデータをＤＴＢＷ１６へ書込むことができる。ドライブ５３により、ＳＲＡＭデータバス３２ａとＤＲＡＭデータバス３０ａの間でデータ転送を行なうことができる。ドライバ５４により、ＤＲＡＭデータバス３０ａとＳＲＡＭデータバス３２ａの間でデータ転送を行なうことができる。セレクタ５５により、ＳＲＡＭデータバス３２ａおよびＤＴＢＲ１６のいずれかのデータを選択して入出力バッファ２８へ与えることができる。
【００２０】
また、データ転送バッファＤＴＢＲおよびＤＴＢＷを、ともに、マスタラッチおよびスレーブラッチの構成とすることにより、ＳＲＡＭアレイからＤＲＡＭアレイへのデータ転送と並行してＤＲＡＭアレイからＳＲＡＭアレイへデータを転送することができ、ＳＲＡＭをキャッシュメモリとして利用する場合のキャッシュミス時におけるコピーバックを高速で行なうことができる。
【００２１】
【発明が解決しようとする課題】
上述のように、ＣＤＲＡＭは、高速ＳＲＡＭが集積化されているため、プログラムデータ（ＣＰＵデータ）および画像データ（グラフィックデータ）を時分割態様でアクセスしても高速アクセスが可能なため、所望の速度で必要なデータを得ることができ、システム性能の低下はほとんど生じない。
【００２２】
ＣＤＲＡＭに画像データをキャッシングする場合、（ｉ）ＳＲＡＭアレイを利用するおよび（ii）データ転送バッファを利用するの２つのケースが考えられる。ＳＲＡＭアレイを画像データのキャッシュ領域として利用する場合、図２７に示すように、ＤＲＡＭアレイ１０における画像データ格納領域６０の画素データがＳＲＡＭアレイ１２に格納される。ＳＲＡＭアレイ１２は４Ｋ・４ビットの記憶容量を備える。したがって、たとえば画像の１走査線が１０２４画素で構成されかつ、１画素が８ビットデータで構成される場合、ＳＲＡＭアレイ１２に１走査線の画素データを格納することができる。しかしながら、たとえば、動画像処理などにおいて、画像データの処理では、１６行×１６列または８行×８列などの画素単位で処理が行なわれることが多い（たとえば離散コサイン変換処理）。したがって、画像データのキャッシュとしては、１６画素データを格納する領域があれば十分な性能が得られる。したがって、図２７に示すようにＳＲＡＭアレイ１２の領域を画像データのキャッシュ領域として利用する場合、必要以上にＳＲＡＭアレイ１２の領域が画像データのキャッシュ領域として利用されているため、ＳＲＡＭアレイの利用効率が悪いという問題が生じる（１走査線のうち一部分の領域の画素データのみが画像データ処理時において利用されることが多いため）。
【００２３】
ＤＴＢＲ１４およびＤＴＢＷ１６をキャッシュ領域として利用する場合には以下の問題が生じる。
【００２４】
図２８に示すように、ＳＲＡＭアレイ１２にはＣＰＵが利用するプログラムデータを格納し、ＤＴＢ１５（ＤＴＢＲ１４およびＤＴＢＷ１６両者を含む）に画像データを格納する。ＤＲＡＭアレイ１０とＳＲＡＭアレイ１２の間のデータ転送は、ＤＴＢ１５を介して行なわれる。したがって、プログラムデータのキャッシュミス時において、ＤＲＡＭアレイ１０からＳＲＡＭアレイ１２へ必要とされるデータを転送する場合、ＤＴＢ１５に格納された画像データがこのプログラムデータで書換えられないように注意する必要がある。この場合、（ｉ）データ転送バッファＤＴＢ１５に格納された画像データがグラフィックエンジンによりすべて処理されるまで、ＣＰＵのアクセスを待機状態とする、および（ｉｉ）ＤＲＡＭアレイ１０からＳＲＡＭアレイ１２へＣＰＵが必要とするプログラムデータを転送した後、再びＤＲＡＭアレイ１０の画像データ格納領域からＤＴＢ１５へ画像データを転送するの２つの方法が考えられる。しかしながら、これら方法（ｉ）および（ｉｉ）のいずれにおいても、ＣＰＵが待機状態とされる時間が長くなるか、グラフィックエンジンが待機状態とされる時間が長くなるという問題が生じ、高速データ処理が実現できず、システム性能が低下するという問題が生じる。
【００２５】
それゆえ、この発明の目的は、画像データなどの特定の処理に用いられるデータを効率的にキャッシングすることのできる半導体記憶装置を提供することである。
【００２６】
この発明の他の目的は、システム性能の低下を伴うことのない、マルチメディアシステム用途に適した半導体記憶装置を提供することである。
【００２７】
この発明のさらに他の目的は、マルチメディアの異なるデータを効率的に格納することのできる小占有面積かつ高速の半導体記憶装置を提供することである。
【００２８】
【課題を解決するための手段】
この発明に係る半導体記憶装置は、要約すれば、ＤＲＡＭアレイとＳＲＡＭアレイと、これらＳＲＡＭアレイおよびＤＲＡＭアレイの間の、ラッチ機能を備えかつデータ転送を行なうデータ転送バッファとを有する半導体記憶装置であって、特定の処理に用いられるデータを記憶するバッファメモリをさらに備える。
【００２９】
すなわちこの発明に係る半導体記憶装置は、複数のメモリセルを有する第１のメモリアレイと、複数のメモリセルを有する、この第１のメモリアレイと別に設けられる第２のメモリアレイと、これら第１および第２のメモリアレイの間に設けられ、第１および第２のメモリアレイの間のデータ転送を行なうためのデータ転送手段を備える。このデータ転送手段は、転送データを格納する手段を含む。
【００３０】
この発明に係る半導体記憶装置は、さらに、第１のメモリアレイとデータの授受を行なう、特定の処理に用いられるデータを記憶する記憶手段と、データ転送手段、第２のメモリアレイおよびこの記憶手段に選択的に結合され、装置外部とデータ入出力を行なうための入出力回路を備える。
【００３１】
画像データなどの特定の処理に用いられるデータを記憶する手段は、第１のメモリアレイとデータの転送が可能であり、また入出力回路に結合される。したがって、外部の特定処理を行なう装置は、この記憶手段へアクセスすることにより高速アクセスが可能となる。この記憶手段の記憶容量を適当な大きさに設定することにより、特定の処理に用いられるデータの効率的なキャッシングが可能となる。
【００３２】
また、ＣＰＵなどの外部処理装置は、データ転送バッファまたは第２のメモリアレイへアクセスすることにより、記憶手段の記憶データの影響を受けることなく必要データを高速でアクセスすることができる。したがって、ＣＰＵなどの外部処理装置に対し、データ転送バッファおよび第２のメモリアレイをキャッシュ領域として利用することができ、ＣＰＵなどの外部処理装置に対する適当な大きさを備えるキャッシュメモリを実現することができる。これにより、マルチメディアシステム用途に最適な半導体記憶装置を実現することができる。
【００３３】
【発明の実施の形態】
［実施の形態１］
図１は、この発明の第１の実施の形態である半導体記憶装置の要部の構成を概念的に示す図である。図１において、半導体記憶装置は、第１のメモリアレイとしてのＤＲＡＭアレイ１０と、第２のメモリアレイとしてのＳＲＡＭアレイ１２と、ＤＲＡＭデータバス３０およびＳＲＡＭデータバス３２に結合されるデータ転送手段としてのデータ転送バッファ１５を含む。このデータ転送バッファ１５は、従来と同様、読出データ転送バッファＤＴＢＲ１４および書込データ転送バッファＤＴＢＷ１６を含む。
【００３４】
ＤＲＡＭアレイ１０は、一例として、４Ｍビット・４ビットの記憶容量を備え、ロウデコーダ６３およびコラムデコーダ６４により、同時に１６・４ビットのメモリセルが選択状態とされる。ＳＲＡＭアレイ１２は、一例として、４Ｋビット・４ビットの記憶容量を備え、ロウデコーダ６５により４本のワード線が同時に選択状態とされる。各ワード線に、１６ビットのメモリセルが接続される。これにより、ＳＲＡＭアレイ１２において、１６ビット・４ビットのデータが同時に選択状態とされる。
【００３５】
ＤＴＢＲ１４は、従来と同様、ＤＲＡＭアレイ１０からＤＲＡＭデータバス３０上に伝達されたデータをラッチするマスタラッチ２０と、このマスタラッチ２０に格納されたデータをラッチするスレーブラッチ２２を含む。ＤＴＢＷ１６は、ＳＲＡＭデータバス３２上に伝達されたＳＲＡＭアレイ１２からのデータまたは入出力バッファ２８から伝達されたデータを格納するマスタラッチ２４と、このマスタラッチ２４に格納されたデータをラッチするスレーブラッチ２６を含む。
【００３６】
ＳＲＡＭデータバス３２には、さらに、特定の処理である画像処理に用いられる画像データを格納する画像用読出バッファ７０が接続される。この画像用読出バッファ（ＧＢＵＦＲ）７０は、データ転送バッファ１５と同様、１６ビット・４ビットの記憶容量を備える。このＳＲＡＭデータバス３２は、図示しないデコーダの出力に応答するセレクタ７２を介して４ビット幅のデータ入出力バス３４に結合される。このデータ入出力バス３４は、入出力回路としての入出力バッファ２８に結合される。入出力バッファ２８を介して４ビットデータの入出力が行なわれる。
【００３７】
画像用読出バッファ７０は、ＤＴＢＲ１４を介してＤＲＡＭアレイ１０からの特定処理に用いられるデータ（以下、単に画像データと称す）を受けて格納する。この画像用読出バッファ７０は、後に詳細に説明する制御系の制御の下に、入出力バッファ２８を介して順次その記憶データを出力する。
【００３８】
ＤＲＡＭのロウデコーダ６３およびコラムデコーダ６４とＳＲＡＭアレイ１２のロウデコーダ６５とへは別々の経路（ピン端子）を介してアドレス信号が与えられる。後に説明するコラムデコーダは、ＳＲＡＭアドレスまたはＤＲＡＭアドレスを利用して、この１６・４ビットのＳＲＡＭデータバス３２から４ビットを選択して入出力データバス３４に結合する。ただし、後に詳細に説明するように、データ転送バッファ１５、ＳＲＡＭアレイ１２および画像用読出バッファ７０のいずれかをこのデータ入出力バス３０に結合するための機能をセレクタ７２には設けられる。次に、この図１に示す半導体記憶装置の動作を図２に示すタイミングチャート図を参照して説明する。
【００３９】
画像用読出バッファ（ＧＢＵＦＲ）７０には、ＤＲＡＭアレイ１０から読出データ転送バッファＤＴＢＲ１４を介して画像データが転送されて格納されており、またＳＲＡＭアレイ１２には、ＤＲＡＭアレイ１０からＣＰＵが利用するプログラムデータが転送されて格納されている状態を想定する。
【００４０】
この半導体記憶装置（ＣＤＲＡＭ）は、たとえばシステムクロックである外部クロック信号に同期して外部信号の取込を行ない、またこの外部クロック信号に同期して有効データの入出力を実行する。しかしながら、システムクロックのサイクル内で動作する半導体記憶装置であればよく、特にクロック同期型の半導体記憶装置であることは要求されない。外部処理装置であるＣＰＵおよびグラフィックエンジンは、外部クロックに同期してＣＤＲＡＭへアクセスする。
【００４１】
クロックは、ＣＰＵおよびグラフィックエンジンの動作速度を規定するクロック信号と同じ周波数である必要はなく、これらのＣＰＵおよびグラフィックエンジンの動作速度を規定するクロック信号よりも高速のクロック信号が一般に、ＣＤＲＡＭにアクセスするためのサイクルを規定するために用いらる。クロック信号のサイクルＴ１において、ＣＰＵがＣＤＲＡＭへアクセスする。ＣＰＵが要求するデータがＣＤＲＡＭのＳＲＡＭアレイ１２内に存在する場合、ＣＰＵキャッシュヒットであり、ＳＲＡＭアレイ１２の対応のメモリセルへのアクセスが行なわれる。データ読出時においては、ＳＲＡＭアレイ１２の対応のメモリセルのデータがＳＲＡＭデータバス３２に読出され、次いでセレクタ７２によりさらに選択されて入出力バッファ２８を介して読出される。
【００４２】
次のサイクルＴ２においては、グラフィックエンジンがＣＤＲＡＭへアクセスする。この場合、画像用読出バッファ７０には、グラフィックエンジンが要求する画像データが格納されており、グラフィックキャッシュヒットである。したがってこの場合には、画像用読出バッファ（ＧＢＵＦＲと以下称す）７０に格納されたデータがセレクタ７２を介してデータ入出力バス３４へ読出され、次いで入出力バッファ２８を介して出力される。
【００４３】
サイクルＴ３において、ＣＰＵが要求するデータがＳＲＡＭアレイ１２に存在しない場合、ＣＰＵキャッシュミスである。この場合には、ＤＲＡＭアレイ１０からＳＲＡＭアレイ１２へ、ＣＰＵが要求するデータを含むブロック（キャッシュブロック）のデータを転送する必要がある。サイクルＴ３においてＤＲＡＭアレイ１０において対応のブロックのメモリセルが選択され、選択されたメモリセルデータが転送される。サイクルＴ６において、ＤＲＡＭデータバス３０に、対応のメモリセルデータが伝達される。レイテンシが３サイクルであり、サイクルＴ６においてＤＲＡＭデータバス３０に現われたデータがＤＴＢＲ１４のマスタラッチ２０へ転送される。これにより、サイクルＴ５において不定状態にあったＤＴＢＲマスタラッチ２０のデータが新しいデータで書換えられ、ＤＴＢＲスレーブラッチ２２のデータがサイクルＴ７において新しいデータ（ＣＰＵが要求するデータ）で書換えられる。このサイクルＴ７においては、ＤＴＢＲスレーブラッチ２２からＳＲＡＭアレイ１２へのデータ転送と並行して、ＳＲＡＭデータバス３２からセレクタ７２を介してＣＰＵが要求するデータが入出力バッファ２８へ与えられて、読出される。サイクルＴ７において、ＳＲＡＭアレイ１２におけるＣＰＵキャッシュの更新が行なわれる。
【００４４】
このサイクルＴ３からＴ６の間、ＣＰＵキャッシュミス時において、ＣＰＵは待機状態とされる。一方、グラフィックエンジンは、サイクルＴ４およびＴ６において、それぞれＣＤＲＡＭへアクセスし、必要とされるデータをＧＢＵＦＲ７０から読出す。
【００４５】
以降サイクルＴ８、Ｔ９およびＴ１０において、グラフィックエンジン、ＣＰＵおよびグラフィックエンジンがそれぞれＣＤＲＡＭへアクセスし、必要なメモリセルデータへアクセスする。グラフィックエンジンのキャッシュミス時においては、このＣＰＵキャッシュミス時と同様の動作が行なわれる。すなわち、ＤＲＡＭアレイ１０からＤＴＢＲ１４を介してＧＢＵＦＲ７０へ、必要とされるデータが転送される。画像データが、たとえば１６行１６列の画素を単位として処理される場合、１行の画素データの読出時点は予め知ることができる。したがって、ＤＲＡＭアレイ１０において、次の行のデータを選択して予めＤＴＢＲ１４のマスタラッチ２０を介してＤＴＢＲのスレーブラッチ２２へ転送すれば、次の行の画素データのアクセス時には、このＤＴＢＲ１４のスレーブラッチ２２からＢＧＵＦＲ７０へのデータ転送と並行して画素データをＳＲＡＭデータバス３２からセレクタ７２を介して入出力バッファ２８へ伝達することができる。
【００４６】
ＣＤＲＡＭにおいては、ＳＲＡＭ部分とＤＲＡＭ部分とは互いに独立に駆動（活性化／プリチャージ）が可能である（この構成については後に説明する）。したがって、上述のようにＧＢＵＦＲ７０からのデータ読出と並行して次の行の画素データをＤＲＡＭアレイ１０において選択してＤＴＢＲ１４へ転送することにより、グラフィックエンジンが必要とする画素データを連続的にこのグラフィックエンジンへ供給することができる。すなわち、１ブロック（１６・４ビット）のサイズのＧＢＵＦＲ７０を用いてヒット率の高い画像データ用キャッシュメモリを構築することができる。
【００４７】
１６行・１６列単位の画像データの処理ではなく、画像表示装置へグラフィックエンジンがラスタ操作順序に従ってデータを転送する場合においても、同様に順次ＤＴＢＲ１４へ１走査線の画素データをブロック単位でＤＲＡＭアレイ１０から転送することにより、グラフィックエンジンはキャッシュミスを生じることなく、必要とされる画像データを読出して画像表示装置へ伝達することができる。グラフィックエンジンの待機状態が生じるのは、ＣＰＵキャッシュミスが生じ、ＣＰＵプログラムデータがＤＲＡＭアレイとＳＲＡＭアレイとの間で転送する必要がある場合である（ＣＰＵプログラムデータの優先順位がグラフィックエンジンの画像データのそれよりも高い場合）。
【００４８】
図３は、この発明の第１の実施の形態の半導体記憶装置の１ビットのデータ入出力部およびＧＢＵＦＲの構成を示す図である。図３において、１ビットのＤＴＢＲ１４ａおよびＤＴＢＷ１６ａをそれぞれ１つのブロックで示す。このＤＴＢＲ１４ａおよびＤＴＢＷ１６ａの具体的構成は、図２６に示す構成と同じである。ＤＴＢＲ１４ａは、プリアンプイネーブル信号ＤＰＡＥと、マスタラッチ回路からスレーブラッチへのデータ転送を指令するデータ転送指示信号ＤＲＴＥおよびスレーブラッチからのデータ転送を指示するデータ転送指示信号ＢＲＴＥを受ける。ＤＴＢＷ１６ａは、ＳＲＡＭアレイ１２からマスタラッチへのデータの転送を指令するデータ転送指示信号ＢＷＴＥと、マスタラッチからスレーブラッチへのデータ転送を指示するデータ転送指示信号ＤＷＴＥと、スレーブラッチとラッチデータをＤＲＡＭアレイ１０へ転送するためのプリアンプイネーブル信号ＤＷＤＥとに応答する。１ビットＤＲＡＭデータバス３０ａは、ＤＲＡＭアレイにおいてメモリセルデータが転送されるグローバルＩＯバスＧＩＯに接続される。
【００４９】
ＧＢＵＦＲ７０の１ビットのＧＢＵＦＲ７０ａは、たとえば、インバータＩＶ１およびＩＶ２で構成されるインバータラッチを備える。インバータＩＶ１の駆動力はインバータＩＶ２の駆動力より大きくされる。ＤＴＢＲ１４ａからのデータをＳＲＡＭアレイ１２およびＧＢＵＦＲ７０の一方へ選択的に伝達するために、選択信号ＧＳＴＳに応答するセレクタ８０が設けられる。この選択信号ＧＳＴＳは、またデータ転送指示の機能をも備え、セレクタ８０は、データ転送を行なわない場合、出力ハイインピーダンス状態に設定される。ＧＢＵＦＲ７０ａのインバータラッチＩＶ１およびＩＶ２へ不必要なデータが転送されるのを防止するためである。なお、図３においては、構成を概略的に示しているだけであり、このＧＢＵＦＲ７０ａとセレクタ８０の間にデータ転送指示信号に応答して導通する転送ゲートが設けられてもよい。
【００５０】
ＤＴＢＲ１４ａからの転送データとＳＲＡＭアレイ１２のデータ（ＳＲＡＭビット線対ＳＢＬ上のデータ）の一方を選択するために、選択信号ＤＳＲＳに応答するセレクタ８２が設けられる。セレクタ８２の出力信号は、ＳＲＡＭデータバス線３２ｕ上に与えられる。このデータバス線３２ｕ上のデータは、また、ＤＴＢＷ１６ａへ与えられる。ＤＴＢＷ１６ａは、信号ＢＷＴＥの活性化時、このデータバス線３２ｕから与えられたデータをそのスレーブラッチ回路へ格納する。ＧＢＵＦＲ７０ａの格納データはＳＲＡＭデータバス線３２ｖ上に伝達される。
【００５１】
図１に示すセレクタ７２（１ビットのセクレタ７２ａ）は、コラムデコーダ７４から、データ書込時に発生されるメモリセル選択信号（１６ビットのうちの１ビットを指定する信号）ＢＹＷに応答して活性化され、入出力バッファ２８に含まれる入力バッファ６１からの書込データをＤＴＢＷ１６ａへ伝達するデコーダ５２と、コラムデコーダ７４からの書込選択信号ＳＹＷに応答して活性化され、入力バッファ６１からの書込データをＳＲＡＭデータバス線３２ｗ上に伝達するライトドライバ５１と、セレクタ８２からのＳＲＡＭデータバス線３２ｕ上に伝達されたデータとＳＲＡＭデータバス線３２ｖ上に現われたデータの一方を選択信号ＧＳＲＳに従って選択するセレクタ８４と、コラムデコーダ７４からの読出時に活性状態とされる選択信号ＲＹＷに応答してセレクタ８４の出力信号を増幅するプリアンプデコーダ５６を含む。
【００５２】
コラムデコーダ７４からの選択信号ＲＹＷは、１６ビットのうちの１ビットを選択する。この図３に示すセレクタ７２ａ、ＧＢＵＦＲ７０ａ、ＤＴＢＲ１４ａ、およびＤＴＢＷ１６ａの構成が、１６ビット・４個設けられる。ＳＲＡＭデータバス線３２ｕ，３２ｖおよび３２ｗが、ＳＲＡＭデータバス３２（１ビットバス３２ａ）を構成する。プリアンプデコーダ５６の出力信号は出力バッファ６２へ与えられる。ＤＲＡＭアレイ１０からＳＲＡＭアレイ１２へのデータ転送時においては、ＤＴＢＲ１４が活性化され、次いでセレクタ８０がこのＤＴＢＲ１４ａから転送されるデータをＳＲＡＭデータバス線３２ｗへ転送する。ＤＲＡＭアレイ１０からＧＢＵＦＲ７０へのデータ転送時において、セレクタ８０が、選択信号ＧＳＴＳに従ってＤＴＢＲ１４からの転送データをＧＢＵＦＲ７０ａへ転送する。ＳＲＡＭアレイ１２からＤＲＡＭアレイ１０へのデータ転送時において、セレクタ８２がＳＲＡＭアレイ１２のデータを選択してＤＴＢＷ１６へ伝達する。上述の構成により、ＳＲＡＭアレイ１２へのアクセス、ＧＢＲＦＲ７０へのアクセス、およびＤＴＢＲ１４へのアクセスならびにＤＲＡＭアレイ１０とＳＲＡＭアレイ１２との間のデータ転送およびＤＲＡＭアレイ１０とＧＢＵＦＲ７０との間のデータ転送を実現することができる。
【００５３】
図４は、図３に示す選択信号および転送制御信号を発生する制御部の構成を示す図である。図４においては、データ転送に関連する部分の構成のみを示す。しかしながら、図１に示すＤＲＡＭアレイ部のロウデコーダ６３およびコラムデコーダ６４およびＳＲＡＭアレイ１２のロウデコーダ６５へも、同様この図４に示す部分からの制御信号が与えられてデコード動作が行なわれる。
【００５４】
図４に示すように、このＣＤＲＡＭにおいては、ＳＲＡＭ部分とＤＲＡＭ部分とは別々の制御回路により動作が制御される。ＳＲＡＭ部分は、外部制御信号ＣＣ０〜ＣＣ２およびデータ書込／読出指示信号ＷＥに応答して、内部制御信号ＧＲＴ、ＢＷＴ、ＢＲＴＷ／ＲＺ、ＧＳＢおよびＢＳを出力するＳＲＡＭコントロール回路１００と、このＳＲＡＭコントロール１００からの制御信号ＧＲＴ、ＢＷＴ、ＧＳＢおよびＢＲＴに従って、データ転送信号ＢＷＴＥおよびＢＲＴＥと選択信号ＧＲＳ、ＧＳＴＳ、ＤＳＲＳを出力するＳＲＡＭドライブ回路１０２を含む。ＳＲＡＭコントロール回路１００は、クロック信号Ｋに同期して、このクロック信号Ｋの立上がりにおいて外部制御信号を取込み、この外部制御信号の状態の組合せに従って、指定された動作を判別して、内部制御信号を出力する。制御信号ＣＣ１〜ＣＣ２の組合せにより、アクセスされるべき対象が指定され、信号ＷＥにより、データの転送方向または入出力が判別される。たとえば制御信号ＣＣ０〜ＣＣ２がすべてローレベルのときにはデータ転送バッファ（ＤＴＢＲおよびＤＴＢＷ）が選択される。信号ＷＥによりＤＴＢＲ１４およびＤＴＢＷ１６のいずれが指定されるかを判別する。たとえば、信号ＷＥがデータ書込を指定している場合には、ＤＴＢＷ１６に対するデータの書込が行なわれる。信号ＷＥがデータ読出を指定しているときは、ＤＴＢＲ１４の格納データが選択される。
【００５５】
信号ＣＣ０およびＣＣ２がローレベルであり、ＣＣ１がハイレベルのときには、ＳＲＡＭアレイとデータ転送バッファ（ＤＴＢＲ，ＤＴＢＷ）の間のデータ転送が指定される。データ転送方向は、信号ＷＥにより指定される。信号ＷＥがデータ書込を指定している場合には、ＳＲＡＭアレイからＤＴＢＷ１６へ１６ビット・４ビットのデータの一括転送が指定される。信号ＷＥがデータ読出を指定している場合には、ＤＴＢＲ１４からＳＲＡＭアレイ１２への１６ビット・４ビットのデータの一括転送が指定される。
【００５６】
信号ＣＣ０がハイレベルであり、信号ＣＣ１およびＣＣ２がローレベルの場合には、ＳＲＡＭアレイ１２へのアクセスが指定される。信号ＷＥがデータ書込を指定している場合には、ＳＲＡＭアレイ１２の対応のメモリセルへデータが書込まれる。信号ＷＥがデータ読出を指定している場合には、ＳＲＡＭアレイ１２のアドレス指定されたメモリセルのデータが読出される。信号ＣＣ２がハイレベルであり、信号ＣＣ０およびＣＣ１がローレベルであり、信号ＷＥがデータ読出を指定している場合には、ＧＢＵＦＲ７０からのデータの読出が指定される。信号ＣＣ１およびＣＣ２がハイレベルであり、信号ＣＣ０がローレベルでありかつ信号ＷＥがデータ読出を指定している場合には、ＤＴＢＲ１４からＧＢＵＦＲ７０への１６ビット・４ビットの一括データ転送が指定される。
ＳＲＡＭコントロール回路１００は、上述のような制御信号に組合せに従って、データ転送を指定する制御信号ＧＲＴ、ＢＷＴ、およびＢＲＴならびにデータ転送対象選択信号ＧＳＢおよびＢＳを出力する。信号ＧＲＴは、ＤＴＢＲ１４からＤＢＲＦＲ７０へのデータ転送を指定する信号である。信号ＢＷＴは、ＳＲＡＭアレイ１２からＤＴＢＷ１６へのデータ転送を指定する信号である。信号ＢＲＴは、ＤＴＢＲ１４からＳＲＡＭアレイ１２へのデータ転送を指定する信号である。信号ＢＳは、ＤＴＢおよびＳＲＡＭアレイの一方を選択する信号である。信号ＧＳＢは、アクセス対象がＧＢＵＦＲ、ＤＴＢおよびＳＲＡＭアレイのいずれであるかを示す。
【００５７】
ＳＲＡＭドライブ回路１０２は、この転送指示信号ＧＲＴ、ＢＷＴ、およびＢＲＴおよび対象指定信号ＧＳＢに従って、必要なタイミングで転送指示信号ＢＷＴＥ、ＢＲＴＥおよび選択信号ＧＳＲＳ、ＧＳＴＳおよびＤＳＲＳを出力する。ＳＲＡＭアレイ１２からＤＴＢＷ１６（ＤＲＡＭアレイ１０）へのデータ転送時には、転送指示信号ＢＷＴＥが活性状態とされ、かつセレクタ８２に対する選択信号ＤＳＲＳは、ＳＲＡＭデータバス線３２ｗ上のデータを選択する状態に設定される。入力バッファ６１からのデータをＤＴＢＷ１６へ書込む場合には、転送信号ＢＷＴＥは非活性状態とされる。この場合には、図３に示すデコーダ５２が、後に説明するコラムデコーダ７４からの選択信号ＢＹＷに従って活性化されて、入力バッファ６１からのデータをＤＴＢＷ１６へ書込む。
【００５８】
信号ＢＲＴの活性化時、ＳＲＡＭドライブ回路１０２は、選択信号ＤＳＲＳをＤＴＢＲ１４の出力信号を選択する状態に設定し、また選択信号ＧＳＲＳを、セレクタ８２の出力信号を選択する状態に設定する。またこのときには、転送指示信号ＢＲＴＥを活性状態とする。信号ＧＲＴの活性化時には、ＤＲＡＭアレイ１０からＧＢＵＦＲ７０へのデータ転送が指定されており、したがってこの場合には、信号ＧＳＴＳは、ＤＴＢＲ１４ａのデータをＤＢＵＦＲ７０ａへ転送する状態に設定され、かつ信号ＢＲＴＥが活性化される。
【００５９】
データ転送を伴った、ＧＢＵＦＲ７０、ＤＴＢＲ１４、ＤＴＢＲ１６およびＳＲＡＭアレイ１２への外部アクセス時には、転送指示信号ＢＷＴＥおよびＢＲＴＥが非活性状態とされる。選択信号ＤＳＲＳおよびＧＳＲＳのみが指定された状態に設定される。このデータ転送を伴わないアクセス時における制御信号は、ＳＲＡＭコントロール回路１００からＳＲＡＭドライブ回路１０２へ与えられる信号ＧＳＢにより代表的に示す。
【００６０】
ＤＲＡＭ部分を駆動する部分は、クロック信号Ｋの立上がり時に信号ＲＡＳ、ＣＡＳ、およびＤＴＤを取込み、これらの信号の状態により指定された動作モードを判別し、その判別結果に従って転送指示信号ＤＷＴおよびおよびＤＲＴを出力するＤＲＡＭコントロール回路１０４と、このＤＲＡＭコントロール回路１０４からのデータ転送指示信号ＤＷＴおよびＤＲＴに従ってデータ転送バッファを駆動する信号ＤＰＡＥ、ＤＲＴＥ、ＤＷＴＥおよびＤＷＤＥを出力するＤＲＡＭドライブ回路１０６を含む。この信号の組合せの例は以下のとおりである。信号ＲＡＳがローレベルであり、信号ＣＡＳおよびＤＴＤがともにハイレベルの場合には、ＤＲＡＭアレイにおいて、メモリセル選択動作が指定される。信号ＲＡＳおよびＤＴＤがともにローレベルであり、信号ＣＡＳがハイレベルの場合には、このＤＲＡＭアレイのプリチャージが指定される。信号ＲＡＳがハイレベルであり、信号ＣＡＳがローレベルの場合には、ＤＲＡＭアレイとデータ転送バッファ（ＤＴＢＲ，ＤＴＢＷ）の間のデータ転送が指定される。データ転送の方向は、信号ＤＴＤにより決定される。ＤＲＡＭアレイからＤＴＢＲへのデータ転送が指定された場合には、信号ＤＲＴが活性化され、ＤＴＢＷからＤＲＡＭアレイ１０へデータ転送が指定された場合にはデータ転送指示信号ＤＲＴが活性状態とされる。
【００６１】
ＤＡＲＭドライブ回路１０６は、データ転送時には、これらの転送指示信号ＤＲＴおよびＤＷＴに従ってデータ転送に必要な信号ＤＰＡＥ、ＤＲＴＥ、ＤＷＴＥおよびＤＷＤＥを順次活性化する。これらの信号は、図２６において用いられた信号と同じであり、その詳細説明は省略する。
【００６２】
ＳＲＡＭドライブ回路１０２およびＤＲＡＭドライブ回路１０６へもクロック信号Ｋを与え、これらのドライブ回路１０２および１０６をクロック信号Ｋに同期して動作させることにより、データ転送動作をクロック信号に同期して行なうことができ、データ転送を確実に行なうことができる。なお、図４においても、ＤＲＡＭコントロール回路１０４からＤＲＡＭドライブ回路１０６へは、単にデータ転送に関連する信号のみを示す。ＤＲＡＭコントロール回路１０４から、また同様に図１に示すＤＲＡＭアレイ１０に設けられたロウデコーダ６３およびコラムデコーダ６４に対する活性化信号が出力されるが、これは示していない。
【００６３】
コラムデコーダ７４は、４ビットアドレス信号Ａｓ０〜Ａｓ３をデコードするＹデコーダ７４ａと、ＳＲＡＭコントロール回路１００からの書込／読出信号Ｗ／ＲＺと、Ｙデコーダ７４ａの出力信号を受ける書込デコード回路７４ｂと、ＳＲＡＭコントロール回路１００からの書込／読出信号Ｗ／ＲＺとＹデコーダ７４ａの出力信号を受ける読出デコード回路７４ｃを含む。書込デコード回路７４ｂは、ＡＮＤ回路の構成を備え、データ書込時において、Ｙデコーダ７４ａが指定するビットを選択状態とする。読出デコード回路７４ｃは、書込／読出信号Ｗ／ＲＺがデータ読出を指定するときに活性化され、Ｙデコーダ７４ａの出力信号に従ってそのデコード信号ＲＹＷを活性状態とする。コラムデータ７４は更に、バッファ／ＳＲＡＭ選択信号ＢＳと書込デコード回路７４ｂの出力信号ＹＷを受けるゲート７４ｄと、選択信号ＢＳの反転信号と出力信号ＹＷを受けるゲート７４ｅを含む。ゲート７４ｄおよび７４ｅは選択信号ＢＳがそれぞれバッファおよびＳＲＡＭアレイを指定するとき、イネーブルされる。
【００６４】
このコラムデコーダ７４の出力信号ＳＹＷ、ＢＹＷおよびＲＹＷが、図３に示すライトドライバ５１、デコーダ５２およびプリアンプデコーダ５６へそれぞれ与えられる。これによりデータ書込／読出時に応じてライトドライバ５１、デコーダ５２およびプリアンプデコーダ５６を選択的に活性状態とすることができるとともに、必要なデータを選択することができる（ＳＲＡＭデータバスから必要なデータバスを選択してデータ入出力バスへ接続することができる）。
【００６５】
以上のように、この発明の第１の実施の形態に従えば、特定の処理である画像処理に用いられる画像データを記憶するための画像データ読出バッファをデータ転送バッファおよびＳＲＡＭアレイと別に設けるように構成したため、時分割態様でプログラムデータと画像データをアクセスする際に、キャッシュミスペナルティの少ない（ウェイト時間の少ない）かつ効率的な画像データキャッシュを実現することができる。
【００６６】
特に、プログラムデータをＳＲＡＭアレイに格納することによりキャッシュ容量が大きくなり、データ転送バッファにプログラムデータを格納する場合に比べて、はるかにキャッシュヒット率を高くすることができる。また、データ転送バッファを画像データキャッシュとして用いないため、プログラムデータのキャッシュミス時において画像データの破壊を伴うことがなく、プログラムデータのキャッシュミス時におけるＣＰＵまたはグラフィックエンジンの待ち時間を低減することができ、システム性能の低下を防止することができ、高性能のマルチメディアシステム用途に適した高速半導体記憶装置を実現することができる。
【００６７】
［実施の形態２］
図５は、この発明の第２の実施の形態である半導体記憶装置の要部の構成を概念的に示す図である。図５に示す構成においては、図１に示す構成に加えて、さらに、外部からの加工された画像データを格納するための画像用書込バッファ１１０がさらに設けられる。この画像用書込バッファ（ＧＢＵＦＷ）１１０は、ＧＢＵＦＲ７０と同様１６・４ビットの記憶容量を備え、データ転送バッファ１５（ＤＴＢＲ１４およびＤＴＢＷ１６）と同一の記憶容量を備える。このＧＢＵＦＷ１１０は、ＳＲＡＭデータバス３２を介して（図示しないセクレタを介して）入出力バッファ２８に結合される。グラフィックエンジンにより処理された画像データが入出力バッファ２８を介してＧＢＵＦＷ１１０に書込まれる。このＧＢＵＦＷ１１０に格納された１６ビット・４ビットの画像データは、ＤＴＢＷ１６を介してＤＲＡＭアレイ１０の画像データ格納領域の対応の位置へ転送される。
【００６８】
このＧＢＵＦＷ１１０をさらに設けることにより、以下の利点が得られる。画像データ処理は、画像データを順次読出して画像表示装置の表示画面に表示する処理だけではない。たとえば、動画像処理においては、ブロック単位で画像データの符号化処理および符号化データから現画像を復元する復元処理が行なわれる。これらの処理後のデータは１枚の画面の画像データとして、、１フィールドまたは１フレーム単位でＣＤＲＡＭに格納され、表示もしくは転送のために順次読出される。したがって、外部のグラフィックエンジンが読出して処理したデータを再びＣＤＲＡＭの画像データ格納領域へ格納することが必要となる。グラフィックエンジンが処理したデータは、ＤＴＢＷ１６へ順次書込むことができる。
【００６９】
しかしながら、画像データのＤＴＢＷ１６への書込時において、ＣＰＵプログラムデータのキャッシュミスが生じた場合、ＤＲＡＭアレイ１０からＳＲＡＭアレイ１２へデータ転送（ＣＰＵが要求するデータの転送）を行なうと同時に、また、不要となったデータをＳＲＡＭアレイ１２からＤＲＡＭアレイ１０の対応の領域へ戻す必要がある（コピーバック）。このコピーバック動作の場合、ＤＴＢＷ１６を介してＳＲＡＭアレイ１２からＤＲＡＭアレイ１０へデータの転送が行なわれる。したがって、ＤＴＢＷ１６に格納された画像データがこのデータ転送のために破壊されるという問題が生じる。この破壊を避けるためには、ＣＰＵのウェイト時間を長くする必要がある（グラフィックエンジンからの書込データが完了しこの書込まれた画像データをＤＲＡＭアレイ１０の対応の画像データ格納領域へ転送する動作が完了するまでＣＰＵを待機状態にする必要がある）。したがって、この場合には、システムの性能が低下する。
【００７０】
しかしながら、この図５に示すようにＧＢＵＦＷ１１０を設け、処理後の画像データ格納領域をデータ転送バッファ１５と別に設けることにより、このような画像データ書込時においてＣＰＵプログラムデータのキャッシュミスが生じても、何らＣＰＵの待ち時間を長くする必要がなく、また書込まれた画像データの破壊が生じることがなく、高速のデータ処理が可能となり、システム性能低下が防止される。
【００７１】
図６は、図５に示すデータ転送バッファ１５、ＧＢＵＦＲ７０、ＧＢＵＦＷ１１０およびＳＲＡＭアレイ１２の１ビットのデータの入出力および転送の部分の構成を概略的に示す図である。この図６に示す構成においては、図３に示す構成に加えて、さらに、ライトドライバ５１の出力信号を、選択信号ＧＳＷＳに従ってＳＲＡＭビット線対３２ｗおよび画素データ書込線３２ｐの一方へ伝達するセレクタ１１５と、選択信号ＧＳＷＴに従って、画像データ書込線３２ｐ上のデータとセレクタ８２から伝達されたデータバス線３２ｕ上の信号の一方を選択してＤＴＢＷ１６ａへ伝達するセレクタ１２０が設けられる。ＤＴＢＷ１６ａ、ＤＴＢＲ１４ａおよびＧＢＵＦＲ７０ａは、それぞれ１ビットの記憶容量を備える。画像データ書込線３２ｐに、１ビットのＧＢＵＦＷ１１０ａが接続される。この１ビットの画像用書込バッファ１１０ａは、ラッチを構成するインバータＩＶ３およびＩＶ４を含む。データバス線３２ｕ，３２ｖ，３２ｗおよび３２ｐが、ＳＲＡＭデータバス線３２ａを構成する。
【００７２】
ここで、末尾に付された「ａ」の文字は、１ビットデータに関連する部分であることを強調するために用いられる。
【００７３】
セレクタ１１５は、選択信号ＧＳＷＳが、書込データが画像データであることを示すときには、ライトドライバ５１から与えられたデータを書込データバス線３２ｐ上に伝達する。一方、セレクタ１１５は、選択信号ＧＳＷＳが、書込データがプログラムデータであることを示すときには、このライトドライバ５１から与えられたデータをＳＲＡＭデータバス線３２ｗ上に伝達する。セレクタ１２０は、選択信号ＧＳＷＴが、転送すべき信号が画像データであることを示すときには、書込データバス線３２ｐに読出された画像用書込バッファ１１０ａからのデータを選択してデータ転送バッファ（ＤＴＢＷ）１６ａへ伝達する。セクレタ１２０はまた、選択信号ＧＳＷＴが、転送すべき信号がセレクタ８２で選択されてデータバス線３２ｕ上に伝達されたデータであることを示す場合には、このデータバス線３２ｕ上のデータを選択してデータ転送バッファ（ＤＴＢＷ）１６ａに伝達する。
【００７４】
他の構成は、図３に示す構成と同じであり、対応する部分には同一の参照番号を付し、その詳細説明は省略する。
【００７５】
なお、書込バッファ１１０ａとセレクタ１１５の間には転送指示信号に応答して導通／遮断状態とされる転送バッファが設けられてもよい。
【００７６】
図７は、図６に示す各制御信号および選択信号を発生する制御系の構成を示す図である。この図７に示す構成において、ＤＲＡＭ部分を制御するためのＤＲＡＭコントロール回路１０４およびＤＲＡＭドライブ回路１０６の構成は、先の図４に示す構成と同じであり、またコラムデコーダ７４の構成も同じである。すなわち、コラムデータ７４は、データ書込時、ＳＲＡＭコントロール回路２００からのデータ転送バッファへのデータ書込を行なうか否かを示す信号ＢＳに従って、ゲート７４ｄおよび７４ｅの一方が、デコーダ７４ｂからの選択信号ＹＷに従って、信号ＢＹＷおよびＳＹＷの一方を活性状態とする。
【００７７】
ＳＲＡＭコントロール回路２００は、実施の形態１の構成に加えて、信号ＣＣ２と書込／読出信号ＷＥとに従って、ＧＢＵＦＲ７０およびＧＢＵＦＷ１１０とＤＲＡＭアレイとの間でのデータ転送を示す転送指示信号ＧＲＴおよびＧＷＴを出力する。ＳＲＡＭドライブ回路２０２は、このＳＲＡＭコントロール回路２００からの制御信号ＧＷＴ、ＧＲＴ、ＢＷＴ、ＢＲＴ、ＧＳＢに従って、信号ＧＳＷＳ、ＧＳＷＴ、ＢＷＴＥ、ＢＲＴＥ、ＧＳＲＳ、ＧＳＴＳ、およびＤＳＲＳをそれぞれ所定の状態に設定する。
【００７８】
信号ＣＣ０〜ＣＣ２およびＷＥのクロック信号Ｋの立上がりにおける状態の組合せが、ＧＢＵＦＷ１１０へのデータ書込を指定している場合には、ＳＲＡＭコントロール回路２００は、ＧＢＵＦＷ１１０へのデータ書込を指定するように信号ＧＳＢを所定の状態に設定する（この場合、信号ＧＳＢは、書込先が、ＳＲＡＭアレイ、ＧＢＵＦＷ、およびＤＴＢＷのいずれかを指定するためまたデータの書込および読出をも併せて指定するため、複数ビットのデータで表現される）。ＳＲＡＭドライブ回路２０２は、転送指示信号ＧＷＴ、ＧＲＴ、ＢＷＴ、およびＢＲＴがすべて非活性状態であり、信号ＧＳＢが、ＧＦＢＷ１１０へのデータ書込を指定する場合には、信号ＧＳＷＳを、所定の状態に設定し、セレクタ１１５が、画像データ書込データバス線３２ｐを選択する状態に設定する。ＳＲＡＭドライブ回路２０２は、この信号ＧＳＢＷがＳＲＡＭアレイへのデータ書込を指定している場合には、ＳＲＡＭドライブ回路２０２は、セレクタ１１５が、ライトドライバ５１からの書込信号をＳＲＡＭデータバス線３２ｗへ伝達するように信号ＧＳＷＳの状態を設定する。信号ＧＳＢがＤＴＢＷ１６へのデータ書込を指定している場合には、ＳＲＡＭドライブ回路２０２は、特に信号ＢＷＴＥを非活性状態とし、図６に示すデコーダ５２からのデータをＤＴＢＷマスタラッチ回路へ格納する状態に設定する。信号ＣＣ２およびＷＥにより、ＧＦＵＢＷ１１０からＤＲＡＭアレイ１０へのデータ転送が指定された場合には、ＳＲＡＭコントロール回路２００は、信号ＧＷＴを活性状態とする。ＳＲＡＭドライブ回路２０２は、この信号ＧＷＴに応答して、セレクタ１２０が、このＧＦＵＢＷ１１０からの画像データを選択するように信号ＧＳＷＴを所定の状態に設定し、かつ転送指示信号ＢＷＴＥを活性状態とする。これによりＧＦＵＢＷ１１０に格納された１６ビット・４ビットのデータが一括してＤＴＢＷ１６へ転送される。
【００７９】
残りの制御信号の状態については、先の図４について示しかつこの図４を参照して説明したものと同じである。
【００８０】
上述の構成により、新たに画像データ格納のための画像データ書込バッファを設けても、ＣＰＵプログラムデータアクセスに何ら悪影響を及ぼすことなく正確にＧＦＵＢＷ１１０へデータをデータを書込み、かつこのＧＦＵＢＷ１１０からＤＲＡＭアレイ１０へデータを転送することができる。
【００８１】
以上のように、この発明の第２の実施の形態に従えば、画像データ読出のためのバッファに加えて、画像データを格納するための書込バッファを新たに設けたため、画像データ書込時においてＣＰＵキャッシュミスが生じても、何らこの書込画像データが破壊されることなくＣＰＵが要求するデータをＤＲＡＭアレイからＳＲＡＭアレイへ転送することができ、ＣＰＵの待機時間を低減することができ、システム性能の低下が防止される。
【００８２】
［実施の形態３］
図８は、この発明の第３の実施の形態である半導体記憶装置の要部の構成を概念的に示す図である。図８において、ＤＲＡＭデータバス３０とＳＲＡＭデータバス３２の間に、ＤＴＢＲ１４と並列に、画像データ用ＤＴＢＲ２１４が設けられ、またＤＴＢＷ１６と並列に画像データ用のＤＴＢＷ２１６が設けられる。ＳＲＡＭデータバス３２は、セレクタ２３０を介して、４ビット幅のデータ入出力バス３４に選択的に結合される。このデータ入出力バス３４は、４ビットデータＤＱ０〜ＤＱ３を入出力する入出力バッファ２８に接続される。
【００８３】
ＤＴＢＲ１４およびＤＴＢＷ１６は、ＣＰＵが利用するプログラムデータを格納しかつ転送する。画像データ用のＤＴＢＲ２１４および２１６は、グラフィックエンジンが利用する画像データを格納しかつ転送する。画像データ用データ転送バッファ２１４および２１６は、ＤＲＡＭデータバス３０を介してＤＲＡＭアレイ１０とデータ転送を行ない、かつセレクタ２３０を介して入出力バッファ２８とデータの授受を行なう。画像データの書込時には、画像用ＤＴＢＷ２１６へ画像データが書込まれる。１ブロック（１６・４ビット）または１ブロックの必要なデータの書込が完了すると、ＤＲＡＭアレイ１０の画像データ格納領域の対応の領域へ、この画像用ＤＴＢＷ２１６に格納された書込データが転送される。
【００８４】
画像データの読出時には、画像用ＤＴＢＲ２１４の格納データが、セレクタ２３０および入出力バッファ２８を介して読出される。ＤＴＢＲ２１４の格納データの読出が完了すると、ＤＲＡＭアレイ１０の画像データ格納領域の次に処理されるブロックの画像データがＤＴＢＲ２１４へ転送される。
【００８５】
プログラムデータの書込、読出および転送は、第１，２の実施の形態と同様にして行なわれる。画像データを格納するために、ＳＲＡＭアレイ１２とＤＲＡＭアレイ１０との間のデータ転送を行なうためのデータ転送バッファと同一構成のバッファを利用することにより、以下の利点が得られる。
【００８６】
ＤＴＢＲ１４および２１４ならびにＤＴＢＷ１６および２１６のデータ転送およびアクセスの制御は、転送またはアクセスされるデータがプログラムデータであるか画像データであるかを除いて、同じタイミングで制御信号を発生することにより行なうことができる。したがって、外部から、処理されるデータがプログラムデータであるか画像データであるかを示す信号を受けることにより、処理されるデータの種類（プログラムデータおよび画像データ）を識別することにより、処理されるデータに関連するＤＴＢＲおよびＤＴＢＷに対する制御信号を活性状態とすればよい。したがって、このデータ転送およびアクセスの制御回路の構成が簡略化される（この制御回路の構成については後に説明する）。
【００８７】
ここで、画像データ用ＤＴＢＲ２１４は、ＤＲＡＭアレイ１０からのデータを受けて格納するマスタラッチ２２０と、このマスタラッチ２２０の格納データを受けてセレクタ２３０へ受けたデータを与えるスレーブラッチ２２０で構成される。画像データ用ＤＴＢＷ２１６は、セレクタ２３０を介して与えられたデータを格納するマスタラッチ２２４とこのマスタラッチ２２４に格納されたデータを受け、ＤＲＡＭアレイ１０へＤＲＡＭデータバス３０を介して転送するスレーブラッチ２２６を備える。プログラム用データを格納するＤＴＢＲ１４およびＤＴＢＷ１６は、実施の形態１および２と同様の構成を備えている。したがって、これらのＤＴＢＲ１４および２１４ならびにＤＴＢＷ１６および２１６は、それぞれマスタ／スレーブの同じ構成を備えており、またＤＴＢＲ２１４およびＤＴＢＷ２１６は、それぞれＤＴＢＲ１４およびＤＴＢＷ１６と同一の記憶容量（１６ビット・４ビット）を備える。
【００８８】
図９は、図８の構成の１ビットのデータ入出力およびデータ転送に関連する部分の構成を示すブロック図である。図９において、１ビットのプログラムデータをＤＲＡＭアレイ（グローバルＩ／Ｏ線ＧＩＯ）へ伝達するＤＴＢＷ１６ａは、転送制御信号ＢＷＴＥ、ＤＷＴＥ、およびＤＷＤＥに応答して動作する。これらの信号は、実施の形態１および２において用いられた信号と同じである。
【００８９】
外部から与えられた画像データを格納しかつＤＲＡＭアレイへ転送する１ビットＤＴＢＷ２１６ａは、転送制御信号ＧＢＷＴＥ、ＧＷＴＥ、およびＧＷＤＥに応答して動作する。転送制御信号ＧＢＷＴＥ、ＧＤＷＴＥおよびＧＷＤＥは、処理対象となるデータが画像データの場合に、転送制御信号ＢＷＴＥ、ＤＷＴＥおよびＤＷＤＥと同じタイミングで発生される。すなわち、転送制御信号ＧＢＷＴＥは、活性化時、ＤＴＢＷ２１６ａのマスタラッチに、外部から与えられた画像データを転送する。転送制御信号ＧＤＷＴＥは、１ビットＤＴＷ２１６ａのスレーブラッチからマスタラッチへのデータ転送を制御する。転送制御信号ＧＤＷＤＥは、この１ビットＤＴＢＷ２１６ａの出力部に設けられたプリアンプを活性化し、マスタラッチ回路に格納されたデータを出力する。１ビットＤＴＢＷ１６ａおよび１ビットＤＴＢＷ２１６ａの出力するデータはセレクタ２５１を介して１ビットＤＲＡＭデータバス３０ａに転送される。
【００９０】
セレクタ２５１は、選択制御信号ＧＰＷＴに応答して、１ビットＤＴＢＷ１６ａおよび１ビットＤＴＢＷ２１６ａの一方の出力データを選択する。この選択制御信号（グラフィック／プログラム書込選択制御信号）ＧＰＷＴは、ＤＴＢＷ１６および２１６からＤＲＡＭアレイへのデータ転送時に活性状態とされ、かつＤＴＢＷ１６およびＤＴＢＷ２１６ａの一方を選択する状態に設定される。セレクタ２５１は、転送動作が行なわれない場合には、出力ハイインピーダンス状態に設定される。セレクタ２５１は、１ビットＤＴＢＷ１６ａおよび１ビットＤＴＢＷ２１６ａの一方の出力信号を常時選択する状態に設定されてもよい。この場合でも、１ビットＤＴＢＷ１６ａおよび１ビットＤＴＢＷ２１６ａは、信号ＤＷＤＥおよびＧＤＷＤＥの非活性化時、出力ハイインピーダンス状態とされるため、何ら問題は生じない。
【００９１】
プログラムデータを格納／転送する１ビットＤＴＢＲ１４ａは、データ制御信号ＢＲＴＥ、ＤＰＡＥおよびＤＲＴＥに応答して動作する。これらの転送制御信号ＢＲＴＥ、ＤＰＡＥ、およびＤＲＴＥは、先の実施の形態１および２で示したものと同じ意味を有する。
【００９２】
画像データを格納する１ビットＤＴＢＲ２１４ａは、転送制御信号ＧＢＲＤＥ、ＧＤＰＡＥ、およびＧＤＲＴＥに応答して動作する。転送制御ＧＢＲＴＥ、ＧＤＰＡＥおよびＧＤＲＴＥは、画像データが処理対象とされる場合に活性化され、かつ転送制御信号ＢＲＴＥ、ＤＰＡＥおよびＤＲＴＥと同じ意味を有する。１ビットＤＴＢＲ１４ａおよび１ビットＤＴＢＲ２１４ａへは、セレクタ２５２を介してＤＲＡＭデータバス３０ａからデータが伝達される。セレクタ２５２は、データ転送時に活性状態とされる制御信号ＧＰＲＴに従って１ビットＤＴＢＲ１４ａおよび１ビットＤＴＢＲ２１４ａの一方へ、ＤＲＡＭデータバス３０ａから与えられたデータを伝達する。１ビットＤＴＢＲ１４ａおよび１ビットＤＴＢＲ２１４ａは、転送制御信号ＤＲＴＥおよびＧＤＲＴＥの非活性化時には、セレクタ２５２から伝達されたデータは取込まないため、セレクタ２５２は、１ビットＤＴＢＲ１４ａおよびＤＴＢＲ２１４ａの一方を常時選択する状態に設定されてもよい。
【００９３】
なお、セレクタ２５１および２５２は、特に設けられなくてもよい。ＤＴＢＷ１６ａおよび２１６ａは、転送制御信号ＤＷＤＥおよびＧＤＷＤＥの活性化時に、その格納データを増幅して出力し、転送制御信号ＧＷＤＥおよびＧＤＷＤＥの非活性化時には、出力ハイインピーダンス状態と設定されるためである。同様、１ビットＤＴＢＲ１４ａおよび１ビットＤＴＢＲ２１４ａも、転送制御信号ＤＲＴＥおよびＧＤＲＴＥの非活性化時には、与えられたデータの取込動作は行なわないため、セレクタ２５２が設けられなくても、誤ったデータ転送が行なわれることはない。
【００９４】
図８に示すセレクタ２３０の１ビットの選択回路２３０ａは、先の実施の形態１および２の構成と同様、活性制御信号ＳＹＷに応答して活性化され、入力バッファ６１から与えられたデータを増幅してＳＲＡＭデータバス３２ａへ伝達するライトドライバ５１と、選択信号ＢＹＷに応答して導通し、入力バッファ６１から与えられたデータを通過させるデコーダ５２と、活性制御信号ＲＹＷに応答して活性化され、与えられたデータを増幅して出力バッファ６２へ伝達するプリアンプ５６を含む。
【００９５】
デコーダ５２から与えられたデータは、セレクタ２５０を介して１ビットＤＴＢＷ１６ａおよび１ビットＤＴＢＷ２１６ａの一方へ与えられる。セレクタ２５０は、選択制御信号ＧＰＳＷがプログラムデータを示すときには、デコーダ５２から与えられたデータを１ビットＤＴＢＷ１６ａへ伝達する。セレクタ２５０は、この転送制御信号ＧＰＳＷが、画像データを示す場合には、デコーダ５２からのデータを１ビットＤＴＢＷ２１６ａへ伝達する。１ビットＤＴＢＷ２１６ａにおいては、１ビットＤＴＢＷ１６ａと異なり、ＳＲＡＭアレイからのデータは伝達されない。したがって、この１ビットＤＴＢＷ２１６ａ（２１６）に対する転送制御信号ＧＢＷＴＥは、常時非活性状態とされる。一方、１ビットＤＴＢＷ１６ａは、このセレクタ２５０からデータが転送された場合には、その内部に含まれるスレーブラッチ回路に、与えられたデータを格納する。制御信号ＢＷＴＥの活性化時には、１ビットＤＴＢＷ１６ａは、このＳＲＡＭデータバス線３２ａから伝達されたデータをそのスレーブラッチ回路に格納する。
【００９６】
１ビットＤＴＢＲ１４ａのデータ出力部には、その転送経路を切換えるためのセレクタ２５３が設けられる。セレクタ２５３は、選択制御信号ＰＳＲＳが、ＤＲＡＭアレイからＳＲＡＭアレイへのデータ転送を示す場合には、この１ビットＤＴＢＲ１４ａからのデータをＳＲＡＭデータバス線３２ａ上に伝達する。選択制御信号ＰＳＲＳが、データ読出を指定する場合には、セレクタ２５３は、ＤＴＢＲ１４ａからのデータをセレクタ２５４へ伝達する。
【００９７】
セレクタ２５４は、このセレクタ２５３からの伝達データと１ビットＤＴＢＲ２１４ａからのデータ信号を受け、一方を選択制御信号ＧＰＳＲに従って選択する。選択制御信号ＧＰＳＲが、プログラムデータを示す場合には、セレクタ２５４は、セレクタ２５ｅから伝達されたデータを選択する。選択制御信号ＧＰＳＲが画像データを示す場合には、セレクタ２５４は、１ビットＤＴＢＲ２１４ａからのデータを選択する。セレクタ２５４の出力データは、セレクタ２５５を介してプリアンプ５６へ与えられる。セレクタ２５５は、選択制御信号ＧＳＢＳが、ＳＲＡＭアレイを指定する場合には、ＳＲＡＭデータバス線３２ａ上のデータを選択してプリアンプ５６へ与える。選択制御信号ＧＳＢＳが、データ転送バッファを指定する場合には、セレクタ２５５は、セレクタ２５４から与えられたデータを選択してプリアンプ５６へ与える。
【００９８】
ＤＴＢＲ１４からＳＲＡＭアレイ１２へのデータ転送と同時に、このＤＴＢＲ１４のデータを装置外部へ読出す場合には、セレクタ２５３が、１ビットＤＴＢＲ１４ａのデータをＳＲＡＭデータバス線３２ａ上に伝達し、かつセレクタ２５５が、このＳＲＡＭデータバス線３２ａ上のデータを選択してプリアンプ５６へ与える。
【００９９】
図１０は、図９に示す制御信号を発生する制御部の構成を示す図である。図１０において、コラムデコーダ７４は、実施の形態１および２と同様の構成を備えており、対応する部分には同一の参照番号を付す。コラムデコーダ７４は、データ書込時、ＳＲＡＭコントロール回路３００からの書込先指定信号ＢＳに従って、デコーダへ与える制御信号ＢＹＷおよびライトドライバへ与える制御信号ＳＹＷの一方を活性状態とする。
【０１００】
データ転送バッファ１４，１６，２１４および２１６へのデータの入出力、およびＳＲＡＭアレイ１２へのデータ入出力およびＳＲＡＭアレイ１２とデータ転送バッファ１４，１６との間のデータ転送の制御は、ＳＲＡＭコントロール回路３００およびＳＲＡＭドライブ回路３０２により行なわれる。ＳＲＡＭコントロール回路３００は、外部からの制御信号ＣＣ０〜ＣＣ２および書込／読出指示信号ＷＥに従って、ＧＷＴ、ＧＲＴ、ＢＷＴおよびＢＲＴと、アクセス対象指定信号ＧＳＢ、および書込対象指定信号ＢＳおよび書込／読出指示信号Ｗ／ＲＺを出力する。転送指示信号ＧＷＴは、画像データを格納するＤＴＢＷ２１６からＤＲＡＭアレイへのデータ転送を指定する。転送指示信号ＧＲＴは、画像データを格納するＧＴＢＲ２１４へのＤＲＡＭアレイ１０からの画像データの転送を指定する。転送指示信号ＢＷＴは、プログラムデータを格納するＤＴＢＷ１６からＤＲＡＭアレイ１０へのデータ転送を指定する。転送指示信号ＢＲＴは、プログラムデータを格納するＤＴＢＲ１４へのＤＲＡＭアレイ１０からのデータ転送を指定する。アクセス対象指定信号ＧＳＢは、データアクセス対象が、ＳＲＡＭアレイであるか、画像データ転送バッファであるか、プログラムデータ転送バッファであるかを指定する。信号ＢＳは、データ書込対象がＳＲＡＭアレイであるかデータ転送バッファ（ブロックデータおよび画像データ両者を含む）であるかを指定する。
【０１０１】
ＳＲＡＭコントロール回路３００は、クロック信号Ｋの立上がり時における外部制御信号ＣＣ０〜ＣＣ２およびＷＥの状態の組合せに応じて内部動作を規定する制御信号を発生する。図１０において、この外部クロック信号Ｋは示していない。制御信号ＣＣ２により、処理される対象がプログラムデータであるか画像データであるかが指定される。制御信号ＣＣ０およびＣＣ１により、データ転送が行なわれるか否か、および行なわれるデータ転送の方向を指定する。書込／読出指示信号ＷＥは、外部データ書込が行なわれるか外部データ読出が行なわれるかを指定する。
【０１０２】
ＳＲＡＭドライブ回路３０２は、このＳＲＡＭコントロール回路３００からの、転送指示信号ＧＷＴ、ＧＲＴ、ＢＷＴ、およびＢＲＴと、アクセス先指定信号ＧＳＢおよび書込／読出指示信号Ｗ／ＲＺに従って、転送制御信号ＢＷＴＥ、ＢＲＴＥ、ＧＢＷＴＥおよびＧＢＲＴＥならびに選択信号ＧＰＳＷ、ＧＰＳＲ、ＧＳＢＳ、およびＰＳＲＳをそれぞれ所定の状態に設定する。データ転送指定信号ＧＷＴ、ＧＲＴ、ＢＷＴ、およびＢＲＴがすべて非活性状態の場合には、ＳＲＡＭドライブ回路３０２は、アクセス対象指定信号ＧＳＢおよび書込／読出指示信号Ｗ／ＲＺに従って、選択制御信号ＧＰＳＷ、ＧＰＳＲ、ＧＳＢＳおよびＢＳＲＳを、指定された状態に設定する。データ転送が行なわれる場合には、信号ＣＣ２に従って転送制御信号ＢＷＴＥ、ＢＲＴＥ、ＧＢＷＴＥおよびＧＢＲＴＥがそれぞれ所定の状態に設定される。このとき、データの書込／読出が行なわれる場合には、併せて選択制御信号ＧＰＳＷ、ＧＰＳＲ、ＧＳＢＳおよびＰＳＲＳが所定の状態に設定される。
【０１０３】
データ転送バッファ１４，１６，２１４および２１６とＤＲＡＭアレイ１０との間のデータ転送は、ＤＲＡＭコントロール回路３０４およびＤＲＡＭドライブ回路３０６により制御される。ＤＲＡＭコントロール回路３０４は、制御信号ＣＣ２、ＲＡＳ、ＣＡＳおよびＤＴＤに従って内部転送指示信号ＤＷＴ、ＤＲＴ、ＧＲＴ、およびＧＷＴを出力する。制御信号ＣＣ２により、データ転送が、プログラムデータに対して行なわれるのか、画像データに対して行なわれるのかの識別が行なわれる。制御信号ＤＴＤに従って、データ転送方向が決定される。信号ＲＡＳおよびＣＡＳの状態の組合せにより、単にＤＲＡＭアレイにおいてメモリセルデータが選択されるだけであるのか、データ転送が行なわれるのかの指定が行なわれる。
【０１０４】
ＤＲＡＭドライブ回路３０６は、このＤＲＡＭコントロール回路３０４からの転送制御信号ＤＷＤ、ＤＲＴ、ＧＲＴおよびＧＷＴに従って、転送制御信号ＤＷＴＥ、ＤＷＤＥ、ＤＰＡＥ、ＤＲＴＥ、ＧＷＴＥ、ＧＤＷＤＥ、ＧＤＰＡＥ、ＧＤＲＴＥおよび選択制御信号ＧＰＷＴおよびＧＰＲＴを所定の状態に設定する。
【０１０５】
ＳＲＡＭドライブ回路３０２およびＤＲＡＭドライブ回路３０６も、内部クロック信号Ｋに従って、各制御信号をそれぞれ確定状態に設定する。このクロック信号の伝達経路は示していない。クロック信号Ｋに従って各信号を発生することより、データ転送動作タイミングの確立が容易となる。
【０１０６】
以上のように、この発明の第３の実施の形態に従えば、プログラム転送用バッファと並列に画像データ書込／読出のための転送バッファを設けたため、画像データの書込／読出と並行してプログラムデータのＤＲＡＭアレイとＳＲＡＭアレイとの間での伝送を行なうことができ、プログラムデータのキャッシュミス時のＣＰＵの待ち時間の増加を防止することができる。また、このとき、画像データを一端ＤＲＡＭアレイへ退避させる必要がなく、プログラムデータのＳＲＡＭアレイとＤＲＡＭアレイとの間の転送を、画像データの破壊を伴うことなく高速で行なうことができる。
【０１０７】
また、画像データ記憶および転送のためのデータ転送バッファは、ＤＲＡＭアレイとＳＲＡＭアレイとの間での１回のデータ転送により転送されるデータビットを記憶する容量を備えており、画像データのための最適な大きさを備えるキャッシュメモリを実現することができる。
【０１０８】
［実施の形態４］
図１１は、この発明の第４の実施の形態である半導体記憶装置の要部の構成を概念的に示す図である。図１１において、ＤＲＡＭアレイから転送されたデータを受けるデータ転送バッファ（ＤＴＢＲ）３１４は、ＤＲＡＭアレイ１０からＤＲＡＭデータバス３０を介して与えられるデータを受けるマスタラッチ３２０と、マスタラッチ３２０から与えられる画像データを格納する画像用スレーブラッチ３２１と、マスタラッチ３２０から与えられるプログラムデータを格納するプログラム用スレーブラッチ３２２を含む。
【０１０９】
ＤＲＡＭアレイ１０へデータを転送するデータ転送バッファ（ＤＴＢＷ）は、ＳＲＡＭデータバス３２を介して与えられる画像用データを格納する画像用マスタラッチ３２３と、このＳＲＡＭデータバス３２を介して与えられるプログラムデータを格納するマスタラッチ３２４と、マスタラッチ３２３および３２４に共通に結合され、これらマスタラッチ３２３および３２４から与えられたデータをＤＲＡＭアレイ１０へＤＲＡＭデータバス３０を介して転送するスレーブラッチ３２６を含む。
【０１１０】
スレーブラッチ３２１、３２２、３２６およびマスタラッチ３２０、３２３、および３２４は、それぞれ１６・４ビットの記憶容量を備える。
【０１１１】
この図１１に示す構成においては、ＤＴＢＲ３１４において、画像データをＤＲＡＭアレイから受けるマスタラッチと、プログラムデータをＤＲＡＭアレイから受けるマスタラッチとが１つのマスタラッチ３２０で実現される。同様、ＤＲＡＭアレイへ画像用データを転送するためのスレーブラッチとＤＲＡＭアレイ１０へプログラムデータを転送するためのスレーブラッチが１つのスレーブラッチ３２６で実現される。したがって、図８に示す構成に比べて、データ転送バッファの占有面積を低減することが可能となる。プログラムデータのＤＲＡＭアレイ１０とＳＲＡＭアレイ１２との間の転送およびプログラムデータのＤＴＢＲ３１４（スレーブラッチ３２２）からの読出、およびプログラムデータのＤＴＢＷ（マスタラッチ３２４）への書込は、先の実施の形態１ないし３と同じである。同様、画像データのＤＲＡＭアレイとデータ転送バッファの間の転送および画像データの書込／読出動作も同じである。
【０１１２】
この図１１に示す構成においては、画像データをＤＴＢＲ３１４のスレーブラッチ３２１に格納し、またＤＴＢＷ３１６のマスタラッチ３２３に格納する。したがって、ＣＰＵキャッシュミスが生じた場合には、マスタラッチ３２０およびスレーブラッチ３２６を用いてＣＰＵプログラムデータ転送を行なっても、何ら画像データの破壊は生じない。たとえば、マスタラッチ３２０において画像データが格納されている場合、画像データはスレーブラッチ３２２に転送されている。したがって、このマスタラッチ３２０の格納する画像データが、ＣＰＵプログラムデータで書換えられても、必要とされる画像データはスレーブラッチ３２２に既に格納されているため、何ら問題は生じない。スレーブラッチ３２６についてもスレーブラッチ３２６に画像データが格納されている場合、このスレーブラッチ３２６に格納された画像データは、既にＤＲＡＭアレイ１０に転送されている。次に転送されるべき画像データはマスタラッチ３２３に格納されている。したがって、マスタラッチ３２４およびスレーブラッチ３２６を用いてＳＲＡＭアレイ１２からＤＲＡＭアレイ１０へプログラムデータの転送を行なって、スレーブラッチ３２６の格納する画像データがＣＰＵプログラムデータで書換えられても、この画像データは既にＤＲＡＭアレイ１０の対応の領域に格納されているため、何ら問題は生じない。
図１２は、図１１に示す半導体記憶装置の１ビットのデータの入出力／転送に関連する部分の構成を示す図である。図１２において、１ビットデータ転送バッファ（ＤＴＢＷ）３１４ａは、転送制御信号ＢＷＴＥに従って、ＳＲＡＭデータバス線３２ａ上のデータを取込むとともに、セレクタ２５０を介してデコーダ５２から与えられた書込データをラッチするマスタラッチ回路３２４ａと、セレクタ２５０を介してデコーダ５２から与えられる書込画像データをラッチするマスタラッチ回路３２３ａと、マスタラッチ回路３２４ａおよび３２３ａの一方のデータを選択するセレクタ３３２と、これセレクタ３３２の出力するデータ信号をラッチしてＤＲＡＭデータバス線３０ａへ伝達するスレーブラッチ回路３２６ａを含む。セレクタ３３２は、選択制御信号ＧＰＷＴに従って、マスタラッチ回路３２４ａおよび３２３ａの一方の出力データ信号を選択する。スレーブラッチ回路３２６ａは、転送制御信号ＤＷＴＥおよびＤＷＤＥに応答して与えられたデータをラッチしかつ転送する。画像データを格納するマスタラッチ回路３２３ａへ与えられる転送制御信号ＧＢＷＴＥは、常時非活性状態とされる。このマスタラッチ回路３２３ａは、セレクタ２１０を介してデコーダ５２から与えられる書込画像データのみをラッチするためである。
【０１１３】
１ビットＤＴＢＲ３１６ａは、ＤＲＡＭデータバス線３０ａ上のデータを取込みラッチするマスタラッチ回路３２０ａと、マスタラッチ回路３２０ａからのプログラムデータを格納するスレーブラッチ回路３２２ａと、マスタラッチ回路３２０ａからの画像データを格納するスレーブラッチ回路３２１ａと、マスタラッチ回路３２０ａの出力するデータ信号をスレーブラッチ回路３２１ａおよび３２２ａの一方へ伝達するセレクタ３３４ａを含む。マスタラッチ回路３２０ａは、転送制御信号ＤＰＡＥおよびＤＲＴＥに応答して、ＤＲＡＭデータバス線３０ａ上のデータ信号を取込みかつ転送する。セレクタ３３４は、選択制御信号ＧＰＲＴに従って、転送経路を確立する。スレーブラッチ回路３２２ａは、転送制御信号ＢＲＴＥに従って、そのラッチしたデータをセレクタ２５３へ伝達する。スレーブラッチ回路３２１ａは、そのラッチしたデータを転送制御信号ＧＢＲＤＥに従ってセレクタ２５４の一方入力へ伝達する。
【０１１４】
マスタラッチ回路３２３ａおよび３２４ａならびにスレーブラッチ回路３２１ａおよび３２２ａの構成は、先の第３の実施の形態の構成と同じであり、このＤＴＢＲ３１４ａおよび３１６ａと入出力バッファ２８ａとの間に設けられる部分の構成は、図９に示す構成と同じであり、対応する部分には同一参照番号を付しその詳細説明は省略する。
【０１１５】
セレクタ３３２および３３４は、実質的に、この図９に示すセレクタ２５１および２５２と等価な機能を実現する。セレクタ３３２は、選択制御信号ＧＰＷＴが、プログラムデータを示すときには、マスタラッチ回路３２４ａの出力データ信号を選択する。選択制御信号ＧＰＷＴが画像データを指定する場合には、セレクタ３３２はマスタラッチ回路３２３ａの出力するデータ信号を選択する。
【０１１６】
セレクタ３３４は、選択制御信号ＧＰＲＴが、プログラムデータを指定する場合には、マスタラッチ回路３２０ａの出力データ信号をスレーブラッチ回路３２２ａへ伝達する。選択制御信号ＧＰＲＴが画像データであることを示すときには、セレクタ３３４は、マスタラッチ回路３２０ａからのデータ信号をスレーブラッチ回路３２１ａへ伝達する。したがって、この選択制御信号ＧＰＷＴおよびＧＰＲＤの持つ意義は、図９に示す選択制御信号と同じである。
【０１１７】
図１３は、図１２に示す制御信号を発生する部分の構成を示す図である。図１３において、ＳＲＡＭコントロール回路３００およびＳＲＡＭドライブ回路３０２は、図１０に示すＳＲＡＭコントロール回路３００およびＳＲＡＭドライブ回路３０２と同じ構成を備える。同様にコラムデコーダ７４も図１０に示す構成と同一の構成を備える。データ転送バッファ（ＤＴＢＲおよびＤＴＢＷ）とデータ入出力部およびＳＲＡＭアレイとの間の部分の構成は、先の実施の形態３の構成と実質的に同じであるためである。
【０１１８】
ＤＴＢＷ３１４のスレーブラッチ３１６およびＤＴＢＲのマスタラッチ３２０がプログラムデータおよび画像データで共有されるため、ＤＲＡＭコントロール回路３０４の出力信号に応答して動作するＤＲＡＭドライブ回路３０６の構成が少し異なる。ＤＲＡＭドライブ回路３０６は、先の実施の形態３の構成と異なり、送制御信号ＤＷＴＥ、ＤＷＤＥ、ＤＰＡＥおよびＤＲＴＥおよび選択制御信号ＧＴＷＴおよびＧＰＲＴを出力する。プログラムデータおよび画像データが共通にスレーブラッチを介して転送されるため、ＤＴＢＷのスレーブラッチの転送動作を制御するための信号ＤＷＴＥおよびＤＷＤＥがプログラムデータおよび画像データ両者に共通に用いられる。同様、ＤＴＢＲマスタラッチ３２０のデータ転送を制御するための信号ＤＰＡＥおよびＤＲＴＥが、プログラムデータおよび画像データ両者の転送時に共通に用いられる。プログラムデータおよび画像データの転送経路の制御は、選択制御信号ＧＰＷＴおよびＧＰＲＴにより実現される。
【０１１９】
ＤＲＡＭコントロール回路３０４の構成は、したがって、実質的に図１０に示す構成と同じである。制御信号ＣＣ２に従って、転送されるデータが画像データであるかプログラムデータであるかに従って、選択制御信号ＧＰＷＴおよびＧＰＲＴの状態が決定される。
【０１２０】
以上のように、この発明の第４の実施の形態の構成に従えば、ＤＲＡＭデータバスに結合されるスレーブラッチ回路およびマスタラッチ回路を、プログラムデータおよび画像データ両者に共通に用いるように構成したため、このデータ転送バッファの占有面積を低減することができ、小占有面積の半導体記憶装置を実現することができる。同様、第３の実施の形態と同様の効果をも実現することができる。
【０１２１】
［実施の形態５］
図１４は、この発明の第５の実施の形態である半導体記憶装置の要部の構成を概念的に示すブロック図である。図１４に示す構成においては、画像データをＤＲＡＭアレイ１０から受けて格納するＤＴＢＲ３１４において、画像データ格納のためのスレーブラッチに代えて、画像表示装置の表示画面上の１走査線上の画素データを格納する記憶容量を有するシフトレジスタ３５０が設けられる。シフトレジスタ３５０を除く他の構成は、図１１に示す構成と同じであり、対応する部分には同一参照番号を付し、これらの詳細説明は省略する。
【０１２２】
シフトレジスタ３５０の記憶容量は、１走査線上の画素の数、１画素データのビット数および画素データの構成方法（複数チップで１画素データを表現するなどの方法）により異なる。たとえば、１走査線が１０２４画素を含み、１画素のデータが８ビットで構成されかつこの半導体記憶装置が１つだけ用いられる場合には、シフトレジスタ３５０は、１０２４・８＝８Ｋビットの記憶容量を備える。
【０１２３】
図１５に示すように、画像表示装置への画像データの表示時において、水平帰線期間または垂直帰線期間にＤＲＡＭアレイ１０からシフトレジスタ３５０へ、１走査線の画素データを転送する。帰線期間の間はビデオリフレッシュおよびＣＰＵアクセスが行なわれる。ビデオリフレッシュにより、このシフトレジスタ３５０に格納されたデータが順次読出されて画像表示装置の表示画面上に表示される。このビデオリフレッシュ／ＣＰＵアクセス時においては、外部のグラフィックエンジンとＣＰＵとがインタリーブ態様でこの半導体記憶装置へアクセスする。シフトレジスタ３５０には、１走査線の画素データが格納されているため、グラフィックエンジンは描画時（画像表示装置の表示画面上の画像データの表示）において、連続的に画素データを読出して画像表示装置の表示画面上に表示することができる。描画時におけるＤＲＡＭアレイから画像データをブロック単位でキャッシュする場合のような、各ブロックのデータ読出ごとにデータをＤＲＡＭアレイからキャッシュ（ＧＢＵＦＲまたはＤＴＢＲ）へ転送する必要がなく、グラフィックエンジンのウェイトサイクルをなくすことができ、画像データを高速で表示することができる。
【０１２４】
図１６は、図１４に示すＤＴＢＲ３１４の、１ビットデータを出力する部分の構成を示す図である。図１６において、ＤＴＢＲマスタラッチ３２０は、１６ビットＤＲＡＭデータバス３０ｂに並列に（異なるバス線に）結合される１６個のＤＴＢＲマスタラッチ＃０〜＃１５（ＭＬ０〜ＭＬ１５）を含む。これらのＤＴＢＲマスタラッチＭＬ０〜ＭＬ１５は、１６ビットＤＲＡＭデータバス３０ｂ上の対応のビットを並列に受ける。マスタラッチＭＬ０〜ＭＬ１５それぞれに対応して、プログラムデータを格納するためのスレーブラッチＳＬ０〜ＳＬ１５が配置される。これらのスレーブラッチＳＬ０〜ＳＬ１５とは別に、シフトレジスタ回路ＳＲ０〜ＳＲ１５が配置される。スレーブラッチＳＬ０〜ＳＬ１５およびシフトレジスタ回路ＳＲ０〜ＳＲ１５は、選択的に１ビット入出力データバス線３４ａに結合される。
【０１２５】
シフトレジスタ回路ＳＲ０〜ＳＲ１５の各々は、複数段のＤフリップフロップ（Ｄ−ＦＦ）で構成される。シフトレジスタ回路ＳＲ０〜ＳＲ１５に含まれるＤフリップフロップ（Ｄ−ＦＦ）の数は、画素データの構成により異なる。ＤＲＡＭアレイからシフトレジスタ回路ＳＲ０〜ＳＲ１５へのデータ転送時において、１６ビットのブロックデータがＤＲＡＭデータバス３０ｂに伝達され、各ビットがＤＴＢＲマスタラッチＭＬ０〜ＭＬ１５に格納される。次いで、このマスタラッチＭＬ０〜ＭＬ１５の格納データがシフトレジスタ回路ＳＲ０〜ＳＲ１５の初段のＤフリップフロップ（Ｄ−ＦＦ）に格納される。次いで、再び次の１６ビットのブロックデータがＤＲＡＭデータバス３０ｂ上に伝達されてマスタラッチＭＬ０〜ＭＬ１５に格納される。次いでマスタラッチＭＬ０〜ＭＬ１５からシフトレジスタ回路ＳＲ０〜ＳＲ１５へそれぞれ対応の画素データビットを転送する。そのデータ転送動作を必要な回数繰り返すことにより、シフトレジスタ回路ＳＲ０〜ＳＲ１５には、１走査線の画素に対応する画像データが格納される。
【０１２６】
ＤＲＡＭアレイ１０からシフトレジスタ回路ＳＲ０〜ＳＲ１５へのデータ転送時において、ＤＲＡＭアレイの列アドレスを指定する必要があり（データブロックの指定のため）、外部からの処理装置（グラフィックエンジン）の制御の下に、ＤＲＡＭ列アドレスが与えられかつデータ転送指令が与えられてデータ転送動作が行なわれる（帰線期間内において）。
【０１２７】
図１７は、図１４に示す半導体記憶装置の１ビットのデータの入出力および転送を行なう部分の構成を示す図である。この図１７に示す構成においては、図１２に示す構成において、ＤＴＢＲスレーブラッチ回路３２１ａに代えて、シフトレジスタ回路ＳＲｉ（３５０ａ）が配置される。他の構成は図１２に示す構成と同じであり、対応する部分には同一の参照番号を付し、その詳細説明は省略する。
【０１２８】
シフトレジスタ回路ＳＲｉは、シフトクロックＳＦＫに従ってデータラッチおよび転送を行なう。このシフトクロックＳＦＫの発生態様については後に説明する。水平または垂直帰線期間において、セレクタ３３４を介して、マスタラッチ回路３２０ａから画像データがシフトレジスタ回路ＳＲｉ（３５０ａ）へ転送される。各転送ごとにシフトクロックＳＦＫを活性状態とすることにより、データの格納および転送を行なうことができる。このシフトレジスタ回路ＳＲｉ（３５０ａ）の格納データの読出時においては、セレクタ２５４によりその格納画像データが読出されてセレクタ２５５およびプリアンプ５６を介して出力バッファ６２へ伝達される。
【０１２９】
ＤＲＡＭアレイの１行の画像データが１走査線の画素データに対応する場合において画像データをＤＲＡＭアレイからシフトレジスタ３５０へ転送する場合、ＤＲＡＭアレイにおいて行を選択状態として、列アドレスを与える。これにより、１ブロック（１６・４ビット）のデータが選択される。このブロック選択動作を繰り返すとともに、ＤＲＡＭアレイからシフトレジスタ３５０へのデータ転送を行なう。したがって、データ転送動作は外部装置からの指令により実行されるため、このデータ転送を制御するための制御部の構成は、図１０に示す構成を利用することができる。
【０１３０】
図１８は、図１７に示すシフトクロックＳＦＫを発生する部分の構成を示す図である。図１８において、シフトクロック発生部は、コラムデコーダからの選択信号ＲＹＷの立下がりに応答してワンショットのパルス信号を発生するパルス発生回路４００ａと、選択制御信号ＧＳＢＳの非選択状態への移行に応答して、ワンショットのパルス信号を発生するパルス発生回路４００ｂと、選択制御信号ＧＰＳＲの非活性手段への移行に応答してワンショットのパルス信号を発生するパルス発生回路４００ｃと、パルス発生回路４００ａ〜４００ｃの出力信号を受けるＡＮＤ回路４０２と、転送制御信号ＤＲＴＥおよびＧＰＲＴを受けるＡＮＤ回路４０４と、ＡＮＤ回路４０２および４０４の出力信号を受けるＯＲ回路４０６を含む。
【０１３１】
コラムデコーダからの選択信号ＲＹＷは、対応のデータ転送バッファが選択されたときに、ハイレベルとなる。選択制御信号ＧＳＢＳが、ハイレベルに設定されたときに、セクレタ２５５は、図１７に示すセレクタ２５４の出力信号を選択する状態に設定される。選択制御信号ＧＰＳＲはハイレベルのときに、このシフトレジスタ回路ＳＲｉ（３５０ａ）の出力信号を選択する状態を示す。したがって、ＡＮＤ回路４０２からの出力信号に従って、シフトレジスタ回路ＳＲｉ（３５０ａ）の画素データが読出された後に、シフト動作が行なわれる。ここで、シフトレジスタ回路ＳＲｉ（３５０ａ）は、出力段に設けられたＤフリップフロップ（Ｄ−ＦＦ）はセレクタ２５４へ常時その格納データを出力している状態を想定している。
【０１３２】
転送制御信号ＤＲＴＥの活性化時には、図１７に示すマスタラッチ回路３２０ａからスレーブラッチ回路３２２ａまたはシフトレジスタ回路ＳＲｉ（３５０ａ）へのデータ転送が行なわれる。セレクタ３３４は、選択制御信号ＧＰＲＴがハイレベルに設定されたときには、このマスタラッチ回路３２０ａから与えられるデータをシフトレジスタ回路へ転送する。したがって、ＤＲＡＭアレイからシフトレジスタ回路ＳＲｉ（３５０ａ）へのデータ転送時において、ＡＮＤ回路４０４の出力信号がハイレベルとされる。したがって、ＯＲ回路４０６を介して、シフトクロックＳＦＫがハイレベルとされ、このシフトレジスタ回路ＳＲｉ（３５０ａ）が、ＤＲＡＭアレイから転送されたデータを格納する。各転送ごとにシフトクロックＳＦＫが活性状態とされるためシフトレジスタ回路ＳＲｉ（３５０ａ）において、順次その格納データが転送される。
【０１３３】
一方、データを読出す場合には、ＡＮＤ回路４０２の出力信号がデータ読出完了後ハイレベルとなり、ＯＲ回路４０６からのシフトクロックＳＦＫがハイレベルとされる。したがって、画像データが読出されるごとに、シフトレジスタ回路ＳＲｉ（３５０ａ）においてシフト動作が行なわれ、次のデータ読出に備える。
【０１３４】
以上のように、この発明の第５の実施の形態に従えば、１走査線の画像データを格納するシフトレジスタをＤＴＢＲのスレーブラッチ部分に並列に設けたため、１走査線の画像データを水平および垂直帰線期間中にＤＲＡＭアレイからシフトレジスタへ転送することができ、画像表示装置の表示画面への表示時において、連続的に画像データを出力することができ、画像データ表示動作におけるウェイトサイクルをなくすことができ、描画動作時における外部処理装置（グラフィックエンジン）の負荷を軽減することができる（ウェイトサイクルが生じた場合、そのウェイトサイクルを補償するために、データ処理を高速化する必要があり、ウェイトサイクルをなくすことにより、このような高速処理が不要とされる：画像表示装置の１走査線の表示期間は予め定められているためである）。
【０１３５】
［実施の形態６］
図１９は、この発明の第６の実施の形態である半導体記憶装置の要部の構成を概念的に示す図である。この図１９に示す構成においては、ＤＲＡＭアレイ１０へデータを転送する転送バッファ（ＤＴＢＷ）３１６において、画像データを格納するためのマスタラッチに代えて、１走査線の画素のデータを格納するシフトレジスタ３６０が設けられる。他の構成は、図１４に示す構成と同じであり、対応する部分には同一の参照番号を付し、その詳細説明は省略する。
【０１３６】
この図１９に示す構成においては、たとえば外部からテレビカメラなどの画像データがラスタ走査順序で順次与えられる場合、この画像データをシフトレジスタ３６０へ順次格納し、次いで水平走査帰線期間および垂直走査帰線期間にそのシフトレジスタ３６０に格納された画像データがスレーブラッチ３２６を介してＤＲＡＭアレイ１０の対応の画像データ領域へ転送される。このシフトレジスタ３６０を設けることにより、たとえばテレビカメラからの画像データが順次伝達される場合、この転送画像データのＤＲＡＭアレイへの転送時に、外部からの画像データの書込を退避させる必要はなく、このようなデータ書込の待機のためのバッファメモリを外部に設ける必要がなく、システム構成が小規模となる。
【０１３７】
図２０は、図１９に示す半導体記憶装置の１ビットのデータの転送および入出力を行なう部分の構成を示す図である。この図２０に示す構成は、データ転送バッファＤＴＢＷ３１４ａにおいて、マスタラッチ回路に代えて、シフトレジスタ回路３６０ａが用いられる点を除いて図１７に示す構成と同じである。対応の構成要素に対しては、この図１７に示す構成要素と同一の参照番号を付し、その詳細説明は省略する。
【０１３８】
シフトレジスタ回路３６０ａは、シフトクロックＳＦＫＷに従ってデータの格納およびシフト動作を行なう。シフトレジスタ回路３６０ａは、シフトレジスタ回路３５０ａと同様、複数段のＤフリップフロップ（Ｄ−ＦＦ）で構成される。この図２０に示す構成に対する制御信号を発生する構成は、図１３に示す構成を利用することができる。シフトクロックＳＦＫを発生する構成は図１８に示す構成を利用することができる。
【０１３９】
図２１は、シフトクロックＳＦＫＷを発生する部分の構成を示す図である。図２１において、シフトクロック発生部は、選択信号ＢＹＷと選択制御信号ＧＢＳＷを受けるＡＮＤ回路４１０と、転送制御信号ＤＷＴＥの立下がりに応答してワンショットのパルス信号を発生するパルス発生回路４１２と、パルス発生回路４１２の出力信号と選択制御信号ＧＢＷＴを受けるＡＮＤ回路４１４と、ＡＮＤ回路４１０および４１４の出力信号を受けるＯＲ回路４１６を含む。ＯＲ回路４１６からシフトクロックＳＦＫＷが出力される。
【０１４０】
選択制御信号ＧＢＳＷは、ハイレベルのときには、セレクタ２５０に、デコーダ５２からの書込データをシフトレジスタ回路３６０ａへ伝達させる。したがって、この場合には外部から与えられた画像データを書込むシフトレジスタ回路において、ＡＮＤ回路４１０の出力信号がハイレベルとなり、応じてＯＲ回路４１６からのシフトクロックＳＦＫＷがハイレベルとなり、このセレクタ２５０から与えられた書込画像データがシフトレジスタ回路３６０ａに格納される。データ転送時において制御信号ＧＰＷＴがハイレベルとされると、セレクタ３３２は、シフトレジスタ回路３６０ａの出力信号を選択する。最初のサイクルにおいては、シフトレジスタ回路３６０ａの最終段の格納データがセレクタ３３２を介してスレーブラッチ回路３２６ａへ伝達される。このデータ転送動作が完了すると、転送制御信号ＤＷＴＥがローレベルとなり、パルス発生回路４１２の出力信号が所定期間ハイレベルとされる。したがってこのデータをスレーブラッチ回路３２６ａへ転送した後、ＡＮＤ回路４１４の出力信号がハイレベルとなり、応じてＯＲ回路４１６からのシフトクロックＳＦＫＷがハイレベルとされる。これにより、シフトレジスタ回路３６０ａにおいて、ＤＲＡＭアレイへのデータ転送後、そのラッチした画像データが１段のフリップフロップだけシフトされる。データ転送動作時においては、転送制御信号ＤＷＴＥが所定回数繰り返し活性状態とされる。したがって、データ転送時において、シフトクロックＳＦＫＷを必要な回数活性状態とすることができる。
【０１４１】
なお、シフトレジスタ３６０に含まれるシフトレジスタの段の数は、シフトレジスタ回路３５０と同様、書込画像データの構成に応じて適当に決定される。
【０１４２】
以上のように、この発明の第６の実施の形態の構成に従えば、ＤＲＡＭアレイへデータを転送する転送バッファにおいても、１走査線分の書込データを格納するシフトレジスタを配置したため、外部から連続的に画像データがラスタ走査順序に従って与えられる場合においても、このシフトレジスタからＤＲＡＭアレイへのデータ転送を水平および垂直帰線期間に行なうことにより、外部装置は、何らウェイトサイクルを生じることなく高速画像データをこの半導体記憶装置へ書込むことができる。
【０１４３】
［他の適用例］
なお、上述の実施の形態においては、グラフィックエンジンが画像データの加工および表示の処理を行なっており、ＣＰＵはプログラムデータのみを処理しているように説明している。しかしながら、外部の処理装置は、画像表示装置へのデータ転送のみを実行し、ＣＰＵがプログラムデータおよびこの画像データを加工する構成が用いられてもよい。この場合、プログラムデータは、ＣＰＵが処理するデータと定義される。
【０１４４】
さらに、上記各実施の形態においては、ＤＲＡＭアレイとＳＲＡＭアレイとがこの半導体記憶装置において設けられている。しかしながら、この半導体記憶装置は、高速動作するＤＲＡＭと、比較的低速のたとえばフラッシュメモリのような不揮発性メモリが同一チップ上に集積化される構成であってもよい。同様、ＳＲＡＭとフラッシュメモリが同一チップ上に集積化される構成であってもよい。
【０１４５】
さらにこのデータ処理システムにおいて処理されるデータは画像データでなく、たとえば音声データのような別のデータであってもよく、特定の処理に用いられるデータであればよい。
【０１４６】
【発明の効果】
以上のように、この発明に従えば、高速アクセス可能なメモリと大記憶容量のメモリとを備える半導体記憶装置において、特定の処理に用いられるデータを格納するバッファを設けたため、特定の処理に用いられるデータに対し最適な大きさのキャッシュを実現することができるとともに、ＣＰＵキャッシュミス時においても、何ら特定用途に用いられるデータの破壊を伴うことなく２つのアレイ間でデータ転送を行なうことができ、ＣＰＵウェイトサイクル数を低減することができ、高速でデータ処理を行なうことのできる高性能のマルチメディアシステム向けの半導体記憶装置を実現することができる。
【０１４７】
すなわち、請求項１に係る発明に従えば、第１のメモリアレイと第２のメモリアレイと、これら第１および第２のメモリアレイの間のデータ転送を行なうための、データを格納する手段を含むデータ転送手段とを有する半導体記憶装置において、第１のメモリアレイとデータの転送を行なう、特定の処理に用いられるデータを記憶する記憶手段を設け、データ転送手段、第２のメモリアレイおよび記憶手段を入出力回路に選択的に結合するように構成したため、特定の処理に用いられるデータについて最適なサイズでキャッシュを実現することができ、また外部処理装置の要求するデータが第２のメモリに存在しない場合においても、第１および第２のメモリアレイの間でこの特定の処理に用いられるデータの破壊を伴うことなく転送を行なうことができ、外部処理装置の待ち時間を低減することができ、高性能の処理システムを実現することができる。
【０１４８】
請求項２に係る発明に従えば、この記憶手段を、第１のメモリアレイからデータ転送手段を介して与えられるデータを記憶し、かつその記憶データを入出力回路を介して装置外部へ出力する読出データ記憶手段で構成したため、外部処理装置の要求するデータを第２のメモリアレイにキャッシュし、特定の処理に用いられるデータをこの記憶手段にキャッシュすることにより、外部処理装置が要求するデータのヒット率を高くすることができ、また特定の処理に用いられるデータを高速で読出すことができる。
【０１４９】
請求項３に係る発明に従えば、記憶手段を入出力回路を介して装置外部から与えられるデータを格納し、かつ該格納データをデータ転送手段を介して第１のメモリアレイへ伝達する書込データ記憶手段で構成したため、外部から与えられる特定の処理に用いられるデータを高速で格納することができ、また外部処理装置が要求するデータが第２のメモリアレイに存在しない場合においても、書込データ記憶手段に格納されたデータの破壊を伴うことなくデータ転送を行なうことができる。
【０１５０】
請求項４に係る発明に従えば、データ転送手段と並列に、入出力回路から与えられたデータを格納しかつ該格納データを第１のメモリアレイへ転送する記憶／転送手段で記憶手段を構成したため、データ転送手段と別の経路を介して第２のメモリアレイとＳＲＡＭアレイのデータ転送をこのデータ記憶手段からアクセス時に行なうことが可能となる。
【０１５１】
請求項５に係る発明に従えば、記憶手段を、データ転送手段と並列に第１のメモリアレイに結合されかつこの第１のメモリアレイからのデータを受けて格納しかつ該格納データを入出力回路を介して装置外部へ出力する記憶／転送手段で構成したため、高速で特定の処理に用いられるデータを装置外部へ出力することができるとともに、この記憶手段へのアクセス時に、第１のメモリアレイと第２のメモリアレイとの間でデータ転送を行なうことができる。
【０１５２】
請求項６に係る発明に従えば、記憶手段を、マスタラッチとスレーブラッチで構成されるデータ転送手段のスレーブラッチと並列にマスタラッチ手段からのデータを受けて入出力回路へ選択的に伝達する手段で構成したため、このデータ転送手段のマスタラッチを外部処理装置が要求するデータおよび特定の処理に用いられるデータの転送のために利用されるマスタラッチを共有することができ、この回路占有面積を低減することができる。
【０１５３】
請求項７に係る発明に従えば、記憶手段を、スレーブラッチとスターラッチとで構成されるデータ転送手段のマスタラッチと並列に入出力回路からのデータを格納し、該格納データをスレーブラッチ手段を介して第１のメモリアレイへ転送する手段で構成したため、特定の処理に用いられるデータと外部処理装置が要求するデータとの転送のための回路部分を共通化することができ、回路占有面積を低減することができる。
【０１５４】
請求項８に係る発明に従えば値データ転送手段が複数ビットのデータを第１および第２のメモリアレイの間で同時に転送し、かつ記憶手段がデータ転送手段と同じ記憶容量を備えるため、最適な特定処理が用いられるデータのキャッシュを実現することができる。
【０１５５】
請求項９に係る発明に従えば、この記憶手段は、特定の処理に用いられる画像データの表示画面上の１走査線上の画素データを格納する記憶容量を備えており、この画像データの水平および垂直帰線期間中に第１のメモリアレイと記憶手段との間で転送することにより外部の画像処理装置は、何らウェイトサイクルが生じることなく連続的にデータを処理することができる。
【図面の簡単な説明】
【図１】  この発明の第１の実施の形態である半導体記憶装置の要部の構成を概念的に示すブロック図である。
【図２】  図１に示す半導体記憶装置の動作を示すタイミングチャート図である。
【図３】  図１に示す半導体記憶装置の１ビットのデータの入出力および転送に関連する部分の構成を示す図である。
【図４】  図３に示す制御信号を発生する部分の構成を示す図である。
【図５】  この発明の第２の実施の形態である半導体記憶装置の要部の構成を概念的に示すブロック図である。
【図６】  図５に示す半導体記憶装置の１ビットのデータの入出力および転送に関連する部分の構成を示す図である。
【図７】  図６に示す制御信号を発生する部分の構成を示す図である。
【図８】  この発明の第３の実施の形態である半導体記憶装置の要部の構成を概念的に示す図である。
【図９】  図８に示す半導体記憶装置の１ビットのデータ入出力に関連する部分の構成を示す図である。
【図１０】  図９に示す制御信号を発生する部分の構成を示す図である。
【図１１】  この発明の第４の実施の形態である半導体記憶装置の要部の構成を概念的に示す図である。
【図１２】  図１１に示す半導体記憶装置の１ビットのデータ入出力に関連する部分の構成を示す図である。
【図１３】  図１２に示す制御信号を発生する部分の構成を示す図である。
【図１４】  この発明の第５の実施の形態である半導体記憶装置の要部の構成を概念的に示す図である。
【図１５】  図１４に示す半導体記憶装置の動作を説明するための図である。
【図１６】  図１４に示すシフトレジスタおよび画像用スレーブラッチの構成を概略的に示す図である。
【図１７】  図１４に示す半導体記憶装置の１ビットのデータ入出力および転送に関連する部分の構成を示す図である。
【図１８】  図１７に示すシフトクロックを発生する部分の構成を示す図である。
【図１９】  この発明の第６の実施の形態である半導体記憶装置の要部の構成を概念的に示す図である。
【図２０】  図１９に示す半導体記憶装置の１ビットのデータ入出力および転送に関連する部分の構成を概略的に示す図である。
【図２１】  図２０に示す書込画像データ格納のためのシフトレジスタ回路へ与えられるシフトクロックを発生する部分の構成を示す図である。
【図２２】  従来のデータ処理システムの構成を概略的に示す図である。
【図２３】  従来の改良されたデータ処理システムの構成を概略的に示す図である。
【図２４】  図２３に示すデータ処理システムの半導体記憶装置へのアクセスシーケンスを示す図である。
【図２５】  従来の半導体記憶装置の要部の構成を概念的に示す図である。
【図２６】  図２５に示す半導体記憶装置の１ビットのデータ入出力に関連する部分の構成を示す図である。
【図２７】  従来の半導体記憶装置の画像データのキャッシュ方法の一例を説明するための図である。
【図２８】  従来の半導体記憶装置の別の画像データのキャッシュ方法を説明するための図である。
【符号の説明】
１０  ＤＲＡＭアレイ、１２  ＳＲＡＭアレイ、１４  ＤＴＢＲ、１６  ＤＴＢＷ、２８  入出力バッファ、３０  ＤＲＡＭデータバス、３２  ＳＲＡＭデータバス、７０  画像用読出バッファ、２０  ＤＴＢＲマスタラッチ、２２  ＤＴＢＲスレーブラッチ、２４  ＤＴＢＷマスタラッチ、２６  ＤＴＢＷスレーブラッチ、６１  入力バッファ、６２  出力バッファ、１１０  画像用書込バッファ、２１４  画像データ用ＤＴＢＲ、２２０  画像データ用ＤＴＢＲマスタラッチ、２２２  画像データ用ＤＴＢＲスレーブラッチ、２１６  画像データ用ＤＴＢＷ、２２４  画像データ用ＤＴＢＷマスタラッチ、２２６  画像データ用ＤＴＢＷスレーブラッチ、３１４  ＤＴＢＲ、３１６  ＤＴＢＷ、３２０  ＤＴＢＲマスタラッチ、３２１  画像用ＤＴＢＲスレーブラッチ、３２２  プログラム用ＤＴＢＲスレーブラッチ、３２３  画像用ＤＴＢＷマスタラッチ、３２４  プログラム用ＤＴＢＷマスタラッチ、３２６  ＤＴＢＷスレーブラッチ、３５０  シフトレジスタ、３６０  シフトレジスタ。
【図１】
0003780011.tif 000002
【図２】
0003780011.tif 000003
【図３】
0003780011.tif 000004
【図４】
0003780011.tif 000005
【図５】
0003780011.tif 000006
【図６】
0003780011.tif 000007
【図７】
0003780011.tif 000008
【図８】
0003780011.tif 000009
【図９】
0003780011.tif 000010
【図１０】
0003780011.tif 000011
【図１１】
0003780011.tif 000012
【図１２】
0003780011.tif 000013
【図１３】
0003780011.tif 000014
【図１４】
0003780011.tif 000015
【図１５】
0003780011.tif 000016
【図１６】
0003780011.tif 000017
【図１７】
0003780011.tif 000018
【図１８】
0003780011.tif 000019
【図１９】
0003780011.tif 000020
【図２０】
0003780011.tif 000021
【図２１】
0003780011.tif 000022
【図２２】
0003780011.tif 000023
【図２３】
0003780011.tif 000024
【図２４】
0003780011.tif 000025
【図２５】
0003780011.tif 000026
【図２６】
0003780011.tif 000027
【図２７】
0003780011.tif 000028
【図２８】
0003780011.tif 000029