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