JPH0836525A - 多重アクセスキャッシュ記憶装置 - Google Patents

多重アクセスキャッシュ記憶装置

Info

Publication number
JPH0836525A
JPH0836525A JP6169416A JP16941694A JPH0836525A JP H0836525 A JPH0836525 A JP H0836525A JP 6169416 A JP6169416 A JP 6169416A JP 16941694 A JP16941694 A JP 16941694A JP H0836525 A JPH0836525 A JP H0836525A
Authority
JP
Japan
Prior art keywords
data
memory
address
memories
instructions
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
JP6169416A
Other languages
English (en)
Inventor
Osamu Nishii
修 西井
Tetsuhiko Okada
哲彦 岡田
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 JP6169416A priority Critical patent/JPH0836525A/ja
Publication of JPH0836525A publication Critical patent/JPH0836525A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 面積を増加させることなく、2つ以上のデー
タ転送命令による、データの書き込み・読み出しを、同
時に実行することが可能なキャッシュ記憶装置を提供す
ること。 【構成】 それぞれ独立してアクセス可能な複数個のタ
グメモリと、それぞれ独立してアクセス可能な複数個の
データメモリと、複数のデータ転送命令のアクセスアド
レスから、前記複数のデータ転送命令が同時にアクセス
可能どうかを判定するアドレス判定回路と、前記アドレ
ス判定回路の判定結果に基づき、前記各メモリをそれぞ
れ独立して制御して、2つ以上のデータ転送命令によ
る、データの書き込み・読み出しを、同時に実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサ、
汎用計算機等に使用されるキャッシュ記憶装置に係わ
り、特に、複数のデータ転送命令により、データの書き
込み・読み出しを同時に実行することが可能な多重アク
セスキャッシュ記憶装置に関する。
【0002】
【従来の技術】データ転送命令であるロード命令・スト
ア命令は、RISC型命令セットプロセッサに共通した
命令であり、ロード命令とは、主記憶に格納されたデー
タをプロセッサのマシンレジスタに転送する命令であ
り、ストア命令は、その反対にプロセッサのマシンレジ
スタに格納されたデータを主記憶に転送する命令であ
る。
【0003】ロード・ストア命令は、主記憶上の変数を
参照、更新するための基本的命令である。
【0004】RISC以外の命令セット、例えば、CI
SC命令でも、主記憶に格納されたデータをマシンレジ
スタに転送する、また、マシンレジスタに格納されたデ
ータを主記憶に転送する動作があり、あるいは、その転
送の際に演算を行うものもあるが、これらの動作もデー
タアクセスが行われるという観点からはロード・ストア
命令と同様であり、それらも本明細書中ではロード・ス
トア命令と称する。
【0005】データキャッシュを有するプロセッサの場
合、キャッシュがヒットする限りには主記憶のアクセス
はキャッシュメモリのアクセスによって代用して達成さ
れる。
【0006】その場合、ロード命令のデータ転送は、物
理的にはデータキャッシュからマシンレジスタへのデー
タ転送となり、ストア命令のデータ転送は、物理的には
マシンレジスタからデータキャッシュへのデータ転送と
なる。
【0007】一方、スーパースカラ型プロセッサとは、
1クロックサイクル当り複数の命令を実行するために、
命令処理ハードウェア(例えば演算器)を、1クロック
サイクル当り1命令を処理する場合と比較して多重に備
え、その多重のハードウェアを並列に実行させるプロセ
ッサ装置のことをいう。
【0008】スーパースカラ型プロセッサに関する従来
技術の一例が、1992年2月開催の1992 IEEE / Inte
rnational Solid-state Circuits Conference (ISSCC),
スライド集 (Slide Supplement), pp. 74, 75, 212、
タイトル ”A Three-Million-Transistor Microprocess
or” に記載されている。
【0009】当該文献の第4、第5のスライドでは、3
個の命令が並列に処理される様子が図示されている。
【0010】ただし、このプロセッサでは、1クロック
あたりに同時に実行できるロード・ストア命令は最大1
個であり、該文献の第4、第5のスライドでも1クロッ
クに複数のロード・ストア命令が実行されるケ−スは見
当たらない。
【0011】また、スーパースカラ型プロセッサに関す
る従来技術の他の例が、1994年2月開催の1994 IEE
E / International Solid-state Circuits Conference
(ISSCC)論文集 pp.204, 205, 339, タイトル "A 300MIP
S, 300MFLOPS Four-Issue CMOS Superscalar Microproc
essor" に記載されている(以下、本文献を、文献[I
SSCC94]と称す)。
【0012】当該文献[ISSCC94]によれば、1
クロックあたりに2個のロード・ストア命令が実行可能
である。
【0013】また、当該文献[ISSCC94]によれ
ば、2個のロード・ストア命令を並列に実行するために
2ポートメモリセルがデータキャッシュに使用されてい
る(文献[ISSCC94]、右段25行目,”dua
l−ported”参照)。
【0014】2ポートメモリセルとは、1ポートメモリ
セルと比較してワード線、データ線をそれぞれ2重に有
するメモリセルのことをいい、同時に2つのアドレスの
アクセスができることが特徴である。
【0015】同様にして、3ポート以上のメモリが実現
可能であることも、従来から知られている。
【0016】また、スーパースカラ型プロセッサに関す
る従来技術の他の例が、1992年8月に米国スタンフ
ォード大学で開催された”Hot Chips IV” (第4回ホ
ットチップス)論文集内の ”SuperScalar Architectur
e of the P5, Intel's NextGeneration Microprocesso
r” に記載されている(以下、本文献を、文献[HOT
92]と称す)。
【0017】当該文献[HOT92]の4ページ目に
は、”Dual−Access Data Cach
e”なる図面があり、2ポートのキャッシュタグ、1ポ
ートのキャッシュデータの図が記載されており、そのキ
ャッシュによって、Uパイプ、Vパイプからの2つのロ
ード・ストアアクセスを並列して達成していると推測で
きる。
【0018】また、同図の中には、”Bank Con
flict Detect”回路の出力が1ポートのキ
ャッシュデータに至っている。
【0019】このことより、2つのロード・ストアアク
セスを行う際に複数のバンクに対して独立したアクセス
を行うと推測できる。
【0020】具体的に例示すると、データキャッシュが
2バンクに分けられており、2バンクに分けられたデー
タキャッシュをバンク0、バンク1と呼ぶことにする
と、Uパイプが発するロード・ストア要求をバンク0
に、Vパイプが発するロード・ストア要求をバンク1に
割り当てることによって2つのロード・ストアアクセス
を行うことである。
【0021】しかしながら、前記文献[HOT92]で
は、バンクに分けられているのはキャッシュデータのみ
であり、キャッシュタグ部分のメモリはバンクに分けら
れていない。
【0022】また、2つのロード・ストアアクセスを並
列に受理するため、キャッシュタグ部分のメモリに2ポ
ートメモリが必要になっていると推測できる。
【0023】一方、バンク分けされたキャッシュメモリ
に関する従来技術の一例が、1991年10月開催の19
91 IEEE International Conference on Computer Desig
n論文集, pp.128-131, タイトル ”On-chip Multiple S
uperscalar Processors with Secondary Cache Memorie
s” に記載されている。
【0024】当該文献には、2個のプロセッサ、および
バンク分けされた複数の2次キャッシュメモリ(Fi
g.2のSC0,...,SC3)が記載されている。
【0025】当該文献のFig.3に示されるタイミン
グ図では、SC0,SC1,SC2が時間的にオーバー
ラップしてアクセスされているが、それらの間のスター
ト時間は最低1クロックずれている。
【0026】また、この2次キャッシュメモリは、1次
キャッシュメモリ(Fig.1のIC1,DC1,IC
2,DC2)のキャッシュミスの際のブロック置換処理
に用いられているのみであり、プロセッサのキャッシュ
ヒットの場合に機能しない。
【0027】また、当該文献では1つのプロセッサ(正
確には1つの命令流を処理する装置)から1クロックあ
たりに2個のロード・ストア命令が実行可能とはなって
いない。
【0028】
【発明が解決しようとする課題】前記文献[ISSCC
94]および文献[HOT92]では、アドレスアレ
イ、データアレイのいずれか一方に、複数ポートセル
(2ポートセル、3ポートセル、...)を用いるた
め、メモリセルの1ビット当たりの面積が大きくなると
いう問題点があった。
【0029】さらに、前記文献のアイディアの延長線上
では、1クロックに3個のロード・ストア命令を並列に
実行するために3ポートメモリセルが必要となる。
【0030】しかし、2ポートセルを3ポートセルにす
るのは、メモリセルのうち配線に依存する部分の面積は
ポート数の2乗に比例するため、面積制約の点から一層
困難であるという問題点があった。
【0031】本発明は、前記従来技術の問題点を解決す
るためになされたものであり、本発明の目的は、キャッ
シュ記憶装置において、面積を増加させることなく、2
つ以上のデータ転送命令による、データの書き込み・読
み出しを、1つのクロックで同時に実行することが可能
となる技術を提供することにある。
【0032】本発明の前記目的並びにその他の目的及び
新規な特徴は、本明細書の記載及び添付図面によって明
らかにする。
【0033】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものによって得られる効果を簡単に
説明すれば、下記の通りである。
【0034】(1)複数のデータ転送命令による、デー
タの書き込み・読み出しを同時に実行することが可能な
多重アクセスキャッシュ記憶装置であって、それぞれ独
立してアクセス可能な複数個のタグメモリと、それぞれ
独立してアクセス可能な複数個のデータメモリと、前記
複数のデータ転送命令に基づく書き込みデータを、対応
するデータメモリに転送する第1の手段と、前記複数個
のデータメモリから読み出したデータを、前記複数のデ
ータ転送命令に基づく読み出しデータとして転送する第
2の手段と、前記複数のデータ転送命令のアクセスアド
レスが入力され、前記複数のデータ転送命令が同時にア
クセス可能どうかを判定するアドレス判定回路と、前記
アドレス判定回路の判定結果に基づき、前記各メモリ、
各手段を制御する制御回路とを具備することを特徴とす
る。
【0035】(2)前記(1)の手段において、前記そ
れぞれ独立してアクセス可能な複数個のタグメモリが、
複数個のタグメモリと、データ転送命令のアクセスアド
レスの一部であるキャッシュラインアドレスの1つを、
前記複数のデータ転送命令のキャッシュラインアドレス
の中から選択してタグメモリに入力する、複数個のタグ
メモリ毎に設けられ複数個のタグメモリに対して別個な
セレクト結果を達成する複数個のキャッシュラインセレ
クタとから構成され、前記それぞれ独立してアクセス可
能な複数個のデータメモリが、複数個のデータメモリ
と、データ転送命令のアクセスアドレスの一部であるワ
ードアドレスの1つを、前記複数のデータ転送命令のワ
ードアドレスの中から選択してデータメモリに入力す
る、複数個のデータメモリ毎に設けられ複数個のデータ
メモリに対して別個なセレクト結果を達成する複数個の
ワードセレクタとから構成され、前記制御回路が、前記
アドレス判定回路の判定結果に基づき、前記各メモリ、
各セレクタ、および、各手段を制御することを特徴とす
る。
【0036】(3)前記(1)または(2)の手段にお
いて、前記複数個のタグメモリが、1個のタグメモリが
分割されて構成され、前記複数個のデータメモリが、1
個のデータメモリが分割されて構成されることを特徴と
する。
【0037】
【作用】前記手段によれば、キャッシュ記憶装置におい
て、それぞれ独立してアクセスされるタグメモリとデー
タメモリとを複数個設け、また、複数のデータ転送命令
のアクセスアドレスに基づき、前記複数のデータ転送命
令が同時にアクセス可能どうかを判定する。
【0038】そして、前記判定結果に基づいてタグメモ
リとデータメモリとを制御するようにしたので、複数の
データ転送命令に基づくデータの書き込み・読み出し
を、面積を増加させることなく、1クロックで同時に実
行することが可能となる。
【0039】さらに、1つのタグメモリとデータメモリ
とを分割して、それぞれ独立にアクセスされるタグメモ
リとデータメモリとを構成するようにしたので、面積を
さらに低減させることが可能となる。
【0040】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
【0041】なお、実施例を説明するための全図におい
て、同一機能を有するものは同一符号を付け、その繰り
返しの説明は省略する。
【0042】図1は、本発明の一実施例である多重アク
セスキャッシュ記憶装置のデータアレイ部の概略構成を
示すブロック図である。
【0043】図1において、100はデータアレイ部、
101,111,121,131はデータメモリ、10
2,112,122,132はデータメモリの64ビッ
トの書き込みデータ103,113,123,133は
データメモリの64ビットの読み出しデータ、104,
114,124,134は8ビットのデータメモリのワ
ードアドレス、105,115,125,135は3入
力セレクタ、141,142,143は第1,第2,第
3のロード・ストア命令のワードアドレス、144,1
45,146は第1,第2,第3のストア命令のストア
データ、147,148,149は第1,第2,第3の
ロード命令のロードデータ、150はストアデータの位
置合わせ器、151はロードデータの位置合わせ器であ
る。
【0044】データメモリ101は、2キロバイトの容
量を有し、256ワード×64ビットの物理的構成を有
している。
【0045】また、8ビットのアドレス104は256
ワードに対応している(2の8乗=256)。
【0046】さらに、本実施例の多重アクセスキャッシ
ュ記憶装置のライン長は32バイトである。
【0047】データメモリ101,111,121,1
31の動作は、次のいずれかである。
【0048】(1)リード動作 ワードアドレス104,114,124,134で指示
されたワード64ビットのデータを読み出しデータ10
3,113,123,133として出力する。
【0049】(2)ライト動作 書き込みデータ102,112,122,132を、ワ
ードアドレス104,114,124,134で指示さ
れたワードに書き込む。
【0050】本実施例の多重アクセスキャッシュ記憶装
置では、データメモリ101はA(6:5)=’00’
なるデータの格納に、データメモリ111はA(6:
5)=’01’なるデータの格納に、データメモリ12
1はA(6:5)=’10’なるデータの格納に、デー
タメモリ131はA(6:5)=’11’なるデータの
格納に用いられる。
【0051】ここで、A(i:j)はアドレスの第iビ
ットから第jビットまでの束線集合をさすものとし、ま
た、A(0)がLSBを示すものとする。
【0052】また、ロード・ストア命令のワードアドレ
ス141には、第1の命令実行順序のアクセスアドレス
のワードアドレスが、ロード・ストア命令のワードアド
レス142には、第2の命令実行順序のアクセスアドレ
スのワードアドレスが、ロード・ストア命令のワードア
ドレス143には、第3の命令実行順序のアクセスアド
レスのワードアドレスが供給される。
【0053】3入力セレクタ105,115,125,
135は、いずれもロード・ストア命令のワードアドレ
ス141,142,143のうちの1つを選択するが、
その選択のしかたは、3入力セレクタ105,115,
125,135の4個がそれぞれ独立して行うことがで
きる。
【0054】第1,第2,第3のストア命令のストアデ
ータ144,145,146は、ストアデータの位置合
わせ器150を経由して、データメモリ101,11
1,121,131の書き込みデータ102、112、
122、132として出力される。
【0055】データメモリ101,111,121,1
31の読み出しデータ103,113,123,133
は、ロードデータの位置合わせ器151を経由して、第
1,第2,第3のロード命令のロードデータ147,1
48,149として出力される。
【0056】図2は、本発明の一実施例である多重アク
セスキャッシュ記憶装置のアドレスアレイ(タグメモ
リ)部の概略構成を示すブロック図である。
【0057】図2において、200はアドレスアレイ
部、201,211,221,231はタグを格納する
タグメモリ、202,212,222,232はフラグ
を格納するフラグメモリ、203,213,223,2
33は3入力セレクタ、204,214,224,23
4は一致比較器、205,215,225,235はア
ドレス変換機構が発生する物理アドレス、206,21
6,226,236はキャッシュラインアドレス、20
7,217,227,237はタグメモリの読み出しデ
ータ、208,218,228,238はフラグメモリ
の読み出しデータ、209,219,229,239は
ヒット判定結果、241,242,243はロード・ス
トア命令のキャッシュラインアドレスである。
【0058】本実施例のアドレスアレイ部200は、4
バンクのメモリを有している。
【0059】以下、1つのバンクについて説明する。
【0060】3入力セレクタ203は、第1,第2,第
3のキャッシュラインアドレス241、242、243
(それぞれ命令実行順序の第1、第2、第3に対応す
る)のうちの1つのキャッシュラインアドレスを選択す
る。
【0061】選択されたキャッシュラインアドレスによ
って、タグメモリ201、フラグメモリ202の中の1
つのラインがアクセスされる。
【0062】タグメモリの読み出しデータ207と、ア
ドレス変換機構(論理アドレスを物理アドレスに変換す
る装置)からの物理アドレス205とは、一致比較器2
04に転送され、比較される。
【0063】タグメモリの読み出しデータ207と、物
理アドレス205とが一致した場合に、キャッシュヒッ
トとなり、そのヒット判定結果209は命令制御部(図
示されない)へ送られる。
【0064】また、フラグメモリの読み出しデータ20
8も、命令制御部へ送られる。
【0065】図3は、本実施例の多重アクセスキャッシ
ュ記憶装置において、3つのロード・ストア命令が並列
に処理される場合のタイミングを示すタイミング図であ
る。
【0066】図3において、横方向は時間を示し(右向
きが正)、また、縦方向は命令の実行順序を示してい
る。
【0067】301〜309は、32ビット固定長の命
令を示す。
【0068】図3示すように、3命令301,302,
303は、同一のクロックサイクルで処理されている。
【0069】また同様に、3命令304,305,30
6、および、3命令307,308,309も同一のク
ロックサイクルで処理されている。
【0070】304,305,306はそれぞれ64ビ
ットのロード命令であり、それぞれの命令の動作は以下
の通りである。
【0071】(4)命令304 論理アドレス0x3F20を先頭番地とする64ビット
のデータを、FPR10に転送する。
【0072】(5)命令305 論理アドレス0xC478を先頭番地とする64ビット
のデータを、レジスタFPR11に転送する。
【0073】(6)命令306 論理アドレス0x3F10を先頭番地とする64ビット
のデータを、レジスタFPR12に転送する。
【0074】ここで、0xは16進数を示す。
【0075】FPR10、11、12とはプロセッサの
マシンレジスタの名前である。
【0076】なお、本実施例の多重アクセスキャッシュ
記憶装置例では、説明の簡単のため論理アドレス=物理
アドレスなるマッピング(対応づけ)がなされているも
のとする。
【0077】3つの命令304,305,306のアド
レスフィールド(6:5)はそれぞれ’01’,’1
1’,’00’なので、この場合には並列に実行可能で
ある。
【0078】310〜314は、それぞれ3つの命令3
04,305,306の令処理のパイプラインステージ
を示す。
【0079】ステージ313でロード命令のデータ参照
が行われる。
【0080】ステージ313で、命令304の実行のた
めにデータメモリ111が、命令305の実行のために
データメモリ131が、命令306の実行のためにデー
タメモリ101が、それぞれアクセスされている。
【0081】以上の動作を成立させるためにステージ3
13の開始時刻には次のようなアドレス選択が行われて
いる。
【0082】セレクタ105は命令306に対応するワ
ードアドレス143を、セレクタ115は命令304に
対応するワードアドレス141を、セレクタ135は命
令305に対応するワードアドレス142を、それぞれ
選択している。
【0083】また、ステージ313の期間ロードデータ
の位置合わせ器151は、データメモリ111の読み出
しデータ113をロードデータ147として、データメ
モリ131の読み出しデータ133をロードデータ14
8として、データメモリ101の読み出しデータ103
をロードデータ149として、それぞれ出力する。
【0084】図4は、本発明の一実施例である多重アク
セスキャッシュ記憶装置の概略構成を示すブロック図で
ある。
【0085】なお、図4では、アドレス線を中心に図示
している。
【0086】多重アクセスキャッシュ記憶装置は、アド
レスアレイ200と、データアレイ100と、アドレス
判定回路401と、キャッシュ制御回路402とから構
成されている。
【0087】図1に示すアドレス判定回路401は、第
1,第2,第3のロード・ストア命令の論理アクセスア
ドレス403,404,405から演算を行い、2以上
のロード・ストア命令が同時に実行可能であるか否かを
判定する。
【0088】キャッシュ制御回路402は、データメモ
リ101,111,121,131リ、3入力セレクタ
105,115,125,135,203,213,2
23,233、タグメモリ201,211,221,2
31、ストアデータの位置合わせ器150、ロードデー
タの位置合わせ器151の制御を行い、同時にキャッシ
ュミスに起因するペナルティが発生した場合に多重アク
セスキャッシュ記憶装置と他の部分との同期をとる。
【0089】キャッシュ制御回路402には、制御のた
めに必要な信号、即ち、アドレス判定回路401の判定
結果406と、フラグメモリの読み出しデータ208,
218,228,238、ヒット判定結果209,21
9,229,239とが入力されている。
【0090】第1,第2,第3のロード・ストア命令の
論理アクセスアドレス403,404,405の一部
が、キャッシュラインアドレス241,242,243
として、アドレスアレイ200に入力されている。
【0091】また、第1,第2,第3のロード・ストア
命令の論理アドレス403,404,405の一部が、
ワードアドレス141,142,143として、データ
アレイ200に入力されている。
【0092】キャッシュ制御回路402は、アドレス判
定回路401の判定結果406により、判定結果406
が1を示すときには、すべてのロード・ストア命令を実
行し、また、0を示すときには、同時実行できないない
ので、ロード・ストア命令のうちの一部分の実行をクロ
ック単位に遅延させ、残りは実行する。
【0093】図5は、3つのロード命令を受理した場合
のアドレス判定回路401の機能を真理値表の形式で示
した図である。
【0094】なお、図5のように真理値表で機能が記述
されていれば、その機能を論理回路で容易に実現でき
る。
【0095】図5において、501〜506は条件信号
であり、判定回路401の入力信号に相当する。
【0096】501は、AのバンクアドレスとBのバン
クアドレスが等しいか否かの条件である。バンクアドレ
スはアドレスのビット(6:5)をいう。
【0097】502は、BのバンクアドレスとCのバン
クアドレスが等しいか否かの条件である。
【0098】503は、CのバンクアドレスとAのバン
クアドレスが等しいか否かの条件である。
【0099】504は、AのワードアドレスとBのワー
ドアドレスが等しいか否かの条件である。
【0100】ワードアドレスは、アドレスのビット(3
1:7)と(4:3)をいう。
【0101】505は、BのワードアドレスとCのワー
ドアドレスが等しいか否かの条件である。
【0102】506は、CのワードアドレスとAのワー
ドアドレスが等しいか否かの条件である。
【0103】507は、3つのロード命令が同時に実行
できることを示す信号である。
【0104】3つのロード命令を受理した場合には、表
の結果507がアドレス判定結果406に出力される。
【0105】以下に、場合分けの各々について説明す
る。
【0106】場合分け508 バンクアドレスはA、B、C皆異なる。
【0107】この場合3つのロード命令が同時に実行で
きる。
【0108】場合分け509 3つのバンクアドレスのうちA、Cのバンクアドレスが
等しい。また、A、Cのワードアドレスが等しい。
【0109】この場合、Aのバンクアドレス内のAのワ
ードアドレスをアクセスすればそれはCの所望のデータ
をアクセスすることにも相当するので、3つのロード命
令が同時に実行できる。
【0110】場合分け510 3つのバンクアドレスのうちA、Cのバンクアドレスが
等しい。またA、Cのワードアドレスが異なっている。
【0111】この場合、A、Cの所望のデータを同時に
アクセスすることが不可能なので、3つのロード命令が
同時に実行できない。
【0112】以下、場合分け511〜517が続くが、
すべてに対する説明は省略する。
【0113】本実施例における、多重アクセスキャッシ
ュ記憶装置の面積について数値例で示す。
【0114】まず、本実施例と同じキャッシュ容量で、
1ポートセルを用いバンク分けを行わなかった場合のデ
ータキャッシュ(アドレスアレイ、データアレイ合計)
の面積を メモリセル 5平方mm, メモリセル以外の回路 3平方mm, 合計 8平方mm と仮定する。
【0115】また、メモリセルの面積は、ポート数の2
乗に比例し、メモリセル以外の回路の面積は物理的な並
列アクセス数に比例するものとする。
【0116】従来技術の延長線上では、3個のロード・
ストア命令を処理するために3ポートセルを用いざるを
得ず、その場合のデータキャッシュの面積は メモリセル 45平方mm, メモリセル以外の回路 9平方mm, 合計 54平方mm となる。
【0117】本実施例では、1バンク当たりのメモリ量
はトータルのメモリ容量の1/4であることを考慮する
と、 メモリセル 5平方mm(1.
25平方mmかける4バンク) メモリセル以外の回路 12平方mm, 合計 17平方mm となり、従来技術の3ポートセルを用いる場合と比較し
て1/3以下の面積になる。
【0118】なお、本実施例では、バンクアドレスはア
ドレスのうちの最小数のビットフィールドを直接用いた
が、アドレスの最小数より多いビットフィールドから演
算を施した後の値を用いることも可能である。
【0119】例えば、3つのビットフィールドA(1
8:17)、A(12:11)、A(6:5)の排他的
論理和(exclusive OR)演算によって得ら
れた2ビットの値をバンクアドレスとして用いることに
より、実処理上で命令実行順序で連続する2つの(ある
いは3つ以上の)ロード・ストアアドレスが別のバンク
に属する確率を高めることができる。
【0120】以上、本発明を実施例に基づき具体的に説
明したが、本発明は、前記実施例に限定されるものでは
なく、その要旨を逸脱しない範囲で種々変更し得ること
は言うまでもない。
【0121】
【発明の効果】本願において開示される発明のうち、代
表的なものの概要を簡単に説明すれば、下記の通りであ
る。
【0122】(1)キャッシュ記憶装置において、それ
ぞれ独立してアクセスされるタグメモリとデータメモリ
とを複数個設け、また、複数のデータ転送命令のアクセ
スアドレスに基づき、前記複数のデータ転送命令が同時
にアクセス可能どうかを判定し、前記判定結果に基づい
てタグメモリとデータメモリとを制御するようにしたの
で、複数のデータ転送命令に基づくデータの書き込み・
読み出しを、面積を増加させることなく、1クロックで
同時に実行することが可能となる。
【0123】(2)さらに、1つのタグメモリとデータ
メモリとを分割して、それぞれ独立にアクセスされるタ
グメモリとデータメモリとを構成するようにしたので、
面積をさらに低減させることが可能となる。
【0124】(3)本発明のキャッシュ記憶装置をプロ
セッサに使用することにより、1クロックあたり2以上
のデータ転送命令(ロード・ストア命令)が実行可能と
なる。
【図面の簡単な説明】
【図1】 本発明の一実施例である多重アクセスキャッ
シュ記憶装置のデータアレイの概略構成を示すブロック
図である。
【図2】 本発明の一実施例である多重アクセスキャッ
シュ記憶装置のアドレスアレイの概略構成を示すブロッ
ク図である。
【図3】 本実施例の多重アクセスキャッシュ記憶装置
において、3つのロード・ストア命令が並列に処理され
る場合のタイミングを示すタイミング図である。
【図4】 本発明の一実施例である多重アクセスキャッ
シュ記憶装置の概略構成をアドレス線を中心に示すブロ
ック図である。
【図5】 3つのロード命令を受理した場合の本実施例
のアドレス判定回路の機能を真理値表の形式で示す図で
ある。
【符号の説明】
100…データアレイ部、101,111,121,1
31…データメモリ、102,112,122,132
…データメモリの書き込みデータ、103,113,1
23,133…データメモリの読み出しデータ、10
4,114,124,134…ワードアドレス、10
5,115,125,135,203,213,22
3,233…3入力セレクタ、141…第1のロード・
ストア命令のワードアドレス、142…第2のロード・
ストア命令のワードアドレス、143…第3のロード・
ストア命令のワードアドレス、144,145,146
…第1,第2,第3のストア命令のストアデータ、14
7,148,149…第1,第2,第3のロード命令の
ロードデータ、150…ストアデータの位置合わせ器、
151…ロードデータの位置合わせ器、200…アドレ
スアレイ部、201,211,221,231…タグメ
モリ、202,212,222,232…フラグメモ
リ、204,214,224,234…一致比較器、2
05,215,225,235…物理アドレス、20
6,216,226,236…キャッシュラインアドレ
ス、207,217,227,237…タグメモリの読
み出しデータ、208,218,228,238…フラ
グメモリの読み出しデータ、209,219,229,
239…ヒット判定結果、241…第1のロード・スト
ア命令のキャッシュラインアドレス,242…第2のロ
ード・ストア命令のキャッシュラインアドレス,243
…第3のロード・ストア命令のキャッシュラインアドレ
ス、301,302,303、307,308,309
…命令、304,305,306…ロード命令、401
…アドレス判定回路、402…キャッシュ制御回路、4
03,402,403…論理アドレス、406…アドレ
ス判定結果。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータ転送命令による、データの
    書き込み・読み出しを同時に実行することが可能な多重
    アクセスキャッシュ記憶装置であって、それぞれ独立し
    てアクセス可能な複数個のタグメモリと、それぞれ独立
    してアクセス可能な複数個のデータメモリと、前記複数
    のデータ転送命令に基づく書き込みデータを、対応する
    データメモリに転送する第1の手段と、前記複数個のデ
    ータメモリから読み出したデータを、前記複数のデータ
    転送命令に基づく読み出しデータとして転送する第2の
    手段と、前記複数のデータ転送命令のアクセスアドレス
    が入力され、前記複数のデータ転送命令が同時にアクセ
    ス可能どうかを判定するアドレス判定回路と、前記アド
    レス判定回路の判定結果に基づき、前記各メモリ、各手
    段を制御する制御回路とを具備することを特徴とする多
    重アクセスキャッシュ記憶装置。
  2. 【請求項2】 請求項1に記載された多重アクセスキャ
    ッシュ記憶装置において、前記それぞれ独立してアクセ
    ス可能な複数個のタグメモリが、複数個のタグメモリ
    と、データ転送命令のアクセスアドレスの一部であるキ
    ャッシュラインアドレスの1つを、前記複数のデータ転
    送命令のキャッシュラインアドレスの中から選択してタ
    グメモリに入力する、複数個のタグメモリ毎に設けられ
    複数個のタグメモリに対して別個なセレクト結果を達成
    する複数個のキャッシュラインセレクタとから構成さ
    れ、前記それぞれ独立してアクセス可能な複数個のデー
    タメモリが、複数個のデータメモリと、データ転送命令
    のアクセスアドレスの一部であるワードアドレスの1つ
    を、前記複数のデータ転送命令のワードアドレスの中か
    ら選択してデータメモリに入力する、複数個のデータメ
    モリ毎に設けられ複数個のデータメモリに対して別個な
    セレクト結果を達成する複数個のワードセレクタとから
    構成され、前記制御回路が、前記アドレス判定回路の判
    定結果に基づき、前記各メモリ、各セレクタ、および、
    各手段を制御することを特徴とする多重アクセスキャッ
    シュ記憶装置。
  3. 【請求項3】 請求項1または請求項2に記載された多
    重アクセスキャッシュ記憶装置において、前記複数個の
    タグメモリが、1個のタグメモリが分割されて構成さ
    れ、前記複数個のデータメモリが、1個のデータメモリ
    が分割されて構成されることを特徴とする多重アクセス
    キャッシュ記憶装置。
  4. 【請求項4】 請求項1ないし請求項3のいずれか1項
    に記載された多重アクセスキャッシュ記憶装置を具備す
    るプロセッサ。
JP6169416A 1994-07-21 1994-07-21 多重アクセスキャッシュ記憶装置 Pending JPH0836525A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6169416A JPH0836525A (ja) 1994-07-21 1994-07-21 多重アクセスキャッシュ記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6169416A JPH0836525A (ja) 1994-07-21 1994-07-21 多重アクセスキャッシュ記憶装置

Publications (1)

Publication Number Publication Date
JPH0836525A true JPH0836525A (ja) 1996-02-06

Family

ID=15886198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6169416A Pending JPH0836525A (ja) 1994-07-21 1994-07-21 多重アクセスキャッシュ記憶装置

Country Status (1)

Country Link
JP (1) JPH0836525A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845429B2 (en) 2000-08-11 2005-01-18 President Of Hiroshima University Multi-port cache memory
US7035979B2 (en) 2002-05-22 2006-04-25 International Business Machines Corporation Method and apparatus for optimizing cache hit ratio in non L1 caches
US7073030B2 (en) 2002-05-22 2006-07-04 International Business Machines Corporation Method and apparatus providing non level one information caching using prefetch to increase a hit ratio
US8583873B2 (en) 2010-03-10 2013-11-12 Samsung Electronics Co., Ltd. Multiport data cache apparatus and method of controlling the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845429B2 (en) 2000-08-11 2005-01-18 President Of Hiroshima University Multi-port cache memory
US7035979B2 (en) 2002-05-22 2006-04-25 International Business Machines Corporation Method and apparatus for optimizing cache hit ratio in non L1 caches
US7073030B2 (en) 2002-05-22 2006-07-04 International Business Machines Corporation Method and apparatus providing non level one information caching using prefetch to increase a hit ratio
US8583873B2 (en) 2010-03-10 2013-11-12 Samsung Electronics Co., Ltd. Multiport data cache apparatus and method of controlling the same

Similar Documents

Publication Publication Date Title
US7694077B2 (en) Multi-port integrated cache
US5752260A (en) High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
US6901501B2 (en) Data processor
JP3593346B2 (ja) マルチポートメモリ及びそれをアクセスするデータ処理装置
US7398362B1 (en) Programmable interleaving in multiple-bank memories
US6571316B1 (en) Cache memory array for multiple address spaces
JPS59213084A (ja) バッファ記憶装置のアクセス制御方式
US6463514B1 (en) Method to arbitrate for a cache block
JP2009505180A (ja) 少なくとも2つの処理ユニットと、及び少なくとも1つのメモリとを有する計算機システム内に形成される及び記憶装置、及びそれによる記憶方法
KR920001282B1 (ko) 버퍼메모리 제어장치
JPH07120312B2 (ja) バッファメモリ制御装置
US4618926A (en) Buffer storage control system
US5854943A (en) Speed efficient cache output selector circuitry based on tag compare and data organization
JPH0836525A (ja) 多重アクセスキャッシュ記憶装置
JPH0727492B2 (ja) 緩衝記憶装置
US4737908A (en) Buffer memory control system
US5510973A (en) Buffer storage control system
JPH0916468A (ja) メモリアクセス方式
EP0335113A2 (en) Single chip cache memory, and cache memory apparatus including a plurality of parallel connected single chip cache memories
JP2636485B2 (ja) キャッシュ記憶装置
JPS59112479A (ja) キヤツシユメモリの高速アクセス方式
JPS5928289A (ja) バツフア記憶制御方式
US6581139B1 (en) Set-associative cache memory having asymmetric latency among sets
JP2001195390A (ja) ベクトル処理装置のオペランドキャッシュ