JP2001056781A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2001056781A
JP2001056781A JP11232166A JP23216699A JP2001056781A JP 2001056781 A JP2001056781 A JP 2001056781A JP 11232166 A JP11232166 A JP 11232166A JP 23216699 A JP23216699 A JP 23216699A JP 2001056781 A JP2001056781 A JP 2001056781A
Authority
JP
Japan
Prior art keywords
event
identifier
cache
processor
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
JP11232166A
Other languages
English (en)
Inventor
Masafumi Takahashi
雅史 高橋
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP11232166A priority Critical patent/JP2001056781A/ja
Publication of JP2001056781A publication Critical patent/JP2001056781A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 イベント処理ルーチンを高速に実行する情報
処理装置を実現する。 【解決手段】 プロセッサとキャッシュメモリと主記憶
装置を含む情報処理装置に、イベント発生源を監視して
イベントの発生を予告するイベント予告機構を導入する
ことによって、イベントの発生に先立って主記憶装置か
らキャッシュメモリへデータを読み込むことを可能にす
る。イベント処理ルーチンが起動された時点では、必要
なデータがキャッシュメモリ上に存在するため、イベン
ト処理ルーチンは高速に実行される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、時間的制約の下で
情報処理を行う情報処理装置に関する。さらに詳述すれ
ば、キャッシュメモリを備えることによって処理速度の
向上を実現している情報処理装置に関する。
【0002】
【従来の技術】一般に、プロセッサの動作サイクルに比
べて主記憶装置のアクセス遅延は長い。キャッシュメモ
リは、アクセス遅延の平均値を短縮してプロセッサの処
理速度を有効に発揮させるために用いられる。
【0003】キャッシュメモリは時間的・空間的局所性
に基づき、参照される確率の高いプログラムコードやプ
ログラムが参照するデータを主記憶装置から読み込み、
内部の記憶領域にコピーを格納する。以下、プログラム
コードとプログラムが参照するデータとをまとめて単に
データと、また、主記憶装置からキャッシュメモリへデ
ータを読み込むことをフェッチと表記する。キャッシュ
メモリのアクセス遅延は、主記憶装置のアクセス遅延に
比べて短い。よって、キャッシュヒット、すなわちキャ
ッシュメモリにデータが格納されていれば、プロセッサ
はデータを速やかに参照できる。キャッシュミス、すな
わちキャッシュメモリにデータが格納されていなけれ
ば、フェッチのために主記憶装置にアクセスしなければ
ならず、プロセッサによるデータ参照にはより長い時間
を要する。
【0004】主記憶装置の容量に比べてキャッシュメモ
リの容量は小さく、主記憶装置上の全データをキャッシ
ュメモリに格納することはできない。そこで、新たなデ
ータのフェッチに際してキャッシュメモリの容量が不足
する場合には、参照される確率の低いデータを破棄す
る。このように、既に格納されているデータを破棄し、
新たにデータをフェッチすることをリプレースと呼ぶ。
また、特定のデータをリプレースの対象から除くことが
できれば、そのデータはキャッシュメモリ上に保存され
ることになる。以下、データをリプレースの対象から除
き、キャッシュメモリ上に保存されるようにすること
を、データをロックすると表記する。
【0005】通常、どのデータがキャッシュメモリに格
納されているかは、それまでのデータ参照の履歴に依存
する。よって、キャッシュメモリがヒットするか否かを
プログラム作成時に予測することは容易ではない。特
に、割り込み処理ルーチン等、外部の条件によって強制
的に呼び出されるようなルーチンにおいて、このような
予測は非常に困難となる。
【0006】その結果、時間的制約を考慮しなければな
らないルーチンについて、処理時間を算出する場合に
は、最悪の状況、すなわち常にキャッシュメモリがミス
すると仮定しなければならず、キャッシュメモリの存在
意義が著しく損なわれるという問題が生じる。
【0007】この問題を解決するための第一の従来技術
としては、特開平7−182235号公報に示される情
報処理装置が挙げられる。図27は従来例の構成を示す
ブロック図である。キャッシュメモリのデータ格納領域
は複数のキャッシュエントリから構成される。第一のレ
ジスタC0からC3は、置換対象となるキャッシュエン
トリB0からB3を決定するための優先順位を格納する
領域であり、各キャッシュエントリに一対一に対応して
いる。キャッシュミスが発生すると、置換ブロック判定
装置は、第一のレジスタに格納された優先順位を参照
し、優先順位が最も低いキャッシュエントリの内容を破
棄して、そのキャッシュエントリにデータをフェッチす
る。すなわち、優先順位が最も低いキャッシュエントリ
がリプレースされる。同時に、第一のレジスタに第二の
レジスタで指定される値を設定する。よって、リプレー
ス後のキャッシュエントリの優先順位はリプレースが行
われた時点における第二のレジスタの値によって決ま
る。ここで、第二のレジスタにはプログラムによって自
由に値が設定できるとする。このように、キャッシュエ
ントリの置換の優先順位をプログラムによって制御する
ことによって、任意のデータをキャッシュ上にロックす
ることができる。そして、ロックされたデータを参照す
るルーチンについては、キャッシュメモリがヒットする
ことを期待して処理時間を算出できる。
【0008】この問題を解決するための第二の従来技術
としては、内蔵メモリを用いる方法が挙げられる。内蔵
メモリはプロセッサと同一のチップやモジュールに集積
されているため、そのアクセス遅延は短い。内蔵メモリ
はメモリ空間の一部に配置され、高速に参照したいデー
タを格納する。どのデータを内蔵メモリに格納するか
は、プログラム作成時に決まるため、そのデータを参照
するルーチンについては、内蔵メモリの高速性を期待し
て処理時間を算出できる。
【0009】上記第一の従来技術は、特定のデータをキ
ャッシュメモリ上にロックすることによって、該データ
に関して短いアクセス遅延を保証するものである。同様
に、上記第二の従来技術も、特定のデータを内蔵メモリ
に配置することによって、該データに関して短いアクセ
ス遅延を保証するものである。換言すれば、共に、プロ
グラムによって明示的に指定されたデータの高速な参照
を保証する機構ということができる。
【0010】
【発明が解決しようとする課題】割り込み処理ルーチン
等、外部の条件によって強制的に呼び出されるようなル
ーチンがある。以下、呼び出しの原因をイベント、呼び
出されるルーチンをイベント処理ルーチンと表記する。
イベントがいつ発生するかをプログラム作成時に予測す
ることは困難であることが多い。また、イベント処理ル
ーチンは、時間的制約を考慮しなければならない場合が
多い。さらに、イベント発生の時間間隔はプロセッサの
動作サイクルに比べてきわめて長い場合が多い。
【0011】しかしながら、上記第一、第二の従来技術
のいずれにおいても、イベントがいつ発生するかという
時間的な特性について何ら考慮されていない。
【0012】上記第一の従来技術において、イベントの
発生が予測できない場合、キャッシュメモリがヒットす
ることを期待してイベント処理ルーチンの処理時間を算
出するためには、イベント処理ルーチンが参照するデー
タを常にキャッシュメモリ上にロックしておかなければ
ならない。以下、イベント処理ルーチンが参照するデー
タをイベントデータと表記する。同様に、上記第二の従
来技術においても、イベントデータを常に内蔵メモリに
格納しておかなければならない。さらに、イベント発生
の時間間隔が長い場合、イベントデータはまれにしか参
照されないことになる。
【0013】つまり、まれにしか参照されないデータ
が、キャッシュメモリや内蔵メモリの記憶領域を占有す
ることになり、実質的にキャッシュメモリや内蔵メモリ
の貴重な記憶容量を減少させてしまう結果となる。
【0014】以上より、情報処理装置には、どのデータ
について高速な参照を保証するかを指定する機構だけで
はなく、そのデータを参照するイベントがいつ発生する
かという時間的な特性を取り扱う機構が必要であるとい
える。
【0015】本発明は、以上のような問題点を鑑みてな
されたものであり、イベントの発生を予告する機構を導
入し、適切なタイミングでイベントデータをフェッチす
ることを可能にする。これにより、キャッシュメモリの
貴重な記憶容量を浪費することなく、イベント処理ルー
チンを高速に実行する情報処理装置の実現を目的とす
る。
【0016】
【課題を解決するための手段】本発明に示される情報処
理装置は、イベント信号を検出するイベント信号検出手
段を持つプロセッサと、前記イベント信号に先立って予
告信号を発生する予告機構と、前記予告信号に基づいて
データを読み込むキャッシュメモリとを有することを特
徴とする。
【0017】予告機構がイベントを発生するイベント発
生源を監視することによって予告信号を発生し、予告信
号に基づいてイベントデータをフェッチすることによっ
て、フェッチを適切な時刻に行うことを可能にする。こ
れにより、イベント処理ルーチンを高速に実行する情報
処理装置を実現する。
【0018】さらに、本発明に示される情報処理装置
は、前記プロセッサが、前記予告信号を検出する予告信
号検出手段と、前記キャッシュメモリにデータを読み込
ませる読み込み指示手段とを有するプロセッサであるこ
とを特徴とする。
【0019】プロセッサが予告信号検出手段と読み込み
指示手段とを備えることにより、予告信号に基づくイベ
ントデータのフェッチをプロセッサの制御下で行うこと
を可能にする。これにより、イベントデータのフェッチ
の制御をプログラムにより柔軟に実装することを実現す
る。
【0020】さらに、本発明に示される情報処理装置
は、前記情報処理装置が、設定時刻にイベント信号を発
生するタイマ機構を有することを特徴とする予告機構が
タイマ機構を監視して予告信号を発生することにより、
容易にかつ精度よくイベントの発生を予告することを可
能にする。これにより、予告機構の回路規模の削減を実
現するとともに、イベントデータのフェッチ時刻をより
最適化することを実現する。
【0021】さらに、本発明に示される情報処理装置
は、前記予告機構が、イベントが発生すると予告信号を
発生するとともに、前記予告信号を遅延させてイベント
信号を発生することを特徴とする。
【0022】予告機構がイベントの発生を検出して予告
信号を発生し、予告信号を遅延させてイベント信号を発
生することにより、容易にかつ精度よくイベントの発生
を予告することを可能にする。これにより、予告機構の
回路規模の削減を実現するとともに、イベントデータの
フェッチ時刻をより最適化することを実現する。
【0023】さらに、本発明に示される情報処理装置
は、前記情報処理装置が、プロセッサの動作を停止させ
る機構と、イベント信号が発生するとプロセッサの動作
を再開させる機構とを備えるプロセッサ停止機構を有す
ることを特徴とする。
【0024】イベントデータのフェッチからイベント信
号の発生までの期間、プロセッサ停止機構がプロセッサ
の動作を停止させることにより、イベント信号の発生ま
でイベントデータをキャッシュ上に確実に保持すること
を可能にする。これにより、一般的なキャッシュメモリ
に修正を加えることなく、イベント処理ルーチンを確実
に高速に実行する情報処理装置を実現する。
【0025】さらに、本発明に示される情報処理装置
は、前記キャッシュメモリが、読み込まれたデータのロ
ック制御及びリプレース制御を行うキャッシュ制御機構
を有し、前記プロセッサが、前記キャッシュ制御機構に
ロックの解除を指示するロック解除指示手段を有するこ
とを特徴とする。
【0026】キャッシュ制御機構がデータをロックし、
プロセッサがロック解除指示手段を持つことにより、プ
ロセッサがデータを不要と判断するまでフェッチしたデ
ータを確実に保持することを可能にする。これにより、
イベント処理ルーチンを確実に高速に実行する情報処理
装置を実現する。
【0027】また、キャッシュ制御機構がリプレース制
御を行うことにより、次のイベント発生まで利用される
確率が低いと考えられるロックが解除されたデータを優
先的に破棄すること、及び近い将来再び参照されると予
測されるデータのリプレースを抑制することを可能にす
る。これにより、キャッシュメモリの記憶容量の有効利
用を実現するとともに、不要なリプレースの発生の削減
を実現する。
【0028】さらに、本発明に示される情報処理装置
は、前記プロセッサが、設定識別子を指定する設定識別
子指定手段を有し、前記キャッシュメモリが、キャッシ
ュエントリに識別子を格納する識別子フィールドを有
し、前記キャッシュ制御機構が、データを読み込む際に
前記設定識別子を前記識別子フィールドに格納するとと
もに、前記設定識別子に一致する識別子を格納するキャ
ッシュエントリをロックすることを特徴とする。
【0029】キャッシュメモリがキャッシュエントリに
識別子フィールドを持ち、キャッシュ制御機構が識別子
フィールドを参照してキャッシュエントリ単位でデータ
をロックすることにより、ロックを容易に、かつきめ細
かに制御することを可能にする。これにより、キャッシ
ュ制御機構の回路規模の削減を実現するとともに、キャ
ッシュメモリの記憶容量の有効利用を実現する。
【0030】さらに、本発明に示される情報処理装置
は、前記プロセッサが、設定識別子を指定する設定識別
子指定手段を有し、前記キャッシュメモリが、キャッシ
ュエントリに識別子を格納する識別子フィールドを有
し、前記キャッシュ制御機構が、データを読み込む際に
前記設定識別子を前記識別子フィールドに格納するとと
もに、前記設定識別子に一致する識別子を格納するキャ
ッシュエントリをロックし、前記設定識別子と異なる識
別子を格納するキャッシュエントリの優先リプレースを
行うことを特徴とする。
【0031】キャッシュメモリがキャッシュエントリに
識別子フィールドを持ち、キャッシュ制御機構が識別子
フィールドを参照してキャッシュエントリ単位でロック
と優先リプレースを行うことにより、ロック、ならびに
優先リプレースを容易に、かつきめ細かに制御すること
を可能にする。これにより、キャッシュ制御機構の回路
規模の削減を実現するとともに、キャッシュメモリの記
憶容量の有効利用を実現する。
【0032】さらに、本発明に示される情報処理装置
は、前記プロセッサが、設定識別子を指定する設定識別
子指定手段とロック識別子を指定するロック識別子指定
手段と優先リプレース識別子を指定する優先リプレース
識別子指定手段とを有し、前記キャッシュメモリが、キ
ャッシュエントリに識別子を格納する識別子フィールド
を有し、前記キャッシュ制御機構が、データを読み込む
際に前記設定識別子を前記識別子フィールドに格納する
とともに、前記ロック識別子に一致する識別子を格納す
るキャッシュエントリをロックし、前記優先リプレース
識別子に一致する識別子を格納するキャッシュエントリ
の優先リプレースを行うことを特徴とする。
【0033】キャッシュメモリがキャッシュエントリに
識別子フィールドを持ち、キャッシュ制御機構が識別子
フィールドを参照してキャッシュエントリ単位でロック
と優先リプレースと優先リプレース抑制を行うことによ
り、ロック、優先リプレースならびに優先リプレース抑
制を容易に、かつきめ細かに制御することを可能にす
る。これにより、キャッシュ制御機構の回路規模の削減
を実現するとともに、キャッシュメモリの記憶容量の有
効利用を実現する。
【0034】
【発明の実施の形態】以下、図を参照して本発明を詳細
に説明する。以下の図面において、同一の構成要素には
同一番号を付している。簡単のため、同一構成要素につ
いては最も若い図番の図面についての記述においてのみ
説明し、以下の図面では説明を繰り返さない。 〔実施例1〕図1は本実施例における情報処理装置の一
構成例の概要を示すブロック図である。1は情報処理装
置、2はプロセッサ、3は主記憶装置、4はキャッシュ
メモリ、41は該キャッシュメモリを制御するキャッシ
ュ制御機構、5は予告信号を発生する予告機構、6は情
報処理装置と外界とのインタフェースを行う入出力機
構、7はイベントを発生するイベント発生源、8はプロ
セッサと実時間処理装置内の各構成要素を接続するバス
である。101は予告機構5が発生する予告信号をキャ
ッシュ制御機構41に伝える予告信号線であり、102
は入出力機構6が発生するイベント信号をプロセッサ2
内蔵のイベント信号を検出するイベント信号検出手段
(図示せず)に伝えるイベント信号線である。
【0035】プロセッサ2は、主記憶装置3に格納され
たデータを参照して情報処理を行う。この際、高速にメ
モリアクセスを行うため、キャッシュメモリ4を参照す
る。キャッシュミスが発生すると、キャッシュ制御機構
41はキャッシュメモリ内から適切なキャッシュエント
リを選択して、そこに主記憶装置3の内容を読み込むよ
う制御する。該制御は一般的なキャッシュメモリと同様
であり、公知であるため説明を省略する。また、キャッ
シュ制御機構41は予告機構5が発生する予告信号に基
づき、イベントデータをイベント発生に先立ってフェッ
チするよう制御する。該制御の詳細については後述す
る。入出力機構6はプロセッサ2とイベント発生源7と
のインタフェースを行う機構であり、プロセッサ2から
の指示に従いイベント発生源7の動作を制御する、ある
いはイベント発生源7からの信号をプロセッサ2が扱え
る形式に変換する、さらにはイベント発生源7で発生し
たイベントを検出してイベント信号を発生する処理を行
う。プロセッサ2はイベント信号をプロセッサ2のイベ
ント信号検出手段によって検出し、イベント処理ルーチ
ンを起動してイベントに対応した処理を行う。一般的な
プロセッサには、このような動作を行うための機構とし
て割り込みが用意されているが、本発明はこれに限定さ
れるものではなく、例えば、特定のアドレスをプログラ
ムでポーリングすることによってイベント信号の発生を
検出するようなプロセッサにも適用することができる。
【0036】図2はイベント発生源7とそれに対応する
予告機構5の一構成例の概要を示すブロック図である。
図2において、イベント発生源7は時間の経過を計測す
るタイマ機構7aであり、予告機構5は該タイマ機構7
aの状態を監視して予告信号を発生する予告機構5aで
ある。702はクロックに従ってデクリメントするカウ
ンタ、701はカウンタ702にロードする初期値を格
納する初期値レジスタ、703はカウンタの値が0にな
ると信号を発生する比較器、501は予告信号を発生す
るための基準値を格納する基準値レジスタ、502はカ
ウンタの値と基準値が一致すると信号を発生する比較器
である。
【0037】初期値レジスタ701、ならびに基準値レ
ジスタ501の値は、プロセッサ2の指示によって入出
力機構6を介して設定される。レジスタ設定のための回
路は公知であり、簡単のため図示しない。
【0038】カウンタ702のCLKはタイマ機構7a
による計時の基準となるクロックを与える入力、LOA
Dはカウンタへの初期値のロードを指示する入力、IN
は初期値を与える入力、OUTはカウンタの値を示す出
力である。
【0039】図3は、タイマ機構7aと予告機構5aの
動作を示すタイミングチャートである。
【0040】カウンタ702の値はクロックに従いデク
リメントされ、この値が0になると比較器703がイベ
ント信号を発生するとともに、初期値がカウンタ702
にロードされる。以上の構成により、タイマ機構7aは
一定時間間隔でイベント信号を発生するという動作を実
現する。ここで、イベント信号の発生する時間間隔は初
期値によって決まる。初期値が大きければ時間間隔は長
くなり、小さければ短くなる。イベント信号はイベント
信号線102を介してプロセッサ2のイベント信号検出
手段に伝えられる。プロセッサ2は、イベント信号が発
生すると、例えば、割り込みによってイベント処理ルー
チンを起動する。
【0041】カウンタ702の値が基準値と一致する
と、予告信号が発生する。予告信号はイベント信号に先
行して発生する。以下、予告信号が発生してからイベン
ト信号が発生するまでの時間を先行時間と表記する。先
行時間は基準値によって決まる。基準値が大きければ先
行時間は長くなり、小さければ短くなる。ただし、基準
値が初期値より大きい場合には予告信号は発生しない。
予告信号は、予告信号線101を介してキャッシュ制御
回路41に伝えられる。キャッシュ制御回路41は、予
告信号に従ってイベントデータをフェッチするようキャ
ッシュメモリ4を制御する。基準値を適切に設定すれ
ば、イベント信号が発生する時刻までにイベントデータ
のフェッチが完了し、高速なイベント処理が実現され
る。
【0042】図4は、キャッシュ制御機構41の動作の
概要を示すフローチャートである。
【0043】予告信号が発生すると、読み込み開始アド
レスSTARTが内部レジスタptrに設定される(S
1001)。次に、ptrが読み込み終了アドレスEN
Dよりも小さい期間、ループを繰り返す(S1002B
乃至S1002E)。ここで、ステップ番号に付された
BならびにEは、それぞれループの始点と終点を示す。
主記憶装置3のアドレスptrからアドレスptr+S
IZE−1までのデータがキャッシュメモリ4に読み込
まれる(S1003)。ここで、SIZEはキャッシュ
エントリの大きさを示す値である。そして、ptrがS
IZEだけインクリメントされ(S1004)、ループ
の始点に戻る。以上の動作により、主記憶装置3上の読
み込み開始アドレスSTARTから読み込み終了アドレ
スENDまでの範囲に格納されたイベントデータが、キ
ャッシュメモリ4に読み込まれる。ここで、START
ならびにENDはプロセッサの指示により自由に設定で
きるものとする。
【0044】図5は、イベント発生源7とそれに対応す
る予告機構5の第二の構成例の概要を示すブロック図で
ある。図5において、イベント発生源7は時間の経過を
計測するタイマ機構7aであり、予告機構5は該タイマ
機構7aが発生する信号を予告信号として出力するとと
もに、予告信号を遅延させてイベント信号を発生する予
告機構5bである。タイマ機構7aは図2と同じであ
り、説明は繰り返さない。511は予告信号を遅延させ
てイベント信号を発生するための遅延回路である。
【0045】図6は、タイマ機構7aと予告機構5bの
動作を示すタイミングチャートである。
【0046】カウンタ702の値はクロックに従いデク
リメントされ、この値が0になると比較器703が予告
信号を発生するとともに、初期値がカウンタ702にロ
ードされる。以上の構成により、タイマ機構7aは一定
時間間隔で予告信号を発生するという動作を実現する。
ここで、予告信号の発生する時間間隔は初期値によって
決まる。初期値が大きければ時間間隔は長くなり、小さ
ければ短くなる。予告信号は予告信号線101を介して
キャッシュ制御回路41に伝えられる。キャッシュ制御
回路41は、予告信号に従ってイベントデータをフェッ
チするようキャッシュメモリ4を制御する。
【0047】予告信号は、遅延回路511によって遅延
され、イベント信号として出力される。先行時間は遅延
回路の遅延時間によって決まり、先行時間が一定であれ
ば、予告信号の発生間隔と同様に、イベント信号の発生
間隔も一定となる。イベント信号はイベント信号線10
2を介してプロセッサ2のイベント信号検出手段に伝え
られる。プロセッサ2は、イベント信号が発生すると、
例えば、割り込みによってイベント処理ルーチンを起動
する。遅延時間を適切に設定すれば、イベント信号が発
生する時刻までにイベントデータのフェッチが完了し、
高速なイベント処理が実現される。
【0048】図7は、イベント発生源7とそれに対応す
る予告機構5の第三の構成例の概要を示すブロック図で
ある。図7において、イベント発生源7は時間の経過を
計測するタイマ機構7bである。また、予告機構5は該
タイマ機構7bと一体に構成されている。カウンタ70
2、比較器703は図2と同じであり、説明は繰り返さ
ない。711は初期値Aを格納する初期値レジスタAで
あり、712は初期値Bを格納する初期値レジスタBで
あり、713はカウンタ702にロードする値を選択す
るセレクタであり、714はセレクタを切り替えるため
のTフリップフロップである。715、716は予告信
号とイベント信号を作り出すためのゲート回路である。
【0049】セレクタ713のAは入力値Aを与える入
力、Bは入力値Bを与える入力、Yは選択結果を与える
出力であり、入力*A/Bが無効であれば入力値Aが、
有効であれば入力値BがYに出力される。Tフリップフ
ロップ714のCLKは動作タイミングを与える入力、
Tは該Tフリップフロップを反転させる入力、Qは該T
フリップフロップの値を示す出力である。該Tフリップ
フロップはT入力が有効であればCLKに同期して反転
する。
【0050】図8は、図7のタイマ機構7bの動作を示
すタイミングチャートである。
【0051】初期状態ではTフリップフロップ714の
出力が、有効であると仮定する。カウンタ702の値は
クロックに従いデクリメントされ、この値が0になると
比較器703が信号を発生する。この時点ではTフリッ
プフロップ714の出力は有効であるためセレクタ71
3の出力Yには初期値Bが出力されている。よって、初
期値Bがカウンタ702にロードされる。また、ゲート
回路716によって予告信号が発生する。次に、Tフリ
ップフロップ714が反転し、出力が無効となる。
【0052】その後、カウンタ702の値はクロックに
従いデクリメントされ、この値が0になると比較器70
3が信号を発生する。この時点ではTフリップフロップ
714の出力は無効であるためセレクタ713の出力Y
には初期値Aが出力されている。よって、初期値Aがカ
ウンタ702にロードされる。また、ゲート回路715
によってイベント信号が発生する。次に、Tフリップフ
ロップ714が反転し、出力が有効となる。
【0053】以上の構成により、タイマ機構7bは予告
信号とイベント信号をそれぞれ一定間隔で発生するとい
う動作を実現する。ここで、予告信号、あるいはイベン
ト信号の発生時間間隔は初期値Aと初期値Bの和によっ
て決まる。2つの初期値の和が大きければ発生時間間隔
は長くなり、小さければ短くなる。また、先行時間は初
期値Bによって決まる。初期値Bが大きければ先行時間
は長くなり、小さければ短くなる。予告信号は予告信号
線101を介してキャッシュ制御回路41に伝えられ
る。キャッシュ制御回路41は、予告信号に従ってイベ
ントデータをフェッチするようキャッシュを制御する。
イベント信号はイベント信号線102を介してプロセッ
サ2のイベント信号検出手段に伝えられる。プロセッサ
2は、イベント信号が発生すると、例えば、割り込みに
よってイベント処理ルーチンを起動する。初期値Bを適
切に設定すれば、イベント信号が発生する時刻までにイ
ベントデータのフェッチが完了し、高速なイベント処理
が実現される。
【0054】図9は、イベント発生源7とそれに対応す
る予告機構5の第四の構成例の概要を示すブロック図で
ある。図9において、イベント発生源7はモータを制御
するサーボ機構7cである。また、予告機構5は該サー
ボ機構7cと一体に構成されている。721はモータ、
722は駆動対象、723は駆動対象722の回転速度
を検出する回転速度センサ、724は駆動対象722の
回転速度を制御するサーボ、522、727はDフリッ
プフロップ、523、728は入力が立ち上がったとき
にパルスを発生するパルス発生器である。また、52
1、725、726は演算器である。ここで、回転速度
センサ723からの入力値をy、サーボ724による目
標値をY、回転速度が安定したことを判定する基準値を
V1、予告信号を発生させる基準値をV2とする。演算
器521はyとYの差分の絶対値がV2未満になったと
きに出力を有効にする演算器である。演算器725はy
とYの差分の絶対値がV1未満になったときに出力を有
効にする演算器である。演算器726はyを時間で微分
した値が微小になったときに出力を有効にする演算器で
ある。
【0055】図10は、サーボ機構7cの動作を示すタ
イミングチャートである。
【0056】目標値Yが与えられると、サーボ724は
回転速度センサ723の出力yがYに一致するようにモ
ータ721への駆動電流を制御する。yがYに収束する
過程で、yの変動が範囲(Y−V2,Y+V2)に収ま
るようになると予告信号が発生し、yの変動が範囲(Y
−V1,Y+V1)に収まるようになるとイベント信号
が発生する。予告信号は予告信号線101を介してキャ
ッシュ制御回路41に伝えられる。キャッシュ制御回路
41は、予告信号に従ってイベントデータをフェッチす
るようキャッシュを制御する。イベント信号はイベント
信号線102を介してプロセッサ2のイベント信号検出
手段に伝えられる。プロセッサ2は、イベント信号が発
生すると、例えば、割り込みによってイベント処理ルー
チンを起動する。基準値V1と基準値V2を適切に設定
すれば、イベント信号が発生する時刻までにイベントデ
ータのフェッチが完了し、高速なイベント処理が実現さ
れる。
【0057】図11は、イベント発生源7とそれに対応
する予告機構5の第五の構成例の概要を示すブロック図
である。図11において、イベント発生源7はモータを
制御するサーボ機構7dである。また、予告機構5は該
サーボ機構7dと一体に構成されている。モータ72
1、駆動対象722、回転速度センサ723、サーボ7
24、パルス発生器523、728は図9と同じであ
り、説明は繰り返さない。731は駆動電流を検出する
電流センサである。また、531、732は演算器であ
る。ここで、電流センサ731からの入力値をy、駆動
対象722に異常が発生したことを判定する基準値をV
1、予告信号を発生させる基準値をV2とする。演算器
531はyがV2よりも大きくなったときに出力を有効
にする演算器である。演算器732はyがV1よりも大
きくなったときに出力を有効にする演算器である。
【0058】図12は、サーボ機構7dの動作を示すタ
イミングチャートである。
【0059】駆動対象に異常が発生すると、駆動電流が
増加する。電流センサ731の出力yがV2を超えると
予告信号が発生し、V1を超えるとイベント信号が発生
する。予告信号は予告信号線101を介してキャッシュ
制御回路41に伝えられる。キャッシュ制御回路41
は、予告信号に従ってイベントデータをフェッチするよ
うキャッシュを制御する。イベント信号はイベント信号
線102を介してプロセッサ2のイベント信号検出手段
に伝えられる。プロセッサ2は、イベント信号が発生す
ると、例えば、割り込みによってイベント処理ルーチン
を起動する。基準値V1と基準値V2を適切に設定すれ
ば、イベント信号が発生する時刻までにイベントデータ
のフェッチが完了し、高速なイベント処理が実現され
る。
【0060】該構成例においては、予告信号が発生した
としても、イベント信号が発生しないことが起こりう
る。図12に示すグラフの前半では、駆動電流が一旦増
加した後に減少しており、予告信号のみが発生し、イベ
ント信号は発生していない。
【0061】以上、本実施例に示された構成では、予告
信号がキャッシュ制御装置41に入力されており、キャ
ッシュ制御装置41が自立的に主記憶装置3からキャッ
シュメモリ4へのデータの読み込みを行う。そのため、
プロセッサ2の処理能力を消費することなく、高速なイ
ベント処理のための準備を行うことができる。また、該
構成では、キャッシュ制御機構にロックのための特別な
仕組みが用意されていない。しかし、先行時間が適切で
あれば、フェッチされたイベントデータがほかのデータ
のフェッチによってリプレースされるよりも前に、イベ
ント信号が発生するため、キャッシュミスの確率は小さ
く押さえることができる。
【0062】また、イベント発生源の例にも示したよう
に、イベント発生源には、ある経緯を経てイベントの発
生に至るような動作をするものが多い。この傾向は、特
に、物理的構成要素を含むイベント発生源について顕著
である。そのため、イベント発生源を監視することによ
り、イベントの発生を予告できる場合が多く、そのよう
なイベント発生源を含むシステムにおいて本発明は有効
である。 〔実施例2〕図13は本実施例における情報処理装置の
構成の概要を示すブロック図である。主記憶装置3、キ
ャッシュメモリ4、バス8は図2と同じであり、説明は
繰り返さない。2aはプロセッサ、41aはキャッシュ
制御装置、5aは予告機構、6aは入出力機構、7eと
7fはイベント発生源である。本実施例においてはイベ
ント発生源が2つあり、それぞれ独立してイベントを発
生する。111、112はそれぞれ、予告機構5aが発
生するイベント発生源Aとイベント発生源Bに関する予
告信号をプロセッサ2a内蔵の予告信号を検出する予告
信号検出手段(図示せず)に伝える予告信号線である。
同様に、113、114はそれぞれ、入出力機構6aが
発生するイベント発生源Aとイベント発生源Bに関する
イベント信号をプロセッサ2aのイベント信号検出手段
に伝えるイベント信号線である。プロセッサ2aは予告
信号とイベント信号を、それぞれ予告信号検出手段とイ
ベント信号検出手段によって検出し、予告信号処理ルー
チン、ならびにイベント処理ルーチンを起動する。
【0063】本実施例では、イベントデータのフェッチ
をプロセッサ2aで実行されるプログラムの制御下に置
くことで、柔軟なキャッシュ制御を可能にしている。
【0064】多数のイベント発生源が存在しており、か
つ、それらイベント発生源がお互い無関係にイベントを
発生させるようなシステムを考える。このとき、予告信
号に基づくイベントデータのフェッチを無制限に行う
と、あるイベントに備えてフェッチされたイベントデー
タが、そのイベントのイベント信号の発生以前に、別の
イベントに備えてフェッチされたイベントデータによっ
てリプレースされてしまうことが起こりうる。この結
果、キャッシュミスが発生し、イベント処理ルーチンの
高速な実行を妨げることになる。
【0065】本実施例では、イベントの優先順位に基づ
きイベントデータのフェッチを制限する制御の一例を示
す。既に複数のイベントに関するイベントデータがフェ
ッチされている場合、新たに予告信号が発生したとして
も発生原因となったイベントの優先順位が低ければ、そ
のイベントに関するイベントデータのフェッチは行わな
い。この結果、イベントデータのフェッチが行われなか
ったイベントの処理の高速性は失われるが、より優先順
位の高いイベントの処理の高速性は確保することができ
る。
【0066】具体的には、未処理イベントリストを用い
てイベントデータのフェッチを制限する。未処理イベン
トリストには、予告信号が発生しており、かつイベント
信号が発生していないイベントの一覧が格納されてい
る。予告信号が発生すると、該イベントは未処理イベン
トリストに登録されるとともに、優先順位が判定され
る。優先順位が規定値よりも高ければ、そのイベントに
関するイベントデータのフェッチが行われ、低ければフ
ェッチは行われない。また、イベント信号が発生し、イ
ベント処理が完了した後に、該イベントは未処理イベン
トリストから削除される。その後、未処理イベントリス
トに登録されており、かつイベントデータのフェッチが
行われていないイベントの中から、最も優先順位の高い
イベントについてイベントデータのフェッチを行う。
【0067】図14はプロセッサ2aによって実行され
る、フェッチサブルーチンの概要を示すフローチャート
である。
【0068】該サブルーチンが呼び出されると、読み込
み開始アドレスSTART[evid]が変数ptrに
設定される(S2001)。ここで、evidはイベン
トを区別するための識別子を格納する変数であり、ST
ART[evid]はイベント識別子がevidである
イベントについての読み込み開始アドレスを示してい
る。次に、ptrが読み込み終了アドレスEND[ev
id]よりも小さい期間、ループを繰り返す(S200
2B乃至S2002E)。ここで、END[evid]
はイベント識別子がevidであるイベントについての
読み込み終了アドレスである。プロセッサ2aがプロセ
ッサ2a内蔵の読み込み指示手段(図示せず)によっ
て、キャッシュ制御機構41aにアドレスptrを指定
してデータ読み込みを指示することにより、主記憶装置
3のアドレスptrからアドレスptr+SIZE−1
までのデータがキャッシュメモリ4に読み込まれる(S
2003)。ここで、SIZEはキャッシュエントリの
大きさを示す値である。そして、ptrがSIZEだけ
インクリメントされ(S2004)、ループの始点に戻
る。以上の動作により、読み込み開始アドレスSTAR
T[evid]から読み込み終了アドレスEND[ev
id]までの範囲に格納されたイベントデータが、キャ
ッシュメモリ4に読み込まれる。
【0069】図15はプロセッサ2aによって実行され
る、予告信号処理ルーチンの概要を示すフローチャート
である。
【0070】予告信号が発生すると、プロセッサ2a
は、どの予告信号線が有効であるかに基づき、イベント
の識別子を得て変数evidに設定し(S2101)、
未処理イベントリストに登録する(S2102)。次
に、該イベントの未処理イベントリストにおける優先順
位を得て変数priに設定する(S2103)。ここで
得られる値が0であれば優先順位が最も高く、1であれ
ば次に優先順位が高い。以下同様に、2、3と値が大き
くなるほど優先順位が低くなるとする。得られた優先順
位と規定値LIMITの比較を行い(S2104)、優
先順位が規定値LIMITよりも小さければ、主記憶装
置3からキャッシュメモリ4へのデータの読み込みを行
う(S2105)。優先順位が規定値LIMIT以上で
あれば、そのまま終了する。
【0071】図16は、プロセッサ2aによって実行さ
れるイベント処理ルーチンの概要を示すフローチャート
である。
【0072】イベント信号が発生すると、プロセッサ2
aは、どのイベント信号線が有効であるかに基づき、イ
ベントの識別子を得て変数evidに設定し(S220
1)、これに対応するイベント処理を行う(S220
2)。その後、該イベント識別子を未処理イベントリス
トから削除する(S2203)。次に、未処理イベント
リストに登録されているイベントの数を取得して変数n
umに設定し(S2204)、規定値LIMITと比較
する(S2205)。numが規定値LIMIT以上で
あれば、イベントデータのフェッチが行われていないイ
ベントの中で最も優先順位の高いイベントの識別子を得
てevidに設定し、イベントデータのフェッチを行い
(S2207)、終了する。numが規定値LIMIT
以下であれば、イベントデータをフェッチすべきイベン
トが存在しないため、そのまま終了する。
【0073】以上、本実施例に示された構成では、予告
信号がプロセッサ2aの予告信号検出手段に入力されて
おり、プロセッサ2aが読み込み指示手段によってキャ
ッシュ制御装置41aに指示を与えて、主記憶装置3か
らキャッシュメモリ4へのデータの読み込みを行う。そ
のため、読み込み処理はプログラムで柔軟に制御するこ
とができる。
【0074】キャッシュメモリを内蔵するマイクロプロ
セッサの多くは、キャッシュ制御装置に読み込み指示を
与えるための専用の命令を備えている。よって、該構成
によれば、これら既存のマイクロプロセッサを利用し
て、高速なイベント処理を実現することができる。ま
た、本実施例では、各イベントにつき1つのデータ領域
をキャッシュメモリにフェッチしているが、プログラム
を変更することによって、複数のデータ領域をフェッチ
することも可能である。これにより、例えば、イベント
処理ルーチンのコード領域と、該イベント処理ルーチン
が参照するデータ領域とが、メモリ空間の離れた領域に
格納されているような場合にも対応することができる。 〔実施例3〕図17は本実施例における情報処理装置の
構成の概要を示すブロック図である。主記憶装置3、キ
ャッシュメモリ4、予告機構5、入出力機構6、イベン
ト発生源7、バス8は図2と同じであり、また、キャッ
シュ制御装置41aは図13と同じであり、説明は繰り
返さない。2bはプロセッサ、21はプロセッサ停止機
構である。121は予告機構5が発生する予告信号をプ
ロセッサ2bの予告信号検出手段に伝える予告信号線で
あり、122は入出力機構6が発生するイベント信号を
プロセッサ2bのイベント信号検出手段に伝えるイベン
ト信号線である。プロセッサ2bは予告信号、ならびに
イベント信号を、それぞれ予告信号検出手段とイベント
信号検出手段によって検出し、予告信号処理ルーチン、
ならびにイベント処理ルーチンを起動する。プロセッサ
停止機構21は、プロセッサ2bの指示に基づき、プロ
セッサ2bの動作を停止させるための機構であり、イベ
ント信号の発生により停止が解除される。
【0075】図18は、プロセッサ2bによって実行さ
れる予告信号処理ルーチンの概要を示すフローチャート
である。
【0076】予告信号が発生すると、プロセッサ2bは
イベントデータのフェッチを行う(S3001)。次
に、プロセッサ2bはプロセッサ停止機構21に指示し
て、プロセッサ2bの命令解釈実行を停止させる(S3
002)。予告信号処理ルーチンの終了は、イベント処
理ルーチンの終了後まで遅延される。
【0077】図19は、プロセッサ2bによって実行さ
れるイベント処理ルーチンの概要を示すフローチャート
である。
【0078】イベント信号が発生すると、プロセッサ2
bの停止状態が解除され、プロセッサ2bはイベント処
理ルーチンの実行を開始する。プロセッサ2bはイベン
ト処理を行い(S3101)、イベント処理ルーチンを
終了する。イベント処理ルーチンの終了後、プロセッサ
2bは、予告信号処理ルーチンに復帰し、これによって
予告信号処理ルーチンも終了する。
【0079】該構成例では、予告信号に基づくイベント
データのフェッチの完了後、イベント信号が発生するま
でプロセッサを停止させる。この期間はプロセッサによ
るメモリの参照が一切行われないために、キャッシュメ
モリのリプレースも行われない。よって、フェッチされ
たイベントデータは、イベント信号が発生するまで、必
ずキャッシュメモリ上に保存されていることになり、高
速なイベント処理を確実に実現することができる。
【0080】既存のプロセッサには、プロセッサ停止命
令を持つものが多い。これらのプロセッサは、停止命令
を実行するとそれ以降の命令の解釈実行を停止する。ま
た、この停止状態は外部からの割り込み発生によって解
除される。よって、予告信号線121、イベント信号線
122を割り込み入力に接続し、また、プロセッサ停止
機構として、プロセッサ停止命令の機能を利用すれば、
既存のプロセッサを用いて本実施例の構成を実現するこ
とができる。プロセッサ停止命令を持たないプロセッサ
を用いて本実施例の構成を実現する場合には、プロセッ
サの指示に基づいてプロセッサへのクロック供給を停止
し、イベント信号の発生によってプロセッサへのクロッ
クの供給を再開するようなクロック供給回路によって同
様の機能を実現することができる。 〔実施例4〕本実施例における情報処理装置の構成は、
図13に示される実施例2における情報処理装置の構成
と同じである。ただし、キャッシュメモリ4ならびにキ
ャッシュ制御装置41aが、それぞれキャッシュメモリ
4aならびにキャッシュ制御装置41bに置き換わる。
【0081】図20は本実施例におけるキャッシュエン
トリの構成の概要を示すブロック図である。42はキャ
ッシュタグ、43はキャッシュエントリ、421はバリ
ッドビット、422はアドレスタグ、432はLRUフ
ィールド、424は識別子フィールド、431はデータ
フィールドである。キャッシュタグ42はキャッシュエ
ントリの管理情報を格納する領域であり、バリッドビッ
ト421、アドレスタグフィールド422、LRUフィ
ールド423、識別子フィールド424を含む。キャッ
シュエントリ43は、キャッシュ制御における最小管理
単位であり、キャッシュタグ42とデータフィールド4
31を含む。該キャッシュエントリの構成は、識別子フ
ィールド424を除いて一般的なキャッシュメモリにお
けるキャッシュエントリの構成と同じである。バリッド
ビット421は、該ビットを含むキャッシュエントリが
有効か否かを示す。以下の図ではVと略記する。アドレ
スタグフィールド422は、該エントリが対応づけられ
る主記憶装置のアドレスを格納する。以下の図ではAT
と略記する。LRU(Least Recently
Used)フィールド423はリプレースのための情報
を格納するフィールドであり、それぞれのエントリが最
後にアクセスされた時刻の順番を格納する。LRUフィ
ールドの管理方法は公知であり、様々な管理方法が提案
されているが、ここでは説明を簡単にするため、最も最
近にアクセスされたキャッシュエントリのLRUフィー
ルドには0が、次に最近にアクセスされたキャッシュエ
ントリのLRUフィールドには1が格納され、以下、同
様に1づつ増加する値が格納されるよう管理されている
ものとする。以下の図ではLRUと略記する。識別子フ
ィールド424は、キャッシュエントリのロック制御に
用いる識別子を格納する。識別子フィールドの役割につ
いては後述する。以下の図ではIDと略記する。データ
フィールド431は主記憶装置上のデータのコピーを格
納するフィールドであり、各データフィールドに格納さ
れるデータの量がキャッシュエントリのサイズとなる。
【0082】図21は本実施例におけるキャッシュメモ
リ4aとキャッシュ制御装置41bの一構成例の概要を
示すブロック図である。42aから42dはキャッシュ
タグ、431aから431dはデータフィールド、44
aから44dはキャッシュエントリ選択信号線、45は
データバスに接続されるデータ入出力線、411はキャ
ッシュヒット判定回路、412はリプレース制御回路、
413は制御レジスタ、414aから414dはゲート
回路、415はキャッシュ内部バス、416は判定結果
信号線、417はアドレスバスに接続されるアドレス入
力線である。制御レジスタ413は設定識別子を格納す
る。設定識別子はプロセッサ2aによって、自由に設定
できるものとする。42aから42dと431aから4
31dはそれぞれ対応づけられており、キャッシュエン
トリを形成する。図21では説明を簡単にするため、4
つのキャッシュエントリから構成されるフルアソシアテ
ィブ型のキャッシュメモリを示しているが、本発明はこ
れに限定されるものではなく、キャッシュエントリの数
は自由に選択でき、また、セットアソシアティブ型のキ
ャッシュメモリに適用することもできる。
【0083】プロセッサ2aによって、通常のメモリア
クセス、もしくは読み込み指示が発生すると、アドレス
信号線417を介してアドレスがキャッシュヒット判定
回路411に入力される。キャッシュヒット判定回路4
11は、バリッドビットが有効なキャッシュエントリの
中から、入力されたアドレスと一致するアドレスタグを
持つキャッシュエントリを探し出す。キャッシュエント
リが存在すれば、キャッシュヒットであり、存在しなけ
ればキャッシュミスである。キャッシュヒットの場合、
キャッシュヒット判定回路411は、ヒットしたキャッ
シュエントリに対応するキャッシュエントリ選択信号線
を有効にして、データ入出力線45を介してデータフィ
ールドへのデータの入出力を行えるようにするととも
に、判定結果信号線416を有効にする。さらに、キャ
ッシュタグ42aから42dのLRUフィールドを更新
する。通常のメモリアクセスでキャッシュがヒットした
場合、リプレース制御回路412は動作しない。読み込
み指示により、キャッシュがヒットした場合、リプレー
ス制御回路412は、ヒットしたキャッシュエントリの
識別子フィールドに設定識別子を設定する。
【0084】キャッシュミスの場合、リプレース制御回
路412は適切なキャッシュエントリを選択し、選択し
たキャッシュエントリにデータをフェッチする。リプレ
ース制御回路412は、選択したキャッシュエントリに
対応するキャッシュエントリ選択信号線を有効にして、
データ入出力線45を介してデータフィールドへのデー
タのフェッチを行うとともに、選択したキャッシュエン
トリのバリッドビットを有効に、アドレスタグをフェッ
チしたデータのアドレスに設定する。さらに、キャッシ
ュタグ42aから42dのLRUフィールドを更新す
る。通常のメモリアクセスによってキャッシュミスが発
生した場合、リプレース制御回路412は、選択したキ
ャッシュエントリの識別子フィールドに0を設定する。
また、読み込み指示により、キャッシュミスが発生した
場合、リプレース制御回路412は、選択したキャッシ
ュエントリの識別子フィールドに設定識別子を設定す
る。
【0085】以上説明した動作により、プロセッサ2a
が読み込み指示手段を介して読み込みを指示したデー
タ、すなわちイベントデータを格納するキャッシュエン
トリの識別子フィールドには設定識別子が格納されるこ
とになる。
【0086】図22は、キャッシュミス発生時にリプレ
ース対象となるキャッシュエントリの選択規則を示す表
である。Vの列はバリッドビットの値を、LRUの列は
LRUフィールドの値を、IDは識別子フィールドの値
をそれぞれ示す。また、Priorityの列はこれら
3つのフィールドの値によって決まるリプレースの優先
順位を示す。そして、優先順位が最も高いキャッシュエ
ントリがリプレースの対象として選択される。さらに、
AIDは該キャッシュエントリの識別子フィールドが設
定識別子に一致することを、not AIDは一致しな
いことをそれぞれ示している。バリッドビットが無効な
キャッシュエントリが存在すれば、必ずそのエントリが
リプレースの対象となる。バリッドビットが無効なキャ
ッシュエントリが2つ以上ある場合には、それらの中か
ら任意のキャッシュエントリが1つ選択される。また、
バリッドビットが無効であるエントリが存在しない場
合、識別子フィールドが0もしくは設定識別子と一致し
ないキャッシュエントリの中から、LRUフィールドの
値が最も大きなキャッシュエントリが選択される。さら
に、識別子フィールドが設定識別子と一致するキャッシ
ュエントリしか存在しない場合は、LRUフィールドの
値が最も大きなキャッシュエントリが選択される。
【0087】図23は、本実施例における予告信号処理
ルーチンの動作を示すフローチャートである。予告信号
が発生すると、イベントデータのフェッチが行われ(S
4001)、終了する。
【0088】図24は、本実施例におけるイベント処理
ルーチンの動作を示すフローチャートである。イベント
信号が発生すると、イベントの処理が行われる(S41
01)。その後、次の予告信号の発生に備えて、設定識
別子の更新を行う。まず、前回設定した設定識別子を保
存する変数LASTIDから値を読み出し、変数aid
に設定する(S4102)。次に、aidに1を加え、
でモジュロ演算を行い、結果をaidに書き戻す(S4
103)。ここで、Mは識別子フィールドの大きさをビ
ット数で表わした値である。識別子フィールドには0か
らまで通りの値を格納することができるが、識別子0は
通常のメモリアクセスによって読み込まれたことを示す
ために予約されているため、ではなくでモジュロ演算を
行う。更新されたaidをLASTIDに格納し(S4
104)、また識別子レジスタにaid+1を設定して
(S4105)、イベント処理ルーチンを終了する。以
上説明した処理により、設定識別子レジスタには1以上
以下の整数が循環的に設定されることになる。
【0089】本実施例では、設定識別子と一致する識別
子フィールドを持つキャッシュエントリについてリプレ
ースの優先順位を下げることによって、読み込み指示に
よって読み込まれたデータをロックすることを可能にし
ている。これにより、先行時間が長い場合であっても、
イベントデータを確実にキャッシュ上にロックすること
が可能になる。
【0090】図25は、キャッシュミス発生時にリプレ
ース対象となるキャッシュエントリの別の選択規則を示
す表である。図22の規則と比較して、識別子フィール
ドがnot AIDのキャッシュエントリの優先順位
が、0のキャッシュエントリの優先順位よりも高くなっ
ている点が異なる。イベントの発生間隔が長い場合、イ
ベント処理が行われた後、次にイベント処理が行われる
までそのイベントに関するイベントデータをキャッシュ
メモリ上に保持することは無駄である。そこで、該選択
規則では、設定識別子と一致しないキャッシュエントリ
を優先的にリプレースすることにより、処理の終わった
イベントに関するイベントデータを優先的にキャッシュ
メモリから消去するよう制御することができる。これに
より、キャッシュメモリの容量を有効に活用することが
可能になる。また、図22に示す選択規則と、図25に
示す選択規則をプロセッサ2aの指示により切り替える
ようにすれば、優先リプレースの機能を必要に応じて抑
制することが可能になる。
【0091】図26は、キャッシュミス発生時にリプレ
ース対象となるキャッシュエントリのさらに別の選択規
則を示す表である。この選択規則を適用する場合には、
制御レジスタ413内に設定識別子に加えて優先リプレ
ース識別子と、ロック識別子を格納できるようにする。
図26において、RIDは該キャッシュエントリの識別
子フィールドに格納されている値が優先リプレース識別
子に一致することを、LIDはロック識別子に一致する
ことをそれぞれ示している。図25と比較して、優先的
にリプレースすべきエントリの識別子と、ロックすべき
エントリの識別子を個別に設定することが可能になって
おり、より柔軟なキャッシュ制御を可能にしている。
【0092】本実施例では簡単のため、ライトスルー型
のキャッシュメモリのキャッシュエントリを示している
が、本発明はこれに限定されるものではなく、ライトバ
ック型のキャッシュメモリにも適用することができる。
【0093】
【発明の効果】以上述べたように、本発明では、イベン
トの発生を予告する機構を導入し、適切なタイミングで
イベントデータをフェッチすることを可能にした。これ
により、キャッシュメモリの貴重な記憶容量を浪費する
ことなく、イベント処理ルーチンを高速に実行する情報
処理装置を実現した。
【図面の簡単な説明】
【図1】本発明の実施例1を示すブロック図である。
【図2】イベント発生源ならびに予告機構の例を示すブ
ロック図である。
【図3】イベント発生源ならびに予告機構の動作を示す
タイミングチャートである。
【図4】実施例1におけるキャッシュ制御機構の動作を
示すフローチャートである。
【図5】イベント発生源ならびに予告機構の第二の例を
示すブロック図である。
【図6】イベント発生源ならびに予告機構の動作を示す
第二のタイミングチャートである。
【図7】イベント発生源ならびに予告機構の第三の例を
示すブロック図である。
【図8】イベント発生源ならびに予告機構の動作を示す
第三のタイミングチャートである。
【図9】イベント発生源ならびに予告機構の第四の例を
示すブロック図である。
【図10】イベント発生源ならびに予告機構の動作を示
す第四のタイミングチャートである。
【図11】イベント発生源ならびに予告機構の第五の例
を示すブロック図である。
【図12】イベント発生源ならびに予告機構の動作を示
す第五のタイミングチャートである。
【図13】本発明の実施例2を示すブロック図である。
【図14】データの読み込みルーチンの動作を示すフロ
ーチャートである。
【図15】本発明の実施例2における予告信号処理ルー
チンの動作を示すフローチャートである。
【図16】本発明の実施例2におけるイベント処理ルー
チンの動作を示すフローチャートである。
【図17】本発明の実施例3を示すブロック図である。
【図18】本発明の実施例3における予告信号処理ルー
チンの動作を示すフローチャートである。
【図19】本発明の実施例3におけるイベント処理ルー
チンの動作を示すフローチャートである。
【図20】本発明の実施例4におけるキャッシュエント
リの構造を示すブロック図である。
【図21】本発明の実施例4におけるキャッシュメモリ
とキャッシュ制御機構の構造を示すブロック図である。
【図22】本発明の実施例4におけるリプレース優先順
位の決定規則を示す表である。
【図23】本発明の実施例4における予告信号処理ルー
チンの動作を示すフローチャートである。
【図24】本発明の実施例4におけるイベント処理ルー
チンの動作を示すフローチャートである。
【図25】本発明の実施例4におけるリプレース優先順
位の第二の決定規則を示す表である。
【図26】本発明の実施例4におけるリプレース優先順
位の第三の決定規則を示す表である。
【図27】従来技術の構成を示すブロック図である。
【符合の説明】
1、1a、1b 情報処理装置 2、2a、2b プロセッサ 3 主記憶装置 4、4a キャッシュメモリ 5、5a 予告機構 6、6a 入出力機構 7、7a〜7f イベント発生源 8 バス 21 プロセッサ停止機構 41、41a、41b キャッシュ制御機構 411 キャッシュヒット判定回路 412 リプレース制御回路 413 制御レジスタ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/12 G06F 12/12 D F

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 イベント信号を検出するイベント信号検
    出手段を持つプロセッサと、前記イベント信号に先立っ
    て予告信号を発生する予告機構と、前記予告信号に基づ
    いてイベントデータを読み込むキャッシュメモリとを有
    することを特徴とする情報処理装置。
  2. 【請求項2】 前記プロセッサは、前記予告信号を検出
    する予告信号検出手段と、前記キャッシュメモリにデー
    タを読み込ませる読み込み指示手段とを有することを特
    徴とする請求項1記載の情報処理装置。
  3. 【請求項3】 設定時刻に前記イベント信号を発生する
    タイマ機構を有することを特徴とする請求項1記載の情
    報処理装置。
  4. 【請求項4】 前記予告機構は、イベントが発生すると
    予告信号を発生するとともに、前記予告信号を遅延させ
    てイベント信号を発生することを特徴とする請求項1記
    載の情報処理装置。
  5. 【請求項5】 予告信号に基づいてプロセッサの動作を
    停止させ、イベント信号が発生するとプロセッサの動作
    を再開させるプロセッサ停止機構を有することを特徴と
    する請求項1又は2記載の情報処理装置。
  6. 【請求項6】 前記キャッシュメモリは、読み込まれた
    データのロック制御又はイベントデータを優先的にリプ
    レースする優先リプレース制御、あるいはその両方を行
    うキャッシュ制御機構を有し、前記プロセッサは、前記
    キャッシュ制御機構にロックの解除又は優先リプレース
    の抑制、あるいはその両方を指示することを特徴とする
    請求項1又は2記載の情報処理装置。
  7. 【請求項7】 前記プロセッサは、設定識別子を指定す
    る設定識別子指定手段を有し、前記キャッシュメモリ
    は、キャッシュエントリに識別子を格納する識別子フィ
    ールドを有し、前記キャッシュ制御機構は、データを読
    み込む際に前記設定識別子を前記識別子フィールドに格
    納するとともに、前記設定識別子に一致する識別子を格
    納するキャッシュエントリをロックすることを特徴とす
    る請求項6記載の情報処理装置。
  8. 【請求項8】 前記プロセッサは、設定識別子を指定す
    る設定識別子指定手段を有し、前記キャッシュメモリ
    は、キャッシュエントリに識別子を格納する識別子フィ
    ールドを有し、前記キャッシュ制御機構は、データを読
    み込む際に前記設定識別子を前記識別子フィールドに格
    納するとともに、前記設定識別子に一致する識別子を格
    納するキャッシュエントリをロックし、前記設定識別子
    と異なる識別子を格納するキャッシュエントリの優先リ
    プレースを行うことを特徴とする請求項6記載の情報処
    理装置。
  9. 【請求項9】 前記プロセッサは、設定識別子を指定す
    る設定識別子指定手段とロック識別子を指定するロック
    識別子指定手段と優先リプレース識別子を指定する優先
    リプレース識別子指定手段とを有し、前記キャッシュメ
    モリは、キャッシュエントリに識別子を格納する識別子
    フィールドを有し、前記キャッシュ制御機構は、データ
    を読み込む際に前記設定識別子を前記識別子フィールド
    に格納するとともに、前記ロック識別子に一致する識別
    子を格納するキャッシュエントリをロックし、前記優先
    リプレース識別子に一致する識別子を格納するキャッシ
    ュエントリの優先リプレースを行うことを特徴とする請
    求項6記載の情報処理装置。
JP11232166A 1999-08-19 1999-08-19 情報処理装置 Pending JP2001056781A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11232166A JP2001056781A (ja) 1999-08-19 1999-08-19 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11232166A JP2001056781A (ja) 1999-08-19 1999-08-19 情報処理装置

Publications (1)

Publication Number Publication Date
JP2001056781A true JP2001056781A (ja) 2001-02-27

Family

ID=16935038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11232166A Pending JP2001056781A (ja) 1999-08-19 1999-08-19 情報処理装置

Country Status (1)

Country Link
JP (1) JP2001056781A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100034A (ja) * 2003-09-24 2005-04-14 Matsushita Electric Ind Co Ltd 情報処理制御システム
JP2009175971A (ja) * 2008-01-23 2009-08-06 Hitachi Ltd 制御装置
JP2011530741A (ja) * 2008-08-08 2011-12-22 クゥアルコム・インコーポレイテッド 推論的割込みベクトルプリフェッチのための装置および方法
JP2012203655A (ja) * 2011-03-25 2012-10-22 Denso Corp マイクロコンピュータ

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100034A (ja) * 2003-09-24 2005-04-14 Matsushita Electric Ind Co Ltd 情報処理制御システム
US8135909B2 (en) 2003-09-24 2012-03-13 Panasonic Corporation System for starting a preload of a second program while a first program is executing
JP2009175971A (ja) * 2008-01-23 2009-08-06 Hitachi Ltd 制御装置
US8095695B2 (en) 2008-01-23 2012-01-10 Hitachi, Ltd. Control apparatus for process input-output device
US8423681B2 (en) 2008-01-23 2013-04-16 Hitachi, Ltd. Control apparatus for process input-output device
JP2011530741A (ja) * 2008-08-08 2011-12-22 クゥアルコム・インコーポレイテッド 推論的割込みベクトルプリフェッチのための装置および方法
JP2012203655A (ja) * 2011-03-25 2012-10-22 Denso Corp マイクロコンピュータ

Similar Documents

Publication Publication Date Title
JP4170218B2 (ja) キャッシュミスに応答してタスクを切り替えることによってキャッシュベース埋め込みプロセッサのスループットを改善する方法および装置
JP4603583B2 (ja) プロセッサ、装置、及び方法
US6466988B1 (en) Multiprocessor synchronization and coherency control system
EP2232370B1 (en) Multithreaded processor with lock indicator
EP0394624B1 (en) Multiple sequence processor system
US5440750A (en) Information processing system capable of executing a single instruction for watching and waiting for writing of information for synchronization by another processor
JP2004038337A (ja) 命令フェッチ制御装置
US8595474B2 (en) Information processing apparatus and branch prediction method
CN112230992B (zh) 一种包含分支预测循环的指令处理装置、处理器及其处理方法
US7617389B2 (en) Event notifying method, event notifying device and processor system permitting inconsistent state of a counter managing number of non-notified events
US11442727B2 (en) Controlling prediction functional blocks used by a branch predictor in a processor
US20090228663A1 (en) Control circuit, control method, and control program for shared memory
US6125440A (en) Storing executing instruction sequence for re-execution upon backward branch to reduce power consuming memory fetch
JP2001056781A (ja) 情報処理装置
JPH11282815A (ja) マルチスレッド計算機システム及びマルチスレッド実行制御方法
Bhatt et al. Constant RMR solutions to reader writer synchronization
CN114138334A (zh) 一种循环程序执行方法、装置以及处理器
US20220382581A1 (en) Method, arrangement, and computer program product for organizing the excitation of processing paths for testing a microelectric circuit
US20240004808A1 (en) Optimized prioritization of memory accesses
JP3795055B1 (ja) 値予測装置、マルチプロセッサシステムおよび値予測方法
US20240020122A1 (en) Executing phantom loops in a microprocessor
JP2007207039A (ja) メモリシステムおよびメモリアクセス制御方法
Do Improving Reliability, Power and Performance in Hardware Transactional Memory
JP2000194602A (ja) 情報処理装置、マイクロプロセッサ及び外部キャッシュメモリの制御方法
CN116719883A (zh) 数据同步方法、装置、服务器及存储介质