JPH01195533A - パイプライン方式計算機の命令先読み方向制御方式 - Google Patents

パイプライン方式計算機の命令先読み方向制御方式

Info

Publication number
JPH01195533A
JPH01195533A JP1975088A JP1975088A JPH01195533A JP H01195533 A JPH01195533 A JP H01195533A JP 1975088 A JP1975088 A JP 1975088A JP 1975088 A JP1975088 A JP 1975088A JP H01195533 A JPH01195533 A JP H01195533A
Authority
JP
Japan
Prior art keywords
instruction
branch
address
branch instruction
information
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
JP1975088A
Other languages
English (en)
Inventor
Hiroshi Narimatsu
成松 宏
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 JP1975088A priority Critical patent/JPH01195533A/ja
Publication of JPH01195533A publication Critical patent/JPH01195533A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は電子計算機に関し、特にパイプライン方式を用
いる計算機の命令先読み制御に関する。
従来の技術 計算機の命令実行過程において、連続的に繰り返し実行
されるような処理を部分的な処理毎に分割し、その各々
の処理を独立した機構に割り当てて、このような機構を
同時に複数動作することによって、処理の高速化を図る
パイプライン制御方式と呼ばれる方式がある。
従来、この種のパイプライン方式計算機では、第2図に
示すように、1つの命令あるいは命令列を実行するため
のハードウェアを複数に分割し、例えば、9のブロック
がn番地の命令の結果を書き込み、8のブロックはn+
1番地の命令の演算を行い、以下同様に複数のブロック
で同時に連続したいくつかの命令を実行することによっ
て処理の高速化を実現している。
ところが、このような従来のパイプライン制御方式によ
る処理では、実行すべき命令列中に分岐命令がある場合
に問題が生じる。即ち、例えば、n番地にm番地への分
岐命令がある場合、この分岐命令が実行されるまで、n
番地の次に実行される命令がn+1番地の命令であるか
m番地の命令であるかがわからない。このため従来のパ
イプライン方式計算機では、分岐命令が発生すると、そ
の後の命令を実行することができず、命令実行速度を低
下させることになっていた。
そこで、従来のパイプライン方式計算機では、分岐命令
による実行速度の低下を少しでも軽減するために、分岐
命令があった場合にその後の命令について、命令の読み
込み、解読、オペランドのアドレス計算、オペランドの
読み込み等の処理を予め実行しておく「命令の先読み」
を行うことが提案されている。この場合、分岐命令の終
了に先立って先読み処理を行うので、何れの方向、即ち
、分岐する方向に向かって先読みするか、分岐しない方
向に向かって先読みするかを選択して先読み処理を実行
し、分岐命令が実行されて確定した分岐方向が先読みし
た方向と異なった場合には先読みの結果を全て捨てて処
理をやり直すと言う方法が多く用いられている。
この方式で、先読み方向の決定方法としては、キャシュ
メモリを使用して、各分岐命令ごとに前回分岐した方向
を保存しておく方法や、分岐命令中に明示的に先読み方
向を指示する情報を含めておく方法等が提案されている
発明が解決しようとする課題 しかしながら、キャシュメモリを用いて分岐命令毎に前
回の分岐方向を保存する方法は、非常に複雑なハードウ
ェアを必要とするという問題がある。
また、分岐命令中に明示的に先読み方向を指示する情報
を含める方法は、実際のプログラムが高い確立で同一方
向に分岐するという前提が必要であり、実際にはその分
岐命令が高い確率で分岐する方向を予め予想して命令に
格納するという複雑り操作が必要である。
そこで、本発明は、ハードウェア並びに事前の処理を複
雑化することなく、有効な先読み処理を実行できる新規
な先読み方式を実現することにある。
問題点を解決するための手段 即ち、本発明により、分岐命令の実行完了に先立って、
該分岐命令に続く命令を読み込む動作を行うパイプライ
ン方式計算機の命令先読み方向制御方式であって、分岐
命令に命令先読み方向指示情報を格納するフィールドを
設定し、該分岐命令実行時には、該分岐命令の実行と同
時に該命令先読み方向指示情報に従う先読み処理を実行
し、該分岐命令を処理した結果該命令先読み方向指示情
報とは異なる方向に処理が分岐した場合は、該命令先読
み方向指示情報を該実行結果の分岐方向と置換する処理
を行うことを特徴とするパイプライン方式計算機の命令
先読み方向制御方式が提供される。
罫月 本発明に従うパイプライン方式計算機の命令先読み方式
は、分岐命令に、命令先読み方向指示情報を格納したフ
ィールドを設けると共に、分岐命令を実行時に、実際の
分岐方向と分岐命令に格納された命令先読み方向指示情
報とが異なった場合に、この命令先読み方向指示情報を
実際の分岐先に沿うように書き換えることをその主要な
特徴としている。
即ち、前述した従来のパイプライン方式計算機の分岐命
令後の先読み方向決定法に対し、本発明は、明示的に先
読み方向を指示する情報を含む分岐命令全周い、分岐命
令を実行時、に1.その時分岐した方向に先読みを行う
ような分岐命令を書き換えることによって、事前の分岐
方向の予測や、複雑なハードウェアなしにパイプライ、
ン方式計算機の高性能化を実現できると言う独創的内容
を有する。
以下に図面を参照して本発明をより具体的に詳述するが
、以下に開示するものは本発明の一実施例に過ぎず、本
発明の技術的範囲を何ら限定するものではない。
実施例 第1図は、本発明の方式を実施する際に使用することの
できる分岐命令のフォーマットを示す図である。
即ち、この分岐命令は、分岐命令オペコードや分岐条件
を含むフィールド1と、後述する命令先読み情報〔b。
〕を含むフィールド2と、分岐先のアドレスを含むフィ
ールド3とから構成されている。ここで、フィールド2
には、第1表に示すような情報が格納されている。
第1表 第2図を参照して、本発明による先読み方式を有効に実
施できるパイプライン方式計算機の構成と動作を説明す
る。
このパイプライン方式計算機の演算実行部は、ブロック
4〜9により構成されており、ブロック4は命令の読み
込み処理を、ブロック5は命令の解読及び命令先読みの
制御処理を、ブロック6はオペランドのアドレスの計算
処理を、ブロック7はオペランドの読み込み処理を、ブ
ロック8は演算の実行を、そしてブロック9は演算結果
の書き込み処理を行するように構成されている。また、
これらのブロック4〜9に対応して示された命令列lO
は、メモリー上に存在する命令列の一部を示しており、
命令nはメモリのn番地にある命令を表している。また
、ブロック4〜9から出て、命令列10の命令列を指す
6本の矢印は、各命令とその命令を処理しているブロッ
クの対応関係を意味し、本実施例では説明の便宜上1つ
の番地に1つの命令が存在するとして説明する。但し、
本発明がこれに限定されないことはいうまでもない。
このように構成されたパイプライン方式計算1では、ブ
ロック4〜9がパイプラインの各ステージとして連続し
た複数の命令をパイプライン方式で処理する。
第3図(a)〜(C)は、パイプライン方式計算機にお
いて本発明に従う先読み方式を実施した場合の動作を説
明する図である。尚、ここでは、n番地にあって、m番
地へ分岐する指示を含む分岐命令を実行した場合の動作
について述べられ、分岐命令はm番地の方向に分岐し、
命令先読み指示は71%1番地から命令先読み処理を行
うように指示するものとする。
まず、第3図(a)に示すように、この分岐命令は解読
及び命令先読みの制御を行うブロック5に人力される。
n番地の分岐命令は、n−1−1番地からの先読みを指
示しているのでブロック4はそれ以前からの先読みを続
行する。
第3図ら〕は、分岐命令がブロック8で演算を実行され
ている時の状態を示したものである。ここで、本実施例
ではm番地へ分岐することが確定したとする。すると、
ブロック4〜7の先読み処理は出力する必要がなくなる
ので破棄される。尚、ここまでの処理は、命令先読み方
向指示情報を含む分岐命令ををする従来の先読み方式と
同じ動作である。
続いて、本発明に従う先読み方式では、第3図(C)に
示すように、分岐命令は演算結果の書き込みを行うブロ
ック9に入力され、このブロック9はn番地にm番地か
らの命令先読みを行うm番地への分岐命令を書き込む。
即ち、n番地の分岐命令は、n+1番地から先読みを行
う情報を含んだ命令から、m番地から先読みを行う情報
を含んだ命令へと書き換えらる。
尚、この書き換え処理は、命令先読みの方向と実際に分
岐した方向が異なった場合にのみ行われるように設定さ
れている。
第4図(a)〜(C)は、上述のようにして書き模えら
れたn番地の分岐命令が、再び実行される場合の動作を
説明する図である。
まず、第4図(a)に示すように、書き換えられた分岐
命令がブロック5に人力されるが、ここで、分岐命令は
先読み番地をm番地に書き換えられているので、ブロッ
ク4のn+1番地の先読み結果は破棄され、m番地から
の先読みが指示される。
続いて、第4図(b)に示すように、分岐命令がブロッ
ク8に入力され、分岐命令を実行した結果、同じくm番
地へ分岐することが確定すると、ブロック4〜6の出力
はm番地以降の命令であるから破棄せずそのまま使用さ
れる。
第4図(C)は、分岐命令がブロック9に入力された状
態を示したものであるが、この場合は命令の先読み方向
と実際の分岐方向とが同じなので分岐命令の先読み方向
情報b0の書き換えは行われない。
発明の詳細 な説明したように、本発明に従うパイプライン方式計算
機の命令先読み方式は、先読み方向指示情報を格納した
フィールドを有する分岐命令を使用すると共に、各分岐
命令が実際に分岐した方向を、分岐命令を書き直すこと
によって保存し、次回からのその分岐命令実行時には、
書き込まれたあるいは保存した先読み方向指示情報に従
って先読み処理を実行する。従って、パイプライン方式
計算機の分岐命令によるパイプラインの乱れをより少な
くし、計算機の動作を高速化することができる。
【図面の簡単な説明】
第1図は、本発明による命令先読み方式を実施する際に
使用することのできる分岐命令のフォーマットを示す図
であり、 第2図は、パイプライン制御方式の計算機の構成並びに
動作を説明する図であり、 第3図(a)〜(C)は、本発明に従う命令先読み方式
において、分岐命令に格納された先読み方向指示情報と
実際の分岐方向が異なった場合の計算機の動作を説明す
る図であり、 第4図(a)〜(C)は、本発明に従う命令先読み方式
において、分岐命令に格納された先読み方向指示情報と
実際の分岐方向が一致した場合の計算機の動作を説明す
る図である。 〔主な参照番号〕 L2.3・・・フィールド、 4・・命令の読み込みを行う回路プロ・ツク、5・・命
令の解読及び命令先取りの制御を行う回路ブロック、 6・・オペランドアドレスの計算を行う回路ブロック、 7・・オペランドの読み込みを行う回路プロ・ツク、 8・・演算の実行を行う回路ブロック、9・・演算結果
の書き込みを行う回路プロ・ツク、IO・・命令列

Claims (1)

    【特許請求の範囲】
  1. 分岐命令の実行完了に先立って、該分岐命令に続く命令
    を読み込む動作を行うパイプライン方式計算機の命令先
    読み方向制御方式であって、分岐命令に命令先読み方向
    指示情報を格納するフィールドを設定し、該分岐命令実
    行時には、該分岐命令の実行と同時に該命令先読み方向
    指示情報に従う先読み処理を実行し、該分岐命令を処理
    した結果該命令先読み方向指示情報とは異なる方向に処
    理が分岐した場合は、該命令先読み方向指示情報を該実
    行結果の分岐方向と置換する処理を行うことを特徴とす
    るパイプライン方式計算機の命令先読み方向制御方式。
JP1975088A 1988-01-30 1988-01-30 パイプライン方式計算機の命令先読み方向制御方式 Pending JPH01195533A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1975088A JPH01195533A (ja) 1988-01-30 1988-01-30 パイプライン方式計算機の命令先読み方向制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1975088A JPH01195533A (ja) 1988-01-30 1988-01-30 パイプライン方式計算機の命令先読み方向制御方式

Publications (1)

Publication Number Publication Date
JPH01195533A true JPH01195533A (ja) 1989-08-07

Family

ID=12008017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1975088A Pending JPH01195533A (ja) 1988-01-30 1988-01-30 パイプライン方式計算機の命令先読み方向制御方式

Country Status (1)

Country Link
JP (1) JPH01195533A (ja)

Similar Documents

Publication Publication Date Title
US5168571A (en) System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
JPS6217252B2 (ja)
JPH0429093B2 (ja)
EP0297943B1 (en) Microcode reading control system
JPH0348537B2 (ja)
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH01195533A (ja) パイプライン方式計算機の命令先読み方向制御方式
JPH0377137A (ja) 情報処理装置
JPH10116191A (ja) 圧縮命令用バッファを備えたプロセッサ
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JPH03119424A (ja) 情報処理方式及び装置
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPH0248733A (ja) 情報処理装置
JPS60178539A (ja) 情報処理装置におけるバイパス制御方式
JPS5829051A (ja) 演算処理装置
JP3748191B2 (ja) 計算機とその制御方法
JPH0490038A (ja) データ処理装置
JPH04127326A (ja) 情報処理装置および命令生成方法
JPS62219128A (ja) デ−タ処理装置
JPH03119425A (ja) 情報処理方式及び装置
JPH09106344A (ja) パイプライン処理装置
JPS58154045A (ja) 情報処理装置
JPS6212545B2 (ja)
JPH02230326A (ja) パイプライン情報処理装置
JPS6028014B2 (ja) マイクロプロセツサ