JPH11143771A - マイクロプロセッサ及び命令キャッシュ制御回路 - Google Patents

マイクロプロセッサ及び命令キャッシュ制御回路

Info

Publication number
JPH11143771A
JPH11143771A JP9312383A JP31238397A JPH11143771A JP H11143771 A JPH11143771 A JP H11143771A JP 9312383 A JP9312383 A JP 9312383A JP 31238397 A JP31238397 A JP 31238397A JP H11143771 A JPH11143771 A JP H11143771A
Authority
JP
Japan
Prior art keywords
cache
data
main memory
instruction
instruction cache
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
JP9312383A
Other languages
English (en)
Other versions
JP3493122B2 (ja
Inventor
Katsuhisa Kondo
勝久 近藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP31238397A priority Critical patent/JP3493122B2/ja
Publication of JPH11143771A publication Critical patent/JPH11143771A/ja
Application granted granted Critical
Publication of JP3493122B2 publication Critical patent/JP3493122B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュミスが頻発する動作モードにおい
て、命令キャッシュに対するリフィール動作を高速にし
てリアルタイム性能を向上させたマイクロプロセッサを
提供する。 【解決手段】 命令を実行するプロセッサコアと、外部
の主メモリと前記プロセッサコアとの間に接続され、前
記プロセッサコアで実行される前記命令の一部を格納す
る命令キャッシュとを有し、キャッシュミス時にはリフ
ィール動作を行うマイクロプロセッサにおいて、通常の
動作モード時に発生したキャッシュミスでは、前記リフ
ィール動作として、前記主メモリより1ライン分のデー
タを読み込み、割り込み発生時のトラップハンドラーま
たはスケジューラの動作する特権モードで発生したキャ
ッシュミスでは、前記リフィール動作として、前記主メ
モリより複数ラインのデータを読み込む構成にした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、組込み向けマイコ
ン等に搭載され、命令キャッシュを内蔵したマイクロプ
ロセッサ、及び前記命令キャッシュに対するリフィール
動作を制御する命令キャッシュ制御回路に関する。
【0002】
【従来の技術】組み込み用途に使用されるマイコンも高
性能化が進み、従来、ワークステーションで使用されて
いたRISCアーキテクチャを採用するものが増えてい
る。このRISCアーキテクチャの特徴の一つとして、
キャッシュメモリを内蔵して、内部の動作サイクルを上
げて高速化を図っていることが挙げられる。
【0003】アクセスしたい所望のデータがキャッシュ
メモリ内にある限り、高速にアクセスが終了するが、キ
ャッシュメモリ内に所望のデータが無い場合(以下、キ
ャッシュミスと呼ぶ)は、外部の主メモリをアクセスす
ることになる。
【0004】キャッシュメモリは、そのアドレスを格納
するタグ部とデータを格納するデータ部とが対になって
存在する。一つのタグに対応するデータのサイズをライ
ンサイズと呼ぶ。図5のフローチャートに示すように、
命令キャッシュのキャッシュミス時には(ステップS1
01)、1ライン分の命令データを一括して外部の主メ
モリから持ってきて(リフィール、ステップS10
2)、その後に命令の実行を行う(ステップS10
3)。
【0005】この主メモリのアクセスには時間がかり、
その間、内部の命令実行はストールすることになるの
で、キャッシュミスが頻発する時はマイクロプロセッサ
の実行性能は大幅に低下する。
【0006】組み込み用途向けのマイコンでは、従来か
らリアルタイム性能の向上が求められている。外部のイ
ベントに応じて適切な処理を行うため、その割り込み要
因に応じたタスクに素早く切り替える必要がある。マイ
コンに割り込みが発生すると、マイコンは、特殊な動作
モード(以下、特権モードと呼ぶ)に切り替わり、トラ
ップハンドラーに飛ぶ。トラップハンドラーでは、内部
状態を保存し割り込み要因の確定を行い、スケジューラ
へ移る。スケジューラでは適当なタスクを選択する。そ
して、選択されたタスクの実行を開始する。
【0007】この割り込みの発生から適切なタスクに切
り替わる時間をタスクスイッチ時間と呼び、リアルタイ
ム性能をあらわす指標として重視されている。
【0008】
【発明が解決しようとする課題】しかしながら、命令キ
ャッシュを内蔵した従来のマイクロプロセッサでは、次
のような問題点があった。
【0009】タスクスイッチ時間を短縮するためには、
トラップハンドラーやスケジューラと呼ばれる処理を高
速に実行する必要があるが、命令キャッシュを内蔵した
マイコンでは、トラップハンドラーやスケジューラの処
理でキャッシュミスが頻発してしまい、これらの処理を
高速に実行することができない。これは、トラップハン
ドラーやスケジューラは、実行されてから再実行される
までの時間の隔たりが大きいのでキャッシュから追い出
されている場合が多いことによる。
【0010】本発明は、上述の如き従来の問題点を解決
するためになされたもので、その目的は、キャッシュミ
スが頻発する動作モードにおいて、命令キャッシュに対
するリフィール動作を高速にしてリアルタイム性能を向
上させたマイクロプロセッサを提供することである。ま
たその他の目的は、キャッシュミスが頻発する動作モー
ドにおいて、命令キャッシュに対するリフィール動作を
高速化した命令キャッシュ制御回路を提供することであ
る。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、第1の発明であるマイクロプロセッサの特徴は、命
令を実行するプロセッサコアと、命令を格納する外部の
主メモリと前記プロセッサコアとの間に挿入され、前記
プロセッサコアで実行される前記命令の一部を格納する
命令キャッシュとを有し、前記命令キャッシュに対する
キャッシュミス時には前記主メモリから所望のデータを
前記命令キャッシュに読み込むリフィール動作を行うマ
イクロプロセッサにおいて、前記リフィール動作時に前
記主メモリより読み込むデータのサイズを、前記キャッ
シュミスの発生した動作モードに応じて切り換える構成
にしたことにある。
【0012】この第1の発明によれば、例えば、キャッ
シュミスが頻発する動作モードでは、リフィール動作時
に主メモリより読み込むデータのサイズを通常の動作モ
ードよりも大きく設定することにより、一回の転送デー
タサイズが大きくなってバースト転送の効果が高めら
れ、そのリフィール動作が高速になる。
【0013】第2の発明であるマイクロプロセッサの特
徴は、命令を実行するプロセッサコアと、命令を格納す
る外部の主メモリと前記プロセッサコアとの間に接続さ
れ、前記プロセッサコアで実行される前記命令の一部を
格納する命令キャッシュとを有し、前記命令キャッシュ
に対するキャッシュミス時には前記主メモリから所望の
データを前記命令キャッシュに読み込むリフィール動作
を行うマイクロプロセッサにおいて、通常の動作モード
時に発生したキャッシュミスでは、前記リフィール動作
として、前記主メモリより1ライン分のデータを読み込
み、割り込み発生時のトラップハンドラーまたはスケジ
ューラの動作する特権モードで発生したキャッシュミス
では、前記リフィール動作として、前記主メモリより複
数ラインのデータを読み込む構成にしたことにある。
【0014】この第2の発明によれば、トラップハンド
ラーまたはスケジューラの動作する特権モードでは、キ
ャッシュミスが頻発するため、リフィール動作時に主メ
モリより読み込むデータのサイズを通常の動作モードよ
りも大きい複数ラインとしたので、一回の転送データサ
イズが大きくなってバースト転送の効果が高められ、そ
のリフィール動作が高速になる結果、タスクスイッチ時
間が短縮する。
【0015】第3の発明である命令キャッシュ制御回路
の特徴は、命令を格納する外部の主メモリと前記命令を
実行するプロセッサコアとの間に接続され、前記プロセ
ッサコアで実行される命令の一部を格納する命令キャッ
シュに対し、キャッシュミス時に前記主メモリから所望
のデータを読み込むリフィール動作を制御する命令キャ
ッシュ制御回路において、通常の動作モード時に発生し
たキャッシュミスでは、前記リフィール動作として、前
記主メモリより1ライン分のデータを読み込み、割り込
み発生時のトラップハンドラーまたはスケジューラの動
作する特権モードで発生したキャッシュミスでは、前記
リフィール動作として、前記主メモリより複数ラインの
データを読み込む構成にしたことにある。
【0016】この第3の発明によれば、第2の発明と同
様の作用を呈する。
【0017】
【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。図1は、本発明の実施形態に係るマ
イクロプロセッサを搭載した組込み向けマイコンの概略
構成を示すブロック図である。
【0018】このマイコンは、本発明のマイクロプロセ
ッサ10を備え、このマイクロプロセッサ10がバス1
5を介して主メモリ16に接続されている。マイクロプ
ロセッサ10には、命令の実行を行うプロセッサコア1
1と共に、命令キャッシュ12とデータキャッシュ13
とリフィールコントローラ(命令キャッシュ制御回路)
14が内蔵されている。
【0019】命令キャッシュ12は、前記主メモリ16
と前記プロセッサコア12との間に挿入され、主メモリ
16中の命令の一部を記憶する。また、データキャッシ
ュ13は、プロセッサコア11の命令実行に必要なデー
タを記憶する。そして、リフィールコントローラ14
は、前記命令キャッシュ12及びデータキャッシュ13
に対して、後述する本発明の特徴を成すリフィール動作
をコントロールする機能を有する。
【0020】アクセスには、一度使ったデータはまた直
ぐに使う傾向があるという時間的局所性と、使用したデ
ータの近くのデータも使用する確率が高いという空間的
局所性とがあり、これらを利用したものが上記の命令キ
ャッシュ12及びデータキャッシュ13を構成するキャ
ッシュメモリである。
【0021】空間的局所性を利用する上で、ラインサイ
ズはある程度大きい方が良く、命令キャッシュ12の場
合は、例えば16バイトまたは32バイトといったサイ
ズが用いられる。これら大きなサイズのデータをアクセ
スする場合に用いられる方式の一つにバースト転送があ
る。キャッシュミス時にリフィールするデータラインサ
イズはバス幅より大きいため、リフィール動作時にはバ
ースト転送が用いられる。主メモリ16等を構成するD
RAMではページモードやニブルモードといったアクセ
スモードがあり、連続したアドレスのデータを読み出す
時は、最初のデータはある程度時間が掛かるが、後続の
データは高速にアクセスすることが可能である。バース
ト転送では、読み出すデータサイズが大きくなるほど、
その高速化の効果が高くなる。
【0022】リフィール動作に用いられるバースト転送
の効果は、ラインサイズが大きい程高いものであるか
ら、キャッシュミスのペナルティ(プロセッサの実行性
能が低下)を低減するためには、命令キャッシュのライ
ンサイズを大きくしてデータのリフィール動作を高速に
行うことが考えられる。しかし、命令キャッシュのライ
ンサイズを単純に大きくしてしまうと、それに伴い、ア
クセスの時間的局所性の利用効率が下がり通常の処理に
おいてヒット率が下がる可能性がある。そこで、本実施
形態では、図2に示すような手法を実施する。
【0023】図2は、本実施形態のリフィールコントロ
ーラ14の動作を示すフローチャートである。
【0024】命令キャッシュミスが発生した場合には
(ステップS11)、プロセッサ10の動作モードが通
常モードであるか、あるいは特権モードであるかを判別
する(ステップS12)。通常モードである時は1ライ
ン分のデータをリフィールする(ステップS13)。
【0025】この通常モードでのリフィール動作を図3
のタイミングチャートに示す。例えば、32ビットのバ
ス幅を持つシステムで、ラインサイズ16バイトのデー
タをバースト転送モードで命令キャッシュ12に読み込
むとする。リード信号rd(バー)を活性化し、プロセ
ッサ10からは、32ビットのアドレス[31:0]と
バースト転送のバイトサイズを示すBSTSZ[2:
0]を送出する。主メモリ16からは、4サイクル後に
最初の4バイトデータが転送されてきて、その後は、1
サイクル毎に4バイトデータが転送される。
【0026】動作モードが特権モードである時は、複数
(N)のラインサイズ(例えばN=2とする)のリフィ
ールを一括して行う(ステップS14)。この場合は、
上記図3に示した例において、2ラインサイズ32バイ
トのデータをバースト転送モードで命令キャッシュ12
に読み込むことになる。すなわち、リード信号rd(バ
ー)を活性化し、プロセッサ10からは、32ビットの
アドレス[31:0]と、本例のバースト転送のバイト
サイズを示すBSTSZ[2:0]とを送出する。
【0027】そして、リフィールが終了したら命令実行
を再開する(ステップS15)。
【0028】次に、図2で示した特権モードは、割り込
み発生時のトラップハンドラーまたはスケジューラの動
作するモードであるとして、本実施形態の割り込み処理
について図4のフローチャートを用いて説明する。
【0029】図4において、タイマや外部ユニットから
のデータ入力といった外部イベントによりマイコンに割
り込みが発生する(ステップS21)。すると、マイコ
ンは、特権モードに切り替わり、所定のアドレスに格納
されているトラップハンドラーに飛ぶ。トラップハンド
ラーでは、内部状態を保存し割り込み要因の確定をし、
スケジューラへ移る。スケジューラでは、各タスクの優
先度等を勘案し適当なタスクを選択する(ステップS2
3)。
【0030】このトラップハンドラーまたはスケジュー
ラの起動時に命令キャッシュミスが発生すると、上記し
た図2のフローにおいて、前記のステップS11、ステ
ップS12及びステップS14のルートが実行され、上
述したように複数ラインが一括してバースト転送により
リフィールされることになる。
【0031】その後、動作モードを通常のモードに移し
(ステップS24)、選択されたタスクの実行を開始す
る(ステップS25)。
【0032】このように、初期キャッシュミスが頻発す
るトラップハンドラーやスケジューラが動作するモード
を特権モードと認識し、その動作モードにある時は、命
令キャッシュ12のリフィールサイズを大きくしてバー
スト転送の効果を高める。その結果、トラップハンドラ
ーやスケジューラ起動時の命令キャッシュ12のリフィ
ール動作が高速になり、タスクスイッチの時間を短縮す
ることができるので、マイコンのリアルタイム性能が向
上する。
【0033】尚、本実施形態では、タスクスイッチのた
めに行う一連の処理を判定するために従来からある特権
モード/通常モードを用いている。モードの種類、設定
方法及びこれらを判定する手段は、幾つかのバリエーシ
ョンが考えられるが、それらの工夫に関しても本発明の
範疇に入ることは言うまでもない。
【0034】
【発明の効果】以上詳細に説明したように、第1の発明
であるマイクロプロセッサによれば、リフィール動作時
に主メモリより読み込むデータのサイズを、キャッシュ
ミスの発生した動作モードに応じて切り換える構成にし
たので、例えば、キャッシュミスが頻発する動作モード
では、リフィール動作時に主メモリより読み込むデータ
のサイズを通常の動作モードよりも大きく設定すること
により、そのリフィール動作を高速に行うことが可能に
なり、リアルタイム性能が向上する。
【0035】第2の発明であるマイクロプロセッサによ
れば、リフィール動作として、通常の動作モード時に発
生したキャッシュミスでは、主メモリより1ライン分の
データを読み込み、割り込み発生時のトラップハンドラ
ーまたはスケジューラの動作する特権モードで発生した
キャッシュミスでは、主メモリより複数ラインのデータ
を読み込むようにしたので、トラップハンドラーまたは
スケジューラの起動する命令リフィールを高速に行うこ
とが可能になり、リアルタイム性能が向上する。
【0036】第3の発明である命令キャッシュ制御回路
によれば、リフィール動作として、通常の動作モード時
に発生したキャッシュミスでは、主メモリより1ライン
分のデータを読み込み、割り込み発生時のトラップハン
ドラーまたはスケジューラの動作する特権モードで発生
したキャッシュミスでは、主メモリより複数ラインのデ
ータを読み込むように制御するので、トラップハンドラ
ーまたはスケジューラの起動する命令リフィールを高速
に行うことが可能になる。これにより、この命令キャッ
シュ制御回路を搭載したマイコンのリアルタイム性能が
向上する。
【図面の簡単な説明】
【図1】本発明の実施形態に係るマイクロプロセッサを
搭載した組込み向けマイコンの概略構成を示すブロック
図である。
【図2】実施形態のリフィールコントローラの動作を示
すフローチャートである。
【図3】実施形態のリフィール動作を示すフローチャー
トである。
【図4】実施形態の割り込み処理を示すフローチャート
である。
【図5】従来のリフィール動作を示すフローチャートで
ある。
【符号の説明】
10 マイクロプロセッサ 11 プロセッサコア 12 命令キャッシュ 13 データキャッシュ 14 リフィールコントローラ 15 バス 16 主メモリ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 命令を実行するプロセッサコアと、命令
    を格納する外部の主メモリと前記プロセッサコアとの間
    に挿入され、前記プロセッサコアで実行される前記命令
    の一部を格納する命令キャッシュとを有し、前記命令キ
    ャッシュに対するキャッシュミス時には前記主メモリか
    ら所望のデータを前記命令キャッシュに読み込むリフィ
    ール動作を行うマイクロプロセッサにおいて、 前記リフィール動作時に前記主メモリより読み込むデー
    タのサイズを、前記キャッシュミスの発生した動作モー
    ドに応じて切り換える構成にしたことを特徴とするマイ
    クロプロセッサ。
  2. 【請求項2】 命令を実行するプロセッサコアと、命令
    を格納する外部の主メモリと前記プロセッサコアとの間
    に接続され、前記プロセッサコアで実行される前記命令
    の一部を格納する命令キャッシュとを有し、前記命令キ
    ャッシュに対するキャッシュミス時には前記主メモリか
    ら所望のデータを前記命令キャッシュに読み込むリフィ
    ール動作を行うマイクロプロセッサにおいて、 通常の動作モード時に発生したキャッシュミスでは、前
    記リフィール動作として、前記主メモリより1ライン分
    のデータを読み込み、割り込み発生時のトラップハンド
    ラーまたはスケジューラの動作する特権モードで発生し
    たキャッシュミスでは、前記リフィール動作として、前
    記主メモリより複数ラインのデータを読み込む構成にし
    たことを特徴とするマイクロプロセッサ。
  3. 【請求項3】 命令を格納する外部の主メモリと前記命
    令を実行するプロセッサコアとの間に接続され、前記プ
    ロセッサコアで実行される命令の一部を格納する命令キ
    ャッシュに対し、キャッシュミス時に前記主メモリから
    所望のデータを読み込むリフィール動作を制御する命令
    キャッシュ制御回路において、 通常の動作モード時に発生したキャッシュミスでは、前
    記リフィール動作として、前記主メモリより1ライン分
    のデータを読み込み、割り込み発生時のトラップハンド
    ラーまたはスケジューラの動作する特権モードで発生し
    たキャッシュミスでは、前記リフィール動作として、前
    記主メモリより複数ラインのデータを読み込む構成にし
    たことを特徴とする命令キャッシュ制御回路。
JP31238397A 1997-11-13 1997-11-13 マイクロプロセッサ及び命令キャッシュ制御回路 Expired - Fee Related JP3493122B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31238397A JP3493122B2 (ja) 1997-11-13 1997-11-13 マイクロプロセッサ及び命令キャッシュ制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31238397A JP3493122B2 (ja) 1997-11-13 1997-11-13 マイクロプロセッサ及び命令キャッシュ制御回路

Publications (2)

Publication Number Publication Date
JPH11143771A true JPH11143771A (ja) 1999-05-28
JP3493122B2 JP3493122B2 (ja) 2004-02-03

Family

ID=18028602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31238397A Expired - Fee Related JP3493122B2 (ja) 1997-11-13 1997-11-13 マイクロプロセッサ及び命令キャッシュ制御回路

Country Status (1)

Country Link
JP (1) JP3493122B2 (ja)

Also Published As

Publication number Publication date
JP3493122B2 (ja) 2004-02-03

Similar Documents

Publication Publication Date Title
US7353337B2 (en) Reducing cache effects of certain code pieces
JP2006146758A (ja) コンピュータシステム
JP3088303B2 (ja) キャッシュ・メモリ・バンク制御装置
CN116483743A (zh) 数据高速缓存预取装置、方法及处理器
JP3493122B2 (ja) マイクロプロセッサ及び命令キャッシュ制御回路
JP4056768B2 (ja) マイクロコンピュータ、キャッシュメモリ制御方法及びクロック制御方法
JP4413663B2 (ja) 命令キャッシュシステム
CN114020439A (zh) 一种中断处理方法、装置及计算机设备
JPH11232171A (ja) 情報処理システム
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
JP2868654B2 (ja) キャッシュメモリ制御方法
JP3039391B2 (ja) メモリシステム
JP2005276104A (ja) マイクロコンピュータ
JP4498705B2 (ja) キャッシュシステム
JP2001306335A (ja) コンピュータ
JP2001092774A (ja) Dmaバースト転送制御装置
JPH036758A (ja) マイクロプロセッサ
JP2000347931A (ja) キャッシュメモリおよびキャッシュメモリ制御方法
JPH01303546A (ja) メモリ制御方式
JPS63163532A (ja) マイクロプロセツサ
JP3900660B2 (ja) シーケンスコントローラ
JPH07219838A (ja) データ先読み制御装置
JP2001117819A (ja) 命令メモリ回路及び情報処理システム
JP2000194554A (ja) 演算処理装置
JP2000242507A (ja) プロセッサ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees