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
Application number
JP61174691A
Other languages
English (en)
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.)
MIPS Computer Systems Inc
Original Assignee
MIPS Computer Systems Inc
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 MIPS Computer Systems Inc filed Critical MIPS Computer Systems Inc
Publication of JPS62184551A publication Critical patent/JPS62184551A/ja
Pending 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
    • 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/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address 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を使用したコンピュータアーキテクチャに
関する。
(従来の技術)      ′ 現在、コンピュータ設計はしばしば非常に大規模なメイ
ンメモリのアドレス領域を有しており、このアドレス領
域はキャッシュメモリを介して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からのデータの書込み時には、キャッシュRA
Mまたはメインメモリのいずれか、またはその両方を更
新できるので、書込みが行われたことを表示するために
、フラグが必要であると考えられている。コンピュータ
の設計において小型で高速のキャッシュメモリを使用す
ると、大きなメインメモリの領域に対して比較的低速で
安価なRAMを使用できるので、[一時的な所在地とい
う特性」を利用することができる。
この特性は大部分のコンピュータプログラムに固有のも
のであり、そのプログラムにおいて、ある時1つのポイ
ントで参照されたメモリ箇所は、その直後に再び参照さ
れることが非常に多い。
キャッシュメモリアーキテクチャは3つの基本的な形成
ブロック、即ち3つのモジュールで構成されていると考
えることができる。この3つモジュールは、アドレス発
生装置(これはCPU全体で構成してもよい)、最近使
用されたデータを記憶するためのキャッシュデータRA
M及びキャッシュタグRAM、及び適合またはミスが発
生したかどうかを確かめるためのタグ比較器ロジックで
ある。従来のアーキテクチャでは、これらの3つのモジ
ュールは別々のチップまたは別々の基板に配設されてい
るのが典型的なものであった。
(発明が解決しようとする問題点) 斯かる従来例の場合には、下記のような問題点がある。
この問題点とは、第1に、種々のチップを一緒に接続す
るため配線の長さによって応答速度上の不利益が発生す
る。この不利益は半導体メモリおよびロジックの応答速
度が増加するにつれて一層重要になってきている。第2
に、信号がオフチップで送出されるときは、いつでも駆
動装置がその切換速度に制約をうける。これは、高速度
の電流が電源に多くの誘導性スイッチングノイズを発生
させることになるので、他の回路が前記スイッチングノ
イズに耐えられないためである。第3に、多くのチップ
が必要であるため、コストが上昇する。これは基板のス
ペースが高価であることと、多くのデバイスのコストの
合計が少数且つ高度に集積されたデバイスのコストの合
計より大きいことの双方に起因している。更に、こうし
た従来のアーキテクチャでは、キャッシュデータがデー
タバスに送られる前に、アーキテクチャがキャッシュの
適合信号を要求するように設計されていることが多かっ
た。したがって、3つの遅延時間が順番に通過して初め
てデータがデータバスに送出されることになっていた。
これらの3つの遅延時間とは、タグRAMを読み込むた
め粁必要な時間、読み込んだタグRAMを高位階層のア
ドレスと比較するために必要な時間、及びデータキャッ
シュRAMからデータバスにデータを送るために必要な
時間のことである。
最近、テキサスインスツルメンツ社、はTMS2150
と呼ばれるチップの製造を開始したが、このチップは同
一チップ上にキャッシュタグRAMとタグ比較器ロジッ
クの両方を包含している。このチップはロード著のrV
LsIチップ上のキャッシュメモリ機能」、エレクトロ
ニック7゜ゲイン1982年2月18日号、159頁に
記載されている。上記のチップは従来の装置におけるチ
ップ境界の交叉点のいくつかを減少せしめているが、ま
だ十分ではない。全メモリアドレスがなお上記チップに
送出しなければならず、これは各ビットに対して潜在的
に破壊性のある駆動装置を必要としている。更に上記文
献の第5図に示されているように、このアーキテクチャ
は、依然としてキャッシュデータRAMからのデータが
上記チップによって一致が検出された後でなければデー
タバスに送出されないことを示している。
また上述した3つのモジュールのすべてが同一のチップ
上に集積されていることがまた示唆されている。これは
、例えば、グツドマン著「プロセッサメモリの通信量を
減少するためのキャッシュメモリの使用」、コンピュー
タアーキテクチャに関する第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)である。
メモリ管理装置(ICAMMU)は、キャッシュRAM
、タグ比較器、及びアドレス変換バッファ(下記に述べ
る)を1つのチップ上に集積している。これはまたCP
Uのプログラムカウンタのコピーも集積している。その
結果、命令アドレス情報は分岐したプログラム上でのみ
メモリ管理装置(ICAMMU)に転送される必要があ
る。このクリッパ装置はアドレス発生装置(プログラム
カウンタのコピー)がキャッシュRAMとタグ比較器と
同じチップ上にあるという点で完苓集精によるアプロー
チと同じである。しかし、キャッシュRAMをそれらと
同様に大きくするためには、CPUをオフチップに移動
しなければならない。したがって枝分れの発生する都度
、全ての仮想アドレスがCPUからメモリ管理装置(I
CAMMU)へチップの境界を横切らなければならない
。更に、完全集積によるアプローチの場合のようにクリ
ッパチップを使用する設計者はコンピュータの設計周期
の間にメモリ技術に起こる進歩を利用することができな
い。
もし、コンピュータが仮想メモリの能力を有していれば
、リード/ライトのサイクル時間は更に増加する。この
ようなコンピュータでは、多数の異なったタスクの各々
はあたかも他のタスクが存在しないかのようにメモリを
アドレスする。これを実現するために゛はメインメモリ
はブロック、すなわちrページ」に分割され、それらの
1つ以上がある所定の時点における各々のタスクに割当
てなければならない。そして、一つのタスクが「仮想」
のメモリアドレスを参照する場合、そのアドレスは、メ
インメモリの適当なページで実アドレスに変換されねば
ならない。この場合、仮想アドレスの高位ビットのみが
変換されなければならない。というのは、下位ビットは
各ページとも同じであるからである。したがって、代表
的なページの大きさは4にバイトであるから、仮想アド
レスの下位にビット以外のすべてのビットが各メインメ
モリのアクセスに対して通常変換されなければならない
前記仮想メモリの能力は、数種類の構成のうちのいずれ
においてもキャッシュシステムで実行することができる
が、それらのうちのいずれも全く満足できるものではな
い。第1の構成として、アドレス変換装置(ATU)は
、アドレス発生装置とキャッシュメモリとの間に配設さ
れている。この構成では、大きなオーバヘッドが生ずる
が、これはキャッシュメモリに対するすべてのアクセス
がアドレス変換装置を通過する時間だけ遅延するためで
ある。第2の構成としては、キャッシュメモリの長さを
仮想ページの長さと等しくまたはそれ以下にすることで
ある。そうすれば、変換されていない下位のアドレスビ
ットだけをアドレスする必要がある。上述したクリッパ
チップセットはこの構成を使用している。しかしながら
、これは通常キャッシュメモリの長さを非常に短かいも
のに制限するので、合理的な適合率を得ることができな
い。このキャッシュメモリのサイズの制約はセットアソ
シエーディブ方式(2つ以上の平行なタグ/データRA
Mの組)をキャツシュRAM構成に加えることによって
克服することができる。
しかしながら、このためにはセット選択ロジックがタグ
比較器ロジックに加えられ、一度一致が検出された場合
に、いずれのキャッシュデータRAMがデータバスにて
送られるのかを決定することが必要である。これによっ
て追加されるロジック層が更に性能を低下させる。
第3の構成としては、長くてダイレクトマツプ(単一に
セット)されたキャッシュメモリを使い、メインメモリ
をアクセスする必要のあるときだけアドレスを実アドレ
スに変換するものである。しかし、これは全体の効率を
低下させるという別の問題が生ずる。
この問題は、第1にタスクが数多くある状態で、すべて
のタスクが重複したグループの仮想アドレスをアドレス
指定する。もっともこれらのアドレスは通常は各タスク
に対して異なった実アドレスに対応している。ここでは
所在地の原理が各タスク個々に依然として該当している
。しかし、この原理は一緒に動作しているすべてのタス
クには該当しない。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と接続されている。
次に本実施例の作用を説明すると、実行装置12は内部
アドレスバス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
に取込まれる。
キャッシュタグRAM26及びキャッシュデータRAM
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
に最小限の誘導性スイッチングノイズを生ずるのみであ
る。ここで、内部配線は、転送線における遅延を減少さ
せるためにできるだけ短くしてもよい。更にチップのカ
ウントは非常に低く保たれている。
第2に、第1図の構成はCPUチップ10上にタグ比較
器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の出力は高いファン・アウト出力ではないので
電源に対して非常に高いスイッチングノイズが発生する
ことはない。
第4に第1図に示す構成は完全集積型の設計及びテキサ
スインスツルメンツ社製の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)を設ける場合は、このペ
ージテーブルがオフチップで設けてもよい。
CPUチップ10上にアドレス変換装置50を集積した
本実施例を用いることによって、仮想メモリを備えてい
ない設計に対していくつかの利点を得ることができる。
即ち、アドレス変換はCPUチップ10内(オンチップ
)で行われるので、その速度は十分に速く、例えばアド
レス変換が各キャッシュメモリのアクセスに対して行わ
れたとしても、オーバヘッドを最少にすることができる
。また、命令サイクルで仮想アドレスを非常に早く発生
するよう実行装置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が図示されていない。
次に、本実施例の作用を説明するに、先ず実行装置12
によって命令アドレスが仮想アドレスバス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倍になる。
本実施例に係るコンピュータアーキテクチャには、これ
以外にも改善と工夫を盛り込むことかできる。例えば、
命令、データアドレス変換装置70.72は小型で、実
行装置12および命令。
タグ比較器78.80と一緒にCPUチップ10の上に
集積されているので、これらはキャッシュアクセス自体
よりもはるかに速く動作する。このことは特に1つ以上
のアドレス変換バッファ(TLB)レベルが変換過程で
使用される場合には適合する。したがって、両方のキャ
ッシュに対する変換を単一の連結型ダブルタイムアドレ
ス変換装置で行なうことが可能である。更に、外部アド
レス変換バッファ(TLB)、またはカーネルシステム
に専用の命令キャッシュ等の他の特別のキャッシュを外
部アドレス2飢タグバス24及びデータバス16に接続
することができる。これらは変換ミス、キャッシュのミ
ス、または他の特別の処理状況のためにバスが一時的に
使用されていない場合にアクセスすることができる。更
に第3図の符号83と85に示されたような外部ラッチ
バッファもまた非インターリービング型の設計に含める
ことができる。これにはキャッシュアクセス時間全体に
少しの選択を加えながら強力なアドレス駆動装置をCP
Uチップから離すという利点がある。
上記の説明ではアドレス発生装置と比較器ロジックは1
つのチップ上に配設され、キャッシュRAMは別に配設
されているものとして述べたが、アドレス発生装置と比
較器ロジックを同一のハイブリッドパッケージ内の別の
チップ上に配設し、キャッシュRAMを別の場所に配設
しても同じ効果が得られることが理解できる。しかしな
がら、この効果はアドレス発生装置と比較器ロジックが
1つの基板上の別々のパッケージに配設され、キャッシ
ュRAM82.84が別の基板に配設されているような
場合には適合しない。後者の場合には、1つのキャッシ
ュアーキテクチャの3つの基本構成ブロックの各々を別
々のパッケージに配設しており、これにより、このよう
な構成については、不利な状態の全てを招いている。キ
ャッシュRAMをオフチップに配設することによってす
でに得られていないこれ以上の利点をそのキャッシュR
AMをオフボードに配設することによって得られるとい
うことはない。これらをオフボードに配設することによ
って事実上性能は低下する。これは転送線に対する配慮
がより大きな役割を果すからである。
以上本発明は特定の実施例に関して説明したが、本発明
の範囲内で種々の変形が可能である。
例えば、ご覧で述べている実施例では外部アドレスバス
に送られるnビットは低位アドレスビットであるが、い
ずれのグループのnビットが選択されてもよい。更に、
タグ比較器に接続されているアドレスビットとキャッシ
ュアドレスのために外部で入手可能なアドレスビットと
の間に、オーバラップを設けてもよい。後者の変形例で
は設計者またはユーザは単に2つの機能の間にオーバラ
ップビットを割当てるだけで、いくつかのキャッシュ長
さのうちの1つを選択することができる。
また別の例として、上述のインターリービングした実施
例では、命令キャッシュとデータキャッシュを用いてい
るが、メモリアクセスのうちの非干渉ストリームのいず
れの組を適用してもよい。
3つ以上のキャッシュに対するインターリーブアクセス
もまた可能である。
更に他の例では、2つ以上のキャッシュのアクセスされ
た場合には、すべてが、データバス、アドレスバスまた
はタグバスの金山もしくはこれらすべてのバスの金山を
使う必要はない。
更に別の例では、バスの巾が適当であり、外部ラッチの
使用される場合には、タグ情報は、外部アドレスバス2
2を通ってCPUチップlOに戻してもよい。上記並び
に上記以外の種々の変形例は当業者にとって自明であり
、本発明の範囲から逸脱するものではない。
(発明の効果) 本発明に係るコンピュータアーキテクチャは以上の構成
及び作用からなるもので、CPtJパッケージの境界の
交叉点を最少にすることができ、CPUパッケージに最
小限のスイッチングノイズを生ずるのみである。また、
CPUパッケージ上にタグ比較器を設けているので適合
、ミスが検出され、オンチップによるタグ情報の到着後
に、非常に速くアドレス発生装置に通知されるという効
果を奏する。
【図面の簡単な説明】
第1図は本発明に係るコンピュータアーキテクチャの一
実施例を示すブロック図、第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のキャッ
    シュタグメモリ及び前記第1のキャッシュデータメモリ
    と連絡する第2群のアドレスリードよりなるアドレスバ
    ス手段と、前記第1群のアドレスリード及び前記第2群
    のアドレスリードを前記アドレス発生装置と連絡する第
    1の接続手段とからなり、前記第1組のキャッシュメモ
    リを前記パッケージの外部に配設したことを特徴とする
    コンピュータアーキテクチャ。
  2. (2)前記第1の接続手段は、前記アドレス発生装置と
    連絡する仮想アドレス手段と、前記パッケージ内に配設
    され前記仮想アドレス手段と連絡するアドレス変換装置
    と、前記第1群のアドレスリード及び前記第2群のアド
    レスリードを前記アドレス変換装置と連絡する第2の接
    続手段とを備えたことを特徴とする特許請求の範囲第1
    項記載のコンピュータアーキテクチャ。
  3. (3)前記第2群のアドレスリード及び前記データバス
    手段は第2のキャッシュデータメモリと連絡し、該第2
    のキャッシュデータメモリと第2のキャッシュタグメモ
    リとで第2組のキャッシュメモリを構成し、前記第2の
    キャッシュタグメモリが前記第2群のアドレスリード及
    び前記タグバス手段、と連絡し、前記第2組のキャッシ
    ュメモリは前記パッケージの外部に配設され、前記第2
    組のキャッシュメモリに対するアクセスが前記第1組の
    キャッシュメモリに対するアクセスとインターリービン
    グしてなることを特徴とする特許請求の範囲第1項記載
    のコンピュータアーキテクチャ。
  4. (4)前記第2のキャッシュデータメモリ及び前記第2
    のキャッシュタグメモリを有する前記第2組のキャッシ
    ュメモリは、前記第2群のアドレスリード及び前記デー
    タバス手段と連絡し、前記第2のキャッシュタグメモリ
    は、前記第2群のアドレスリード及び前記タグバス手段
    と連絡し、前記第2組のキャッシュメモリは前記パッケ
    ージの外部に配設され、前記第2組のキャッシュメモリ
    に対するアクセスは前記第1組のキャッシュメモリに対
    するアクセスとインターリービングしてなることを特徴
    とする特許請求の範囲第2項記載のコンピュータアーキ
    テクチャ。
  5. (5)前記第1のキャッシュタグメモリからの情報は第
    1の設定時点で前記タグバス手段に送出する手段と、前
    記第1のキャッシュデータメモリからの情報は前記第1
    の設定手段と略同時に前記データバス手段に送出する手
    段とを設けたことを特徴とする特許請求の範囲第1項記
    載のコンピュータアーキテクチャ。
  6. (6)前記第1のキャッシュタグメモリからの情報は第
    1の設定時点で前記タグバス手段に送出する手段と、前
    記第1のキャッシュデータメモリからの情報は前記第1
    の設定時点と略同時に前記データバス手段に送出する手
    段とを設けたことを特徴とする特許請求の範囲第2項記
    載のコンピュータアーキテクチャ。
  7. (7)前記第2群のアドレスリードのうち少なくとも1
    つのリードは、変換アドレスビットを表わし、前記第2
    群のアドレスリードのうち少なくも1つは非変換アドレ
    スビットを表わしたことを特徴とする特許請求の範囲第
    2項記載のコンピュータアーキテクチャ。
  8. (8)前記第2群のアドレスリードのうち少なくとも1
    つのリードは、変換アドレスビットを表わし、前記第2
    群のアドレスリードのうち少なくも1つは非変換アドレ
    スビットを表わしたことを特徴とする特許請求の範囲第
    4項記載のコンピュータアーキテクチャ。
  9. (9)前記アドレス変換装置は、Jリードを変換し、K
    リードを非変換とし、J+Kリードよりなる仮想アドレ
    スバスにおいて、nはKより大で、前記第1組のキャッ
    シュメモリはダイレクトマップされていることを特徴と
    する特許請求の範囲第2項記載のコンピュータアーキテ
    クチャ。
  10. (10)前記アドレス変換装置は、Jリードを変換し、
    Kリードを非変換とし、J+Kリードよりなる仮想アド
    レスバスにおいて、nはKより大で、前記第1組のキャ
    ッシュメモリはダイレクトマップされていることを特徴
    とする特許請求の範囲第4項記載のコンピュータアーキ
    テクチャ。
JP61174691A 1986-02-06 1986-07-24 コンピユ−タア−キテクチヤ Pending JPS62184551A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60122443A (ja) * 1983-12-05 1985-06-29 Mitsubishi Electric Corp 情報処理装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60122443A (ja) * 1983-12-05 1985-06-29 Mitsubishi Electric Corp 情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
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