JPH09305490A - マイクロプロセッサシステム - Google Patents
マイクロプロセッサシステムInfo
- Publication number
- JPH09305490A JPH09305490A JP8148357A JP14835796A JPH09305490A JP H09305490 A JPH09305490 A JP H09305490A JP 8148357 A JP8148357 A JP 8148357A JP 14835796 A JP14835796 A JP 14835796A JP H09305490 A JPH09305490 A JP H09305490A
- Authority
- JP
- Japan
- Prior art keywords
- instruction cache
- cache
- cpu
- counting means
- instruction
- 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
Links
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 小容量命令キャッシュを有するマイクロプロ
セッサシステムでループを有するプログラムを実行する
と、命令キャッシュを用いているにもかかわらず、すべ
ての命令をメインメモリからフェッチしなければならな
い。つまり、容量性の競合が発生し、命令キャッシュの
性能が打消されてしまう。 【解決手段】 CPU1と命令キャッシュ2との間にカ
ウンタ5を設ける。CPU1は命令キャッシュ2をアク
セスする毎にキャッシュアクセス通知信号S1を発生
し、この結果、カウンタ5の値は1ディクリメントされ
る。また、CPU1はサブルーチンコールまたはマイナ
ス方向への分岐が成立する毎に分岐発生通知信号S2を
発生し、この結果、カウンタ5は初期化され、カウンタ
5の値がエントリ数、たとえば、4とされる。さらに、
カウンタ5の値が0のときには、カウンタ5はキャッシ
ュ機能停止信号S3を命令キャッシュ2に発生して命令
キャッシュ2の機能を停止させる。
セッサシステムでループを有するプログラムを実行する
と、命令キャッシュを用いているにもかかわらず、すべ
ての命令をメインメモリからフェッチしなければならな
い。つまり、容量性の競合が発生し、命令キャッシュの
性能が打消されてしまう。 【解決手段】 CPU1と命令キャッシュ2との間にカ
ウンタ5を設ける。CPU1は命令キャッシュ2をアク
セスする毎にキャッシュアクセス通知信号S1を発生
し、この結果、カウンタ5の値は1ディクリメントされ
る。また、CPU1はサブルーチンコールまたはマイナ
ス方向への分岐が成立する毎に分岐発生通知信号S2を
発生し、この結果、カウンタ5は初期化され、カウンタ
5の値がエントリ数、たとえば、4とされる。さらに、
カウンタ5の値が0のときには、カウンタ5はキャッシ
ュ機能停止信号S3を命令キャッシュ2に発生して命令
キャッシュ2の機能を停止させる。
Description
【0001】
【発明の属する技術分野】本発明は命令キャッシュを有
するマイクロプロセッサシステムに関する。
するマイクロプロセッサシステムに関する。
【0002】
【従来の技術】近年、マイクロプロセッサシステムにお
いては、性能向上を図るために、キャッシュメモリを用
いる。このキャッシュメモリは、チップ面積の増大に伴
なう製造コストと性能とのトレードオフから、1Kバイ
トないし4Kバイトの小容量となることが多い。図3は
従来の小容量の命令キャッシュを有するマイクロプロセ
ッサを示すブロック回路図である。図3においては、1
はCPU、2はエントリ数4のダイレクトマップ命令キ
ャッシュである。CPU1及び命令キャッシュ2はアド
レスバス3及びデータバス4によって接続されている。
いては、性能向上を図るために、キャッシュメモリを用
いる。このキャッシュメモリは、チップ面積の増大に伴
なう製造コストと性能とのトレードオフから、1Kバイ
トないし4Kバイトの小容量となることが多い。図3は
従来の小容量の命令キャッシュを有するマイクロプロセ
ッサを示すブロック回路図である。図3においては、1
はCPU、2はエントリ数4のダイレクトマップ命令キ
ャッシュである。CPU1及び命令キャッシュ2はアド
レスバス3及びデータバス4によって接続されている。
【0003】図4、図5を参照して図3のマイクロプロ
セッサシステムの動作を説明する。なお、図4はループ
を有するプログラムの一例、図5は命令キャッシュ2の
内容の遷移を示す図である。CPU1の動作が図4のプ
ログラムのループ部分に入ると、メインメモリ(図示せ
ず)から命令A、B、C、Dを順次フェッチして命令キ
ャッシュ2にロードすると共に実行する(ステップ50
1、502、503、504)。ここで、命令キャッシ
ュ2はダイレクトマップであるので、フェッチする命令
のアドレスによりその命令をおくエントリは確定する。
ステップ504の状態で、命令キャッシュ2のエントリ
のすべてが埋まることになる。
セッサシステムの動作を説明する。なお、図4はループ
を有するプログラムの一例、図5は命令キャッシュ2の
内容の遷移を示す図である。CPU1の動作が図4のプ
ログラムのループ部分に入ると、メインメモリ(図示せ
ず)から命令A、B、C、Dを順次フェッチして命令キ
ャッシュ2にロードすると共に実行する(ステップ50
1、502、503、504)。ここで、命令キャッシ
ュ2はダイレクトマップであるので、フェッチする命令
のアドレスによりその命令をおくエントリは確定する。
ステップ504の状態で、命令キャッシュ2のエントリ
のすべてが埋まることになる。
【0004】次に、続けてメインメモリから命令E、
F、G、Hを順次フェッチして実行する(ステップ50
5、506、507、508)。この場合、命令キャッ
シュ2のエントリはすべて埋められているので、命令キ
ャッシュ2のリプレースが発生し、命令A、B、C、D
は順次命令キャッシュ2のエントリから消去される。
F、G、Hを順次フェッチして実行する(ステップ50
5、506、507、508)。この場合、命令キャッ
シュ2のエントリはすべて埋められているので、命令キ
ャッシュ2のリプレースが発生し、命令A、B、C、D
は順次命令キャッシュ2のエントリから消去される。
【0005】次に、分岐命令である命令Hを実行後、再
び命令Aを実行するものとする。この場合、ステップ5
01にて命令Aは既に命令キャッシュ2にロードされて
いたが、ステップ505にて命令Eにリプレースされて
いる。従って、再びメインメモリから命令Aをフェッチ
して命令キャッシュ2にロードする(ステップ50
9)。引き続いて、命令B、C、…を実行する場合、同
様に、再びメインメモリから命令B、C、…をフェッチ
して命令キャッシュ2にロードする(ステップ510以
降)。
び命令Aを実行するものとする。この場合、ステップ5
01にて命令Aは既に命令キャッシュ2にロードされて
いたが、ステップ505にて命令Eにリプレースされて
いる。従って、再びメインメモリから命令Aをフェッチ
して命令キャッシュ2にロードする(ステップ50
9)。引き続いて、命令B、C、…を実行する場合、同
様に、再びメインメモリから命令B、C、…をフェッチ
して命令キャッシュ2にロードする(ステップ510以
降)。
【0006】
【発明が解決しようとする課題】上述のごとく、小容量
命令キャッシュを有するマイクロプロセッサシステムで
ループを有するプログラムを実行すると、命令キャッシ
ュを用いているにもかかわらず、すべての命令をメイン
メモリからフェッチしなければならず、つまり、容量性
の競合が発生し、命令キャッシュの性能が打消されてし
まうという課題がある。なお、命令キャッシュがセット
アソシアティブ構成の場合も、そのセット分を使い果し
た後はループ前半で書きつぶすことに変わりがないの
で、同様の課題がある。従って、本発明の目的は、命令
キャッシュを有するマイクロプロセッサシステムの容量
性競合を防止して命令キャッシュの性能向上を図ること
にある。
命令キャッシュを有するマイクロプロセッサシステムで
ループを有するプログラムを実行すると、命令キャッシ
ュを用いているにもかかわらず、すべての命令をメイン
メモリからフェッチしなければならず、つまり、容量性
の競合が発生し、命令キャッシュの性能が打消されてし
まうという課題がある。なお、命令キャッシュがセット
アソシアティブ構成の場合も、そのセット分を使い果し
た後はループ前半で書きつぶすことに変わりがないの
で、同様の課題がある。従って、本発明の目的は、命令
キャッシュを有するマイクロプロセッサシステムの容量
性競合を防止して命令キャッシュの性能向上を図ること
にある。
【0007】
【課題を解決するための手段】上述の課題を解決するた
めに本発明は、CPUと、命令キャッシュと、命令キャ
ッシュとCPUとの間に命令キャッシュのリフィル可能
なエントリ数を記憶する計数手段とを設ける。CPUは
命令キャッシュをアクセス毎にキャッシュアクセス通知
信号を計数手段に送出して計数手段の値をディクリメン
トさせる。また、CPUはサブルーチンコールまたはマ
イナス方向への分岐が成立したときに分岐発生通知信号
を計数手段に送出して計数手段を初期化する。さらに,
計数手段の値が0のときに計数手段はキャッシュ機能停
止信号を命令キャッシュに送出して命令キャッシュの機
能を停止させる。なお、計数手段をインクリメント形と
することもできる。つまり、キャッシュリフィル回数を
制限することにより、ループを有するプログラムを実行
した場合、命令キャッシュが一杯となった時点でキャッ
シュ機能を無効化し、性能向上を図る。
めに本発明は、CPUと、命令キャッシュと、命令キャ
ッシュとCPUとの間に命令キャッシュのリフィル可能
なエントリ数を記憶する計数手段とを設ける。CPUは
命令キャッシュをアクセス毎にキャッシュアクセス通知
信号を計数手段に送出して計数手段の値をディクリメン
トさせる。また、CPUはサブルーチンコールまたはマ
イナス方向への分岐が成立したときに分岐発生通知信号
を計数手段に送出して計数手段を初期化する。さらに,
計数手段の値が0のときに計数手段はキャッシュ機能停
止信号を命令キャッシュに送出して命令キャッシュの機
能を停止させる。なお、計数手段をインクリメント形と
することもできる。つまり、キャッシュリフィル回数を
制限することにより、ループを有するプログラムを実行
した場合、命令キャッシュが一杯となった時点でキャッ
シュ機能を無効化し、性能向上を図る。
【0008】
【発明の実施の形態】図1は本発明に係るマイクロプロ
セッサシステムの実施の形態を示すブロック図であっ
て、図4の構成要素に対してカウンタ5を付加してあ
る。カウンタ5は、CPU1からのキャッシュアクセス
通知信号S1及び分岐発生通知信号S2を受信し、ま
た、命令キャッシュ2へキャッシュ機能停止信号S3を
発生する。ここで、CPU1は命令キャッシュ2をアク
セスする毎にキャッシュアクセス通知信号S1を発生
し、この結果、カウンタ5の値は1ディクリメントされ
る。また、CPU1はサブルーチンコールまたはマイナ
ス方向への分岐が成立する毎に分岐発生通知信号S2を
発生し、この結果、カウンタ5は初期化され、カウンタ
5の値がエントリ数、ここでは、4とされる。さらに、
カウンタ5の値が0のときには、カウンタ5はキャッシ
ュ機能停止信号S3を命令キャッシュ2に発生して命令
キャッシュ2の機能を停止させる。
セッサシステムの実施の形態を示すブロック図であっ
て、図4の構成要素に対してカウンタ5を付加してあ
る。カウンタ5は、CPU1からのキャッシュアクセス
通知信号S1及び分岐発生通知信号S2を受信し、ま
た、命令キャッシュ2へキャッシュ機能停止信号S3を
発生する。ここで、CPU1は命令キャッシュ2をアク
セスする毎にキャッシュアクセス通知信号S1を発生
し、この結果、カウンタ5の値は1ディクリメントされ
る。また、CPU1はサブルーチンコールまたはマイナ
ス方向への分岐が成立する毎に分岐発生通知信号S2を
発生し、この結果、カウンタ5は初期化され、カウンタ
5の値がエントリ数、ここでは、4とされる。さらに、
カウンタ5の値が0のときには、カウンタ5はキャッシ
ュ機能停止信号S3を命令キャッシュ2に発生して命令
キャッシュ2の機能を停止させる。
【0009】図4、図2を参照して図1のマイクロプロ
セッサシステムの動作を説明する。なお、図2は命令キ
ャッシュ2の内容の遷移を示す図である。また、カウン
タ5の値は初期値4とする。CPU1の動作が図4のプ
ログラムのループ部分に入ると、メインメモリ(図示せ
ず)から命令A、B、C、Dを順次フェッチして命令キ
ャッシュ2にロードすると共に実行する(ステップ20
1、202、203、204)。ここで、命令キャッシ
ュ2はダイレクトマップであるので、フェッチする命令
のアドレスによりその命令をおくエントリは確定する。
各ステップ201、202、203、204におてい
は、CPU1がキャッシュアクセス通知信号S1を発生
するので、カウンタ5の値は、3、2、1、0と減少す
る。この結果、ステップ204の状態で、命令キャッシ
ュ2のエントリのすべてが埋まることになり、以後は、
カウンタ5のキャッシュ機能停止信号S3の発生により
命令キャッシュ2のリプレースは発生しない。
セッサシステムの動作を説明する。なお、図2は命令キ
ャッシュ2の内容の遷移を示す図である。また、カウン
タ5の値は初期値4とする。CPU1の動作が図4のプ
ログラムのループ部分に入ると、メインメモリ(図示せ
ず)から命令A、B、C、Dを順次フェッチして命令キ
ャッシュ2にロードすると共に実行する(ステップ20
1、202、203、204)。ここで、命令キャッシ
ュ2はダイレクトマップであるので、フェッチする命令
のアドレスによりその命令をおくエントリは確定する。
各ステップ201、202、203、204におてい
は、CPU1がキャッシュアクセス通知信号S1を発生
するので、カウンタ5の値は、3、2、1、0と減少す
る。この結果、ステップ204の状態で、命令キャッシ
ュ2のエントリのすべてが埋まることになり、以後は、
カウンタ5のキャッシュ機能停止信号S3の発生により
命令キャッシュ2のリプレースは発生しない。
【0010】次に、続けてメインメモリから命令E、
F、G、Hを順次フェッチして実行する(ステップ20
5、206、207、208)。この場合、キャッシュ
2のリプレースは発生しないので、命令A、B、C、D
は命令キャッシュ2内に残る。
F、G、Hを順次フェッチして実行する(ステップ20
5、206、207、208)。この場合、キャッシュ
2のリプレースは発生しないので、命令A、B、C、D
は命令キャッシュ2内に残る。
【0011】次に、分岐命令である命令Hを実行後、再
び命令Aを実行するものとする。この場合、ステップ2
01して命令Aは既に命令キャッシュ2にロードされて
いる。従って、いわゆるキャッシュヒットとなる(ステ
ップ509)。引き続いて、命令B、C、Dを実行する
場合も、命令B、C、Dはステップ202、203、2
04にて命令キャッシュ2にロードされているのでキャ
ッシュヒットとなる(ステップ510以降)。その後、
命令D、E、F、G、Hを実行する場合、メインメモリ
から命令D、E、F、G、Hをフェッチして命令キャッ
シュ2にロードしなければならないが、これは従来例と
変わらない。
び命令Aを実行するものとする。この場合、ステップ2
01して命令Aは既に命令キャッシュ2にロードされて
いる。従って、いわゆるキャッシュヒットとなる(ステ
ップ509)。引き続いて、命令B、C、Dを実行する
場合も、命令B、C、Dはステップ202、203、2
04にて命令キャッシュ2にロードされているのでキャ
ッシュヒットとなる(ステップ510以降)。その後、
命令D、E、F、G、Hを実行する場合、メインメモリ
から命令D、E、F、G、Hをフェッチして命令キャッ
シュ2にロードしなければならないが、これは従来例と
変わらない。
【0012】なお、上述の発明の実施の形態において
は、カウンタ5をディクリメントカウンタとして構成し
ているが、インクリメントカウンタとして構成すること
もできる。この場合には、キャッシュアクセス通知信号
S1の受信毎にカウンタ5の値は1インクリメントさ
れ、また、分岐発生通知信号S2の受信毎にカウンタ5
はクリアされ、さらに、カウンタ5の値が所定値たとえ
ば4のときには、カウンタ5はキャッシュ機能停止信号
S3を命令キャッシュ2に発生して命令キャッシュ2の
機能を停止させる。
は、カウンタ5をディクリメントカウンタとして構成し
ているが、インクリメントカウンタとして構成すること
もできる。この場合には、キャッシュアクセス通知信号
S1の受信毎にカウンタ5の値は1インクリメントさ
れ、また、分岐発生通知信号S2の受信毎にカウンタ5
はクリアされ、さらに、カウンタ5の値が所定値たとえ
ば4のときには、カウンタ5はキャッシュ機能停止信号
S3を命令キャッシュ2に発生して命令キャッシュ2の
機能を停止させる。
【0013】
【発明の効果】以上説明したように本発明によれば、プ
ログラムのループあるいはサブルーチンコールで発生す
る容量性競合を防止でき、従って、命令キャッシュの性
能を向上できる。
ログラムのループあるいはサブルーチンコールで発生す
る容量性競合を防止でき、従って、命令キャッシュの性
能を向上できる。
【図1】本発明に係るマイクロプロセッサシステムの実
施の形態を示すブロック回路図である。
施の形態を示すブロック回路図である。
【図2】図1のマイクロプロセッサシステムの動作を説
明するための命令キャッシュの内容を示す図である。
明するための命令キャッシュの内容を示す図である。
【図3】従来のマイクロプロセッサシステムを示すブロ
ック回路図である。
ック回路図である。
【図4】ループを有するプログラムの一例を示すフロー
トチャートである。
トチャートである。
【図5】図3のマイクロプロセッサシステムの動作を説
明するための命令キャッシュの内容を示す図である。
明するための命令キャッシュの内容を示す図である。
1…CPU 2…命令キャッシュ 3…アドレスバス 4…データバス 5…カウンタ S1…キャッシュアクセス通知信号 S2…分岐発生通知信号 S3…キャッシュ機能停止信号
Claims (2)
- 【請求項1】 CPU(1)と、 該CPU(1)とバス(3、4)によって接続された命
令キャッシュ(2)と、 該命令キャッシュと前記CPUとの間に該命令キャッシ
ュのリフィル可能なエントリ数を記憶する計数手段
(5)とを具備し、 前記CPUは前記命令キャッシュをアクセス毎にキャッ
シュアクセス通知信号(S1)を前記計数手段に送出し
て該計数手段の値をディクリメントさせ、前記CPUは
サブルーチンコールまたはマイナス方向への分岐が成立
したときに分岐発生通知信号(S2)を前記計数手段に
送出して該計数手段を初期化し,該計数手段の値が0の
ときに該計数手段はキャッシュ機能停止信号(S3)を
前記命令キャッシュに送出して該命令キャッシュの機能
を停止させるようにしたマイクロプロセッサシステム。 - 【請求項2】 CPU(1)と、 該CPU(1)とバス(3、4)によって接続された命
令キャッシュ(2)と、 該命令キャッシュと前記CPUとの間に該命令キャッシ
ュのフィルしたエントリ数を記憶する計数手段(5)と
を具備し、 前記CPUは前記命令キャッシュをアクセス毎にキャッ
シュアクセス通知信号(S1)を前記計数手段に送出し
て該計数手段の値をインクリメントさせ、前記CPUは
サブルーチンコールまたはマイナス方向への分岐が成立
したときに分岐発生通知信号(S2)を前記計数手段に
送出して該計数手段をクリアし,該計数手段の値が所定
値のときに該計数手段はキャッシュ機能停止信号(S
3)を前記命令キャッシュに送出して該命令キャッシュ
の機能を停止させるようにしたマイクロプロセッサシス
テム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8148357A JPH09305490A (ja) | 1996-05-17 | 1996-05-17 | マイクロプロセッサシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8148357A JPH09305490A (ja) | 1996-05-17 | 1996-05-17 | マイクロプロセッサシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09305490A true JPH09305490A (ja) | 1997-11-28 |
Family
ID=15450955
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8148357A Pending JPH09305490A (ja) | 1996-05-17 | 1996-05-17 | マイクロプロセッサシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09305490A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7793085B2 (en) | 2004-09-06 | 2010-09-07 | Fujitsu Semiconductor Limited | Memory control circuit and microprocessory system for pre-fetching instructions |
| EP2590082A1 (en) | 2011-11-02 | 2013-05-08 | Renesas Electronics Corporation | Cache memory apparatus, cache control method, and microprocessor system |
-
1996
- 1996-05-17 JP JP8148357A patent/JPH09305490A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7793085B2 (en) | 2004-09-06 | 2010-09-07 | Fujitsu Semiconductor Limited | Memory control circuit and microprocessory system for pre-fetching instructions |
| EP2590082A1 (en) | 2011-11-02 | 2013-05-08 | Renesas Electronics Corporation | Cache memory apparatus, cache control method, and microprocessor system |
| US9317438B2 (en) | 2011-11-02 | 2016-04-19 | Renesas Electronics Corporation | Cache memory apparatus, cache control method, and microprocessor system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7007132B2 (en) | Methods and apparatus for utilizing flash burst mode to improve processor performance | |
| US20020138702A1 (en) | Using non-executable memory as executable memory | |
| US6785770B2 (en) | Data processing apparatus with a cache memory and method of using such an apparatus | |
| US7185148B2 (en) | Read access and storage circuitry read allocation applicable to a cache | |
| US6000017A (en) | Hybrid tag architecture for a cache memory | |
| JP2001075866A (ja) | 記憶装置を動作する方法および記憶装置 | |
| US5781922A (en) | Page boundary caches | |
| US6393521B1 (en) | Information processing apparatus | |
| KR100532417B1 (ko) | 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법 | |
| JPH09305490A (ja) | マイクロプロセッサシステム | |
| EP1103898A2 (en) | Microprocessor and memory | |
| JP2003131945A (ja) | キャッシュメモリ装置 | |
| US6279082B1 (en) | System and method for efficient use of cache to improve access to memory of page type | |
| JP2597409B2 (ja) | マイクロコンピュータ | |
| JP2976909B2 (ja) | キャッシュ・データの掃き出し制御方法 | |
| JPH05257807A (ja) | キャッシュメモリ制御装置 | |
| JPH1185613A (ja) | キャッシュメモリ | |
| CN119576629A (zh) | 缺页异常的处理方法、装置及电子设备 | |
| JPH1055308A (ja) | キャッシュメモリ | |
| JP2002319292A (ja) | メモリ装置及びメモリ装置の読出方法 | |
| JPS6014435B2 (ja) | 記憶装置 | |
| JP3047992B2 (ja) | 主記憶キー制御方法 | |
| JP2002049607A (ja) | キャッシュ内蔵マイクロコンピュータ | |
| JP2002024088A (ja) | データ処理装置 | |
| JPH0334014A (ja) | 画面フォーマットデータの管理参照方法 |