JPH031234A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH031234A
JPH031234A JP1137035A JP13703589A JPH031234A JP H031234 A JPH031234 A JP H031234A JP 1137035 A JP1137035 A JP 1137035A JP 13703589 A JP13703589 A JP 13703589A JP H031234 A JPH031234 A JP H031234A
Authority
JP
Japan
Prior art keywords
instruction
instructions
arithmetic unit
register
parallel
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
JP1137035A
Other languages
English (en)
Inventor
Hiromichi Kaino
戒能 博通
Eiki Kamata
釜田 栄樹
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1137035A priority Critical patent/JPH031234A/ja
Publication of JPH031234A publication Critical patent/JPH031234A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置に係り、特に、演算器を使用す
る命令と演算器を使用しない命令とを同時に並行して実
行する情報処理装置に関するものである。
〔従来の技術〕
従来、情報処理装置において、命令処理の実行を高速化
する手法は、パイプライン制御方式が主流である。この
パイプライン制御方式は、1命令の処理を複数の独立し
たステージに分けて行い、複数の命令の異なる各ステー
ジの処理を重ねて同時に動作させて行い、実効的な1命
令の実行処理時間を短縮する制御方式である。
また、複数の演算ユニツl−を用いて、複数の命令を各
々の演算ユニットで並行して同時に実行する並列処理方
式も一部では用いられている。この種の並列処理方式を
用いる情報処理装置の例としは、例えば、特開昭61−
16335号公報に記載されたものがある。
しかし、複数の演算ユニットを用いる並列処理方式にお
いては、命令を順次実行するプログラムに関して、各々
の命令の間の処理結果の引渡しの関係から、各命令の同
期処理は困難である。これに対して、上述した特開昭6
1−16335号公報に記載された情報処理装置におい
ては、命令の処理で必要とするリソースを判定する回路
を設け、命令の追越しを許す命令制御方式を行い、命令
処理を高速化している。
〔発明が解決しようとする課題〕
ところで、パイプライン制御方式を用いて、命令の処理
を高速化する場合、1命令の各段階の処理の各ステージ
の処理の独立性を高めて、各ステージの処理を多重度を
多くして、実効的な1命令の実行処理時間を短縮する必
要がある。したがって、高速化のためには1ステージに
1つの命令の実行が完了するように、各ステージを細か
くする必要があるが、この場合、各ステージの処理の流
れが乱れると、パイプラインの流れの乱れを正常化する
ための時間が多く必要となり、パイプラインの乱れによ
るオーバーヘッドが大きくなる欠点がある。
また、複数の演算ユニットを用いる並列処理方式では、
先に述べた同期処理の問題から命令実行制御の論理が複
雑化し、実現のための制御方式が複雑となり、そのため
のハードウェア量も多大化する。また、演算ユニットを
複数個設ける構成としても、実際のプログラムの処理の
中では、前命令の演算結果をすぐ次の命令で用いること
が多いため、複数の演算ユニットを用いて効率よく並列
処理を行えることは少ない場合が多く、ハードウェアを
多く設けている割には処理性能が向上しないという問題
がある。
本発明は、上記問題点を解決するためになされたもので
ある。
本発明の目的は、演算器を使用する命令と演算器を使用
しない命令とを同時に並行して実行できる情報処理装置
を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本
明細書の記述及び添付図面によって明らかになるであろ
う。
〔課題を解決するための手段〕
上記目的を達成するため、本発明の情報処理装置におい
ては、命令列の複数の命令を並列にデコードする命令デ
コーダと、演算器と、演算器をバイパスして演算入力レ
ジスタの下位ビットを演算出力レジスタの下位ビットに
送出するデータパスと、前記命令デコーダでデコードし
た命令を判定し、演算器を使用する命令の実行時に、前
記データパスを用いて、演算器を使用しない命令を、演
算器を使用する命令と同時に並行して実行する命令制御
手段とを備えることを特徴とする。
〔作用〕
前記手段によれば、情報処理装置において、命令デコー
ダと、演算器と、演算器をバイパスするデータパスと、
命令制御手段が備えられる。命令デコーダが命令列の複
数の命令を並列にデコードすると、命令制御手段がデコ
ードした命令を判定し、演算器を使用する命令の実行時
に、演算入力レジスタの下位ビットを、データパスを用
いて演算器をバイパスして演算出力レジスタの下位ビッ
トに送出し、演算器を使用しない命令、例えば、レジス
タ間のデータ転送命令、レジスタとメモリ間のデータ転
送命令のロード命令およびストア命令などの命令を、演
算器を使用する命令と同時に並行して行う。
これにより、演算器を増加することなく、命令の処理を
並行して実行することができ、性能を向上させることが
できる。
演算器をバイパスして演算入力レジスタの下位ビットを
演算出力レジスタの下位ビットに送出するデータパスは
、演算器の入力レジスタの上位ビットおよびと下位ビッ
トを独立に選択するセレクタと、演算器の入力レジスタ
から出力レジスタへ演算器を通過しないでデータ転送で
きるパスと、該パスからの転送データおよび演算器から
の出方データを選択して、出力レジスタに供給するセレ
クタから構成される。また、命令デコーダは、少なくと
も2つの命令を並列に同時にデコードし、命令制御手段
は、並行して実行可能な演算器を使用しない命令および
演算器を使用する命令を判定し、命令の処理の制御を行
う。演算器を用いる命令の制御はマイクロプログラムで
行い、演算器を用いない命令の制御はハードウェア論理
のパス制御により行う。このように命令の並列実行は、
ハードウェアによるパス制御が加わるだけなので、並列
実行可能な命令の並列実行の制御が複雑となることはな
く、簡単なハードウェアパスの追加により実現できる。
一般に情報処理装置のアーキテクチャ上、演算器は、メ
モリからメモリへのデータ転送あるいは10進演算のた
めに8バイト以上の幅の構成をとっている。また、メモ
リとレジスタ間の転送命令では4バイト幅のデータを扱
うので、この転送命令では、演算器の残りの4バイトは
有効に利用されていない。このため1本発明によるデー
タパスの回路を付加する構成としても、演算器の構成の
金物量の増加が多くなることはない。
〔実施例〕
以下、本発明の一実施例を図面を用いて具体的に説明す
る。
第1図は、本発明の一実施例にかかる情報処理装置の構
成を示すブロック図である。第1図において、■は主記
憶装置である。主記憶装置lから読み出された命令列は
、命令転送パス1aを通して命令バッファ2に転送され
て格納される。命令バッファ2に格納された命令列は、
更に先行する命令がX命令レジスタ3に切り出され、後
続する命令がY命令レジスタ4に切り出されて、命令デ
コーダ(図示せず)によりデコードされる。X命令レジ
スタ3およびY命令レジスタ4にセットされた各命令(
先行命令、後続命令)が、デコートされて判定され、各
々の命令の内容に応じて、命令処理の制御を行う。すな
わち、当該命令がメモリのデータを必要とする命令であ
れば、メモリのアドレスをメモリアドレスバス33およ
び43を介して主記憶装置1に送出し、読み出しリクエ
ストを出す。読み出しリクエストに対して、主記憶装置
1からは主記憶の内容が読み出されて、データパスlb
、lcから出力される。また、当該命令が、汎用レジス
タの内容を必要とする命令であれば、必要とする汎用レ
ジスタ番号をパス32およびパス42を介して汎用レジ
スタ群5に知らせ、汎用レジスタ番号のレジスタの内容
が読み出されて、汎用レジスタ群5からのデータパス5
aおよびデータパス5bによって出力される。このよう
に、各々の命令の処理で必要とするオペランドの読み出
しは、X命令レジスタ3の命令(以下、X命令と称する
)およびY命令レジスタ4の命令(以下、Y命令と称す
る)のそれぞれの命令に対して、独立に行う機構を有す
る構成となっている。
また、X命令レジスタ3およびY命令レジスタ4にセッ
トされた各命令(X命令とY命令)の種別が命令並列判
定回路6へ転送され、命令並列判定回路6が演算器を使
用する命令(以下、M命令と称する)の判定とデータ転
送のみの命令(以下、S命令と称する)の判別を行う。
判定の結果、命令並列判定回路6が、X命令とY命令が
M命令とS′全命令ペアであると判定した場合には、制
御線6aによりX命令とY命令のどちらがM命令である
かを伝えるので、制御線6aの信号によりセレクタ20
はM命令の側をセレクトする。セレクタ20により選択
された命令の命令コードによって、制御記憶アドレスレ
ジスタ10には命令処理の先頭アドレスがセットされ、
制御記憶装置8から順次にマイクロプログラムが読み出
され、その内容が制御記憶データレジスタ11へセット
される。制御記憶データレジスタ11にセットしたマイ
クロ命令により演算器9を制御して命令の実行を行う。
一方、命令並列判定回路6からはX命令/Y命令とM命
令/S命令との対応付けを示す並列対応信号が、信号線
6bによってオペランド制御回路7へ伝えられる。オペ
ランド制御回路7では、並列対応信号を受けて、X命令
レジスタ3およびY命令レジスタ4からのオペランド信
号(パス32゜33、42.43からの信号)を受けて
、X命令とY命令で必要とするオペランドを知り、演算
器の八人力レジスタ(WAR)12とB入力レジスタ(
WBR)13にセットすべきデータのセレクト信号を生
成する。生成したセレクト信号は信号線7b、7Cによ
りセレクタ21.セレクタ22に供給され、セレクタ2
1およびセレクタ22を制御する。
前述したように、汎用レジスタ群5からのデータは、デ
ータパス5a、5bにより、また、主記憶装置1から読
み出されたデータは、データパスlb、lcにより、そ
れぞれセレクタ21.22に与えられている。このた′
め、セレクト信号でセレクタ21.22を制御すること
により、M命令のオペランドが、WAR12,WBR1
3の前半部(上位ビット部)へ、また、S命令のオペラ
ンドがWAR12゜WBR13の後半部(下位ビット部
)へセットされる。WAR12,WBR13にセットさ
れたM命令のオペランドデータは、データパス12a、
13aにより演算器9に供給される。また、演算器9に
は。
演算の制御信号として、制御記憶データレジスタ11か
ら制御線11aによりマイクロ命令が供給されており、
該マイクロ命令により演算器9を制御して、演算器を用
いる命令の実行制御を行う。演算された結果データは、
データ線9aによってセレクタ23へ入力される。
一方、WAR12,WBR13の後半部へ置かれたS命
令のオペランドは、データパス12b、13bにより演
算器9をバイパスして直接にセレクタ23に入力される
。セレクタ23では、オペランド制御回路7からの制御
線フaによる制御信号により、M命令の演算結果とS命
令のデータを演算出力レジスタ14へ出力し、データ線
14aを介して、汎用レジスタ群5および主記憶装置1
に、命令処理の結果を格納する。なお、汎用レジスタ群
5および主記憶袋gilへの書込み要求は独立に出され
、それぞれ、汎用レジスタ群5および主記憶装置1に独
立してデータの書込み動作の制御を行う。
このように、並列にデコードされたX命令とY命令に対
して、M命令とS命令とのペアにできると判定されると
、前述したような命令処理の制御を行うことにより、M
命令とS命令として並列し命令の処理を実行することが
できる。
デコードしたX命令とY命令とが、M命令とS命令との
ペアにできずに、M命令とM命令となる場合には、命令
の並列実行を行わず、X令命およびY命令はそれぞれを
単独に実行する。この場合には、命令並列判定回路6の
制御により、X命令をM命令とし、オペランド制御回路
7によって。
Y命令のデータをセレクトしないように命令の制御を行
うことにより、1つの命令を単独して実行することがで
きる。また、デコードしたX命令とY命令とが、M命令
とS命令とのペアにできずに、S命令とS命令となる場
合には、S命令の命令ペアとして、並列実行することが
できる。この場合には、一方のS命令を演算器を通して
実行することによって、M命令とS命令の実行として扱
うことができ、並列実行を行うことができる。
このように、命令を並列実行するように制御しても、演
算器は、10進演算、メモリからメモリへの転送のため
に通常8バイト以上のデータ幅を有しており、演算器に
対して演算結果による条件コードの設定、オーバーフロ
ーの検出等の回路は変更することなく、命令の並列実行
の制御を行うことができる。
本実施例では、演算器の入力レジスタへのセットアツプ
は1M命令、S命令の順で行い、10進命令用に設置し
である8バイト以上の幅を持った演算器の入力レジスタ
をそのまま利用するようににしているが、命令のセット
アツプ順序や、S命令にデータをセットアツプするレジ
スタは、他のレジスタを用いるようにしてもよい。
なお5本実施例では、S命令の並列実行のために、演算
器9をバイパスするデータパスを、データパス12bと
データパス13bの2つのパスを設けているが、実際の
S命令の処理はデータ転送の機能のみなので、S命令で
はオペランドとなるデータは1つしか必要としない。こ
のため、WAR12゜WBR13へのデータのセットを
いずれか一方のレジスタ、例えば、WAR12とするこ
とにより、−方のデータパス13bを省略可能である。
このように、演算器を必要としないS命令、例えば、レ
ジスターレジスタのデータ転送命令、メモリーレジスタ
のロード命令、レジスターメモリのストア命令2公岐命
令などの命令は、演算を行うM命令に比べ、その実行が
簡単であるため、M命令の実行と共に・、S命令を同時
に実行できる機能を備えることにより、通常のプログラ
ムで比較的多く現れるS命令の処理時間を短縮すること
ができる。これにより、命令の処理を高速化することが
できる。
以上、説明したように、本実施例の情報処理装置によれ
ば、M命令は、通常の命令実行と同様にマイクロプログ
ラム制御等にて実行の制御が行われる。S命令としては
、データを転送するのみの機能を持った命令に限定する
ことにより、M命令の実行に影響がないように実行され
る。この場合、演算器の入力レジスタでは、命令のデコ
ード順序に関係なく、M命令とS命令のペアが判定され
、M命令、S命令の順でセットアツプされる。M命令の
演算器の実行制御は、S命令の有無にかかわらず、単独
で演算器を使用する命令の実行と同様な制御により行わ
れ、ファームウェア等の実行サイクルの長い命令との整
合性が異なることはない。
このように、演算器を使用しない命令のロード命令、ス
トア命令2介岐命令などの命令を、他の演算器を使用す
る命令と並列に実行することにより、当該命令の実行サ
イクルを見かけ上0にすることができる。このため、命
令の処理が高速化する。また、並列実行を行う命令のペ
アを、演算器を使用する命令と転送型の基本命令に限定
することにより、演算器を使用する命令の実行は、並列
実行を行わない場合と同じく、マイクロプログラムの制
御に依って行う。これにより、並列実行の制御を行うた
めの金物量が、特に、増加することはない。また、並列
実行を行わない実行制御のモードを簡単に設置できる。
以上1本発明を実施例にもとづき具体的に説明したが1
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。
〔発明の効果〕
以上、説明したように、本発明によれば、演算器を使用
しない命令のロード命令、ストア命令。
分岐命令などの命令を、他の演算器を使用する命令と並
列に実行することにより、命令の実行が高速化される。
【図面の簡単な説明】
第1図は、本発明の一実施例にかかる情報処理装置の構
成を示すブロック図、 図中、l・・・主記憶装置、2 ・命令バッファ、3・
・・X命令レジスタ、4・・・Y命令レジスタ、5 ・
汎用レジスタ群、6・・・命令並列判定回路、7・・・
オペランド制御回路、8・制御記憶装置、9・・・演算
器、10・・・制御記憶アドレスレジスタ、11・・・
制御記憶データレジスタ、12・・・A入力レジスタ、
13・・・B入力レジスタ、14・・・出力レジスタ、
20.21.22.23・・・セレクタ。

Claims (1)

    【特許請求の範囲】
  1. 1、命令列の複数の命令を並列にデコードする命令デコ
    ーダと、演算器と、演算器をバイパスして演算入力レジ
    スタの下位ビットを演算出力レジスタの下位ビットに送
    出するデータパスと、前記命令デコーダでデコードした
    命令を判定し、演算器を使用する命令の実行時に、前記
    データパスを用いて、演算器を使用しない命令を、演算
    器を使用する命令と同時に並行して実行する命令制御手
    段とを備えることを特徴とする情報処理装置。
JP1137035A 1989-05-29 1989-05-29 情報処理装置 Pending JPH031234A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1137035A JPH031234A (ja) 1989-05-29 1989-05-29 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1137035A JPH031234A (ja) 1989-05-29 1989-05-29 情報処理装置

Publications (1)

Publication Number Publication Date
JPH031234A true JPH031234A (ja) 1991-01-07

Family

ID=15189328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1137035A Pending JPH031234A (ja) 1989-05-29 1989-05-29 情報処理装置

Country Status (1)

Country Link
JP (1) JPH031234A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221149A (ja) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd リコンフィグ可能な集積回路装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221149A (ja) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd リコンフィグ可能な集積回路装置

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
US5293500A (en) Parallel processing method and apparatus
JP2539199B2 (ja) デジタルプロセッサ制御装置
EP1050808B1 (en) Computer instruction scheduling
JPS6217252B2 (ja)
JPH0517588B2 (ja)
JPH10228376A (ja) 複数レジスタ命令を処理する方法及びプロセッサ
JP3237858B2 (ja) 演算装置
KR950012118B1 (ko) 병렬 파이프라인 명령 처리 장치
JP2000353091A (ja) コンピュータシステムにおける命令実行方法およびコンピュータシステム
JPH031234A (ja) 情報処理装置
JPS60178580A (ja) 命令制御方式
JPS5995646A (ja) 演算制御装置
JPH07110769A (ja) Vliw型計算機
JPS5829051A (ja) 演算処理装置
JP2819733B2 (ja) 情報処理装置
JPS62147545A (ja) 情報処理装置における転送命令処理方式
JPS6153754B2 (ja)
JPH0827720B2 (ja) データ処理装置
JPH0218732B2 (ja)
JPH0769800B2 (ja) データ処理装置
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
JPH0342721A (ja) 情報処理装置
JPH0258128A (ja) データ処理装置
JPH0279122A (ja) 浮動小数点演算機構