JPH0421129A - 命令キャッシュ装置 - Google Patents

命令キャッシュ装置

Info

Publication number
JPH0421129A
JPH0421129A JP2126165A JP12616590A JPH0421129A JP H0421129 A JPH0421129 A JP H0421129A JP 2126165 A JP2126165 A JP 2126165A JP 12616590 A JP12616590 A JP 12616590A JP H0421129 A JPH0421129 A JP H0421129A
Authority
JP
Japan
Prior art keywords
compartment
output
instruction
selection
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2126165A
Other languages
English (en)
Inventor
Atsushi Yamazaki
篤 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2126165A priority Critical patent/JPH0421129A/ja
Publication of JPH0421129A publication Critical patent/JPH0421129A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野1 本発明はキャッシュ装置に関し、特に情報処理装置に用
いられる命令キャッシュ装置に関する。
〔従来の技術〕
第2図は、2個のコンパートメントを有する従来の命令
キャッシュ装置のブロック図である。
まず、分岐命令実行等によって命令アドレスが書き代わ
ると、演算装置(図示せず)から送られた命令アドレス
121が命令アドレスレジスタ入力選択回路40を経て
命令アドレスレジスタ38に書込まれる。その後、命令
アドレスレジスタ38の出力101の中位部分103で
アドレス行列の各コンパートメント31.32を読出す
。同時に、命令アドレスレジスタ38の出力101の中
位部分と下位部分とを結合した値102でデータ行列の
各コンパートメント35.36を読出す。アドレス行列
コンパートメント31.32の出力105,106はそ
れぞれ比較回路3334によって命令アドレスレジスタ
38の出力101の上位部分104と比較される。ヒツ
ト判定回路30は、比較回路33.34の比較結果10
7 108を入力し、もし、アドレス行列コンパートメ
ント31の出力が一致していれば、データ行列コンパー
トメント35を選択するように、逆に、アドレス行列コ
ンパートメント32の出力が一致していれば、データ行
列コンパートメント36を選択するように、出力データ
選択回路37に対してデータ選択信号111を送る。そ
して出力データ選択回路37の出力115は演算装置に
送られる。命令アドレスレジスタ38の出力101は加
算器39によって、演算装置から送られた命令後長11
3と加算され、加算結果114は、次の命令取り出しの
ために、命令アドレスレジスタ38に格納される。もし
、アドレス行列コンパートメント31.32のいずれも
一致していなければヒツト判定回路30は、主記憶装置
(図示せず)にデータ読出し要求112を送る。主記憶
装置から読出しデータ116が送られてくると、予め決
められた置換コンパートメント決定方式(例えばLRU
方式)によって決定されたコンパートメント、例えばデ
ータ行列コンパートメント35 (36)に対して、デ
ータ行列更新指示117.118を送り、読出しデータ
116を格納させる。同時に、対応するアドレス行列コ
ンパートメント31 (32)に対してアドレス行列更
新指示119(120)を送り、命令アドレスレジスタ
38の出力101の上位部分104を格納させる。
[発明が解決しようとする課題] 上述した従来の命令キャッシュ装置は、分岐条件の成立
確定で分岐先の命令取り出しのための命令キャッシュの
検索が行なえないため、分岐条件が成立してから分岐先
の命令を演算装置に送るまでに1サイクルかかるという
欠点がある。
本発明の目的は、分岐条件成立してから分岐先の命令を
演算装置に送るまでの平均サイクル数が1サイクルより
短かい命令キャッシュ装置を提供することである。
〔課題を解決するための手段〕
本発明の命令キャッシュ装置は、 第1、第2の命令アドレスレジスタと、該命令アドレス
レジスタの出力と命令語長とを加算する加算器と、 該加算器の出力または命令アドレス入力データを選択し
、それぞれ第1、第2の命令アドレスレジスタに供給す
る第1、第2の命令アドレスレジスタ入力選択回路と、 第1、第2の命令アドレスレジスタの出力を選択する第
1、第2の命令アドレスレジスタ出力選択回路と、 第1、第2のコンパートメントからなり、それぞれ第1
の命令アドレスレジスタ出力選択回路、第2の命令アド
レスレジスタ出力選択回路の出力のアドレス行列エント
リフィールドで読出されるアドレス行列と、 アドレス行列の第1、第2のコンパートメントにそれぞ
れ対応する第1、第2のコンパートメントからなり、そ
れぞれ第1の命令アドレスレジスタ出力選択回路、第2
の命令アドレスレジスタ出力選択回路の出力のデータ行
列エントリフィールドで読出されるデータ行列と、 前記データ行列の第1のコンパートメントまたは第2の
コンパートメントの出力を選択し、演算装置に送る出力
データ選択回路と、 第1の命令アドレスレジスタ選択回路の出力のアドレス
行列キーフィールドとアドレス行列の第1のコンパート
メントの出力を比較する第1の比較回路と、 第2の命令アドレスレジスタ選択回路の出力のアドレス
行列キーフィールドとアドレス行列の第2のコンパート
メントのaカを比較する第2の比較回路と、 最も最近使用されたコンパートメントのコンパートメン
ト番号を記憶するコンパートメント選択レジスタと、 第1、第2の比較回路の出力を入力し、分岐命令以外の
命令実行時には、一致を検出した比較回路に対応するデ
ータ行列のコンパートメントを選択するデータ選択信号
を出力するとともに、一致が検8された前記コンパート
メント選択レジスタに更新指示を送り、いずれの比較回
路からも一致が検出されない場合には、主記憶装置にデ
ータ読出し要求を送り、主記憶装置から読出しデータが
送られてくると、予め決められた置換コンパートメント
決定方式によって決定されたコンパートメントのデータ
行列に対してデータ行列更新指示を送って前記読出しデ
ータを格納させるとともに対応するアドレス行列のコン
パートメントに対してアドレス行列更新指示を送り、対
応するアドレスレジスタ出力選択回路のアドレス行列キ
ーフィールドを格納させ、同時に読出しデータを格納し
たコンパートメントのコンパートメント番号を記憶する
ようにコンパートメント選択レジスタに更新指示を送り
、分岐命令実行時には、コンパートメント選択レジスタ
が示さない方のコンパートメントのアドレス行列が一致
していれば該コンパートメントと対応するデータ行列の
コンパートメントを選択するデータ選択信号を出力し、
分岐条件成立時にコンパートメント選択レジスタが示さ
ない方のアドレス行列のコンパートメントの出力が一致
していない場合、または、分岐条件成立時にコンパート
メント選択レジスタが示す方のアドレス行列のコンパー
トメントの出力が一致していない場合、コンパートメン
ト選択レジスタが他方のコンパートメントを示すように
、コンパートメント選択レジスタ更新指示を送り、分岐
命令実行時の上記動作をもう一度繰り返させ、それでも
一致しない場合、主記憶装置にデータ読出し要求を送り
、主記憶装置から読出しデータが送られてくると、予め
決められた置換コンパートメント決定方式によって決定
されたコンパートメントに対してデータ行列更新指示を
送り、読出しデータを格納させ、同時に対応するアドレ
ス行列のコンパートメントに対してアドレス行列更新指
示を送り、第1の命令アドレスレジスタ出力選択回路の
出力のアドレス行列キーフィールドを格納させ、同時に
コンパートメント選択レジスタに対して、データを格納
した方のコンパートメントのコンパートメント番号を記
憶するように、コンパートメント選択レジスタ更新指示
を送るヒツト判定回路と、分岐命令以外の命令実行時に
は、コンパートメント選択レジスタが第1のコンパート
メントを示せば第1、第2の命令アドレスレジスタ入力
選択回路が共に加算器の出力を選択し、第1、第2の命
令アドレスレジスタ出力選択回路が共に第1の命令アド
レスレジスタの出力を選択し、コンパートメント選択レ
ジスタが第2のコンパートメントを示せば第1、第2の
命令アドレスレジスタ入力選択回路が共に加算器の出力
を選択し、第1、第2の命令アドレスレジスタ出力選択
回路が共に第2の命令アドレスレジスタの出力を選択し
、分岐命令の実行時には、コンパートメント選択レジス
タが第1のコンパートメントを示せば第1、第2の命令
アドレスレジスタ入力選択回路がそれぞれ加算器の出力
、演算装置から送られてきた命令アドレスを選択し、第
1、第2の命令アドレスレジスタ出力選択回路がそれぞ
れ第1、第2の命令アドレスレジスタの出力を選択し、
コンパートメント選択レジスタが第2のコンパートメン
トを示せば第1、第2の命令アドレスレジスタ入力選択
回路がそれぞれ演算装置から送られてきた命令アドレス
、加算器の出力を選択し、第1、第2の命令アドレスレ
ジスタ出力選択回路がそれぞれ第2、第1の命令アドレ
スレジスタの出力を選択するように第1、第2の命令ア
ドレスレジスタ入力選択回路と第1、第2の命令アドレ
スレジスタ出力選択回路を制御する選択回路と、 分岐命令以外の命令実行時には、ヒツト判定回路から出
力されたデータ選択信号を出力データ選択回路に送り、
分岐命令実行時で、かつ分岐条件成立ならばヒツト判定
回路から出力されたデータ選択信号を出力データ選択回
路に送り、分岐命令実行時で、かつ分岐条件不成立なら
ばコンパート選択レジスタが示すコンパートメントを選
択するデータ選択信号を出力データ選択回路に送る出力
データ選択信号選択回路とを有している。
[作 用1 分岐命令実行で分岐条件不成立の場合、分岐命令の後続
命令はコンパートメント選択レジスタが示す最も最近使
用したコンパートメントのデータ行列から読出し、分岐
条件成立時の分岐先の命令はそれ以外のコンパートメン
トのデータ行列から同時に読出すので、分岐条件が成立
してから分岐先の命令を演算装置に送るまでの時間が1
サイクルより短かくなる。
[実施例] 次に、本発明の実施例について図面を参照して説明する
第1図は本発明の一実施例の命令キャッシュ装置のブロ
ック図である。
加算器19は、命令アドレスレジスタ18または23の
出力と命令語長113とを加算する。第1、第2の命令
アドレスレジスタ入力選択回路20.22は加算器19
の出力114または命令アドレス入力データ121を選
択し、出力202.203をそれぞれ第1、第2の命令
アドレスレジスタ1B、23に供給する。第1、第2の
命令アドレスレジスタ出力選択回路21.24は第1、
第2の命令アドレスレジスタ18.23の出力204,
205を選択する。アドレス行列は、第11第2のコン
パートメント11.12からなり、それぞれ第1の命令
アドレスレジスタ出力選択回路21、第2の命令アドレ
スレジスタ出力選択回路24の出力206,207の中
位部分210211で読出される。データ行列は、アド
レス行列の第1、第2のコンパートメント11゜12に
それぞれ対応する第1、第2のコンパートメント15.
16からなり、それぞれ第1の命令アドレスレジスタ出
力選択回路21、第2の命令アドレスレジスタ出力選択
回路24の出力206.207の中位部分と下位部分を
結合した値212213で読出される。出力データ選択
回路17は、データ行列の第1のコンパートメント15
または第2のコンパートメント16の出力109.11
0を選択し、演算装置(図示せず)に出力115を送る
。第1の比較回路11は第1の命令アドレスレジスタ選
択回路21の出力206の上位部分208とアドレス行
列の第1のコンパートメント11の出力105を比較す
る。
第2の比較回路14は、第2の命令アドレスレジスタ選
択回路24の出力207の上位部分209とアドレス行
列の第2のコンパートメント12の出力106を比較す
る。コンパートメント選択レジスタ25は、最も最近使
用されたコンパートメントのコンパートメント番号(第
1のコンパートメントはO1第2のコンパートメントは
l)を記憶し、正出力214と反転出力215を出力す
る。ヒツト判定回路10は、第1、第2の比較回路13
.14の出力107,108を入力し、分岐命令デコー
ド信号201が”0”の時(分岐命令以外の命令実行時
)には、一致を検出した比較回路に対応するデータ行列
のコンパートメントを選択するデータ選択信号111を
出力するとともに、一致が検出された前記コンパートメ
ントのコンパートメント番号を記憶するようにコンパー
トメント選択レジスタ25に更新指示218を送り、い
ずれの比較回路13.14からも一致が検出されない場
合には、主記憶装置にデータ読出し要求112を送り、
主記憶装置から読出しデータ116が送られてくると、
予め決められた置換コンパートメント決定方式によって
決定されたコンパートメントのデータ行列に対してデー
タ行列更新指示120または118を送って前記読出し
データ116を格納させるとともに対応するアドレス行
列のコンパートメントに対してアドレス行列更新指示1
19または120を送り、対応する命令アドレスレジス
タ出力選択回路21または22の上位部分208または
209を格納させ、同時に読出しデータ116を格納し
たコンパートメントのコンパートメント番号を記憶する
ようにコンパートメント選択レジスタ25に更新指示2
18を送り、分岐命令コード信号201が”1”のとき
(分岐命令実行時)には、コンパートメント選択レジス
タ25の反転出力215のコンパートメントのアドレス
行列が一致していれば該コンパートメントと対応するデ
ータ行列のコンパートメントを選択するデータ選択信号
111を出力し、分岐条件成立時にコンパートメント選
択レジスタ25が示さない(反転出力215)のアドレ
ス行列のコンパートメントの出力が一致していない場合
、または、分岐条件不成立時にコンパートメント選択レ
ジスタ25が示す方のアドレス行列のコンパートメント
の出力が一致していない場合、コンパートメント選択レ
ジスタ25の値を反転するように、コンパートメント選
択レジスタ更新指示218を送り、上記分岐命令実行時
の動作をもう一度繰り返させ、それでも一致しない場合
、主記憶装置にデータ読出し要求112を送り、主記憶
装置から読出しデータ116が送られてくると、予め決
められた置換コンパートメント決定方式によって決定さ
れたコンパートメントに対してデータ行列更新指示11
7を送り、読出しデータ116を格納させ、同時に、対
応するアドレス行列のコンパートメントに対してアドレ
ス行列更新指示119または120を送り、第1の命令
アドレスレジスタ出力選択回路21の出力206の上位
部分208を格納させ、同時にコンパ−トメント選択レ
ジスタ25に対して読出しデータ116を格納した方の
コンパートメントのコンパートメント番号を記憶するよ
うに、コンパートメント選択レジスタ更新指示218を
送る。選択回路26は、分岐命令以外の命令実行時には
、コンパートメント選択レジスタ25の出力214が0
であれば第1、第2の命令アドレスレジスタ入力選択回
路20.22が共に加算器I9の出力114を選択し、
第1、第2の命令アドレスレジスタ出力選択回路21.
24が共に第1の命令アドレスレジスタ18の出力を選
択し、コンパートメント選択レジスタ25の正出力21
4カ月であれば第1、第2の命令アドレスレジスタ入力
選択回路20.22が共に加算器19の出力114を選
択し、第1、第2の命令アドレスレジスタ出カ遺択回路
21.24が共に第2の命令アドレスレジスタ25の出
力205を選択し、分岐命令の実行時には、コンパート
メント選択レジスタ25の正比力214がOであれば第
1、第2の命令アドレスレジスタ入力選択回路20.2
2がそれぞれ加算器19の出力114、演算装置から送
られてきた命令アドレス121を選択し、第1、第2の
命令アドレスレジスタ出力選択回路21.24がそれぞ
れ第1、第2の命令アドレスレジスタ18.23の出力
104,205を選択し、コンパートメント選択レジス
タ25の正比力214が1であれば第1、第2の命令ア
ドレスレジスタ入力選択回路20.22がそれぞれ演算
装置から送られてきた命令アドレス121、加算器19
の出力114を選択し、第1、第2の命令アドレスレジ
スタ出力選択回路21.24がそれぞれ第2、第1の命
令アドレスレジスタ21.18の出力205.204を
選択するように、第1、第2の命令アドレスレジスタ入
力選択回路20.22と第1、第2の命令アドレスレジ
スタ出力選択回路21.24を制御する。出力データ選
択信号選択回路27は分岐命令以外の命令実行時には、
ヒツト判定回路10から出力されたデータ選択信号11
4を出力データ選択回路17にデータ選択信号116と
して送り、分岐命令実行時で、かつ分岐条件成立ならば
、ヒツト判定回路10から出力されたデータ選択信号1
11をデータ選択信号216として出力データ選択回路
17に送り、分岐命令実行時で、かつ分岐条件不成立な
らばコンパート選択レジスタ25の正出力214が示す
コンパートメントを選択するデータ選択信号216を出
力データ選択回路I7に送る。
次に、本実施例の動作を説明する。
(1)まず、分岐命令以外の命令実行時について説明す
る。
この場合、演算装置から送られた分岐命令デコード信号
201がOであるため、選択回路26はその出力217
としてコンパートメント選択レジスタ25の正出力21
4を選択する。したがって、そのときのコンパートメン
ト選択レジスタ25の値が、例えば”0”であれば第1
、第2の命令アドレスレジスタ入力選択回路20.22
は共に加算器19の出力114を、第1、第2の命令ア
ドレスレジスタ出力選択回路21.24は共に第1の命
令レジスタ18の出力204をそれぞれ選択する。そし
て、第1の命令アドレスレジスタ出力選択回路21の出
力206の中位部分210でアドレス行列の第1のコン
パートメント11を読出す、同時に、第1の命令アドレ
スレジスタ出力選択回路21の出力20Bの中位部分と
下位部分とを結合した値212でデータ行列の第1のコ
ニ/バー)メント15を読出す。アドレス行列コンパー
トメント11の出力105は比較回路13によって、第
1の命令アドレスレジスタ出力選択回路21の出力20
6の上位部分208と比較される。また、第2の命令ア
ドレスレジスタ出力選択回路24の出力207の中位部
分211でアドレス行列の第2のコンパートメント12
を読出す。
同時に、第2の命令アドレスレジスタ出力選択回路24
の出力207の中位部分と下位部分とを結合した値21
3でデータ行列の第2のコンパートメント16を読出す
、アドレス行列コンパートメント12の出力106は比
較回路14によって、第2の命令アドレスレジスタ出力
選択回路24の出力207の上位部分209と比較され
る。ヒツト判定回路10は、比較回路13.14の比較
結果107,108を入力とし、もし、アドレス行列コ
ンパートメント11の出力が一致していればデータ行列
コンパートメント15を選択するように、逆に、アドレ
ス行列コンパートメント12の出力が一致していれば、
データ行列コンパートメント16を選択するように、出
力データ選択信号選択回路27に対してデータ選択信号
111を送る。出力データ選択信号選択回路27は分岐
命令デコード信号201が0なのでデータ選択信号11
1をデータ選択信号216としてデータ選択回路17に
送る。そして、出力データ選択回路17の出力115は
演算装置に送られる。同時に、コンパートメント選択レ
ジスタ25に対して、一致した方のコンパートメント番
号を記憶するように、コンパートメント選択レジスタ更
新指示218がヒツト判定回路10から送られる。第1
の命令アドレスレジスタ出力選択回路21の出力206
は加算器19によって、演算装置から送られた命令語長
113と加算され、加算結果114は、次の命令取り出
しのために、第1、第2の命令アドレスレジスタ18.
23に格納される。もし、アドレス行列コンパートメン
ト11.12のいずれも一致していなければヒツト判定
回路10は、主記憶装置(図示せず)にデータ読出し要
求112を送る。主記憶装置から読出しデータ116が
送られてくると、予め決められた置換コンパートメント
決定方式(例えばLRU方式)によって決定されたコン
パートメント、例えばデータ行列コンパートメント15
に対して、データ行列更新指示117を送り、読出しデ
ータ116を格納させる。同時に、対応するアドレス行
列のコンパートメント11に対して、アドレス行列更新
指示119を送り、第1の命令アドレスレジスタ出力選
択回路21の出力206の上位部分208を格納させる
。同時に、コンパートメント選択レジスタ25に対して
データを格納した方のコンパートメント番号を記憶する
ようにコンパートメント選択レジスタ更新指示218が
送られる。
(2)次に、分岐命令実行時について説明する。
分岐命令実行時は、演算装置から送られた分岐命令デコ
ード信号201が1であるため、選択回路26はその出
力217としてコンパートメント選択レジスタ25の反
転出力215を選択する。したがって、そのときのコン
パートメント選択レジスタ25の値が、例えばOであれ
ば第1の命令アドレスレジスタ入力選択回路20は加算
器19の出力114を、第2の命令アドレスレジスタ入
力選択回路22は演算装置から送られた命令アドレス1
21を、また、第1の命令アドレスレジスタ出力選択回
路21は第1の命令1ノジスタ18の出力204を、第
2の命令アドレスレジスタ出力選択回路24は第2の命
令アドレスレジスタ23の出力205をそれぞれ選択す
る。そして分岐命令以外の命令実行時と同様に、第1、
第2の命令アドレスレジスタ出力選択回路21.24の
出力206,207によってアドレス行列のコンパート
メント11.12およびデータ行列のコンパートメント
15.16をそれぞれ読出す。さらに、アドレス行列コ
ンパートメント11.12の出力105.106は比較
回路13.14によって、第1、第2の命令アドレスレ
ジスタ出力選択回路21.24の出力206.207の
上位部分208,209とそれぞれ比較される。
ヒツト判定回路10は、比較回路13.14の比較結果
107.108と、さらにコンパートメント選択レジス
タ25の反転出力215を入力とし、コンパートメント
選択レジスタ25が示さない方のアドレス行列コンパー
トメントの出力が一致していれば、そちら側のデータ行
列コンパートメントを選択するように、出力データ選択
信号選択回路27に対してデータ選択信号111を送る
。出力データ選択信号選択回路27は、分岐命令デコー
ド信号201が1、かつ分岐条件不成立ならばコンパー
トメント選択レジスタ25の正出力214を、そうでな
ければデータ選択信号111をデータ選択回路17に送
る。同時に、コンパートメント選択レジスタ25は、分
岐条件成立時にはその値を反転する。
分岐条件成立時にコンパートメント選択レジスタ25が
示さない方のアドレス行列コンパートメントの出力が一
致していない場合、または、分岐条件不成立時にコンパ
ートメント選択レジスタ25が示す方のアドレス行列コ
ンパートメントの出力が一致していない場合、ヒツト判
定回路10は、コンパートメント選択レジスタ25の値
を反転するように、コンパートメント選択レジスタ更新
指示218を送り、上記動作をもう一度繰り返させる。
主記憶装置から読出しデータ116が送られてくると、
予め決められた置換コンパートメント決定方式(例えば
LRU方式)によって決定されたコンパートメント、例
えばデータ行列コンパートメント15に対してデータ行
列更新指示117を送り、読出しデータ116を格納さ
せる。同時に、対応するアドレス行列のコンパートメン
ト11に対してアドレス行列更新指示119を送り、第
1の命令アドレスレジスタ出力選択回路21の出力20
6の上位部分208を格納させる。同時に、コンパート
メント選択レジスタ25に対してデータを格納した方の
コンパートメント番号を記憶するようにコンパートメン
ト選択レジスタ更新指示218が送られる。
[発明の効果] 以上説明したように本発明は、命令キャッシュの検索に
ついて、分岐命令の後続命令は最も最近使用したコンパ
ートメントから分岐先の命令はそれ以外のコンパートメ
ントから同時に読出しを可能とすることにより、分岐条
件が成立してから分岐先の命令を演算装置に送るまでの
平均サイクル数を従来よりも05サイクル短縮できると
いう効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の命令キャッシュ装置を示す
ブロック図、第2図は従来の命令キャッシュ装置を示す
ブロック図である。 lO・・・・・・・・・ヒツト判定回路、11・・・・
・・・・・アドレス行列の第1のコンパートメント、 12・・・・・・・・・アドレス行列の第2のコンパー
トメント、 13・・・・・・・・・第1の比較回路、l4・・・・
・・・・・第2の比較回路、15・・・・・・・・・デ
ータ行列の第1のコンパートメント16・・・・・・・
・・データ行列の第2のコンパートメント17・・・・
・・・・・出力データ選択回路、】8・・・・・・・・
・第1の命令アドレスレジスタ、19・・・・・・・・
・加算器、 20・・・・・・・・・第1の命令アドレスレジスタ入
力選択回路、 21・・・・・・・・・第1の命令アドレスレジスタ出
力選択回路、 22・・・・・・・・・第2の命令アドレスレジスタ入
力選択回路、 23・・・・・・・・・第2の命令アドレスレジスタ、
24・・・・・・・・・第2の命令アドレスレジスタ出
力選択回路、 25・・・・・・・・・コンパートメント選択レジスタ
、26・・・・・・・・・選択回路、 27・・・・・・・・・出力データ選択信号選択回路、
30・・・・・・・・・ヒツト判定回路、31・・・・
・・・・・アドレス行列の第1のコンパートメン32・
・・・・・・・・アドレス行列の第2のコンパートメン
ト、 33・・・・・・・・・第1の比較回路、34・・・・
・・・・・第2の比較回路、35・・・・・・・・・デ
ータ行列の第1のコンパートメント36・・・・・・・
・・データ行列の第2のコンパートメント37・・・・
・・・・・出力データ選択回路、38・・・・・・・・
・命令アドレスレジスタ、39・・・・・・・・・加算
器、 40・・・・・・・・・命令アドレスレジスタ入力選択
回路、101・・・・・・命令アドレスレジスタ38の
出力、102・・・・・・命令アドレスレジスタ38の
出力の中位部分と下位部分とを結合した値、 103・・・・・・命令アドレス38の出力の中位部分
、104−・・・・・命令アドレスレジスタ38の出力
の上位部分、 105・・・・・・アドレス行列の第1のコンパートメ
ント31の出力、 106・・・・・・アドレス行列の第2のコンパートメ
ン0B ト32の出力、 ・・・・・・第1の比較回路13の比較結果、・・・・
・・第2の比較回路14の比較結果、・・・・・・デー
タ行列の第1のコンパートメント35の出力、 ・・・・・・データ行列の第2のコンパートメント36
の出力、 ・・・・・・データ選択信号、 ・・・・・・データ読出し要求、 ・・・・・・命令語長、 ・・・・・・出力データ選択回路17の出力、・・・・
・・主記憶装置からの読出しデータ、・・・・・・第1
のデータ行列更新指示、・・・・・・第2のデータ行列
更新指示、・・・・・・第1のアドレス行列更新指示、
・・・・・・第2のアドレス行列更新指示、・・・・・
・演算装置からの命令アドレス、・・・・・・命令バッ
ファ出力、 ・・・・・・命令整列回路出力、 ・・・・・・分岐命令デコード信号、 202・・・・・・第1の命令アドレスレジスタ入力選
択回路20の出力、 203・・・・・・第2の命令アドレスレジスタ入カ選
択回路22の出力、 204・・・・・・第1の命令アドレスレジスタ18の
出力、 205・・・・・・第2の命令アドレスレジスタ23の
出力、 206・・・・・・第1の命令アドレスレジスタ出力選
択回路21の出力、 207・・・・・・第2の命令アドレスレジスタ出力選
択回路24の出力、 208・・・・・・第1の命令アドレスレジスタ8力選
択回路21の出力の中位部分と下位部分 とを結合した値、 209・・・・・・第2の命令アドレスレジスタ出力選
択回路24の出力の中位部分と下位部分 とを結合した値、 210・・・・・・第1の命令アドレスレジスタ出力選
択回路21の出力の中位部分、 ・・・・・・第2の命令アドレスレジスタ出力選択回路
24の出力の中位部分、 ・・・・・・第1の命令アドレスレジスタ出力選択回路
21の出力の上位部分、 ・・・・・・第2の命令アドレスレジスタaカ選択回路
24の出力の上位部分、 ・・・・・・コンパートメント選択レジスタ25の正出
力、 ・・・・・・コンパートメント選択レジスタ25の反転
出力、 ・・・・・・出力データ選択信号選択回路27の出力、 ・・・・・・選択回路26の出力、 ・・・・・・コンパートメント選択レジスタ更新指ボー ・・・・・・分岐条件成立信号。

Claims (1)

  1. 【特許請求の範囲】 1、第1、第2の命令アドレスレジスタと、該命令アド
    レスレジスタの出力と命令語長とを加算する加算器と、 該加算器の出力または命令アドレス入力データを選択し
    、それぞれ第1、第2の命令アドレスレジスタに供給す
    る第1、第2の命令アドレスレジスタ入力選択回路と、 第1、第2の命令アドレスレジスタの出力を選択する第
    1、第2の命令アドレスレジスタ出力選択回路と、 第1、第2のコンパートメントからなり、それぞれ第1
    の命令アドレスレジスタ出力選択回路、第2の命令アド
    レスレジスタ出力選択回路の出力のアドレス行列エント
    リフィールドで読出されるアドレス行列と、 アドレス行列の第1、第2のコンパートメントにそれぞ
    れ対応する第1、第2のコンパートメントからなり、そ
    れぞれ第1の命令アドレスレジスタ出力選択回路、第2
    の命令アドレスレジスタ出力選択回路の出力のデータ行
    列エントリフィールドで読出されるデータ行列と、 前記データ行列の第1のコンパートメントまたは第2の
    コンパートメントの出力を選択し、演算装置に送る出力
    データ選択回路と、 第1の命令アドレスレジスタ選択回路の出力のアドレス
    行列キーフィールドとアドレス行列の第1のコンパート
    メントの出力を比較する第1の比較回路と、 第2の命令アドレスレジスタ選択回路の出力のアドレス
    行列キーフィールドとアドレス行列の第2のコンパート
    メントの出力を比較する第2の比較回路と、 最も最近使用されたコンパートメントのコンパートメン
    ト番号を記憶するコンパートメント選択レジスタと、 第1、第2の比較回路の出力を入力し、分岐命令以外の
    命令実行時には、一致を検出した比較回路に対応するデ
    ータ行列のコンパートメントを選択するデータ選択信号
    を出力するとともに、一致が検出された前記コンパート
    メント選択レジスタに更新指示を送り、いずれの比較回
    路からも一致が検出されない場合には、主記憶装置にデ
    ータ読出し要求を送り、主記憶装置から読出しデータが
    送られてくると、予め決められた置換コンパートメント
    決定方式によって決定されたコンパートメントのデータ
    行列に対してデータ行列更新指示を送って前記読出しデ
    ータを格納させるとともに対応するアドレス行列のコン
    パートメントに対してアドレス行列更新指示を送り、対
    応するアドレスレジスタ出力選択回路のアドレス行列キ
    ーフィールドを格納させ、同時に読出しデータを格納し
    たコンパートメントのコンパートメント番号を記憶する
    ようにコンパートメント選択レジスタに更新指示を送り
    、分岐命令実行時には、コンパートメント選択レジスタ
    が示さない方のコンパートメントのアドレス行列が一致
    していれば該コンパートメントと対応するデータ行列の
    コンパートメントを選択するデータ選択信号を出力し、
    分岐条件成立時にコンパートメント選択レジスタが示さ
    ない方のアドレス行列のコンパートメントの出力が一致
    していない場合、または、分岐条件成立時にコンパート
    メント選択レジスタが示す方のアドレス行列のコンパー
    トメントの出力が一致していない場合、コンパートメン
    ト選択レジスタが他方のコンパートメントを示すように
    、コンパートメント選択レジスタ更新指示を送り、上記
    分岐命令実行時の動作をもう一度繰り返させ、それでも
    一致しない場合、主記憶装置にデータ読出し要求を送り
    、主記憶装置から読出しデータが送られてくると、予め
    決められた置換コンパートメント決定方式によって決定
    されたコンパートメントに対してデータ行列更新指示を
    送り、読出しデータを格納させ、同時に対応するアドレ
    ス行列のコンパートメントに対してアドレス行列更新指
    示を送り、第1の命令アドレスレジスタ出力選択回路の
    出力のアドレス行列キーフィールドを格納させ、同時に
    コンパートメント選択レジスタに対して、データを格納
    した方のコンパートメントのコンパートメント番号を記
    憶するように、コンパートメント選択レジスタ更新指示
    を送るヒット判定回路と、分岐命令以外の命令実行時に
    は、コンパートメント選択レジスタが第1のコンパート
    メントを示せば第1、第2の命令アドレスレジスタ入力
    選択回路が共に加算器の出力を選択し、第1、第2の命
    令アドレスレジスタ出力選択回路が共に第1の命令アド
    レスレジスタの出力を選択し、コンパートメント選択レ
    ジスタが第2のコンパートメントを示せば第1、第2の
    命令アドレスレジスタ入力選択回路が共に加算器の出力
    を選択し、第1、第2の命令アドレスレジスタ出力選択
    回路が共に第2の命令アドレスレジスタの出力を選択し
    、分岐命令の実行時には、コンパートメント選択レジス
    タが第1のコンパートメントを示せば第1、第2の命令
    アドレスレジスタ入力選択回路がそれぞれ加算器の出力
    、演算装置から送られてきた命令アドレスを選択し、第
    1、第2の命令アドレスレジスタ出力選択回路がそれぞ
    れ第1、第2の命令アドレスレジスタの出力を選択し、
    コンパートメント選択レジスタが第2のコンパートメン
    トを示せば第1、第2の命令アドレスレジスタ入力選択
    回路がそれぞれ演算装置から送られてきた命令アドレス
    、加算器の出力を選択し、第1、第2の命令アドレスレ
    ジスタ出力選択回路がそれぞれ第2、第1の命令アドレ
    スレジスタの出力を選択するように第1、第2の命令ア
    ドレスレジスタ入力選択回路と第1、第2の命令アドレ
    スレジスタ出力選択回路を制御する選択回路と、 分岐命令以外の命令実行時には、ヒット判定回路から出
    力されたデータ選択信号を出力データ選択回路に送り、
    分岐命令実行時で、かつ分岐条件成立ならばヒット判定
    回路から出力されたデータ選択信号を出力データ選択回
    路に送り、分岐命令実行時で、かつ分岐条件不成立なら
    ばコンパート選択レジスタが示すコンパートメントを選
    択するデータ選択信号を出力データ選択回路に送る出力
    データ選択信号選択回路とを有する命令キャッシュ装置
JP2126165A 1990-05-16 1990-05-16 命令キャッシュ装置 Pending JPH0421129A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2126165A JPH0421129A (ja) 1990-05-16 1990-05-16 命令キャッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2126165A JPH0421129A (ja) 1990-05-16 1990-05-16 命令キャッシュ装置

Publications (1)

Publication Number Publication Date
JPH0421129A true JPH0421129A (ja) 1992-01-24

Family

ID=14928291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2126165A Pending JPH0421129A (ja) 1990-05-16 1990-05-16 命令キャッシュ装置

Country Status (1)

Country Link
JP (1) JPH0421129A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5494841A (en) * 1977-12-30 1979-07-26 Honeywell Inf Systems Data processing system having instruction buffer relative to cache memory
JPS59128642A (ja) * 1983-01-14 1984-07-24 Hitachi Ltd マイクロプログラム制御機器のパイプライン方式
JPS63172343A (ja) * 1987-01-12 1988-07-16 Hitachi Ltd 命令先取り方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5494841A (en) * 1977-12-30 1979-07-26 Honeywell Inf Systems Data processing system having instruction buffer relative to cache memory
JPS59128642A (ja) * 1983-01-14 1984-07-24 Hitachi Ltd マイクロプログラム制御機器のパイプライン方式
JPS63172343A (ja) * 1987-01-12 1988-07-16 Hitachi Ltd 命令先取り方式

Similar Documents

Publication Publication Date Title
US5974533A (en) Data processor
US5117499A (en) Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs
US5598574A (en) Vector processing device
JPH04140880A (ja) ベクトル処理装置
JP3469469B2 (ja) 情報処理装置
JP2636088B2 (ja) 情報処理装置
JP2000330791A (ja) コンピュータシステムおよびその動作方法
JPH0421129A (ja) 命令キャッシュ装置
JP3145545B2 (ja) メモリアクセス装置
JP2621763B2 (ja) 情報処理装置
JPH04205448A (ja) 情報処理装置
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JPS60103454A (ja) 命令先読み制御装置
JPH01273132A (ja) マイクロプロセッサ
JP4052878B2 (ja) 情報処理装置
JPS61175733A (ja) 分岐予測制御方式
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
JPH09212488A (ja) ベクトル処理装置用アクセス制御装置
JP3317819B2 (ja) シングルポートramの2ポートアクセスの制御方式
JPH03269650A (ja) バッファ記憶装置
JPS63197233A (ja) 情報処理装置
JPS60189043A (ja) プロセツサ
JPH04245333A (ja) 情報処理装置
JPH07262004A (ja) プロセッサ
JPH0156429B2 (ja)