JPH11184752A - データ処理装置及びデータ処理システム - Google Patents
データ処理装置及びデータ処理システムInfo
- Publication number
- JPH11184752A JPH11184752A JP9350330A JP35033097A JPH11184752A JP H11184752 A JPH11184752 A JP H11184752A JP 9350330 A JP9350330 A JP 9350330A JP 35033097 A JP35033097 A JP 35033097A JP H11184752 A JPH11184752 A JP H11184752A
- Authority
- JP
- Japan
- Prior art keywords
- access
- cache
- unit
- address
- memory
- 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.)
- Withdrawn
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 アドレスアレイとデータアレイを並列動作さ
せる形式のキャッシュメモリと同等のデータ読み出し速
度を維持しつつ、低消費電力を実現する。 【解決手段】 CPU(101)は前回のアクセスアド
レスに対して今回のアクセスが連続的アクセスアドレス
であるかを示す第1信号(104)を出力する。キャッ
シュメモリ(4)は、CPUによる次回アクセスで第1
信号が連続的アクセスアドレスである事を示すならば次
回アクセスにおけるインデックス動作で選択されるキャ
ッシュラインが今回アクセスと同一になるべき場合に第
1状態に、そうでない場合には第2状態にされるフラグ
手段(313)を有し、CPUによるアクセス時に第1
信号が連続的アクセスアドレスであることを示し且つフ
ラグ手段が第1状態であるときはアドレスアレイ(10
9)のメモリ動作を抑止しデータアレイ(110)だけ
を動作させる。
せる形式のキャッシュメモリと同等のデータ読み出し速
度を維持しつつ、低消費電力を実現する。 【解決手段】 CPU(101)は前回のアクセスアド
レスに対して今回のアクセスが連続的アクセスアドレス
であるかを示す第1信号(104)を出力する。キャッ
シュメモリ(4)は、CPUによる次回アクセスで第1
信号が連続的アクセスアドレスである事を示すならば次
回アクセスにおけるインデックス動作で選択されるキャ
ッシュラインが今回アクセスと同一になるべき場合に第
1状態に、そうでない場合には第2状態にされるフラグ
手段(313)を有し、CPUによるアクセス時に第1
信号が連続的アクセスアドレスであることを示し且つフ
ラグ手段が第1状態であるときはアドレスアレイ(10
9)のメモリ動作を抑止しデータアレイ(110)だけ
を動作させる。
Description
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
を有するデータ処理装置に係り、特にキャッシュメモリ
の電力消費低減と読み出しデータの早期確定を実現する
技術に関し、例えば命令用のキャッシュメモリを有する
マイクロプロセッサに適用して有効な技術に関するもの
である。また、本発明は、キャッシュメモリに限定され
ず、先行動作型のシステムメモリを有するデータ処理装
置にも適用可能な技術に関するものである。
を有するデータ処理装置に係り、特にキャッシュメモリ
の電力消費低減と読み出しデータの早期確定を実現する
技術に関し、例えば命令用のキャッシュメモリを有する
マイクロプロセッサに適用して有効な技術に関するもの
である。また、本発明は、キャッシュメモリに限定され
ず、先行動作型のシステムメモリを有するデータ処理装
置にも適用可能な技術に関するものである。
【0002】
【従来の技術】キャッシュメモリは主記憶手段などが保
有する情報のうち最近使用された情報を一時的に保有
し、連想動作によって記憶情報の読み出し又は情報書き
込みを高速に行う。セットアソシアティブ形式のキャッ
シュメモリは複数のウェイを有し、各ウェイはタグ格納
領域などを有するアドレス部と、キャッシュラインを有
するデータ部を備える。一つのタグ格納領域は各ウェイ
毎に一つのキャッシュラインに対応され、キャッシュメ
モリの連想動作では、アドレス信号の一部を用いたイン
デックス動作により、ウェイ毎のタグ格納領域とキャッ
シュラインが選択され、選択されたタグがアクセスアド
レス信号の所定の一部に一致するか否か(アドレス比
較)などによってキャッシュヒット/ミスの判定が行わ
れる。キャッシュヒットの場合には対応するキャッシュ
ラインの情報が出力され、あるいは当該キャッシュライ
ンに情報書き込みが行われる。
有する情報のうち最近使用された情報を一時的に保有
し、連想動作によって記憶情報の読み出し又は情報書き
込みを高速に行う。セットアソシアティブ形式のキャッ
シュメモリは複数のウェイを有し、各ウェイはタグ格納
領域などを有するアドレス部と、キャッシュラインを有
するデータ部を備える。一つのタグ格納領域は各ウェイ
毎に一つのキャッシュラインに対応され、キャッシュメ
モリの連想動作では、アドレス信号の一部を用いたイン
デックス動作により、ウェイ毎のタグ格納領域とキャッ
シュラインが選択され、選択されたタグがアクセスアド
レス信号の所定の一部に一致するか否か(アドレス比
較)などによってキャッシュヒット/ミスの判定が行わ
れる。キャッシュヒットの場合には対応するキャッシュ
ラインの情報が出力され、あるいは当該キャッシュライ
ンに情報書き込みが行われる。
【0003】上記キャッシュメモリにおいて、キャッシ
ュヒットするウェイの予測を行う機構を持たない場合に
は、全てのウェイのアドレス部をインデックス動作させ
てタグとアクセスアドレス信号との対応を調べなければ
ならない。キャッシュヒットは一つのウェイでしか起こ
らないから、残りのウェイの動作は結果として無意味に
なり、その部分での電力消費も結果として無駄になる。
ュヒットするウェイの予測を行う機構を持たない場合に
は、全てのウェイのアドレス部をインデックス動作させ
てタグとアクセスアドレス信号との対応を調べなければ
ならない。キャッシュヒットは一つのウェイでしか起こ
らないから、残りのウェイの動作は結果として無意味に
なり、その部分での電力消費も結果として無駄になる。
【0004】データアレイの動作に関しては、キャッシ
ュヒット/ミスの判定が確定してからヒットしたウェイ
のデータアレイだけを動作させる場合と、それが確定す
る前に全てのウェイのデータアレイの動作を開始する場
合とがある。
ュヒット/ミスの判定が確定してからヒットしたウェイ
のデータアレイだけを動作させる場合と、それが確定す
る前に全てのウェイのデータアレイの動作を開始する場
合とがある。
【0005】前者の場合、キャッシュミスしたアドレス
アレイの動作が無駄となるが、データアレイに関しては
必要なウェイだけを動作させるので消費電力の無駄は少
ない。しかし、その場合にはキャッシュヒットに係るデ
ータアクセスが遅くなり、CPUなどによるメモリアク
セスを高速化できない。
アレイの動作が無駄となるが、データアレイに関しては
必要なウェイだけを動作させるので消費電力の無駄は少
ない。しかし、その場合にはキャッシュヒットに係るデ
ータアクセスが遅くなり、CPUなどによるメモリアク
セスを高速化できない。
【0006】後者の場合は、アドレスアレイの動作時間
を待つことなく、データアレイを動作開始するため、メ
モリアクセス速度を高速化することができる。しかし、
キャッシュミスしたウェイの電力消費が実質的に無駄に
なる。すなわち、データアレイとアドレスアレイを並行
してインデックスすることにより、アドレスアレイに並
行してデータアレイを動作させる。データアレイの各ウ
ェイから読み出されたデータはそれぞれデータラッチに
保持される。データラッチの出力は、各アドレスアレイ
毎の前記アドレス比較に基づいてセレクタで行われ、セ
レクタはアドレス比較が一致したウェイのデータラッチ
を選択する。アドレスアレイとデータアレイとを並行し
て動作させるので、データ読み出しのタイムラグを低減
できるが、キャッシュミスしたアドレスアレイ及びデー
タアレイの動作は無駄になり、その分、電力消費が増大
する。
を待つことなく、データアレイを動作開始するため、メ
モリアクセス速度を高速化することができる。しかし、
キャッシュミスしたウェイの電力消費が実質的に無駄に
なる。すなわち、データアレイとアドレスアレイを並行
してインデックスすることにより、アドレスアレイに並
行してデータアレイを動作させる。データアレイの各ウ
ェイから読み出されたデータはそれぞれデータラッチに
保持される。データラッチの出力は、各アドレスアレイ
毎の前記アドレス比較に基づいてセレクタで行われ、セ
レクタはアドレス比較が一致したウェイのデータラッチ
を選択する。アドレスアレイとデータアレイとを並行し
て動作させるので、データ読み出しのタイムラグを低減
できるが、キャッシュミスしたアドレスアレイ及びデー
タアレイの動作は無駄になり、その分、電力消費が増大
する。
【0007】セットアソシアティブ形式のキャッシュメ
モリにおける低消費電力とデータ読み出し時のタイムラ
グの低減とを企図した技術として、例えば特開平7−3
34423号公報がある。これに記載された技術は、セ
ットアソシアティブ形式のキャッシュメモリにおいて、
ウェイがヒットしたかを示すウェイ判定信号の予測値を
判定するウェイ予測部と、ウェイ予測部からの予測値に
基づき予測されたウェイのデータ格納部だけを活性化す
る手段と、ウェイ判定信号を出力するウェイ判定器から
のウェイ判定信号と前記予測値とを比較ウェイ予測判定
部と、ウェイ予測判定部による判定結果が不一致の場合
にはウェイ予測部の予測値をヒットしたウェイを示すウ
ェイ判定信号に変更する手段とを設けたものである。こ
れによれば、予測ヒットされたウェイだけを動作させる
ので、キャッシュメモリの低消費電力と、データ読み出
しのタイムラグを低減できる、とある。
モリにおける低消費電力とデータ読み出し時のタイムラ
グの低減とを企図した技術として、例えば特開平7−3
34423号公報がある。これに記載された技術は、セ
ットアソシアティブ形式のキャッシュメモリにおいて、
ウェイがヒットしたかを示すウェイ判定信号の予測値を
判定するウェイ予測部と、ウェイ予測部からの予測値に
基づき予測されたウェイのデータ格納部だけを活性化す
る手段と、ウェイ判定信号を出力するウェイ判定器から
のウェイ判定信号と前記予測値とを比較ウェイ予測判定
部と、ウェイ予測判定部による判定結果が不一致の場合
にはウェイ予測部の予測値をヒットしたウェイを示すウ
ェイ判定信号に変更する手段とを設けたものである。こ
れによれば、予測ヒットされたウェイだけを動作させる
ので、キャッシュメモリの低消費電力と、データ読み出
しのタイムラグを低減できる、とある。
【0008】
【発明が解決しようとする課題】上記技術において、ウ
ェイ判定器はキャッシュタグがアクセスアドレスの一部
に一致するかを判定し、判定結果はウェイ毎のウェイ判
定信号とされる。ウェイ予測部はウェイ判定信号をラッ
チに保持する。ラッチに保持された値はウェイ判定信号
と比較され、一致の場合には、予測されたウェイのデー
タアレイに対してキャッシュラインの選択動作をさせ
る。これにより、アドレスアレイの動作に並行してデー
タアレイを動作させる場合と同様に、高速アクセスを実
現できる。このとき、少なくとも、予測されたウェイの
アドレスアレイは動作されなければならない。全てのア
ドレスアレイの動作を停止すれば、予測されたウェイの
妥当性を判断することができなくなる。この点におい
て、さらなる低消費電力の余地のあることが本発明者に
よって明らかにされた。
ェイ判定器はキャッシュタグがアクセスアドレスの一部
に一致するかを判定し、判定結果はウェイ毎のウェイ判
定信号とされる。ウェイ予測部はウェイ判定信号をラッ
チに保持する。ラッチに保持された値はウェイ判定信号
と比較され、一致の場合には、予測されたウェイのデー
タアレイに対してキャッシュラインの選択動作をさせ
る。これにより、アドレスアレイの動作に並行してデー
タアレイを動作させる場合と同様に、高速アクセスを実
現できる。このとき、少なくとも、予測されたウェイの
アドレスアレイは動作されなければならない。全てのア
ドレスアレイの動作を停止すれば、予測されたウェイの
妥当性を判断することができなくなる。この点におい
て、さらなる低消費電力の余地のあることが本発明者に
よって明らかにされた。
【0009】また、前記ラッチの値がウェイ判定信号と
不一致である場合、ウェイ予測部の予測値に従って正規
のウェイを動作させなければならない。したがって、予
測されたウェイのデータアレイに対して先行された動作
は無意味となり、正規のデータアレイに対するインデッ
クス動作を再度行わなければならない。したがって、ア
ドレスアレイの動作に並行してデータアレイを動作させ
る場合に比べて、高速アクセスが阻まれる場合のあるこ
とが本発明者によって見いだされた。
不一致である場合、ウェイ予測部の予測値に従って正規
のウェイを動作させなければならない。したがって、予
測されたウェイのデータアレイに対して先行された動作
は無意味となり、正規のデータアレイに対するインデッ
クス動作を再度行わなければならない。したがって、ア
ドレスアレイの動作に並行してデータアレイを動作させ
る場合に比べて、高速アクセスが阻まれる場合のあるこ
とが本発明者によって見いだされた。
【0010】本発明の目的は、キャッシュメモリの低消
費電力とデータ高速読み出しとの双方を実現できるデー
タ処理装置を提供することにある。
費電力とデータ高速読み出しとの双方を実現できるデー
タ処理装置を提供することにある。
【0011】本発明の別の目的は低消費電力とメモリの
高速アクセスとの双方を実現できるデータ処理装置を提
供することにある。
高速アクセスとの双方を実現できるデータ処理装置を提
供することにある。
【0012】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0013】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0014】(1)データ処理装置は、アドレス信号を
出力するアクセス制御手段と、前記アクセス制御手段に
接続されたキャッシュメモリ手段とを含む。前記アクセ
ス制御手段は、前回のアクセスアドレスに対して今回の
アクセスが連続的アクセスアドレスであるか否かを示す
第1信号を出力する。前記キャッシュメモリ手段は、複
数のタグ格納部を有する第1メモリ部と、前記個々のタ
グ格納部に対応する複数のキャッシュラインを有する第
2メモリ部と、アクセスアドレス信号の第1の部分(イ
ンデックスアドレス)によって選択されるタグ格納部の
タグ(キャッシュタグ)が前記アクセスアドレス信号の
第2の部分(タグアドレス)に一致するか否かのアドレ
ス比較を行う比較部と、前記比較部の比較結果を入力す
る制御部とを有する。前記制御部は、前記アクセス制御
手段による次回アクセスにおいて前記第1信号が前記連
続的アクセスアドレスである事を示すならば当該次回ア
クセスにおける前記比較部の判定結果が今回アクセスと
同一キャッシュラインで一致になるべき場合に第1状態
に、そうでない場合には第2状態にされるフラグ手段を
有し、前記アクセス制御手段によるアクセス時に前記第
1信号が連続的アクセスアドレスであることを示し且つ
前記フラグ手段が第1状態であるときは前記第1メモリ
部のメモリ動作を抑止し前記第2メモリ部のキャッシュ
ラインをアクセスアドレス信号の第1の部分で選択す
る。
出力するアクセス制御手段と、前記アクセス制御手段に
接続されたキャッシュメモリ手段とを含む。前記アクセ
ス制御手段は、前回のアクセスアドレスに対して今回の
アクセスが連続的アクセスアドレスであるか否かを示す
第1信号を出力する。前記キャッシュメモリ手段は、複
数のタグ格納部を有する第1メモリ部と、前記個々のタ
グ格納部に対応する複数のキャッシュラインを有する第
2メモリ部と、アクセスアドレス信号の第1の部分(イ
ンデックスアドレス)によって選択されるタグ格納部の
タグ(キャッシュタグ)が前記アクセスアドレス信号の
第2の部分(タグアドレス)に一致するか否かのアドレ
ス比較を行う比較部と、前記比較部の比較結果を入力す
る制御部とを有する。前記制御部は、前記アクセス制御
手段による次回アクセスにおいて前記第1信号が前記連
続的アクセスアドレスである事を示すならば当該次回ア
クセスにおける前記比較部の判定結果が今回アクセスと
同一キャッシュラインで一致になるべき場合に第1状態
に、そうでない場合には第2状態にされるフラグ手段を
有し、前記アクセス制御手段によるアクセス時に前記第
1信号が連続的アクセスアドレスであることを示し且つ
前記フラグ手段が第1状態であるときは前記第1メモリ
部のメモリ動作を抑止し前記第2メモリ部のキャッシュ
ラインをアクセスアドレス信号の第1の部分で選択す
る。
【0015】一つのキャッシュラインには同一タグのデ
ータ(タグを共通とするデータ)がアドレス順に格納さ
れることになる。例えば1キャッシュラインのデータサ
イズが16バイトであるなら、1キャッシュラインのデ
ータから1バイトのデータを選択するときは、バイトア
ドレスとしてのアクセスアドレス信号の下位側4ビット
を用いればよい。アクセスアドレス信号の上位側が同一
で当該下位側4ビットが連続的に変化されるような連続
的アクセスアドレスに対しては、同一キャッシュライン
が選択される。前記第1信号は今回のアクセスアドレス
信号が前回のアクセスアドレス信号に対して連続的であ
るかを示す情報とされる。前記連続的なアクセスアドレ
ス信号によるメモリアクセスのとき、キャッシュヒット
になるキャッシュラインが同一であることが明らかであ
れば第1メモリ部(アドレスアレイ)を用いた前記アド
レス比較動作は不要になり、アドレスアレイの動作は必
要なくなる。前記フラグ手段は、キャッシュヒットにな
るキャッシュラインが次回の連続的アクセスアドレスに
よるアクセスでも同一であることを、その第1状態によ
って保証する。第1信号が連続的アクセスアドレス状態
であって、前記フラグ手段が第1状態のときは、前回ア
クセスと同一キャッシュラインでキャッシュヒットにな
る。したがって、その場合にはアドレスアレイの動作を
抑止しても、第2メモリ部(データアレイ)で選択(イ
ンデックス)されるキャッシュラインはアクセスアドレ
ス信号に対して正規のキャッシュエントリを含むキャッ
シュラインとなる。制御部はその状態を検出したときア
ドレスアレイの動作を抑止することにより、低消費電力
を実現する。さらに、上述より明らかなように、前回ア
クセスのインデックスアドレス(アクセスアドレス信号
の第1の部分)を単に覚え、これを今回のインデックス
アドレスと比較するような、単純な予想に基づく制御で
はないので、判定結果に誤りは生ぜず、再度アドレス判
定からやり直す事態を一切生ぜず、データ読み出し動作
の遅れを完全に防止できる。アドレスアレイとデータア
レイを並列動作させる形式と同等のデータ読み出し速度
を維持しつつ、低消費電力を実現できる。
ータ(タグを共通とするデータ)がアドレス順に格納さ
れることになる。例えば1キャッシュラインのデータサ
イズが16バイトであるなら、1キャッシュラインのデ
ータから1バイトのデータを選択するときは、バイトア
ドレスとしてのアクセスアドレス信号の下位側4ビット
を用いればよい。アクセスアドレス信号の上位側が同一
で当該下位側4ビットが連続的に変化されるような連続
的アクセスアドレスに対しては、同一キャッシュライン
が選択される。前記第1信号は今回のアクセスアドレス
信号が前回のアクセスアドレス信号に対して連続的であ
るかを示す情報とされる。前記連続的なアクセスアドレ
ス信号によるメモリアクセスのとき、キャッシュヒット
になるキャッシュラインが同一であることが明らかであ
れば第1メモリ部(アドレスアレイ)を用いた前記アド
レス比較動作は不要になり、アドレスアレイの動作は必
要なくなる。前記フラグ手段は、キャッシュヒットにな
るキャッシュラインが次回の連続的アクセスアドレスに
よるアクセスでも同一であることを、その第1状態によ
って保証する。第1信号が連続的アクセスアドレス状態
であって、前記フラグ手段が第1状態のときは、前回ア
クセスと同一キャッシュラインでキャッシュヒットにな
る。したがって、その場合にはアドレスアレイの動作を
抑止しても、第2メモリ部(データアレイ)で選択(イ
ンデックス)されるキャッシュラインはアクセスアドレ
ス信号に対して正規のキャッシュエントリを含むキャッ
シュラインとなる。制御部はその状態を検出したときア
ドレスアレイの動作を抑止することにより、低消費電力
を実現する。さらに、上述より明らかなように、前回ア
クセスのインデックスアドレス(アクセスアドレス信号
の第1の部分)を単に覚え、これを今回のインデックス
アドレスと比較するような、単純な予想に基づく制御で
はないので、判定結果に誤りは生ぜず、再度アドレス判
定からやり直す事態を一切生ぜず、データ読み出し動作
の遅れを完全に防止できる。アドレスアレイとデータア
レイを並列動作させる形式と同等のデータ読み出し速度
を維持しつつ、低消費電力を実現できる。
【0016】(2)上記(1)において前記制御部は、
フラグ手段と、前記アクセス制御手段による次回アクセ
スにおいて前記第1信号が前記連続的アクセスアドレス
である事を示すならば次回アクセスにおける前記比較部
の判定結果が今回アクセスと同一キャッシュラインで一
致になるかを判定し、一致になるべきときは前記フラグ
手段を第1状態に、そうでない場合には前記フラグ手段
を第2状態にするフラグ制御手段と、前記アクセス制御
手段によるアクセス時に前記第1信号が連続的アクセス
アドレスであることを示し且つ前記フラグ手段が第1状
態であるときは前記第1メモリ部のメモリ動作を抑止し
前記第2メモリ部のキャッシュラインをアクセスアドレ
ス信号の第1の部分で選択させ、そうでない場合には前
記第1メモリ部及び第2メモリ部の動作を許容し第1メ
モリ部のタグ格納部と第2メモリ部のキャッシュライン
とをアクセスアドレス信号の第1の部分で選択させるメ
モリ動作制御部とによって構成することができる。
フラグ手段と、前記アクセス制御手段による次回アクセ
スにおいて前記第1信号が前記連続的アクセスアドレス
である事を示すならば次回アクセスにおける前記比較部
の判定結果が今回アクセスと同一キャッシュラインで一
致になるかを判定し、一致になるべきときは前記フラグ
手段を第1状態に、そうでない場合には前記フラグ手段
を第2状態にするフラグ制御手段と、前記アクセス制御
手段によるアクセス時に前記第1信号が連続的アクセス
アドレスであることを示し且つ前記フラグ手段が第1状
態であるときは前記第1メモリ部のメモリ動作を抑止し
前記第2メモリ部のキャッシュラインをアクセスアドレ
ス信号の第1の部分で選択させ、そうでない場合には前
記第1メモリ部及び第2メモリ部の動作を許容し第1メ
モリ部のタグ格納部と第2メモリ部のキャッシュライン
とをアクセスアドレス信号の第1の部分で選択させるメ
モリ動作制御部とによって構成することができる。
【0017】(3)前記フラグ制御手段は次のように構
成することができる。すなわち、前記フラグ制御手段
は、前記アクセス制御手段が出力するアクセスアドレス
信号のうちキャッシュラインのアクセス単位領域の選択
に割り当てられるオフセットアドレス情報のような第3
の部分と、前記比較部の比較結果とを入力し、比較結果
がキャッシュヒット状態で且つ前記アクセスアドレス信
号の第3の部分がキャッシュラインの最終アクセス単位
領域以外の領域を示すとき前記フラグ手段を第1状態と
し、前記比較結果がキャッシュミス状態又は前記アクセ
スアドレス信号の第3の部分が前記キャッシュラインの
最終アクセス単位領域を示すとき前記フラグ手段を第2
状態とする。これにより、次回アクセスにおいて、フラ
グ手段が第1状態にされていれば、前記第1信号が連続
的アクセスアドレスであることを示すことを条件に、当
該次回アクセスで選択されるキャッシュラインは前回ア
クセスで選択されたキャッシュラインと同一であること
が、理解されるであろう。
成することができる。すなわち、前記フラグ制御手段
は、前記アクセス制御手段が出力するアクセスアドレス
信号のうちキャッシュラインのアクセス単位領域の選択
に割り当てられるオフセットアドレス情報のような第3
の部分と、前記比較部の比較結果とを入力し、比較結果
がキャッシュヒット状態で且つ前記アクセスアドレス信
号の第3の部分がキャッシュラインの最終アクセス単位
領域以外の領域を示すとき前記フラグ手段を第1状態と
し、前記比較結果がキャッシュミス状態又は前記アクセ
スアドレス信号の第3の部分が前記キャッシュラインの
最終アクセス単位領域を示すとき前記フラグ手段を第2
状態とする。これにより、次回アクセスにおいて、フラ
グ手段が第1状態にされていれば、前記第1信号が連続
的アクセスアドレスであることを示すことを条件に、当
該次回アクセスで選択されるキャッシュラインは前回ア
クセスで選択されたキャッシュラインと同一であること
が、理解されるであろう。
【0018】(4)前記フラグ手段の状態制御にはキャ
ッシュフィルを考慮することができる。すなわち、フラ
グ手段の状態制御にキャッシュフィルを考慮しない場
合、キャッシュミスに起因してキャッシュフィルが行わ
れてもフラグ手段は第1の状態にはされない。よって、
キャッシュフィルの次に、当該キャッシュフィルに係る
キャッシュラインが再度選択される場合であっても、フ
ラグ手段は第2状態であるから、全てのアドレスアレイ
を動作させてアドレス判定動作が行われるため、前記低
消費電力状態を実現できない。そこで、キャッシュフィ
ルの次に、当該キャッシュフィルに係るキャッシュライ
ンが再度選択される場合にも、アドレスアレイの動作を
抑止できるように、前記フラグ制御手段は、更に、前記
比較結果がキャッシュミス状態であることに呼応してキ
ャッシュフィル動作が行われ且つキャッシュミス状態に
係るアクセスアドレス信号の第3の部分がキャッシュラ
インの最終アクセス単位領域以外の領域を示すとき前記
フラグ手段を第1状態にすることができる。この具体例
は図10及び図11に示される。
ッシュフィルを考慮することができる。すなわち、フラ
グ手段の状態制御にキャッシュフィルを考慮しない場
合、キャッシュミスに起因してキャッシュフィルが行わ
れてもフラグ手段は第1の状態にはされない。よって、
キャッシュフィルの次に、当該キャッシュフィルに係る
キャッシュラインが再度選択される場合であっても、フ
ラグ手段は第2状態であるから、全てのアドレスアレイ
を動作させてアドレス判定動作が行われるため、前記低
消費電力状態を実現できない。そこで、キャッシュフィ
ルの次に、当該キャッシュフィルに係るキャッシュライ
ンが再度選択される場合にも、アドレスアレイの動作を
抑止できるように、前記フラグ制御手段は、更に、前記
比較結果がキャッシュミス状態であることに呼応してキ
ャッシュフィル動作が行われ且つキャッシュミス状態に
係るアクセスアドレス信号の第3の部分がキャッシュラ
インの最終アクセス単位領域以外の領域を示すとき前記
フラグ手段を第1状態にすることができる。この具体例
は図10及び図11に示される。
【0019】(5)キャッシュメモリ手段はセットアソ
シアティブであってもダイレクトマップであってもよ
い。セットアソシアティブ形式とする場合、前記キャッ
シュメモリ手段は、第1メモリ部及び第2メモリ部が複
数のウェイに分割され、前記比較部がウェイ毎に前記一
致判定を行ない、ウェイ毎の前記一致判定結果に基づい
て前記第2メモリ部の読み出しデータをウェイ単位で選
択するヒットウェイセレクタが設けられる。この場合、
フラグ手段が第1状態にされ、前記第1信号が連続的ア
クセスアドレスを示すとき、アドレスアレイの動作及び
アドレス比較動作に負うことなく、ヒットすべきウェイ
の指定ができるように、上記(3)において、前記メモ
リ動作制御手段は、キャッシュヒット状態に同期して前
記比較部によるウェイ毎の判定結果がロードされるレジ
スタ手段と、前記フラグ手段が第1状態とされ且つ前記
第1信号が連続的アクセスアドレスであることを示すと
き前記レジスタ手段の出力を前記ヒットウェイセレクタ
に供給し、前記フラグ手段が第2状態にされ又は前記第
1信号が連続的アクセスアドレスでないことを示すとき
に前記比較部の出力を前記ヒットウェイセレクタに供給
するウェイ選択情報セレクタと、を更に含めばよい。
シアティブであってもダイレクトマップであってもよ
い。セットアソシアティブ形式とする場合、前記キャッ
シュメモリ手段は、第1メモリ部及び第2メモリ部が複
数のウェイに分割され、前記比較部がウェイ毎に前記一
致判定を行ない、ウェイ毎の前記一致判定結果に基づい
て前記第2メモリ部の読み出しデータをウェイ単位で選
択するヒットウェイセレクタが設けられる。この場合、
フラグ手段が第1状態にされ、前記第1信号が連続的ア
クセスアドレスを示すとき、アドレスアレイの動作及び
アドレス比較動作に負うことなく、ヒットすべきウェイ
の指定ができるように、上記(3)において、前記メモ
リ動作制御手段は、キャッシュヒット状態に同期して前
記比較部によるウェイ毎の判定結果がロードされるレジ
スタ手段と、前記フラグ手段が第1状態とされ且つ前記
第1信号が連続的アクセスアドレスであることを示すと
き前記レジスタ手段の出力を前記ヒットウェイセレクタ
に供給し、前記フラグ手段が第2状態にされ又は前記第
1信号が連続的アクセスアドレスでないことを示すとき
に前記比較部の出力を前記ヒットウェイセレクタに供給
するウェイ選択情報セレクタと、を更に含めばよい。
【0020】(6)キャッシュフィルも考慮してフラグ
手段を制御する前記(4)においても前記(5)と同様
に、アドレスアレイの動作及びアドレス比較動作に負う
ことなく、ヒットすべきウェイの指定ができるようにす
るには、レジスタ手段が第1状態にされるべきキャッシ
ュフィル動作時の選択ウェイも記憶すればよい。すなわ
ち、前記メモリ動作制御手段は、キャッシュヒット状態
に呼応して前記比較部によるウェイ毎の判定結果がロー
ドされると共にキャッシュミス状態に呼応してキャッシ
ュフィル動作の対象とされたウェイの指定情報がロード
されるレジスタ手段と、前記フラグ手段の第1状態に基
づいて前記レジスタ手段の出力を前記ヒットウェイセレ
クタに供給し、前記フラグ手段の第2状態に基づいて前
記比較部の出力を前記ヒットウェイセレクタに供給する
ウェイ選択情報セレクタと、を更に含めばよい。
手段を制御する前記(4)においても前記(5)と同様
に、アドレスアレイの動作及びアドレス比較動作に負う
ことなく、ヒットすべきウェイの指定ができるようにす
るには、レジスタ手段が第1状態にされるべきキャッシ
ュフィル動作時の選択ウェイも記憶すればよい。すなわ
ち、前記メモリ動作制御手段は、キャッシュヒット状態
に呼応して前記比較部によるウェイ毎の判定結果がロー
ドされると共にキャッシュミス状態に呼応してキャッシ
ュフィル動作の対象とされたウェイの指定情報がロード
されるレジスタ手段と、前記フラグ手段の第1状態に基
づいて前記レジスタ手段の出力を前記ヒットウェイセレ
クタに供給し、前記フラグ手段の第2状態に基づいて前
記比較部の出力を前記ヒットウェイセレクタに供給する
ウェイ選択情報セレクタと、を更に含めばよい。
【0021】(7)キャッシュメモリ手段は、命令キャ
ッシュメモリとすることができる。すなわち、前記第2
メモリ部は前記アクセス制御手段がフェッチする命令の
格納用とされる。
ッシュメモリとすることができる。すなわち、前記第2
メモリ部は前記アクセス制御手段がフェッチする命令の
格納用とされる。
【0022】(8)キャッシュメモリ手段が命令キャッ
シュメモリとして利用される場合、前記第1信号は、ノ
ンオペレーション(NOP)、命令フェッチに関する通
常命令フェッチ(NIF)、及び命令フェッチに関する
強制命令フェッチ(FIF)をそれぞれ固有のコードに
よって示す情報を含む信号であればよい。このとき、前
記通常命令フェッチに割り当てられたコードは前回のア
クセスアドレスに対して今回のアクセスが連続的アクセ
スアドレスであることを意味し、強制命令フェッチに割
り当てられたコードは前回のアクセスアドレスに対して
今回のアクセスが非連続的アクセスアドレスであること
を意味する。
シュメモリとして利用される場合、前記第1信号は、ノ
ンオペレーション(NOP)、命令フェッチに関する通
常命令フェッチ(NIF)、及び命令フェッチに関する
強制命令フェッチ(FIF)をそれぞれ固有のコードに
よって示す情報を含む信号であればよい。このとき、前
記通常命令フェッチに割り当てられたコードは前回のア
クセスアドレスに対して今回のアクセスが連続的アクセ
スアドレスであることを意味し、強制命令フェッチに割
り当てられたコードは前回のアクセスアドレスに対して
今回のアクセスが非連続的アクセスアドレスであること
を意味する。
【0023】(9)キャッシュメモリ手段はユニファイ
ドキャッシュメモリとして利用することも可能である。
すなわち、上記(2)において、前記第2メモリ部は前
記アクセス制御手段がフェッチする命令と前記アクセス
制御手段がアクセスするデータとの格納用とされる。前
記第1信号は前回の命令アクセスアドレスに対して今回
の命令アクセスが連続的アクセスアドレスであるか否か
を示す信号とされる。このとき、データアクセスのキャ
ッシュミスによってキャッシュフィルが行われると、命
令のキャッシュエントリがキャッシュラインから追い出
されることがある。追い出されたキャッシュラインが現
在命令フェッチに用いられていた命令を一部に含む場
合、そのままでは誤動作の虞がある。これに対処するた
めに、キャッシュミス時には無条件にフラグ手段を第2
状態にすればよい。すなわち、前記フラグ制御手段は、
前記アクセス制御手段が出力するアクセスアドレス信号
のうちキャッシュラインのアクセス単位領域の選択に割
り当てられる第3の部分と前記比較部の比較結果とを入
力し、命令アクセスにおいて前記比較部による比較結果
がキャッシュヒット状態で且つ前記アクセスアドレス信
号の第3の部分が前記キャッシュラインの最終アクセス
単位領域以外の領域を示すときフラグ手段を第1状態と
し、前記比較結果がキャッシュミス状態又は前記アクセ
スアドレス信号の第3の部分が前記キャッシュラインの
最終アクセス単位領域を示すとき前記フラグ手段を第2
状態とすればよい。
ドキャッシュメモリとして利用することも可能である。
すなわち、上記(2)において、前記第2メモリ部は前
記アクセス制御手段がフェッチする命令と前記アクセス
制御手段がアクセスするデータとの格納用とされる。前
記第1信号は前回の命令アクセスアドレスに対して今回
の命令アクセスが連続的アクセスアドレスであるか否か
を示す信号とされる。このとき、データアクセスのキャ
ッシュミスによってキャッシュフィルが行われると、命
令のキャッシュエントリがキャッシュラインから追い出
されることがある。追い出されたキャッシュラインが現
在命令フェッチに用いられていた命令を一部に含む場
合、そのままでは誤動作の虞がある。これに対処するた
めに、キャッシュミス時には無条件にフラグ手段を第2
状態にすればよい。すなわち、前記フラグ制御手段は、
前記アクセス制御手段が出力するアクセスアドレス信号
のうちキャッシュラインのアクセス単位領域の選択に割
り当てられる第3の部分と前記比較部の比較結果とを入
力し、命令アクセスにおいて前記比較部による比較結果
がキャッシュヒット状態で且つ前記アクセスアドレス信
号の第3の部分が前記キャッシュラインの最終アクセス
単位領域以外の領域を示すときフラグ手段を第1状態と
し、前記比較結果がキャッシュミス状態又は前記アクセ
スアドレス信号の第3の部分が前記キャッシュラインの
最終アクセス単位領域を示すとき前記フラグ手段を第2
状態とすればよい。
【0024】(10)セットアソシアティブ形式のキャ
ッシュメモリ手段を前記同様のユニファイドキャッシュ
メモリとする場合に、命令アクセス時のキャッシュフル
を考慮してフラグ手段を第1状態にすることができ、ま
た、データアクセス時におけるキャッシュフィルでは命
令のキャッシュエントリの追い出しを考慮することがで
きる。すなわち、上記(2)において、前記キャッシュ
メモリ手段は、第1メモリ部及び第2メモリ部が複数の
ウェイに分割され、前記比較部がウェイ毎に前記一致判
定を行ない、ウェイ毎の前記一致判定結果に基づいて前
記第2メモリ部の読み出しデータをウェイ単位で選択す
るヒットウェイセレクタが設けられた、セットアソシア
ティブ形式とされる。前記第2メモリ部は前記アクセス
制御手段がフェッチする命令と前記アクセス制御手段が
アクセスするデータとの格納用とされる。前記第1信号
は前回の命令アクセスアドレスに対して今回の命令アク
セスが連続的アクセスアドレスであるか否かを示す信号
とされる。前記メモリ動作制御手段は、命令アクセスに
おけるキャッシュヒット状態に呼応して前記比較部によ
るウェイ毎の判定結果がロードされると共に命令アクセ
スにおけるキャッシュミス状態に呼応してキャッシュフ
ィル動作の対象とされたウェイの指定情報がロードされ
るウェイレジスタ手段と、前記フラグ手段の第1状態に
基づいて前記ウェイレジスタ手段の出力を前記ヒットウ
ェイセレクタに供給し、前記フラグ手段の第2状態に基
づいて前記比較部の出力を前記ヒットウェイセレクタに
供給するウェイ選択情報セレクタと、命令アクセス時の
キャッシュヒットに係るアクセスアドレス信号の第1の
部分又は命令アクセス時のキャッシュミスに係るアクセ
スアドレス信号の第1の部分がロードされるアドレスレ
ジスタ手段とを含む。前記フラグ制御手段は、前記アク
セス制御手段が出力するアクセスアドレス信号のうちキ
ャッシュラインのアクセス単位領域の選択に割り当てら
れる第3の部分と前記比較部の比較結果とを入力し、命
令アクセスにおいて前記比較部による比較結果がキャッ
シュヒット状態で且つ前記アクセスアドレス信号の第3
の部分が前記キャッシュラインの最終アクセス単位領域
以外の領域を示すとき、又は命令アクセスにおいて前記
比較結果がキャッシュミス状態であることに呼応してキ
ャッシュフィル動作が行われ且つ当該キャッシュミス状
態に係るアクセスアドレス信号の第3の部分がキャッシ
ュラインの最終アクセス単位領域以外の領域を示すとき
フラグ手段を第1状態とし、命令アクセスにおいて前記
比較結果がキャッシュミス状態であるとき、命令アクセ
スにおいて前記アクセスアドレス信号の第3の部分が前
記キャッシュラインの最終アクセス単位領域を示すと
き、又はデータアクセスにおけるキャッシュミス状態に
よってキャッシュフィルされるウェイ及びキャッシュラ
インが前記ウェイレジスタ手段及びアドレスレジスタ手
段の保持値によって特定されるものであるときに第2状
態とする。
ッシュメモリ手段を前記同様のユニファイドキャッシュ
メモリとする場合に、命令アクセス時のキャッシュフル
を考慮してフラグ手段を第1状態にすることができ、ま
た、データアクセス時におけるキャッシュフィルでは命
令のキャッシュエントリの追い出しを考慮することがで
きる。すなわち、上記(2)において、前記キャッシュ
メモリ手段は、第1メモリ部及び第2メモリ部が複数の
ウェイに分割され、前記比較部がウェイ毎に前記一致判
定を行ない、ウェイ毎の前記一致判定結果に基づいて前
記第2メモリ部の読み出しデータをウェイ単位で選択す
るヒットウェイセレクタが設けられた、セットアソシア
ティブ形式とされる。前記第2メモリ部は前記アクセス
制御手段がフェッチする命令と前記アクセス制御手段が
アクセスするデータとの格納用とされる。前記第1信号
は前回の命令アクセスアドレスに対して今回の命令アク
セスが連続的アクセスアドレスであるか否かを示す信号
とされる。前記メモリ動作制御手段は、命令アクセスに
おけるキャッシュヒット状態に呼応して前記比較部によ
るウェイ毎の判定結果がロードされると共に命令アクセ
スにおけるキャッシュミス状態に呼応してキャッシュフ
ィル動作の対象とされたウェイの指定情報がロードされ
るウェイレジスタ手段と、前記フラグ手段の第1状態に
基づいて前記ウェイレジスタ手段の出力を前記ヒットウ
ェイセレクタに供給し、前記フラグ手段の第2状態に基
づいて前記比較部の出力を前記ヒットウェイセレクタに
供給するウェイ選択情報セレクタと、命令アクセス時の
キャッシュヒットに係るアクセスアドレス信号の第1の
部分又は命令アクセス時のキャッシュミスに係るアクセ
スアドレス信号の第1の部分がロードされるアドレスレ
ジスタ手段とを含む。前記フラグ制御手段は、前記アク
セス制御手段が出力するアクセスアドレス信号のうちキ
ャッシュラインのアクセス単位領域の選択に割り当てら
れる第3の部分と前記比較部の比較結果とを入力し、命
令アクセスにおいて前記比較部による比較結果がキャッ
シュヒット状態で且つ前記アクセスアドレス信号の第3
の部分が前記キャッシュラインの最終アクセス単位領域
以外の領域を示すとき、又は命令アクセスにおいて前記
比較結果がキャッシュミス状態であることに呼応してキ
ャッシュフィル動作が行われ且つ当該キャッシュミス状
態に係るアクセスアドレス信号の第3の部分がキャッシ
ュラインの最終アクセス単位領域以外の領域を示すとき
フラグ手段を第1状態とし、命令アクセスにおいて前記
比較結果がキャッシュミス状態であるとき、命令アクセ
スにおいて前記アクセスアドレス信号の第3の部分が前
記キャッシュラインの最終アクセス単位領域を示すと
き、又はデータアクセスにおけるキャッシュミス状態に
よってキャッシュフィルされるウェイ及びキャッシュラ
インが前記ウェイレジスタ手段及びアドレスレジスタ手
段の保持値によって特定されるものであるときに第2状
態とする。
【0025】これにより、命令アクセス時のキャッシュ
フィルでフラグ手段を第1状態にできる。また、データ
アクセスにおけるキャッシュミス時のキャッシュフィル
によって着目命令キャッシュラインが追い出されたと
き、アクセスウェイ及びインデックスアドレスの比較動
作を介してフラグ手段を第2の状態にリセットすること
ができる。
フィルでフラグ手段を第1状態にできる。また、データ
アクセスにおけるキャッシュミス時のキャッシュフィル
によって着目命令キャッシュラインが追い出されたと
き、アクセスウェイ及びインデックスアドレスの比較動
作を介してフラグ手段を第2の状態にリセットすること
ができる。
【0026】(11)前記ユニファイドキャッシュの場
合、前記第1信号は、ノンオペレーション、データアク
セス、命令フェッチに関する通常命令フェッチ、及び命
令フェッチに関する強制命令フェッチをそれぞれ固有の
コードによって示す情報を含む信号とすることができ
る。前記通常命令フェッチに割り当てられたコードは前
回のアクセスアドレスに対して今回のアクセスが連続的
アクセスアドレスであることを意味し、強制命令フェッ
チに割り当てられたコードは前回のアクセスアドレスに
対して今回のアクセスが非連続的アクセスアドレスであ
ることを意味する。
合、前記第1信号は、ノンオペレーション、データアク
セス、命令フェッチに関する通常命令フェッチ、及び命
令フェッチに関する強制命令フェッチをそれぞれ固有の
コードによって示す情報を含む信号とすることができ
る。前記通常命令フェッチに割り当てられたコードは前
回のアクセスアドレスに対して今回のアクセスが連続的
アクセスアドレスであることを意味し、強制命令フェッ
チに割り当てられたコードは前回のアクセスアドレスに
対して今回のアクセスが非連続的アクセスアドレスであ
ることを意味する。
【0027】(12)データアレイの動作による消費電
力をさらに低減するためにキャッシュラインのバッファ
部を採用することができる。すなわち、データ処理装置
は、アドレス信号を出力するアクセス制御手段と、前記
アクセス制御手段に接続されたキャッシュメモリ手段と
を含む。前記アクセス制御手段は、前回のアクセスアド
レスに対して今回のアクセスが連続的アクセスアドレス
であるか否かを示す第1信号を出力する。前記キャッシ
ュメモリ手段は、複数のタグ格納部を有する第1メモリ
部と、前記個々のタグ格納部に対応する複数のキャッシ
ュラインを有する第2メモリ部と、前記第2メモリ部で
選択されたキャッシュラインの記憶情報を格納可能なバ
ッファ部と、アクセスアドレスの第1の部分によって選
択されるタグ格納部のタグが前記アクセスアドレスの第
2の部分に一致するか否かを判定する比較部と、前記比
較部の比較結果を入力する制御部とを有する。前記制御
部は、フラグ手段を有し、前記アクセス制御手段による
次回アクセスにおいて前記第1信号が前記連続的アクセ
スアドレスである事を示すならば次回アクセスにおける
前記比較部の判定結果が今回アクセスと同一キャッシュ
ラインで一致になるかを判定し、一致になるべきときは
前記フラグ手段を第1状態に、そうでない場合には前記
フラグ手段を第2状態にするフラグ制御手段を有する。
更に、前記制御部は、前記アクセス制御手段によるアク
セス時に前記フラグ手段が第1状態にされるのに呼応し
て前記第2メモリ部で選択されたキャッシュラインの記
憶情報を前記バッファ部に内部転送し、前記アクセス制
御手段によるアクセス時に前記第1信号が連続的アクセ
スアドレスであることを示し且つ前記フラグ手段が第1
状態であるときは前記第1メモリ部及び第2のメモリ動
作を抑止し前記バッファ部の格納データを選択させ、そ
うでない場合には前記第1メモリ部及び第2メモリ部の
動作を許容し第1メモリ部のタグ格納部と第2メモリ部
のキャッシュラインとをアクセスアドレス信号の第1の
部分で選択させるメモリ動作制御手段を有する。
力をさらに低減するためにキャッシュラインのバッファ
部を採用することができる。すなわち、データ処理装置
は、アドレス信号を出力するアクセス制御手段と、前記
アクセス制御手段に接続されたキャッシュメモリ手段と
を含む。前記アクセス制御手段は、前回のアクセスアド
レスに対して今回のアクセスが連続的アクセスアドレス
であるか否かを示す第1信号を出力する。前記キャッシ
ュメモリ手段は、複数のタグ格納部を有する第1メモリ
部と、前記個々のタグ格納部に対応する複数のキャッシ
ュラインを有する第2メモリ部と、前記第2メモリ部で
選択されたキャッシュラインの記憶情報を格納可能なバ
ッファ部と、アクセスアドレスの第1の部分によって選
択されるタグ格納部のタグが前記アクセスアドレスの第
2の部分に一致するか否かを判定する比較部と、前記比
較部の比較結果を入力する制御部とを有する。前記制御
部は、フラグ手段を有し、前記アクセス制御手段による
次回アクセスにおいて前記第1信号が前記連続的アクセ
スアドレスである事を示すならば次回アクセスにおける
前記比較部の判定結果が今回アクセスと同一キャッシュ
ラインで一致になるかを判定し、一致になるべきときは
前記フラグ手段を第1状態に、そうでない場合には前記
フラグ手段を第2状態にするフラグ制御手段を有する。
更に、前記制御部は、前記アクセス制御手段によるアク
セス時に前記フラグ手段が第1状態にされるのに呼応し
て前記第2メモリ部で選択されたキャッシュラインの記
憶情報を前記バッファ部に内部転送し、前記アクセス制
御手段によるアクセス時に前記第1信号が連続的アクセ
スアドレスであることを示し且つ前記フラグ手段が第1
状態であるときは前記第1メモリ部及び第2のメモリ動
作を抑止し前記バッファ部の格納データを選択させ、そ
うでない場合には前記第1メモリ部及び第2メモリ部の
動作を許容し第1メモリ部のタグ格納部と第2メモリ部
のキャッシュラインとをアクセスアドレス信号の第1の
部分で選択させるメモリ動作制御手段を有する。
【0028】これによれば、一旦キャッシュヒット状態
にされたキャッシュラインのデータに対する連続的アク
セスでは、全てのメモリ部の動作を停止でき、更に低消
費電力化できる。また、そのとき必要な1キャッシュラ
イン分のデータはキャッシュラインのバッファ部に退避
されている。したがって、バッファ部に退避されたデー
タをキャッシュエントリとするキャッシュラインがキャ
ッシュフィルによって書き換えられても、当該退避され
ている1キャッシュラインデータの範囲での連続アクセ
スは全てキャッシュヒット状態にすることができる。
にされたキャッシュラインのデータに対する連続的アク
セスでは、全てのメモリ部の動作を停止でき、更に低消
費電力化できる。また、そのとき必要な1キャッシュラ
イン分のデータはキャッシュラインのバッファ部に退避
されている。したがって、バッファ部に退避されたデー
タをキャッシュエントリとするキャッシュラインがキャ
ッシュフィルによって書き換えられても、当該退避され
ている1キャッシュラインデータの範囲での連続アクセ
スは全てキャッシュヒット状態にすることができる。
【0029】(13)前記バッファ部を用いるとき、前
記フラグ制御手段は、前記アクセス制御手段が出力する
アクセスアドレス信号のうちキャッシュラインのアクセ
ス単位領域の選択に割り当てられる第3の部分と、前記
比較部の比較結果とを入力し、比較結果がキャッシュヒ
ット状態で且つ前記アクセスアドレス信号の第3の部分
がキャッシュラインの最終アクセス単位領域以外の領域
を示すとき前記フラグ手段を第1状態とし、前記比較結
果がキャッシュミス状態又は前記アクセスアドレス信号
の第3の部分が前記キャッシュラインの最終アクセス単
位領域を示すとき前記フラグ手段を第2状態とするよう
に構成することができる。
記フラグ制御手段は、前記アクセス制御手段が出力する
アクセスアドレス信号のうちキャッシュラインのアクセ
ス単位領域の選択に割り当てられる第3の部分と、前記
比較部の比較結果とを入力し、比較結果がキャッシュヒ
ット状態で且つ前記アクセスアドレス信号の第3の部分
がキャッシュラインの最終アクセス単位領域以外の領域
を示すとき前記フラグ手段を第1状態とし、前記比較結
果がキャッシュミス状態又は前記アクセスアドレス信号
の第3の部分が前記キャッシュラインの最終アクセス単
位領域を示すとき前記フラグ手段を第2状態とするよう
に構成することができる。
【0030】(14)上記(13)においてもキャッシ
ュフィルを考慮してフラグ手段を第1状態にするには、
前記フラグ制御手段は、更に、前記比較結果がキャッシ
ュミス状態であることに呼応してキャッシュフィル動作
が行われてフィルの内容がメモリ部とバッファ部へ書き
込まれ(登録され)且つキャッシュミス状態に係るアク
セスアドレス信号の第3の部分がキャッシュラインの最
終アクセス単位領域以外の領域を示すとき前記フラグ手
段を第1状態とすればよい。
ュフィルを考慮してフラグ手段を第1状態にするには、
前記フラグ制御手段は、更に、前記比較結果がキャッシ
ュミス状態であることに呼応してキャッシュフィル動作
が行われてフィルの内容がメモリ部とバッファ部へ書き
込まれ(登録され)且つキャッシュミス状態に係るアク
セスアドレス信号の第3の部分がキャッシュラインの最
終アクセス単位領域以外の領域を示すとき前記フラグ手
段を第1状態とすればよい。
【0031】フラグ手段の制御には複数のプログラムを
切換ながら実行するマルチプロセスを考慮しなければな
らない場合がある。マルチプロセスの場合、プロセス切
換が発生すると、プロセス切換前に第1の状態(セット
状態)にされたフラグ手段の有効性を保証できなくなる
ので誤動作の虞がある。これに対処するためには、例え
ば、簡単な手段として、プロセスの切り替わり時に中央
処理装置がプロセスの切り替わりを知らせる信号を出力
し、この信号によるプロセス切り替わりを条件として、
フラグ手段を第2の状態とすることができる。
切換ながら実行するマルチプロセスを考慮しなければな
らない場合がある。マルチプロセスの場合、プロセス切
換が発生すると、プロセス切換前に第1の状態(セット
状態)にされたフラグ手段の有効性を保証できなくなる
ので誤動作の虞がある。これに対処するためには、例え
ば、簡単な手段として、プロセスの切り替わり時に中央
処理装置がプロセスの切り替わりを知らせる信号を出力
し、この信号によるプロセス切り替わりを条件として、
フラグ手段を第2の状態とすることができる。
【0032】(15)前記アクセス制御手段はキャッシ
ュメモリ手段と一緒に同一半導体基板に設けられた中央
処理装置とすることができる。また、前記アクセス制御
手段はキャッシュメモリ手段と一緒に同一半導体基板に
設けられたディジタル信号処理手段とすることができ
る。
ュメモリ手段と一緒に同一半導体基板に設けられた中央
処理装置とすることができる。また、前記アクセス制御
手段はキャッシュメモリ手段と一緒に同一半導体基板に
設けられたディジタル信号処理手段とすることができ
る。
【0033】(16)前記データ処理装置を用いるデー
タ処理システムは、前記データ処理装置と、前記データ
処理装置によってアクセスされるメモリ手段と、前記デ
ータ処理装置の制御を受ける周辺回路とを含んで構成さ
れる。このデータ処理システムによれば、低消費電力と
メモリの高速アクセスとの双方を実現できる。
タ処理システムは、前記データ処理装置と、前記データ
処理装置によってアクセスされるメモリ手段と、前記デ
ータ処理装置の制御を受ける周辺回路とを含んで構成さ
れる。このデータ処理システムによれば、低消費電力と
メモリの高速アクセスとの双方を実現できる。
【0034】(17)上記では、キャッシュメモリに適
用した場合について説明したが、先行動作型のメモリ
(RAM,ROM)システムを有するデータ処理装置に
も、本発明が適用可能であることは容易に理解されるで
あろう。
用した場合について説明したが、先行動作型のメモリ
(RAM,ROM)システムを有するデータ処理装置に
も、本発明が適用可能であることは容易に理解されるで
あろう。
【0035】
【発明の実施の形態】《マイクロコンピュータ》図2に
は本発明に係るデータ処理装置の一例であるマイクロコ
ンピュータ(シングルチップマイクロプロセッサ、シン
グルチップマイクロコントローラ)のブロック図が示さ
れる。同図に示されるマイクロコンピュータ(MPU)
1は、例えば公知の半導体集積回路製造技術によって単
結晶シリコンのような1個の半導体基板(半導体チッ
プ)に形成される。このマイクロコンピュータ1は、特
に制限されないが、ローカルバスL−bus、内部バス
I−bus、及びペリフェラルバスP−busなどを有
する。それらバスはデータ、アドレス、制御信号の各信
号線群を備えている。
は本発明に係るデータ処理装置の一例であるマイクロコ
ンピュータ(シングルチップマイクロプロセッサ、シン
グルチップマイクロコントローラ)のブロック図が示さ
れる。同図に示されるマイクロコンピュータ(MPU)
1は、例えば公知の半導体集積回路製造技術によって単
結晶シリコンのような1個の半導体基板(半導体チッ
プ)に形成される。このマイクロコンピュータ1は、特
に制限されないが、ローカルバスL−bus、内部バス
I−bus、及びペリフェラルバスP−busなどを有
する。それらバスはデータ、アドレス、制御信号の各信
号線群を備えている。
【0036】ローカルバスL−busには、特に制限さ
れないが、中央処理装置(CPU)101、ディジタル
・シグナル・プロセッサ(DSP)3、キャッシュメモ
リ(CACHE)4及びクロックパルスジェネレータ
(CPG)14が結合される。キャッシュメモリ4は他
方において内部バスI−busに結合され、当該内部バ
スI−busにはライトバックバッファ(WBBUF)
6及びバスコントローラ(BSC)7が接続される。バ
スコントローラ7は、外部入出力回路(EXIF)9及
び前記ペリフェラルバスP−busに接続される。外部
入出力回路9は、アドレス、データ及び制御信号の各信
号線群を備えた外部バスEX−busなどにインタフェ
ース可能になされる。外部バスEX−busには外部メ
モリ(MMRY)20が代表的に示されている。前記ペ
リフェラルバスP−busには、周辺モジュールとし
て、例えば、ダイレクトメモリアクセスコントローラ
(DMAC)8、及びその他の周辺回路(PMD)10
が結合されている。
れないが、中央処理装置(CPU)101、ディジタル
・シグナル・プロセッサ(DSP)3、キャッシュメモ
リ(CACHE)4及びクロックパルスジェネレータ
(CPG)14が結合される。キャッシュメモリ4は他
方において内部バスI−busに結合され、当該内部バ
スI−busにはライトバックバッファ(WBBUF)
6及びバスコントローラ(BSC)7が接続される。バ
スコントローラ7は、外部入出力回路(EXIF)9及
び前記ペリフェラルバスP−busに接続される。外部
入出力回路9は、アドレス、データ及び制御信号の各信
号線群を備えた外部バスEX−busなどにインタフェ
ース可能になされる。外部バスEX−busには外部メ
モリ(MMRY)20が代表的に示されている。前記ペ
リフェラルバスP−busには、周辺モジュールとし
て、例えば、ダイレクトメモリアクセスコントローラ
(DMAC)8、及びその他の周辺回路(PMD)10
が結合されている。
【0037】前記マイクロコンピュータ1は、クロック
パルスジェネレータ(CPG)14から出力されるクロ
ック信号15に同期動作される。前記CPU3及びDM
AC8がバスマスタモジュールを構成する。前記その他
の周辺回路10は、特に制限されないが、シリアルコミ
ュニケーションインタフェースコントローラ、リアルタ
イムクロック回路及びタイマ回路等とされる。周辺回路
10は前記バスコントローラ7を介してCPU101又
はDMAC8によってアクセスされる。
パルスジェネレータ(CPG)14から出力されるクロ
ック信号15に同期動作される。前記CPU3及びDM
AC8がバスマスタモジュールを構成する。前記その他
の周辺回路10は、特に制限されないが、シリアルコミ
ュニケーションインタフェースコントローラ、リアルタ
イムクロック回路及びタイマ回路等とされる。周辺回路
10は前記バスコントローラ7を介してCPU101又
はDMAC8によってアクセスされる。
【0038】前記CPU101は、特に制限されない
が、汎用レジスタや算術論理演算器で代表される演算部
と、プログラムカウンタなどの制御用レジスタ群、そし
て命令のフェッチや解読並びに命令実行手順を制御した
り演算制御を行う命令制御部などを有する。前記CPU
101は外部メモリ20などから命令をフェッチし、そ
の命令を命令デコーダにて解読することにより、当該命
令に応じたデータ処理を行う。
が、汎用レジスタや算術論理演算器で代表される演算部
と、プログラムカウンタなどの制御用レジスタ群、そし
て命令のフェッチや解読並びに命令実行手順を制御した
り演算制御を行う命令制御部などを有する。前記CPU
101は外部メモリ20などから命令をフェッチし、そ
の命令を命令デコーダにて解読することにより、当該命
令に応じたデータ処理を行う。
【0039】前記ディジタル・シグナル・プロセッサ3
は、それ専用のバスX−bus,Y−busを介してX
メモリ(XMEM)11及びYメモリ(YMEM)12
に接続される。Xメモリ11及びYメモリ12は内部バ
スI−busにもインタフェースされる。メモリコント
ローラ(MCNT)13はXメモリ11及びYメモリ1
2に対するDSP3からのアクセス要求と内部バスI−
bus側からのアクセス要求とを監視し、アクセス要求
の調停などを行なう。前記メモリ11,12はCPU1
01のワーク領域としても利用可能にされている。CP
U101はDSP3のためにデータフェッチを行なうだ
けでなく、DSP3のための固定小数点命令を含む全て
の命令をフェッチする。
は、それ専用のバスX−bus,Y−busを介してX
メモリ(XMEM)11及びYメモリ(YMEM)12
に接続される。Xメモリ11及びYメモリ12は内部バ
スI−busにもインタフェースされる。メモリコント
ローラ(MCNT)13はXメモリ11及びYメモリ1
2に対するDSP3からのアクセス要求と内部バスI−
bus側からのアクセス要求とを監視し、アクセス要求
の調停などを行なう。前記メモリ11,12はCPU1
01のワーク領域としても利用可能にされている。CP
U101はDSP3のためにデータフェッチを行なうだ
けでなく、DSP3のための固定小数点命令を含む全て
の命令をフェッチする。
【0040】前記バスコントローラ7は、CPU101
やDMAC8によるアクセス対象回路(アクセス対象と
されるアドレスエリア)に応じて、アクセスデータサイ
ズ、アクセスタイム、ウェイトステートの挿入制御など
を行なって、バスサイクルを制御する。
やDMAC8によるアクセス対象回路(アクセス対象と
されるアドレスエリア)に応じて、アクセスデータサイ
ズ、アクセスタイム、ウェイトステートの挿入制御など
を行なって、バスサイクルを制御する。
【0041】《CPUのアドレス生成》図3にはCPU
101のアドレス生成部の構成が概略的に示されてい
る。CPU101はアドレス生成部201とデータ処理
部202を有する。アドレス生成部201はアドレスバ
ス107へ出力するアドレス信号の生成を行う。データ
処理部202はフェッチした命令をデコードして制御信
号を生成する命令制御部や、フェッチしたオペランドな
どを用いて演算を行なうための演算回路などを有する。
101のアドレス生成部の構成が概略的に示されてい
る。CPU101はアドレス生成部201とデータ処理
部202を有する。アドレス生成部201はアドレスバ
ス107へ出力するアドレス信号の生成を行う。データ
処理部202はフェッチした命令をデコードして制御信
号を生成する命令制御部や、フェッチしたオペランドな
どを用いて演算を行なうための演算回路などを有する。
【0042】アドレス生成部201は、命令フェッチ用
のアドレス信号及びデータアクセス用のアドレス信号を
生成する。特に制限されないが、便宜上、命令フェッチ
を、通常命令フェッチ(NIF(=Normal Inst. Fetc
h))と強制命令フェッチ(FIF(=Forced Inst. Fet
ch))の2種類に大別する。
のアドレス信号及びデータアクセス用のアドレス信号を
生成する。特に制限されないが、便宜上、命令フェッチ
を、通常命令フェッチ(NIF(=Normal Inst. Fetc
h))と強制命令フェッチ(FIF(=Forced Inst. Fet
ch))の2種類に大別する。
【0043】通常命令フェッチ(NIF)は、前回フェ
ッチした命令アドレスに対し、ある決まった量を加えた
(インクリメントした)アドレスから今回の命令フェッ
チを行なうような場合である。図において204で示さ
れるものはプログラムカウンタ(PC)であり、通常命
令フェッチの時、プログラムカウンタ204の出力がセ
レクタ203で選択されてアドレスバス107に出力さ
れる。これに並行して、次回の通常命令フェッチの準備
が行われる。すなわち、図4に例示されるように、イン
クリメント回路(INC)205により、次回通常命令
フェッチのためのアドレスが生成される。インクリメン
ト回路205の出力はセレクタ206で選択され、プロ
グラムカウンタ204に格納される。こうして次回の通
常命令フェッチに備えられる。
ッチした命令アドレスに対し、ある決まった量を加えた
(インクリメントした)アドレスから今回の命令フェッ
チを行なうような場合である。図において204で示さ
れるものはプログラムカウンタ(PC)であり、通常命
令フェッチの時、プログラムカウンタ204の出力がセ
レクタ203で選択されてアドレスバス107に出力さ
れる。これに並行して、次回の通常命令フェッチの準備
が行われる。すなわち、図4に例示されるように、イン
クリメント回路(INC)205により、次回通常命令
フェッチのためのアドレスが生成される。インクリメン
ト回路205の出力はセレクタ206で選択され、プロ
グラムカウンタ204に格納される。こうして次回の通
常命令フェッチに備えられる。
【0044】前記強制命令フェッチ(FIF)は、前回
フェッチした命令アドレスとは直接的に関係のない命令
アドレスから今回の命令フェッチを行う場合である。例
えば、分岐命令等を実行したときの分岐先命令をフェッ
チする場合である。強制命令フェッチ時は、図5に例示
されるように、プログラムカウンタ204の出力ではな
く図示を省略する別のアドレス演算手段で生成された値
がアドレスとして経路207より与えられ、セレクタ2
03で選択され、アドレスバス107に出力される。こ
れに並行して、分岐先での次回の通常命令フェッチのた
めに、セレクタ206により経路207を選択し、これ
をプログラムカウンタ204に格納する。
フェッチした命令アドレスとは直接的に関係のない命令
アドレスから今回の命令フェッチを行う場合である。例
えば、分岐命令等を実行したときの分岐先命令をフェッ
チする場合である。強制命令フェッチ時は、図5に例示
されるように、プログラムカウンタ204の出力ではな
く図示を省略する別のアドレス演算手段で生成された値
がアドレスとして経路207より与えられ、セレクタ2
03で選択され、アドレスバス107に出力される。こ
れに並行して、分岐先での次回の通常命令フェッチのた
めに、セレクタ206により経路207を選択し、これ
をプログラムカウンタ204に格納する。
【0045】データアクセス(DA)時は、図6に例示
されるように、図示を省略するアドレス演算手段で生成
された値がアドレスとして経路208より与えられ、セ
レクタ203で選択され、アドレスバス107に出力さ
れる。
されるように、図示を省略するアドレス演算手段で生成
された値がアドレスとして経路208より与えられ、セ
レクタ203で選択され、アドレスバス107に出力さ
れる。
【0046】前記バスコマンド(BCMD)104は、
図7に例示されるように、ノンオペレーション(NO
P)、データアクセス(DA)、通常命令フェッチ(N
IF)及び強制命令フェッチ(FIF)を指示するため
の2ビットの信号とされる。CPU101は実行する命
令の種類に応じて前記バスコマンド104を決定する。
図7に例示されるように、ノンオペレーション(NO
P)、データアクセス(DA)、通常命令フェッチ(N
IF)及び強制命令フェッチ(FIF)を指示するため
の2ビットの信号とされる。CPU101は実行する命
令の種類に応じて前記バスコマンド104を決定する。
【0047】上述より明らかなように、通常命令フェッ
チ(NIF)では今回の命令フェッチアドレスと前回の
命令フェッチアドレスとの間に、アドレスインクリメン
ト数などの一定の関係がある。換言すれば、バスコマン
ドが通常命令フェッチを意味するとき、当該バスコマン
ドは、今回のアクセスアドレス信号が前回のアクセスア
ドレス信号に対して連続的であることを意味する。連続
的とは、前述の通り、アドレスインクリメント数が規定
値であることを意味する。バスコマンド104は第1の
信号の一例である。これに着目すれば、通常命令フェッ
チでは、命令フェッチのアドレス信号を見なくても、通
常命令フェッチであることさえ認識できれば、前回の命
令フェッチアドレスに対して今回の命令フェッチアドレ
スを特定することができる。CPU101はメモリアク
セスに際して前記バスコマンド104を出力し、外部で
はバスコマンド104によって、通常命令フェッチであ
ることを認識できるようになっている。
チ(NIF)では今回の命令フェッチアドレスと前回の
命令フェッチアドレスとの間に、アドレスインクリメン
ト数などの一定の関係がある。換言すれば、バスコマン
ドが通常命令フェッチを意味するとき、当該バスコマン
ドは、今回のアクセスアドレス信号が前回のアクセスア
ドレス信号に対して連続的であることを意味する。連続
的とは、前述の通り、アドレスインクリメント数が規定
値であることを意味する。バスコマンド104は第1の
信号の一例である。これに着目すれば、通常命令フェッ
チでは、命令フェッチのアドレス信号を見なくても、通
常命令フェッチであることさえ認識できれば、前回の命
令フェッチアドレスに対して今回の命令フェッチアドレ
スを特定することができる。CPU101はメモリアク
セスに際して前記バスコマンド104を出力し、外部で
はバスコマンド104によって、通常命令フェッチであ
ることを認識できるようになっている。
【0048】前記キャッシュメモリ4の制御では、今回
のアクセスアドレスが前回のアクセスアドレスに対して
連続的であるか否かをバスコマンド104から把握する
と共に、同一キャッシュライン上でのキャッシュヒット
が続く可能性をキャッシュメモリの構成から予め把握す
ることによって、アドレス比較を行うことなく(アドレ
スアレイを動作させることなく)キャッシュヒットを先
読みし、アドレスアレイ、データアレイの動作回数を低
減できるように構成されている。その機能をローパワー
フェッチ(LPF)と呼び、以下詳述する。
のアクセスアドレスが前回のアクセスアドレスに対して
連続的であるか否かをバスコマンド104から把握する
と共に、同一キャッシュライン上でのキャッシュヒット
が続く可能性をキャッシュメモリの構成から予め把握す
ることによって、アドレス比較を行うことなく(アドレ
スアレイを動作させることなく)キャッシュヒットを先
読みし、アドレスアレイ、データアレイの動作回数を低
減できるように構成されている。その機能をローパワー
フェッチ(LPF)と呼び、以下詳述する。
【0049】《キャッシュメモリの第1の例》図1には
前記キャッシュメモリ4の第1の例が示される。同図に
示されるキャッシュメモリ4は、特に制限されないが、
4ウェイセットアソシアティブ形式の命令キャッシュメ
モリとされる。
前記キャッシュメモリ4の第1の例が示される。同図に
示されるキャッシュメモリ4は、特に制限されないが、
4ウェイセットアソシアティブ形式の命令キャッシュメ
モリとされる。
【0050】キャッシュメモリ4は、アドレスアレイ1
09、データアレイ110及びキャッシュ制御回路32
2に大別される。アドレスアレイ109は4個のウェイ
に対応してメモリブロック115〜118を有し、デー
タアレイ110は4個のウェイに対応してメモリブロッ
ク119〜122を有する。第1のウェイはメモリブロ
ック115,119によって構成され、第2のウェイは
メモリブロック116,120によって構成され、第3
のウェイはメモリブロック117,121によって構成
され、第4のウェイはメモリブロック118,122に
よって構成される。
09、データアレイ110及びキャッシュ制御回路32
2に大別される。アドレスアレイ109は4個のウェイ
に対応してメモリブロック115〜118を有し、デー
タアレイ110は4個のウェイに対応してメモリブロッ
ク119〜122を有する。第1のウェイはメモリブロ
ック115,119によって構成され、第2のウェイは
メモリブロック116,120によって構成され、第3
のウェイはメモリブロック117,121によって構成
され、第4のウェイはメモリブロック118,122に
よって構成される。
【0051】図1において107はアドレスバス、10
8はデータバスである。CPU101からアドレスバス
107に供給されるアドレス信号は、キャッシュメモリ
の動作の観点よりすれば、上位側より、タグアドレス、
インデックスアドレス、及びオフセットアドレスと見な
すことができる。
8はデータバスである。CPU101からアドレスバス
107に供給されるアドレス信号は、キャッシュメモリ
の動作の観点よりすれば、上位側より、タグアドレス、
インデックスアドレス、及びオフセットアドレスと見な
すことができる。
【0052】アドレスアレイ109のメモリブロック1
15〜118はタグアドレスと比較されるべきタグ(キ
ャッシュタグ)やキャッシュエントリの有効性を示す有
効ビットなどを格納するための格納部(キャッシュタグ
格納部と称する)を有する。
15〜118はタグアドレスと比較されるべきタグ(キ
ャッシュタグ)やキャッシュエントリの有効性を示す有
効ビットなどを格納するための格納部(キャッシュタグ
格納部と称する)を有する。
【0053】データアレイ110のメモリブロック11
9〜122は前記キャッシュタグ格納部と一対一で対応
されるキャッシュラインを有する。図8には代表的に一
つのメモリブロック119の詳細が示されている。特に
制限されないが、キャッシュライン610は16バイト
のデータ格納領域を有する。キャッシュライン610に
はキャッシュタグに応ずるアドレスのデータが格納され
る。前記キャッシュタグ格納部とこれに対応されるキャ
ッシュラインとは、同一のインデックスアドレスによっ
て共通に選択可能にされる。この例に従えば、命令語長
は最大4バイトである。キャッシュラインはインデック
スアドレス607を受けるアドレスデコーダ608で選
択される。選択されたキャッシュラインの16バイトの
データはセレクタ611によって4バイトが選択され
る。その選択にはオフセットアドレス609が用いられ
る。セレクタ611による選択単位は4バイトであり、
アドレス信号はバイトアドレスであるから、オフセット
アドレス609はCPU101が出力するアドレス信号
の最下位から第3ビット目(CAB[2])及び第4ビット目
(CAB[3])の情報とされる。データアレイにおけるその
他のメモリブロックも同様に構成される。
9〜122は前記キャッシュタグ格納部と一対一で対応
されるキャッシュラインを有する。図8には代表的に一
つのメモリブロック119の詳細が示されている。特に
制限されないが、キャッシュライン610は16バイト
のデータ格納領域を有する。キャッシュライン610に
はキャッシュタグに応ずるアドレスのデータが格納され
る。前記キャッシュタグ格納部とこれに対応されるキャ
ッシュラインとは、同一のインデックスアドレスによっ
て共通に選択可能にされる。この例に従えば、命令語長
は最大4バイトである。キャッシュラインはインデック
スアドレス607を受けるアドレスデコーダ608で選
択される。選択されたキャッシュラインの16バイトの
データはセレクタ611によって4バイトが選択され
る。その選択にはオフセットアドレス609が用いられ
る。セレクタ611による選択単位は4バイトであり、
アドレス信号はバイトアドレスであるから、オフセット
アドレス609はCPU101が出力するアドレス信号
の最下位から第3ビット目(CAB[2])及び第4ビット目
(CAB[3])の情報とされる。データアレイにおけるその
他のメモリブロックも同様に構成される。
【0054】アドレスアレイ109のメモリブロック1
15〜118は信号106によって動作可能/不可能
(活性/非活性)が共通に制御される。メモリブロック
115〜118が活性化されたとき、インデックスアド
レスによって選択されたキャッシュタグ格納部のキャッ
シュタグは、当該インデックスアドレスの上位側のタグ
アドレスと比較される。比較動作は比較器115c〜1
18cが行う。個々の比較器115c〜118cによる
比較結果はウェイヒット/ミス信号115h〜118h
(これを総称してキャッシュヒット/ミス信号131と
称する)とされる。キャッシュヒット/ミス信号131
はラッチ123に一時的に保持され、キャッシュヒット
/ミス信号132として出力される。前記信号115h
〜118hの一つが一致(ウェイヒット)を示す状態を
キャッシュヒット状態、全て不一致(ウェイミス)を示
す状態をキャッシュミス状態と称する。
15〜118は信号106によって動作可能/不可能
(活性/非活性)が共通に制御される。メモリブロック
115〜118が活性化されたとき、インデックスアド
レスによって選択されたキャッシュタグ格納部のキャッ
シュタグは、当該インデックスアドレスの上位側のタグ
アドレスと比較される。比較動作は比較器115c〜1
18cが行う。個々の比較器115c〜118cによる
比較結果はウェイヒット/ミス信号115h〜118h
(これを総称してキャッシュヒット/ミス信号131と
称する)とされる。キャッシュヒット/ミス信号131
はラッチ123に一時的に保持され、キャッシュヒット
/ミス信号132として出力される。前記信号115h
〜118hの一つが一致(ウェイヒット)を示す状態を
キャッシュヒット状態、全て不一致(ウェイミス)を示
す状態をキャッシュミス状態と称する。
【0055】データアレイ110のメモリブロック11
9〜122は信号305〜308によって個別的にその
動作の活性/非活性が制御される。インデックスアドレ
ス及びオフセットアドレスによって選択されたキャッシ
ュラインのデータは対応するラッチ回路124〜127
に一時的に保持される。ラッチ124〜127の出力は
信号321によりセレクタ111で選択され、選択され
たデータ114はデータバス108を介してCPU10
1に供給される。
9〜122は信号305〜308によって個別的にその
動作の活性/非活性が制御される。インデックスアドレ
ス及びオフセットアドレスによって選択されたキャッシ
ュラインのデータは対応するラッチ回路124〜127
に一時的に保持される。ラッチ124〜127の出力は
信号321によりセレクタ111で選択され、選択され
たデータ114はデータバス108を介してCPU10
1に供給される。
【0056】セレクタ111の選択信号321は、前記
ラッチ123から出力されるキャッシュヒット/ミス信
号132又は信号317とされ、何れか一方がセレクタ
304で選択され、選択された信号が選択信号321と
される。
ラッチ123から出力されるキャッシュヒット/ミス信
号132又は信号317とされ、何れか一方がセレクタ
304で選択され、選択された信号が選択信号321と
される。
【0057】前記信号317はローパワーフェッチ(L
PF)モジュール301で生成される。ローパワーフェ
ッチモジュール301を含めキャッシュメモリ全体の制
御はキャッシュ制御部322が行う。CPU101はレ
ディー(バスレディー)信号103がアサートされるの
を待ってメモリアクセス動作を開始する。キャッシュ制
御部322はCPU101から前記バスコマンド104
を受け取り、これによってCPU101による通常命令
フェッチ又は強制命令フェッチの動作開始を認識する。
キャッシュ制御部322はこれによって連想検索動作を
開始し、必要な命令をデータバス108に出力する。C
PU101はデータバス108上の命令を取り込む。
PF)モジュール301で生成される。ローパワーフェ
ッチモジュール301を含めキャッシュメモリ全体の制
御はキャッシュ制御部322が行う。CPU101はレ
ディー(バスレディー)信号103がアサートされるの
を待ってメモリアクセス動作を開始する。キャッシュ制
御部322はCPU101から前記バスコマンド104
を受け取り、これによってCPU101による通常命令
フェッチ又は強制命令フェッチの動作開始を認識する。
キャッシュ制御部322はこれによって連想検索動作を
開始し、必要な命令をデータバス108に出力する。C
PU101はデータバス108上の命令を取り込む。
【0058】前記キャッシュ制御部322はキャッシュ
ヒット状態/キャッシュミス状態に応じた制御を行い、
キャッシュヒット状態のときは、アドレスアレイ109
及びデータアレイ110を並列的に動作させる通常機能
と、LPF機能とを有する。キャッシュミス状態の場合
に関係する回路構成の詳細は図1には図示を省略してあ
るが、ここでは、その概略を説明しておく。前記キャッ
シュメモリ4は、キャッシュエントリの連想検索の結果
がキャッシュ(リード)ミス状態であれば、ミスに係る
データを含む1キャッシュライン分のデータがバスコン
トローラ7を介して外部メモリ20から読み込まれて、
キャッシュフィルが行われる。キャッシュフィルはキャ
ッシュラインのデータを外部メモリ20或いは内部メモ
リ(IMEM)20Bから読み込む動作であり、読み込
んだデータをキャッシュラインに書込むためにはキャッ
シュエントリのリプレースが行なわれる。このとき、無
効なキャッシュエントリがある場合には当該無効なキャ
ッシュエントリがリプレースされる。無効なキャッシュ
エントリが無い場合、例えば、LRU(Least Recently
Used)等の論理に従って最も最近利用されていないキ
ャッシュエントリをリプレースの対象とする。リプレー
ス制御はキャッシュ制御部322が行なう。
ヒット状態/キャッシュミス状態に応じた制御を行い、
キャッシュヒット状態のときは、アドレスアレイ109
及びデータアレイ110を並列的に動作させる通常機能
と、LPF機能とを有する。キャッシュミス状態の場合
に関係する回路構成の詳細は図1には図示を省略してあ
るが、ここでは、その概略を説明しておく。前記キャッ
シュメモリ4は、キャッシュエントリの連想検索の結果
がキャッシュ(リード)ミス状態であれば、ミスに係る
データを含む1キャッシュライン分のデータがバスコン
トローラ7を介して外部メモリ20から読み込まれて、
キャッシュフィルが行われる。キャッシュフィルはキャ
ッシュラインのデータを外部メモリ20或いは内部メモ
リ(IMEM)20Bから読み込む動作であり、読み込
んだデータをキャッシュラインに書込むためにはキャッ
シュエントリのリプレースが行なわれる。このとき、無
効なキャッシュエントリがある場合には当該無効なキャ
ッシュエントリがリプレースされる。無効なキャッシュ
エントリが無い場合、例えば、LRU(Least Recently
Used)等の論理に従って最も最近利用されていないキ
ャッシュエントリをリプレースの対象とする。リプレー
ス制御はキャッシュ制御部322が行なう。
【0059】次にLPF機能について詳述する。LPF
機能は、第1に、アドレス比較動作を介することなく同
一キャッシュラインでキャッシュヒット状態になる状態
を検出できること、第2にそのようにしてキャッシュヒ
ット状態になるキャッシュラインを含むウェイをアドレ
ス比較動作を介することなく指定できること、の二つ点
が最低限必要になる。ダイレクトマップ形式であれば第
1のを考慮するだけでよい。
機能は、第1に、アドレス比較動作を介することなく同
一キャッシュラインでキャッシュヒット状態になる状態
を検出できること、第2にそのようにしてキャッシュヒ
ット状態になるキャッシュラインを含むウェイをアドレ
ス比較動作を介することなく指定できること、の二つ点
が最低限必要になる。ダイレクトマップ形式であれば第
1のを考慮するだけでよい。
【0060】LPFモジュール301の一例を示す図9
において、上記第1の点を達成するために、LFPフラ
グ313が設けられ、第2の点を実現するためにラッチ
314及びセレクタ315が設けられている。更に、前
記LPFフラグ313をセット状態(第1の状態)にす
るための制御論理(図10)、LPFフラグ313をリ
セット状態(第2の状態)にするための制御論理(図1
1)、前記ラッチ314及びセレクタ315の制御論理
(図12)等がキャッシュ制御部322に設けられてい
る。
において、上記第1の点を達成するために、LFPフラ
グ313が設けられ、第2の点を実現するためにラッチ
314及びセレクタ315が設けられている。更に、前
記LPFフラグ313をセット状態(第1の状態)にす
るための制御論理(図10)、LPFフラグ313をリ
セット状態(第2の状態)にするための制御論理(図1
1)、前記ラッチ314及びセレクタ315の制御論理
(図12)等がキャッシュ制御部322に設けられてい
る。
【0061】前記LPFフラグ313は、例えばセット
・リセット型のフリップフロップによって構成される。
LPFフラグ313の状態信号(LPFV)316はセ
ット状態でハイレベル(“1”)、リセット状態でロー
レベル(“0”)とされる。
・リセット型のフリップフロップによって構成される。
LPFフラグ313の状態信号(LPFV)316はセ
ット状態でハイレベル(“1”)、リセット状態でロー
レベル(“0”)とされる。
【0062】フラグ制御手段を構成するセット制御論理
400は、図10に例示される。ナンドゲートG1は、
次回の通常命令フェッチ(NIF)のアドレスが今回と
同一キャッシュラインか否かを検出する。図8で説明し
たようにオフセットアドレスのCAB[3],CAB[2]が1,1以
外であれば、次回の通常命令フェッチのアドレスで指定
されるデータは今回と同一キャッシュライン内にある。
オアゲートG2はウェイヒット/ミス信号115h〜1
18hを入力してキャッシュメモリのヒット状態を検出
する。このキャッシュヒット状態が命令フェッチ動作時
のものであることは、バスコマンドの第2ビットBCMD
[1]が論理値“1”であることをアンドゲートG3で検
出すればよい。アンドゲートG3のハイレベル出力は命
令フェッチでキャッシュヒット状態であることを示す。
これにより、セット信号309は、LPFV316がロ
ーレベルであれば、キャッシュヒット状態で且つそのと
きのアクセスアドレス信号のオフセットアドレスがキャ
ッシュラインの最終の4バイト以外を示すとき、又は、
キャッシュミス状態であることに呼応してキャッシュフ
ィル動作が行われ且つキャッシュミス状態に係るアクセ
スアドレス信号のオフセットアドレスがキャッシュライ
ンの最終の4バイト以外の領域を示すとき、セット状態
(第1状態)にされる。
400は、図10に例示される。ナンドゲートG1は、
次回の通常命令フェッチ(NIF)のアドレスが今回と
同一キャッシュラインか否かを検出する。図8で説明し
たようにオフセットアドレスのCAB[3],CAB[2]が1,1以
外であれば、次回の通常命令フェッチのアドレスで指定
されるデータは今回と同一キャッシュライン内にある。
オアゲートG2はウェイヒット/ミス信号115h〜1
18hを入力してキャッシュメモリのヒット状態を検出
する。このキャッシュヒット状態が命令フェッチ動作時
のものであることは、バスコマンドの第2ビットBCMD
[1]が論理値“1”であることをアンドゲートG3で検
出すればよい。アンドゲートG3のハイレベル出力は命
令フェッチでキャッシュヒット状態であることを示す。
これにより、セット信号309は、LPFV316がロ
ーレベルであれば、キャッシュヒット状態で且つそのと
きのアクセスアドレス信号のオフセットアドレスがキャ
ッシュラインの最終の4バイト以外を示すとき、又は、
キャッシュミス状態であることに呼応してキャッシュフ
ィル動作が行われ且つキャッシュミス状態に係るアクセ
スアドレス信号のオフセットアドレスがキャッシュライ
ンの最終の4バイト以外の領域を示すとき、セット状態
(第1状態)にされる。
【0063】フラグ制御手段を構成するリセット制御論
理401は、図11に例示される。アンドゲートG4
は、次回の通常命令フェッチのアドレスで指定されるデ
ータが今回と異なるキャッシュラインにあるかを検出す
る。図8で説明したようにオフセットアドレスのCAB
[3],CAB[2]が1,1であれば、次の通常命令フェッチで
キャッシュヒット状態とされるキャッシュラインは今回
とは別のキャッシュラインになる。ノアゲートG5はウ
ェイヒット/ミス信号115h〜118hを入力してキ
ャッシュメモリのキャッシュミス状態を検出する。この
キャッシュミス状態が命令フェッチ動作時のものである
ことは、バスコマンドの第2ビットBCMD[1]が論理値
“1”であることをアンドゲートG6で検出すればよ
い。アンドゲートG6のハイレベル出力は命令フェッチ
でキャッシュミス状態であることを示す。これにより、
リセット信号309は、アドレス比較結果がキャッシュ
ミス状態、命令フェッチアドレスのオフセットアドレス
がキャッシュラインの最終の4バイトの領域を示すと
き、又はキャッシュメモリにリセットが指示されたと
き、リセット状態(第2状態)にされる。
理401は、図11に例示される。アンドゲートG4
は、次回の通常命令フェッチのアドレスで指定されるデ
ータが今回と異なるキャッシュラインにあるかを検出す
る。図8で説明したようにオフセットアドレスのCAB
[3],CAB[2]が1,1であれば、次の通常命令フェッチで
キャッシュヒット状態とされるキャッシュラインは今回
とは別のキャッシュラインになる。ノアゲートG5はウ
ェイヒット/ミス信号115h〜118hを入力してキ
ャッシュメモリのキャッシュミス状態を検出する。この
キャッシュミス状態が命令フェッチ動作時のものである
ことは、バスコマンドの第2ビットBCMD[1]が論理値
“1”であることをアンドゲートG6で検出すればよ
い。アンドゲートG6のハイレベル出力は命令フェッチ
でキャッシュミス状態であることを示す。これにより、
リセット信号309は、アドレス比較結果がキャッシュ
ミス状態、命令フェッチアドレスのオフセットアドレス
がキャッシュラインの最終の4バイトの領域を示すと
き、又はキャッシュメモリにリセットが指示されたと
き、リセット状態(第2状態)にされる。
【0064】前記ラッチ314及びセレクタ315の制
御論理402を示す図12において、311はセレクタ
315の選択信号、312はラッチ314のラッチ制御
信号である。320で示されるものは、命令フェッチに
おけるキャッシュミス状態に起因したキャッシュフィル
の対象とされたウェイの選択信号(キャッシュフィルウ
ェイ選択信号)である。キャッシュフィルウェイ選択信
号320はキャッシュ制御部322から出力される。選
択信号311は命令フェッチでキャッシュヒット状態の
ときハイレベルにされ、アドレス比較動作によるウェイ
選択信号132を選択し、選択されたウェイ選択信号1
32をラッチ314に保持させる。命令フェッチ時のキ
ャッシュミス状態に起因するキャッシュフィルが行われ
るとき前記選択信号311はローレベルであるから、キ
ャッシュフィルウェイ選択信号320がセレクタ315
で選択され、選択された信号がラッチ314に保持され
る。上記キャッシュヒット状態の時のウェイ選択信号及
びキャッシュフィル時におけるウェイ選択信号のラッチ
動作は、図10で説明したLPFフラグ313のセット
動作と並行に行われることは明らかである。
御論理402を示す図12において、311はセレクタ
315の選択信号、312はラッチ314のラッチ制御
信号である。320で示されるものは、命令フェッチに
おけるキャッシュミス状態に起因したキャッシュフィル
の対象とされたウェイの選択信号(キャッシュフィルウ
ェイ選択信号)である。キャッシュフィルウェイ選択信
号320はキャッシュ制御部322から出力される。選
択信号311は命令フェッチでキャッシュヒット状態の
ときハイレベルにされ、アドレス比較動作によるウェイ
選択信号132を選択し、選択されたウェイ選択信号1
32をラッチ314に保持させる。命令フェッチ時のキ
ャッシュミス状態に起因するキャッシュフィルが行われ
るとき前記選択信号311はローレベルであるから、キ
ャッシュフィルウェイ選択信号320がセレクタ315
で選択され、選択された信号がラッチ314に保持され
る。上記キャッシュヒット状態の時のウェイ選択信号及
びキャッシュフィル時におけるウェイ選択信号のラッチ
動作は、図10で説明したLPFフラグ313のセット
動作と並行に行われることは明らかである。
【0065】したがって、フラグ制御手段を構成する前
記セット制御論理400及びリセット制御論理401に
より、LPFV316は、次の通常命令フェッチでは、
アドレス比較動作を介することなく同一キャッシュライ
ンでキャッシュヒットになる状態を示すことができる。
このとき、キャッシュヒット状態になるウェイを選択す
る情報はラッチ314にラッチされる。
記セット制御論理400及びリセット制御論理401に
より、LPFV316は、次の通常命令フェッチでは、
アドレス比較動作を介することなく同一キャッシュライ
ンでキャッシュヒットになる状態を示すことができる。
このとき、キャッシュヒット状態になるウェイを選択す
る情報はラッチ314にラッチされる。
【0066】尚、図10のセット制御論理400におい
ては命令フェッチにおけるキャッシュミス状態に起因し
たキャッシュフィルを考慮してLPFフラグ313をセ
ット状態にしたが、それをセット要因から除外してもよ
い。そうした場合には、キャッシュフィル動作の次の連
続命令フェッチでLPFフラグ313がセット状態にさ
れることになる。同様にその場合には、図12におい
て、命令キャッシュフィル動作ではラッチ314のラッ
チ動作が不要になる。
ては命令フェッチにおけるキャッシュミス状態に起因し
たキャッシュフィルを考慮してLPFフラグ313をセ
ット状態にしたが、それをセット要因から除外してもよ
い。そうした場合には、キャッシュフィル動作の次の連
続命令フェッチでLPFフラグ313がセット状態にさ
れることになる。同様にその場合には、図12におい
て、命令キャッシュフィル動作ではラッチ314のラッ
チ動作が不要になる。
【0067】前記ラッチ314にラッチされたウェイ選
択情報を用い、アドレス比較を行わずにキャッシュメモ
リ4を動作させるかは、CPU101からのバスコマン
ド104とLPFV316の状態とを用いてキャッシュ
制御部322が判定する。そのための判定制御論理が図
13及び図14に示される。
択情報を用い、アドレス比較を行わずにキャッシュメモ
リ4を動作させるかは、CPU101からのバスコマン
ド104とLPFV316の状態とを用いてキャッシュ
制御部322が判定する。そのための判定制御論理が図
13及び図14に示される。
【0068】図13には前記セレクタ304の選択論理
403が示される。LPFV316がセット状態で、バ
スコマンド104が通常命令フェッチ(NIF)を示し
ているとき、セレクタ304は、ラッチ314が保持し
ているウェイ選択信号317を選択し、それ以外の場合
には実際のアドレス比較によって得られたウェイ選択信
号(ウェイヒット/ミス信号)132が選択される。明
らかなように、前者ではアドレスアレイ109の動作は
不要である。
403が示される。LPFV316がセット状態で、バ
スコマンド104が通常命令フェッチ(NIF)を示し
ているとき、セレクタ304は、ラッチ314が保持し
ているウェイ選択信号317を選択し、それ以外の場合
には実際のアドレス比較によって得られたウェイ選択信
号(ウェイヒット/ミス信号)132が選択される。明
らかなように、前者ではアドレスアレイ109の動作は
不要である。
【0069】図14にはアドレスアレイ109の各メモ
リブロック115〜118に共通の動作制御信号106
と、データアレイ110の各メモリブロック119〜1
22に個別の動作制御信号305〜308の制御論理
(404)が示される。同図において、オアゲートG1
0はデータアクセス(DA)、通常命令フェッチ(NI
F)又は強制命令フェッチ(FIF)においてハイレベ
ルを出力する。アンドゲートG11は通常命令フェッチ
(NIF)の時にハイレベルを出力する。アンドゲート
G12は前記LPFV316がセット状態(ハイレベ
ル)で且つ通常命令フェッチ(NIF)のときハイレベ
ルを出力する。
リブロック115〜118に共通の動作制御信号106
と、データアレイ110の各メモリブロック119〜1
22に個別の動作制御信号305〜308の制御論理
(404)が示される。同図において、オアゲートG1
0はデータアクセス(DA)、通常命令フェッチ(NI
F)又は強制命令フェッチ(FIF)においてハイレベ
ルを出力する。アンドゲートG11は通常命令フェッチ
(NIF)の時にハイレベルを出力する。アンドゲート
G12は前記LPFV316がセット状態(ハイレベ
ル)で且つ通常命令フェッチ(NIF)のときハイレベ
ルを出力する。
【0070】よって、アドレスアレイ109の動作制御
信号106は、前記LPFV316がセット状態(ハイ
レベル)で且つ通常命令フェッチ(NIF)のときロー
レベルにされ、これによってアドレスアレイ109の動
作を抑止する。データアクセス(DA)、LPFV31
6のリセット状態における通常命令フェッチ(NIF)
又は強制命令フェッチ(FIF)では、アドレスアレイ
109は動作可能にされ、アドレス比較動作を行う。
信号106は、前記LPFV316がセット状態(ハイ
レベル)で且つ通常命令フェッチ(NIF)のときロー
レベルにされ、これによってアドレスアレイ109の動
作を抑止する。データアクセス(DA)、LPFV31
6のリセット状態における通常命令フェッチ(NIF)
又は強制命令フェッチ(FIF)では、アドレスアレイ
109は動作可能にされ、アドレス比較動作を行う。
【0071】また、データアレイ110のメモリブロッ
ク119〜122に対する動作制御信号305〜308
は、前記LPFV316がセット状態(ハイレベル)で
且つ通常命令フェッチ(NIF)のとき、ラッチ314
から出力されるウェイ選択信号317(LPFWAY[0],LPFW
AY[1],LPFWAY[2],LPFWAY[3])が選択するウェイに対応
されるメモリブロックだけを動作可能にする。それ以外
ではデータアレイ110の全てのメモリブロック119
〜122が並列的に動作可能にされる。
ク119〜122に対する動作制御信号305〜308
は、前記LPFV316がセット状態(ハイレベル)で
且つ通常命令フェッチ(NIF)のとき、ラッチ314
から出力されるウェイ選択信号317(LPFWAY[0],LPFW
AY[1],LPFWAY[2],LPFWAY[3])が選択するウェイに対応
されるメモリブロックだけを動作可能にする。それ以外
ではデータアレイ110の全てのメモリブロック119
〜122が並列的に動作可能にされる。
【0072】以上より明らかなように、LPFフラグ3
13(LPFV316)は、そのセット状態により、次
の通常命令フェッチではアドレス比較動作を介すること
なく同一キャッシュラインでキャッシュヒットになる状
態を示すことができる。このとき、キャッシュヒットに
なるウェイを選択する情報はラッチ314にラッチされ
る。LPFフラグ313がセットされた状態(LPFV
=1)で、次の命令アクセスが通常命令フェッチ(NI
F)であれば(この状態をLPFヒット状態と称す
る)、図14の制御論理404によって、アドレスアレ
イ109の動作が抑止され、その前の命令キャッシュヒ
ット状態又はキャッシュフィルに係るウェイのメモリブ
ロックの動作がラッチ314のウェイ選択情報を利用し
て選択され、選択されたメモリブロックから読み出され
たデータは、同じくラッチ314のウェイ選択情報を利
用して選ばれて、CPU101に供給される。
13(LPFV316)は、そのセット状態により、次
の通常命令フェッチではアドレス比較動作を介すること
なく同一キャッシュラインでキャッシュヒットになる状
態を示すことができる。このとき、キャッシュヒットに
なるウェイを選択する情報はラッチ314にラッチされ
る。LPFフラグ313がセットされた状態(LPFV
=1)で、次の命令アクセスが通常命令フェッチ(NI
F)であれば(この状態をLPFヒット状態と称す
る)、図14の制御論理404によって、アドレスアレ
イ109の動作が抑止され、その前の命令キャッシュヒ
ット状態又はキャッシュフィルに係るウェイのメモリブ
ロックの動作がラッチ314のウェイ選択情報を利用し
て選択され、選択されたメモリブロックから読み出され
たデータは、同じくラッチ314のウェイ選択情報を利
用して選ばれて、CPU101に供給される。
【0073】図15にはLPFヒット状態における信号
の流れを太線で示している。LPFヒット状態では、ア
ドレスアレイ109を動作させず、データアレイ110
の1個のウェイもしくはメモリブロックのみ動作させれ
ば充分である。LPFフラグ313が1にセットされて
おり(LPFV=1)、ラッチ314には第1ウェイの
選択を意味する値がセットされているものとする。
の流れを太線で示している。LPFヒット状態では、ア
ドレスアレイ109を動作させず、データアレイ110
の1個のウェイもしくはメモリブロックのみ動作させれ
ば充分である。LPFフラグ313が1にセットされて
おり(LPFV=1)、ラッチ314には第1ウェイの
選択を意味する値がセットされているものとする。
【0074】CPU101がバスコマンド104により
NIFアクセスをキャッシュ制御回路322に指示する
と共にアドレスをアドレスバス107に出力すると、キ
ャッシュ制御回路322は、LPFV316がセット状
態(=1)でバスコマンド104がNIFアクセスを指
示していることを検出すると、LPFヒット状態を認識
する。これによりウェイ選択信号317が示す第1ウェ
イのメモリブロック119を動作させる。このときデー
タアレイ110の他のメモリブロックの動作指示信号3
06〜308及びアドレスアレイ109の動作制御信号
106はネゲート状態を維持する。また、選択信号30
3によりセレクタ304はウェイ選択信号317を選択
する。これにより、データアレイ110の出力として第
1ウェイのメモリブロック119の出力が選択される。
メモリブロック119から読み出された命令コードは一
旦ラッチ124で保持され、セレクタ111で選択さ
れ、データバス108を経由してCPU101に渡され
る。このようにLPFヒット時はデータアレイ110の
一つのメモリブロック119だけを動作させればよく、
その他のメモリブロックは動作されない。これによっ
て、無駄な電力消費が押さえられる。また、前回アクセ
スのインデックスアドレスを単に覚え、これを今回のイ
ンデックスアドレスと比較するような、単純な予想に基
づく制御ではないので、LPFV316とバスコマンド
104に基づく判定結果に誤りは生ぜず、再度アドレス
判定からやり直す事態を一切生ぜず、データ読み出し動
作の遅れを完全に防止できる。
NIFアクセスをキャッシュ制御回路322に指示する
と共にアドレスをアドレスバス107に出力すると、キ
ャッシュ制御回路322は、LPFV316がセット状
態(=1)でバスコマンド104がNIFアクセスを指
示していることを検出すると、LPFヒット状態を認識
する。これによりウェイ選択信号317が示す第1ウェ
イのメモリブロック119を動作させる。このときデー
タアレイ110の他のメモリブロックの動作指示信号3
06〜308及びアドレスアレイ109の動作制御信号
106はネゲート状態を維持する。また、選択信号30
3によりセレクタ304はウェイ選択信号317を選択
する。これにより、データアレイ110の出力として第
1ウェイのメモリブロック119の出力が選択される。
メモリブロック119から読み出された命令コードは一
旦ラッチ124で保持され、セレクタ111で選択さ
れ、データバス108を経由してCPU101に渡され
る。このようにLPFヒット時はデータアレイ110の
一つのメモリブロック119だけを動作させればよく、
その他のメモリブロックは動作されない。これによっ
て、無駄な電力消費が押さえられる。また、前回アクセ
スのインデックスアドレスを単に覚え、これを今回のイ
ンデックスアドレスと比較するような、単純な予想に基
づく制御ではないので、LPFV316とバスコマンド
104に基づく判定結果に誤りは生ぜず、再度アドレス
判定からやり直す事態を一切生ぜず、データ読み出し動
作の遅れを完全に防止できる。
【0075】図16には前記LPFミス状態における信
号の流れを太線で示している。例えばLPFフラグ31
3(LPFV316)がリセットされて0となっている
ものとする。この状態でCPU101がバスコマンド1
04によってNIFアクセスを指示しても、LPFV=
0であるから、キャッシュ制御部322はLPFミス状
態を検出する。これによってキャッシュ制御部322は
動作制御信号106をアサートして、アドレスアレイ1
09を動作させる。キャッシュ制御部322はそれに並
行して動作制御信号305〜308を全てアサートし
て、データアレイ110の全てのメモリブロック119
〜122を動作可能にする。また、キャッシュ制御部3
22は制御信号303によりセレクタ304に信号13
2を選択させる。アドレスアレイ109におけるインデ
ックス動作及びアドレス比較動作により第1ウェイでキ
ャッシュヒットしたとすると、データアレイ110の各
メモリブロック119〜122でインデックスされたキ
ャッシュラインのデータのうち、第1ウェイのメモリブ
ロック119から読み出された命令がキャッシュヒット
信号131を基に選択信号132によってセレクタ11
1で選択される。このようにして選択された命令コード
はデータバス108を経由してCPU101に渡され
る。LPFヒット状態でない場合には、LPFヒット状
態に比べて無駄な電力消費はあるものの、アドレスアレ
イとデータアレイを並列動作させる形式と同等のデータ
読み出し速度を維持しできる。
号の流れを太線で示している。例えばLPFフラグ31
3(LPFV316)がリセットされて0となっている
ものとする。この状態でCPU101がバスコマンド1
04によってNIFアクセスを指示しても、LPFV=
0であるから、キャッシュ制御部322はLPFミス状
態を検出する。これによってキャッシュ制御部322は
動作制御信号106をアサートして、アドレスアレイ1
09を動作させる。キャッシュ制御部322はそれに並
行して動作制御信号305〜308を全てアサートし
て、データアレイ110の全てのメモリブロック119
〜122を動作可能にする。また、キャッシュ制御部3
22は制御信号303によりセレクタ304に信号13
2を選択させる。アドレスアレイ109におけるインデ
ックス動作及びアドレス比較動作により第1ウェイでキ
ャッシュヒットしたとすると、データアレイ110の各
メモリブロック119〜122でインデックスされたキ
ャッシュラインのデータのうち、第1ウェイのメモリブ
ロック119から読み出された命令がキャッシュヒット
信号131を基に選択信号132によってセレクタ11
1で選択される。このようにして選択された命令コード
はデータバス108を経由してCPU101に渡され
る。LPFヒット状態でない場合には、LPFヒット状
態に比べて無駄な電力消費はあるものの、アドレスアレ
イとデータアレイを並列動作させる形式と同等のデータ
読み出し速度を維持しできる。
【0076】尚、前記キャッシュメモリ4に対するキャ
ッシュフィル動作はブロッキングキャッシュを想定し
た。すなわち、1キャッシュラインのキャッシュフィル
が完了して初めてCPU101にバスレディ信号103
をアサートする。ノンブロッキング方式の場合でも1キ
ャッシュライン分のキャッシュフィルが終了してからL
PFフラグ313をセットするなどすれば、同様の効果
を得ることは可能である。これは、図8の一つキャッシ
ュライン610に連続して格納されている16バイトの
命令に対し、先頭の4バイトの命令がキャッシュヒット
状態ならば、必ず残り12バイトの命令もキャッシュヒ
ット状態になり得ることを保証するためである。
ッシュフィル動作はブロッキングキャッシュを想定し
た。すなわち、1キャッシュラインのキャッシュフィル
が完了して初めてCPU101にバスレディ信号103
をアサートする。ノンブロッキング方式の場合でも1キ
ャッシュライン分のキャッシュフィルが終了してからL
PFフラグ313をセットするなどすれば、同様の効果
を得ることは可能である。これは、図8の一つキャッシ
ュライン610に連続して格納されている16バイトの
命令に対し、先頭の4バイトの命令がキャッシュヒット
状態ならば、必ず残り12バイトの命令もキャッシュヒ
ット状態になり得ることを保証するためである。
【0077】次にキャッシュメモリ4の動作を図17乃
至図19のタイミングチャートを参照しながら説明す
る。
至図19のタイミングチャートを参照しながら説明す
る。
【0078】図17にはLPF機能を採用しないキャッ
シュメモリにおいて連続命令フェッチを行うときの動作
タイミングの一例が示される。同図においてWAY0ア
ドレスアレイ〜WAY3アドレスアレイはアドレスアレ
イ109のメモリブロック115〜118を意味し、W
AY0データアレイ〜WAY3データアレイはデータア
レイ110のメモリブロック119〜122を意味す
る。時刻1でバスコマンドがNIF、アドレスバス上の
アドレスがH'00になっているとする。これにより、アド
レスアレイ109及びデータアレイ110の全てがメモ
リ動作され、アドレスアレイにおけるアドレス比較動作
によってヒットウェイが判定され、ヒット状態のウェイ
でインデックスされた命令が選択されてデータバスに出
力される。時刻9までNIFが連続しているが、毎回全
てのアドレスアレイ109とデータアレイ110が動作
される。
シュメモリにおいて連続命令フェッチを行うときの動作
タイミングの一例が示される。同図においてWAY0ア
ドレスアレイ〜WAY3アドレスアレイはアドレスアレ
イ109のメモリブロック115〜118を意味し、W
AY0データアレイ〜WAY3データアレイはデータア
レイ110のメモリブロック119〜122を意味す
る。時刻1でバスコマンドがNIF、アドレスバス上の
アドレスがH'00になっているとする。これにより、アド
レスアレイ109及びデータアレイ110の全てがメモ
リ動作され、アドレスアレイにおけるアドレス比較動作
によってヒットウェイが判定され、ヒット状態のウェイ
でインデックスされた命令が選択されてデータバスに出
力される。時刻9までNIFが連続しているが、毎回全
てのアドレスアレイ109とデータアレイ110が動作
される。
【0079】図18はLPFヒットになるNIFアクセ
スが連続する時の動作の一例を示す。時刻1でバスコマ
ンドがNIF、アドレスバス上のアドレスがH'00となっ
ている。この状態では、アドレスアレイ109及びデー
タアレイ110は全て動作されている。これはキャッシ
ュラインの先頭なので、前回の命令フェッチのキャッシ
ュラインとの関係がわからないからである。アドレスア
レイ109の読み出しデータに基づくアドレス比較動作
により、例えば第1ウェイに必要な命令が登録されてい
ることがわると、時刻2にデータアレイ110の第1ウ
ェイ(WAY0データアレイ)より命令コードがデータ
バスに読み出される。第1ウェイでヒットしたという情
報は前記ラッチ314に保存される。また、LPFフラ
グ313がセットされ、次回のNIFアクセスに備え
る。
スが連続する時の動作の一例を示す。時刻1でバスコマ
ンドがNIF、アドレスバス上のアドレスがH'00となっ
ている。この状態では、アドレスアレイ109及びデー
タアレイ110は全て動作されている。これはキャッシ
ュラインの先頭なので、前回の命令フェッチのキャッシ
ュラインとの関係がわからないからである。アドレスア
レイ109の読み出しデータに基づくアドレス比較動作
により、例えば第1ウェイに必要な命令が登録されてい
ることがわると、時刻2にデータアレイ110の第1ウ
ェイ(WAY0データアレイ)より命令コードがデータ
バスに読み出される。第1ウェイでヒットしたという情
報は前記ラッチ314に保存される。また、LPFフラ
グ313がセットされ、次回のNIFアクセスに備え
る。
【0080】時刻2ではバスコマンドがNIF、アドレ
スバス上のアドレスがH'04となっている。このアドレス
は前回のアクセスアドレスに対して4バイト加算された
アドレスになっている。LPFV316がセット状態に
なっているので、ラッチ314が保持する値(LPFW
AY)が示す第1ウェイに目的の命令コードが格納され
ていることになる。ラッチ314が保持する第1ウェイ
の指示信号等に基づいてデータアレイ110の第1ウェ
イに応ずるメモリブロック119を動作させて、目的の
命令コードを当該メモリブロック119から読み出す。
このとき、アドレスアレイ109及びデータアレイ11
0のその他のメモリブロック120〜122の動作は不
要である。図中、時刻4、時刻8でLPFV=0となっ
ている。これは、キャッシュラインの最後の4バイトに
当たるためLPFVをリセットしたためである。図中、
網かけ部分は動作不要部分を意味する。図17に比べる
と、アドレスアレイ109やデータアレイ110の一部
の動作を停止することができる。また、CPU101か
らのアクセス要求に対し、図17の場合と同様に、時刻
1〜9で動作を完了している。即ち、図17に対してデ
ータ読み出しのタイムラグは発生していない。
スバス上のアドレスがH'04となっている。このアドレス
は前回のアクセスアドレスに対して4バイト加算された
アドレスになっている。LPFV316がセット状態に
なっているので、ラッチ314が保持する値(LPFW
AY)が示す第1ウェイに目的の命令コードが格納され
ていることになる。ラッチ314が保持する第1ウェイ
の指示信号等に基づいてデータアレイ110の第1ウェ
イに応ずるメモリブロック119を動作させて、目的の
命令コードを当該メモリブロック119から読み出す。
このとき、アドレスアレイ109及びデータアレイ11
0のその他のメモリブロック120〜122の動作は不
要である。図中、時刻4、時刻8でLPFV=0となっ
ている。これは、キャッシュラインの最後の4バイトに
当たるためLPFVをリセットしたためである。図中、
網かけ部分は動作不要部分を意味する。図17に比べる
と、アドレスアレイ109やデータアレイ110の一部
の動作を停止することができる。また、CPU101か
らのアクセス要求に対し、図17の場合と同様に、時刻
1〜9で動作を完了している。即ち、図17に対してデ
ータ読み出しのタイムラグは発生していない。
【0081】図19にはLPFヒットになるNIFアク
セスが連続するときキャッシュミス状態とキャッシュフ
ィルが発生する動作の一例を示す。時刻1のNIFアク
セスにおいてキャッシュミス状態を生じ、これに起因し
て時刻2、3、4、5ではデータアレイWAY0へのキ
ャッシュフィルが行われる。ここではキャッシュフィル
すべき書き込みデータは4バイトづつ読み込まれる。そ
して、最後のデータの登録を行う時刻5において、LP
Fフラグ313がセット状態にされ(LPFV=1)、
これに並行して、ラッチ314に第1ウェイ情報の指示
情報が登録される。登録完了後のNIFアクセスではキ
ャッシュヒット状態の連続となり、図18と同様に、メ
モリ動作は、命令の読み出しに必要なデータアレイ11
0の第1ウェイだけで充分となる。
セスが連続するときキャッシュミス状態とキャッシュフ
ィルが発生する動作の一例を示す。時刻1のNIFアク
セスにおいてキャッシュミス状態を生じ、これに起因し
て時刻2、3、4、5ではデータアレイWAY0へのキ
ャッシュフィルが行われる。ここではキャッシュフィル
すべき書き込みデータは4バイトづつ読み込まれる。そ
して、最後のデータの登録を行う時刻5において、LP
Fフラグ313がセット状態にされ(LPFV=1)、
これに並行して、ラッチ314に第1ウェイ情報の指示
情報が登録される。登録完了後のNIFアクセスではキ
ャッシュヒット状態の連続となり、図18と同様に、メ
モリ動作は、命令の読み出しに必要なデータアレイ11
0の第1ウェイだけで充分となる。
【0082】図20にはFIFアクセスが連続してキャ
ッシュヒットとされる場合の動作の一例が示される。こ
の場合、FIFアクセスによる命令フェッチであるた
め、LPF機能は全く利用されない。FIFアクセスで
は前回の命令フェッチアドレスをもとに、今回の命令ア
ドレスが求めることはできない。ただし、この場合で
も、電力消費とデータ読み出し速度(CPU101によ
るアドレス出力から命令読み込みまでの時間)は図17
と同様であり、悪化することはない。
ッシュヒットとされる場合の動作の一例が示される。こ
の場合、FIFアクセスによる命令フェッチであるた
め、LPF機能は全く利用されない。FIFアクセスで
は前回の命令フェッチアドレスをもとに、今回の命令ア
ドレスが求めることはできない。ただし、この場合で
も、電力消費とデータ読み出し速度(CPU101によ
るアドレス出力から命令読み込みまでの時間)は図17
と同様であり、悪化することはない。
【0083】《キャッシュメモリの第2の例》次に、前
記キャッシュメモリ4を命令/データを混在させて格納
するキャッシュメモリ(ユニファイドキャッシュメモ
リ)として構成する場合について説明する。
記キャッシュメモリ4を命令/データを混在させて格納
するキャッシュメモリ(ユニファイドキャッシュメモ
リ)として構成する場合について説明する。
【0084】第1の例のような命令キャッシュメモリと
は異なり、命令/データ混在キャッシュメモリでは、デ
ータのキャッシュフィルにより、命令のキャッシュエン
トリが着目するキャッシュラインから追い出されてしま
う場合を考慮しなければならない。最も簡単な対策は、
データのキャッシュフィルが発生した時、併せて前記L
PFフラグ313をリセットすればよい。但し、その場
合には、データのキャッシュフィル対象キャッシュライ
ンが命令フェッチ中のキャッシュラインでなくても、L
PFフラグ313がリセットされ、その直後にLPFヒ
ット状態になり得る場合であってもLPFミス状態にな
ってしまい、この点で、低消費電力化の効果が薄れるこ
とになる。以下の説明では、データのキャッシュフィル
により、命令のキャッシュエントリが着目するキャッシ
ュラインから追い出されたか否かを検出する場合の例を
説明する。
は異なり、命令/データ混在キャッシュメモリでは、デ
ータのキャッシュフィルにより、命令のキャッシュエン
トリが着目するキャッシュラインから追い出されてしま
う場合を考慮しなければならない。最も簡単な対策は、
データのキャッシュフィルが発生した時、併せて前記L
PFフラグ313をリセットすればよい。但し、その場
合には、データのキャッシュフィル対象キャッシュライ
ンが命令フェッチ中のキャッシュラインでなくても、L
PFフラグ313がリセットされ、その直後にLPFヒ
ット状態になり得る場合であってもLPFミス状態にな
ってしまい、この点で、低消費電力化の効果が薄れるこ
とになる。以下の説明では、データのキャッシュフィル
により、命令のキャッシュエントリが着目するキャッシ
ュラインから追い出されたか否かを検出する場合の例を
説明する。
【0085】図21には前記ユニファイドキャッシュメ
モリとして構成したキャッシュメモリ4Aのブロック図
が示される。図1との相違点はLPFモジュール301
A及びキャッシュ制御回路322Aの構成である。図1
と同一機能を有する回路ブロック及び信号には同一符号
を付してその詳細な説明を省略する。
モリとして構成したキャッシュメモリ4Aのブロック図
が示される。図1との相違点はLPFモジュール301
A及びキャッシュ制御回路322Aの構成である。図1
と同一機能を有する回路ブロック及び信号には同一符号
を付してその詳細な説明を省略する。
【0086】図22にはLPFモジュール301Aの一
例が示される。LPFモジュール301Aは前記LPF
フラグ313、ラッチ314及びセレクタ315の他
に、ラッチ1108及び比較器1109,1112を有
する。ラッチ1108はインデックスアドレス607を
ラッチする。比較器1109はラッチ1108に保持さ
れている値とインデックスアドレス607とを比較し、
一致する場合に信号1110をハイレベルにする。前記
比較器1112はラッチ314に保持されているウェイ
選択信号と前記キャッシュフィル時のウェイ選択信号3
20とを比較し、一致するとき信号1113をハイレベ
ルにする。
例が示される。LPFモジュール301Aは前記LPF
フラグ313、ラッチ314及びセレクタ315の他
に、ラッチ1108及び比較器1109,1112を有
する。ラッチ1108はインデックスアドレス607を
ラッチする。比較器1109はラッチ1108に保持さ
れている値とインデックスアドレス607とを比較し、
一致する場合に信号1110をハイレベルにする。前記
比較器1112はラッチ314に保持されているウェイ
選択信号と前記キャッシュフィル時のウェイ選択信号3
20とを比較し、一致するとき信号1113をハイレベ
ルにする。
【0087】前記信号311及び312の生成論理は図
23に例示されている。同図に示される論理は図12で
説明した論理402と同様である。図12との相違は双
方のラッチ314及び1108のラッチ動作が前記信号
312で制御されることである。したがって、命令フェ
ッチがキャッシュヒット状態のとき、ラッチ314には
キャッシュヒットに係るインデックスアドレスが保持さ
れ、ラッチ1108にはキャッシュヒット状態に係るウ
ェイ選択信号が保持される。命令フェッチのキャッシュ
ミス状態に起因するキャッシュフィル状態では、ラッチ
314にはキャッシュフィルに係るウェイ選択信号がラ
ッチされ、ラッチ1108にはキャッシュフィルに係る
インデックスアドレスがラッチされる。
23に例示されている。同図に示される論理は図12で
説明した論理402と同様である。図12との相違は双
方のラッチ314及び1108のラッチ動作が前記信号
312で制御されることである。したがって、命令フェ
ッチがキャッシュヒット状態のとき、ラッチ314には
キャッシュヒットに係るインデックスアドレスが保持さ
れ、ラッチ1108にはキャッシュヒット状態に係るウ
ェイ選択信号が保持される。命令フェッチのキャッシュ
ミス状態に起因するキャッシュフィル状態では、ラッチ
314にはキャッシュフィルに係るウェイ選択信号がラ
ッチされ、ラッチ1108にはキャッシュフィルに係る
インデックスアドレスがラッチされる。
【0088】上記より、ラッチ314、1108にラッ
チされるウェイ選択情報、インデックスアドレス情報は
命令フェッチ又は命令のキャッシュフィルに係る値とさ
れる。したがって、データアクセスにおけるキャッシュ
ミス状態に起因するキャッシュフィル動作において、ラ
ッチ1108に保持されている値と同じインデックスア
ドレスによるインデックス動作が行なわれ、且つラッチ
314に保持されているウェイ選択情報と同じウェイが
選択される状態を、前記比較器1109,1112の出
力信号1110,1113から判断する事ができる。
チされるウェイ選択情報、インデックスアドレス情報は
命令フェッチ又は命令のキャッシュフィルに係る値とさ
れる。したがって、データアクセスにおけるキャッシュ
ミス状態に起因するキャッシュフィル動作において、ラ
ッチ1108に保持されている値と同じインデックスア
ドレスによるインデックス動作が行なわれ、且つラッチ
314に保持されているウェイ選択情報と同じウェイが
選択される状態を、前記比較器1109,1112の出
力信号1110,1113から判断する事ができる。
【0089】前記データアクセスのキャッシュミス状態
に起因したキャッシュフィルで使用されるキャッシュラ
インのインデックスアドレス及びウェイが命令の登録さ
れたキャッシュラインである場合には、当該キャッシュ
ラインから命令が追い出されてしまう。上記より明らか
なように、この場合には、前記信号1110,1113
がハイレベルにされることになる。この状態を生じた後
に、そのまま命令フェッチを継続すると誤動作を生ずる
虞がある。それを回避するために、前記LPFフラグ3
13のリセット条件として、前記信号1110,111
3を参照する。
に起因したキャッシュフィルで使用されるキャッシュラ
インのインデックスアドレス及びウェイが命令の登録さ
れたキャッシュラインである場合には、当該キャッシュ
ラインから命令が追い出されてしまう。上記より明らか
なように、この場合には、前記信号1110,1113
がハイレベルにされることになる。この状態を生じた後
に、そのまま命令フェッチを継続すると誤動作を生ずる
虞がある。それを回避するために、前記LPFフラグ3
13のリセット条件として、前記信号1110,111
3を参照する。
【0090】即ち、図24に示されるリセット制御論理
401Aにおいて、前記LPFV316がセット状態に
されている状態で、キャッシュフィル状態が発生したと
き、前記信号1110,1113がハイレベルにされる
状態をアンドゲートG20で検出し、アンドゲートG2
0のハイレベル出力状態をリセット信号310に反映し
て、前記LPFフラグ313をリセットする。尚、図2
4のその他に回路構成は図11と同じである。また、前
記LPFフラグ313のセット信号309は図10で説
明したセット制御論理400と同じ論理によって生成さ
れる。
401Aにおいて、前記LPFV316がセット状態に
されている状態で、キャッシュフィル状態が発生したと
き、前記信号1110,1113がハイレベルにされる
状態をアンドゲートG20で検出し、アンドゲートG2
0のハイレベル出力状態をリセット信号310に反映し
て、前記LPFフラグ313をリセットする。尚、図2
4のその他に回路構成は図11と同じである。また、前
記LPFフラグ313のセット信号309は図10で説
明したセット制御論理400と同じ論理によって生成さ
れる。
【0091】これにより、命令アクセス時のキャッシュ
フィルでLPFフラグ313をセット状態にでき、デー
タアクセスにおけるキャッシュミス時のキャッシュフィ
ルによって着目命令キャッシュラインが追い出されたと
き、アクセスウェイ及びインデックスアドレスの比較動
作を介してLPFフラグ313をリセットすることがで
きる。
フィルでLPFフラグ313をセット状態にでき、デー
タアクセスにおけるキャッシュミス時のキャッシュフィ
ルによって着目命令キャッシュラインが追い出されたと
き、アクセスウェイ及びインデックスアドレスの比較動
作を介してLPFフラグ313をリセットすることがで
きる。
【0092】次に上記ユニファイドキャッシュメモリ4
Aの動作を説明する。図25には第1ウェイの命令コー
ドがデータアクセス時のキャッシュミスに起因するキャ
ッシュフィルよってキャッシュライン上から追い出され
ない場合の動作タイミングの一例が示される。時刻1で
はアドレスH'000でNIFアクセスが発行されている。
これに対してキャッシュヒット状態とされ、時刻2で命
令コードがデータバスに出力される。これによって、L
PFフラグ313がセットされ(LPFV=1)、ラッ
チ314(LPFWAY)に第1ウェイ、ラッチ110
8にインデックスアドレスH'00がセットされる。
Aの動作を説明する。図25には第1ウェイの命令コー
ドがデータアクセス時のキャッシュミスに起因するキャ
ッシュフィルよってキャッシュライン上から追い出され
ない場合の動作タイミングの一例が示される。時刻1で
はアドレスH'000でNIFアクセスが発行されている。
これに対してキャッシュヒット状態とされ、時刻2で命
令コードがデータバスに出力される。これによって、L
PFフラグ313がセットされ(LPFV=1)、ラッ
チ314(LPFWAY)に第1ウェイ、ラッチ110
8にインデックスアドレスH'00がセットされる。
【0093】時刻2ではアドレスH'004に対してNIF
が要求される。時刻1でLPFフラグ313がセット状
態にされているので、データアレイ110の第1ウェイ
のみ動作される。
が要求される。時刻1でLPFフラグ313がセット状
態にされているので、データアレイ110の第1ウェイ
のみ動作される。
【0094】時刻3ではアドレスH'800にデータアクセ
スが要求される。このときは、アドレスアレイ109及
びデータアレイ110の全てにメモリブロックが動作さ
せるが、キャッシュミスになっている。このためキャッ
シュフィルが行なわれることになり、キャッシュフィル
の対象は例えば第2ウェイであるとする。
スが要求される。このときは、アドレスアレイ109及
びデータアレイ110の全てにメモリブロックが動作さ
せるが、キャッシュミスになっている。このためキャッ
シュフィルが行なわれることになり、キャッシュフィル
の対象は例えば第2ウェイであるとする。
【0095】時刻4〜7でデータアレイ110の第2ウ
ェイに対するキャッシュフィル動作が完了される。この
とき、ラッチ314は第1ウェイの情報を保持している
から、時刻7迄の間に、LPFフラグ313はリセット
されず、セット状態(LPFV=1)を維持する。即
ち、インデックスアドレスH'00の第1ウェイにある、現
在フェッチ中の命令コードは依然キャッシュライン上に
存在している。
ェイに対するキャッシュフィル動作が完了される。この
とき、ラッチ314は第1ウェイの情報を保持している
から、時刻7迄の間に、LPFフラグ313はリセット
されず、セット状態(LPFV=1)を維持する。即
ち、インデックスアドレスH'00の第1ウェイにある、現
在フェッチ中の命令コードは依然キャッシュライン上に
存在している。
【0096】時刻8では、時刻2に続く命令フェッチの
ためにアドレスH'008でNIFが指示される。このと
き、LPFフラグ313はセット状態であり、ラッチ3
14の情報に従ってデータアレイの第1ウェイが動作さ
れ、インデックスアドレスに従って必要な命令コードが
読み出される。
ためにアドレスH'008でNIFが指示される。このと
き、LPFフラグ313はセット状態であり、ラッチ3
14の情報に従ってデータアレイの第1ウェイが動作さ
れ、インデックスアドレスに従って必要な命令コードが
読み出される。
【0097】これに続く時刻9では、アドレスH'00Cへ
のNIFに対して、データアレイの第1ウェイのみ動作
され、命令コードが読み出されるが、当該キャッシュラ
インの最後の領域からのデータ読み出しであるから、L
PFフラグ313はリセットされる(LPFV=0)。
次の命令フェッチでは、アクセスアドレスがH'00C+H'00
4=H'010となり別のキャッシュラインがインデックスさ
れることになるからである。別のキャッシュラインでキ
ャッシュヒットするか否かは改めてアドレスアレイ10
9を動作させて調べる必要がある。
のNIFに対して、データアレイの第1ウェイのみ動作
され、命令コードが読み出されるが、当該キャッシュラ
インの最後の領域からのデータ読み出しであるから、L
PFフラグ313はリセットされる(LPFV=0)。
次の命令フェッチでは、アクセスアドレスがH'00C+H'00
4=H'010となり別のキャッシュラインがインデックスさ
れることになるからである。別のキャッシュラインでキ
ャッシュヒットするか否かは改めてアドレスアレイ10
9を動作させて調べる必要がある。
【0098】図26には第1ウェイの命令コードがデー
タアクセス時のキャッシュミス状態に起因するキャッシ
ュフィルよってキャッシュライン上から追い出される場
合の動作タイミングの一例が示される。
タアクセス時のキャッシュミス状態に起因するキャッシ
ュフィルよってキャッシュライン上から追い出される場
合の動作タイミングの一例が示される。
【0099】時刻1、2の動作は図25と同じである。
時刻3で、H'800に対するデータアクセスが要求され、
これに対してキャッシュミスが発生したとする。そし
て、それに起因するキャッシュフィルの対象が第1ウェ
イであり、直前の命令アクセスと同じインデックスアド
レスであるとする。第1ウェイに対し、時刻4〜7でキ
ャッシュフィルが行われる。この場合には前記LPFフ
ラグ313はリセットされる(LPFV=0)。この状
態において、命令フェッチ中の命令が登録されているキ
ャッシュラインにデータがキャッシュフィルされたの
で、必要な命令が当該キャッシュから追い出されてい
る。このため、時刻8でのH'008へのNIFアクセスで
は、LPFヒットとはならず、アドレスアレイとデータ
アレイの全てのメモリブロックを動作させてキャッシュ
メモリ動作が行なわれることになる。この場合には、結
果としてキャッシュミス状態となり、時刻9〜12でキ
ャッシュミスに係る命令のキャッシュフィルが行われ
る。この例では当該キャッシュフィルは第3ウェイに行
なわれている。
時刻3で、H'800に対するデータアクセスが要求され、
これに対してキャッシュミスが発生したとする。そし
て、それに起因するキャッシュフィルの対象が第1ウェ
イであり、直前の命令アクセスと同じインデックスアド
レスであるとする。第1ウェイに対し、時刻4〜7でキ
ャッシュフィルが行われる。この場合には前記LPFフ
ラグ313はリセットされる(LPFV=0)。この状
態において、命令フェッチ中の命令が登録されているキ
ャッシュラインにデータがキャッシュフィルされたの
で、必要な命令が当該キャッシュから追い出されてい
る。このため、時刻8でのH'008へのNIFアクセスで
は、LPFヒットとはならず、アドレスアレイとデータ
アレイの全てのメモリブロックを動作させてキャッシュ
メモリ動作が行なわれることになる。この場合には、結
果としてキャッシュミス状態となり、時刻9〜12でキ
ャッシュミスに係る命令のキャッシュフィルが行われ
る。この例では当該キャッシュフィルは第3ウェイに行
なわれている。
【0100】以上説明したキャッシュメモリの第2の例
によれば、命令アクセス時のキャッシュフィルでLPF
フラグ313をセット状態にでき、データアクセスにお
けるキャッシュミス時のキャッシュフィルによって着目
命令キャッシュラインが追い出されたとき、アクセスウ
ェイ及びインデックスアドレスの比較動作を介してLP
Fフラグ313をリセットすることができる。したがっ
て、ユニファイドキャッシュメモリにおいても第1の例
と同様に、アドレスアレイ109とデータアレイ110
を並列動作させる形式のキャッシュメモリと同等のデー
タ読み出し速度を維持しつつ、低消費電力を実現でき
る。
によれば、命令アクセス時のキャッシュフィルでLPF
フラグ313をセット状態にでき、データアクセスにお
けるキャッシュミス時のキャッシュフィルによって着目
命令キャッシュラインが追い出されたとき、アクセスウ
ェイ及びインデックスアドレスの比較動作を介してLP
Fフラグ313をリセットすることができる。したがっ
て、ユニファイドキャッシュメモリにおいても第1の例
と同様に、アドレスアレイ109とデータアレイ110
を並列動作させる形式のキャッシュメモリと同等のデー
タ読み出し速度を維持しつつ、低消費電力を実現でき
る。
【0101】《キャッシュメモリの第3の例》図27に
はNIFヒット時の電力消費を更に低減したキャッシュ
メモリのブロック図が示される。図27に示されるキャ
ッシュメモリ4Bは図1の構成に対してデータアレイ1
10とキャッシュ制御部322Bの構成が相違される。
はNIFヒット時の電力消費を更に低減したキャッシュ
メモリのブロック図が示される。図27に示されるキャ
ッシュメモリ4Bは図1の構成に対してデータアレイ1
10とキャッシュ制御部322Bの構成が相違される。
【0102】データアレイ110は、前記4個のメモリ
ブロック119〜122と、個々のメモリブロック11
9〜122に一対一対応されるキャッシュラインバッフ
ァ119b〜122bを有する。キャッシュラインバッ
ファ119b〜122bは対応されるメモリブロック1
19〜122でインデックスされたキャッシュラインの
データが内部転送される。メモリブロック119〜12
2は信号1502によってまとめて動作可能にされる。
また、キャッシュラインバッファ119b〜122bの
内部転送は前記ウェイヒット/ミス信号115h〜11
8hと前記セット信号309によって制御される。メモ
リブロック119〜122の出力又はキャッシュライン
バッファ119b〜122bの出力のうち何れを選択す
るかは前記信号303で指示される。
ブロック119〜122と、個々のメモリブロック11
9〜122に一対一対応されるキャッシュラインバッフ
ァ119b〜122bを有する。キャッシュラインバッ
ファ119b〜122bは対応されるメモリブロック1
19〜122でインデックスされたキャッシュラインの
データが内部転送される。メモリブロック119〜12
2は信号1502によってまとめて動作可能にされる。
また、キャッシュラインバッファ119b〜122bの
内部転送は前記ウェイヒット/ミス信号115h〜11
8hと前記セット信号309によって制御される。メモ
リブロック119〜122の出力又はキャッシュライン
バッファ119b〜122bの出力のうち何れを選択す
るかは前記信号303で指示される。
【0103】図28には代表的に一つのメモリブロック
119とキャッシュラインバッファ119bのブロック
図が示される。メモリブロック119の構成は図8と実
質的に同じである。但し、メモリブロック119の活性
化制御は他のメモリブロック120〜122と共通の制
御信号1502によって決定される。620で示される
ものは複数のキャッシュライン610を構成するメモリ
セルアレイである。
119とキャッシュラインバッファ119bのブロック
図が示される。メモリブロック119の構成は図8と実
質的に同じである。但し、メモリブロック119の活性
化制御は他のメモリブロック120〜122と共通の制
御信号1502によって決定される。620で示される
ものは複数のキャッシュライン610を構成するメモリ
セルアレイである。
【0104】キャッシュラインバッファ119bは一つ
のキャッシュラインと同じ記憶容量(この例に従えば1
6バイト)を有するラインメモリアレイ621、ライン
メモリアレイ621から4バイト単位でデータを選択す
るセレクタ622を有する。セレクタ622はメモリブ
ロック119のセレクタ611と同じであり、オフセッ
トアドレス609の前記下位側2ビット(CAB[3],CAB
[2])によって4バイト単位の選択動作を行なう。セレ
クタ611と622の出力はセレクタ623で選択さ
れ、選択された4バイトのデータが前記ラッチ124に
与えられる。
のキャッシュラインと同じ記憶容量(この例に従えば1
6バイト)を有するラインメモリアレイ621、ライン
メモリアレイ621から4バイト単位でデータを選択す
るセレクタ622を有する。セレクタ622はメモリブ
ロック119のセレクタ611と同じであり、オフセッ
トアドレス609の前記下位側2ビット(CAB[3],CAB
[2])によって4バイト単位の選択動作を行なう。セレ
クタ611と622の出力はセレクタ623で選択さ
れ、選択された4バイトのデータが前記ラッチ124に
与えられる。
【0105】前記ラインメモリアレイ621のデータ入
力動作は、ウェイヒット/ミス信号115hと信号30
9との論理積信号のハイレベルによって指示される。即
ち、対応されるウェイのアドレス比較がウェイヒットと
され、LPFフラグ313がセット状態にされる(LP
FV=1)とき、メモリブロック119でインデックス
されたキャッシュラインのデータがキャッシュラインバ
ッファ119bに内部転送されて保持される。このよう
にして保持された16バイトの命令に対する命令フェッ
チの間、メモリブロック119の動作を抑止し、必要な
命令をキャッシュラインバッファ119bからCPU1
01に供給可能にするものである。
力動作は、ウェイヒット/ミス信号115hと信号30
9との論理積信号のハイレベルによって指示される。即
ち、対応されるウェイのアドレス比較がウェイヒットと
され、LPFフラグ313がセット状態にされる(LP
FV=1)とき、メモリブロック119でインデックス
されたキャッシュラインのデータがキャッシュラインバ
ッファ119bに内部転送されて保持される。このよう
にして保持された16バイトの命令に対する命令フェッ
チの間、メモリブロック119の動作を抑止し、必要な
命令をキャッシュラインバッファ119bからCPU1
01に供給可能にするものである。
【0106】そのためのフラグセット制御論理400B
は図29に示されるようになっている。この構成は図1
0に対して命令キャッシュフィル状態をセット要因とし
ない点で相違するだけである。メモリブロック119〜
122がどのように書き換えられても、必要なキャッシ
ュラインの命令はキャッシュラインバッファ119b〜
122bのどれかに残っているからである。フラグリセ
ット論理は図11の論理401と全く同じである。尚、
図示は省略するが、キャッシュフィル時に、キャッシュ
ラインバッファへの書き込みを行なえば、キャッシュフ
ィル時のLPFフラグ313のセットによって、キャッ
シュフィル終了後、最初のNIFでLPFヒット状態を
得ることができる。
は図29に示されるようになっている。この構成は図1
0に対して命令キャッシュフィル状態をセット要因とし
ない点で相違するだけである。メモリブロック119〜
122がどのように書き換えられても、必要なキャッシ
ュラインの命令はキャッシュラインバッファ119b〜
122bのどれかに残っているからである。フラグリセ
ット論理は図11の論理401と全く同じである。尚、
図示は省略するが、キャッシュフィル時に、キャッシュ
ラインバッファへの書き込みを行なえば、キャッシュフ
ィル時のLPFフラグ313のセットによって、キャッ
シュフィル終了後、最初のNIFでLPFヒット状態を
得ることができる。
【0107】図30にはアドレスアレイ109のメモリ
ブロック115〜118に対する活性化制御信号106
とデータアレイ110のメモリブロック119〜122
に対する活性化制御信号1502の生成論理404Bが
示される。同図において活性化制御信号106を生成す
る論理404Bは図14の構成と同じである。データア
レイ110のメモリブロック119〜122に対する活
性化制御信号1502も信号106と同じ論理で生成さ
れる。したがって、活性化制御信号106,1502
は、前記LPFフラグ313がセット状態(LPFV=
1)で且つ通常命令フェッチ(NIF)のときローレベ
ルにされ、これによってアドレスアレイ109及びデー
タアレイ110の全てのメモリブロック115〜122
の動作が抑止される。データアクセス(DA)、LPF
フラグ313のリセット状態における通常命令フェッチ
(NIF)又は強制命令フェッチ(FIF)では、全て
のメモリブロック115〜122でインデックス動作が
可能にされる。
ブロック115〜118に対する活性化制御信号106
とデータアレイ110のメモリブロック119〜122
に対する活性化制御信号1502の生成論理404Bが
示される。同図において活性化制御信号106を生成す
る論理404Bは図14の構成と同じである。データア
レイ110のメモリブロック119〜122に対する活
性化制御信号1502も信号106と同じ論理で生成さ
れる。したがって、活性化制御信号106,1502
は、前記LPFフラグ313がセット状態(LPFV=
1)で且つ通常命令フェッチ(NIF)のときローレベ
ルにされ、これによってアドレスアレイ109及びデー
タアレイ110の全てのメモリブロック115〜122
の動作が抑止される。データアクセス(DA)、LPF
フラグ313のリセット状態における通常命令フェッチ
(NIF)又は強制命令フェッチ(FIF)では、全て
のメモリブロック115〜122でインデックス動作が
可能にされる。
【0108】その他の構成は図1で説明した第1の例の
キャッシュメモリ4と同じであるから、詳細な説明は省
略する。
キャッシュメモリ4と同じであるから、詳細な説明は省
略する。
【0109】第3の例のキャッシュメモリにおいても、
LPFフラグ313は、そのセット状態により、次の通
常命令フェッチではアドレス比較動作を介することなく
同一キャッシュラインでキャッシュヒット状態になる状
態を示すことができる。このとき、キャッシュヒットに
なるウェイを選択する情報はラッチ314にラッチされ
る。LPFフラグ313がセットされた状態(LPFV
=1)で、次の命令アクセスが通常命令フェッチであれ
ば(LPFヒット)、図30の制御論理404Bによっ
て、アドレスアレイ109及びデータアレイ110の全
てのメモリブロック115〜122の動作が抑止され
る。これに代えて、信号303を受ける前記セレクタ6
23が、その前の命令キャッシュヒットでキャッシュラ
インバッファ621に内部転送されているデータを選択
し、選択されたデータはラッチ314のウェイ選択情報
317を利用してセレクタ111で選ばれてCPU10
1に供給される。
LPFフラグ313は、そのセット状態により、次の通
常命令フェッチではアドレス比較動作を介することなく
同一キャッシュラインでキャッシュヒット状態になる状
態を示すことができる。このとき、キャッシュヒットに
なるウェイを選択する情報はラッチ314にラッチされ
る。LPFフラグ313がセットされた状態(LPFV
=1)で、次の命令アクセスが通常命令フェッチであれ
ば(LPFヒット)、図30の制御論理404Bによっ
て、アドレスアレイ109及びデータアレイ110の全
てのメモリブロック115〜122の動作が抑止され
る。これに代えて、信号303を受ける前記セレクタ6
23が、その前の命令キャッシュヒットでキャッシュラ
インバッファ621に内部転送されているデータを選択
し、選択されたデータはラッチ314のウェイ選択情報
317を利用してセレクタ111で選ばれてCPU10
1に供給される。
【0110】図31には第3の例に係るキャッシュメモ
リにおけるNIF連続アクセス時のLPFヒット状態で
の動作タイミングの一例が示される。時刻1のNIFア
クセス要求に係るオフセットアドレスはキャッシュライ
ンの先頭を示すから、アドレスアレイ109及びデータ
アレイ110の全てのメモリブロック115〜122が
動作される。この時第1ウェイ(WAY0)がヒットし
たとする。その場合には、メモリブロック119でイン
デックスされたキャッシュラインのデータがCPU10
1に与えられる。これに並行して、ウェイヒットに係る
第1メモリブロック119でインデックスされたキャッ
シュラインの命令はキャッシュラインバッファ119b
にストアされる。そして、ラッチ314には、その時の
アドレス比較動作によって選られた第1ウェイの選択を
意味するウェイ選択情報がラッチされ、LPFフラグ3
13がセット状態にされる。
リにおけるNIF連続アクセス時のLPFヒット状態で
の動作タイミングの一例が示される。時刻1のNIFア
クセス要求に係るオフセットアドレスはキャッシュライ
ンの先頭を示すから、アドレスアレイ109及びデータ
アレイ110の全てのメモリブロック115〜122が
動作される。この時第1ウェイ(WAY0)がヒットし
たとする。その場合には、メモリブロック119でイン
デックスされたキャッシュラインのデータがCPU10
1に与えられる。これに並行して、ウェイヒットに係る
第1メモリブロック119でインデックスされたキャッ
シュラインの命令はキャッシュラインバッファ119b
にストアされる。そして、ラッチ314には、その時の
アドレス比較動作によって選られた第1ウェイの選択を
意味するウェイ選択情報がラッチされ、LPFフラグ3
13がセット状態にされる。
【0111】LPFフラグ313がセット状態にされた
(LPFV=1)ので、時刻2〜時刻4では信号10
6,1502の双方がネゲートされ全てのメモリブロッ
ク115〜122の動作が抑止される。それに代えて、
ラッチ314で指定される第1ウェイのキャッシュライ
ンバッファ119bから必要な命令が選択されてCPU
101に供給される。時刻4ではキャッシュライン最終
データが選択されるので、LPFフラグ313がリセッ
トされる(LPFV=0)。従って、時刻5では再度全
てのメモリブロック115〜122が動作されてキャッ
シュヒット/ミスの判定が行なわれる。今回は第2ウェ
イでキャッシュヒットされたとする。そうすると、今度
は、第2ウェイのメモリブロック120でインデックス
されたキャッシュラインのデータがCPU101に与え
られると共に、当該キャッシュラインの16バイトの命
令がキャッシュラインバッファ120bに蓄えられる。
その次のNIFアクセスでは前記同様に全てのメモリブ
ロック115〜122の動作が抑止され、前記キャッシ
ュラインバッファ120bからCPU101に命令が与
えられる。
(LPFV=1)ので、時刻2〜時刻4では信号10
6,1502の双方がネゲートされ全てのメモリブロッ
ク115〜122の動作が抑止される。それに代えて、
ラッチ314で指定される第1ウェイのキャッシュライ
ンバッファ119bから必要な命令が選択されてCPU
101に供給される。時刻4ではキャッシュライン最終
データが選択されるので、LPFフラグ313がリセッ
トされる(LPFV=0)。従って、時刻5では再度全
てのメモリブロック115〜122が動作されてキャッ
シュヒット/ミスの判定が行なわれる。今回は第2ウェ
イでキャッシュヒットされたとする。そうすると、今度
は、第2ウェイのメモリブロック120でインデックス
されたキャッシュラインのデータがCPU101に与え
られると共に、当該キャッシュラインの16バイトの命
令がキャッシュラインバッファ120bに蓄えられる。
その次のNIFアクセスでは前記同様に全てのメモリブ
ロック115〜122の動作が抑止され、前記キャッシ
ュラインバッファ120bからCPU101に命令が与
えられる。
【0112】図32には第3の例に係るキャッシュメモ
リにおけるNIF連続アクセス時にデータアクセスでキ
ャッシュミスを生ずるときの動作タイミングの一例が示
される。
リにおけるNIF連続アクセス時にデータアクセスでキ
ャッシュミスを生ずるときの動作タイミングの一例が示
される。
【0113】キャッシュエントリとして命令が格納され
ているキャッシュラインが、データアクセスのキャッシ
ュミスによるキャッシュフィルの対象にされた場合を想
定する。この場合、前記第2の例で説明した構成では、
続いて発生するNIFアクセス要求では命令キャッシュ
ミス状態となり、ミスに係る命令のキャッシュフィルが
行なわれる。第3の例では、NIFアクセスに必要な1
キャッシュライン分の命令はキャッシュラインバッファ
に退避されている。従って、キャッシュラインに退避さ
れた命令をキャッシュエントリとするキャッシュライン
がキャッシュフィルによって書き換えられても、当該退
避されている1キャッシュラインデータの範囲でのNI
Fアクセスは全てキャッシュヒットにすることができ
る。この時の動作を説明する。時刻1のNIFアクセス
要求に係るオフセットアドレスはキャッシュラインの先
頭を示し、これにより、アドレスアレイ109及びデー
タアレイ110の全てのメモリブロック115〜122
が動作される。この時、第1ウェイ(WAY0)がヒッ
トしたとする。その場合には、第1ウェイのメモリブロ
ック119でインデックスされたキャッシュラインのデ
ータがCPU101に与えられる。これに並行して、ウ
ェイヒットに係る第1メモリブロック119でインデッ
クスされたキャッシュラインの命令はキャッシュライン
バッファ119bにストアされる。そして、ラッチ31
4には、その時のアドレス比較動作によって得られた第
1ウェイの選択を意味するウェイ選択情報がラッチさ
れ、LPFフラグ313がセット状態にされる(LPF
V=1)。
ているキャッシュラインが、データアクセスのキャッシ
ュミスによるキャッシュフィルの対象にされた場合を想
定する。この場合、前記第2の例で説明した構成では、
続いて発生するNIFアクセス要求では命令キャッシュ
ミス状態となり、ミスに係る命令のキャッシュフィルが
行なわれる。第3の例では、NIFアクセスに必要な1
キャッシュライン分の命令はキャッシュラインバッファ
に退避されている。従って、キャッシュラインに退避さ
れた命令をキャッシュエントリとするキャッシュライン
がキャッシュフィルによって書き換えられても、当該退
避されている1キャッシュラインデータの範囲でのNI
Fアクセスは全てキャッシュヒットにすることができ
る。この時の動作を説明する。時刻1のNIFアクセス
要求に係るオフセットアドレスはキャッシュラインの先
頭を示し、これにより、アドレスアレイ109及びデー
タアレイ110の全てのメモリブロック115〜122
が動作される。この時、第1ウェイ(WAY0)がヒッ
トしたとする。その場合には、第1ウェイのメモリブロ
ック119でインデックスされたキャッシュラインのデ
ータがCPU101に与えられる。これに並行して、ウ
ェイヒットに係る第1メモリブロック119でインデッ
クスされたキャッシュラインの命令はキャッシュライン
バッファ119bにストアされる。そして、ラッチ31
4には、その時のアドレス比較動作によって得られた第
1ウェイの選択を意味するウェイ選択情報がラッチさ
れ、LPFフラグ313がセット状態にされる(LPF
V=1)。
【0114】時刻2では、LPFフラグ313がセット
状態にされたので、信号106,1502の双方がネゲ
ートされ、全てのメモリブロック115〜122の動作
が抑止される。それに代えて、ラッチ314で指定され
る第1ウェイのキャッシュラインバッファ119bから
必要な命令が選択されてCPU101に供給される。時
刻3ではデータアクセスが指示され、それがキャッシュ
ミスになっている。この時のキャッシュフィルの対象が
第1ウェイ(WAY0)であり、インデックスアドレス
が時刻1の時と同じであるとする。このキャッシュフィ
ルは時刻4から時刻7で行なわれ、これによって、前記
命令フェッチ中の命令エントリを含むキャッシュライン
が書き換えられてしまう。そうであっても、当該キャッ
シュラインから追い出された命令エントリはキャッシュ
ラインバッファ119bに依然として残っている。LP
Fフラグ313もセット状態のままにされている。した
がって、時刻8にNIFアクセスが指示された時は、前
記同様に全てのメモリブロック115〜122の動作が
抑止され、前記キャッシュラインバッファ119bの命
令がラッチ314のウェイ選択情報で選択されてCPU
101に与えられる。
状態にされたので、信号106,1502の双方がネゲ
ートされ、全てのメモリブロック115〜122の動作
が抑止される。それに代えて、ラッチ314で指定され
る第1ウェイのキャッシュラインバッファ119bから
必要な命令が選択されてCPU101に供給される。時
刻3ではデータアクセスが指示され、それがキャッシュ
ミスになっている。この時のキャッシュフィルの対象が
第1ウェイ(WAY0)であり、インデックスアドレス
が時刻1の時と同じであるとする。このキャッシュフィ
ルは時刻4から時刻7で行なわれ、これによって、前記
命令フェッチ中の命令エントリを含むキャッシュライン
が書き換えられてしまう。そうであっても、当該キャッ
シュラインから追い出された命令エントリはキャッシュ
ラインバッファ119bに依然として残っている。LP
Fフラグ313もセット状態のままにされている。した
がって、時刻8にNIFアクセスが指示された時は、前
記同様に全てのメモリブロック115〜122の動作が
抑止され、前記キャッシュラインバッファ119bの命
令がラッチ314のウェイ選択情報で選択されてCPU
101に与えられる。
【0115】このように、命令フェッチ中のキャッシュ
ラインにデータアクセスによるキャッシュミスに起因し
たキャッシュフィルが生じても、その後のNIFアクセ
スではキャッシュミスを生ずる事なく、しかも全てのメ
モリブロックを動作させることなく所要の命令をCPU
101に供給する事ができる。
ラインにデータアクセスによるキャッシュミスに起因し
たキャッシュフィルが生じても、その後のNIFアクセ
スではキャッシュミスを生ずる事なく、しかも全てのメ
モリブロックを動作させることなく所要の命令をCPU
101に供給する事ができる。
【0116】したがって、第3の例によれば、NIFヒ
ット時において全てのメモリブロックの動作を停止で
き、第1の例に比べて更に低消費電力化できる。また、
NIFに必要な1キャッシュライン分の命令はキャッシ
ュラインバッファに退避されている。従って、キャッシ
ュラインバッファに退避された命令をキャッシュエント
リとするキャッシュラインがキャッシュフィルによって
書き換えられても、当該退避されている1キャッシュラ
インデータの範囲でのNIFアクセスは全てキャッシュ
ヒット状態にすることができる。
ット時において全てのメモリブロックの動作を停止で
き、第1の例に比べて更に低消費電力化できる。また、
NIFに必要な1キャッシュライン分の命令はキャッシ
ュラインバッファに退避されている。従って、キャッシ
ュラインバッファに退避された命令をキャッシュエント
リとするキャッシュラインがキャッシュフィルによって
書き換えられても、当該退避されている1キャッシュラ
インデータの範囲でのNIFアクセスは全てキャッシュ
ヒット状態にすることができる。
【0117】《DSPによるアドレス生成》以上の例で
はCPUをアクセス制御手段としたが、DSPコアであ
ってもよい。例えば、図33に例示されるDSP(Digi
tal Signal Processor:ディジタル信号処理プロセッ
サ)は、DSPコア2001に、命令キャッシュメモリ
2005、Xデータキャッシュメモリ2006及びYデ
ータキャッシュメモリ2007が接続されて成る。積和
演算を効率的に行なうためにXデータキャッシュメモリ
2006とYデータキャッシュメモリ2007を別々の
備えている。前記キャッシュメモリ2005〜2007
は共通バス2008を介して接続された大容量メモリ2
009が保有する命令やデータのうち最近利用されたも
のを保持する。図33の構成は大容量メモリ2009を
除いて1チップで半導体集積回路化することもできる。
はCPUをアクセス制御手段としたが、DSPコアであ
ってもよい。例えば、図33に例示されるDSP(Digi
tal Signal Processor:ディジタル信号処理プロセッ
サ)は、DSPコア2001に、命令キャッシュメモリ
2005、Xデータキャッシュメモリ2006及びYデ
ータキャッシュメモリ2007が接続されて成る。積和
演算を効率的に行なうためにXデータキャッシュメモリ
2006とYデータキャッシュメモリ2007を別々の
備えている。前記キャッシュメモリ2005〜2007
は共通バス2008を介して接続された大容量メモリ2
009が保有する命令やデータのうち最近利用されたも
のを保持する。図33の構成は大容量メモリ2009を
除いて1チップで半導体集積回路化することもできる。
【0118】DSPコア2001はアドレス生成部19
01とデータ処理部1902を有する。命令キャッシュ
メモリ2005は、アドレス生成部1901が出力する
命令フェッチアドレスをアドレスバス1905から受け
取り、キャッシュヒットの場合にはデータバス1908
を介して命令をデータ処理部1902与える。前記Xデ
ータキャッシュメモリ2006は、アドレス生成部19
01が出力するデータアクセスアドレスをアドレスバス
1906から受け取り、キャッシュヒットの場合には、
データバス1909を介してリードデータをデータ処理
部1902与え、また、データ処理部1902からのラ
イトデータがデータバス1909を介して供給される。
同様に、前記Yデータキャッシュメモリ2007は、ア
ドレス生成部1901が出力するデータアクセスアドレ
スをアドレスバス1907から受け取り、キャッシュヒ
ットの場合には、データバス1910を介してリードデ
ータをデータ処理部1902与え、また、データ処理部
1902からのライトデータがデータバス1910を介
して供給される。
01とデータ処理部1902を有する。命令キャッシュ
メモリ2005は、アドレス生成部1901が出力する
命令フェッチアドレスをアドレスバス1905から受け
取り、キャッシュヒットの場合にはデータバス1908
を介して命令をデータ処理部1902与える。前記Xデ
ータキャッシュメモリ2006は、アドレス生成部19
01が出力するデータアクセスアドレスをアドレスバス
1906から受け取り、キャッシュヒットの場合には、
データバス1909を介してリードデータをデータ処理
部1902与え、また、データ処理部1902からのラ
イトデータがデータバス1909を介して供給される。
同様に、前記Yデータキャッシュメモリ2007は、ア
ドレス生成部1901が出力するデータアクセスアドレ
スをアドレスバス1907から受け取り、キャッシュヒ
ットの場合には、データバス1910を介してリードデ
ータをデータ処理部1902与え、また、データ処理部
1902からのライトデータがデータバス1910を介
して供給される。
【0119】図34には前記DSPコア2001のアド
レス生成部の概略が示される。命令アドレスは、プログ
ラムカウンタ(PC)1911とインクリメンタ(IN
C)1912によって連続的に生成することができ、ま
た、アドレス演算器でなどで生成された分岐先アドレス
などとされる。DSPによる積和演算、例えばフィルタ
演算などでは一定のデータを順次規則的にフェッチして
演算を行なう場合が多い。即ち、前回のアクセスアドレ
スに対して一定値を加算又は減算して次回アドレスが生
成される場合が多い。これを考慮して、アドレスバス1
906に供給すべきデータアクセスアドレスを生成する
回路にはXアドレスレジスタ(XAR)1913とイン
クリメンタ・デクリメンタ(INC/DEC)1914
が設けられている。同様に、アドレスバス1907に供
給すべきデータアクセスアドレスを生成する回路には、
Yアドレスレジスタ(YAR)1915とインクリメン
タ・デクリメンタ(INC/DEC)1916が設けら
れている。
レス生成部の概略が示される。命令アドレスは、プログ
ラムカウンタ(PC)1911とインクリメンタ(IN
C)1912によって連続的に生成することができ、ま
た、アドレス演算器でなどで生成された分岐先アドレス
などとされる。DSPによる積和演算、例えばフィルタ
演算などでは一定のデータを順次規則的にフェッチして
演算を行なう場合が多い。即ち、前回のアクセスアドレ
スに対して一定値を加算又は減算して次回アドレスが生
成される場合が多い。これを考慮して、アドレスバス1
906に供給すべきデータアクセスアドレスを生成する
回路にはXアドレスレジスタ(XAR)1913とイン
クリメンタ・デクリメンタ(INC/DEC)1914
が設けられている。同様に、アドレスバス1907に供
給すべきデータアクセスアドレスを生成する回路には、
Yアドレスレジスタ(YAR)1915とインクリメン
タ・デクリメンタ(INC/DEC)1916が設けら
れている。
【0120】アドレス信号がバイトアドレスのとき、D
SP命令の最大長が4バイトであるなら前記インクリメ
ンタ1911の加算数は4とされる。DSPで処理可能
なデータサイズを1バイト、2バイト、4バイトとする
と、前記インクリメンタ・デクリメンタ1914,19
16による加算、減算数は、1、2、4を選択可能にさ
れる。特に制限されないが、データサイズはDSP命令
で指定される。データ処理部1902は命令で指定され
たデータサイズに応じて前記インクリメンタ・デクリメ
ンタ1914,1916に加算、減算数を指示する。
SP命令の最大長が4バイトであるなら前記インクリメ
ンタ1911の加算数は4とされる。DSPで処理可能
なデータサイズを1バイト、2バイト、4バイトとする
と、前記インクリメンタ・デクリメンタ1914,19
16による加算、減算数は、1、2、4を選択可能にさ
れる。特に制限されないが、データサイズはDSP命令
で指定される。データ処理部1902は命令で指定され
たデータサイズに応じて前記インクリメンタ・デクリメ
ンタ1914,1916に加算、減算数を指示する。
【0121】前記命令キャッシュメモリ2005は図1
で説明した第1の例に係るキャッシュメモリ4の構成を
有する。データキャッシュメモリ2006,2007も
図1で説明した第1の例に係るキャッシュメモリ4の構
成を基本とするが、LPFフラグ313のセット/リセ
ット条件の変更が必要になる。これについては後で説明
する。
で説明した第1の例に係るキャッシュメモリ4の構成を
有する。データキャッシュメモリ2006,2007も
図1で説明した第1の例に係るキャッシュメモリ4の構
成を基本とするが、LPFフラグ313のセット/リセ
ット条件の変更が必要になる。これについては後で説明
する。
【0122】図34において1904はキャッシュメモ
リ2005〜2007から出力されるバスレディー信号
であり、キャッシュメモリ2005〜2007はそれが
アサートされることによって動作を開始できる。190
3,1903A,1903Bで示される信号は前記キャ
ッシュメモリ2005,2006,2007にそれぞれ
供給されるバスコマンドである。バスコマンド1903
は命令キャッシュメモリ2005に供給されるバスコマ
ンドであり、図7に示されるバスコマンドと等価なバス
コマンドであると理解されたい。
リ2005〜2007から出力されるバスレディー信号
であり、キャッシュメモリ2005〜2007はそれが
アサートされることによって動作を開始できる。190
3,1903A,1903Bで示される信号は前記キャ
ッシュメモリ2005,2006,2007にそれぞれ
供給されるバスコマンドである。バスコマンド1903
は命令キャッシュメモリ2005に供給されるバスコマ
ンドであり、図7に示されるバスコマンドと等価なバス
コマンドであると理解されたい。
【0123】図35にはデータキャッシュメモリ200
6,2007に供給されるバスコマンド1903A,1
903Bの一例が示される。バスコマンド1903A,
1903Bは、夫々3ビットであり、そのコードによっ
て、リードアクセスにつき、アクセスサイズを1,2,
4バイト、アドレス変化の方法をインクリメント又はデ
クリメントで指定するようになっている。尚、アクセス
アドレスが連続的でない場合、及びライトアクセスに関
するバスコマンドについては説明を省略するが、別のコ
ードが割り当てられているものと理解されたい。図35
に示されるリードコマンドは前回のアクセスアドレスに
対して今回のアクセスアドレスが連続的である事を示す
情報とみなすことができる。
6,2007に供給されるバスコマンド1903A,1
903Bの一例が示される。バスコマンド1903A,
1903Bは、夫々3ビットであり、そのコードによっ
て、リードアクセスにつき、アクセスサイズを1,2,
4バイト、アドレス変化の方法をインクリメント又はデ
クリメントで指定するようになっている。尚、アクセス
アドレスが連続的でない場合、及びライトアクセスに関
するバスコマンドについては説明を省略するが、別のコ
ードが割り当てられているものと理解されたい。図35
に示されるリードコマンドは前回のアクセスアドレスに
対して今回のアクセスアドレスが連続的である事を示す
情報とみなすことができる。
【0124】図36には図35のバスコマンドを考慮し
たとき前記LPFフラグ313のセット・リセット制御
論理の一例が示される。アンドゲートG50〜G55、
アンドゲートG60〜G65及びオアゲートG66は、
次回NDF(ノーマルデータフェッチ:アクセスアドレ
スが連続的であるデータフェッチを意味し、命令キャッ
シュメモリにおけるNIFに対応する)アクセスは16
バイトのキャッシュラインの最終領域か否かを検出す
る。例えばゲートG50はアドレス信号の下位4ビット
が全ビット論理値“1”になるか、換言すれば、16バ
イト目毎のアクセスであるかを検出する。アンドゲート
G60は、アドレス信号の下位4ビットが全ビット論理
値“1”にされ、バスコマンドがINC−1であれば、
ハイレベルにされる。このハイレベルは、INC−1の
NDF連続アクセスにおいて次回NDFアクセスが16
バイトのキャッシュラインの最終領域になることを意味
する。このことから理解されるように、オアゲートG6
6のハイレベル出力はLPFフラグ313に対する一つ
のリセット条件とされる。その他のリセット条件は、キ
ャッシュメモリのリセット、及びキャッシュミスであ
る。このリセット条件の成立は信号310に反映され
る。LPFフラグ313のセット条件は、キャッシュフ
ィル状態又はキャッシュヒット状態が成立し且つ次回N
DFアクセスがキャッシュライン内であることとされ、
それは信号309に反映される。
たとき前記LPFフラグ313のセット・リセット制御
論理の一例が示される。アンドゲートG50〜G55、
アンドゲートG60〜G65及びオアゲートG66は、
次回NDF(ノーマルデータフェッチ:アクセスアドレ
スが連続的であるデータフェッチを意味し、命令キャッ
シュメモリにおけるNIFに対応する)アクセスは16
バイトのキャッシュラインの最終領域か否かを検出す
る。例えばゲートG50はアドレス信号の下位4ビット
が全ビット論理値“1”になるか、換言すれば、16バ
イト目毎のアクセスであるかを検出する。アンドゲート
G60は、アドレス信号の下位4ビットが全ビット論理
値“1”にされ、バスコマンドがINC−1であれば、
ハイレベルにされる。このハイレベルは、INC−1の
NDF連続アクセスにおいて次回NDFアクセスが16
バイトのキャッシュラインの最終領域になることを意味
する。このことから理解されるように、オアゲートG6
6のハイレベル出力はLPFフラグ313に対する一つ
のリセット条件とされる。その他のリセット条件は、キ
ャッシュメモリのリセット、及びキャッシュミスであ
る。このリセット条件の成立は信号310に反映され
る。LPFフラグ313のセット条件は、キャッシュフ
ィル状態又はキャッシュヒット状態が成立し且つ次回N
DFアクセスがキャッシュライン内であることとされ、
それは信号309に反映される。
【0125】以上のように、LPFフラグ313のセッ
ト/リセット条件をDSPのバスコマンドに適合させる
ことにより、CPU以外のアクセス制御手段によるメモ
リアクセスに対してもキャッシュメモリの前記低消費電
力並びにメモリアクセスの高速化を達成できる。
ト/リセット条件をDSPのバスコマンドに適合させる
ことにより、CPU以外のアクセス制御手段によるメモ
リアクセスに対してもキャッシュメモリの前記低消費電
力並びにメモリアクセスの高速化を達成できる。
【0126】《ディジタルスチルカメラ》図37には前
記キャッシュメモリを内蔵したマイクロコンピュータを
適用したディジタルスチルカメラのシステムブロック図
が示される。
記キャッシュメモリを内蔵したマイクロコンピュータを
適用したディジタルスチルカメラのシステムブロック図
が示される。
【0127】同図に示されるマイクロコンピュータ1は
図2で説明した構成を簡略化して示してある。マイクロ
コンピュータ1は、周辺回路として、シリアル入出力回
路(SIO)10A、シリアルFIFO(First-in First-
out:先入れ先出しバッファメモリ)を有する赤外線イ
ンタフェース(SCIF IrDAI/F)10B、シリアルFIF
Oを有するモデムインタフェース(SCIF modemI/F)1
0C、及びDMAC8を有する。前記シリアル入出力回
路10AにはA/Dコンバータ・D/Aコンバータ80
0を介してマイク802とスピーカ801が接続され
る。マイクロコンピュータ1が接続されるシステムバス
803には、ROM(Read only Memory:リード・オン
リ・メモリ)804、SDRAM(Synchronous Dynami
c Random Access Memory:シンクロナスDRAM)80
5、LCD(Liquid Crystal Display)コントローラ8
06、コンパクトフラッシュメモリカード用インタフェ
ース(C-FlashI/F)807、カメラ用DSP808等が
接続されて、前記LCDコントローラ806にはLCD
809が接続され、カメラDSP808にはA/Dコン
バータ810を介してCCD(Charge Coupled Devic
e)カメラ811が結合されている。コンパクトフラッ
シュメモリカード用インタフェース807にはコンパク
トフラッシュメモリーカード(CF)812が着脱可能にさ
れる。同図に示されるディジタルスチルカメラは、特に
制限されないが、バッテリー電源回路813で駆動され
る。バッテリー電源回路813は各部に動作電源電圧V
dd,Vssを供給する。
図2で説明した構成を簡略化して示してある。マイクロ
コンピュータ1は、周辺回路として、シリアル入出力回
路(SIO)10A、シリアルFIFO(First-in First-
out:先入れ先出しバッファメモリ)を有する赤外線イ
ンタフェース(SCIF IrDAI/F)10B、シリアルFIF
Oを有するモデムインタフェース(SCIF modemI/F)1
0C、及びDMAC8を有する。前記シリアル入出力回
路10AにはA/Dコンバータ・D/Aコンバータ80
0を介してマイク802とスピーカ801が接続され
る。マイクロコンピュータ1が接続されるシステムバス
803には、ROM(Read only Memory:リード・オン
リ・メモリ)804、SDRAM(Synchronous Dynami
c Random Access Memory:シンクロナスDRAM)80
5、LCD(Liquid Crystal Display)コントローラ8
06、コンパクトフラッシュメモリカード用インタフェ
ース(C-FlashI/F)807、カメラ用DSP808等が
接続されて、前記LCDコントローラ806にはLCD
809が接続され、カメラDSP808にはA/Dコン
バータ810を介してCCD(Charge Coupled Devic
e)カメラ811が結合されている。コンパクトフラッ
シュメモリカード用インタフェース807にはコンパク
トフラッシュメモリーカード(CF)812が着脱可能にさ
れる。同図に示されるディジタルスチルカメラは、特に
制限されないが、バッテリー電源回路813で駆動され
る。バッテリー電源回路813は各部に動作電源電圧V
dd,Vssを供給する。
【0128】キャッシュメモリ4は、特に制限されない
が、SDRAM805、ROM804又はコンパクトフ
ラッシュメモリーカード812をキャッシュの対象とす
る。キャッシュメモリ4は前述の如く連続的なアクセス
アドレスに対するメモリアクセスに対して低消費電力が
達成されている。従って、バッテリー電源回路813で
駆動されるシステムの駆動時間の伸長に寄与することが
できる。また、LPFヒット/ミスに関係なく、アドレ
スアレイとデータアレイを並列動作させる形式のキャッ
シュメモリと同等のデータ読み出し速度を保証すること
ができるから、低消費電力であってもデータ処理能力が
犠牲にされることはない。
が、SDRAM805、ROM804又はコンパクトフ
ラッシュメモリーカード812をキャッシュの対象とす
る。キャッシュメモリ4は前述の如く連続的なアクセス
アドレスに対するメモリアクセスに対して低消費電力が
達成されている。従って、バッテリー電源回路813で
駆動されるシステムの駆動時間の伸長に寄与することが
できる。また、LPFヒット/ミスに関係なく、アドレ
スアレイとデータアレイを並列動作させる形式のキャッ
シュメモリと同等のデータ読み出し速度を保証すること
ができるから、低消費電力であってもデータ処理能力が
犠牲にされることはない。
【0129】以上本発明者によってなされた発明を実施
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
【0130】例えば、キャッシュメモリ手段は仮想記憶
若しくはメモリマネージメントユニットのためのアドレ
ス変換バッファとして実現されてもよい。また、アクセ
ス制御手段はCPUやDSPコアに限定されず、DMA
C等その他のバスマスタモジュールであってもよい。こ
の場合、本発明は、バスマスタモジュール内のアドレス
レジスタの内容を予め知る方式とみなされる。また、キ
ャッシュメモリはセットアソシアティブであってもダイ
レクトマップであってもよい。セットアソシアティブの
場合にはウェイ数は4に限定されず、それ以外であって
もよい。また、本発明はマルチプロセス(プリエンティ
ティブプログラム、マルチスレッドプログラム)を実現
するデータ処理装置にも適用可能である。また、アクセ
ス制御手段とキャッシュメモリを含むデータ処理装置は
シングルチップに限定されず、マルチチップで構成する
ことも可能である。また、バスコマンドの内容は上記の
例に限定されず適宜変更可能である。
若しくはメモリマネージメントユニットのためのアドレ
ス変換バッファとして実現されてもよい。また、アクセ
ス制御手段はCPUやDSPコアに限定されず、DMA
C等その他のバスマスタモジュールであってもよい。こ
の場合、本発明は、バスマスタモジュール内のアドレス
レジスタの内容を予め知る方式とみなされる。また、キ
ャッシュメモリはセットアソシアティブであってもダイ
レクトマップであってもよい。セットアソシアティブの
場合にはウェイ数は4に限定されず、それ以外であって
もよい。また、本発明はマルチプロセス(プリエンティ
ティブプログラム、マルチスレッドプログラム)を実現
するデータ処理装置にも適用可能である。また、アクセ
ス制御手段とキャッシュメモリを含むデータ処理装置は
シングルチップに限定されず、マルチチップで構成する
ことも可能である。また、バスコマンドの内容は上記の
例に限定されず適宜変更可能である。
【0131】上記本発明の実施の態様ではキャッシュメ
モリに本発明を適用した例について説明したが、それに
限定されない。即ち、本発明は、先行動作型のメモリシ
ステムを有するデータ処理装置にも適用することができ
る。ここで言う先行動作型とは、以下のようなものとさ
れる。例えば、夫々がアドレスデコーダを有する2個の
独立したメモリが有り、高速に上記2個のメモリの何れ
か一方のメモリからデータを読み出す場合、どちらのデ
ータを最終的に採用するかという点でアクセスアドレス
が確定する前に、両方のメモリをアクセスしてデータを
先読みして準備し、アドレス確定後、どちらのメモリか
らの読み出しデータを利用するかを選択するようなメモ
リアクセス動作の事を言う。この場合、前記メモリは、
ランダム・アクセス・メモリ(RAM)やリード・オン
リ・メモリ(ROM)であってよい。
モリに本発明を適用した例について説明したが、それに
限定されない。即ち、本発明は、先行動作型のメモリシ
ステムを有するデータ処理装置にも適用することができ
る。ここで言う先行動作型とは、以下のようなものとさ
れる。例えば、夫々がアドレスデコーダを有する2個の
独立したメモリが有り、高速に上記2個のメモリの何れ
か一方のメモリからデータを読み出す場合、どちらのデ
ータを最終的に採用するかという点でアクセスアドレス
が確定する前に、両方のメモリをアクセスしてデータを
先読みして準備し、アドレス確定後、どちらのメモリか
らの読み出しデータを利用するかを選択するようなメモ
リアクセス動作の事を言う。この場合、前記メモリは、
ランダム・アクセス・メモリ(RAM)やリード・オン
リ・メモリ(ROM)であってよい。
【0132】また、メモリアドレスを供給するレジスタ
はプログラムカウンタに限定されず、CPU内の汎用レ
ジスタであってもよい。その場合、CPUは、本発明の
LPFモジュールのような機能を有する制御部に対し
て、アドレスの供給に利用されているレジスタの種類
が、プログラムカウンタ(命令フェッチに利用される)
なのか、汎用レジスタ(データのアドレスポインタとし
て利用される場合がある)なのかを知らせるレジスタ種
類通知信号を出力するようにする。勿論、LPFモジュ
ールは、上記レジスタ種類通知信号に基づいて制御され
ることは言うまでもない。
はプログラムカウンタに限定されず、CPU内の汎用レ
ジスタであってもよい。その場合、CPUは、本発明の
LPFモジュールのような機能を有する制御部に対し
て、アドレスの供給に利用されているレジスタの種類
が、プログラムカウンタ(命令フェッチに利用される)
なのか、汎用レジスタ(データのアドレスポインタとし
て利用される場合がある)なのかを知らせるレジスタ種
類通知信号を出力するようにする。勿論、LPFモジュ
ールは、上記レジスタ種類通知信号に基づいて制御され
ることは言うまでもない。
【0133】また、マイクロコンピュータのようなデー
タ処理装置を適用するデータ処理システムはディジタル
スチルカメラに限定されず、携帯通信端末やCD−RO
Mドライブ装置等の種々のシステムに適用することがで
きる。
タ処理装置を適用するデータ処理システムはディジタル
スチルカメラに限定されず、携帯通信端末やCD−RO
Mドライブ装置等の種々のシステムに適用することがで
きる。
【0134】本発明は、先回のメモリのアクセスアドレ
スと今回のメモリのアクセスアドレスとが連続している
か不連続であるかを、アクセス対象とされるメモリのア
クセス制御回路において判定し、先回のメモリのアクセ
スアドレスと今回のメモリのアクセスアドレスとが連続
している場合、その判定結果に従って、先回アクセスさ
れたメモリをアクセスするものである。
スと今回のメモリのアクセスアドレスとが連続している
か不連続であるかを、アクセス対象とされるメモリのア
クセス制御回路において判定し、先回のメモリのアクセ
スアドレスと今回のメモリのアクセスアドレスとが連続
している場合、その判定結果に従って、先回アクセスさ
れたメモリをアクセスするものである。
【0135】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0136】すなわち、フラグ手段は、キャッシュヒッ
トになるキャッシュラインが次回の連続的アクセスアド
レスによるアクセスでも同一であることを、その第1状
態によって保証するから、第1信号が連続的アクセスア
ドレス状態を示し、前記フラグ手段が第1状態のとき、
前回アクセスと同一キャッシュラインでキャッシュヒッ
トになる。この状態では、アドレスアレイの動作を抑止
しても、データアレイで選択(インデックス)されるキ
ャッシュラインはアクセスアドレス信号に対して正規の
キャッシュエントリを含むキャッシュラインとなる。キ
ャッシュメモリ手段はその状態を検出したときアドレス
アレイの動作を抑止することにより、低消費電力を実現
できる。その制御は、前回アクセスのインデックスアド
レス(アクセスアドレス信号の第1の部分)を単に覚え
て、これを今回のインデックスアドレスと比較するよう
な、単純な予想に基づく制御ではないので、判定結果に
誤りは生ぜず、再度アドレス判定からやり直す事態を一
切生ぜず、データ読み出し動作の遅れを完全に防止でき
る。よって、アドレスアレイとデータアレイを並列動作
させる形式と同等のデータ読み出し速度を維持しつつ、
低消費電力を実現することができる。
トになるキャッシュラインが次回の連続的アクセスアド
レスによるアクセスでも同一であることを、その第1状
態によって保証するから、第1信号が連続的アクセスア
ドレス状態を示し、前記フラグ手段が第1状態のとき、
前回アクセスと同一キャッシュラインでキャッシュヒッ
トになる。この状態では、アドレスアレイの動作を抑止
しても、データアレイで選択(インデックス)されるキ
ャッシュラインはアクセスアドレス信号に対して正規の
キャッシュエントリを含むキャッシュラインとなる。キ
ャッシュメモリ手段はその状態を検出したときアドレス
アレイの動作を抑止することにより、低消費電力を実現
できる。その制御は、前回アクセスのインデックスアド
レス(アクセスアドレス信号の第1の部分)を単に覚え
て、これを今回のインデックスアドレスと比較するよう
な、単純な予想に基づく制御ではないので、判定結果に
誤りは生ぜず、再度アドレス判定からやり直す事態を一
切生ぜず、データ読み出し動作の遅れを完全に防止でき
る。よって、アドレスアレイとデータアレイを並列動作
させる形式と同等のデータ読み出し速度を維持しつつ、
低消費電力を実現することができる。
【0137】前記データ処理装置を用いるデータ処理シ
ステムは、低消費電力とメモリの高速アクセスとの双方
を実現することができる。
ステムは、低消費電力とメモリの高速アクセスとの双方
を実現することができる。
【図1】本発明のデータ処理装置に適用されるキャッシ
ュメモリの第1の例を示すブロック図である。
ュメモリの第1の例を示すブロック図である。
【図2】本発明に係るデータ処理装置の一例であるマイ
クロコンピュータのブロック図である。
クロコンピュータのブロック図である。
【図3】CPUのアドレス生成部の構成を概略的に示す
ブロック図である。
ブロック図である。
【図4】CPUによるNIFアクセス時の命令アドレス
生成経路を示す説明図である。
生成経路を示す説明図である。
【図5】CPUによるFIFアクセス時の命令アドレス
生成経路を示す説明図である。
生成経路を示す説明図である。
【図6】CPUによるDAアクセス時のアドレス生成経
路を示す説明図である。
路を示す説明図である。
【図7】バスコマンドの一例を示す説明図である。
【図8】メモリブロックの一例を示すブロック図であ
る。
る。
【図9】LPFモジュールの一例を示すブロック図であ
る。
る。
【図10】LPFフラグをセット状態(第1の状態)に
するための制御論理の一例を示す論理回路図である。
するための制御論理の一例を示す論理回路図である。
【図11】LPFフラグをリセット状態(第2の状態)
にするための制御論理の一例を示す論理回路図である。
にするための制御論理の一例を示す論理回路図である。
【図12】LFPモジュール内のラッチ及びセレクタの
制御論理の一例を示す論理回路図である。
制御論理の一例を示す論理回路図である。
【図13】ウェイ選択情報セレクタの選択論理の一例を
示す論理回路図である
示す論理回路図である
【図14】アドレスアレイの各メモリブロックに共通の
動作制御信号と、データアレイの各メモリブロックに個
別の動作制御信号の制御論理の一例を示す論理回路図で
ある。
動作制御信号と、データアレイの各メモリブロックに個
別の動作制御信号の制御論理の一例を示す論理回路図で
ある。
【図15】LPFヒット状態における信号の流れを太線
で示す説明図である。
で示す説明図である。
【図16】LPFミス状態における信号の流れを太線で
示す説明図である。
示す説明図である。
【図17】LPF機能を採用しないキャッシュメモリに
おいて連続命令フェッチを行うときの動作タイミングの
一例を示すタイミングチャートである。
おいて連続命令フェッチを行うときの動作タイミングの
一例を示すタイミングチャートである。
【図18】LPFヒットになるNIFアクセスが連続す
る時の動作の一例を示すタイミングチャートである。
る時の動作の一例を示すタイミングチャートである。
【図19】LPFヒットになるNIFアクセスが連続す
るときキャッシュミスとキャッシュフィルが発生する動
作の一例を示すタイミングチャートである。
るときキャッシュミスとキャッシュフィルが発生する動
作の一例を示すタイミングチャートである。
【図20】FIFアクセスが連続してキャッシュヒット
とされる場合の動作の一例を示すタイミングチャートで
ある。
とされる場合の動作の一例を示すタイミングチャートで
ある。
【図21】ユニファイドキャッシュメモリとして構成し
たキャッシュメモリの第2の例を示すブロック図であ
る。
たキャッシュメモリの第2の例を示すブロック図であ
る。
【図22】LPFモジュールの第2の例を示すブロック
図である。
図である。
【図23】LFPモジュールのラッチ制御及びセレクタ
制御のための制御信号の生成論理の第2の例を示す論理
回路図である。
制御のための制御信号の生成論理の第2の例を示す論理
回路図である。
【図24】LPFフラグのリセット制御論理の第2の例
を示す論理回路図である。
を示す論理回路図である。
【図25】第2の例に係るキャッシュメモリにおいて第
1ウェイの命令コードがDAクセス時のキャッシュミス
に起因するキャッシュフィルによってキャッシュライン
上から追い出されない場合の動作の一例を示すタイミン
グチャートである。
1ウェイの命令コードがDAクセス時のキャッシュミス
に起因するキャッシュフィルによってキャッシュライン
上から追い出されない場合の動作の一例を示すタイミン
グチャートである。
【図26】第2の例に係るキャッシュメモリにおいて第
1ウェイの命令コードがDAアクセス時のキャッシュミ
スに起因するキャッシュフィルによってキャッシュライ
ン上から追い出される場合の動作の一例を示すタイミン
グチャートである。
1ウェイの命令コードがDAアクセス時のキャッシュミ
スに起因するキャッシュフィルによってキャッシュライ
ン上から追い出される場合の動作の一例を示すタイミン
グチャートである。
【図27】LPFヒット時の電力消費を更に低減した第
3の例に係るキャッシュメモリのブロック図である。
3の例に係るキャッシュメモリのブロック図である。
【図28】第3の例に係るキャッシュメモリの一つのメ
モリブロックとキャッシュラインバッファの一例を示す
ブロック図である。
モリブロックとキャッシュラインバッファの一例を示す
ブロック図である。
【図29】第3の例に係るキャッシュメモリのフラグセ
ット制御論理の例を示す論理回路図である。
ット制御論理の例を示す論理回路図である。
【図30】第3の例に係るキャッシュメモリにおけるア
ドレスアレイのメモリブロックに対する活性化制御信号
とデータアレイのメモリブロックに対する活性化制御信
号の生成論理の例を示す論理回路図である。
ドレスアレイのメモリブロックに対する活性化制御信号
とデータアレイのメモリブロックに対する活性化制御信
号の生成論理の例を示す論理回路図である。
【図31】第3の例に係るキャッシュメモリにおけるN
IF連続アクセス時のLPFヒット状態での動作の一例
を示すタイミングチャートである。
IF連続アクセス時のLPFヒット状態での動作の一例
を示すタイミングチャートである。
【図32】第3の例に係るキャッシュメモリにおけるN
IF連続アクセス時にデータアクセスでキャッシュミス
を生ずるときの動作の一例を示すタイミングチャートで
ある。
IF連続アクセス時にデータアクセスでキャッシュミス
を生ずるときの動作の一例を示すタイミングチャートで
ある。
【図33】DSPコアをアクセス制御手段とするキャッ
シュメモリを有するDSPの一例を示すブロック図であ
る。
シュメモリを有するDSPの一例を示すブロック図であ
る。
【図34】DSPコアのアドレス生成部の概略を示すブ
ロック図である。
ロック図である。
【図35】DSPコアが出力するバスコマンドの一例を
示す説明図である。
示す説明図である。
【図36】図35に示されるバスコマンドを考慮したと
きLPFフラグのセット・リセット制御論理の一例を示
す論理回路図である。
きLPFフラグのセット・リセット制御論理の一例を示
す論理回路図である。
【図37】本発明の一例に係るマイクロコンピュータを
応用したディジタルスチルカメラのシステムブロック図
である。
応用したディジタルスチルカメラのシステムブロック図
である。
1 マイクロコンピュータ 3 DSP 4 キャッシュメモリ 20 外部メモリ 101 CPU 109 アドレスアレイ 110 データアレイ 111 ヒットウェイセレクタ 115〜118 アドレスアレイのメモリブロック 119〜122 データアレイのメモリブロック 115c〜118c 比較器 119b〜122b キャッシュラインバッファ 115h〜118h ウェイヒット/ミス信号 301,301A LPFモジュール 313 LPFフラグ 305〜308 データアレイのメモリブロックの個別
活性化制御信号 106 アドレスアレイのメモリブロックの一括活性化
制御信号 309 LPFフラグのセット信号 310 LPFフラグのリセット信号 314 ウェイの選択情報を保持するラッチ 315 ウェイ選択情報セレクタ 317 LPFヒット時の性選択情報 315 キャッシュフィル対象ウェイを示す情報 332,332A,332B キャッシュ制御回路 607 インデックスアドレス信号 608 アドレスデコーダ 609 オフセットアドレス信号 1108 インデックスアドレスのラッチ 1502 データアレイのメモリブロックの一括活性化
制御信号 2001 DSPコア 2005 命令キャッシュメモリ 2006 Xデータキャッシュメモリ 2007 Yデータキャッシュメモリ
活性化制御信号 106 アドレスアレイのメモリブロックの一括活性化
制御信号 309 LPFフラグのセット信号 310 LPFフラグのリセット信号 314 ウェイの選択情報を保持するラッチ 315 ウェイ選択情報セレクタ 317 LPFヒット時の性選択情報 315 キャッシュフィル対象ウェイを示す情報 332,332A,332B キャッシュ制御回路 607 インデックスアドレス信号 608 アドレスデコーダ 609 オフセットアドレス信号 1108 インデックスアドレスのラッチ 1502 データアレイのメモリブロックの一括活性化
制御信号 2001 DSPコア 2005 命令キャッシュメモリ 2006 Xデータキャッシュメモリ 2007 Yデータキャッシュメモリ
Claims (19)
- 【請求項1】 アドレス信号を出力するアクセス制御手
段と、前記アクセス制御手段に接続されたキャッシュメ
モリ手段とを含み、 前記アクセス制御手段は、前回のアクセスアドレスに対
して今回のアクセスが連続的アクセスアドレスであるか
否かを示す第1信号を出力し、 前記キャッシュメモリ手段は、複数のタグ格納部を有す
る第1メモリ部と、前記個々のタグ格納部に対応する複
数のキャッシュラインを有する第2メモリ部と、アクセ
スアドレス信号の第1の部分によって選択されるタグ格
納部のタグが前記アクセスアドレス信号の第2の部分に
一致するか否かを判定する比較部と、前記比較部の比較
結果を入力する制御部とを有し、 前記制御部は、前記アクセス制御手段による次回アクセ
スにおいて前記第1信号が前記連続的アクセスアドレス
である事を示すならば当該次回アクセスにおける前記比
較部の判定結果が今回アクセスと同一キャッシュライン
で一致になるべき場合に第1状態に、そうでない場合に
は第2状態にされるフラグ手段を有し、前記アクセス制
御手段によるアクセス時に前記第1信号が連続的アクセ
スアドレスであることを示し且つ前記フラグ手段が第1
状態であるときは前記第1メモリ部のメモリ動作を抑止
し前記第2メモリ部のキャッシュラインをアクセスアド
レス信号の第1の部分で選択するものであるデータ処理
装置。 - 【請求項2】 アドレス信号を出力するアクセス制御手
段と、前記アクセス制御手段に接続されたキャッシュメ
モリ手段とを含み、 前記アクセス制御手段は、前回のアクセスアドレスに対
して今回のアクセスが連続的アクセスアドレスであるか
否かを示す第1信号を出力し、 前記キャッシュメモリ手段は、複数のタグ格納部を有す
る第1メモリ部と、前記個々のタグ格納部に対応する複
数のキャッシュラインを有する第2メモリ部と、アクセ
スアドレス信号の第1の部分によって選択されるタグ格
納部のタグが前記アクセスアドレス信号の第2の部分に
一致するか否かを判定する比較部と、前記比較部の比較
結果を入力する制御部とを有し、 前記制御部は、フラグ手段と、前記アクセス制御手段に
よる次回アクセスにおいて前記第1信号が前記連続的ア
クセスアドレスである事を示すならば次回アクセスにお
ける前記比較部の判定結果が今回アクセスと同一キャッ
シュラインで一致になるかを判定し、一致になるべき場
合には前記フラグ手段を第1状態に、そうでない場合に
は前記フラグ手段を第2状態にするフラグ制御手段と、
前記アクセス制御手段によるアクセス時に前記第1信号
が連続的アクセスアドレスであることを示し且つ前記フ
ラグ手段が第1状態であるときは前記第1メモリ部のメ
モリ動作を抑止し前記第2メモリ部のキャッシュライン
をアクセスアドレス信号の第1の部分で選択させ、そう
でない場合には前記第1メモリ部及び第2メモリ部の動
作を許容し第1メモリ部のタグ格納部と第2メモリ部の
キャッシュラインとをアクセスアドレス信号の第1の部
分で選択させるメモリ動作制御手段と、を有して成るデ
ータ処理装置。 - 【請求項3】 前記フラグ制御手段は、前記アクセス制
御手段が出力するアクセスアドレス信号のうちキャッシ
ュラインのアクセス単位領域の選択に割り当てられる第
3の部分と、前記比較部の比較結果とを入力し、比較結
果がキャッシュヒット状態で且つ前記アクセスアドレス
信号の第3の部分がキャッシュラインの最終アクセス単
位領域以外の領域を示すとき前記フラグ手段を第1状態
とし、前記比較結果がキャッシュミス状態又は前記アク
セスアドレス信号の第3の部分が前記キャッシュライン
の最終アクセス単位領域を示すとき前記フラグ手段を第
2状態とするものである請求項2記載のデータ処理装
置。 - 【請求項4】 前記フラグ制御手段は、更に、前記比較
結果がキャッシュミス状態であることに呼応してキャッ
シュフィル動作が行われ且つキャッシュミス状態に係る
アクセスアドレス信号の第3の部分がキャッシュライン
の最終アクセス単位領域以外の領域を示すとき前記フラ
グ手段を第1状態とするものである請求項3記載のデー
タ処理装置。 - 【請求項5】 前記キャッシュメモリ手段は、第1メモ
リ部及び第2メモリ部が複数のウェイに分割され、前記
比較部がウェイ毎に前記一致判定を行ない、ウェイ毎の
前記一致判定結果に基づいて前記第2メモリ部の読み出
しデータをウェイ単位で選択するヒットウェイセレクタ
が設けられた、セットアソシアティブ形式であり、 前記メモリ動作制御手段は、キャッシュヒット状態に同
期して前記比較部によるウェイ毎の判定結果がロードさ
れるレジスタ手段と、前記フラグ手段が第1状態とされ
且つ前記第1信号が連続的アクセスアドレスであること
を示すとき前記レジスタ手段の出力を前記ヒットウェイ
セレクタに供給し、前記フラグ手段が第2状態にされ又
は前記第1信号が連続的アクセスアドレスでないことを
示すときに前記比較部の出力を前記ヒットウェイセレク
タに供給するウェイ選択情報セレクタと、を更に含んで
成る請求項3記載のデータ処理装置。 - 【請求項6】 前記キャッシュメモリ手段は、第1メモ
リ部及び第2メモリ部が複数のウェイに分割され、前記
比較部がウェイ毎に前記一致判定を行ない、ウェイ毎の
前記一致判定結果に基づいて前記第2メモリ部の読み出
しデータをウェイ単位で選択するヒットウェイセレクタ
が設けられた、セットアソシアティブ形式であり、 前記メモリ動作制御手段は、キャッシュヒット状態に呼
応して前記比較部によるウェイ毎の判定結果がロードさ
れると共にキャッシュミス状態に呼応してキャッシュフ
ィル動作の対象とされたウェイの指定情報がロードされ
るレジスタ手段と、前記フラグ手段の第1状態に基づい
て前記レジスタ手段の出力を前記ヒットウェイセレクタ
に供給し、前記フラグ手段の第2状態に基づいて前記比
較部の出力を前記ヒットウェイセレクタに供給するウェ
イ選択情報セレクタと、を更に含んで成る請求項4記載
のデータ処理装置。 - 【請求項7】 前記第2メモリ部は前記アクセス制御手
段がフェッチする命令の格納用とされるものである請求
項1乃至6の何れか1項記載のデータ処理装置。 - 【請求項8】 前記第1信号は、ノンオペレーション、
命令フェッチに関する通常命令フェッチ、及び命令フェ
ッチに関する強制命令フェッチをそれぞれ固有のコード
によって示す信号であり、前記通常命令フェッチに割り
当てられたコードは前回のアクセスアドレスに対して今
回のアクセスが連続的アクセスアドレスであることを意
味し、強制命令フェッチに割り当てられたコードは前回
のアクセスアドレスに対して今回のアクセスが非連続的
アクセスアドレスであることを意味するものである請求
項7記載のデータ処理装置。 - 【請求項9】 前記第2メモリ部は前記アクセス制御手
段がフェッチする命令と前記アクセス制御手段がアクセ
スするデータとの格納用とされ、前記第1信号は前回の
命令アクセスアドレスに対して今回の命令アクセスが連
続的アクセスアドレスであるか否かを示す信号とされ、 前記フラグ制御手段は、前記アクセス制御手段が出力す
るアクセスアドレス信号のうちキャッシュラインのアク
セス単位領域の選択に割り当てられる第3の部分と前記
比較部の比較結果とを入力し、命令アクセスにおいて前
記比較部による比較結果がキャッシュヒット状態で且つ
前記アクセスアドレス信号の第3の部分が前記キャッシ
ュラインの最終アクセス単位領域以外の領域を示すとき
フラグ手段を第1状態とし、前記比較結果がキャッシュ
ミス状態又は前記アクセスアドレス信号の第3の部分が
前記キャッシュラインの最終アクセス単位領域を示すと
き前記フラグ手段を第2状態とするものである請求項2
記載のデータ処理装置。 - 【請求項10】 前記キャッシュメモリ手段は、第1メ
モリ部及び第2メモリ部が複数のウェイに分割され、前
記比較部がウェイ毎に前記一致判定を行ない、ウェイ毎
の前記一致判定結果に基づいて前記第2メモリ部の読み
出しデータをウェイ単位で選択するヒットウェイセレク
タが設けられた、セットアソシアティブ形式とされ、 前記第2メモリ部は前記アクセス制御手段がフェッチす
る命令と前記アクセス制御手段がアクセスするデータと
の格納用とされ、 前記第1信号は前回の命令アクセスアドレスに対して今
回の命令アクセスが連続的アクセスアドレスであるか否
かを示す信号とされ、 前記メモリ動作制御手段は、命令アクセスにおけるキャ
ッシュヒット状態に呼応して前記比較部によるウェイ毎
の判定結果がロードされると共に命令アクセスにおける
キャッシュミス状態に呼応してキャッシュフィル動作の
対象とされたウェイの指定情報がロードされるウェイレ
ジスタ手段と、前記フラグ手段の第1状態に基づいて前
記ウェイレジスタ手段の出力を前記ヒットウェイセレク
タに供給し、前記フラグ手段の第2状態に基づいて前記
比較部の出力を前記ヒットウェイセレクタに供給するウ
ェイ選択情報セレクタと、命令アクセス時のキャッシュ
ヒットに係るアクセスアドレス信号の第1の部分又は命
令アクセス時のキャッシュミスに係るアクセスアドレス
信号の第1の部分がロードされるアドレスレジスタ手段
とを含み、 前記フラグ制御手段は、前記アクセス制御手段が出力す
るアクセスアドレス信号のうちキャッシュラインのアク
セス単位領域の選択に割り当てられる第3の部分と前記
比較部の比較結果とを入力し、命令アクセスにおいて前
記比較部による比較結果がキャッシュヒット状態で且つ
前記アクセスアドレス信号の第3の部分が前記キャッシ
ュラインの最終アクセス単位領域以外の領域を示すと
き、又は命令アクセスにおいて前記比較結果がキャッシ
ュミス状態であることに呼応してキャッシュフィル動作
が行われ且つ当該キャッシュミス状態に係るアクセスア
ドレス信号の第3の部分がキャッシュラインの最終アク
セス単位領域以外の領域を示すとき前記フラグ手段を第
1状態とし、命令アクセスにおいて前記比較結果がキャ
ッシュミス状態であるとき、命令アクセスにおいて前記
アクセスアドレス信号の第3の部分が前記キャッシュラ
インの最終アクセス単位領域を示すとき、又はデータア
クセスにおけるキャッシュミス状態によってキャッシュ
フィルされるウェイ及びキャッシュラインが前記ウェイ
レジスタ手段及びアドレスレジスタ手段の保持値によっ
て特定されるものであるときに第2状態とするものであ
る請求項2記載のデータ処理装置。 - 【請求項11】 前記第1信号は、ノンオペレーショ
ン、データアクセス、命令フェッチに関する通常命令フ
ェッチ、及び命令フェッチに関する強制命令フェッチを
それぞれ固有のコードによって示す信号であり、前記通
常命令フェッチに割り当てられたコードは前回のアクセ
スアドレスに対して今回のアクセスが連続的アクセスア
ドレスであることを意味し、強制命令フェッチに割り当
てられたコードは前回のアクセスアドレスに対して今回
のアクセスが非連続的アクセスアドレスであることを意
味するものである請求項9又は10記載のデータ処理装
置。 - 【請求項12】 アドレス信号を出力するアクセス制御
手段と、前記アクセス制御手段に接続されたキャッシュ
メモリ手段とを含み、 前記アクセス制御手段は、前回のアクセスアドレスに対
して今回のアクセスが連続的アクセスアドレスであるか
否かを示す第1信号を出力し、 前記キャッシュメモリ手段は、複数のタグ格納部を有す
る第1メモリ部と、前記個々のタグ格納部に対応する複
数のキャッシュラインを有する第2メモリ部と、前記第
2メモリ部で選択されたキャッシュラインの記憶情報を
格納可能なバッファ部と、アクセスアドレス信号の第1
の部分によって選択されるタグ格納部のタグが前記アク
セスアドレス信号の第2の部分に一致するか否かを判定
する比較部と、前記比較部の比較結果を入力する制御部
とを有し、 前記制御部は、フラグ手段と、前記アクセス制御手段に
よる次回アクセスにおいて前記第1信号が前記連続的ア
クセスアドレスである事を示すならば次回アクセスにお
ける前記比較部の判定結果が今回アクセスと同一キャッ
シュラインで一致になるかを判定し、一致になるべき場
合には前記フラグ手段を第1状態に、そうでない場合に
は前記フラグ手段を第2状態にするフラグ制御手段と、 前記アクセス制御手段によるアクセス時に前記フラグ手
段が第1状態にされるのに呼応して前記第2メモリ部で
選択されたキャッシュラインの記憶情報を前記バッファ
部に内部転送し、前記アクセス制御手段によるアクセス
時に前記第1信号が連続的アクセスアドレスであること
を示し且つ前記フラグ手段が第1状態であるときは前記
第1メモリ部及び第2のメモリ動作を抑止し前記バッフ
ァ部の格納データを選択させ、そうでない場合には前記
第1メモリ部及び第2メモリ部の動作を許容し第1メモ
リ部のタグ格納部と第2メモリ部のキャッシュラインと
をアクセスアドレス信号の第1の部分で選択させるメモ
リ動作制御手段と、を有して成るデータ処理装置。 - 【請求項13】 前記フラグ制御手段は、前記アクセス
制御手段が出力するアクセスアドレス信号のうちキャッ
シュラインのアクセス単位領域の選択に割り当てられる
第3の部分と、前記比較部の比較結果とを入力し、比較
結果がキャッシュヒット状態で且つ前記アクセスアドレ
ス信号の第3の部分がキャッシュラインの最終アクセス
単位領域以外の領域を示すとき前記フラグ手段を第1状
態とし、前記比較結果がキャッシュミス状態又は前記ア
クセスアドレス信号の第3の部分が前記キャッシュライ
ンの最終アクセス単位領域を示すとき前記フラグ手段を
第2状態とするものである請求項12記載のデータ処理
装置。 - 【請求項14】 前記フラグ制御手段は、更に、前記比
較結果がキャッシュミス状態であることに呼応してキャ
ッシュフィル動作が行われ且つキャッシュミス状態に係
るアクセスアドレス信号の第3の部分がキャッシュライ
ンの最終アクセス単位領域以外の領域を示すとき前記フ
ラグ手段を第1状態とするものである請求項13記載の
データ処理装置。 - 【請求項15】 前記アクセス制御手段はキャッシュメ
モリ手段と一緒に同一半導体基板に設けられた中央処理
装置である請求項1乃至14の何れか1項に記載のデー
タ処理装置。 - 【請求項16】 前記アクセス制御手段はキャッシュメ
モリ手段と一緒に同一半導体基板に設けられたディジタ
ル信号処理手段である請求項1乃至14の何れか1項に
記載のデータ処理装置。 - 【請求項17】 請求項15に記載のデータ処理装置
と、このデータ処理装置によってアクセスされるメモリ
手段と、前記データ処理装置の制御を受ける周辺回路と
を含んで成るデータ処理システム。 - 【請求項18】 前記第2メモリ部は前記アクセス制御
手段がアクセスするデータの格納用とされ、前記第1信
号は前回のデータアクセスアドレスに対して今回のデー
タアクセスが連続的アクセスアドレスであるか否かを示
す信号とされ、 前記フラグ制御手段は、前記アクセス制御手段が出力す
るアクセスアドレス信号のうちキャッシュラインのアク
セス単位領域の選択に割り当てられる第3の部分と前記
比較部の比較結果とを入力し、データアクセスにおいて
前記比較部による比較結果がキャッシュヒット状態で且
つ前記アクセスアドレス信号の第3の部分が前記キャッ
シュラインの最終アクセス単位領域以外の領域を示すと
きフラグ手段を第1状態とし、前記比較結果がキャッシ
ュミス状態又は前記アクセスアドレス信号の第3の部分
が前記キャッシュラインの最終アクセス単位領域を示す
とき前記フラグ手段を第2状態とするものである請求項
2記載のデータ処理装置。 - 【請求項19】 アドレス信号を出力するアドレス供給
回路を含むメモリアクセス制御回路と、 それぞれデータを格納する複数のメモリと、 前記複数のメモリのアクセスを制御する制御回路とを含
み、 前記制御回路は、前記メモリアクセス制御回路から出力
される先回のアドレス信号に対して今回のアドレス信号
が連続的であることを示す信号に応答し、先回のアドレ
ス信号によって選択されたメモリを選択的にアクセスす
ることを特徴とするデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9350330A JPH11184752A (ja) | 1997-12-19 | 1997-12-19 | データ処理装置及びデータ処理システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9350330A JPH11184752A (ja) | 1997-12-19 | 1997-12-19 | データ処理装置及びデータ処理システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11184752A true JPH11184752A (ja) | 1999-07-09 |
Family
ID=18409760
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9350330A Withdrawn JPH11184752A (ja) | 1997-12-19 | 1997-12-19 | データ処理装置及びデータ処理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11184752A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6560679B2 (en) | 2000-06-05 | 2003-05-06 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing power consumption by skipping second accesses to previously accessed cache lines |
| US6760810B2 (en) | 2000-12-22 | 2004-07-06 | Fujitsu Limited | Data processor having instruction cache with low power consumption |
| EP2309393A1 (en) | 2009-10-06 | 2011-04-13 | Fujitsu Limited | Cache memory control device, cache memory device, processor, and controlling method for storage device |
| EP2339474A1 (en) | 2009-12-25 | 2011-06-29 | Fujitsu Limited | Cache unit, arithmetic processing unit, and information processing unit |
| US9715461B2 (en) | 2014-03-03 | 2017-07-25 | Kabushiki Kaisha Toshiba | Cache memory control circuit and processor |
| CN120561045A (zh) * | 2025-07-29 | 2025-08-29 | 无锡国芯微高新技术有限公司 | 应用于psram控制器的数据读取方法、缓存设备和系统 |
-
1997
- 1997-12-19 JP JP9350330A patent/JPH11184752A/ja not_active Withdrawn
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6560679B2 (en) | 2000-06-05 | 2003-05-06 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing power consumption by skipping second accesses to previously accessed cache lines |
| US6760810B2 (en) | 2000-12-22 | 2004-07-06 | Fujitsu Limited | Data processor having instruction cache with low power consumption |
| EP2309393A1 (en) | 2009-10-06 | 2011-04-13 | Fujitsu Limited | Cache memory control device, cache memory device, processor, and controlling method for storage device |
| EP2339474A1 (en) | 2009-12-25 | 2011-06-29 | Fujitsu Limited | Cache unit, arithmetic processing unit, and information processing unit |
| JP2011138212A (ja) * | 2009-12-25 | 2011-07-14 | Fujitsu Ltd | キャッシュ装置、演算処理装置及び情報処理装置 |
| US8862829B2 (en) | 2009-12-25 | 2014-10-14 | Fujitsu Limited | Cache unit, arithmetic processing unit, and information processing unit |
| US9715461B2 (en) | 2014-03-03 | 2017-07-25 | Kabushiki Kaisha Toshiba | Cache memory control circuit and processor |
| CN120561045A (zh) * | 2025-07-29 | 2025-08-29 | 无锡国芯微高新技术有限公司 | 应用于psram控制器的数据读取方法、缓存设备和系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5951685A (en) | Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM | |
| US7966457B2 (en) | Configurable cache for a microprocessor | |
| JP3352598B2 (ja) | マイクロプロセッサ | |
| US7877537B2 (en) | Configurable cache for a microprocessor | |
| US6963962B2 (en) | Memory system for supporting multiple parallel accesses at very high frequencies | |
| JP2000242558A (ja) | キャッシュシステム及びその操作方法 | |
| JPH06243039A (ja) | キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法 | |
| US9208095B2 (en) | Configurable cache for a microprocessor | |
| US7389384B2 (en) | Apparatus and method for fetching data from memory | |
| JPWO2004031943A1 (ja) | データプロセッサ | |
| KR100710922B1 (ko) | 캐시 관리 방법 | |
| US5822762A (en) | Information processing device with decision circuits and partitioned address areas | |
| US6748527B1 (en) | Data processing system for performing software initialization | |
| JPH11184752A (ja) | データ処理装置及びデータ処理システム | |
| US20030196072A1 (en) | Digital signal processor architecture for high computation speed | |
| JPH11134077A (ja) | データ処理装置及びデータ処理システム | |
| EP1107110A2 (en) | Instruction loop buffer | |
| KR960007833B1 (ko) | 고속 페이지 모드 선택을 위한 방법 및 장치 | |
| EP0772829A1 (en) | A pipelined microprocessor that makes memory requests to a cache memory and an external memory controller during the same clock cycle | |
| US5717891A (en) | Digital signal processor with caching of instructions that produce a memory conflict | |
| US8230175B1 (en) | Data throughput optimization of a storage device having sequential data access | |
| JP3735373B2 (ja) | マイクロコンピュータ | |
| JPH0981458A (ja) | データ処理システムにおけるキャッシュのアクセス方法 | |
| JP2003228483A (ja) | マイクロプロセッサ | |
| JPH0798673A (ja) | キャッシュメモリを有するデータ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050301 |