JPH0816472A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0816472A
JPH0816472A JP6152446A JP15244694A JPH0816472A JP H0816472 A JPH0816472 A JP H0816472A JP 6152446 A JP6152446 A JP 6152446A JP 15244694 A JP15244694 A JP 15244694A JP H0816472 A JPH0816472 A JP H0816472A
Authority
JP
Japan
Prior art keywords
cache
data
write
write buffer
request
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
JP6152446A
Other languages
English (en)
Other versions
JP3164732B2 (ja
Inventor
Atsuhiro Suga
敦浩 須賀
Akiyoshi Ino
明寿 猪野
Tsutomu Tanaka
田中  勉
Hideki Sakata
英樹 坂田
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 JP15244694A priority Critical patent/JP3164732B2/ja
Publication of JPH0816472A publication Critical patent/JPH0816472A/ja
Priority to US08/954,561 priority patent/US6374334B1/en
Application granted granted Critical
Publication of JP3164732B2 publication Critical patent/JP3164732B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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/0855Overlapped cache accessing, e.g. pipeline

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)

Abstract

(57)【要約】 【目的】 キャッシュメモリへのストアデータを一時的
に保持するキャッシュライトバッファ(CLB)を有す
るデータ処理装置に関し、キャッシュメモリへのデータ
ストア命令とロード命令とが衝突した場合にも、CLB
からのデータ格納を優先可能とさせる。 【構成】 キャッシュメモリ10への書込みデータを保
持する手段11と、手段11からキャッシュメモリ10
へのデータの書込み要求とキャッシュメモリ10に格納
されているデータの読出し要求とが競合したとき、デー
タ書込み要求を優先させる制御とデータ読出し要求とを
優先させる制御とのいずれかを実行できる手段12とを
備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュメモリを有す
るデータ処理装置に係り、更に詳しくはキャッシュライ
トバッファからキャッシュメモリへのデータ書込み要求
と、キャッシュメモリからのデータ読出し要求とのどち
らを優先させるかを、各種の条件に応じて変更できるキ
ャッシュ制御装置を有するデータ処理装置に関する。
【0002】
【従来の技術】図9は従来のキャッシュブロックとCP
Uブロックとの概略構成図である。同図において、キャ
ッシュブロックはデータキャッシュ記憶装置1、データ
キャッシュ記憶装置1に対するデータ入出力を制御する
データキャッシュ制御装置2、およびデータキャッシュ
記憶装置1に書き込むべきデータを一時的に保持するキ
ャッシュライトバッファ3から構成され、またCPUブ
ロックはデータキャッシュ制御装置2に対して、例えば
ロード/ストア命令を出力する命令制御装置4、各種演
算を行う演算処理装置5、および演算データなどを保持
するためのレジスタファイル6によって構成されてい
る。
【0003】図9において、CPUブロック側で命令制
御装置4がロード/ストア命令を検出すると、その命令
の実行がデータキャッシュ制御装置2に要求され、演算
処理装置5で計算されたキャッシュアクセスアドレス
(データアドレス)が、データキャッシュ制御装置2、
およびデータキャッシュ記憶装置1に送られる。ロード
命令の場合には、ヒット判定の後にロードデータはデー
タキャッシュ記憶装置1からレジスタファイル6に出力
される。ストア命令の場合には、レジスタファイル6か
らストアデータが一旦キャッシュライトバッファ3に格
納され、キャッシュライトバッファ3からデータキャッ
シュ制御装置2に対して書込み要求が出力され、この書
込み要求に応じて、データキャッシュ制御装置2によっ
て、キャッシュライトバッファ3からデータキャッシュ
記憶装置1へのストアデータの書き込みが制御される。
【0004】図10は図9におけるロード命令実行時の
動作タイムチャートである。同図において、サイクルT
1でデータキャッシュ制御装置2がロード命令をデータ
アドレスと共に受理すると、次のサイクルT2でキャッ
シュアクセスが行われる。データキャッシュ記憶装置1
は、例えばキャッシュ内のラインのラインアドレスなど
を保持するキャッシュタグと、ランダムアクセスメモリ
(RAM)部とから構成され、サイクルT2においては
キャッシュタグとRAMの両方にアクセスが行われる。
読出し要求データがキャッシュに存在するか否か、すな
わちキャッシュヒットの判定は次のサイクルT3で行わ
れ、キャッシュヒットと判定されるとキャッシュから読
み出されたロードデータはレジスタファイル6に転送さ
れる。
【0005】図11は図9におけるストア命令に対する
動作のタイムチャートである。同図において、サイクル
T1でストア命令がデータアドレスと共にデータキャッ
シュ制御装置2において受理されると、図10のロード
命令の場合と同様に、次のサイクルT2でキャッシュア
クセスが行われ、更にサイクルT3でヒット判定が行わ
れる。例えばこのストア命令がデータキャッシュ記憶装
置1に格納されているデータの書き替えを行う命令の場
合には、キャッシュヒットと判定され、ストアデータは
図9においてキャッシュライトバッファ3にサイクルT
4で格納される。
【0006】キャッシュライトバッファ3に格納された
ストアデータは、他の命令、例えばロード命令に優先し
てデータキャッシュ記憶装置1に書き込まれるか、また
はロード命令などの他の命令が実行されないサイクルに
おいて格納される。この場合、キャッシュライトバッフ
ァ3からストアデータの書込み要求がデータキャッシュ
制御装置2に出力され、この書込み要求に応じて、スト
アデータのデータキャッシュ記憶装置1への書込みが、
データキャッシュ制御装置2によって制御される。すな
わちサイクルT4において、キャッシュライトバッファ
3にキャッシュに格納すべきデータが存在することか
ら、書込み要求(キャッシュ格納要求)がデータキャッ
シュ制御装置2に送られ、例えば実行すべき他の命令が
ない時には、サイクルT5においてストアデータのデー
タキャッシュ記憶装置1への書き込みが行われる。
【0007】図12は、図11におけるストア命令に対
応したキャッシュライトバッファ3からデータキャッシ
ュ記憶装置1へのデータ書込み要求と、データキャッシ
ュ記憶装置1からのデータ読出しを実行すべきロード命
令がデータキャッシュ制御装置2において衝突した場合
の動作タイムチャートである。図12においては、この
ような場合、ストア命令が優先されるものとして動作を
説明する。同図において、サイクルT3までは図11に
おけると同様であるが、サイクルT4においてロード命
令がデータキャッシュ制御装置2に対してデータアドレ
スと共に与えられる。
【0008】すなわち、サイクルT4で、キャッシュラ
イトバッファ3からのデータ書込み要求としてのキャッ
シュ格納要求とロード命令とが衝突することになるが、
この場合はストア命令優先であるので、ロード命令はこ
のサイクルでは受理されず、キャッシュライトバッファ
3からデータキャッシュ記憶装置1へのデータ格納が行
われ、ロード命令の受理が次のサイクルT5まで待たさ
れ、サイクルT5でロード命令を受理することができる
ようになったことを示す命令応答が命令制御装置4に返
され、サイクルT6でキャッシュアクセスが行われ、T
7でキャッシュヒットと判定された時点でロードデータ
がレジスタファイル6に出力される。
【0009】図13はストア命令とロード命令が衝突し
た場合の動作タイムチャートの例であり、ここではロー
ド命令が優先されるものとして動作を説明する。図12
と同様に、サイクルT3までは図11におけると同じ動
作が行われる。サイクルT4においてロード命令とデー
タアドレスがデータキャッシュ制御装置2に与えられ、
キャッシュ格納要求と衝突することになる。この場合は
ロード命令優先であるので、サイクルT4において命令
応答が命令制御装置4に返され、サイクルT5でキャッ
シュアクセスが行われ、T6でキャッシュヒットと判定
され、ロードデータがレジスタファイル6に出力され
る。一方サイクルT4におけるキャッシュライトバッフ
ァ3からのキャッシュ格納要求は、次のサイクルT5に
おいてデータキャッシュ制御装置2に受理され、キャッ
シュ格納応答が出力され、サイクルT6でストアデータ
がデータキャッシュ記憶装置1のRAMに反映される。
【0010】
【発明が解決しようとする課題】図13で説明したよう
に、例えばロード命令が優先される場合には、キャッシ
ュライトバッファからデータキャッシュ記憶装置へのス
トアデータの格納は、ロード命令が受理され、ロード命
令に対する命令応答が‘L’となった時点で実行される
が、例えばロード命令のキャンセルが行われた場合に
は、その命令キャンセルが行われている限りは、キャッ
シュライトバッファからデータキャッシュ記憶装置への
ストアデータの書き込みを実行することができないと言
う問題点があった。
【0011】図14はそのような問題点の説明図であ
る。同図においては、図13におけると同様に、サイク
ルT4においてロード命令とキャッシュ格納要求とが衝
突しており、ロード命令優先の場合には、サイクルT4
でのストアデータのキャッシュへの格納が行われない。
そして、サイクルT5において、図9の命令制御装置4
からデータキャッシュ制御装置2に対して、ロード命令
キャンセルが伝えられる。この命令のキャンセルとは、
何らかの原因でCPU側で命令の実行を中止するような
場合に、命令制御装置4からデータキャッシュ制御装置
2に対して伝えられるものである。この命令キャンセル
について、図15を用いて説明する。
【0012】図15において、命令制御装置側でのパイ
プラインは命令の解読すなわちデコード、命令の実行す
なわちエグゼキュート、および実行結果の書込みすなわ
ちライトの3つのステージ(D,E,W)から成るもの
とし、1つのパイプのデコードのステージの後に、何ら
かの原因で実行のステージがインタロック、すなわち次
のステージであるライトに進まない状態になったものと
する。この場合、キャッシュ制御装置側では、命令のE
ステージに対応するプライオリティチェックすなわちP
に続いて、タグ判定のT、ヒット判定のCの3つのステ
ージからなるパイプは、一旦命令制御装置側から命令が
与えられると次々と動くことになり、命令制御装置側で
Eのステージが3つ分インタロックすると、キャッシュ
制御装置側ではパイプにおけるプライオリティチェッ
クのステージと、パイプにおけるタグ判定とヒット判
定のステージのみが有効となり、その間のパイプにお
けるタグ判定からパイプにおけるプライオリティチェ
ックのステージまでの動作はキャンセルが行われるべき
ものとなる。
【0013】図14において、サイクルT5でロード命
令キャンセルがデータキャッシュ制御装置2に伝えら
れ、そのロード命令キャンセルが継続されている間は、
キャッシュライトバッファ3に格納されたストアデータ
のデータキャッシュ記憶装置1へのストアデータの格納
がいつまでたっても実行されない。すなわちサイクルT
4において命令制御装置4から与えられるロード命令は
サイクルT5においてキャンセルされるが、データキャ
ッシュ記憶装置1に対するアクセス権はロード命令側に
保持されているために、本来無効なロード命令のために
キャッシュライトバッファ3に格納されたストアデータ
のキャッシュメモリへの反映が行われないと言うことに
なる。
【0014】このようにキャンセルされるロード命令と
ストア命令とが衝突するような場合には、ストア命令と
ロード命令とが干渉する期間を長くさせるだけでなく、
キャンセル方法によってはシステムが正常に動作しない
と言う重大な問題点を生ずる可能性がある。
【0015】本発明はキャッシュライトバッファからキ
ャッシュメモリへのストアデータ格納を含むストア命令
と、例えばロード命令のような他の命令とが衝突した場
合にも、キャッシュライトバッファからキャッシュメモ
リへのデータ格納を優先させて実行させることが可能な
データ処理装置を提供することを目的とする。
【0016】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。同図はキャッシュ記憶装置10を有する
データ処理装置における本発明の原理構成ブロック図で
ある。
【0017】図1においてキャッシュ書込みデータ保持
手段11は、例えばキャッシュライトバッファであり、
キャッシュ記憶装置10に書き込むための書込みデータ
を一旦保持するものである。データのストア要求に対応
して、例えばデータ処理装置の中央処理装置(CPU)
内のレジスタファイルからストアデータが供給され、キ
ャッシュ書込みデータ保持手段11に保持される。スト
アデータが保持されると、キャッシュ書込みデータ保持
手段11からキャッシュ制御手段12に対してデータ書
込み要求が出力される。
【0018】キャッシュ制御手段12は例えばデータキ
ャッシュ制御装置であり、例えばCPUの命令制御装置
からのロード命令に対応するキャッシュ記憶装置1から
のデータ読出し要求と、キャッシュ書込みデータ保持手
段11から与えられるデータ書込み要求とが競合した時
に、例えばロード命令に対応するデータ読出し要求を優
先させる制御と、キャッシュ書込みデータ保持手段11
からのデータ書込み要求を優先させる制御とのいずれを
も実行することのできるものである。
【0019】
【作用】本発明においては、キャッシュ書込みデータ保
持手段11は、キャッシュ記憶装置10への書込みデー
タを保持する1つ以上のキャッシュライトバッファと、
これらのキャッシュライトバッファを制御するキャッシ
ュライトバッファ制御装置とによって構成される。
【0020】このキャッシュライトバッファ制御装置
は、1つ以上のキャッシュライトバッファのいずれかに
書込みデータが保持されている時に、その書込みデータ
のキャッシュ記憶装置10への書き込みを、前述の例え
ばロード命令に対応するデータ読出し要求よりも優先さ
せることを要求する書込み要求ハイ信号、または書込み
データの書き込みよりもデータ読出し要求の優先を認め
る書込み要求ロー信号のいずれかをキャッシュ制御手段
12に出力し、キャッシュ制御手段12は書込み要求ハ
イ信号、または書込み要求ロー信号のいずれが入力され
ているかに応じて、キャッシュライトバッファからキャ
ッシュ記憶装置10へのデータ書込みを制御する。
【0021】本発明においては、前述のようにストア命
令とロード命令が衝突した時、ロード命令を優先させる
制御が行われている場合にも、例えばCPUの命令制御
装置からそのロード命令に対する命令キャンセル信号が
キャッシュライトバッファ制御装置に入力された時点
で、キャッシュライトバッファ制御装置から書込み要求
ハイ信号がキャッシュ制御手段12に出力され、これに
応じてキャッシュ制御手段12によって、ロード命令に
伴うデータ読出し要求よりもキャッシュライトバッファ
からキャッシュ記憶装置10へのデータ書込みを優先さ
せる制御が行われ、キャッシュライトバッファに保持さ
れたデータのキャッシュ記憶装置10への格納が行われ
る。
【0022】以上のように、本発明によれば、例えばス
トア命令とロード命令とが衝突し、かつロード命令のキ
ャンセルが行われた場合にも、キャッシュライトバッフ
ァに保持されているストアデータのキャッシュ記憶装置
への格納が効率的に実行される。
【0023】
【実施例】図2は本発明におけるキャッシュブロックと
CPUブロックの構成図である。同図において、図9の
従来例と同じ部分には同じ符号を付してある。図9と異
なる部分を中心に説明すると、命令制御装置4からデー
タキャッシュ制御装置21に出力される命令キャンセル
信号がキャッシュライトバッファ20に対しても与えら
れる。またキャッシュライトバッファ20にデータが保
持されている時には、データキャッシュ制御装置21に
対して書込み要求ロー、または書込み要求ハイのいずれ
かの信号が、キャッシュライトバッファ20からデータ
キャッシュ記憶装置1へのストアデータ書込み要求とし
て出力される。ここで書込み要求ロー信号は、データキ
ャッシュ制御装置21に与えられるロード命令に対応す
るデータ読出し要求をキャッシュライトバッファ20に
格納されているストアデータの書き込みよりも優先させ
ることを認める信号であり、また書込み要求ハイ信号は
キャッシュライトバッファ20に保持されているストア
データの書き込みを、ロード命令に対応するデータ読出
し要求よりも優先させることを、データキャッシュ制御
装置21に対して要求する信号である。
【0024】更に図2においては、キャッシュライトバ
ッファ20に対してアドレス変換有効信号を出力するア
ドレス変換制御装置22と、キャッシュライトバッファ
20に対して書込み要求ロー信号のデータキャッシュ制
御装置21への出力を禁止する、例えばロー要求禁止フ
ラグが設定されるレジスタ23が備えられている。
【0025】このうちアドレス変換制御装置22はメモ
リマネージメントユニット(MMU)の一部であり、物
理アドレスでキャッシュを引く場合にはこのMMUはC
PU側にある。CPUが論理アドレスだけを出す時に
は、物理アドレスには外部で変換されることになる。
【0026】このアドレス変換自体は本発明の内容と本
質的には関係のないものであり、トランスレーションル
ックアサイドバッファ(TLB)による動的アドレス変
換におけるミス発生時に行われるが、このアドレス変換
の最後にページテーブルのエントリのストアが行われ、
キャッシュにそのページテーブルが入っている場合には
キャッシュヒットするために、キャッシュライトバッフ
ァ20に保持されているデータ全てのデータキャッシュ
記憶装置1への格納を済ませてしまう必要がでてくる。
【0027】このためにアドレス変換有効信号がアサー
トされた時点で、キャッシュライトバッファ20から書
込み要求ハイ信号をデータキャッシュ制御装置21に出
力させ、キャッシュライトバッファ20が保持している
データを直ちにデータキャッシュ記憶装置1に書き込ま
せる制御が行われる。
【0028】またレジスタ23は、例えばインプリメン
ト依存の制御レジスタであり、このレジスタにロー要求
禁止フラグが設定されると、キャッシュライトバッファ
20からデータキャッシュ制御装置21への書込み要求
ロー信号の出力が禁止される。このロー要求禁止フラグ
の設定はレジスタ23に入力されるロー要求禁止信号の
アサートによって成されるが、この信号は例えば図12
で説明したようなストア命令優先の場合にアサートされ
る。
【0029】図3は、図2におけるキャッシュライトバ
ッファ20からの書込み要求ロー信号出力状態と、書込
み要求ハイ信号出力状態との間の状態遷移の説明図であ
る。同図において、キャッシュ格納要求がハイの状態
は、キャッシュライトバッファ20からのストアデータ
格納要求がロード命令に伴うデータ読出し要求よりも優
先される状態を、また状態ローはデータ読出し要求の方
が優先される状態を示す。なおシステムスタート時、す
なわち初期状態では、キャッシュライトバッファ20か
らは例えば書込み要求ロー信号が出力される状態にシス
テム設定が行われているものとする。
【0030】図3において、ロー要求禁止信号がアサー
トされている場合には、状態ローへの遷移は禁止され
る。ロー状態からハイ状態へのローハイ遷移要求は、キ
ャッシュライトバッファ20に対する命令制御装置4か
らの命令キャンセル信号の入力、またはアドレス変換制
御装置22からのアドレス変換有効信号のアサートに対
応して行われると共に、キャッシュライトバッファ20
にストアデータが格納されてからある一定時間が経過し
た時点で行われる。またハイロー遷移は、ロー要求禁止
信号がアサートされていないと言う条件の下で、キャッ
シュライトバッファ20の内部に有効なデータが存在し
なくなった時点で行われる。キャッシュライトバッファ
が有効なデータを保持しているか否かは、例えば図示し
ない有効性信号がネゲートされていることを確認するこ
とによって判定される。有効性信号は、キャッシュライ
トバッファ20に有効なデータが格納された時アクティ
ブとなり、キャッシュ記憶装置にそのストアデータが書
き込まれた時点でネゲートされる。
【0031】図4は本発明におけるストア命令とロード
命令の衝突時の動作フローチャートである。同図におい
て、図14と同様にロード命令が優先されるものとし、
またこのロード命令に対するロード命令キャンセル信号
が図2のデータキャッシュ制御装置21、およびキャッ
シュライトバッファ20に入力されるものとして、動作
タイムチャートを説明する。
【0032】図4において、サイクルT3までの動作は
図14と同じである。サイクルT4においてロード命令
がデータキャッシュ制御装置21に与えられ、また同時
にキャッシュライトバッファ20に格納されたストアデ
ータのデータキャッシュ記憶装置1への書き込みが、書
込み要求ロー信号を用いて要求されている。この時点で
はロード命令が優先されるために、ロード命令に対する
命令応答が命令制御装置4に返されるが、次のサイクル
T5においてロード命令キャンセル信号がデータキャッ
シュ制御装置21に入力され、命令応答は‘H’のまま
となる。
【0033】しかしながら、ロード命令キャンセル信号
のキャッシュライトバッファ20への入力によって、キ
ャッシュライトバッファ20からデータキャッシュ制御
装置21への書込み要求はハイにサイクルT6で変わ
り、このサイクルではキャッシュライトバッファ20か
らのストアデータのデータキャッシュ記憶装置1への書
き込みが優先され、ロード命令に対する命令応答は
‘L’になると同時にキャッシュ格納応答が出力され、
キャッシュライトバッファ20に保持されているデータ
は次のサイクルT7でRAMに反映される。図4ではサ
イクルT7においてロード命令キャンセル信号は‘L’
となり、キャンセルとなっていたロード命令の実行が可
能となり、データキャッシュ制御装置21がこの命令を
受理したことを命令応答として命令制御装置4に返す。
【0034】図5はキャッシュブロックとCPUブロッ
クの詳細構成図である。同図を図2の概略構成図と比較
すると、図2におけるキャッシュライトバッファ20が
キャッシュライトバッファ制御装置25と、3本のキャ
ッシュライトバッファ26〜28によって構成されてい
る点が異なっている。
【0035】各キャッシュライトバッファ26〜28
は、それぞれストアデータ幅として、例えば8バイトの
バッファであり、8バイトのデータを格納すると共にそ
のデータの格納場所を示すアドレス、およびデータ有効
性フラグを格納する。データ有効性フラグ(V)は、キ
ャッシュライトバッファに有効なデータが保持されてい
ることを示す。3本のキャッシュライトバッファ26〜
28は、例えばFIFOの形式で制御される。
【0036】キャッシュライトバッファ制御装置25
は、キャッシュライトバッファ26〜28に対するデー
タ入出力を制御するものである。またアドレス変換制御
装置22は、前述のように演算処理装置5から転送され
てきた仮想アドレスがトランスレーションルックアサイ
ドバッファに存在せず、動的アドレス変換が必要となっ
た場合の操作を行うものであり、アドレス変換有効信号
はアドレス変換制御装置22においてアドレス変換が実
行中であることを示す信号である。
【0037】図5の構成に対応して、本発明における動
作タイムチャートを更に詳細に説明する。図6は、図5
のアドレス変換制御装置22においてアドレス変換が実
行される場合の、ストア命令とロード命令衝突時の動作
タイムチャートである。同図において、3本のキャッシ
ュライトバッファ26〜28のそれぞれにすでにデータ
が保持されているものとして、動作を説明する。
【0038】図6においては、最初のサイクルT1から
最後のサイクルT7まで、ロード命令がデータキャッシ
ュ制御装置21に対して常に与えられているものとす
る。そこでサイクルT1〜T3においてロード命令に対
する命令応答が‘H’となっており、これらのサイクル
における命令応答に対応してサイクルT3〜T5におい
てそれぞれキャッシュヒットと判定され、ロードデータ
がデータキャッシュ記憶装置1からレジスタファイル6
に出力される。
【0039】一方サイクルT3においてアドレス変換有
効信号が‘H’となり、このサイクルまでローであった
キャッシュ格納要求はサイクルT4からハイに変化し、
ロード命令に対する命令応答は‘L’となり、キャッシ
ュライトバッファに格納されていたデータのキャッシュ
記憶装置への格納が開始される。すなわちサイクルT4
においてライトバッファ0に保持されていたデータ、サ
イクルT5においてライトバッファ1に保持されていた
データ、サイクルT6においてライトバッファ2に保持
されていたデータに対するキャッシュ格納応答が出力さ
れ、これらのデータはそれぞれ次のサイクルでRAMに
反映される。そしてサイクルT7でキャッシュライトバ
ッファ2に有効なデータが存在しなくなるために、格納
要求ハイ信号は‘L’となり、ロード命令を受理可能な
状態となり、命令応答が返される。
【0040】図7、および図8は、キャッシュライトバ
ッファにデータが保持されてからある一定時間が経過し
た時点で、キャッシュ格納要求がローからハイに遷移す
る場合の動作タイムチャートである。図7において、ま
ずサイクルT1でストア命令が命令制御装置4からデー
タキャッシュ制御装置21にデータアドレスと共に与え
られ、サイクルT3でキャッシュヒットと判定され、ス
トアデータがキャッシュライトバッファ26〜28のい
ずれかに対するものとして、レジスタファイル6から出
力される。このデータは例えばサイクルT4においてラ
イトバッファ0に格納され、このサイクルからキャッシ
ュ格納要求ロー信号がデータキャッシュ制御装置21に
対して出力される。
【0041】一方ロード命令がサイクルT2以降におい
てデータキャッシュ制御装置21に与えられ、これに対
する命令応答がサイクルT2〜T7まで返され、これに
対応してサイクルT4以降においてロードデータのレジ
スタファイル6への出力が順次行われる。この間、キャ
ッシュライトバッファにデータが格納されてからカウン
トが開始される有効サイクルカウント数がサイクルT7
において‘4’となる。
【0042】図8は図7の動作タイムチャートの続きで
ある。同図において、サイクルT8において前述の有効
サイクルカウント数が‘5’となる。本実施例ではこの
有効サイクルカウント数が‘5’に達した時点で、キャ
ッシュライトバッファ制御装置25から出力される書込
み要求がローからハイに遷移するものとすると、次のサ
イクルT9においてキャッシュ格納要求はハイとなり、
これに対応してロード命令に対する命令応答は‘L’、
キャッシュ格納応答は‘H’となり、ライトバッファ0
に保持されていたデータのデータキャッシュ記憶装置1
への書き込みが行われ、保持されていたデータはサイク
ルT10においてRAMに反映される。
【0043】その後の動作は本発明に直接の関係はない
が、ロード命令のデータキャッシュ制御装置21への出
力はサイクルT10で終了し、サイクルT11では新た
なストア命令がデータキャッシュ制御装置21に与えら
れ、これに対応するキャッシュヒットがサイクルT13
で判定され、T14でライトバッファ0にストアデータ
が格納され、キャッシュライトバッファ制御装置25か
ら書込み要求ロー信号が出力され、直ちにキャッシュ格
納応答が返される。
【0044】
【発明の効果】以上詳細に説明したように、本発明によ
ればキャッシュへのデータ格納に際してそのデータを一
旦キャッシュライトバッファに保持させる形式のデータ
処理装置において、キャッシュライトバッファからキャ
ッシュメモリへのデータ書込み要求とキャッシュメモリ
からのデータ読出し要求とが衝突した場合に、キャッシ
ュライトバッファに保持されているデータのキャッシュ
メモリへの書込みを必要以上に遅らせることなく実行す
ることが可能となり、データ処理の効率を向上させるこ
とができる。
【図面の簡単な説明】
【図1】本発明の原理構成ブロック図である。
【図2】本発明におけるキャッシュブロックとCPUブ
ロックとの構成を示す図である。
【図3】本発明におけるキャッシュ格納要求の状態遷移
を説明する図である。
【図4】本発明におけるストア命令とロード命令の衝突
時の動作タイムチャートである。
【図5】キャッシュブロックとCPUブロックの実施例
の詳細構成を示す図である。
【図6】アドレス変換有効信号が入力されている時のス
トア命令とロード命令が衝突した場合の動作タイムチャ
ートである。
【図7】有効サイクルカウント数が一定値を越えた時に
書込み要求信号がハイとなる場合の動作タイムチャート
(その1)である。
【図8】有効サイクルカウント数が一定値を越えた時に
書込み要求信号がハイとなる場合の動作タイムチャート
(その2)である。
【図9】キャッシュブロックとCPUブロックの従来例
の構成を示す図である。
【図10】図9の従来例におけるロード命令に対する動
作タイムチャートである。
【図11】図9の従来例におけるストア命令に対する動
作タイムチャートである。
【図12】図9の従来例におけるストア命令とロード命
令が衝突した場合(ストア命令優先)の動作タイムチャ
ートである。
【図13】図9の従来例におけるストア命令とロード命
令が衝突した場合(ロード命令優先)の動作タイムチャ
ートである。
【図14】図9の従来例におけるキャンセルされるロー
ド命令とストア命令が衝突した場合の動作タイムチャー
トである。
【図15】命令キャンセルを説明する図である。
【符号の説明】
1 データキャッシュ記憶装置 2,21 データキャッシュ制御装置 3,20 キャッシュライトバッファ 4 命令制御装置 5 演算処理装置 6 レジスタファイル 10 キャッシュ記憶装置 11 キャッシュ書込みデータ保持手段 12 キャッシュ制御手段 22 アドレス変換制御装置 23 レジスタ 25 キャッシュライトバッファ制御装置 26〜28 キャッシュライトバッファ0〜2
───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂田 英樹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュ記憶装置を有するデータ処理
    装置において、 該キャッシュ記憶装置(10)に書き込むための書込み
    データを保持するキャッシュ書込みデータ保持手段(1
    1)と、 該キャッシュ記憶装置(10)に格納されているデータ
    の読出し要求と、該キャッシュ書込みデータ保持手段
    (11)からキャッシュ記憶装置(10)へのデータの
    書込み要求とが競合した時、該データ読出し要求を優先
    させる制御と、該データ書込み要求を優先させる制御と
    のいずれかを実行することのできるキャッシュ制御手段
    (12)とを備えたことを特徴とするデータ処理装置。
  2. 【請求項2】 前記キャッシュ書込みデータ保持手段
    (11)が、1つ以上のキャッシュライトバッファ手段
    (26〜28)と、該1つ以上のキャッシュライトバッ
    ファ手段(26〜28)に対するデータ入出力を制御す
    るキャッシュライトバッファ制御手段(25)とを備え
    たことを特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 前記キャッシュライトバッファ制御手段
    (25)が、前記1つ以上のキャッシュライトバッファ
    手段(26〜28)のいずれかに書込みデータが保持さ
    れている時、該書込みデータの前記キャッシュ記憶装置
    (10)への書き込みを前記データ読出し要求よりも優
    先させることを要求する書込み要求ハイ信号、または該
    書込みデータの書き込みよりも前記データ読出し要求の
    優先を認める書込み要求ロー信号のいずれかを前記キャ
    ッシュ制御手段(12)に出力することを特徴とする請
    求項2記載のデータ処理装置。
  4. 【請求項4】 前記キャッシュ制御手段(12)が、前
    記キャッシュライトバッファ制御手段(25)からの書
    込み要求ロー信号の入力に応じて前記データ読出し要求
    を優先させる制御を行い、書込み要求ハイ信号の入力に
    応じて前記データ書込み要求を優先させる制御を行うこ
    とを特徴とする請求項3記載のデータ処理装置。
  5. 【請求項5】 前記キャッシュライトバッファ制御手段
    (25)が、前記書込み要求ロー信号を出力している状
    態において、データ読出しを要求する命令のキャンセル
    を契機として前記書込み要求ハイ信号を出力する状態に
    遷移することを特徴とする請求項3記載のデータ処理装
    置。
  6. 【請求項6】 前記キャッシュライトバッファ制御手段
    (25)が、前記書込み要求ロー信号を出力している状
    態において、仮想アドレスから物理アドレスへの変換を
    行うアドレス変換装置によるアドレス変換実行を契機と
    して前記書込み要求ハイ信号を出力する状態に遷移する
    ことを特徴とする請求項3記載のデータ処理装置。
  7. 【請求項7】 前記キャッシュライトバッファ制御手段
    (25)が、前記書込み要求ロー信号を出力している状
    態において、前記キャッシュライトバッファ手段(26
    〜28)の1つ以上に保持されているデータの保持期間
    がある一定値を越えたことを契機として、前記書込み要
    求ハイ信号を出力する状態に遷移することを特徴とする
    請求項3記載のデータ処理装置。
  8. 【請求項8】 前記キャッシュライトバッファ制御手段
    (25)が、前記書込み要求ロー信号を出力している状
    態において、データ読出しを要求する命令のキャンセ
    ル、仮想アドレスから物理アドレスへの変換を行うアド
    レス変換装置によるアドレス変換実行、および前記キャ
    ッシュライトバッファ手段(26〜28)の1つ以上に
    保持されているデータの保持期間がある一定値を越えた
    ことの3つの条件のうちでいずれかの条件の成立を契機
    として前記書込み要求ハイ信号を出力する状態に遷移す
    ることを特徴とする請求項3記載のデータ処理装置。
  9. 【請求項9】 前記キャッシュライトバッファ制御手段
    (25)が、前記書込み要求ハイ信号を出力している状
    態において、前記キャッシュライトバッファ手段(26
    〜28)に保持されている全ての有効データが前記キャ
    ッシュ記憶装置(10)に格納されたことを契機として
    該書込み要求ハイ信号の出力を停止し、該キャッシュラ
    イトバッファ手段(26〜28)に新たな有効データが
    格納された時に前記書込み要求ロー信号を出力する状態
    に遷移することを特徴とする請求項3記載のデータ処理
    装置。
  10. 【請求項10】 前記キャッシュライトバッファ制御手
    段(25)が、前記書込み要求ロー信号を出力している
    状態において、データ読出しを要求する命令のキャンセ
    ル、仮想アドレスから物理アドレスへの変換を行うアド
    レス変換装置によるアドレス変換実行、および前記キャ
    ッシュライトバッファ手段(26〜28)の1つ以上に
    保持されているデータの保持期間がある一定値を越えた
    ことの3つの条件のうちでいずれかの条件の成立を契機
    として前記書込み要求ハイ信号を出力する状態に遷移す
    ることと、 該キャッシュライトバッファ制御手段(25)が、前記
    書込み要求ハイ信号を出力している状態において、前記
    キャッシュライトバッファ手段(26〜28)に保持さ
    れている全ての有効データが前記キャッシュ記憶装置
    (10)に格納されたことを契機として該書込み要求ハ
    イ信号の出力を停止し、該キャッシュライトバッファ手
    段(26〜28)に新たな有効データが格納された時に
    前記書込み要求ロー信号を出力する状態に遷移すること
    を特徴とする請求項3記載のデータ処理装置。
  11. 【請求項11】 キャッシュライトバッファ制御手段
    (25)が、初期状態において、前記キャッシュライト
    バッファ手段(26〜28)に有効データが格納された
    時、前記書込み要求ロー信号を出力する状態にあること
    を特徴とする請求項3記載のデータ処理装置。
  12. 【請求項12】 前記キャッシュライトバッファ制御手
    段(25)に対して、前記書込み要求ロー信号の前記キ
    ャッシュ制御手段(12)への出力を禁止するロー要求
    禁止信号を出力するレジスタ手段(23)を更に備えた
    ことを特徴とする請求項3記載のデータ処理装置。
JP15244694A 1994-07-04 1994-07-04 データ処理装置 Expired - Fee Related JP3164732B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP15244694A JP3164732B2 (ja) 1994-07-04 1994-07-04 データ処理装置
US08/954,561 US6374334B1 (en) 1994-07-04 1997-10-20 Data processing apparatus with a cache controlling device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15244694A JP3164732B2 (ja) 1994-07-04 1994-07-04 データ処理装置

Publications (2)

Publication Number Publication Date
JPH0816472A true JPH0816472A (ja) 1996-01-19
JP3164732B2 JP3164732B2 (ja) 2001-05-08

Family

ID=15540707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15244694A Expired - Fee Related JP3164732B2 (ja) 1994-07-04 1994-07-04 データ処理装置

Country Status (2)

Country Link
US (1) US6374334B1 (ja)
JP (1) JP3164732B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019200834A (ja) * 2014-06-20 2019-11-21 株式会社半導体エネルギー研究所 半導体装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014759A (en) * 1997-06-13 2000-01-11 Micron Technology, Inc. Method and apparatus for transferring test data from a memory array
US6044429A (en) 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
JP2002051055A (ja) * 2000-08-04 2002-02-15 Sony Corp 通信制御方法、通信システム及び通信装置
JP4234361B2 (ja) * 2002-06-28 2009-03-04 富士通株式会社 記憶制御装置およびデータ格納方法
US7146484B2 (en) * 2004-06-15 2006-12-05 Hitachi, Ltd. Method and apparatus for caching storage system
JP4128551B2 (ja) * 2004-07-29 2008-07-30 富士通株式会社 情報処理装置及びストア命令制御方法
US9916105B1 (en) * 2015-11-05 2018-03-13 Crossbar, Inc. Page management for data operations utilizing a memory device

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4217640A (en) * 1978-12-11 1980-08-12 Honeywell Information Systems Inc. Cache unit with transit block buffer apparatus
JPS6022376B2 (ja) 1980-08-28 1985-06-01 日本電気株式会社 キャッシュメモリ制御装置
JPS5829187A (ja) 1981-08-14 1983-02-21 Nec Corp キヤツシユメモリ制御装置
JPS58208982A (ja) 1982-05-31 1983-12-05 Nec Corp ストアバツフア
JPS59136859A (ja) 1983-01-27 1984-08-06 Nec Corp バツフア制御装置
JPS61131047A (ja) 1984-11-29 1986-06-18 Toshiba Corp パイプライン制御方式
JPS61220046A (ja) 1985-03-26 1986-09-30 Nec Corp 情報処理装置
JPS61220045A (ja) 1985-03-26 1986-09-30 Nec Corp 情報処理装置
US4789925A (en) * 1985-07-31 1988-12-06 Unisys Corporation Vector data logical usage conflict detection
JPS6482149A (en) 1987-09-24 1989-03-28 Nec Corp Information processor
US4933901A (en) * 1988-01-11 1990-06-12 Texas Instruments Incorporated Method for assigning priority to read and write requests received closely in time
JPH01280851A (ja) 1988-05-06 1989-11-13 Mitsubishi Electric Corp キャッシュ・ストア制御方式
JPH01305452A (ja) 1988-06-02 1989-12-08 Fujitsu Ltd バッファ記憶装置のストア制御方式
EP0425550B1 (en) 1988-06-30 1995-01-04 Wang Laboratories, Inc. Memory control unit
US5125083A (en) * 1989-02-03 1992-06-23 Digital Equipment Corporation Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
JPH02236748A (ja) 1989-03-10 1990-09-19 Nec Corp ストア・バッファ
US5432918A (en) * 1990-06-29 1995-07-11 Digital Equipment Corporation Method and apparatus for ordering read and write operations using conflict bits in a write queue
JPH04145552A (ja) 1990-10-05 1992-05-19 Nec Corp キャッシュ記憶装置
JP3130569B2 (ja) 1991-07-17 2001-01-31 日本電気株式会社 キャッシュメモリのストア方式
JP3644959B2 (ja) * 1992-09-29 2005-05-11 セイコーエプソン株式会社 マイクロプロセッサシステム
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019200834A (ja) * 2014-06-20 2019-11-21 株式会社半導体エネルギー研究所 半導体装置

Also Published As

Publication number Publication date
JP3164732B2 (ja) 2001-05-08
US6374334B1 (en) 2002-04-16

Similar Documents

Publication Publication Date Title
US5761734A (en) Token-based serialisation of instructions in a multiprocessor system
US5893153A (en) Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
JPH06309230A (ja) バススヌ−プ方法
JPH0816472A (ja) データ処理装置
KR0128272B1 (ko) 보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법
US20020169930A1 (en) Memory access control system, method thereof and host bridge
JPH09231133A (ja) キャッシュメモリ装置
JP3461481B2 (ja) タグ更新制御回路
JP3161422B2 (ja) マイクロコンピュータ
JP3735375B2 (ja) マルチプロセッサシステム
JP2000181711A (ja) 命令フェッチのキャンセル方式
JP2927160B2 (ja) レジスタ装置
JP2001344152A (ja) キャッシュメモリ装置
JPH03288245A (ja) データ処理装置
JPH0488537A (ja) 情報処理システム
JPH04205154A (ja) マイクロプロセッサシステム
JP3574693B2 (ja) 命令処理プロセッサ
JP2002063154A (ja) ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式
JPH06110780A (ja) バッファ記憶装置
JP2000347931A (ja) キャッシュメモリおよびキャッシュメモリ制御方法
JP2000047930A (ja) データ処理装置
JP3761890B2 (ja) キャッシュメモリ装置
JP3008817B2 (ja) バッファ制御方法とバッファ制御装置
JPH06202982A (ja) バス制御方法及びその装置並びに情報処理装置
JPH10198604A (ja) キャッシュリプレース方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010220

LAPS Cancellation because of no payment of annual fees