JPH04190438A - ディジタル処理システム - Google Patents

ディジタル処理システム

Info

Publication number
JPH04190438A
JPH04190438A JP2321601A JP32160190A JPH04190438A JP H04190438 A JPH04190438 A JP H04190438A JP 2321601 A JP2321601 A JP 2321601A JP 32160190 A JP32160190 A JP 32160190A JP H04190438 A JPH04190438 A JP H04190438A
Authority
JP
Japan
Prior art keywords
instruction
cache memory
cache
address
processing unit
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
JP2321601A
Other languages
English (en)
Inventor
Yoshiyuki Okuma
禎幸 大熊
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2321601A priority Critical patent/JPH04190438A/ja
Publication of JPH04190438A publication Critical patent/JPH04190438A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はディジタル処理システムに関し、例えば、キ
ャッシュメモリを備えるコンピュータに利用して特に有
効な技術に関するものである。
〔従来の技術〕
コンピュータ等のディジタル処理システムにおいては、
その高速性を損なうことなく記憶容量を拡大する一つの
手段として、記憶装置の階層化が行われる。そして、こ
の記憶階層構造の頂点に、例えば高速アクセス可能なバ
イポーラRAM (ランダムアクセスメモ1月等からな
る比較的小容量のキャッシュメモリが設けられる。
記憶階層構造ならびにキャッシュメモリについては、例
えば、1985年1月30日、株式会社オーム社発行の
「新版情報処理ハンドブックj第811頁〜第813頁
に記載されている。
〔発明が解決しようとする課題〕
キャッシュメモリを備える従来のコンピュータ等では、
比較的使用頻度の高いプログラムやデータ等が例えばブ
ロック単位でキャッシュメモリに取り込まれ、読み出し
要求のあった命令等がキャッシュメモリに格納されてい
ないいわゆるミスヒント時において、その内容更新が行
われる。このため、プログラム内にジャンプ命令やコー
ル命令等のような分岐命令が頻繁に折り込まれた場合、
キャッシュメモリのミスヒントする確率が大きくなり、
これによってコンビエータ等の処理能力が低下してしま
うという問題が生じる。
この発明の目的は、分岐命令等の実行時におけるキャッ
シュメモリのミスヒツトを防止することにある。
この発明の他の目的は、キャッシュメモリのヒツト率を
高め、キャッシュメモリ含むコンピュータ等の処理能力
を高めることにある。
この発明の前記ならびにその他の目的と新規な特徴は、
この明細書の記述及び添付図面から明らかになるであろ
う。
〔課題を解決するための手段〕
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば、下記の通りである。
すなわち、キャッシュメモリを備えるコンピュータ等に
、実行中の命令より数アドレス先行する命令をモニタし
、ジャンプ命令やコール命令等の分岐命令を判読して次
に実行されるべき命令のアドレスを識別し、あるいはプ
ログラム中に挿入されたキャッシュ更新命令を識別して
、キャッシュコントローラに対してキャッシュメモリの
内容更新を指示する補助処理装置を設ける。
〔作 用〕
上記手段によれば、中央処理装置による分岐命令の実行
に先立って、分岐先の命令等を取り込むべくキャッシュ
メモリの内容更新を行うことができるため、分岐命令等
の実行にともなうキャッシュメモリのミスヒントを防止
することができる。
その結果、キャッシュメモリのヒント率を高め、キャッ
シュメモリを含むコンピュータ等の処理能力を高めるこ
とができる。
〔実施例1〕 第1図には、この発明が適用されたコンピュータの第1
の実施例のブロック図が示されている。
また、第2図には、第1図のコンピュータの第1の実施
例の動作タイムチャートが示され、第3図には、その第
2の実施例の動作タイムチャートが示されている。これ
らの図をもとに、この実施例のコンピュータの構成と動
作の概要ならびにその特徴について説明する。
第1図において、コンビエータは、特に制限されないが
、中央処理装置CPU及び補助処理装置SPUを備え、
さらに、特に制限されないが、2組のアドレスバスAB
I及びAB2ならびにデータバスDBI及びDB2を介
して上記中央処理袋fllcPU又は補助処理装置SP
Uに結合されるキャッシュメモリCM及びキャッシュコ
ントローラCMCを備える。キャッシュコントローラC
MCは、アドレスバスLAB及びPABならびにデータ
バスDBを介してDMAコントローラDMA C及びメ
モリ管理ユニ7トMMUに結合され、さらに主記憶袋f
MMに結合される。
ここで、中央処理袋WCPUは、一連の命令群つまりは
プログラムに従って所定の論理演算処理を実行し、また
コンピュータを構成する各部の動作をi#J?M・統轄
する。これらのプログラムは、主記憶袋fMMに格納さ
れ、必要に応じてキャッシュメモリCMにブロック単位
で読み出される。中央処理装置CPUにより実行される
命令のアドレスは、その内部に設けられる図示されない
プログラムカウンタによって指定される。中央処理装置
CPUは、このプログラムカウンタにより指定される命
令のアドレスをアドレスバスABIを介してキャッシュ
メモリCM及びキャッシュコントローラCMCに出力す
ることで、命令の読み出しを開始する。その結果、所望
する命令がキャッシュメモリCM内にあった場合には、
データバスDB1を介してその命令を取り込むが、所望
する命令がキャッシュメモリCM内になかった場合には
、キャッシュコントローラCMCによって主記憶袋fM
Mから読み出されるのを待つ。
補助処理袋zspuは、アドレスバスA82及びデータ
バスDB2を介して、上記キャッシュメモリCM及びキ
ャッシュコントローラCMCをアクセスする。そして、
特に制限されないが、中央処理装置cpuと並行してし
かも中央処理装置CPUで実行中の命令より4アドレス
先行する命令を取り込み、プログラムの流れをモニタす
る。この実施例において、補助処理装置SPUは、特に
制限されないが、ジャンプ命令やコール命令等のいわゆ
る分岐命令を判読し、次に実行すべき命令のアドレスを
識別する機能を持つ、補助処理装置SPUは、これらの
アドレスを保持するプログラムカウンタを備え、その内
容は、特に制限されないが、アドレスプリセント信号A
PSがハイレベルとされることにより、中央処理装置C
PUのプログラムカウンタの針数値より4アドレス先行
するアドレスにプリセントされる。
次に、キャッシュメモリCMは、特に制限されないが、
高速アクセス可能なバイポーラRAMからなる比較的小
容量の記憶装置であり、合計三つのアクセスポートを備
える。このうち、第1のアクセスポートは、アドレスバ
スABI及びデータバスDBIを介して中央処理装置C
PUに結合され、キャッシュコントローラCMCからハ
イレベルのポートイネーブル信号P1が供給されること
で選択的に読み出し動作を実行する。同様に、第2のア
クセスポートは、アドレスバスAB2及びデータバスD
B2を介して補助処理装置5P(Jに結合され、キャッ
シュコントローラCMCからハイレベルのポートイネー
ブル信号P2が供給されることで選択的に読み出し動作
を実行する。
一方、キャッシュメモリCMの第3のアクセスホードは
、特に制限されないが、アドレスバスLAB及びPAB
とデータバスDBを介して、DMAコントローラDMA
C及び主記憶装置MMに結合される。キャッシュメモリ
CMのアドレス空間は、特に制限されないが、例えば2
56バイトを単位として複数のプロ7りに分割され、そ
の記憶内容の更新はこれらのプロ7りを単位として行わ
れる。上記第3のアクセスポートは、このようなキャッ
シュメモリCM及び主記憶袋fMM間におけるブロック
転送に供される。キャッシュメモリCMの各ブロックに
対する記憶内容の割り当てならびに主記憶装置MMとの
転送処理は、キャッシュコントローラCMCによって制
御される。
キャッシュコントローラCMCは、特に制限されないが
、キャッシュメモリCMの各アクセスポートに対応して
設けられる二つのアクセスポートを備える。このうち、
一方のアクセスポートは、上記アドレスバスABI及び
データバスDB1+介して中央処理装置cpuに結合さ
れ、他方のアクセスポートは、アドレスバスAB2及び
データバスDB2を介して補助処理装置spuに結合さ
れる。この実施例において、キャッシュコントローラC
MCは、特に制限されないが、さらにアドレスバスLA
B及びデータバスDBに結合される@3のアクセスポー
トを備える。このアクセスボートは、主記憶装置MMを
アクセスするためのポートであり、アドレスバスLAB
はいわゆる論理アドレスバスである。このため、アドレ
スバスLABは、メモリ管理ユニットMMUを介してい
わゆる物理アドレスバスPABに結合され、さらに主記
憶装置MMに結合される。
キャッシュコントローラCM Cは、特に制限されない
が、キャッシュメモリCMの各ブロックの使用状態を管
理するためのタグメモリTMを備える。タグメモリTM
は、特に制限されないが、いわゆる連想メモリよって構
成され、中央処理装置CPU又は補助処理装置SPUか
ら供給されるアドレスの所定のピントをタグとして、指
定されるアドレスの内容がキャッシュメモリCMのいず
れかのブロックに格納されているかどうかを判定する。
その結果、キャッシュメモリCMがヒツトして指定され
るアドレスの内容がいずれかのブロックに格納されてい
る場合、キャッシュコントローラCMCは対応する上記
ボートイネーブル信号Pl又はP2をハイレベルとする
。また、キャッシュメモリCMがミスヒツトとして指定
されるアドレスの内容がいずれのブロックにも格納され
ていない場合、キャッシュコントローラCMCはそのア
ドレスの内容を主記憶袋fiMMから読み出し、中央処
理装置CPU又は補助処理装置SPUに伝達する。前述
のように、キャッシュメモリCM及び主記憶装置MM間
の転送はブロック単位で行われる。このため、対応する
ブロックの残りのプログラム又はデータ等の転送は、D
MAコントローラDMACの制御により、キャッシュコ
ントローラCMCを介することなく行われる。
DMAコントローラDMACは、特に制限されないが、
キャッシュコントローラCMCからハイレベルのDMA
起動信号DSが供給されることによって選択的に起動さ
れる。このとき、DMAコントローラDMACには、特
に制限されないが、転送すべきブロックのキャッシュメ
モリCMならびに主記憶装置MMにおける先頭アドレス
とハイド数等があわせて供給される。DMAコントロー
ラDMACは、主記憶装置MMの指定されたブロックに
格納されるプログラム及びデータ等をバイト単位で読み
出し、キャッシュコントローラCMCを介することなく
キャッシュメモリCMに転送する。DMAコントローラ
DMACは、特に制限されないが、キャッシュメモリC
Mに格納されたデータ等を主記憶装置MMの指定された
ブロックに転送する機能をあわせ持つ。
メモリ管理ユニットMMUは、特に制限されないが、ア
ドレス変換バッファTLBを備え、キャッシュコントロ
ーラCM(、又はDMAコントローラDMAcからアド
レスバスL’ABを介して供給されるいわゆる論理アド
レスを、主記憶装置MMの物理的なアドレスに対応した
いわゆる物理アドレスに変換し、アドレスバスPABを
介して主記憶装置MMに伝達する。
主記憶袋fMMは、特に制限されないが、比較的低速な
がら極めて大容量のMOSメモリ等によって構成され、
コンピュータの処理に必要な大部分のプログラム及びデ
ータ等を格納する。主記憶装置MMのアドレス空間は、
キャッシュメモリCMに対応してブロック分割され、こ
のブロックを単位としてDMAコントローラDMACに
よる記憶内容の転送が行われる。
次に、第2図の動作タイムチャートを例に、この実施例
のコンピュータの補助処理装置SPUの役割を詳細に説
明する。なお、第2図において、アドレスバスABI及
びAB2ならびにLABを介して伝達されるアドレスは
、特に制限されないが、2バイト構成とされ、これらの
バイトが同一サイクル内にコード表示される。また、命
令は複数バイトの語長を持つものとされ、データバスD
B1及びDB2を介してバイトごとに分割して伝達され
る。これらの命令は、まずその命令コードが例えばジャ
ンプ命令“J”又は条件付きジャンブ命令“CJ”等の
ようにコード表示され、その後に例えばジャンプ先のア
ドレスを示す“9“及び“0”等が表示される0分岐を
伴わない通常の命令については、その命令コード及びア
ドレスがともに“N”によって表される。
第2図において、コンピュータは、特に制限されないが
、システムクロック信号SCに同期してその動作を進行
する。
所定のプログラムの処理を開始した中央処理袋fCPU
は、まずアドレスバスABIに最初の命令が格納される
アドレス“00゛を出力するとともに、アドレスプリセ
ント信号APSをハイレベルとする。補助処理装置SP
Uは、上記アドレスプリセット信号APSのハイレベル
を受けてそのプログラムカウンタを4アドレス先行する
値にブリセフノドし、アドレスバスAB2にアドレス″
04”を出力する。これらのアドレス“00”及び“0
4”に関する命令は、予めキャッシュメモリCMに転送
され、保持される。
キャッシュコントローラCMCは、アドレスバスABI
及びAB2を介して伝達されるアドレス”00”及び“
04”の一部をタグとして、タグメモリTMの連想読み
出しを開始する。そして、これらのアドレスに関する命
令がキャッシュメモリCMに格納済みであることを識別
し、ポートイネーブル信号Pl及びP2をハイレベルと
する。
その結果、キャッシュメモリCMの二つのアクセスポー
トにおいて読み出し動作が開始され、その読み出しデー
タ“N゛がデータバスDB1及びDB2を介して中央処
理装置CPU及び補助処理装置SPUに出力される。
中央処理装置CPUは、キャッシュメモリCMから読み
出された命令が分岐を伴わない通常の命令であることか
ら、この命令に関する演算処理等をその内部で実行する
とともに、プログラムカウンタをカウントアンプさせ、
アドレス“Ol”をアドレスバスABIに出力する。そ
して、補助処理装置SPUに供給されるアドレスプリセ
ント信号APSをロウレベルとする。
補助処理装置SPUは、アドレスプリセット信号APS
がロウレベルとされ、キャッシュメモリCMから読み出
された命令が分岐を伴わないJ常の命令であることから
、そのプログラムカウンタをカウントアンプし、アドレ
ス“05”をアドレスバスAB2に出力する。
これにより、アドレス“O1″及び“05”に関する命
令の読み出し動作が再開され、キャッシュメモリCMの
読み出しデータ“N″がデータバスDBI及びDB2を
介して中央処理装置CPU及び補助処理装置SPUに出
力される。
以下、次のアドレス“02”及び“06″まで同様な処
理が繰り返され、アドレス“03”及び07″に関する
命令の読み出しにおいて、ジャンプ命令′J”がデータ
バスDB2を介して補助処理袋f&sPUに出力される
補助処理装置SPUは、ジャンプ命令“Joを識別し、
この命令が3バイト長の命令であることを判定して、後
続する2バイトすなわちアドレス″08”及び′″09
”を読み出す。その結果、ジャンプ先のアドレス690
”を識別し、そのプログラムカウンタをプリセットして
、アドレス“90”をアドレスバスAB2に出力する。
この間、中央処理装置CPUは、そのプログラムカウン
タをカウントアンプし、アドレス“o3”ないし“06
”に関する命令の処理を実行する。
アドレスバスAB2を介してアドレス”90”を受けた
キャソンユコントローラCMCは、ソノ一部をタグとし
てタグメモリTMの連想読み出しを実行するが、アドレ
ス“9o”に関する命令はキャッシュメモリCMに格納
されていない、このため、キャッシュコントローラCM
Cは、対応するポートイネーブル信号P2をロウレベル
にするとともに、アドレス″9o″をアドレスバスLA
Bに出力し、主記憶装置MMの読み出し動作を開始する
。また、DMAコントローラDMACにハイレベルのD
MA起動信号DSを送り、アドレス″90”を含むブロ
ックの残りをキャッシュメモリCMにブロック転送すべ
く指示する。主記憶装置MMから読み出されたアドレス
″9o″に関する命令は、読み出しデータ“N2として
、データハイドDB2を介して補助処理装置SPUに出
力される。また、アドレス“91”以後に関する命令は
、主記憶装置MMとキャッシュメモリCMとの間で直接
転送される。これらのアドレスに関する命令は分岐を伴
わない通常の命令であるため、補助処理装置SPUはそ
のプログラムカウンタを順次カウントアンプさせる。
中央処理装置CPUは、その処理がアドレス“09”に
関する命令に達した時点で、上記ジャンプ命令“J90
゛を識別する。このため、中央処理値ficPUは、そ
のプログラムカウンタの計数値を“90”にブリセント
し、アドレスプリセット信号APSをハイレベルとする
。ところが、このジャンプ命令はすでに補助処理装置S
PUによって識別され、アドレス“90”以後に関する
命令もすでにキャッシュメモリCM内に転送済みとなっ
ている。その結果、中央処理装置CPUは、キャッシュ
メモリCMをミスヒントとすることなく、次の読み出し
データ“N”を得、補助処理装置SPUのプログラムカ
ウンタもプリセットされることなくカウントアツプされ
る。
つまり、この実施例のコンピュータでは、中央処理値f
cPUによって実行されるべき命令が、その直前すなわ
ち4アドレス先行して補助処理装置sPUに取り込まれ
、モニタされる・そして、これらの命令の中からジャン
プ命令“J”等のような分岐を伴う命令が識別された場
合、キャッシュコントローラCMCが、補助処理装置S
PUによる命令読み出しが行われた段階でキャッシュメ
モリCMのミスヒツトを判定し、主記憶値ff1MMか
ら分岐先のアドレスに関する命令ならびにこれを含むブ
ロックの読み出し動作を自律的に行う。
これにより、中央処理値fcPUは、実行中のプログラ
ムが分岐命令を含むにもかかわらず、キャッシュメモリ
CMのミスヒントに遭遇しない、その結果、キャッシュ
メモリCMのヒツト率が高められ、キャッシュメモリを
含むコンピュータ(7)処理能力が高められるものとな
る。
ところで、第2Ff!Jの動作タイムチャートでは、補
助処理装置spuによって識別された分岐命令がいわゆ
る無条件分岐を指定するジャンプ命令“J”であったが
、各種フラグ等に従って選択的に分岐するいわゆる条件
付きジャンプ命令“CJ”等の場合、分岐先のアドレス
は例えばアドレス“OA”又は“90”のいずれがとな
り、確定できナイ。この場合、第3図に例示されるよう
に、条件付きジャンプ命令“CJ90”が識別された時
点で、補助処理装置SPUからアドレス“9o”に関す
る命令の読み出しを挿入することで、キャッシュメモリ
CMのミスヒントを判定させ、この命令が含まれるブロ
ックを主記憶装置MMから転送させながら、アドレス″
OA″ないし”OD”に関する命令を並行して読み出せ
ばよい。
補助処理装置SPUによってアドレス“90″に関する
命令の読み出しが指示されるとき、中央処理装置CPU
は、第3図に示されるように、■サイクルだけその動作
を停止してもよいし、そのまま続行してもよい。
中央処理装置CPUが条件付きジャンプ命令“CJ90
”を識別しフラグ等に従って分岐を判定すると、そのプ
ログラムカウンタがアドレス“90′にプリセットされ
るとともに、アドレスプリセット信号APSがハイレベ
ルとされ、補助処理装置SPUのプログラムカウンタが
アドレス“94”にプリセットされる。このとき、キャ
ッシュメモリCMには、アドレス″90”以後に関する
命令がすでに転送されており、中央処理装置cpUはキ
ャッシュメモリCMをミスヒントとすることなく分岐後
の命令を読みaせる。
一方、中央処理装置CPUが条件付きジャンプ命令“C
J90”を識別しフラグ等に従って分岐しないことを判
定した場合、中央処理装置cpuはアドレス“OA”以
後に関する命令の処理を続行する。このとき、アドレス
プリセット信号APSはロウレベルのままとされるため
、補助処理装置SPUは、そのプログラムカウンタをプ
リセ。
トせず、アドレス“OE”以後に関する命令のモニタを
続行することができる。
〔実施例2〕 第4図には、この発明が通用されたコンビエ−夕の第2
の実施例のプロ、り図が示されている。
また、第5図には、第4図のコンピュータの第1の実施
例の動作タイムチャートが示され、第6図には、その第
2の実施例の動作タイムチャートが示されている。なお
、この実施例のコンピュータは、上記第1図の実施例を
基本的に踏襲するものであるため、これと異なる部分に
ついてのみ説明を追加する。
第4図において、このコンピュータは、特に制限されな
いが、2個の補助処理装置5pui及び5PtJ2を備
える。このうち、補助処理装置5pUlは、アドレスバ
スAB2及びデータバスDB2を介してキャッシュメモ
リCM及びキャッシュコントローラCMCに結合され、
補助処理装置5PU2は、アドレスバスAB3及びデー
タバスDB3を介して上記キャッシュメモリCM及びキ
ャッシュコントローラCMCに結合される。キャッシュ
メモリCM及びキャッシュコントローラCMCは、とも
に、アドレスバスABI−AB3ならびにデータバスD
BI−DB3に結合される三つのアクセスポートと、ア
ドレスバスLAB及びデータバスDBに結合されるもう
一つのアクセスポートとを備える。補助処理装置SPU
 l及び5PU2には、特に制限されないが、中央処理
袋fcPUからアドレスプリセット信号APSが共通に
供給される。また、キャッシュメモリCMの第1ないし
第3のアクセスポートは、特に制限されないが、キャッ
シュコントローラCMCから供給されるポートイネーブ
ル信号P1ないしP3に従って選択的に読み出し動作を
実行する。
この実施例において、補助処理装置5PUI及び5PU
2は、ともに中央処理装置CPUで実行される直前の命
令すなわち4アドレス先行する命令をモニタする。そし
て、これらの補助処理装置によって条件付きジャンプ命
令“CJ”等の分岐命令が識別されると、@5図に示さ
れるように、例えば補助処理装置1sPU1はそのまま
後続する命令をモニタし、補助処理装置5PU2はその
プログラムカウンタを分岐先のアドレス“90″にブリ
セントする。これにより、キャッシュメモリCMの第3
のアクセスポートにおいてミスヒントが生じ、アドレス
“90“以後に関する命令の主記憶!li!WiMMか
らキャッシュメモリCMに対する転送処理が開始される
一方、中央処理装置CPUでは、後続する命令が実行さ
れ、条件付きジャンプ命令“CJ90”が識別された段
階で、フラグ等による分岐の必要性が判定される。その
結果、第5図に例示されるように、アドレス“90”へ
の分岐を判定した場合、中央処理装置CPUは、アドレ
スプリセット信号APSをハイレベルとし、補助処理装
置5PU1及び5PU2のプログラムカウンタをアドレ
ス′94″にブリセントする。中央処理装置CPUが分
岐をしないことを判定した場合、補助処理装置5PUI
は、そのままアドレス“OE”以後に関する命令のモニ
タを続行する。また、補助処理装置5PU2は、アドレ
スプリセット信号APSが所定のタイミングでハイレベ
ルとされないために、そのプログラムカウンタを中央処
理装置CPUによって指定されるアドレス″OE″にプ
リセットし、次の分岐命令に備える。
つまり、この実施例のコンピュータでは、補助処理装置
5put及び5PU2によって条件付きジャンプ命令“
CJ”等が識別されてから中央処理装置CPUによって
分岐の必要性が判定されるまでの間も、例えば後続する
アドレス“OA”ないし“OD”ならびに分岐先のアド
レス“90″ないし“93”に関する命令のモニタが間
断な〈実施される。したがって、これらの過渡的な状態
において取り込まれる命令の中に含まれる分岐命令も、
漏らすことなく識別することができる。その結果、さら
に、キャッシュメモリCMのヒント率をさらに高め、コ
ンピュータの処理能力を高めることができるものである
ところで、j!5図の動作タイムチャートでは、処理開
始時点において、補助処理装置5pui及び5PU2に
よるアドレス100”ないし“032に関する命令のモ
ニタが実施されない。しかるに、これらの命令に分岐命
令が含まれた場合、キャッシュメモリCMのミスヒント
が発生する。これに対処するため、第6図の動作タイム
チャートでは、処理開始時点において中央処理装置CP
Uの動作を一時的に停止させ、この間に補助処理値fi
sPU1及び5PU2によってアドレス“00′ないし
“03“に関する命令をモニタする方法を採っている。
これらのモニタ処理は、中央処理装置CPUから見ると
いわゆるダ犬−サイクルとなるが、これによる処理能力
の低下は無視できる程度にわずかなものと言える。
〔実施例3〕 第7図には、この発明が通用されたコンピュータの第3
の実施例のブロック図が示され、第8図には、その一実
施例の動作タイムチャートが示されている。なお、この
実施例のコンピュータは、上記第1図の実施例を基本的
に踏襲するものであるため、これと異なる部分について
のみ説明を追加する。
第7図において、このコンピュータは、中央処理装置C
PUと、1個の補助処理装置SPUを備える。このうち
、中央処理装置CPUは、アドレスバスABI及びデー
タバスDBIを介して、キャッシュメモリCM及びキャ
ッシュコントローラCMCに結合される。また、補助処
理値zspuは、特に制限されないが、アドレスバスA
B2と上記データバスDBIを介して、キャッシュメモ
リCM及びキャッシュコントローラCMCに結合される
。キャッシュコントローラCMCには、さらに、補助処
理装置5PCIからキャッシュ更新信号CMRが選択的
に供給される。
この実施例において、補助処理装置SPUは、データバ
スDBIを介して中央処理装置CPUに取り込まれる命
令をモニタする機能を備える。これらの命令には、第8
図に例示されるように、条件付きジャンプ命令“CJ9
0”等の分岐命令に先立って、キャッシュ更新命令“C
R90”が挿入される。このようなキャッシュ更新命令
の挿入は、特に制限されないが、関連するプログラムが
コンパイラによって機械語に翻訳される段階で自動的に
行われる。
補助処理装置SPUは、上記キャッシュ更新命令“CR
90″を識別すると、特に制限されないが、第8図に示
されるように、キャッシュ更新信qcMRをハイレベル
とし、アドレスバスAB2を介して分岐先のアドレス“
9o”をキャッシュコン)o−’tCMCに送る。キャ
ッシュコントローラCMCは、キャッシュ更新信号CM
Rのハイレベルを受け、タグメモリTMをアクセスする
ことなく、アドレスバスLABにアドレス“90”を出
力し、主記憶装置MMの読み出し動作を開始する。この
とき、中央処理装置CPUは、上記キャッシュ更新命令
を無視し、後続する命令の処理を続行する。そして、条
件付きジャンプ命令“CJ90′″を識別しその分岐を
判定した段階で、そのプログラムカウンタをアドレス″
90”にプリセフ卜するが、このアドレスに関する命令
はすでに主記憶装置MMからキャッシュメモリCMに転
送済みであるため、キャッシュメモリCMのミスヒント
は生じない。
つまり、この実施例のコンピュータでは、コンパイラに
よるプログラムの翻訳時にキャッシュ更新命令か自動的
に挿入され、補助処理装置SPUは、これらのキャッシ
ュ更新命令を識別し、キャッシュコントローラCMCに
対してキャッシュ更新を指示するだけでよい。このため
、上記第1及び第2の実施例と同様な効果を得つつ、コ
ンピュータのバス系統が簡素化されるとともに、キャッ
シュコントローラCMC及びキャッシュメモリCMのア
クセスポート数が削減される。
以上の複数の実施例に示されるように、この発明ヲキャ
ッシュメモリを備えるコンピュータ等のディジタル処理
システムに通用することで、次のような作用効果が得ら
れる。すなわち、(1)キャッシュメモリを備えるコン
ピュータ等に、実行中の命令より数アドレス先行する命
令をモニタし、ジャンプ命令やコール命令等の分岐命令
を判読して次に実行されるべき命令のアドレスを識別し
、あるいはプログラム中に挿入されたキャッシュ更新命
令を識別して、キャッシュコントローラに対してキャッ
シュメモリの内容更新を指示する補助処理装置を設ける
ことで、中央処理装置による分岐命令の実行に先立って
、分岐先の命令等を取す込むべくキャッシュメモリの内
容更新を行うことができるという効果が得られる。
(2)上記(1)項により、分岐命令等の実行にともな
うキャッシュメモリのミスヒントを防止できるという効
果が得られる。
(3)上記(1)項及び(2)項により、キャッシュメ
モリのヒント率を高め、キャッシュメモリを含むコンピ
ュータ等の処理能力を高めることができるという効果が
得られる。
以上、本発明者によってなされた発明を実施例に基づき
具体的に説明したが、この発明は、上記実施例に限定さ
れるものではなく、その要旨を逸脱しない範囲で種々変
更可能であることは言うまでもない0例えば、第1図及
び第4図ならびに第7図において、補助処理装置SPU
ならびに5PUl及び5PU2は、中央処理装置CPU
又はキャッシュコントローラCMC等に含まれるものと
してもよいし、その設置数は3個以上であってもよい。
また、アドレスバスLAB及びデータバスDBは、アド
レスバスABI又はAB2あるいはデータバスDBI又
はDB2を兼用するものであってもよい、キャッシュメ
モリCM及び主記憶値WiMMを構成する記憶装置の種
類は、この実施例による制約を受けるものではない、第
2図、@3図、第5図、第6図ならびに第8図において
、各補助処理装置によってモニタされる命令の先行アド
レス数は任意であるし、キャッシュ更新命令が挿入され
る位置も任意である。また、補助処理装置SPUによっ
て識別される分岐命令は、コール命令やアドレス分岐を
伴うその他の命令が含まれる。さらに、各ブロック図及
び動作タイムチャートに示されるコンピュータのブロッ
ク構成やバス構成ならびにアドレス信号及び制御信号の
組み合わせ等は種々の実施形態を採りうるし、各部の呼
称もこの実施例による制約を受けない。
以上の説明では、主として本発明者によってなされた発
明をその背景となった利用分野であるコンピュータに通
用した場合について説明したが、それに限定されるもの
ではなく、例えば、キャッシュメモリ又はキャッシュコ
ントローラあるいはプロセッサとして単体で構成される
ものや同様なキャッシュメモリを備える各種のディジタ
ル処理装置にも通用できる。この発明は、少なくともキ
ャッシュメモリを備えるディジタル処理システムに広く
通用できる。
〔発明の効果〕
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば、下記の通りである
。すなわち、キャッシュメモリを備えるコンピュータ等
に、実行中の命令より数アドレス先行する命令をモニタ
し、ジャンプ命令やコール命令等の分岐命令を判読して
次に実行されるべき命令のアドレスを識別し、あるいは
プログラム中に挿入されたキャッシュ更新命令を識別し
て、キャッシュコントローラに対してキャッシュメモリ
の内容更新を指示する補助処理装置を設けることで、中
央処理装置による分岐命令の実行に先立って、分岐先の
命令等を取り込むべくキヤ。
ンエメそりの内容更新を行うことができるため、分岐命
令等の実行にともなうキャッシュメモリのミスヒントを
防止することができる。その結果、キャッシュメモリの
ヒツト率を高め、キャッシュメモリを含むコンピュータ
等の処理能力を高めることができるものである。
【図面の簡単な説明】
第1図は、この発明が通用されたコンピュータの第1の
実施例を示すプロ、り図、 第2図は、第1図のコンピュータの@lの実施例を示す
動作タイムチャート、 $3図は、第1図のコンピュータの第2の実施例を示す
動作タイムチャート、 第4図は、この発明が通用されたコンピュータの第2の
実施例を示すブロック図、 第5図は、第4図のコンピュータの第1の実施例を示す
動作タイムチャート、 第6図は、第4図のコンピュータの第2の実施例を示す
動作タイムチャート、 第7図は、この発明が通用されたコンピュータの第3の
実施例を示すプロ、り図、 第8図は、!187図のコンピュータの一実に例を示す
動作タイムチャートである。 CPU・・・中央処理装置、SPU、5PUL〜5PU
2・・・補助処理装置、CM・・・キャッシュメモリ、
CMC・・・キャッシュコントローラ、TM・・・タグ
メモリ、DMAC・・・DMAコントローラ、MMU・
・・メモリ管理ユニット、TLB・・・アドレス変換ハ
7ファ、MM・・・主記憶装置、ABI−AB3.LA
B、PAB・・・アドレスバス、DBI−DB3.DB
・・・データバス。

Claims (1)

  1. 【特許請求の範囲】 1、プログラムに従って所定の動作を行う中央処理装置
    と、上記プログラム等を一時的に格納するキャッシュメ
    モリと、上記キャッシュメモリの内容を必要に応じて更
    新するキャッシュコントローラと、上記中央処理装置に
    より実行される直前の命令をモニタし実質的に上記キャ
    ッシュコントローラに対してキャッシュメモリの更新を
    指示する補助処理装置とを具備することを特徴とするデ
    ィジタル処理システム。 2、上記補助処理装置は、分岐命令を含む所定の命令を
    判読し次に実行されるべき命令のアドレスを識別する機
    能を有するものであり、上記キャッシュコントローラは
    、上記次に実行されるべき命令が上記キャッシュメモリ
    に格納されているかどうかを判定しその結果に従って主
    記憶装置の対応する部分を上記キャッシュメモリに選択
    的に転送する機能を有するものであることを特徴とする
    特許請求の範囲第1項記載のディジタル処理システム。 3、上記補助処理装置は、プログラムの分岐数に応じて
    複数個設けられるものであることを特徴とする特許請求
    の範囲第1項又は第2項記載のディジタル処理システム
    。 4、上記キャッシュメモリ及びキャッシュコントローラ
    は、上記中央処理装置及び補助処理装置に対応して設け
    られる複数のアクセスポートを備えるものであることを
    特徴とする特許請求の範囲第1項、第2項又は第3項記
    載のディジタル処理システム。 5、上記補助処理装置は、上記プログラム中に挿入され
    たキャッシュ更新命令を判読し、これをもとに上記キャ
    ッシュコントローラに対してキャッシュメモリの更新を
    指示するものであることを特徴とする特許請求の範囲第
    1項記載のディジタル処理システム。 6、上記キャッシュ更新命令は、コンパイラによって自
    動的に挿入されるものであることを特徴とする特許請求
    の範囲第5項記載のディジタル処理システム。 7、上記キャッシュ更新命令は、上記中央処理装置にお
    いて無視されるものであることを特徴とする特許請求の
    範囲第5項又は第6項記載のディジタル処理システム。 8、上記ディジタル処理システムは、コンピュータであ
    ることを特徴とする特許請求の範囲第1項、第2項、第
    3項、第4項、第5項、第6項又は第7項記載のディジ
    タル処理システム。
JP2321601A 1990-11-26 1990-11-26 ディジタル処理システム Pending JPH04190438A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2321601A JPH04190438A (ja) 1990-11-26 1990-11-26 ディジタル処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2321601A JPH04190438A (ja) 1990-11-26 1990-11-26 ディジタル処理システム

Publications (1)

Publication Number Publication Date
JPH04190438A true JPH04190438A (ja) 1992-07-08

Family

ID=18134359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2321601A Pending JPH04190438A (ja) 1990-11-26 1990-11-26 ディジタル処理システム

Country Status (1)

Country Link
JP (1) JPH04190438A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219759B1 (en) 1997-11-07 2001-04-17 Nec Corporation Cache memory system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219759B1 (en) 1997-11-07 2001-04-17 Nec Corporation Cache memory system

Similar Documents

Publication Publication Date Title
JP3289661B2 (ja) キャッシュメモリシステム
CA1332248C (en) Processor controlled interface with instruction streaming
US5870576A (en) Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures
US20050132363A1 (en) Method, apparatus and system for optimizing context switching between virtual machines
US20030196045A1 (en) Processing device which prefetches instruction having indicator bits specifying a quantity of operand data for prefetching
US20080270707A1 (en) Data processor
CA2016532C (en) Serializing system between vector instruction and scalar instruction in data processing system
JP2000507015A (ja) リアルタイムプログラム言語アクセラレータ
WO2001038970A2 (en) Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks
JPH04190438A (ja) ディジタル処理システム
US6243798B1 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
JPH1063574A (ja) キャッシュメモリ付プロセッサ
JP3217348B2 (ja) 情報処理システム
JP2972451B2 (ja) ハードウェア制御ソフトウェアによるキャッシュメモリ制御方式
JPH0784971A (ja) コンピュータシステム
JP3161422B2 (ja) マイクロコンピュータ
JPH01129334A (ja) キャッシュメモリのデータ制御方式
JPH05257807A (ja) キャッシュメモリ制御装置
JPS6073760A (ja) バツフアストレ−ジの常駐方式
JPH03256127A (ja) マイクロプロセッサシステム
JPH03271859A (ja) 情報処理装置
JPH01282639A (ja) マイクロ・プログラム・メモリ装置
JPH04162135A (ja) データ処理装置
JPS6215645A (ja) 中央処理装置
JPH06202982A (ja) バス制御方法及びその装置並びに情報処理装置