JPH011033A - コンピュ−タ装置 - Google Patents

コンピュ−タ装置

Info

Publication number
JPH011033A
JPH011033A JP62-155550A JP15555087A JPH011033A JP H011033 A JPH011033 A JP H011033A JP 15555087 A JP15555087 A JP 15555087A JP H011033 A JPH011033 A JP H011033A
Authority
JP
Japan
Prior art keywords
instruction
save
execution
recovery
register file
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
JP62-155550A
Other languages
English (en)
Other versions
JPS641033A (en
Inventor
岡村 光善
賢一 前田
健 相川
斉藤 光男
司 的場
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP62155550A priority Critical patent/JPS641033A/ja
Priority claimed from JP62155550A external-priority patent/JPS641033A/ja
Publication of JPH011033A publication Critical patent/JPH011033A/ja
Publication of JPS641033A publication Critical patent/JPS641033A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分Iff) 本発明は、コンピュータ装置に係わり、特にサブルーチ
ン番コール、リターン等の際のレジスタ・ファイルの高
速退避、回復機能を備えたコンピュータ装置に関する。
(従来の技術) 従来、サブルーチンコール、リターンなどに伴うレジス
タ・ファイルの退避・回復は、例えばPUSH,POP
命令等のプログラムによりijなっていた。しかし、こ
の方法は、サブルーチン・コール、リーン時のオーバー
ヘッドとなり、処理の品速化を妨げるという問題があっ
た。
そこで、これを解決すべくレジスタ・ウィンドウを用い
る方法も提案されている( Reduced I n5
truct!on Set GoIIlputer A
rel+Itecturcs ror VLSI。
M、G、Il、Katcvcnis、 HIT Pre
ss) o しかし、この方法では、サブルーチン・コ
ール時にレジスタ・ウィンドウの変化に伴って、レジス
タの内容は退避されるものの、サブルーチンコール前の
呼び元ルーチンのレジスタ情報が変化してしまうという
問題があった。
また、この他にも、−レジスタ・ウィンドウと通常のレ
ジスタ・ファイルとを併用する方法も考えられるが、双
方の欠点を解決することはできない。
このような問題は、特にPrologを用いたプログラ
ムを実行する場合に、顕著な問題となって現われる。即
ち、Prologにおいては、チョイス・ポイントの度
にレジスタ・ファイルの情報を退避する必tが自゛す、
レジスタ・ファイルの情報を退避した後もレジスタの情
報は残っていなければならない。しかも、バック・トラ
ックが発生すると、レジスタ・ファイルを前のチョイス
ポイントの状態に回復させる必要がある。PrOIOg
におけるノンデターミニスティソクな推論処理において
は、このようなチョイス・ポイントとバック・トラック
とが頻繁に繰返される。したがって、レジスタ・ファイ
ルの退避・回復時の時間的なロスが処理時間の大幅な低
下につながるという問題があった。
(発明が解決しようとする問題点) このように、従来技術のうちプログラムによる方法では
、サブルーチンのコール、リターンやPrologのチ
ョイス・ポイント、バック・トラックの際のレジスタ・
ファイルの退避・回復動作を高速に行なうことができず
、またレジスタ・ウィンドウを用いた方法では、呼び元
のレジスタ情報が消滅してしまうという問題が有った。
本発明は、かかる従来の問題点を解決し、呼び元の情報
が消滅することがなく、レジスタ・ファイルの退避・回
、復時のオーバーヘッドが少ないコンピュータ装置を提
供することを目的とする。
[発明の構成〕 (問題点を解決するための手段) 本発明は、プリフェッチバッファに順次フェッチされた
命令を命令実行部で実行する手順をパイプライン動作で
行なうコンピュータ装置において、プリフェッチバッフ
ァにフェッチされる情報等に基づいて、命令実行部での
実行が行われないサイクル、つまり実行リソースの空き
サイクルを検出し、レジスタファイルの内容の退避・回
復を指示するリソース管理手段を備えるとともに、この
リソース管理手段からの退避・回復指令に基づいて前記
実行リソースの空きサイクルにレジスタファイルの退避
・回復命令を挿入する退避・回復命令挿入手段を備えた
ことを特徴としている。
(作用) 命令フェッチが例えばキャッシュ・ミスにより待たされ
た場合や、ジャンプ命令の実行によってパイプラインに
ブレークが発生した場合、命令実行手段における実行が
止まり、実行リソースの空きサイクルが発生する。リソ
ース管理手段は、このような実行リソースの空きサイク
ルを検出すると、退避・回復命令挿入手段に退避・回復
指令を送出する。退避・回復命令挿入手段は、レジスタ
・ファイルの退避・回復命令を発生し、これを上記空き
サイクルに挿入する。従って、命令実行手段は上記空き
サイクルにレジスタ・ファイルの退避・回復を行なう。
このように、本発明によれば、レジスタ・ファイルの退
避・回復が必要な時には、実行リソースの空きサイクル
が必ず発生することに否目し、このサイクルにレジスタ
・ファイルの退避・回復を実行するための退避・回復命
令を挿入しているので、マシン・サイクルを効率的に使
用して、レジスタ・ファイルの退避・回復がサブルーチ
ン・コール、リターン等の際のオーバーヘッドとなるの
を防止できる。
(実施例) 以下、図面を参照して本発明の実施例につき説明する。
第1図は本発明の一実施例を示す構成図である。
同図において、命令キャッシュ部1には、主メモリ2に
記憶されている命令コードの一部がコピーされている。
命令キャッシュ部1に格納された命令コードは、マシン
サイクル毎にブリフェッチバッフ73にフェッチされ、
命令デコーダ4て命令を解釈され、次段のパイプライン
レジスタ5に格納される。パイプラインレジスタ5に格
納された命令は、命令実行部6により実行され、その結
果は、レジスタファイル部7に格納される。データキャ
ッシュ部8は、主メモリ2とレジスタファイル部7との
間でデータを一時的に格納する。
リソース管理部9は、プリフェッチバッファ3にフェッ
チされた命令コードから実行リソースの空きサイクルが
発生することを確認すると、退避・回復命令挿入部10
に対し、レジスタファイルの退避・回復指令を出力する
。退避・回復命令挿入部10は、上記指令を人力すると
、命令デコーダ4に対し、空きマシンサイクルにレジス
タファイルの退避・回復命令を挿入する。
以上の構成において、いま、サブルーチン−コールやチ
ョイスやポイント或はサブルーチン・リターンやバック
・トラックが発生すると、レジスタファイル部7の内容
をデータキャッシュ部8に退避したり、回復させる必要
がある。以下、レジスタファイル部7の退避・回復動作
を第2図を用いて説明する。
同図はジャンプ命令を含んだマシンサイクルの6フエー
ズを示したものである。M1〜M6はマシンサイクルを
示す。Fは命令コードをプリフェッチバッファ3にフェ
ッチするフェーズ、Dはフェフチされた命令コードを命
令デコーダ4でデコードするフェーズ、Eは命令実行部
6で命令を実行するフェーズであり、これらはパイプラ
イン動作によって実行される。
いま、マシンサイクルM2のフェッチフェーズF2にお
ける命令コードがジャンプ命令の場合、マシンサイクル
M3においては、デコードフェーズではなく、プログラ
ムカウンタを書替えるジャンプフェーズJとなる。その
後、マシンサイクルM4から新たにフェッチフェーズF
3、デコードフェーズD3、実行フェーズE3と続く。
したがって、マシンサイクルM4.M5では、命令を実
行する実行フェーズがない、つまり、ジャンプ命令が発
生したことにより、命令実行部6に空きサイクルか発生
したことになる。本発明では、この空きサイクルを利用
して第1図のレジスタファイル部7とデータキャッシュ
部8との間でレジスタの退避・回復を行なう。
第2図のSRDはレジスタ退避・回復のためのデコード
フェーズ、SREはレジスタ退避や回復の実行フェーズ
である。マシンサイクルM2のフェッチフェーズF2で
ジャンプ命令が発生すると、リソース管理部9はこれを
検出し、退避・回復指令を退避・回復命令挿入部10に
出力する。退避・回復命令挿入部10は、上記指令を受
入れると、退避回復のための命令コードを発生し、これ
を命令デコーダ4に挿入する。挿入された命令コードは
、第2図のマシンサイクルM3の退避・回復デコードフ
ェーズ5RDIでデコードされ、マシンサイクルM4の
退避争回復実行フェーズ5REIで実行される。マシン
サイクルM4のデコードフェーズ5RD2、マシンサイ
クルM5の実行フェーズ5RE2も同様の動作を行なう
以上はジャンプ命令の実施例であるが、キャッシュミス
が発生した場合にもレジスタファイルの退避・回復動作
が必要になる。この場合の動作も略同様である。例えば
第1図の命令キャッシュ部1に実行すべき命令コードが
格納されていないとき、命令キャッシュ部1からキャッ
シュミスを示す信号がリソース管理部9に出力される。
キャッシュミスが発生すると、必要な命令コードを主メ
モリ2から命令キャッシュ部1に新たに格納する必要が
ある。この期間、命令実行部6は空マシンサイクルとな
るので、リソース管理部9は退避回復命令挿入部10を
介してレジスタファイルの退避・回復を命令実行部6に
行なわせることができる。
以上の動作を第3図に示す。マシンサイクルM2の命令
フェッチフェーズでキャッシュミスか発生すると、命令
実打部6は命令キャッシュ部1に命令コードか格納され
るのに要するマシンサイクルM 4 、 M 5 、 
M 6 、 M 7の期間、レジスタ退避・回復のため
の実行期間として利用できる。
レジスタファイルの退避・111復用の命令デコーダ4
の出力としては、例えば第4図に示すようなフラグ付き
N OP (No 0peraLion)命令を用いる
ことかできる。この例では、フラグが0であれば退避命
令、フラグが1であれば回復命令と区別している。
以上述べた本実施例によれば、マシンサイクルの空き時
間を利用したレジスタファイルの退避・回復か行われる
ので、上記レジスタの退避回復が、サブルーチン・コー
ル、リターンやチョイス・ポイント、バック・トラック
時のオーバーヘッドとなることがなく、シかも呼び元ル
ーチンの情報は確実に保持される。
なお、本発明は−L 、ic!実、嵐例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々の変1[
3が可能である。
例えば上記実施例では、プリフェッチバッファ3にフェ
ッチされた命令コードに基ついて実行リソースの空きサ
イクルを検出したが、第5図に示すように、命令キャッ
シュ部1に格納された命令コードに基づいて実行リソー
スの空きサイクルを検出するようにしても良い。
また、第1図の実抱例では退避・回復命令を命令デコー
ダ4に挿入したか、第5図に示すように、バイブライン
レジスタ5に退避・回復命令を挿入するようにしても良
い。
さらには、命令コードとしてデコードされたものを用意
してプリフェッチバッファ3に供給するものにも本発明
を適用することは0■能である。
[発明の効果] 以上述べたように、本発明によれば、実行リソースの空
きサイクルを利用してレジスタファイルの退避・回復を
行なっているので、レジスタファイルの退避・回復動作
がサブルーチン・コール、リターンやPrologのチ
ョイス・ポイント、バック・トラックなどのオーバーヘ
ッドになることがない。このため、呼び元の情報を確実
に保持しつつ処理の高速化を図ることができる。
【図面の簡単な説明】
第1図は本発明の一実施例に係るコンピュータ装置の構
成を示すブロック図、第2図及び第3図は同装置の動作
を説明するだめのタイミング図、第4図は同装置におけ
る退避回復命令の一例を示す図、第5図は本発明の他の
実施例に係るコンピュータ装置の構成を示すブロック図
である。 1・・・命令キャッシュ部、2・・・主メモリ、3・・
・プリフェッチバッファ、4・・・命令デコーダ、5・
・・バイブラインレジスタ、6・・・命令実行部、7・
・・レジスタファイル部、8・・・データキャッシュ部
、9・・・リソース管理部、10・・・退避・回復命令
挿入部。 出願人代理人 弁理士 鈴江武彦 第1図 MI    M2    M3    M4    M
5    M6第2図 第3図 [’757G==11 第4図

Claims (4)

    【特許請求の範囲】
  1. (1)命令コードを格納する手段と、この手段から順次
    命令コードをフェッチするプリフェッチバッファと、こ
    のプリフェッチバッファにフェッチされた命令を実行す
    る命令実行手段と、この命令実行手段における命令実行
    結果を格納するレジスタファイルとを具備したコンピュ
    ータ装置において、実行リソースの空きサイクルを検出
    し前記レジスタファイルの内容の退避・回復を指示する
    リソース管理手段と、このリソース管理手段からの退避
    ・回復指令に基づいて前記実行リソースの空きサイクル
    にレジスタファイルの退避・回復命令を挿入する退避・
    回復命令挿入手段とを具備したことを特徴とするコンピ
    ュータ装置。
  2. (2)前記リソース管理手段は、前記プリフェッチバッ
    ファからの情報によって前記実行リソースの空きサイク
    ルを検出するものである特許請求の範囲第1項記載のコ
    ンピュータ装置。
  3. (3)前記リソース管理手段は、前記命令コードを格納
    する手段からの情報によって前記実行リソースの空きサ
    イクルを検出するものである特許請求の範囲第1項記載
    のコンピュータ装置。
  4. (4)前記命令実行手段は、前記プリフェッチバッファ
    からの命令コードを解釈する命令デコーダを備え、前記
    退避・回復命令挿入手段は、前記命令デコーダに前記退
    避・回復命令を挿入することを特徴とする特許請求の範
    囲第1項記載のコンピュータ装置。
JP62155550A 1987-06-24 1987-06-24 Computer device Pending JPS641033A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62155550A JPS641033A (en) 1987-06-24 1987-06-24 Computer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62155550A JPS641033A (en) 1987-06-24 1987-06-24 Computer device

Publications (2)

Publication Number Publication Date
JPH011033A true JPH011033A (ja) 1989-01-05
JPS641033A JPS641033A (en) 1989-01-05

Family

ID=15608515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62155550A Pending JPS641033A (en) 1987-06-24 1987-06-24 Computer device

Country Status (1)

Country Link
JP (1) JPS641033A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02187825A (ja) * 1989-01-13 1990-07-24 Mitsubishi Electric Corp コンピュータ
JPH03114849A (ja) * 1989-09-29 1991-05-16 Matsushita Electric Ind Co Ltd 印字装置
FR2669448B1 (fr) * 1990-11-19 1993-01-15 Bull Sa Architecture de terminal et circuit de gestion.
KR101008662B1 (ko) * 2010-02-25 2011-01-17 전민영 신발 벗김 보조기구

Similar Documents

Publication Publication Date Title
US6694427B1 (en) Method system and apparatus for instruction tracing with out of order processors
JP2937485B2 (ja) スーパースカラプロセッサにおけるトラップを検出して実行する方法及び装置
JPH0199130A (ja) コンピュータのスタック制御装置
JPH02257219A (ja) パイプラインプロセッサ装置および方法
JPH08171494A (ja) マルチスレッドプロセッサ
JPH07302200A (ja) 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。
EP0655679A2 (en) Method and apparatus for controlling instruction in pipeline processor
JPH011033A (ja) コンピュ−タ装置
JPS623342A (ja) パイプラインプロセツサ
CN100447737C (zh) 指令流水线中实现访存精确例外的处理方法
JPH11345121A (ja) プログラム制御ユニット用の命令取り出し装置および方法
JP2814683B2 (ja) 命令処理装置
JP2671160B2 (ja) 例外処理方式
JP2783285B2 (ja) 情報処理装置
JP2713218B2 (ja) チェックポイント/リスタート処理方式
US20040210747A1 (en) Storage registers for a processor pipeline
JPH07182165A (ja) コミット条件付き命令の処理方法およびその装置
JP2979108B2 (ja) データ処理装置における非同期処理の同期化方式
JP3490191B2 (ja) 計算機
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP3015565B2 (ja) 複数命令の並列実行機能を持つ情報処理装置
JPH06149569A (ja) レジスタ番号変更装置
JPH0269825A (ja) パイプライン制御方式
JPS62219128A (ja) デ−タ処理装置
JPH07200294A (ja) 遅延分岐実行機能を備えたプロセッサ装置