JPH1049371A - パイプライン計算機 - Google Patents

パイプライン計算機

Info

Publication number
JPH1049371A
JPH1049371A JP20854296A JP20854296A JPH1049371A JP H1049371 A JPH1049371 A JP H1049371A JP 20854296 A JP20854296 A JP 20854296A JP 20854296 A JP20854296 A JP 20854296A JP H1049371 A JPH1049371 A JP H1049371A
Authority
JP
Japan
Prior art keywords
register
instruction
output
input
pipeline
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.)
Granted
Application number
JP20854296A
Other languages
English (en)
Other versions
JP3658879B2 (ja
Inventor
Toshimitsu Nagata
敏光 永田
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 JP20854296A priority Critical patent/JP3658879B2/ja
Publication of JPH1049371A publication Critical patent/JPH1049371A/ja
Application granted granted Critical
Publication of JP3658879B2 publication Critical patent/JP3658879B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】オペランドを3以上指定できる命令形式のパイ
プライン計算機のレジスタコンフリクト検出に関し、レ
ジスタコンフリクト検出回路のディレイ時間を少なく
し、クリティカルパスを少なくする。 【解決手段】命令のオペランド指定フィールドのどれが
処理結果の出力先レジスタであるかを命令内で指定でき
るようにし、レジスタの読み出しステージと書込みステ
ージとのステージ数の差以内で連続する命令で書込みレ
ジスタと同じレジスタから読み出す場合に、命令の指定
フィールドが同じになるようにする。指定フィールドが
同じになるようにするにはコンパイラで処理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はパイプライン計算機
に関する。プロセサの速度を向上させる手法として、RI
SC(Reduced Instruction Set Computer)アーキテクチ
ャ、パイプライン処理等が用いられる。これらは、命令
の単純化、処理単位の細分化により単位処理(パイプラ
インステージ)の処理時間を短くするものである。従っ
て、処理単位内のクリティカルパスをできるだけ短くす
ることが要求されている。
【0002】
【従来の技術】最近のアーキテクチャ(特にRISCアーキ
テクチャ)では多数の演算用レジスタが用意され、主と
してこれらの演算用レジスタ間の演算により処理を進め
る。レジスタ間演算においては演算器の入力となる2つ
のレジスタ、出力となる1つのレジスタをそれぞれ指定
する3オペランド方式が通常採用される。
【0003】図4(1)は従来の3オペランド方式の命
令フォーマットの例である。命令コード (OPC)11 、
入力レジスタ指定フィールド (OR1)12 ,(OR2)13
,出力レジスタ指定フィールド (OR3)14 他よりな
る。処理(演算)回路は、命令コード11で指定された処
理(演算)を、入力レジスタ指定フィールド12,13 で指
定された2つのレジスタから読み出された内容に対して
行い、結果を出力レジスタ指定フィールド14で指定され
たレジスタにセットする。
【0004】図4(2)に示す演算の例により説明す
る。各レジスタR1,R2,R3,R4に、例えばロー
ド命令の結果または他の演算の結果としてそれぞれ値
A,B,C,Dが保持されているとする。ここで図4
(2)に示す演算を行うためには、図4(3)に示す命
令列を使用する。
【0005】図5にパイプライン処理の説明図を示す。
パイプラインの処理段階は高速化に伴って、細分化が進
み、パイプラインの深さが深くなり、レジスタからの読
出と書込みの間隔が大きくなっている。ここではパイプ
ライン・ステージ数m=6段、レジスタ読出とレジスタ
書込みのステージ段差数n=4としてある。
【0006】命令はパイプラインの第1ステージS1に
投入され、順次ステージを変えて処理される。レジスタ
読出はS2で行われ、書込みはS6で行われるものとす
る。そしてレジスタの読出と書込みに何の関係もなけれ
ば図のようにパイプライン中に順次命令が流され、最大
速度で処理される。しかし、前の命令によって処理され
た結果が出力レジスタにセットされる前に後続命令の入
力として使われてしまうと正しい処理が行われないこと
になる。これがレジスタコンフリクトである。図の命令
6のオペランド読出が命令1を含む命令以前の出力レジ
スタを指定している場合は問題が起きないが、命令2〜
命令5の出力レジスタと同じであると正しい結果になら
ない。従って、演算結果がセットされるレジスタを入力
として指定する命令の処理は以前の処理結果が確定しセ
ットされるまで待たせるように制御する。図4(3)で
命令1(Q1)で出力レジスタとして指定されたR3の
値が2つ後の命令3(Q3)で入力として指定され、ま
た命令2(Q2)で出力レジスタとして指定されたR6
の値が1つ後の命令3(Q3)で入力として指定されて
いる。従って、レジスタ読出とレジスタ書込みのステー
ジ段差数n>1であればレジスタコンフリクトが発生す
る。
【0007】図6にレジスタコンフリクトが発生する場
合を示す。(1)は直ぐ後に続く命令Q2が直前の命令
Q1で出力レジスタとして使われたレジスタを読み出す
ようになっている場合である。Q2はS1でQ1のレジ
スタ書込みが終わるまで待つように制御(ウエイト制
御)される。(2)は4命令後の命令Q5が命令Q1で
出力レジスタとして使われたレジスタを読み出す場合で
ある。
【0008】この出力レジスタと入力レジスタの番号比
較がレジスタのコンフリクト検出である。レジスタのコ
ンフリクト検出は、パイプラインの深さによって確認す
べきレジスタの数が増えてくる。
【0009】図7にレジスタコンフリクトを検出する回
路の例を示す。この場合、レジスタ読出とレジスタ書込
みのステージ段差数n=4であるので、レジスタに書き
込む命令Q1の書込みレジスタ指定Q1OR3と、後に
続くQ2,Q3,Q4の(n−1=3)命令の入力レジ
スタ指定Q2OR1,Q2OR2〜Q4OR1,Q4O
R2とを比較する。一致した場合、C1〜C12のいず
れかの信号が出る。それにより、パイプラインのウエイ
ト制御を行う。このウエイト制御については色々な方式
があり、本発明の直接的な課題ではないので説明は省略
する。
【0010】図7に示すように、Q1OR3信号は6つ
の比較回路の入力(出力先が6)となっており、他の信
号は4ないし2であるのに対し最も負荷が重い。
【0011】
【発明が解決しようとする課題】すなわち、演算回路の
出力となるレジスタのコンフリクト検出回路への出力数
が大きく、負荷が重くなる。特にCMOS回路では、回
路の段数の他に負荷の重さ(出力先の数、配線長)が重
要なファクタとなり、回路の遅延時間が長くなる。これ
がクリティカルパスの1つとなり、全体のクロック周期
を長くするという問題がある。
【0012】本発明は、レジスタのコンフリクト検出回
路を分散して特定の部分に重い負荷が掛からないように
することにより、クリティカルパスができないようにす
ることを目的としている。
【0013】
【課題を解決するための手段】オペランドを3以上指定
できる命令形式のパイプライン計算機において、命令の
オペランド指定フィールドのどれが処理結果の出力先で
あるかを命令内で指定するように構成する。
【0014】図1は実施例の命令フォーマットであり、
そのような指定ができる命令フォーマットの例として、
3オペランド命令形式を代表として示す。4つ以上のオ
ペランドがある場合でも同様である。(1)各オペラン
ド指定フィールド毎に入力/出力の指定ビットをもつこ
とでもよいし、(2)各オペランド指定フィールドの内
どれが出力オペランドであるかを指定することでもよ
い。
【0015】このように各オペランドの入力/出力を命
令内で個別に指定できれば、レジスタの読み出しステー
ジと書込みステージとのステージ数の差以内で連続する
命令で書込みレジスタと同じレジスタから読み出す場合
に、プログラム上で図2(3)に示すように、書込みレ
ジスタと読込レジスタとが命令の指定フィールドが同じ
になるようにすることができる。指定フィールドが同じ
になるようにするにはコンパイラで処理すればよい。こ
のように構成することにより、出力レジスタとして使わ
れたレジスタのコンフリクト検出回路への信号は負荷が
少なくてすむのでディレイ時間が少なくなる。従って、
クリティカルパスを少なくすることができ、プロセサの
クロック周期を短くすることができる。
【0016】
【発明の実施の形態】図1は本発明の実施例の命令フォ
ーマットである。(1)は、オペランドのそれぞれが入
力であるか、出力となるかを1ビットの入力/出力指定
フラグ15a,15b,15c で指定する。(2)は2ビットの出
力オペランド指定フィールド15により出力レジスタが3
つの内のどれであるかを指定する。以下、図2〜図4を
参照して説明する。図2(2)に演算例を示す。これ
は、図4で説明したものと同じである。図2(3)はそ
れを書込みレジスタと読込レジスタとが命令の指定フィ
ールドが同じになるようにコンパイラで処理した結果で
ある。
【0017】命令1はA+Bを演算してレジスタR3に
セットする。オペランド1の指定フィールド(OR1)
12でR3を指定し、入力/出力の指定ビット15a を
‘1’〔出力〕に指定する。命令Q3では同じオペラン
ド1の指定フィールド(OR1)12でR3を指定し、入
力/出力の指定ビット15a を‘0’〔入力〕に指定す
る。同様に、命令2はC+Dを演算してレジスタR6に
セットする。命令2で出力、命令3で入力となるレジス
タR6はオペランド2の指定フィールド13でR6と指定
し、命令2では入力/出力の指定ビット15b を‘1’
〔出力〕に指定し、命令Q3では入力/出力の指定ビッ
ト15b を‘0’〔入力〕に指定する。
【0018】図6で説明したように、レジスタの読み出
しステージと書込みステージとのステージ段数の差より
1少ない命令についての指定信号をレジスタコンフリク
ト検出に使えばよいので、また、出力レジスタと入力レ
ジスタとは必ず命令のおなじフィールドで指定されるの
で、レジスタコンフリクト検出回路は図3に示すような
回路で実現できる。
【0019】この図でわかるように、各信号Q1OR1
〜Q4OR3はいずれも負荷が3ですんでいる。従来方
式の図7ではQ1OR3信号が負荷6であったのと比べ
ると大幅に減少している。
【0020】
【発明の効果】以上説明したように、本発明によればレ
ジスタコンフリクト検出回路の遅延時間を少なくでき、
クリティカルパスを少なくできる。結果としてクロック
周期を短くできるので、プロセサの速度を速くすること
ができる。
【図面の簡単な説明】
【図1】 実施例の命令フォーマット
【図2】 実施例の命令の指定例
【図3】 実施例のレジスタコンフリクト検出回路
【図4】 レジスタ指定の説明図
【図5】 パイプライン処理の説明図
【図6】 同 レジスタコンフリクトが発生する場合
【図7】 従来のレジスタコンフリクト検出回路
【符号の説明】
11 命令コード 12 オペランド指定フィールド1 13 オペランド指定フィールド2 14 オペランド指定フィールド3 15 出力オペランド指定フィールド 15a 15b 15c 入力/出力指定フラグ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 オペランドを3以上指定できる命令形式
    のパイプライン計算機であって、 命令のオペランド指定フィールドのどれが処理結果の出
    力先であるかを命令内で指定するように構成されている
    ことを特徴とするパイプライン計算機。
JP20854296A 1996-08-07 1996-08-07 パイプライン計算機 Expired - Lifetime JP3658879B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20854296A JP3658879B2 (ja) 1996-08-07 1996-08-07 パイプライン計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20854296A JP3658879B2 (ja) 1996-08-07 1996-08-07 パイプライン計算機

Publications (2)

Publication Number Publication Date
JPH1049371A true JPH1049371A (ja) 1998-02-20
JP3658879B2 JP3658879B2 (ja) 2005-06-08

Family

ID=16557919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20854296A Expired - Lifetime JP3658879B2 (ja) 1996-08-07 1996-08-07 パイプライン計算機

Country Status (1)

Country Link
JP (1) JP3658879B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615339B1 (en) 1999-07-19 2003-09-02 Mitsubishi Denki Kabushiki Kaisha VLIW processor accepting branching to any instruction in an instruction word set to be executed consecutively

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615339B1 (en) 1999-07-19 2003-09-02 Mitsubishi Denki Kabushiki Kaisha VLIW processor accepting branching to any instruction in an instruction word set to be executed consecutively

Also Published As

Publication number Publication date
JP3658879B2 (ja) 2005-06-08

Similar Documents

Publication Publication Date Title
JPH1091435A (ja) 二種類の命令長コードを実行するプロセッサ及びその命令コード入力装置
JP2008071130A (ja) Simd型マイクロプロセッサ
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
JP3578883B2 (ja) データ処理装置
JPS62226232A (ja) 分岐先アドレス算出回路
JPH05150979A (ja) 即値オペランド拡張方式
JP2806346B2 (ja) 演算処理装置
JP3658879B2 (ja) パイプライン計算機
JP3469645B2 (ja) データ駆動型情報処理装置
US6842852B1 (en) System and method for controlling conditional branching utilizing a control instruction having a reduced word length
JPH05274143A (ja) 複合条件処理方式
JP2925842B2 (ja) パイプライン処理装置
JPH0227709B2 (ja) Deetakudoseigyohoshiki
JPH1196001A (ja) プログラム実行装置及びプログラム変換方法
JP2765058B2 (ja) ストリーム演算終了検知方法及びその装置
JPH0683618A (ja) フラグ制御回路
JP2000305782A (ja) 演算装置
JP2001229135A (ja) Simd型並列計算装置
JPH04316127A (ja) 情報処理装置
JP2851192B2 (ja) 並列演算処理装置におけるキャリー付き加減算処理方式
JPH04124729A (ja) パイプライン制御方式
JPH0619705A (ja) パイプライン制御方式
JPH05127894A (ja) 命令実行方式
JPH0269826A (ja) 条件付命令制御方式
JPH04137169A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20040709

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050307

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080325

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090325

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100325

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100325

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110325

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20110325

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120325

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130325

Year of fee payment: 8