JP3277730B2 - 半導体メモリ装置、及び、それを用いた情報処理装置 - Google Patents

半導体メモリ装置、及び、それを用いた情報処理装置

Info

Publication number
JP3277730B2
JP3277730B2 JP29621594A JP29621594A JP3277730B2 JP 3277730 B2 JP3277730 B2 JP 3277730B2 JP 29621594 A JP29621594 A JP 29621594A JP 29621594 A JP29621594 A JP 29621594A JP 3277730 B2 JP3277730 B2 JP 3277730B2
Authority
JP
Japan
Prior art keywords
data
memory
write
tag
ram
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.)
Expired - Fee Related
Application number
JP29621594A
Other languages
English (en)
Other versions
JPH08153039A (ja
Inventor
多加志 堀田
英雄 澤本
秋山  登
隆志 秋岡
成弥 田中
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP29621594A priority Critical patent/JP3277730B2/ja
Priority to US08/562,187 priority patent/US6032229A/en
Publication of JPH08153039A publication Critical patent/JPH08153039A/ja
Application granted granted Critical
Publication of JP3277730B2 publication Critical patent/JP3277730B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、半導体メモリ装置、及
び、これを用いた情報処理装置に係り、特にデータの読
みだし,書き込みのパイプライン処理を可能にする半導
体メモリ装置及び情報処理装置に関する。
【0002】
【従来の技術】従来のプロセッサでは、メモリアクセス
の高速化のため、オンチップキャッシュメモリの他に、
プロセッサチップの外にデータ用、及び、タグ用同期式
SRAMを用いて2次キャッシュをつけることがしばしば行
われる。同期式SRAMとはパイプライン化のためにレ
ジスタを内蔵したSRAMである。従来方式の同期式S
RAMとして株式会社日立製作所半導体事業部発行、株
式会社日立マイコンシステム技術ドキュメントセンタ編
集の日立ICメモリデータブックの899頁から909
頁に記載されているものがある。図36から図39はこ
の従来例を説明する図である。図36は同期式SRAM
のピン配置図、図37はそのピン機能を説明する図、図
38は同期式SRAMの全体ブロック図、図39はその
書き込み時の動作タイミングを説明する図である。図3
6,図37に示すように、プロセッサから、メモリへデ
ータの書き込みを指示する信号はWE(Write Enable)
信号のみである。図38に示す同期式SRAMは、アド
レス部と、データ部にレジスタを持っている。図39に
示すように同期式SRAMへの書き込み実行時には、ア
ドレスと、データが同時に送り出され、更に同じタイミ
ングでWE信号をlow にされる。
【0003】一般に、2次キャッシュの制御方式には2
次キャッシュと主メモリの両方に書き込みを行うライト
スルー方式と、2次キャッシュにのみ書きそのラインが
新しいラインに上書きされる直前にライン単位で主メモ
リに書きもどすストアイン方式がある。
【0004】ストアイン方式では、そのラインに書き込
みが有ったことを示すDirty ビットを持っている。スト
アイン方式は制御が複雑になるが、主メモリへの書き込
み頻度が減り、性能は一般に向上することが知られてい
る。これらの技術は、John LHennessy and David Patte
rson著のComputer ArchitectureのQuantitative Approa
ch, Morgan Knafmann Publishers, Inc.の412頁から
414頁に記載されている。
【0005】
【発明が解決しようとする課題】2次キャッシュに対し
ては読みだし処理と書き込み処理の2つがある。読みだ
し処理ではデータ用RAMとタグ用RAMを同時に読み
だす。しかし、書き込み処理では先ずタグを読みだして
ヒット判定を行ってからしかデータをデータ用RAMに
書き込めない。このため、従来方式のメモリを用いたシ
ステムでは、読みだし処理と書き込み処理ではデータ転
送のタイミングが異なるため、1サイクルピッチでパイ
プライン処理しスループットを高めることが困難であっ
た。また出来たとしても、書き込み処理がネックとな
り、著しくマシンサイクルが低下してしまい、結果とし
てスループットが低下するという問題点が有った。
【0006】本発明の第1の目的は、プロセッサと半導
体メモリ装置のスループットを高め、全体として性能の
高い情報処理装置を提供することである。
【0007】本発明の第2の目的は、スループットの高
い半導体メモリ装置を提供することである。
【0008】本発明の第3の目的は、スループットの高
いシステムに好適な様々な半導体メモリ装置を安価に提
供することである。
【0009】
【課題を解決するための手段】本発明の情報処理装置に
よれば、データを一時的に保持するバッファを有するメ
モリと、メモリにデータを書き込むかどうかを決定する
前に、前記バッファにデータを転送し、書き込み決定後
前記メモリへの書き込みを行うよう上記メモリを制御す
るメモリインタフェース部を有するプロセッサとを有す
る。
【0010】メモリインタフェース部はクロック信号に
従い、書き込むべきデータのアドレスと、データ転送信
号とを前記メモリに送り出し、データ転送信号を送り出
した後データを前記メモリに送り出すよう制御するコン
トローラを有する。
【0011】コントローラは書き込むべきデータのアド
レスと、データ転送信号とを同一タイミングで前記メモ
リに送り出す手段を有することが望ましい。
【0012】更に、コントローラはバッファに一時的に
保持されるデータを前記メモリに書き込むかどうかを決
定するデータ書込決定手段を有することが望ましい。
【0013】本発明のメモリ装置によれば、メモリ主部
と、このメモリ主部へのデータの書き込みを制御するコ
ントローラと、データを一次保持する一時バッファとを
有し、コントローラは前記メモリ主部へ書き込むべきデ
ータのアドレスと、データ転送信号とを受けた後、転送
されるデータをバッファに保持し、保持されたデータを
メモリ主部に書き込むかどうかを指示する書き込み指示
信号に基づきメモリ主部に前記データを書き込むようメ
モリ主部を制御する。
【0014】コントローラは、前記一時バッファに保持
したデータを前記書き込み指示信号に従って、前記書き
込みバッファに登録する手段を有することが望ましい。
【0015】更に、本発明の実施態様によれば、メモリ
装置は複数の書き込みバッファを有し、コントローラ
が、前記書き込みバッファに保持したデータを前記書き
込み指示信号に従って、前記複数の書き込みバッファに
順次格納するように前記複数の書き込みバッファを制御
する手段を有する。
【0016】また、コントローラは複数の書き込みバッ
ファのなかからどれを前記メモリ主部に書き込むかを制
御する手段を有することが望ましい。更に、複数の書き
込みバッファの内容を出力するパスを有することが望ま
しい。
【0017】
【作用】前記プロセッサはデータ用メモリ装置にデータ
とデータ転送信号を送り出した後に、タグ用メモリの内
容に応じて書き込み信号を送り出すことができ、読みだ
しと書き込みでデータ転送のタイミングを同じに出来る
ため、読みだし処理と書き込み処理をパイプライン的に
処理することが出来、スループットを高めることが可能
となる。
【0018】また、ストアイン方式をとったとき、前記
プロセッサはデータ用メモリ装置にデータとデータ転送
信号を送り出した後に、タグ用メモリの内容に応じて書
き込み信号とDirty ビットを送り出すことができ、読み
だしと書き込みでデータ転送のタイミングを同じに出来
るため、読みだし処理と書き込み処理をパイプライン的
に処理することが出来、スループットを高めることが出
来る。
【0019】更に、前記半導体メモリ装置はデータ転送
信号とデータを受け取った後に、タグ用メモリの内容に
応じて書き込み信号を受け取ることができ、読みだしと
書き込みでデータ転送のタイミングを同じに出来るた
め、読みだし処理と書き込み処理をパイプライン的に処
理することが出来、スループットを高めることが出来
る。
【0020】また、前記半導体メモリ装置は同一のメモ
リ装置の制御端子をhigh、または、low にすることによ
り、データ用メモリ装置にも、タグ用メモリ装置にもな
るので、スループットの高いシステムに好適な様々な半
導体メモリ装置を安価に提供すること出来る。
【0021】
【実施例】図1と図2を用いて本発明に第1の実施例を
説明する。図1は本発明の第1の実施例である情報処理
装置の全体図を示す。100−1〜4は2次キャッシュ
のデータを格納する半導体により作られた同期式高速S
RAM(Static Random Access Memory )である。同期
式メモリとはパイプライン用のレジスタを含むメモリで
あり、その構成例については後で詳しく説明する。10
1は2次キャッシュのタグ及びエントリが有効であるこ
とを示すVビットを格納する同期式高速SRAMであ
る。102は1チッププロセッサ、103はプロセッサ
主部、104は2次キャッシュインタフェース、105は
1次キャッシュ、106はストアバッファである。ま
た、107は主メモリ、108はI/Oである。プロセ
ッサ102は、プロセッサ主部103と2次キャッシュ
インタフェース104からなる。プロセッサ主部103
は1次キャッシュ105とストアバッファ106を含
む。プロセッサ102は、主メモリインタフェース11
6を介して主メモリ107を、また、I/Oインタフェー
ス117を介してI/O108を制御する。さらに、プ
ロセッサ102はラインアドレス112をデータ用RAM1
00−1〜4,タグ用RAM101に送り出す。また、プロセッ
サは、データバス113−1〜4を介してデータ用RAM1
00−1〜4を、タグバス115を介してタグ用RAM101を
読み書きする。更に、プロセッサ102は、データ転送
信号110と書き込み信号109をデータ用RAM100−1
〜4へ、タグ転送信号309をタグ用RAM101に送り出
す。
【0022】RAM100−1はデータバス113−1,ライ
ンアドレス112,データ転送信号109,書き込み信
号109に接続されている。データバス113−1は、
プロセッサ102からRAM100−1へのデータの送出、RA
M100−1からプロセッサ102へのデータの送出の両者
に使われる。これを区別する信号がデータ転送信号10
9で、プロセッサ102からRAM100−1へデータを送り
出すときに‘1’にされる。書き込み信号が‘1’の時
には、データバス113−1を通して送ったデータがRA
M100−1のラインアドレス112で示された番地に書か
れる。書き込み信号が‘0’の時には、RAM100−1から
ラインアドレス112で示された番地が読みだされ、デ
ータバス113−1を通してプロセッサ102に送られ
る。他のRAMについても制御は同様である。
【0023】本情報処理装置は、オンチップの小容量1
次キャッシュと高速SRAMで構成したオフチップ2次
キャッシュよりなる2階層方式のキャッシュメモリを有
する。キャッシュ内のエントリの呼び名についてはいろ
いろあるが、本明細書では2次キャッシュのエントリを
ライン、1次キャッシュのエントリをブロックと呼ぶこ
とにする。第1の実施例では2次キャッシュのラインサ
イズは16B,1次キャッシュ105のブロックサイズ
を16Bとする。また、データ用RAMは4B幅、容量
1Mbであるとする。即ち、プロセッサ102のデータ
バス113−1〜4は16B幅であり、2次キャッシュ
の総容量は0.5MB である。また、簡単のためにスト
ア命令では16B幅のデータのみを書くものとする。ま
た、2次キャッシュはダイレクトマップ方式である。即
ち、バイト表現の32ビットのアドレスを最下位より、
ライン内アドレス部,RAM検索用ラインアドレス部,
タグ部に分けると、それぞれ、4,15,13ビットと
なる。このため、タグ用RAMは1ビットの有効信号V
ビットを含め14ビット有れば良い。このダイレクトマ
ップ方式については前述の文献に記載されている。後に
述べるように、ブロックサイズ,ラインサイズ,ストア
データ幅を変えることは可能である。本実施例では、2
次キャッシュ,1次キャッシュ共にストアスルー方式で
あるとする。また、ストア命令でキャッシュミスした時
にはキャッシュの更新はしないものとする。
【0024】プロセッサ主部103が2次キャッシュイ
ンタフェース104を用いてキャッシュを制御する様子
を詳しく説明する。ロード命令実行時には先ず1次キャ
ッシュ105を検索し、該当するデータを含むブロック
が有れば1次キャッシュ105からデータを読みだす。な
ければ、2次キャッシュインタフェース104を通して
データ用RAM100−1〜4とタグ用RAM101を読みだし、タ
グ用RAMを調べヒットすれば該当するブロックを1次
キャッシュ105へ転送する。この動作を以後BT(Blo
ck Transfer)と略す。2次キャッシュにも無いときに
は、主メモリ107より該当するデータを含むラインを読
みだし、2次キャッシュインタフェース104を通して
データ用RAM100−1〜4に書き、タグ用RAM101にタグを
登録する。この主メモリから2次キャッシュへの転送動
作を以後LT(Line Transfer )と略す。特に、2次キ
ャッシュインタフェース104によるデータ用RAM100へ
の書き込みをLTWと略す。プロセッサ主部103は、
LT後2次キャッシュインタフェース104を通してB
Tを行う。
【0025】ストア命令実行時には、1次キャッシュが
ヒットすれば1次キャッシュに書く。更にストアバッフ
ァ106を通して2次キャッシュインタフェース104
を起動し、2次キャッシュにも書く。即ち、2次キャッ
シュインタフェース104は、タグ用RAM101を調べ、ス
トアバッファ106につまれたデータを含むラインが2
次キャッシュに有れば前記データをデータ用RAM100−1
〜4に書く。以後この動作をW(Write)と略す。プロセ
ッサ主部103は、以上に述べた1次,2次キャッシュ
への書き込みと並行して、主メモリ107にもデータを
書く。1次,2次キャッシュがミスしたときには主メモ
リ107のみに書き、BT,LTは行わない。
【0026】以上の動作を2次キャッシュインタフェー
ス104に着目してまとめると、2次キャッシュインタ
フェース104は、データ用RAM100−1〜4とタグ用RA
M101を読みだすBT処理,データ用RAM100−1〜4とタ
グ用RAM101に書き込むLTW処理,タグ用RAM101を読み
だし、ヒットすればデータ用RAM100−1〜4にデータを
書き込むW処理の3つを行う。3つの動作の頻度は情報
処理装置上で流すプログラムに依存するが、ロード命令
の頻度,ストア命令の頻度,1次キャッシュのアクセス
あたりのミス率,2次キャッシュのアクセス当たりのミ
ス率を、それぞれ、30%,10%,20%,10%と
仮定すると、1命令あたり、BT処理が0.06(0.3
×0.2)回、LTW処理が0.006(0.3×0.2×
0.1)、W処理が0.1回である。W処理の頻度が高
く、W処理の高速化が重要である。2次キャッシュイン
タフェース104は、図2に示すようにADR,RA
M,DAT,HIT,WRTの5段構成のパイプライン
でデータ用RAM100−1〜4とタグ用RAM101を制御する。
ADRステージはプロセッサ102からデータ用RAM100
−1〜4とタグ用RAM101にラインアドレス112,デー
タ転送信号110とタグ転送信号309を送り出すステ
ージである。RAMステージはRAMの読み書きを行う
ステージである。DATステージはプロセッサとRAM
間のデータ転送を行うステージである。HITステージ
は、2次キャッシュインタフェース104がキャッシュ
のヒット判定を行いデータ用RAM100−1〜4に書き込み
信号109を送り出すステージである。最後にWRTス
テージは、データ用RAM100−1〜4とタグ用RAM101にデ
ータを書き込むステージである。W処理ではプロセッサ
102は、DATステージで書き込む可能性のあるデー
タをプロセッサ102からデータ用RAM100−1〜4へ転
送しておき、HITステージで本当に書き込むかどうか
を書き込み信号109を通じて知らせる。
【0027】データ用RAM100−1〜4は、後に詳しく構
成例を述べるようにメモリ主部と3段のWRTバッファ
よりなる。前述のWRTステージでの書き込みはメモリ
主部に対しては行われずにWRTバッファの中の1つに
対して行われる。これは、LTW,BT,Wの3つの処
理を図2で説明したように1サイクルピッチで行おうと
するとRAMをつかえるステージはRAMステージのみ
で書き込みもこのステージで行わなくてはならないが、
RAMステージでは2次キャッシュインタフェース10
4によるタグのチェックがすんでおらず、本当に書き込
むかどうかわからないためである。W処理のRAMステ
ージでは前記3段のWRTバッファの中に有効なデータ
が有ったときにその中で最も古いものをメモリ主部に書
き込む。図2に示すようにW処理が連続したときに、1
番目のW処理の確定した書き込みをRAMステージで実
行出来るのは、4番目のW処理である。この様子を図2
中に書き込みバイパスと書いた点線の矢印で示した。こ
のため、1から3番目のW処理分の3つのWRTバッフ
ァが必要である。処理4以降がBT処理が続いたときに
は1から3番目のW処理による書き込みデータは3つの
WRTバッファに保持され続け、次のW処理がきたとき
にはじめて1番目のW処理による書き込みデータがメモ
リ主部に書き込まれる。一方、図2に読みだしバイパス
と記した実線の矢印で示したように、5番目の処理がB
T処理であり、かつ、WRTバッファに保持するデータ
のアドレスと一致したときにはWRTバッファの内容を
読みだし、プロセッサ102に転送する。但し、4番目
のW処理で書いた内容を5番目のBT処理で読みだして
プロセッサに転送することは出来ない。これは5番目の
BT処理のDATステージでは4番目のW処理の書き込
みが確定していないためである。誤動作を避けるため、
W処理の直後の同一アドレスへのBT処理は行わないよ
うにプロセッサ側で制御する。この具体的制御について
は、後に図10から図13を用いて述べる。
【0028】次に本発明の第2の実施例を図3から図2
3を用いて説明する。第2の実施例の構成は第1の実施
例の構成とほぼ同じである。同じ部品には、同じ番号が
振ってある。異なる点は、2次キャッシュのW処理であ
る。すなわち、第2の実施例ではストア命令実行時2次
キャッシュがヒットしたときには、2次キャッシュには
データを書くが主メモリ107には書かない。このよう
な方式はストアイン方式と呼ばれる。主メモリと食い違
ったデータを保持していることを示すために、データ用
RAM100−4に1ビットのD(Dirty )ビットを持ってい
る。LTW処理でDビットが立っているラインに主メモ
リ107から転送してきた新しいラインを書く時には、
先ず、Dビットが立っているラインを主メモリ107に
書きもどしてから、新しいラインを書く。以下ストアイ
ン方式の第2の実施例の各部品の構成例を説明するが、
第2の実施例の前記Dビットの処理を省けば、容易に第
1の実施例の部品の構成例を得ることが出来る。
【0029】図3は本発明の第2の実施例の全体図であ
る。図1と同じ部品には、同じ番号が振ってあり、説明
を省略する。プロセッサ主部103はLTW,BT,W
処理の3つの処理を、それぞれ、要求信号313−1〜
3により2次キャッシュインタフェース104に伝え
る。LTW処理では、以下の動作を行う。即ち、プロセ
ッサ主部103はラインアドレス,タグ,データを、そ
れぞれ、信号322,323,309−1〜4をもちい
て2次キャッシュインタフェース104に伝える。BT
処理では、以下の動作を行う。即ち、プロセッサ主部1
03はラインアドレスを信号322をもちいて2次キャ
ッシュインタフェース104に伝え、2次キャッシュイ
ンタフェース104より読みだしたデータを信号310
−1〜4を通して受け、また、2次キャッシュがヒット
したかどうかをしめすヒット信号314−1と、ミスし
た場合追い出すラインのDビットの内容を示す信号31
4−2を受ける。W処理では、以下の動作を行う。即
ち、プロセッサ主部103はラインアドレス,タグ,デ
ータを、それぞれ、信号322,323,309−1〜
4をもちいて2次キャッシュインタフェース104に伝
える。2次キャッシュインタフェース104はバス30
8を介してデータ用RAM100−4にDビットを書いたり読
んだりする。プロセッサ主部103から何も要求が無い
ときには、2次キャッシュインタフェース104は、な
にもしなくてよい。実際には、本実施例では簡単のため
BT処理を行う。BT処理は書き込み動作を伴わないの
で過剰に行っても論理上差し支えない。プロセッサ主部
103は、自分が要求していないBT処理については応
答を無視すれば性能上も問題ない。このアイドル時のB
T処理を真のBT処理と区別してIDLE処理と呼ぶこ
とにする。IDLE処理で、ラインアドレスの転送や、
RAMのアクセスを抑止すれば、低消費電力化の効果が
ある。
【0030】上述の処理は、図2を用いて説明した第1
の実施例のパイプラインと同じパイプラインで処理され
る。その際のプロセッサ102とデータ用RAM100−1〜
4,タグ用RAM101間のインタフェースを図4から図6を
用いて説明する。
【0031】図4はLTW処理のインタフェースを説明
するタイミングチャートである。
【0032】ADRステージで、プロセッサ102は、
ラインアドレス112を送り出す。同時に、データ転送
信号110をhighにしてプロセッサ102からデータ用
RAM100−1〜4へDATステージでデータを、H
ITステージでDビットを転送することを、データ用R
AM100−1〜4にしらせる。同様に、タグ転送信号
309をhighにしてDATステージでプロセッサ102
からタグ用RAM101へタグを転送することを、タグ用RAM1
01にしらせる。DATステージではプロセッサ102が
データバス113,タグバス115を駆動し、このライ
ンを有効にするためにVビットをhighにする。HITス
テージでプロセッサ102は書き込み信号109をhigh
にして、DATステージで送り出したデータ、及び、タ
グの書き込みをデータ用RAM100−1〜4,タグ用RAM101
に指示すると共に、Dビット用バス308をlowにして
DATステージで送り出したデータに対応するDビット
を0にすることをデータ用RAM100−4に伝える。
【0033】図5はBT、および、IDLE処理のイン
タフェースを説明するタイミングチャートである。AD
Rステージで、プロセッサ102は、ラインアドレス1
12を送り出す。同時に、データ転送信号110をlow
にしてデータ用RAM100−1〜4からDATステージでデ
ータを、HITステージでDビットを受け取ることを、
データ用RAM100−1〜4にしらせる。同様に、タグ転送
信号309をlow にしてDATステージでタグ用RAM101
からデータを受け取ることを、タグ用RAM101にしらせ
る。DATステージではデータ用RAM100−1〜4がデー
タをバス113に、タグ用RAM101がタグバス及びVビッ
トをバス115にのせる。HITステージでプロセッサ
102は書き込み信号109をlow にして、書き込みを
行わないことをデータ用RAM100−1〜4,タグ用RAM101
に指示する。HITステージでは、さらに、タグ用RAM1
01はDビット用バス308にDATステージで送り出し
たデータに対応するDビットをのせる。
【0034】図6はW処理のインタフェースを説明する
タイミングチャートである。ADRステージで、プロセ
ッサ102は、ラインアドレス112を送り出す。同時
に、データ転送信号110をhighにしてデータ用RAM100
−1〜4へ、DATステージでデータを、HITステー
ジでDビットをデータ用RAM100−1〜4へ転送すること
を、データ用RAM100−1〜4にしらせる。同様に、タグ
転送信号309をlowにしてDATステージでタグ用
RAM101からデータを受け取ることを、タグ用RAM1
01にしらせる。DATステージでは、プロセッサ102
がデータをバス113に、タグ用RAM101がタグバス及びV
ビットをバス115にのせる。プロセッサ102はDA
Tステージで受け取ったタグを調べヒットしていればH
ITステージで書き込み信号109をhighにして、DA
Tステージで送り出したデータを書き込むことをデータ
用RAM100−1〜4にしらせ、Dビット用バス308をhi
ghにしてDATステージで転送したデータに対応するD
ビットを1にすることをデータ用RAM100−1にしらせ
る。ヒットしていなければ、HITステージで書き込み
信号109をlow にして、DATステージで転送したデ
ータとHITステージで転送したDビットを書き込まな
いことをデータ用RAM100−1〜4にしらせる。
【0035】BT処理ではBTペナルティを短縮するた
めに出来るだけ早くデータを転送したいが、W処理では
ヒットチェックをしてからでないとデータを書き込めな
い。本実施例では以上説明したように、データ転送信号
110と書き込み信号109の2つを持ち、BT処理で
データをプロセッサ102に転送するDATステージ
で、W処理ではキャッシュがヒットするかどうかにかか
わらずデータを転送しておき、後でタグの結果に従い書
き込み信号109を用いて本当に書くかどうかを指示す
るにより、W処理とBT処理をパイプライン処理出来る
という効果がある。
【0036】また、図2を用いて説明した第1の実施例
のデータ用RAM100−1〜4とタグ用RAM101における3段
のWRTバッファを用いた書き込み制御,バイパス制御
は、第2の実施例でも同様である。但し、データ用RAM1
00−4は、WRTバッファ内にラインアドレス,データ
と共にDビットを保持し、W処理のRAMステージでデ
ータと共にDビットをメモリ主部に書き込む。Dビット
をタグ用RAM101に保持すると、W処理において、タグ用
RAM101内でメモリ主部の読みだしと書き込みの2種類の
アクセスが必要となり、1サイクルピッチでW処理を行
うことが出来ない。データ用RAM100−4はDビットを合
わせもっても、W処理でメモリ主部に対して書き込みの
みを行えば良いので、1サイクルピッチでのW処理のパ
イプラインが可能である。以上まとめると、Dビットを
タグ用RAM101ではなく、データ用RAM100−4に保持しW
RTバッファを利用することにより、W処理が1サイク
ルピッチでパイプライン可能になるという効果がある。
【0037】図3にもどって、2次キャッシュインタフ
ェース104の構成例を説明する。2次キャッシュイン
タフェース104は、2次キャッシュインタフェースコ
ントローラ304,レジスタ300,301−1〜4,
302−1〜4,305、双方向スイッチ303−1〜
4,306,307よりなる。図3から図22におい
て、箱の縁に線を引いた印でレジスタを表わしている。
レジスタは全て、クロックの立上りでデータを取り込む
エッジ型である。クロック信号は簡単のため省略してあ
る。実際には1相のクロックがプロセッサ102,デー
タ用RAM100−1〜4,タグ用RAM101のなかのレジスタに
分配されている。
【0038】レジスタ300はプロセッサ主部103が
バス322を通してデータ用RAM100−1〜4とタグ用RA
M101へ送り出すアドレスを保持するADRステージのレ
ジスタである。レジスタ301−1〜4はプロセッサ主
部103がバス113−1〜4を通してデータ用RAM100
−1〜4へ送り出すデータを保持するDATステージの
レジスタである。レジスタ302−1〜4はプロセッサ
主部103がバス113−1〜4を通してデータ用RAM100
−1〜4から受け取るデータを保持するHITステージ
のレジスタである。レジスタ305はプロセッサ主部1
03がバス115を通してタグ用RAM101へ送り出すアドレ
スを保持するDATステージのレジスタである。双方向
スイッチ303−1〜4,306,307はそれぞれデ
ータバス113−1〜4,Dビットバス308,タグバ
ス115のためのスイッチである。
【0039】2次キャッシュインタフェースコントロー
ラ304は、プロセッサ主部103からLTW要求信号
313−1,BT要求信号313−2,W要求信号31
3−3を、レジスタ305からタグ315を、双方向ス
イッチ307からタグ及びVビット入力317を、双方
向スイッチ306からDビット入力319を受けて、双
方向スイッチ303−1〜4,306,307にそれぞ
れデータ入力指示信号324,Dビット入力指示信号3
20,タグ入力指示信号321を、データ用RAM100−1
〜4とタグ用RAM101に書き込み信号109を、データ用
RAM100−1〜4にデータ転送信号110を、タグ用RAM1
01にタグ転送信号309を、双方向スイッチ306にD
ビット出力318を、双方向スイッチ307にVビット
出力316を送り出し、図4から図6を用いて説明した
処理を行い、プロセッサ主部103へDビット314−
2とヒット信号314−1を返す。
【0040】図7に双方向スイッチ303の構成例を示
す。1102はインバータ、1100と1101はトライス
テートバッファである。
【0041】2次キャッシュインタフェースコントロー
ラ304の構成例を図8に示す。
【0042】1200から1221はレジスタ、122
2から1224はORゲート、1225,1226,122
8はANDゲート、1227はコンパレータ、1229
はインバータである。BT要求信号313−2が1にな
ったとき、データ入力指示信号324とDビット入力指
示信号320を1にする。BT要求信号313−2また
はW要求信号313−3が1になったとき、タグ入力指
示信号321を1にする。LTW要求信号313−1ま
たはW要求信号313−3が1になったとき、データ転
送信号110を1にする。LTW要求信号313−1が
1になったとき、タグ転送信号309とVビット出力3
16を1にする。タグ315とタグ入力317−1が一
致しVビット入力317−2が1の時ヒット信号314
−1を1にする。ヒット信号314−1が1かつW要求
信号313−3が1、または、LTW要求信号313−
1が1のとき、書き込み信号109を1にする。ヒット
信号314−1が1、かつ、W要求信号313−3が
1、かつ、LTW要求信号313−1が0のとき、Dビ
ット出力318を1にする。
【0043】図3に示したプロセッサ主部103の構成
例を図9に示す。プロセッサ主部103は命令制御部7
00,1次キャッシュ105,ストアバッファ106,
メモリバスコントローラ701,2次キャッシュコント
ローラ702よりなる。命令制御部700はインタフェ
ース712を通じて1次キャッシュ105を読み書き
し、インタフェース713を通じてストアバッファ10
6を用いて2次キャッシュへの書き込みを行い、インタ
フェース707を通じてメモリバスコントローラ701
を用いて主メモリへの読み書きを行う。1次キャッシュ
105は命令制御部700よりデータの読みだし要求を
受けたがキャッシュ内に対応するデータが無いときに
は、信号706に欲しいデータのアドレスをだし、イン
タフェース711を通じて2次キャッシュコントローラ
702にBT処理要求をだす。ストアバッファ106は
バッファの中に2次キャッシュへの書き込み要求が溜っ
ているときには、アドレスを信号707,データを信号
708にだしインタフェース705を通じて2次キャッ
シュコントローラ702にW処理要求をだす。メモリバ
スコントローラ701はインタフェース116を通じて
図3の主メモリ107より、LT中のデータの到着を報
告されると、信号709にアドレス,信号710にデータ
をだしインタフェース704を通じて2次キャッシュコ
ントローラ702にLTW処理要求をだす。
【0044】2次キャッシュコントローラ702は、L
TW,BT,W3つの処理要求の中から1つを選択す
る。LTW処理をするときにはメモリバスコントローラ
701からのアドレス信号709をアドレス322,3
23に、データ信号710を出力データ309−1〜4
にだし、LTW要求信号313−1を1にする。BT処
理をするときには1次キャッシュ105からのアドレス
信号706をアドレス322,323にだし、BT要求
信号313−2を1にする。W処理をするときにはスト
アバッファ106からのアドレス信号707をアドレス
322,323に、データ信号708を出力データ30
9−1〜4にだし、W要求信号313−3を1にする。
このとき、図2を用いて説明したようにLTW処理で書
き込んだものと同一ラインアドレスのタグを前記LTW
処理のすぐ次のサイクルで発行されたBT処理またはW
処理により読みだすことは出来ない。また、W、また
は、LTW処理で書き込んだものと同一ラインアドレス
のデータを前記W処理のすぐ次のサイクルで発行された
BT処理により読みだすことは出来ない。
【0045】図10,図11を用いて、2次キャッシュ
コントローラ702の第1の構成例について説明する。
本構成例では、BT処理で図3の2次キャッシュインタ
フェース104より信号314−1を通してヒット信号
が1であることをしらされると、2次キャッシュコント
ローラ702は図9のインタフェース711を通して1
次キャッシュに入力データ310−1〜4を取り込むこ
とを指示する。一方、BT処理で図3の2次キャッシュ
インタフェース104より信号314−1を通してヒッ
ト信号が0あることをしらされると、インタフェース7
04を通してメモリコントローラ701にLT要求をだ
す。さらに、2次キャッシュインタフェース104より
信号314−2を通してDビットが1あることをしらさ
れたときには、入力データ310−1〜4を主メモリに
転送するようにメモリコントローラ701に指示する。
さらに、LT中のデータが到着しLTW処理を発行する
までは、同一ラインアドレスへのW処理は行わない。
【0046】図11は2次キャッシュコントローラ70
2の第1の構成例の制御アルゴリズムを示す図である。
LTW処理要求があるときにはLTW処理を行う。LT
W処理要求が無く、BT処理要求あるときには、前サイ
クルが同一ラインへのLTWまたはW処理の場合はID
LE処理を、そうでないときにはBT処理を行う。
【0047】LTWとBT処理要求が無く、W処理要求
あるときには、前サイクルが同一ラインへのLTW処
理、または、主メモリからLT中のラインと同じライン
へのW処理であるときは、IDLE処理を、そうでない
ときにはW処理を行う。
【0048】図10は2次キャッシュコントローラ70
2の第1の構成例のブロック図である。2300は図1
1で説明した制御を行う制御部、2301,2303−
1〜nはレジスタ、2302,2304−1〜nはコン
パレータである。レジスタ2301は前サイクルの処理
のラインアドレスを保持する。レジスタ2303−1〜
nは主メモリからLT中のラインのアドレスを保持す
る。
【0049】図12,図13を用いて、2次キャッシュ
コントローラ702の第2の構成例について説明する。
本構成例では、BT処理で図3の2次キャッシュインタ
フェース104より信号314−1を通してヒット信号
が1であることをしらされると、2次キャッシュコント
ローラ702は図9のインタフェース711を通して1
次キャッシュ105に入力データ310−1〜4を取り
込むことを指示する。一方、BT処理で図3の2次キャ
ッシュインタフェース104より信号314−1を通し
てヒット信号が0あることをしらされると、インタフェ
ース704を通してメモリコントローラ701にLT要
求をだす。さらに、2次キャッシュインタフェース10
4より信号314−2を通してDビットが1あることを
しらされたときには、この情報を保持しておき、LTW
処理の直前に、再度、2次キャッシュインタフェース1
04にこのラインの読みだし要求をだし、入力データ31
0−1〜4を主メモリに転送するようにメモリコントロ
ーラ701に指示する。この再読みだし処理は、2次キ
ャッシュインタフェース104からみればBT処理と同
じであるが、特に区別してCO(Copy Out)処理と呼ぶ
こととする。第2の構成例では第1の構成例と比較する
と、LTW処理の直前にCO処理が必要となるが、LT
中のデータが到着しLTW処理を発行するまで同一ライ
ンアドレスへのW処理を待たせなくても良いという利点
がある。
【0050】図13は2次キャッシュコントローラ70
2の第2の構成例の制御アルゴリズムを示す図である。
CO処理の直後はLTW処理を行う。LTW処理要求が
あるときは、前サイクルで同一ラインへのLTWまたは
W処理が発行されているときには、IDLE処理を、そ
うでないときにはCO処理を行う。LTW処理要求が無
く、BT処理要求あるときには、前サイクルが同一ライ
ンへのLTWまたはW処理の場合はIDLE処理を、そ
うでないときにはBT処理を行う。LTWとBT処理要
求が無く、W処理要求あるときには、前サイクルが同一
ラインへのLTW処理であるときは、IDLE処理を、
そうでないときにはW処理を行う。図12は2次キャッ
シュコントローラ702の第1の構成例のブロック図で
ある。2310は図13で説明した制御を行う制御部、
2301,2303−1〜nはレジスタ、2302,2
304−1〜nはコンパレータである。レジスタ230
1は前サイクルの処理のラインアドレスを保持する。レ
ジスタ2303−1〜nは主メモリからLT中のライン
で、かつ、キャッシュから追い出されるラインのDビッ
トが1であるラインのアドレスを保持する。
【0051】図14は図3の2次キャッシュインタフェ
ース104が各処理をパイプライン処理する様子を示し
た図である。3,4,9番目のW処理はヒット、4番目
のW処理と6番目のBT処理は同一ラインへのものと仮
定している。各処理が1サイクルピッチで処理される様
子がわかる。
【0052】図15は図3のデータ用RAM100の構成例を
示す図である。1312はメモリ主部、1313はRA
Mコントローラ、1311は2入力セレクタ、1300
〜1309,1801〜1805はレジスタ、1314
〜1320,1806,1347〜1349はトライス
テートバッファである。1300,1301,1302
はそれぞれ、RAM,DAT,HITステージのライン
アドレスを保持するレジスタである。1303,130
7,1801はそれぞれ、第1WRTバッファのアドレ
ス部,データ部,Dビットである。同様に、1304,
1308,1802はそれぞれ、第2WRTバッファの
アドレス部,データ部,Dビット、1305,130
9,1803はそれぞれ、第3WRTバッファのアドレ
ス部,データ部,Dビットである。トライステートバッ
ファ1318,1319,1320は、それぞれ、第1
WRTバッファ,第2WRTバッファ,第3WRTバッ
ファのデータ部及びDビットをメモリ主部1312に書
く時にあける書き込みバイパスである。この書き込みに
対応してアドレスを選択するのがトライステートバッフ
ァ1347〜1349である。1314はメモリ主部1
312を読みだすときに動作させるトライステートバッ
ファである。トライステートバッファ1315,131
6,1317は、メモリ主部1312の代わりにそれぞ
れ、第1WRTバッファ,第2WRTバッファ,第3W
RTバッファのデータ部及びDビットを読みだすときに
あける読みだしバイパスである。1346は読みだした
データをバス113に送り出すための、また、1806
は読みだしたDビットをバス308に送り出すためのト
ライステートバッファである。1310はメモリ主部1
312から読みだしたデータを保持するDATステージ
のレジスタであり、1306はバス113を通して送ら
れてきたデータを保持するHITステージのレジスタで
ある。1804,1805は図4から図6を用いて説明
したようにDビットの出力をデータより1サイクル遅ら
せるためのレジスタである。同様に、Dビットの入力が
データより1サイクル遅れるためDビット308は、デ
ータ113のようにHITステージのレジスタで受けず
に、直接第1WRTバッファ1801で受ける。
【0053】次にRAMコントローラ1313の制御に
ついて説明する。RAMコントローラ1313は、第1
WRTバッファ1303,1307,1801に第1W
RTバッファセット信号1331を、第2WRTバッフ
ァ1304,1308,1802に第2WRTバッファセッ
ト信号1332を、第3WRTバッファ1305,13
09,1803に第3WRTバッファセット信号133
3を送り出す。セット信号が‘1’になると、バッファ
に入力データが書き込まれる。さらに、データ転送信号
110,書き込み信号109,RAMステージのアドレ
スレジスタ1300の出力1321,HITステージの
アドレスレジスタ1302の出力1322,第1WRT
バッファアドレス部1303の出力1323,第2WR
Tバッファアドレス部1304の出力1324,第3W
RTバッファアドレス部1305の出力1325をみ
て、書き込みバイパスであるトライステートバッファ1
318,1347へ第1WRTバッファ選択信号133
4を、書き込みバイパスであるトライステートバッファ
1319,1348へ第2WRTバッファ選択信号13
35を、書き込みバイパスであるトライステートバッフ
ァ1320,1349へ第3WRTバッファ選択信号1
336を、読みだしバイパスであるトライステートバッ
ファ1315〜7へ第1〜3WRTバッファ選択信号1
327〜1329を、トライステートバッファ1314
にRAM出力選択信号1326を、トライステートバッ
ファ1346に出力バッファイネーブル信号1330
を、メモリ主部1312にRAM書き込み信号1343
を、アドレスセレクタ1311にアドレス選択信号1344
を出力する。
【0054】RAMコントローラ1313は、データ転
送信号110が1になった処理のRAMステージで3つ
のWRTバッファの中に1つでも有効なエントリが有れ
ば一番古いWRTバッファに対応するバッファ選択信号
を立てて、RAM書き込み信号1343を立てることに
より、その内容をメモリ主部1312に書き込む。この
様子を説明したのが図16である。W,W,W,BT,
BT,BT,W,Wと処理が続いた場合の例である。1
番目のW処理のWRTステージ(5サイクル目)で、第
1WRTバッファにデータが書く。2番目のW処理のW
RTステージ(6サイクル目)で第1WRTバッファの
内容を第2WRTバッファに移し、第1WRTバッファ
に2番目のW処理のデータを書く。3番目のW処理のW
RTステージ(7サイクル目)で第2WRTバッファの
内容を第3WRTバッファに、第1WRTバッファの内
容を第2WRTバッファにそれぞれ移し、第1WRTバ
ッファに3番目のW処理のデータを書く。引き続くBT
処理ではRAMステージでRAMに読みだしが行われる
(5〜7サイクル目)。7番目のW処理のRAMステー
ジ(8サイクル目)では、最も古い第3WRTバッファ
のデータがRAMに書き込まれる。
【0055】図15にもどり、また、RAMコントロー
ラ1313は、BT処理時3つのWRTバッファの中に
同一アドレスへのエントリが有れば、その中で1番最近
書き込まれたエントリの内容を該当するWRTバッファ
選択信号を立てることにより、データバス113に送り
出す。1つも同一アドレスへのエントリが無いときに
は、メモリ主部1312の内容を、RAM出力選択信号
1326を立てて、データバス113に送り出す。
【0056】次にRAMコントローラ1313の構成例
を図17に示す。1500は書き込みバイパスコントロ
ーラ、1501は読みだしバイパスコントローラ、15
02〜7はレジスタ、1508、1509はANDゲー
ト、1510,1511はORゲート、1522はイン
バータである。レジスタ1502〜1504は、それぞ
れ、データ転送信号110を保持するRAM,DAT,
HITステージのレジスタである。ANDゲート150
8の出力1514はデータ転送信号110が1になり、
かつ、その処理に対する書き込み信号109も1になっ
たことを示す書き込み確定信号である。レジスタ150
5〜1507は、それぞれ、第1〜3WRTバッファの
有効信号を保持するレジスタである。書き込みバイパス
コントローラ1500は、第1〜3WRTバッファ有効
信号1516〜1518,RAM書き込み信号134
3,書き込み確定信号1514を入力として受け、第1
〜3WRTバッファセット信号1331〜1333,第
1〜3WRTバッファ選択信号1334〜1336を出
力する。読みだしバイパスコントローラ1501は、RAM
ステージアドレス1321,HITステージアドレス1
322,第1〜3WRTバッファアドレス部よりの信号
1323〜1325,第1〜3WRTバッファの有効信
号1516〜1518,第1〜3WRTバッファセット
信号1331〜1333,書き込み確定信号1514,RA
Mステージのデータ転送信号1512を入力として受け、第
1〜3WRTバッファ選択信号1327〜1329を出
力する。第1〜3WRTバッファ選択信号1327〜1
329が全て0の時には、RAM出力選択信号1326
を1にする。データ転送信号110が1になったときに
は、その処理のDATステージで出力バッファイネーブ
ル信号1330を1にする。RAMステージのデータ転
送信号が1、かつ、第1〜3WRTバッファの有効信号
1516〜8のどれかが1の時にはRAM書き込み信号
1343とアドレス選択信号1344を1にする。
【0057】図18を用いて1500は書き込みバイパ
スコントローラ1500の制御について説明する。第1
〜3WRTバッファ選択信号1334〜1336は、第
1〜3WRTバッファの有効信号1516〜1518を
みて最も古いWRTバッファに対応するものを1にす
る。第3WRTバッファ,第2WRTバッファ,第1WRT
バッファの順に古い。第1〜3WRTバッファセット信
号1331〜1333は第1〜3WRTバッファの有効
信号1516〜1518,RAM書き込み信号134
3,書き込み確定信号1514をみて、RAM書き込み
信号1343が1になったときには最も古いWRTバッ
ファの有効信号を0にし、書き込み確定信号1514が
1になったときには第1WRTバッファセット信号13
31を1にするように制御している。
【0058】図19は読みだしバイパスコントローラ1
501の構成例である。1700〜1703はコンパレ
ータ、1704〜1706は2入力セレクタ、1707
〜1709はレジスタ、1710〜1713はANDゲ
ート、1714はインバータである。
【0059】図20はタグ用RAM101の構成例であ
る。図15のデータ用RAM101の構成例との違いは図15
のDビット用ハード1800が無いことである。その他
は同じで、同じ部品には同じ番号が振ってある。
【0060】図21はデータ用RAM100の第2の構
成例、図22はタグ用RAM101の第2の構成例である。両
図で1800はDビット用ハード、1900はそれ以外
の部分である。信号308はデータ用であることを示す
信号であり、データ用RAM100を作るときは1にし、タグ
用RAM101を作るときには0とする。
【0061】Dビット用ハード1800の構成例を図2
3に示す。1801〜1806はレジスタ、1807〜
1809は2入力セレクタ、1810はトライステート
バッファである。信号308が1の時にはレジスタ18
04,1805が活き、レジスタ1806が殺される。
図21から図23で示したRAMの第2の構成例によれ
ば1種類のRAMでデータ用RAMもタグ用RAMも実
現出来るという利点がある。
【0062】図24は本発明の第3の実施例の2次キャ
ッシュのビット配置を説明する図である。第2の実施例
ではW処理の扱うデータ幅を16Bのみとしたが、これ
を4B幅とすることは容易である。図24に示すように
4BごとにDビットを設ければ良い。このとき、BT処
理では4つのDビットのうち1つでも1のものが有れ
ば、CO処理を行えば良い。
【0063】また、ラインサイズを16Bより大きくす
ることも容易である。例えば、64Bのラインを2次キャ
ッシュに書く時には、4回パイプライン的に連続する1
6Bに対してのLTW処理を行えば良い。
【0064】図25は本発明の第4の実施例を説明する
図である。2次キャッシュへの処理としては、第2の実
施例で説明したW,LTW,BT処理の他にパージ処理
がある。これは、タグを調べて、ヒットしていればその
ラインを無効化する処理である。この処理を他の処理と
混合してパイプライン処理するためには、データ用RA
MにR(Remove)ビットを設ければよい。このビットが
1の時には、Vビットが1であってもこのラインが無効
であることを示す。パージ処理ではW処理と同様にタグ
を読みだし、Vビットの変わりにRビットを書き込む。
【0065】図26は図15メモリ主部1312の構成
例である。2600はアドレスでコーダ、2601はワ
ードドライバ、2602は書き込みドライバ、2603
はメモリセルアレイ、2604はセンス回路である。
【0066】図27は図26のメモリセル2603の第
1の構成例である。2700〜2702,2705はNMO
S、2703と2704は抵抗素子である。2706と
2707はデータ線、2708はワード線である。
【0067】図28は図26のメモリセル2603の第
2の構成例である。2700〜2702,2705はNMO
S、2703と2704はPMOSである。2706と
2707はデータ線、2708はワード線である。
【0068】図29は図1のRAM100を形成した半導体の
断面図である。Si基板にBiCMOSプロセスを用いて製造
している。メモリセル部は、高抵抗Poli−Si層を導入
している。また、少数キャリア注入による誤動作を避け
るため、メモリセル下部にはNISO層を埋め込んでい
る。この工夫により、プロセッサ内に作られるメモリセ
ルと同等の信頼性を保ちながら、セル面積を数分の1に
することが可能である。一方、本発明のレジスタ等は、
図29に、バイポーラ,CMOSと記したところに示し
たような作り方で作られたバイポーラ、及び、CMOS
を用いて作る。図30は図1のRAM100を形成した半導体
をパッケージ実装した様子をし召す図である。3000
はモールド、3001は金線、3002はペレット、3
004は配線、3005はパッド、3006は基板、3
007はビアホール、3008ははんだボール、300
9は皮膜である。
【0069】図31は図1のRAM100を形成した半導体を
パッケージ実装したものを8個プリント板に実装し、モ
デュールとしたものである。表裏に4個ずつ実装してい
る。図32は図20メモリ主部1312の構成例であ
る。2600はアドレスデコーダ、2601はワードド
ライバ、2602は書き込みドライバ、2603はメモ
リセルアレイ、2604はセンス回路である。3201
はVビット用メモリセル列、3200はVビット用書き
込みドライバ、3202はVビット用センス回路であ
る。書き込みドライバ3200は通常の特定アドレスへ
の書き込みと共に、Vビット用メモリセル列3201の
なかの全てのメモリセルを同時に0にする機能を有す
る。
【0070】図33は図32のVビット用メモリセル列
のなかのメモリセル3201の第1の構成例である。3
303〜3308はNMOS、3309と3310は抵
抗素子である。3312と3313はデータ線、331
5はワード線である。3311はVbitのリセット線であ
る。Vbitのリセット線3311はVビット用の全ての
セルに接続されており、これを書き込みドライバ320
0によりhighにすることにより全てのラインのVビット
を同時に0にし無効化することが可能である。この機能
は、システムリセット時のキャッシュの初期化や、プロ
セス切り替え時のキャッシュの無効化処理の高速化に効
果がある。
【0071】図34は本発明の第5の実施例を説明する
図である。図1で説明した第1の実施例と同じ部品には
同じ番号が振ってあり、説明を省略する。102はマス
タプロセッサ、3401はスレーブプロセッサ、340
0はクロック発振器である。この実施例では信頼性向上
のため、プロセッサが2重化されている。スレーブプロ
セッサ3401はマスタプロセッサ102と同じ動作を
同期して行う。ただし、スレーブプロセッサ3401は
マスタプロセッサ102が出力する信号を、同様に出力
する代わりに入力し、自分の中の信号と比較し不一致で
あればマスタプロセッサ102にしらせる。クロック発
振器3400は、マスタプロセッサ102,スレーブプロセ
ッサ3401,RAM100−1〜4にクロックを供給する。
クロック発振器3400は図1の第1の実施例では省略
され記載されていない。この構成では書き込み時に、デ
ータはマスタプロセッサ102からRAM100−1〜4だけ
でなく、スレーブプロセッサ3401にも転送される。
【0072】図35は本発明の第6の実施例を説明する
図である。図34で説明した第5の実施例と同じ部品に
は同じ番号が振ってあり、説明を省略する。本実施例で
は高性能化のために、2次キャッシュ,主メモリ,I/
Oを共有する4個のプロセッサ102−1〜4がある。
このようなマルチプロセッサ厚生では、複数のプロセッ
サから同時にRAMをアクセスする要求がでたとき、調
停回路により、優先順位を決め順次アクセスを行う。こ
のような構成でも本発明は有効である。
【0073】
【発明の効果】本発明によればキャッシュ用RAMのス
ループットを高め、それを用いた情報処理装置の性能を
高めることが出来る。
【図面の簡単な説明】
【図1】本発明の第1の実施例の全体図。
【図2】本発明の第1の実施例の動作を説明する図。
【図3】本発明の第2の実施例の全体図。
【図4】LTW処理のタイミングチャート。
【図5】BT処理のタイミングチャート。
【図6】W処理のタイミングチャート。
【図7】図2の双方向スイッチ303の構成例を説明す
る図。
【図8】図2の2次キャッシュインタフェースコントロ
ーラ304の構成例を説明する図。
【図9】図2のプロセッサ主部103の構成例を説明す
る図。
【図10】図9の2次キャッシュコントローラの第1の
構成例を説明する図。
【図11】図9の2次キャッシュコントローラの第1の
構成例の動作を説明する図。
【図12】図9の2次キャッシュコントローラの第2の
構成例を説明する図。
【図13】図9の2次キャッシュコントローラの第2の
構成例の動作を説明する図。
【図14】パイプライン処理の様子を説明する図。
【図15】図3のデータ用RAM100の第1の構成例を説明
する図。
【図16】図3のデータ用RAM100の動作を説明する図。
【図17】図15のRAMコントローラ1213の構成
例を説明する図。
【図18】図17の書き込みバイパスコントローラ15
00の動作を説明する図。
【図19】図17の読みだしバイパスコントローラ15
01の構成例を説明する図。
【図20】図3のタグ用RAM101の第1の構成例を説明す
る図。
【図21】図3のデータ用RAM100の第2の構成例を説明
する図。
【図22】図3のタグ用RAM101の第2の構成例を説明す
る図。
【図23】図21のDビット用ハード1800の構成例
を説明する図。
【図24】本発明の第3の実施例の2次キャッシュのビ
ット配置を説明する図。
【図25】本発明の第4の実施例の2次キャッシュのビ
ット配置を説明する図。
【図26】図15のメモリ主部1312の構成例を説明
する図。
【図27】図26のメモリセルアレイ2603の第1の
構成例を説明する図。
【図28】図26のメモリセルアレイ2603の第2の
構成例を説明する図。
【図29】図1のRAM100と101の断面図を説明する
図。
【図30】図1のRAM100と101のパッケージ実装の構
成例を説明する図。
【図31】図1のRAM100と101のモデュール実装の構
成例を説明する図。
【図32】図20のメモリ主部1312の構成例を説明
する図。
【図33】図32のメモリセル列3201の第1の構成
例を説明する図。
【図34】本発明の第5の実施例の全体図。
【図35】本発明の第6の実施例の全体図。
【図36】従来例のRAMのピン配置図。
【図37】従来例のRAMのピンを説明する図。
【図38】従来例のRAMの全体ブロック図。
【図39】従来例のRAMの動作タイミングを説明する
図。
【符号の説明】
100−1〜4…データ用RAM、101−1〜4…タ
グ用RAM、102…プロセッサ、103…プロセッサ
主部、104…2次キャッシュインタフェース、105
…1次キャッシュ、106…ストアバッファ、107…
主メモリ、109…書き込み信号、110…データ転送信
号、112…ラインアドレス、309…タグ転送信号、
1131〜4…データ。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 12/08 573 G06F 12/08 573 (72)発明者 秋岡 隆志 茨城県日立市大みか町七丁目1番1号 株式会社 日立製作所 日立研究所内 (72)発明者 田中 成弥 茨城県日立市大みか町七丁目1番1号 株式会社 日立製作所 日立研究所内 (56)参考文献 特開 平6−259329(JP,A) 特開 平4−209051(JP,A) 特開 昭62−184551(JP,A) 特開 平2−156351(JP,A) 特開 平4−145552(JP,A) 特開 平1−267754(JP,A) 特開 平6−243038(JP,A) 特開 平6−119243(JP,A) 特開 平6−103167(JP,A) 特開 平6−95964(JP,A) 特開 平6−95963(JP,A) 特開 平6−75747(JP,A) 特開 平6−59979(JP,A) 特開 平6−59976(JP,A) 特開 平6−59882(JP,A) 特開 平5−314007(JP,A) 特開 平5−181745(JP,A) 特開 平3−6757(JP,A) 特表 平9−506729(JP,A) 秋庭正之,高橋恒雄,ハイエンドシス テムにフォーカスしたマイクロプロセッ サとその応用技術,電子情報通信学会技 術研究報告,日本,社団法人電子情報通 信学会,1993年 4月23日,第93巻,第 16号,(CPSY93−1〜12),p.1 −8 太田洋,Pentiumの性能を引き 出すチップ・セットの実力,日経バイ ト,日本,日経BP社,1994年 7月 1日,第127号,p.142−150 ディック・パウンティン,スーパーコ ンピュータを指向するR8000チップ・セ ット,日経バイト,日本,日経BP社, 1994年11月 1日,第131号,p.275− 283 (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】データを格納する主メモリと、 前記主メモリに記憶されたデータの一部を格納するデー
    タ用メモリと、 前記データ用メモリに格納されたデータの存在を示すタ
    グを記憶するタグ用メモリと、 前記データ用メモリに前記データを書き込むかどうかを
    決定する前に、前記データ用メモリ内にデータを転送
    し、前記タグ用メモリの内容に応じて前記データ用メモ
    リにデータを書き込むかどうかを決定し、決定後前記デ
    ータ用メモリへのデータの書き込みを行うよう前記デー
    タ用メモリと前記タグ用メモリを制御するメモリインタ
    フェース部を有するプロセッサを有する情報処理装置で
    あって、 前記データ用メモリは、メモリ主部への書き込むべきデ
    ータの書き込みを制御する第1のコントローラと、前記
    プロセッサから転送されたデータと前記データのアドレ
    スとを保持する複数の書き込みバッファを有するもので
    あり、 前記プロセッサは、少なくともRAMステージと、前記
    RAMステージよりも時間的に後であるWRTステージ
    とを含む複数ステージからなるパイプライン処理を用い
    て、前記タグ用メモリのタグを読み出してヒットした場
    合に、前記データ用メモリにデータを書き込む書き込み
    処理、及び前記データ用メモリ内のデータを読み出す読
    み出し処理を行うものであり、 前記第1のコントローラは、前記書き込み処理の前記R
    AMステージでは、該書き込み処理よりも前に発行され
    た書き込み処理が対象とするデータである前記複数の書
    き込みバッファに保持されたデータの中で、最も古いデ
    ータを前記データ用メモリの前記メモリ主部に書き込む
    よう前記メモリ主部を制御し、前記書き込み処理の前記
    WRTステージでは、該書き込み処理が対象とするもの
    である前記プロセッサから転送されたデータと前記デー
    タのアドレスを、前記複数の書き込みバッファ内の第一
    の書き込みバッファ、次段の書き込みバッファと順次格
    納するように前記複数の書き込みバッファを制御し、前
    記読み出し処理の前記RAMステージでは前記データ用メ
    モリの前記メモリ主部からデータを読み出すよう前記メ
    モリ主部を制御するものであることを特徴とする情報処
    理装置。
  2. 【請求項2】請求項1の情報処理装置において、 前記メモリインタフェース部はクロック信号に従い、書
    き込むべきデータのアドレスとデータ転送信号とを前記
    データ用メモリに、前記アドレスとタグ転送信号とを前
    記タグ用メモリに送り出し、データ転送信号を送り出し
    た後前記データを前記データ用メモリに送り出すよう制
    御する第2のコントローラを有する情報処理装置。
  3. 【請求項3】請求項2の情報処理装置において、前記データ用メモリは、該データ用メモリにデータを書
    き込むかどうかがを決定される前に該データを一時的に
    保持するバッファをさらに備え、 前記第2のコントローラは前記バッファに一時的に保持
    されるデータを前記第一の書き込みバッファに書き込む
    かどうかを決定するデータ書込決定手段を有する情報処
    理装置。
  4. 【請求項4】請求項1の情報処理装置において、 前記データ用メモリは前記主メモリのデータと異なるデ
    ータを保持していることを示すダーティービットエリア
    を有する情報処理装置。
  5. 【請求項5】請求項2の情報処理装置において、 前記メモリインタフェース部は書き込むべきデータのア
    ドレスと、データ転送信号と前記データとを前記データ
    用メモリに送り出すためのそれぞれの端子と、前記タグ
    転送信号を前記タグ用メモリに送り出すための端子とを
    有する情報処理装置。
  6. 【請求項6】メモリ主部と、 前記メモリ主部への書き込むべきデータの書き込みを制
    御するコントローラと、 前記データと前記データのアドレスを一時的に保持する
    複数の書き込みバッファとを有し、 少なくともRAMステージと、前記RAMステージより
    も時間的に後であるWRTステージとを含む複数ステー
    ジからなるパイプライン処理を用いて、前記書き込みバ
    ッファ及び前記メモリ主部へデータを書き込む書き込み
    処理や前記メモリ主部からデータを読み出す読み出し処
    理が行われるメモリ装置であって、 前記コントローラは、前記書き込み処理の前記RAMス
    テージでは、該書き込み処理よりも前に外部から発行さ
    れた書き込み処理が対象とするデータである前記複数の
    書き込みバッファに保持されたデータの中で、最も古い
    データを前記メモリ主部に書き込むよう前記メモリ主部
    を制御し、前記書き込み処理の前記WRTステージでは、
    該書き込み処理が対象とするものである外部から転送さ
    れたデータと前記データのアドレスを、前記複数の書き
    込みバッファ内の第一の書き込みバッファ、次段の書き
    込みバッファと順次格納するように前記複数の書き込み
    バッファを制御し、前記読み出し処理の前記RAMステ
    ージでは前記メモリ主部からデータを読み出すよう前記
    メモリ主部を制御するものであることを特徴とするメモ
    リ装置。
  7. 【請求項7】請求項6のメモリ装置において、 前記コントローラは、前記複数の書き込みバッファのな
    かからどれを前記メモリ主部に書き込むかを制御する手
    段を有するメモリ装置。
  8. 【請求項8】請求項7のメモリ装置において、 前記複数の書き込みバッファの内容を出力するパスを有
    するメモリ装置。
  9. 【請求項9】請求項8のメモリ装置において、 前記コントローラは、前記複数の書き込みバッファの出
    力と前記メモリ主部の出力のなかからどれを出力するか
    を制御する手段を有するメモリ装置。
JP29621594A 1994-11-30 1994-11-30 半導体メモリ装置、及び、それを用いた情報処理装置 Expired - Fee Related JP3277730B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP29621594A JP3277730B2 (ja) 1994-11-30 1994-11-30 半導体メモリ装置、及び、それを用いた情報処理装置
US08/562,187 US6032229A (en) 1994-11-30 1995-11-22 Semiconductor memory device and information processor using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29621594A JP3277730B2 (ja) 1994-11-30 1994-11-30 半導体メモリ装置、及び、それを用いた情報処理装置

Publications (2)

Publication Number Publication Date
JPH08153039A JPH08153039A (ja) 1996-06-11
JP3277730B2 true JP3277730B2 (ja) 2002-04-22

Family

ID=17830674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29621594A Expired - Fee Related JP3277730B2 (ja) 1994-11-30 1994-11-30 半導体メモリ装置、及び、それを用いた情報処理装置

Country Status (2)

Country Link
US (1) US6032229A (ja)
JP (1) JP3277730B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6482372B2 (en) 2000-12-22 2002-11-19 Kinetico Incorporated Process for recovering palladium from a solution

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560675B1 (en) * 1999-12-30 2003-05-06 Unisys Corporation Method for controlling concurrent cache replace and return across an asynchronous interface
KR100351504B1 (ko) * 2000-06-05 2002-09-05 삼성전자 주식회사 캐쉬 메모리, 그의 전력 소비 절감 방법 그리고 캐쉬메모리를 구비하는 데이터 처리 시스템
US7444476B2 (en) * 2001-07-24 2008-10-28 Texas Instruments Incorporated System and method for code and data security in a semiconductor device
US6950906B2 (en) * 2002-12-13 2005-09-27 Hewlett-Packard Development Company, L.P. System for and method of operating a cache
JP5637312B2 (ja) * 2011-06-29 2014-12-10 富士通株式会社 キャッシュ制御装置及びパイプライン制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4467414A (en) * 1980-08-22 1984-08-21 Nippon Electric Co., Ltd. Cashe memory arrangement comprising a cashe buffer in combination with a pair of cache memories
US4823259A (en) * 1984-06-29 1989-04-18 International Business Machines Corporation High speed buffer store arrangement for quick wide transfer of data
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage
US5261074A (en) * 1988-10-03 1993-11-09 Silicon Graphics, Inc. Computer write-initiated special transferoperation
US5202972A (en) * 1988-12-29 1993-04-13 International Business Machines Corporation Store buffer apparatus in a multiprocessor system
US5224214A (en) * 1990-04-12 1993-06-29 Digital Equipment Corp. BuIffet for gathering write requests and resolving read conflicts by matching read and write requests
US5418973A (en) * 1992-06-22 1995-05-23 Digital Equipment Corporation Digital computer system with cache controller coordinating both vector and scalar operations
JPH06222990A (ja) * 1992-10-16 1994-08-12 Fujitsu Ltd データ処理装置
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
GB2289778B (en) * 1994-05-17 1998-12-16 Advanced Risc Mach Ltd Data processing
US5524220A (en) * 1994-08-31 1996-06-04 Vlsi Technology, Inc. Memory subsystems having look-ahead instruction prefetch buffers and intelligent posted write buffers for increasing the throughput of digital computer systems

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ディック・パウンティン,スーパーコンピュータを指向するR8000チップ・セット,日経バイト,日本,日経BP社,1994年11月 1日,第131号,p.275−283
太田洋,Pentiumの性能を引き出すチップ・セットの実力,日経バイト,日本,日経BP社,1994年 7月 1日,第127号,p.142−150
秋庭正之,高橋恒雄,ハイエンドシステムにフォーカスしたマイクロプロセッサとその応用技術,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1993年 4月23日,第93巻,第16号,(CPSY93−1〜12),p.1−8

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6482372B2 (en) 2000-12-22 2002-11-19 Kinetico Incorporated Process for recovering palladium from a solution

Also Published As

Publication number Publication date
JPH08153039A (ja) 1996-06-11
US6032229A (en) 2000-02-29

Similar Documents

Publication Publication Date Title
JP2505661B2 (ja) 階層集積回路キャッシュメモリ
EP0734553B1 (en) Split level cache
CA1273715A (en) Cache and virtual memory organization
US6226722B1 (en) Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing
US5848432A (en) Data processor with variable types of cache memories
US6728823B1 (en) Cache connection with bypassing feature
JPH0756815A (ja) キャッシュ動作方法及びキャッシュ
JPH01251247A (ja) キヤツシユメモリサブシステム
JPH04233051A (ja) キャッシュシステム
CN1333906A (zh) 双端口管道两级高速缓冲存储器系统
JP2000003308A (ja) オ―バラップしたl1およびl2メモリ・アクセス方法および装置
JPS62262160A (ja) 書込みバツフア装置
US5822756A (en) Microprocessor cache memory way prediction based on the way of a previous memory read
US6351788B1 (en) Data processor and data processing system
US6463514B1 (en) Method to arbitrate for a cache block
US5761714A (en) Single-cycle multi-accessible interleaved cache
KR950006590B1 (ko) 캐시 메모리를 갖는 마이크로 프로세서
JP3277730B2 (ja) 半導体メモリ装置、及び、それを用いた情報処理装置
US6240487B1 (en) Integrated cache buffers
US5895490A (en) Computer system cache performance on write allocation cycles by immediately setting the modified bit true
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
JPH0612323A (ja) キャッシュメモリシステム
US6374344B1 (en) Methods and apparatus for processing load instructions in the presence of RAM array and data bus conflicts
US5781925A (en) Method of preventing cache corruption during microprocessor pipelined burst operations
EP0304587B1 (en) Interruptible cache loading

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080215

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090215

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees