JPS5829187A - キヤツシユメモリ制御装置 - Google Patents

キヤツシユメモリ制御装置

Info

Publication number
JPS5829187A
JPS5829187A JP56126581A JP12658181A JPS5829187A JP S5829187 A JPS5829187 A JP S5829187A JP 56126581 A JP56126581 A JP 56126581A JP 12658181 A JP12658181 A JP 12658181A JP S5829187 A JPS5829187 A JP S5829187A
Authority
JP
Japan
Prior art keywords
address
cache memory
instruction
operand
information
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.)
Granted
Application number
JP56126581A
Other languages
English (en)
Other versions
JPS6126702B2 (ja
Inventor
Hiroyuki Nishimura
西村 弘行
Mikiya Akagi
赤木 三樹也
Hideki Nishimura
英樹 西村
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP56126581A priority Critical patent/JPS5829187A/ja
Priority to US06/294,121 priority patent/US4467414A/en
Priority to FR8116082A priority patent/FR2489021B1/fr
Publication of JPS5829187A publication Critical patent/JPS5829187A/ja
Publication of JPS6126702B2 publication Critical patent/JPS6126702B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は中央処理装置(以下、 C!PUと呼ぶ)及び
主記憶装置の間に設けられるキャッジ−メモリ及びこの
キャッシュメモリを制御する制御回路とを含むキャッシ
ュメモリ制御装置に関する。
一般に、この種のキャッシュメモリ制御装置を有する情
報処理装置は主記憶装置に記憶されている情報の一部を
一時的に記憶し、主記憶装置に代9それよりも高速でC
PUとの間で情報の授受を行なうキャッシュメモリを用
いることにより、高速で情報を処理することができる。
また、処理速度をより向上させるために、この形式の情
報処理装置ではパイプライン制御によって各命令を処理
している。
従来、キャッシュメモリを有する情報処理装置として、
オペランド用のキャッシュメモリと命令用のキャッシュ
メモリとを設け、  CPUからの要求がオペランドの
読み出しのときにはオペランド用キャッシュメモリから
読み出しを行ない、他方、  CPUからの要求が命令
のときには。
命令用キャッシュメモリから読み出しを行なう情報処理
装置が提案されている。
オペランド読出し要求と命令読出し要求とが競合するよ
うな場合に、この提案に係る情報処理装置は各要求をオ
ペランド用及び命令用のキャッシュメモリに分散して出
すことができるため、前述した要求の競合を回避するこ
とができる。しかしながら、パイプライン制御を行なう
情報処理装置では、命令読み出し要求とオペランド読み
出し要求とが競合するだけでなく、格納要求と命令又は
オペランド読み出し要求とがキャッシュメモリにおいて
競合することをも考慮しておく必要がある。
このように、格納要求と読み出し要求とが競合する場合
に対する対策として9本発明者等は複数のエントリを有
するキャッシュストアバッファ回路をオペランド用及び
命令用キャッシュメモリにそれぞれ対応して一組ずつ設
けたキャッシュメモリ制御装置を提案した(特願昭55
−118627号)。この形式のキャッシュメモリ制御
装置は2組のキャッシュバッファストア回路を用いてい
るため、命令に対する格納要求及びオペランドに対する
格納要求とを独立に処理できるという利点を備えている
反面、ハードウェアが多くなるという欠点をも有してい
る。
また1通常プログラムは論理アドレスを用いて書かれて
いるため、キャッシュメモリ制御装置では、この論理ア
ドレスを実アドレスに変換するアドレス変換器が必要で
ある。しかし外から、前述した特許出願では、キャッシ
ュストアバッファ回路を有するキャッシュメモリ制御装
置に適したアドレス変換器について伺等考慮されていな
い。
本発明の目的は格納要求と読み出し要求との競合並びに
オペランド読出し要求と命令読出し要求との競合をも防
止できるキャッシュメモリ制御装置を!提供することで
ある。
本発明の他の目的はハードウェアが少なく。
したがって、経済的なキャッシュメモリ制御装置を提供
することである。
本発明のより他の目的は格納要求と読み出し要求との競
合を防止できる形式のキャッンユメモリ制御装置に適し
たアドレス変換器を提供することである。
以下1図面を参照して1本発明の詳細な説明する。
第1図を参照すると1本発明の一実施例に係るキャッシ
ュメモリ制御装置は中央処理装置(以下、 CPUと略
称)−11と主記憶装置12との間に設けられている。
このキャッシュメモリ制御装置はオペランド用及び命令
用の第1及び第2のキャッシュメモリ60及び31と、
各キャッシュメモリ30及び61を制御するだめの第1
及び第2のキャッシュメモリ制御回路20及び21とを
それぞれ備えている。CPU 11はある命令のオペラ
ンドアドレスの計算がすむと、このオペランドアドレス
をオペランドアドレス出力ライン24を介して出力する
。更に、  0PU11はこのライン24を介して制御
情報もともに出力し、この命令が演算結果をあるメモリ
アドレスに格納するような種類の命令である場合には、
出力されたオペランドアドレスはアドレスバッファ回路
40に格納される。また、アドレスバッファ回路40に
格納されたメモリアドレスに格納すべき演算結果のデー
タが得られると、  CPU11は制御情報と共にそれ
をストアデータ出力ライン26を介して出力し、該デー
タはオペランドとしてデータバッファ回路50に格納さ
れる。前記バッファ回路40.50は、ともに同じ深さ
をもつ先入れ先出制御(F’IF’0)のバッファ回路
で構成されている。前記メモリアドレスとそれに対応す
るデータとは、前記バッファ回路40及び50の対応す
る場所(同じバッファアドレス)に格納される(すなわ
ち回路40に格納されたメモリアドレスに対応するデー
タは回路50の対応するバッファアドレスに格納される
)。バッファ回路40の中に格納されているすべての内
容(前記メモリアドレス)は、それぞれからのアドレス
れぞれの一方の入力端子に供給されている。
第1のアドレス−数構出回路60のもう一方の入力には
、  0PU11がオペランドをメモリアドレスから読
み出すだめの読出し要求を出す場合にそのメモリアドレ
スが供給され、かくして。
前記アドレスバッファ回路40の中に格納されている前
記いずれかのメモリアドレスと前記読出し要求メモリア
ドレスとが一致した場合には。
前記第1のアドレス−数構出回路60は一致検出信号を
第1及び竺2のキャッシュメモリ制御路60から一致検
出信号を受信すると、第1のキャッシュメモリ制御回路
2oは動作状態となり、他方、第2のキャッシュメモリ
制御回路21は不動作状態になる。また、前記第2の一
致検出回路61のもう一方の入力には、  0PU11
が命令をメモリアドレスから読み出す要求を出す場合に
、読み出すべき命令のメモリアドレスが供給され、もし
このメモリアドレスが前記アドレスバッファ回路40に
格納されているいずれかのメモシアドレスと一致する場
合には第2のアえる。この場合、第2のキャッシュメモ
リ制御回路21が動作状態となり、第1のキャッシュメ
モリ制御回路20は不動作となる。
これらの一致検出信号が与えられた場合の前記回路20
及び21の動作については後述することにして、最初は
、これらの一致検出信号がない場合の動作について説明
する。
さて、前記アドレスバッファ回路40☆←赫からのバッ
ファ格納要求情報とその出力とは。
÷mアドレスバッファ出カライン80を介し、十iii
≠前記第1及び第2のキャッシュメモリ制御回路20及
び21に供給されている。
ここで、メモリアドレスに演算結果のデータを格納する
ような型の命令が現われた場合には。
その命令のしかるべきステップにおいて、メモリアドレ
スは前記アドレスバッファ回路40に。
また、演算結果のデータは前記回路50にそれぞれ遅滞
なく格納され、従来の装置で見られるような読出し及び
格納のだめのメモリアクセスの競合によっておこるパイ
プラインの流れの乱れを回避することができる。こうし
て前記バッファ回路40及び50に内容が格納されると
、前記アドレスバッファ回路40はバッファ格納要求情
報を前記出力ライ/80を介しそれぞれの前記第1及び
第2のキャッシュメモリ制御回路20及び21に供給す
る。
一方、第1のキャッジ−メモリ制御回路20は、前記出
力ライン24を介して、  CPU11からある命令の
オペランド読出し要求を受け、そのと°き、前記一致検
出信号、が無い場合には、この読出し要求を前記回路4
0からのバッファ倫起格納要求に優先して受付ける。こ
の場合、前記バッファ回路40及び50はCPU11か
らの格納要求に応じて格納すべきデータを一時格納する
ことができるので、その結果、第1のキャッシュメモリ
制御回路20はCPU11からの格納要求をバッファ回
路40及び50で保留して、読出し要求を優先して受付
けることが可能である。従って、  CPU11からの
読出し要求と格納要求とが競合したとしても、パイプラ
インの流れの乱れを回避することができる。こうして読
出し要求を受付けると、前記回路20は、前記ライン2
4を介して供給されるメモリアドレスのデータを。
第1のキャッシュメモリ30から読み出しCPU11に
供給する(このとき指定されたメモリアドレスが前記キ
ャッシュメモリ60に有効に存在しない場合には、前記
回路20は、そのメモリアドレスのデータを含むブロッ
クを主記憶装置12から読み出し前記第1のキャッシュ
メモリ60に格納し、それとともに、指定されたメモリ
アドレスのデータを0PU11に供給するように制御す
る)。
0PU11から前記読出し要求がなく、前記アドレスバ
ッファ回路40からの前記格納要求がある場合には、前
記第1のキャッシュメモリ制御回路20は、この格納要
求を受付け、前記ライン80を介して読み出されるアド
レスデータで指定される。前記第1のキャッシュメモリ
30のメモリアドレスに、このアドレスデータに対応す
る。前記回路50に格納されているデータを1つ読み出
して格納する。このとき、もし前記第1のキャッシュメ
モリ30の中に、このメモリアドレスが有効に存在しな
い場合には、これらのデータは前記バッファ回路40及
び50から読み捨てられるだけでよい。それは下記の理
による。
すなわち、特に図示していないが、主記憶装置12には
前記アドレスバッファ回路40及び前記データバッファ
50と同じ深さをもちそれぞれと全く同じ内容が書き込
まれるアドレスノくツファ回路および、データバッファ
回路が別に設けられており、前記メモリアドレスに格納
すべきデータは、現在説明しているキャッシュメモリ(
オペランド用キャッシュメモリ30及び命令用キャッシ
ュメモリ31)への格納処理と全く独立して、主記憶装
置12への格納処理が別になされるようになっているか
らである。すなわち、前記回路40及び回路50に一時
格納されているデータは、もともと主記憶装置12の指
定されたメモリアドレスに書き込むだめのデータであり
、上述の主記憶装置12内の1゛レスバツフア路とデー
タバッファ回路とは、主記憶装置12に対する他回路か
らのアクセスの空き時間を利用して、前記データを主記
憶装置12に格納するために、そのデータを一時格納し
ておくバッファである。このように、主記憶装置12へ
の格納に対しては、独立したルートが別に設けられてい
るので、前記第1のキャッシュメモリ30に格納すべき
メモリアドレスが有効に存在しない場合には、とくにこ
れに対して特別な処理を行なう必要はない。
さて、第1のキャッシュメモリ30に対するのと全く同
じ形の処理が第2のキャッシュメモリ31に対しても行
なわれる。すなわち、アドレスバッファ回路40は、自
分がデータをもっている場合には、前記バッファ出力ラ
イン80を介して格納要求を第2のキャッシュメモリ制
御回路21にも与える。前記回路21は、もう一方では
、  0PU11から命令読出し要求ライン28を介し
、命令読出し要求を受けている。この要求が受付けられ
、かつ、前記第2のアドレス−数構出回路61からの一
致検出信号がない場合には、前記回路21は、前記ライ
ン28で指定されるメモリアドレスの内容を第2のキャ
ラツユメモリ31から読み出してCPU11に供給する
(このとき、もし指定されたメモリアドレスのデータが
前記キャッシュメモリ31に有効に存在しない場合には
、主記憶装置12から読み出して供給するが、その方法
は前述の第1のキャッシュメモリ30の場合と同様であ
る)。0PU11から命令読出しの要求がなく、前記回
路40からの格納要求がある場合には、前記回路21は
前記回路40から格納すべきメモリアドレスを読み出し
、もしそのメモリアドレスが前記第2のキャッシュメモ
リ31に有効に存在する場合には、該メモリアドレスの
データを、データバッファ回路50から読み出したデー
タによって書き換える。しかし、もし前記格納すべきメ
モリアドレスが前記キャッシュメモリ31に有効に存在
しない場合には、前述した通り、前記バッファ回路40
及び50の対応するデータを1つ読み捨てるだけとする
さて9以上は前記アドレス−数構出回路60及び61か
らの一致検出信号が存在しない場合の動作であるが、何
れかの一致検出信号がある場合には下記のようになる。
今、前述のようにCPU11からのオペランド読出し要
求があり、そのオペランドのメモリアドレスが、アドレ
スバッファ回路40の中に格納されているあるデータ(
ブトレス)と一致したとすると、第1の一致検出回路6
0は一致検出信号を第1及び第2のキャッシュメモリ制
御回路20及び21に与える。これを受けると前記回路
20は前記回路40からの格納要求を優先して受付け、
前記一致がおこったアドレスまでの前記回路40に格納
されているアドレスと前記回路50の中に格納されてい
る対応するデータとを順次(FIFO制御で)読み出し
、前者で指定されるメモリアドレスに後者のデータを格
納する。
この場合に、もし指定されたあるメモリアドレスがキャ
ッシュメモリ30の中に有効に存在しない場合には、前
述のようにそのメモリアドレスに対応するデータは読み
捨てるだけでよい。
こうして一致が起ったメモリアドレスまでの格納要求を
処理してから前記回路20は前記C!T’U Ifから
の読出し要求を受付ける。このように制御することによ
って、先行命令が第1のキャッシュメモリ30のある゛
メモリアドレスを更新する場合に、後続命令が該メモリ
アドレスのデータをオペランドとして使用するような事
態が発生すると、オペランドの先取りや格納すべきデー
タの一時保留等の動作に関係なく後続命令は必ず先行命
令によって更新されたデータをオペランドとして使用す
ることになるので誤動作を”起すことがない。
この場合、第2のキャッシュメモリ制御回路21にも第
1のアドレス−数構出回路60からの一致検出信号が送
られるが、第2のキャッシュメモリ制御回路21は第1
のアドレス−数構出回路60からの入力であることを識
別して動作を停止する。
同様に、  0PU11が命令読出し要求ライン28を
介して命令の読出し要求を行ない、この命令を読み出す
べき指定されたメモリアドレスが。
アドレスバッファ回路40に格納されているいずれかの
データと一致した場合には、第2のアドレス−数構−出
回路61は一致検出信号を第2及び第1のキャッシュメ
モリ制御回路21及び20に与える。これを受けると前
記回路21は前記回路41からの格納要求を優先して受
付け。
前記一致が起ったアドレスまでの前記回路40に格納さ
れているアドレスと前記回路50の中に1格納されてい
る対応するデータとを順次(PI°FO制御で)読み出
し、第2のキャッシュメモリ31の前者で指定されるメ
モリアドレスに後者のデータを格納する。この場合に、
もし指定されたあるメモリアドレスがキャッシュメモリ
61の中に有効に存在しない場合には、前述のように、
そのメモリアトじスに対応するデータを読み捨てるだけ
にする。こうして、一致が起ったメモリアドレスまでの
前記回路40からの格納要求を処理してから、前記回路
21は前記CPTJ11からの命令読出し要求を受付け
る。このように制御することにより、第2のキャッシュ
メモリ31のあるメモリアドレスを更新する命令のすぐ
あとで、  CPU11が該メモリアドレスのデータ(
命令)を命令として読み出すような場合に。
キャッシュメモリ31に格納すべき命令を一時保留し前
記回路40及び50に格納しておくという処理があるに
もかかわらず、必ず先行命令で更新された命令が命令用
キャッシュメモリ31より読み出されて0PU11に供
給されることになるので誤動作を起すことがない。
また、この場合にも、前記回路20にも前記−数構出信
号が送られるので、前記回路2oは第1のアドレス−数
構出回路60で一致検出信号が検出された時と同様に動
作を停止する。
また、上の実施例では、−数構出回路6oまたは61で
一致が検出された場合に、その一致が検出されたアドレ
スに対応するデータまでを他に優先してFIFOでキャ
ッシュメモリ3oまたは31に書き込むように制御した
が、このかわりに、一致が起ったアドレスのデータだけ
を他に優先してキャッシュメモリに書き込むように制御
することもできる。このような制御により。
処理速度を更に改善することができる。
第2図及び第3図を参照すると9本発明の第2の実施例
に係るキャッシュメモリ制御回路はオペランドの読出し
要求及び格納要求に付随するアドレス情報として、論理
アドレスが与えられる情報処理システムに適用される。
このため。
この実施例は、第2図に示すように、  CPUIIか
らの論理アドレスを実アドレスに変換するアドレス変換
回路90を備えている。一般に、命令読出し要求に伴な
うアドレスも論理アドレスの形で与えられるから、第2
のキャッシュメモリ制御回路21にもアドレス変換回路
を接続する必要があるが、説明を簡略化するために、こ
こでは省略している。尚、第2のアドレス−数構出回路
61には、論理アドレスのままで、命令読出し要求に伴
なうアドレスが与えられている。
また1図示されたアドレス変換回路90は単に論理アド
レスを実アドレスに変換するだけでなく、後述するよう
に、論理アドレスの一部又は全部をアドレスバッファ回
路40及び第1のアドレス−数構出回路60に送出する
機能を有し、他方、アドレスバッファ回路40は実アド
レスだけでなく論理アドレスをも格納する機能を有して
いる。ここで、第1及び第2のアドレス一致検出回路6
0及び61はアドレスバッファ回路40内に格納されて
いるアドレスと読出し要求に伴なうアドレスとを論理ア
ドレスの形で比較する。このように、この実施例では、
アドレスバッファ回路40内のアドレスを実アドレスに
変換することなく、アドレス比較を行なっているため、
迅速に一致及び不一致を検出できる。
第3図を参照して、第2図に示されたアドレス変換回路
90を第1のキャッシュメモリ制御回路20.第1のキ
ャッシュメモリ60.  アドレスバッファ回路50.
及び第1のアドレス一致検出回路60に関連して説明す
る。尚、読出要求及びストア要求は図示しないCPU1
1内の回路で識別されるものとする。
0PU11からの読出要求及びストア要求に付随する論
理アドレスはアドレス変換回路90内の論理アドレスレ
ジスタ91(略称LAT’L )にセットされる。LA
Rにセットされた論理アドレスはアドレス変換KEY部
92を索引し論理アドレスから実アドレスへの対応が登
録されているか否かをチェックする。前記アドレス変換
KEY部(TI、B−KEY部)92に登録されていれ
ば対応するアドレス変換データ部(TLB−DATA部
)93に実ページアドレスが登録され″ており切換回路
27ではTLB−DATA部の出力が切換回路28では
LARのページ内アドレスがそれぞれ選択され実アドレ
スが得られ物理アドレスレジスタ26(略称I’AR)
にセットされる。前記TLB−KEY部92に前記論理
アドレスが登録されていない場合、アドレス変換を行な
ってその結果が前記TLB−KEY部92゜TLB−D
ATA部96に登録される。このアドレス変換アルゴリ
ズムは公知であるので、ここでは説明を省く。
0PU11からストア要求があった場合、前記アドレス
変換回路90から実アドレスを得てアドレスバッファ回
路40内の実アドレス部(略称5TB−RA)45に格
納される。同じタイミングで前記L/191にセットさ
れている論理アドレスは前記アドレスバッファ回路40
内の論理アドレス部(略称5TB−LA)42に格納さ
れる。本実施例では前記回路40はFIFOに構成され
ている。
前記CPU11からストアデータがデータノくツファ回
路50に与えられると前記CPU11に対するストア動
作は完了したとみなすが、  CPU11はノくイブラ
インによる先行制御を行なっている為、ストア用アドレ
スはストアデータとは独立に前記回路40に格納される
読出動作の場合、前記アドレス変換回路90から実アド
レスを得ると共に、それと並行して前記キャッシュメモ
リ制御回路20内のキャッシュメモリ用のディレクトリ
であるアドレスアレイ23を索引してオペランド用キャ
ッシュメモリ30に所望のデータを含む1ブロツクが登
録されているか否かを比較回路24により調べその結果
をアドレスアレイヒツトレジスタ25(略称AHR)に
セットする。通常バッファメモリに登録されている場合
、  FO()ND BLOCK (略称FDB )と
いい、登録されていない場合 N0TFOUNDBLO
CK(略称NF’B )という。前記CPU11からオ
ペランド読出要求があると、前記LAR91にその読出
要求論理アドレスがセットされる。
一方、前記LAR91の全アドレス情報または一部は、
第1のアドレス一致検出回路60内のn個の比較回路6
2に接続され前記5TB−LA 42に登録されている
ストア論理アドレスの全部域たは一部と比較され、所望
のデータが前記回路50に格納されているか否かを検出
し、その結果をストアバッファヒツトレジスタ63(略
称5HR)にセットし、該5HR63からは一致検出信
号が切換回路46及び前記回路20に送られ、前記LA
R91にセットされた読出要求に伴なうアドレス情報は
一時的に止められ、前記5TB−RA45のアドレス情
報が前記回路20内のストアバッファ出力アドレスレジ
スタ(SAR)29に送られ前記切換回路28を介して
前記AA23を索引し対応するブロックアドレスがAA
23に登録すれていれば前記AHR24から前記回路3
0内のデ−タアレイ32に前記回路50からのストアデ
ータが前記PAR26で示されるアドレスにストアすべ
く指示が出される。かくして前記回路5oに格納されて
いるストアデータが全てまたは、前記回路60で一致信
号が検出された5TB−LA内のストアアドレスに対応
するストアデータが前記DA32にストアされた後、前
記LAR91で一時的に止められた読出要求論理アドレ
スが前記TLB−KEY部92. TLB−DATA部
93.比較回路94、ゲート回路95を通して前記PA
R26にセットされ、所望のデータが前記AA23に登
録されていれば前記DA32から前記PAR26と前記
AHR25で示される所望データがゲート33を介して
読み出され前記切換回路46を介して前記0PU11に
送られる。
本実施例では特にストアバッファとAAを並列索引して
いてAAの索引結果をレジスタAHRにセットしている
為、ストアバッファの索引を論理アドレスで行なう長所
が生まれる。すなわちストアバッファの索引の結果はレ
ジスタSHRにセットされていてストアバッファ及びバ
ッファメモリのデータの有無をレジスタ(ソリツブフロ
ップかち構成される)の出力で直接判断できる為、ハー
ドウェアにとって論理素子の遅延時間に関し、非常に有
利となり、従って制御もやりやすくなる。
ところで仮想記憶方式では、異なる論理アドレスに対し
、同じ実アドレスを割り付けることがある。この場合、
1つの論理空間において異なる論理アドレスが同時に同
じ実アドレスを指してはいけ力いという条件が必要であ
る。論理空間の切換、及び主記憶装置のメモリエリアの
ページイン、ページアウトに際しては、アドレス変換バ
ッファの同期化が必要であり、且つ。
書込要求がストアバッファに存在しないことを確認しな
ければならない。もし、@込要求がストアバッファに保
持されている場合は、すべての書込要求をストアバッフ
ァから掃き出して。
情報処理装置内で書込処理が終了した後、論理空間の切
換え、及び主記憶装置のページイン。
ページアウトが可能と々る。これは9本発明にかかわら
ず通常9行なっていることであり9本発明を実施する為
の制限とはならない。
以上述べたように9本発明によれば、アドレスバッファ
回路とデータバッファ回路を一組設け、この−組のバッ
ファ回路を別々に設けられたオペランド用キャッシュメ
モリと命令用キャッシュメモリとを組み合せた構成を備
えている。
したがって9本発明では、比較的少ないハードウェアで
キャッシュのヒツト率およびスループットを高めかつパ
イプライン方式の先行制御を行ナウCPUをもつ情報処
理装置のパイプラインの流れの乱れによる時間損失を改
善しかつ先行制御によるオペランドの先取りゃ命令の先
取り(7)結果中ずる問題を解決したキャッシュメモリ
制御装置を提供することができる。これにより情報処理
装置の処理効率が改善できるという効果がある。
以下余白
【図面の簡単な説明】
第1図は本発明の一実施例に係るキャッシュメモリ制御
装置のブロック図、第2図は本発明の他の実施例に係る
キャッシュメモリ制御装置のブロック図、及び第3図は
第2図の実施例で使用されるアドレス変換器のブロック
図テある。 、第1図において、11・・・中央処理装置(01)U
)。 24・・・オペランドアドレス出力ライン。 26・・・ストアデータ出力ライン、12・・・主記憶
装置、28・・・命令読出し要求ライン、   20・
・・オペランド用キャッシュメモリ制御回路。 21・・・命令用キャッシュメモリ制御回路。 60・・・オペランド用キャッシュメモリ。 31・・・命令用キャッシュメモリ。 40・・・→−→−#杵榊アドレスバッファ回路。 −゛。 50・・・に−奉≠半揃データバッ7ヶ回路。 +  +   □ 60・・・第1のアドレス一致検出回路。 61・・・第2のアドレス一致検出回路。 70・・・アドレス比較ライン。 80・・・アドレスバッファ出力ライン。 90・・・アドレス変換回路。 92・・・TLB KEY部、  93・・・TLBデ
ータ部。 23・・・アドレスアレイ  略称AA32・・・デー
タアレイ   略称DA42・・・ストアバッファの論
理アドレス部略称5TB−LA 45・・・ストアバッファの実アドレス部略称5TB−
RA 91・・・論理アドレスレジスタ 略称LAR26・・
・物理アドレスレジスタ 略称PAR29・・・ストア
バッファ出力アドレスレジスタ略称5AR 25・・・アトレスアレイヒツトレジスタ略称AHR 63・・・ストアバッファヒツトレジスタ略称5IR 94・・・比較回路 24・・・ 1 62・・・ I 27・・・切換回路1 28・・・切換回路2 46・・・切換回路6 95・・・ANDゲー1 33・・・

Claims (1)

  1. 【特許請求の範囲】 1、主記憶装置と中央処理装置との間に設けられたキャ
    ッシュメモリ制御装置において、前記主記憶装置に記憶
    されている命令情報の一部を−゛時的記憶し、前記主記
    憶装置の代りに、前記中央処理装置との間で命令情報の
    授受を行なう命令用キャッシュメモリと;前記主記憶装
    置に記憶されているオペランド情報の一部を一時的に記
    憶し、前記主記憶装置の代りに、前記中央処理装置との
    間でオペランド情報の授受を行なウオペランド用キャッ
    シュメモリと;前記中央処理装置から前記主記憶装置へ
    のストア要求に応答して、前記ストア要求に伴なうスト
    アアドレス情報とストアデータ情報とをそれぞれ独立に
    受は取り一時的に記憶し、出力すべきストアアドレス情
    報とストアデー\夕情報とが揃うと6前記命令用キヤツ
    シユメモリ、 +’+II +1t: Aペランド用キ
    ャッシュメモリ、前記主記憶装置にパッソアストア要求
    を発生するキャッシュストアバッファ回路と;前記中央
    処理装置及び前記キャッシュストアバッファ回路とに結
    合され、前記中央処理装置からの命令読出し要求アドレ
    ス情報と前記キャッシュストアバッファ回路に一時的に
    記憶されている全てのアドレス情報とを比較し、一致し
    たアドレスが検出されると、命令アドレス一致検出情報
    を発生する命令アドレス一致検出回路と;前記中央処理
    装置に結合されると共に、前記キャッシュストアバッフ
    ァ回路に前記命令アドレス一致検出回路と共通に結合さ
    れ、前記中央処理装置からのオペランド読出し要求アド
    レス情報と珀記キャッシュストアバッファ回路に一時的
    に記憶されている全てのアドレス情報とを比較し、一致
    アドレスが検出されると、オペランドアドレス一致検出
    情報を発生するオペランドアドレス一致検出回路と;前
    記中央処理装置、前記主記憶装置、前記命令用キャッシ
    ュメモリ、及び前記キャッシュストアバッファ回路とに
    結合された命令用キャッシュメモリ制御部;及び前記中
    央処理装置、前記主記憶装置、前記オペランド用キャッ
    シュメモリ及び前記キャッシュストアバッファ回路とに
    結合されたオペランド用キャッシュメモリ制御部と;を
    備え、前記命令用キャッシュメモリ制御部は前記中央処
    理装置からの命令読出し要求式応答して前記命令用キャ
    ッシュメモリにその要求アドレスが存在するか否かをチ
    ェックし、要求アドレスがあれば該命令用キャッシュメ
    モリから要求アドレスの命令情報を読み出し、要求アド
    レスがなければ前記主記憶装置から前記要求アドレスの
    命令情報を読み出し前記命令用キャッシュメモリに記憶
    するよう制御し、前記斧ヤッシュストアパッファ回路か
    らのストア要求に応答して前記命令用キャッシュメモリ
    に該ストアアドレスが存在するか否かをチェックし要求
    アドレスがあれば前記ストアバッファ回路からのストア
    情報を該命令用キャッシュメモリの要求アドレスにスト
    アするよう制御し、前記命令アドレス一致検出情報が発
    生した場合、前記オペランド用キャッシュメモリ制御回
    路を停止さセタ状態で前記キャッシュストアバッファ回
    路からのストア要求を優先して処理するように制御し′
     前記オペランド用キャッシュメモlJ制御! 部は前記中央処理装置からのオペランド読出し要求に応
    答して前記オペランド用キャッシュメモリにその要求ア
    ドレスが存在するか否かをチェックし要求アドレスがあ
    れば該オペランド用キャッシュメモリから要求アドレス
    のオペランド情報を読み出し要求アドレスがなければ前
    記主記憶装置から前記要求アドレスのオペランド情報を
    読み出し前記オペランド用キャッシュメモリに記憶する
    よう制御し、前記キャッシュストアバッファ回路からの
    ストア要求に応答して前記オペランド用キャッシュメモ
    リに該ストアアドレスが存在するか否かをチェックし要
    求アドレスがあれば前記ストアバッファ回路からのスト
    ア情報を該オペランド用キャッシュメモリの要求アドレ
    スにストアするよう制御し、前記オペランドアドレス一
    致検出情報が発生した場合、前記命令用キャッシュメモ
    リ制御回路を停止させた状態では前、記キャッシュスト
    アバッファ回路からのストア要求を優先して処理するよ
    うに制御することを特徴とするキャッシュメモリ制御装
    置。
JP56126581A 1980-08-22 1981-08-14 キヤツシユメモリ制御装置 Granted JPS5829187A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP56126581A JPS5829187A (ja) 1981-08-14 1981-08-14 キヤツシユメモリ制御装置
US06/294,121 US4467414A (en) 1980-08-22 1981-08-19 Cashe memory arrangement comprising a cashe buffer in combination with a pair of cache memories
FR8116082A FR2489021B1 (fr) 1980-08-22 1981-08-21 Agencement d'antememoires comprenant une antememoire tampon en combinaison avec une paire d'antememoires

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56126581A JPS5829187A (ja) 1981-08-14 1981-08-14 キヤツシユメモリ制御装置

Publications (2)

Publication Number Publication Date
JPS5829187A true JPS5829187A (ja) 1983-02-21
JPS6126702B2 JPS6126702B2 (ja) 1986-06-21

Family

ID=14938709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56126581A Granted JPS5829187A (ja) 1980-08-22 1981-08-14 キヤツシユメモリ制御装置

Country Status (1)

Country Link
JP (1) JPS5829187A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60123936A (ja) * 1983-12-07 1985-07-02 Fujitsu Ltd バッフア記憶制御方式
JPS60151749A (ja) * 1984-01-18 1985-08-09 Nec Corp 情報処理装置
JPS6116350A (ja) * 1984-07-02 1986-01-24 Nec Corp 情報処理装置のバツフア記憶装置
JPS6149250A (ja) * 1984-08-17 1986-03-11 Fujitsu Ltd バツフア記憶制御方式
JPS61245963A (ja) * 1985-04-23 1986-11-01 Toshiba Mach Co Ltd 溶湯供給装置
JPH0168156U (ja) * 1987-10-20 1989-05-02
US6374334B1 (en) 1994-07-04 2002-04-16 Fujitsu Limited Data processing apparatus with a cache controlling device
JP2006318471A (ja) * 2005-05-09 2006-11-24 Sony Computer Entertainment Europe Ltd データ処理におけるメモリキャッシング

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63130502U (ja) * 1987-02-18 1988-08-26

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60123936A (ja) * 1983-12-07 1985-07-02 Fujitsu Ltd バッフア記憶制御方式
JPS60151749A (ja) * 1984-01-18 1985-08-09 Nec Corp 情報処理装置
JPS6116350A (ja) * 1984-07-02 1986-01-24 Nec Corp 情報処理装置のバツフア記憶装置
JPS6149250A (ja) * 1984-08-17 1986-03-11 Fujitsu Ltd バツフア記憶制御方式
JPS61245963A (ja) * 1985-04-23 1986-11-01 Toshiba Mach Co Ltd 溶湯供給装置
JPH0168156U (ja) * 1987-10-20 1989-05-02
US6374334B1 (en) 1994-07-04 2002-04-16 Fujitsu Limited Data processing apparatus with a cache controlling device
JP2006318471A (ja) * 2005-05-09 2006-11-24 Sony Computer Entertainment Europe Ltd データ処理におけるメモリキャッシング

Also Published As

Publication number Publication date
JPS6126702B2 (ja) 1986-06-21

Similar Documents

Publication Publication Date Title
CA1124888A (en) Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
JP3802061B2 (ja) アドレス変換速度アップのための並列アクセスマイクロ−tlb
JPS6135584B2 (ja)
EP0019358B1 (en) Hierarchical data storage system
JPS59165144A (ja) 命令取出し装置
US5339397A (en) Hardware primary directory lock
US4658356A (en) Control system for updating a change bit
US6044447A (en) Method and apparatus for communicating translation command information in a multithreaded environment
EP0533427A1 (en) Computer memory control system
JPS5829187A (ja) キヤツシユメモリ制御装置
US7711899B2 (en) Information processing device and data control method in information processing device
JP4297846B2 (ja) アドレス変換バッファ制御装置およびアドレス変換バッファ制御方法
JP2685455B2 (ja) データ処理装置
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
JPS6022376B2 (ja) キャッシュメモリ制御装置
JP2700147B2 (ja) 命令キャッシュ・フラッシュ・オン・rei制御
JP2976980B2 (ja) キャッシュ制御方式
JP3284508B2 (ja) データ先読み制御装置
JPH01251248A (ja) スタックデータ構造用キャッシュ制御方式
JP2550493B2 (ja) 入出力制御装置
JPH0148571B2 (ja)
JPS5829186A (ja) 情報処理装置
JPH04205535A (ja) コピーオンライト方式
JPS5818710B2 (ja) 記憶システム
JPH02297656A (ja) データ制御方式