JPS62184551A - コンピユ−タア−キテクチヤ - Google Patents
コンピユ−タア−キテクチヤInfo
- Publication number
- JPS62184551A JPS62184551A JP61174691A JP17469186A JPS62184551A JP S62184551 A JPS62184551 A JP S62184551A JP 61174691 A JP61174691 A JP 61174691A JP 17469186 A JP17469186 A JP 17469186A JP S62184551 A JPS62184551 A JP S62184551A
- Authority
- JP
- Japan
- Prior art keywords
- address
- cache
- tag
- memory
- data
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims description 111
- 238000013519 translation Methods 0.000 claims description 34
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000014616 translation Effects 0.000 description 30
- 238000013461 design Methods 0.000 description 15
- 230000008901 benefit Effects 0.000 description 9
- 239000000872 buffer Substances 0.000 description 9
- 208000019300 CLIPPERS Diseases 0.000 description 6
- 208000021930 chronic lymphocytic inflammation with pontine perivascular enhancement responsive to steroids Diseases 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000002826 coolant Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
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)
- Communication Control (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はコンピュータアーキテクチャに関し、特にキャ
ッシュRAMを使用したコンピュータアーキテクチャに
関する。
ッシュRAMを使用したコンピュータアーキテクチャに
関する。
(従来の技術) ′
現在、コンピュータ設計はしばしば非常に大規模なメイ
ンメモリのアドレス領域を有しており、このアドレス領
域はキャッシュメモリを介してCPUとインターフェー
スしている。前記キャッシュメモリの多様な用途および
キャッシュメモリの使用法は下記の文献に記載されてい
る。カブラン著「キャッシュに基づくコンピュータシス
テム」コンピュータ、1973年3月、30−36頁、
ロード著「キャッシュを使用したメインメモリによる高
速CPU5の低速化防止」、エレクトロニックデザイン
、1982年工月2l日号、179頁、ストレッカー著
rpnp−t tファミリーコンピュータ用キャッシュ
メモリ」、ベル社、コンピュータエンジニアリング(デ
ィジタルプレス)、236−67頁 キャッシュメモリは、1つの形態として、高速データR
AMと平行高速タグRAMとから構成さレテいる。この
キャッシュメモリにおける各エントリの記憶箇所アドレ
スは、このエントリに対応しているメインメモリの下位
階層と同じアドレスであり、またメインメモリのアドレ
スの上位階層は、平行高速タグRAMに記憶されている
。したがってメインメモリが2−ブロック×2n ワー
ドであるとすれば、キャッシュデータRAM中のi番目
のワードは、メインメモリにおける2mブロックの1つ
のi番目のワードのコピーである。
ンメモリのアドレス領域を有しており、このアドレス領
域はキャッシュメモリを介してCPUとインターフェー
スしている。前記キャッシュメモリの多様な用途および
キャッシュメモリの使用法は下記の文献に記載されてい
る。カブラン著「キャッシュに基づくコンピュータシス
テム」コンピュータ、1973年3月、30−36頁、
ロード著「キャッシュを使用したメインメモリによる高
速CPU5の低速化防止」、エレクトロニックデザイン
、1982年工月2l日号、179頁、ストレッカー著
rpnp−t tファミリーコンピュータ用キャッシュ
メモリ」、ベル社、コンピュータエンジニアリング(デ
ィジタルプレス)、236−67頁 キャッシュメモリは、1つの形態として、高速データR
AMと平行高速タグRAMとから構成さレテいる。この
キャッシュメモリにおける各エントリの記憶箇所アドレ
スは、このエントリに対応しているメインメモリの下位
階層と同じアドレスであり、またメインメモリのアドレ
スの上位階層は、平行高速タグRAMに記憶されている
。したがってメインメモリが2−ブロック×2n ワー
ドであるとすれば、キャッシュデータRAM中のi番目
のワードは、メインメモリにおける2mブロックの1つ
のi番目のワードのコピーである。
そのブロックと同一のものはタグRAMのi番目の箇所
に記憶されている。CPUがメインメモリからのデータ
を要求すると、その下位階層のアドレスはキャッシュデ
ータRAM及びキャッシュタグRAM両方のアドレスと
して供給される。選択されたギヤッシュエントリに対す
るタグは、CPUのアドレスの高位階層と比較され、も
しそれらが一致すればキャッシュデータRAMからのデ
ータはデータバスに送出される。そして、前記タグがC
PUのアドレスの高位階層と一致しなければ、そのデー
タはメインメモリから取り出される。
に記憶されている。CPUがメインメモリからのデータ
を要求すると、その下位階層のアドレスはキャッシュデ
ータRAM及びキャッシュタグRAM両方のアドレスと
して供給される。選択されたギヤッシュエントリに対す
るタグは、CPUのアドレスの高位階層と比較され、も
しそれらが一致すればキャッシュデータRAMからのデ
ータはデータバスに送出される。そして、前記タグがC
PUのアドレスの高位階層と一致しなければ、そのデー
タはメインメモリから取り出される。
また、将来起こりうる用途のためにキャッシュメモリは
以前のエントリを書込むことのできるようになっている
。CPUからのデータの書込み時には、キャッシュRA
Mまたはメインメモリのいずれか、またはその両方を更
新できるので、書込みが行われたことを表示するために
、フラグが必要であると考えられている。コンピュータ
の設計において小型で高速のキャッシュメモリを使用す
ると、大きなメインメモリの領域に対して比較的低速で
安価なRAMを使用できるので、[一時的な所在地とい
う特性」を利用することができる。
以前のエントリを書込むことのできるようになっている
。CPUからのデータの書込み時には、キャッシュRA
Mまたはメインメモリのいずれか、またはその両方を更
新できるので、書込みが行われたことを表示するために
、フラグが必要であると考えられている。コンピュータ
の設計において小型で高速のキャッシュメモリを使用す
ると、大きなメインメモリの領域に対して比較的低速で
安価なRAMを使用できるので、[一時的な所在地とい
う特性」を利用することができる。
この特性は大部分のコンピュータプログラムに固有のも
のであり、そのプログラムにおいて、ある時1つのポイ
ントで参照されたメモリ箇所は、その直後に再び参照さ
れることが非常に多い。
のであり、そのプログラムにおいて、ある時1つのポイ
ントで参照されたメモリ箇所は、その直後に再び参照さ
れることが非常に多い。
キャッシュメモリアーキテクチャは3つの基本的な形成
ブロック、即ち3つのモジュールで構成されていると考
えることができる。この3つモジュールは、アドレス発
生装置(これはCPU全体で構成してもよい)、最近使
用されたデータを記憶するためのキャッシュデータRA
M及びキャッシュタグRAM、及び適合またはミスが発
生したかどうかを確かめるためのタグ比較器ロジックで
ある。従来のアーキテクチャでは、これらの3つのモジ
ュールは別々のチップまたは別々の基板に配設されてい
るのが典型的なものであった。
ブロック、即ち3つのモジュールで構成されていると考
えることができる。この3つモジュールは、アドレス発
生装置(これはCPU全体で構成してもよい)、最近使
用されたデータを記憶するためのキャッシュデータRA
M及びキャッシュタグRAM、及び適合またはミスが発
生したかどうかを確かめるためのタグ比較器ロジックで
ある。従来のアーキテクチャでは、これらの3つのモジ
ュールは別々のチップまたは別々の基板に配設されてい
るのが典型的なものであった。
(発明が解決しようとする問題点)
斯かる従来例の場合には、下記のような問題点がある。
この問題点とは、第1に、種々のチップを一緒に接続す
るため配線の長さによって応答速度上の不利益が発生す
る。この不利益は半導体メモリおよびロジックの応答速
度が増加するにつれて一層重要になってきている。第2
に、信号がオフチップで送出されるときは、いつでも駆
動装置がその切換速度に制約をうける。これは、高速度
の電流が電源に多くの誘導性スイッチングノイズを発生
させることになるので、他の回路が前記スイッチングノ
イズに耐えられないためである。第3に、多くのチップ
が必要であるため、コストが上昇する。これは基板のス
ペースが高価であることと、多くのデバイスのコストの
合計が少数且つ高度に集積されたデバイスのコストの合
計より大きいことの双方に起因している。更に、こうし
た従来のアーキテクチャでは、キャッシュデータがデー
タバスに送られる前に、アーキテクチャがキャッシュの
適合信号を要求するように設計されていることが多かっ
た。したがって、3つの遅延時間が順番に通過して初め
てデータがデータバスに送出されることになっていた。
るため配線の長さによって応答速度上の不利益が発生す
る。この不利益は半導体メモリおよびロジックの応答速
度が増加するにつれて一層重要になってきている。第2
に、信号がオフチップで送出されるときは、いつでも駆
動装置がその切換速度に制約をうける。これは、高速度
の電流が電源に多くの誘導性スイッチングノイズを発生
させることになるので、他の回路が前記スイッチングノ
イズに耐えられないためである。第3に、多くのチップ
が必要であるため、コストが上昇する。これは基板のス
ペースが高価であることと、多くのデバイスのコストの
合計が少数且つ高度に集積されたデバイスのコストの合
計より大きいことの双方に起因している。更に、こうし
た従来のアーキテクチャでは、キャッシュデータがデー
タバスに送られる前に、アーキテクチャがキャッシュの
適合信号を要求するように設計されていることが多かっ
た。したがって、3つの遅延時間が順番に通過して初め
てデータがデータバスに送出されることになっていた。
これらの3つの遅延時間とは、タグRAMを読み込むた
め粁必要な時間、読み込んだタグRAMを高位階層のア
ドレスと比較するために必要な時間、及びデータキャッ
シュRAMからデータバスにデータを送るために必要な
時間のことである。
め粁必要な時間、読み込んだタグRAMを高位階層のア
ドレスと比較するために必要な時間、及びデータキャッ
シュRAMからデータバスにデータを送るために必要な
時間のことである。
最近、テキサスインスツルメンツ社、はTMS2150
と呼ばれるチップの製造を開始したが、このチップは同
一チップ上にキャッシュタグRAMとタグ比較器ロジッ
クの両方を包含している。このチップはロード著のrV
LsIチップ上のキャッシュメモリ機能」、エレクトロ
ニック7゜ゲイン1982年2月18日号、159頁に
記載されている。上記のチップは従来の装置におけるチ
ップ境界の交叉点のいくつかを減少せしめているが、ま
だ十分ではない。全メモリアドレスがなお上記チップに
送出しなければならず、これは各ビットに対して潜在的
に破壊性のある駆動装置を必要としている。更に上記文
献の第5図に示されているように、このアーキテクチャ
は、依然としてキャッシュデータRAMからのデータが
上記チップによって一致が検出された後でなければデー
タバスに送出されないことを示している。
と呼ばれるチップの製造を開始したが、このチップは同
一チップ上にキャッシュタグRAMとタグ比較器ロジッ
クの両方を包含している。このチップはロード著のrV
LsIチップ上のキャッシュメモリ機能」、エレクトロ
ニック7゜ゲイン1982年2月18日号、159頁に
記載されている。上記のチップは従来の装置におけるチ
ップ境界の交叉点のいくつかを減少せしめているが、ま
だ十分ではない。全メモリアドレスがなお上記チップに
送出しなければならず、これは各ビットに対して潜在的
に破壊性のある駆動装置を必要としている。更に上記文
献の第5図に示されているように、このアーキテクチャ
は、依然としてキャッシュデータRAMからのデータが
上記チップによって一致が検出された後でなければデー
タバスに送出されないことを示している。
また上述した3つのモジュールのすべてが同一のチップ
上に集積されていることがまた示唆されている。これは
、例えば、グツドマン著「プロセッサメモリの通信量を
減少するためのキャッシュメモリの使用」、コンピュー
タアーキテクチャに関する第10回年次シンポジウムの
報告書、1983年6月124−131頁、パンエイク
ン著「コンピュータシステムへのキャッシュアーキテク
チャの調和」、エレクトロニックデザイン、82年3月
4′8号、93頁を参照されたい。これはすべてのチッ
プの境界を排除するとしても次の2つの理由のために大
変実用的でない。
上に集積されていることがまた示唆されている。これは
、例えば、グツドマン著「プロセッサメモリの通信量を
減少するためのキャッシュメモリの使用」、コンピュー
タアーキテクチャに関する第10回年次シンポジウムの
報告書、1983年6月124−131頁、パンエイク
ン著「コンピュータシステムへのキャッシュアーキテク
チャの調和」、エレクトロニックデザイン、82年3月
4′8号、93頁を参照されたい。これはすべてのチッ
プの境界を排除するとしても次の2つの理由のために大
変実用的でない。
即ち、第1にキャッシュRAMの大きさが非常に小さく
なければならないためにキャッシュRAMが合理的な適
合率を作り出すことができない。第2にこれは設計者が
コンピュータの設計の周期の間に案出されるメモリ技術
の進歩を利用することを妨げる。設計周期の初めにおい
てどのような技術が選択されようとも、コンピュータが
製造段階に到達したときには、その技術は陳腐化してい
るのが通常である。もしタグRAMとデータRAMがオ
フチップで実行されるとして、当初どのような製品がソ
ケットにはまると期待されていようと、それらの製品は
コンピュータが製造段階に到達したときに入手可能なよ
り高速、より高密度で、冷却媒体の流通する中で動作す
るチップによって代替される。もしこれらのRAMがC
PUに組込まれていれば、こうしたことを行なうことは
できない。フェアチャイルド社の「クリッパ」と呼ばれ
るチップセットは、上記と同じようなタイプの構成を有
している。サーチ著「高性能84B、000 )ランジ
スタUNIXエンジンーフェアチャイルドクリッパ」、
コンピュータ設計に関するIEEE国際会議の報告書、
1985年10月、342−46頁を参照されたい。こ
のクリッパチップセットには3つのチップが含まれてい
る。即ち、これらのチップはCPU、命令キャッシュ及
びメモリ管理装置(ICAMMU)、そしてデータキャ
ッシュおよびメモリ管理装置(DCAMMU)である。
なければならないためにキャッシュRAMが合理的な適
合率を作り出すことができない。第2にこれは設計者が
コンピュータの設計の周期の間に案出されるメモリ技術
の進歩を利用することを妨げる。設計周期の初めにおい
てどのような技術が選択されようとも、コンピュータが
製造段階に到達したときには、その技術は陳腐化してい
るのが通常である。もしタグRAMとデータRAMがオ
フチップで実行されるとして、当初どのような製品がソ
ケットにはまると期待されていようと、それらの製品は
コンピュータが製造段階に到達したときに入手可能なよ
り高速、より高密度で、冷却媒体の流通する中で動作す
るチップによって代替される。もしこれらのRAMがC
PUに組込まれていれば、こうしたことを行なうことは
できない。フェアチャイルド社の「クリッパ」と呼ばれ
るチップセットは、上記と同じようなタイプの構成を有
している。サーチ著「高性能84B、000 )ランジ
スタUNIXエンジンーフェアチャイルドクリッパ」、
コンピュータ設計に関するIEEE国際会議の報告書、
1985年10月、342−46頁を参照されたい。こ
のクリッパチップセットには3つのチップが含まれてい
る。即ち、これらのチップはCPU、命令キャッシュ及
びメモリ管理装置(ICAMMU)、そしてデータキャ
ッシュおよびメモリ管理装置(DCAMMU)である。
メモリ管理装置(ICAMMU)は、キャッシュRAM
、タグ比較器、及びアドレス変換バッファ(下記に述べ
る)を1つのチップ上に集積している。これはまたCP
Uのプログラムカウンタのコピーも集積している。その
結果、命令アドレス情報は分岐したプログラム上でのみ
メモリ管理装置(ICAMMU)に転送される必要があ
る。このクリッパ装置はアドレス発生装置(プログラム
カウンタのコピー)がキャッシュRAMとタグ比較器と
同じチップ上にあるという点で完苓集精によるアプロー
チと同じである。しかし、キャッシュRAMをそれらと
同様に大きくするためには、CPUをオフチップに移動
しなければならない。したがって枝分れの発生する都度
、全ての仮想アドレスがCPUからメモリ管理装置(I
CAMMU)へチップの境界を横切らなければならない
。更に、完全集積によるアプローチの場合のようにクリ
ッパチップを使用する設計者はコンピュータの設計周期
の間にメモリ技術に起こる進歩を利用することができな
い。
、タグ比較器、及びアドレス変換バッファ(下記に述べ
る)を1つのチップ上に集積している。これはまたCP
Uのプログラムカウンタのコピーも集積している。その
結果、命令アドレス情報は分岐したプログラム上でのみ
メモリ管理装置(ICAMMU)に転送される必要があ
る。このクリッパ装置はアドレス発生装置(プログラム
カウンタのコピー)がキャッシュRAMとタグ比較器と
同じチップ上にあるという点で完苓集精によるアプロー
チと同じである。しかし、キャッシュRAMをそれらと
同様に大きくするためには、CPUをオフチップに移動
しなければならない。したがって枝分れの発生する都度
、全ての仮想アドレスがCPUからメモリ管理装置(I
CAMMU)へチップの境界を横切らなければならない
。更に、完全集積によるアプローチの場合のようにクリ
ッパチップを使用する設計者はコンピュータの設計周期
の間にメモリ技術に起こる進歩を利用することができな
い。
もし、コンピュータが仮想メモリの能力を有していれば
、リード/ライトのサイクル時間は更に増加する。この
ようなコンピュータでは、多数の異なったタスクの各々
はあたかも他のタスクが存在しないかのようにメモリを
アドレスする。これを実現するために゛はメインメモリ
はブロック、すなわちrページ」に分割され、それらの
1つ以上がある所定の時点における各々のタスクに割当
てなければならない。そして、一つのタスクが「仮想」
のメモリアドレスを参照する場合、そのアドレスは、メ
インメモリの適当なページで実アドレスに変換されねば
ならない。この場合、仮想アドレスの高位ビットのみが
変換されなければならない。というのは、下位ビットは
各ページとも同じであるからである。したがって、代表
的なページの大きさは4にバイトであるから、仮想アド
レスの下位にビット以外のすべてのビットが各メインメ
モリのアクセスに対して通常変換されなければならない
。
、リード/ライトのサイクル時間は更に増加する。この
ようなコンピュータでは、多数の異なったタスクの各々
はあたかも他のタスクが存在しないかのようにメモリを
アドレスする。これを実現するために゛はメインメモリ
はブロック、すなわちrページ」に分割され、それらの
1つ以上がある所定の時点における各々のタスクに割当
てなければならない。そして、一つのタスクが「仮想」
のメモリアドレスを参照する場合、そのアドレスは、メ
インメモリの適当なページで実アドレスに変換されねば
ならない。この場合、仮想アドレスの高位ビットのみが
変換されなければならない。というのは、下位ビットは
各ページとも同じであるからである。したがって、代表
的なページの大きさは4にバイトであるから、仮想アド
レスの下位にビット以外のすべてのビットが各メインメ
モリのアクセスに対して通常変換されなければならない
。
前記仮想メモリの能力は、数種類の構成のうちのいずれ
においてもキャッシュシステムで実行することができる
が、それらのうちのいずれも全く満足できるものではな
い。第1の構成として、アドレス変換装置(ATU)は
、アドレス発生装置とキャッシュメモリとの間に配設さ
れている。この構成では、大きなオーバヘッドが生ずる
が、これはキャッシュメモリに対するすべてのアクセス
がアドレス変換装置を通過する時間だけ遅延するためで
ある。第2の構成としては、キャッシュメモリの長さを
仮想ページの長さと等しくまたはそれ以下にすることで
ある。そうすれば、変換されていない下位のアドレスビ
ットだけをアドレスする必要がある。上述したクリッパ
チップセットはこの構成を使用している。しかしながら
、これは通常キャッシュメモリの長さを非常に短かいも
のに制限するので、合理的な適合率を得ることができな
い。このキャッシュメモリのサイズの制約はセットアソ
シエーディブ方式(2つ以上の平行なタグ/データRA
Mの組)をキャツシュRAM構成に加えることによって
克服することができる。
においてもキャッシュシステムで実行することができる
が、それらのうちのいずれも全く満足できるものではな
い。第1の構成として、アドレス変換装置(ATU)は
、アドレス発生装置とキャッシュメモリとの間に配設さ
れている。この構成では、大きなオーバヘッドが生ずる
が、これはキャッシュメモリに対するすべてのアクセス
がアドレス変換装置を通過する時間だけ遅延するためで
ある。第2の構成としては、キャッシュメモリの長さを
仮想ページの長さと等しくまたはそれ以下にすることで
ある。そうすれば、変換されていない下位のアドレスビ
ットだけをアドレスする必要がある。上述したクリッパ
チップセットはこの構成を使用している。しかしながら
、これは通常キャッシュメモリの長さを非常に短かいも
のに制限するので、合理的な適合率を得ることができな
い。このキャッシュメモリのサイズの制約はセットアソ
シエーディブ方式(2つ以上の平行なタグ/データRA
Mの組)をキャツシュRAM構成に加えることによって
克服することができる。
しかしながら、このためにはセット選択ロジックがタグ
比較器ロジックに加えられ、一度一致が検出された場合
に、いずれのキャッシュデータRAMがデータバスにて
送られるのかを決定することが必要である。これによっ
て追加されるロジック層が更に性能を低下させる。
比較器ロジックに加えられ、一度一致が検出された場合
に、いずれのキャッシュデータRAMがデータバスにて
送られるのかを決定することが必要である。これによっ
て追加されるロジック層が更に性能を低下させる。
第3の構成としては、長くてダイレクトマツプ(単一に
セット)されたキャッシュメモリを使い、メインメモリ
をアクセスする必要のあるときだけアドレスを実アドレ
スに変換するものである。しかし、これは全体の効率を
低下させるという別の問題が生ずる。
セット)されたキャッシュメモリを使い、メインメモリ
をアクセスする必要のあるときだけアドレスを実アドレ
スに変換するものである。しかし、これは全体の効率を
低下させるという別の問題が生ずる。
この問題は、第1にタスクが数多くある状態で、すべて
のタスクが重複したグループの仮想アドレスをアドレス
指定する。もっともこれらのアドレスは通常は各タスク
に対して異なった実アドレスに対応している。ここでは
所在地の原理が各タスク個々に依然として該当している
。しかし、この原理は一緒に動作しているすべてのタス
クには該当しない。1つのタスクによってアドレス指定
されて更新されたキャッシュエントリは、第1のタスク
がその近辺に存在することによって利益を得る前に、第
2のタスクによってアドレス指定され更新されることが
多い。この問題を解決するためにセットアソシエーティ
ブ方式を用いることができる。しかし、コンピュータの
性能をダイレクトマツプ(単一にセット)された実アド
レス指定のキャッシュメモリと一致せしめるには多くの
セットが必要である。この必要なセット選択ロジックは
また性能を低下させる。 第 2 に 、Iloがメイ
ンメモリの内容の直接の変更によって行なわれる場合、
仮に対応するキャッシュエントリが存在する場合には、
その対応するキャッシュエントリにフラグを立てて、も
はや有効なデータが含まれていないことを示す必要があ
る。しかしながら、キャッシュメモリは仮想アドレスに
よってアクセスされているので、変更されたメモ、υ箇
所の実アドレスは、逆変換していずれのキャッシュエン
トリが対応するのかを決定する必要がある。この問題を
解決するために用いられる方策は、コンピュータメモリ
制御ロジックおよびソフトウェアのオーバヘッドの複雑
性を非常に増大させるものである。
のタスクが重複したグループの仮想アドレスをアドレス
指定する。もっともこれらのアドレスは通常は各タスク
に対して異なった実アドレスに対応している。ここでは
所在地の原理が各タスク個々に依然として該当している
。しかし、この原理は一緒に動作しているすべてのタス
クには該当しない。1つのタスクによってアドレス指定
されて更新されたキャッシュエントリは、第1のタスク
がその近辺に存在することによって利益を得る前に、第
2のタスクによってアドレス指定され更新されることが
多い。この問題を解決するためにセットアソシエーティ
ブ方式を用いることができる。しかし、コンピュータの
性能をダイレクトマツプ(単一にセット)された実アド
レス指定のキャッシュメモリと一致せしめるには多くの
セットが必要である。この必要なセット選択ロジックは
また性能を低下させる。 第 2 に 、Iloがメイ
ンメモリの内容の直接の変更によって行なわれる場合、
仮に対応するキャッシュエントリが存在する場合には、
その対応するキャッシュエントリにフラグを立てて、も
はや有効なデータが含まれていないことを示す必要があ
る。しかしながら、キャッシュメモリは仮想アドレスに
よってアクセスされているので、変更されたメモ、υ箇
所の実アドレスは、逆変換していずれのキャッシュエン
トリが対応するのかを決定する必要がある。この問題を
解決するために用いられる方策は、コンピュータメモリ
制御ロジックおよびソフトウェアのオーバヘッドの複雑
性を非常に増大させるものである。
そこで、本発明は従来の上記した問題点を解決するため
になされたもので、その目的とするところは、上述した
困難の影響を受けないコンピュータのアーキテクチャを
提供することにある。
になされたもので、その目的とするところは、上述した
困難の影響を受けないコンピュータのアーキテクチャを
提供することにある。
本発明の他の目的は、キャッシュメモリを基本にしたコ
ンピュータアーキテクチャを提供することにある。
ンピュータアーキテクチャを提供することにある。
本発明の他の目的は、チップの境界の交叉点を最少にし
たキャッシュメモリを基本にするコンピュータアーキテ
クチャを提供することにある。
たキャッシュメモリを基本にするコンピュータアーキテ
クチャを提供することにある。
本発明の他の目的は、一致の検出される以前でもキャッ
シュデータがデータバスで得られるキャッシュを基本に
したコンピュータアーキテクチャを提供することにある
。
シュデータがデータバスで得られるキャッシュを基本に
したコンピュータアーキテクチャを提供することにある
。
本発明の他の目的は、ダイレクトマツプされたキャッシ
ュメモリを有する仮想メモリのコンピュータアーキテク
チャを提供することである。
ュメモリを有する仮想メモリのコンピュータアーキテク
チャを提供することである。
(問題点を解決するための手段)
本発明によれば、上記目的及び他の目的はタグ比較器ロ
ジックをアドレス発生モジュールと同じチップ上に集積
するとともに、該チップの外部にキャッシュタグメモリ
とキャッシュデータメモリを配設することによって達成
される。もしコンピュータアーキテクチャが仮想メモリ
を含んでいる場合には、アドレス変換装置は理論上アド
レス発生装置とタグ比較器ロジックとの間にある場合と
同様に、同一のチップ上に含めることもできる。
ジックをアドレス発生モジュールと同じチップ上に集積
するとともに、該チップの外部にキャッシュタグメモリ
とキャッシュデータメモリを配設することによって達成
される。もしコンピュータアーキテクチャが仮想メモリ
を含んでいる場合には、アドレス変換装置は理論上アド
レス発生装置とタグ比較器ロジックとの間にある場合と
同様に、同一のチップ上に含めることもできる。
更に、もしコンピュータアーキテクチャが命令用のメモ
リとデータ用のメモリを分離する場合には、別々の命令
キャッシュとデータキャッシュをインターリーブバスア
クセスと共に用いてもよい。
リとデータ用のメモリを分離する場合には、別々の命令
キャッシュとデータキャッシュをインターリーブバスア
クセスと共に用いてもよい。
(実 施 例)
以下に本発明を図示の実施例に基づいて詳細に説明する
。
。
第1図は本発明に係るコンピュータアーキテクチャの一
実施例を示すブロック図である。同図において、パッケ
ージとしてのCPUチップ10は、実行装置12と、集
積されたタグ比較器14によって構成されている。実行
装置112はデータバス16および内部アドレスバス1
8に接続されている。内部アドレスバス18の高位mビ
ットはタグ比較器工4と接続され、低位nビットはCP
Uチップ境界20を横切り、外部アドレスバス22に接
続されている。データバス16もまたCPUチップ境界
20を横切って、外部データバスとなっている。タグ比
較器14は、内部データバス18の高位mビットに接続
されるとともに、またmビットの巾を有するタグバス2
4に接続されている。タグバス24はまたCPUチップ
境界20を横切っている。CPUチップ10の外部には
キャッシュタグRAM2B、キャッシュデータRAM2
8及びメインメモリ制御装置3oが配設されている。キ
ャッシュタグRAM26は外部アドレスバス22及びタ
グバス24に接続されている。キャッシュデータRAM
28は外部アドレスバス22とデータバス16に接続さ
れている。メインメモリ制御装置30は外部アドレスバ
ス22、タグバス24及びデータバス16と接続されて
いる。メインメモリ制御装置30はまたバス32を介し
そメインメモリ34と接続されている。
実施例を示すブロック図である。同図において、パッケ
ージとしてのCPUチップ10は、実行装置12と、集
積されたタグ比較器14によって構成されている。実行
装置112はデータバス16および内部アドレスバス1
8に接続されている。内部アドレスバス18の高位mビ
ットはタグ比較器工4と接続され、低位nビットはCP
Uチップ境界20を横切り、外部アドレスバス22に接
続されている。データバス16もまたCPUチップ境界
20を横切って、外部データバスとなっている。タグ比
較器14は、内部データバス18の高位mビットに接続
されるとともに、またmビットの巾を有するタグバス2
4に接続されている。タグバス24はまたCPUチップ
境界20を横切っている。CPUチップ10の外部には
キャッシュタグRAM2B、キャッシュデータRAM2
8及びメインメモリ制御装置3oが配設されている。キ
ャッシュタグRAM26は外部アドレスバス22及びタ
グバス24に接続されている。キャッシュデータRAM
28は外部アドレスバス22とデータバス16に接続さ
れている。メインメモリ制御装置30は外部アドレスバ
ス22、タグバス24及びデータバス16と接続されて
いる。メインメモリ制御装置30はまたバス32を介し
そメインメモリ34と接続されている。
次に本実施例の作用を説明すると、実行装置12は内部
アドレスバス18に対してアドレスを作成する。このア
ドレスの低位nビットは外部アドレスバス22にそって
転送され、キャッシュタグRAM2B及びキャッシュデ
ータRAM28各々に対するアドレスとし□て供給され
る。ここで、読み出しが行われていると、データ語は、
RAMのアクセス時間に等しい遅延の後、キャッシュデ
ータRAM28からデータバス16に送られる。このデ
ータは実行装置12に転送され、実行装置12で直ちに
動作が開始される。これとほぼ同時にキャッシュデータ
RAM28からのデータがデータバス16に送られ、選
択されたエントリにおけるキャッシュタグRAM26の
内容がタグバス24に送出される。
アドレスバス18に対してアドレスを作成する。このア
ドレスの低位nビットは外部アドレスバス22にそって
転送され、キャッシュタグRAM2B及びキャッシュデ
ータRAM28各々に対するアドレスとし□て供給され
る。ここで、読み出しが行われていると、データ語は、
RAMのアクセス時間に等しい遅延の後、キャッシュデ
ータRAM28からデータバス16に送られる。このデ
ータは実行装置12に転送され、実行装置12で直ちに
動作が開始される。これとほぼ同時にキャッシュデータ
RAM28からのデータがデータバス16に送られ、選
択されたエントリにおけるキャッシュタグRAM26の
内容がタグバス24に送出される。
このキャッシュタグRAM26の内容は、選択されたエ
ントリが対応しているメインメモリアドレスの高位mビ
ットと1選択されたデータが有効でないか否かを示すフ
ラグ(N U)と、少なくとも1つ以上のパリティ−ビ
ットを含んでいる。タグ比較器14はタグバス24のタ
グを内部アドレスバス18の高位mビットと比較してキ
ャッシュの適合またはミスが起きているか否かを判定す
る。もしフラグのビットがセットされているか、また場
合によってはパリティ−ビットが間違っているとミスの
状態が発生する。適合していると、実行装置12ですで
に開始している動作が継続される。ミスが発生している
と、所望のデータがバス32を介してメインメモリ34
に取込まれる。
ントリが対応しているメインメモリアドレスの高位mビ
ットと1選択されたデータが有効でないか否かを示すフ
ラグ(N U)と、少なくとも1つ以上のパリティ−ビ
ットを含んでいる。タグ比較器14はタグバス24のタ
グを内部アドレスバス18の高位mビットと比較してキ
ャッシュの適合またはミスが起きているか否かを判定す
る。もしフラグのビットがセットされているか、また場
合によってはパリティ−ビットが間違っているとミスの
状態が発生する。適合していると、実行装置12ですで
に開始している動作が継続される。ミスが発生している
と、所望のデータがバス32を介してメインメモリ34
に取込まれる。
キャッシュタグRAM26及びキャッシュデータRAM
28は、新規なデータが到着した後に更新される。もし
書込みの実行中であると、新規なデータがデータバス1
6に送出され、全アドレスがタグバス24及び外部アド
レスバス22に送出される。そして、新しい情報は同時
にメインメモリ制御装置30を経由してメインメモリ3
4に書き込まれてもよい。
28は、新規なデータが到着した後に更新される。もし
書込みの実行中であると、新規なデータがデータバス1
6に送出され、全アドレスがタグバス24及び外部アド
レスバス22に送出される。そして、新しい情報は同時
にメインメモリ制御装置30を経由してメインメモリ3
4に書き込まれてもよい。
第1図に示す構成は従来技術の構成に対していくつかの
利点を有している。即ち第1に3つの基本モジュールが
別々のパッケージに入っている場合と異なり、本実施例
の構成はキャッシュの読み取りの上で2つのチップの境
界交叉点を必要としているだけである。1つは、CPU
チップ10から外部アドレスバス22に沿ってキャッシ
ュタグRAM26及びキャッシュデータRAM28への
交叉点、もう1つはキャッシュタグRAM2B及びキャ
ッシュメモリRAM28からタグバス24およびデータ
バス16に沿ってCPUチップ10に帰還する交叉点で
ある。これらの2つの交叉点のうち、CPUチップlO
からのアドレス情報のみが高電流の駆動装置を必要とし
ている。これらの2つのRAM28.28は通常低いフ
ァン・アウト出力を有しているので、CPUチップ10
に最小限の誘導性スイッチングノイズを生ずるのみであ
る。ここで、内部配線は、転送線における遅延を減少さ
せるためにできるだけ短くしてもよい。更にチップのカ
ウントは非常に低く保たれている。
利点を有している。即ち第1に3つの基本モジュールが
別々のパッケージに入っている場合と異なり、本実施例
の構成はキャッシュの読み取りの上で2つのチップの境
界交叉点を必要としているだけである。1つは、CPU
チップ10から外部アドレスバス22に沿ってキャッシ
ュタグRAM26及びキャッシュデータRAM28への
交叉点、もう1つはキャッシュタグRAM2B及びキャ
ッシュメモリRAM28からタグバス24およびデータ
バス16に沿ってCPUチップ10に帰還する交叉点で
ある。これらの2つの交叉点のうち、CPUチップlO
からのアドレス情報のみが高電流の駆動装置を必要とし
ている。これらの2つのRAM28.28は通常低いフ
ァン・アウト出力を有しているので、CPUチップ10
に最小限の誘導性スイッチングノイズを生ずるのみであ
る。ここで、内部配線は、転送線における遅延を減少さ
せるためにできるだけ短くしてもよい。更にチップのカ
ウントは非常に低く保たれている。
第2に、第1図の構成はCPUチップ10上にタグ比較
器14を設けているので、適合またミスが検出され、オ
ンチップによるタグ情報の到着の後に、非常に速く実行
装置12に通知される。外部データバス16のデータと
タグバス24のタグは略同時に実行装置12に到着する
ことが望ましいので、実行装置12はそのデータの基づ
いて直ちに(タグ比較器14の作業と平行して)動作を
開始することができ、もしキャッシュのアクセスが外れ
と判明しても、実行装置12の動作を中断して元へ戻す
ことに深く関係してしまうことを恐れる必要がない。
器14を設けているので、適合またミスが検出され、オ
ンチップによるタグ情報の到着の後に、非常に速く実行
装置12に通知される。外部データバス16のデータと
タグバス24のタグは略同時に実行装置12に到着する
ことが望ましいので、実行装置12はそのデータの基づ
いて直ちに(タグ比較器14の作業と平行して)動作を
開始することができ、もしキャッシュのアクセスが外れ
と判明しても、実行装置12の動作を中断して元へ戻す
ことに深く関係してしまうことを恐れる必要がない。
第3に、内部アドレスバス18の低位nビットだけがC
PUチップ10外に転送される。もし、3つのモジュー
ルすべてが別々にパッケージしてあれば、またはタグ比
較器14とキャッシュRAM26.28が共に収納され
、しかも実行装置12から分離している場合であっても
m+nビットの全アドレスが転送されなければならない
。したがって第1図に示す構成は必要とされる高電流駆
動装置の数を減少させる。例えば内部アドレスバス18
が32ビツト巾でキャッシュメモリが64にのエントリ
長さであれば、従来技術の構成では32アドレスビツト
すべてをチップ外に転送するように要求される。しかし
ながら、本実施例の構成では、わずか16ビツトの転送
が要求されるだけであって、この結果スイッチングノイ
ズを略半減させることができる。ここで、全体のピンの
数は減少しない。これは残りの16アドレスビツトがタ
グバス24を通ってCPUチップ10に戻されるからで
ある。しかしながら、前述したようにキャッシュタグR
AM26の出力は高いファン・アウト出力ではないので
電源に対して非常に高いスイッチングノイズが発生する
ことはない。
PUチップ10外に転送される。もし、3つのモジュー
ルすべてが別々にパッケージしてあれば、またはタグ比
較器14とキャッシュRAM26.28が共に収納され
、しかも実行装置12から分離している場合であっても
m+nビットの全アドレスが転送されなければならない
。したがって第1図に示す構成は必要とされる高電流駆
動装置の数を減少させる。例えば内部アドレスバス18
が32ビツト巾でキャッシュメモリが64にのエントリ
長さであれば、従来技術の構成では32アドレスビツト
すべてをチップ外に転送するように要求される。しかし
ながら、本実施例の構成では、わずか16ビツトの転送
が要求されるだけであって、この結果スイッチングノイ
ズを略半減させることができる。ここで、全体のピンの
数は減少しない。これは残りの16アドレスビツトがタ
グバス24を通ってCPUチップ10に戻されるからで
ある。しかしながら、前述したようにキャッシュタグR
AM26の出力は高いファン・アウト出力ではないので
電源に対して非常に高いスイッチングノイズが発生する
ことはない。
第4に第1図に示す構成は完全集積型の設計及びテキサ
スインスツルメンツ社製のTMS5550型の設計に対
して改善されている。というのは設計者は単にキャッシ
ュタグRAM26及びキャッシュメモリRAM28を新
型のRAMと取替えるだけでコンピュータの設計周期の
間に案出された進歩したメモリ技術思想を受けることが
できる。更にキャッシュRAMに単にメモリを付加し、
それに応じて外部アドレスバス22の巾を広くするだけ
でキャッシュRAMを所望の大きさにすることができる
。ここで、注意するべきことは、現代のメモリ技術はそ
れなりの適合率を生むに足りるだけの大きさをもった手
ごろな値段のダイレクトマツプキャッシュを支持してい
るが、セット結合体を加えることによってメモリを拡張
することも望まれているということである。本実施例に
よれば、これは各キャッシュセットに対してmビットを
収容するために、タグバス24の巾を拡張し、タグ比較
器14に対してセット選択ロジックを付加するだけで達
成することができる。そこで実際のデータの選択はオフ
チップ、恐らく別設指示されるまでは1つのキャッシュ
セットからデータを先ず送出することによって達成され
るが、これはオンチップで行なうのが望ましい。これは
スピード上の利益が得られるからである。仮に、オンチ
ップで行えば、データバス16は勿論それに従って拡巾
しなければならない。
スインスツルメンツ社製のTMS5550型の設計に対
して改善されている。というのは設計者は単にキャッシ
ュタグRAM26及びキャッシュメモリRAM28を新
型のRAMと取替えるだけでコンピュータの設計周期の
間に案出された進歩したメモリ技術思想を受けることが
できる。更にキャッシュRAMに単にメモリを付加し、
それに応じて外部アドレスバス22の巾を広くするだけ
でキャッシュRAMを所望の大きさにすることができる
。ここで、注意するべきことは、現代のメモリ技術はそ
れなりの適合率を生むに足りるだけの大きさをもった手
ごろな値段のダイレクトマツプキャッシュを支持してい
るが、セット結合体を加えることによってメモリを拡張
することも望まれているということである。本実施例に
よれば、これは各キャッシュセットに対してmビットを
収容するために、タグバス24の巾を拡張し、タグ比較
器14に対してセット選択ロジックを付加するだけで達
成することができる。そこで実際のデータの選択はオフ
チップ、恐らく別設指示されるまでは1つのキャッシュ
セットからデータを先ず送出することによって達成され
るが、これはオンチップで行なうのが望ましい。これは
スピード上の利益が得られるからである。仮に、オンチ
ップで行えば、データバス16は勿論それに従って拡巾
しなければならない。
第2図は、本発明に係るコンピュータアーキテクチャの
他の実施例を示すブロック図であり、この実施例では、
仮想メモリアーキテクチャを組込んでいる。即ち、アド
レス変換装置50がCPUチップ10の実行装置12と
タグ比較器14の間に挿入されている点を除くと第1図
に示す実施例とはζ同じ構成である。実行装置12はア
ドレス変換装置50に対して仮想アドレス(VA)52
を経て仮想アドレスを転送する。アドレス変換装置50
は前記仮想アドレスをm+nビット巾の実アドレスに変
換し、その中の下位nビットは外部アドレスバス22を
通ってキャッシュタグRAM26とキャッシュデータR
AM28にオフチップで転送される。高位mビットは内
部実アドレス(RA)バス54を通ってオンチップのタ
グ比較器14に転送される。このアドレス変換装置50
はページテーブル(図示せず)またはアドレス変換バッ
ファ(TLB)(図示せず)、またはこれら双方を用い
て構成してもよい。もしアドレス変換装置50に実際上
ページテーブルに対する単なるキャッシュに過ぎないア
ドレス変換バッファ(TLB)を設ける場合は、このペ
ージテーブルがオフチップで設けてもよい。
他の実施例を示すブロック図であり、この実施例では、
仮想メモリアーキテクチャを組込んでいる。即ち、アド
レス変換装置50がCPUチップ10の実行装置12と
タグ比較器14の間に挿入されている点を除くと第1図
に示す実施例とはζ同じ構成である。実行装置12はア
ドレス変換装置50に対して仮想アドレス(VA)52
を経て仮想アドレスを転送する。アドレス変換装置50
は前記仮想アドレスをm+nビット巾の実アドレスに変
換し、その中の下位nビットは外部アドレスバス22を
通ってキャッシュタグRAM26とキャッシュデータR
AM28にオフチップで転送される。高位mビットは内
部実アドレス(RA)バス54を通ってオンチップのタ
グ比較器14に転送される。このアドレス変換装置50
はページテーブル(図示せず)またはアドレス変換バッ
ファ(TLB)(図示せず)、またはこれら双方を用い
て構成してもよい。もしアドレス変換装置50に実際上
ページテーブルに対する単なるキャッシュに過ぎないア
ドレス変換バッファ(TLB)を設ける場合は、このペ
ージテーブルがオフチップで設けてもよい。
CPUチップ10上にアドレス変換装置50を集積した
本実施例を用いることによって、仮想メモリを備えてい
ない設計に対していくつかの利点を得ることができる。
本実施例を用いることによって、仮想メモリを備えてい
ない設計に対していくつかの利点を得ることができる。
即ち、アドレス変換はCPUチップ10内(オンチップ
)で行われるので、その速度は十分に速く、例えばアド
レス変換が各キャッシュメモリのアクセスに対して行わ
れたとしても、オーバヘッドを最少にすることができる
。また、命令サイクルで仮想アドレスを非常に早く発生
するよう実行装置12を設計することによって、オーバ
ヘッドを更に小さくすることが可能である。これによっ
て実アドレスキャッシュの使用が可能となり、しかも仮
想アドレスキャッシュを使用することによって発生する
問題をすべて回避することができる。更に、アドレス変
換が非常に速いから、実アドレスの高位(変換法)ビッ
トは低位(非変換)ビットの後、短時間でCPUパッケ
ージの境界に到達する。したがって、仮想メモリのペー
ジサイズよりも大きい長さのダイレクトマツプキャッシ
ュRAMを使ってもあまり不利益は発生しない。事実、
もし速かに行または列を選択する能力のあるキャッシュ
RAMを使用することによって、この不利益を排除する
ことができる。
)で行われるので、その速度は十分に速く、例えばアド
レス変換が各キャッシュメモリのアクセスに対して行わ
れたとしても、オーバヘッドを最少にすることができる
。また、命令サイクルで仮想アドレスを非常に早く発生
するよう実行装置12を設計することによって、オーバ
ヘッドを更に小さくすることが可能である。これによっ
て実アドレスキャッシュの使用が可能となり、しかも仮
想アドレスキャッシュを使用することによって発生する
問題をすべて回避することができる。更に、アドレス変
換が非常に速いから、実アドレスの高位(変換法)ビッ
トは低位(非変換)ビットの後、短時間でCPUパッケ
ージの境界に到達する。したがって、仮想メモリのペー
ジサイズよりも大きい長さのダイレクトマツプキャッシ
ュRAMを使ってもあまり不利益は発生しない。事実、
もし速かに行または列を選択する能力のあるキャッシュ
RAMを使用することによって、この不利益を排除する
ことができる。
第3図は本発明に係るコンピュータアーキテクチャの更
に他の実施例であり、この実施例では、特に命令用のメ
モリとデータメモリとを区別しているコンピュータの設
計に使用される。このような設計に対しては、2つの別
々のキャッシュをインターリーブバスと一緒に使用する
ことができ、これにより、キャッシュアクセスの帯域巾
は、効率よく2倍となり、オーバヘッドを増大させるこ
となく、2通りのセットアソシエーティブ方式の利益の
一部を得ることができる。第3図のCPUチップ10の
内部において実行装置12は、仮想アドレスバス52を
介して、命令アドレス変換装置70とデータアドレス変
換装置72の双方に接続されている。そして、命令アド
レス変換装置70はm+nビット巾の実アドレス(RI
A)バス74に接続され、データアドレス変換装置7
2は同じ巾の実データアドレス(RDA)バス76に接
続されている。実アドレスバス74の高位mビットは命
令タグ比較器78に接続され、実データアドレスバス7
6の高位mビットはデータタグ比較器80に接続されて
いる。実アドレスバス74の低位nビットと実アドレス
バス76の低位nビットは双方共外部アドレスバス22
に接続され、タグバス24のmビットは、命令タグ比較
器78とデータタグ比較器80の双方に接続されている
。CPUチップlOの外部には、1個のダイレクトマツ
プセットとしての命令用キャッシュRAM82と1個の
ダイレクトマツプセットとしてのデータ用キャッシュR
AM84が設けられている。ラッチバッファ83.85
がそれぞれ外部アドレスバス22と命令用キャッシュR
AM82との間、外部アドレスバス22とデータキャッ
シュRAM84との間に接続されている点を除いて、命
令用キャッシュRAM82及びデータ用キャッシュRA
M84は、それぞれデータバス16、タグバス24、外
部アドレスバス22に接続されている。第3図には第1
図及び第2図に示したメインメモリ制御装置30とメイ
ンメモリ34が図示されていない。
に他の実施例であり、この実施例では、特に命令用のメ
モリとデータメモリとを区別しているコンピュータの設
計に使用される。このような設計に対しては、2つの別
々のキャッシュをインターリーブバスと一緒に使用する
ことができ、これにより、キャッシュアクセスの帯域巾
は、効率よく2倍となり、オーバヘッドを増大させるこ
となく、2通りのセットアソシエーティブ方式の利益の
一部を得ることができる。第3図のCPUチップ10の
内部において実行装置12は、仮想アドレスバス52を
介して、命令アドレス変換装置70とデータアドレス変
換装置72の双方に接続されている。そして、命令アド
レス変換装置70はm+nビット巾の実アドレス(RI
A)バス74に接続され、データアドレス変換装置7
2は同じ巾の実データアドレス(RDA)バス76に接
続されている。実アドレスバス74の高位mビットは命
令タグ比較器78に接続され、実データアドレスバス7
6の高位mビットはデータタグ比較器80に接続されて
いる。実アドレスバス74の低位nビットと実アドレス
バス76の低位nビットは双方共外部アドレスバス22
に接続され、タグバス24のmビットは、命令タグ比較
器78とデータタグ比較器80の双方に接続されている
。CPUチップlOの外部には、1個のダイレクトマツ
プセットとしての命令用キャッシュRAM82と1個の
ダイレクトマツプセットとしてのデータ用キャッシュR
AM84が設けられている。ラッチバッファ83.85
がそれぞれ外部アドレスバス22と命令用キャッシュR
AM82との間、外部アドレスバス22とデータキャッ
シュRAM84との間に接続されている点を除いて、命
令用キャッシュRAM82及びデータ用キャッシュRA
M84は、それぞれデータバス16、タグバス24、外
部アドレスバス22に接続されている。第3図には第1
図及び第2図に示したメインメモリ制御装置30とメイ
ンメモリ34が図示されていない。
次に、本実施例の作用を説明するに、先ず実行装置12
によって命令アドレスが仮想アドレスバス52に与えら
れる。2相クロツクサイクル(第1表のタイムテーブル
を参照)の第1相の間に命令アドレス変換装置70は、
対応する実アドレスを演算して命令タグ比較器78と外
部アドレスバス22に与える。
によって命令アドレスが仮想アドレスバス52に与えら
れる。2相クロツクサイクル(第1表のタイムテーブル
を参照)の第1相の間に命令アドレス変換装置70は、
対応する実アドレスを演算して命令タグ比較器78と外
部アドレスバス22に与える。
(以下余白)
尚、この第1相の間に、実行装置12は仮想アドレスバ
ス52に送出するために仮想データアドレスの準備をす
る。第2相で下位nビットの実命令アドレスが命令アド
レス変換装置70から外部アドレスバス22に送られ、
ラッチバッフγ83によってラッチされる。命令用キャ
ッシュRAM82は選択されたアドレスに格納されてい
るデータ情報とタグ情報とを選択し始める。また、第2
相の間にデータアドレス変換装置72は、仮想アドレス
バス52の仮想データアドレスを変換し、実行装置12
は次の仮想命令アドレスの準備をする。第3相(第2ク
ロツクサイクルの第1相)において、命令用キャッシュ
RAM82からのデータとタグはデータバス16及びタ
グバス24に送られ、それぞれ実行装置12と命令タグ
比較器78によって使用される。また、この第3相の間
に実データアドレスの低位nビットが外部アドレスバス
22に送られラッチバッフγ85によってラッチされる
。データ用キャッシュRAM84は、選択されたアドレ
スに記憶されているデータ情報とタグ情報を選択し始め
る。命令アドレス変換装置70はまた仮想命令アドレス
を実アドレスに変換し、実行装置12は次の仮想データ
アドレスの準備をする。キャッシュアクセスは、このイ
ンターリービング法によってアクセスがキャッシュのミ
スまたは他の特別の条件によって中断されるまで継続さ
れる。このキャッシュのミスが生ずると、メインメモリ
をアクセスすることが要求される。このようにして、キ
ャッシュの読出しからのデータは、そのデータに対する
仮想アドレスが最初にオンチップで入手可能になってか
ら1.5クロツクサイクル経過するまで実行装置12に
到達しないが、キャッシュのアクセスは各クロックサイ
クル毎に2回終了する。アドレスの変換が各キャッシュ
アクセス毎に行われたとしても、これによって単一キャ
ッシュシステムに対して帯域巾が2倍になる。
ス52に送出するために仮想データアドレスの準備をす
る。第2相で下位nビットの実命令アドレスが命令アド
レス変換装置70から外部アドレスバス22に送られ、
ラッチバッフγ83によってラッチされる。命令用キャ
ッシュRAM82は選択されたアドレスに格納されてい
るデータ情報とタグ情報とを選択し始める。また、第2
相の間にデータアドレス変換装置72は、仮想アドレス
バス52の仮想データアドレスを変換し、実行装置12
は次の仮想命令アドレスの準備をする。第3相(第2ク
ロツクサイクルの第1相)において、命令用キャッシュ
RAM82からのデータとタグはデータバス16及びタ
グバス24に送られ、それぞれ実行装置12と命令タグ
比較器78によって使用される。また、この第3相の間
に実データアドレスの低位nビットが外部アドレスバス
22に送られラッチバッフγ85によってラッチされる
。データ用キャッシュRAM84は、選択されたアドレ
スに記憶されているデータ情報とタグ情報を選択し始め
る。命令アドレス変換装置70はまた仮想命令アドレス
を実アドレスに変換し、実行装置12は次の仮想データ
アドレスの準備をする。キャッシュアクセスは、このイ
ンターリービング法によってアクセスがキャッシュのミ
スまたは他の特別の条件によって中断されるまで継続さ
れる。このキャッシュのミスが生ずると、メインメモリ
をアクセスすることが要求される。このようにして、キ
ャッシュの読出しからのデータは、そのデータに対する
仮想アドレスが最初にオンチップで入手可能になってか
ら1.5クロツクサイクル経過するまで実行装置12に
到達しないが、キャッシュのアクセスは各クロックサイ
クル毎に2回終了する。アドレスの変換が各キャッシュ
アクセス毎に行われたとしても、これによって単一キャ
ッシュシステムに対して帯域巾が2倍になる。
本実施例に係るコンピュータアーキテクチャには、これ
以外にも改善と工夫を盛り込むことかできる。例えば、
命令、データアドレス変換装置70.72は小型で、実
行装置12および命令。
以外にも改善と工夫を盛り込むことかできる。例えば、
命令、データアドレス変換装置70.72は小型で、実
行装置12および命令。
タグ比較器78.80と一緒にCPUチップ10の上に
集積されているので、これらはキャッシュアクセス自体
よりもはるかに速く動作する。このことは特に1つ以上
のアドレス変換バッファ(TLB)レベルが変換過程で
使用される場合には適合する。したがって、両方のキャ
ッシュに対する変換を単一の連結型ダブルタイムアドレ
ス変換装置で行なうことが可能である。更に、外部アド
レス変換バッファ(TLB)、またはカーネルシステム
に専用の命令キャッシュ等の他の特別のキャッシュを外
部アドレス2飢タグバス24及びデータバス16に接続
することができる。これらは変換ミス、キャッシュのミ
ス、または他の特別の処理状況のためにバスが一時的に
使用されていない場合にアクセスすることができる。更
に第3図の符号83と85に示されたような外部ラッチ
バッファもまた非インターリービング型の設計に含める
ことができる。これにはキャッシュアクセス時間全体に
少しの選択を加えながら強力なアドレス駆動装置をCP
Uチップから離すという利点がある。
集積されているので、これらはキャッシュアクセス自体
よりもはるかに速く動作する。このことは特に1つ以上
のアドレス変換バッファ(TLB)レベルが変換過程で
使用される場合には適合する。したがって、両方のキャ
ッシュに対する変換を単一の連結型ダブルタイムアドレ
ス変換装置で行なうことが可能である。更に、外部アド
レス変換バッファ(TLB)、またはカーネルシステム
に専用の命令キャッシュ等の他の特別のキャッシュを外
部アドレス2飢タグバス24及びデータバス16に接続
することができる。これらは変換ミス、キャッシュのミ
ス、または他の特別の処理状況のためにバスが一時的に
使用されていない場合にアクセスすることができる。更
に第3図の符号83と85に示されたような外部ラッチ
バッファもまた非インターリービング型の設計に含める
ことができる。これにはキャッシュアクセス時間全体に
少しの選択を加えながら強力なアドレス駆動装置をCP
Uチップから離すという利点がある。
上記の説明ではアドレス発生装置と比較器ロジックは1
つのチップ上に配設され、キャッシュRAMは別に配設
されているものとして述べたが、アドレス発生装置と比
較器ロジックを同一のハイブリッドパッケージ内の別の
チップ上に配設し、キャッシュRAMを別の場所に配設
しても同じ効果が得られることが理解できる。しかしな
がら、この効果はアドレス発生装置と比較器ロジックが
1つの基板上の別々のパッケージに配設され、キャッシ
ュRAM82.84が別の基板に配設されているような
場合には適合しない。後者の場合には、1つのキャッシ
ュアーキテクチャの3つの基本構成ブロックの各々を別
々のパッケージに配設しており、これにより、このよう
な構成については、不利な状態の全てを招いている。キ
ャッシュRAMをオフチップに配設することによってす
でに得られていないこれ以上の利点をそのキャッシュR
AMをオフボードに配設することによって得られるとい
うことはない。これらをオフボードに配設することによ
って事実上性能は低下する。これは転送線に対する配慮
がより大きな役割を果すからである。
つのチップ上に配設され、キャッシュRAMは別に配設
されているものとして述べたが、アドレス発生装置と比
較器ロジックを同一のハイブリッドパッケージ内の別の
チップ上に配設し、キャッシュRAMを別の場所に配設
しても同じ効果が得られることが理解できる。しかしな
がら、この効果はアドレス発生装置と比較器ロジックが
1つの基板上の別々のパッケージに配設され、キャッシ
ュRAM82.84が別の基板に配設されているような
場合には適合しない。後者の場合には、1つのキャッシ
ュアーキテクチャの3つの基本構成ブロックの各々を別
々のパッケージに配設しており、これにより、このよう
な構成については、不利な状態の全てを招いている。キ
ャッシュRAMをオフチップに配設することによってす
でに得られていないこれ以上の利点をそのキャッシュR
AMをオフボードに配設することによって得られるとい
うことはない。これらをオフボードに配設することによ
って事実上性能は低下する。これは転送線に対する配慮
がより大きな役割を果すからである。
以上本発明は特定の実施例に関して説明したが、本発明
の範囲内で種々の変形が可能である。
の範囲内で種々の変形が可能である。
例えば、ご覧で述べている実施例では外部アドレスバス
に送られるnビットは低位アドレスビットであるが、い
ずれのグループのnビットが選択されてもよい。更に、
タグ比較器に接続されているアドレスビットとキャッシ
ュアドレスのために外部で入手可能なアドレスビットと
の間に、オーバラップを設けてもよい。後者の変形例で
は設計者またはユーザは単に2つの機能の間にオーバラ
ップビットを割当てるだけで、いくつかのキャッシュ長
さのうちの1つを選択することができる。
に送られるnビットは低位アドレスビットであるが、い
ずれのグループのnビットが選択されてもよい。更に、
タグ比較器に接続されているアドレスビットとキャッシ
ュアドレスのために外部で入手可能なアドレスビットと
の間に、オーバラップを設けてもよい。後者の変形例で
は設計者またはユーザは単に2つの機能の間にオーバラ
ップビットを割当てるだけで、いくつかのキャッシュ長
さのうちの1つを選択することができる。
また別の例として、上述のインターリービングした実施
例では、命令キャッシュとデータキャッシュを用いてい
るが、メモリアクセスのうちの非干渉ストリームのいず
れの組を適用してもよい。
例では、命令キャッシュとデータキャッシュを用いてい
るが、メモリアクセスのうちの非干渉ストリームのいず
れの組を適用してもよい。
3つ以上のキャッシュに対するインターリーブアクセス
もまた可能である。
もまた可能である。
更に他の例では、2つ以上のキャッシュのアクセスされ
た場合には、すべてが、データバス、アドレスバスまた
はタグバスの金山もしくはこれらすべてのバスの金山を
使う必要はない。
た場合には、すべてが、データバス、アドレスバスまた
はタグバスの金山もしくはこれらすべてのバスの金山を
使う必要はない。
更に別の例では、バスの巾が適当であり、外部ラッチの
使用される場合には、タグ情報は、外部アドレスバス2
2を通ってCPUチップlOに戻してもよい。上記並び
に上記以外の種々の変形例は当業者にとって自明であり
、本発明の範囲から逸脱するものではない。
使用される場合には、タグ情報は、外部アドレスバス2
2を通ってCPUチップlOに戻してもよい。上記並び
に上記以外の種々の変形例は当業者にとって自明であり
、本発明の範囲から逸脱するものではない。
(発明の効果)
本発明に係るコンピュータアーキテクチャは以上の構成
及び作用からなるもので、CPtJパッケージの境界の
交叉点を最少にすることができ、CPUパッケージに最
小限のスイッチングノイズを生ずるのみである。また、
CPUパッケージ上にタグ比較器を設けているので適合
、ミスが検出され、オンチップによるタグ情報の到着後
に、非常に速くアドレス発生装置に通知されるという効
果を奏する。
及び作用からなるもので、CPtJパッケージの境界の
交叉点を最少にすることができ、CPUパッケージに最
小限のスイッチングノイズを生ずるのみである。また、
CPUパッケージ上にタグ比較器を設けているので適合
、ミスが検出され、オンチップによるタグ情報の到着後
に、非常に速くアドレス発生装置に通知されるという効
果を奏する。
第1図は本発明に係るコンピュータアーキテクチャの一
実施例を示すブロック図、第2図は本発明に係るコンピ
ュータアーキテクチャの他の実施例を示すブロック図、
第3図は本発明に係るコンピュータアーキテクチャの更
に他の実施例を示すブロック図である。 符号の説明 10・・・CPUチップ、12・・・実行装置、14・
・・タグ比較器、26・・・キャー2ジユータグRAM
28・・・キャッシュデータRAM。 30・・・メインメモリ制御装置、 34・・・メインメモリ、50・・・アドレス変換装置
。
実施例を示すブロック図、第2図は本発明に係るコンピ
ュータアーキテクチャの他の実施例を示すブロック図、
第3図は本発明に係るコンピュータアーキテクチャの更
に他の実施例を示すブロック図である。 符号の説明 10・・・CPUチップ、12・・・実行装置、14・
・・タグ比較器、26・・・キャー2ジユータグRAM
28・・・キャッシュデータRAM。 30・・・メインメモリ制御装置、 34・・・メインメモリ、50・・・アドレス変換装置
。
Claims (10)
- (1)アドレス発生装置及びタグ比較器を有するパッケ
ージと、第1のキャッシュデータメモリ及び第1のキャ
ッシュタグメモリよりなる第1組のキャッシュメモリと
、前記第1のキャッシュデータメモリと連絡するデータ
バス手段と、前記タグ比較器及び前記第1のキャッシュ
タグメモリと連絡するタグバス手段と、前記タグ比較器
と連絡する第1群のアドレスリードと前記第1のキャッ
シュタグメモリ及び前記第1のキャッシュデータメモリ
と連絡する第2群のアドレスリードよりなるアドレスバ
ス手段と、前記第1群のアドレスリード及び前記第2群
のアドレスリードを前記アドレス発生装置と連絡する第
1の接続手段とからなり、前記第1組のキャッシュメモ
リを前記パッケージの外部に配設したことを特徴とする
コンピュータアーキテクチャ。 - (2)前記第1の接続手段は、前記アドレス発生装置と
連絡する仮想アドレス手段と、前記パッケージ内に配設
され前記仮想アドレス手段と連絡するアドレス変換装置
と、前記第1群のアドレスリード及び前記第2群のアド
レスリードを前記アドレス変換装置と連絡する第2の接
続手段とを備えたことを特徴とする特許請求の範囲第1
項記載のコンピュータアーキテクチャ。 - (3)前記第2群のアドレスリード及び前記データバス
手段は第2のキャッシュデータメモリと連絡し、該第2
のキャッシュデータメモリと第2のキャッシュタグメモ
リとで第2組のキャッシュメモリを構成し、前記第2の
キャッシュタグメモリが前記第2群のアドレスリード及
び前記タグバス手段、と連絡し、前記第2組のキャッシ
ュメモリは前記パッケージの外部に配設され、前記第2
組のキャッシュメモリに対するアクセスが前記第1組の
キャッシュメモリに対するアクセスとインターリービン
グしてなることを特徴とする特許請求の範囲第1項記載
のコンピュータアーキテクチャ。 - (4)前記第2のキャッシュデータメモリ及び前記第2
のキャッシュタグメモリを有する前記第2組のキャッシ
ュメモリは、前記第2群のアドレスリード及び前記デー
タバス手段と連絡し、前記第2のキャッシュタグメモリ
は、前記第2群のアドレスリード及び前記タグバス手段
と連絡し、前記第2組のキャッシュメモリは前記パッケ
ージの外部に配設され、前記第2組のキャッシュメモリ
に対するアクセスは前記第1組のキャッシュメモリに対
するアクセスとインターリービングしてなることを特徴
とする特許請求の範囲第2項記載のコンピュータアーキ
テクチャ。 - (5)前記第1のキャッシュタグメモリからの情報は第
1の設定時点で前記タグバス手段に送出する手段と、前
記第1のキャッシュデータメモリからの情報は前記第1
の設定手段と略同時に前記データバス手段に送出する手
段とを設けたことを特徴とする特許請求の範囲第1項記
載のコンピュータアーキテクチャ。 - (6)前記第1のキャッシュタグメモリからの情報は第
1の設定時点で前記タグバス手段に送出する手段と、前
記第1のキャッシュデータメモリからの情報は前記第1
の設定時点と略同時に前記データバス手段に送出する手
段とを設けたことを特徴とする特許請求の範囲第2項記
載のコンピュータアーキテクチャ。 - (7)前記第2群のアドレスリードのうち少なくとも1
つのリードは、変換アドレスビットを表わし、前記第2
群のアドレスリードのうち少なくも1つは非変換アドレ
スビットを表わしたことを特徴とする特許請求の範囲第
2項記載のコンピュータアーキテクチャ。 - (8)前記第2群のアドレスリードのうち少なくとも1
つのリードは、変換アドレスビットを表わし、前記第2
群のアドレスリードのうち少なくも1つは非変換アドレ
スビットを表わしたことを特徴とする特許請求の範囲第
4項記載のコンピュータアーキテクチャ。 - (9)前記アドレス変換装置は、Jリードを変換し、K
リードを非変換とし、J+Kリードよりなる仮想アドレ
スバスにおいて、nはKより大で、前記第1組のキャッ
シュメモリはダイレクトマップされていることを特徴と
する特許請求の範囲第2項記載のコンピュータアーキテ
クチャ。 - (10)前記アドレス変換装置は、Jリードを変換し、
Kリードを非変換とし、J+Kリードよりなる仮想アド
レスバスにおいて、nはKより大で、前記第1組のキャ
ッシュメモリはダイレクトマップされていることを特徴
とする特許請求の範囲第4項記載のコンピュータアーキ
テクチャ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US827269 | 1986-02-06 | ||
US06/827,269 US4953073A (en) | 1986-02-06 | 1986-02-06 | Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62184551A true JPS62184551A (ja) | 1987-08-12 |
Family
ID=25248766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61174691A Pending JPS62184551A (ja) | 1986-02-06 | 1986-07-24 | コンピユ−タア−キテクチヤ |
Country Status (13)
Country | Link |
---|---|
US (2) | US4953073A (ja) |
EP (1) | EP0231574B1 (ja) |
JP (1) | JPS62184551A (ja) |
KR (1) | KR950012733B1 (ja) |
AT (1) | ATE83567T1 (ja) |
CA (1) | CA1273715A (ja) |
DE (1) | DE3687307T2 (ja) |
DK (1) | DK59487A (ja) |
ES (1) | ES2005092A6 (ja) |
GR (1) | GR870204B (ja) |
IE (1) | IE870309L (ja) |
IL (1) | IL81238A (ja) |
NO (1) | NO870415L (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03135641A (ja) * | 1989-07-13 | 1991-06-10 | Toshiba Corp | マイクロプロセッサ |
JPH04128946A (ja) * | 1990-09-20 | 1992-04-30 | Fujitsu Ltd | アドレス変換方式 |
US6493799B2 (en) | 1996-06-13 | 2002-12-10 | Micron Technology, Inc. | Word selection logic to implement an 80 or 96-bit cache SRAM |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1575939B1 (de) * | 1967-01-21 | 1973-01-25 | Jurid Werke Gmbh | Reibbelaganordnung |
US4953073A (en) * | 1986-02-06 | 1990-08-28 | Mips Computer Systems, Inc. | Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories |
US5226147A (en) * | 1987-11-06 | 1993-07-06 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device for simple cache system |
US5067078A (en) * | 1989-04-17 | 1991-11-19 | Motorola, Inc. | Cache which provides status information |
JPH0740247B2 (ja) * | 1989-06-20 | 1995-05-01 | 松下電器産業株式会社 | キャッシュメモリ装置 |
US5077826A (en) * | 1989-08-09 | 1991-12-31 | International Business Machines Corporation | Cache performance in an information handling system employing page searching |
US5297270A (en) * | 1989-11-13 | 1994-03-22 | Zenith Data Systems Corporation | Programmable cache memory which associates each section of main memory to be cached with a status bit which enables/disables the caching accessibility of the particular section, and with the capability of functioning with memory areas of varying size |
EP0446534A3 (en) * | 1990-03-16 | 1992-08-05 | John Fluke Mfg. Co., Inc. | Method of functionally testing cache tag rams in limited-access processor systems |
US5261066A (en) * | 1990-03-27 | 1993-11-09 | Digital Equipment Corporation | Data processing system and method with small fully-associative cache and prefetch buffers |
JPH05108484A (ja) * | 1990-06-07 | 1993-04-30 | Intel Corp | キヤツシユメモリ |
US5732241A (en) * | 1990-06-27 | 1998-03-24 | Mos Electronics, Corp. | Random access cache memory controller and system |
US5276833A (en) * | 1990-07-02 | 1994-01-04 | Chips And Technologies, Inc. | Data cache management system with test mode using index registers and CAS disable and posted write disable |
US5835945A (en) * | 1990-08-06 | 1998-11-10 | Ncr Corporation | Memory system with write buffer, prefetch and internal caches |
US6275901B1 (en) * | 1990-10-09 | 2001-08-14 | Intel Corporation | Computer system having a set associative cache memory with sequentially accessed on-chip address tag array and off-chip data array |
US5412787A (en) * | 1990-11-21 | 1995-05-02 | Hewlett-Packard Company | Two-level TLB having the second level TLB implemented in cache tag RAMs |
JP2646854B2 (ja) * | 1990-12-18 | 1997-08-27 | 三菱電機株式会社 | マイクロプロセッサ |
JP2703418B2 (ja) * | 1991-04-24 | 1998-01-26 | 株式会社東芝 | 中央演算処理装置 |
EP0525308A1 (en) * | 1991-07-31 | 1993-02-03 | International Business Machines Corporation | Memory map for processor cache macro |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5353424A (en) * | 1991-11-19 | 1994-10-04 | Digital Equipment Corporation | Fast tag compare and bank select in set associative cache |
US5634027A (en) * | 1991-11-20 | 1997-05-27 | Kabushiki Kaisha Toshiba | Cache memory system for multiple processors with collectively arranged cache tag memories |
US5469555A (en) * | 1991-12-19 | 1995-11-21 | Opti, Inc. | Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system |
US5414827A (en) * | 1991-12-19 | 1995-05-09 | Opti, Inc. | Automatic cache flush |
US5276878A (en) * | 1992-10-07 | 1994-01-04 | International Business Machines Corporation | Method and system for task memory management in a multi-tasking data processing system |
US5481275A (en) | 1992-11-02 | 1996-01-02 | The 3Do Company | Resolution enhancement for video display using multi-line interpolation |
US5838389A (en) * | 1992-11-02 | 1998-11-17 | The 3Do Company | Apparatus and method for updating a CLUT during horizontal blanking |
US5572235A (en) * | 1992-11-02 | 1996-11-05 | The 3Do Company | Method and apparatus for processing image data |
US5596693A (en) * | 1992-11-02 | 1997-01-21 | The 3Do Company | Method for controlling a spryte rendering processor |
GB2273856B (en) * | 1992-12-22 | 1996-12-18 | Advanced Risc Mach Ltd | Pixel display palette |
US5752073A (en) * | 1993-01-06 | 1998-05-12 | Cagent Technologies, Inc. | Digital signal processor architecture |
GB2275119B (en) * | 1993-02-03 | 1997-05-14 | Motorola Inc | A cached processor |
US5574923A (en) * | 1993-05-10 | 1996-11-12 | Intel Corporation | Method and apparatus for performing bi-endian byte and short accesses in a single-endian microprocessor |
EP0625746A1 (de) * | 1993-05-19 | 1994-11-23 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Befehlsaufbereitungseinheit für Verarbeitungsprozessoren in Datenverarbeitungsanlagen |
US5581734A (en) * | 1993-08-02 | 1996-12-03 | International Business Machines Corporation | Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity |
US5726937A (en) * | 1994-01-31 | 1998-03-10 | Norand Corporation | Flash memory system having memory cache |
US5870599A (en) * | 1994-03-01 | 1999-02-09 | Intel Corporation | Computer system employing streaming buffer for instruction preetching |
US6129458A (en) * | 1994-03-23 | 2000-10-10 | At&T Global Information Solutions Company | Cache optimization method |
US5826052A (en) * | 1994-04-29 | 1998-10-20 | Advanced Micro Devices, Inc. | Method and apparatus for concurrent access to multiple physical caches |
US6687790B2 (en) * | 1994-08-03 | 2004-02-03 | Intel Corporation | Single bank associative cache |
US5636354A (en) * | 1994-09-06 | 1997-06-03 | Motorola Inc. | Data processor with serially accessed set associative memory cache interface and method |
WO1996012231A1 (en) | 1994-10-14 | 1996-04-25 | Silicon Graphics, Inc. | A translation buffer for detecting and preventing conflicting virtual addresses from being stored therein |
WO1996012229A1 (en) | 1994-10-14 | 1996-04-25 | Silicon Graphics, Inc. | Indexing and multiplexing of interleaved cache memory arrays |
TW358907B (en) * | 1994-11-22 | 1999-05-21 | Monolithic System Tech Inc | A computer system and a method of using a DRAM array as a next level cache memory |
US6128700A (en) | 1995-05-17 | 2000-10-03 | Monolithic System Technology, Inc. | System utilizing a DRAM array as a next level cache memory and method for operating same |
US7301541B2 (en) * | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
US5742840A (en) * | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US7483935B2 (en) * | 1995-08-16 | 2009-01-27 | Microunity Systems Engineering, Inc. | System and method to implement a matrix multiply unit of a broadband processor |
US5953241A (en) * | 1995-08-16 | 1999-09-14 | Microunity Engeering Systems, Inc. | Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction |
US6643765B1 (en) * | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US6065108A (en) * | 1996-01-24 | 2000-05-16 | Sun Microsystems Inc | Non-quick instruction accelerator including instruction identifier and data set storage and method of implementing same |
US6819325B2 (en) | 2000-03-07 | 2004-11-16 | Microsoft Corporation | API communications for vertex and pixel shaders |
US7159041B2 (en) * | 2000-03-07 | 2007-01-02 | Microsoft Corporation | Method and system for defining and controlling algorithmic elements in a graphics display system |
EP1297434B1 (en) * | 2000-06-27 | 2005-04-20 | Koninklijke Philips Electronics N.V. | Integrated circuit with flash |
FR2818145B1 (fr) * | 2000-12-18 | 2003-11-28 | Oreal | Compositions cosmetiques antisolaires a base d'un melange synergetique de filtres et utilisations |
US7023431B2 (en) * | 2001-03-01 | 2006-04-04 | Microsoft Corporation | Method and system for providing data to a graphics chip in a graphics display system |
US6828975B2 (en) * | 2001-03-01 | 2004-12-07 | Microsoft Corporation | Method and system for managing graphics objects in a graphics display system |
US6812923B2 (en) | 2001-03-01 | 2004-11-02 | Microsoft Corporation | Method and system for efficiently transferring data objects within a graphics display system |
US6874150B2 (en) | 2001-03-01 | 2005-03-29 | Microsoft Corporation | Method and system for maintaining connections between surfaces and objects in a graphics display system |
US6831635B2 (en) * | 2001-03-01 | 2004-12-14 | Microsoft Corporation | Method and system for providing a unified API for both 2D and 3D graphics objects |
US7310706B1 (en) * | 2001-06-01 | 2007-12-18 | Mips Technologies, Inc. | Random cache line refill |
US7024414B2 (en) * | 2001-08-06 | 2006-04-04 | Sensage, Inc. | Storage of row-column data |
WO2003021423A2 (en) | 2001-09-04 | 2003-03-13 | Microunity Systems Engineering, Inc. | System and method for performing multiplication |
ATE372578T1 (de) * | 2002-10-28 | 2007-09-15 | Sandisk Corp | Automatischer abnutzungsausgleich in einem nicht- flüchtigen speichersystem |
US20050182903A1 (en) * | 2004-02-12 | 2005-08-18 | Mips Technologies, Inc. | Apparatus and method for preventing duplicate matching entries in a translation lookaside buffer |
US7558939B2 (en) | 2005-03-08 | 2009-07-07 | Mips Technologies, Inc. | Three-tiered translation lookaside buffer hierarchy in a multithreading microprocessor |
EP1717708B1 (en) * | 2005-04-29 | 2010-09-01 | STMicroelectronics Srl | An improved cache memory system |
CN103399827B (zh) | 2013-07-25 | 2015-11-25 | 华为技术有限公司 | 存储装置、执行访问操作的系统和方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60122443A (ja) * | 1983-12-05 | 1985-06-29 | Mitsubishi Electric Corp | 情報処理装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
US4084230A (en) * | 1976-11-29 | 1978-04-11 | International Business Machines Corporation | Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control |
US4400774A (en) * | 1981-02-02 | 1983-08-23 | Bell Telephone Laboratories, Incorporated | Cache addressing arrangement in a computer system |
US4532587A (en) * | 1981-08-26 | 1985-07-30 | Texas Instruments Incorporated | Single chip processor connected to an external memory chip |
GB2111998A (en) * | 1981-11-25 | 1983-07-13 | Secr Defence | The preparation of adducts which may be used in the preparation of compound semiconductor materials |
CH652912A5 (de) * | 1982-02-23 | 1985-12-13 | Sulzer Ag | Den schaft einer in einen roehrenknochen einsetzbaren endoprothese zentrierende halterung. |
US4493026A (en) * | 1982-05-26 | 1985-01-08 | International Business Machines Corporation | Set associative sector cache |
US4527232A (en) * | 1982-07-02 | 1985-07-02 | Sun Microsystems, Inc. | High-speed memory and memory management system |
US4587610A (en) * | 1984-02-10 | 1986-05-06 | Prime Computer, Inc. | Address translation systems for high speed computer memories |
US4646233A (en) * | 1984-06-20 | 1987-02-24 | Weatherford James R | Physical cache unit for computer |
US4794524A (en) * | 1984-07-03 | 1988-12-27 | Zilog, Inc. | Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit |
JP2539357B2 (ja) * | 1985-03-15 | 1996-10-02 | 株式会社日立製作所 | デ−タ処理装置 |
US4821171A (en) * | 1985-05-07 | 1989-04-11 | Prime Computer, Inc. | System of selective purging of address translation in computer memories |
US4785398A (en) * | 1985-12-19 | 1988-11-15 | Honeywell Bull Inc. | Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page |
US4953073A (en) * | 1986-02-06 | 1990-08-28 | Mips Computer Systems, Inc. | Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories |
US4811209A (en) * | 1986-07-31 | 1989-03-07 | Hewlett-Packard Company | Cache memory with multiple valid bits for each data indication the validity within different contents |
US4882673A (en) * | 1987-10-02 | 1989-11-21 | Advanced Micro Devices, Inc. | Method and apparatus for testing an integrated circuit including a microprocessor and an instruction cache |
-
1986
- 1986-02-06 US US06/827,269 patent/US4953073A/en not_active Expired - Lifetime
- 1986-07-11 AT AT86305356T patent/ATE83567T1/de not_active IP Right Cessation
- 1986-07-11 EP EP86305356A patent/EP0231574B1/en not_active Expired - Lifetime
- 1986-07-11 DE DE8686305356T patent/DE3687307T2/de not_active Expired - Lifetime
- 1986-07-24 JP JP61174691A patent/JPS62184551A/ja active Pending
-
1987
- 1987-01-13 IL IL81238A patent/IL81238A/xx unknown
- 1987-02-03 NO NO870415A patent/NO870415L/no unknown
- 1987-02-05 ES ES8700269A patent/ES2005092A6/es not_active Expired
- 1987-02-05 DK DK059487A patent/DK59487A/da not_active Application Discontinuation
- 1987-02-05 IE IE870309A patent/IE870309L/xx unknown
- 1987-02-06 CA CA000529197A patent/CA1273715A/en not_active Expired - Lifetime
- 1987-02-06 KR KR1019870000943A patent/KR950012733B1/ko not_active IP Right Cessation
- 1987-02-06 GR GR870204A patent/GR870204B/el unknown
-
1990
- 1990-03-09 US US07/491,114 patent/US5113506A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60122443A (ja) * | 1983-12-05 | 1985-06-29 | Mitsubishi Electric Corp | 情報処理装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03135641A (ja) * | 1989-07-13 | 1991-06-10 | Toshiba Corp | マイクロプロセッサ |
JPH04128946A (ja) * | 1990-09-20 | 1992-04-30 | Fujitsu Ltd | アドレス変換方式 |
US6493799B2 (en) | 1996-06-13 | 2002-12-10 | Micron Technology, Inc. | Word selection logic to implement an 80 or 96-bit cache SRAM |
Also Published As
Publication number | Publication date |
---|---|
DK59487D0 (da) | 1987-02-05 |
IL81238A (en) | 1990-09-17 |
US5113506A (en) | 1992-05-12 |
GR870204B (en) | 1987-06-09 |
NO870415D0 (no) | 1987-02-03 |
CA1273715A (en) | 1990-09-04 |
KR950012733B1 (ko) | 1995-10-20 |
ATE83567T1 (de) | 1993-01-15 |
DK59487A (da) | 1987-08-07 |
DE3687307T2 (de) | 1993-04-15 |
US4953073A (en) | 1990-08-28 |
EP0231574A3 (en) | 1989-06-07 |
IL81238A0 (en) | 1987-08-31 |
IE870309L (en) | 1987-08-06 |
EP0231574A2 (en) | 1987-08-12 |
EP0231574B1 (en) | 1992-12-16 |
ES2005092A6 (es) | 1989-03-01 |
DE3687307D1 (de) | 1993-01-28 |
NO870415L (no) | 1987-08-07 |
KR870008253A (ko) | 1987-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62184551A (ja) | コンピユ−タア−キテクチヤ | |
US20210374069A1 (en) | Method, system, and apparatus for page sizing extension | |
US5412787A (en) | Two-level TLB having the second level TLB implemented in cache tag RAMs | |
US5864876A (en) | DMA device with local page table | |
US5119290A (en) | Alias address support | |
JP3666689B2 (ja) | 仮想アドレス変換方法 | |
US5678020A (en) | Memory subsystem wherein a single processor chip controls multiple cache memory chips | |
US20090187731A1 (en) | Method for Address Translation in Virtual Machines | |
EP0549321A2 (en) | Method and system for high-speed virtual-to-physical address translation and cache tag matching | |
WO1995016961A1 (en) | Split level cache | |
JPH02189659A (ja) | 仮想記憶動的アドレス変換システム | |
US4811206A (en) | Data processing system with overlapped address translation and address computation | |
JPH07120312B2 (ja) | バッファメモリ制御装置 | |
JPH05210570A (ja) | アドレス拡張をする方法及び手段 | |
US6686920B1 (en) | Optimizing the translation of virtual addresses into physical addresses using a pipeline implementation for least recently used pointer | |
US8250300B2 (en) | Cache memory system and method with improved mapping flexibility | |
JPH10283259A (ja) | 情報処理装置およびプロセッサ | |
CN116681578B (zh) | 内存管理方法、图形处理单元、存储介质、终端设备 | |
JPS5868286A (ja) | キヤツシユメモリおよびその作動方法 | |
Prete | RST cache memory design for a highly coupled multiprocessor system | |
US6301648B1 (en) | Method and apparatus for processing memory accesses utilizing a TLB | |
US6226731B1 (en) | Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array | |
JPH0594370A (ja) | コンピユータメモリシステム及び仮想メモリアドレツシング区分方法 | |
US5349652A (en) | Single chip integrated address manager with address translating unit | |
US6460117B1 (en) | Set-associative cache memory having a mechanism for migrating a most recently used set |