JP2002007373A - 半導体装置 - Google Patents

半導体装置

Info

Publication number
JP2002007373A
JP2002007373A JP2000184863A JP2000184863A JP2002007373A JP 2002007373 A JP2002007373 A JP 2002007373A JP 2000184863 A JP2000184863 A JP 2000184863A JP 2000184863 A JP2000184863 A JP 2000184863A JP 2002007373 A JP2002007373 A JP 2002007373A
Authority
JP
Japan
Prior art keywords
cache
data
primary
storage unit
miss
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.)
Withdrawn
Application number
JP2000184863A
Other languages
English (en)
Inventor
Shigetoshi Wakayama
繁俊 若山
Yoshihisa Seito
美寿 齋籐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000184863A priority Critical patent/JP2002007373A/ja
Publication of JP2002007373A publication Critical patent/JP2002007373A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 本発明は、命令演算部とメモリとを搭載した
チップに複数階層のキャッシュを設ける構成において、
アクセス遅延時間の短縮を図ることを目的とする。 【解決手段】 半導体装置は、半導体チップに搭載され
る命令演算部と、該半導体チップに搭載され1次キャッ
シュとして動作する第1の記憶部と、該半導体チップに
搭載され一部或いは全部が2次キャッシュとして動作す
る第2の記憶部と、該1次キャッシュ及び該2次キャッ
シュを単一のステートマシンで制御する制御部を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に命令演算部
とメモリを一つの半導体チップに搭載した半導体装置に
関し、詳しくはプロセッサチップに複数階層のキャッシ
ュメモリを搭載した半導体装置に関する。
【0002】
【従来の技術】情報機器の高機能化を測る為にはプロセ
ッサの処理性能を向上させる必要があるが、プロセッサ
の処理性能を決定する要因としては、命令演算部の演算
速度と、命令演算部からメモリへのアクセス遅延とがあ
る。命令演算部の演算速度に関しては、演算処理アーキ
テクチャを改良することで向上が図られている。命令演
算部からメモリへのアクセス遅延に関しては、一般的に
は主記憶装置であるメモリチップと命令演算部を構成す
るプロセッサチップとが別のチップであるために、プロ
セッサチップから外付けのメモリチップに対するアクセ
ス遅延時間を小さくするには限界がある。
【0003】近年LSI製造プロセス技術の進歩に伴っ
て、命令演算部とDRAM等のメモリとを同一のチップ
に搭載することが可能となっている。しかし現状ではチ
ップ内蔵メモリの容量は限られており、チップ内蔵メモ
リを主記憶として用いるのではなく、SRAM等の1次
キャッシュメモリに対する2次キャッシュメモリとして
用いることが現実的である。
【0004】
【発明が解決しようとする課題】しかし複数階層キャッ
シュ構成において、各階層のキャッシュに対してコント
ローラを別個に設けて上位の階層から順次アクセスする
方式では、各層のキャッシュの判定時間が積算されるた
めに、アクセス遅延がそれ程改善されない。即ち、1次
キャッシュと2次キャッシュとが設けられている構成
で、1次キャッシュのヒット/ミス判定を完了した後に
2次キャッシュにアクセスする場合には、2次キャッシ
ュからのデータ読み出しは、1次キャッシュがヒットし
た場合の1次キャッシュからのデータ読み出しに比べて
遅くなってしまう。また2次キャッシュもミスした場合
には、1次キャッシュのヒット/ミス判定の時間と2次
キャッシュのヒット/ミス判定の時間との総和が、アク
セス時間に含まれることになってしまう。
【0005】本発明は、命令演算部とメモリとを搭載し
たチップに複数階層のキャッシュを設ける構成におい
て、アクセス遅延時間の短縮を図ることを目的とする。
【0006】
【課題を解決するための手段】請求項1の発明では、半
導体装置は、半導体チップに搭載される命令演算部と、
該半導体チップに搭載され1次キャッシュとして動作す
る第1の記憶部と、該半導体チップに搭載され一部或い
は全部が2次キャッシュとして動作する第2の記憶部
と、該1次キャッシュ及び該2次キャッシュを単一の制
御部で制御する制御部を含む。
【0007】請求項2の発明では、請求項1記載の半導
体装置において、前記第1の記憶部と前記第2の記憶部
の一方または両方は、ダイナミック型メモリ、フラッシ
ュメモリ、或いは強誘電体メモリの何れか一つである。
【0008】請求項3の発明では、請求項1記載の半導
体装置において、前記制御部は、前記1次キャッシュに
対するヒット/ミス判定をすると共に、その判定結果を
待つことなく、前記2次キャッシュに対するヒット/ミ
ス判定をする。
【0009】請求項4の発明では、請求項1記載の半導
体装置において、前記2次キャッシュは、第1のアクセ
ス時間でデータを返送する動作と第1のアクセス時間よ
り長い第2のアクセス時間でデータを返送する動作との
何れの動作となるかが入力するアドレスに依存するメモ
リであり、該第1のアクセス時間に対応するアドレスに
対するヒット/ミスを示すキャッシュ用タグ記憶部を更
に含むことを特徴とする請求項4記載の半導体装置。
【0010】請求項5の発明では、請求項2記載の半導
体装置において、前記制御部は、前記1次キャッシュに
対するヒット/ミス判定をすると共に、その判定結果を
待つことなく、前記2次キャッシュに対するヒット/ミ
ス判定をすることを特徴とする。
【0011】このように本発明では1次キャッシュと2
次キャッシュとを単一のステートマシンで制御してヒッ
ト/ミス判定を同時に行なうため、従来のように各キャ
ッシュに別個のステートマシンを設けてヒット/ミス判
定を順次行なっていた場合に比較して、アクセス遅延時
間(アクセスレイテンシ)を短縮することが出来る。ま
た物理的な回路構成としては、1次キャッシュ用のコン
トローラと2次キャッシュ用のコントローラとを総合す
ることになるので、チップ面積の削減が可能になる。更
にページモードを備えた2次キャッシュの場合には、ペ
ージヒットの場合にアクセスレイテンシを大幅に削減す
ることが出来る。
【0012】
【発明の実施の形態】以下に、本発明の実施例を添付の
図面を用いて詳細に説明する。
【0013】図1は、本発明の原理説明図である。
【0014】図1において、半導体チップ10には、命
令演算部11と、1次キャッシュ12と、2次キャッシ
ュ13と、キャッシュコントローラ14が設けられる。
チップ10は、外部のメモリチップである外部記憶装置
15に接続される。キャッシュコントローラ14は、1
次キャッシュ用タグ記憶部16と2次キャッシュ用タグ
記憶部17とを含む。外部記憶装置15は、主記憶の一
部又は全部を実装している。また本発明は、外部記憶装
置15が3次キャッシュ等の階層的な記憶構造になって
いる場合も含む。
【0015】命令演算部11が、データ読み出しアクセ
ス要求を、キャッシュコントローラ14に発行する。キ
ャッシュコントローラ14は、1次キャッシュ用タグ記
憶部16と2次キャッシュ用タグ記憶部17とを実質的
に同時にアクセスし、即ち1次キャッシュ用タグ記憶部
16のアクセス結果を待つことなく2次キャッシュ用タ
グ記憶部17にもアクセスし、1次キャッシュ用タグ記
憶部16と2次キャッシュ用タグ記憶部17とに対して
ヒット/ミス判定結果を得る。
【0016】1次キャッシュ用タグ記憶部16がキャッ
シュヒットであれば、キャッシュコントローラ14は、
1次キャッシュ12から命令演算部11にデータを転送
する。1次キャッシュ用タグ記憶部16がキャッシュミ
スで2次キャッシュ用タグ記憶部17がキャッシュヒッ
トであれば、キャッシュコントローラ14は、1次キャ
ッシュ12から命令演算部11にデータを転送する。1
次キャッシュ用タグ記憶部16と2次キャッシュ用タグ
記憶部17とが共にキャッシュミスである場合には、命
令演算部11が、外部記憶装置15に対してデータ読み
出しを実行する。
【0017】このように本発明では1次キャッシュと2
次キャッシュとに共通のコントローラを設けて両者に対
するヒット/ミス判定を同時に行なうため、従来のよう
に各キャッシュに別個のコントローラを設けてヒット/
ミス判定を順次行なっていた場合に比較して、アクセス
遅延時間(アクセスレイテンシ)を短縮することが出来
る。また1次キャッシュ用のコントローラと2次キャッ
シュ用のコントローラとを総合することで、チップ面積
の削減が可能になる。
【0018】図2は、本発明による階層記憶装置の第1
の実施例を示す。
【0019】本発明による階層記憶装置である半導体チ
ップ20は、命令演算部21、1次命令キャッシュ2
2、2次命令キャッシュ23、命令キャッシュコントロ
ーラ24、1次データキャッシュ25、2次データキャ
ッシュ26、及びデータキャッシュコントローラ27を
含む。チップ20は、外部のメモリチップである外部記
憶装置28に接続される。命令キャッシュコントローラ
24は、1次命令キャッシュ用タグ記憶部31と2次命
令キャッシュ用タグ記憶部32とを含む。データキャッ
シュコントローラ27は、1次データキャッシュ用タグ
記憶部33と2次データキャッシュ用タグ記憶部34と
を含む。
【0020】図2の構成では、命令側とデータ側でメモ
リのアクセスパスを分離したハーバードアーキテクチャ
ーとなっているが、本発明はこの構成に限定されるもの
ではなく、命令側とデータ側でメモリのアクセスパスを
分離しない構成であっても構わない。
【0021】図3は、図2の構成におけるメモリから命
令演算部への読み出しアクセス動作を示すフローチャー
トである。
【0022】ステップS1で、命令演算部からメモリへ
のアクセスが発生すると、1次キャッシュ用タグ記憶部
及び2次キャッシュ用タグ記憶部にアクセスする。
【0023】ステップS2及びS3で、1次キャッシュ
用タグ記憶部及び2次キャッシュ用タグ記憶部の情報に
基づいて、アクセスしたアドレスに対するヒット或いは
ミスの判定をする。即ち図2の構成において、命令を読
み出す動作である場合には、1次命令キャッシュ用タグ
記憶部31及び2次命令キャッシュ用タグ記憶部32の
両方を同時にアクセスして、ヒット或いはミスの判定を
する。またデータを読み出す動作である場合には、1次
データキャッシュ用タグ記憶部33及び2次データキャ
ッシュ用タグ記憶部34の両方を同時にアクセスして、
ヒット或いはミスの判定をする。
【0024】図4は、キャッシュ用タグ記憶部と、対応
するキャッシュ及びアドレスとの関係の一例を示した図
である。
【0025】アドレス40は、1次キャッシュに対して
は、エントリー41と、インデックス42と、オフセッ
ト43の各部分よりなる。また2次キャッシュに対して
は、エントリー51と、インデックス52と、オフセッ
ト53の各部分よりなる。このように1次キャッシュと
2次キャッシュとで、アドレス40を各部分に分割する
大きさを異ならせることで、各々のキャッシュに対して
異なった大きさのデータ(異なったビット長のデータ)
を記憶することが可能になる。1次キャッシュ及び2次
キャッシュに同一の大きさのデータを格納するのであれ
ば、オフセット43は、オフセット53と同一の大きさ
(同一のビット長)でよい。
【0026】1次キャッシュ用タグ記憶部31或いは3
3は、有効ビットフィールド、変更ビットフィールド、
及びタグアドレスを含む。1次キャッシュ22或いは2
5は、各インデックスに対して、オフセットの大きさに
よって決まるデータを格納する。1次キャッシュ用タグ
記憶部31或いは33の各行は各インデックスに対応し
ており、タグアドレスには、1次キャッシュに格納され
る対応するインデックスのデータのエントリーが格納さ
れる。
【0027】この構成では、各インデックスに対して、
一つのデータのみが1次キャッシュに格納可能となって
いる。あるインデックスのデータが1次キャッシュに格
納されると、そのデータのエントリー41が1次キャッ
シュ用タグ記憶部の対応するインデックスのタグアドレ
ス部に記録される。同一のインデックスで異なるエント
リーを有するデータを格納する場合には、そのインデッ
クスを有する最初のデータを置き換える形で新たなデー
タをキャッシュに格納すると共に、1次キャッシュ用タ
グ記憶部の対応するインデックスのタグアドレス部を書
き換える。
【0028】なお上記記述は、ダイレクトマップ方式に
関するものであるが、セットアソシアティブ方式やフル
アソシアティブ方式等の他の方式を適用するものであっ
ても構わない。
【0029】1次キャッシュ用タグ記憶部31或いは3
3の有効ビットは、対応するインデックスのデータがキ
ャッシュに格納されていることを示す。初期状態でキャ
ッシュに全くデータが格納されていない場合には、有効
ビットは全てゼロである。1次キャッシュ用タグ記憶部
31或いは33の変更ビットは、キャッシュ内の対応す
るデータが変更されていることを示す。データが変更さ
れている場合には、変更されたデータを主記憶に戻す
(反映させる)必要がある。
【0030】2次キャッシュ23或いは26及び2次キ
ャッシュ用タグ記憶部32或いは34に対しても上記と
同様である。
【0031】図3に戻り、上記ステップS2及びS3で
は、1次キャッシュ用タグ記憶部及び2次キャッシュ用
タグ記憶部において、対応するインデックスのタグアド
レスをチェックすることで、ヒット或いはミスの判定を
行なう。
【0032】ここで判定結果がミスの場合には、必要な
データ(或いは命令)を下位層のメモリから当該キャッ
シュに転送するが、このときに同一のインデックスのデ
ータが既に存在する場合にはこのデータを置き換える必
要がある。キャッシュ用タグ記憶部において、この置き
換え対象のデータの変更ビットが0であるか1であるか
によって、データアクセス動作が異なる。ここでは、置
き換え対象データが存在しない、または、置き換え対象
のデータの変更ビットが0でありデータを下位層メモリ
に戻す必要がない場合をクリーンミスと呼び、変更ビッ
トが1でありデータを下位層メモリに戻す必要がある場
合をダーティーミスと呼ぶ。
【0033】1次キャッシュでヒットした場合には、ス
テップS4で、1次キャッシュからデータ(或いは命
令)を読み出して命令演算部に送る。
【0034】1次キャッシュでクリーンミスして2次キ
ャッシュでヒットした場合には、ステップS5で、2次
キャッシュからデータ(或いは命令)を読み出して命令
演算部に送ると共に、ステップS6で、2次キャッシュ
から1次キャッシュにデータ(或いは命令)を転送す
る。
【0035】1次キャッシュでダーティーミスして2次
キャッシュでヒットした場合には、ステップS5で、2
次キャッシュからデータ(或いは命令)を読み出して命
令演算部に送り、ステップS7で、1次キャッシュから
2次キャッシュに置換対象のデータを転送する。その
後、ステップS6で、2次キャッシュから1次キャッシ
ュにデータ(或いは命令)を転送する。
【0036】2次キャッシュでクリーンミスした場合に
は、ステップS8で、外部記憶装置からデータ(或いは
命令)を読み出して命令演算部に送ると共に、ステップ
S9で、外部記憶装置から2次キャッシュ及び1次キャ
ッシュにデータ(或いは命令)を転送する。
【0037】1次キャッシュでクリーンミスして2次キ
ャッシュでダーティーミスした場合には、ステップS1
0で、外部記憶装置からデータ(或いは命令)を読み出
して命令演算部に送ると共に、ステップS11で、2次
キャッシュから外部記憶装置に置換対象のデータを転送
する。更に、ステップS9で、外部記憶装置から2次キ
ャッシュ及び1次キャッシュにデータ(或いは命令)を
転送する。
【0038】1次キャッシュでダーティーミスして2次
キャッシュでダーティーミスした場合には、ステップS
12で、外部記憶装置からデータ(或いは命令)を読み
出して命令演算部に送る。更にステップS13で、1次
キャッシュから2次キャッシュに置換対象のデータを転
送した後、ステップS11で、2次キャッシュから外部
記憶装置に置換対象のデータを転送する。更に、ステッ
プS9で、外部記憶装置から2次キャッシュ及び1次キ
ャッシュにデータ(或いは命令)を転送する。
【0039】図5は、図2の構成における命令演算部か
らメモリへの書き込みアクセス動作を示すフローチャー
トである。
【0040】ステップS1で、命令演算部からメモリへ
の書き込みアクセスが発生すると、1次キャッシュ用タ
グ記憶部及び2次キャッシュ用タグ記憶部にアクセスす
る。
【0041】ステップS2及びS3で、1次キャッシュ
用タグ記憶部及び2次キャッシュ用タグ記憶部におい
て、対応するインデックスのタグアドレスをチェックす
ることで、ヒット或いはミスの判定を行なう。ここで判
定結果がミスの場合に、置き換え対象のデータの変更ビ
ットが0でありデータを下位層メモリに戻す必要がない
クリーンミスと、変更ビットが1でありデータを下位層
メモリに戻す必要があるダーティーミスとでは、以下に
示すようにアクセス動作が異なる。
【0042】1次キャッシュでヒットした場合には、ス
テップS4で、1次キャッシュにデータ(或いは命令)
を書き込む。またステップS5で、1次キャッシュ用タ
グ記憶部及び2次キャッシュ用タグ記憶部の対応する変
更ビットを1にする。
【0043】1次キャッシュでクリーンミスして2次キ
ャッシュでヒットした場合には、ステップS6で、2次
キャッシュから1次キャッシュにデータ(或いは命令)
を転送し、その後ステップS7で、1次キャッシュにデ
ータ(或いは命令)を書き込む。またステップS8で、
1次キャッシュ用タグ記憶部及び2次キャッシュ用タグ
記憶部の対応する変更ビットを1にする。
【0044】1次キャッシュでダーティーミスして2次
キャッシュでヒットした場合には、ステップS9で、1
次キャッシュから2次キャッシュに置換対象のデータ
(或いは命令)を転送する。更にステップS6で、2次
キャッシュから1次キャッシュにデータ(或いは命令)
を転送し、その後ステップS7で、1次キャッシュにデ
ータ(或いは命令)を書き込む。またステップS8で、
1次キャッシュ用タグ記憶部及び2次キャッシュ用タグ
記憶部の対応する変更ビットを1にする。
【0045】2次キャッシュでクリーンミスした場合に
は、ステップS10で、外部記憶装置からデータ(或い
は命令)を読み出して2次キャッシュにデータ(或いは
命令)を転送する。その後、ステップS6乃至S8を実
行する。
【0046】1次キャッシュでクリーンミスして2次キ
ャッシュでダーティーミスした場合には、ステップS1
1で、2次キャッシュから外部記憶装置に置換対象のデ
ータ(或いは命令)を転送し、ステップS10で、外部
記憶装置からデータ(或いは命令)を読み出して2次キ
ャッシュにデータ(或いは命令)を転送する。更にその
後、ステップS6乃至S8を実行する。
【0047】1次キャッシュでダーティーミスして2次
キャッシュでダーティーミスした場合には、ステップS
12で、1次キャッシュから2次キャッシュに置換対象
のデータを転送する。更に、ステップS11で、2次キ
ャッシュから外部記憶装置に置換対象のデータ(或いは
命令)を転送し、ステップS10で、外部記憶装置から
データ(或いは命令)を読み出して2次キャッシュにデ
ータ(或いは命令)を転送する。更にその後、ステップ
S6乃至S8を実行する。
【0048】以下に、本発明の第2の実施例を添付の図
面を用いて説明する。
【0049】図6は、本発明による階層記憶装置の第2
の実施例を示す。図2において、図1の構成要素と同一
の構成要素は同一の記号で参照され、その説明は省略す
る。本発明による階層記憶装置である半導体チップ20
Aは、命令演算部21、1次命令キャッシュ22、2次
命令キャッシュ23、命令キャッシュコントローラ24
A、1次データキャッシュ25、2次データキャッシュ
26A、及びデータキャッシュコントローラ27Aを含
む。命令キャッシュコントローラ24Aは、1次命令キ
ャッシュ用タグ記憶部31、2次命令キャッシュ用タグ
記憶部32、及び2次命令キャッシュ用ページタグ記憶
部35を含む。データキャッシュコントローラ27A
は、1次データキャッシュ用タグ記憶部33、2次デー
タキャッシュ用タグ記憶部34、2次データキャッシュ
用ページタグ記憶部36を含む。2次命令キャッシュ用
ページタグ記憶部35及び2次データキャッシュ用ペー
ジタグ記憶部36は共に、図4に示されるキャッシュ用
タグ記憶部と同様の構成であり、有効ビット、変更ビッ
ト、及びタグアドレスを含む。
【0050】図6に示される第2実施例では、2次命令
キャッシュ23Aと2次データキャッシュ26Aは、ペ
ージモードを有するメモリである。即ち、複数のアドレ
スからデータを読み出す或いは書き込む場合に、これら
複数のアドレスが同一のページに含まれるものであれ
ば、高速にデータ書き込み或いは読み出しが出来るよう
なメモリである。このようなメモリからなる2次キャッ
シュにアクセスする場合、ページヒット時のアクセス時
間は、ページミス時のアクセス時間よりも短くてすむ。
【0051】この場合のキャッシュアクセスパターン
は、次の4つの場合に分類することが出来る。
【0052】1)1次キャッシュヒット 2)1次キャッシュミス及び2次キャッシュページヒッ
ト 3)1次キャッシュミス及び2次キャッシュページミス 4)1次キャッシュミス及び2次キャッシュミス ここで、2次キャッシュページヒット及び2次キャッシ
ュページミスは共に、2次キャッシュのヒットを意味す
る。
【0053】この第2の実施例の場合には、命令演算部
によるデータ読み出し動作及びデータ書き込み動作は、
基本的に図3及び図5に示される第1の実施例の処理と
同様になる。但し図3及び図5共に、ステップS3での
判定結果がキャッシュヒットであった場合に進む処理手
順は、2次キャッシュがページヒットの場合とページミ
スの場合、即ち上記2)及び3)の両方の場合に実行さ
れることになる。
【0054】図7は、従来のキャッシュコントローラの
状態遷移図と第2の実施例におけるキャッシュコントロ
ーラの状態遷移図とを対比して示した図である。
【0055】図7において、上部に示される2つが従来
の状態遷移図であり、左上が1次キャッシュ用コントロ
ーラの状態遷移図、右上が2次キャッシュ用コントロー
ラの状態遷移図である。従来の場合には、1次キャッシ
ュと2次キャッシュとを別々のキャッシュコントローラ
によって制御するために、図7に示されるように各々別
の状態遷移図が存在することになる。即ち、従来の構成
では、1次キャッシュと2次キャッシュとが別々のステ
ートマシンで制御されている。ここでステートマシンと
は、キャッシュの状態を格納するレジスタであり、キャ
ッシュの動作制御のために用いられる。
【0056】図7において、下部に示されるのが第2の
実施例の状態遷移図であり、1次キャッシュ及び2次キ
ャッシュを同時に制御する単一のコントローラの状態遷
移図である。従来の場合と異なり、本発明では1次キャ
ッシュと2次キャッシュとを一つのキャッシュコントロ
ーラによって制御するために、図7に示されるように状
態遷移図が一つだけ存在することになる。
【0057】本発明の第2の実施例において状態遷移は
以下のように進行する。
【0058】1次キャッシュヒットのときは、ステー
トマシンの状態はIDLEのままである。このとき、1
次キャッシュのデータを命令演算部に転送する。
【0059】1次キャッシュミス及び2次キャッシュ
ページヒットのときは、2次キャッシュのローアドレス
を変えることなくコラムアドレスだけを変えればよいた
め、2次キャッシュにおけるビット線対のイコライズや
前の選択ワード線の非活性化を含むPRECHARGE
動作、及び現在のワード線の活性化を含むBANK−A
CTIVE動作が不要である。従って、コラムアドレス
のみを変化させるREAD動作のみを行なえばよく、状
態はIDLEからREADに遷移する。
【0060】1次キャッシュミス及び2次キャッシュ
ページミスのときは、2次キャッシュのローアドレス及
びコラムアドレスを変える必要がある。従って、2次キ
ャッシュにおけるビット線対のイコライズや前の選択ワ
ード線の非活性化を含むPRECHARGE動作、更に
現在のワード線の活性化を含むBANK−ACTIVE
動作を実行した後に、指定したコラムアドレスのREA
D動作を実行すればよい。この場合、状態はIDLEか
ら、PRECHARGE、BANK−ACTIVEを経
由して、READに到達する。
【0061】1次キャッシュミス及び2次キャッシュ
ミスのときは、外部記憶装置にデータを取りに行く。従
って、外部インターフェースの了解信号を得るまでの状
態であるBFIB(Block Fetch Interface Busy)に遷
移して、次に、外部記憶装置からデータが返ってくるま
での状態であるBFMSDW(Block Fetch Main Stora
ge Data Wait)の状態に遷移する。
【0062】上記説明したようにして本発明の第2の実
施例は動作するが、1次キャッシュと2次キャッシュと
を一つのキャッシュコントローラによって制御するため
に状態遷移図が一つだけ存在するという点、即ちステー
トマシンを一つだけ使用するという点は、当然ながら第
1の実施例にも当てはまることであり、従来技術に対す
る本発明の特徴であるといえる。
【0063】このように本発明では1次キャッシュと2
次キャッシュとを単一のステートマシンで制御してヒッ
ト/ミス判定を同時に行なうため、従来のように各キャ
ッシュに別個のステートマシンを設けてヒット/ミス判
定を順次行なっていた場合に比較して、アクセス遅延時
間(アクセスレイテンシ)を短縮することが出来る。ま
た1次キャッシュ用のコントローラと2次キャッシュ用
のコントローラとを総合することで、チップ面積の削減
が可能になる。更に第2の実施例においては、ページヒ
ットの場合にアクセスレイテンシを大幅に削減すること
が出来る。
【0064】図8は、本発明によるアクセスレイテンシ
の短縮を第2の実施例を例にして説明する図である。
【0065】ここでは、キャッシュコントローラは、P
−T1−T2−C−Rの5つのパイプラインステージを
持つものとする。Pステージでは、内部及び外部からく
るリクエストに対して、優先順位が最も高いリクエスト
が選択される。T1ステージ及びT2ステージでは、キャ
ッシュ及びキャッシュ用タグ記憶部にアクセスを行な
う。Cステージでは、キャッシュヒット及びキャッシュ
ミスの判定結果を命令演算部に通知すると共に、キャッ
シュヒットであればキャッシュのデータを命令演算部に
転送する。Rステージでは、結果を格納する。
【0066】図8(a)には、1次キャッシュがヒット
した場合が示される。この場合、T1ステージで、1次
キャッシュ用タグ記憶部にアクセスしてヒット判定を得
て、Cステージで、1次キャッシュのデータを命令演算
部に転送する。
【0067】図8(b)には、1次キャッシュミス及び
2次キャッシュページヒットの場合が示される。この場
合、T1ステージで、1次キャッシュ用タグ記憶部、2
次キャッシュ用タグ記憶部、及び2次キャッシュ用ペー
ジタグ記憶部にアクセスして、それぞれミス、ヒット、
及びヒットの判定が得られる。その後Cステージで、2
次キャッシュのページヒットしたデータを命令演算部に
転送する。
【0068】図8(c)には、1次キャッシュミス及び
2次キャッシュページミスの場合が示される。この場
合、T1ステージで、1次キャッシュ用タグ記憶部、2
次キャッシュ用タグ記憶部、及び2次キャッシュ用ペー
ジタグ記憶部にアクセスして、それぞれミス、ヒット、
及びミスの判定が得られる。ページミスであるので2次
キャッシュに対するアクセスからデータ読み出しまでの
レイテンシが大きくなり、2サイクル後のCステージで
データを命令演算部に転送することは出来ない。そこ
で、データを命令演算部に転送するタイミングがCステ
ージになるように、新しいリクエストを再度パイプライ
ンに流す。その後新しいパイプラインのCステージで、
2次キャッシュのページミスしたデータを命令演算部に
転送する。
【0069】図8(d)には、1次キャッシュミス及び
2次キャッシュミスの場合が示される。この場合、T1
ステージで、1次キャッシュ用タグ記憶部、2次キャッ
シュ用タグ記憶部、及び2次キャッシュ用ページタグ記
憶部にアクセスして、それぞれミス、ミス、及びミスの
判定が得られる。外部記憶装置に対するアクセスからデ
ータ読み出しまでのレイテンシが非常に大きいので、2
サイクル後のCステージでデータを命令演算部に転送す
ることは出来ない。そこで、データを命令演算部に転送
するタイミングがCステージになるように、新しいリク
エストを再度パイプラインに流す。その後新しいパイプ
ラインのCステージで、外部記憶装置のデータを命令演
算部に転送する。
【0070】このように本発明では、1次キャッシュと
2次キャッシュとに対して同時にヒット/ミス判定をす
るので、1次キャッシュからデータを読み出す場合と2
次キャッシュからデータを読み出す場合とで、略同一の
タイミングでのデータ読み出しが可能になる。特に2次
キャッシュがページヒットした場合には、比較的低速な
例えばDRAM等の2次キャッシュからのデータ読み出
しと、比較的高速な例えばSRAM等の1次キャッシュ
からのデータ読み出しとを、同一のクロックサイクルで
実行することが可能になる。2次キャッシュがページミ
スした場合には、上述のように、比較的低速な例えばD
RAM等の2次キャッシュからのデータ読み出しは、1
次キャッシュからのデータ読み出しに比べて遅くなって
しまう。しかしこの場合であっても、従来のように1次
キャッシュと2次キャッシュとを別々にヒット/ミス判
定していた場合に比較して、レイテンシを削減すること
が出来る。
【0071】1次キャッシュとしては、一般にSRAM
が用いられ、2次キャッシュとしては、DRAM、フラ
ッシュメモリ、強誘電体メモリ等を用いることが出来
る。このようにして、DRAM、フラッシュメモリ、或
いは強誘電体メモリをプロセッサチップに搭載したとき
に、DRAM、フラッシュメモリ、或いは強誘電体メモ
リを2次キャッシュとして使用して、1次キャッシュと
2次キャッシュとを同一のコントローラで制御すること
で、メモリアクセスレイテンシの削減を図ることが可能
になる。
【0072】以上、本発明を実施例に基づいて説明した
が、本発明は上記実施例に限定されるものではなく、特
許請求の範囲に記載の範囲内で様々な変形が可能であ
る。 (付記1)半導体チップに搭載される命令演算部と、該
半導体チップに搭載され1次キャッシュとして動作する
第1の記憶部と、該半導体チップに搭載され一部或いは
全部が2次キャッシュとして動作する第2の記憶部と、
該1次キャッシュ及び該2次キャッシュを単一の制御部
で制御する制御部を含むことを特徴とする半導体装置。 (付記2)前記第1の記憶部と前記第2の記憶部の一方
または両方は、ダイナミック型メモリ、フラッシュメモ
リ、或いは強誘電体メモリの何れか一つであることを特
徴とする付記1記載の半導体装置。 (付記3)前記制御部は、前記1次キャッシュに対する
ヒット/ミス判定をすると共に、その判定結果を待つこ
となく、前記2次キャッシュに対するヒット/ミス判定
をすることを特徴とする付記1記載の半導体装置。 (付記4)前記2次キャッシュは、第1のアクセス時間
でデータを返送する動作と第1のアクセス時間より長い
第2のアクセス時間でデータを返送する動作との何れの
動作となるかが入力するアドレスに依存するメモリであ
り、該第1のアクセス時間に対応するアドレスに対する
ヒット/ミスを示すキャッシュ用タグ記憶部を更に含む
ことを特徴とする付記1記載の半導体装置。 (付記5)前記制御部は、前記1次キャッシュに対する
ヒット/ミス判定をすると共に、その判定結果を待つこ
となく、前記2次キャッシュに対するヒット/ミス判定
をすることを特徴とする付記2記載の半導体装置。 (付記6)前記1次キャッシュに対するキャッシュ用タ
グ記憶部及び前記2次キャッシュに対するキャッシュ用
タグ記憶部を更に含み、該キャッシュ用タグ記憶部はタ
グアドレスが有効か否かを示す有効ビットと、データが
変更されたか否かを示す変更ビットを含むことを特徴と
する付記1記載の半導体装置。
【0073】
【発明の効果】このように本発明では1次キャッシュと
2次キャッシュとを単一のステートマシンで制御してヒ
ット/ミス判定を同時に行なうため、従来のように各キ
ャッシュに別個のステートマシンを設けてヒット/ミス
判定を順次行なっていた場合に比較して、アクセス遅延
時間(アクセスレイテンシ)を短縮することが出来る。
また物理的な回路構成としては、1次キャッシュ用のコ
ントローラと2次キャッシュ用のコントローラとを総合
することになるので、チップ面積の削減が可能になる。
更にページモードを備えた2次キャッシュの場合には、
ページヒットの場合にアクセスレイテンシを大幅に削減
することが出来る。
【0074】従って、プロセッサの処理速度を向上させ
ることが出来る。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明による階層記憶装置の第1の実施例を示
す図である。
【図3】メモリから命令演算部への読み出しアクセス動
作を示すフローチャートである。
【図4】キャッシュ用タグ記憶部と対応するキャッシュ
及びアドレスとの関係の一例を示した図である。
【図5】図2の構成における命令演算部からメモリへの
書き込みアクセス動作を示すフローチャートである。
【図6】本発明による階層記憶装置の第2の実施例を示
す図である。
【図7】従来のキャッシュコントローラの状態遷移図と
第2の実施例におけるキャッシュコントローラの状態遷
移図とを対比して示した図である。
【図8】本発明によるアクセスレイテンシの短縮を第2
の実施例を例にして説明する図である。
【符号の説明】
11 命令演算部 12 1次キャッシュ 13 2次キャッシュ 14 キャッシュコントローラ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/08 553 G06F 12/08 553Z

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】半導体チップに搭載される命令演算部と、 該半導体チップに搭載され1次キャッシュとして動作す
    る第1の記憶部と、 該半導体チップに搭載され一部或いは全部が2次キャッ
    シュとして動作する第2の記憶部と、 該1次キャッシュ及び該2次キャッシュを単一の制御部
    で制御する制御部を含むことを特徴とする半導体装置。
  2. 【請求項2】前記第1の記憶部と前記第2の記憶部の一
    方または両方は、ダイナミック型メモリ、フラッシュメ
    モリ、或いは強誘電体メモリの何れか一つであることを
    特徴とする請求項1記載の半導体装置。
  3. 【請求項3】前記制御部は、前記1次キャッシュに対す
    るヒット/ミス判定をすると共に、その判定結果を待つ
    ことなく、前記2次キャッシュに対するヒット/ミス判
    定をすることを特徴とする請求項1記載の半導体装置。
  4. 【請求項4】前記2次キャッシュは、第1のアクセス時
    間でデータを返送する動作と第1のアクセス時間より長
    い第2のアクセス時間でデータを返送する動作との何れ
    の動作となるかが入力するアドレスに依存するメモリで
    あり、該第1のアクセス時間に対応するアドレスに対す
    るヒット/ミスを示すキャッシュ用タグ記憶部を更に含
    むことを特徴とする請求項1記載の半導体装置。
  5. 【請求項5】前記制御部は、前記1次キャッシュに対す
    るヒット/ミス判定をすると共に、その判定結果を待つ
    ことなく、前記2次キャッシュに対するヒット/ミス判
    定をすることを特徴とする請求項2記載の半導体装置。
JP2000184863A 2000-06-20 2000-06-20 半導体装置 Withdrawn JP2002007373A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000184863A JP2002007373A (ja) 2000-06-20 2000-06-20 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000184863A JP2002007373A (ja) 2000-06-20 2000-06-20 半導体装置

Publications (1)

Publication Number Publication Date
JP2002007373A true JP2002007373A (ja) 2002-01-11

Family

ID=18685257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000184863A Withdrawn JP2002007373A (ja) 2000-06-20 2000-06-20 半導体装置

Country Status (1)

Country Link
JP (1) JP2002007373A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012180A (ja) * 2004-06-10 2006-01-12 Marvell World Trade Ltd 主及び補助プロセッサを備えた低電力コンピュータ
CN100339826C (zh) * 2004-06-24 2007-09-26 富士通株式会社 处理器和半导体器件
JP2008046778A (ja) * 2006-08-11 2008-02-28 Takeshi Kawanami 請負代金支払システム
US7613877B2 (en) 2006-10-25 2009-11-03 Hitachi, Ltd. Storage system comprising volatile cache memory and nonvolatile memory
JP2011041110A (ja) * 2009-08-17 2011-02-24 Canon Inc 撮像装置およびレンズ
US8151129B2 (en) 2004-02-13 2012-04-03 Marvell World Trade Ltd. Computer with low-power secondary processor and secondary display
JP2013037716A (ja) * 2012-10-03 2013-02-21 Ryota Shioya 半導体集積回路
JP2013517577A (ja) * 2010-01-14 2013-05-16 クアルコム,インコーポレイテッド レベル2メモリの一部分とレベル1メモリとにアクセスするシステムおよび方法
JP2015111114A (ja) * 2013-11-07 2015-06-18 株式会社半導体エネルギー研究所 半導体装置
US9158355B2 (en) 2006-08-10 2015-10-13 Marvell World Trade Ltd. Dynamic core switching
JP2017021399A (ja) * 2015-07-07 2017-01-26 ルネサスエレクトロニクス株式会社 半導体装置及びキャッシュメモリ制御方法
JP6249120B1 (ja) * 2017-03-27 2017-12-20 日本電気株式会社 プロセッサ
WO2022064316A1 (ja) * 2020-09-22 2022-03-31 株式会社半導体エネルギー研究所 半導体装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8151129B2 (en) 2004-02-13 2012-04-03 Marvell World Trade Ltd. Computer with low-power secondary processor and secondary display
US8341447B2 (en) 2004-02-13 2012-12-25 Marvell World Trade Ltd. Computer with low-power secondary processor and secondary display
JP2006012180A (ja) * 2004-06-10 2006-01-12 Marvell World Trade Ltd 主及び補助プロセッサを備えた低電力コンピュータ
CN100339826C (zh) * 2004-06-24 2007-09-26 富士通株式会社 处理器和半导体器件
US9158355B2 (en) 2006-08-10 2015-10-13 Marvell World Trade Ltd. Dynamic core switching
JP2008046778A (ja) * 2006-08-11 2008-02-28 Takeshi Kawanami 請負代金支払システム
US7613877B2 (en) 2006-10-25 2009-11-03 Hitachi, Ltd. Storage system comprising volatile cache memory and nonvolatile memory
JP2011041110A (ja) * 2009-08-17 2011-02-24 Canon Inc 撮像装置およびレンズ
JP2013517577A (ja) * 2010-01-14 2013-05-16 クアルコム,インコーポレイテッド レベル2メモリの一部分とレベル1メモリとにアクセスするシステムおよび方法
JP2016042370A (ja) * 2010-01-14 2016-03-31 クアルコム,インコーポレイテッド レベル2メモリの一部分とレベル1メモリとにアクセスするシステムおよび方法
JP2013037716A (ja) * 2012-10-03 2013-02-21 Ryota Shioya 半導体集積回路
JP2015111114A (ja) * 2013-11-07 2015-06-18 株式会社半導体エネルギー研究所 半導体装置
US10197627B2 (en) 2013-11-07 2019-02-05 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
JP2017021399A (ja) * 2015-07-07 2017-01-26 ルネサスエレクトロニクス株式会社 半導体装置及びキャッシュメモリ制御方法
JP6249120B1 (ja) * 2017-03-27 2017-12-20 日本電気株式会社 プロセッサ
US10565111B2 (en) 2017-03-27 2020-02-18 Nec Corporation Processor
WO2022064316A1 (ja) * 2020-09-22 2022-03-31 株式会社半導体エネルギー研究所 半導体装置

Similar Documents

Publication Publication Date Title
US5900011A (en) Integrated processor/memory device with victim data cache
US6848035B2 (en) Semiconductor device with multi-bank DRAM and cache memory
US20120221785A1 (en) Polymorphic Stacked DRAM Memory Architecture
US6199142B1 (en) Processor/memory device with integrated CPU, main memory, and full width cache and associated method
JP5039913B2 (ja) ロッキング・キャッシュを用いる直接的保存
US7243192B2 (en) Cache memory architecture with system controller device that compares cache tags to memory addresses received from microprocessor
JP2002535777A (ja) 高速プロセッサシステム、これを使用する方法及び記録媒体
KR20140045364A (ko) 대용량 데이터 캐시에 대한 효율적 태그 저장
US6219765B1 (en) Memory paging control apparatus
JP2002007373A (ja) 半導体装置
US6219764B1 (en) Memory paging control method
JPH05216757A (ja) プロセツサシステム及びそのデータ転送方法
US20130191587A1 (en) Memory control device, control method, and information processing apparatus
JP6228523B2 (ja) メモリ制御回路および半導体記憶装置
JP3789998B2 (ja) メモリ内蔵プロセサ
US6801982B2 (en) Read prediction algorithm to provide low latency reads with SDRAM cache
JP2580263B2 (ja) バッファ記憶装置
JPH04250542A (ja) コンピューターメモリシステム
CN111338987A (zh) 快速无效组相联tlb的方法
JPH05282208A (ja) キャッシュメモリ制御方式
WO2022021177A1 (zh) 缓存系统、方法和芯片
WO2009092037A1 (en) Content addressable memory augmented memory
JP2002149488A (ja) 集積回路装置およびキャッシュメモリの制御方法
JP2001043132A (ja) キャッシュメモリの制御方法
JPH1031622A (ja) キャッシュメモリ装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070904