JPH03257554A - キャッシュメモリ付きデータ処理装置 - Google Patents

キャッシュメモリ付きデータ処理装置

Info

Publication number
JPH03257554A
JPH03257554A JP2054873A JP5487390A JPH03257554A JP H03257554 A JPH03257554 A JP H03257554A JP 2054873 A JP2054873 A JP 2054873A JP 5487390 A JP5487390 A JP 5487390A JP H03257554 A JPH03257554 A JP H03257554A
Authority
JP
Japan
Prior art keywords
address
word
cycle
data
store
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
JP2054873A
Other languages
English (en)
Inventor
Takeshi Takamiya
健 高宮
Tsukasa Matoba
司 的場
Takeshi Aikawa
健 相川
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2054873A priority Critical patent/JPH03257554A/ja
Publication of JPH03257554A publication Critical patent/JPH03257554A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、計算機において中このアドレス変換回路と主
記憶装置間のアドレス及びデータのアクセスを高速化す
るためのキャッシュメモリを備えたキャッシュメモリ付
きデータ処理装置に関する。
(従来の技術) 計算機の中このアドレス変換回路(以下、プロセッサと
いう)は、アーキティクチャ、VLSI等の発展にとも
ない、データ処理能力、アクセス速度ともにめざましく
向上している。また、主記憶装置に使用されるメモリ素
子においても同様なことがいえる。しかし、一般に双方
の動作速度にはまだ大きな開きがあるのが現状である。
このアクセス時間の差を埋めるために、プロセッサと主
記憶装置間のアクセスは、高速のメモリ素子を使用した
小容量のキャッシュメモリ(以下、キャッシュという)
を介して行ない、仮想的にアクセス速度を上げるという
方法が一般的である。
以下、第6図にもとづいてキャッシュについて詳述する
。キャッシュ602は、プロセッサ6゜1と主記憶装置
603の間に設置され、両者のアクセスはキャッシュ6
02を介して行なわれる。
このキャッシュ602は、データ部602−1とタグ部
602−2及びヒツト検出部602−3からなる。これ
らのうち、データ部602−1は、主記憶装置603の
データの一部を記憶している。
タグ部602−2は、前記データ部602−1のデータ
が主記憶装置603に対応する前記データ部602−1
のアドレス等を格納し、そして、ヒツト検出部602−
3は、前記プロセッサ601からのアドレスがキャッシ
ュ602−1に送られると、前記タグ部602−2に格
納されているアドレスを用いて、アドレスの比較を行な
うというものである。
上述した構成のキャッシュを用いた計算機においてプロ
グラムを実行する場合を考える。まず、プロセッサは命
令実行に必要なデータがキャッシュにあるか否かを調べ
る。これはキャッシュ602のデータ部602−1にプ
ロセッサ601がアクセスしたアドレスのデータが格納
されているか否かを判定する。これは、ヒツト検出とい
いヒツト検出部602−3により行なわれ、前記アドレ
スがタグ部602−2に格納しているアドレスと一致す
ればヒツト一致しなければデータ部602−1に該当す
るデータが格納されていないということになりミスとい
う情報を出力するものである。
このヒツト検出により、ヒツトすればこのデータを読み
出し命令実行に使用する。また、ミスすればこのデータ
を含む主記憶装置603上のあらかじめ定められた大き
さ(ラインサイズ)の領域(ライン)を読み出し、キャ
ッシュ602に転送(ライン転送)後、必要なデータを
キャッシュ602から読み出す。上述した中で特にヒツ
ト/ミスの判定について述べる。ヒツト/ミスの判定は
2つのサイクルにより行なわれる。この2つのサイクル
のうち、キャッシュがヒツトしているかどうかを判定す
るために、プロセッサからのアドレスとタグ部602−
2に格納されているアドレスをヒツト検出部602−3
にロードし、これらのアドレスを比較するヒツト検出サ
イクルである。
もう1つのサイクルは、前記ヒツト検出部サイクルによ
る検出結果が得られるサイクルである。以上の2サイク
ルによりヒツト/ミスの判定が行なわれる。しかし、キ
ャッシュ602からプロセッサ601へのデータロード
は、前記ヒツト検出サイクル、つまりヒツト検出部60
2−3がタグ部602−2に格納されているアドレスを
ロードするのと、プロセッサへのデータロードを同時に
1サイクルで行なう。これはヒツト検出のためのタグ部
602−2に格納されているアドレスのロードと、デー
タ部602−1からのデータロードはキャッシュ602
の別々の箇所を用いるため並列処理可能である。このサ
イクルでロードされたデータが有効かどうかの結果は次
のサイクルでわかる。これは従来からキャッシュ602
のロードのサイクルタイムを短くすために、キャッシュ
602に対するヒツト検出の結果を次のサイクルで出力
する方式を用いていたことによる。つまり、プロセッサ
601からのロード及びストアアドレスが、タグ部60
2−2のアドレスとすべてヒツトする場合、すなわちキ
ャッシュ602にデータがある場合でも、プロセッサ6
01からのデータロードに1サイクル、このデータをキ
ャッシュ602にストアするのに2サイクルを最低でも
必要とする。なお、ストアに2サイクル必要となるのは
、前記ロード1サイクルに続き、ヒツト検出とストアに
それを1サイクルを要するためである。
次に、第4図に2ワードごとのワード転送を行なうプロ
グラムを示す。ここでワードとは、主記憶装置f603
からキャッシュ602に転送された複数のラインのうち
、各ラインを構成するデータの最小単位である。以下、
本実施例の装置のプロセッサ及び各レジスタ(以下、R
という)は32ビツトのデータ幅を扱うものとする。す
なわち、1ワードは32ビツトのデータ幅をもつものと
する。このプログラムは、主記憶装置f603からライ
ン転送によりキャッシュ602に転送された複数ライン
のうちの任意の番地(n番地とする)が示すワードを中
このアドレス変換回路601のRIOへ転送し、n番地
が示すワードの次のワード(n+4番地とする)をR(
10+1)に転送する。
その後に、RIOの内容を(R3)+0、つまりm番地
へ、R(10+1)の内容をm+4番地へ転送する。こ
れにより、n番地が示すワードと、n+4番地が示すワ
ードとで2ワードになり、これらをm番地、m+4番地
にワード転送するものである。
第5図に前記第4図のプログラムを実行した際のキャッ
シュメモリ内部の動作タイミングの概念図を示す。第1
、第2サイクルではそれぞれデータをロードし、第3サ
イクルでは、最初にロードしたデータをm番地にストア
するためのヒツト検出(以下、ストア前サイクルという
)を行なう。
そして、第4サイクルでは、第3サイクルに続いてデー
タを指定されたアドレスにストアする(以下、ストア後
サイクルという)。この時、同時に後にロードしたデー
タをストアするためのストア前サイクルを行なう。これ
は、ストア前サイクルはキャッシュ602のタグ部60
2−2に対して行なうものであり、データ部602−1
にデータをストアするストア後サイクルと同時に行なっ
てもかまわないからである。第5サイクルでは第4サイ
クルに続いて後にロードされたデータをストアする。こ
こで上述した各サイクルの内、第3すイクルにおいて従
来はストア前サイクルとしてヒツト検出を行なっている
が、このサイクル中にキャッシュ602のデータ部60
2−1に対するアクセスが行なわれていないことがわか
る。
このように従来のキャッシュメモリ装置には上述したよ
うに複数のワードごとのワード転送を行なう際、最終の
ワードをロードした後にワードをストアするために行な
われるストア前サイクルにおいて、キャッシュ602の
データ部602−1をアクセスしていなかった。このた
めに、ロード命令とストア命令の処理が効率良く行なわ
れていないという問題点があった。
(発明が解決しようとする課題) 上述したように従来のキャッシュメモリ装置は、複数の
ワードごとのワード転送を行なう際、最終のワードをロ
ードした後、ワードをストアするために行なわれるスト
ア前サイクルにおいて、キャッシュのデータ部にプロセ
ッサがアクセスを行なっていなかった。このために、ワ
ード転送の効率が悪いという問題点があった。
本発明は上述した問題点を解決するためになされたもの
であり、複数のワードごとのワード転送を行なう際、最
終ワードのロードと、ワードをストアするためのヒツト
検出を同時に行なうことが可能なキャッシュメモリ付き
データ処理装置の提供を目的とする。
[発明の構成コ (課題を解決するための手段) 上記目的を達成するために、本発明のキャッシュメモリ
付きデータ処理装置では、中このアドレス変換回路と、 これらの間のアクセスを高速化するため前記主記憶装置
の一部のデータを記憶するデータ部と前記主記憶装置に
対応する該データのアドレスを格納するタグ部とからな
るキャッシュメモリと、前記中このアドレス変換回路か
らのアドレスが前記キャッシュメモリのタグ部に格納し
ているアドレスと一致するかどうかを判定するヒツト検
出部と、前記中このアドレス変換回路の出力するアドレ
スにもとづいて次のサイクルで出力するアドレスを得る
ために該アドレスに対して変換等を行なうアドレス変換
回路と、 このアドレス変換回路からのアドレスと前記中このアド
レス変換回路からのアドレスを切り換えてアドレスを前
記キャッシュメモリへ供給するアドレス切り換え回路と
を備える。そして、上述した構成のキャッシュメモリに
おいて、前記中このアドレス変換回路から前記キャッシ
ュメモリに対してワードごとにアクセスする場合、前記
アドレス切り換え回路は第1ワードをロードするサイク
ルでは前記アドレス変換回路から変換アドレスを出力さ
せ、該サイクルで前記ヒツト検出部は前記中このアドレ
ス変換回路からのストアアドレスを用いて第1ブロツク
と前記キャッシュメモリのタグ部のアドレスを比較する
ことによ、リストアのためのヒツト検出を行なうもので
ある。つまり第iワードをロードするサイクルと、ワー
ドをストアするためのヒツト検出を1サイクルで行なう
ものである。
このために、前記中このアドレス変換回路はワードごと
にアクセスする場合、第1ワードから第i−1ワードを
ロードする各サイクルでは該ブロックのロードアドレス
を出力する。第iワードをロードするサイクル及びワー
ドをストアする各サイクルでは各ワードのストアドレス
を順次出力するものである。そして、第iワードをロー
ドするサイクルでストアアドレスを出力すると、第iワ
ードのロードアドレスを前記キャッシュメモリに出力で
きない。このために、前記アドレス変換回路は、前記中
このアドレス変換回路からのロードアドレスに対して該
アドレスを次のワードのアドレスに変換する。またヒツ
ト検出用のストアアドレスに対して該アドレスを次サイ
クルまで遅延している。特に、第iワードのロードのた
めのヒツト検出を行なわずに、ワードをストアするため
のヒツト検出を行なうために、前記アドレス変換回路は
、第i−1ワードがロードされたサイクルで該ロードア
ドレスを第iワードのロードアドレスに変換する。第i
ワードをロードするサイクルで前記中このアドレス変換
回路はストアアドレスを出力しているために、これを次
サイクルまで遅延しなければならないがこれを行なうの
も前記アドレス変換回路である。
そして前記アドレス切り換え回路は、第1ワードから第
i−1ワードをロードする各サイクルでは前記中このア
ドレス変換回路からのロードアドレスを出力し、第iワ
ードをロードするサイクルでは、前記アドレス変換回路
で変換したロードアドレスを出力する。つまり、このロ
ードアドレスは第1−17−ドがロードされたサイクル
で該ロードアドレスを第iワードのロードアドレスに変
換したものである。また前記アドレス切り換え回路は、
第1ワードから第iワードをストアする各サイクルでは
前記アドレス変換回路からの遅延アドレスを出力するも
のである。これは、上述したように第1ワードをロード
するサイクルで前記中このアドレス変換回路はストアア
ドレスを出力しているため、このストアアドレスを次サ
イクル、つまりストア後サイクルまで遅延させなければ
ならないという理由にもとづいている。
なお、第iワード等におけるiとは、1から始まる正の
整数であり複数のワードごとにワード転送を行なう場合
において複数が何個であるかを示すものである。つまり
、iはワードの総数を示している。これは例えば2ワー
ドごとのワード転送であればlは2となるということで
ある。
(作用) 上述したように構成された本発明のキャッシュメモリ装
置によれば、iワードごとのワード転送を行なう際、ア
ドレス変換回路とアドレス切り換え回路により、第iワ
ードのロードと同時にワードをストアするためのヒツト
検出を同じサイクルで行なうことができる。
つまり、これはヒツト検出を行なっtいる時に、キャッ
シュメモリのデータ部にアクセスを行なうことができる
ということである。このためiワードごとのワード転送
の効率が良くなり、結果としてワード転送の速度向上を
計ることができる。
(実施例) 以下、図面を参照しながら本発明の詳細な説明を行なう
第1図は、本発明を使用した計算機のブロック図である
。以下、i−2、つまり2ワードごとにワード転送する
場合を例にとり説明を行なう。
第1図において、中このアドレス変換回路(以下、プロ
セッサという)101は、後述するキャッシュメモリ1
03にアドレスを送るものである。主記憶装置102は
、前記プロセッサ101からのアドレスが示すデータを
キャッシュメモリ103を介して記憶するものである。
これは、あらかじめ定められた大きさ(ラインサイズ)
の領域(以下、ラインという)に分れており、通常MO
S(Metal 0xide Sem1conduct
or)メモリの1種であるDRAM (Dynamic
 Randam Memory)が使用される。なお、
ラインにはプログラムやデータが記憶されている。キャ
ッシュメモリ(以下、キャッシュという)103は、デ
ータ部103−1、タグ部103−2、及びヒツト検出
部103−2から成り、前記データ部103−1には、
前記主記憶袋W102の複数のラインのうちのいくつか
が写されており、前記プロセッサ101は、このキャッ
シュ103に対してアクセスを行なう。このキャッシュ
103は通常MOSメモリの1種であるSRAM (S
tatic Randam  Access Memo
ry)が使用されるつまり。キャッシュ103は、前記
主記憶装置102よりアクセス時間の差が1けた以上あ
るものである。タグ部103−2には、前記データ部1
03−1に記憶しているデータの、前記主記憶装置10
2上でのアドレスを格納するものである。
このアドレスは前記主記憶装置102のアドレスそのも
のでなくてもよく、少なくともどのラインが現在前記キ
ャッシュ103のデータ部103−1に写されているか
対応が付けばよいものである。
そしてヒツト検出部102−3は、プロセッサ101か
らアドレスが送られると、前記タグ部103−2のタグ
データをロードし、プロセッサ101からのアドレスと
比較し、ヒツト/ミスの判定を行なうものである。アド
レス変換回路104は、2ワードごとのワード転送にお
いて2つのワードを示すアドレスをロードする場合、最
初のワードのアドレスから次のワードのアドレスを出力
する。
このアドレスは、最初のロードのアドレスを変換するこ
とにより得られるものである。また、プロセッサ101
からのアドレスが示すワードをキャッシュ103にスト
アする場合、プロセッサ101がキャッシュのタグ部1
03−2に対してヒツト検出を行なっているサイクルの
間、その前のサイクルのプロセッサ101からのストア
アドレスを遅延させるものである。つまりロード時には
、送られてきたワードのアドレスを次のワードのアドレ
スに変換するものであり、ストア時には1サイクルだけ
ストアアドレスを遅延させる回路である。アドレス切り
換え回路105は、プロセッサ101からのアドレスと
、アドレス変換回路104からのアドレスのどちらかを
送るのかという切り換えを行なうものである。これはロ
ードとストアにより異なる。プロセッサ101はキャッ
シュ103から2ワードごとにデータロードする場合キ
ャッシュには、まず、最初のロードのためのアドレスを
送り、次のサイクルではアドレス変換回路104アドレ
スを送る。つまり、最初のデータをロードするサイクル
が終了するまでは、アドレス変換回路104によるアド
レスは送らず、このアドレスを次のサイクルで送るよう
にするものである。プロセッサ101からキャッシュ1
03ヘスドアする場合は、2サイクルを要するのでスト
ア前サイクルが終了するまでストアアドレスを遅延させ
ておかなくてはならない。このためストア前サイクル中
にプロセッサ101からのストアアドレスを送らないよ
うにし、ストア前サイクルの次のサイクルに、アドレス
変換回路104で遅延されたストアアドレスをキャッシ
ュのデータ部103−1に送る。なお、アドレス切り換
え回路105は、ロード/ライト信号等により制御され
る回路である。ロード/ライト信号とは、プロセッサー
101からのアドレスのロードの場合には、アドレス切
り換え回路105にロード信号を送り、前記した順序で
アドレスを送るものである。また、プロセッサ101か
らストアアドレスが送られてきた場合には、アドレス切
り換え回路105にライト信号を送り、前記したアドレ
スのみを送るものである。そして、このロード/ライト
信号は、プロセッサ101から送られてもよいし、アド
レスに付加して送られてもかまわないが、少なくともプ
ロセッサ101からのアドレスがロードのアドレスなの
かストドアアドレスなのかを識別できればよいものであ
る。
データバッファ回路106は、キャッシュミスに伴うキ
ャッシュ主記憶装置間のデータ伝送(ライン転送)時の
データ方向制御を行うバッファ回路である。キャッシュ
ミスには二通りの場合があり、プロセッサ101がロー
ドアクセスをしたときに起こるものと、ライトアクセス
をしたときに起こるものである。前者の場合、主記憶装
置102からキャッシュメモリにプロセッサが要求する
データを含むラインを転送しなければならない。
従って、キャッシュメモリ側にデータの流れが向く。後
者の場合、キャッシュメモリから主記憶装置にデータを
ライトする必要があり、このときには、主記憶装置側に
データの流れが向く。また、アドレスバッファ回路10
7はプロセッサ101が主記憶装置102にアドレスを
供給する為のバッファ回路である。
また、ヒツト検出部103−3は、ヒツト検出の結果と
してヒツト/ミス信号をプロセッサ101に送るもので
ある。
第2図は、2ワードごとのワード転送を行なうためのプ
ログラムである。以下、このプログラムをプロセッサ及
び各レジスタ(以下、Rという)は32ビツトのデータ
幅で扱うものとする。これは1ワードを32ビツトとす
る場合について説明する。このプログラムは主記憶装置
102の任意の番地(以下n番地という)で示されるワ
ードをプロセッサ101のRIOへ、このワードの次の
ワードの番地としてn+4番地で示されるワードをR(
10+1)、つまりR11に転送する。その後に、RI
O内のワードを(R3)+0、つまりm番地に、R11
内のワードをつぎのワードの番地であるm+4番地に転
送する。これによりn番地が示すワードと、この次のワ
ードとで27ドを構成し、これらをm番地、m+4番地
にワド転送するものである。
第3図に前記第2図のプログラムを第1図の本発明のデ
ータ処理装置で実行した際のキャッシュメモリ内部の動
作タイミングの概念図を示す。以下、第2図、第3図に
もとづいて各サイクルの説明と、各部の動作の説明を行
なう。
第2図のrLDI  RO,nJ、rLDI  R3、
m」を実行すると、主体記憶装置102のアドレスnが
ROに、アドレスmがR3にそれぞれ送られる。
そしてrDLD  RIO,RO,OJを実行すると、
第1サイクルにおいて、プロセッサは(RO)十〇をア
ドレスとするワードのデータをR10にロードする。す
るとキャッシュのデータ部103−1からn+0番地が
示すワードがプロセッサ101のRIOにロードされる
。これと同時にヒツト検出部103にはタグ部103−
2からタグデータの°ロードが行なわれる。これはすな
わちロードのヒツト検出を行なっている。この結果、ヒ
ツト検出部103はプロセッサ101からのアドレスと
タグ部103−2からのタグデータを比較し、ヒツト/
ミスの判定が行なわれる。そして、この判定の結果はプ
ロセッサ101、ヒツト/ミス信号として送られる。そ
して第2のサイクルでプロセッサ101は判定結果とし
てヒツト/ミス信号を受は取るが、ミス信号の場合には
、主記憶装置102から第1サイクルでプロセッサ10
1から送られたn番地が示すワードを含むラインをキャ
ッシュ103に転送する等の処理を行なわなければなら
ない。しかし、本実施例ではn番地が示すワードを含ん
だラインがキャッシュ103にあるものとしている。し
たがって、ヒツト検出の結果ヒツト信号を出力するので
、(RO)+O1つまり主記憶装置102のn番地が示
すワードは、RIOにロードされる。そして、上述した
ロードにおいて、プロセッサ101からのアドレスはア
ドレス切り換え回路105とアドレス変換回路104に
送られるが第1サイクルではロードを行なっているで、
アドレス切り換え回路105は、ロード信号により、プ
ロセッサ101からのアドレスのみを送り、アドレス変
換回路104によるアドレスは送らない。こうしてデー
タ部103−1からn番地の内容がプロセッサ101へ
送うれ、ヒツト検出部103−3からヒツト検出結果と
してヒツト/ミス信号のうち、ヒツト信号プロセッサ1
01へ送られる。
第2サイクルにおいて、プロセッサ101はヒツト検出
結果としてヒツト信号を受けとる。この結果、ヒツトし
ているので、次のロード動作に移る。これは2ワードご
とのワード転送なのでn番地が示すワードの次のワード
の番地(n+4番地)をキャッシュに送る必要がある。
しかし、このサイクルでプロセッサ101は前記第1サ
イクルでロードされたデータのワードのストアアドレス
を出力する。このために、n番地の示すワードの次のワ
ードの番地(n+4番地)をアドレス変換回路104か
ら出力する。このアドレス変換回路104は前記第1サ
イクルで前ワードの次のワードを示すアドレスを出力す
るものであるため、n番地の示すワードの次のワードを
示す番地としてれ千4番地を出力する。この結果、アド
レス切り換え回路105には、プロセッサ101からの
ストアアドレス(m番地)とアドレス変換回路104か
らのロードアドレス(n+4番地)が入力されるが、現
在ストア前サイクルを行なっているので、ロード/ライ
ト信号のライト信号によりアドレス変換回路104から
のロードアドレスのみを出力する。その結果、キャッシ
ュのデータ部103−1よりn+4番地の示すワード(
つまりn番地の示すワードの次のワード)がプロセッサ
101のR(10+1)に送られる。この時通常はn+
4番地の示すワードのロードのためのヒツト検出を行な
うために、タグ部103−2からタグデータをヒツト検
出部103−3にロードし、プロセッサから送られたア
ドレスと比較する。しかし、n+4番地というアドレス
はアドレス変換回路1゜4により得られたアドレスであ
り、これはヒツト検出部103−3に入力されていない
。このために、n+4番地の示すワードをロードする際
のヒツト検出は行われない。そのかわり、このサイクル
ではプロセッサ101はストアアドレスを出力している
。したがって、ヒツト検出部103−3では、このスト
アアドレス(m番地)とタグ部103−2のタグデータ
を比較することにより、R10のワードをストアするた
めのヒツト検出を行なっている。この結果、n千4番地
の示すワードがキャッシュのデータ部103−1よりプ
ロセッサ101のR(10+1)に送られ、タグ部10
3−2よりプロセッサー101からのストアアドレス(
m番地)に対するヒツト検出結果がプロセッサ101に
送られる。なお、ワードごとのワード転送ということで
RIOの次のレジスタとしてR11誓用いたが、RIO
lRll、っまりR(10+1)は任意のベアアドレス
で構成することも可能であり、RxとR(x+y)なる
関係を満たすレジスタで構成される。ここでストアには
2サイクルを要し、第2サイクルでは、n+4番地の示
すワードのロードとRIO内のワードをストアするため
のヒツト検出を行なっている。このため、第2サイクル
では、ストア2サイクルのうち、後のサイクル(ストア
後サイクル)を行なうことはできない。このため次のサ
イクルで第2サイクルでプロセッサ101から送られた
ストアアドレスにRIO内のワードをストアする際、ア
ドレス切り換え回路105は、ライト信号により、第3
サイクルでは別のアドレスを出力するため、第2サイク
ルでのストアアドレスを1サイクル保持しなければなら
ない。このため、アドレス変換回路104は、ストアア
ドレスを1サイクル遅延させ、次のサイクルで使用する
第3サイクルにおいて、前記第2サイクルで遅延させた
ストアアドレスをキャッシュのデータ部103−1に送
る。これはアドレス切り換え回路105がライト信号に
より、アドレス変換回路104によるアドレスを送るこ
とにより可能となる。
これにより、RIO内のワードを(R3)十〇の示す番
地にストアする。これにより、n番地の示すワードがm
番地に転送されてたことになる。これと同時に、第2サ
イクルでロードされたワードをストアするためのヒツト
検出を行なう。これは、(R3)+4の示すアドレス(
m+4番地)がキャッシュのデータ部103−1に格納
されているかをヒツト検出部103−3にタグ部103
−2のタグデータをロードし、これとプロセッサ101
からのアドレス(m+4+4番地比較することにより検
出するものである。ここでプロセッサ101は第2サイ
クルと同様に(R3)+4の示すアドレスをストアアド
レスとして各部に送る。そして同様にアドレス変換回路
104はストアアドレスを1サイクル遅延させる。つま
りこのサイクルでは、データ部103−1のm番地ヘア
ドレス変換回路104より送られたn番地の示すワード
がストアされ、ヒツト検出部103−3では、タグ部1
03−2よりタグデータがロードされ、これとプロセッ
サ101からの(R3) +4 (m+4+4番地比較
し、第2サイクルでロードされたワードをストアするた
めのヒツト検出を行なう。
第4サイクルにおいてプロセッサ101は、前記第3サ
イクルでのヒツト検出結果としてヒツト/ミス信号を受
けとる。この結果、ヒツト信号を受けとる。そしてアド
レス切り換え回路105はライト信号により前記第3サ
イクルでアドレス変換回路104により1サイクル遅延
させたストアアドレス(m+4+4番地送る。これによ
りR11のワード(R3)+4番地に送られる。これは
n+4+4番地すワードが、m+4+4番地送されたこ
とになる。つまりこのサイクルではデータ部103−2
のm+4+4番地ロセッサ101より送られたn+4+
4番地−ドがストアされる。
以上の処理により、2ワードごとのワード転送が4サイ
クルで終了する。これは、従来5サイクルかかっていた
ものが、ワードの後のワードのロードと、最初のワード
をストアするためのヒツト検出回路を同時に行なうこと
により4サイクルで終了することができる。
この他に、データバッファ回路106の制御について述
べる、前記したようにデータバファ回路106は、デー
タやアドレスの流れる方向を制御する回路である。この
回路は、方向制御信号により制御されるものである。し
かし第2図のrDLD  RIOlROlo」を第3図
のような動作タイミングにより実行する場合は、第2サ
イクルにおいて、ロードのヒツト検出は行なわず、スト
アのためのヒツト検出を行なっている。本実施例では、
キャッシュ103内にプロセッサ101が用いるワード
を含んだラインが全であるものとした。
しかし、キャッシュ内にプロセッサ101が用いるワー
ドがない場合に、DLD命令を実行する時、つまりiワ
ードごとのワード転送を行なう際に、第iワードのロー
ドと、第1ワードのストアのためのヒツト検出を行なう
場合には、データバッファ回路106への方向制御信号
は主記憶装置102からキャッシュ103に出力する方
向に制御する信号を与える。主記憶装置102から出力
する方向に制御する理由として、ヒツト検出はキャッシ
ュのタグ部103−2に対して行なうものであり、主記
憶装置102に関係しない処理の為である。
なお、本発明は上述した実施例に限定されるものではな
い。例えば、上記の実施例においては、i−2の場合に
ついて述べたが、iは3,4等でもかまわない。i−2
以外の場合は、ロードの数とストアの数が対応して増加
するだけであり、本発明はiワードごとのワード転送を
行なう際に、第iワードのロードのヒツト検出を行なわ
ずに、第1ワードのストアするためのヒツト検出を行な
うことを特徴とするものであり、ワード数に影響を受け
るものではない。
また、本実施例では、第1.2サイクルでロードしたワ
ードをストアする場合について述べたが、これに限るも
のではない。これは本発明はワードのロードとストアが
続いて行なわれている場合に、ストアの前のワードのロ
ードのためのヒツト検出を行なわずに、ストアのための
ヒツト検出を行なうものであるためである。つまり、ロ
ードしたワードをすぐストアするという場合でなくても
よい。
言い換えれば、例えばプログラムの他方でロードされた
ワードを、現在ロードしたワードの次にストアする場合
でもよい。これはロードサイクルとストアサイクルが続
いておこなわれればよく、どのワードによるロード、ス
トアかには関係しないものである。
要するに本発明はその主旨を逸脱しない範囲で種々変更
して実施することができる。
[発明の効果] 以上述べたように本発明によれば、iワードごとのワー
ド転送を行なう際に、ワードのロードのためのヒツト検
出を行なわずに、ワードのロードとワードのストアのた
めのヒツト検出を1サイクルで行なうことにより、ワー
ド転送の効率が良くなる。このために、ワード転送の速
度向上を計ることができる。
【図面の簡単な説明】
第1図は本発明を使用した計算機のブロック図、第2図
は2ワードごとのワード転送を行なうためのプログラム
例、 第3図は第2図のプログラムを実行した際のキャッシュ
メモリ内部の動作タイミングの概念図、第4図は従来技
術におけるワードごとのワード転送を行なうためのプロ
グラム例、 第5図は第4図のプログラムを実行した際のキャッシュ
メモリ内部の動作タイミングの概念図、第6図はキャッ
シュメモリを説明するための概念図である。 101・・・・・・・・・・・・中央演算装置102・
・・・・・・・・・・・主記憶装置103・・・−・・
・・・・・・キャッシュメモリ103−1・・・・・・
データ部 103−2・−・・・・タグ部 103−3・・・・・・ヒツト検出部 104・・・・・・・・・・・・アドレス変換回路10
5・・・・・・・−・・・・アドレス切り換え回路理

Claims (6)

    【特許請求の範囲】
  1. (1)中央演算処理装置と、 この中央演算処理装置で用いるアドレス及びデータを記
    憶する主記憶装置と、 これらの間のアクセスを高速化するため前記主記憶装置
    の一部のデータを記憶するデータ部と前記主記憶装置に
    対応する該データのアドレスを格納するタグ部とからな
    るキャッシュメモリと、前記中央演算処理装置からのア
    ドレスが前記キャッシュメモリのタグ部に格納している
    アドレスと一致するかどうかを判定するヒット検出装置
    と、前記中央演算処理装置の出力するアドレスにもとづ
    いて次ののサイクルで出力するアドレスを得るために該
    アドレスに対して変換等を行なうアドレス変換回路と、 このアドレス変換回路からのアドレスと前記中央演算処
    理装置からのアドレスとを切り換えて前記キャッシュメ
    モリへ供給するアドレス切り換え回路とを備え、 前記中央演算処理装置から前記キャッシュメモリに対し
    てi(iは、1から始まる正の整数)ワードごとにアク
    セスする場合、前記アドレス切り換え回路は第iワード
    をロードするサイクルでは前記アドレス変換回路からの
    変換アドレスを出力させ、該サイクルで前記ヒット検出
    部は前記中央演算処理装置からのストアアドレスと前記
    キャッシュメモリのタグ部に格納されているアドレスと
    を比較することによりストアのためのヒット検出を行な
    うことを特徴とするキャッシュメモリ付きデータ処理装
    置。
  2. (2)前記中央演算処理装置はiワードごとにアクセス
    する場合、第1ワードから第i−1ワードをロードする
    各サイクルでは該ワードのロードアドレスを出力し、第
    iワードをロードするサイクル及び第1ワードから第i
    −1ワードをストアする各サイクルでは第1ワードから
    第iワードのストアアドレスを順次出力するものである
    請求項1記載のキュッシュメモリ付きデータ処理装置。
  3. (3)前記アドレス変換回路は、前記中央演算処理装置
    からのロードアドレスに対して該アドレスを次のワード
    アドレスに変換し、ヒット検出用のストアアドレスに対
    して該アドレスを次サイクルまで遅延するものである請
    求項1記載のキュッシュメモリ付きデータ処理装置。
  4. (4)前記アドレス変換回路は、第i−1ワードがロー
    ドされたサイクルで該ロードアドレスを変換し、データ
    をストアするためのヒット検出サイクルで該ストアアド
    レスを遅延するものである請求項2記載のキュッュメモ
    リ付きデータ処理装置。
  5. (5)前記アドレス切り換え回路は、iワードごとにア
    クセスする場合、第1ワードから第i−1ワードをロー
    ドする各サイクルでは前記中央演算処理装置からのロー
    ドアドレスを出力するものである請求項2記載のキャッ
    シュメモリ付きデータ処理装置。
  6. (6)前記アドレス切り換え回路は、iワードごとにア
    クセスする場合、第1ワードから第iワードをストアす
    る各サイクルでは前記アドレス変換回路からの遅延アド
    レスを出力するものである請求項3記載のキャッシュメ
    モリ付きデータ処理装置。
JP2054873A 1990-03-08 1990-03-08 キャッシュメモリ付きデータ処理装置 Pending JPH03257554A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2054873A JPH03257554A (ja) 1990-03-08 1990-03-08 キャッシュメモリ付きデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2054873A JPH03257554A (ja) 1990-03-08 1990-03-08 キャッシュメモリ付きデータ処理装置

Publications (1)

Publication Number Publication Date
JPH03257554A true JPH03257554A (ja) 1991-11-18

Family

ID=12982712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2054873A Pending JPH03257554A (ja) 1990-03-08 1990-03-08 キャッシュメモリ付きデータ処理装置

Country Status (1)

Country Link
JP (1) JPH03257554A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497473A (en) * 1992-07-14 1996-03-05 Matsushita Electric Industrial Co., Ltd. Control circuit for controlling a cache memory divided into a plurality of banks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497473A (en) * 1992-07-14 1996-03-05 Matsushita Electric Industrial Co., Ltd. Control circuit for controlling a cache memory divided into a plurality of banks

Similar Documents

Publication Publication Date Title
US6272609B1 (en) Pipelined memory controller
US6295592B1 (en) Method of processing memory requests in a pipelined memory controller
US5822772A (en) Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
US5142638A (en) Apparatus for sharing memory in a multiprocessor system
KR100335785B1 (ko) 데이타처리명령의실행
US6223260B1 (en) Multi-bus data processing system in which all data words in high level cache memories have any one of four states and all data words in low level cache memories have any one of three states
JPS6118222B2 (ja)
US7590774B2 (en) Method and system for efficient context swapping
US6370617B1 (en) Non-stalling pipeline tag controller
JPS6297036A (ja) 計算機システム
US6658537B2 (en) DMA driven processor cache
US5202970A (en) Method for sharing memory in a multiprocessor system
US6021467A (en) Apparatus and method for processing multiple cache misses to a single cache line
US5283890A (en) Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations
JPH03189843A (ja) データ処理システムおよび方法
US6065093A (en) High bandwidth narrow I/O memory device with command stacking
JPS6145272B2 (ja)
JPH03257554A (ja) キャッシュメモリ付きデータ処理装置
US6374344B1 (en) Methods and apparatus for processing load instructions in the presence of RAM array and data bus conflicts
EP1607869B1 (en) Data cache system
JPS61165170A (ja) バス制御方式
JP3145545B2 (ja) メモリアクセス装置
US20030056072A1 (en) System and method for providing data to multi-function memory
US6671781B1 (en) Data cache store buffer
JP2594140B2 (ja) データ駆動型データ処理装置