JPH10254698A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH10254698A
JPH10254698A JP5913197A JP5913197A JPH10254698A JP H10254698 A JPH10254698 A JP H10254698A JP 5913197 A JP5913197 A JP 5913197A JP 5913197 A JP5913197 A JP 5913197A JP H10254698 A JPH10254698 A JP H10254698A
Authority
JP
Japan
Prior art keywords
instruction
circuit
address
load
execution
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
JP5913197A
Other languages
English (en)
Inventor
Jiro Kubota
二郎 窪田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5913197A priority Critical patent/JPH10254698A/ja
Publication of JPH10254698A publication Critical patent/JPH10254698A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 命令メモリ1から回路8をへて回路2により
順次読出される複数の命令の、命令の読込み、命令のデ
コード、アドレスデコード、演算等の処理がオーバラッ
プして並列に同時に実行されるパイプライン型の情報処
理装置においては、ロード命令の処理結果が、これに続
く演算命令の演算のオペランドとして使用される場合
は、ロード命令の実行が終了する迄、次の演算命令の演
算が実行できない、いわゆる実行ストールが生ずる。 【解決手段】 命令プリフェッチバッファ回路8に複数
の命令をプリフェッチして、その中からロード命令とこ
れに続く命令を検索して、各命令をデコードし、ロード
命令に続く演算命令が実行ストールが生ずると判定され
ると、このロード命令のアドレス計算を行ない、この演
算結果を汎用レジスタ6に転送することにより、ロード
命令を予め別ルートで実行して実行時間を短縮し、次の
命令の実行ストールを回避する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、1命令を複数の
ステージに分割してステージ毎に順次読出し、別々の機
能ブロックにより並列に処理を実行することにより、命
令毎に読出し処理する命令遂次処理型に比べ実行時間を
短縮する、いわゆるパイプライン処理型の情報処理装置
に関するものである。
【0002】
【従来の技術】図3は従来のパイプライン処理型の情報
処理装置の概略構成を示すブロック線図で、図3におい
て、1は実行すべき命令が格納されている命令メモリ、
2はこの命令メモリ1から命令をステージ毎に順次読出
す命令フェッチ回路、3はこの命令フェッチ回路2によ
り読出された命令を順次デコードする命令デコード回
路、4はデコードされた命令がロード命令の場合、アク
セスすべきアドレスを計算しデコードするアドレスデコ
ード回路、5はデコードされた命令が演算命令の場合、
その命令の演算を実行する演算回路、6はこれらアドレ
スデコード回路4及び演算回路5の実行に必要なデータ
及びその実行結果データを格納する汎用レジスタ、7は
命令の実行結果を格納する汎用メモりである。
【0003】図4は命令のデータ内容図で、図4におい
て、21〜24は分割されたロード命令の、25〜27
は分割された演算命令の各ステージで、21,25は命
令フェッチ回路2で実行される各命令を命令メモリ1か
ら読込むステージ、22,26は命令デコード回路3で
実行される命令をデコードするステージ、23はアドレ
スデコード回路4で実行されるアクセスすべきアドレス
を計算しデコードするステージ、24はデコードされた
汎用メモり1のアドレスにアクセスするステージ、27
はデコードされた命令に従って演算回路4において演算
を実行するステージである。
【0004】次に動作について説明する。まず、最初の
ステージで命令メモリ1からn番目のロード命令が命令
フェッチ回路2により読出されるとする。このステージ
が終了すると次のステージでn番目のロード命令のデコ
ードが命令デコード回路3で実行されると同時に、命令
フェッチ回路2によりn+1番目の演算命令が読出され
る。このステージが終了すると次のステージでn番目の
ロード命令のアドレスデコードがアドレスデコード回路
4で実行されると同時に、命令デコード回路3によりn
+1番目の演算命令のデコードが実行される。また、同
時にn+2番目の命令のフェッチが実行される。次のス
テージでは、n番目のロード命令のアドレスデコードに
より汎用レジスタ6に格納されたアドレスに従って汎用
メモり1にアクセスされると同時に、演算回路5により
n+1番目の演算命令の演算が実行され、n+2番目の
命令のデコードが実行される。このように複数の命令が
並列に順次実行される。
【0005】演算回路5によるn+1番目の演算命令の
演算は、使用されるオペランド(演算対象データ)を汎
用レジスタ6から読出して実行されるが、このオペラン
ドがすでに汎用レジスタ6に格納されていればn+1番
目の演算命令のステージ27はn番目のロード命令のス
テージ24と同時に実行される。しかし、この演算にn
番目のロード命令の演算結果であるオペランド(アドレ
スデータ)が使用される場合は、この命令のステージ2
4でのメモリアクセスが終了しないとn+1番目の演算
命令のステージ27での演算は実行できない。そのた
め、実行中のn+1番目の演算命令は、n番目のロード
命令のステージ24でのメモリアクセス24が終了する
まで停止する必要がある。このように2命令の同時実行
ができず一方の命令の実行を停止することを以下実行ス
トールという。
【0006】
【発明が解決しようとする課題】上記のように従来のパ
イプライン処理型の情報処理装置においては、ロード命
令に続いて演算命令が実行される場合、ロード命令の演
算結果であるオペランドが次の演算命令のオペランドと
して使用され、そのため実行ストールが生ずることが多
く、いわゆるパイプラインディレイが生じて命令の処理
速度が低下し、情報処理装置全体の処理能力が低下する
という問題点があった。また、このパイプラインディレ
イを回避するために、実行ストールが極力生じないよう
な命令順にプログラミングする必要があり、それだけソ
フトウエアも高価となるという問題点があった。
【0007】この発明は上記のような問題点を解消する
ためになされたもので、実行ストールが生ずることがな
い、処理能力が高いパイプライン処理型の情報処理装置
を得ることを目的としている。
【0008】
【課題を解決するための手段】この発明に係る情報処理
装置は、命令メモリから命令をステージ毎に順次読出す
命令フェッチ回路、この命令フェッチ回路により読出さ
れた命令を順次デコードする命令デコード回路、このデ
コードされた命令からアクセスすべきアドレスを計算し
デコードするアドレスデコード回路、上記デコードされ
た命令から命令された演算を実行する演算回路、及びこ
れらアドレスデコード回路及び演算回路の実行に必要な
データ及びその実行結果データを格納する汎用レジスタ
を備えたパイプライン処理型の情報処理装置において、
上記命令メモリから複数の命令をあらかじめ読み込む命
令プリフェッチバッファ回路と、この命令プリフェッチ
バッファ回路にプリフェッチされた命令からロード命令
を検索するロード命令検索回路と、このロード命令検索
回路により検索されたロード命令とこの命令の次に続く
命令をデコードする命令プリデコード回路と、これらデ
コードされた両命令に使用されるオペランドを比較し、
上記ロード命令の次に続く命令に実行ストールが生ずる
かどうかを判定するオペランド比較回路と、この回路に
より実行ストールが生ずると判定された時のロード命令
によりアクセスすべきアドレスを計算するロードアドレ
ス計算回路と、この回路による計算結果を一時格納する
一時格納レジスタと、この実行ストールと判定されたロ
ード命令のアドレスを保持するロード命令アドレス保持
回路と、この回路に保持された命令アドレスと上記命令
フェッチ回路への読出し順を示すプログラムカウント数
とを比較するアドレス比較回路と、この回路により上記
保持されたアドレスがこのアドレスの命令のプログラム
カウント数との一致が検出されると、上記一時格納レジ
スタの格納された計算結果を上記汎用レジスタに転送す
るパイプライン制御回路とを設けたものである。
【0019】
【発明の実施の形態】
実施の形態1.図1はこの発明の一実施の形態の概略構
成を示すブロック線図、図2のその動作を説明するフロ
ーチャートである。図において、1は命令メモリ、2は
命令フェッチ回路、3は命令デコード回路、4はアドレ
スデコード回路、5は演算回路、6は汎用レジスタ、7
は汎用メモりで、以上は図3に示す従来例と同様のもの
である。
【0020】8は、命令メモリ1から複数の命令を命令
フェッチ回路2に読出す前にあらかじめ読み込む命令プ
リフェッチバッファ回路、9は命令プリフェッチバッフ
ァ回路8から命令フェッチ回路2に命令を読出す毎にカ
ウントアップするプログラムカウンタ、10は命令プリ
フェッチバッファ回路8にプリフェッチされた命令から
ロード命令を検索するロード命令検索回路、11はロー
ド命令検索回路10により検索されたロード命令とこの
命令の次に続く命令をデコードする命令プリデコード回
路、12はこれらデコードされた両命令に使用されるオ
ペランドを比較し、ロード命令の次に続く命令に実行ス
トールが生ずるかどうかを判定するオペランド比較回
路、13はオペランド比較回路12により実行ストール
が生ずると判定された時のロード命令によりアクセスす
べきアドレスを計算するロードアドレス計算回路、14
はロードアドレス計算回路13による計算結果を一時格
納する一時格納レジスタ、15はオペランド比較回路1
2により実行ストールと判定されたロード命令の命令プ
リフェッチバッファ回路8中の命令アドレスを保持する
ロード命令アドレス保持回路、16はこのロード命令ア
ドレス保持回路15に保持された命令アドレスとプログ
ラムカウンタ9のカウント数とを比較するアドレス比較
回路、17はこのアドレス比較回路16により比較デー
タの一致が検出されると、一時格納レジスタ14に保持
されている計算結果を汎用レジスタ6に転送するパイプ
ライン制御回路である。
【0021】次にその動作を図2のフローチャートによ
って説明する。まず、ロード命令検索回路10におい
て、命令プリフェッチバッファ回路8に読込まれている
複数の命令中からロード命令が検索される(ステップS
1,S2)。ロード命令が検索されると命令プリデコー
ド回路11においてこのロード命令とこの命令の次に続
く命令がデコードされ(ステップS3)、これらデコー
ドされた両命令に使用されるオペランドがオペランド比
較回路12において比較され、ロード命令の次に続く命
令に実行ストールが生ずるかどうかが判定される。例え
ば両命令中のオペランドが一致するか(ステップS
4)、一致しているとしたら同時に実行されるステージ
にあるか等で実行ストロールが生ずるかどうかが判定さ
れる(ステップS5)。
【0022】オペランド比較回路12で実行ストロール
が生ずると判定されると、ロードアドレス計算回路13
でロード命令によりアクセスすべきロードアドレスが計
算され(ステップS6)、その計算結果のロードアドレ
スが一時格納レジスタ14に一時保持される(ステップ
S7)。これと同時にこのロード命令の命令プリフェッ
チバッファ回路8中の命令アドレスがロード命令アドレ
ス保持回路15に保持される(ステップS8)。そし
て、この命令アドレスと命令プリフェッチバッファ回路
8から命令フェッチ回路2に命令が読出される毎にカウ
ントアップするプログラムカウンタ9のカウント値とが
アドレス比較回路16により比較される(ステップS
9)。
【0023】このロード命令が命令プリフェッチバッフ
ァ回路8から命令フェッチ回路2に読出され、命令デコ
ード回路3で命令デコードされ、アドレスデコード回路
4で図4のステージ23のアドレスデコードが実行され
る時点で、プログラムカウンタ9のカウント値とロード
命令アドレス保持回路15に保持されている命令アドレ
スとが一致し、一致するとパイプライン制御回路17に
より、アドレスデコード回路4によるアドレスデコード
に代りに、予めアドレスデコードされ一時格納レジスタ
14に一時保持されているロードアドレスが汎用レジス
タ6に転送され(ステップS9)、そのアドレスに従っ
て汎用メモり1にアクセスされる。
【0024】即ち、命令フェッチ回路2に読出されたロ
ード命令のアドレスデコード回路4により実行される図
4のステージ23,24の処理が、予めロードアドレス
計算回路13により計算されたアドレスの一時格納レジ
スタ14から汎用レジスタ6への転送、汎用メモり1へ
のアクセス処理に置き換えられ、ロード命令の実行サイ
クルが短縮されることになる。従って次の演算命令の演
算ステージ27が実行される時点ではそれに使用される
オペランドが汎用レジスタ6に格納されており、実行ス
トールが回避される。
【0036】
【発明の効果】この発明は以上説明したように、命令メ
モリから複数の命令をあらかじめ読み込む命令プリフェ
ッチバッファ回路と、この命令プリフェッチバッファ回
路にプリフェッチされた命令からロード命令を検索する
ロード命令検索回路と、このロード命令検索回路により
検索されたロード命令とこの命令の次に続く命令をデコ
ードする命令プリデコード回路と、これらデコードされ
た両命令に使用されるオペランドを比較し、上記ロード
命令の次に続く命令に実行ストールが生ずるかどうかを
判定するオペランド比較回路と、この回路により実行ス
トールが生ずると判定された時のロード命令によりアク
セスすべきアドレスを計算するロードアドレス計算回路
と、この回路による計算結果を一時格納する一時格納レ
ジスタと、この実行ストールと判定されたロード命令の
アドレスを保持するロード命令アドレス保持回路と、こ
の回路に保持された命令アドレスと上記命令フェッチ回
路への読出し順を示すプログラムカウント数とを比較す
るアドレス比較回路と、この回路により上記保持された
アドレスがこのアドレスの命令のプログラムカウント数
との一致が検出されると、上記一時格納レジスタの格納
された計算結果を上記汎用レジスタに転送するパイプラ
イン制御回路とを設けたので、実行ストールが生ずるこ
とがなく、それによるパイプラインディレイが生じな
い、処理能力が高いパイプライン処理型の情報処理装置
が得られるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1の概略構成を示すブ
ロック線図。
【図2】 実施の形態1の動作を説明するフローチャー
ト。
【図3】 従来のパイプライン処理型の情報処理装置の
概略構成を示すブロック線図。
【図4】 パイプライン処理動作を説明する命令のデー
タ内容図。
【符号の説明】
1 命令メモリ、2 命令フェッチ回路、3 命令デコ
ード回路、4 アドレスデコード回路、5 演算回路、
6 汎用レジスタ、7 汎用メモり、8 命令プリフェ
ッチバッファ回路、9 プログラムカウンタ、10 ロ
ード命令検索回路、11 命令プリデコード回路、12
オペランド比較回路、13 ロードアドレス計算回
路、14 一時格納レジスタ、15 ロード命令アドレ
ス保持回路、16 アドレス比較回路、17 パイプラ
イン制御回路。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 命令メモリから命令をステージ毎に順次
    読出す命令フェッチ回路、この命令フェッチ回路により
    読出された命令を順次デコードする命令デコード回路、
    このデコードされた命令からアクセスすべきアドレスを
    計算しデコードするアドレスデコード回路、上記デコー
    ドされた命令から命令された演算を実行する演算回路、
    及びこれらアドレスデコード回路及び演算回路の実行に
    必要なデータ及びその実行結果データを格納する汎用レ
    ジスタを備えたパイプライン処理型の情報処理装置にお
    いて、上記命令メモリから複数の命令をあらかじめ読み
    込む命令プリフェッチバッファ回路と、この命令プリフ
    ェッチバッファ回路にプリフェッチされた命令からロー
    ド命令を検索するロード命令検索回路と、このロード命
    令検索回路により検索されたロード命令とこの命令の次
    に続く命令をデコードする命令プリデコード回路と、こ
    れらデコードされた両命令に使用されるオペランドを比
    較し、上記ロード命令の次に続く命令に実行ストールが
    生ずるかどうかを判定するオペランド比較回路と、この
    回路により実行ストールが生ずると判定された時のロー
    ド命令によりアクセスすべきアドレスを計算するロード
    アドレス計算回路と、この回路による計算結果を一時格
    納する一時格納レジスタと、この実行ストールと判定さ
    れたロード命令のアドレスを保持するロード命令アドレ
    ス保持回路と、この回路に保持された命令アドレスと上
    記命令フェッチ回路への読出し順を示すプログラムカウ
    ント数とを比較するアドレス比較回路と、この回路によ
    り上記保持されたアドレスがこのアドレスの命令のプロ
    グラムカウント数との一致が検出されると、上記一時格
    納レジスタの格納された計算結果を上記汎用レジスタに
    転送するパイプライン制御回路とを設けたことを特徴と
    する情報処理装置。
JP5913197A 1997-03-13 1997-03-13 情報処理装置 Pending JPH10254698A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5913197A JPH10254698A (ja) 1997-03-13 1997-03-13 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5913197A JPH10254698A (ja) 1997-03-13 1997-03-13 情報処理装置

Publications (1)

Publication Number Publication Date
JPH10254698A true JPH10254698A (ja) 1998-09-25

Family

ID=13104461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5913197A Pending JPH10254698A (ja) 1997-03-13 1997-03-13 情報処理装置

Country Status (1)

Country Link
JP (1) JPH10254698A (ja)

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
JP3098071B2 (ja) 条件付き分岐を有するプログラムの効率的実行をするためのコンピュータシステム
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
US4739470A (en) Data processing system
US5416911A (en) Performance enhancement for load multiple register instruction
US5761467A (en) System for committing execution results when branch conditions coincide with predetermined commit conditions specified in the instruction field
EP0378415A2 (en) Multiple instruction dispatch mechanism
US7013366B2 (en) Parallel search technique for store operations
JPH10254698A (ja) 情報処理装置
JPH0954694A (ja) パイプラインプロセッサおよびその処理方法
JPH0248733A (ja) 情報処理装置
JPH0342723A (ja) データ処理装置
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP2591325B2 (ja) 分岐制御装置
JP2771373B2 (ja) 命令先取り装置
JPH06149569A (ja) レジスタ番号変更装置
JPH0814792B2 (ja) データ処理装置
JPS6232507B2 (ja)
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH05334074A (ja) マイクロプロセッサ
JPH02206836A (ja) データ処理装置
JPH03164945A (ja) データ処理装置
JPS6295636A (ja) 先取り制御処理装置
JPH02155036A (ja) データ処理装置