JPH1083347A - キャッシュメモリ装置 - Google Patents

キャッシュメモリ装置

Info

Publication number
JPH1083347A
JPH1083347A JP8236973A JP23697396A JPH1083347A JP H1083347 A JPH1083347 A JP H1083347A JP 8236973 A JP8236973 A JP 8236973A JP 23697396 A JP23697396 A JP 23697396A JP H1083347 A JPH1083347 A JP H1083347A
Authority
JP
Japan
Prior art keywords
instruction
cache
processing device
transfer
instruction processing
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
JP8236973A
Other languages
English (en)
Inventor
Hideaki Fujimaki
秀明 藤巻
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 JP8236973A priority Critical patent/JPH1083347A/ja
Publication of JPH1083347A publication Critical patent/JPH1083347A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 命令処理装置(CPU)に付設されたキャッ
シュメモリ装置において、キャッシュ制御と命令処理速
度とを同期化することによりコンパイラによる命令のグ
ループ化の効果を生かすとともに、分岐命令の成功時の
命令データの転送効率を改善する。 【解決手段】 命令情報をCPU10へ転送しうる1次
キャッシュ12と、命令情報を1次キャッシュ12へ転
送しうる2次キャッシュ14とをそなえ、2次キャッシ
ュ14に1次キャッシュ12のライン長に対して自然数
倍であってCPU10で同時に実行しうる複数の命令を
含む命令情報を高速クロックに同期させて1次キャッシ
ュ12へ転送する手段を設けるとともに、1次キャッシ
ュ12に2次キャッシュ14から転送されてきたCPU
10で同時に実行しうる複数の命令をCPU10へ転送
する手段を設けるように構成する。

Description

【発明の詳細な説明】
【0001】(目次) 発明の属する技術分野 従来の技術(図9,図10) 発明が解決しようとする課題(図9,図11) 課題を解決するための手段 発明の実施の形態 (a)本発明の一実施形態の説明(図1〜図7) (b)本発明の一実施形態の変形例の説明(図8) (c)その他 発明の効果
【0002】
【発明の属する技術分野】本発明は、例えばスーパスカ
ラ方式やVLIW(超長形式命令ワード)を採用した計
算機における命令キャッシュとして用いて好適な、キャ
ッシュメモリ装置に関する。近年、計算機による命令処
理を高速化するために命令処理装置(CPU)と主記憶
装置(メインメモリ)との間に設けられるキャッシュメ
モリ装置として、高速,少容量のメモリで構成された1
次キャッシュと、中速,大容量のメモリで構成された2
次キャッシュとからなる2段階キャッシュメモリ装置を
用いる技術が広まっている。
【0003】また、主記憶装置から命令処理装置へのデ
ータ転送をシンクロナスDRAM,RAMBUS等を使
用して高速化したり、主記憶装置のインタリーブ数を削
減したりする技術が実用化され始めている。主記憶装置
と2次キャッシュとの間でのデータ転送がシンクロナス
DRAM等を使用することにより高速化された場合に
は、2次キャッシュと1次キャッシュとの間でのデータ
転送速度が相対的に見劣りすることになるため、同時に
2次キャッシュと1次キャッシュとの間でのデータ転送
速度も向上させる必要がある。
【0004】さらに、近年、スーパスカラ方式の命令処
理装置も一般的になり、複数の命令を同時に処理するこ
とが可能になった。これに伴い、スーパスカラ方式の命
令処理装置で効率よく命令を処理するために、並列処理
可能な命令を並べてグループ化することにより並列処理
を行ないやすくしたコンパイラも出現している。また、
スーパスカラ方式の命令処理装置においては、半導体技
術の高度化により回路規模が増大した結果、並列実行可
能な命令数が増える傾向にある。
【0005】
【従来の技術】キャッシュメモリ装置には、通常のデー
タのみを格納するデータキャッシュメモリ装置と、命令
処理装置用の命令データのみを格納する命令キャッシュ
メモリ装置とがあるが、これらのキャッシュメモリ装置
はそれぞれ格納しているデータの種類が異なるだけで、
その構成及び機能については全く同じである。
【0006】ここでは、命令処理装置用の命令データ
(命令情報)をメインメモリからコピーして格納する命
令キャッシュメモリ装置について説明する。このような
キャッシュメモリ装置の構成を図9に示す。この図9に
おいては、1次キャッシュ120,2次キャッシュ14
0及び2次キャッシュアクセス制御部130からなるキ
ャッシュメモリ装置150のほかに、命令処理装置とし
てのCPU(中央処理装置)100が示されている。
【0007】なお、キャッシュメモリ装置150には、
2次キャッシュアクセス制御部130と同様に構成され
る、1次キャッシュ120用の1次キャッシュアクセス
制御部(図2の符号11参照)もそなえられているが、
図9ではその図示を省略している。また、図9では、メ
インメモリ(図2の符号16参照)、および、このメイ
ンメモリとキャッシュメモリ装置150とを接続するラ
インの図示も省略している。
【0008】図9に示す2次キャッシュ140おいて、
符号105はスタティックRAM(SRAM)からなる
メモリセルアレイであり、符号106は1次キャッシュ
120へ転送すべき命令データを格納するバッファであ
る。また、2次キャッシュアクセス制御部130及び2
次キャッシュ140の詳細な構成を図10に示す。
【0009】ここで、2次キャッシュアクセス制御部1
30は、1次キャッシュ120から転送されたアクセス
要求に基づいて2次キャッシュ140を検索し、検索結
果に応じて2次キャッシュ140へアクセスを指示した
り図示しないメインメモリへアクセス要求を転送するも
のである。この2次キャッシュアクセス制御部130
は、図10に示すように、転送受信回路131,アドレ
スレジスタ132,カウンタ133及び検索回路134
をそなえて構成されている。
【0010】転送受信回路131は、1次キャッシュ1
20や図示しないメインメモリとの間で、アクセス要求
の転送/受信を行なうものであり、アドレスレジスタ1
32は、1次キャッシュ120から転送されたアクセス
要求により指定された命令データのアドレスを一時的に
保持するものである。また、カウンタ133は、1ブロ
ック分の複数ワード(複数語長)のアドレスをインクリ
メントすることにより計数して2次キャッシュ140に
対してアクセスを指示するものであり、検索回路134
は、アドレスレジスタ132に保持されているアドレス
に基づいて、2次キャッシュ140に対してアクセス要
求があった命令データの検索を行なうものである。
【0011】さらに、2次キャッシュ140は、2次キ
ャッシュアクセス制御部130からの指示に基づき、シ
ステムクロック信号(クロック信号)に同期して該当す
る命令データを読み出して1次キャッシュ120又はC
PU100に転送するものである。この2次キャッシュ
140は、図10に示すように、タイミングコントロー
ラ141,1ワード毎アクセス部142,データ保持部
143及び転送部144をそなえている。
【0012】タイミングコントローラ141は、2次キ
ャッシュアクセス制御部130からの指示に基づき、転
送部144又は1ワード毎アクセス部142にクロック
信号を出力するものであり、1ワード毎アクセス部14
2は、タイミングコントローラ141からのクロック信
号に同期してアクセス要求により指定された命令データ
をデータ保持部143から1ワード(1語長)毎に読み
出すものである。
【0013】また、データ保持部143は、1ブロック
分の複数ワードを保持するものであり、転送部144
は、タイミングコントローラ141からのクロック信号
に同期して、1ワード毎アクセス部142によりデータ
保持部143から読み出された命令データを1ワードず
つ1サイクル毎に1次キャッシュ120へ転送するもの
である。
【0014】このような構成により、図9に示すキャッ
シュメモリ装置150においては、CPU100からの
アクセス要求により指定された命令データが1次キャッ
シュ120に存在しない場合(即ち1次キャッシュ12
0でミスヒットした時)には、アクセス要求が2次キャ
ッシュアクセス制御部130に転送される。ここで、2
次キャッシュアクセス制御部130においては、CPU
100からのアクセス要求が転送されると、アクセス要
求により指定された命令データのアドレスがアドレスレ
ジスタ132に保持され、そのアドレス値がカウンタ1
33により順次インクリメントされ、2次キャッシュ1
40のタイミングコントローラ141から出力されるク
ロック信号に基づいて、順次2次キャッシュ140に対
してアクセスの指示が行なわれる。
【0015】また、2次キャッシュ140においては、
2次キャッシュアクセス制御部130によりアクセスの
指示が行なわれると、1ワード毎アクセス部142によ
り複数サイクルかけて1ブロックに相当する複数ワード
がデータ保持部143から1ワード毎に読み出される。
そして、読み出された1ワード毎の命令データは、タイ
ミングコントローラ141からのクロック信号に基づい
て、2次キャッシュ140の転送部144から1次キャ
ッシュ120へ1サイクル毎に順次転送される。
【0016】これにより、1ブロック分の複数ワードの
命令データが複数サイクルかけて2次キャッシュ140
から1次キャッシュ120へ読み出され、この1ブロッ
ク分の命令データが1次キャッシュ120に予め書き込
まれて、プリフェッチ動作が行なわれる。このとき、2
次キャッシュ140からの命令データは、アドレスをイ
ンクリメントすることにより、1次キャッシュ120の
ライン方向のデータとしてプリフェッチされる。
【0017】このように命令キャッシュ制御を行なうた
め、1次キャッシュ120に命令データが無くなって初
めて2次キャッシュ140にアクセスしており、従っ
て、コンパイラによる命令のグループ化と命令キャッシ
ュ制御及び命令実行とは別々に制御されている。また、
図9に示すようなキャッシュメモリ装置150では、C
PU100において実行される各種命令のうちの分岐命
令が成功した場合には、条件確定後、分岐先の命令デー
タの読出つまりフェッチ動作が行なわれるようになって
いる。このとき、2次キャッシュ140から1次キャッ
シュ120に一度に転送されるデータ単位が小さい(即
ちフェッチ/プリフェッチ動作におけるデータ単位が小
さい)ため、直前のプリフェッチや命令フェッチの実行
中に分岐命令の成功が判明した際にそのプリフェッチや
フェッチをキャンセル信号によりキャンセルしようとし
ても、キャンセル信号の送出前にそのプリフェッチやフ
ェッチは完了してしまう。従って、キャンセル信号を送
出する等の分岐命令の成功時の対策としては一切行なわ
れていない。
【0018】このようなキャッシュメモリ装置150に
おいて、1ブロック分のデータの読出及び転送を行なう
には、1ブロック分の複数ワードを計数してインクリメ
ントするカウンタ133及びこのカウンタ133用のア
ドレスレジスタ132というハードウェアが必要になる
とともに、複数サイクルかけて読出及び転送が行なわれ
るため、所望のデータのアクセスに相当の時間がかか
る。
【0019】また、カウンタ133を設けない構成とし
た場合には、CPU100又は1次キャッシュ120か
らアクセス要求が2次キャッシュ140に対して複数回
発行されなければならず、CPU100の負荷が増大す
るとともに、所望のデータのアクセスに更に時間がかか
ってしまう。そこで、上位キャッシュのブロック単位デ
ータ長の自然数倍に相当するデータを並列に一度に読み
出すとともに、単位時間内(例えば1サイクル)で前記
自然数倍に相当するデータを順次連続して高速転送(バ
ースト転送)するようにしたキャッシュメモリ装置も提
案されている(特開平7−129465号公報参照)。
このようなキャッシュメモリ装置によれば、2次キャッ
シュと1次キャッシュとの間でのデータ転送が高速化さ
れるほか、これらキャッシュ間でデータ転送の際に使用
されるインクリメント回路を削減して構造の簡素化,製
造コストの低減および製造作業の省略化を実現するとと
もに、命令処理装置からのアクセス要求の発行回数を削
減して命令処理装置にかかる負担を軽減することができ
る。
【0020】
【発明が解決しようとする課題】しかしながら、上述の
ようなキャッシュメモリ装置においては、コンパイラに
よる命令のグループ化と命令キャッシュ制御及び命令実
行処理とが別々に制御されているため、命令の並列処理
による1次キャッシュでの命令データの消費状況と2次
キャッシュへのアクセス要求の転送との間に論理的な関
係がなく、コンパイラによる並列実行可能な命令のグル
ープ化の効果がキャッシュ制御によって相殺されたり減
少されてしまう。即ち、命令処理装置(CPU)内の命
令バッファに格納されている命令数が少なくなってから
1次キャッシュや2次キャッシュに対してアクセス要求
が発行されているため、それぞれがバラバラに動作し命
令処理装置への命令データの供給が遅れ、ひいては命令
処理装置の命令の実行速度が低下するという課題があっ
た。
【0021】一方、特開平7−129465号公報にお
いて開示されているキャッシュメモリ装置を付設された
命令処理装置では、分岐命令を図11(a)に示すよう
に実行すると同時に、図11(b)に示すように、その
分岐命令に続く命令をフェッチし高速同期転送(バース
ト転送)を行なっている。分岐命令は、例えば図11
(a)に示すような6つのステート(D,A,T,B,
E,W)を履むことにより実行される。
【0022】ここで、Dステートでは分岐命令の解読
(デコード)が行なわれ、Aステートではオペランドの
アドレス計算が行なわれ、Tステートではアドレス変換
が行なわれ、Bステートではオペランドのバッファ(キ
ャッシュまたは主記憶装置)からの読出が行なわれ、E
ステートではオペランドに基づいて命令(演算)が実行
され、Wステートでは命令実行結果(演算結果)の書込
が行なわれる。
【0023】このように分岐命令を実行する場合、図1
1(a)に示すごとく、分岐命令のBステート(バッフ
ァリードステート)で分岐確定の判断が可能になる。し
かし、同公報開示のキャッシュメモリ装置では、ある程
度まとまった量のデータがバースト転送されるため、2
次キャッシュから1次キャッシュへ一度に転送されるデ
ータの単位が大きく(即ちフェッチ/プリフェッチのデ
ータ単位が大きく)なり、図11(b)に示すように、
命令データの高速転送に要する時間が長くなる。このと
き、その命令データの高速転送中に分岐命令の成功が判
明しても、その時高速転送されている命令データの転送
が完了するまでは、分岐先の命令データを転送するため
のフェッチコマンドを出力することができない。従っ
て、バースト転送が完了するまで分岐先の命令データを
フェッチすることができない上、不必要なデータが1次
キャッシュに転送されてしまい、命令フェッチの動作効
率(命令データ転送効率)が大きく低下するという課題
もあった。
【0024】本発明は、このような課題に鑑み創案され
たもので、キャッシュ制御と命令処理速度とを同期化す
ることによりコンパイラによる命令のグループ化の効果
を生かすとともに、分岐命令の成功時の命令データの転
送効率を改善した、キャッシュメモリ装置を提供するこ
とを目的とする。
【0025】
【課題を解決するための手段】このため、本発明のキャ
ッシュメモリ装置は、複数の命令を同時に実行しうる命
令処理装置と該命令処理装置のための命令情報を記憶す
る主記憶装置との間に介装され、該主記憶装置に記憶さ
れた命令処理装置用命令情報をコピーして格納するもの
であって、少なくとも、該命令処理装置の直近に配置さ
れて格納している命令処理装置用命令情報を該命令処理
装置へ転送しうる1次キャッシュと、該1次キャッシュ
よりも該主記憶装置側に配置されて格納している命令処
理装置用命令情報を該1次キャッシュへ転送しうる2次
キャッシュとをそなえ、該2次キャッシュに、該1次キ
ャッシュのライン長に対して自然数倍であって該命令処
理装置で同時に実行しうる複数の命令を含む命令情報を
高速クロックに同期させて該1次キャッシュへ転送する
手段が設けられるとともに、該1次キャッシュに、該2
次キャッシュから転送されてきた該命令処理装置で同時
に実行しうる複数の命令を該命令処理装置へ転送する手
段が設けられたことを特徴としている(請求項1)。
【0026】このとき、該命令処理装置での複数の命令
に基づく処理がすべて終了するまでは、次の命令情報を
該命令処理装置へ転送しないように、該1次キャッシュ
の転送手段を構成してもよい(請求項2)。また、該2
次キャッシュの転送手段を、該命令処理装置での複数の
命令を分割した複数の命令グループのうちの少なくとも
1つの命令グループを含む命令情報を高速クロックに同
期させて該1次キャッシュへ転送するように構成すると
ともに、該命令処理装置での複数の命令を分割した少な
くとも1つの命令グループに基づく処理がすべて終了す
るまでは、次の命令情報を該命令処理装置へ転送しない
ように、該1次キャッシュの転送手段を構成してもよい
(請求項3)。
【0027】さらに、該命令処理装置での分岐命令実行
時において分岐成功を検出すると、該2次キャッシュの
転送手段による該命令情報の転送をキャンセルする転送
キャンセル手段を設けてもよい(請求項4)。また、本
発明のキャッシュメモリ装置は、所要の命令を実行しう
る命令処理装置と該命令処理装置のための命令情報を記
憶する主記憶装置との間に介装され、該主記憶装置に記
憶された命令処理装置用命令情報をコピーして格納する
ものであって、少なくとも、該命令処理装置の直近に配
置されて格納している命令処理装置用命令情報を該命令
処理装置へ転送しうる1次キャッシュと、該1次キャッ
シュよりも該主記憶装置側に配置されて格納している命
令処理装置用命令情報を該1次キャッシュへ転送しうる
2次キャッシュとをそなえ、該2次キャッシュに、該1
次キャッシュのライン長に対して自然数倍の命令情報を
高速クロックに同期させて該1次キャッシュへ転送する
手段が設けられるとともに、該1次キャッシュに、該2
次キャッシュから転送されてきた命令情報を該命令処理
装置へ転送する手段が設けられ、且つ、該命令処理装置
での分岐命令実行時において分岐成功を検出すると、該
2次キャッシュの転送手段による該命令情報の転送をキ
ャンセルする転送キャンセル手段が設けられたことを特
徴としている(請求項5)。
【0028】このとき、該転送キャンセル手段を、該2
次キャッシュの転送手段によって転送されている該命令
情報が分岐先情報を含んでいる場合には、該命令処理装
置での分岐命令実行時に分岐成功を検出しても、転送中
の該命令情報の転送をキャンセルしないように構成して
もよい(請求項6)。
【0029】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。 (a)本発明の一実施形態の説明 図2は本発明の一実施形態にかかるキャッシュメモリ装
置を有する計算機システムの構成を示すブロック図であ
り、この図2に示す計算機システム18は、CPU(命
令処理装置)10,キャッシュメモリ装置17,メイン
メモリアクセス制御部15及びメインメモリ(主記憶装
置)16をそなえて構成されている。
【0030】また、図1にキャッシュメモリ装置17の
構成を示すとともに、図3にキャッシュメモリ装置17
のより詳細な構成を示す。ここで、CPU10は、キャ
ッシュメモリ装置17及びメインメモリ16に対して所
望の命令データ(命令情報)のアクセス要求を発行し
て、その結果得られた命令データに基づいて各種の命令
を実行して処理するものである。
【0031】本実施形態においては、このCPU10
は、例えばスーパスカラ方式のもので、図1及び図3に
示すように、例えば4つの命令(命令“1”〜“4”)
の並列処理が可能であるように構成されている。また、
CPU10においては、グループ化された4つの命令の
うちのいずれかが他のものより速く実行が完了した場合
であっても、4つの命令からなる命令グループの全ての
命令が完了した後に次の命令グループをCPU10へ転
送させるために、命令の実行が完了したことを示すフラ
グビット(図示せず)を命令データ毎にもち、命令グル
ープにおける全てのフラグビットがオンとなったときに
初めて次の命令グループをCPU10へ転送させるよう
に、図示しないAND回路(全フラグビットの論理積を
出力する回路)を通して後述の1次キャッシュ12(1
次キャッシュアクセス制御部11)へのアクセス要求が
発行制御されるようになっている。
【0032】キャッシュメモリ装置17は、CPU10
とメインメモリ16との間に介装され、メインメモリ1
6に記憶されたCPU10用の命令情報をコピーして格
納するものであって、1次キャッシュアクセス制御部1
1,1次キャッシュ12,2次キャッシュアクセス制御
部13及び2次キャッシュ14をそなえて構成されてい
る。なお、図1において1次キャッシュアクセス制御部
11の図示は省略されている。また、図1および図3で
は、メインメモリ16、および、このメインメモリ16
とキャッシュメモリ装置17とを接続するラインの図示
も省略されている。
【0033】1次キャッシュ12は、半導体メモリセル
アレイ(メモリセル)5からなり、CPU10の直近に
配置されて、格納しているCPU10用の命令情報をC
PU10へ転送するものであり、この1次キャッシュ1
2には、図3に示すように、CPU10へ転送すべき命
令グループを一時的に格納するシフトレジスタ4aが設
けられている。なお、図1では、1次キャッシュ12に
おけるシフトレジスタ4aの図示は省略されている。
【0034】1次キャッシュ12のシフトレジスタ4a
は、1次キャッシュアクセス制御部11からの指示(つ
まりはCPU10からのアクセス要求)に基づいて、2
次キャッシュ14から転送されてきたCPU10で同時
に実行しうる4つの命令データを、クロック信号に同期
してCPU10へ同時に転送する手段の一部として機能
するものである。そして、本実施形態では、CPU10
から1次キャッシュアクセス制御部11に対するアクセ
ス要求の発行がフラグビットによって前述のように制御
されるので、このシフトレジスタ4aは、CPU10で
の4つの命令に基づく処理がすべて終了するまでは、次
の命令情報をCPU10へ転送しないように制御される
ことになる。
【0035】また、1次キャッシュ12のライン長は、
2次キャッシュ14から同時に読み出される命令データ
のデータ長と同じか、あるいはこのデータ長の整数分の
1であるように設計されている。1次キャッシュアクセ
ス制御部11は、CPU10からのアクセス要求を受け
て1次キャッシュ12を検索し、このときの検索結果に
応じて、1次キャッシュ12に対してアクセスの指示を
行なったり2次キャッシュ14(2次キャッシュアクセ
ス制御部13)へアクセス要求を転送したりするもので
ある。1次キャッシュアクセス制御部11には、図3に
示すように、アドレスレジスタ11aがそなえられてお
り、このアドレスレジスタ11aに、CPU10からの
アクセス要求に含まれるアクセス対象アドレスが保持さ
れるようになっている。
【0036】2次キャッシュ14は、メモリセル5から
なり、1次キャッシュ12よりもメインメモリ16側に
配置されて(図2参照)、格納しているCPU10用の
命令情報を1次キャッシュ12に転送するものであり、
この2次キャッシュ14にも、図1及び図3に示すよう
に、シフトレジスタ4aが設けられている。2次キャッ
シュ14のシフトレジスタ4aは、2次キャッシュアク
セス制御部13からの指示に基づいて、1次キャッシュ
12のライン長に対して自然数倍であってCPU10で
同時に実行しうる4つの命令データを含む命令グループ
をメモリアクセスサイクルよりも高速のクロック信号に
同期させて転送する手段の一部として機能するものであ
る。
【0037】2次キャッシュアクセス制御部13は、1
次キャッシュアクセス制御部11から転送されたアクセ
ス要求を受けて2次キャッシュ14を検索し、このとき
の検索結果に応じて、2次キャッシュ14に対してアク
セスの指示を行なったりメインメモリ16(メインメモ
リアクセス制御部15)へアクセス要求を転送したりす
るものである。
【0038】そして、図1及び図3に示すように、2次
キャッシュアクセス制御部13はアドレスレジスタ13
aをそなえて構成されており、このアドレスレジスタ1
3aにより連続アドレスの記憶内容(データ)が指定さ
れると、指定されたデータは、2次キャッシュ14のメ
モリセル5から同時に読み出され、2次キャッシュ14
のシフトレジスタ4aからメモリアクセスサイクルより
も高速のクロック信号に同期して1次キャッシュ12へ
順次転送されるようになっている。なお、図3におい
て、符号2はアドレスのx成分で指定されるX成分記憶
部であり、このX成分記憶部2については後述する。
【0039】メインメモリアクセス制御部15は、2次
キャッシュアクセス制御部13から転送されたアクセス
要求を受けてメインメモリ16に対してアクセスの指示
を行なうものである。メインメモリ16は、CPU10
のための命令情報を記憶する主記憶装置であり、メイン
メモリアクセス制御部15からの指示に基づいて該当す
るデータを読み出して、読み出したデータをクロック信
号に同期して2次キャッシュ14へ転送するものであ
る。
【0040】このメインメモリ16には、命令データの
グループ化を行なうコンパイラが格納されている。この
コンパイラは、外部から2次キャッシュ14のライン長
をパラメータとして与えられ、並列実行可能な複数(本
実施形態では4つ)の命令を、そのライン長を単位とす
る命令グループにまとめた実行コードを生成するもので
ある。
【0041】ここで、コンパイラによる命令データのグ
ループ化について説明すると、CPU10においては、
1つの命令データのデータ長が例えば8バイトである場
合には同時に32バイトの命令データが必要になる。従
って、メインメモリ16に格納されるコンパイラは4つ
の命令(即ち32バイトの命令データ)を1つの命令グ
ループとして命令コードを生成するようになっているの
であり、換言すれば、このとき命令グループが32バイ
トバウンダリに揃うように命令コードを生成するように
なっているのである。
【0042】このとき、2次キャッシュ14のライン長
を外部からパラメータとして与えることにより、コンパ
イラが2次キャッシュ14のライン長を考慮して、4つ
の命令からなる命令グループを生成できるようになって
いる。従って、2次キャッシュ14においては、並列処
理が可能である命令データが整数倍分(本実施形態にお
いては4倍分)並んでいる状態となり、高速クロック同
期転送によって4つの命令データからなる命令グループ
が一度のアクセスで1次キャッシュ12に転送されるよ
うになっている。
【0043】さらに、本実施形態にかかるキャッシュメ
モリ装置17について、図3を用いて説明すると、CP
U10には、このCPU10での分岐命令実行時におい
て分岐成功を検出すると、2次キャッシュ14のシフト
レジスタ4aによる命令データの転送をキャンセルする
転送キャンセル部19が設けられている。この転送キャ
ンセル部19は、2次キャッシュ14のシフトレジスタ
4aによって転送されている命令データが分岐先の命令
データを含んでいる場合には、CPU10での分岐命令
実行時に分岐成功を検出しても、転送中の命令データの
転送をキャンセルしないように構成されている。なお、
図1において転送キャンセル部19の図示は省略されて
いる。
【0044】具体的には、この転送キャンセル部19
は、図7に示すように、命令レジスタ40,デコーダ4
1,分岐先アドレス計算部42,分岐判定部43,アド
レス比較部44及びAND回路45から構成されてい
る。ここで、命令レジスタ40は、命令データ(図7で
は命令データをオペランドR1〜R3で表す)を格納す
るものであり、デコーダ41は、命令レジスタ40に格
納されたオペランドR1〜R3のOPコード(オペレー
ションコード;図7ではOPで表す)を解読して分岐判
定部43へ出力するものである。
【0045】分岐先アドレス計算部42は、命令レジス
タ40に格納されたオペランドR1,R2を用いて分岐
先アドレスの計算を行なうものであり、分岐判定部43
は、デコーダ41からのOPコード及び分岐命令である
ことを示すオペランドR3に基づいて分岐が成功したか
否かを判定するもので、分岐成功時に“0”から“1”
に立ち上がる信号(分岐先フェッチ信号)を出力するも
のである。
【0046】なお、オペランドR3は、分岐命令である
ことを示すために、“0,0,…,0”又は“1,1,
…,1”のように構成されている。アドレス比較部44
は、分岐先アドレス計算部42からの分岐先アドレスP
とバースト転送アドレスQとを比較することによりバー
スト転送中の命令データの中に分岐先の命令データが含
まれているか否かを判断するもので、含まれていると判
断した場合に“0”から“1”に立ち上がる信号を出力
するものである。
【0047】AND回路45は、分岐判定部43からの
信号とアドレス比較部44からの信号の反転結果との論
理積を算出するもの、即ち、分岐判定部43において分
岐命令の成功が検出され且つアドレス比較部44におい
てバースト転送中の命令データの中に分岐先の命令デー
タが含まれていないと判断された場合にのみ、転送キャ
ンセル信号(バーストキャンセル信号)を発行するもの
である。
【0048】そして、1次キャッシュ12においては、
図1及び図3に示すように、2次キャッシュ14から転
送された命令データが有効であるか否かを示すバリッド
ビットVが設けられており、並列処理が可能である4つ
の命令データの全てが有効であるとバリッドビットVに
より示されたときにこの命令グループがCPU10に対
して転送されるようになっている。
【0049】ところで、2次キャッシュ14は、図3に
示すように、アドレスのx成分で指定される64個のX
成分記憶部2を有している。なお、2次キャッシュ14
におけるX成分記憶部2の数“64”は、2次キャッシ
ュ14から1次キャッシュ12への転送のデータ幅(1
ワード)に相当している。これらのX成分記憶部2は、
それぞれ4ビットのシフトレジスタ4aを有している。
なお、“4”は、“ブロック単位の自然数倍/転送バス
幅”の値であって、単位時間内に高速転送される回数を
意味しており、本実施形態においては、前述のごとく並
列処理可能な4つの命令が同時に転送されるようになっ
ている。
【0050】従って、図3に示す2次キャッシュ14に
おいては、x成分で指定される各記憶領域である64個
のSRAMからなるメモリセル5は、アドレスのz成分
により指定される4個のビット列(カラム方向に並びロ
ウ方向に伸びる)を2個以上有するとともに、このビッ
ト列に属する各ビット(ロウ方向に並びカラム方向に伸
びる)はアドレスのy成分により指定され、アドレスの
z成分の4個については並列にアクセス可能に保持され
るようになっている。なお、2次キャッシュ14につい
てのブロック単位のデータ長は、図3においては、1次
キャッシュ12の4ブロック分に相当する。
【0051】即ち、2次キャッシュ14においては、デ
ータの読出・転送単位にあわせて下位アドレスビットが
0サプレスされて、メモリセル5から同時に、CPU1
0において並列処理が可能である4つの命令データが読
み出されるようになっている。この方法は、DRAMに
おいてはシンクロナスDRAM,RAMUBUS等によ
り既に実用化されているが、本実施形態では、これをS
RAMを使用するキャッシュに適用している。
【0052】また、シフトレジスタ4aにセットされた
4つの命令データが、メモリアクセスサイクルよりも高
速のクロックに同期して送出される際には、前述のごと
く2次キャッシュ14のライン長を外部からパラメータ
として与えることにより、送出データ長を1次キャッシ
ュ12のライン長と整合させるようになっている。具体
的には1次キャッシュ12のライン長が32バイトであ
る場合には、整数倍のバイト数(即ち32,64,12
8,256バイト等)が読出・転送単位となる。
【0053】なお、1次キャッシュ12は、ブロック単
位のデータ長が小さい点を除いて2次キャッシュ14と
同様に構成されている。図3においては、1次キャッシ
ュ12には、アドレスのx成分で指定されるブロック単
位のデータ長(ライン長及びカラム方向に伸びる)の6
4ビットがz成分(y成分を含む)で指定される複数個
(4個以上がロウ方向に並ぶ)保持されているyz成分
からなるメモリセル5が図示されている。
【0054】ここで、2次キャッシュ14及び2次キャ
ッシュアクセス制御部13の詳細な構成を図4に示す。
この図4に示すように、2次キャッシュアクセス制御部
13は、転送受信回路28,サプレススイッチ33及び
検索回路29をそなえて構成されており、2次キャッシ
ュ14は、前述したシフトレジスタ4a及びメモリセル
5のほか、タイミングコントローラ36及びZ成分並列
アクセス部7をそなえて構成されている。なお、符号4
は転送部であり、この転送部4は、並列に読み出された
データを並直変換して、1次キャッシュ12の1ワード
毎にシリアルに転送を行なうシフトレジスタ4aを有し
ている。
【0055】2次キャッシュアクセス制御部13の転送
受信回路28は、1次キャッシュアクセス制御部11と
メインメモリアクセス制御部15との間で、アクセス要
求及びx,y,zの3成分をもつアドレスの転送又は受
信を行なうものであり、サプレススイッチ33は、前記
アドレスのz成分について、1次キャッシュ12のブロ
ック単位のデータ長の自然数倍のデータに相当するアド
レスの下位桁ビットの信号線を高インピーダンス状態と
することによりアドレスを不定とするものであり、検索
回路29は、2次キャッシュ14に対してアクセス要求
のあったデータが登録されているか否か検索するもので
ある。
【0056】タイミングコントローラ36は、転送部4
に対して、メモリセル5により一度に並列に読み出され
た並列処理可能な複数のデータ(本実施形態においては
4つの命令データ)について、1サイクル内で順次連続
してブロック単位の自然数倍のデータの転送が完了する
ようなクロック信号(メモリアクセスサイクルよりも高
速のクロック)を出力するZ成分高速転送指示部6を有
している。
【0057】Z成分並列アクセス部7は、メモリセル5
に対して、サプレススイッチ33から出力された連続ア
ドレスのz成分に基づいて指定された複数の各ビット列
について、アドレスのy成分で指定されたビットを並列
に一度にアクセスするものである。このZ成分並列アク
セス部7は、図4に示すように、アドレスデータA0
n を一時的に保持するアドレスバッファ7fと、アド
レスのz成分の解読を行なうZデコーダ7bと、I/O
データD0 〜Dn を一時的に保持するI/Oバッファ7
cと、このI/Oバッファ7cから入力したデータをZ
デコーダ7bからのアドレスに基づいてメモリセル5の
該当メモリ位置に入力保持させるセンス/スイッチ7a
と、2次キャッシュアクセス制御部13からのデータの
読み出し及び書き込みを表すWE信号,OE信号及びO
D信号によりI/Oの制御を行なうI/Oコントローラ
7dと、アドレスのy成分の解読を行なうYデコーダ部
7eとを有している。
【0058】なお、図4においては、1次キャッシュア
クセス制御部11及び1次キャッシュ12の詳細な構成
については図示していないが、各々2次キャッシュアク
セス制御部13及び2次キャッシュ14と、ブロック単
位のデータ長の大きさを除いて、ほぼ同様の回路又は部
材が設けられている。上述の構成により、本発明の一実
施形態にかかるキャッシュメモリ装置17においては、
1次キャッシュ12上にCPU10からのアクセス要求
(読出要求)データが存在しない場合(即ち1次キャッ
シュ12でミスヒットした場合)には、2次キャッシュ
14に対してアクセス要求が発行され、読出アドレスは
2次キャッシュアクセス制御部13のアドレスレジスタ
13aにセットされる。
【0059】2次キャッシュ14においては、データの
読出・転送単位にあわせて下位アドレスビットが0サプ
レスされて、CPU10において並列処理が可能である
4つの命令データが、メモリセル5から同時に読み出さ
れる。そして、同時に読み出された4つの命令データ
は、シフトレジスタ4aにセットされ、メモリアクセス
サイクルよりも高速のクロックに同期して送出される。
【0060】このときのキャッシュメモリ装置17の動
作について、図5に示すフローチャートを用いて更に詳
細に説明すると、CPU10からデータの読出を要求す
るアクセス要求が発行されると(ステップSJ1)、こ
のアクセス要求は1次キャッシュアクセス制御部11で
受信される(ステップSJ2)。ここで、1次キャッシ
ュアクセス制御部11においては、1次キャッシュ12
に設けられているTAG(図示せず)に登録されている
データの中に、アクセス要求の対象となるデータが存在
するか否かが検出される(ステップSJ3)。
【0061】検索の結果、アクセス要求の対象となるデ
ータが存在すると判断された場合には、1次キャッシュ
12から該当するデータが読み出され(ステップSJ4
のYESルートからステップSJ12)、読み出された
データはCPU10に転送される(ステップSJ1
5)。また、検索の結果、アクセス要求の対象となるデ
ータが存在しないと判断された場合には、アクセス要求
を発したCPU10に対してインターロック(interloc
k )信号が発行され、CPU10が一時中止状態とされ
る(ステップSJ4のNOルートからステップSJ
5)。
【0062】この後、2次キャッシュアクセス制御部1
3に対してアクセス要求が発行され、このアクセス要求
は、2次キャッシュアクセス制御部13の転送受信回路
28で受信される(ステップSJ6)。2次キャッシュ
アクセス制御部13においては、サプレススイッチ33
では、1次キャッシュ12のブロック単位の自然数倍の
データ長に相当する下位桁ビットの信号線を高インピー
ダンス状態とすることによりアドレスのz成分が不定状
態とされ、検索回路29では、サプレススイッチ33に
より出力されたアドレスを用いて、2次キャッシュ14
に設けられているTAG(図示せず)にアクセス要求の
あったデータが登録されているか否かが検索される(ス
テップSJ7)。
【0063】検索の結果、アクセス要求の対象となるデ
ータが存在しないと判断された場合には、2次キャッシ
ュアクセス制御部13の転送受信回路28からは、メイ
ンメモリアクセス制御部15に対してアクセス要求が転
送され(ステップSJ8のNOルートからステップSJ
13)、メインメモリ16からデータが読み出され(ス
テップSJ14)、読み出されたデータはCPU10に
転送される(ステップSJ15)。
【0064】また、検索の結果、アクセス要求の対象と
なるデータが存在すると判断された場合には、2次キャ
ッシュアクセス制御部13の指示を受けて、2次キャッ
シュ14においては、並列アクセス部7では、不定状態
とされたアドレスのz成分に該当するデータであって、
CPU10において並列処理が可能である4つの命令デ
ータが、メモリセル5から並列に一度に読み出される
(ステップSJ8のYESルートからステップSJ
9)。なお、図3では、1次キャッシュ12のブロック
単位のデータの並列読出は、タイミングコントローラ3
6(図4参照)からの周期fMHzのクロック信号の出
力により行なわれる。
【0065】一度に読み出された1ブロック分のデータ
(各X成分記憶部2毎の4ビットのデータ)は、転送部
4のシフトレジスタ4aに保持されて並直変換されて、
1サイクル内でシリアルに順次1次キャッシュ12に転
送される(ステップSJ10)。図3に示す例では、1
ブロック分を周期fMHzの1サイクル内で転送を完了
させるため、タイミングコントローラ36のZ成分高速
転送指示部6では1転送単位毎に周期4fMHzのクロ
ック信号を発生する。これにより、fMHzの1サイク
ルで1ブロック分のデータの転送が完了することにな
る。
【0066】1次キャッシュ12に転送されたデータ
は、1次キャッシュ12のメモリセル5に、ブロック単
位毎に書き込まれる。本実施形態では、1次キャッシュ
12のサプレススイッチを用いることにより、2次キャ
ッシュ14と同様に、周期fMHzの1サイクルで1ブ
ロック分のデータの転送を完了させることができる。1
次キャッシュ12にデータが一旦書き込まれると、通常
のクロック信号に同期してアクセス要求のあったデータ
アドレスの読出が行なわれ(ステップSJ11)、読み
出された4ワードのデータがCPU10へ転送される
(ステップSJ15)。
【0067】ところで、本発明の一実施形態にかかるキ
ャッシュメモリ装置17においては、2次キャッシュ1
4から1次キャッシュ12への命令データの高速転送中
(バースト転送中)に、CPU10での分岐命令実行時
に分岐成功が検出され且つバースト転送中の命令データ
の中に分岐先の命令データが含まれていなければ、CP
U10の転送キャンセル部19から転送キャンセル信号
が発行されて、バースト転送が途中キャンセルされる。
【0068】例えば、図6(a)に示すように、CPU
10での分岐命令実行時において、分岐命令のBステー
ト(バッファリードステート)で分岐成功が確定し且つ
バースト転送中の命令データの中に分岐先の命令データ
が存在しないと判断されると、CPU10の転送キャン
セル部19(AND回路45)からの転送キャンセル信
号が2次キャッシュアクセス制御部13に転送されて、
図6(b)に示すように、バースト転送が途中キャンセ
ルされ、その後、分岐先の命令データを読み出すための
フェッチコマンドが発行されて分岐先の命令データが読
み出される。
【0069】本実施形態のCPU10内の転送キャンセ
ル部19では、図7に示すように、転送キャンセル信号
をサプレスするための信号がアドレス比較部44で生成
されている。つまり、分岐命令のデコーダ41に新たに
分岐先アドレスをチェックするための回路であるアドレ
ス比較部44が追加されている。このアドレス比較部4
4では、その時点で実行中のバースト転送の命令アドレ
ス(図7の符号Q参照)の上位を記憶するレジスタを参
照し、そのアドレスと分岐先アドレス計算部42からの
分岐先命令アドレス(図7の符号P参照)とが比較され
る。
【0070】バースト転送は特定のバウンダリで分割し
た単位で行なうため、下位のアドレスを省略することが
できる。この上位アドレスと分岐先命令アドレスの上位
とを比較することにより、バースト転送されるデータ内
に分岐先命令アドレスが含まれるか否かが判定される。
判定結果によりバースト転送データに分岐先命令アドレ
スが含まれる場合は、アドレス比較部44からの信号が
立ち上がって、AND回路45から出力されるべき、先
に述べた転送キャンセル信号が抑止される。結果として
バースト転送されるデータ内に分岐先データが含まれず
分岐が成功した場合のみバースト転送のキャンセルが行
なわれる。
【0071】このように本発明の一実施形態にかかるキ
ャッシュメモリ装置17によれば、並列処理が可能であ
る命令をグループ化し、この命令グループ単位で処理を
行なうことにより、次の命令データが必要となるタイミ
ングが予測可能となるため、例えば単純に命令バッファ
の空きが既定値以上になった場合にキャッシュアクセス
するようなキャッシュメモリ装置においても命令データ
の供給がスムーズに行なえる利点がある。
【0072】また、キャッシュ制御と命令処理速度とを
同期化することにより、シンクロナスDRAMを用いた
主記憶装置や同期型2次キャッシュのアクセス制御と命
令処理とが同期処理可能となるため、コンパイラによる
命令のグループ化の効果を生かして効率よく命令の並列
処理を行なうことができる。さらに、このような制御を
行なった場合に問題となる高速同期転送(バースト転
送)時の分岐命令成功に対しても、分岐による乱れを最
小限に抑止することができ、分岐成功時の命令フェッチ
動作の効率低下を最小限に抑えることができる。
【0073】なお、2次キャッシュ14のシフトレジス
タ4aを、CPU10での複数の命令を分割した複数の
命令グループのうちの少なくとも1つの命令グループを
含む命令情報を高速クロックに同期させて転送するよう
に構成するとともに、前述した全フラグビットの論理積
を出力するAND回路を用いて、CPU10での複数の
命令を分割した少なくとも1つの命令グループに基づく
処理がすべて終了するまでは、次の命令情報をCPU1
0へ転送しないように、1次キャッシュ12のシフトレ
ジスタ4aを構成すれば、命令の並列度が低いプログラ
ムを処理する際の効率化を図ることができる。この場
合、CPU10においては、前述のAND回路を複数の
命令グループに対応した数だけ有することになる。つま
り、命令の並列度が低いプログラムの処理用にCPU1
0が並列実行可能な命令数を整数で割った数を命令グル
ープの大きさとすることが可能なように、上記AND回
路を複数そなえる。
【0074】(b)本発明の一実施形態の変形例の説明 図8は本発明の一実施形態の変形例にかかるキャッシュ
メモリ装置の詳細構成を示すブロック図である。この図
8に示すキャッシュメモリ装置17′は、1次キャッシ
ュ12′のメモリセル5′がライン方向に1つの命令デ
ータのみを格納して、1次キャッシュ12′のシフトレ
ジスタ4a′がメモリセル5′からの1つの命令データ
をCPU10に対して転送する点を除いては、上述した
本発明の一実施形態にかかるキャッシュメモリ装置17
と同様の構成及び機能を有している。
【0075】即ち、キャッシュメモリ装置17′は、所
要の命令を実行しうるCPU10とこのCPU10のた
めの命令情報を記憶するメインメモリ16との間に介装
され、メインメモリ16に記憶されたCPU10用の命
令情報をコピーして格納するものであって、少なくと
も、CPU10の直近に配置されて格納しているCPU
10用の命令情報をCPU10へ転送しうる1次キャッ
シュ12′と、1次キャッシュ12′よりもメインメモ
リ16側に配置されて格納しているCPU10用の命令
情報を1次キャッシュ12′へ転送しうる2次キャッシ
ュ14とをそなえ、2次キャッシュ14に、1次キャッ
シュ12′のライン長に対して自然数倍の命令情報を高
速クロックに同期させて転送するシフトレジスタ4a′
が設けられるとともに、1次キャッシュ12′に、2次
キャッシュ14から転送されてきた命令情報をCPU1
0へ転送するシフトレジスタ4aが設けられ、且つ、C
PU10での分岐命令実行時において分岐成功を検出す
ると、2次キャッシュ14のシフトレジスタ4aによる
命令情報の転送をキャンセルする転送キャンセル部1
9′がCPU10に設けられている。
【0076】また、この転送キャンセル部19′は、図
3及び図7に示した転送キャンセル部19と同様に構成
されるもので、2次キャッシュ14のシフトレジスタ4
aによって転送されている命令情報が分岐先情報を含ん
でいる場合には、CPU10での分岐命令実行時に分岐
成功を検出しても、転送中の命令情報の転送をキャンセ
ルしないように構成されている。
【0077】このようにして、図8に示す構成のキャッ
シュメモリ装置17′においても、高速同期転送(バー
スト転送)時の分岐命令成功に対しても、分岐による乱
れを最小限に抑止することができ、分岐成功時の命令フ
ェッチ動作の効率低下を最小限に抑えることができる。 (c)その他 なお、上述した各実施形態では、並列実行可能な4つの
命令をグループ化する場合について説明しているが、本
発明はこれに限定されるものではない。
【0078】また、上述した各実施形態では、キャッシ
ュメモリ装置が2段構成である場合について説明してい
るが、本発明はこれに限定されるものではなく、3段以
上のキャッシュを有するキャッシュメモリ装置にも同様
に適用され、上述した実施形態と同様の作用効果を得る
ことができる。
【0079】
【発明の効果】以上詳述したように、本発明のキャッシ
ュメモリ装置によれば、1次キャッシュと、命令処理装
置用命令情報を該1次キャッシュに転送しうる2次キャ
ッシュとをそなえ、該2次キャッシュに該命令処理装置
で同時に実行しうる複数の命令を含む命令情報を高速ク
ロックに同期させて転送する手段が設けられるととも
に、該1次キャッシュに該2次キャッシュから転送され
てきた複数の命令を該命令処理装置へ転送する手段が設
けられ、該命令処理装置での複数の命令に基づく処理が
すべて終了するまでは次の命令情報を該命令処理装置へ
転送しないように該1次キャッシュの転送手段が構成さ
れることにより、キャッシュ制御と命令処理速度とを同
期化することができ、これによりコンパイラによる命令
のグループ化の効果を生かして効率よく命令の並列処理
を行なうことができる利点がある(請求項1,2)。
【0080】このとき、該2次キャッシュの転送手段が
該命令処理装置での複数の命令を分割した複数の命令グ
ループのうちの少なくとも1つの命令グループを含む命
令情報を高速クロックに同期させて転送するように構成
されるとともに、該命令処理装置での複数の命令を分割
した少なくとも1つの命令グループに基づく処理がすべ
て終了するまでは次の命令情報を該命令処理装置へ転送
しないように該1次キャッシュの転送手段が構成される
ことにより、命令の並列度が低いプログラムを処理する
際の効率化を図ることができる(請求項3)。
【0081】また、該命令処理装置での分岐命令実行時
において分岐成功を検出すると、該2次キャッシュの転
送手段による該命令情報の転送をキャンセルする転送キ
ャンセル手段が設けられることにより、高速同期転送時
の分岐命令成功に対しても、分岐による乱れを最小限に
抑止することができ、分岐成功時の命令フェッチ動作の
効率低下を最小限に抑えることができる(請求項4)。
【0082】さらに、本発明のキャッシュメモリ装置に
よれば、1次キャッシュと、該1次キャッシュよりも該
主記憶装置側に配置されて格納している命令処理装置用
命令情報を該1次キャッシュに転送しうる2次キャッシ
ュとをそなえ、該2次キャッシュに該1次キャッシュの
ライン長に対して自然数倍の命令情報を高速クロックに
同期させて転送する手段が設けられるとともに、該1次
キャッシュに該2次キャッシュから転送されてきた命令
情報を該命令処理装置へ転送する手段が設けられ、且
つ、該命令処理装置での分岐命令実行時において分岐成
功を検出すると、該2次キャッシュの転送手段による該
命令情報の転送をキャンセルする転送キャンセル手段が
設けられ、該転送キャンセル手段が、該2次キャッシュ
の転送手段によって転送されている該命令情報が分岐先
情報を含んでいる場合には、該命令処理装置での分岐命
令実行時に分岐成功を検出しても、転送中の該命令情報
の転送をキャンセルしないように構成されることによ
り、高速同期転送時の分岐命令成功に対しても、分岐に
よる乱れを最小限に抑止することができ、分岐成功時の
命令フェッチ動作の効率低下を最小限に抑えることがで
きる利点がある(請求項5,6)。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかるキャッシュメモリ
装置の構成を示すブロック図である。
【図2】本発明の一実施形態にかかるキャッシュメモリ
装置を有する計算機システムの構成を示すブロック図で
ある。
【図3】本発明の一実施形態にかかるキャッシュメモリ
装置の詳細構成を示すブロック図である。
【図4】本発明の一実施形態にかかるキャッシュメモリ
装置における2次キャッシュおよび2次キャッシュアク
セス制御部の詳細構成を示すブロック図である。
【図5】本発明の一実施形態にかかるキャッシュメモリ
装置の動作を説明するためのフローチャートである。
【図6】(a),(b)はいずれも本発明の一実施形態
にかかるキャッシュメモリ装置の動作を説明するための
タイムチャートである。
【図7】本発明の一実施形態にかかるキャッシュメモリ
装置の転送キャンセル部の具体的な構成を示すブロック
図である。
【図8】本発明の一実施形態の変形例にかかるキャッシ
ュメモリ装置の詳細構成を示すブロック図である。
【図9】従来のキャッシュメモリ装置の構成を示すブロ
ック図である。
【図10】従来のキャッシュメモリ装置の要部構成を示
すブロック図である。
【図11】(a),(b)はいずれも従来のキャッシュ
メモリ装置の動作を説明するためのタイムチャートであ
る。
【符号の説明】
2 X成分記憶部 4 転送部 4a,4a′ シフトレジスタ 5,5′ 半導体メモリセルアレイ(メモリセル) 6 Z成分高速転送指示部 7 Z成分並列アクセス部 7a センス/スイッチ 7b Zデコーダ 7c I/Oバッファ 7d I/Oコントローラ 7e Yデコーダ部 7f アドレスバッファ 10 CPU(命令処理装置) 11 1次キャッシュアクセス制御部 11a アドレスレジスタ 12,12′ 1次キャッシュ 13 2次キャッシュアクセス制御部 13a アドレスレジスタ 14 2次キャッシュ 15 メインメモリアクセス制御部 16 メインメモリ 17,17′ キャッシュメモリ装置 18 計算機システム 19,19′ 転送キャンセル部(転送キャンセル手
段) 28 転送受信回路 29 検索回路 33 サプレススイッチ 36 タイミングコントローラ 40 命令レジスタ 41 デコーダ 42 分岐先アドレス計算部 43 分岐判定部 44 アドレス比較部 45 AND回路 100 命令処理装置(CPU) 105 メモリセルアレイ 106 バッファ 120 1次キャッシュ 130 2次キャッシュアクセス制御部 131 転送受信回路 132 アドレスレジスタ 133 カウンタ 134 検索回路 140 2次キャッシュ 141 タイミングコントローラ 142 1ワード毎アクセス部 143 データ保持部 144 転送部 150 キャッシュメモリ装置

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数の命令を同時に実行しうる命令処理
    装置と該命令処理装置のための命令情報を記憶する主記
    憶装置との間に介装され、該主記憶装置に記憶された命
    令処理装置用命令情報をコピーして格納するものであっ
    て、少なくとも、該命令処理装置の直近に配置されて格
    納している命令処理装置用命令情報を該命令処理装置へ
    転送しうる1次キャッシュと、該1次キャッシュよりも
    該主記憶装置側に配置されて格納している命令処理装置
    用命令情報を該1次キャッシュへ転送しうる2次キャッ
    シュとをそなえ、 該2次キャッシュに、該1次キャッシュのライン長に対
    して自然数倍であって該命令処理装置で同時に実行しう
    る複数の命令を含む命令情報を高速クロックに同期させ
    て該1次キャッシュへ転送する手段が設けられるととも
    に、 該1次キャッシュに、該2次キャッシュから転送されて
    きた該命令処理装置で同時に実行しうる複数の命令を該
    命令処理装置へ転送する手段が設けられたことを特徴と
    する、キャッシュメモリ装置。
  2. 【請求項2】 該命令処理装置での複数の命令に基づく
    処理がすべて終了するまでは、次の命令情報を該命令処
    理装置へ転送しないように、該1次キャッシュの転送手
    段が構成されていることを特徴とする、請求項1記載の
    キャッシュメモリ装置。
  3. 【請求項3】 該2次キャッシュの転送手段が、該命令
    処理装置での複数の命令を分割した複数の命令グループ
    のうちの少なくとも1つの命令グループを含む命令情報
    を高速クロックに同期させて該1次キャッシュへ転送す
    るように構成されるとともに、 該命令処理装置での複数の命令を分割した少なくとも1
    つの命令グループに基づく処理がすべて終了するまで
    は、次の命令情報を該命令処理装置へ転送しないよう
    に、該1次キャッシュの転送手段が構成されていること
    を特徴とする、請求項1記載のキャッシュメモリ装置。
  4. 【請求項4】 該命令処理装置での分岐命令実行時にお
    いて分岐成功を検出すると、該2次キャッシュの転送手
    段による該命令情報の転送をキャンセルする転送キャン
    セル手段が設けられたことを特徴とする、請求項1記載
    のキャッシュメモリ装置。
  5. 【請求項5】 所要の命令を実行しうる命令処理装置と
    該命令処理装置のための命令情報を記憶する主記憶装置
    との間に介装され、該主記憶装置に記憶された命令処理
    装置用命令情報をコピーして格納するものであって、少
    なくとも、該命令処理装置の直近に配置されて格納して
    いる命令処理装置用命令情報を該命令処理装置へ転送し
    うる1次キャッシュと、該1次キャッシュよりも該主記
    憶装置側に配置されて格納している命令処理装置用命令
    情報を該1次キャッシュへ転送しうる2次キャッシュと
    をそなえ、 該2次キャッシュに、該1次キャッシュのライン長に対
    して自然数倍の命令情報を高速クロックに同期させて該
    1次キャッシュへ転送する手段が設けられるとともに、 該1次キャッシュに、該2次キャッシュから転送されて
    きた命令情報を該命令処理装置へ転送する手段が設けら
    れ、 且つ、該命令処理装置での分岐命令実行時において分岐
    成功を検出すると、該2次キャッシュの転送手段による
    該命令情報の転送をキャンセルする転送キャンセル手段
    が設けられたことを特徴とする、キャッシュメモリ装
    置。
  6. 【請求項6】 該転送キャンセル手段が、該2次キャッ
    シュの転送手段によって転送されている該命令情報が分
    岐先情報を含んでいる場合には、該命令処理装置での分
    岐命令実行時に分岐成功を検出しても、転送中の該命令
    情報の転送をキャンセルしないように構成されているこ
    とを特徴とする、請求項4または請求項5に記載のキャ
    ッシュメモリ装置。
JP8236973A 1996-09-06 1996-09-06 キャッシュメモリ装置 Withdrawn JPH1083347A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8236973A JPH1083347A (ja) 1996-09-06 1996-09-06 キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8236973A JPH1083347A (ja) 1996-09-06 1996-09-06 キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JPH1083347A true JPH1083347A (ja) 1998-03-31

Family

ID=17008515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8236973A Withdrawn JPH1083347A (ja) 1996-09-06 1996-09-06 キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JPH1083347A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008507028A (ja) * 2004-07-14 2008-03-06 シリコン オプティックス インコーポレイテッド キャッシュメモリーを管理するシステムと方法
WO2013080426A1 (ja) * 2011-12-01 2013-06-06 パナソニック株式会社 熱を考慮した構造を持つ集積回路装置、三次元集積回路、三次元プロセッサ装置、及びプロセススケジューラ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008507028A (ja) * 2004-07-14 2008-03-06 シリコン オプティックス インコーポレイテッド キャッシュメモリーを管理するシステムと方法
WO2013080426A1 (ja) * 2011-12-01 2013-06-06 パナソニック株式会社 熱を考慮した構造を持つ集積回路装置、三次元集積回路、三次元プロセッサ装置、及びプロセススケジューラ
US9122286B2 (en) 2011-12-01 2015-09-01 Panasonic Intellectual Property Management Co., Ltd. Integrated circuit apparatus, three-dimensional integrated circuit, three-dimensional processor device, and process scheduler, with configuration taking account of heat

Similar Documents

Publication Publication Date Title
JP4829541B2 (ja) マルチレベル・レジスタ・ファイルを有するディジタル・データ処理装置
US6665774B2 (en) Vector and scalar data cache for a vector multiprocessor
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US5845323A (en) Way prediction structure for predicting the way of a cache in which an access hits, thereby speeding cache access time
US4521851A (en) Central processor
US7219185B2 (en) Apparatus and method for selecting instructions for execution based on bank prediction of a multi-bank cache
US4995041A (en) Write back buffer with error correcting capabilities
US7213126B1 (en) Method and processor including logic for storing traces within a trace cache
JP3218773B2 (ja) キャッシュ・コントローラ
US6321326B1 (en) Prefetch instruction specifying destination functional unit and read/write access mode
US5694574A (en) Method and apparatus for performing load operations in a computer system
JP4218820B2 (ja) ダイレクトマップドキャッシュとフルアソシアティブバッファとを含んだキャッシュシステム、その制御方法及び記録媒体
JPH09128293A (ja) 情報処理装置
US5835949A (en) Method of identifying and self-modifying code
US8707014B2 (en) Arithmetic processing unit and control method for cache hit check instruction execution
US5893146A (en) Cache structure having a reduced tag comparison to enable data transfer from said cache
US5924120A (en) Method and apparatus for maximizing utilization of an internal processor bus in the context of external transactions running at speeds fractionally greater than internal transaction times
US5900012A (en) Storage device having varying access times and a superscalar microprocessor employing the same
JPH02239331A (ja) データ処理システム及びその命令実行を促進する方法
US6873184B1 (en) Circular buffer using grouping for find first function
US7080170B1 (en) Circular buffer using age vectors
JPH0410102B2 (ja)
US6119220A (en) Method of and apparatus for supplying multiple instruction strings whose addresses are discontinued by branch instructions
JPH1083347A (ja) キャッシュメモリ装置
US4737908A (en) Buffer memory control system

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: 20031202