JPH0461384B2 - - Google Patents

Info

Publication number
JPH0461384B2
JPH0461384B2 JP62110867A JP11086787A JPH0461384B2 JP H0461384 B2 JPH0461384 B2 JP H0461384B2 JP 62110867 A JP62110867 A JP 62110867A JP 11086787 A JP11086787 A JP 11086787A JP H0461384 B2 JPH0461384 B2 JP H0461384B2
Authority
JP
Japan
Prior art keywords
request
address
cache
cycle
main memory
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.)
Expired - Lifetime
Application number
JP62110867A
Other languages
Japanese (ja)
Other versions
JPS63276645A (en
Inventor
Atsushi Ike
Hideki Oosone
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62110867A priority Critical patent/JPS63276645A/en
Publication of JPS63276645A publication Critical patent/JPS63276645A/en
Publication of JPH0461384B2 publication Critical patent/JPH0461384B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概 要〕 本発明は、主記憶装置の一部の写しを保持する
小容量の高速なキヤツシユ・メモリを用いて等価
的に大容量の高速なメモリを実現するキヤツシ
ユ・メモリ制御方式に関する。中央演算装置
(CPU)は命令を実行する場合、最初にキヤツシ
ユ・メモリのアドレスを与え、キヤツシユ・メモ
リ内にそのアドレスがあれば、キヤツシユ・メモ
リを参照し、なければ主記憶装置を参照する。従
来は主記憶装置への読出し要求が主記憶要求の優
先順位を決定するプライオリテイ判定回路におい
て許可が下りなかつた場合に、該判定回路の許可
が下りるまで同一の前記パイプラインフローを幾
度か起動する事で、該要求を主記憶制御装置
(MCU)へ送出していた。そのために、該要求を
MCUへ送出するのが遅れる場合があり、システ
ムの処理能力を低下させていた。 本発明は、この主記憶読出し要求が、該判定回
路で許可が下りなかつた場合に、該要求を主記憶
読出しポートに保持し、該ポートから再度該判定
回路へ要求を出すことにより、上記遅れを最小に
して、効率のよい処理の実現を可能とするもので
ある。 〔産業上の利用分野〕 本発明は、中央演算装置(CPU)内における
命令に関する制御を実行するI(Instruction)ユ
ニツトから来る命令フエツチ及びオペランドアク
セス要求に対応して、CPU内のキヤツシユ・メ
モリの制御、特に主記憶読出し要求の制御に関す
る。 キヤツシユ・メモリをCPU内に有する計算機
システムにおいて、CPU内のキヤツシユ・メモ
リアクセス時間に対し、主記憶装置に対するアク
セス時間は非常に大きい。よつて該システムの処
理能力の向上をはかるためにはキヤツシユ・メモ
リにデータがなくキヤツシユ・ミスを起こした場
合に、CPUは主記憶制御装置に参照要求を与え
キヤツシユ・メモリ内に有効なデータを主記憶装
置より効率よく転送する必要がある。本発明は主
記憶読出し要求を高速に実行するキヤツシユ・メ
モリ制御方式に関する。 〔従来技術〕 中央演算装置(CPU)と主記憶装置(MSU)
との中間に置く小容量で高速なメモリをキヤツシ
ユ・メモリ(Cache Memory)という。メモリ
は一般に高速なほど高価格なので大容量な主記憶
メモリ(以後主メモリと呼ぶ)を全て高速なメモ
リで構成するのは経済的でないため、小容量の高
速なキヤツシユ・メモリを用いて等価的に大容量
の高速なメモリを実現するキヤツシユ・メモリ方
式は特に大型計算機の処理速度を向上するために
極めて重要な技術である。主メモリに格納してい
る命令(インストラクシヨン)やオペランドデー
タの中でさしあたり使用する部分をキヤツシユ・
メモリに格納する。CPUが命令を実行するとき、
CPUは最初にキヤツシユ・メモリにアドレスを
与える。キヤツシユ・メモリ内にそのアドレスが
あればキヤツシユ・ヒツト、なければキヤツシ
ユ・ミスが起こる。キヤツシユ・ヒツトしている
間はCPUはキヤツシユ・メモリだけを参照する
ので高速処理が可能となる。キヤツシユ・ミスの
場合にはCPUは命令の実行を中断し、キヤツシ
ユ・メモリに主メモリからのデータを書き込む。 キヤツシユ・メモリの各ユニツトの構成単位は
「ブロツク」と呼ばれ、1ブロツクは数ワードか
ら構成される。キヤツシユ・メモリと主メモリの
内容を交換する場合にはブロツク単位で実行され
る。また、キヤツシユ・ミスの場合、CPUが書
込みを実行する場合には、その時点で書込み内容
をキヤツシユ・メモリに書込み、内容交換時に全
ブロツクを主メモリに書込むスワツプ方式と、書
込みが行われる毎にキヤツシユ・メモリと主メモ
リに共に書込みを実行するストア・スルー方式が
ある。 第2図はキヤツシユ・メモリを用いる場合の計
算機のシステム構成である。CPU10は命令の
解読と命令に関する制御を行うI(Instruction)
ユニツト100、オペランドデータに対して演算
を実行するE(Execoution)ユニツト101、及
びキヤツシユ・メモリや主メモリに対するメモリ
の読出しや書込みの制御で特にIユニツト100
からの要求に対してキヤツシユのヒツトとミスに
おける制御を行うS(Storage)ユニツト102
から構成される。CPU10はSユニツト102
を介してMCU11(Main Storage Control
Unit(主記憶制御装置))に接続され、MCU11
はSユニツト102からの要求に従い主メモリの
あるMSU12(Main Storage Unit)主記憶装
置))の読書き動作の制御を実行する。Iユニツ
ト100からSユニツト102にオペランドの要
求信号(OP REQ)とオペランドの要求に対す
るフエツチアドレス(OP REQ ADRS)が送
出される。またはIユニツト100からSユニツ
ト102に命令フエツチの要求信号(IF REQ)
と命令フエツチの要求に対するアドレス(IF
REQ−ADRS)が送出される。その要求に答え
るため、Sユニツト102は内部にあるオペラン
ド或いは命令用のキヤツシユ・メモリを調べ、キ
ヤツシユ・メモリにその内容がある場合、すなわ
ちキヤツシユ・ヒツトの場合には、OP STV
(OPERAND STATUS VALID)信号或いはIF
STV(INSTRUCTION FETCH STATUS
VALID)信号をIユニツト100に返す。この
ときはIユニツトはキヤツシユ・メモリに対して
読書きが可能となる。Iユニツト100はキヤツ
シユ・メモリから命令をIF CACHE DATA
として受け取る。また、Eユニツト101はキヤ
ツシユ・メモリからオペランドをOP CACHE
DATAとして受け取る。キヤツシユ・ミスの
場合はそれぞれオペランドに対するOP LMD
(OPERAND LINE MISSING DETECT)信
号や命令に対するIF LMD(INSTRUCTION
FETCH LINE MISSING DETECT)信号を返
す。この時にはキヤツシユ・メモリに要求した内
容はないため、Sユニツト102はMCU11に
対してMS REQ信号を出して主メモリの参照の
要求を行い、それと同時に、MS REQ ADRS
の参照アドレスを与える。また、要求に対する識
別信号のREQ ID信号も送出する。そしてMCU
11はMSU12の主メモリにアクセスする。
REQ IDによつてオペランドのブロツクフエツ
チ、命令のブロツクフエツチ、命令のプリフエツ
チ、Translationのブロツクフエツチなどが識別
される。MCU11からSユニツト102に要求
されたデータ(MS DATA)が送出されると同
時に、前記REQ IDと等価な識別信号RTN ID
も送出される。DATA IDはデータの順番等の
制御用の識別信号である。 オペランドあるいは命令のアドレス要求
(REQ)はSユニツト102内ではP(Priority),
T(Translative address),B(Buffer access),
R(Result)の4つの各サイクルで処理される。
Rサイクルにおいて、Buffer(キヤツシユ・メモ
リ)にデータがある場合には、キヤツシユ・メモ
リにあるデータをCPU内の汎用レジスタへ転送
する。キヤツシユにデータがない場合にキヤツシ
ユ・ミスを通知するLMD(OP LMDまたはIF
LMD)信号がアクテイブとなる。これと同時に
Sユニツト102はMS REQ信号をMCU11
に送出し、主メモリの内容とキヤツシユ・メモリ
の内容との交換動作に対する要求を行う。前記
LMD信号が出された場合には該要求REQに後続
するオペランドまたは命令の要求はパイプライン
的に処理されず、それぞれBサイクル、Tサイク
ルにおいて処理が中断される。 次に、第6図を用いて従来のキヤツシユ・メモ
リ制御方式のシステムとその動作を説明する。
OP TEARレジスタ60はTサイクルにおいて
オペランド要求アドレスを格納するレジスタであ
る。該OP TEARレジスタ60への入力はIユ
ニツト100からのオペランド要求アドレス
(IU OP REQ ADRS),61のオペランドポ
ート(OP PORT)0〜2からのアドレス、6
2のOP BFAR(バツフアアドレス)0〜3の中
からPサイクルで選択したものである。OP
TEAR60に格納されたオペランドの要求アド
レスはTサイクルでOP TLB63を用いて論理
アドレスから絶対アドレスに変換される。それと
同時にオペランド・キヤツシユ・デイレクトリ
(OP CACHE DIRECTORY)メモリ64と
MATCH回路65を用いて、該アドレスがキヤ
ツシユにあるかを調べる。キヤツシユのヒツトが
ミスかの信号はBサイクルにおいてOP DMRレ
ジスタ66にセツトされる。またOP TLB63
からの絶対アドレスはOP BAARレジスタ67
に格納される。キヤツシユ・ヒツトの場合は要求
アドレスはBサイクルにおいてOP BEAR(B
CYCLE EFFECTIVE ADDRES REGISTER)
レジスタ68にセツトされOP CACHE
DATA ARRAY69をアクセスしてキヤツシ
ユの読み書きを実行する。キヤツシユ・ミスの場
合にはRサイクルにおいて絶対アドレスが
MSAR(MAIN STORAGE ADDRES
REGISTOR)レジスタ70に格納され、そのア
ドレスはMCU11を介して主メモリをアクセス
するために使われる。 命令(Instruction)の要求アドレスに対する
処理は、第6図の下側の回路で実行され、上記し
たオペランドに対する制御方式と同様に行われ
る。 従来方式においては、該主記憶読出しポートへ
の要求アドレスは、MCU11へのMS REQ信
号の送出が許可されたものである。この要求アド
レスはMSARレジスタ70にセツトされ、それ
と同時にMCU111へMS REQ信号が送出さ
れる。この時MCU11へのMS REQ信号送出
の許可が下りなかつた要求アドレスは、該主記憶
読出しポートに送出されず、別に用意される61
のOP PORT0〜2に格納されていた。61の該
OP PORT0〜2の出力はMSAR70の入力と
はなつておらず、パイプラインを再起動するため
にOP PORTx信号として、OP TEARレジス
タ60に戻る。すなわち、Pサイクルへと送り込
むことによつて再要求されていた。 この従来技術によるキヤツシユ・メモリ制御方
式を、第5図従来方式のタイムチヤートを主に参
照しながら更に説明する。まず、第5図に示され
た各々のサイクルにおける動作について、Pサイ
クルとはプライオリテイサイクルであり、T/W
サイクルとは第6図の回路でも説明したように
OP TLB63によるアドレス変換と回路64と
65によるデイレクトリのサーチサイクルであ
り、B/Sサイクルとは回路69によるデータア
レイ読出しサイクルまたはデータアレイライトサ
イクルであり、またRサイクルとはリザルトサイ
クルのことである。Iユニツト100から送出さ
れたREQ1のIU OP REQ ADRSは、Tサイ
クルにはOP TEAR(OP T CYCLE
EFFECTIVE ADDRES REGISTER)60に有
効アドレスとしてセツトされ、OP TLB63に
より絶対アドレスに変換されるとともに、該有効
アドレスの一部でOP CACHE DIRECTORY
64を引き、該絶対アドレスとの比較が行われ
る。そして、Bサイクルにおいては、該絶対アド
レスはOP BAAR67にセツトされ、Tサイク
ルにおける比較結果がOP DMR66にセツトさ
れる。このTサイクルにおける比較結果がいずれ
のデイレクトリのWAYとも一致しなかつた場
合、つまりキヤツシユ・ミスした場合には、
MCU11に対してフエツチ動作が行われる。ま
ずBサイクルのOP DMR66よりOP LMD信
号がRサイクルでIユニツト100に送出される
とともに、OP BAAR67にセツトされた該要
求アドレスは、オペランドブロツクフエツチ要
求、命令のブロツクフエツチ要求あるいはオペラ
ンドのストア要求であるかのプライオリテイチエ
ツクを受ける。そして、その許可が得られた場合
のみ該要求アドレスは続くRサイクルにおいて
MSAR70と62のOP BFAR0〜3の空いた
ポートに格納される。そして、MSAR70より
MCU11へ該要求アドレスが送出される。
MSAR70の入力となるMCU要求源としては、
本従来方式においては、OP BAAR67、IF
BAAR71の各出力(オペランド、及び命令の
ブロツクフエツチ要求)、及び72のSTAR
(STORE ADDRES REGISTER)0〜3の出力
(オペランドのストア要求)の最大3つが競合す
る。本従来方式において、OP BAAR,IF
BAAR,STAR0〜3の順にプライオリテイを決
める制御部は第8図に示される。一方、OP
BEAR68のアドレスはそのまま次のRサイク
ルにおいてOP PORT0〜2の空いたポートに格
納される。ここで先のプライオリテイチエツクに
おいて許可が得られなかつた場合には、その要求
アドレスは必要期間だけ61のOP PORT0〜2
に保持される。第5図従来方式のRETRY
REQ1に示されるように、かかる61のOP
PORT0〜2の出力をOP PORTx信号とし、P
サイクルに戻し、プライオリテイがとれる迄、該
要求の再起動を実行していた。 上記のプライオリテイチエツクにおいて許可が
得られなかつた場合、第5図従来方式のタイミン
グチヤートに示されるようにMCU要求(REQ1)
は、61のOP PORT0〜2の空いたポートに格
納され、REQ1のRサイクル終了後1サイクル
をおいて2サイクル目に、かかるOP PORT0〜
2の要求アドレスを有効アドレスとして、Pサイ
クルから始まる同じパイプラインフローに流し、
RETRY REQ1が起動される。このタイミン
グチヤートでは2度目のRETRY REQ1でで
MCUアクセス許可が得られたものが示されてい
るが、実際にはこのRETRY REQ1において
も許可が得られない可能性も十分ある。この場合
は、上記の処理を許可が得られるまで繰り返すこ
とになる。 MCU11へ該要求アドレスを送出する際には、
第7図の制御回路に示すように62のOP
BRAR0〜3に要求アドレスが格納され第5図従
来方式に示されるように、Rサイクルから各
BFAR0〜3のVALID信号(BFAR VALID)
がセツトされる。それと共に、BF CNTL(ブロ
ツクフエツチ制御回路)75において、MS
REQ信号と該主記憶読出しポートの種類つまり
要求の種類を識別するREQ IDが作成され、
MCU11に送出され、該オペランドを含むブロ
ツクフエツツチが開始される。 尚、本従来技術におけるブロツクフエツチは
64Byte単位で行われ、MS DATAは8Byte単位
で8回に分けて送られている。MCU11からの
データ送入に際しては、第5図の下方に示される
ように、MS DATA(A,B,C,……,H)
が送出される3サイクル前にMCU11より
EATA OUT WARNING(DOW)信号、
RTN ID(REQ IDと等価なもの)信号、並び
にDATA ID信号(ブロツク中におけるデータ
の種類を示す信号)の送出が開始される。これら
の制御信号により第9図のデータ系に示される
(OP MOVE IN REGISTER EVN)OP MIR
EVN90、OP MIR ODD91にMCU11
からのMS DATAがセツトされ、オペランドに
対しては各々(OP CACHE DATA IN
REGISTER EVN)OP CDIR EVN92、
OP CDIR ODD93に転出される。MOVE
INとは第9図に示されるOP CDIR EVN92
とOP CDIR ODD93の両者にデータがセツ
トされた時点において、OP CACHE DATA
ARRAY69に該OP CDIR EVN92と該
OP CDIR ODD93の内容をP,W,Sのイ
サクルで順序よく書き込むフローである。タイム
チヤートに示すように、MOVE INが終了する
までつまりブロツクフエツチが終了するまでOP
BFAR VALIDは送出され続ける。 第5図のタイムチヤートに示されたBypassと
は、該ブロツクフエツチ要求を起動することにな
つた1ユニツト100からの要求アドレスで、指
定される8Byte以内のデータをOP CACHE
DATA ARRAY69を介することなくCPU内
の汎用レジスタのOWR(図示せず)に書込むフ
ローを示すものである。 以上、オペランドのブロツクフエツチに関する
従来技術を説明したが、命令のブロツクフエツチ
に関しても同様の制御によつて行われていた。 〔発明が解決しようとする問題点〕 以上のように、従来方式においては、主記装置
へのブロツクフエツチ要求が、MCUアクセスの
プライオリテイ判定回路すなわち、オペランドブ
ロツクフエツチ要求、命令のブロツクフエツチ要
求あるいはオペランドのストア要求であるかの判
定回路において許可が得られなかつた場合に、そ
の要求アドレスは61のOP PORT0〜2に格納
され、その出力が再びOP TEARレジスタ60
にもどるという再起動がなされていた。この再起
動のパイプラインフローによると該要求アドレス
を主記憶制御装置(MCU)へ送出するまでの時
間が大となり、処理の効率そのものが低下すると
いう問題が生じていた。 〔問題点を解決するための手段〕 本発明のキヤツシユ・メモリ制御方式の構成ブ
ロツク図は第1図に示される。 本実施例の動作は、MCUアクセス不許可時の
動作以外は従来例と同様である。MCUアクセス
不許可時、つまりBサイクルにおいて、どこのレ
ジスタ内容をMSARレジスタ70に入力するか
を決めるプライオリテイチエツクで許可が得られ
なかつた場合に、本発明では、かかる要求アドレ
スは62のOP BFAR0〜3の空いたポートに格
納される。すなわち、MCUアクセスのプライオ
リテイ判定回路において、許可がおりなかつた場
合もその要求アドレスを62のOP BFAR0〜3
に一度格納し、その出力を該プライオリテイ判定
回路20,21の入力として再送出可能としている。
このことにより、該要求を引き続いてプライオリ
テイ判定の要求源とすることを可能とする。もし
OP BFAR0〜3において空いたポートが無い場
合には61のOP PORT0〜2に格納され、従来
例と同様の処理が行われる。62のOP BFAR0
〜3には、MCUアクセスの許可を得た要求アド
レスも格納されるのでフラグによつてこの区別が
なされる。このようにMCU要求源として、本発
明では、従来例のOP BAAR,IF BAAR,
STAR0〜3の3つの他に、新たに該OP
BFAR0〜3の出力も加わつて、最大4つを有す
ることになる。 〔作 用〕 本発明の該主記憶読出しポートは、MCUアク
セスのプライオリテイ判定回路において、許可が
おりなかつた場合もその要求アドレスを62の
OP BFAR0〜3に格納し、その出力を該プライ
オリテイ判定回路の入力とし再送出可能とした。 〔実施例〕 まず、第2図の計算機のシステム構成図を用い
て本発明のキヤツシユ・メモリ制御方式を説明す
る。Iユニツト100からのIU REQ VALID
信号により例えばオペランド要求を受けたSユニ
ツト102は、、キヤツシユ・メモリに該オペラ
ンドが存在する場合にはIユニツト100に対し
OP STV(OP STATUS VALID)信号を返
す。該オペランドがキヤツシユ・メモリ内に存在
しない場合にはIユニツト100に対し(OP
LINE MISSING DETECT)OP LMD信号を
返すとともに、主記憶制御装置(MCU)11に
対してMS REQ信号を送出し、MCU11が主
記憶装置(MSU)12を制御することにより該
オペランドを含むブロツクフエツチが行なわれ
る。上記ブロツクフエツチに関する本発明のアド
レス制御系の説明図及びそのタイムチヤートはそ
れぞれ第1図及び第5図に示され、これ等の図を
参照して本発明のキヤツシユ・メモリ制御方式を
説明する。 第1図と第5図において、例えばオペランドの
要求はSユニツト102内ではP(Priority)、T
(Translative address)、B(Buffer access)、R
(Result)の4つの各サイクルで処理される。R
サイクルにおいて、Buffer(キヤツシユ・メモ
リ)にデータがない場合にはブロツクフエツチを
行い、ある場合にはキヤツシユ・メモリにあるデ
ータをCPU内の汎用レジスタへ転送する。第1
図のOP DMRレジスタ66の出力信号はOP
DIRECTO RY MATCH REGISTER信号で
キヤツシユに要求用のデータがある場合にアクテ
イブになり、ない場合にノンアクテイブとなる信
号である。OP DMR66がノンアクテイブでで
キヤツシユにデータがない場合にキヤツシユ・ミ
スを通知するLMD信号(OP LMD)がアクテ
イブとなる。これと同時にSユニツト102は
MS REQ信号をMCU11に送出し、主メモリ
からのデータ読み出しを行う。LMD信号が出さ
れた場合には該オペランド要求に後続するオペラ
ンド要求は中断される。 OP TEAR60はTサイクルにおいてオペラ
ンド要求アドレスを格納するレジスタである。該
OP TEAR60への入力は、Iユニツト100
からのオペランド要求アドレス(IU OP REQ
ADRS)、61のオペランドポート(OP
PORT0〜2)からのアドレス、62のバツフア
アドレス(OP BFAR0〜3)をPサイクルで選
択したものである。OP TEAR60に格納され
たオペランドの要求アドレスはTサイクルでOP
TLB63を用いて論理アドレスから絶対アド
レスに変換される。それと同時にオペランド・キ
ヤツシユ・デイレクトリ(OP CACHE
DIREC TORY)メモリ64とMATCH回路6
5を用いて該アドレスがキヤツシユにあるかどう
かを調べる。キヤツシユのヒツトかミスかの信号
はBサイクルにおいてOP DMR66にセツトさ
れる。また、OP TLB63からの絶対アドレス
はOP BAAR67に格納される。キヤツシユ・
ヒツトの場合は要求アドレスはBサイクルにおい
てOP BEAR68に格納され、OP CACHE
DATA ARRAY69をアクセスしてキヤツシ
ユの読書きを実行する。キヤツシユ・ミスの場合
にはRサイクルにおいてプライオリテイ判定回路
の一部の制御信号源20からの制御信号201に
よつてプライオリテイ判定回路の一部のセレクタ
21によつて選択されればその絶対アドレスが
MSAR(MAIN STORAGE ADDRESS
REGISTER)70に格納される。そして、
MSAR70内のそのアドレスはMCU11を介し
て主メモリをアクセスするために使われる。 命令に対する要求の制御はオペランドと同様に
第1図の下方の回路で実行される。 本発明によるキヤツシユ・メモリ制御方式を第
5図本発明方式のタイムチヤートを参照しながら
詳細に説明する。まず、第5図に示された各々の
サイクルについて、Pサイクルはプライオリテイ
サイクルであり、T/WサイクルはOP TLB6
3によるアドレス変換と回路64と65によるデ
イレクトリのサーチサイクルであり、B/Sサイ
クルは回路69によるデータアレイ読出しサイク
ル/データアレイライトサイクルであり、またR
サイクルとはリザルトサイクルのことである。I
ユニツト100から送出されたREQ1のIU OP
REQ ADRSは、TサイクルにはOP TEAR
60に有効アドレスとしてセツトされ、OP
TLB63により絶対アドレスに変換される。そ
れとともに、有効アドレスの一部でOP
CACHE DIRECTORY64を引き、絶対アド
レスとの比較が行われる。そして、Bサイクルに
於ては、絶対アドレスはOP BAAR67にセツ
トされ、Tサイクルにおける比較結果がOP
BAAR67にセツトされる。このTサイクルに
おける比較結果がいずれのデイレクトリのWAY
とも一致しなかつた場合、つまりキヤツシユ・ミ
スした場合には、MCU11に対してフエツチ動
作が行われる。まずBサイクルのOP DMR66
よりOP LMD信号がRサイクルでIユニツト1
00に送出されるとともに、OP BAAR67に
セツトされた該要求アドレスは、プライオリテイ
判定回路のセレクタ21に入力される。この判定
回路20,21により他のMCU要求と共にオペラン
ドブロツクフエツチ要求、命令のブロツクフエツ
チ要求、オペランドのストア要求あるいは62の
OP BFAR0〜3の出力を優先するかが決定され
る。OP BAAR67にセツトされた該要求アド
レスが該プライオリテイチエツクを受け、その許
可が得られた場合のみ続くRサイクルにおいて
MSAR70に格納される。そして、MSAR70
よりMCU11へ該要求アドレスが送出される。
MSAR70の入力となるMCU要求源としては、
本発明方式においては、OP BAAR67、IF
BAAR71の各出力(オペランド、および命令
のブロツクフエツチ要求)、および72の
STAR0〜3の出力および新たに62のOP
BFAR0〜3の出力の最大4つが競合する。 OP BFAR0〜3、OP BAAR,IF
BAAR,STAR0〜3の順にプライオリテイを決
めるプライオリテイ判定回路20,21の制御部すな
わち、本発明のMSAR入力セレクタ制御部は第
4図に示される。この回路においてBFARx
VALID信号が有効のときBFARx62内のアド
レスが選択され、BFARx VALID信号が無効
でOP BAAR VALID信号が有効のときOP
BAAR67内のアドレスが選択され、前者2つ
のVALID信号が無効で、IF BAAR VALID
信号が有効のとき、IF BAAR71内のアドレ
スが選択され、前者3つのVALID信号が無効で、
STAR VALID信号が有効のときSTAR72内
のアドレスが選択される。選択されたアドレスは
MSAR70にセツトされMCU11に送られる。 MCUアクセス不許可時、つまりBサイクルに
おける前記プライオリテイチエツクでMCUアク
セスの許可が得られなかつた場合には、本実施例
では、かかるブロツクフエツチ要求アドレスは6
2のOP BFAR0〜3の空いたポートに格納され
る。空いたポートが無い場合にはOP PORT0〜
2に格納され、従来例と同様の処理が行われる。 上記のプライオリテイチエツクにおいて許可の
得られなかつた場合の処理を、第5図本発明方式
のタイミングチヤートを用いて説明する。REQ
1において許可の得られなかつたMCU要求は、
先に説明したように62のOP BFAR0〜3の空
いたポートに格納される。REQ1のRサイクル
終了後本発明では1サイクル目に、かかる62の
OP BFAR0〜3からの要求アドレスは回路22
を介して第4図のセレクタ21の入力として起動
される。第5図本発明方式のタイミンングチヤー
トでは2度目のMS REQでMCUアドレスの許
可が得られたものとして示されているが、実際に
はこのMS REQにおいても許可が得られない可
能性も十分ある。この場合には、上記の処理
(MSARへのプライオリテイチエツク)を繰り返
すすことになる。 MCU11へ該ブロツクフエツチ要求アドレス
を送出する際には、プライオリテイ判定回路の一
部である第3図のBFAR出力セレクタ制御部に
示すように62のBFAR0〜3に要求アドレスが
格納されそれと同時に各BFAR0〜3VALID信号
がセツトされる。62のOP BFAR0〜3には、
MCUアクセスの許可を得たものも格納されるの
で、この区別のためにポートの有効フラグ
(BFAR0〜3VALID)の他に、MCUリクエスト
(MS REQ)送出の有無を示す要求フラグ
(BFAR0〜3REQ)が用意されている。MCUア
クセス許可リクエストは、上記フラグのうち有効
フラグのみがセツトされたものであり、ブロツク
フエツチ動作が終了するまで内容が保持される。
MCUアクセス不許可リクエストの場合には、ポ
ートに格納と同時に両フラグがセツトされ、
MCUアクセス許可を得た時点でリクエストフラ
グ(BFAR0〜3REQ)がリセツトされ、以後ブ
ロツクフエツチ動作が終了されるまで内容が保持
される。すなわち、第3図の回路は、BFAR0
REQが有効のとき、BFAR0が選択され、
BFAR0 REQが無効でBFAR1 REQが有効の
ときBFAR1が選択され、前記2つのREQが無効
でBFAR2 REQが有効のとき、BFAR2が選択
され、前記3つのREQが無効のとき、BFAR3が
選択されデコーダ21を介してMSAR70に入
る。 〔発明の効果〕 本発明によれば、主記憶読出しポートに空きが
ある限り、MCUリクエスト不許可のリクエスト
も格納することが出来、それによつて従来行われ
ていたパイプラインフローの再起動を行う必要が
無くなり、高速でかつ効率の良い処理が可能とな
る。
[Detailed Description of the Invention] [Summary] The present invention provides a cache memory that equivalently realizes a large-capacity, high-speed memory by using a small-capacity, high-speed cache memory that holds a copy of a portion of the main memory.・Regarding memory control method. When a central processing unit (CPU) executes an instruction, it first provides an address in cache memory, and if the address is in cache memory, it refers to cache memory, otherwise it refers to main memory. Conventionally, when a read request to the main memory device is not approved by a priority judgment circuit that determines the priority of main memory requests, the same pipeline flow is started several times until permission is granted by the judgment circuit. By doing so, the request was sent to the main memory control unit (MCU). For this purpose, the request
There were times when there was a delay in sending data to the MCU, reducing system processing power. In the present invention, when this main memory read request is not approved by the determination circuit, the request is held in the main memory read port and the request is issued again from the port to the determination circuit, thereby delaying the above-mentioned delay. This makes it possible to realize efficient processing by minimizing. [Industrial Field of Application] The present invention provides a system for storing cache memory in a central processing unit (CPU) in response to instruction fetch and operand access requests coming from an I (Instruction) unit that executes control regarding instructions within the CPU. Control, particularly control of main memory read requests. In a computer system having a cache memory within the CPU, the time required to access the main memory is much longer than the time required to access the cache memory within the CPU. Therefore, in order to improve the processing performance of the system, when there is no data in the cache memory and a cache error occurs, the CPU sends a reference request to the main memory controller to retrieve valid data in the cache memory. It is necessary to transfer data more efficiently than the main memory. The present invention relates to a cache memory control method for executing main memory read requests at high speed. [Prior art] Central processing unit (CPU) and main storage unit (MSU)
A small-capacity, high-speed memory placed between the two is called cache memory. In general, the higher the speed of memory, the more expensive it is, so it is not economical to configure all large-capacity main memory (hereinafter referred to as main memory) with high-speed memory. The cache memory method, which realizes large-capacity, high-speed memory, is an extremely important technology for improving the processing speed of large computers. You can cache the parts of the instructions and operand data stored in main memory that will be used for the time being.
Store in memory. When the CPU executes an instruction,
The CPU first gives an address to cache memory. If the address is in cache memory, a cache hit occurs; if not, a cache miss occurs. While the cache is being hit, the CPU only refers to the cache memory, enabling high-speed processing. In the case of a cache miss, the CPU suspends instruction execution and writes data from main memory to cache memory. The constituent unit of each unit of cache memory is called a "block", and one block consists of several words. When exchanging the contents of cache memory and main memory, it is executed in blocks. In addition, in the case of a cache miss, when the CPU executes a write, the contents are written to the cache memory at that time, and the swap method writes the entire block to the main memory when the contents are exchanged, and the swap method writes the entire block to the main memory when the contents are exchanged. There is a store-through method that writes to both cache memory and main memory. FIG. 2 shows the system configuration of a computer when a cache memory is used. The CPU 10 is an I (Instruction) unit that decodes instructions and controls instructions.
an E (Execution) unit 101 that executes operations on operand data, and an I unit 100 that controls memory reading and writing to the cache memory and main memory.
S (Storage) unit 102 that controls cache hits and misses in response to requests from
It consists of CPU 10 is S unit 102
MCU11 (Main Storage Control
Unit (main memory control unit)), MCU11
In accordance with requests from the S unit 102, the main storage unit (MSU 12) controls reading and writing operations of the main storage unit (MSU 12). An operand request signal (OP) is sent from the I unit 100 to the S unit 102. REQ) and the fetch address (OP) for the operand request. REQ ADRS) is sent. Alternatively, the I unit 100 sends an instruction fetch request signal (IF REQ)
and the address (IF
REQ−ADRS) is sent. To answer this request, the S unit 102 examines its internal cache memory for operands or instructions, and if the cache memory contains the contents, that is, the cache hit, the OP STV
(OPERAND STATUS VALID) signal or IF
STV (INSTRUCTION FETCH STATUS
VALID) signal to the I-unit 100. At this time, the I unit can read and write from and to the cache memory. The I-unit 100 retrieves instructions from cache memory. CACHE DATA
receive as. Also, the E unit 101 OPENs the operand from the cache memory. CACHE
Receive as DATA. In case of cache miss, OP for each operand LMD
(OPERAND LINE MISSING DETECT) IF for signals and commands LMD (INSTRUCTION
FETCH LINE MISSING DETECT) signal. At this time, there is no requested content in the cache memory, so the S unit 102 sends the MS to the MCU 11. The REQ signal is issued to request main memory reference, and at the same time, the MS REQ ADRS
Give the reference address of. Also, the identification signal REQ for the request It also sends out an ID signal. And the MCU
11 accesses the main memory of MSU 12.
REQ The ID identifies operand block fetches, instruction block fetches, instruction prefetches, translation block fetches, etc. Data (MS) requested from MCU 11 to S unit 102 DATA) is sent, and at the same time the REQ Identification signal RTN equivalent to ID ID
is also sent. DATA The ID is an identification signal for controlling the order of data, etc. The address request (REQ) of an operand or instruction is P (Priority) in the S unit 102.
T (Translative address), B (Buffer access),
Processed in each of the four cycles of R (Result).
In the R cycle, if there is data in Buffer (cache memory), the data in cache memory is transferred to a general-purpose register in the CPU. LMD (OP LMD or IF
LMD) signal becomes active. At the same time, the S unit 102 REQ signal to MCU11
to request an exchange operation between the contents of main memory and the contents of cache memory. Said
When the LMD signal is issued, requests for operands or instructions following the request REQ are not processed in a pipeline manner, and processing is interrupted in the B cycle and T cycle, respectively. Next, a conventional cache memory control system and its operation will be explained using FIG.
OP The TEAR register 60 is a register that stores an operand request address in the T cycle. The OP The input to the TEAR register 60 is the operand request address (IU OP REQ ADRS), 61 operand ports (OP PORT) address from 0 to 2, 6
2nd OP This is selected from BFAR (Buffer Address) 0 to 3 in P cycle. OP
The requested address of the operand stored in TEAR60 is opened in T cycle. The logical address is converted into an absolute address using the TLB 63. At the same time, the operand cache directory (OP CACHE DIRECTORY) memory 64 and
The MATCH circuit 65 is used to check whether the address is in the cache. The signal indicating whether the cache hit is a mistake is OP in the B cycle. Set in DMR register 66. Also OP TLB63
Absolute address from OP BAAR register 67
is stored in In the case of a cache hit, the requested address is opened in the B cycle. BEAR(B
CYCLE EFFECTIVE ADDRES REGISTER)
Set in register 68 and OP CACHE
DATA Access ARRAY69 to read and write the cache. In the case of a cache miss, the absolute address is
MSAR (MAIN STORAGE ADDRES
REGISTOR) register 70, and its address is used to access the main memory via the MCU 11. Processing for the requested address of the instruction is executed in the lower circuit of FIG. 6, and is performed in the same manner as the control method for the operands described above. In the conventional method, the request address to the main memory read port is the MS Sending of the REQ signal is permitted. This requested address is set in the MSAR register 70, and at the same time the MSAR address is sent to the MCU 111. REQ signal is sent. At this time, MS to MCU11 Request addresses for which permission to send the REQ signal is not granted are not sent to the main memory read port, but are prepared separately 61
OP of It was stored in PORT0~2. 61 applicable
OP The output of PORT0~2 is not connected to the input of MSAR70, and OP is used to restart the pipeline. As PORTx signal, OP Return to TEAR register 60. That is, it was re-requested by sending it into the P cycle. This conventional cache memory control system will be further explained with reference mainly to the time chart of the conventional system shown in FIG. First, regarding the operation in each cycle shown in FIG. 5, the P cycle is a priority cycle, and the T/W
As explained in the circuit in Figure 6, a cycle is
OP This is an address conversion cycle by the TLB 63 and a directory search cycle by circuits 64 and 65, a B/S cycle is a data array read cycle or a data array write cycle by the circuit 69, and an R cycle is a result cycle. IU of REQ1 sent from I unit 100 OP REQ ADRS is OP for T cycle TEAR(OP T CYCLE
EFFECTIVE ADDRES REGISTER) 60 as an effective address and OP It is converted to an absolute address by TLB63, and it is opened as part of the effective address. CACHE DIRECTORY
64 is subtracted and a comparison is made with the absolute address. Then, in the B cycle, the absolute address is OP BAAR67 is set, and the comparison result in T cycle is OP Set in DMR66. If the comparison result in this T cycle does not match the WAY of any directory, that is, if there is a cache miss,
A fetch operation is performed on the MCU 11. First, the OP of B cycle OP from DMR66 The LMD signal is sent to the I unit 100 in the R cycle, and the OP The request address set in BAAR 67 undergoes a priority check to determine whether it is an operand block fetch request, an instruction block fetch request, or an operand store request. Then, only if permission is obtained, the requested address is used in the following R cycle.
MSAR70 and 62 OP It is stored in the vacant ports of BFAR0 to BFAR3. And from MSAR70
The requested address is sent to the MCU 11.
The MCU request source that becomes the input for MSAR70 is:
In this conventional method, OP BAAR67, IF
Each output of BAAR71 (operand and instruction block fetch request) and STAR of 72
(STORE ADDRES REGISTER) Up to three of the outputs 0 to 3 (operand store requests) conflict. In this conventional method, OP BAAR,IF
A control section that determines priorities in the order of BAAR and STAR0 to STAR3 is shown in FIG. On the other hand, OP
The address of BEAR68 remains open in the next R cycle. Stored in vacant ports PORT0-2. If permission is not obtained in the previous priority check, the requested address will be sent to 61 OP for the required period. PORT0~2
is maintained. Figure 5 Conventional RETRY
As shown in REQ1, such 61 OPs
OP the output of PORT0~2 PORTx signal, P
The request was restarted until it returned to the cycle and was given priority. If permission is not obtained in the above priority check, the MCU request (REQ1) is sent as shown in the timing chart of the conventional method in Figure 5.
is 61 OP The OP is stored in the vacant ports of PORT0 to PORT2, and in the second cycle one cycle after the end of R cycle of REQ1, the OP PORT0~
The request address of 2 is set as the effective address and sent to the same pipeline flow starting from P cycle,
RETRY REQ1 is activated. This is the second RETRY in this timing chart. With REQ1
It shows what MCU access permission was obtained, but actually this RETRY There is also a good chance that permission will not be obtained for REQ1. In this case, the above process will be repeated until permission is obtained. When sending the requested address to the MCU 11,
62 OP as shown in the control circuit in Figure 7.
The requested address is stored in BRAR0 to BRAR3, and as shown in the conventional method in Figure 5, each address is stored from R cycle.
VALID signal of BFAR0~3 (BFAR VALID)
is set. Along with that, BF In CNTL (block fetch control circuit) 75, MS
REQ signal and REQ that identifies the type of main memory read port, that is, the type of request ID is created and
The block fetch containing the operand is sent to the MCU 11. Note that the block fetch in this prior art is
It is done in 64Byte units, MS DATA is sent in eight byte units. When sending data from the MCU 11, the MS DATA (A, B, C, ..., H)
From the MCU 11 three cycles before the
EATA OUT WARNING (DOW) signal,
RTN ID (REQ ID and equivalent) signals and DATA Sending of the ID signal (signal indicating the type of data in the block) is started. These control signals cause the (OP MOVE IN REGISTER EVN) OP shown in the data system in Figure 9. MIR
EVN90, OP MIR ODD91 and MCU11
MS from DATA is set, and for each operand (OP CACHE DATA IN
REGISTER EVN)OP CDIR EVN92,
OP CDIR Transferred to ODD93. MOVE
IN is the OP shown in Figure 9. CDIR EVN92
and OP CDIR When data is set in both ODD93, OP CACHE DATA
The OP for ARRAY69 CDIR EVN92 and corresponding
OP CDIR This is a flow for writing the contents of the ODD 93 in the order of P, W, and S cycles. As shown in the time chart, it remains OP until MOVE IN ends, that is, until block fetch ends.
BFAR VALID continues to be sent. Bypass shown in the time chart of FIG. 5 is the request address from one unit 100 that started the block fetch request, and the data within the specified 8 bytes is OPENed. CACHE
DATA This shows a flow of writing to OWR (not shown), a general-purpose register in the CPU, without going through the ARRAY 69. The prior art related to block fetching of operands has been described above, but block fetching of instructions is also performed using similar control. [Problems to be Solved by the Invention] As described above, in the conventional system, a block fetch request to the host device is sent to the MCU access priority judgment circuit, that is, an operand block fetch request, an instruction block fetch request, or an operand block fetch request. If permission is not obtained in the judgment circuit for determining whether it is a store request, the request address is Stored in PORT0~2 and its output is OP again TEAR register 60
A reboot was performed to return to normal. According to this restart pipeline flow, it takes a long time to send the requested address to the main memory control unit (MCU), resulting in a problem that the processing efficiency itself decreases. [Means for Solving the Problems] A block diagram of the configuration of the cache memory control system of the present invention is shown in FIG. The operation of this embodiment is the same as that of the conventional example except for the operation when MCU access is not permitted. When MCU access is not permitted, that is, in the B cycle, when permission is not obtained in the priority check that determines which register contents are input to the MSAR register 70, in the present invention, the requested address is 62 OP It is stored in the vacant ports of BFAR0 to BFAR3. In other words, in the MCU access priority judgment circuit, even if permission is not granted, the requested address is sent to OP62. BFAR0~3
It is possible to store the output once in , and retransmit the output as input to the priority determination circuits 20 and 21.
This allows the request to be subsequently used as a request source for priority determination. if
OP If there is no free port in BFAR0~3, 61 OP The data is stored in PORT0 to PORT2, and the same processing as in the conventional example is performed. 62 OP BFAR0
Since request addresses for which MCU access has been granted are also stored in .about.3, this distinction is made by the flag. In this way, the present invention uses the conventional OP as an MCU request source. BAAR,IF BAAR,
In addition to the three STARs 0 to 3, there is a new OP
In addition to the outputs of BFAR0 to BFAR3, there are a maximum of four. [Function] The main memory read port of the present invention allows the MCU access priority determination circuit to send the requested address to 62 even if permission is not granted.
OP The signal is stored in BFAR0 to BFAR3, and its output is input to the priority determination circuit so that it can be retransmitted. [Embodiment] First, the cache memory control method of the present invention will be explained using the system configuration diagram of a computer shown in FIG. IU from I unit 100 REQ VALID
For example, when the S unit 102 receives an operand request by a signal, it requests the I unit 100 if the operand exists in the cache memory.
OP Returns STV (OP STATUS VALID) signal. If the operand is not in cache memory, the I-unit 100 (OP
LINE MISSING DETECT)OP In addition to returning the LMD signal, the MS A block fetch including the operand is performed by sending the REQ signal and causing the MCU 11 to control the main storage unit (MSU) 12. An explanatory diagram of the address control system of the present invention relating to the block fetch and its time chart are shown in FIGS. 1 and 5, respectively, and the cache memory control system of the present invention will be explained with reference to these figures. In FIGS. 1 and 5, for example, the operand request is P (Priority), T
(Translative address), B (Buffer access), R
(Result) is processed in each of the four cycles. R
During a cycle, if there is no data in the Buffer (cache memory), a block fetch is performed, and if there is, the data in the cache memory is transferred to a general-purpose register in the CPU. 1st
Diagram OP The output signal of DMR register 66 is OP
DIRECTO RY MATCH This is a REGISTER signal that becomes active when there is requested data in the cache, and becomes inactive when there is not. OP When the DMR66 is inactive and there is no data in the cache, the LMD signal (OP LMD) becomes active. At the same time, the S unit 102
M.S. The REQ signal is sent to the MCU 11 to read data from the main memory. When the LMD signal is issued, operand requests subsequent to the operand request are interrupted. OP TEAR60 is a register that stores the operand request address in T cycle. Applicable
OP Input to TEAR60 is I unit 100
Operand request address (IU) from OP REQ
ADRS), 61 operand ports (OP
Addresses from PORT0~2), 62 buffer addresses (OP BFAR0 to BFAR3) are selected in P cycle. OP The requested address of the operand stored in TEAR60 is opened in T cycle.
The logical address is converted into an absolute address using the TLB 63. At the same time, the operand cache directory (OP CACHE
DIREC TORY) Memory 64 and MATCH circuit 6
5 to check whether the address is in the cache. The cache hit or miss signal is OP in B cycle. Set in DMR66. Also, OP Absolute address from TLB63 is OP Stored in BAAR67. cashier
In the case of a hit, the requested address is opened in the B cycle. Stored in BEAR68, OP CACHE
DATA Access ARRAY69 to read and write from the cache. In the case of a cache miss, if the control signal 201 from the control signal source 20 of the priority determination circuit is selected by the selector 21 of the priority determination circuit in the R cycle, the absolute address but
MSAR (MAIN STORAGE ADDRESS
REGISTER) 70. and,
That address within MSAR 70 is used to access main memory via MCU 11. Control of requests for instructions, as well as operands, is performed in the lower circuit of FIG. The cache memory control method according to the present invention will be explained in detail with reference to FIG. 5, a time chart of the method according to the present invention. First, for each cycle shown in FIG. 5, the P cycle is the priority cycle, and the T/W cycle is the OP cycle. TLB6
The B/S cycle is an address conversion by circuit 69 and a directory search cycle by circuits 64 and 65. The B/S cycle is a data array read cycle/data array write cycle by circuit 69.
A cycle is a result cycle. I
IU of REQ1 sent from unit 100 OP
REQ ADRS is OP for T cycle TEAR
60 as a valid address and OP
The TLB 63 converts it into an absolute address. Along with that, OP with part of the valid address
CACHE DIRECTORY64 is subtracted and compared with the absolute address. Then, in the B cycle, the absolute address is OP BAAR67 is set, and the comparison result in T cycle is OP
BAAR67 is set. The comparison result in this T cycle is the WAY of which directory.
If they do not match, that is, if a cache miss occurs, a fetch operation is performed on the MCU 11. First, the OP of B cycle DMR66
More OP LMD signal is R cycle and I unit 1
00 and the OP The requested address set in the BAAR 67 is input to the selector 21 of the priority determination circuit. These judgment circuits 20 and 21 determine whether the request is an operand block fetch request, an instruction block fetch request, an operand store request, or 62, along with other MCU requests.
OP It is determined whether to give priority to the outputs of BFAR0 to BFAR3. OP The request address set in BAAR 67 receives the priority check, and only if permission is obtained is the R cycle that follows.
Stored in MSAR70. And MSAR70
The request address is sent to the MCU 11.
The MCU request source that becomes the input for MSAR70 is:
In the method of the present invention, OP BAAR67, IF
Each output of BAAR 71 (operand and instruction block fetch request) and 72
STAR0~3 output and 62 new OPs
Up to four of the outputs of BFAR0-3 will compete. OP BFAR0~3, OP BAAR,IF
The control section of the priority determination circuits 20 and 21 that determine priorities in the order of BAAR and STAR0 to STAR3, that is, the MSAR input selector control section of the present invention is shown in FIG. In this circuit BFARx
When the VALID signal is valid, the address in BFARx62 is selected and BFARx OP when VALID signal is invalid BAAR OP when VALID signal is valid
The address in BAAR67 is selected, the former two VALID signals are invalid, and the IF BAAR VALID
When the signal is valid, IF The address in BAAR71 is selected, the former three VALID signals are invalid,
STAR An address within STAR 72 is selected when the VALID signal is valid. The selected address is
It is set in MSAR 70 and sent to MCU 11. When MCU access is not permitted, that is, when MCU access is not permitted by the priority check in cycle B, in this embodiment, the block fetch request address is 6.
2nd OP It is stored in the vacant ports of BFAR0 to BFAR3. OP if there are no free ports PORT0~
2, and the same processing as in the conventional example is performed. The process to be performed when permission is not obtained in the above priority check will be explained using the timing chart of the system of the present invention in FIG. REQ
MCU requests for which permission was not obtained in 1.
As explained earlier, 62 OP It is stored in the vacant ports of BFAR0 to BFAR3. In the present invention, in the first cycle after the R cycle of REQ1 is completed, such 62
OP Request addresses from BFAR0~3 are sent to circuit 22
is activated as an input to the selector 21 in FIG. Figure 5 Timing chart of the present invention method shows the second MS Although it is shown that permission for the MCU address has been obtained in the REQ, in reality this MS There is also a good chance that permission will not be obtained in the REQ. In this case, the above process (priority check on MSAR) will be repeated. When sending the block fetch request address to the MCU 11, the request address is stored in 62 BFARs 0 to 3, as shown in the BFAR output selector control section of FIG. ~3VALID signal is set. 62 OP For BFAR0~3,
Since MCU access permissions are also stored, in addition to port valid flags (BFAR0 to 3VALID) for this distinction, MCU requests (MS REQ) Request flags (BFAR0 to 3REQ) are prepared to indicate whether or not to send the data. The MCU access permission request has only the valid flag set among the above flags, and its contents are held until the block fetch operation is completed.
In the case of an MCU access disallowance request, both flags are set at the same time as the data is stored in the port.
The request flags (BFAR0 to 3REQ) are reset when MCU access permission is obtained, and their contents are held until the block fetch operation is completed. In other words, the circuit in Figure 3 has BFAR0
When REQ is enabled, BFAR0 is selected and
BFAR0 REQ is invalid and BFAR1 BFAR1 is selected when REQ is valid, BFAR2 is selected when the above two REQs are invalid. When REQ is valid, BFAR2 is selected, and when the three REQs are invalid, BFAR3 is selected and enters the MSAR 70 via the decoder 21. [Effects of the Invention] According to the present invention, as long as there is space in the main memory read port, requests that are not allowed for MCU requests can also be stored, thereby restarting the pipeline flow that was conventionally performed. This eliminates the need for high-speed and efficient processing.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明のキヤツシユ・メモリ制御方式
によるブロツクツチフエツチに関するアドレス制
御系の構成図、第2図はキヤツシユ・メモリを有
する計算機システムの構成図、第3図と第4図は
それぞれ本発明方式によるBFAR出力セレクタ
制御部及びMSAR入力セレクタ制御部の構成図、
第5図は従来方式と本発明方式とにおけるタイム
チヤート、第6図は従来のキヤツシユ・メモリ制
御方式によるブロツクフエツチに関するアドレス
制御系の構成図、第7図、第8図は、それぞれ従
来方式のBFAR出力セレクタ、MSAR入力セレ
クタの各制御部を示したもの、第9図は、本発明
方式/従来方式に共通なDATA系の構成図であ
る。 100……中央演算装置(CPU)、11……主
記憶制御装置(MCU)、12……主記憶装置
(MSU)、20……制御信号源、21……セレク
タ、22……プライオリテイ判定回路、60……
Tサイクルにおいてオペランド要求アドレスを格
納するOP TEARレジスタ、61……OP
PORT0〜2、62……BFAR0〜3、63……
論理アドレスを絶対アドレスに変換するOP
TLB、64……オペランド・キヤツシユ・デイ
レクトリ・メモリ、65……MATCH回路、6
6……キヤツシユのビツトがミスを示す信号をセ
ツトするOP DMRレジスタ、67……絶対アド
レスを格納するBAARレジスタ、68……キヤ
ツシユ・ヒツトの要求アドレスを格納するOP
BEARレジスタ、69……オペランド・キヤツ
シユ・データアレイ、70……キヤツシユミスの
ときの絶対アドレスを格納するMSARレジスタ、
71……IF BAARレジスタ、100……命令
(I)ユニツト、101……実行(E)ユニツト、102
……S(Storage)ユニツト。
FIG. 1 is a configuration diagram of an address control system related to block fetch using the cache memory control method of the present invention, FIG. 2 is a configuration diagram of a computer system having a cache memory, and FIGS. 3 and 4 are each according to the present invention. A configuration diagram of the BFAR output selector control unit and MSAR input selector control unit according to the method,
FIG. 5 is a time chart for the conventional method and the method of the present invention, FIG. 6 is a block diagram of the address control system related to block fetch by the conventional cache memory control method, and FIGS. 7 and 8 are BFAR of the conventional method. FIG. 9, which shows the control units of the output selector and the MSAR input selector, is a configuration diagram of the DATA system common to the present invention method and the conventional method. 100...Central processing unit (CPU), 11...Main memory control unit (MCU), 12...Main storage unit (MSU), 20...Control signal source, 21...Selector, 22...Priority determination circuit , 60...
OP that stores operand request address in T cycle TEAR register, 61...OP
PORT0~2,62...BFAR0~3,63...
OP to convert logical address to absolute address
TLB, 64...operand cache directory memory, 65...MATCH circuit, 6
6...OP that sets a signal indicating that the bit in the cache is a mistake. DMR register, 67... BAAR register that stores the absolute address, 68... OP that stores the requested address of the cache hit
BEAR register, 69... Operand cache data array, 70... MSAR register that stores the absolute address in case of cache miss.
71...IF BAAR register, 100...instruction
(I) Unit, 101... Execution (E) Unit, 102
...S (Storage) unit.

Claims (1)

【特許請求の範囲】 1 中央演算装置10内の命令制御ユニツト10
0が主記憶装置12の内容の一部を保持するキヤ
ツシユ・メモリにアドレスを与え前記キヤツシ
ユ・メモリ内に前記アドレスがあればキヤツシ
ユ・ヒツトの制御を行い前記アドレスがなければ
主記憶制御装置11をアクセスして前記主記憶装
置12に主記憶参照要求を行うキヤツシユ・メモ
リ制御ユニツト102において、 命令またはオペランドの読出しまたは書き込み
に関する前記主記憶制御装置に対する種々の要求
を優先順位に従つて選択するプライオリテイ判定
回路20,21と、 前記主記憶制御装置11への要求に対して前記
プライオリテイ判定回路20,21で許可が下り
なかつた場合に該要求を保持し再度前記プライオ
リテイ判定回路20,21に要求を与えるポート
62を少なくとも1つ有する複数の主記憶読出し
ポートを有することを特徴とするキヤツシユ・メ
モリ制御方式。 2 前記主記憶制御装置11への要求を選択する
前記プライオリテイ判定回路のセレクタ21への
入力は、オペランドおよび命令のブロツクフエツ
チの要求67,71、オペランドのストア要求7
2、および前記プライオリテイ判定回路20,2
1で許可が下りなかつた場合に該要求を保持し再
度前記プライオリテイ判定回路20,21に要求
を与えるポート62からの要求とであることを特
徴とする特許請求の範囲第1項記載のキヤツシ
ユ・メモリ制御方式。
[Claims] 1. Instruction control unit 10 in central processing unit 10
0 gives an address to the cache memory that holds part of the contents of the main memory 12, and if the address exists in the cache memory, controls the cache hit, and if the address does not exist, controls the main memory controller 11. In the cache memory control unit 102 that accesses and makes a main memory reference request to the main memory device 12, a priority control unit selects various requests to the main memory control device regarding reading or writing of instructions or operands in accordance with priority. Judgment circuits 20 and 21, and when the priority judgment circuits 20 and 21 do not approve a request to the main storage control device 11, the request is held and the request is sent to the priority judgment circuits 20 and 21 again. A cache memory control system characterized by having a plurality of main memory read ports including at least one port 62 for issuing requests. 2. Inputs to the selector 21 of the priority determination circuit that selects requests to the main memory control device 11 are operand and instruction block fetch requests 67 and 71, and operand store requests 7.
2, and the priority determination circuit 20, 2
and a request from a port 62 that holds the request and re-issues the request to the priority determination circuits 20 and 21 if permission is not granted in the cache according to claim 1.・Memory control method.
JP62110867A 1987-05-08 1987-05-08 Cache memory control system Granted JPS63276645A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62110867A JPS63276645A (en) 1987-05-08 1987-05-08 Cache memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62110867A JPS63276645A (en) 1987-05-08 1987-05-08 Cache memory control system

Publications (2)

Publication Number Publication Date
JPS63276645A JPS63276645A (en) 1988-11-14
JPH0461384B2 true JPH0461384B2 (en) 1992-09-30

Family

ID=14546695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62110867A Granted JPS63276645A (en) 1987-05-08 1987-05-08 Cache memory control system

Country Status (1)

Country Link
JP (1) JPS63276645A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199140B1 (en) 1997-10-30 2001-03-06 Netlogic Microsystems, Inc. Multiport content addressable memory device and timing signals
US6240485B1 (en) 1998-05-11 2001-05-29 Netlogic Microsystems, Inc. Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system
US6219748B1 (en) 1998-05-11 2001-04-17 Netlogic Microsystems, Inc. Method and apparatus for implementing a learn instruction in a content addressable memory device

Also Published As

Publication number Publication date
JPS63276645A (en) 1988-11-14

Similar Documents

Publication Publication Date Title
JP3765586B2 (en) Multiprocessor computer system architecture.
JP3934710B2 (en) Microprocessor
CA1300280C (en) Central processor unit for digital data processing system including write buffer management mechanism
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
US5091845A (en) System for controlling the storage of information in a cache memory
JPS62145340A (en) Cache memory control system
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
US6345320B1 (en) DMA address buffer and cache-memory control system
EP0428149A2 (en) Cache controller
US20020166004A1 (en) Method for implementing soft-DMA (software based direct memory access engine) for multiple processor systems
JPH0461384B2 (en)
WO1998012639A1 (en) Computer system
JPH0516061B2 (en)
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor
JPH05120124A (en) Built-in microprocessor type memory controlling structure
JP3039391B2 (en) Memory system
JP2680293B2 (en) Data processing device and cache memory control method
CA1305557C (en) Control signal generation circuit for arithmetic and logic unit for digital processor
JPH02259945A (en) Storing processing system
JP2923273B2 (en) Data processing system
JPH0456345B2 (en)
JP2791319B2 (en) Data processing device
JPS6054057A (en) Cache memory control system
JPH0619790A (en) Cache memory that can be directly controlled

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees