JP2000347931A - キャッシュメモリおよびキャッシュメモリ制御方法 - Google Patents

キャッシュメモリおよびキャッシュメモリ制御方法

Info

Publication number
JP2000347931A
JP2000347931A JP11156159A JP15615999A JP2000347931A JP 2000347931 A JP2000347931 A JP 2000347931A JP 11156159 A JP11156159 A JP 11156159A JP 15615999 A JP15615999 A JP 15615999A JP 2000347931 A JP2000347931 A JP 2000347931A
Authority
JP
Japan
Prior art keywords
cache memory
address
cache
interrupt
tag
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
JP11156159A
Other languages
English (en)
Inventor
Keisuke Kaneko
圭介 金子
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP11156159A priority Critical patent/JP2000347931A/ja
Publication of JP2000347931A publication Critical patent/JP2000347931A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 キャッシュメモリを有する情報処理システム
において、割り込み発生時の割り込みハンドラへのフェ
ッチアクセスにおいて、キャッシュミスペナルティーを
事実上低減させる。 【解決手段】 キャッシュメモリに任意にアドレスを保
持するアドレス保持部を設け、また、前記アドレス保持
部に保持している任意のアドレス値とキャッシュメモリ
内のタグメモリデータとを比較することを可能とする。
割り込み発生時は、CPUからのキャッシュアクセス要
求とは別に先行してアドレス保持部に保持しているアド
レス値によりキャッシュヒットミス判定を行なう。アド
レス保持部に割り込みハンドラのアドレスを設定してお
くことにより、CPUが割り込みハンドラへのアクセス
を行なうよりも前に割り込みハンドラのアドレスがキャ
ッシュヒットするかミスするかを先行して判断可能とす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理システム
に用いるキャッシュメモリとキャッシュメモリの制御方
法に関するものである。
【0002】
【従来の技術】中央処理装置(以下CPU)と、キャッシ
ュメモリを有するシステムにおいて、CPUへの割り込
みが発生すると、CPUは現在行なっている処理を中
断、あるいは完了した後に、現在CPUが行なっていた
命令フェッチアクセスを中断あるいは、完了し、割り込
み処理ルーチンへの分岐を行ない割り込み処理へと移行
する。割り込みを受理し、割り込みハンドラへの分岐の
前には、CPUが行なっていた命令フェッチアクセスの
中断、あるいは完了処理、その後アドレス生成、命令フ
ェッチアクセス要求準備、の処理を行なう。前記の処理
の後に、割り込みハンドラへの命令フェッチアクセス要
求を出し、キャッシュメモリアクセスが許可されている
場合、CPUからのアドレスによりキャッシュメモリア
クセスが行なわれる。このキャッシュメモリアクセスに
おいて、キャッシュミスである場合は、主記憶領域から
のデータ転送を行なわなくてはならない。
【0003】前述のように割り込み要求が発生した場
合、CPUは割り込み処理ルーチンへの分岐処理に入る
が、その処理には通常数サイクル必要とされる。一般
に、CPUは割り込みが発生すると、割り込み応答性能
を向上させる為、割り込み要求発生時点で行なっている
命令フェッチアクセスを中断する。中断せず完了するC
PUであっても、フェッチしてきた命令データはCPU
では実行されない。
【0004】キャッシュメモリを有するシステムにおい
て、割り込みが発生した後、割り込み処理ハンドラへの
分岐処理、分岐先の命令フェッチへとCPUの制御が移
行している間、キャッシュメモリは静止状態、あるい
は、後に必要とされない命令データのためのキャッシュ
メモリアクセスを行なっていることになる。
【0005】図1には従来の命令キャッシュとCPUで
構成されるシステムにおいて、割り込みが発生した時の
動作を示すタイミングチャートである。図1には命令A
(30)、命令B(31)がパイプライン処理され、命令A
(30)がEXステージ(実行ステージ)で伸長している場
合を示す。命令A(30)は実行中に割り込み要求があ
ってもEXステージでの実行が完了するまで割り込みを
受け付けない命令とする。また、IFステージには次命
令の命令B(31)が存在しているので、命令B(3
1)の命令フェッチが行なわれている。命令A(30)が
EXステージ上に存在するサイクル33において割り込
み要求信号24が入った場合、命令A(30)は実行中に
割り込み禁止とする命令であるので、CPUが割り込み
を受理する最初のクロックエッジは34である。割り込
み処理を開始するのは命令A(30)がEXステージを抜
けたサイクル35からとなる。サイクル35からCPU
は割り込み処理開始、現命令の中断処理、次のサイクル
36で割り込み処理ハンドラへの分岐アドレス演算を行
ない、サイクル37で分岐処理ハンドラの先頭アドレス
への命令フェッチ要求が開始されることになる。CPU
は現在までに出力していた命令フェッチ要求のキャンセ
ルを要求するキャンセル信号41と、割り込み処理ハン
ドラへの先頭アドレスの命令フェッチ要求信号40を出
力する。また命令フェッチアドレスがキャッシュヒット
するか否かを調べる為、比較器制御信号42を出力す
る。従来のこの制御方法の場合、キャッシュメモリへの
アクセスは37のサイクルとなり、キャッシュヒットか
否かはサイクル37以降にならないと判明しない。キャ
ッシュミスの場合、サイクル38から主記憶領域からの
データ転送(リフィル)制御が開始されることになる。割
り込み要求があったサイクル33から実際に割り込みハ
ンドラの先頭番地への命令フェッチによりキャッシュア
クセスが行なわれるサイクル37の間はキャッシュメモ
リは静止状態か、あるいは不要な命令フェッチアクセス
を行なうことになり、図中の39のサイクル中は不要な
命令フェッチアクセスを行なっているサイクルとなる。
ここで不要な命令フェッチアクセスとするのは、たとえ
図中39のサイクル間に命令フェッチを行なっても、3
7のサイクルで今までの命令フェッチアクセスをキャン
セル、無効化するためである。
【0006】
【発明が解決しようとする課題】本発明は、CPUとキ
ャッシュメモリを有するシステムにおいて、割り込み発
生時の分岐先の命令フェッチアクセスにおいて、キャッ
シュミスによるペナルティーを低減する為に、キャッシ
ュメモリアクセスの制御方法を最適化する制御手法、お
よびキャッシュメモリを提供することを目的とする。
【0007】
【課題を解決するための手段】上記課題を解決するた
め、本発明のキャッシュメモリは、タグデータを保持す
るタグメモリとは別に、任意のアドレスを保持すること
が可能なアドレス保持部を有し、制御信号によって前記
アドレス保持部に保持しているアドレスの値を用いて前
記キャッシュメモリ内のタグアドレスデータとの比較を
行なうキャッシュメモリである。
【0008】また、本発明のキャッシュメモリを用いた
キャッシュメモリシステムの制御方法は、中央処理装置
と、前記中央処理装置がアクセスを行なう主記憶領域
と、前述のキャッシュメモリと、キャッシュメモリ制御
回路を有するシステムにおいて、前記中央処理装置への
割り込み要求信号は前記キャッシュメモリへ接続され、
割り込みが発生した場合、直ちに前記アドレス保持部内
のアドレスデータと、前記キャッシュメモリ内のタグア
ドレスデータとの比較が行なわれ、前記比較結果により
前記キャッシュメモリ制御部は前記主記憶領域からの前
記キャッシュメモリ内へのデータ転送を制御するキャッ
シュメモリ手法である。
【0009】また、上記課題を解決するもう一つの手段
として、本発明の制御手法は、CPUと、前記CPUが
アクセスを行なう主記憶領域と、キャッシュメモリと前
記キャッシュメモリを制御する制御回路を有するキャッ
シュメモリシステムにおいて、前記キャッシュメモリ制
御部には任意のアドレスを保持するアドレス保持部を有
し、さらに前記中央処理装置への割り込み要求信号が接
続され、前記割り込み要求信号の入力値により、前記中
央処理装置からの命令フェッチアクセス要求によるキャ
ッシュメモリアクセス要求よりも優先して、前記キャッ
シュメモリ内部の前記アドレス保持部に有するアドレス
を前記キャッシュメモリに出力し、前記キャッシュメモ
リ内部のタグアドレスデータとの比較を行なうキャッシ
ュメモリ制御手法である。
【0010】これにより、CPUが割り込み要求信号を
受け、割り込み処理ルーチンへの移行の為の処理を行な
っている間に、キャッシュメモリアクセスを行なう事が
可能となり、割り込みハンドラへの分岐においてキャッ
シュアクセスを行なう場合に、キャッシュメモリアクセ
スを最適化することが可能となる。
【0011】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を用いて説明する。
【0012】図2は第一の実施形態において使用するキ
ャッシュメモリのメモリ構成図である。図中、1はキャ
ッシュメモリ、2はタグデータを格納するタグメモリ、
3は主記憶領域のブロックデータを保持するデータメモ
リである。キャッシュメモリ1は通常の動作時はCPU
からのアクセスアドレス6の値により動作する。キャッ
シュメモリ1内部の比較器4の比較器制御信号12が入
力されると、アドレス入力6の値のうちのエントリーア
ドレス7によって指定されたエントリのタグデータのタ
グデータ出力18と、アドレス入力のタグアドレス9が
比較器4に入力され一致判定を行なう。一致した場合は
「キャッシュヒット」となり、ヒット信号16が出力さ
れる。同時にデータメモリからは、エントリアドレス7
で指定されるデータラインのデータのうち、オフセット
アドレス8に相当するデータがデータ出力10として出
力される。図中のキャッシュメモリは前述の動作の他
に、キャッシュメモリ1内のアドレス保持部5に保持し
ているアドレス値との比較を行なう機能も有する。保持
アドレス比較制御信号13が入力されると、比較器4は
アドレス保持部5に保持しているアドレスのタグフィー
ルド14と、タグメモリ内部のタグデータとを比較す
る。この際、比較器はアドレス保持部のアドレスデータ
のエントリフィールド11に示されるタグメモリをアク
セスするようにエントリアドレスセレクタ19のセレク
ト信号17をアドレス保持部側に切り替えられ、そのエ
ントリのタグデータ出力18と、アドレス保持部5のア
ドレスのタグフィールド14とが比較器4によって比較
され、比較結果がヒット信号16として出力される。
【0013】図3に第一の実施形態におけるシステムの
構成図を示す。図中のキャッシュメモリは図2で示した
キャッシュメモリを用いた命令キャッシュを示す。図3
は命令アクセスとデータアクセスにおいてそれぞれ別々
の専用メモリをアクセスするようなハーバードアーキテ
クチャのCPUで構成されるシステムにおいて、命令ア
クセス関連の構成のみを示している。CPU20が命令
フェッチを行なう場合、命令フェッチ要求23がキャッ
シュメモリ制御部21に出力され、キャッシュメモリ制
御部21は命令キャッシュメモリ1へ比較器制御信号1
2を出力しキャッシュアクセスを行なう。一方CPU2
0からのアクセスアドレス6は、主記憶領域22とキャ
ッシュメモリ1へ送られる。キャッシュメモリ1は比較
器制御信号12がアサートされるとアクセスアドレス6
のうち、エントリーアドレスフィールドで指定されたエ
ントリアドレス7を用いて、タグメモリをアクセスす
る。アクセス後タグデータ出力18と、アクセスアドレ
ス6のタグアドレスフィールド9とが、比較器4により
用いて比較され、比較結果をヒット信号16としてキャ
ッシュメモリ制御部21へ出力する。キャッシュメモリ
制御部21はヒット信号出力16の値により、キャッシ
ュミスであれば主記憶領域22からキャッシュメモリ1
へのデータ転送を行なう。ここで、システムに割り込み
が発生した場合の動作を説明する。キャッシュメモリ1
内のアドレス保持部5にはチップ内のIOデータ15に
より書き込み可能であり、プログラム開始時に初期設定
として割り込み処理ハンドラの先頭番地をセットしてお
く。システムに割り込みが発生すると割り込み要求信号
24がCPU20へ送られ、割り込みハンドラへの移行
の為の処理を開始する。割り込み要求信号24は同時に
キャッシュメモリ制御部21にも送られ、キャッシュメ
モリ制御部21は保持アドレス比較制御信号13をキャ
ッシュメモリ1に送出する。保持アドレス比較制御信号
13が入力されると比較器4はタグメモリのエントリア
ドレスセレクタ19がアドレス保持部からの保持アドレ
スエントリーフィールド11側に切り替えるようセレク
ト信号17を出力する。キャッシュメモリ1はアドレス
保持部5に保持しているアドレス値のエントリーフィー
ルドにより指定されるタグメモリ2内のタグデータと、
アドレス保持部5に保持しているアドレス値のタグアド
レスデータ14とを比較器4で比較し、ヒット信号16
をキャッシュメモリ制御部21に出力する。キャッシュ
ミスの場合、主記憶領域22からのデータ転送を開始す
る。
【0014】図4には本発明のキャッシュメモリおよび
キャッシュメモリ制御手法を用いた場合の効果を示すタ
イミングチャートである。命令A(30)がEXステージ
に存在する場合に割り込み要求信号24が入力された場
合、図1の説明において記述したように命令A(30)
は実行完了まで割り込みを受け付けないため、実際に割
り込み処理ハンドラの先頭番地への命令フェッチが行な
われるのはサイクル37である。一方第一の実施形態に
おいては、割り込み要求信号24はキャッシュメモリ制
御部にも送られ、キャッシュメモリ制御部は保持アドレ
ス比較制御信号13を命令キャッシュメモリに送出す
る。キャッシュメモリ内のアドレス保持部にはあらかじ
め割り込みハンドラの先頭番地のアドレスをセットして
おく。今キャッシュメモリ制御部から保持アドレス比較
制御信号13が入力されると、キャッシュメモリはアド
レス保持部のアドレス値を用いてキャッシュメモリ内部
にアドレス保持部に保持しているアドレスがキャッシュ
タグ内部に存在するかどうかを調べる。つまり、割り込
み要求信号24の入力後、キャッシュメモリアクセスを
行ない、アドレス保持部に保持しているハンドラの先頭
アドレスがキャッシュヒットするかミスするかを判定す
る事が可能となる。ヒットであればその状態のまま、ミ
スであれば主記憶領域からのデータ転送が開始可能であ
り、サイクル37で命令フェッチ要求が発生したサイク
ルでキャッシュアクセスを行なった場合、既にキャッシ
ュ内部にハンドラの先頭番地のアドレスデータをキャッ
シュメモリ内部に転送完了可能である。
【0015】図5には本実施形態における効果を簡単に
図示している。命令A(30)がEXステージにある場
合に割り込み要求信号24が図示するタイミングで入っ
た場合、キャッシュ制御部は保持アドレス比較制御信号
13を出力する。保持アドレス比較制御信号13を受
け、キャッシュアクセスサイクル1(50)のサイクルで
キャッシュタグデータと、保持アドレス値との比較が行
なわれる。いまこの比較結果がミスである場合を図には
示す。サイクル50の後、主記憶領域からキャッシュメ
モリ内部にデータ転送が行なわれる。図中には4ワード
のデータが転送される場合を示している。割り込み要求
信号24は命令A(30)が実行完了してから受理さ
れ、割り込み処理を開始する。その処理内容については
図1、4の説明において説明済みである。割り込み受理
後、割り込み先頭アドレスへの命令フェッチが発生した
際、既にサイクル50後にキャッシュリフィルを開始
し、キャッシュ内部にデータが転送開始済みであるた
め、サイクル52ではキャッシュヒットとなる。図5に
はすでにキャッシュリフィル51が完了している場合を
示している。従来では、キャッシュアクセスサイクル2
(52)で、はじめて割り込みハンドラの先頭アドレス
でのキャッシュアクセスが行なわれる為に、サイクル5
2においてはキャッシュミスとなるのを、本発明を用い
れば、キャッシュヒットとすることが可能である。
【0016】アドレス保持部には任意のアドレスが設定
可能である為、たとえば、割り込み発生時は、一旦アン
キャッシャブル空間に分岐し、その後キャッシャブル空
間に分岐するようなハンドラ処理を作成した場合は、分
岐先のキャッシャブル空間のアドレスを設定しておけ
ば、一旦アンキャッシャブル空間への命令フェッチを行
なっている裏で分岐先のキャッシャブル空間のプログラ
ムをキャッシュ内部にロードすることも可能である。
【0017】上記はキャッシュメモリ内部にアドレス保
持部を設けた場合を説明したが、キャッシュメモリ内部
に限らず、メモリ外部に保持部を設け同様の制御を行な
っても割り込み応答性能に対して本発明の効果がでる。
【0018】
【発明の効果】上述のように、システム上で割り込みが
発生した場合、CPUが割り込み処理に移行するとは別
にキャッシュメモリにアクセスし、任意のアドレスがキ
ャッシュ内部に存在するかどうかを先行的に判定し、C
PUから実際に割り込み処理に移行した際、キャッシュ
ミスのペナルティーを少なくする事が可能であり、その
結果、システムの割り込み応答性能を向上させることが
可能である。
【図面の簡単な説明】
【図1】従来の割り込み発生時のキャッシュアクセスサ
イクルを示すタイミング図
【図2】本発明の第一の実施形態で用いるキャッシュメ
モリ構成図
【図3】本発明の第一の実施形態のキャッシュメモリを
含むシステム構成図
【図4】本発明の第一の実施形態のキャッシュアクセス
サイクルを示すタイミング図
【図5】本発明の第一の実施形態の効果を示すタイミン
グ図
【符号の説明】
1 キャッシュメモリ 2 タグメモリ 3 データメモリ 4 比較器 5 アドレス保持部 12 比較器制御信号 13 保持アドレス比較制御信号 16 ヒット信号 20 CPU 21 キャッシュメモリ制御部 22 主記憶領域

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 タグデータを保持するタグメモリとは別
    に、任意のアドレスを保持することが可能なアドレス保
    持部を有し、制御信号によって、前記アドレス保持部に
    保持しているアドレスの値を用いて前記キャッシュメモ
    リ内のタグアドレスデータとの比較を行なうキャッシュ
    メモリ。
  2. 【請求項2】 中央処理装置と、前記中央処理装置がア
    クセスを行なう主記憶領域と、請求項1のキャッシュメ
    モリと、キャッシュメモリ制御回路を有するシステムに
    おいて、前記中央処理装置への割り込み要求信号は前記
    キャッシュメモリ制御回路へ接続され、割り込み要求が
    発生した場合、前記キャッシュ制御回路は前記キャッシ
    ュメモリの制御信号を入力し、直ちに前記アドレス保持
    部内のアドレスデータと、前記キャッシュメモリ内のタ
    グアドレスデータとの比較を行ない、前記比較結果によ
    り前記キャッシュメモリ制御回路は前記主記憶領域から
    の前記キャッシュメモリ内へのデータ転送を制御するキ
    ャッシュメモリ制御手法。
  3. 【請求項3】 中央処理装置と、前記中央処理装置がア
    クセスを行なう主記憶領域と、キャッシュメモリと前記
    キャッシュメモリを制御する制御回路を有するキャッシ
    ュメモリシステムにおいて、任意のアドレスを保持する
    アドレス保持部をシステムは有し、さらに前記中央処理
    装置への割り込み要求信号が接続され、前記割り込み要
    求信号の入力値により、前記中央処理装置からの命令フ
    ェッチアクセス要求によるキャッシュメモリアクセス要
    求よりも優先して、前記アドレス保持部に有するアドレ
    スを前記キャッシュメモリに出力し、前記キャッシュメ
    モリ内部のタグアドレスデータとの比較を行なうキャッ
    シュメモリ制御手法。
JP11156159A 1999-06-03 1999-06-03 キャッシュメモリおよびキャッシュメモリ制御方法 Pending JP2000347931A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11156159A JP2000347931A (ja) 1999-06-03 1999-06-03 キャッシュメモリおよびキャッシュメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11156159A JP2000347931A (ja) 1999-06-03 1999-06-03 キャッシュメモリおよびキャッシュメモリ制御方法

Publications (1)

Publication Number Publication Date
JP2000347931A true JP2000347931A (ja) 2000-12-15

Family

ID=15621648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11156159A Pending JP2000347931A (ja) 1999-06-03 1999-06-03 キャッシュメモリおよびキャッシュメモリ制御方法

Country Status (1)

Country Link
JP (1) JP2000347931A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073045B2 (en) 2003-06-27 2006-07-04 Fujitsu Limited Memory interface circuit having plurality of prefetch buffers, each assigned to either first prefetch buffer enabled for rewrite or second prefetch buffer disabled for rewrite during normal operation period
JP2011530741A (ja) * 2008-08-08 2011-12-22 クゥアルコム・インコーポレイテッド 推論的割込みベクトルプリフェッチのための装置および方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073045B2 (en) 2003-06-27 2006-07-04 Fujitsu Limited Memory interface circuit having plurality of prefetch buffers, each assigned to either first prefetch buffer enabled for rewrite or second prefetch buffer disabled for rewrite during normal operation period
JP2011530741A (ja) * 2008-08-08 2011-12-22 クゥアルコム・インコーポレイテッド 推論的割込みベクトルプリフェッチのための装置および方法

Similar Documents

Publication Publication Date Title
US8447959B2 (en) Multithread processor and method of controlling multithread processor
US20120226865A1 (en) Network-on-chip system including active memory processor
KR100335785B1 (ko) 데이타처리명령의실행
CA2016532C (en) Serializing system between vector instruction and scalar instruction in data processing system
JP2004171177A (ja) キャッシュシステムおよびキャッシュメモリ制御装置
JP3226055B2 (ja) 情報処理装置
JPH0285960A (ja) 情報処理システム
WO1996027833A1 (fr) Unite de traitement informatique
US5598574A (en) Vector processing device
US6748527B1 (en) Data processing system for performing software initialization
JP2000347931A (ja) キャッシュメモリおよびキャッシュメモリ制御方法
JPH05241827A (ja) 命令バッファ制御装置
JPH06168263A (ja) ベクトル処理装置
JP2694799B2 (ja) 情報処理装置
JP2005018650A (ja) 不揮発性半導体記憶装置およびデータ処理装置
JP2851777B2 (ja) バス制御方法及び情報処理装置
JPH07114509A (ja) メモリアクセス装置
JP3039391B2 (ja) メモリシステム
JP2666737B2 (ja) トレースメモリ内蔵マイクロプロセッサおよびトレース方法
JP2806690B2 (ja) マイクロプロセッサ
JPH07210463A (ja) キャッシュメモリシステム及びデータプロセッサ
JPH05257807A (ja) キャッシュメモリ制御装置
JPH0683621A (ja) フェッチ方式
JPH08272608A (ja) パイプライン処理装置
JP2580078B2 (ja) 命令プリフェッチ装置