JPH0683621A - フェッチ方式 - Google Patents

フェッチ方式

Info

Publication number
JPH0683621A
JPH0683621A JP4230757A JP23075792A JPH0683621A JP H0683621 A JPH0683621 A JP H0683621A JP 4230757 A JP4230757 A JP 4230757A JP 23075792 A JP23075792 A JP 23075792A JP H0683621 A JPH0683621 A JP H0683621A
Authority
JP
Japan
Prior art keywords
branch
cache
cpu
instruction
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4230757A
Other languages
English (en)
Inventor
Takumi Maruyama
拓巳 丸山
Takahito Noda
敬人 野田
Yuji Kamisaka
裕士 神阪
Kazuyasu Nonomura
一泰 野々村
Toru Watabe
徹 渡部
Takumi Takeno
巧 竹野
Shinya Kato
慎也 加藤
Chiyonsuwannapaisaan Poonshiyai
ポーンシャイチョンスワンナパイサーン
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 JP4230757A priority Critical patent/JPH0683621A/ja
Publication of JPH0683621A publication Critical patent/JPH0683621A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 本発明は、フェッチ方式に関し、CPUが分
岐判定制御信号をキャッシュに通知して分岐命令の実行
時にミスヒットして分岐条件が未確定のときに主メモリ
からのミスヒット補充を抑止し、キャッシュと主メモリ
との間のメモリバスの負荷を軽減し、処理の高速化を図
ることを目的とする。 【構成】 CPU1が分岐命令の実行時にフェッチアド
レスをキャッシュ2に通知し、ヒットしたときにその命
令やデータをCPU1に送出し、ミスヒットしたときに
分岐判定制御信号7がオフのときに分岐が確定と判定し
て主メモリ3から命令やデータをキャッシュ2に書き込
むと共にこの命令やデータをCPU1に送出し、一方、
分岐判定制御信号7がオフのときに分岐が未確定と判定
して主メモリ3から命令やデータをキャッシュ2に書き
込む処理を抑止するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、分岐命令実行時に命令
やデータのフェッチを行うフェッチ方式に関するもので
ある。
【0002】近年のコンピュータシステムの高速化の要
求に伴い、命令フェッチの効率化が求められている。こ
のため、分岐命令を実行する際に、分岐条件が未確定の
ときにキャシュを検索してミスヒットしたときに補充を
行わないでメモリバスの負荷を軽減することが望まれて
いる。
【0003】
【従来の技術】従来、キャッシュを持った図5の(a)
に示すようなコンピュータシステムにおいて、分岐命令
を実行する際の命令フェッチは図5の(b)に示す下記
のようなシーケンスで行っていた。
【0004】(1) CPU21がサイクルnで分岐条
件を判定し、分岐先あるいは非分岐先のいずれかを次の
命令フェッチアドレスとする。この時点で分岐条件が確
定していなかった場合、仮に分岐先を次の命令フェッチ
アドレスとする。
【0005】(2) CPU21がサイクルn+1で、
サイクルnのときに決定した命令フェッチアドレスをア
ドレスバス24を通してキャッシュ22に送出する。 (3) キャッシュ22は、当該命令フェッチアドレス
についてヒットか、ミスヒットかを判定する。
【0006】(3−1) ヒットの場合、サイクルn+
2で命令やデータをデータバス25を通してCPU21
に送出する。 (3−2) ミスヒットの場合、キャッシュ22は命令
フェッチアドレスをメモリバス26を通して主メモリ2
3に送出する。主メモリ23は該当命令やデータをメモ
リバス26を通してキャッシュ22に書き込む。そし
て、命令やデータをデータバス25を通してCPU21
に送出する。
【0007】ここで、図5の(a)の構成について簡単
に説明する。図5の(a)において、CPU21は、プ
ログラムに従って各種業務処理を行うものである。
【0008】キャッシュ22は、命令やデータを保持
し、ヒットしたときにCPU21に送出したりなどする
ものである。主メモリ23は、命令やデータを格納する
ものである。
【0009】アドレスバス24は、CPU21とキャッ
シュ22とを接続するアドレスバスである。データバス
25は、CPU21とキャッシュ22とを接続するデー
タバスである。
【0010】メモリバス26は、キャッシュ22と主メ
モリ23とを接続するバス(アドレス/データバス)で
ある。
【0011】
【発明が解決しようとする課題】従来の図5の(a)の
構成による動作は、図5の(b)に示すように、分岐命
令の実行時の命令フェッチにおいて、ミスヒットが発生
した場合に主メモリ23からキャッシュ22への命令や
データの転送が発生する。特に分岐条件が未確定なとき
に例えば分岐先を仮の次の命令フェッチアドレスとして
プリフェッチし、当該プリフェッチした命令が使われな
いことがある。このため、メモリバス26の負荷を増大
させ、他のCPUが主メリ23を迅速にアクセスして処
理を行えなくなってしまうという問題があった。
【0012】本発明は、これらの問題を解決するため、
CPUが分岐判定制御信号をキャッシュに通知して分岐
命令の実行時にミスヒットして分岐条件が未確定のとき
に主メモリからのミスヒット補充を抑止し、キャッシュ
と主メモリとの間のメモリバスの負荷を軽減し、処理の
高速化を図ることを目的としている。
【0013】
【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、CPU1
は、プログラムに従って各種処理を行うものである。
【0014】キャッシュ2は、主メモリ3から取り込ん
だ命令やデータを保持するメモリである。主メモリ3
は、命令やデータを格納するメモリである。
【0015】分岐判定制御信号7は、CPU1が分岐命
令の実行時に分岐未確定か否かをキャシュ2に通知する
信号である。
【0016】
【作用】本発明は、図1に示すように、CPU1が分岐
命令の実行時に命令フェッチアドレスをキャッシュ2に
通知し、通知を受けたキャッシュ2がヒットしたときに
その命令やデータをCPU1に送出し、ミスヒットした
ときに分岐判定制御信号7がオフのときに分岐が確定と
判定して主メモリ3から命令やデータをキャッシュ2に
書き込むと共にこの命令やデータをCPU1に送出し、
一方、分岐判定制御信号7がオンのときに分岐が未確定
と判定して主メモリ3から命令やデータをキャッシュ2
に書き込む処理を抑止するようにしている。
【0017】従って、CPU1が分岐判定制御信号7を
キャッシュ2に通知して分岐命令の実行時にミスヒット
して分岐条件が未確定のときの主メモリ3からのミスヒ
ット補充を抑止し、キャッシュ2と主メモリ3との間の
メモリバス6の負荷を軽減し、処理の高速化を図ること
が可能となる。
【0018】
【実施例】次に、図1から図4を用いて本発明の実施例
の構成および動作を順次詳細に説明する。
【0019】図1は、本発明の原理構成図を示す。図1
において、CPU1は、プログラムに従って各種処理を
行うものであって、キャッシュ2に実行しようとする命
令や読みだそうとするデータが存在したとき(ヒットし
たとき)に当該キャッシュ2から読み出して実行した
り、存在しないとき(ミスヒットしたとき)は主メモリ
3から命令やデータをキャッシュ2に格納すると共にこ
れの転送を受けて実行したりするものである。
【0020】キャッシュ2は、主メモリ3上の命令やデ
ータを一時的に保持する高速アクセス可能なメモリであ
る。主メモリ3は、CPU1が実行する命令やデータを
ローディングして保持するメモリである。
【0021】アドレスバス4は、CPU1がキャッシュ
2にアドレスを送出するバスである。データバス5は、
CPU1とキャッシュ2との間でデータの授受を行うバ
スである。
【0022】メモリバス6は、キャッシュ2と主メモリ
3との間でアドレスおよびデータの授受を行うバスであ
る。分岐判定制御信号7は、CPU1が分岐命令実行時
に分岐先が確定あるいは未確定をキャッシュ2に通知す
る信号である。分岐判定制御信号7がオンのとき(分岐
先が未確定のとき)、キャッシュ2はミスヒットした場
合に主メモリ3からプリフェッチすることを抑止する。
【0023】次に、図2のタイムチャートを参照して図
1の構成の動作を説明する。ここで、各記号は下記を表
す。 CPU :CPU1 BU :分岐判定制御信号7 ABUS:アドレスバス4 DBUS:データバス5 MBUS:メモリバス6 (1) 分岐条件判定時に分岐条件が確定していた時: (1−1) CPU1がサイクルnで分岐条件を判定す
る(図2の(a)の)。分岐条件に応じて分岐先ある
いは次の命令フェッチアドレスのいずれかを命令フェッ
チアドレスとする。
【0024】(1−2) CPU1がサイクルn+1
で、サイクルnで決定した命令フェッチアドレスをアド
レスバス4を通してキャッシュ2に送出する。同時に、
CPU1は、ここでは、分岐条件が確定しているので、
分岐判定制御信号7をオフ(OFF)とする(図2の
(a)の)。
【0025】(1−3) キャッシュ2は、通知された
命令フェッチアドレスの命令が存在するか否かを判定す
る。 (1−3−1) 存在する場合(ヒットの場合)、キャ
ッシュ2はサイクルn+2で命令やデータをデータバス
5を通してCPU1に送出する(図2の(a)の)。
【0026】(1−3−2) 存在しない場合(ミスヒ
ットの場合)、分岐判定制御信号7がオフであって、分
岐条件が確定と判明したので、命令フェッチアドレスを
メモリバス6を通して主メモリ3に送出する(図2の
(a)の)。主メモリ3は、当該命令フェッチアドレ
スを含むブロックをメモリバス6を通してキャッシュ2
に送出する(図2の(a)の)。キャッシュ2は内部
に保存すると共に、データバス5を通してCPU1に送
出する(図2の(a)の)。
【0027】以上によって、分岐条件が確定していた場
合、CPU1がオフの分岐判定制御信号7をキャッシュ
2に送出すると、キャッシュ2はミスヒットしたときに
主メモリ3から命令やデータを取り込んで保持すると共
にCPU1に送出する(図2の(a)の、、、
、)。一方、分岐条件が確定していない場合、後述
するように、オンの分岐判定制御信号7をキャッシュ2
に送出すると、キャッシュ2はプリフェッチを止め、メ
モリバス6の負荷を軽減するという切り分けを行うこと
が可能となる。
【0028】(2) 分岐条件判定時に分岐条件が確定
していなかった時: (2−1) CPU1がサイクルnで分岐条件を判定す
る(図2の(b)の)。分岐条件が未確定なので、分
岐先の次の命令フェッチアドレスとする。
【0029】(2−2) CPU1がサイクルn+1
で、サイクルnで決定した次の命令フェッチアドレスを
アドレスバス4を通してキャッシュ2に送出する。同時
に、CPU1は、ここでは、分岐条件が未確定なので、
分岐判定制御信号7をオン(ON)とする(図2の
(b)の)。
【0030】(2−3) キャッシュ2は、通知された
命令フェッチアドレスの命令が存在するか否かを判定す
る。 (2−3−1) 存在する場合(ヒットの場合)、キャ
ッシュ2はサイクルn+2で命令やデータをデータバス
5を通してCPU1に送出する(図2の(b)の)。
【0031】(2−3−2) 存在しない場合(ミスヒ
ットの場合)、分岐判定制御信号7がオンであって、分
岐条件が未確定と判明したので、命令フェッチアドレス
をメモリバス6を通して主メモリ3に送出することを止
め、ミスヒット補充を行わない。
【0032】以上によって、分岐条件が未確定の場合、
CPU1がオンの分岐判定制御信号7をキャッシュ2に
送出すると、キャッシュ2はミスヒットしたときに主メ
モリ3から命令やデータを取り込んで保持することを抑
止し、メモリバス6の負荷を軽減することが可能とな
る。
【0033】図3は、本発明の1実施例構成図を示す。
これは、図1の原理構成図を具体化した実施例構成を示
す。ここで、CPU1、主メモリ3、アドレスバス4、
データバス5、およびメモリバス6は、図1の構成と同
一であるので説明を省略する。
【0034】図3において、キャッシュ2は、主メモリ
3の命令やデータを保持してCPU1からの要求に対応
して高速に送出したりするものであって、ここでは、タ
グメモリ2−1、バッファメモリ2−2およびアドレス
ラッチ2−3などから構成されるものである。
【0035】タグメモリ2−1は、与えられたアドレス
に対応する命令やデータがバッファメモリ2−2に存在
するか否かを判定するものである。バッファメモリ2−
2は、主メモリ3の命令やデータを保持し、高速にCP
U1に送出したりなどするものである。
【0036】アドレスラッチ2−3は、CPU1から通
知されたアドレスを一時的に保持するものである。分岐
判定制御信号7は、CPU1が分岐命令を実行したとき
に、分岐条件が確定しているか否かをキャッシュ2に通
知する信号である。
【0037】ヒット信号8は、キャッシュ2がCPU1
から通知されたフェッチアドレスの命令やデータがバッ
ファメモリ2−2に存在するか否かを表す信号である。
次に、図4のタイムチャートを参照して図3の構成の動
作を詳細に説明する。ここで、各記号は下記を表す。
【0038】CPU :CPU1 BU :分岐判定制御信号7 HIT :ヒット信号8 ABUS:アドレスバス4 DBUS:データバス5 MBUS:メモリバス6 (1) 分岐条件判定時に分岐条件が確定していた時: (1−1) CPU1がサイクルnで分岐条件を判定す
る(図4の(a)の)。分岐条件に応じて分岐先ある
いは次の命令フェッチアドレスのいずれかを命令フェッ
チアドレスとする。
【0039】(1−2) CPU1がサイクルn+1
で、サイクルnで決定した命令フェッチアドレスをアド
レスバス4を通してキャッシュ2に送出する。同時に、
CPU1は、ここでは、分岐条件が確定しているので、
分岐判定制御信号7をオフ(OFF)とする(図4の
(a)の)。
【0040】(1−3) キャッシュ2は、通知された
命令フェッチアドレスの命令が存在するか否かを判定す
る。 (1−3−1) 存在する場合(ヒットの場合) ・サイクルn+1でヒット信号をオン(ON)にする
(図4の(a)の)。
【0041】・サイクルn+2で命令やデータをデータ
バス5を通してCPU1に送出する(図4の(a)の
)。 (1−3−2) 存在しない場合(ミスヒットの場合) ・サイクルn+1でヒット信号をオフ(OFF)にする
(図4の(a)の’)。
【0042】・キャッシュ2は分岐判定制御信号7がオ
フであって、分岐条件が確定と判明したので、命令フェ
ッチアドレスをメモリバス6を通して主メモリ3に送出
する(図4の(a)の)。
【0043】・主メモリ3は、当該命令フェッチアドレ
スを含むブロックをメモリバス6を通してキャッシュ2
に送出する(図4の(a)の)。 ・キャッシュ2は内部に保存すると共に、データバス5
を通してCPU1に送出する(図4の(a)の)。
【0044】以上によって、分岐条件が確定していた場
合、CPU1がオフの分岐判定制御信号7をキャッシュ
2に送出すると、キャッシュ2はミスヒットしたときに
主メモリ3から命令やデータを取り込んで保持すると共
にCPU1に送出する(図4の(a)の、’、、
、)。
【0045】(2) 分岐条件判定時に分岐条件が確定
していなかった時: (2−1) CPU1がサイクルnで分岐条件を判定す
る(図4の(b)の)。分岐条件が未確定なので、分
岐先の次の命令フェッチアドレスとする。
【0046】(2−2) CPU1がサイクルn+1
で、サイクルnで決定した次の命令フェッチアドレスを
アドレスバス4を通してキャッシュ2に送出する。同時
に、CPU1は、ここでは、分岐条件が未確定なので、
分岐判定制御信号7をオン(ON)とする(図4の
(b)の、’)。
【0047】(2−3) キャッシュ2は、通知された
命令フェッチアドレスの命令が存在するか否かを判定す
る。 (2−3−1) 存在する場合(ヒットの場合) ・サイクルn+1でヒット信号をオン(ON)にする
(図4の(b)の)。
【0048】・サイクルn+2で命令やデータをデータ
バス5を通してCPU1に送出する(図4の(b)の
)。 (2−3−2) 存在しない場合(ミスヒットの場合) ・サイクルn+1でヒット信号をオフ(OFF)にする
(図4の(b)の’)。
【0049】・キャッシュ2は分岐判定制御信号7がオ
フであって、分岐条件が未確定と判明したので、命令フ
ェッチアドレスをメモリバス6を通して主メモリ3に送
出することを抑止する。
【0050】以上によって、分岐条件が未確定の場合、
CPU1がオンの分岐判定制御信号7をキャッシュ2に
送出すると、キャッシュ2はミスヒットしたときに主メ
モリ3から命令やデータを取り込むことを抑止し、メモ
リバス6の負荷を軽減することが可能となる。
【0051】
【発明の効果】以上説明したように、本発明によれば、
CPU1が分岐判定制御信号7をキャッシュ2に通知し
て分岐命令の実行時にミスヒットして分岐条件が未確定
のときの主メモリ3からのミスヒット補充を抑止する構
成を採用しているため、キャッシュ2と主メモリ3との
間のメモリバス6の負荷を軽減し、処理の高速化を図る
ことができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明のタイムチャートである。
【図3】本発明の1実施例構成図である。
【図4】本発明のタイムチャートである。
【図5】従来技術の説明図である。
【符号の説明】
1:CPU 2:キャッシュ 2−1:タグメモリ 2−2:バッファメモリ 2−3:アドレスラッチ 3:主メモリ 4:アドレスバス 5:データバス 6:メモリバス 7:分岐判定制御信号 8:ヒット信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野々村 一泰 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 渡部 徹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 竹野 巧 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 加藤 慎也 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 ポーンシャイチョンスワンナパイサーン 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】分岐命令実行時に命令やデータのフェッチ
    を行うフェッチ方式において、 命令やデータを格納する主メモリ(3)と、 この主メモリ(3)から取り込んだ命令やデータを保持
    するキャッシュ(2)と、 CPU(1)が分岐命令の実行時に分岐未確定か否かを
    キャシュ(2)に通知する分岐判定制御信号(7)とを
    備え、 CPU(1)が分岐命令の実行時にフェッチアドレスを
    キャッシュ(2)に通知し、 通知を受けたキャッシュ(2)がヒットしたときにその
    命令やデータをCPU(1)に送出し、ミスヒットした
    ときに上記分岐判定制御信号(7)がオフのときに分岐
    が確定と判定して主メモリ(3)から命令やデータをキ
    ャッシュ(2)に書き込むと共にこの命令やデータをC
    PU(1)に送出し、一方、分岐判定制御信号(7)が
    オフのときに分岐が未確定と判定して主メモリ(3)か
    ら命令やデータをキャッシュ(2)に書き込む処理を抑
    止するように構成したことを特徴とする命令フェッチ方
    式。
JP4230757A 1992-08-31 1992-08-31 フェッチ方式 Pending JPH0683621A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4230757A JPH0683621A (ja) 1992-08-31 1992-08-31 フェッチ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4230757A JPH0683621A (ja) 1992-08-31 1992-08-31 フェッチ方式

Publications (1)

Publication Number Publication Date
JPH0683621A true JPH0683621A (ja) 1994-03-25

Family

ID=16912800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4230757A Pending JPH0683621A (ja) 1992-08-31 1992-08-31 フェッチ方式

Country Status (1)

Country Link
JP (1) JPH0683621A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263286A (ja) * 1995-03-22 1996-10-11 Kofu Nippon Denki Kk 緩衝記憶装置
JPH08328857A (ja) * 1995-05-31 1996-12-13 Nec Ic Microcomput Syst Ltd マイクロプロセッサ
JP2011028540A (ja) * 2009-07-27 2011-02-10 Renesas Electronics Corp 情報処理システム、キャッシュメモリの制御方法、プログラム及びコンパイラ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263286A (ja) * 1995-03-22 1996-10-11 Kofu Nippon Denki Kk 緩衝記憶装置
JPH08328857A (ja) * 1995-05-31 1996-12-13 Nec Ic Microcomput Syst Ltd マイクロプロセッサ
JP2011028540A (ja) * 2009-07-27 2011-02-10 Renesas Electronics Corp 情報処理システム、キャッシュメモリの制御方法、プログラム及びコンパイラ

Similar Documents

Publication Publication Date Title
JP3549079B2 (ja) キャッシュ制御の命令プリフェッチ方法
US6978350B2 (en) Methods and apparatus for improving throughput of cache-based embedded processors
EP0097790B1 (en) Apparatus for controlling storage access in a multilevel storage system
JP2002297379A (ja) ハードウェアプリフェッチシステム
JPH06318177A (ja) キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム
US6378023B1 (en) Interrupt descriptor cache for a microprocessor
EP1039377B1 (en) System and method supporting multiple outstanding requests to multiple targets of a memory hierarchy
JPH0285960A (ja) 情報処理システム
WO2004059470A1 (en) Mechanism to increase performance of control speculation
US6658537B2 (en) DMA driven processor cache
JPH0340047A (ja) キヤツシユ・ライン・ストア方法
US6976128B1 (en) Cache flush system and method
JP4965638B2 (ja) タスクの切り換えを制御するシステムおよび方法
JP4504134B2 (ja) システム制御装置、投機フェッチ方法および情報処理装置
JPH0683621A (ja) フェッチ方式
EP0646870B1 (en) Information processing system including a cache and means for prefetching data
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
WO1999032976A1 (en) Risc processor with concurrent snooping and instruction execution
EP3332329B1 (en) Device and method for prefetching content to a cache memory
US20020078306A1 (en) Method and apparatus for improving system performance in multiprocessor systems
JP3039391B2 (ja) メモリシステム
JP3161422B2 (ja) マイクロコンピュータ
JP3757768B2 (ja) ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式
JPH11249959A (ja) キャッシュメモリ制御方法および装置
JP2000347931A (ja) キャッシュメモリおよびキャッシュメモリ制御方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980804