JP2538993B2 - オペランドストアのキャッシュメモリヘのストア制御方式 - Google Patents

オペランドストアのキャッシュメモリヘのストア制御方式

Info

Publication number
JP2538993B2
JP2538993B2 JP63151861A JP15186188A JP2538993B2 JP 2538993 B2 JP2538993 B2 JP 2538993B2 JP 63151861 A JP63151861 A JP 63151861A JP 15186188 A JP15186188 A JP 15186188A JP 2538993 B2 JP2538993 B2 JP 2538993B2
Authority
JP
Japan
Prior art keywords
store
operand
cache memory
data
instruction
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 - Fee Related
Application number
JP63151861A
Other languages
English (en)
Other versions
JPH01318119A (ja
Inventor
秀樹 大曽根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP63151861A priority Critical patent/JP2538993B2/ja
Publication of JPH01318119A publication Critical patent/JPH01318119A/ja
Application granted granted Critical
Publication of JP2538993B2 publication Critical patent/JP2538993B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする課題 課題を解決するための手段 作用 実施例 発明の効果 〔概要〕 中央処理装置(CPU)内に、ストア要求を格納するス
トアバッファと,命令フェッチ用の命令キャッシュメモ
リと,オペランド用のオペランドキャッシュメモリとを
備えた情報処理装置における命令の書き換えに必要なオ
ペランドストアの命令キャッシュメモリへのストア制御
方法に関し、 オペランドストアの命令キャッシュメモリへのストア
動作を早く完了させることを目的とし、 オペランドストア実行時に、オペランドアクセスをオ
ペランド用キャッシュメモリに対して行った後、主記憶
へのストアと命令フェッチ用キャッシュメモリへのスト
アを行う際、別途実行されている命令フェッチで命令フ
ェッチ用キャッシュメモリに当該命令のアドレスのデー
タが無かった場合のムーブインデータが、該命令フェッ
チ用キャッシュメモリに転送されてくることを予告する
信号(MCU DOW)と、該ムーブインデータが命令読み出
しを示す信号(MCU−RTN−CODE)との論理積条件で、上
記オペランドストアの命令キャッシュメモリへのストア
を行うフロー(IF−ST−REQ)(命令フェッチ用キャッ
シュメモリにストアするアドレスのデータが登録されて
いるかを検索する検索フローと,該データが登録されて
いる場合に、実際に、命令フェッチ用キャッシュメモリ
にストアデータを書き込む書き込みフローからなる)の
検索フローの開始を抑止するよう構成する。
〔産業上の利用分野〕
本発明は、中央処理装置(CPU)内に、ストア要求を
格納するストアバッファと,命令フェッチ用の命令キャ
ッシュメモリと,オペランド用のオペランドキャッシュ
メモリとを備えた情報処理装置における命令の書き換え
に必要なオペランドストアの命令キャッシュメモリへの
ストア制御方法に関する。
通常、大型の計算機システムにおいては、命令の効率
的な実行を確保する為に、命令の先行読み出しを行い命
令バッファにバッファリングしながら、パイプラインで
個々の命令を処理している。
一方、該大型の計算機システムでは、主記憶装置(M
S)と,中央処理装置(CPU)との間の速度差を吸収する
為と、命令,及びデータのアドレス分布に局所性がある
ことに着目して、小容量ではあるが高速のキャッシュメ
モリを中央処理装置(CPU)側に設けて、メモリアクセ
スの高速化を図っている。
このようなシステムにおいては、実際に実行されてい
る命令のオペランドフェッチと、上記命令の先行読み出
しの為の命令フェッチとが競合することがあることか
ら、その衝突を回避する目的で、命令フェッチ用の命令
キャッシュメモリと,オペランドアクセス用のオペラン
ドキャッシュメモリを備えている。
更に、プログラムの高機能化を図る為に、ある命令の
オペランドストアにより、後で実行される命令の一部,
又は全部を書き換えることを許している機種があるが、
このような場合、該命令キャッシュメモリへのオペラン
ドストアを行う必要がある為、命令にオペランドストア
処理があると、該オペランドのストアアクセスをオペラ
ンドキャッシュメモリに対して行った後、必ず、そのス
トア要求をストアバッファにバッファリングし、該スト
アバッファから主記憶装置(MS)へのストアと、該命令
キャッシュメモリへのストア要求を行うように機能させ
ている。
このとき、別途実行されている命令フェッチによる命
令キャッシュメモリへのムーブイン動作と、該オペラン
ドストアの命令キャッシュメモリへのストアとが競合す
ると、命令フェッチの為のパイプラインフロー(IF−PI
PE)に乱れが生じ、当該オペランドストアの命令キャッ
シュメモリへのストア動作を遅くしてしまう問題があ
り、効果的なオペランドストアのキャッシュメモリへの
ストア制御方法が要求される。
〔従来の技術と発明が解決しようとする課題〕
第3図は情報処理装置の概略構成を示した図であり、
第4図はSユニットの構成例を示した図であって、
(a)はアドレス系を示し、(b)はデータ系を示し、
(c)は制御系を示し、(d)はSユニットの制御系で
の従来のプライオリティ制御回路の例を示しおり、第5
図は従来のオペランドストアのキャッシュメモリへのス
トア制御方式の動作タイムチヤートである。
先ず、第3図に示したように、通常の情報処理装置は
中央処理装置(CPU)1と,主記憶制御装置(MCU)2
と,主記憶装置(MSU)3とからなり、該中央処理装置
(CPU)1には、命令の制御を行うIユニット(IU)1a
と,演算を行うEユニット(EU)1bと,データの読み出
し,書き込みを処理するSユニット(SU)1cの3ユニッ
トで構成されている。
Sユニット(SU)1c内には、主記憶装置(MSU)3の
一部の写しを保持するキャッシュメモリを具備してい
る。更に、該キャッシュメモリは、前述のように、オペ
ランド読み出し/書き込み用のオペランド用キャッシュ
メモリ(OP−CHE)170,171と,命令フェッチ用のキャッ
シュメモリ(IF−CHE)180,181の2種類で構成されてい
る。
Iユニット(IU)1aからのオペランドアクセス要求
は、OP−REQ信号によりなされる。該OP−REQ信号が、
‘オン’のとき、読み出しか,書き込みかを指示するOP
−REQ−CODEと、アドレスを指示するOP−REQ−ADRSが有
効になる。
上記Sユニット(SU)1cは、オペランド要求が読み出
しである場合においては、OP−CHE−DATAの信号で、オ
ペランドデータをEユニット(EU)1bに送出する。該オ
ペランド要求が書き込み要求の場合においては、Eユニ
ット(EU)1bからのOP−ST−DATAのデータをストアす
る。
Iユニット(IU)1aからの命令読み出し要求は、IF−
REQ信号によりなされる。該IF−REQ信号が‘オン’のと
きに、アドレスを指示するIF−REQ−ADRSが有効にな
る。そして、Sユニット(SU)1cはIF−CHE−DATAの信
号でデータをIユニット(IU)1aに送る。
上記オペランド読み出し要求,及び命令読み出し要求
のアドレスのデータが、それぞれ上記OP−CHE170,171,I
F−CHE180,181に存在しなかった場合、又、オペランド
書き込み要求があた場合は(ここでは、ストアスルー方
式のキャッシュメモリを前提としている為)、MCU−REQ
信号により主記憶装置(MSU)3に対する要求を送出す
る。
該MCU−REQ信号が‘オン’のとき、MCU−REQ−CODE信
号により、オペランドの読み出し,オペランドの書き込
み,命令の読み出しの3種の区別を指示する。
該MCU−REQ信号が‘オン’のときに、MCU−REQ−ADRS
信号により、上記3種の主記憶アクセスのアドレスを指
示する。
上記MCU−REQ信号が‘オン’で、上記MCU−REQ−CODE
信号がオペランドの書き込みを指示しているとき、MCU
−ST−DATAによって書き込みデータを指示する。
主記憶制御装置(MCU)2は、上記Sユニット(SU)1
bからの要求を受付け、主記憶装置(MSU)3をアクセス
する。
該Sユニット(SU)1bからの要求がオペランド、或い
は、命令の読み出し要求の場合は、主記憶装置(MSU)
3からデータを読み出し、Sユニット(SU)1bにデータ
を送る4サイクル前に、MCUデータ出力予告信号であるM
CU−DOW信号を‘オン’にし、同時に、そのデータがオ
ペランド読み出しの為のものか,命令読み出しの為のも
のかを示すMCU−RTN−CODE(‘0'のときがオペランド読
み出しを示し、‘1'のときが命令読み出しを示すものと
する)を送出する。そして、4サイクル後に、MCU−FC
−DATAで読み出しデータをSユニット(SU)1bに送る。
次に、第4図により、従来のオペランドストアの命令
キャッシュメモリへのストア制御方式を説明する。
上記Iユニット(IU)1aからのIF−REQにより、Sユ
ニット(SU)1cでは、命令フェッチ要求(IF−FC−RE
Q)のパイプラインフローが起動される。
該、IF−FC−REQのフローは、P,T,B,Rの各ステージか
らなり、Pステージはプライオリティをとり,アドレス
の選択を行い、Tステージではアドレス変換を行い、B
ステージではキャッシュメモリをアクセスし、Rステー
ジは該キャッシュメモリのデータがIユニット(IU)1a
に取り込まれるように動作する。
以下、第4図の(a),(b),(c),(d)によ
り、更に詳細な動作を説明する。
上記IF−REQ信号を受けたSユニット(SU)1cの制御
回路(SU−CNTL回路)19は、上記IF−FC−REQのフロー
を起動させると共に、そのPステージにおいて、命令フ
ェッチTステージ有効アドレスレジスタ(以下、IF−TE
ARという)101の入力にあるセレクタ(SEL)101aをIF−
REQ−ADRSを選択するように制御する。
次のTステージにおいては、Iユニット(IU)1aから
の該IF−REQ−ADRSがIF−TEAR101にセットされて、その
アドレスで命令フェッチアドレス変換バッファ(以下、
IF−TLBという)182と,命令フェッチ用キャッシュメモ
リタグ部(以下、IF−CHE−DIRという)180とをアクセ
スする。
IF−TLB182では該IF−REQ−ADRSの論理アドレスから
絶対アドレスへの変換を行い、上記IF−CHE−DIR180
は、命令フェッチ用キャッシュメモリデータアレイ(以
下、AF−CHE−DAR)181に登録されているデータの有効
性と,その絶対アドレスを出力し、この両者の出力が比
較器(∀)183を介して命令フェッチディレクトリマッ
チレジスタ(以下、IF−DMRという)184の入力信号とな
る。
次のBステージにおいては、上記IF−TLB182の出力で
ある絶対アドレスが、命令フェッチBステージ絶対アド
レスレジスタ(以下、IF−BAARという)111にセットさ
れ、又、IF−CHE−DAR181にフェッチするデータが存在
するかどうかを示す信号がIF−DMR184にセットされる。
本実施例においては、該IF−CHE−DAR181にフェッチし
たデータ(命令)がなかった場合を示しており、該IF−
DMRの信号は‘オフ’である。
該Bステージにおいては、IF−CHE−DAR181がアクセ
スされて、データ(命令)が読み出されるが上記IF−DM
R184が‘オフ’の為に、そのデータは無効化される。
次のRステージにおいて、オペランド/命令フェッチ
MCU要求アドレスレジスタ(以下、OI−MRARという)123
には、セレクタ(SEL)120aが、Sユニット制御回路
(以下、SU−CNTL回路という)19により制御されて、上
記IF−BAAR111の値がセットされる。又、同じアドレス
が命令フェッチブロックフェッチアドレスレジスタ(以
下、IF−BFARという)125にもセットされる。
更に、SU−CNTL回路19{第4図(c)を参照}では、
上記IF−DMR184が‘オフ’であることを受けて、主記憶
制御装置(以下、MCUという)2へのリクエスト信号で
あるMCU−REQ信号を‘オン’にし、同時にMCU−REQ−CO
DEで命令読み出し要求であることを指示する。
暫くすると、MCU2からMCUデータ出力予告(以下、MCU
−DOWという)信号と共に、命令の読み出しを示す、前
述のMCUリターンコード(以下、MCU−RTN−CODEとい
う)が送出される。これらの信号により、例えば、4サ
イクル後に、MCU−FC−DATAの信号で、該命令読み出し
要求に対するデータが送られてくることが判る。
よって、SU−CNTL回路19は、4サイクル後に、IF−CH
E−DAR181へのムーブインのフローであるIF−MI−REQ
を起動する。(第5図の動作タイムチヤート参照) 該IF−MI−REQのフローは、P,W,Sの各ステージからな
り、Pステージはプライオリティをとり、アドレスの選
択を行い、WステージではMCU2からの読み出しデータを
命令フェッチムーブインデータレジスタ(以下、IF−MI
DRという)132に取り込み、Sステージでは、IF−CHE−
DAR181に、該ムーブインデータを書き込むように機能す
る。
先ず、Pステージにおいては、SU−CNTL回路19によ
り、IF−TEAR101に対する入力として、上記IF−BFAR125
のアドレスが選択され、次のWステージにおいては、該
IF−TEAR101に、該IF−BFAR125の値がセットされ、IF−
CHE−DIR180に、そのアドレスの有効性を表すフラグ
(バリッドビット)が書き込まれ、IF−TLB182はバイパ
スされて、上記IF−TEAR101のアドレス値がその儘出力
され、IF−MIDR132には、MCU−FC−DATAの値がセットさ
れる。
次のSステージにおいては、IF−BAAR111に、IF−TLB
182の出力の値がセットされ、命令フェッチSステージ
キャッシュライトレジスタ(以下、IF−SCWRという)16
1に、IF−MIDR132からのデータがセットされ、IF−CHE
−DAR181の上記IF−BAAR111で示されるアドレスに、上
記IF−SCWR161のデータを書き込むように機能する。
IF−MI−REQのフローが終了した所で、再度Iユニッ
ト(IU)1aからの該命令の読み出し要求がなされ、IF−
FC−REQのフローが起動されるが、今度はムーブインし
た後であるので、上記IF−DMR184の信号が‘オン’とな
り、Iユニット(IU)1aに該IF−CHE−DAR181からの読
み出しデータが、IF−CHE−DATAの信号として送られ
る。
上記の動作を第5図の命令フェッチパイプライン(IF
−PIPE)側の動作タイムチヤートで示す。
このような状態において、オペランドパイプライン
(OP−PIPE)側に、2つのオペランド書き込み要求があ
った場合の動作について説明する。
先ず、最初のオペランド書き込み要求(以下、OP−ST
−REQ0という)は、Iユニット(IU)1aからのOP−REQ
信号が‘オン’になることにより、前述のSU−CNTL回路
19で起動される。
該OP−ST−REQのフローは、P,T,B,R,W,Sの各ステージ
からなり、Pステージではプライオリティをとり、アド
レスを選択し、Tステージでは論理アドレス物理アド
レスのアドレス変換を行い、Bステージではオペランド
用キャッシュメモリ(OP−CHE)170,171をアクセスし、
Sステージでは該オペランド用キャッシュメモリ(OP−
CHE)170,171に書き込むように動作する。
先ず、Pステージにおいて、OP−REQ信号が‘オン’
になると同時に、OP−REQ−CODEでオペランド書き込み
要求であることが、Iユニット(IU)1aにより指示さ
れ、OP−REQ−ADRSでそのアドレスが指示される。
次のTステージにおいては、該Iユニット(IU)1aか
らのOP−REQ−ADRSがオペランドTステージ有効アドレ
スレジスタ(以下、OP−TEARという)100にセットさ
れ、そのアドレスで、オペランドアドレス変換バッファ
(以下、OP−TLBという)172と、オペランド用キャッシ
ュメモリタグ部(以下、OP−CHE−DIRという)170をア
クセスする。
OP−TLB172では、オペランドの論理アドレスから絶対
アドレスへの変換が行われ、OP−CHE−DIR170では、オ
ペランド用キャッシュメモリデータアレイ(以下、OP−
CHE−DARという)171に登録されているオペランドデー
タの有効性と,その絶対アドレスを出力する。
この両者の出力が、比較器(∀)173を介してオペラ
ンドディレクトリマッチレジスタ(以下、OP−DMR)174
への入力信号となる。
次のBステージにおいては、上記OP−TLB172の出力で
ある絶対アドレスがオペランドBステージ絶対アドレス
レジスタ(以下、OP−BAARという)110にセットされ、
又、OP−CHE−DAR171にストアするアドレスに有効なデ
ータが存在するかどうかを示す信号が、比較器(∀)17
3で生成され、上記OP−DMR124にセットされる。
更に、該Bステージにおいては、OP−CHE−DAR171が
アクセスされて、オペランドキャッシュメモリのデータ
が読み出されるが、書き込み要求である為、該読み出さ
れたデータは使用されない。
次のRステージでは、上記OP−BAAR110の値がオペラ
ンドストアバッファアドレスレジスタ{以下、OP−STAR
(0)〜(3)という}120の、例えば、OP−STAR
(0)にセットされ、且つ、オペランドストアHIGHレジ
スタ(以下、OP−STHRという)121にもセットされる。
上記Rステージと同時に、実際にOP−CHE−DAR171へ
の書き込みフローの為のPステージが‘オン’となる。
このPステージにおいては、前述のOP−TEAR100への入
力アドレスとして、上記OP−STHR121が選択され、演算
ユニット(EU)1bからのOP−ST−DATAの信号で、ストア
すべきデータ(OP−ST−DATA)が送られてくる。
そして、次のWステージにおいて、OP−TEAR100に、
上記選択されたOP−STHR121の値がセットされ、オペラ
ンドWステージストアデータレジスタ(以下、OP−WSDR
という)130に、演算ユニット(EU)1bからの上記OP−S
T−DATAの値がセットされる。
次のSステージにおいては、オペランドストアバッフ
ァデータレジスタ{以下、OP−STDR(0)〜(3)とい
う}14の、例えば、OP−STDR(0)14に、上記OP−WSDR
130の値がセットされ、オペランドSステージキャッシ
ュライトレジスタ(以下、OP−SCWRという)160にもセ
ットされる。更に、前述のBステージにおいて、OP−DM
R124が‘オン’であった場合には、該Sステージにおい
て、OP−BAAR110が示すアドレスで、上記OP−SCWR160の
データが、OP−CHE−DAR171に上書きの形で書き込まれ
る。
そして、本オペランド用キャッシュメモリは、前述の
ように、スルーストア方式である為、以下の動作が実行
される。
即ち、該Sステージの次のステージにおいて、OI−MR
AR123にセレクタ(SEL)120aを通して、OP−STAR(0)
120にセットされたと同じアドレスの値がセットされ、
オペランドMCU要求データレジスタ(以下、OP−MRDRと
いう)15には、セレクタ(SEL)140を通して、OP−STDR
(0)14の値がセットされる。
この後、SU−CNTL回路19で、MCU−REQ信号を‘オン’
にし、且つ、MCU−REQ−CODEでオペランドの書き込みで
あることを指示する。これらの信号により、MCU2へスト
ア要求が伝えられる。
同様にして、上記OP−ST−REQ0より、1τ遅れてOP−
ST−REQ1のフローが起動される。但し、該OP−ST−REQ1
は、OP−STAR(1)120と,OP−STDR(1)14を使用す
る。
本情報処理装置においては、ある命令のオペランドス
トア動作によって、他の命令の一部,又は全部を書き換
えることを許しているので、上記OP−CHE−DAR171のス
トア動作の後、データの一致性を保つ為には、必ず、IF
−CHE−DAR181にもストアの動作を行う必要があり、上
記オペランドストアの為のパイプラインに対応して、IF
−ST−REQ−0と,IF−ST−REQ−1のフローを起動す
る。(第5図の動作タイムチヤート参照) 先ず、最初の書き込み要求(IF−ST−REQ−0)は、
第5図に示したタイミングでSU−CNTL回路19により起動
される。
該IF−ST−REQのフローは、P,T,B,R,W,Sの各ステージ
からなり、Pステージではプライオリティをとってアド
レスを選択し、Tステージではアドレス変換を行い、B
ステージではIF−CHE−DAR181をアクセスし、Rステー
ジでは該IF−CHE−DAR181のデータがIユニット(IU)1
aに取り込まれ、Wステージでは、前述のストアバッフ
ァ{OP−STDR(0〜3)}14からのストアデータをIF−
SCWR161に取り込み、SステージでIF−CHE−DAR181に書
き込むように動作する。
即ち、Pステージにおいて、IF−REQ信号が‘オン’
になり、IF−TEAR101の入力として、上記OP−STAR
(0)120が選択され、次のTステージにおいては、該O
P−STAR(0)120のアドレスがIF−TEAR101にセットさ
れて、そのアドレスで、IF−TLB182,及びIF−CHE−DIR1
80をアクセスする。
該IF−TLB182はバイパスされて、IF−ETAR101の値を
その儘出力し、IF−CHE−DIR180は、IF−CHE−DAR181に
登録されているデータの有効性とその絶対アドレスを出
力する。この両者の出力により、比較器(∀)183を通
してIF−DMR184への入力信号が生成される。
次のBステージにおいては、上記バイパスされたIF−
TLB182の出力がIF−BAAR111にセットされ、又、IF−CHE
−DAR181にストアするアドレスに有効なデータが存在す
るかどうかを示す信号が、IF−DMR184にセットされる。
更に、該Bステージでは、IF−CHE−DAR181がアクセス
されて、当該アドレスのデータ(命令)が読み出される
が、前述のように、書き込み要求である為に、該読み出
されたデータは使用されないで無視される。
次のRステージでは、IF−BAAR111の値が命令フェッ
チストアHIGHレジスタ(以下、IF−STHRという)124に
セットされる。そして、該Rステージと同時に、実際
に、IF−CHE−DAR181への書き込みフローの為のPステ
ージを‘オン’にしようとするが、第5図の動作タイム
チヤートから明らかな如く、該タイミングにおいては、
前述の命令パイプライン(IF−FC−REQ)で要求したム
ーブインの為のフロー(IF−MI−REQ)のPステージ
が‘オン’である為、該オペランドデータをIF−CHE−D
AR181へ書き込む為のフロー(IF−ST−REQ0)のPス
テージを‘オン’にすることができない。
そこで、従来においては、第4図(d)のプライオリ
ティ制御回路に示したように、上記MCU−DOW信号と,MCU
−RTN−CODE信号(即ち、該信号が‘1'のとき、命令読
出しを示している)とが出力されてから4τ後にムーブ
インデータがMCU2から到達することに着目し、該信号
を、それぞれ4τづらせて論理積をとった信号(INH−I
F−ST−REQ)で、該オペランドデータのIF−CHE−DAR
181への書込みフロー(IF−ST−REQ−0)の為のPス
テージを‘オン’とするタイミングを1τづらせるよう
にしている。
このPステージにおいては、IF−TEAR101の入力アド
レスとしてIF−STHR124が選択され、次のWステージで
は、IF−TEAR101にIF−STHR124の値がセットされる。
次のSステージにおいては、上記OP−STDR(0)14の
値(IF−ST−DATA)が選択され、IF−SCWR161にセット
される。更に、Bステージにおいて、IF−DMR184が‘オ
ン’であった場合には、上記Sステージにおいて、IF−
BAAR111が示すアドレスに、上記IF−SCWR161のデータが
IF−CHE−DAR181に書込まれる。
上記、IF−ST−REQ−0のフローに1τ遅れて、IF−S
T−REQ−1のフローが起動されるが、第5図の動作タイ
ムチャートに図示されている如くに、BステージからR
ステージに移ろうとするときに、IF−STHR124が前のIF
−ST−REQ−0のフローのアドレスを保持している為、
該IF−ST−REQ−1のアドレスを、該IF−STHR124に入力
することができず、該Rステージに移ることができな
い。
そこで、従来においては、第4図(d)に示した上記
INH−IF−ST−REQに「IF−R−IF−ST−REQ−VAL」の論
理条件(即ち、該IF−ST−REQのフローがRステージに
あるという条件)を付加したAB−IF−ST−LO−REQ信号
(この信号が‘オン’になるタイミングでは、必ず、該
IF−ST−REQフローのPステージが続き、例えば、STHR
が使用中であるので、後続のIF−ST−REQフローは、例
えば、Bステージから、該STHRを書き換える為のRステ
ージに移ることができない)により、そのタイミング
でTステージ,又はBステージにあるIF−ST−LO−REQ
(P−T−B−Rステージ)は途中で処理を中断(AB
ORT)させて、上記IF−ST−REQ−0の書込みの為のPス
テージの1τ後に、再び、IF−ST−REQ−1のフロー
(P−W−S)を最初(Pステージ)から起動させて
いた。
従って、第5図の動作タイムチャートに示したよう
に、IF−ST−REQ−0フローの書込みの為のPステージ
が、命令パイプラインで流れているIF−FC−REQのムー
ブインデータの書込みの為のフロー(IF−MI−REQ)
により遅れると、その1τ後に続いているIF−ST−REQ
−1はBステージからRステージに移ることができ
ず、上記のように、再起動をしなければならず、処理が
遅れると共に、パイプラインフローの中断,再開という
複雑な制御を必要とする問題があった。
本発明は上記従来の欠点に鑑み、中央処理装置(CP
U)内に、ストア要求を格納するストアバッファと,命
令フェッチ用の命令キャッシュメモリと,オペランド用
のオペランドキャッシュメモリとを備えた情報処理装置
における命令の書き換えに必要なオペランドストアの命
令フェッチ用キャッシュメモリへのストア制御方式にお
いて、命令フェッチの為のパイプラインの乱れを無く
し、該命令で処理するオペランドデータの命令フェッチ
用キャッシュメモリへのストア動作を高速化するオペラ
ンドストアのキャッシュメモリへのストア制御方法を提
供することを目的とするものである。
〔課題を解決するための手段〕
上記の問題点は下記の如くに構成されたオペランドス
トアのキャッシュメモリへのストア制御方法によって解
決される。
中央処理装置(CPU)内に、ストア要求を格納するス
トアバッファと, 命令フェッチ用の命令キャッシュメモリと,オペラン
ド用のオペランドキャッシュメモリとを備え、 上記オペランドのストア要求によるストアアクセスを
オペランドキャッシュメモリに対して行った後、上記ス
トアバッファに格納し、 該ストアバッファから主記憶装置へのストア要求と,
上記命令キャッシュメモリへのストア要求を行う情報処
理装置におけるストア制御方法であって、 該命令キャッシュメモリへのストア動作が、該命令キ
ャッシュメモリにストアするアドレスのデータが登録さ
れているか否かを検索する検索フローと, 該データが登録されていた場合に、実際に命令キャッ
シュメモリにストアデータを書き込む書き込みフロー
とに分かれて行われる際、 上記検索フローの終了後に、上記主記憶装置から該
命令キャッシュメモリへのデータ転送処理(IF−MI−RE
Q)の為に、上記書き込みフローが遅延されること
が予見される場合には、予め、上記検索フローの起動
を遅延させるように制御する。具体的には、上記主記憶
装置から該命令キャッシュメモリへのデータ転送処理
を、上記書き込みフローが遅延されることを予告する信
号と、上記主記憶装置から該命令キャッシュメモリへム
ーブインデータが入力される信号に基づいて、予め、上
記検索フローの起動を遅延させるように制御する。
〔作用〕
即ち、本発明によれば、中央処理装置(CPU)内に、
ストア要求を格納するストアバッファと,命令フェッチ
用の命令キャッシュメモリと,オペランド用のオペラン
ドキャッシュメモリとを備えた情報処理装置における命
令の書き換えに必要なオペランドストアの命令キャッシ
ュメモリへのストア制御方法において、主記憶制御装置
(MCU)からのデータ転送予告信号(MCU−DOW)が‘オ
ン’になると、例えば、その4τ後には、命令フェッチ
の為のムーブインフロー(IF−MI−REQ)のPステージ
が‘オン’になることを知って、該データ転送予告信号
(MCU−DOW)と、該データ転送が命令フェッチによるム
ーブインであるという条件との論理積が続く限り、オペ
ランドストアの命令キャッシュメモリへのストアフロー
(IF−ST−REQ)の起動を抑止するようにしたものであ
るので、命令フェッチのパイプライン(IF−PIPE)の乱
れがなくなり、オペランドストアの命令キャッシュメモ
リへのストアフロー(IF−ST−REQ)の処理が高速化で
きる効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
第1図は本発明の一実施例を示した図であり、第2図
は本発明のオペランドストアのキャッシュメモリへのス
トア制御方法の動作タイムチヤートであって、第1図に
示した論理積回路の出力信号(INH−IF−ST−LO−REQ)
で、オペランドストアのキャッシュメモリへのストア
フロー(IF−ST−REQ)(検索フロー,書き込みフロ
ー)の起動を抑止する手段が本発明を実施するのに必
要な手段である。尚、全図を通して同じ符号は同じ対象
物を示している。
以下、第1図,第2図によって、本発明のオペランド
ストアのキャッシュメモリへのストア制御方法を説明す
る。
本発明を実施しても、中央処理装置(CPU)内に、ス
トア要求を格納するストアバッファと,命令フェッチ用
の命令キャッシュメモリと,オペランド用のオペランド
キャッシュメモリとを備えた情報処理装置における命令
フェッチ用のキャッシュメモリに対するパイプラインフ
ロー,及びオペランド用のキャッシュメモリに対するパ
イプラインフローの動作そのものは、従来と特に変わる
ことはないので省略し、ここでは、オペランドストアの
キャッシュメモリへのストアフロー(IF−ST−REQ)の
起動動作を中心にして説明する。
前述のように、MCU2からムーブインによるデータ転送
の予告信号であるMCU−DOW信号が到来すると、例えば、
その4τ後に、該ムーブインのフロー(IF−MI−REQ)
のPステージが‘オン’になることをが決まっている
ことに着目して、第1図に示すように、本発明において
は、該MCU−DOW信号と、該MCU−DOW信号と同時に、MCU2
から送られてくるMCU−RTN−CODE信号が‘1'、即ち、命
令の読み出しを示すときの条件との論理積をとって、オ
ペランドストアのキャッシュメモリへのストアフロー
(IF−ST−REQ),の起動を禁止し、その条件が無
くなる迄、該ストアフロー(IF−ST−REQ)の起動を遅
らせるように動作させる。
このように制御することにより、第2図の動作タイム
チヤートから明らかな如く、該オペランドストアのキャ
ッシュメモリへのストアフロー(IF−ST−REQ),
でのRステージからPステージへの移動ができなると
か、BステージからRステージに移ることができなくな
るといった現象を解消することができ、命令フェッチの
パイプラインの乱れがなくすることができるようにな
る。
このように、本発明は、中央処理装置(CPU)内に、
ストア要求を格納するストアバッファと,命令フェッチ
用の命令キャッシュメモリと,オペランド用のオペラン
ドキャッシュメモリとを備えた情報処理装置において、
オペランドストアが生起したときに、必ず、命令キャッ
シュメモリにもストアする(命令の書き換えを行う)こ
とで、該オペランドストア動作後のデータの一致性を保
つ際に、命令フェッチによって生じたムーブインによる
該命令フェッチ用のキャッシュメモリへのムーブイン動
作と,該オペランドストアによる命令キャッシュメモリ
へのストア動作との競合を生じたとき、該命令フェッチ
のパイプラインが乱れることがないように、主記憶制御
装置(MCU)からムーブインによるデータ転送の予告を
示すMCU−DOW信号がきたとき、4τ後にムーブインの為
のフロー(IF−MI−REQ)のPステージが‘オン’にな
ることに着目し、該MCU−DOW信号と、該データ転送が命
令読み出しであることを示すMCU−RTN−CODE信号との論
理積をとった信号によって、該オペランドストアの命令
キャッシュメモリへのストアフロー(IF−ST−REQ)に
対する起動を抑止するようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明のオペランドス
トアのキャッシュメモリへのストア制御方法は、中央処
理装置(CPU)内に、ストア要求を格納するストアバッ
ファと,命令フェッチ用の命令キャッシュメモリと,オ
ペランド用のオペランドキャッシュメモリとを備えた情
報処理装置における命令の書き換えに必要なオペランド
ストアの命令キャッシュメモリへのストア制御方法にお
いて、オペランドストア実行時に、オペランドアクセス
をオペランドキャッシュメモリに対して行った後、主記
憶へのストアと命令キャッシュメモリへのストアを行う
際、別途実行されている命令フェッチで命令キャッシュ
メモリに当該命令のアドレスのデータが無かった場合の
ムーブインデータが命令キャッシュメモリに転送されて
くることを予告する信号(MCU DOW)と、該ムーブイン
データが命令読み出しを示す信号(MCU−RTN−CODE)と
の論理積条件で、上記オペランドストアの命令キャッシ
ュメモリへのストアを行うフロー(IF−ST−REQ)(命
令キャッシュメモリにストアするアドレスのデータが登
録されているかを検索する検索フローと,該データが登
録されている場合に、実際に、命令キャッシュメモリに
ストアデータを書き込む書き込みフローからなる)の検
索フローの開始を抑止するよう構成したものであるの
で、命令フェッチのパイプラインの乱れ(中断,再開処
理等)がなくなり、オペランドストアの命令キャッシュ
メモリへのストア制御動作が高速化される効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示した図, 第2図は本発明のオペランドストアのキャッシュメモリ
へのストア制御方法の動作タイムチヤート, 第3図は情報処理装置の概略構成を示した図, 第4図はSユニットの構成例を示した図, 第5図は従来のオペランドストアのキャッシュメモリへ
のストア制御方式の動作タイムチヤート, である。 図面において、 1は中央処理装置(CPU),2は主記憶制御装置(MCU), 1aはIユニット(IU), 1bはEユニット(EU),又は演算ユニット(EU), 1cはSユニット(SU), 100はオペランドTステージ有効アドレスレジスタ(OP
−TEAR), 101は命令フェッチTステージ有効アドレスレジスタ(I
F−TEAR), 110はオペランドBステージ絶対アドレスレジスタ(OP
−BAAR), 111は命令フェッチBステージ絶対アドレスレジスタ(I
F−BAAR), 120はオペランドストアバッファアドレスレジスタ{OP
−STAR(0)〜(3)} 121はオペランドストアHIGHレジスタ(OP−STHR), 122はオペランドブロックフェッチアドレスレジスタ(O
P−BFAR), 123はオペランド/命令フェッチMCU要求アドレスレジス
タ(OI−MRAR), 124は命令フェッチストアHIGHレジスタ(IF−STHR), 125は命令フェッチブロックフェッチアドレスレジスタ
(IF−BFAR), 130はオペランドWステージストアデータレジスタ(OP
−WSDR), 131はオペランドムーブインデータレジスタ(OP−MID
R), 132は命令フェッチムーブインデータレジスタ(IF−MID
R), 14はオペランドストアバッファデータレジスタ{OP−ST
DR(0)〜(3)} 15はオペランドMCU要求データレジスタ(OP−MRDR), 160はオペランドSステージキャッシュライトレジスタ
(OP−SCWR), 161は命令フェッチSステージキャッシュライトレジス
タ(IF−SCWR), 170はオペランド用キャッシュメモリタグ部(OP−CHE−
DIR), 171はオペランド用キャッシュメモリデータアレイ(OP
−CHE−DAR), 172はオペランドアドレス変換バッファ(OP−TLB), 173,183は比較器(∀), 174はオペランドディレクトリマッチレジスタ(OP−DM
R), 180は命令フェッチ用キャッシュメモリタグ部(IF−CHE
−DIR), 181は命令フェッチ用キャッシュメモリデータアレイ(I
F−CHE−DAR), 182は命令フェッチアドレス変換バッファ(IF−TLB), 184は命令フェッチディレクトリマッチレジスタ(IF−D
MR), 19はSユニット(SU)制御回路(CU−CNTL回路), P,T,B,R,W,Sはパイプラインフローの各ステージ, MCU−DOWはMCUデータ出力予告,又は、同信号, MCU−RTN−CODEはMCUリターンコード, は検索フロー, は書き込みフロー, はムーブインフロー(IF−MI−REQ), はINH−IF−ST−HI−REQ,はABT−IF−ST−LO−REQ, はINH−IF−ST−LO−REQ, をそれぞれ示す。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理装置内に、ストア要求を格納する
    ストアバッファと, 命令フェッチ用の命令キャッシュメモリと,オペランド
    用のオペランドキャッシュメモリとを備え、 上記オペランドのストア要求によるストアアクセスをオ
    ペランドキャッシュメモリに対して行った後、上記スト
    アバッファに格納し、 該ストアバッファから主記憶装置へのストア要求と,上
    記命令キャッシュメモリへのストア要求を行う情報処理
    装置におけるストア制御方法であって、 該命令キャッシュメモリへのストア動作が、該命令キャ
    ッシュメモリにストアするアドレスのデータが登録され
    ているか否かを検索する検索フローと, 該データが登録されていた場合に、実際に命令キャッシ
    ュメモリにストアデータを書き込む書き込みフローとに
    分かれて行われている際、 上記主記憶装置から該命令キャッシュメモリへのデータ
    転送処理を、上記書き込みフローが遅延されることを予
    告する信号と、上記主記憶装置から該命令キャッシュメ
    モリへムーブインデータが入力される信号に基づいて、
    予め、上記検索フローの起動を遅延させるように制御す
    ることを特徴とするストア制御方法。
JP63151861A 1988-06-20 1988-06-20 オペランドストアのキャッシュメモリヘのストア制御方式 Expired - Fee Related JP2538993B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63151861A JP2538993B2 (ja) 1988-06-20 1988-06-20 オペランドストアのキャッシュメモリヘのストア制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63151861A JP2538993B2 (ja) 1988-06-20 1988-06-20 オペランドストアのキャッシュメモリヘのストア制御方式

Publications (2)

Publication Number Publication Date
JPH01318119A JPH01318119A (ja) 1989-12-22
JP2538993B2 true JP2538993B2 (ja) 1996-10-02

Family

ID=15527845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63151861A Expired - Fee Related JP2538993B2 (ja) 1988-06-20 1988-06-20 オペランドストアのキャッシュメモリヘのストア制御方式

Country Status (1)

Country Link
JP (1) JP2538993B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143449A (ja) * 1991-11-22 1993-06-11 Fujitsu Ltd 主記憶データ書込制御方法

Also Published As

Publication number Publication date
JPH01318119A (ja) 1989-12-22

Similar Documents

Publication Publication Date Title
JP3778573B2 (ja) データプロセッサ及びデータ処理システム
US4701844A (en) Dual cache for independent prefetch and execution units
JP4162825B2 (ja) マイクロプロセッサ
KR100274327B1 (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
JP3158161B2 (ja) 集積キャッシュユニットおよび集積キャッシュユニットにおいてインターロック変数をキャッシュする方法
KR100278328B1 (ko) 캐시 미스 버퍼
US8984261B2 (en) Store data forwarding with no memory model restrictions
US5293500A (en) Parallel processing method and apparatus
JPH06149731A (ja) マイクロコンピュータシステム
JPH07319767A (ja) コンピュータ・システム
JPH10228376A (ja) 複数レジスタ命令を処理する方法及びプロセッサ
JPH0526212B2 (ja)
US20030196072A1 (en) Digital signal processor architecture for high computation speed
US5287483A (en) Prefetched operand storing system for an information processor
JP4160228B2 (ja) マイクロプロセッサ
JP2538993B2 (ja) オペランドストアのキャッシュメモリヘのストア制御方式
JPH07121443A (ja) 情報処理システム及びその動作方法
US6675287B1 (en) Method and apparatus for store forwarding using a response buffer data path in a write-allocate-configurable microprocessor
US5724533A (en) High performance instruction data path
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
JPH0516061B2 (ja)
JP2535593B2 (ja) 情報処理装置
JPS6232508B2 (ja)
JPH0351012B2 (ja)
JPH06139071A (ja) 並列計算機

Legal Events

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