JP3102594B2 - キャッシュメモリ装置 - Google Patents
キャッシュメモリ装置Info
- Publication number
- JP3102594B2 JP3102594B2 JP04031813A JP3181392A JP3102594B2 JP 3102594 B2 JP3102594 B2 JP 3102594B2 JP 04031813 A JP04031813 A JP 04031813A JP 3181392 A JP3181392 A JP 3181392A JP 3102594 B2 JP3102594 B2 JP 3102594B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- instruction
- addresses
- data
- access request
- 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.)
- Expired - Fee Related
Links
Landscapes
- Advance Control (AREA)
Description
【0001】
【産業上の利用分野】本発明は、命令列とデータとの双
方が格納されるキャッシュメモリ装置に関するものであ
る。
方が格納されるキャッシュメモリ装置に関するものであ
る。
【0002】
【従来の技術】コンピュータシステムにおいて、命令フ
ェッチのためのアクセスとデータアクセスとの高速化を
目的としてキャッシュメモリ装置が使用される。
ェッチのためのアクセスとデータアクセスとの高速化を
目的としてキャッシュメモリ装置が使用される。
【0003】ある種のキャッシュメモリ装置は、プロセ
ッサにより実行されるべき命令列が格納された命令キャ
ッシュとして使用されるだけでなく、データの格納のた
めのデータキャッシュとしても使用される。このタイプ
のキャッシュメモリ装置は、アプリケーションプログラ
ムに応じて命令列とデータとの間で容量配分の最適化が
図れる利点があるものの、従来はシングルポートメモリ
アレイで構成されていたので、命令フェッチのためのア
クセス要求とデータアクセス要求とを同時には処理する
ことができない構成であった。
ッサにより実行されるべき命令列が格納された命令キャ
ッシュとして使用されるだけでなく、データの格納のた
めのデータキャッシュとしても使用される。このタイプ
のキャッシュメモリ装置は、アプリケーションプログラ
ムに応じて命令列とデータとの間で容量配分の最適化が
図れる利点があるものの、従来はシングルポートメモリ
アレイで構成されていたので、命令フェッチのためのア
クセス要求とデータアクセス要求とを同時には処理する
ことができない構成であった。
【0004】また、命令キャッシュとデータキャッシュ
とを分離したタイプのキャッシュメモリ装置も使用に供
されている。このタイプのキャッシュメモリ装置は、命
令フェッチのためのアクセス要求とデータアクセス要求
とを同時に処理できる利点があるものの、従来は命令キ
ャッシュとデータキャッシュとの各々がシングルポート
メモリアレイで構成されていたので、命令フェッチのた
めの複数のアクセス要求を同時には処理することができ
ず、また複数のデータアクセス要求を同時には処理する
ことができない構成であった。
とを分離したタイプのキャッシュメモリ装置も使用に供
されている。このタイプのキャッシュメモリ装置は、命
令フェッチのためのアクセス要求とデータアクセス要求
とを同時に処理できる利点があるものの、従来は命令キ
ャッシュとデータキャッシュとの各々がシングルポート
メモリアレイで構成されていたので、命令フェッチのた
めの複数のアクセス要求を同時には処理することができ
ず、また複数のデータアクセス要求を同時には処理する
ことができない構成であった。
【0005】さて、マイクロプロセッサを用いたコンピ
ュータシステムにおいて、命令を実行するためのマイク
ロプロセッサに命令縮小型コンピュータ(RISC)の
アーキテクチャが採用される場合がある。以下、この種
のマイクロプロセッサをRISCマイクロプロセッサと
いう。RISCマイクロプロセッサの命令セットは基本
的に1サイクルで実行できる命令に限定されており、該
マイクロプロセッサは1サイクル毎に次々と命令を実行
していく。しかも、メモリアクセス命令は、例えばロー
ド命令とストア命令との2種類に限られている。
ュータシステムにおいて、命令を実行するためのマイク
ロプロセッサに命令縮小型コンピュータ(RISC)の
アーキテクチャが採用される場合がある。以下、この種
のマイクロプロセッサをRISCマイクロプロセッサと
いう。RISCマイクロプロセッサの命令セットは基本
的に1サイクルで実行できる命令に限定されており、該
マイクロプロセッサは1サイクル毎に次々と命令を実行
していく。しかも、メモリアクセス命令は、例えばロー
ド命令とストア命令との2種類に限られている。
【0006】RISCマイクロプロセッサとキャッシュ
メモリ装置とが内部バスを介して接続された構成を有す
るプロセッサユニットでは、RISCマイクロプロセッ
サからキャッシュメモリ装置へ、命令フェッチのために
プログラムカウンタのインクリメントにより順次生成さ
れる命令アドレスと、ロード命令及びストア命令に基づ
いてデータアクセスのために生成されるデータアドレス
とが各々アクセス要求アドレスとして与えられることと
なる。更に、命令実行シーケンスの変更を要求する命令
すなわち無条件分岐命令、条件分岐命令等のシーケンス
変更命令を該マイクロプロセッサが実行する際には、分
岐先の命令フェッチのための分岐先アドレスが他のアク
セス要求アドレスとしてキャッシュメモリ装置に与えら
れる。
メモリ装置とが内部バスを介して接続された構成を有す
るプロセッサユニットでは、RISCマイクロプロセッ
サからキャッシュメモリ装置へ、命令フェッチのために
プログラムカウンタのインクリメントにより順次生成さ
れる命令アドレスと、ロード命令及びストア命令に基づ
いてデータアクセスのために生成されるデータアドレス
とが各々アクセス要求アドレスとして与えられることと
なる。更に、命令実行シーケンスの変更を要求する命令
すなわち無条件分岐命令、条件分岐命令等のシーケンス
変更命令を該マイクロプロセッサが実行する際には、分
岐先の命令フェッチのための分岐先アドレスが他のアク
セス要求アドレスとしてキャッシュメモリ装置に与えら
れる。
【0007】一方、共通のシステムバス(外部バス)に
複数のプロセッサユニットを接続してなるマルチプロセ
ッサ構成のコンピュータシステムでは、各プロセッサユ
ニットにバス監視装置を設けることが一般的になってい
る。例えば、あるプロセッサユニット内のキャッシュメ
モリ装置のデータが一部書き換えられた場合、キャッシ
ュプロトコルの定義に従ってデータの整合性すなわちコ
ヒーレンシーを維持するように、他のプロセッサユニッ
ト内のキャッシュメモリ装置の同一アドレスのデータを
無効化する必要がある。外部バスに接続された共通の外
部メモリ装置のデータが一部書き換えられた場合も、同
様の操作を施す必要がある。そこで、各バス監視装置
は、外部バスから供給された物理アドレスのデータをキ
ャッシュメモリ装置が保持しているかどうかを調べるの
である。つまり、キャッシュメモリ装置へは、バス監視
装置からデータの整合性を管理するための物理アドレス
が更に他のアクセス要求アドレスとして与えられる。な
お、マルチプロセッサ構成におけるキャッシュメモリ装
置のコヒーレンシーについては、J.Archibald and J.L.
Baer:“Cache Coherence Protocols :Evaluation Usi
nga MultiprocessorSimulation Model”(ACM Trans. o
n Computer Systems,Vol.4,No.4,Nov.1986,pp.273-29
8)等に詳細な記述がある。
複数のプロセッサユニットを接続してなるマルチプロセ
ッサ構成のコンピュータシステムでは、各プロセッサユ
ニットにバス監視装置を設けることが一般的になってい
る。例えば、あるプロセッサユニット内のキャッシュメ
モリ装置のデータが一部書き換えられた場合、キャッシ
ュプロトコルの定義に従ってデータの整合性すなわちコ
ヒーレンシーを維持するように、他のプロセッサユニッ
ト内のキャッシュメモリ装置の同一アドレスのデータを
無効化する必要がある。外部バスに接続された共通の外
部メモリ装置のデータが一部書き換えられた場合も、同
様の操作を施す必要がある。そこで、各バス監視装置
は、外部バスから供給された物理アドレスのデータをキ
ャッシュメモリ装置が保持しているかどうかを調べるの
である。つまり、キャッシュメモリ装置へは、バス監視
装置からデータの整合性を管理するための物理アドレス
が更に他のアクセス要求アドレスとして与えられる。な
お、マルチプロセッサ構成におけるキャッシュメモリ装
置のコヒーレンシーについては、J.Archibald and J.L.
Baer:“Cache Coherence Protocols :Evaluation Usi
nga MultiprocessorSimulation Model”(ACM Trans. o
n Computer Systems,Vol.4,No.4,Nov.1986,pp.273-29
8)等に詳細な記述がある。
【0008】
【発明が解決しようとする課題】上記命令アドレス、分
岐先アドレス、データアドレス及び物理アドレスの各々
に係るアクセス要求は、互いに独立に生起する。したが
って、最大4種類のアクセス要求が同時に生起する可能
性がある。
岐先アドレス、データアドレス及び物理アドレスの各々
に係るアクセス要求は、互いに独立に生起する。したが
って、最大4種類のアクセス要求が同時に生起する可能
性がある。
【0009】ところが、前記のとおり命令キャッシュと
データキャッシュとを分離しないタイプの従来のキャッ
シュメモリ装置は、命令フェッチのためのアクセス要求
(命令アドレス及び分岐先アドレスに係るアクセス要
求)とデータアクセス要求(データアドレス及び物理ア
ドレスに係るアクセス要求)とを同時には処理できない
構成であったので、両者が同時に生起した場合には一方
のアクセス要求を優先的に処理することとなる。したが
って、例えば命令フェッチのためのアクセスを優先させ
る場合には、データアクセス要求が処理待ち状態となっ
てペナルティが発生する。
データキャッシュとを分離しないタイプの従来のキャッ
シュメモリ装置は、命令フェッチのためのアクセス要求
(命令アドレス及び分岐先アドレスに係るアクセス要
求)とデータアクセス要求(データアドレス及び物理ア
ドレスに係るアクセス要求)とを同時には処理できない
構成であったので、両者が同時に生起した場合には一方
のアクセス要求を優先的に処理することとなる。したが
って、例えば命令フェッチのためのアクセスを優先させ
る場合には、データアクセス要求が処理待ち状態となっ
てペナルティが発生する。
【0010】また、命令キャッシュとデータキャッシュ
とを分離したタイプの従来のキャッシュメモリ装置は、
特にマルチプロセッサ構成をサポートするRISCマイ
クロプロセッサに適用される場合、例えば条件分岐命令
の実行やメモリアクセス命令の実行に際し、次のような
問題があった。
とを分離したタイプの従来のキャッシュメモリ装置は、
特にマルチプロセッサ構成をサポートするRISCマイ
クロプロセッサに適用される場合、例えば条件分岐命令
の実行やメモリアクセス命令の実行に際し、次のような
問題があった。
【0011】まず、RISCマイクロプロセッサがある
命令の実行と並行して条件分岐命令の条件の成立・不成
立の判断をしている間にキャッシュメモリ装置が該プロ
セッサからの命令アドレスに係るアクセス要求を処理す
る構成を採用すれば、分岐条件不成立の場合に次に実行
すべき命令がプログラムカウンタに従って予めフェッチ
されるので、分岐条件の不成立が判明した時点で該プロ
セッサは次の命令を直ちに実行することができる。とこ
ろが、従来のキャッシュメモリ装置は、命令アドレスに
係るアクセス要求と分岐先アドレスに係るアクセス要求
とを同時には処理できない構成であったので、前記分岐
条件の成立・不成立の判断と命令アドレスに係るアクセ
ス要求の処理とが完了した後でなければ分岐先の命令を
フェッチすることができない。つまり、分岐先の命令フ
ェッチのためのアクセスについてペナルティが発生する
のである。
命令の実行と並行して条件分岐命令の条件の成立・不成
立の判断をしている間にキャッシュメモリ装置が該プロ
セッサからの命令アドレスに係るアクセス要求を処理す
る構成を採用すれば、分岐条件不成立の場合に次に実行
すべき命令がプログラムカウンタに従って予めフェッチ
されるので、分岐条件の不成立が判明した時点で該プロ
セッサは次の命令を直ちに実行することができる。とこ
ろが、従来のキャッシュメモリ装置は、命令アドレスに
係るアクセス要求と分岐先アドレスに係るアクセス要求
とを同時には処理できない構成であったので、前記分岐
条件の成立・不成立の判断と命令アドレスに係るアクセ
ス要求の処理とが完了した後でなければ分岐先の命令を
フェッチすることができない。つまり、分岐先の命令フ
ェッチのためのアクセスについてペナルティが発生する
のである。
【0012】また、同命令キャッシュとデータキャッシ
ュとを分離したタイプの従来のキャッシュメモリ装置
は、ロード命令及びストア命令に基づくデータアドレス
に係るアクセス要求とデータの整合性を管理するための
物理アドレスに係るアクセス要求とを同時には処理でき
ない構成であったので、両者が同時に生起した場合には
一方のアクセス要求を優先的に処理することとなる。し
たがって、例えば物理アドレスに係るアクセスを優先さ
せる場合には、データアドレスに係るアクセス要求が処
理待ち状態となってペナルティが発生する。
ュとを分離したタイプの従来のキャッシュメモリ装置
は、ロード命令及びストア命令に基づくデータアドレス
に係るアクセス要求とデータの整合性を管理するための
物理アドレスに係るアクセス要求とを同時には処理でき
ない構成であったので、両者が同時に生起した場合には
一方のアクセス要求を優先的に処理することとなる。し
たがって、例えば物理アドレスに係るアクセスを優先さ
せる場合には、データアドレスに係るアクセス要求が処
理待ち状態となってペナルティが発生する。
【0013】本発明の目的は、命令キャッシュとデータ
キャッシュとを分離しないタイプのキャッシュメモリ装
置において、命令フェッチのための複数のアクセス要求
と複数のデータアクセス要求との中から任意に選択され
た少なくとも2つのアクセス要求を同時に処理できるよ
うにすることにあり、特にRISCマイクロプロセッサ
を含んだマルチプロセッサ構成のプロセッサユニットの
各々に好適に使用されるアクセス効率の良いキャッシュ
メモリ装置を提供することにある。
キャッシュとを分離しないタイプのキャッシュメモリ装
置において、命令フェッチのための複数のアクセス要求
と複数のデータアクセス要求との中から任意に選択され
た少なくとも2つのアクセス要求を同時に処理できるよ
うにすることにあり、特にRISCマイクロプロセッサ
を含んだマルチプロセッサ構成のプロセッサユニットの
各々に好適に使用されるアクセス効率の良いキャッシュ
メモリ装置を提供することにある。
【0014】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明は、命令キャッシュとデータキャッシュと
を分離しないタイプのキャッシュメモリ装置に互いに独
立した2つのポートを有するデュアルポートメモリアレ
イを導入し、命令フェッチのための2つのアクセス要求
の同時処理、命令フェッチのためのアクセス要求とデー
タアクセス要求との同時処理、及び、2つのデータアク
セス要求の同時処理をいずれも可能にしたものである。
めに、本発明は、命令キャッシュとデータキャッシュと
を分離しないタイプのキャッシュメモリ装置に互いに独
立した2つのポートを有するデュアルポートメモリアレ
イを導入し、命令フェッチのための2つのアクセス要求
の同時処理、命令フェッチのためのアクセス要求とデー
タアクセス要求との同時処理、及び、2つのデータアク
セス要求の同時処理をいずれも可能にしたものである。
【0015】具体的には、請求項1の発明は、命令フェ
ッチのためのアクセスに使用されるべき複数のアドレス
とデータアクセスに使用されるべき複数のアドレスとか
らなるアドレス群の中の3つ以上のアドレスがアクセス
要求アドレスとして同時に与えられるキャッシュメモリ
装置において、与えられた3つ以上のアクセス要求アド
レスの中から命令フェッチのためのアクセスに使用され
るべき2つのアドレス、データアクセスに使用されるべ
き2つのアドレス、及び、命令フェッチのためのアクセ
スに使用されるべき1つのアドレスとデータアクセスに
使用されるべき1つのアドレスという2つのアドレスの
複数の組み合わせのうちの1つを選択するためのアドレ
ス選択手段と、命令列とデータとが格納されかつ前記ア
ドレス選択手段で選択された2つのアドレスによりそれ
ぞれ独立にアクセスされる記憶手段とを備えた構成を採
用したものである。
ッチのためのアクセスに使用されるべき複数のアドレス
とデータアクセスに使用されるべき複数のアドレスとか
らなるアドレス群の中の3つ以上のアドレスがアクセス
要求アドレスとして同時に与えられるキャッシュメモリ
装置において、与えられた3つ以上のアクセス要求アド
レスの中から命令フェッチのためのアクセスに使用され
るべき2つのアドレス、データアクセスに使用されるべ
き2つのアドレス、及び、命令フェッチのためのアクセ
スに使用されるべき1つのアドレスとデータアクセスに
使用されるべき1つのアドレスという2つのアドレスの
複数の組み合わせのうちの1つを選択するためのアドレ
ス選択手段と、命令列とデータとが格納されかつ前記ア
ドレス選択手段で選択された2つのアドレスによりそれ
ぞれ独立にアクセスされる記憶手段とを備えた構成を採
用したものである。
【0016】請求項2の発明は、RISCマイクロプロ
セッサを含んだマルチプロセッサ構成のプロセッサユニ
ットへの対応を可能にしたものであって、命令フェッチ
のためにプログラムカウンタのインクリメントにより順
次生成される第1のアドレスとしての命令アドレスと、
命令実行シーケンスの変更を要求するシーケンス変更命
令に基づいて分岐先の命令フェッチのために生成される
第2のアドレスとしての分岐先アドレスと、メモリアク
セス命令に基づいてデータアクセスのために生成される
第3のアドレスとしてのデータアドレスと、他のメモリ
装置との間のデータの整合性を管理するための第4のア
ドレスとしてのデータアクセス用の物理アドレスとの4
種類のアドレスからなるアドレス群に属する3つ以上の
アドレスがアクセス要求アドレスとして同時に与えられ
るキャッシュメモリ装置において、次のような制御装置
と、第1及び第2のアドレス選択器と、記憶装置とを備
えた構成を採用したものである。すなわち、制御装置
は、与えられた3つ以上のアクセス要求アドレスの中か
ら、命令アドレスと分岐先アドレス、命令アドレスとデ
ータアドレス、命令アドレスと物理アドレス、分岐先ア
ドレスとデータアドレス、分岐先アドレスと物理アドレ
ス、データアドレスと物理アドレス、及び、2つのデー
タアドレスという2つのアドレスの複数の組み合わせの
うちの1つを各々第1及び第2の被選択アドレスとして
指定するものである。また、第1のアドレス選択器は、
前記制御装置により第1の被選択アドレスとして指定さ
れたアドレスを前記与えられた3つ以上のアクセス要求
アドレスの中から選択し、かつ該選択した1つのアドレ
スを出力するものである。第2のアドレス選択器は、前
記制御装置により第2の被選択アドレスとして指定され
たアドレスを前記与えられた3つ以上のアクセス要求ア
ドレスの中から選択し、かつ該選択した1つのアドレス
を出力するものである。そして、記憶装置は、命令列と
データとが格納され、かつ前記第1及び第2のアドレス
選択器から各々出力されたアドレスによりそれぞれ独立
にアクセスされるものである。
セッサを含んだマルチプロセッサ構成のプロセッサユニ
ットへの対応を可能にしたものであって、命令フェッチ
のためにプログラムカウンタのインクリメントにより順
次生成される第1のアドレスとしての命令アドレスと、
命令実行シーケンスの変更を要求するシーケンス変更命
令に基づいて分岐先の命令フェッチのために生成される
第2のアドレスとしての分岐先アドレスと、メモリアク
セス命令に基づいてデータアクセスのために生成される
第3のアドレスとしてのデータアドレスと、他のメモリ
装置との間のデータの整合性を管理するための第4のア
ドレスとしてのデータアクセス用の物理アドレスとの4
種類のアドレスからなるアドレス群に属する3つ以上の
アドレスがアクセス要求アドレスとして同時に与えられ
るキャッシュメモリ装置において、次のような制御装置
と、第1及び第2のアドレス選択器と、記憶装置とを備
えた構成を採用したものである。すなわち、制御装置
は、与えられた3つ以上のアクセス要求アドレスの中か
ら、命令アドレスと分岐先アドレス、命令アドレスとデ
ータアドレス、命令アドレスと物理アドレス、分岐先ア
ドレスとデータアドレス、分岐先アドレスと物理アドレ
ス、データアドレスと物理アドレス、及び、2つのデー
タアドレスという2つのアドレスの複数の組み合わせの
うちの1つを各々第1及び第2の被選択アドレスとして
指定するものである。また、第1のアドレス選択器は、
前記制御装置により第1の被選択アドレスとして指定さ
れたアドレスを前記与えられた3つ以上のアクセス要求
アドレスの中から選択し、かつ該選択した1つのアドレ
スを出力するものである。第2のアドレス選択器は、前
記制御装置により第2の被選択アドレスとして指定され
たアドレスを前記与えられた3つ以上のアクセス要求ア
ドレスの中から選択し、かつ該選択した1つのアドレス
を出力するものである。そして、記憶装置は、命令列と
データとが格納され、かつ前記第1及び第2のアドレス
選択器から各々出力されたアドレスによりそれぞれ独立
にアクセスされるものである。
【0017】また、請求項3の発明では、前記制御装置
は、前記与えられた3つ以上のアクセス要求アドレスの
うち、前記第1〜第3の3種類のアドレスの中から1つ
のアドレスを前記第1の被選択アドレスとして指定し、
かつ前記第2〜第4の3種類のアドレスの中から他の1
つのアドレスを前記第2の被選択アドレスとして指定す
ることとした。
は、前記与えられた3つ以上のアクセス要求アドレスの
うち、前記第1〜第3の3種類のアドレスの中から1つ
のアドレスを前記第1の被選択アドレスとして指定し、
かつ前記第2〜第4の3種類のアドレスの中から他の1
つのアドレスを前記第2の被選択アドレスとして指定す
ることとした。
【0018】請求項4の発明では、前記制御装置は、前
記第3及び第4のアドレスに比べて前記第1及び第2の
アドレスを優先させ、かつ前記第3のアドレスに比べて
前記第4のアドレスを優先させるという優先ルールに従
って前記第1及び第2の被選択アドレスの指定を行い、
かつ前記与えられた3つ以上のアクセス要求アドレスの
うち前記第1及び第2の被選択アドレスとして指定され
たアドレス以外のアドレスを処理待ち状態とすることと
した。
記第3及び第4のアドレスに比べて前記第1及び第2の
アドレスを優先させ、かつ前記第3のアドレスに比べて
前記第4のアドレスを優先させるという優先ルールに従
って前記第1及び第2の被選択アドレスの指定を行い、
かつ前記与えられた3つ以上のアクセス要求アドレスの
うち前記第1及び第2の被選択アドレスとして指定され
たアドレス以外のアドレスを処理待ち状態とすることと
した。
【0019】また、請求項5の発明では、前記制御装置
は、前記処理待ち状態のアクセス要求アドレスに加えて
2つ以上のアクセス要求アドレスが新たに与えられた場
合には、前記第1及び第2の被選択アドレスの指定に際
し、前記処理待ち状態のアクセス要求アドレスを最優先
とすることとした。
は、前記処理待ち状態のアクセス要求アドレスに加えて
2つ以上のアクセス要求アドレスが新たに与えられた場
合には、前記第1及び第2の被選択アドレスの指定に際
し、前記処理待ち状態のアクセス要求アドレスを最優先
とすることとした。
【0020】請求項6の発明では、前記記憶装置は、次
のような第1及び第2のデュアルポートメモリアレイ
と、第1及び第2の比較器とを備えることとした。すな
わち、第1のデュアルポートメモリアレイは、互いに独
立した第1及び第2のポートを有し、かつ前記第1のア
ドレス選択器から出力されたアドレスのうちの特定の部
分により前記第1のポートから第1のタグアドレスが読
み出され、かつ前記第2のアドレス選択器から出力され
たアドレスのうちの特定の部分により前記第2のポート
から第2のタグアドレスが読み出されるものである。ま
た、第1の比較器は、前記第1のアドレス選択器から出
力されたアドレスのうちの他の特定の部分と前記第1の
デュアルポートメモリアレイの第1のポートから読み出
された第1のタグアドレスとが一致した場合には第1の
ヒット信号を出力するものである。第2の比較器は、前
記第2のアドレス選択器から出力されたアドレスのうち
の他の特定の部分と前記第1のデュアルポートメモリア
レイの第2のポートから読み出された第2のタグアドレ
スとが一致した場合には第2のヒット信号を出力するも
のである。そして、第2のデュアルポートメモリアレイ
は、命令列とデータとが格納され、かつ互いに独立した
第1及び第2のメモリポートを有し、かつ前記第1の比
較器から第1のヒット信号が出力された場合には前記第
1のアドレス選択器から出力されたアドレスにより前記
第1のメモリポートを通してアクセスされ、かつ前記第
2の比較器から第2のヒット信号が出力された場合には
前記第2のアドレス選択器から出力されたアドレスによ
り前記第2のメモリポートを通してアクセスされるもの
である。
のような第1及び第2のデュアルポートメモリアレイ
と、第1及び第2の比較器とを備えることとした。すな
わち、第1のデュアルポートメモリアレイは、互いに独
立した第1及び第2のポートを有し、かつ前記第1のア
ドレス選択器から出力されたアドレスのうちの特定の部
分により前記第1のポートから第1のタグアドレスが読
み出され、かつ前記第2のアドレス選択器から出力され
たアドレスのうちの特定の部分により前記第2のポート
から第2のタグアドレスが読み出されるものである。ま
た、第1の比較器は、前記第1のアドレス選択器から出
力されたアドレスのうちの他の特定の部分と前記第1の
デュアルポートメモリアレイの第1のポートから読み出
された第1のタグアドレスとが一致した場合には第1の
ヒット信号を出力するものである。第2の比較器は、前
記第2のアドレス選択器から出力されたアドレスのうち
の他の特定の部分と前記第1のデュアルポートメモリア
レイの第2のポートから読み出された第2のタグアドレ
スとが一致した場合には第2のヒット信号を出力するも
のである。そして、第2のデュアルポートメモリアレイ
は、命令列とデータとが格納され、かつ互いに独立した
第1及び第2のメモリポートを有し、かつ前記第1の比
較器から第1のヒット信号が出力された場合には前記第
1のアドレス選択器から出力されたアドレスにより前記
第1のメモリポートを通してアクセスされ、かつ前記第
2の比較器から第2のヒット信号が出力された場合には
前記第2のアドレス選択器から出力されたアドレスによ
り前記第2のメモリポートを通してアクセスされるもの
である。
【0021】また、請求項7の発明では、前記記憶装置
は、前記第1のアドレスによりアクセスされる毎に前記
格納された命令列のうちの連続した少なくとも2つの命
令が一度にフェッチされることとした。
は、前記第1のアドレスによりアクセスされる毎に前記
格納された命令列のうちの連続した少なくとも2つの命
令が一度にフェッチされることとした。
【0022】
【作用】請求項1の発明によれば、アドレス選択手段に
より命令フェッチのための1つのアドレスとデータアク
セスのための1つのアドレスとが選択される場合だけで
なく、同アドレス選択手段により命令フェッチのための
2つのアドレスが選択される場合や、データアクセスの
ための2つのアドレスが選択される場合もある。命令列
とデータとの双方が格納された記憶手段は、これら各々
の場合に応じて、アドレス選択手段で選択された2つの
アドレスによりそれぞれ独立にアクセスされる。つま
り、命令キャッシュとデータキャッシュとを分離しない
構成でありながら、命令フェッチのための2つのアクセ
ス要求の同時処理、命令フェッチのためのアクセス要求
とデータアクセス要求との同時処理、及び、2つのデー
タアクセス要求の同時処理がいずれも可能である。
より命令フェッチのための1つのアドレスとデータアク
セスのための1つのアドレスとが選択される場合だけで
なく、同アドレス選択手段により命令フェッチのための
2つのアドレスが選択される場合や、データアクセスの
ための2つのアドレスが選択される場合もある。命令列
とデータとの双方が格納された記憶手段は、これら各々
の場合に応じて、アドレス選択手段で選択された2つの
アドレスによりそれぞれ独立にアクセスされる。つま
り、命令キャッシュとデータキャッシュとを分離しない
構成でありながら、命令フェッチのための2つのアクセ
ス要求の同時処理、命令フェッチのためのアクセス要求
とデータアクセス要求との同時処理、及び、2つのデー
タアクセス要求の同時処理がいずれも可能である。
【0023】次に、請求項2の発明によれば、やはり命
令キャッシュとデータキャッシュとを分離しない構成で
ありながら、命令フェッチのためのアクセス要求(命令
アドレス又は分岐先アドレスに係るアクセス要求)とデ
ータアクセス要求(データアドレス又は物理アドレスに
係るアクセス要求)とを同時に処理できるだけでなく、
命令フェッチのための2つのアクセス要求(命令アドレ
ス及び分岐先アドレスに係るアクセス要求)の同時処理
や、2つのデータアクセス要求(データアドレス及び物
理アドレスに係るアクセス要求)の同時処理が可能であ
る。しかも、制御装置によって第1及び第2の被選択ア
ドレスとして指定される2つのアドレスの組み合わせの
中には、RISCマイクロプロセッサを含んだマルチプ
ロセッサ構成のプロセッサユニットへの対応にとって必
要なアドレスの組み合わせ、すなわち(1) 命令アドレス
と分岐先アドレス、(2) 命令アドレスとデータアドレ
ス、(3) 命令アドレスと物理アドレス、(4) 分岐先アド
レスとデータアドレス、(5)分岐先アドレスと物理アド
レス、及び、(6) データアドレスと物理アドレスの6種
類の組み合わせが全て含まれている。また、1サイクル
に複数の命令を同時に実行できるスーパースケーラ型の
アーキテクチャを採用したマイクロプロセッサへの対応
の場合に必要となる他のアドレスの組み合わせ、すなわ
ち2つのデータアドレスの組み合わせも許容される。
令キャッシュとデータキャッシュとを分離しない構成で
ありながら、命令フェッチのためのアクセス要求(命令
アドレス又は分岐先アドレスに係るアクセス要求)とデ
ータアクセス要求(データアドレス又は物理アドレスに
係るアクセス要求)とを同時に処理できるだけでなく、
命令フェッチのための2つのアクセス要求(命令アドレ
ス及び分岐先アドレスに係るアクセス要求)の同時処理
や、2つのデータアクセス要求(データアドレス及び物
理アドレスに係るアクセス要求)の同時処理が可能であ
る。しかも、制御装置によって第1及び第2の被選択ア
ドレスとして指定される2つのアドレスの組み合わせの
中には、RISCマイクロプロセッサを含んだマルチプ
ロセッサ構成のプロセッサユニットへの対応にとって必
要なアドレスの組み合わせ、すなわち(1) 命令アドレス
と分岐先アドレス、(2) 命令アドレスとデータアドレ
ス、(3) 命令アドレスと物理アドレス、(4) 分岐先アド
レスとデータアドレス、(5)分岐先アドレスと物理アド
レス、及び、(6) データアドレスと物理アドレスの6種
類の組み合わせが全て含まれている。また、1サイクル
に複数の命令を同時に実行できるスーパースケーラ型の
アーキテクチャを採用したマイクロプロセッサへの対応
の場合に必要となる他のアドレスの組み合わせ、すなわ
ち2つのデータアドレスの組み合わせも許容される。
【0024】また、請求項3の発明によれば、制御装置
による第1及び第2の被選択アドレスの指定の範囲が制
限されているにもかかわらず、該制限を設けない場合と
同様に、RISCマイクロプロセッサを含んだマルチプ
ロセッサ構成のプロセッサユニットへの対応にとって必
要な前記6種類のアドレスの組み合わせはいずれも許容
される。また、スーパースケーラ型のアーキテクチャを
採用したマイクロプロセッサへの対応にとって必要な2
つのデータアドレス等の組み合わせも許容される。
による第1及び第2の被選択アドレスの指定の範囲が制
限されているにもかかわらず、該制限を設けない場合と
同様に、RISCマイクロプロセッサを含んだマルチプ
ロセッサ構成のプロセッサユニットへの対応にとって必
要な前記6種類のアドレスの組み合わせはいずれも許容
される。また、スーパースケーラ型のアーキテクチャを
採用したマイクロプロセッサへの対応にとって必要な2
つのデータアドレス等の組み合わせも許容される。
【0025】また、請求項4の発明によれば、例えば第
1〜第4のアドレスの各々に係る4つのアクセス要求が
同時に与えられた場合、データアドレス(第3アドレ
ス)及び物理アドレス(第4のアドレス)に係るデータ
アクセス要求に比べて、命令アドレス(第1アドレス)
及び分岐先アドレス(第2のアドレス)に係る命令フェ
ッチのためのアクセス要求が優先的に処理される。ま
た、同じデータアクセス要求の中でもデータアドレス
(第3アドレス)に係るアクセス要求に比べて物理アド
レス(第4のアドレス)に係るアクセス要求が優先的に
処理される。
1〜第4のアドレスの各々に係る4つのアクセス要求が
同時に与えられた場合、データアドレス(第3アドレ
ス)及び物理アドレス(第4のアドレス)に係るデータ
アクセス要求に比べて、命令アドレス(第1アドレス)
及び分岐先アドレス(第2のアドレス)に係る命令フェ
ッチのためのアクセス要求が優先的に処理される。ま
た、同じデータアクセス要求の中でもデータアドレス
(第3アドレス)に係るアクセス要求に比べて物理アド
レス(第4のアドレス)に係るアクセス要求が優先的に
処理される。
【0026】また、請求項5の発明によれば、例えば3
つのアクセス要求が同時に与えられた場合、該3つのア
クセス要求のうちの処理待ち状態とされた1つのアクセ
ス要求は次の機会には必ず処理される。また、4つのア
クセス要求が同時に与えられた場合でも、該4つのアク
セス要求のうちの処理待ち状態とされた2つのアクセス
要求は次の機会には必ず処理される。
つのアクセス要求が同時に与えられた場合、該3つのア
クセス要求のうちの処理待ち状態とされた1つのアクセ
ス要求は次の機会には必ず処理される。また、4つのア
クセス要求が同時に与えられた場合でも、該4つのアク
セス要求のうちの処理待ち状態とされた2つのアクセス
要求は次の機会には必ず処理される。
【0027】請求項6の発明によれば、命令列とデータ
との双方が第2のデュアルポートメモリアレイに格納さ
れ、該第2のデュアルポートメモリアレイのエントリの
タグアドレスが第1のデュアルポートメモリアレイに格
納される。そして、第1のアドレス選択器から出力され
たアドレスは、ヒットしたか否かが第1のデュアルポー
トメモリアレイと第1の比較器とにより調べられ、ヒッ
トした場合には第2のデュアルポートメモリアレイへの
アクセスに使用される。これと並行して、第2のアドレ
ス選択器から出力されたアドレスは、ヒットしたか否か
が第1のデュアルポートメモリアレイと第2の比較器と
により調べられ、ヒットした場合には同じく第2のデュ
アルポートメモリアレイへのアクセスに使用される。
との双方が第2のデュアルポートメモリアレイに格納さ
れ、該第2のデュアルポートメモリアレイのエントリの
タグアドレスが第1のデュアルポートメモリアレイに格
納される。そして、第1のアドレス選択器から出力され
たアドレスは、ヒットしたか否かが第1のデュアルポー
トメモリアレイと第1の比較器とにより調べられ、ヒッ
トした場合には第2のデュアルポートメモリアレイへの
アクセスに使用される。これと並行して、第2のアドレ
ス選択器から出力されたアドレスは、ヒットしたか否か
が第1のデュアルポートメモリアレイと第2の比較器と
により調べられ、ヒットした場合には同じく第2のデュ
アルポートメモリアレイへのアクセスに使用される。
【0028】また、請求項7の発明によれば、命令列の
うちの連続した少なくとも2つの命令が記憶装置から一
度にフェッチされる。したがって、第1のアドレスに係
るアクセス頻度が低減する一方、第2〜第4のアドレス
に係るアクセス要求が即時に処理される可能性が増大す
る。
うちの連続した少なくとも2つの命令が記憶装置から一
度にフェッチされる。したがって、第1のアドレスに係
るアクセス頻度が低減する一方、第2〜第4のアドレス
に係るアクセス要求が即時に処理される可能性が増大す
る。
【0029】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。
する。
【0030】図1は、RISCマイクロプロセッサを含
んだマルチプロセッサ構成のプロセッサユニットに適し
た本発明の一実施例に係るキャッシュメモリ装置の構成
を示すブロック図である。同図に示すキャッシュメモリ
装置へは、4つのアドレスIA,BA,DA,PAのう
ちの1つ又は複数のアドレスがアクセス要求アドレスと
して与えられる。第1のアクセス要求信号IAGととも
に与えられる第1のアドレスIAは、命令フェッチのた
めにプログラムカウンタのインクリメントにより順次生
成される命令アドレスである。第2のアクセス要求信号
BAGとともに与えられる第2のアドレスBAは、無条
件分岐命令、条件分岐命令等のシーケンス変更命令に基
づいて分岐先の命令フェッチのために生成される分岐先
アドレスである。第3のアクセス要求信号DAGととも
に与えられる第3のアドレスDAは、メモリアクセス命
令に基づいてデータアクセスのために生成されるデータ
アドレスである。そして、第4のアクセス要求信号PA
Gとともに与えられる第4のアドレスPAは、他のメモ
リ装置との間のデータの整合性を管理するためのデータ
アクセス用の物理アドレスである。
んだマルチプロセッサ構成のプロセッサユニットに適し
た本発明の一実施例に係るキャッシュメモリ装置の構成
を示すブロック図である。同図に示すキャッシュメモリ
装置へは、4つのアドレスIA,BA,DA,PAのう
ちの1つ又は複数のアドレスがアクセス要求アドレスと
して与えられる。第1のアクセス要求信号IAGととも
に与えられる第1のアドレスIAは、命令フェッチのた
めにプログラムカウンタのインクリメントにより順次生
成される命令アドレスである。第2のアクセス要求信号
BAGとともに与えられる第2のアドレスBAは、無条
件分岐命令、条件分岐命令等のシーケンス変更命令に基
づいて分岐先の命令フェッチのために生成される分岐先
アドレスである。第3のアクセス要求信号DAGととも
に与えられる第3のアドレスDAは、メモリアクセス命
令に基づいてデータアクセスのために生成されるデータ
アドレスである。そして、第4のアクセス要求信号PA
Gとともに与えられる第4のアドレスPAは、他のメモ
リ装置との間のデータの整合性を管理するためのデータ
アクセス用の物理アドレスである。
【0031】図1中の20は、表1及び表2に示すよう
に、入力信号としての第1〜第4のアクセス要求信号I
AG,BAG,DAG,PAGの状態の組み合わせに応
じて第1及び第2の指定信号S1,S2を出力するため
の一種のステートマシンとしての制御装置である。第1
の指定信号S1は、アクセス要求アドレスとしての第1
〜第4のアドレスIA,BA,DA,PAの中から1つ
のアドレスを第1の被選択アドレスとして指定するため
の信号である。また、第2の指定信号S2は、同じくア
クセス要求アドレスとしての第1〜第4のアドレスI
A,BA,DA,PAの中から他のアドレスを第2の被
選択アドレスとして指定するための信号である。ただ
し、表1,2に示した第1及び第2の指定信号S1,S
2による被選択アドレスの指定は、互いの間で交換可能
である。図1中のS0は、両指定を伝達するために制御
装置20から出力される他の信号である。
に、入力信号としての第1〜第4のアクセス要求信号I
AG,BAG,DAG,PAGの状態の組み合わせに応
じて第1及び第2の指定信号S1,S2を出力するため
の一種のステートマシンとしての制御装置である。第1
の指定信号S1は、アクセス要求アドレスとしての第1
〜第4のアドレスIA,BA,DA,PAの中から1つ
のアドレスを第1の被選択アドレスとして指定するため
の信号である。また、第2の指定信号S2は、同じくア
クセス要求アドレスとしての第1〜第4のアドレスI
A,BA,DA,PAの中から他のアドレスを第2の被
選択アドレスとして指定するための信号である。ただ
し、表1,2に示した第1及び第2の指定信号S1,S
2による被選択アドレスの指定は、互いの間で交換可能
である。図1中のS0は、両指定を伝達するために制御
装置20から出力される他の信号である。
【0032】
【表1】
【0033】
【表2】
【0034】制御装置20は、表2に示すように3つ以
上のアクセス要求信号が同時に与えられた場合には、第
3及び第4のアドレスDA,PAに比べて第1及び第2
のアドレスIA,BAを優先させ、かつ第3のアドレス
DAに比べて第4のアドレスPAを優先させるという優
先ルールに従って第1及び第2の指定信号S1,S2を
出力する。この際、指定を受けなかったアクセス要求ア
ドレスは、例えば表2中の番号19の行に示す物理アド
レス(第4のアドレス)PAのように処理待ち状態とさ
れる。表2では、このようにして処理待ち状態とされた
アドレスに係るアクセス要求信号は、論理値“1”に記
号“*”を付した表示となっている。制御装置20は、
処理待ち状態のアクセス要求信号に加えて2つ以上のア
クセス要求信号が同時に与えられた場合(例えば表2中
の番号22の行)には、第1及び第2の被選択アドレス
の指定に際し、該処理待ち状態のアクセス要求信号に係
るアドレスを最優先とする。
上のアクセス要求信号が同時に与えられた場合には、第
3及び第4のアドレスDA,PAに比べて第1及び第2
のアドレスIA,BAを優先させ、かつ第3のアドレス
DAに比べて第4のアドレスPAを優先させるという優
先ルールに従って第1及び第2の指定信号S1,S2を
出力する。この際、指定を受けなかったアクセス要求ア
ドレスは、例えば表2中の番号19の行に示す物理アド
レス(第4のアドレス)PAのように処理待ち状態とさ
れる。表2では、このようにして処理待ち状態とされた
アドレスに係るアクセス要求信号は、論理値“1”に記
号“*”を付した表示となっている。制御装置20は、
処理待ち状態のアクセス要求信号に加えて2つ以上のア
クセス要求信号が同時に与えられた場合(例えば表2中
の番号22の行)には、第1及び第2の被選択アドレス
の指定に際し、該処理待ち状態のアクセス要求信号に係
るアドレスを最優先とする。
【0035】図1中の10は、第1の指定信号S1によ
り第1の被選択アドレスとして指定されたアドレスを前
記第1〜第4のアドレスIA,BA,DA,PAの中か
ら選択し、かつ該選択したアドレスを第1の選択アドレ
スSA1として出力するための第1のアドレス選択器で
ある。12は、第2の指定信号S2により第2の被選択
アドレスとして指定されたアドレスを同じく前記第1〜
第4のアドレスIA,BA,DA,PAの中から選択
し、かつ該選択したアドレスを第2の選択アドレスSA
2として出力するための第2のアドレス選択器である。
り第1の被選択アドレスとして指定されたアドレスを前
記第1〜第4のアドレスIA,BA,DA,PAの中か
ら選択し、かつ該選択したアドレスを第1の選択アドレ
スSA1として出力するための第1のアドレス選択器で
ある。12は、第2の指定信号S2により第2の被選択
アドレスとして指定されたアドレスを同じく前記第1〜
第4のアドレスIA,BA,DA,PAの中から選択
し、かつ該選択したアドレスを第2の選択アドレスSA
2として出力するための第2のアドレス選択器である。
【0036】メモリ部分は、第1及び第2の選択アドレ
スSA1,SA2によりそれぞれ独立にアクセスされ得
るように、第1及び第2のデュアルポートメモリアレイ
14,24、第1及び第2の比較器16,18、ヒット
信号生成器22、並びに、読み出し/書き込み回路26
で構成されている。
スSA1,SA2によりそれぞれ独立にアクセスされ得
るように、第1及び第2のデュアルポートメモリアレイ
14,24、第1及び第2の比較器16,18、ヒット
信号生成器22、並びに、読み出し/書き込み回路26
で構成されている。
【0037】このうち、第1のデュアルポートメモリア
レイ14は、各々第1及び第2のアドレスデコーダ14
a,14bを有しかつ互いに独立した2つのポートを備
え、第1の選択アドレスSA1の下位ビットにより第1
のタグアドレスTA1が読み出され、かつこれと並行し
て第2の選択アドレスSA2の下位ビットにより第2の
タグアドレスTA2が読み出されるものである。第1の
比較器16は、第1の選択アドレスSA1の上位ビット
と第1のタグアドレスTA1とを比較し、両者が一致し
た場合には第1のヒット信号H1を出力するものであ
る。第2の比較器18は、これと並行して第2の選択ア
ドレスSA2の上位ビットと第2のタグアドレスTA2
とを比較し、両者が一致した場合には第2のヒット信号
H2を出力するものである。
レイ14は、各々第1及び第2のアドレスデコーダ14
a,14bを有しかつ互いに独立した2つのポートを備
え、第1の選択アドレスSA1の下位ビットにより第1
のタグアドレスTA1が読み出され、かつこれと並行し
て第2の選択アドレスSA2の下位ビットにより第2の
タグアドレスTA2が読み出されるものである。第1の
比較器16は、第1の選択アドレスSA1の上位ビット
と第1のタグアドレスTA1とを比較し、両者が一致し
た場合には第1のヒット信号H1を出力するものであ
る。第2の比較器18は、これと並行して第2の選択ア
ドレスSA2の上位ビットと第2のタグアドレスTA2
とを比較し、両者が一致した場合には第2のヒット信号
H2を出力するものである。
【0038】ヒット信号生成器22は、第1のヒット信
号H1の入力を受けた場合には第1の制御信号EN1を
出力し、かつ第2のヒット信号H2の入力を受けた場合
には第2の制御信号EN2を出力するとともに、制御装
置20との間の交信を行いながらヒットアドレスに応じ
て命令キャッシュヒットIH、分岐先ヒットBH、デー
タキャッシュヒットDH及びバス監視ヒットPHの各キ
ャッシュヒット信号を生成するものである。
号H1の入力を受けた場合には第1の制御信号EN1を
出力し、かつ第2のヒット信号H2の入力を受けた場合
には第2の制御信号EN2を出力するとともに、制御装
置20との間の交信を行いながらヒットアドレスに応じ
て命令キャッシュヒットIH、分岐先ヒットBH、デー
タキャッシュヒットDH及びバス監視ヒットPHの各キ
ャッシュヒット信号を生成するものである。
【0039】第2のデュアルポートメモリアレイ24
は、各々第1及び第2のアドレスデコーダ24a,24
bを有しかつ互いに独立した2つのメモリポートを備
え、命令列とデータとの双方が格納されるものである。
そして、読み出し/書き込み回路26は、ヒット信号生
成器22からの第1及び第2の制御信号EN1,EN2
を受け取って、第2のデュアルポートメモリアレイ24
への並行アクセスを実行するものである。つまり、第2
のデュアルポートメモリアレイ24は、第1の比較器1
6によって第1の選択アドレスSA1のヒットが検出さ
れた場合には該第1の選択アドレスSA1によりアクセ
スされ、かつこれと並行して第2の比較器18によって
第2の選択アドレスSA2のヒットが検出された場合に
は該第2の選択アドレスSA2によりアクセスされるも
のである。
は、各々第1及び第2のアドレスデコーダ24a,24
bを有しかつ互いに独立した2つのメモリポートを備
え、命令列とデータとの双方が格納されるものである。
そして、読み出し/書き込み回路26は、ヒット信号生
成器22からの第1及び第2の制御信号EN1,EN2
を受け取って、第2のデュアルポートメモリアレイ24
への並行アクセスを実行するものである。つまり、第2
のデュアルポートメモリアレイ24は、第1の比較器1
6によって第1の選択アドレスSA1のヒットが検出さ
れた場合には該第1の選択アドレスSA1によりアクセ
スされ、かつこれと並行して第2の比較器18によって
第2の選択アドレスSA2のヒットが検出された場合に
は該第2の選択アドレスSA2によりアクセスされるも
のである。
【0040】第1のデュアルポートメモリアレイ14に
は、第2のデュアルポートメモリアレイ24のエントリ
のタグアドレス等の情報が格納される。そして、第1の
アドレス選択器10からの第1の選択アドレスSA1
は、第1のデュアルポートメモリアレイ14からの第1
のタグアドレスTA1に基づいて、ヒットしたか否かが
第1の比較器16により調べられ、ヒットした場合には
第2のデュアルポートメモリアレイ24へのアクセスに
使用される。これと並行して、第2のアドレス選択器1
2からの第2の選択アドレスSA2は、第1のデュアル
ポートメモリアレイ14からの第2のタグアドレスTA
2に基づいて、ヒットしたか否かが第2の比較器18に
より調べられ、ヒットした場合には同じく第2のデュア
ルポートメモリアレイ24へのアクセスに使用される。
しかも、ヒット信号生成器22からは、ヒットアドレス
に応じたキャッシュヒット信号IH,BH,DH,PH
が出力されるのである。
は、第2のデュアルポートメモリアレイ24のエントリ
のタグアドレス等の情報が格納される。そして、第1の
アドレス選択器10からの第1の選択アドレスSA1
は、第1のデュアルポートメモリアレイ14からの第1
のタグアドレスTA1に基づいて、ヒットしたか否かが
第1の比較器16により調べられ、ヒットした場合には
第2のデュアルポートメモリアレイ24へのアクセスに
使用される。これと並行して、第2のアドレス選択器1
2からの第2の選択アドレスSA2は、第1のデュアル
ポートメモリアレイ14からの第2のタグアドレスTA
2に基づいて、ヒットしたか否かが第2の比較器18に
より調べられ、ヒットした場合には同じく第2のデュア
ルポートメモリアレイ24へのアクセスに使用される。
しかも、ヒット信号生成器22からは、ヒットアドレス
に応じたキャッシュヒット信号IH,BH,DH,PH
が出力されるのである。
【0041】さて、図2に示すように、以上の構成を有
するキャッシュメモリ装置30は、例えばRISCマイ
クロプロセッサ34を備えたプロセッサユニット32に
内蔵される。キャッシュメモリ装置30とRISCマイ
クロプロセッサ34とは各々内部バス40に接続されて
おり、該内部バス40はバス制御装置38を介してシス
テムバス(外部バス)42に接続されている。RISC
マイクロプロセッサ34は、前記命令アドレス(第1の
アドレス)IA、分岐先アドレス(第2のアドレス)B
A及びデータアドレス(第3のアドレス)DAを第1〜
第3のアクセス要求信号IAG,BAG,DAGととも
にキャッシュメモリ装置30へ与えるための3つのアド
レス生成器2,4,6を備えている。このプロセッサユ
ニット32にはシステムバス42からのアドレスを受け
取るバス監視装置36が更に設けられており、該バス監
視装置36は、前記物理アドレス(第4のアドレス)P
Aを第4のアクセス要求信号PAGとともにキャッシュ
メモリ装置30へ与えるためのアドレス付与器8を備え
ている。
するキャッシュメモリ装置30は、例えばRISCマイ
クロプロセッサ34を備えたプロセッサユニット32に
内蔵される。キャッシュメモリ装置30とRISCマイ
クロプロセッサ34とは各々内部バス40に接続されて
おり、該内部バス40はバス制御装置38を介してシス
テムバス(外部バス)42に接続されている。RISC
マイクロプロセッサ34は、前記命令アドレス(第1の
アドレス)IA、分岐先アドレス(第2のアドレス)B
A及びデータアドレス(第3のアドレス)DAを第1〜
第3のアクセス要求信号IAG,BAG,DAGととも
にキャッシュメモリ装置30へ与えるための3つのアド
レス生成器2,4,6を備えている。このプロセッサユ
ニット32にはシステムバス42からのアドレスを受け
取るバス監視装置36が更に設けられており、該バス監
視装置36は、前記物理アドレス(第4のアドレス)P
Aを第4のアクセス要求信号PAGとともにキャッシュ
メモリ装置30へ与えるためのアドレス付与器8を備え
ている。
【0042】図3に示すように、以上の構成を有するプ
ロセッサユニット32は、システムバス42を介して、
同様の構成を有する他のプロセッサユニット44や共通
の外部メモリ装置(図示せず)等に接続される。このよ
うなマルチプロセッサ構成のコンピュータシステムで
は、例えばあるプロセッサユニット44内のキャッシュ
メモリ装置のデータが一部書き換えられた場合、他のプ
ロセッサユニット32内のキャッシュメモリ装置30
(図2参照)の同一アドレスのデータを無効化する必要
がある。そこで、該プロセッサユニット32内に設けら
れたバス監視装置36は、システムバス42から供給さ
れた物理アドレスPAのデータをキャッシュメモリ装置
30が保持しているかどうかを調べるのである。
ロセッサユニット32は、システムバス42を介して、
同様の構成を有する他のプロセッサユニット44や共通
の外部メモリ装置(図示せず)等に接続される。このよ
うなマルチプロセッサ構成のコンピュータシステムで
は、例えばあるプロセッサユニット44内のキャッシュ
メモリ装置のデータが一部書き換えられた場合、他のプ
ロセッサユニット32内のキャッシュメモリ装置30
(図2参照)の同一アドレスのデータを無効化する必要
がある。そこで、該プロセッサユニット32内に設けら
れたバス監視装置36は、システムバス42から供給さ
れた物理アドレスPAのデータをキャッシュメモリ装置
30が保持しているかどうかを調べるのである。
【0043】以下、図4〜図7を参照しながら、図1の
構成を有するキャッシュメモリ装置30の動作を説明す
る。ただし、説明の便宜上、次の諸点を前提として説明
を進める。すなわち、キャッシュメモリ装置30に格納
された命令列を構成する各命令は、4バイトの固定長で
ある。該命令列は、RISCマイクロプロセッサ34か
らの命令アドレス(第1のアドレス)IAにより一度に
2命令づつフェッチされる。また、RISCマイクロプ
ロセッサ34は、1サイクル毎に1つの命令を実行する
ものとする。
構成を有するキャッシュメモリ装置30の動作を説明す
る。ただし、説明の便宜上、次の諸点を前提として説明
を進める。すなわち、キャッシュメモリ装置30に格納
された命令列を構成する各命令は、4バイトの固定長で
ある。該命令列は、RISCマイクロプロセッサ34か
らの命令アドレス(第1のアドレス)IAにより一度に
2命令づつフェッチされる。また、RISCマイクロプ
ロセッサ34は、1サイクル毎に1つの命令を実行する
ものとする。
【0044】図4は、命令アドレス(第1のアドレス)
IAに係るアクセス要求と分岐先アドレス(第2のアド
レス)BAに係るアクセス要求との同時生起の例(サイ
クルt3)を示すタイミングチャート図である。
IAに係るアクセス要求と分岐先アドレス(第2のアド
レス)BAに係るアクセス要求との同時生起の例(サイ
クルt3)を示すタイミングチャート図である。
【0045】同図中のサイクルt1では、RISCマイ
クロプロセッサ34中のプログラムカウンタのインクリ
メントにより生成された命令アドレス(第1のアドレ
ス)IA=(n)が、第1のアクセス要求信号IAGと
ともにキャッシュメモリ装置30に与えられている。こ
れを受けた制御装置20は、表1中の番号2の行に示す
ように、第1の指定信号S1を出力することによって該
命令アドレスIAを第1の被選択アドレスとして指定す
る。第1のアドレス選択器10は、該命令アドレスIA
を第1の選択アドレスSA1として出力する。この第1
の選択アドレスSA1によって、第2のデュアルポート
メモリ24から条件分岐命令とロード命令との2命令が
一度にフェッチされたものとする。
クロプロセッサ34中のプログラムカウンタのインクリ
メントにより生成された命令アドレス(第1のアドレ
ス)IA=(n)が、第1のアクセス要求信号IAGと
ともにキャッシュメモリ装置30に与えられている。こ
れを受けた制御装置20は、表1中の番号2の行に示す
ように、第1の指定信号S1を出力することによって該
命令アドレスIAを第1の被選択アドレスとして指定す
る。第1のアドレス選択器10は、該命令アドレスIA
を第1の選択アドレスSA1として出力する。この第1
の選択アドレスSA1によって、第2のデュアルポート
メモリ24から条件分岐命令とロード命令との2命令が
一度にフェッチされたものとする。
【0046】サイクルt2では、サイクルt1でフェッ
チされた2命令のうちの条件分岐命令がRISCマイク
ロプロセッサ34により実行される。
チされた2命令のうちの条件分岐命令がRISCマイク
ロプロセッサ34により実行される。
【0047】サイクルt3では、サイクルt1でフェッ
チされた2命令のうちのロード命令の実行と並行して条
件分岐命令の条件の成立・不成立の判断がRISCマイ
クロプロセッサ34によって行われている間に、キャッ
シュメモリ装置30へは該RISCマイクロプロセッサ
34からプログラムカウンタのインクリメントにより生
成された命令アドレス(第1のアドレス)IA=(n+
8)と、条件分岐命令に基づいて計算された分岐先アド
レス(第2のアドレス)BA=(m)とが、第1及び第
2のアクセス要求信号IAG,BAGとともに同時に与
えられる。これを受けた制御装置20は、表1中の番号
6の行に示すように、第1の指定信号S1を出力するこ
とによって該命令アドレスIAを第1の被選択アドレス
として指定するとともに、第2の指定信号S2を出力す
ることによって該分岐先アドレスBAを第2の被選択ア
ドレスとして指定する。第1のアドレス選択器10は該
命令アドレスIAを第1の選択アドレスSA1として出
力する一方、第2のアドレス選択器12は該分岐先アド
レスBAを第2の選択アドレスSA2として出力する。
つまり、第2のデュアルポートメモリ24からは、条件
分岐命令の条件不成立の場合に次に実行すべき2命令
と、条件成立の場合に次に実行すべき2命令との双方が
同時にフェッチされる。この結果、RISCマイクロプ
ロセッサ34は、フェッチした2アドレスの命令のうち
のいずれのアドレスの命令を次に実行すべきかを分岐条
件の成立の如何に応じて選択し、該選択した命令を次サ
イクルt4で直ちに実行できる。
チされた2命令のうちのロード命令の実行と並行して条
件分岐命令の条件の成立・不成立の判断がRISCマイ
クロプロセッサ34によって行われている間に、キャッ
シュメモリ装置30へは該RISCマイクロプロセッサ
34からプログラムカウンタのインクリメントにより生
成された命令アドレス(第1のアドレス)IA=(n+
8)と、条件分岐命令に基づいて計算された分岐先アド
レス(第2のアドレス)BA=(m)とが、第1及び第
2のアクセス要求信号IAG,BAGとともに同時に与
えられる。これを受けた制御装置20は、表1中の番号
6の行に示すように、第1の指定信号S1を出力するこ
とによって該命令アドレスIAを第1の被選択アドレス
として指定するとともに、第2の指定信号S2を出力す
ることによって該分岐先アドレスBAを第2の被選択ア
ドレスとして指定する。第1のアドレス選択器10は該
命令アドレスIAを第1の選択アドレスSA1として出
力する一方、第2のアドレス選択器12は該分岐先アド
レスBAを第2の選択アドレスSA2として出力する。
つまり、第2のデュアルポートメモリ24からは、条件
分岐命令の条件不成立の場合に次に実行すべき2命令
と、条件成立の場合に次に実行すべき2命令との双方が
同時にフェッチされる。この結果、RISCマイクロプ
ロセッサ34は、フェッチした2アドレスの命令のうち
のいずれのアドレスの命令を次に実行すべきかを分岐条
件の成立の如何に応じて選択し、該選択した命令を次サ
イクルt4で直ちに実行できる。
【0048】この例では分岐条件が成立し、サイクルt
4では分岐先アドレスBA=(m)によりフェッチされ
た2命令のうちの1番目の命令がRISCマイクロプロ
セッサ34によって選択・実行されたものとする。この
ように分岐条件が成立した場合には、RISCマイクロ
プロセッサ34中のプログラムカウンタは、(n+8)
から(m)に変更される。また、同サイクルt4では、
サイクルt3のロード命令に基づくデータアドレス(第
3のアドレス)DA=(da)が、第3のアクセス要求
信号DAGとともにRISCマイクロプロセッサ34か
らキャッシュメモリ装置30に与えられる。この結果、
表1中の番号4の行に示す制御装置20の機能に基づい
て該データアドレスDAが第1の選択アドレスSA1と
して選択され、第2のデュアルポートメモリ24から所
望のデータが読み出される。
4では分岐先アドレスBA=(m)によりフェッチされ
た2命令のうちの1番目の命令がRISCマイクロプロ
セッサ34によって選択・実行されたものとする。この
ように分岐条件が成立した場合には、RISCマイクロ
プロセッサ34中のプログラムカウンタは、(n+8)
から(m)に変更される。また、同サイクルt4では、
サイクルt3のロード命令に基づくデータアドレス(第
3のアドレス)DA=(da)が、第3のアクセス要求
信号DAGとともにRISCマイクロプロセッサ34か
らキャッシュメモリ装置30に与えられる。この結果、
表1中の番号4の行に示す制御装置20の機能に基づい
て該データアドレスDAが第1の選択アドレスSA1と
して選択され、第2のデュアルポートメモリ24から所
望のデータが読み出される。
【0049】サイクルt5では、分岐先アドレスBA=
(m)によりフェッチされた2命令のうちの2番目の命
令がRISCマイクロプロセッサ34によって実行され
るとともに、プログラムカウンタのインクリメントによ
り生成された命令アドレス(第1のアドレス)IA=
(m+8)が、第1のアクセス要求信号IAGとともに
キャッシュメモリ装置30に与えられる。この結果、該
命令アドレスIAが第1の選択アドレスSA1として選
択され、第2のデュアルポートメモリ24から次の2命
令がフェッチされる。そして、サイクルt6では、サイ
クルt5でフェッチされた2命令のうちの1番目の命令
が実行されることになる。
(m)によりフェッチされた2命令のうちの2番目の命
令がRISCマイクロプロセッサ34によって実行され
るとともに、プログラムカウンタのインクリメントによ
り生成された命令アドレス(第1のアドレス)IA=
(m+8)が、第1のアクセス要求信号IAGとともに
キャッシュメモリ装置30に与えられる。この結果、該
命令アドレスIAが第1の選択アドレスSA1として選
択され、第2のデュアルポートメモリ24から次の2命
令がフェッチされる。そして、サイクルt6では、サイ
クルt5でフェッチされた2命令のうちの1番目の命令
が実行されることになる。
【0050】以上のとおり、本実施例によれば、条件分
岐命令の条件不成立の場合に次に実行すべき命令と条件
成立の場合に次に実行すべき命令との同時フェッチが可
能であるので、RISCマイクロプロセッサ34は、条
件不成立の場合はもちろん、図4に例示した条件成立の
場合でも1サイクル毎に次々と命令を実行できる。な
お、以上の説明では条件分岐命令の条件が成立したもの
としているので、該条件分岐命令とともにフェッチされ
たロード命令の実行結果、すなわちサイクルt4におい
て読み出されたデータは、RISCマイクロプロセッサ
34側で無効化される。
岐命令の条件不成立の場合に次に実行すべき命令と条件
成立の場合に次に実行すべき命令との同時フェッチが可
能であるので、RISCマイクロプロセッサ34は、条
件不成立の場合はもちろん、図4に例示した条件成立の
場合でも1サイクル毎に次々と命令を実行できる。な
お、以上の説明では条件分岐命令の条件が成立したもの
としているので、該条件分岐命令とともにフェッチされ
たロード命令の実行結果、すなわちサイクルt4におい
て読み出されたデータは、RISCマイクロプロセッサ
34側で無効化される。
【0051】図5は、(1) 命令アドレス(第1のアドレ
ス)IAに係るアクセス要求と物理アドレス(第4のア
ドレス)PAに係るアクセス要求との同時生起の例(サ
イクルt1)と、(2) 命令アドレス(第1のアドレス)
IAに係るアクセス要求とデータアドレス(第3のアド
レス)DAに係るアクセス要求との同時生起の例(サイ
クルt3及びt5)とを示すタイミングチャート図であ
る。
ス)IAに係るアクセス要求と物理アドレス(第4のア
ドレス)PAに係るアクセス要求との同時生起の例(サ
イクルt1)と、(2) 命令アドレス(第1のアドレス)
IAに係るアクセス要求とデータアドレス(第3のアド
レス)DAに係るアクセス要求との同時生起の例(サイ
クルt3及びt5)とを示すタイミングチャート図であ
る。
【0052】サイクルt1では、RISCマイクロプロ
セッサ34によってロード命令が実行されている間に、
プログラムカウンタのインクリメントにより生成された
命令アドレス(第1のアドレス)IA=(n)が、該R
ISCマイクロプロセッサ34から第1のアクセス要求
信号IAGとともにキャッシュメモリ装置30に与えら
れる。これと同時に、データの整合性を管理するための
物理アドレス(第4のアドレス)PA=(pa)が、バ
ス監視装置36から第4のアクセス要求信号PAGとと
もに同キャッシュメモリ装置30に与えられたものとす
る。この結果、表1中の番号8の行に示す制御装置20
の機能によって、該命令アドレスIA及び物理アドレス
PAが第1及び第2の選択アドレスSA1,SA2とし
て選択される。つまり、次に実行すべき2命令が第2の
デュアルポートメモリ24からフェッチされるのと並行
して、該物理アドレスPAのデータをキャッシュメモリ
装置30が保持しているかどうかが調べられることとな
る。この例では、該命令アドレスIA=(n)によっ
て、ロード命令とストア命令との2命令がフェッチされ
たものとする。
セッサ34によってロード命令が実行されている間に、
プログラムカウンタのインクリメントにより生成された
命令アドレス(第1のアドレス)IA=(n)が、該R
ISCマイクロプロセッサ34から第1のアクセス要求
信号IAGとともにキャッシュメモリ装置30に与えら
れる。これと同時に、データの整合性を管理するための
物理アドレス(第4のアドレス)PA=(pa)が、バ
ス監視装置36から第4のアクセス要求信号PAGとと
もに同キャッシュメモリ装置30に与えられたものとす
る。この結果、表1中の番号8の行に示す制御装置20
の機能によって、該命令アドレスIA及び物理アドレス
PAが第1及び第2の選択アドレスSA1,SA2とし
て選択される。つまり、次に実行すべき2命令が第2の
デュアルポートメモリ24からフェッチされるのと並行
して、該物理アドレスPAのデータをキャッシュメモリ
装置30が保持しているかどうかが調べられることとな
る。この例では、該命令アドレスIA=(n)によっ
て、ロード命令とストア命令との2命令がフェッチされ
たものとする。
【0053】サイクルt2では、サイクルt1でフェッ
チされた2命令のうちのロード命令がRISCマイクロ
プロセッサ34により実行される一方、サイクルt1の
ロード命令に基づくデータアドレス(第3のアドレス)
DA=(da0)が、第3のアクセス要求信号DAGと
ともにRISCマイクロプロセッサ34からキャッシュ
メモリ装置30に与えられる。この結果、表1中の番号
4の行に示す制御装置20の機能により該データアドレ
スDAが第1の選択アドレスSA1として選択され、第
2のデュアルポートメモリ24から所望のデータが読み
出される。
チされた2命令のうちのロード命令がRISCマイクロ
プロセッサ34により実行される一方、サイクルt1の
ロード命令に基づくデータアドレス(第3のアドレス)
DA=(da0)が、第3のアクセス要求信号DAGと
ともにRISCマイクロプロセッサ34からキャッシュ
メモリ装置30に与えられる。この結果、表1中の番号
4の行に示す制御装置20の機能により該データアドレ
スDAが第1の選択アドレスSA1として選択され、第
2のデュアルポートメモリ24から所望のデータが読み
出される。
【0054】サイクルt3では、サイクルt1でフェッ
チされた2命令のうちのストア命令の実行と並行して、
RISCマイクロプロセッサ34からキャッシュメモリ
装置30へ、プログラムカウンタのインクリメントによ
り生成された命令アドレス(第1のアドレス)IA=
(n+8)と、サイクルt2のロード命令に基づくデー
タアドレス(第3のアドレス)DA=(da1)とが、
第1及び第3のアクセス要求信号IAG,DAGととも
に同時に与えられる。この結果、表1中の番号7の行に
示す制御装置20の機能によって、該命令アドレスIA
及びデータアドレスDAが第1及び第2の選択アドレス
SA1,SA2として選択される。つまり、第2のデュ
アルポートメモリ24からは、次に実行すべき2命令と
所望のデータとが同時に読み出されることとなる。この
例では、命令アドレスIA=(n+8)によって、2つ
のストア命令がフェッチされたものとする。
チされた2命令のうちのストア命令の実行と並行して、
RISCマイクロプロセッサ34からキャッシュメモリ
装置30へ、プログラムカウンタのインクリメントによ
り生成された命令アドレス(第1のアドレス)IA=
(n+8)と、サイクルt2のロード命令に基づくデー
タアドレス(第3のアドレス)DA=(da1)とが、
第1及び第3のアクセス要求信号IAG,DAGととも
に同時に与えられる。この結果、表1中の番号7の行に
示す制御装置20の機能によって、該命令アドレスIA
及びデータアドレスDAが第1及び第2の選択アドレス
SA1,SA2として選択される。つまり、第2のデュ
アルポートメモリ24からは、次に実行すべき2命令と
所望のデータとが同時に読み出されることとなる。この
例では、命令アドレスIA=(n+8)によって、2つ
のストア命令がフェッチされたものとする。
【0055】サイクルt4では、サイクルt3でフェッ
チされた2命令のうちの第1のストア命令がRISCマ
イクロプロセッサ34により実行されると同時に、サイ
クルt3のストア命令に基づくデータアドレス(第3の
アドレス)DA=(da2)が、第3のアクセス要求信
号DAGとともにRISCマイクロプロセッサ34から
キャッシュメモリ装置30に与えられる。この結果、該
データアドレスDAが第1の選択アドレスSA1として
選択され、第2のデュアルポートメモリ24へ所定のデ
ータが書き込まれる。
チされた2命令のうちの第1のストア命令がRISCマ
イクロプロセッサ34により実行されると同時に、サイ
クルt3のストア命令に基づくデータアドレス(第3の
アドレス)DA=(da2)が、第3のアクセス要求信
号DAGとともにRISCマイクロプロセッサ34から
キャッシュメモリ装置30に与えられる。この結果、該
データアドレスDAが第1の選択アドレスSA1として
選択され、第2のデュアルポートメモリ24へ所定のデ
ータが書き込まれる。
【0056】サイクルt5では、サイクルt3でフェッ
チされた2命令のうちの第2のストア命令の実行と並行
して、RISCマイクロプロセッサ34からキャッシュ
メモリ装置30へ、命令アドレス(第1のアドレス)I
A=(n+16)と、サイクルt4のストア命令に基づ
くデータアドレス(第3のアドレス)DA=(da3)
とが、第1及び第3のアクセス要求信号IAG,DAG
とともに同時に与えられる。この結果、該命令アドレス
IA及びデータアドレスDAが第1及び第2の選択アド
レスSA1,SA2として選択され、次に実行すべき2
命令が第2のデュアルポートメモリ24からフェッチさ
れると同時に、同第2のデュアルポートメモリ24へ所
定のデータが書き込まれる。
チされた2命令のうちの第2のストア命令の実行と並行
して、RISCマイクロプロセッサ34からキャッシュ
メモリ装置30へ、命令アドレス(第1のアドレス)I
A=(n+16)と、サイクルt4のストア命令に基づ
くデータアドレス(第3のアドレス)DA=(da3)
とが、第1及び第3のアクセス要求信号IAG,DAG
とともに同時に与えられる。この結果、該命令アドレス
IA及びデータアドレスDAが第1及び第2の選択アド
レスSA1,SA2として選択され、次に実行すべき2
命令が第2のデュアルポートメモリ24からフェッチさ
れると同時に、同第2のデュアルポートメモリ24へ所
定のデータが書き込まれる。
【0057】サイクルt6では、サイクルt5のストア
命令に基づくデータアドレス(第3のアドレス)DA=
(da4)が、第3のアクセス要求信号DAGとともに
RISCマイクロプロセッサ34からキャッシュメモリ
装置30に与えられる。この結果、該データアドレスD
Aが第1の選択アドレスSA1として選択され、第2の
デュアルポートメモリ24へ所定のデータが書き込まれ
る。
命令に基づくデータアドレス(第3のアドレス)DA=
(da4)が、第3のアクセス要求信号DAGとともに
RISCマイクロプロセッサ34からキャッシュメモリ
装置30に与えられる。この結果、該データアドレスD
Aが第1の選択アドレスSA1として選択され、第2の
デュアルポートメモリ24へ所定のデータが書き込まれ
る。
【0058】以上のとおり、本実施例によれば、命令ア
ドレスIAに係るアクセス要求とマルチプロセッサ構成
への対応のための物理アドレスPAに係るアクセス要求
との同時処理が可能であって、従来と比べてペナルティ
が抑制される。また、命令アドレスIAに係るアクセス
要求とデータアドレスDAに係るアクセス要求との同時
処理が可能であるので、RISCマイクロプロセッサ3
4が連続したメモリアクセス命令(ロード命令及びスト
ア命令)を実行する場合でも、キャッシュメモリ装置3
0がヒットするかぎりペナルティなしの命令フェッチ及
びデータアクセスを実現できる。
ドレスIAに係るアクセス要求とマルチプロセッサ構成
への対応のための物理アドレスPAに係るアクセス要求
との同時処理が可能であって、従来と比べてペナルティ
が抑制される。また、命令アドレスIAに係るアクセス
要求とデータアドレスDAに係るアクセス要求との同時
処理が可能であるので、RISCマイクロプロセッサ3
4が連続したメモリアクセス命令(ロード命令及びスト
ア命令)を実行する場合でも、キャッシュメモリ装置3
0がヒットするかぎりペナルティなしの命令フェッチ及
びデータアクセスを実現できる。
【0059】図6は、(1) 分岐先アドレス(第2のアド
レス)BAに係るアクセス要求と物理アドレス(第4の
アドレス)PAに係るアクセス要求との同時生起の例
(サイクルt2)と、(2) 命令アドレス(第1のアドレ
ス)IAに係るアクセス要求とデータアドレス(第3の
アドレス)DAに係るアクセス要求との同時生起の例
(サイクルt5)と、(3) データアドレス(第3のアド
レス)DAに係るアクセス要求と物理アドレス(第4の
アドレス)PAに係るアクセス要求との同時生起の例
(サイクルt6)とを示すタイミングチャート図であ
る。
レス)BAに係るアクセス要求と物理アドレス(第4の
アドレス)PAに係るアクセス要求との同時生起の例
(サイクルt2)と、(2) 命令アドレス(第1のアドレ
ス)IAに係るアクセス要求とデータアドレス(第3の
アドレス)DAに係るアクセス要求との同時生起の例
(サイクルt5)と、(3) データアドレス(第3のアド
レス)DAに係るアクセス要求と物理アドレス(第4の
アドレス)PAに係るアクセス要求との同時生起の例
(サイクルt6)とを示すタイミングチャート図であ
る。
【0060】サイクルt1では、RISCマイクロプロ
セッサ34によって条件分岐命令が実行されている間
に、プログラムカウンタのインクリメントにより生成さ
れた命令アドレス(第1のアドレス)IA=(n)が、
該RISCマイクロプロセッサ34から第1のアクセス
要求信号IAGとともにキャッシュメモリ装置30に与
えられたものとする。これにより、該命令アドレスIA
が第1の選択アドレスSA1として選択され、第2のデ
ュアルポートメモリ24から2命令がフェッチされる。
セッサ34によって条件分岐命令が実行されている間
に、プログラムカウンタのインクリメントにより生成さ
れた命令アドレス(第1のアドレス)IA=(n)が、
該RISCマイクロプロセッサ34から第1のアクセス
要求信号IAGとともにキャッシュメモリ装置30に与
えられたものとする。これにより、該命令アドレスIA
が第1の選択アドレスSA1として選択され、第2のデ
ュアルポートメモリ24から2命令がフェッチされる。
【0061】サイクルt2では、サイクルt1でフェッ
チされた2命令のうちの1番目の命令の実行と並行して
サイクルt1の条件分岐命令の条件の成立・不成立の判
断がRISCマイクロプロセッサ34によって行われて
いる間に、該条件分岐命令に基づいて計算された分岐先
アドレス(第2のアドレス)BA=(m)が、該RIS
Cマイクロプロセッサ34から第2のアクセス要求信号
BAGとともにキャッシュメモリ装置30に与えられ
る。これと同時に、データの整合性を管理するための物
理アドレス(第4のアドレス)PA=(pa0)が、バ
ス監視装置36から第4のアクセス要求信号PAGとと
もに同キャッシュメモリ装置30に与えられたものとす
る。この結果、表1中の番号10の行に示す制御装置2
0の機能によって、該分岐先アドレスBA及び物理アド
レスPAが第1及び第2の選択アドレスSA1,SA2
として選択される。つまり、分岐条件成立の場合に次に
実行すべき1命令が第2のデュアルポートメモリ24か
らフェッチされるのと並行して、該物理アドレスPAの
データをキャッシュメモリ装置30が保持しているかど
うかが調べられる。しかも、分岐条件不成立の場合に次
に実行すべき命令はサイクルt1において既にフェッチ
されているので、RISCマイクロプロセッサ34は、
フェッチした2アドレスの命令のうちのいずれのアドレ
スの命令を次に実行すべきかを分岐条件の成立の如何に
応じて選択し、該選択した命令を次サイクルt3で直ち
に実行できる。
チされた2命令のうちの1番目の命令の実行と並行して
サイクルt1の条件分岐命令の条件の成立・不成立の判
断がRISCマイクロプロセッサ34によって行われて
いる間に、該条件分岐命令に基づいて計算された分岐先
アドレス(第2のアドレス)BA=(m)が、該RIS
Cマイクロプロセッサ34から第2のアクセス要求信号
BAGとともにキャッシュメモリ装置30に与えられ
る。これと同時に、データの整合性を管理するための物
理アドレス(第4のアドレス)PA=(pa0)が、バ
ス監視装置36から第4のアクセス要求信号PAGとと
もに同キャッシュメモリ装置30に与えられたものとす
る。この結果、表1中の番号10の行に示す制御装置2
0の機能によって、該分岐先アドレスBA及び物理アド
レスPAが第1及び第2の選択アドレスSA1,SA2
として選択される。つまり、分岐条件成立の場合に次に
実行すべき1命令が第2のデュアルポートメモリ24か
らフェッチされるのと並行して、該物理アドレスPAの
データをキャッシュメモリ装置30が保持しているかど
うかが調べられる。しかも、分岐条件不成立の場合に次
に実行すべき命令はサイクルt1において既にフェッチ
されているので、RISCマイクロプロセッサ34は、
フェッチした2アドレスの命令のうちのいずれのアドレ
スの命令を次に実行すべきかを分岐条件の成立の如何に
応じて選択し、該選択した命令を次サイクルt3で直ち
に実行できる。
【0062】この例では、分岐先アドレスBA=(m)
によってロード命令がフェッチされ、かつ分岐条件が成
立した結果、サイクルt3ではロード命令がRISCマ
イクロプロセッサ34によって選択・実行されるものと
する。また、このように分岐条件が成立した場合には、
RISCマイクロプロセッサ34中のプログラムカウン
タは、(n)から(m)に変更されたうえでインクリメ
ントされる。したがって、サイクルt3において該RI
SCマイクロプロセッサ34から第1のアクセス要求信
号IAGとともにキャッシュメモリ装置30に与えられ
る命令アドレス(第1のアドレス)IAは、(m+4)
となる。この結果、該命令アドレスIA=(m+4)が
第1の選択アドレスSA1として選択される。この第1
の選択アドレスSA1によって、第2のデュアルポート
メモリ24から2つのロード命令がフェッチされたもの
とする。
によってロード命令がフェッチされ、かつ分岐条件が成
立した結果、サイクルt3ではロード命令がRISCマ
イクロプロセッサ34によって選択・実行されるものと
する。また、このように分岐条件が成立した場合には、
RISCマイクロプロセッサ34中のプログラムカウン
タは、(n)から(m)に変更されたうえでインクリメ
ントされる。したがって、サイクルt3において該RI
SCマイクロプロセッサ34から第1のアクセス要求信
号IAGとともにキャッシュメモリ装置30に与えられ
る命令アドレス(第1のアドレス)IAは、(m+4)
となる。この結果、該命令アドレスIA=(m+4)が
第1の選択アドレスSA1として選択される。この第1
の選択アドレスSA1によって、第2のデュアルポート
メモリ24から2つのロード命令がフェッチされたもの
とする。
【0063】サイクルt4では、サイクルt3でフェッ
チされた2命令のうちの第1のロード命令の実行と並行
して、RISCマイクロプロセッサ34からキャッシュ
メモリ装置30へ、サイクルt3のロード命令に基づく
データアドレス(第3のアドレス)DA=(da0)が
第3のアクセス要求信号DAGとともに与えられる。こ
の結果、該データアドレスDAが第1の選択アドレスS
A1として選択され、第2のデュアルポートメモリ24
から所望のデータが読み出される。
チされた2命令のうちの第1のロード命令の実行と並行
して、RISCマイクロプロセッサ34からキャッシュ
メモリ装置30へ、サイクルt3のロード命令に基づく
データアドレス(第3のアドレス)DA=(da0)が
第3のアクセス要求信号DAGとともに与えられる。こ
の結果、該データアドレスDAが第1の選択アドレスS
A1として選択され、第2のデュアルポートメモリ24
から所望のデータが読み出される。
【0064】サイクルt5では、サイクルt3でフェッ
チされた2命令のうちの第2のロード命令の実行と並行
して、RISCマイクロプロセッサ34からキャッシュ
メモリ装置30へ、プログラムカウンタのインクリメン
トにより生成された命令アドレス(第1のアドレス)I
A=(n+12)と、サイクルt4のロード命令に基づ
くデータアドレス(第3のアドレス)DA=(da1)
とが、第1及び第3のアクセス要求信号IAG,DAG
とともに同時に与えられる。この結果、表1中の番号7
の行に示す制御装置20の機能によって、該命令アドレ
スIA及びデータアドレスDAが第1及び第2の選択ア
ドレスSA1,SA2として選択される。つまり、第2
のデュアルポートメモリ24からは、次に実行すべき2
命令と所望のデータとが同時に読み出される。
チされた2命令のうちの第2のロード命令の実行と並行
して、RISCマイクロプロセッサ34からキャッシュ
メモリ装置30へ、プログラムカウンタのインクリメン
トにより生成された命令アドレス(第1のアドレス)I
A=(n+12)と、サイクルt4のロード命令に基づ
くデータアドレス(第3のアドレス)DA=(da1)
とが、第1及び第3のアクセス要求信号IAG,DAG
とともに同時に与えられる。この結果、表1中の番号7
の行に示す制御装置20の機能によって、該命令アドレ
スIA及びデータアドレスDAが第1及び第2の選択ア
ドレスSA1,SA2として選択される。つまり、第2
のデュアルポートメモリ24からは、次に実行すべき2
命令と所望のデータとが同時に読み出される。
【0065】サイクルt6では、サイクルt5でフェッ
チされた2命令のうちの1番目の命令の実行と並行し
て、サイクルt5のロード命令に基づくデータアドレス
(第3のアドレス)DA=(da2)が、RISCマイ
クロプロセッサ34から第3のアクセス要求信号BAG
とともにキャッシュメモリ装置30に与えられる。これ
と同時に、データの整合性を管理するための物理アドレ
ス(第4のアドレス)PA=(pa1)が、バス監視装
置36から第4のアクセス要求信号PAGとともに同キ
ャッシュメモリ装置30に与えられたものとする。この
場合、表1中の番号11の行に示す制御装置20の機能
によって、該データアドレスDA及び物理アドレスPA
が第1及び第2の選択信号SA1,SA2として選択さ
れる。つまり、所望のデータが第2のデュアルポートメ
モリ24から読み出されるのと並行して、該物理アドレ
スPAのデータをキャッシュメモリ装置30が保持して
いるかどうかが調べられることとなる。
チされた2命令のうちの1番目の命令の実行と並行し
て、サイクルt5のロード命令に基づくデータアドレス
(第3のアドレス)DA=(da2)が、RISCマイ
クロプロセッサ34から第3のアクセス要求信号BAG
とともにキャッシュメモリ装置30に与えられる。これ
と同時に、データの整合性を管理するための物理アドレ
ス(第4のアドレス)PA=(pa1)が、バス監視装
置36から第4のアクセス要求信号PAGとともに同キ
ャッシュメモリ装置30に与えられたものとする。この
場合、表1中の番号11の行に示す制御装置20の機能
によって、該データアドレスDA及び物理アドレスPA
が第1及び第2の選択信号SA1,SA2として選択さ
れる。つまり、所望のデータが第2のデュアルポートメ
モリ24から読み出されるのと並行して、該物理アドレ
スPAのデータをキャッシュメモリ装置30が保持して
いるかどうかが調べられることとなる。
【0066】以上のとおり、本実施例によれば、分岐先
アドレスBAに係るアクセス要求と物理アドレスPAに
係るアクセス要求との同時処理、及び、データアドレス
DAに係るアクセス要求と物理アドレスPAに係るアク
セス要求との同時処理が可能であって、従来と比べてペ
ナルティが抑制される。なお、図6に関する以上の説明
では条件分岐命令の条件が成立したものとしているの
で、サイクルt2の命令実行結果は、RISCマイクロ
プロセッサ34内で無効化される。
アドレスBAに係るアクセス要求と物理アドレスPAに
係るアクセス要求との同時処理、及び、データアドレス
DAに係るアクセス要求と物理アドレスPAに係るアク
セス要求との同時処理が可能であって、従来と比べてペ
ナルティが抑制される。なお、図6に関する以上の説明
では条件分岐命令の条件が成立したものとしているの
で、サイクルt2の命令実行結果は、RISCマイクロ
プロセッサ34内で無効化される。
【0067】図7は、(1) 命令アドレス(第1のアドレ
ス)IA、分岐先アドレス(第2のアドレス)BA及び
物理アドレス(第4のアドレス)PAの各アドレスに係
る3つのアクセス要求の同時生起の例(サイクルt3)
と、(2) 処理待ち状態とされた物理アドレス(第4のア
ドレス)PAに係るアクセス要求に加えて命令アドレス
(第1のアドレス)IA及びデータアドレス(第3のア
ドレス)の各々に係る2つのアクセス要求が同時に生起
した場合の例(サイクルt4)とを示すタイミングチャ
ート図である。更に同図には、(3) 分岐先アドレス(第
2のアドレス)BAに係るアクセス要求とデータアドレ
ス(第3のアドレス)DAに係るアクセス要求とが同時
に与えられた例(サイクルt5)と、(4) 命令アドレス
(第1のアドレス)IAに係るアクセス要求とデータア
ドレス(第3のアドレス)DAに係るアクセス要求との
同時生起の例(サイクルt6)とが示されている。
ス)IA、分岐先アドレス(第2のアドレス)BA及び
物理アドレス(第4のアドレス)PAの各アドレスに係
る3つのアクセス要求の同時生起の例(サイクルt3)
と、(2) 処理待ち状態とされた物理アドレス(第4のア
ドレス)PAに係るアクセス要求に加えて命令アドレス
(第1のアドレス)IA及びデータアドレス(第3のア
ドレス)の各々に係る2つのアクセス要求が同時に生起
した場合の例(サイクルt4)とを示すタイミングチャ
ート図である。更に同図には、(3) 分岐先アドレス(第
2のアドレス)BAに係るアクセス要求とデータアドレ
ス(第3のアドレス)DAに係るアクセス要求とが同時
に与えられた例(サイクルt5)と、(4) 命令アドレス
(第1のアドレス)IAに係るアクセス要求とデータア
ドレス(第3のアドレス)DAに係るアクセス要求との
同時生起の例(サイクルt6)とが示されている。
【0068】サイクルt1では、RISCマイクロプロ
セッサ34によってロード命令が実行されている間に、
プログラムカウンタのインクリメントにより生成された
命令アドレス(第1のアドレス)IA=(n)が、該R
ISCマイクロプロセッサ34から第1のアクセス要求
信号IAGとともにキャッシュメモリ装置30に与えら
れたものとする。この結果、該命令アドレスIAが第1
の選択アドレスSA1として選択され、第2のデュアル
ポートメモリ24から2命令がフェッチされる。この
際、条件分岐命令とロード命令とがフェッチされたもの
とする。
セッサ34によってロード命令が実行されている間に、
プログラムカウンタのインクリメントにより生成された
命令アドレス(第1のアドレス)IA=(n)が、該R
ISCマイクロプロセッサ34から第1のアクセス要求
信号IAGとともにキャッシュメモリ装置30に与えら
れたものとする。この結果、該命令アドレスIAが第1
の選択アドレスSA1として選択され、第2のデュアル
ポートメモリ24から2命令がフェッチされる。この
際、条件分岐命令とロード命令とがフェッチされたもの
とする。
【0069】サイクルt2では、サイクルt1でフェッ
チされた2命令のうちの条件分岐命令がRISCマイク
ロプロセッサ34により実行される一方、サイクルt1
のロード命令に基づくデータアドレス(第3のアドレ
ス)DA=(da0)が、第3のアクセス要求信号DA
GとともにRISCマイクロプロセッサ34からキャッ
シュメモリ装置30に与えられる。この結果、該データ
アドレスDAが第1の選択アドレスSA1として選択さ
れ、第2のデュアルポートメモリ24から所望のデータ
が読み出される。
チされた2命令のうちの条件分岐命令がRISCマイク
ロプロセッサ34により実行される一方、サイクルt1
のロード命令に基づくデータアドレス(第3のアドレ
ス)DA=(da0)が、第3のアクセス要求信号DA
GとともにRISCマイクロプロセッサ34からキャッ
シュメモリ装置30に与えられる。この結果、該データ
アドレスDAが第1の選択アドレスSA1として選択さ
れ、第2のデュアルポートメモリ24から所望のデータ
が読み出される。
【0070】サイクルt3では、サイクルt1でフェッ
チされた2命令のうちのロード命令の実行と並行してサ
イクルt2の条件分岐命令の条件の成立・不成立の判断
がRISCマイクロプロセッサ34によって行われてい
る間に、プログラムカウンタのインクリメントにより生
成された命令アドレス(第1のアドレス)IA=(n+
8)と該条件分岐命令に基づいて計算された分岐先アド
レス(第2のアドレス)BA=(m0)とが、RISC
マイクロプロセッサ34から第1及び第2のアクセス要
求信号IAG,BAGとともにキャッシュメモリ装置3
0に与えられる。これと同時に、データの整合性を管理
するための物理アドレス(第4のアドレス)PA=(p
a)が、バス監視装置36から第4のアクセス要求信号
PAGとともに同キャッシュメモリ装置30に与えられ
たものとする。この場合、表2中の番号19の行に示す
制御装置20の機能によって、該命令アドレスIA及び
分岐先アドレスBAが第1及び第2の選択アドレスSA
1,SA2として選択されるとともに、該物理アドレス
PAが処理待ち状態とされる。つまり、第2のデュアル
ポートメモリ24からは、条件分岐命令の条件不成立の
場合に次に実行すべき2命令と、条件成立の場合に次に
実行すべき1命令との双方が同時にフェッチされること
となる。この結果、RISCマイクロプロセッサ34
は、フェッチした2アドレスの命令のうちのいずれのア
ドレスの命令を次に実行すべきかを分岐条件の成立の如
何に応じて選択し、該選択した命令を次サイクルt4で
直ちに実行できる。
チされた2命令のうちのロード命令の実行と並行してサ
イクルt2の条件分岐命令の条件の成立・不成立の判断
がRISCマイクロプロセッサ34によって行われてい
る間に、プログラムカウンタのインクリメントにより生
成された命令アドレス(第1のアドレス)IA=(n+
8)と該条件分岐命令に基づいて計算された分岐先アド
レス(第2のアドレス)BA=(m0)とが、RISC
マイクロプロセッサ34から第1及び第2のアクセス要
求信号IAG,BAGとともにキャッシュメモリ装置3
0に与えられる。これと同時に、データの整合性を管理
するための物理アドレス(第4のアドレス)PA=(p
a)が、バス監視装置36から第4のアクセス要求信号
PAGとともに同キャッシュメモリ装置30に与えられ
たものとする。この場合、表2中の番号19の行に示す
制御装置20の機能によって、該命令アドレスIA及び
分岐先アドレスBAが第1及び第2の選択アドレスSA
1,SA2として選択されるとともに、該物理アドレス
PAが処理待ち状態とされる。つまり、第2のデュアル
ポートメモリ24からは、条件分岐命令の条件不成立の
場合に次に実行すべき2命令と、条件成立の場合に次に
実行すべき1命令との双方が同時にフェッチされること
となる。この結果、RISCマイクロプロセッサ34
は、フェッチした2アドレスの命令のうちのいずれのア
ドレスの命令を次に実行すべきかを分岐条件の成立の如
何に応じて選択し、該選択した命令を次サイクルt4で
直ちに実行できる。
【0071】この例では、分岐先アドレスBA=(m
0)によってサイクルt3で他の条件分岐命令がフェッ
チされ、かつサイクルt2の条件分岐命令の条件が成立
した結果、サイクルt4ではサイクルt3でフェッチさ
れた条件分岐命令がRISCマイクロプロセッサ34に
よって選択・実行されるものとする。また、このように
分岐条件が成立した場合には、RISCマイクロプロセ
ッサ34中のプログラムカウンタは、(n+8)から
(m0)に変更されたうえでインクリメントされる。し
たがって、サイクルt4において該RISCマイクロプ
ロセッサ34から第1のアクセス要求信号IAGととも
にキャッシュメモリ装置30に与えられる命令アドレス
(第1のアドレス)IAは、(m0+4)となる。つま
り、サイクルt4では、サイクルt3で処理待ち状態と
された物理アドレス(第4のアドレス)PA=(pa)
がバス監視装置36から第4のアクセス要求信号PAG
とともにキャッシュメモリ装置30に与えられるのに加
えて、RISCマイクロプロセッサ34から同キャッシ
ュメモリ装置30へ、命令アドレス(第1のアドレス)
IA=(m0+4)とサイクルt3のロード命令に基づ
くデータアドレス(第3のアドレス)DA=(da1)
とが、第1及び第3のアクセス要求信号IAG,DAG
とともに同時に与えられる。この場合、表2中の番号2
2の行に示す制御装置20の機能によって、該命令アド
レスIA及び物理アドレスPAが第1及び第2の選択ア
ドレスSA1,SA2として選択されるとともに、該デ
ータアドレスDAが処理待ち状態とされる。つまり、次
に実行すべき2命令が第2のデュアルポートメモリ24
からフェッチされるのと並行して、該物理アドレスPA
のデータをキャッシュメモリ装置30が保持しているか
どうかが調べられる。この例では、命令アドレスIA=
(m0+4)によって、ロード命令と他の命令との2命
令がフェッチされたものとする。
0)によってサイクルt3で他の条件分岐命令がフェッ
チされ、かつサイクルt2の条件分岐命令の条件が成立
した結果、サイクルt4ではサイクルt3でフェッチさ
れた条件分岐命令がRISCマイクロプロセッサ34に
よって選択・実行されるものとする。また、このように
分岐条件が成立した場合には、RISCマイクロプロセ
ッサ34中のプログラムカウンタは、(n+8)から
(m0)に変更されたうえでインクリメントされる。し
たがって、サイクルt4において該RISCマイクロプ
ロセッサ34から第1のアクセス要求信号IAGととも
にキャッシュメモリ装置30に与えられる命令アドレス
(第1のアドレス)IAは、(m0+4)となる。つま
り、サイクルt4では、サイクルt3で処理待ち状態と
された物理アドレス(第4のアドレス)PA=(pa)
がバス監視装置36から第4のアクセス要求信号PAG
とともにキャッシュメモリ装置30に与えられるのに加
えて、RISCマイクロプロセッサ34から同キャッシ
ュメモリ装置30へ、命令アドレス(第1のアドレス)
IA=(m0+4)とサイクルt3のロード命令に基づ
くデータアドレス(第3のアドレス)DA=(da1)
とが、第1及び第3のアクセス要求信号IAG,DAG
とともに同時に与えられる。この場合、表2中の番号2
2の行に示す制御装置20の機能によって、該命令アド
レスIA及び物理アドレスPAが第1及び第2の選択ア
ドレスSA1,SA2として選択されるとともに、該デ
ータアドレスDAが処理待ち状態とされる。つまり、次
に実行すべき2命令が第2のデュアルポートメモリ24
からフェッチされるのと並行して、該物理アドレスPA
のデータをキャッシュメモリ装置30が保持しているか
どうかが調べられる。この例では、命令アドレスIA=
(m0+4)によって、ロード命令と他の命令との2命
令がフェッチされたものとする。
【0072】サイクルt5では、サイクルt4でフェッ
チされた2命令のうちのロード命令の実行と並行してサ
イクルt4の条件分岐命令の条件の成立・不成立の判断
がRISCマイクロプロセッサ34によって行われてい
る間に、キャッシュメモリ装置30へは該RISCマイ
クロプロセッサ34から、サイクルt4の条件分岐命令
に基づいて計算された分岐先アドレス(第2のアドレ
ス)BA=(m1)と、サイクルt4で処理待ち状態と
されたデータアドレス(第3のアドレス)DA=(da
1)とが、第2及び第3のアクセス要求信号BAG,D
AGとともに与えられる。この結果、表1中の番号9の
行に示す制御装置20の機能によって、該分岐先アドレ
スBA及びデータアドレスDAが第1及び第2の選択ア
ドレスSA1,SA2として選択される。つまり、第2
のデュアルポートメモリ24からは、分岐条件成立の場
合に次に実行すべき2命令がフェッチされると同時に、
所望のデータが読み出される。しかも、分岐条件不成立
の場合に次に実行すべき命令はサイクルt4において既
にフェッチされているので、RISCマイクロプロセッ
サ34は、フェッチした2アドレスの命令のうちのいず
れのアドレスの命令を次に実行すべきかを分岐条件の成
立の如何に応じて選択し、該選択した命令を次サイクル
t6で直ちに実行できる。
チされた2命令のうちのロード命令の実行と並行してサ
イクルt4の条件分岐命令の条件の成立・不成立の判断
がRISCマイクロプロセッサ34によって行われてい
る間に、キャッシュメモリ装置30へは該RISCマイ
クロプロセッサ34から、サイクルt4の条件分岐命令
に基づいて計算された分岐先アドレス(第2のアドレ
ス)BA=(m1)と、サイクルt4で処理待ち状態と
されたデータアドレス(第3のアドレス)DA=(da
1)とが、第2及び第3のアクセス要求信号BAG,D
AGとともに与えられる。この結果、表1中の番号9の
行に示す制御装置20の機能によって、該分岐先アドレ
スBA及びデータアドレスDAが第1及び第2の選択ア
ドレスSA1,SA2として選択される。つまり、第2
のデュアルポートメモリ24からは、分岐条件成立の場
合に次に実行すべき2命令がフェッチされると同時に、
所望のデータが読み出される。しかも、分岐条件不成立
の場合に次に実行すべき命令はサイクルt4において既
にフェッチされているので、RISCマイクロプロセッ
サ34は、フェッチした2アドレスの命令のうちのいず
れのアドレスの命令を次に実行すべきかを分岐条件の成
立の如何に応じて選択し、該選択した命令を次サイクル
t6で直ちに実行できる。
【0073】この例ではサイクルt4の条件分岐命令の
条件が成立せず、サイクルt6では、サイクルt4でフ
ェッチされた2命令のうちの2番目の命令がRISCマ
イクロプロセッサ34によって選択・実行されるものと
する。この場合、同サイクルt6では、RISCマイク
ロプロセッサ34からキャッシュメモリ装置30へ、プ
ログラムカウンタのインクリメントにより生成された命
令アドレス(第1のアドレス)IA=(m0+12)
と、サイクルt5のロード命令に基づくデータアドレス
(第3のアドレス)DA=(da2)とが、第1及び第
3のアクセス要求信号IAG,DAGとともに同時に与
えられる。この結果、表1中の番号7の行に示す制御装
置20の機能によって、該命令アドレスIA及びデータ
アドレスDAが第1及び第2の選択アドレスSA1,S
A2として選択される。つまり、第2のデュアルポート
メモリ24からは、次に実行すべき2命令と所望のデー
タとが同時に読み出されることとなる。
条件が成立せず、サイクルt6では、サイクルt4でフ
ェッチされた2命令のうちの2番目の命令がRISCマ
イクロプロセッサ34によって選択・実行されるものと
する。この場合、同サイクルt6では、RISCマイク
ロプロセッサ34からキャッシュメモリ装置30へ、プ
ログラムカウンタのインクリメントにより生成された命
令アドレス(第1のアドレス)IA=(m0+12)
と、サイクルt5のロード命令に基づくデータアドレス
(第3のアドレス)DA=(da2)とが、第1及び第
3のアクセス要求信号IAG,DAGとともに同時に与
えられる。この結果、表1中の番号7の行に示す制御装
置20の機能によって、該命令アドレスIA及びデータ
アドレスDAが第1及び第2の選択アドレスSA1,S
A2として選択される。つまり、第2のデュアルポート
メモリ24からは、次に実行すべき2命令と所望のデー
タとが同時に読み出されることとなる。
【0074】以上のとおり、本実施例によれば、物理ア
ドレスPAに係るデータアクセス要求に比べて命令フェ
ッチのための命令アドレスIA及び分岐先アドレスBA
に係るアクセス要求が優先的に処理されるので、RIS
Cマイクロプロセッサ34への1サイクル毎の命令供給
がデータアクセスによって阻害されることがない。ま
た、あるサイクルで処理待ち状態とされたアクセス要求
が次サイクルで優先的に処理されるので、該アクセス要
求について2サイクル以上のペナルティが生じることは
ない。また、分岐先アドレスBAに係るアクセス要求と
データアドレスDAに係るアクセス要求との同時処理も
可能である。なお、図7に関する以上の説明ではサイク
ルt2の条件分岐命令の条件が成立したものとしている
ので、サイクルt3のロード命令の実行結果、すなわち
サイクルt5において読み出されたデータは、RISC
マイクロプロセッサ34側で無効化される。
ドレスPAに係るデータアクセス要求に比べて命令フェ
ッチのための命令アドレスIA及び分岐先アドレスBA
に係るアクセス要求が優先的に処理されるので、RIS
Cマイクロプロセッサ34への1サイクル毎の命令供給
がデータアクセスによって阻害されることがない。ま
た、あるサイクルで処理待ち状態とされたアクセス要求
が次サイクルで優先的に処理されるので、該アクセス要
求について2サイクル以上のペナルティが生じることは
ない。また、分岐先アドレスBAに係るアクセス要求と
データアドレスDAに係るアクセス要求との同時処理も
可能である。なお、図7に関する以上の説明ではサイク
ルt2の条件分岐命令の条件が成立したものとしている
ので、サイクルt3のロード命令の実行結果、すなわち
サイクルt5において読み出されたデータは、RISC
マイクロプロセッサ34側で無効化される。
【0075】以上、2つのアクセス要求の同時処理につ
いて、図4〜図7を参照しながら、6種類のアドレスの
組み合わせ、すなわち、(1) 命令アドレスIAと分岐先
アドレスBA、(2) 命令アドレスIAとデータアドレス
DA、(3) 命令アドレスIAと物理アドレスPA、(4)
分岐先アドレスBAとデータアドレスDA、(5) 分岐先
アドレスBAと物理アドレスPA、及び、(6) データア
ドレスDAと物理アドレスPAの各組み合わせの場合を
説明してきた。RISCマイクロプロセッサ34が1サ
イクル毎に1つの命令を実行する場合には、実際に生じ
る組み合わせはこれら6種類に限られている。ところ
が、RISCマイクロプロセッサ34のアーキテクチャ
として1サイクルに複数の命令を同時に実行できるスー
パースケーラ型のアーキテクチャを採用する場合を考え
ると、例えば2つのメモリアクセス命令が同時に実行さ
れる場合には、キャッシュメモリ装置30において2つ
のデータアドレスDAに係るアクセス要求の同時処理が
必要となる。このためには、制御装置20は、重複した
第3のアクセス要求信号DAGが同時に与えられた場合
には、第1の指定信号S1でデータアドレス(第3のア
ドレス)DAを指定し、かつ第2の指定信号S2で他の
データアドレス(第3のアドレス)DAを指定すること
とする。更に、キャッシュメモリ装置30に格納された
命令列がRISCマイクロプロセッサ34からの命令ア
ドレス(第1のアドレス)IAにより一度に4命令づつ
フェッチされることとすれば、該命令アドレスIAに係
るアクセス頻度が低減し、キャッシュメモリ装置30が
ヒットするかぎりペナルティなしの命令フェッチ及びデ
ータアクセスを実現できる。
いて、図4〜図7を参照しながら、6種類のアドレスの
組み合わせ、すなわち、(1) 命令アドレスIAと分岐先
アドレスBA、(2) 命令アドレスIAとデータアドレス
DA、(3) 命令アドレスIAと物理アドレスPA、(4)
分岐先アドレスBAとデータアドレスDA、(5) 分岐先
アドレスBAと物理アドレスPA、及び、(6) データア
ドレスDAと物理アドレスPAの各組み合わせの場合を
説明してきた。RISCマイクロプロセッサ34が1サ
イクル毎に1つの命令を実行する場合には、実際に生じ
る組み合わせはこれら6種類に限られている。ところ
が、RISCマイクロプロセッサ34のアーキテクチャ
として1サイクルに複数の命令を同時に実行できるスー
パースケーラ型のアーキテクチャを採用する場合を考え
ると、例えば2つのメモリアクセス命令が同時に実行さ
れる場合には、キャッシュメモリ装置30において2つ
のデータアドレスDAに係るアクセス要求の同時処理が
必要となる。このためには、制御装置20は、重複した
第3のアクセス要求信号DAGが同時に与えられた場合
には、第1の指定信号S1でデータアドレス(第3のア
ドレス)DAを指定し、かつ第2の指定信号S2で他の
データアドレス(第3のアドレス)DAを指定すること
とする。更に、キャッシュメモリ装置30に格納された
命令列がRISCマイクロプロセッサ34からの命令ア
ドレス(第1のアドレス)IAにより一度に4命令づつ
フェッチされることとすれば、該命令アドレスIAに係
るアクセス頻度が低減し、キャッシュメモリ装置30が
ヒットするかぎりペナルティなしの命令フェッチ及びデ
ータアクセスを実現できる。
【0076】また、3つのアクセス要求が同時に与えら
れる場合について、図7を参照しながら、(1) 命令アド
レスIA、分岐先アドレスBA及び物理アドレスPA、
並びに、(2) 命令アドレスIA、データアドレスDA及
び物理アドレスPAの各組み合わせを説明した。3つ以
上のアクセス要求が同時に与えられる場合のアドレスの
組み合わせとしては、この他に、(3) 命令アドレスI
A、分岐先アドレスBA及びデータアドレスDA、(4)
分岐先アドレスBA、データアドレスDA及び物理アド
レスPA、並びに、(5) 命令アドレスIA、分岐先アド
レスBA、データアドレスDA及び物理アドレスPAの
3種類の組み合わせが考えられる。ただし、これら3種
類の組み合わせは、RISCマイクロプロセッサ34に
スーパースケーラ型のアーキテクチャを採用する場合に
限って生じ得るものである。本実施例のキャッシュメモ
リ装置30は、表2中の番号12〜15、24〜27及
び28〜38の行に各々示すように、これらの組み合わ
せにも対応可能である。
れる場合について、図7を参照しながら、(1) 命令アド
レスIA、分岐先アドレスBA及び物理アドレスPA、
並びに、(2) 命令アドレスIA、データアドレスDA及
び物理アドレスPAの各組み合わせを説明した。3つ以
上のアクセス要求が同時に与えられる場合のアドレスの
組み合わせとしては、この他に、(3) 命令アドレスI
A、分岐先アドレスBA及びデータアドレスDA、(4)
分岐先アドレスBA、データアドレスDA及び物理アド
レスPA、並びに、(5) 命令アドレスIA、分岐先アド
レスBA、データアドレスDA及び物理アドレスPAの
3種類の組み合わせが考えられる。ただし、これら3種
類の組み合わせは、RISCマイクロプロセッサ34に
スーパースケーラ型のアーキテクチャを採用する場合に
限って生じ得るものである。本実施例のキャッシュメモ
リ装置30は、表2中の番号12〜15、24〜27及
び28〜38の行に各々示すように、これらの組み合わ
せにも対応可能である。
【0077】さて、第1〜第4のアドレスIA,BA,
DA,PAの各々に係るアクセス要求は、互いに独立に
生起する。したがって、前記のとおり最大4つのアクセ
ス要求が同時に生起する可能性がある。ところが、平均
的なアクセス頻度は次に説明するように1サイクルあた
り2回を下回るので、本実施例のように2つのアクセス
要求を同時に処理できるようにするのが合理的である。
DA,PAの各々に係るアクセス要求は、互いに独立に
生起する。したがって、前記のとおり最大4つのアクセ
ス要求が同時に生起する可能性がある。ところが、平均
的なアクセス頻度は次に説明するように1サイクルあた
り2回を下回るので、本実施例のように2つのアクセス
要求を同時に処理できるようにするのが合理的である。
【0078】RISCマイクロプロセッサ34は1サイ
クル毎に次々と命令を実行していくものであるから、元
来キャッシュメモリ装置から1サイクル毎に1命令を供
給していく必要がある。しかしながら、本実施例のよう
にキャッシュメモリ装置30から一度に2命令がフェッ
チされる構成を採用すれば、1サイクルにつき1回のア
クセス頻度を100%とすると、命令アドレス(第1の
アドレス)IAに係るアクセスの頻度は50%(2サイ
クルに1回の頻度)となる。また、無条件分岐命令、条
件分岐命令等のシーケンス変更命令の使用頻度は15%
程度である。一方、RISCマイクロプロセッサ34の
メモリアクセス命令はロード命令とストア命令との2種
類に限られており、これらの命令の使用頻度は25%程
度である。つまり、分岐先アドレス(第2のアドレス)
BA及びデータアドレス(第3のアドレス)DAに係る
アクセス頻度は、各々15%及び25%と見積ることが
できる。また、バス監視装置36によるキャッシュメモ
リ装置30へのアクセスは1サイクルに1回を越えるこ
とはないので、物理アドレス(第4のアドレス)PAに
係るアクセス頻度は最大100%である。以上の第1〜
第4のアドレスの各々に係るアクセス頻度を合計する
と、最大190%程度となる。ただし、キャッシュメモ
リ装置30の1ブロックを例えば4ラインで構成した場
合にはバス監視装置36によるアクセスの最大頻度は4
サイクルに1回(20〜30%程度のアクセス頻度)と
なるので、実質的にはアクセス頻度の合計は最大110
〜120%程度であると考えられる。したがって、本実
施例のように、2つのアクセス要求を同時に処理できれ
ば十分であることが判る。しかも、本実施例によれば、
処理待ち状態のアクセス要求が最優先で処理されるの
で、4つのアクセス要求が同時に与えられた場合でも、
該4つのアクセス要求のうちの処理待ち状態とされた2
つのアクセス要求は次のサイクルで必ず処理される。し
たがって、ペナルティの発生を常に1サイクルに抑える
ことができる。
クル毎に次々と命令を実行していくものであるから、元
来キャッシュメモリ装置から1サイクル毎に1命令を供
給していく必要がある。しかしながら、本実施例のよう
にキャッシュメモリ装置30から一度に2命令がフェッ
チされる構成を採用すれば、1サイクルにつき1回のア
クセス頻度を100%とすると、命令アドレス(第1の
アドレス)IAに係るアクセスの頻度は50%(2サイ
クルに1回の頻度)となる。また、無条件分岐命令、条
件分岐命令等のシーケンス変更命令の使用頻度は15%
程度である。一方、RISCマイクロプロセッサ34の
メモリアクセス命令はロード命令とストア命令との2種
類に限られており、これらの命令の使用頻度は25%程
度である。つまり、分岐先アドレス(第2のアドレス)
BA及びデータアドレス(第3のアドレス)DAに係る
アクセス頻度は、各々15%及び25%と見積ることが
できる。また、バス監視装置36によるキャッシュメモ
リ装置30へのアクセスは1サイクルに1回を越えるこ
とはないので、物理アドレス(第4のアドレス)PAに
係るアクセス頻度は最大100%である。以上の第1〜
第4のアドレスの各々に係るアクセス頻度を合計する
と、最大190%程度となる。ただし、キャッシュメモ
リ装置30の1ブロックを例えば4ラインで構成した場
合にはバス監視装置36によるアクセスの最大頻度は4
サイクルに1回(20〜30%程度のアクセス頻度)と
なるので、実質的にはアクセス頻度の合計は最大110
〜120%程度であると考えられる。したがって、本実
施例のように、2つのアクセス要求を同時に処理できれ
ば十分であることが判る。しかも、本実施例によれば、
処理待ち状態のアクセス要求が最優先で処理されるの
で、4つのアクセス要求が同時に与えられた場合でも、
該4つのアクセス要求のうちの処理待ち状態とされた2
つのアクセス要求は次のサイクルで必ず処理される。し
たがって、ペナルティの発生を常に1サイクルに抑える
ことができる。
【0079】なお、データアドレス(第3のアドレス)
DA及び物理アドレス(第4のアドレス)PAに比べて
命令アドレス(第1のアドレス)IA及び分岐先アドレ
ス(第2のアドレス)BAを優先させ、かつデータアド
レスDAに比べて物理アドレスPAを優先させるという
前記の優先ルールは、コンピュータシステムの構成に応
じて適宜変更することができる。
DA及び物理アドレス(第4のアドレス)PAに比べて
命令アドレス(第1のアドレス)IA及び分岐先アドレ
ス(第2のアドレス)BAを優先させ、かつデータアド
レスDAに比べて物理アドレスPAを優先させるという
前記の優先ルールは、コンピュータシステムの構成に応
じて適宜変更することができる。
【0080】図8は、本発明の他の実施例に係るキャッ
シュメモリ装置の構成を示すブロック図である。本実施
例では、制御装置20は、表3及び表4に示すように、
アクセス要求アドレスとしての第1〜第3のアドレスI
A,BA,DAの中から1つのアドレスを第1の被選択
アドレスとして指定(第1の指定信号S1)し、かつア
クセス要求アドレスとしての第2〜第4のアドレスB
A,DA,PAの中から他のアドレスを第2の被選択ア
ドレスとして指定(第2の指定信号S2)する。これに
対応して、第1のアドレス選択器10には命令アドレス
IA、分岐先アドレスBA及びデータアドレスDAのみ
が、第2のアドレス選択器12には分岐先アドレスB
A、データアドレスDA及び物理アドレスPAのみが各
々入力される。他の構成は、図1の場合と同様である。
シュメモリ装置の構成を示すブロック図である。本実施
例では、制御装置20は、表3及び表4に示すように、
アクセス要求アドレスとしての第1〜第3のアドレスI
A,BA,DAの中から1つのアドレスを第1の被選択
アドレスとして指定(第1の指定信号S1)し、かつア
クセス要求アドレスとしての第2〜第4のアドレスB
A,DA,PAの中から他のアドレスを第2の被選択ア
ドレスとして指定(第2の指定信号S2)する。これに
対応して、第1のアドレス選択器10には命令アドレス
IA、分岐先アドレスBA及びデータアドレスDAのみ
が、第2のアドレス選択器12には分岐先アドレスB
A、データアドレスDA及び物理アドレスPAのみが各
々入力される。他の構成は、図1の場合と同様である。
【0081】
【表3】
【0082】
【表4】
【0083】本実施例によれば、制御装置20は、被選
択アドレスの指定の範囲に制限が設けられているにもか
かわらず、第1及び第2の被選択アドレスとして、(1)
命令アドレスIAと分岐先アドレスBA、(2) 命令アド
レスIAとデータアドレスDA、(3) 命令アドレスIA
と物理アドレスPA、(4) 分岐先アドレスBAとデータ
アドレスDA、(5) 分岐先アドレスBAと物理アドレス
PA、及び、(6) データアドレスDAと物理アドレスP
Aの6種類全ての組み合わせを指定することができる。
RISCマイクロプロセッサ34にスーパースケーラ型
のアーキテクチャを採用する場合への対応として、2つ
のデータアドレスDA,DAを指定することも可能であ
る。また、3つのアクセス要求が同時に与えられる場合
でも、図1の実施例の場合と同様の動作が可能である。
つまり、本実施例によれば、図1に示す実施例の場合と
同等の効果を得ながら、ハードウェア構成を簡略化する
ことができる。
択アドレスの指定の範囲に制限が設けられているにもか
かわらず、第1及び第2の被選択アドレスとして、(1)
命令アドレスIAと分岐先アドレスBA、(2) 命令アド
レスIAとデータアドレスDA、(3) 命令アドレスIA
と物理アドレスPA、(4) 分岐先アドレスBAとデータ
アドレスDA、(5) 分岐先アドレスBAと物理アドレス
PA、及び、(6) データアドレスDAと物理アドレスP
Aの6種類全ての組み合わせを指定することができる。
RISCマイクロプロセッサ34にスーパースケーラ型
のアーキテクチャを採用する場合への対応として、2つ
のデータアドレスDA,DAを指定することも可能であ
る。また、3つのアクセス要求が同時に与えられる場合
でも、図1の実施例の場合と同様の動作が可能である。
つまり、本実施例によれば、図1に示す実施例の場合と
同等の効果を得ながら、ハードウェア構成を簡略化する
ことができる。
【0084】
【発明の効果】以上説明してきたとおり、請求項1の発
明によれば、与えられた3つ以上のアクセス要求アドレ
スの中から2つのアドレスを選択するためのアドレス選
択手段と、命令列とデータとが格納されかつ前記アドレ
ス選択手段で選択された2つのアドレスによりそれぞれ
独立にアクセスされる記憶手段とを備えた構成を採用し
たので、命令フェッチのための2つのアクセス要求の同
時処理、命令フェッチのためのアクセス要求とデータア
クセス要求との同時処理、及び、2つのデータアクセス
要求の同時処理がいずれも可能となる。しかも、命令キ
ャッシュとデータキャッシュとを分離しない構成を採用
したので、アプリケーションプログラムに応じて命令列
とデータとの間でメモリ容量配分の最適化が図れる利点
がある。
明によれば、与えられた3つ以上のアクセス要求アドレ
スの中から2つのアドレスを選択するためのアドレス選
択手段と、命令列とデータとが格納されかつ前記アドレ
ス選択手段で選択された2つのアドレスによりそれぞれ
独立にアクセスされる記憶手段とを備えた構成を採用し
たので、命令フェッチのための2つのアクセス要求の同
時処理、命令フェッチのためのアクセス要求とデータア
クセス要求との同時処理、及び、2つのデータアクセス
要求の同時処理がいずれも可能となる。しかも、命令キ
ャッシュとデータキャッシュとを分離しない構成を採用
したので、アプリケーションプログラムに応じて命令列
とデータとの間でメモリ容量配分の最適化が図れる利点
がある。
【0085】次に、請求項2の発明によれば、プログラ
ムカウンタのインクリメントに基づく命令アドレス(第
1のアドレス)と、シーケンス変更命令に基づく分岐先
アドレス(第2のアドレス)と、メモリアクセス命令に
基づくデータアドレス(第3のアドレス)と、マルチプ
ロセッサ構成の場合のデータの整合性を管理するための
物理アドレス(第4のアドレス)との4種類のアドレス
からなるアドレス群に属する2つのアドレスの各々に係
るアクセス要求がそれぞれ独立に処理される構成を採用
したので、命令キャッシュとデータキャッシュとを分離
しない構成でありながら命令フェッチのためのアクセス
要求(命令アドレス又は分岐先アドレスに係るアクセス
要求)とデータアクセス要求(データアドレス又は物理
アドレスに係るアクセス要求)とを同時に処理できるだ
けでなく、従来は命令キャッシュとデータキャッシュと
を分離したタイプのキャッシュメモリ装置でも実現でき
なかった命令アドレスに係るアクセス要求と分岐先アド
レスに係るアクセス要求との同時処理や、データアドレ
スに係るアクセス要求と物理アドレスに係るアクセス要
求との同時処理が可能となり、ペナルティの発生が抑制
される。
ムカウンタのインクリメントに基づく命令アドレス(第
1のアドレス)と、シーケンス変更命令に基づく分岐先
アドレス(第2のアドレス)と、メモリアクセス命令に
基づくデータアドレス(第3のアドレス)と、マルチプ
ロセッサ構成の場合のデータの整合性を管理するための
物理アドレス(第4のアドレス)との4種類のアドレス
からなるアドレス群に属する2つのアドレスの各々に係
るアクセス要求がそれぞれ独立に処理される構成を採用
したので、命令キャッシュとデータキャッシュとを分離
しない構成でありながら命令フェッチのためのアクセス
要求(命令アドレス又は分岐先アドレスに係るアクセス
要求)とデータアクセス要求(データアドレス又は物理
アドレスに係るアクセス要求)とを同時に処理できるだ
けでなく、従来は命令キャッシュとデータキャッシュと
を分離したタイプのキャッシュメモリ装置でも実現でき
なかった命令アドレスに係るアクセス要求と分岐先アド
レスに係るアクセス要求との同時処理や、データアドレ
スに係るアクセス要求と物理アドレスに係るアクセス要
求との同時処理が可能となり、ペナルティの発生が抑制
される。
【0086】特に、命令アドレス及び分岐先アドレスの
各々に係る2つのアクセス要求を同時に処理できるの
で、条件分岐命令の条件不成立の場合に次に実行すべき
命令と条件成立の場合に次に実行すべき命令との同時フ
ェッチが可能となる。つまり、例えばRISCマイクロ
プロセッサは、分岐条件の成立又は不成立が判明した時
点で直ちに次の命令を選択・実行することができ、該分
岐条件の成立の如何にかかわらず1サイクル毎に次々と
命令を実行できることとなる。また、命令アドレスに係
るアクセス要求とデータアドレスに係るアクセス要求と
の同時処理が可能であるので、例えばRISCマイクロ
プロセッサが連続したメモリアクセス命令を実行する場
合でも、当該キャッシュメモリ装置がヒットするかぎり
ペナルティなしの命令フェッチ及びデータアクセスを実
現できる。更に、データの整合性を管理するための物理
アドレスを受け入れるので、マルチプロセッサ構成への
対応も可能である。つまり、請求項2の発明によれば、
RISCマイクロプロセッサを含んだマルチプロセッサ
構成のプロセッサユニットの各々に好適に使用されるア
クセス効率の良いキャッシュメモリ装置が実現でき、コ
ンピュータシステム全体の性能の向上に大きく貢献する
ことができる。また、データアドレスに係る2つのアク
セス要求(2つのメモリアクセス命令の各々に基づいた
2つのデータアクセス要求)の同時処理も可能であるの
で、1サイクルに複数の命令を同時に実行できるスーパ
ースケーラ型のアーキテクチャを採用したマイクロプロ
セッサへの対応も可能である。
各々に係る2つのアクセス要求を同時に処理できるの
で、条件分岐命令の条件不成立の場合に次に実行すべき
命令と条件成立の場合に次に実行すべき命令との同時フ
ェッチが可能となる。つまり、例えばRISCマイクロ
プロセッサは、分岐条件の成立又は不成立が判明した時
点で直ちに次の命令を選択・実行することができ、該分
岐条件の成立の如何にかかわらず1サイクル毎に次々と
命令を実行できることとなる。また、命令アドレスに係
るアクセス要求とデータアドレスに係るアクセス要求と
の同時処理が可能であるので、例えばRISCマイクロ
プロセッサが連続したメモリアクセス命令を実行する場
合でも、当該キャッシュメモリ装置がヒットするかぎり
ペナルティなしの命令フェッチ及びデータアクセスを実
現できる。更に、データの整合性を管理するための物理
アドレスを受け入れるので、マルチプロセッサ構成への
対応も可能である。つまり、請求項2の発明によれば、
RISCマイクロプロセッサを含んだマルチプロセッサ
構成のプロセッサユニットの各々に好適に使用されるア
クセス効率の良いキャッシュメモリ装置が実現でき、コ
ンピュータシステム全体の性能の向上に大きく貢献する
ことができる。また、データアドレスに係る2つのアク
セス要求(2つのメモリアクセス命令の各々に基づいた
2つのデータアクセス要求)の同時処理も可能であるの
で、1サイクルに複数の命令を同時に実行できるスーパ
ースケーラ型のアーキテクチャを採用したマイクロプロ
セッサへの対応も可能である。
【0087】また、請求項3の発明によれば、命令アド
レス、分岐先アドレス及びデータアドレスの3種類のア
ドレス(第1〜第3のアドレス)の中から1つのアドレ
スを指定し、かつ分岐先アドレス、データアドレス及び
物理アドレスの3種類のアドレス(第2〜第4のアドレ
ス)の中から他の1つのアドレスを指定する制御装置の
構成を採用したので、制御装置による指定の範囲に制限
を設けない場合と同等の効果を得ながらハードウェア構
成を簡略化することができる。
レス、分岐先アドレス及びデータアドレスの3種類のア
ドレス(第1〜第3のアドレス)の中から1つのアドレ
スを指定し、かつ分岐先アドレス、データアドレス及び
物理アドレスの3種類のアドレス(第2〜第4のアドレ
ス)の中から他の1つのアドレスを指定する制御装置の
構成を採用したので、制御装置による指定の範囲に制限
を設けない場合と同等の効果を得ながらハードウェア構
成を簡略化することができる。
【0088】また、請求項4の発明によれば、データア
クセス要求(第3及び第4のアドレスに係るアクセス要
求)に比べて命令フェッチのためのアクセス要求(第1
及び第2のアドレスに係るアクセス要求)を優先させる
構成を採用したので、例えば第1〜第4のアドレスの各
々に係る4つのアクセス要求が同時に与えられた場合で
も、命令フェッチのためのアクセス要求に関するペナル
ティの発生を防止することができる。つまり、例えばR
ISCマイクロプロセッサへの1サイクル毎の命令供給
がデータアクセスによって阻害されることがない。ま
た、2種類のデータアクセス要求のうちデータアドレス
(第3のアドレス)に係るアクセス要求に比べて物理ア
ドレス(第4のアドレス)に係るアクセス要求を優先さ
せる構成を採用したので、矛盾データの保持防止のため
の操作の早期実施が可能となる。
クセス要求(第3及び第4のアドレスに係るアクセス要
求)に比べて命令フェッチのためのアクセス要求(第1
及び第2のアドレスに係るアクセス要求)を優先させる
構成を採用したので、例えば第1〜第4のアドレスの各
々に係る4つのアクセス要求が同時に与えられた場合で
も、命令フェッチのためのアクセス要求に関するペナル
ティの発生を防止することができる。つまり、例えばR
ISCマイクロプロセッサへの1サイクル毎の命令供給
がデータアクセスによって阻害されることがない。ま
た、2種類のデータアクセス要求のうちデータアドレス
(第3のアドレス)に係るアクセス要求に比べて物理ア
ドレス(第4のアドレス)に係るアクセス要求を優先さ
せる構成を採用したので、矛盾データの保持防止のため
の操作の早期実施が可能となる。
【0089】また、請求項5の発明によれば、例えば同
時に与えられた3つ又は4つのアクセス要求のうちの処
理待ち状態とされたアクセス要求が次の機会には必ず処
理されるように、処理待ち状態のアクセス要求を最優先
とする構成を採用したので、第1〜第4の4種類のアド
レスのうちのいずれのアドレスに係るアクセス要求につ
いてもペナルティを最小に抑えることができる。
時に与えられた3つ又は4つのアクセス要求のうちの処
理待ち状態とされたアクセス要求が次の機会には必ず処
理されるように、処理待ち状態のアクセス要求を最優先
とする構成を採用したので、第1〜第4の4種類のアド
レスのうちのいずれのアドレスに係るアクセス要求につ
いてもペナルティを最小に抑えることができる。
【0090】請求項6の発明によれば、2つのポートを
通して独立にアクセスされ得るタグアドレス格納用の第
1のデュアルポートメモリアレイと、2つのメモリポー
トを通して独立にアクセスされ得る命令列・データ格納
用の第2のデュアルポートメモリアレイと、第1及び第
2のアドレス選択器からそれぞれ出力されたアドレスの
各々がヒットしたか否かを個別に調べるための互いに独
立した第1及び第2の比較器とを備えた記憶装置の構成
を採用したので、命令キャッシュとデータキャッシュと
を分離しない構成でありながら命令とデータとを同時に
アクセスできるだけでなく、2命令の同時アクセスや2
データの同時アクセスが可能となる。しかも、アプリケ
ーションプログラムに応じて命令列とデータとの間で容
量配分の最適化が図れる。
通して独立にアクセスされ得るタグアドレス格納用の第
1のデュアルポートメモリアレイと、2つのメモリポー
トを通して独立にアクセスされ得る命令列・データ格納
用の第2のデュアルポートメモリアレイと、第1及び第
2のアドレス選択器からそれぞれ出力されたアドレスの
各々がヒットしたか否かを個別に調べるための互いに独
立した第1及び第2の比較器とを備えた記憶装置の構成
を採用したので、命令キャッシュとデータキャッシュと
を分離しない構成でありながら命令とデータとを同時に
アクセスできるだけでなく、2命令の同時アクセスや2
データの同時アクセスが可能となる。しかも、アプリケ
ーションプログラムに応じて命令列とデータとの間で容
量配分の最適化が図れる。
【0091】また、請求項7の発明によれば、命令アド
レス(第1のアドレス)によりアクセスされる毎に命令
列のうちの連続した少なくとも2つの命令が一度にフェ
ッチされる構成を採用したので、第2〜第4のアドレス
に係るアクセス要求が即時に処理される可能性が増大
し、ペナルティの発生が抑制される。
レス(第1のアドレス)によりアクセスされる毎に命令
列のうちの連続した少なくとも2つの命令が一度にフェ
ッチされる構成を採用したので、第2〜第4のアドレス
に係るアクセス要求が即時に処理される可能性が増大
し、ペナルティの発生が抑制される。
【図1】本発明の実施例に係るキャッシュメモリ装置の
構成を示すブロック図である。
構成を示すブロック図である。
【図2】図1のキャッシュメモリ装置を内蔵したプロセ
ッサユニットの例を示すブロック図である。
ッサユニットの例を示すブロック図である。
【図3】複数個の図2のプロセッサユニットを共通のシ
ステムバスに接続してなるマルチプロセッサ構成のコン
ピュータシステムの例を示すブロック図である。
ステムバスに接続してなるマルチプロセッサ構成のコン
ピュータシステムの例を示すブロック図である。
【図4】図1のキャッシュメモリ装置の動作を示すタイ
ミングチャート図である。
ミングチャート図である。
【図5】同キャッシュメモリ装置の動作を示す他のタイ
ミングチャート図である。
ミングチャート図である。
【図6】同キャッシュメモリ装置の動作を示す更に他の
タイミングチャート図である。
タイミングチャート図である。
【図7】同キャッシュメモリ装置の動作を示す更に他の
タイミングチャート図である。
タイミングチャート図である。
【図8】本発明の他の実施例に係るキャッシュメモリ装
置の構成を示すブロック図である。
置の構成を示すブロック図である。
10 第1のアドレス選択器 12 第2のアドレス選択器 14 第1のデュアルポートメモリアレイ 16 第1の比較器 18 第2の比較器 20 制御装置 22 ヒット信号生成器 24 第2のデュアルポートメモリアレイ 26 読み出し/書き込み回路 30 キャッシュメモリ装置 32,44 プロセッサユニット 34 RISCマイクロプロセッサ 36 バス監視装置 38 バス制御装置 40 内部バス 42 システムバス(外部バス) IA 命令アドレス(第1のアドレス) BA 分岐先アドレス(第2のアドレス) DA データアドレス(第3のアドレス) PA 物理アドレス(第4のアドレス) IAG 第1のアクセス要求信号 BAG 第2のアクセス要求信号 DAG 第3のアクセス要求信号 PAG 第4のアクセス要求信号 S1,S2 第1及び第2の指定信号 SA1,SA2 第1及び第2の選択アドレス TA1,TA2 第1及び第2のタグアドレス H1,H2 第1及び第2のヒット信号
フロントページの続き (56)参考文献 特開 平2−289013(JP,A) 特開 平2−176839(JP,A) 特開 平3−33932(JP,A) 特開 昭63−223846(JP,A) 特開 昭63−240651(JP,A) 特開 昭63−191253(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06F 9/38
Claims (8)
- 【請求項1】 命令列及びデータへのアクセスをそれぞ
れ独立に実行できるマイクロプロセッサに接続され、か
つ命令フェッチのためのアクセスに使用されるべき複数
のアドレスとデータアクセスに使用されるべき複数のア
ドレスとからなるアドレス群の中の3つ以上のアドレス
がアクセス要求アドレスとして同時に与えられるキャッ
シュメモリ装置であって、 前記与えられた3つ以上のアクセス要求アドレスの中か
ら、命令フェッチのためのアクセスに使用されるべき2
つのアドレス、データアクセスに使用されるべき2つの
アドレス、及び、命令フェッチのためのアクセスに使用
されるべき1つのアドレスとデータアクセスに使用され
るべき1つのアドレスという2つのアドレスの複数の組
み合わせのうちの1つを選択するためのアドレス選択手
段と、 命令列とデータとが格納され、かつ前記アドレス選択手
段で選択された2つのアドレスによりそれぞれ独立にア
クセスされる記憶手段とを備えたことを特徴とするキャ
ッシュメモリ装置。 - 【請求項2】 命令列及びデータへのアクセスをそれぞ
れ独立に実行できるマイクロプロセッサに接続され、か
つ命令フェッチのためにプログラムカウンタのインクリ
メントにより順次生成される第1のアドレスとしての命
令アドレスと、命令実行シーケンスの変更を要求するシ
ーケンス変更命令に基づいて分岐先の命令フェッチのた
めに生成される第2のアドレスとしての分岐先アドレス
と、メモリアクセス命令に基づいてデータアクセスのた
めに生成される第3のアドレスとしてのデータアドレス
と、他のメモリ装置との間のデータの整合性を管理する
ための第4のアドレスとしてのデータアクセス用の物理
アドレスとの4種類のアドレスからなるアドレス群に属
する3つ以上のアドレスがアクセス要求アドレスとして
同時に与えられるキャッシュメモリ装置であって、 前記与えられた3つ以上のアクセス要求アドレスの中か
ら、命令アドレスと分岐先アドレス、命令アドレスとデ
ータアドレス、命令アドレスと物理アドレス、分岐先ア
ドレスとデータアドレス、分岐先アドレスと物理アドレ
ス、データアドレスと物理アドレス、及び、2つのデー
タアドレスという2つのアドレスの複数の組み合わせの
うちの1つを各々第1及び第2の被選択アドレスとして
指定するための制御装置と、 前記制御装置により第1の被選択アドレスとして指定さ
れたアドレスを前記与えられた3つ以上のアクセス要求
アドレスの中から選択し、かつ該選択した1つのアドレ
スを出力するための第1のアドレス選択器と、 前記制御装置により第2の被選択アドレスとして指定さ
れたアドレスを前記与えられた3つ以上のアクセス要求
アドレスの中から選択し、かつ該選択した1つのアドレ
スを出力するための第2のアドレス選択器と、 命令列とデータとが格納され、かつ前記第1及び第2の
アドレス選択器から各々出力されたアドレスによりそれ
ぞれ独立にアクセスされる記憶装置とを備えたことを特
徴とするキャッシュメモリ装置。 - 【請求項3】 請求項2記載のキャッシュメモリ装置に
おいて、 前記制御装置は、前記与えられた3つ以上のアクセス要
求アドレスのうち、前記第1〜第3の3種類のアドレス
の中から1つのアドレスを前記第1の被選択アドレスと
して指定し、かつ前記第2〜第4の3種類のアドレスの
中から他の1つのアドレスを前記第2の被選択アドレス
として指定することを特徴とするキャッシュメモリ装
置。 - 【請求項4】 請求項2又は3に記載のキャッシュメモ
リ装置において、 前記制御装置は、前記第3及び第4のアドレスに比べて
前記第1及び第2のアドレスを優先させ、かつ前記第3
のアドレスに比べて前記第4のアドレスを優先させると
いう優先ルールに従って前記第1及び第2の被選択アド
レスの指定を行い、かつ前記与えられた3つ以上のアク
セス要求アドレスのうち前記第1及び第2の被選択アド
レスとして指定されたアドレス以外のアドレスを処理待
ち状態とすることを特徴とするキャッシュメモリ装置。 - 【請求項5】 請求項4に記載のキャッシュメモリ装置
において、 前記制御装置は、前記処理待ち状態のアクセス要求アド
レスに加えて2つ以上のアクセス要求アドレスが新たに
与えられた場合には、前記第1及び第2の被選択アドレ
スの指定に際し、前記処理待ち状態のアクセス要求アド
レスを最優先とすることを特徴とするキャッシュメモリ
装置。 - 【請求項6】 請求項2又は3に記載のキャッシュメモ
リ装置において、 前記記憶装置は、 互いに独立した第1及び第2のポートを有し、かつ前記
第1のアドレス選択器から出力されたアドレスのうちの
特定の部分により前記第1のポートから第1のタグアド
レスが読み出され、かつ前記第2のアドレス選択器から
出力されたアドレスのうちの特定の部分により前記第2
のポートから第2のタグアドレスが読み出される第1の
デュアルポートメモリアレイと、 前記第1のアドレス選択器から出力されたアドレスのう
ちの他の特定の部分と前記第1のデュアルポートメモリ
アレイの第1のポートから読み出された第1のタグアド
レスとが一致した場合には第1のヒット信号を出力する
ための第1の比較器と、 前記第2のアドレス選択器から出力されたアドレスのう
ちの他の特定の部分と前記第1のデュアルポートメモリ
アレイの第2のポートから読み出された第2のタグアド
レスとが一致した場合には第2のヒット信号を出力する
ための第2の比較器と、 命令列とデータとが格納され、かつ互いに独立した第1
及び第2のメモリポートを有し、かつ前記第1の比較器
から第1のヒット信号が出力された場合には前記第1の
アドレス選択器から出力されたアドレスにより前記第1
のメモリポートを通してアクセスされ、かつ前記第2の
比較器から第2のヒット信号が出力された場合には前記
第2のアドレス選択器から出力されたアドレスにより前
記第2のメモリポートを通してアクセスされる第2のデ
ュアルポートメモリアレイとを備えたことを特徴とする
キャッシュメモリ装置。 - 【請求項7】 請求項2又は3に記載のキャッシュメモ
リ装置において、 前記記憶装置は、前記第1のアドレスによりアクセスさ
れる毎に前記格納された命令列のうちの連続した少なく
とも2つの命令が一度にフェッチされることを特徴とす
るキャッシュメモリ装置。 - 【請求項8】 命令列及びデータへのアクセスをそれぞ
れ独立に実行できるマイクロプロセッサに接続され、か
つ命令フェッチのためにプログラムカウンタのインクリ
メントにより順次生成される命令アドレスと、命令実行
シーケンスの変更を要求するシーケンス変更命令に基づ
いて分岐先の命令フェッチのために生成される分岐先ア
ドレスと、メモリアクセス命令に基づいてデータアクセ
スのために生成されるデータアドレスと、他のメモリ装
置との間のデータの整合性を管理するための外部バスの
物理アドレスとの4種類のアドレスからなるアドレス群
に属する3つ以上のアドレスがアクセス要求アドレスと
して同時に与えられるキャッシュメモリ装置であって、 第1及び第2の被選択アドレスとすべき2つのアドレス
をアクセス要求の状態に応じて指定するための制御装置
と、 前記制御装置により第1の被選択アドレスとして指定さ
れたアドレスを前記与えられた3つ以上のアクセス要求
アドレスの中から選択し、かつ該選択した1つのアドレ
スを出力するための第1のアドレス選択器と、 前記制御装置により第2の被選択アドレスとして指定さ
れたアドレスを前記与えられた3つ以上のアクセス要求
アドレスの中から選択し、かつ該選択した1つのアドレ
スを出力するための第2のアドレス選択器と、 命令列とデータとが格納され、かつ前記第1及び第2の
アドレス選択器から各々出力されたアドレスによりそれ
ぞれ独立にアクセスされる記憶装置とを備え、 前記制御装置は、 (1) 待ち状態のアドレスが存在しない状態で3つ以上の
アクセス要求アドレスが発生した場合には、 前記発生したアクセス要求アドレスの中に命令アドレス
と分岐先アドレスとが含まれているときには、該命令ア
ドレス及び分岐先アドレスを優先して選択し、かつ選択
されなかったアクセス要求アドレスを待ち状態とし、 前記発生したアクセス要求アドレスの中に命令アドレス
及び分岐先アドレスのうちの一方と、データアドレス
と、外部バスの物理アドレスとが含まれているときに
は、該命令アドレス及び分岐先アドレスのうちの一方
と、該外部バスの物理アドレスとを優先して選択し、か
つ選択されなかったアクセス要求アドレスを待ち状態と
し、 (2) 待ち状態のアドレスが1つ存在する状態で2つ以上
のアクセス要求アドレスが発生した場合には、 前記待ち状態のアドレスを優先して選択するとともに、 前記待ち状態のアドレスが命令アドレスならば、外部バ
スの物理アドレス、分岐先アドレス、データアドレスの
優先順位で他の1つのアドレスを選択し、かつ選択され
なかったアクセス要求アドレスを待ち状態とし、 前記待ち状態のアドレスが分岐先アドレスならば、外部
バスの物理アドレス、命令アドレス、データアドレスの
優先順位で他の1つのアドレスを選択し、かつ選択され
なかったアクセス要求アドレスを待ち状態とし、 前記待ち状態のアドレスがデータアドレスならば、外部
バスの物理アドレス、命令アドレス、分岐先アドレスの
優先順位で他の1つのアドレスを選択し、かつ選択され
なかったアクセス要求アドレスを待ち状態とし、 前記待ち状態のアドレスが外部バスの物理アドレスなら
ば、命令アドレス、分岐先アドレス、データアドレスの
優先順位で他の1つのアドレスを選択し、かつ選択され
なかったアクセス要求アドレスを待ち状態とし、 (3) 待ち状態のアドレスが2つ存在する場合には、該待
ち状態の2つのアドレスを優先して選択し、かつ新たに
発生したアクセス要求アドレスを待ち状態とすることを
特徴とするキャッシュメモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04031813A JP3102594B2 (ja) | 1991-02-19 | 1992-02-19 | キャッシュメモリ装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3-24690 | 1991-02-19 | ||
JP2469091 | 1991-02-19 | ||
JP04031813A JP3102594B2 (ja) | 1991-02-19 | 1992-02-19 | キャッシュメモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0594305A JPH0594305A (ja) | 1993-04-16 |
JP3102594B2 true JP3102594B2 (ja) | 2000-10-23 |
Family
ID=26362247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04031813A Expired - Fee Related JP3102594B2 (ja) | 1991-02-19 | 1992-02-19 | キャッシュメモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3102594B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1821202B1 (en) * | 2006-02-16 | 2011-01-12 | VNS Portfolio LLC | Execution of instructions directly from input source |
KR100867269B1 (ko) * | 2007-02-22 | 2008-11-06 | 삼성전자주식회사 | 프로세서의 추론적 로드 명령 실행 방법 및 상기 방법을채용한 프로세서 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4722046A (en) * | 1986-08-27 | 1988-01-26 | Amdahl Corporation | Cache storage priority |
JPS63223846A (ja) * | 1987-03-12 | 1988-09-19 | Matsushita Electric Ind Co Ltd | キヤツシユ・メモリ− |
JPS63240651A (ja) * | 1987-03-28 | 1988-10-06 | Nec Corp | キヤツシユメモリ |
JPH077355B2 (ja) * | 1988-12-27 | 1995-01-30 | 株式会社東芝 | 情報処理装置 |
US5222223A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Method and apparatus for ordering and queueing multiple memory requests |
JPH0333932A (ja) * | 1989-06-29 | 1991-02-14 | Nec Corp | 条件分岐高速化方式 |
-
1992
- 1992-02-19 JP JP04031813A patent/JP3102594B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0594305A (ja) | 1993-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6401192B1 (en) | Apparatus for software initiated prefetch and method therefor | |
US5513366A (en) | Method and system for dynamically reconfiguring a register file in a vector processor | |
US5203002A (en) | System with a multiport memory and N processing units for concurrently/individually executing 2N-multi-instruction-words at first/second transitions of a single clock cycle | |
US5434989A (en) | Cache memory for efficient access with address selectors | |
EP1047989B1 (en) | Digital signal processor having data alignment buffer for performing unaligned data accesses | |
EP1550032B1 (en) | Method and apparatus for thread-based memory access in a multithreaded processor | |
US5450564A (en) | Method and apparatus for cache memory access with separate fetch and store queues | |
JP3348367B2 (ja) | 多重アクセス方法および多重アクセスキャッシュメモリ装置 | |
JP2822588B2 (ja) | キャッシュメモリ装置 | |
US5809274A (en) | Purge control for ON-chip cache memory | |
US6963962B2 (en) | Memory system for supporting multiple parallel accesses at very high frequencies | |
US6282505B1 (en) | Multi-port memory and a data processor accessing the same | |
US20160202992A1 (en) | Linkable issue queue parallel execution slice processing method | |
KR100613923B1 (ko) | 다수의 파이프라인을 이용해 패킷을 다수의 프로그래밍 엔진에 할당하는 방법, 프로세서, 컴퓨터 판독 가능 저장 매체 및 멀티프로세싱 시스템 | |
EP1202180A1 (en) | Scalar data cache for a vector processor | |
US5860101A (en) | Scalable symmetric multiprocessor data-processing system with data allocation among private caches and segments of system memory | |
JPH08185383A (ja) | データ処理装置 | |
JP3093807B2 (ja) | キャッシュ | |
US6101589A (en) | High performance shared cache | |
US5696939A (en) | Apparatus and method using a semaphore buffer for semaphore instructions | |
WO2014188073A1 (en) | Memory unit for emulated shared memory architectures | |
US6012135A (en) | Computer having multiple address ports, each having logical address translation with base and limit memory management | |
EP0279189B1 (en) | Storage system | |
JPH1055311A (ja) | インターリーブ式キャッシュ | |
JPH07121437A (ja) | コンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19960213 |
|
LAPS | Cancellation because of no payment of annual fees |