JPH04353928A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPH04353928A
JPH04353928A JP3128111A JP12811191A JPH04353928A JP H04353928 A JPH04353928 A JP H04353928A JP 3128111 A JP3128111 A JP 3128111A JP 12811191 A JP12811191 A JP 12811191A JP H04353928 A JPH04353928 A JP H04353928A
Authority
JP
Japan
Prior art keywords
instruction
register
execution
instructions
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.)
Pending
Application number
JP3128111A
Other languages
English (en)
Inventor
Hiroshi Shinkai
新海 浩
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
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3128111A priority Critical patent/JPH04353928A/ja
Publication of JPH04353928A publication Critical patent/JPH04353928A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】[発明の目的]
【0002】
【産業上の利用分野】本発明は、パイプライン構造の命
令による演算の実行を処理する演算処理装置に関する。
【0003】
【従来の技術】パイプライン方式は高速化技法の一つで
あり、命令を何段かのステージに分割して処理させ、各
々のステージを並列動作させることにより処理速度を向
上させる方式である。このようなパイプライン構造を有
する演算処理装置においては、ある命令があるレジスタ
から読み出しを行なうとき、その前の命令でレジスタに
データが書き込まれる場合、一般的にはそのデータ書き
込み命令の実行を待つ必要があるが、この命令実行の待
機はパイプラインの構造やバイパス機能を有するか否か
によって決定される。例えば、全ての命令が1クロック
で実行されるRISC(Reduced Instru
ction Set Computer)型のプロセッ
サにおいては、バイパスを設けることにより、命令の実
行を送らせることなくプログラムを実行することが可能
であり、また、動的に命令実行のスケジューリングを行
なうスーパースケーラにおいては、スコアボーディング
機構により、命令の実行順序を入れ替えることで命令の
実行延期を防止することが可能である。このスーパース
ケーラの場合、動的にスコアボーディングを停止する機
能はなく、レジスタの出力がまだ有効でない時にはスコ
アボーディング機構が自動的に動作する。
【0004】ところで、パイプライン構造を有するプロ
セッサなどで全ての命令を見かけ上1クロックで実行す
る演算処理装置(RISC型など)は問題ないが、パイ
プライン構造を有し一つの命令実行に複数クロックを要
するもので動的な命令スケジューリングを備えていない
演算処理装置においては、スコアボーディング機構が命
令の実行を阻害することがある。以下、図面を参照し説
明する。
【0005】図2に3段パイプライン方式の構成を示す
が、図2において、S1 ステージは命令デコードステ
ージで、レジスタの読み出しを行なう。S2 ステージ
は命令の実行(狭義)またはメモリからのデータ取り込
みを行なうステージで、狭義の意味での命令の実行はA
LU(Arithmetic Logic Unit 
)などの演算を行なう演算装置を使用し何らかの演算を
行なうことである。ただし、特殊な例として何もしない
場合もあり得る。また、S3 はレジスタへの書き込み
を行なうステージである。なお、上記パイプラインにお
いては、1つのパイプラインを使用して命令を実行する
場合、その命令は1パイプラインかかると記述するもの
とする。
【0006】ここで、複数のクロックをかけて実行する
命令があり、その命令を例えばいくつかのマイクロ命令
によって実行する場合、図3に示すようにマイクロ命令
列は実行速度を上げるために実行順序を入れ替えること
がある。図3(a)は入れ替え前の状態、図3(b)は
入れ替え後の状態をそれぞれ示す図である。
【0007】図3(a)において、パイプラインP1a
はレジスタR1 の内容をレジスタR2に移すマイクロ
命令で、S1 ステージで命令をデコードしてレジスタ
R1 の内容を読み出し、S2 ステージでは無操作で
、そしてS3 ステージで読み出したレジスタR1 の
内容をレジスタR2 に書き込む。このように、あるレ
ジスタの内容を別のレジスタに書き込むには1パイプラ
インを要する。また、パイプラインP2aとP3 はレ
ジスタR1 にメモリMから読み出したデータを書き込
むマイクロ命令で、パイプラインP2aのS1 ステー
ジでは無操作で、S2 ステージでメモリMからデータ
を読み出し、S3 ステージでは無操作となり、そして
パイプラインP3のS1 ステージとS2 ステージで
は無操作で、S3 ステージでメモリMから読み出した
データをレジスタR1 に書き込む。このように、メモ
リからデータを読み出してレジスタに書き込むには、読
み出しに1パイプラインおよび書き込みに1パイプライ
ンの合計2パイプラインを必要としている。図中、縦方
向に見て同じ位置にあるステージは同時に実行されるス
テージである。
【0008】そこで、レジスタR1 にメモリMのデー
タが書き込まれるまでに時間がかかるので、パイプライ
ンP2bでレジスタR1 の内容を読み出すときレジス
タR1 の内容が書き潰されていないことを利用し、図
3(a)の命令実行順序を図3(b)に示すように、パ
イプラインP1bにおいてS1 ステージで命令をデコ
ードして、S2 ステージでメモリMのデータを読み出
し、S3 ステージでは無操作とし、そして、パイプラ
インP2bにおいてS1 ステージでレジスタR1 の
内容を読み出し、S2 ステージでメモリMから読み出
したデータをレジスタR2 に書き込み、S3 ステー
ジでレジスタR1 から読み出した内容をレジスタR2
 に書き込む実行順序に入れ替え、2パイプライン構成
としたものである。
【0009】
【発明が解決しようとする課題】しかしながら、上記の
ように実行順序を入れ替えることにより必要とするパイ
プラインの数は減少するが、スコアボーディング機構が
パイプラインP1bの時点で次のパイプラインP2bに
おいてレジスタR1 にデータが書き込まれることを検
知し、パイプラインP2bにおけるレジスタR1 の読
み出しを延期するように作用する。ところが、パイプラ
インP2bにおいてはレジスタR1 の読み出しが終了
してからレジスタR1 にデータを書き込む実行順序に
なっているので、パイプラインP2bの命令は永久に実
行されない。
【0010】すなわち、従来のスコアボーディング機構
のように自動的に動作するものにおいては、一つの命令
の中に同一レジスタからの書き込みと読み出しが存在す
る場合には、そのレジスタを読み出そうとしたときスコ
アボーディング機構が動作し命令の実行が停止してしま
うという問題があった。
【0011】本発明は、上記事情に鑑みてなされたもの
で、複数クロック必要とする命令の実行を阻害しないよ
うにスコアボーディング機構の動作を停止させる演算処
理装置を提供することを目的とする。
【0012】[発明の構成]
【0013】
【課題を解決するための手段】本発明は、上記目的を達
成するために、パイプライン構造の命令を実行する演算
処理装置において、上記命令の実行を制御する実行制御
手段と、この実行制御部により上記命令に基づいて指定
されるレジスタ群からなるレジスタ部と、このレジスタ
部における上記命令が指定するレジスタを監視し連続す
る命令が同一レジスタを指定するとき後続の命令の実行
を遅延させる遅延手段と、上記命令の実行に要するクロ
ック数を監視し上記連続する命令のうち後続の命令が複
数クロックを要するとき上記遅延手段による命令の実行
の遅延を停止する停止手段とを具備したことを特徴とす
る。
【0014】
【作用】本発明は上記のように構成したので、連続する
命令が同一レジスタを指定するとき後続の命令の実行を
遅延手段により遅延させ、さらに、後続の命令の実行に
複数クロックを要すると判定したとき停止手段により遅
延手段による命令の実行の遅延を停止することにより、
パイプライン中の命令の並列動作をできる限り妨げるこ
となく進めることができる。
【0015】
【実施例】以下、図面を参照して本発明の実施例を説明
する。
【0016】図1は、本発明の一実施例の演算処理装置
の構成を示すブロック図である。
【0017】同図において、10はデコーダ11に読み
込まれたパイプライン構造のマイクロ命令を解読し、レ
ジスタ部12のどのレジスタをアクセスするかを指定す
るレジスタ番号指定信号(以下、番号指定信号と称す)
aをレジスタぶ12に供給するとともにその指定された
レジスタに対する命令実行が読み出しか書き込みかを指
定するレジスタ読み出し書き込み指定信号(以下、R/
W指定信号と称す)b をレジスタ部12に出力する実
行制御部であり、解読された命令が複数クロック必要と
する命令であるかどうかを判定する命令判定部13を含
んでおり、解読された命令が複数クロック必要とする場
合には命令判定部13により複数クロック命令信号(以
下、命令信号と称す)c がアクティブになる。
【0018】レジスタ部12は複数のレジスタの集合体
であり、番号指定信号a およびR/W指定信号b に
したがって、メモリなどの外部から与えられるデータの
読み書きを行ない、ALUなどからなる演算部14にデ
ータを出力する。演算部14はメモリ部12から供給さ
れたデータに何らかの演算を行ない、その演算結果を外
部にあるいはメモリ部12出力する。
【0019】また、15は実行制御部10から出力され
る番号指定信号a とR/W指定信号b を監視し命令
がレジスタ部12のどのレジスタにアクセスするかを2
クロック分履歴として保持するスコアボーディング部で
あり、命令判定部13から出力される命令信号c を監
視するスコアボーディング停止部16を含んでいる。番
号指定信号a とR/W指定信号b の監視の結果、直
前の命令で書き込まれるレジスタに次の命令がアクセス
するような場合には、スコアボーディング部15は実行
延期信号d を実行制御部10に出力し、命令の実行延
期を指示する。ただし、この命令の実行延期を指示する
実行延期信号d は2つの命令が1クロックで終了する
場合に出力されるが、スコアボーディング停止部16に
より2番目の命令が複数クロックを必要としていること
が判明した場合には、所定クロック数後に実行延期信号
d の出力は停止される。
【0020】次に、上記構成の本発明の一実施例の作用
について説明する。
【0021】図2に示すようなパイプライン構造を有す
る2つのマイクロ命令列C1 、C2があり、マイクロ
命令C1 は1クロックで終了する命令で、2番目のマ
イクロ命令C2 は複数クロックを必要とする命令であ
るとする。
【0022】ここで、マイクロ命令C1 がレジスタ部
12のレジスタRにデータを書き込む命令で、マイクロ
命令C2 の1パイプラインで同一のレジスタRからデ
ータを読み出す命令である場合には、番号指定信号a 
とR/W指定信号b を監視するスコアボーディング部
15により同一のレジスタRにアクセスすることを判別
され、スコアボーディング部15から実行制御部10に
実行延期信号d が出力され、マイクロ命令C1 の実
行後、マイクロ命令C2 の1パイプラインの実行を所
定クロック数、例えば2クロック分以上遅延させる。続
いて、スコアボーディング停止部16がマイクロ命令C
2 は複数クロックを必要としていることを判別してい
ることにより、所定クロック数後に実行延期信号d の
出力が停止され、マイクロ命令C2 が実行される。
【0023】また、マイクロ命令C1 も複数クロック
を必要とする命令である場合も同様で、例えば、マイク
ロ命令C1 の最後のパイプラインでレジスタRにデー
タを書き込み、マイクロ命令C2 の最初のパイプライ
ンでレジスタRからデータを読み出すときには、上記と
同様に、スコアボーディング部15が動作しマイクロ命
令C2の実行が遅延され、続いてスコアボーディング停
止部16が動作してその命令実行の遅延が解除されてマ
イクロ命令C2 が実行される。
【0024】なお、上記実施例ではマイクロ命令を適用
して説明したが、これに限ることはなく、一般の命令で
あるマクロ命令に適用してもよい。
【0025】また、本発明は上記実施例に限定されるも
のではなく、本発明の要旨を逸脱しない範囲で種々変形
可能であることは勿論である。
【0026】
【発明の効果】以上詳述したように、本発明の演算処理
装置によれば、連続する命令が同一レジスタを指定する
とき後続の命令の実行を遅延させ、さらに、後続の命令
の実行に複数クロックを要するとき遅延されている命令
の実行を停止することにより、複数クロックを必要とす
る命令の実行をできる限り並列に行なうことができ、処
理速度の低下を防止することができる。
【0027】また、命令実行を並列に行なうか逐次的に
行なうかを選択できるようにするという効果を有する。
【図面の簡単な説明】
【図1】本発明の一実施例の演算処理装置の構成を示す
ブロック図である。
【図2】パイプラインの構造を示す図である。
【図3】マイクロ命令列の実行順序を入れ替えを示す図
で、図3(a)は入れ替え前の状態、図3(b)は入れ
替え後の状態をそれぞれ示す図である。
【符号の説明】
10…実行制御部(実行制御手段) 12…レジスタ部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  パイプライン構造の命令を実行する演
    算処理装置において、上記命令の実行を制御する実行制
    御手段と、この実行制御部により上記命令に基づいて指
    定されるレジスタ群からなるレジスタ部と、このレジス
    タ部における上記命令が指定するレジスタを監視し連続
    する命令が同一レジスタを指定するとき後続の命令の実
    行を遅延させる遅延手段と、上記命令の実行に要するク
    ロック数を監視し上記連続する命令のうち後続の命令が
    複数クロックを要するとき上記遅延手段による命令の実
    行の遅延を停止する停止手段とを具備したことを特徴と
    する演算処理装置。
JP3128111A 1991-05-31 1991-05-31 演算処理装置 Pending JPH04353928A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3128111A JPH04353928A (ja) 1991-05-31 1991-05-31 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3128111A JPH04353928A (ja) 1991-05-31 1991-05-31 演算処理装置

Publications (1)

Publication Number Publication Date
JPH04353928A true JPH04353928A (ja) 1992-12-08

Family

ID=14976658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3128111A Pending JPH04353928A (ja) 1991-05-31 1991-05-31 演算処理装置

Country Status (1)

Country Link
JP (1) JPH04353928A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807624B1 (en) 1998-12-17 2004-10-19 Fujitsu Limited Instruction control device and method therefor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807624B1 (en) 1998-12-17 2004-10-19 Fujitsu Limited Instruction control device and method therefor
US7127591B2 (en) 1998-12-17 2006-10-24 Fujitsu Limited Instruction control device and method therefor
US7275146B2 (en) 1998-12-17 2007-09-25 Fujitsu Limited Instruction control device and method therefor
US7313674B2 (en) 1998-12-17 2007-12-25 Fujitsu Limited Instruction control device and method therefor

Similar Documents

Publication Publication Date Title
JPH04367936A (ja) スーパースカラープロセッサ
JPH02130634A (ja) プロセッサシステム、コンピュータシステム及び命令処理方法
JP2748822B2 (ja) 情報処理装置
JPH05173783A (ja) 命令パイプラインをドレーンさせるためのシステムおよび方法
US5802359A (en) Mapping processor state into a millicode addressable processor state register array
JPS63127368A (ja) ベクトル処理装置の制御方式
JP2653037B2 (ja) データ処理システム
JP2620511B2 (ja) データ・プロセッサ
US5619730A (en) Pipelining device in a parallel processing apparatus and an instruction supplying method therefor
US7024540B2 (en) Methods and apparatus for establishing port priority functions in a VLIW processor
JPH04353928A (ja) 演算処理装置
JP2798121B2 (ja) データ処理装置
JPS60178580A (ja) 命令制御方式
EP0573071A2 (en) A microprocessor
KR100278136B1 (ko) 데이타처리장치 및 데이타처리방법
JPH07244588A (ja) データ処理装置
JPH09101889A (ja) パイプライン演算装置
JPH02211534A (ja) 並列処理装置
JP2636074B2 (ja) マイクロプロセッサ
KR950004227B1 (ko) 정보처리시스템
JP3063593B2 (ja) プログラマブルコントローラ
JPS58114250A (ja) 共有マイクロプロセツサ
JPH10187444A (ja) データ処理装置及び方法
JPS63318635A (ja) デ−タ処理装置
JPH0342721A (ja) 情報処理装置