JPH04149637A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH04149637A
JPH04149637A JP27088790A JP27088790A JPH04149637A JP H04149637 A JPH04149637 A JP H04149637A JP 27088790 A JP27088790 A JP 27088790A JP 27088790 A JP27088790 A JP 27088790A JP H04149637 A JPH04149637 A JP H04149637A
Authority
JP
Japan
Prior art keywords
register
address
instruction
operand
general
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
JP27088790A
Other languages
English (en)
Inventor
Hisayoshi Kato
久佳 加藤
Fumio Mochizuki
望月 文雄
Toshinori Kuwabara
桑原 敏憲
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
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering 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 Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP27088790A priority Critical patent/JPH04149637A/ja
Publication of JPH04149637A publication Critical patent/JPH04149637A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は情報処理装置に係り、特に、命令をパイプライ
ン制御方式によって次々と処理する情報処理装置におい
て、アドレスコンフリクトのオーバーヘッドをなくシ、
さらに高速な処理を実現する情報処理装置に間する。
〔従来の技術1 パイプライン制御方式の情報処理装置においては、命令
の処理を複数のステージに分け、複数の命令について各
ステージをオーバーラツプさせながら実行していく、第
2図はこのパイプライン制御方式の命令処理の流れを示
したものである。ここで、Dは命令の解読を行うステー
ジ、Aはオペランドの実行アドレスを計算するステージ
、Bはオペランドを記憶装置から読み出すステージ、L
は記憶装置から読み出したオペランドをオペランドバッ
ファレジスタに転送するステージ、Eは命令固有の演算
を実行するステージである。Aステージでの実行アドレ
ス(オペランドアドレス)の計算は、命令のインデクス
パート及びベースバートで指定した汎用レジスタの内容
と命令の一部であるディスプレイメントの値とを加算す
ることによって行う。
パイプライン制御方式では、1つの命令のDステージが
終了すると該命令のAステージが開始され、それと同時
に後続命令のDステージが開始され、以下、同様にして
次々と複数の命令がオーバーラツプしながら処理されて
いく。
第2図(1)に示したのは、命令11が演算結果を格納
することによって変更する汎用レジスタを直後の命令I
2がインデクスあるいはペースレジスタとして、その内
容を実行アトし・ス生成に利用しようとする場合におい
て、高速化手段を用いない場合の命令処理の流れである
。この時、命令11の演算ステージ(Fステージ)が終
rし、演算結果が汎用レジスタに格納された後、命令I
2の実行アトしス生成ステージ(Aステージ)が開始さ
れるため1図のように3サイクルのオーバーヘッドを生
じてしまう。このように、オペランドの実行アドレスを
生成するときに使用する汎用レジスタの内容を先行する
命令が変更する場合をアドレスコンフリクトと呼んでい
る。
従来、パイプライン制御方式の情報処理装置において、
このアドレスコンフリクト(こよるオーバーヘッドを軽
減L2て処理の高速化を図る方法がいくつか提案さねで
いる。
例えば、特公昭56−46170号公報には、汎用レジ
スタを変更する命令のうち、オペランドとして指定され
た記憶装置上のデータをその時汎用レジスタに格納する
命令(以下、■、系命令を略す)において、高速化を図
る方法が示されている。
これは、記憶装置からデータを読み出(1,てオペラン
ドバッファに転送する際、同一オペランドをアドレス生
成用レジスタにも転送するというもので、汎用レジスタ
を経由しないため、第2C9(2)に示すように、オー
バーヘッドを2サイクルに低減できる。
また、特開昭63−47834号公報には、アドレスコ
ンフリクトを生じている後続命令に条件を付すことによ
って高速化を図る方法が示されている。これは、先行す
る命令で変更されている汎用レジスタが後続命令のイン
デクスレジスタとして指定されている場合には、残りの
ペースレジスタ及びディスプレースメント値が共にゼロ
である場合にかぎり、また、先行命令で変更される汎用
レジスタが後続命令のペースレジスタとして指定されて
いる場合には、インデクスレジスタ及びディスプレーメ
ント値が共にゼロの場合にかぎり、記憶装置から読出し
たオペランドを直接記憶装置参照用アドレスレジスタに
転送するというもので、この方法では第2図(3)に示
すように、オーバーヘッドを1サイクルに低減できる。
さらに、特開平1−277427号公報には、アドレス
コンフリクトを生じている後続命令のインデクスレジス
タ又はペースレジスタの値を、アトし・ス計算時、アド
レス加算器に対してゼロと設定すると共に、アドレス加
算器とアドレスレジスタの間に小加算器を設けることに
より、後続命令のアドレス加算結果に先行命令の結果を
小加算器で加算することにより後続命令の正しいアドレ
ス結果をアドレスレジスタに格納する方法が示されてい
る。この方法でも、第2図(3)に示す通りオーバーヘ
ッドを1サイクルに低減できる。
[発明が解決しようとする課題] 上記従来技術は、パイプライン制御でアドレスコンフリ
クトが生じている場合、パイプラインのみだれを少なく
し処理の高速化が可能であるが、依然として1〜2サイ
クルのオーバーヘッドが残り、処理の高速化には限界が
あった。
本発明の目的は、パイプライン制御方式によって複数の
命令をオーバーラツプさせて処理する情報処理装置にお
いて、アドレスコンフリクトによるオ・−バーヘッドを
ゼロにして、さらに処理の高速化を図ることにある。
[諜覇を解決するための手段j 上記目的を達成するために、本発明は、命令によってイ
ン・デクスレジスタ及びベースし・ジスタとして指定さ
れた汎用レジスタの内容と、該命令に−一って指定され
たディスプレースメント値とを加算Cてオペランドアト
しスを計算するアトトス計算器の出力を保持するアドレ
スト/ラスタと、記憶装置の間に演算手段を設け、先行
する命令により記憶装置から読み出されたオペランドデ
ータを格納する汎用レジスタが後続命令におけるオペラ
ンドアトし/ス計算に使用される。ことを検出すると、
該汎用L・ジスタの内容を用いないで後続命令にお(す
るオペラン・ドアドレスを計算してアドレスレジスタに
格納し5、該アトし・スレジスタの内容と先行命令によ
り記憶装置から読み出されたオペラ〉ドア・−夕とを前
記演算手段で加算して後続命令のすベラシトアト[スを
生成し記憶装置をアクセスすることを特徴とする。
6作 用] 先行命令により記憶装置から読み出されたオペランドデ
ータを格納する汎用レジスタが後続命令におけるオペラ
ンドアドレス計算に使用される場合、後続命令のAステ
ージでは、該汎用レジスタのデータをゼロとしてオベラ
〉・ドアドレス加算の中間結果を得てアドレスしジスタ
に格納する。この時、先行命令のI、ステージでは、j
cI憶装貢からオペランドデータを読み出(−、、オペ
ランドバッファL・ジスタに転送する。引き続く後続命
令の1.ステージにおいては、Jユ記アドレスIノジス
タの内容とオペランドバッファレジスタの内容とを演算
手段で加算して完全なオペランドアドレスを得、記憶装
置をアクセスする。これにより、アドレスコンフリクト
が生(rている集合にもオーバーヘッドをゼロとする、
:とが可能になる。
[実施例] 以下、本発明の一実施例について図面により説明する。
第1図は本発明による情報処理装置の一実施例の全体構
成を示したものである。第1図において、lは命令りう
・スタ、2は汎用し・シスタ群、:3は制御10路であ
る。4はインデ々ス入力しジスタ、5はベース入力レジ
スタ、6はディスプし−スメント入力1.ジスタ、7は
これら入力レジスタ4,5゜67℃内容を入力とする3
人力アドL/ス加算器である。10は小演算器、11は
アドレスレジスタ、12は記憶装置である、即ち、小演
算器10はアトし・スしジスタ11と記憶装[12の間
に設置される。13はデータレジスタ、14はアライナ
、15はオペランドバッファレジスタ、16は演算器で
ある。
以下では、第3図の命令列を例に第1図の動作を説明す
る。第3図で示した命令列において、先行する命令1.
がL命令であり、汎用レジスタの:3番を変更する。一
方、後続命令■、は加算命令(Add)であり、その記
憶装置上のオペランドの実行アトし・スを計算する際に
、汎用レジスタ3番をイシデクスし・ジスタに汎用レジ
スタ1番をベースレジスタとして必要としている。従っ
て、命令■1と■、は汎用レジスタご3番に関してアト
しスコンフリクトを牛しておiJ、命令r、のアjζレ
スの計算は命令1.のオペランド読出しの終了を待つこ
とが必要である。
さて、第1図において、第73図の命令列が入力される
と、まず、命令しジスタ1にL命令がセットされる。制
御回路3は、命令しジスタ1にセットされた命令■、が
I7命伶であることを認識し、該命令が命令のRiパー
トで指定した汎用レジスタ即ち3番目の内容を変更する
ことを記憶する共に、該命令の記憶装置12上のオペラ
ンドのアドレス生成にインデクスレジスタ及びベースレ
ジスタとして汎用し・ジスタ4番、8番をそれぞれ指定
したことを解釈し、かつ該汎用レジスタ4番、8番が、
先行するいかなる命令ともアドレスコ〉・フリクトを生
じていない(すなわち、汎用レジスタ4番、8番の内を
使用したアドレス加算が実行可能である)ことを判断す
ると、アドレス加算器7におけるアドレス加算を実行す
る。この場合、信号線22にはインデクスレジスタ番号
4が送出さハ、f8 琴線23にはベースレジスタ番号
4が送出され、信号線23にはベースし・ジスタ番号6
が送出され、る。この結果、汎用レジスタ群2からそれ
ぞれの読み出しアドレスに対応した汎用レジスタの内容
すなわち、4番と8番の内容が信号線24゜25にそれ
ぞれ送出され、3人力アドレス加算器7のインデクス入
力レジスタ4とベース入力レジスタ5にそれぞれセット
される。この時、信号線26.27は、インデクス入力
し・・ジスタ4、ベース入力レジスタ5への入力データ
として、汎用レジスタからの読み出しデータである信号
線24゜25上のデータを選択するよう制御されている
ものとする(信号35を選択する場合の制御については
、本発明と直接関係がないので説明は省略する)、一方
、ディスプレーメント入カレジスタ6には、命令の−・
部であるディスプレースメント部が、命令レジスタ1か
ら直接入力される。
これら入力し・ジスタ4,5.6の内容が3人力アドレ
ス加算器7において加算され、L命令のオペランドアト
しスが算出される。この算出されたアドレスは、記憶装
置内のアドレスレジスタ11にセットされる。この時、
該り命令工1は先行命令とのコンフリクトを生じていな
いため、セレクト信号32はアドレスレジスタ11から
の直接の出力データを選択するものとする。アドレスレ
ジスタ11からの直接のアドレスを利用して記憶装置1
2を参照し、L命令のオペランドを読み出し7、読み出
したデータをデータレジスタ13にセットする。アライ
ナ14は、読み出したデータから必要な部分を切り出し
、、演算に好適なように位置合せを行う回路であり、信
号線42によって制御される。データレジスタ13にセ
ットされたデータは、このアライナ14を経てオペラン
ドバッファレジスタ15にセットされ、演算器16に入
ツノされる。演算器16は、命令の種類に応じて信号線
43の制御を受けるが、■、命令は演算を必要としない
ため、入力されたデータはそのまま演算器】6を素通り
し、信号線36を経て汎用レジスタ群2に送られ、命令
りのR1バートで指定した番号の汎用レジスタ3番に格
納される。
一方、後続命令である加算命令■、は、先行命令である
I、命令■ に対するアトしス生成の準備が整った時点
、すなわち、インデクス入力レジスタ4、ベース入力し
シスタ5、ディスプレースメント入力しジスタロにそれ
ぞれのデータがセットされた時点で、命令レジスタ1に
切り出される。
この時、制御回路3において、該命令が記憶装置上のオ
ペランドのアドレス生成において汎用レジスタ3番と1
番の読み出しを必要としていることを解読し、かつ、汎
用レジスタ3番を先行命令であるL命令r、が変更して
いることをC1mする。
このように、命令レジスタ1に切り出した後続命令(本
例では加算命令)が、先行するし命令とアドレスフンフ
リクトを生じていることを認識すると、制御回路3では
、コンフリクを生じている汎用しジスタ番号、すなわち
、本例ではインデクスレジスタとして指定されている汎
用レジスタ3番の内容を0とみなし、てアドレス加算を
終了せしめる、この結果、信号線33にはベースレジス
タとして指定された汎用レジスタ番号1の内容とディス
プレースメントの値だけを加えた結果が出力される。す
なわち、3人力アドレス加算器7では先行命令によるオ
ペランドの到着を待つことはせずに、その舵に不完全な
アドレス値を算出し、出力してしまうのである。この不
完全なアドレスは、アドレスレジスタ11にセットされ
る。
方、先行するし命令11によって記憶装置12から読み
出されたオペランドは、演算処理を必要としないため、
オペランドバッファレジスタ15に転送されると同時に
信号M35によって、小演算器】Oに入力することがで
きるにの時、制御信号29は信号線35を選択すること
を指示する。この結果、小演算器1oにおいて、アドレ
スレジスタ11に格納されていたデータと記憶装置12
から読み出された先行命令のオペランドデータを加算す
ることができ、後続命令である加算命令■、のオペラン
ドアドレスを不完全のものから完全なものとじて信号8
34に出力することができる。制御回路3では、記憶装
置12からオペランド読み出し終了を信号線37によっ
て認識すると、制御信号線32により、小演算器10の
出力である信号線34をセしクトするよう指示する。
この様にして、後続命令である加算命令工、のアドレス
を算出する6以下、L命令の場合と同様にして記憶装置
12をアクセスしてオペランドを読み出す。但し、加算
命令の場合には■、命令と異なり、演算器16にて、命
令のR1バードで指定した汎用り、・ジスタの内容を、
記憶装置12から読み出し、たオペランドとの加算を行
い、その結果を汎用レジスタ群2内のR1で指定された
番号5のレジスタに格納する。
第3図で示した命令列を処理するためには、従来の高速
化方法によっても第2図(3)に示す如く1サイクルの
オーバーヘッドを生じていたが、これを本発明では、後
続命令においてDステージに続けてAステージ、Bステ
ージを順次処理できるため、第2図(4)に示す如くオ
ーバーヘッドゼロに抑えることができる。
[発明の効果1 以十G説明から明らかなように、本発明によれば バイ
プライ〉制御方式によって複数の命令をオーバーラツプ
して次々と処理する情報処理装置において、先行する■
−命令と後続の加減算命令とがアドレスコンフリクトを
生じている場合でも、オーバーヘッドをゼロにして後続
命令の処理の高速化を図ることが可能であり、かつ、こ
の時、後続命令に対して何ら条件を付す必要もない。
【図面の簡単な説明】
第1図は本発明の一実施例の全体構成図、第2図は従来
技術及び本発明による命令処理のながれを示した図、第
3図は本発明の高速処理の対象となる命令列の一例を示
した図である。 1・・命令レジスタ、  2・汎用レジスタ3・・・制
御回路、  4・・インデクス入力レジスタ、5・・ベ
ース入力レジスタ、 6・・ディスプレースメント人力レジスタ、7 ・3人
力アドし・ス加算器、  lO小演算器、lドアドレス
レジスタ、  12 記憶2買、13・データレジスタ
、  14 アライナ、15 ・オペラシドバッファレ
ジスタ、演算器。 第 ■ 図

Claims (1)

    【特許請求の範囲】
  1. (1)パイプライン制御方式により複数の命令をオーバ
    ーラップして処理する情報処理装置であって、命令によ
    ってインデクスレジスタ及びベースレジスタとして指定
    された汎用レジスタの内容と、該命令によって指定され
    たディスプレースメント値とを加算してオペランドアド
    レスを計算するアドレス計算器と、該アドレス計算器に
    よるアドレス加算結果を保持するアドレスレジスタと、
    該アドレスレジスタの内容でアクセスされる記憶装置と
    を具備してなる情報処理装置において、 前記アドレスレジスタと記憶装置の間に演算手段を設け
    、先行する命令により記憶装置から読み出されたオペラ
    ンドデータを格納する汎用レジスタが後続命令における
    オペランドアドレス計算に使用されることを検出すると
    、該汎用レジスタの内容を用いないで後続命令における
    オペランドアドレスを計算してアドレスレジスタに格納
    し、該アドレスレジスタの内容と先行命令により記憶装
    置から読み出されたオペランドデータとを前記演算手段
    で加算して後続命令のオペランドアドレスを生成し記憶
    装置をアクセスすることを特徴とする情報処理装置。
JP27088790A 1990-10-09 1990-10-09 情報処理装置 Pending JPH04149637A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27088790A JPH04149637A (ja) 1990-10-09 1990-10-09 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27088790A JPH04149637A (ja) 1990-10-09 1990-10-09 情報処理装置

Publications (1)

Publication Number Publication Date
JPH04149637A true JPH04149637A (ja) 1992-05-22

Family

ID=17492352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27088790A Pending JPH04149637A (ja) 1990-10-09 1990-10-09 情報処理装置

Country Status (1)

Country Link
JP (1) JPH04149637A (ja)

Similar Documents

Publication Publication Date Title
JP2539974B2 (ja) 情報処理装置におけるレジスタの読出制御方式
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS6312029A (ja) 情報処理装置
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPH03286332A (ja) デジタルデータ処理装置
JPH0444970B2 (ja)
JP2518293B2 (ja) デ−タフロ−プロセツサ
JPH04149637A (ja) 情報処理装置
JPH06124207A (ja) サブルーチン分岐命令実行方法
JPH07110769A (ja) Vliw型計算機
JPS61173345A (ja) 計算機システム
JP3658879B2 (ja) パイプライン計算機
JPS5995646A (ja) 演算制御装置
JPS60178539A (ja) 情報処理装置におけるバイパス制御方式
JPS6023378B2 (ja) 情報処理装置
JPH0398163A (ja) ベクトルデータ処理装置
JP2895892B2 (ja) データ処理装置
JPH0343865A (ja) ベクトル・データ処理装置
JP2625510B2 (ja) 計算機システム
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
JPS5971542A (ja) 演算処理装置
JPH05204638A (ja) パイプライン処理装置
JPS6028014B2 (ja) マイクロプロセツサ
JPS6236259B2 (ja)
JPS6347834A (ja) 先行制御方式