JPH0385636A - 命令先行制御装置 - Google Patents

命令先行制御装置

Info

Publication number
JPH0385636A
JPH0385636A JP22397489A JP22397489A JPH0385636A JP H0385636 A JPH0385636 A JP H0385636A JP 22397489 A JP22397489 A JP 22397489A JP 22397489 A JP22397489 A JP 22397489A JP H0385636 A JPH0385636 A JP H0385636A
Authority
JP
Japan
Prior art keywords
register
work
instruction
registers
stored
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
Application number
JP22397489A
Other languages
English (en)
Other versions
JP3132566B2 (ja
Inventor
Shigeyuki Aino
茂幸 愛野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP01223974A priority Critical patent/JP3132566B2/ja
Publication of JPH0385636A publication Critical patent/JPH0385636A/ja
Application granted granted Critical
Publication of JP3132566B2 publication Critical patent/JP3132566B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 技術分野 本発明は情報処理システムで用いられる命令先行制御装
置に関する。
従来技術 従来の情報処理システムでは、レジスタ設定命令の指定
する演算数が命令実行装置に送る前に取込まれ、該演算
数に論理または算術演算が実施される。演算装置は、レ
ジスタ設定命令を実行すれば得られるべきレジスタへの
書込データを、命令実行装置の実行の完了を待つことな
く生成する。
この演算装置の演算結果を格納するワークレジスタは、
レジスタ設定命令で指定する可能性のあるレジスタと同
数の数たけ備えられている。このため、多くのレジスタ
は有効なデータを保持しておらすハードウェア量の肥大
化を招いているという欠点がある。
発明の目的 本発明の[1的はワークレジスタの)\−ドウエア量を
削減するようにした命令先行制御装置を提供することで
ある。
発明の構成 本発明による命令先行制御装置は、レジスタ設定命令の
レジスタの設定動作と他の命令の読出動作とが競合した
場合、該レジスタ設定命令の指定する演算数を命令実行
装置に送る前に取込み、該演算数に演算を施し前記レジ
スタ設定命令の実行により得られるべきレジスタへの書
込みデータを該命令実行装置の実行の完了を待つことな
く生成する演算手段と、 前記レジスタ設定命令の実行により得られるべき書込デ
ータを必要とする命令のアドレス計算を行うアドレス生
成手段と、 このアドレス生成手段で行われるアドレス計算に使用す
るレジスタ数よりも少なく前記演算手段の演算結果を格
納する複数のワークレジスタ手段と、 これらワークレジスタ手段の格納している演算結果がど
のレジスタ手段に対する演算結果であるかを判別する判
別手段と、 前記ワークレジスタ手段への演算結果の格1+1+を先
入先出法で行うよう制御する制御手段とを含むことを特
徴とする。
実施例 次に本発明の一実施例について図面を参照して詳細に説
明する。
第1図を参照すると、本発明の一実施例はアドレス生成
のためのペースアドレスを格納するソフトウェアビジプ
ルなペースレジスタファイル(BR) 401 、この
ペースレジスタファイル401に対するアドレスを格納
するペースレジスタアドレスレジスタ(BRA) 10
0 、アドレス生成のためのインデックスを格納するソ
フトウェアビジプルなインデックスレジスタファイル(
GR) 402 、このインデックス1ノジスタフアイ
ル402に対するアドレスを格納するインデックスレジ
スタアドレスレジスター01、命令語からちえられるデ
ィスプレースメントを格納するディスプレースメントレ
ジスタ102、この1ノジスタ102からのディスプレ
ースメントを格納するレジスター05、演算結果を格納
するワークレジスター09及び110、これらワークレ
ジスタ(09及び110及びペースレジスタ401から
の出力のいずれか一つを選択するセレクタ300、ワー
クレジスター09及びl 1.0及びインデックスレジ
スタ402からの出力のいずれか一つを選択するセレク
タ301、セレクタ300の出力を格納するレジスター
03、セレクタ301の出力を格納するレジスター04
、これらレジスター03.+04及び105からの出力
を演算し論理アドレスを生成するアドレス生成器400
、このアドレス生成器400て生成された論理アドレス
を格納する論理アドレスレジスタ106、このレジスタ
ー06からの論理アドレスを物理アドレスに変換するア
ドレス変換バッファ(以下TLB)403、このT L
 B 408からの物理アドレスを格納する物理アドレ
スレジスター07、このレジスター07からのアドレス
で指示される位置からオペランドを読出すキャッシュメ
モリ404、このキャッシュメモリ404からのオペラ
ンドを格納するオペランドレジスター08、このレジス
ター08からのオペランドを演算しペースレジスタ40
1及びインデックスレジスタ402に演算結果を格納す
る演算論理ユニット(以下ALU)405を含む。
更に、本発明の一実施例は、以上のハードウェア要素を
パイプラインで動作させることを前提とし、レジスタ更
新命令に応答して更新対象のレジスタのレジスタ番号を
該パイプラインと同期して持ち回るレジスタ群119,
118,117及び116、先行演算において2つのワ
ークレジスター09及び110のどちらにデータを格納
したかを示す制御情報を持ち同るレジスター12,11
3.114及び115.レジスタ119.118,11
7及び11Bに格納されたレジスタ番号の示すレジスタ
に対し、ワークレジスター09及び110のどちらかに
先行演算結果の格納されていることを示す信号を生成す
るオアゲート200,201.202及び203、及び
ワークレジスター(19及びIllが有効な先行演算結
果を示す信号を生成するオアゲ−I−204及び205
を含む。
上述のパイプラインについて以下詳細に説明する。
Dサイクルでは、アドレス生成のため、アドレスレジス
タ100及び101に格納された命令語の索引フィール
ドの内容の一部で示されるレジスタ401及び402が
索引されるとともに命令語のディスプレースメントフィ
ールド102の内容が取出されるサイクルである。
但し、メモリに対するロードリクエストを出さないRI
形式等の場合は、演算対象となるレジスタの内容とイミ
ディエイト値とが取出される。
Aサイクルでは、Dサイクルにおいて取出されたペース
レジスタ401.インデックスレジスタ402及びディ
スプレースメント部102の内容がアドレス生成器40
0で生成されることによりアドレス生成が行われる。
但し、メモリに対するロードリクエストを出さないR1
形式等の場合は、レジスタの内容とイミデ、fエイト値
とにより先行して演算が行われる。
この演算結果はオアゲート215及び216の出力に応
答してワークレジスタ109及び11(lに格納される
。以後、この演算を先行演算と呼ぶ。
TサイクルではAサイクルで生成されたオペランドアド
レスがT L B 403により物理アドレスに変換さ
れるサイクルである。
0サイクルでは、TサイクルでT L B 403によ
り生成されたオペランドの物理アドレスでキャッシュメ
モリ404が索引されオペランドデータが求められるサ
イクルである。
EサイクルではOサイクルで索引されたオペランドデー
タを使用して演算が行われレジスタファイル401及び
402に格納されるサイクルである。
本発明の一実施例は先行して演算を行った演算結果を格
納しておく2つのワークレジスタ109及び110が備
えられている。
レジスタ更新命令の発生に応答して、更新するレジスタ
のレジスタ番号がバイプラ・インと同期してレジスタ1
18〜119で持ち回られる。
先行演算を行った場合、2つのワークレジスタ109及
び110のどちらにデータを格納したかを示す制御情報
はレジスター12〜115で持ち同られる。
ワークレジスター09及び1.10が2つあるため、レ
ジスタ112〜115は2ビツトで夫々溝底されている
。先行演算結果がワークレジスター09に格納されてい
る場合、各17ジスタ112〜115の第1ビツト目に
は1”が格納されており、ワークレジスタ110に格納
されている場合は各レジスタの第2ビツト目には1”が
格納されている。
オアゲート200〜203の出力は各レジスター19゜
118.117.及びtteの示すレジスタ番号のレジ
スタに対してワークレジスター09及び110のどちら
かに先行演算結果が格納されていることを示す。
オアゲート204及び205の出力は夫々ワークレジス
タ109及び110が有効な先行結果を格納しているこ
とを示す。
先行演算を行った場合、演算結果をワークレジスタ10
9と(10とのどちらに書込むべきかは以下のように制
御される。
オアゲート204の出力が0”を示す場合、ワークレジ
スタ109は有効な先行演算結果を格納していないため
、先行演算の演算結果がワークレジスタ109に格納さ
れる。
オアゲート204の出力が”1”でオアゲート205の
出力が“0”の場合は、ワークレジスタ+09は有効な
先行演算結果を格納しているが、ワークレジスタ110
は有効な先行演算結果を示していない。このため、先行
演算の演算結果はワークレジスタ104に格納される。
アンドゲート21.4が°1°゛の場合は、ワークレジ
スタ109及び110がともに有効な先行演算結果を格
納していることを意味する。
この状態で先行演算が生じた場合、アンドゲト207〜
213、セレクタ310及びオアゲー1−215及び2
16により、ワークレジスタ109及び110の中で、
古い方の先行演算結果を格納しているワークレジスタに
対して、既に格納ずみの先行演算結果を消去して先行演
算の新たな演算結果が格納される。
] 0 これは、先に先行演算の行われた命令の方がパイプライ
ンの下の方にあるはずなので、先行演算結果を消去して
もEステージのA L U 405より正確な更新デー
タかレジスタファイル401及び402にすぐに戻って
くるので影響は少ないためである。
Dステージにおいてレジスタ100及び101に格納さ
れているアドレス生成に必要なレジスタのレジスタ番号
が、レジスタ119.118,117及び目6の内容と
夫々比較される。一致していなかった場合には、レジス
タファイル400及び401の出力がレジスタ103及
び104にセットされる。一致していたがオアゲート2
00〜203とアンドゲート217〜220とにより先
行演算結果がワークレジスタ109及び110に格納さ
れていることが判別した場合は、ワークレジスタ109
または110の中で必要とする先行演算結果を格納した
ワークレジスタが、比較回路302〜305、オア回路
200〜208、アンド回路217〜220及びセレク
タ310の指示により、レジスタ103及び104にセ
ットされる。
更にレジスタ100及び+01の内容がレジスタ111 9.118,117及び116の内容と比較され、一致
していて先行演算結果が先行していなかった場合、AL
U405からレジスタファイル401及び4(12のア
ドレス生成に必要なレジスタに対して更新データの書込
が生ずるまでアドレス生成が中1折される。
後続命令のレジスタ更新命令により先行演算を行ったレ
ジスタのレジスタ番号と同一のレジスタ番号のレジスタ
に対して更新指示が行われた場合、比較回路306〜3
09により先行演算結果を抹泪するためレジスタ112
〜11.5を夫々初期化する。
このように先行演算の演算結果をワークレジスタ109
及び110に格納した順番を覚えておく手段と、ワーク
レジスタl[19及び110への先行演算結果の格納を
先入先出法で制御することにより、先行演算結果を格納
しておくワークレジスタのハードウェア量を縮退できる
発明の効果 本発明によれば、レジスタ設定命令が指定する演算数を
命令実イーJ装置に送る前に取込み該演算数に論理演算
や算術成算を実施し、このレジスタ設置2 定命令を実行すれば得られるべき書込データを実行装置
の実行に先4jして生成する演算装置での演算結果をど
のワークレジスタに格納したかを1′す別する判別手段
と、ワークレジスタ群への演算結果の格納を先入先出法
で制御する制御手段とを備えることにより、ワークレジ
スタ群の)\−ドウエア量を削減できるという効果があ
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図である。 主要部分の符号の説明 too・・・・・・ペースレジスタアドレスレジスタB
RA 101・・・・・・インデックスレジスタアドレスレジ
スタGRA 1[12・・・・・・ディスプレースメントレジスタD
ISP 106・・・・・・論理アドレスレジスタ107・・・
・・・物理アドレスレジスタ108・・・・・・オペラ
ンドレジスタ+(19,1,io・・・・・・ワークレ
ジスタ3 02 〜309 00 01 02 03 04 05 ・・・・・・比較回路 ・・・・・・アドレス生成器 ・・・・・・ペースレジスタファイルBR・・・・・・
インデックスレジスタ ファイルGR ・・・・・・アドレス変換バッファTLB・・・・・・
キャッシュメモリ ・・・・・・演算論理ユニット

Claims (1)

    【特許請求の範囲】
  1. (1)レジスタ設定命令のレジスタの設定動作と他の命
    令の読出動作とが競合した場合、該レジスタ設定命令の
    指定する演算数を命令実行装置に送る前に取込み、該演
    算数に演算を施し前記レジスタ設定命令の実行により得
    られるべきレジスタへの書込みデータを該命令実行装置
    の実行の完了を待つことなく生成する演算手段と、 前記レジスタ設定命令の実行により得られるべき書込デ
    ータを必要とする命令のアドレス計算を行うアドレス生
    成手段と、 このアドレス生成手段で行われるアドレス計算に使用す
    るレジスタ数よりも少なく前記演算手段の演算結果を格
    納する複数のワークレジスタ手段と、 これらワークレジスタ手段の格納している演算かを判別
    する判別手段と、 前記ワークレジスタ手段への演算結果の格納を先入先出
    法で行うよう制御する制御手段とを含むことを特徴とす
    る命令先行制御装置。
JP01223974A 1989-08-30 1989-08-30 命令先行制御装置 Expired - Fee Related JP3132566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01223974A JP3132566B2 (ja) 1989-08-30 1989-08-30 命令先行制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01223974A JP3132566B2 (ja) 1989-08-30 1989-08-30 命令先行制御装置

Publications (2)

Publication Number Publication Date
JPH0385636A true JPH0385636A (ja) 1991-04-10
JP3132566B2 JP3132566B2 (ja) 2001-02-05

Family

ID=16806597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01223974A Expired - Fee Related JP3132566B2 (ja) 1989-08-30 1989-08-30 命令先行制御装置

Country Status (1)

Country Link
JP (1) JP3132566B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6293540B1 (en) * 1999-11-29 2001-09-25 Diebold, Incorporated Currency dispenser service method
CN112348182A (zh) * 2016-04-19 2021-02-09 中科寒武纪科技股份有限公司 一种神经网络maxout层计算装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240078035A1 (en) * 2022-09-01 2024-03-07 Arm Limited Write-back rescheduling

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61267134A (ja) * 1985-05-22 1986-11-26 Hitachi Ltd デ−タ処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61267134A (ja) * 1985-05-22 1986-11-26 Hitachi Ltd デ−タ処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6293540B1 (en) * 1999-11-29 2001-09-25 Diebold, Incorporated Currency dispenser service method
CN112348182A (zh) * 2016-04-19 2021-02-09 中科寒武纪科技股份有限公司 一种神经网络maxout层计算装置
CN112348182B (zh) * 2016-04-19 2024-01-12 中科寒武纪科技股份有限公司 一种神经网络maxout层计算装置

Also Published As

Publication number Publication date
JP3132566B2 (ja) 2001-02-05

Similar Documents

Publication Publication Date Title
US3949379A (en) Pipeline data processing apparatus with high speed slave store
US5204953A (en) One clock address pipelining in segmentation unit
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
JP3204323B2 (ja) キャッシュメモリ内蔵マイクロプロセッサ
JPS59501684A (ja) 目的命令ストリ−ムへ殆んど実時間で***するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
JPH03206523A (ja) デジタルコンピユータにおいてデータをメモリ内のスタツク上にプツシユする方法およびパイプラインされる命令とメモリを有するデジタルコンピユータにおいてスタツクオペレーシヨンを実行する回路
JPH0814801B2 (ja) プログラマブルアクセスメモリ
JPH05503381A (ja) 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置
US4630192A (en) Apparatus for executing an instruction and for simultaneously generating and storing related information
US5752273A (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
JPS58501560A (ja) マイクロプロセツサ
US5717910A (en) Operand compare/release apparatus and method for microinstrution sequences in a pipeline processor
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
US6449713B1 (en) Implementation of a conditional move instruction in an out-of-order processor
JP3407808B2 (ja) コンピュータシステム
KR19990037571A (ko) 단일 주기 내에 간접 어드레싱 모드 어드레스를 출력하는 데이터 포인터 및 그 제공방법
US5732005A (en) Single-precision, floating-point register array for floating-point units performing double-precision operations by emulation
JPH0385636A (ja) 命令先行制御装置
US4737908A (en) Buffer memory control system
US4212058A (en) Computer store mechanism
JP2901247B2 (ja) 掃出し制御方式
JPH0760384B2 (ja) 命令実行方法およびデータ処理装置
JP2685713B2 (ja) データ処理装置
JPH01177145A (ja) 情報処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees