JPH0713762A - スーパースカラ計算機における命令供給方法 - Google Patents

スーパースカラ計算機における命令供給方法

Info

Publication number
JPH0713762A
JPH0713762A JP5149646A JP14964693A JPH0713762A JP H0713762 A JPH0713762 A JP H0713762A JP 5149646 A JP5149646 A JP 5149646A JP 14964693 A JP14964693 A JP 14964693A JP H0713762 A JPH0713762 A JP H0713762A
Authority
JP
Japan
Prior art keywords
instruction
block
cache memory
instructions
boundary
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
Application number
JP5149646A
Other languages
English (en)
Inventor
Hiroya Shimura
浩也 志村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5149646A priority Critical patent/JPH0713762A/ja
Publication of JPH0713762A publication Critical patent/JPH0713762A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 本発明は、命令キャッシュメモリを備えたス
ーパースカラ計算機における命令供給方法に関し、命令
キャッシュメモリのブロック境界を越える、複数の命令
供給を滞りなく行う。 【構成】 命令キャッシュメモリの1ブロック内の複数
命令を、同時に読み出して命令供給を行う方法であっ
て、命令キャッシュメモリのブロック境界を越えて、上
記複数の命令の読み出しが指示されたとき、該ブロック
の境界を越える命令の供給を抑止するように構成し、該
命令キャッシュメモリの各タグ部に、連続ヒット情報域
を設けて、該命令キャッシュメモリの各ブロックの置き
換え時に、該命令キャッシュメモリのタグ部をインデッ
クスAで検索して、該置き換えブロックが連続している
ことを検出したとき、上記連続ヒット情報域の若番側の
領域に“1”Dをセットしておき、命令の読み出し時
に、上記連続ヒット情報Dを取り出し、ブロックの境界
を越える命令を読み出すための条件とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、命令キャッシュメモリ
を備えたスーパースカラ計算機における命令供給方法に
関する。
【0002】近年、半導体技術や実装技術の進歩に伴っ
て、計算機は小さく、且つ高機能になっていく動向にあ
る。更に、最近では、計算機の処理能力を向上させるた
めの技術として、同時に実行可能な命令を、複数個、例
えば、4個同時に実行させる、所謂、スーパースカラ計
算機が主流になってきている。
【0003】この場合、該スーパースカラ計算機の性能
を向上させる為には、複数個の命令供給を滞りなく行う
ことが必要不可欠である。然して、該スーパースカラ計
算機が命令キャッシュメモリを備えていて、ブロックの
境界を越えて複数個の命令を必要とするような事象、例
えば、分岐命令の実行直後の命令カウンタが、該命令キ
ャッシュメモリの1ブロック内のアドレスを指している
場合、上記命令キャッシュメモリのブロックの境界を越
えて、複数個、例えば、上記4個の命令の供給が必要と
なるが、一般には、ブロック間は連続していないので、
ブロックの境界を越えて命令の読み出しが指示される
と、上記4命令の同時供給が不可能となり、該スーパー
スカラ計算機の性能を低下させる要因となる問題がある
ことから、該スーパースカラ計算機における命令供給方
法においては、分岐事象が発生しても、できる限り命令
が途切れることなく、効果的に命令供給ができる方法が
必要とされる。
【0004】命令キャッシュメモリの場合、一般には、
プログラムのアドレス分布に局所性があることが知られ
ており、命令キャッシュメモリのブロックの置き換え
(所謂、リプレース)時には、連続したブロックが、該
命令キャッシュメモリにムーブインされることが多いこ
とから、ブロック境界を越えて4命令の供給が必要にな
っても、正規の複数個の命令を読み出すことができるこ
とが期待できる。
【0005】
【従来の技術】図3,図4は、スーパースカラ計算機に
おける従来の命令供給回路を説明する図であり、図3
は、命令カウンタのアドレスが、ブロックの先頭アドレ
スを指している場合を概念的に示し、図4は、命令カウ
ンタのアドレスが、ブロックの途中のアドレスを指して
いる場合のハードウェア機構を示している。
【0006】前述のように、4命令同時供給のスーパー
スカラ計算機においては、命令長を4バイト(32 ビッ
ト) 固定とし、命令キャッシュメモリ 1の1ブロック
のサイズを 32 バイト (8命令)とした場合、命令の供
給, 実行は図3に示したように行われる。
【0007】即ち、図3において、命令(1) 〜 命令
(8) と、命令(9) 〜命令(16)が、各々1つのキャッシュ
ブロックに格納されているとする。そして、命令のデコ
ードは、4命令が同時に行われるが、命令カウンタ 2
が、上記ブロックの先頭に格納されている命令(1) を指
している場合、最初のサイクルで、命令(1) 〜命令(4)
がデコードされる。次に、上記命令カウンタ 2が示すア
ドレスに“+4”増やして、次のサイクルで命令(5) 〜
命令(8) をデコードするというようにして、4命令が同
時に供給される。従って、該命令カウンタ 2の最下位2
ビットはカウントアップされることはない。
【0008】分岐命令が実行される等して、上記命令カ
ウンタ 2が、4命令の境界を指していない場合、例え
ば、命令カウンタ 2が命令(3) (例えば、上記最下位ビ
ットが"10" を指している) を指している場合には、命
令(3) 〜命令(6) の4命令が図示されていないデコーダ
に供給されることになるが、この場合の動作は、図4に
示されるハードウェア機構によって実現される。
【0009】先ず、図示されているように、該命令キャ
ッシュメモリ 1が、4バイト固定長単位に分割されてい
て、それぞれが、命令カウンタ 2の下位3ビット目以上
の所定のアドレスによってアクセスされて、上記のとお
り4個の命令が同時に読み出されるものとすると、図3
において、先ず、該命令カウンタ(1) の現在のアドレス
によって、命令(1) 〜(4) がアクセスされるが、このと
き、命令(1),命令(2)は、読み出しを行うことなく、命
令(3),命令(4) を読み出し、命令(5),命令(6)は、次の
4命令に対する命令カウンタ 2の下位3ビット目以上の
所定のアドレスによってアクセスして読み出す必要があ
る。
【0010】その為、上記命令カウンタ 2の最下位ビッ
トが "10" のときには、該命令カウンタ 2の現在のアド
レス(但し、下位3ビット目以上のアドレス)に“+
1”したアドレスで、該命令キャッシュメモリ 1をアク
セスして、該命令(5),命令(6)を読み出すように制御す
る。
【0011】具体的には、該命令カウンタ 2の最下位ビ
ットが "10" であるときには、命令(5),命令(6) を読み
出すために、セレクタ 150,151の、該命令カウンタ 2の
現在のアドレスに“+1”したアドレス、即ち、加算回
路(+1) 16 の出力を選択するように制御する。
【0012】このように制御することにより、命令(3),
命令(4) は、現在の命令カウンタ 2の出力で選択され、
命令(5),命令(6) は、上記加算回路(+1) 16 の出力で選
択されて、合計4命令が同じサイクルで読み出されるこ
とになる。
【0013】同様の動作は、命令カウンタ 2が、命令
(2),又は、命令(3),又は、命令(4) を指しているときに
行われる。従って、セレクタ 150は、命令カウンタ 2の
最下位ビットが "01","10","11"のとき、上記加算回路
(+1) 16 の出力側を選択し、セレクタ 151は、命令カウ
ンタ 2の最下位ビットが "10","11"のとき、上記加算回
路(+1) 16 の出力側を選択し、セレクタ 152は、命令カ
ウンタ 2の最下位ビットが "11" のとき、上記加算回路
(+1) 16 の出力側を選択するように構成しておく。
【0014】然しながら、命令(9) 以降については、ブ
ロックの境界を越えることになるが、そのようにケース
が発生するのは、前述のように、分岐命令が実行される
等して、ブロックの境界を越えた4命令の読み出し要求
が発生するときであり、該命令カウンタ 2の最下位ビッ
トが "01","10","11" になっていて、該命令カウンタ2
の下位3ビット目の値が "1"のときである。このとき、
該ブロックの境界を越えたブロックが連続したブロック
かどうかは不明であるので、上記のようにして読み出さ
れた、命令(9),命令(10), 〜等は無効にする必要があ
る。
【0015】具体的には、命令カウンタ 2が、図3の命
令(6) を指しているとき{命令カウンタ 2の最下位3ビ
ットの値が "101"のとき}には、上記の制御動作によっ
て読み出される命令(9) を無効にする必要がある。同様
にして、命令カウンタ 2が、図3の命令(7) を指してい
るとき{命令カウンタ 2の最下位3ビットの値が "110"
のとき}には、上記の制御動作によって読み出される命
令(9),命令(10)を無効にする必要があり、命令カウンタ
2が、図3の命令(8) を指しているとき{命令カウンタ
2の最下位3ビットの値が "111"のとき}には、上記の
制御動作によって読み出される命令(9),命令(10), 命令
(11)を無効にする必要がある。
【0016】従って、バリッドゲート 170は、命令カウ
ンタ 2の最下位3ビットの値が "101","110","111"のと
き、抑止信号生成素子 190により抑止され、バリッドゲ
ート171は、命令カウンタ 2の最下位3ビットの値が "1
10","111"のとき、抑止信号生成素子 191により抑止さ
れ、バリッドゲート 172は、命令カウンタ 2の最下位3
ビットの値が "111"のとき、抑止信号生成素子 192によ
り抑止される。
【0017】このようにして、図4の命令カウンタ 2の
下位3ビット目の値と、上記命令カウンタ 2の最下位2
ビットの値を監視していて、該下位3ビットの値が "10
1","110","111"になると、ブロックの境界を越えたと認
識して、上記のように、バリッドゲート 170,171,172
を、選択的に閉塞して、有効信号{有効(1) 〜有効
(3)}を無効にすることで、ブロックの境界を越えての
読み出しアクセスを禁止している。
【0018】
【発明が解決しようとする課題】上記のように、従来方
法の命令供給方法では、図4からも明らかなように、一
時に、1つのキャッシュブロックについてのみキャッシ
ュにヒットしているかどうかの判定を行うため、命令カ
ウンタ 2が、命令(7) を指している場合、命令(7),命令
(8) は、上記のハードウェア機構で供給できるが、命令
(9),命令(10)については、キャッシュブロックを越える
ことになるので、上記バリッドゲート 170,171,172が閉
塞されて、有効信号{有効(1) 〜有効(3) }が無効にさ
れ、出力されない。
【0019】従って、該命令(9),命令(10)については、
次のキャッシュブロック(2) が命令キャッシュメモリ 1
にヒットしているかどうかを、次のサイクルで調べなけ
ればならず、同時に命令を供給することができない。即
ち、キャッシュブロックを越えて命令が並んでいる場合
には、1サイクルに、上記のように、例えば、2命令し
かデコーダに供給することができないという問題があっ
た。次のサイクルからは、該命令カウンタ 2は4命令境
界を指すようになるために、4命令ずつの供給が可能に
なる。
【0020】上記のように、命令カウンタ 2が、4命令
境界から外れることは、分岐命令を実行した際に起きる
が、通常のプログラムにおいては、該分岐命令が、命令
の3割り以上を占めることが多く、平均すると、供給さ
れる命令の数は3命令以下に落ちてしまい、スーパース
カラ計算機の性能を著しく低下させるという問題があっ
た。
【0021】本発明は上記従来の欠点に鑑み、命令キャ
ッシュメモリを備えたスーパースカラ計算機における命
令供給方法において、命令キャッシュメモリのブロック
境界を越える、複数の命令供給を滞りなく行うことがで
きる命令供給方法を提供することを目的とするものであ
る。
【0022】
【課題を解決するための手段】図1は、本発明の一実施
例を示した図であり、図2は、本発明の他の実施例を示
した図である。上記の問題点は下記の如く構成したスー
パースカラ計算機における命令供給回路によって解決さ
れる。
【0023】(1) 命令キャッシュメモリを備えたスーパ
ースカラ計算機における命令供給方法であって、命令キ
ャッシュメモリ 1の1ブロック内の複数命令を、同
時に読み出して命令供給を行う際に、命令キャッシュメ
モリ 1のブロック境界を越えて、上記複数の命令の読
み出しが指示されたとき、該ブロックの境界を越える
命令aの供給を抑止するように構成し、且つ、該命令
キャッシュメモリ 1の各タグ部 10 に、連続ヒット情報
域 10aを設けて、該命令キャッシュメモリ 1の各ブロッ
クの置き換え時に、該命令キャッシュメモリ 1のタグ
部 10 のタグ情報 10bを検索して、該置き換えブロック
が連続していることを検出したとき、上記連続ヒット情
報域 10aの若番側に、連続ヒット情報Dを設定してお
き、命令の読み出し時に、命令カウンタ 2の上記命令キ
ャッシュメモリ 1をアクセスするアドレスが、ブロック
内の所定のアドレスを指し、ブロックの境界を越え
て、複数の命令を読み出して供給する必要があると
き、上記命令キャッシュメモリ 1のタグ部 10 を引くイ
ンデックスアドレスAで、上記連続ヒット情報域10aの
情報Dを取り出し、ブロックの境界を越える命令を読
み出すための条件として、該ブロック内の命令
と、該ブロックの境界を越えた命令aを、同時に読
み出して供給する。
【0024】(2) 命令キャッシュメモリを備えたスーパ
ースカラ計算機における命令供給方法であって、命令キ
ャッシュメモリ 1の1ブロック内の複数命令を、同
時に読み出して命令供給を行う際に、命令キャッシュメ
モリ 1のブロック境界を越えて、上記複数の命令の読
み出しが指示されたとき、該ブロックの境界を越える
命令aの供給を抑止するように構成し、且つ、該命令
キャッシュメモリ 1のタグ部 10 を、デュアルポートR
AM 100で構成し、命令の読み出し時に、命令カウンタ
2の上記命令キャッシュメモリ 1をアクセスするアドレ
スが、ブロック内の所定のアドレスを指し、ブロック
の境界を越えて、複数の命令を読み出して供給する必
要があるとき、上記命令キャッシュメモリ 1のタグ部 1
0 を引くインデックスアドレスAと、上記インデックス
アドレスA+1で、同じ命令キャッシュメモリ 1の各タ
グ部 10 を同時にアクセスし、上記インデックスアドレ
スA+1で引いたタグ部 10 から、ヒット信号dが得ら
れたとき、該ヒット信号dを上記ブロックの境界を越
える命令を読み出すための条件として、該ブロック
内の命令と、該ブロックの境界を越えた命令a
を、同時に読み出して供給する。
【0025】
【作用】即ち、本発明におけるスーパースカラ計算機に
おける命令供給方法においては、元々、プログラムの各
命令のアドレス分布に局所性があることに着目して、命
令キャッシュメモリをアクセスして、該当のブロック
が存在しなくて、主記憶から、所定のブロックをムーブ
インする時において、該命令キャッシュメモリのタグ部
を、該アクセスアドレスの所定の下位ビットのインデッ
クスアドレスAで検索し、連続しているブロックである
ことを検出したとき、該タグ部の所定の領域に設けられ
ている連続ヒット情報域に、連続ヒット情報Dであるこ
とを示す“1”をセットしておき、以降での命令キャッ
シュメモリのアクセスアドレスが、該命令キャッシュメ
モリのブロックを越えて、複数個の命令を供給を指示
していることを認識したとき、該アクセスアドレスのイ
ンデックスアドレスAでタグ部を引くとき、上記連続ヒ
ット情報域の連続ヒット情報D“1”を読み出し、この
連続ヒット情報域の“1”情報Dを、上記ブロックの
境界を越える命令を読み出すための条件として、バリ
ッドゲートを付勢して、該ブロックの境界をこえる命令
列を有効にするようにしたものである。
【0026】又、該命令キャッシュメモリのタグ部をデ
ュアルポートメモリで構成しておき、該命令キャッシュ
メモリのアクセスアドレスが、該命令キャッシュメモリ
のブロックを越えて、複数個の命令を供給を指示して
いることを認識したとき、該アクセスアドレスのインデ
ックスアドレスAでタグ部を引くとき、該インデックス
アドレスA+1のタグ情報を同時に検索し、一致信号
(ヒット信号) dが得られたとき、該一致信号dを、上
記ブロックの境界を越える命令を読み出すための条件
として、バリッドゲートを付勢して、該ブロックの境
界をこえる命令列を有効にするようにしたものである。
【0027】従って、上記プログラムのアドレスの局所
性により、連続したブロックが該キャッシュメモリに格
納されている限り、命令カウンタからのアクセスアドレ
スで、ブロックの境界を越える命令に対しても連続ヒッ
ト情報(連続ヒット情報域Dの情報,又は、上記インデ
ックスアドレスA+1からのヒット信号d)を得て、命
令供給を滞りなく行うことができるようになり、スーパ
ースカラ計算機での処理能力の向上に大きく寄与できる
効果がある。
【0028】
【実施例】以下本発明の実施例を図面によって詳述す
る。前述の図1は、本発明の一実施例を示した図であ
り、図2は、本発明の他の実施例を示した図である。
【0029】本発明においては、命令キャッシュメモリ
1の1ブロック内の複数命令を、同時に読み出して
命令供給を行う際に、主記憶から、命令キャッシュメモ
リ 1へのムーブインのとき、タグ部 10 を検索して、イ
ンデックスアドレスAの次のインデックスアドレスA+
1に対応する命令キャッシュメモリ (正確には、そのデ
ータ部) 1 に、連続したブロックがムーブインされる
とき、該命令キャッシュメモリ 1のタグ部 10 の、該イ
ンデックスアドレスAの該当のタグ情報域 10bの連続ヒ
ット情報域 10aを“1”として、連続ヒット情報Dを設
定し、該命令キャッシュメモリ 1をアクセスするインデ
ックスアドレスAが、ブロックの境界を越えて、複数個
の命令の読み出しを指示していることが検出されたと
き、上記インデックスアドレスAのタグ部 10 の上記連
続ヒット情報域 10aの連続ヒット情報Dを読み出し、バ
リッドゲートを付勢して、該インデックスアドレスA+
1に対応する命令を有効とする手段、又は、該命令キャ
ッシュメモリ 1のタグ部をデュアルポートメモリ 100で
構成しておき、同じサイクルで上記インデックスアドレ
スA,及び、インデックスアドレスA+1で、該タグ部
10 を検索して、上記インデックスアドレスA+1から
のヒット信号dを用いて、バリッドゲートを付勢して、
該インデックスアドレスA+1に対応する命令を有効と
する手段が、本発明を実施するのに必要な手段である。
尚、全図を通して同じ符号は同じ対象物を示している。
【0030】以下、図3,図4を参照しながら、図1,
図2によって、本発明のスーパースカラ計算機における
命令供給方法を説明する。先ず、図1において、本発明
に関連する命令キャッシュメモリ 1においては、前述の
図4で詳細に説明したように、命令キャッシュメモリ 1
のブロック境界を越えて、上記複数の命令の読み出し
が指示されたとき、該ブロックの境界を越える命令
aの供給を抑止するように構成{図4のバリッドゲート
170〜171を命令カウンタ 2の下位3ビットの、所定の
出力信号を論理和したものの否定信号で抑止する機構}
し、且つ、該命令キャッシュメモリ 1の各タグ部 10
に、連続ヒット情報域 10aを設けて、該命令キャッシュ
メモリ 1の各ブロックの置き換え (即ち、ムーブイ
ン) 時に、該命令キャッシュメモリ 1のタグ部 10 のタ
グ情報域 10bのタグ情報Bを検索して、該置き換えブロ
ックが連続していること、即ち、同じインデックスアド
レスA,A+1のタグ情報BとCが同じであることを検
出したとき、上記インデックスアドレスAに対応する連
続ヒット情報域 10aに、連続ヒット情報D(“1”)を
セットして、命令カウンタ 2が指すアドレスの次のキャ
ッシュブロックがヒットしていることを記憶する。
【0031】即ち、図1において、Aはキャッシュタグ
部 10 を引くインデックスアドレスであり、Bは、該イ
ンデックスアドレスAで引かれるキャッシュブロックの
タグ情報、そして、CはインデックスアドレスA+1の
タグ情報で、Dは、上記インデックスアドレスAで引か
れる連続ヒット情報である。タグ情報BとCが等しいと
き、即ち、命令キャッシュメモリ 1にムーブインされて
いるブロックが連続しているとき、上記連続ヒット情報
Dは“1”となっている。
【0032】上記タグ情報Cの変更は、命令キャッシュ
メモリ 1の置き換えがなされるとき、即ち、ムーブイン
が行われるときに行う。該タグ情報Bか,Cがキャッシ
ュタグ部 10 から追い出される (即ち、ムーブアウト)
とき、上記連続ヒット情報Dはクリアされ“0”となる
が、上記ムーブインによって、該タグ情報Cがインデッ
クスアドレスA+1に登録されるとき、本発明において
は、前述のように、該命令キャッシュメモリ 1のタグ部
10 のインデックスアドレスAのタグ情報Bを検索し
て、該タグ情報Bとタグ情報Cが一致することが検出さ
れたとき、即ち、命令キャッシュメモリ 1の連続した領
域に、連続したブロックが登録されたとき、該連続ヒッ
ト情報Dを“1”にセットする。
【0033】上記キャッシュブロックの置き換え、即
ち、ムーブアウト,ムーブイン動作には、数サイクルが
必要であるので、上記連続ヒット情報Dのセットを、上
記ムーブアウト,ムーブイン動作と並行して行うこと
で、本発明を実施しても、余計なサイクルを必要としな
い。
【0034】このようにして、命令の読み出し時に、命
令カウンタ 2の上記命令キャッシュメモリ 1をアクセス
するアドレスが、ブロック内の所定のアドレス、例え
ば、前述の図3の例で、命令カウンタ 2が命令(6) 〜命
令(8) を指していて、ブロックの境界を越えて、複数
の命令を読み出して供給する必要がある{この事象
は、該命令カウンタ 2の最下位3ビット目が“1”で、
該最下位の2ビットが“00" でないことを検出すること
により認識できる}とき、上記命令キャッシュメモリ 1
のタグ部 10 を引くインデックスアドレスAで、上記連
続ヒット情報域 10aの連続ヒット情報Dを取り出し、ブ
ロックの境界を越える命令を読み出すための条件と
する。
【0035】図4でも説明したように、通常のブロック
境界を越える複数命令の命令供給を検出したとき、現在
のブロックの次のブロックが連続したブロックであるか
否かは不明であるので、従来の命令供給方法では、該命
令カウンタ 2の下位3ビットの値が所定の値であると
き、バリッドゲート 170〜171 を抑止するように構成さ
れているので、その儘では、該ブロックの境界を越える
ブロックの命令を読み出すことはできない。
【0036】そこで、本発明においては、上記連続ヒッ
ト情報域 10aの連続ヒット情報Dが“1”であることを
検出すると、図1に示されている論理和ゲート 180〜18
2 に入力して、上記抑止条件を無視する信号とするこ
とで、該ブロックの境界を越える命令を有効として、該
ブロック内の命令と同時に、該ブロックの境界を越える
命令を含めて、複数個、本実施例では4命令を読み出す
ことができる。
【0037】図2は、本発明の他の実施例を示してお
り、上記命令キャッシュメモリ 1のタグ部 10 をデュア
ルポートRAM 100で構成したものである。図2におい
て、A〜Cは、図1で説明したものと同じである。従っ
て、連続したブロックが、命令キャッシュメモリ 1の連
続した領域にムーブインされていると、上記インデック
スアドレスAと、A+1に対応するタグ情報BとCとは
同じとなるので、命令の読み出し時に、命令カウンタ 2
の上記命令キャッシュメモリ1をアクセスするアドレス
が、ブロック内の所定のアドレスを指し、ブロックの
境界を越えて、複数の命令を読み出して供給する必要
がある{この事象は、前述のように、該命令カウンタ 2
の最下位3ビット目が“1”で、該最下位の2ビットが
“00" でないことを検出することにより認識できる}と
き、上記インデックスアドレスAで、命令キャッシュメ
モリ 1のタグ部 10 を引くとき、同じサイクルで、次の
インデックスアドレスA+1も引くように制御する。
【0038】前述のように、インデックスアドレスA
と、A+1に対応するタグ情報BとCとは同じとなるの
で、インデックスアドレスA+1に対応する比較器 19a
においても、ヒット信号dが得られ、該得られたヒット
信号dを図1で説明したと同じ論理和ゲート 180〜182
に入力して、上記抑止条件を無視する信号とすること
で、該ブロックの境界を越える命令を有効として、該ブ
ロック内の命令と同時に、該ブロックの境界を越える命
令を含めて、複数個、本実施例では4命令を読み出すこ
とができる。
【0039】このように、本発明においては、命令キャ
ッシュメモリを備えたスーパースカラ計算機において、
命令キャッシュメモリの1ブロック内の複数命令を、同
時に読み出して命令供給を行うのに、命令キャッシュメ
モリのブロック境界を越えて、上記複数の命令の読み出
しが指示されたとき、該ブロックの境界を越える命令の
供給を抑止するように構成し、該命令キャッシュメモリ
の各タグ部に、連続ヒット情報域を設けて、該命令キャ
ッシュメモリの各ブロックの置き換え時に、該命令キャ
ッシュメモリのタグをインデックスAで検索して、該置
き換えブロックが連続していることを検出したとき、上
記連続ヒット情報域に、連続ヒット情報Dとして、若番
側の領域に“1”をセットしておき、命令の読み出し時
に、命令カウンタの指すアドレスが、ブロック内の所定
のアドレスを指し、ブロックの境界を越えて、複数の命
令を読み出して供給する必要があるとき、上記連続ヒッ
ト情報域の情報Dを取り出し、ブロックの境界を越える
命令を読み出すための条件とするようにするか、該命
令キャッシュメモリのタグ部をデュアルポートRAMで
構成して、1サイクルで、インデックスAとインデック
スA+1を同時に検索して、インデックスA+1でヒッ
ト信号dを得たときブロックの境界を越える命令を読み
出すための条件とするようにしたところに特徴があ
る。
【0040】
【発明の効果】以上、詳細に説明したように、本発明の
スーパースカラ計算機における命令供給方法によれば、
プログラムのアドレスの局所性により、連続したブロッ
クが該命令キャッシュメモリに格納されている限り、命
令カウンタからのアクセスアドレスで、ブロックの境界
を越える命令に対してもヒット情報(連続ヒット情報域
Dの情報,又は、上記インデックスアドレスA+1から
のヒット信号d)を得て、命令供給を滞りなく行うこと
ができるようになり、スーパースカラ計算機での処理能
力の向上に大きく寄与できる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示した図
【図2】本発明の他の実施例を示した図
【図3】スーパースカラ計算機における従来の命令供給
回路を説明する図(その1)
【図4】スーパースカラ計算機における従来の命令供給
回路を説明する図(その2)
【符号の説明】
1 命令キャッシュメモリ 10 タグ部 10b タグ情報域 10a 連続ヒッ
ト情報域 11〜14 分割された命令キャッシュメモリ 150 〜152 セレクタ 16 加算回路(+1) 170 〜172 論理積ゲート,バリッドゲート 180 〜182 論理和ゲート 190 〜192 抑止信号生成素子 19,19a 比較器 100 デュアルポートRAM 2 命令カウンタ ブロック 命令, 複数個の命令 a ブロック境界を越える命令 ブロック境界を越える命令を読み出すための条件 A インデックス,又は、インデックスアドレス B,C タグ情報 D 連続ヒット情報 d ヒット信号

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】命令キャッシュメモリを備えたスーパース
    カラ計算機における命令供給方法であって、 命令キャッシュメモリ(1) の1ブロック () 内の複数
    命令 () を、同時に読み出して命令供給を行う際に、 命令キャッシュメモリ(1) のブロック境界を越えて、上
    記複数の命令 () の読み出しが指示されたとき、該ブ
    ロック () の境界を越える命令 (a)の供給を抑止
    するように構成(190〜191)し、 且つ、該命令キャッシュメモリ(1) の各タグ部(10)に、
    連続ヒット情報域(10a) を設けて、該命令キャッシュメ
    モリ(1) の各ブロック () の置き換え時に、該命令キ
    ャッシュメモリ(1) のタグ部(10)のタグ情報域(10b) を
    検索して、該置き換えブロックが連続していることを検
    出したとき、上記連続ヒット情報域(10a) に連続ヒット
    情報Dを設定しておき、 命令の読み出し時に、命令カウンタ(2) の上記命令キャ
    ッシュメモリ(1) をアクセスするアドレスが、ブロック
    内の所定のアドレスを指し、ブロック () の境界を越
    えて、複数の命令 () を読み出して供給する必要があ
    るとき、上記命令キャッシュメモリ(1) のタグ部(10)を
    引くインデックスアドレスAで、上記連続ヒット情報域
    (10a) の情報Dを取り出し、ブロック () の境界を越
    える命令を読み出すための条件 () として、該ブロッ
    ク () 内の命令 () と、該ブロック () の境界を
    越えた命令 (a)とを、同時に読み出して供給するこ
    とを特徴とするスーパースカラ計算機における命令供給
    方法。
  2. 【請求項2】命令キャッシュメモリを備えたスーパース
    カラ計算機における命令供給方法であって、 命令キャッシュメモリ(1) の1ブロック () 内の複数
    命令 () を、同時に読み出して命令供給を行う際に、 命令キャッシュメモリ(1) のブロック境界を越えて、上
    記複数の命令 () の読み出しが指示されたとき、該ブ
    ロック () の境界を越える命令 (a)の供給を抑止
    するように構成(190〜192)し、 且つ、該命令キャッシュメモリ(1) のタグ部(10)を、デ
    ュアルポートRAM(100) で構成し、 命令の読み出し時に、命令カウンタ(2) の上記命令キャ
    ッシュメモリ(1) をアクセスするアドレスが、ブロック
    内の所定のアドレスを指し、ブロック () の境界を越
    えて、複数の命令 () を読み出して供給する必要があ
    るとき、上記命令キャッシュメモリ(1) のタグ部(10)を
    引くインデックスアドレスAと、上記インデックスアド
    レスA+1で、同じ命令キャッシュメモリ(1) の各タグ
    部(10)を同時にアクセスし、上記インデックスアドレス
    A+1で引いたタグ部(10)から、ヒット信号dが得られ
    たとき、該ヒット信号dを上記ブロック () の境界を
    越える命令を読み出すための条件 () として、該ブロ
    ック () 内の命令 ()と、該ブロック () の境界
    を越えた命令 (a)を、同時に読み出して供給するこ
    とを特徴とするスーパースカラ計算機における命令供給
    方法。
JP5149646A 1993-06-22 1993-06-22 スーパースカラ計算機における命令供給方法 Withdrawn JPH0713762A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5149646A JPH0713762A (ja) 1993-06-22 1993-06-22 スーパースカラ計算機における命令供給方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5149646A JPH0713762A (ja) 1993-06-22 1993-06-22 スーパースカラ計算機における命令供給方法

Publications (1)

Publication Number Publication Date
JPH0713762A true JPH0713762A (ja) 1995-01-17

Family

ID=15479780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5149646A Withdrawn JPH0713762A (ja) 1993-06-22 1993-06-22 スーパースカラ計算機における命令供給方法

Country Status (1)

Country Link
JP (1) JPH0713762A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065112A (en) * 1997-06-18 2000-05-16 Matsushita Electric Industrial Co., Ltd. Microprocessor with arithmetic processing units and arithmetic execution unit
US7120781B1 (en) 2000-06-30 2006-10-10 Intel Corporation General purpose register file architecture for aligned simd

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065112A (en) * 1997-06-18 2000-05-16 Matsushita Electric Industrial Co., Ltd. Microprocessor with arithmetic processing units and arithmetic execution unit
US7120781B1 (en) 2000-06-30 2006-10-10 Intel Corporation General purpose register file architecture for aligned simd

Similar Documents

Publication Publication Date Title
US6216206B1 (en) Trace victim cache
US6073213A (en) Method and apparatus for caching trace segments with multiple entry points
US6076144A (en) Method and apparatus for identifying potential entry points into trace segments
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US6678815B1 (en) Apparatus and method for reducing power consumption due to cache and TLB accesses in a processor front-end
US5717890A (en) Method for processing data by utilizing hierarchical cache memories and processing system with the hierarchiacal cache memories
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
US20080114964A1 (en) Apparatus and Method for Cache Maintenance
JPH03141443A (ja) データ格納方法及びマルチ・ウェイ・セット・アソシアチブ・キャッシュ記憶装置
JPH06243036A (ja) キャッシュ制御システム
JPH07253927A (ja) 物理的にアドレス指定されたデータ記憶構造からの迅速なデータリトリーブ方法及び装置
JPS58139400A (ja) デ−タの取出防止制御機構
US5938761A (en) Method and apparatus for branch target prediction
US11010306B2 (en) Apparatus and method for managing a cache hierarchy
JP3890910B2 (ja) 命令の実行結果予測装置
KR20100006584A (ko) 캐시 메모리 제어 장치, 및 파이프 라인 제어 방법
JPH0713762A (ja) スーパースカラ計算機における命令供給方法
US20050027921A1 (en) Information processing apparatus capable of prefetching instructions
Jourdan et al. Extended block cache
US7610449B2 (en) Apparatus and method for saving power in a trace cache
KR101076815B1 (ko) 분기 타겟 어드레스 캐쉬를 포함하는 캐쉬 시스템
US20130275733A1 (en) Multi-level tracking of in-use state of cache lines
US20090106497A1 (en) Apparatus, processor and method of controlling cache memory
JPH0659977A (ja) 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000905