JPH01213719A - パイプライン処理用データ組替装置 - Google Patents

パイプライン処理用データ組替装置

Info

Publication number
JPH01213719A
JPH01213719A JP3865888A JP3865888A JPH01213719A JP H01213719 A JPH01213719 A JP H01213719A JP 3865888 A JP3865888 A JP 3865888A JP 3865888 A JP3865888 A JP 3865888A JP H01213719 A JPH01213719 A JP H01213719A
Authority
JP
Japan
Prior art keywords
instruction
instructions
nop
storage means
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
JP3865888A
Other languages
English (en)
Inventor
Makoto Udagawa
誠 宇田川
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP3865888A priority Critical patent/JPH01213719A/ja
Publication of JPH01213719A publication Critical patent/JPH01213719A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 「産業上の利用分野」 本発明はパイプライン方式で制御を行う電子計算機に用
いられるデータの組み替えを行うパイプライン処理用デ
ータ組替装置に関する。
「従来の技術」 電子計算機の制御方式の1つとしてパイプライン制御方
式と呼ばれる方式が存在する。このパイプライン方式は
先行制御方式とも呼ばれており、命令コード処理装置内
でy!@の命令すなわちインストラクションを同時に進
行させる方式である。
第6図はこのパイプライン方式で命令を実行する中央処
理装置の構成を表わしたものである。この中央処理装置
11は、命令を格納するレジスタファイル12A、12
Bを備えている。ここでレジスタファイル12A、12
Bは処理の関係で2つに別けて表現しているが実質的に
は同一のものである。レジスタファイル12Aから読み
出された2つのデータは、マルチプレクサ13によって
選択され、演算論理回路(ALtJ)14で演算処理が
行われる。演算結果は、レジスタファイル12Bに格納
されると共に、バイパス経路15を通じてマルチプレク
サ13に供給される。マルチプレクサ13は、ハザード
検出回路16に接続されており、命令がうまく流れない
ような現象(ハザード)が防止されるようになっている
。なおバイパス経路15は、(i)レジスタファイル1
2Bに格納される段階と、(11)ここ12Aから読み
出される段階の2つのステップを1つに短縮する場合に
用いられる経路である。
第7図は、パイプライン制御の一例についてその様子を
表わしたものである。
この例のパイプライン制御方式では、各命令の実行を(
イ)フェッチ、(ロ)デコード、(ハ)iペランド・フ
ェッチ、(ニ)実行、(ホ)オペランド・ストアといっ
た回路動作上具なる5つの作業に分ける。そしてこれら
にそれぞれ同一の長さのサイクルタイムTを割り当てる
。ここで第2の命令を第1の命令に対して1サイクルタ
イムだけ遅延させて実行するようにすると、各回路部分
の使用に衝突を生じさせることなく全命令の処理時間を
大幅に短縮することができる。この第7図に示した例で
は2つの命令を同時に進行させたが、更に多くの命令を
1サイクルタイムずつ遅延させて実行することにより、
理想的には1サイクルに1つの命令の実行結果を得るこ
とができる。このような利点に着目し、大型計算機のよ
うに特に高速処理が重視される計算機ではこのパイプラ
イン制御方式が広く用いられている。
「発明が解決しようとする課題」 ところが、このパイプライン制御方式にも幾つかの問題
がある。ある命令の結果が次の命令に影響する場合には
、先の命令の結果が得られてから次の命令を実行しなけ
ればならない。そこでこの制御方式を採る中央処理装置
にはインターロック機構という専用の回路が付加されて
おり、次の命令の実行を待たせるようになっている。こ
のような余分な回路が存在するために、前記したサイク
ルタイムが長くなり、処理速度の向上にある程度のロス
が生じてしまう。またインターロック中は中央処理装置
がアイドルになってしまい、この点でも無駄が生じてし
まう。更に、中央処理装置側にインターロック機構等を
付加するために装置のコストがアブプしたり、装置の設
計が複雑となるという問題もあった。
そこで本発明の目的は、中央処理装置に付加的な回路を
必要とせずにパイプライン制御が行なえるように、処理
データすなわち命令の組み替えを行うパイプライン処理
用データ組替装置を提供することにある。
「課題を解決するための手段」 本発明では、第1図に原理的に示すように次のような各
手段をパイプライン処理用データ組替装置に具備させる
(イ)パイプライン処理用の一連の命令を格納する第1
の命令格納手段21゜ (ロ)第1の命令格納手段21に格納された命令が順に
読み出されたとき、それぞれ前の命令の結果が次の命令
に使用されるかどうかの判別を順次行う判別手段22゜ (ハ)判別手段22によって次の命令に使用されると判
別されたときこれら2つの命令の間に、ノツプ命令を挿
入するノツプ命令挿入手段23゜ノツプ(NOP;NU
N 0PERATION)命令を挿入することで、先の
命令の結果を利用する後の命令の実行を遅延させるよう
にするために、このノツプ命令挿入手段23が設けられ
ている。
(ニ)ノツプ命令挿入手段23を経た一連の命令を格納
する第2の命令格納手段24゜ (ホ)第2の命令格納手段24に格納された命令が順に
読み出されたとき、ノツプ命令の出現を検出するノツプ
命令検出手段25゜ くべ)ノツプ命令検出手段25によってノツプ命令が検
出されたとき、これよりも後方に存在する命令でそのノ
ツプ命令以前の命令の結果を使用するものでない命令を
1つ抽出し、このような命令が存在する場合にはノツプ
命令と置き換える命令置換手段26゜ (ト)命令置換手段26を経た一連の命令をパイプライ
ン処理用のデータとして格納する第3の命令格納手段2
7゜ 第3の命令格納手段27に格納された一連の命令を用い
てパイプライン制御を行うようにすれば、命令の先後関
係を考慮することなく、これらの命令を時間的に重ねて
実行することができる。従って、従来の中央処理装置の
ようにパイプライン制御を行うための特別の付加回路を
必要とせず、処理が高速化するばかりでなく、装置のコ
ストアップも防止することができる。
「実施例」 以下実施例につき本発明の詳細な説明する。
第2図は本実施例のパイプライン処理用データ組替装置
の構成を表わしたものである。
この装置はCPU (中央処理装置)31を備えぞいる
。CPU31はデータバス等のバス32を通じてROM
33、RAM34、キーボード35、表示部36および
通信制御部37と接続されている。通信制御部37は回
線38と接続されている。
ここで、ROM33は、命令の順序を組み替えるための
手順等を格納したリード・オンリ・メモリである。RA
M34は、通信制御部37から送られてきた処理前の命
令群を格納すると共に、順番を組み替えた処理後の命令
群を格納する部分であり、各種データの一時記憶にも用
いられるランダム・アクセス・メモリである。キーボー
ド35は、CRT等の表示部36と共にこの装置の操作
等に用いられるものである。通信制御部37は、この装
置に処理すべき一連の命令群からなるデータを送り込ん
だり、処理後のデータを返送するために用いられるもの
である。装置によってはフロッピーディスク等の記憶媒
体に格納された命令群を読み出し、処理後の命令群を再
び記憶媒体に格納するような構成となっていてもよい。
第3図は、以上のような構成のパイプライン処理用デー
タ組替装置のデータ組替えの第1段階としてノツプ命令
を付加する作業を説明するためのものである。
まずCPL131はRAM34の所定領域をカウント領
域として割り当て、この一部の領域にカウント値として
i=1を設定する(ステップ■)。
そして、処理の対象としての1番目の命令と、参照用に
次の1+1番目の命令を読み出すくステップ■)。そし
て、】+1番目の命令は1番目の命令の結果を使用する
かどうかの判別を行う(ステップ■)。もし、使用する
ものであれば、i+1番目の命令を1番目の命令の実行
中に実行することができない。そこで、この場合には、
これらの命令の間にノツプ命令を割り込ませる(ステッ
プ■)。そしてステップ■に移行する。ステップ■で使
用しないと判断された場合には(N)、両命令は併存す
ることができる。従って、この場合にはなんらの処置も
行わずに次のステップ■に移行する。
さてステップ■では、その命令の結果がこれ以援使用さ
れることがないかどうかの判別が行われる。これ以後使
用されるものでない場合には(Y)、その命令を後の方
に自由に移動させることができる。そこでこの命令をR
AM34内に設定された移動可能命令登録領域に登録す
る(ステップ■)。
そして、カウント値1が+1される(ステップ■)。
ステップ■で以後使用されるとされた場合には(N)、
このような登録を行わずに直ちにステップ■に移行する
ステップ■でカウント値lが+1されたら、これで全命
令の処理が終了したかどうかの判別が行われる(ステッ
プ■)。処理が終了していない場合には(N)、ステッ
プ■に戻って再び同様の作業を繰り返す(ステップ■〜
■)。このようにして全命令の処理が終了すれば(ステ
ップ■;Y)、この第1段階の処理が終了する。
第4図は、データ組替えの第2段階の作業を表わしたも
のである。この第2段階の作業では、ノツプ命令のうち
可能なものを他の命令に置き換えることで、ノツプ命令
の付加によって長くなった命令群を可能な限り短くする
ことになる。
CPL:31は前記したカウント領域の他の部分にカウ
ント値としてj=1を設定する(第4図ステップ■)。
そして3番目の命令を読み出す(ステップ■)。この命
令がノツプ命令である場合に:よ(Y)、前記した移動
可能命令登録領域に登録されている命令があるかどうか
の判別を行う(ステップ■)。そして、このような命令
があれば(Y)、このうちの前の方に存在する命令の1
つを取り出し、現在処理中のノツプ命令と置き換える(
ステップ■)。このとき、移動可能命令登録領域に登録
されていたその命令の登録は取り消される。このような
作業が終了したらカウント値Jが+1される(ステップ
■)。処理すべき命令がノツプ命令でない場合(ステッ
プ■;N)には、このような作業を行わずにステップ■
に移行する。
ステップ■でカウント値が+1されたら、全命令の処理
が終了したかどうかの判別が行われる(ステップ■)。
終了していなければ(N)、ステップ■に戻って次の命
令が取り出され、同様のイイ業が繰り返されることにな
る(ステップ■〜■)。
このようにして全処理が終了したら(ステップ■;Y)
、第2段階の作業が終了する。
このようにして第2段階の作業が終了した命令群は、R
AM34から所定のタイミングで読み出され、通信制御
B3Tを通じて所定の電子計算機に送出され、ここでパ
イプライン制御によるデータ処理が行われることになる
第5図は、本実施例によって処理された命令群を実行す
る中央処理装置の構成を表わしたものである。第6図と
同一の符号を付しており、これらの説明は省略する。第
6図に示した装置11と比較すると、本実施例で使用さ
れる中央処理装置41の構成が単純化していることがわ
かる。
「発明の効果」 以上説明したように本発明によれば命令の順序の入れ換
えやノツプ命令の付加によって命令群を祷成しなおした
ので、ハザード検出が不要となり、基本的な構成の中央
処理装置であってもパイプライン制御が可能となるとい
う利点がある。
【図面の簡単な説明】
第1図は本発明の原理を示す原理図、第2図〜第5図は
本発明の一実施例を説明するためのもので、このうち第
2図はパイプライン処理用データ組替装置の回路構成の
概要を示すブロック図、第3図はこの装置の第1段階の
処理の流れを示す流れ図、第4図はこの装置の第2段階
の処理の流れを示す流れ図、第5図はこの装置で処理さ
れた命令群を使用してパイプライン制御を行う中央処理
装置の構成を表わしたブロック図、第6図はパイプライ
ン方式で命令を実行する従来の中央処理装置の構成を表
わしたブロック図、第7図は、パイプライン制御の一例
についてその様子を表わしたタイミング図である。 21・・・・・・第1の命令格納手段、22・・・・・
・判別手段、 23・・・・・・ノツプ命令挿入手段、24・・・・・
・第2の命令格納手段、25・・・・・・ノツプ命令検
出手段、26・・・・・・命令置換手段、 27・・・・・・第3の命令格納手段、31・・・・・
・CPU。 33・・・・・・ROM。 34・・・・・・RAM0 出願人       富士ゼロックス株式会社代理人 
      弁理士 山 内 梅 雄第1図 第2図 第7図 第3図 第4図

Claims (1)

  1. 【特許請求の範囲】  パイプライン処理用の一連の命令を格納する第1の命
    令格納手段と、 この第1の命令格納手段に格納された命令が順に読み出
    されたとき、それぞれ前の命令の結果が次の命令に使用
    されるかどうかの判別を順次行う判別手段と、 この判別手段によって次の命令に使用されると判別され
    たときこれら2つの命令の間に、何も実行しないという
    ノップ命令を挿入するノップ命令挿入手段と、 このノップ命令挿入手段を経た一連の命令を格納する第
    2の命令格納手段と、 この第2の命令格納手段に格納された命令が順に読み出
    されたとき、ノップ命令の出現を検出するノップ命令検
    出手段と、 このノップ命令検出手段によってノップ命令が検出され
    たとき、これよりも後方に存在する命令でそのノップ命
    令以前の命令の結果を使用するものでない命令を1つ抽
    出し、このような命令が存在する場合には前記ノップ命
    令と置き換える命令置換手段と、 この命令置換手段を経た一連の命令をパイプライン処理
    用のデータとして格納する第3の命令格納手段 とを具備することを特徴とするパイプライン処理用デー
    タ組替装置。
JP3865888A 1988-02-23 1988-02-23 パイプライン処理用データ組替装置 Pending JPH01213719A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3865888A JPH01213719A (ja) 1988-02-23 1988-02-23 パイプライン処理用データ組替装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3865888A JPH01213719A (ja) 1988-02-23 1988-02-23 パイプライン処理用データ組替装置

Publications (1)

Publication Number Publication Date
JPH01213719A true JPH01213719A (ja) 1989-08-28

Family

ID=12531359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3865888A Pending JPH01213719A (ja) 1988-02-23 1988-02-23 パイプライン処理用データ組替装置

Country Status (1)

Country Link
JP (1) JPH01213719A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535470A (ja) * 1990-08-03 1993-02-12 Matsushita Electric Ind Co Ltd 命令供給装置
US5404470A (en) * 1991-11-26 1995-04-04 Matsushita Electric Industrial Co., Ltd. Information processing apparatus for processing instructions by out-of-order execution
WO2006129189A2 (en) * 2005-06-01 2006-12-07 Atmel Corporation Apparatus and method for performing efficient multiply-accumulate operations in microprocessors

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535470A (ja) * 1990-08-03 1993-02-12 Matsushita Electric Ind Co Ltd 命令供給装置
US5404470A (en) * 1991-11-26 1995-04-04 Matsushita Electric Industrial Co., Ltd. Information processing apparatus for processing instructions by out-of-order execution
WO2006129189A2 (en) * 2005-06-01 2006-12-07 Atmel Corporation Apparatus and method for performing efficient multiply-accumulate operations in microprocessors
WO2006129189A3 (en) * 2005-06-01 2007-04-19 Atmel Corp Apparatus and method for performing efficient multiply-accumulate operations in microprocessors
US8015229B2 (en) 2005-06-01 2011-09-06 Atmel Corporation Apparatus and method for performing efficient multiply-accumulate operations in microprocessors

Similar Documents

Publication Publication Date Title
CA1223371A (en) System for by-pass control in pipeline operation of computer
US4882701A (en) Lookahead program loop controller with register and memory for storing number of loop times for branch on count instructions
US6085312A (en) Method and apparatus for handling imprecise exceptions
JPH02217926A (ja) コード生成方法
JPS6028015B2 (ja) 情報処理装置
US5193159A (en) Microprocessor system
US4739470A (en) Data processing system
EP0094535B1 (en) Pipe-line data processing system
US5274793A (en) Automatic logic generation method for pipeline processor
JPH02195429A (ja) 情報処理装置
JPH01213719A (ja) パイプライン処理用データ組替装置
RU2150738C1 (ru) Система обработки и способ ее функционирования
JP3035108B2 (ja) 並列演算処理装置
US7865706B2 (en) Information processing method and instruction generating method
AU1490888A (en) Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units
JP2503984B2 (ja) 情報処理装置
JP3014682B2 (ja) プログラム制御方法及び装置
EP0503968A2 (en) Pipeline operation control method and system
JPH06230963A (ja) メモリアクセス制御装置
JP2778610B2 (ja) パイプライン演算制御方法およびシステム
JP2558831B2 (ja) パイプライン制御方式
JP2814683B2 (ja) 命令処理装置
JPS58221447A (ja) デ−タ処理装置
JP2643399B2 (ja) 情報処理装置
JPH0391055A (ja) ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置