JPS63205732A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS63205732A JPS63205732A JP3788387A JP3788387A JPS63205732A JP S63205732 A JPS63205732 A JP S63205732A JP 3788387 A JP3788387 A JP 3788387A JP 3788387 A JP3788387 A JP 3788387A JP S63205732 A JPS63205732 A JP S63205732A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- address
- branch
- prefetch
- 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
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、メモリのデータ幅と等しい固定長の命令を使
用し、メモリ上に格納されたプログラムに従いデータを
処理する情報処理装置に関するものである。
用し、メモリ上に格納されたプログラムに従いデータを
処理する情報処理装置に関するものである。
(従来の技術)
メモリ上にデータとプログラムを格納し、プログラムに
従ってデータを処理するストアード・プログラム方式の
情報処理装置では、プログラムの構成要素である命令を
実行するために、命令をメモリから読み出し、操作コー
ド部を解読する必要がある。情報処理装置の目的は、プ
ログラムに従ってデータを処理することである。従って
、命令の読み出しと操作コード部の解読は、情報処理装
置が本来目的としている処理ではない。情報処理装置を
高速化する手法の1つとして、命令の読み出し、操作コ
ード部の解読、実行を並列処理し、命令の読み出しと操
作コード部の解読処理による処理時間増加を回避するパ
イプライン処理方式がある。
従ってデータを処理するストアード・プログラム方式の
情報処理装置では、プログラムの構成要素である命令を
実行するために、命令をメモリから読み出し、操作コー
ド部を解読する必要がある。情報処理装置の目的は、プ
ログラムに従ってデータを処理することである。従って
、命令の読み出しと操作コード部の解読は、情報処理装
置が本来目的としている処理ではない。情報処理装置を
高速化する手法の1つとして、命令の読み出し、操作コ
ード部の解読、実行を並列処理し、命令の読み出しと操
作コード部の解読処理による処理時間増加を回避するパ
イプライン処理方式がある。
(発明が解決しようとする問題点)
パイプライン処理を簡単に実現する方法として、次に実
行する命令を保持する次命令レジスタを設置し、命令実
行期間中に、メモリ装置が未使用であるステップで、次
に実行する命令を先取りする方法がある。この従来技術
は、次命令レジスタを導入することで、次に実行する命
令の先取りと、命令の実行の並列処理と、次に実行する
命令の操作コード部の解読と、命令の実行の並列処理を
実現している。しかし、命令先取りと操作コード部の解
読は、共に、次に実行する命令に対する処理であるため
、逐次的に処理する必要がある。
行する命令を保持する次命令レジスタを設置し、命令実
行期間中に、メモリ装置が未使用であるステップで、次
に実行する命令を先取りする方法がある。この従来技術
は、次命令レジスタを導入することで、次に実行する命
令の先取りと、命令の実行の並列処理と、次に実行する
命令の操作コード部の解読と、命令の実行の並列処理を
実現している。しかし、命令先取りと操作コード部の解
読は、共に、次に実行する命令に対する処理であるため
、逐次的に処理する必要がある。
このことは、データを処理する演算装置が高速化しても
、命令の実行に必要な処理時間を、命令の読み出しと操
作コード部の解読を逐次的に処理するのに必要な処理時
間をより短(できないことを示している。また、パイプ
ライン処理では、分岐命令を実行すると、命令先取り処
理が無駄になるパイプライン処理固有の問題が存在する
。分岐命令の実行で生ずる命令先取り処理のやり直しを
回避するために、分岐命令実行で生ずる分岐を、分岐命
令の後に続く特定数の命令実行後まで遅らせる遅延分岐
命令を導入する方法があった。しかし、従来の遅延分岐
命令は、分岐を遅らせている間に実行する命令の個数を
ハードウェアにあわせて決定していた。このため、遅延
分岐命令を含むプログラムの命令列は、プログラマにと
って判読しにくい存在となっている。
、命令の実行に必要な処理時間を、命令の読み出しと操
作コード部の解読を逐次的に処理するのに必要な処理時
間をより短(できないことを示している。また、パイプ
ライン処理では、分岐命令を実行すると、命令先取り処
理が無駄になるパイプライン処理固有の問題が存在する
。分岐命令の実行で生ずる命令先取り処理のやり直しを
回避するために、分岐命令実行で生ずる分岐を、分岐命
令の後に続く特定数の命令実行後まで遅らせる遅延分岐
命令を導入する方法があった。しかし、従来の遅延分岐
命令は、分岐を遅らせている間に実行する命令の個数を
ハードウェアにあわせて決定していた。このため、遅延
分岐命令を含むプログラムの命令列は、プログラマにと
って判読しにくい存在となっている。
本発明の目的は、メモリのデータ幅と等しい固定長命令
を実行し、命令先取り用レジスタと命令読み出し経路の
バイパスを導入することにより、1つの制御ユニットに
よるパイプライン処理制御を実現することで、ハードウ
ェア規模が小さく、命令の先取り、操作コード部の解読
、命令の実行の3つの処理を並列処理するパイプライン
処理機能を並列処理するパイプライン処理機能を備え、
さらに、分岐アドレス・レジスタを導入することにより
、分岐命令の後に続く任意個の命令実行後に分岐を行う
ことで、分岐命令実行によるパイプライン処理効果の低
下を回避し、かつ、プログラマにとって判読しやすい命
令列を実現できる高性能な情報処理装置を提供すること
にある。
を実行し、命令先取り用レジスタと命令読み出し経路の
バイパスを導入することにより、1つの制御ユニットに
よるパイプライン処理制御を実現することで、ハードウ
ェア規模が小さく、命令の先取り、操作コード部の解読
、命令の実行の3つの処理を並列処理するパイプライン
処理機能を並列処理するパイプライン処理機能を備え、
さらに、分岐アドレス・レジスタを導入することにより
、分岐命令の後に続く任意個の命令実行後に分岐を行う
ことで、分岐命令実行によるパイプライン処理効果の低
下を回避し、かつ、プログラマにとって判読しやすい命
令列を実現できる高性能な情報処理装置を提供すること
にある。
(問題点を解決するための手段)
ログラムに従って処理を行う演算装置と、前記メモリ装
置から読み出した命令を保持する先取り命令レジスタと
、次に実行する命令を保持する次命令レジスタと、前記
次命令レジスタへの入力を前記メモリ装置と前記先取り
命令レジスタの出力から選択する命令選択器と、現在実
行中の命令を保持する命令レジスタと、先取り命令のア
ドレスを保持する先取り命令アドレス・レジスタと、次
命令のアドレスを保持する次命令アドレス・レジスタと
、前記先取り命令レジスタが保持する命令の次のアドレ
スを保持する命令アドレス・レジスタと、分岐命令を実
行する場合分岐先アドレスを保持する分岐アドレス・レ
ジスタと、前記次命令アドレス・レジスタの入力を前記
命令アドレス・レジスタと前記先取り命令アドレス・レ
ジスタの出力から選択する次命令アドレス選択器と、前
記メモリ装置から命令を先取りする時に使用するアドレ
スを前記命令アドレス・レジスタと前記分岐アドレス・
レジスタの出力から選択する先取りアドレス選択器と、
命令先取りで使用するアドレスに1加算して前記命令ア
ドレス・レジスタへ送る先取り命令アドレス加算金レジ
スタが保持する命令の操作コード部の解読を並列処理し
、前記次命令レジスタの使用状況に応じて前記先取り命
令レジスタか前記次命令レジスタに先取りすることで前
記メモリ装置から命令を読み出す操作と前記命令レジス
タが保持する命令の実行を並列処理し、前記先取り命令
レジスタに命令を先取りすることで前記メモリ装置から
命令を読み出す操作と前記次命令レジスタが保持する命
令の操作コード部の解読を並列処理し、前記分岐アドレ
ス・レジスタが分岐アドレスを保持することで、分岐命
令の実行で生ずる分岐を任意個の命令実行後まで遅らせ
ることを特徴としている。
置から読み出した命令を保持する先取り命令レジスタと
、次に実行する命令を保持する次命令レジスタと、前記
次命令レジスタへの入力を前記メモリ装置と前記先取り
命令レジスタの出力から選択する命令選択器と、現在実
行中の命令を保持する命令レジスタと、先取り命令のア
ドレスを保持する先取り命令アドレス・レジスタと、次
命令のアドレスを保持する次命令アドレス・レジスタと
、前記先取り命令レジスタが保持する命令の次のアドレ
スを保持する命令アドレス・レジスタと、分岐命令を実
行する場合分岐先アドレスを保持する分岐アドレス・レ
ジスタと、前記次命令アドレス・レジスタの入力を前記
命令アドレス・レジスタと前記先取り命令アドレス・レ
ジスタの出力から選択する次命令アドレス選択器と、前
記メモリ装置から命令を先取りする時に使用するアドレ
スを前記命令アドレス・レジスタと前記分岐アドレス・
レジスタの出力から選択する先取りアドレス選択器と、
命令先取りで使用するアドレスに1加算して前記命令ア
ドレス・レジスタへ送る先取り命令アドレス加算金レジ
スタが保持する命令の操作コード部の解読を並列処理し
、前記次命令レジスタの使用状況に応じて前記先取り命
令レジスタか前記次命令レジスタに先取りすることで前
記メモリ装置から命令を読み出す操作と前記命令レジス
タが保持する命令の実行を並列処理し、前記先取り命令
レジスタに命令を先取りすることで前記メモリ装置から
命令を読み出す操作と前記次命令レジスタが保持する命
令の操作コード部の解読を並列処理し、前記分岐アドレ
ス・レジスタが分岐アドレスを保持することで、分岐命
令の実行で生ずる分岐を任意個の命令実行後まで遅らせ
ることを特徴としている。
(作用)
本発明の情報処理装置では、メモリのデータ幅と等しい
固定長命令を実行対象とし、命令先取り用の先取り命令
レジスタと命令読み出し経路にバイパスを用意すること
で、1つの実行制御ユニットが、命令の読み出し、操作
コード部の解読、実行を制御するハードウェア規模の小
さなパイプライン処理機構を実現する。さらに、分岐ア
ドレス・レジスタを用意することで、分岐命令は分岐先
アドレスを演算するだけで、実際の分岐は、分岐命令に
続く任意個の命令実行後に行うプログラマに判読しやす
い遅延分岐命令を実現する。
固定長命令を実行対象とし、命令先取り用の先取り命令
レジスタと命令読み出し経路にバイパスを用意すること
で、1つの実行制御ユニットが、命令の読み出し、操作
コード部の解読、実行を制御するハードウェア規模の小
さなパイプライン処理機構を実現する。さらに、分岐ア
ドレス・レジスタを用意することで、分岐命令は分岐先
アドレスを演算するだけで、実際の分岐は、分岐命令に
続く任意個の命令実行後に行うプログラマに判読しやす
い遅延分岐命令を実現する。
第2図に、本発明の情報処理装置が備えているパイプラ
イン処理機構の概略図を示す。30は、データとプログ
ラムを格納するメモリである。メモリから読み出したデ
ータ、または、プログラムの構成要素である命令は、デ
ータ・バス31を通り、演算処理装置32またはパイプ
ライン処理機構33へ送られる。命令の先取りは、演算
処理装置32がメモリ30を使用していない時に行う。
イン処理機構の概略図を示す。30は、データとプログ
ラムを格納するメモリである。メモリから読み出したデ
ータ、または、プログラムの構成要素である命令は、デ
ータ・バス31を通り、演算処理装置32またはパイプ
ライン処理機構33へ送られる。命令の先取りは、演算
処理装置32がメモリ30を使用していない時に行う。
この結果、命令先取り用制御ユニットが不要になってい
る。メモリが未使用の時に命令の先取りを行うため、次
に実行する命令を保持する次命令レジスタ36が空きと
は限らない。このため、次命令レジスタ36が使用中の
場合、先取りした命令を格納するのが、本発明で導入し
た先取り命令レジスタ34である。また、次命令レジス
タ36が空きの場合、命令選択器35を使用し、メモリ
30から読み出した命令を、直接、次命令レジスタ36
に格納する。現在実行中の命令は、命令レジスタ37が
保持する。命令選択器35を使用して実現したメモリ3
0と次命令レジスタ36の間の経路が、本発明の情報処
理装置が導入した命令読み出し経路のバイパスである。
る。メモリが未使用の時に命令の先取りを行うため、次
に実行する命令を保持する次命令レジスタ36が空きと
は限らない。このため、次命令レジスタ36が使用中の
場合、先取りした命令を格納するのが、本発明で導入し
た先取り命令レジスタ34である。また、次命令レジス
タ36が空きの場合、命令選択器35を使用し、メモリ
30から読み出した命令を、直接、次命令レジスタ36
に格納する。現在実行中の命令は、命令レジスタ37が
保持する。命令選択器35を使用して実現したメモリ3
0と次命令レジスタ36の間の経路が、本発明の情報処
理装置が導入した命令読み出し経路のバイパスである。
先取り命令レジスタ34と命令選択器35を導入したこ
とにより、次命令レジスタ36の状態に影響されること
なく、命令の先取りが可能になっている。すなわち、命
令の読み出し、操作コード部の解読、命令の実行の3つ
の処理の並列処理機能を実現している。各レジスタが保
持する命令のアドレスは、先取り命令アドレス・レジス
タ39、次命令アドレス・レジスタ41、現命令アドレ
ス・レジスタ42が保持する。40は、次命令アドレス
・レジスタ41に格納するアドレスを選択する次命令ア
ドレス選択器である。メモリ30から命令を先取りする
時は、命令アドレス・レジスタ38か分岐アドレス・レ
ジスタ43が保持するアドレスを先取りアドレス選択器
44により選択して使用する。連続した命令列を実行す
る場合は、命令を先取りする度に、先取り命令アドレス
加算器45を使用して命令アドレス・レジスタ38の値
を1増加させる。しかし、分岐命令を実行する場合は、
本発明が導入した分岐アドレス加算器46を使用して、
分岐アドレスを演算し、分岐アドレスを同じく本発明が
導入した分岐アドレス・レジスタ43へ格納する。すな
わち、分岐アドレスを分岐アドレス・レジスタ43に保
存する。この結果、命令アドレス・レジスタ38を使用
して、分岐命令に続く任意個の命令先取りと実行を行っ
た後で、分岐アドレス・レジスタ43が保持する分岐ア
ドレスを使用した命令の先取りを行うことができる。し
たがって、他の分岐命令では、分岐先アドレスの演算、
分岐先命令の読み出し、分岐先命令の操作コード部の解
読、実行の4つの操作を1つの命令内で逐次的に処理す
る必要があるのに対し、分岐命令に続く命令の実行の中
で、分岐先命令の先取り、操作コード部の解読を行う遅
延分岐命令を実現することができる。さらに、分岐アド
レス・レジスタ38が分岐アドレスを保持するため、遅
延分岐命令実行後、分岐が発生するまで、実行される命
令の個数を固定する必要がない。
とにより、次命令レジスタ36の状態に影響されること
なく、命令の先取りが可能になっている。すなわち、命
令の読み出し、操作コード部の解読、命令の実行の3つ
の処理の並列処理機能を実現している。各レジスタが保
持する命令のアドレスは、先取り命令アドレス・レジス
タ39、次命令アドレス・レジスタ41、現命令アドレ
ス・レジスタ42が保持する。40は、次命令アドレス
・レジスタ41に格納するアドレスを選択する次命令ア
ドレス選択器である。メモリ30から命令を先取りする
時は、命令アドレス・レジスタ38か分岐アドレス・レ
ジスタ43が保持するアドレスを先取りアドレス選択器
44により選択して使用する。連続した命令列を実行す
る場合は、命令を先取りする度に、先取り命令アドレス
加算器45を使用して命令アドレス・レジスタ38の値
を1増加させる。しかし、分岐命令を実行する場合は、
本発明が導入した分岐アドレス加算器46を使用して、
分岐アドレスを演算し、分岐アドレスを同じく本発明が
導入した分岐アドレス・レジスタ43へ格納する。すな
わち、分岐アドレスを分岐アドレス・レジスタ43に保
存する。この結果、命令アドレス・レジスタ38を使用
して、分岐命令に続く任意個の命令先取りと実行を行っ
た後で、分岐アドレス・レジスタ43が保持する分岐ア
ドレスを使用した命令の先取りを行うことができる。し
たがって、他の分岐命令では、分岐先アドレスの演算、
分岐先命令の読み出し、分岐先命令の操作コード部の解
読、実行の4つの操作を1つの命令内で逐次的に処理す
る必要があるのに対し、分岐命令に続く命令の実行の中
で、分岐先命令の先取り、操作コード部の解読を行う遅
延分岐命令を実現することができる。さらに、分岐アド
レス・レジスタ38が分岐アドレスを保持するため、遅
延分岐命令実行後、分岐が発生するまで、実行される命
令の個数を固定する必要がない。
(実施例)
本発明の実施例について、図面を参照して詳細に説明す
る。
る。
第1図は、本発明の情報処理装置の一実施例である。1
は、データとプログラムを格納するメモリである。メモ
リ1から読み出されたデータまたは命令は、データ・バ
ス2を通り、演算処理装置3または、パイプライン処理
機構4へ送られる。パイプライン処理機構4へ送られた
命令は、先取り命令レジスタ9に、または、命令選択器
19を通って次命令レジスタ10に格納する。現在実行
中の命令は、命令レジスタ11が保持する。さらに、各
レジスタが保持する命令のアドレスを記憶するために、
先取り命令アドレス・レジスタ6、次命令アドレス・レ
ジスタ7、現命令アドレス・レジスタ8を用意する。1
7は、次命令アドレス・レジスタ7に格納するアドレス
を選択する次命令アドレス選択器である。次命令レジス
タ10が保持する命令は、命令解読メモリ14が操作コ
ード部を解読する。オペランド整形制御レジスタ12は
、命令解読メモリ14が生成した制御信号を格納し、オ
ペランド整形器15によるオペランド整形処理を制御す
る。24は、メモリ1から命令を先取りする時に使用し
たアドレスに、1加算し、命令アドレス・レジスタ5に
送る先取り命令加算器である。
は、データとプログラムを格納するメモリである。メモ
リ1から読み出されたデータまたは命令は、データ・バ
ス2を通り、演算処理装置3または、パイプライン処理
機構4へ送られる。パイプライン処理機構4へ送られた
命令は、先取り命令レジスタ9に、または、命令選択器
19を通って次命令レジスタ10に格納する。現在実行
中の命令は、命令レジスタ11が保持する。さらに、各
レジスタが保持する命令のアドレスを記憶するために、
先取り命令アドレス・レジスタ6、次命令アドレス・レ
ジスタ7、現命令アドレス・レジスタ8を用意する。1
7は、次命令アドレス・レジスタ7に格納するアドレス
を選択する次命令アドレス選択器である。次命令レジス
タ10が保持する命令は、命令解読メモリ14が操作コ
ード部を解読する。オペランド整形制御レジスタ12は
、命令解読メモリ14が生成した制御信号を格納し、オ
ペランド整形器15によるオペランド整形処理を制御す
る。24は、メモリ1から命令を先取りする時に使用し
たアドレスに、1加算し、命令アドレス・レジスタ5に
送る先取り命令加算器である。
26は、絶対アドレスを使用した分岐命令を実行する場
合に、データ・バス2から分岐アドレス・レジスタ23
へ、分岐アドレスを送るための経路を選択する分岐アド
レス選択器である。通常は、分岐アドレス加算器25の
出力を分岐アドレス・レジスタ23の入力として、選択
する。27は命令アドレス・レジスタ5か分岐アドレス
・レジスタ23が保持するアドレスを選択する先取りア
ドレス選択器である。連続した命令列を実行している場
合は、命令アドレス・レジスタ5を使用して、メモリ1
から命令を先取りする。分岐命令を実行する場合は、分
岐アドレス加算器25を使用し、次命令アドレス・レジ
スタ7が保持する次命令アドレスと命令レジスタ11が
保持する命令コードの相対分岐アドレスを加算する。分
岐アドレス加算器25で演算した分岐アドレスは、分岐
アドレスルジスダ23に格納する。分岐アドレス・レジ
スタ23が分岐アドレスを保持しているので、命令アド
レス・レジスタ5を使用した命令の先取りが可能である
。この結果、機械語命令列、のように、分岐命令の後に
続く任意個の命令を実行した後で、分岐を行う遅延分岐
命令の実現が可能である。従来の遅延分岐命令と異なり
、遅延分岐命令実行後に実行対象となる命令の個数を任
意に指定できるため、上記例のように、Ca1l命令を
関数名に対応させ、残りのMove命令を関数の引数に
対応した機械語命令列を実現できる。分岐を行うタイミ
ングは、(4)のMove&prefetch命令のよ
うな分岐先命令の先取り機能を付加したMove命令を
用意し、分岐が発生する命令の前に挿入して指定する。
合に、データ・バス2から分岐アドレス・レジスタ23
へ、分岐アドレスを送るための経路を選択する分岐アド
レス選択器である。通常は、分岐アドレス加算器25の
出力を分岐アドレス・レジスタ23の入力として、選択
する。27は命令アドレス・レジスタ5か分岐アドレス
・レジスタ23が保持するアドレスを選択する先取りア
ドレス選択器である。連続した命令列を実行している場
合は、命令アドレス・レジスタ5を使用して、メモリ1
から命令を先取りする。分岐命令を実行する場合は、分
岐アドレス加算器25を使用し、次命令アドレス・レジ
スタ7が保持する次命令アドレスと命令レジスタ11が
保持する命令コードの相対分岐アドレスを加算する。分
岐アドレス加算器25で演算した分岐アドレスは、分岐
アドレスルジスダ23に格納する。分岐アドレス・レジ
スタ23が分岐アドレスを保持しているので、命令アド
レス・レジスタ5を使用した命令の先取りが可能である
。この結果、機械語命令列、のように、分岐命令の後に
続く任意個の命令を実行した後で、分岐を行う遅延分岐
命令の実現が可能である。従来の遅延分岐命令と異なり
、遅延分岐命令実行後に実行対象となる命令の個数を任
意に指定できるため、上記例のように、Ca1l命令を
関数名に対応させ、残りのMove命令を関数の引数に
対応した機械語命令列を実現できる。分岐を行うタイミ
ングは、(4)のMove&prefetch命令のよ
うな分岐先命令の先取り機能を付加したMove命令を
用意し、分岐が発生する命令の前に挿入して指定する。
この結果、プログラマにとって判読しやすい命令列とな
る。
る。
上記機械語命令列(1)〜(5)を実行した時の次命令
レジスタ10、命令アドレス・レジスタ5、分岐アドレ
ス・レジスタ23の保持情報の変化を第3図に示す。
レジスタ10、命令アドレス・レジスタ5、分岐アドレ
ス・レジスタ23の保持情報の変化を第3図に示す。
(2)の命令Move(R1,1st−argumen
t)をB、(3)の命令出しアドレスをh+1、分岐先
の機械語命令とその後に続(機械語命令の読み出しアド
レスをS+1゜S+2で表現する。50は、次命令レジ
スタ10が保持する次に実行する機械語命令の変化を示
す。次に命令レジスタ10が保持するB51は、Ca1
lsubroutine命令実行時の次に実行する機械
語命令である。60は、命令アドレス・レジスタ5が保
持するアドレスの変化を示す。(c+1)61は、Ca
1lsubroutine命令の機械語命令先取り終了
後の命令アドレス・レジスタが保持するアドレスである
。
t)をB、(3)の命令出しアドレスをh+1、分岐先
の機械語命令とその後に続(機械語命令の読み出しアド
レスをS+1゜S+2で表現する。50は、次命令レジ
スタ10が保持する次に実行する機械語命令の変化を示
す。次に命令レジスタ10が保持するB51は、Ca1
lsubroutine命令実行時の次に実行する機械
語命令である。60は、命令アドレス・レジスタ5が保
持するアドレスの変化を示す。(c+1)61は、Ca
1lsubroutine命令の機械語命令先取り終了
後の命令アドレス・レジスタが保持するアドレスである
。
c+1はCの次に続く機械語命令の読み出しアドレスで
ある。70は、分岐アドレス・レジスタ23が保持する
分岐アドレスの変化を示す。s71は、Ca1lsub
routine命令が分岐アドレスを演算した後の分岐
アドレス・レジスタ23が保持するアドレスである。
ある。70は、分岐アドレス・レジスタ23が保持する
分岐アドレスの変化を示す。s71は、Ca1lsub
routine命令が分岐アドレスを演算した後の分岐
アドレス・レジスタ23が保持するアドレスである。
Ca1l 5ubroutine命令では分岐アドレス
を演算し、分岐アドレスを分岐アドレス・レジスタ23
に格納するだけである。したがって、Ca1l 5ub
routine命令実行終了後、次命令レジスタ10が
保持するBの実行を開始する。B実行時の次命令レジス
タの内容が052でいても構わない。分岐を行う機械語
命令の1つ前の機械語命令のMove&Prefetc
h命令実行時の次命令レジスタ10は、分岐が発生する
機械語命令H53を保持する。Move&Prefet
ch命令では、分岐アドレス・レジスタ23を使用して
、分岐先の機械語命令を先取りする。したがって、機械
語命令の先取りを行う前の命令アドレス・レジスタ5が
保持するアドレスは、Hの次に続く機械語命令の読み出
しアドレス(h+1)63であるが、機械語命令の先取
りは分岐アドレス・レジスタ23を使用するため、機械
語命令の先取り終了後のアドレス・レジスタ5は、分岐
先の機械語命令Sの次に続く命令の読み出しアドレス(
S+1)64を保持する。分岐アドレス・レジスタ23
は、Can5ubroutine命令が格納した分岐ア
ドレスs73を保持している。次のMove(Ri、i
th−argument)命令実行時の次命令レジスタ
10は、分岐先の機械語命令854を保持する。また、
機械語命令先取り終了後の命令アドレス・レジスタ5は
Sの次に続く機械語命令の読み出しアドレス(S+2)
65を保持する。分岐アドレス・レジスタ23は、分岐
アドレスs74を保持する。
を演算し、分岐アドレスを分岐アドレス・レジスタ23
に格納するだけである。したがって、Ca1l 5ub
routine命令実行終了後、次命令レジスタ10が
保持するBの実行を開始する。B実行時の次命令レジス
タの内容が052でいても構わない。分岐を行う機械語
命令の1つ前の機械語命令のMove&Prefetc
h命令実行時の次命令レジスタ10は、分岐が発生する
機械語命令H53を保持する。Move&Prefet
ch命令では、分岐アドレス・レジスタ23を使用して
、分岐先の機械語命令を先取りする。したがって、機械
語命令の先取りを行う前の命令アドレス・レジスタ5が
保持するアドレスは、Hの次に続く機械語命令の読み出
しアドレス(h+1)63であるが、機械語命令の先取
りは分岐アドレス・レジスタ23を使用するため、機械
語命令の先取り終了後のアドレス・レジスタ5は、分岐
先の機械語命令Sの次に続く命令の読み出しアドレス(
S+1)64を保持する。分岐アドレス・レジスタ23
は、Can5ubroutine命令が格納した分岐ア
ドレスs73を保持している。次のMove(Ri、i
th−argument)命令実行時の次命令レジスタ
10は、分岐先の機械語命令854を保持する。また、
機械語命令先取り終了後の命令アドレス・レジスタ5は
Sの次に続く機械語命令の読み出しアドレス(S+2)
65を保持する。分岐アドレス・レジスタ23は、分岐
アドレスs74を保持する。
(発明の効果)
本発明によれば、メモリのデータ幅と等しい固定長命令
を実行対象とし、命令先取り用の先取り命令レジスタと
命令読み出し経路にバイパスを用意することで、命令の
読み出し、操作コード部の解読、実行の3つの処理を並
列処理する1つの実行制御ユニットに制御されたハード
ウェア規模の小さなパイプライン処理機構を実現し、さ
らに、分岐アドレス・レジスタを用意することで、分岐
命令に続く任意側の命令を実行した後で、分岐を行う遅
延分岐命令を実現し、分岐命令によるパイプラインの乱
れを解消する小型で高性能な情報処理装置を実現してい
る。
を実行対象とし、命令先取り用の先取り命令レジスタと
命令読み出し経路にバイパスを用意することで、命令の
読み出し、操作コード部の解読、実行の3つの処理を並
列処理する1つの実行制御ユニットに制御されたハード
ウェア規模の小さなパイプライン処理機構を実現し、さ
らに、分岐アドレス・レジスタを用意することで、分岐
命令に続く任意側の命令を実行した後で、分岐を行う遅
延分岐命令を実現し、分岐命令によるパイプラインの乱
れを解消する小型で高性能な情報処理装置を実現してい
る。
第1図は本発明の情報処理装置の一実施例の構成図、第
2図は、本発明の情報処理装置の概略図、第3図は、遅
延分岐命令を使用した機械語命令列を実行した時の次命
令レジスタ、命令アドレス・レジスタ、分岐アドレス・
レジスタ保持情報の変化を示す図である。 1.30・・・・ メモリ 2.31・・・・データ・バス 3.32・・・・演算処理装置 4.33・・・・パイプライン処理機構5.38・・・
・命令アドレス・レジスタ6.39・・・・先取り命令
アドレス・レジスタ7.41・・・・次命令アドレス・
レジスタ8,42・・・・現命令アドレス・レジスタ9
.34・・・・先取り命令レジスタ 10.36・・・次命令レジスタ 11.37・・・命令レジスタ 12・・・・・・・オペランド整形制御レジスタ14・
・・・・・・命令解読メモリ 15・・・・・・・ オペランド整形器17.40・・
・次命令アドレス選択器19.35・・・命令選択器 21・・・・・・・データ・アドレス・レジスタ23.
43・・・分岐アドレス・レジスタ24.45・・・先
取り命令アドレス加算器25.46・・・分岐アドレス
加算 器26・・・・・・・分岐アドレス選択器27.44・
・・先取りアドレス選択器50・・・・・・・次命令レ
ジスタの変化の流れ60・・・・・・・命令アドレス・
レジスタの変化の流れ70・・・・・・・分岐アドレス
・レジスタの変化の流れ51・・・・・・・遅延分岐命
令実行時の次命令レジスタの内容 61.71・・・遅延分岐命令が命令の先取りを行った
後の命令アドレス・レジスタ、分岐アドレス・レジスタ
の内容 52・・・・・・・命令B実行時の次命令レジスタの内
容62.72・・・命令アドレス・レジスタ、分岐アド
レス・レジスタの内容 53・・・・・・・分岐先命令の先取りを行う機械語命
令実行時の次命令レジスタの内容 63・・・・・・・命令先取り前の命令アドレス・レジ
スタの内容 64.73・・・命令先取り後の命令アドレス・レジス
タと分岐アドレス・レジスタの内容 54・・・・・・・分岐が発生する機械語命令実行時の
次命令レジスタの内容 65.74・・・命令先取り後の命令アドレス、レジス
タ、分岐アドレス・レジスタ
2図は、本発明の情報処理装置の概略図、第3図は、遅
延分岐命令を使用した機械語命令列を実行した時の次命
令レジスタ、命令アドレス・レジスタ、分岐アドレス・
レジスタ保持情報の変化を示す図である。 1.30・・・・ メモリ 2.31・・・・データ・バス 3.32・・・・演算処理装置 4.33・・・・パイプライン処理機構5.38・・・
・命令アドレス・レジスタ6.39・・・・先取り命令
アドレス・レジスタ7.41・・・・次命令アドレス・
レジスタ8,42・・・・現命令アドレス・レジスタ9
.34・・・・先取り命令レジスタ 10.36・・・次命令レジスタ 11.37・・・命令レジスタ 12・・・・・・・オペランド整形制御レジスタ14・
・・・・・・命令解読メモリ 15・・・・・・・ オペランド整形器17.40・・
・次命令アドレス選択器19.35・・・命令選択器 21・・・・・・・データ・アドレス・レジスタ23.
43・・・分岐アドレス・レジスタ24.45・・・先
取り命令アドレス加算器25.46・・・分岐アドレス
加算 器26・・・・・・・分岐アドレス選択器27.44・
・・先取りアドレス選択器50・・・・・・・次命令レ
ジスタの変化の流れ60・・・・・・・命令アドレス・
レジスタの変化の流れ70・・・・・・・分岐アドレス
・レジスタの変化の流れ51・・・・・・・遅延分岐命
令実行時の次命令レジスタの内容 61.71・・・遅延分岐命令が命令の先取りを行った
後の命令アドレス・レジスタ、分岐アドレス・レジスタ
の内容 52・・・・・・・命令B実行時の次命令レジスタの内
容62.72・・・命令アドレス・レジスタ、分岐アド
レス・レジスタの内容 53・・・・・・・分岐先命令の先取りを行う機械語命
令実行時の次命令レジスタの内容 63・・・・・・・命令先取り前の命令アドレス・レジ
スタの内容 64.73・・・命令先取り後の命令アドレス・レジス
タと分岐アドレス・レジスタの内容 54・・・・・・・分岐が発生する機械語命令実行時の
次命令レジスタの内容 65.74・・・命令先取り後の命令アドレス、レジス
タ、分岐アドレス・レジスタ
Claims (1)
- (1)メモリのデータ幅と等しい固定長の命令を使用し
、メモリ上に格納されたプログラムに従いデータを処理
する情報処理装置において、データとプログラムを格納
するメモリ装置と、プログラムに従って処理を行う演算
装置と、前記メモリ装置から読み出した命令を保持する
先取り命令レジスタと、次に実行する命令を保持する次
命令レジスタと、前記次命令レジスタへの入力を前記メ
モリ装置と前記先取り命令レジスタの出力から選択する
命令選択器と、現在実行中の命令を保持する命令レジス
タと、先取り命令のアドレスを保持する先取り命令アド
レス・レジスタと、次命令のアドレスを保持する次命令
アドレス・レジスタと、前記先取り命令レジスタが保持
する命令の次のアドレスを保持する命令アドレス・レジ
スタと、分岐命令を実行する場合分岐先アドレスを保持
する分岐アドレス・レジスタと、前記次命令アドレス・
レジスタの入力を前記命令アドレス・レジスタと前記先
取り命令アドレス・レジスタの出力から選択する次命令
アドレス選択器と、前記メモリ装置から命令を先取りす
る時に使用するアトレスを前記命令アドレス・レジスタ
と前記分岐アドレス・レジスタの出力から選択する先取
りアドレス選択器と、命令先取りで使用するアドレスに
1加算して前記命令アドレス・レジスタへ送る先取り命
令アドレス加算器と、前記次命令アドレス・レジスタの
出力と前記命令レジスタの出力から分岐命令の分岐先ア
ドレスの演算を行う分岐アドレス加算器からなり、前記
命令レジスタが保持する命令の実行と前記次命令レジス
タが保持する命令の操作コード部の解読を並列処理し、
前記次命令レジスタの使用状況に応じて前記先取り命令
レジスタか前記次命令レジスタに先取りすることで前記
メモリ装置から命令を読み出す操作と前記命令レジスタ
が保持する命令の実行を並列処理し、前記先取り命令レ
ジスタに命令を先取りすることで前記メモリ装置から命
令を読み出す操作と前記次命令レジスタが保持する命令
の操作コード部の解読を並列処理し、前記分岐アドレス
・レジスタが分岐アドレスを保持することで、分岐命令
の実行で生ずる分岐を任意個の命令実行後まで遅らせる
ことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3788387A JPS63205732A (ja) | 1987-02-23 | 1987-02-23 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3788387A JPS63205732A (ja) | 1987-02-23 | 1987-02-23 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63205732A true JPS63205732A (ja) | 1988-08-25 |
Family
ID=12509938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3788387A Pending JPS63205732A (ja) | 1987-02-23 | 1987-02-23 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63205732A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04191931A (ja) * | 1990-11-27 | 1992-07-10 | Agency Of Ind Science & Technol | 電子計算機 |
US5450585A (en) * | 1991-05-15 | 1995-09-12 | International Business Machines Corporation | Compiler with delayed conditional branching |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60103454A (ja) * | 1983-11-09 | 1985-06-07 | Matsushita Electric Ind Co Ltd | 命令先読み制御装置 |
JPS612971A (ja) * | 1984-05-05 | 1986-01-08 | エスカ−エフ ゲ−エムベ−ハ− | テンシヨンロ−ラ |
-
1987
- 1987-02-23 JP JP3788387A patent/JPS63205732A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60103454A (ja) * | 1983-11-09 | 1985-06-07 | Matsushita Electric Ind Co Ltd | 命令先読み制御装置 |
JPS612971A (ja) * | 1984-05-05 | 1986-01-08 | エスカ−エフ ゲ−エムベ−ハ− | テンシヨンロ−ラ |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04191931A (ja) * | 1990-11-27 | 1992-07-10 | Agency Of Ind Science & Technol | 電子計算機 |
US5450585A (en) * | 1991-05-15 | 1995-09-12 | International Business Machines Corporation | Compiler with delayed conditional branching |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0355069A2 (en) | Variable delay branch system | |
JPH0374434B2 (ja) | ||
JPS63205732A (ja) | 情報処理装置 | |
JPH0418635A (ja) | ディジタル信号プロセッサ | |
JPH0363092B2 (ja) | ||
JPS60178580A (ja) | 命令制御方式 | |
JPS6125166B2 (ja) | ||
JP3335735B2 (ja) | 演算処理装置 | |
EP0116600A1 (en) | MECHANISM FOR CALCULATING THE FOLLOWING ADDRESS OF AN INSTRUCTION BEFORE ITS EXECUTION. | |
JPH0287229A (ja) | 実行命令の先取り制御方式 | |
JP2825315B2 (ja) | 情報処理装置 | |
JPS6394334A (ja) | パイプライン処理方式 | |
JPH0431134B2 (ja) | ||
JPS6395539A (ja) | パイプライン処理方式 | |
JPS6411973B2 (ja) | ||
JP3743155B2 (ja) | パイプライン制御型計算機 | |
JPS6373335A (ja) | 情報処理装置 | |
JPH0766325B2 (ja) | パイプライン制御装置 | |
JPH0855033A (ja) | 情報処理装置 | |
JPH02236727A (ja) | 情報処理装置 | |
JPS6353644A (ja) | 命令制御装置 | |
JPH0317135B2 (ja) | ||
JPH04286026A (ja) | マイクロプロセッサ内の命令準備のための装置 | |
JPH05197543A (ja) | 情報処理装置の命令デコード方式 | |
JP2005134987A (ja) | パイプライン演算処理装置 |