JPH05265755A - 並列命令実行方式 - Google Patents
並列命令実行方式Info
- Publication number
- JPH05265755A JPH05265755A JP4065956A JP6595692A JPH05265755A JP H05265755 A JPH05265755 A JP H05265755A JP 4065956 A JP4065956 A JP 4065956A JP 6595692 A JP6595692 A JP 6595692A JP H05265755 A JPH05265755 A JP H05265755A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- parallel
- instruction execution
- execution
- instructions
- 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)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】 命令実行手段の使用効率を向上させて、計算
機全体の命令実行性能を高める。 【構成】 並列実行可能命令数情報と命令実行キャンセ
ル指定情報とを未定義命令にセットする並列命令実行解
析コンパイラと、並列命令実行制御情報がセットされる
並列命令実行制御レジスタ7と、並列命令実行制御情報
が並列命令実行の有効を示すものであれば、前記未定義
命令をデコードする並列情報デコードユニット2と、並
列命令実行制御情報が並列命令実行の有効を示している
場合、並列実行可能命令数が示す命令を該当する命令実
行手段5、6へ転送し、並列実行制御情報が並列命令実
行の無効を示す場合、連続する命令群を順に該当する命
令実行手段5、6に転送する命令デコード発行ユニット
3と、キャンセル指定を受けた命令に対し、条件分岐命
令の条件に応じて、実行結果をキャンセルする命令実行
手段5、6を備えている。
機全体の命令実行性能を高める。 【構成】 並列実行可能命令数情報と命令実行キャンセ
ル指定情報とを未定義命令にセットする並列命令実行解
析コンパイラと、並列命令実行制御情報がセットされる
並列命令実行制御レジスタ7と、並列命令実行制御情報
が並列命令実行の有効を示すものであれば、前記未定義
命令をデコードする並列情報デコードユニット2と、並
列命令実行制御情報が並列命令実行の有効を示している
場合、並列実行可能命令数が示す命令を該当する命令実
行手段5、6へ転送し、並列実行制御情報が並列命令実
行の無効を示す場合、連続する命令群を順に該当する命
令実行手段5、6に転送する命令デコード発行ユニット
3と、キャンセル指定を受けた命令に対し、条件分岐命
令の条件に応じて、実行結果をキャンセルする命令実行
手段5、6を備えている。
Description
【0001】
【産業上の利用分野】本発明は、電子計算機の並列命令
実行方式に関する。
実行方式に関する。
【0002】
【従来の技術】従来、既存の計算機との互換性を維持し
ながら複数の命令を並列に実行する計算機では、命令実
行時にハードウエア資源の競合を意識しながら複数命令
の実行の可否を判断していた。
ながら複数の命令を並列に実行する計算機では、命令実
行時にハードウエア資源の競合を意識しながら複数命令
の実行の可否を判断していた。
【0003】
【発明が解決しようとする課題】上述した従来の並列命
令実行方式では、下記のような問題点がある。
令実行方式では、下記のような問題点がある。
【0004】複数命令を並列実行可能か否かを命令実行
時にハードウエアで判断していたため、命令デコード、
命令発行(ディスパッチ)を行なう制御部のハードウエ
ア量が多くなって、その部分の回路ディレイが大きくな
り、基本クロック周期を短くする上で支障をきたす。例
えば、整数演算ユニットと浮動小数点演算ユニットとを
一つずつ有するような計算機では、連続する二つの命令
が整数演算命令と浮動小数点演算命令であればその二つ
の命令は並列に実行可能であるが、連続する二つの命令
がともに整数命令であったり浮動小数点命令であれば、
演算ユニット上競合が起こり、一つの命令しか同時には
実行できない。このような判断を命令実行時にハードウ
エアで行なうにはその制御部が複雑となってしまう。さ
らに、演算ユニットの数や種類が増えた場合には、ハー
ドウエアで十分に並列命令実行の可能性を判断できなく
なることがありえる。
時にハードウエアで判断していたため、命令デコード、
命令発行(ディスパッチ)を行なう制御部のハードウエ
ア量が多くなって、その部分の回路ディレイが大きくな
り、基本クロック周期を短くする上で支障をきたす。例
えば、整数演算ユニットと浮動小数点演算ユニットとを
一つずつ有するような計算機では、連続する二つの命令
が整数演算命令と浮動小数点演算命令であればその二つ
の命令は並列に実行可能であるが、連続する二つの命令
がともに整数命令であったり浮動小数点命令であれば、
演算ユニット上競合が起こり、一つの命令しか同時には
実行できない。このような判断を命令実行時にハードウ
エアで行なうにはその制御部が複雑となってしまう。さ
らに、演算ユニットの数や種類が増えた場合には、ハー
ドウエアで十分に並列命令実行の可能性を判断できなく
なることがありえる。
【0005】本発明は、上記従来の技術が有する問題点
に鑑みてなされたもので、命令実行手段の使用効率を向
上させて、計算機全体の命令実行性能を高めることがで
きる並列命令実行方式を提供することを目的としてい
る。
に鑑みてなされたもので、命令実行手段の使用効率を向
上させて、計算機全体の命令実行性能を高めることがで
きる並列命令実行方式を提供することを目的としてい
る。
【0006】
【課題を解決するための手段】本発明は、複数の命令実
行手段を備え、複数の命令を並列して実行する電子計算
機の並列命令実行方式において、連続する命令群のう
ち、連続する何個の命令が並列実行可能かを示す並列実
行可能命令数情報と、並列実行可能な複数の命令の中に
条件分岐命令が含まれていれば、該条件分岐命令の条件
に応じて、前記並列実行可能な複数の命令のうちの何れ
の命令の実行結果をキャンセルするかを指定する命令実
行キャンセル指定情報とを、所定の命令語にセットする
並列命令実行解析コンパイラと、並列命令実行が有効か
否かを示す並列命令実行制御情報がセットされる並列命
令実行制御レジスタと、該並列命令実行制御レジスタに
セットされた並列命令実行制御情報が前記並列命令実行
の有効を示すものであれば、前記所定の命令語にセット
された並列実行可能命令数および命令実行キャンセル指
定情報をデコードする並列情報デコーダと、前記並列命
令実行制御情報が並列命令実行の有効を示している場
合、前記並列情報デコーダによる並列実行可能命令数の
デコード結果にしたがって、並列実行可能な複数の命令
をそれぞれ該当する命令実行手段に転送し、前記並列命
令実行制御情報が並列命令実行の無効を示している場
合、前記連続する命令群を順に該当する命令実行手段へ
転送する命令デコード発行手段とを有し、前記命令実行
手段は、前記並列情報デコーダによる命令実行キャンセ
ル指定情報のデコードの結果、キャンセル指定を受けた
命令が転送された場合、該命令についての実行結果を、
前記命令実行キャンセル指定情報に関る条件分岐命令の
条件に応じて、キャンセルする方式であり、前記並列命
令実行解析コンパイラは、並列実行可能命令数情報と並
列実行キャンセル指定情報を、既存の計算機における未
定義命令にセットする場合がある。
行手段を備え、複数の命令を並列して実行する電子計算
機の並列命令実行方式において、連続する命令群のう
ち、連続する何個の命令が並列実行可能かを示す並列実
行可能命令数情報と、並列実行可能な複数の命令の中に
条件分岐命令が含まれていれば、該条件分岐命令の条件
に応じて、前記並列実行可能な複数の命令のうちの何れ
の命令の実行結果をキャンセルするかを指定する命令実
行キャンセル指定情報とを、所定の命令語にセットする
並列命令実行解析コンパイラと、並列命令実行が有効か
否かを示す並列命令実行制御情報がセットされる並列命
令実行制御レジスタと、該並列命令実行制御レジスタに
セットされた並列命令実行制御情報が前記並列命令実行
の有効を示すものであれば、前記所定の命令語にセット
された並列実行可能命令数および命令実行キャンセル指
定情報をデコードする並列情報デコーダと、前記並列命
令実行制御情報が並列命令実行の有効を示している場
合、前記並列情報デコーダによる並列実行可能命令数の
デコード結果にしたがって、並列実行可能な複数の命令
をそれぞれ該当する命令実行手段に転送し、前記並列命
令実行制御情報が並列命令実行の無効を示している場
合、前記連続する命令群を順に該当する命令実行手段へ
転送する命令デコード発行手段とを有し、前記命令実行
手段は、前記並列情報デコーダによる命令実行キャンセ
ル指定情報のデコードの結果、キャンセル指定を受けた
命令が転送された場合、該命令についての実行結果を、
前記命令実行キャンセル指定情報に関る条件分岐命令の
条件に応じて、キャンセルする方式であり、前記並列命
令実行解析コンパイラは、並列実行可能命令数情報と並
列実行キャンセル指定情報を、既存の計算機における未
定義命令にセットする場合がある。
【0007】
【作用】本発明の並列命令実行方式によれば、並列命令
実行解析コンパイラにて、連続する命令群の中から、連
続する何個の命令が並列実行可能か否か判断し、さら
に、並列実行可能な複数の命令の中に条件分岐命令が存
在する場合、該条件分岐命令の条件に応じて、後続の命
令についても並列実行可能か否か判断するので、並列実
行可能な連続する複数の命令について、条件分岐命令の
前後に同一命令実行手段に関る命令が存在した場合で
も、それらを並列して実行することが可能となる。
実行解析コンパイラにて、連続する命令群の中から、連
続する何個の命令が並列実行可能か否か判断し、さら
に、並列実行可能な複数の命令の中に条件分岐命令が存
在する場合、該条件分岐命令の条件に応じて、後続の命
令についても並列実行可能か否か判断するので、並列実
行可能な連続する複数の命令について、条件分岐命令の
前後に同一命令実行手段に関る命令が存在した場合で
も、それらを並列して実行することが可能となる。
【0008】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0009】図1は、本発明の並列命令実行方式を実施
するための電子計算機の一実施例を示すブロック図であ
る。
するための電子計算機の一実施例を示すブロック図であ
る。
【0010】本実施例の電子計算機は、命令バッファ1
と並列情報デコードユニット2と命令デコード発行ユニ
ット3と分岐命令実行ユニット4と整数演算ユニット5
と浮動小数点演算ユニット6と並列命令実行制御レジス
タ7と並列命令実行解析コンパイラ(不図示)とを備え
ており、既存の計算機における命令との互換を保つこと
ができる構成となっている。
と並列情報デコードユニット2と命令デコード発行ユニ
ット3と分岐命令実行ユニット4と整数演算ユニット5
と浮動小数点演算ユニット6と並列命令実行制御レジス
タ7と並列命令実行解析コンパイラ(不図示)とを備え
ており、既存の計算機における命令との互換を保つこと
ができる構成となっている。
【0011】まず、並列命令実行解析コンパイラについ
て、図2ないし図4を参照して説明する。
て、図2ないし図4を参照して説明する。
【0012】図2は、連続する命令列の一例を示す図、
図3は未定義命令の構成の一例を示す図、図4は並列実
行命令列の一例を示す図である。
図3は未定義命令の構成の一例を示す図、図4は並列実
行命令列の一例を示す図である。
【0013】本実施例の電子計算機が互換を保とうとす
る既存の計算機の命令セットでは、命令語の先頭に命令
コードがあって、その最初の4ビットがすべて“1”の
命令語は未定義命令であるものとする。
る既存の計算機の命令セットでは、命令語の先頭に命令
コードがあって、その最初の4ビットがすべて“1”の
命令語は未定義命令であるものとする。
【0014】並列命令実行解析コンパイラは、ソースプ
ログラムをコンパイルした結果、オブジェクトコード内
に、互いに命令実行ユニット(分岐命令ユニット4、整
数演算ユニット5および浮動小数点演算ユニット6)で
競合しない分岐命令、整数演算命令および浮動小数点演
算命令が連続しているか否か捜す。もし、連続していれ
ば、それらの命令を並列に実行させるために、その命令
列の先頭に最初の4ビットがすべて“1”の未定義命令
を挿入し、さらに、その命令語の最下位4ビットに“0
011“(並列実行可能命令数)を書き込む。この“0
011”は後続の3命令が並列実行可能であることを表
している。
ログラムをコンパイルした結果、オブジェクトコード内
に、互いに命令実行ユニット(分岐命令ユニット4、整
数演算ユニット5および浮動小数点演算ユニット6)で
競合しない分岐命令、整数演算命令および浮動小数点演
算命令が連続しているか否か捜す。もし、連続していれ
ば、それらの命令を並列に実行させるために、その命令
列の先頭に最初の4ビットがすべて“1”の未定義命令
を挿入し、さらに、その命令語の最下位4ビットに“0
011“(並列実行可能命令数)を書き込む。この“0
011”は後続の3命令が並列実行可能であることを表
している。
【0015】もし、連続している命令が演算ユニットを
競合して並列実行できない場合にはさらに分岐先の命令
も含めて並列実行可能な命令を捜す。例えば図2で、n
番地の命令は整数命令で、n+1番地の命令は条件が成
立すればk番地に分岐するという条件分岐命令である。
n+2番地は浮動小数点命令である。この場合、k番地
の命令も整数命令であり、前記n番地の命令と競合する
ため、この命令列ではn番地とn+1番地の二命令のみ
が並列実行可能となる。
競合して並列実行できない場合にはさらに分岐先の命令
も含めて並列実行可能な命令を捜す。例えば図2で、n
番地の命令は整数命令で、n+1番地の命令は条件が成
立すればk番地に分岐するという条件分岐命令である。
n+2番地は浮動小数点命令である。この場合、k番地
の命令も整数命令であり、前記n番地の命令と競合する
ため、この命令列ではn番地とn+1番地の二命令のみ
が並列実行可能となる。
【0016】ところが、n番地の条件分岐命令が成功し
たら後続の浮動小数点命令をキャンセルするという指定
をすれば、n+2番地の命令をn番地およびn+1番地
の命令を並列に実行することができるようになる。この
命令列についてキャンセル指定を行なった場合、命令語
の最上位4ビットが“1111”で、最下位4ビットが
“0011”で、最下位4ビットの上位隣の3ビットが
“001”(命令実行キャンセル指定情報)という命令
語(未定義命令)が生成される。この様子を図3に示
す。
たら後続の浮動小数点命令をキャンセルするという指定
をすれば、n+2番地の命令をn番地およびn+1番地
の命令を並列に実行することができるようになる。この
命令列についてキャンセル指定を行なった場合、命令語
の最上位4ビットが“1111”で、最下位4ビットが
“0011”で、最下位4ビットの上位隣の3ビットが
“001”(命令実行キャンセル指定情報)という命令
語(未定義命令)が生成される。この様子を図3に示
す。
【0017】ここでは、図3において、後続の3命令が
並列実行可能で、さらにその内3番目の命令は条件分岐
成功時には演算結果がキャンセルされることが指定され
ている。この未定義命令を、前記命令列の先頭に挿入し
た様子を図4に示す。
並列実行可能で、さらにその内3番目の命令は条件分岐
成功時には演算結果がキャンセルされることが指定され
ている。この未定義命令を、前記命令列の先頭に挿入し
た様子を図4に示す。
【0018】このように分岐先も含めて並列実行可能な
命令を捜すことでn+2番地の浮動小数点命令をn+1
番地の命令と組ませることができ、その結果、浮動小数
点演算ユニット6の使用効率が上がる。また、分岐条件
不成立時を考えた場合、n+1番地の分岐命令とn+2
番地の浮動小数点命令が同時に実行されるため、別々に
実行される場合に比べ性能が向上する。
命令を捜すことでn+2番地の浮動小数点命令をn+1
番地の命令と組ませることができ、その結果、浮動小数
点演算ユニット6の使用効率が上がる。また、分岐条件
不成立時を考えた場合、n+1番地の分岐命令とn+2
番地の浮動小数点命令が同時に実行されるため、別々に
実行される場合に比べ性能が向上する。
【0019】命令バッファ1は、前記並列命令実行解析
コンパイラにてコンパイルされた命令語を命令伝達信号
として、並列情報デコードユニット2および命令デコー
ド発行ユニット3に伝える。
コンパイラにてコンパイルされた命令語を命令伝達信号
として、並列情報デコードユニット2および命令デコー
ド発行ユニット3に伝える。
【0020】並列情報デコードユニット2は、前記命令
バッファ1から伝えられる命令語が前記未定義命令であ
ると、該未定義命令から、並列実行可能命令数および命
令実行キャンセル指定情報を取出し、該並列実行可能命
令数は並列命令実行信号として命令デコード発行ユニッ
ト3へ伝え、前記命令実行キャンセル指定情報は命令キ
ャンセル信号として整数演算ユニット5および浮動小数
点演算ユニット6へ伝える。
バッファ1から伝えられる命令語が前記未定義命令であ
ると、該未定義命令から、並列実行可能命令数および命
令実行キャンセル指定情報を取出し、該並列実行可能命
令数は並列命令実行信号として命令デコード発行ユニッ
ト3へ伝え、前記命令実行キャンセル指定情報は命令キ
ャンセル信号として整数演算ユニット5および浮動小数
点演算ユニット6へ伝える。
【0021】命令デコード発行ユニット3は、前記命令
バッファ1から伝えられた命令語を命令信号として分岐
命令実行ユニット4、整数演算ユニット5および浮動小
数点演算ユニット6に伝える。
バッファ1から伝えられた命令語を命令信号として分岐
命令実行ユニット4、整数演算ユニット5および浮動小
数点演算ユニット6に伝える。
【0022】分岐命令実行ユニット4は、条件分岐命令
で判定された所定の条件についての成立、不成立を示す
条件分岐信号を前記整数演算ユニット5および浮動小数
点演算ユニット6へ伝える。
で判定された所定の条件についての成立、不成立を示す
条件分岐信号を前記整数演算ユニット5および浮動小数
点演算ユニット6へ伝える。
【0023】前記整数演算ユニット5および浮動小数点
演算ユニット6では、前記並列情報デコードユニット2
から伝えられる命令キャンセル信号と前記分岐命令実行
ユニット4から伝えられる条件分岐信号にしたがって、
演算を実行あるいはキャンセルする。前記整数演算ユニ
ット5および浮動小数点演算ユニット6は、演算を実行
した場合、それぞれに設けられている演算結果レジスタ
(不図示)に各演算結果を格納するが、キヤンセル指定
された命令の場合、前記演算結果の演算結果レジスタへ
の格納を行なわない。
演算ユニット6では、前記並列情報デコードユニット2
から伝えられる命令キャンセル信号と前記分岐命令実行
ユニット4から伝えられる条件分岐信号にしたがって、
演算を実行あるいはキャンセルする。前記整数演算ユニ
ット5および浮動小数点演算ユニット6は、演算を実行
した場合、それぞれに設けられている演算結果レジスタ
(不図示)に各演算結果を格納するが、キヤンセル指定
された命令の場合、前記演算結果の演算結果レジスタへ
の格納を行なわない。
【0024】並列命令実行制御レジスタ7は、特定の命
令によってデータが設定可能なレジスタであり、該デー
タの設定により、並列命令実行制御を有効化“1”ある
いは無効化“0”する並列命令実行制御信号を並列情報
デコードユニット2へ伝える。
令によってデータが設定可能なレジスタであり、該デー
タの設定により、並列命令実行制御を有効化“1”ある
いは無効化“0”する並列命令実行制御信号を並列情報
デコードユニット2へ伝える。
【0025】以下、図4に示す命令列にとって、本発明
の並列命令実行方式が命令を実行ユニットに発行する様
子を説明する。
の並列命令実行方式が命令を実行ユニットに発行する様
子を説明する。
【0026】本実施例では、命令バッファから、4命令
を並列情報デコードユニット2および命令デコード発行
ユニット3に出力している。
を並列情報デコードユニット2および命令デコード発行
ユニット3に出力している。
【0027】ここで、まず、並列命令実行制御レジスタ
7の値が“1”にセットされている状態を想定する。
7の値が“1”にセットされている状態を想定する。
【0028】この場合、並列命令実行が有効化された状
態となっている。並列情報デコードユニット2は、図4
の命令列の先頭の未定義命令Aをデコードして、「後続
の命令は並列実行可能であり、並列実行可能な命令列の
長さは3(図4でのB〜Dの3命令)で、その内3番目
の命令は条件分岐成立時は演算結果がキャンセルされ
る」旨を、並列命令実行信号および命令キャンセル信号
として、命令デコード発行ユニット3、整数演算ユニッ
ト5および浮動小数点演算実行ユニット6に伝える。ま
た、分岐命令実行ユニット4での命令実行結果は分岐条
件によってキャンセルされることはないので、前記命令
キャンセル信号は、整数演算ユニット5および浮動小数
点演算ユニット6のみに伝える。
態となっている。並列情報デコードユニット2は、図4
の命令列の先頭の未定義命令Aをデコードして、「後続
の命令は並列実行可能であり、並列実行可能な命令列の
長さは3(図4でのB〜Dの3命令)で、その内3番目
の命令は条件分岐成立時は演算結果がキャンセルされ
る」旨を、並列命令実行信号および命令キャンセル信号
として、命令デコード発行ユニット3、整数演算ユニッ
ト5および浮動小数点演算実行ユニット6に伝える。ま
た、分岐命令実行ユニット4での命令実行結果は分岐条
件によってキャンセルされることはないので、前記命令
キャンセル信号は、整数演算ユニット5および浮動小数
点演算ユニット6のみに伝える。
【0029】命令デコード発行ユニット3では前記並列
命令発行信号にしたがって、命令バッファ1から入力さ
れた命令列からB〜Dの3命令を取出してデコードし、
デコード結果を命令伝達信号として、分岐命令実行ユニ
ット4、整数演算ユニット5および浮動小数点演算ユニ
ット6に出力する。図4のBの分岐命令が分岐命令実行
ユニット4に、Cの整数命令が整数演算ユニット5に、
Dの浮動小数点命令が浮動小数点演算ユニット6に出力
される。このように三個の命令が同時に各ユニットに発
行され並列に実行される。
命令発行信号にしたがって、命令バッファ1から入力さ
れた命令列からB〜Dの3命令を取出してデコードし、
デコード結果を命令伝達信号として、分岐命令実行ユニ
ット4、整数演算ユニット5および浮動小数点演算ユニ
ット6に出力する。図4のBの分岐命令が分岐命令実行
ユニット4に、Cの整数命令が整数演算ユニット5に、
Dの浮動小数点命令が浮動小数点演算ユニット6に出力
される。このように三個の命令が同時に各ユニットに発
行され並列に実行される。
【0030】分岐命令実行ユニット4では、条件分岐命
令の条件を判定してその結果を条件分岐信号として、整
数演算ユニット5および浮動小数点演算ユニット6に伝
える。浮動小数点演算ユニット6では、条件成立時には
命令キャンセル信号によって、Dの命令演算結果をキャ
ンセルするよう指示されているので、もし、条件分岐信
号で条件の成立が示されていれば、演算結果をレジスタ
に格納せずにDの命令の実行をキャンセルする。条件が
不成立であれば、演算結果レジスタに格納され、結果は
生き残る。Cの整数命令を実行している整数演算ユニッ
ト5は、条件判定結果によらず演算が実行される。
令の条件を判定してその結果を条件分岐信号として、整
数演算ユニット5および浮動小数点演算ユニット6に伝
える。浮動小数点演算ユニット6では、条件成立時には
命令キャンセル信号によって、Dの命令演算結果をキャ
ンセルするよう指示されているので、もし、条件分岐信
号で条件の成立が示されていれば、演算結果をレジスタ
に格納せずにDの命令の実行をキャンセルする。条件が
不成立であれば、演算結果レジスタに格納され、結果は
生き残る。Cの整数命令を実行している整数演算ユニッ
ト5は、条件判定結果によらず演算が実行される。
【0031】次に、並列命令実行制御レジスタ7の値が
“0”の場合を考える。
“0”の場合を考える。
【0032】この場合、並列命令実行は無効化された状
態である。並列情報デコードユニット2は並列命令実行
制御信号にて並列命令実行が無効化されていることを知
り、未定義命令に埋め込まれた並列実行情報(並列実行
可能命令数、命令実行キャンセル指定情報)を無視す
る。
態である。並列情報デコードユニット2は並列命令実行
制御信号にて並列命令実行が無効化されていることを知
り、未定義命令に埋め込まれた並列実行情報(並列実行
可能命令数、命令実行キャンセル指定情報)を無視す
る。
【0033】このように、未定義命令は無視されて、そ
れ以外の命令は並列に実行されることなく逐次一命令づ
つ実行される。この無効化制御機能は、本電子計算機の
ハードウエアのデバッグのときなどに使用される。
れ以外の命令は並列に実行されることなく逐次一命令づ
つ実行される。この無効化制御機能は、本電子計算機の
ハードウエアのデバッグのときなどに使用される。
【0034】なお、並列情報デコードユニット2および
命令デコード発行ユニット3に入力された命令に未定義
命令が含まれていない場合には、並列命令実行制御レジ
スタの内容にかかわらず、命令は逐次一命令づつ実行さ
れる。
命令デコード発行ユニット3に入力された命令に未定義
命令が含まれていない場合には、並列命令実行制御レジ
スタの内容にかかわらず、命令は逐次一命令づつ実行さ
れる。
【0035】
【発明の効果】以上説明したように本発明によれば下記
のような効果がある。 (1)連続する命令群について、後続する命令列が並列
実行可能かどうかを並列命令実行解析コンパイラにて判
断するので、ハードウエアを複雑にすることなく並列実
行可能な複数の命令をそれぞれ該当する命令実行手段に
転送することができる。さらに、条件分岐命令に後続す
る命令語まで含めて並列実行可能な命令を捜すことがで
きるので、命令実行手段の使用効率が向上し、計算機全
体の命令実行性能を向上させることができる。 (2)上述のように、命令列の並列実行可能性をコンパ
イラが判断するので、例えば、並列実行可能な命令数や
命令実行手段の種類が多く、より複雑な条件で並列実行
可能性を判断しなければならない構成の計算機でも、本
方式を適用することができる。 (3)並列命令実行制御レジスタに相当する機能、すな
わち計算機使用者がソフトウエア制御で容易に並列命令
実行を有効化および無効化できる機能は、本発明のよう
な並列命令実行を実現する計算機においてソフトウエア
の開発を効率よく行なう上で非常に有効である。特に独
立ソウトウエアベンダープログラムを開発するような最
近のオープンシステム環境を構築するための計算機では
不可欠な機能である。 (4)請求項2に記載のものの場合、既存の計算機の未
定義命令を使って並列実行可能命令数情報および命令実
行キャンセル指定情報を格納できるので、既存の計算機
との互換性を保ちながら並列命令実行可能な計算機を実
現することができる。
のような効果がある。 (1)連続する命令群について、後続する命令列が並列
実行可能かどうかを並列命令実行解析コンパイラにて判
断するので、ハードウエアを複雑にすることなく並列実
行可能な複数の命令をそれぞれ該当する命令実行手段に
転送することができる。さらに、条件分岐命令に後続す
る命令語まで含めて並列実行可能な命令を捜すことがで
きるので、命令実行手段の使用効率が向上し、計算機全
体の命令実行性能を向上させることができる。 (2)上述のように、命令列の並列実行可能性をコンパ
イラが判断するので、例えば、並列実行可能な命令数や
命令実行手段の種類が多く、より複雑な条件で並列実行
可能性を判断しなければならない構成の計算機でも、本
方式を適用することができる。 (3)並列命令実行制御レジスタに相当する機能、すな
わち計算機使用者がソフトウエア制御で容易に並列命令
実行を有効化および無効化できる機能は、本発明のよう
な並列命令実行を実現する計算機においてソフトウエア
の開発を効率よく行なう上で非常に有効である。特に独
立ソウトウエアベンダープログラムを開発するような最
近のオープンシステム環境を構築するための計算機では
不可欠な機能である。 (4)請求項2に記載のものの場合、既存の計算機の未
定義命令を使って並列実行可能命令数情報および命令実
行キャンセル指定情報を格納できるので、既存の計算機
との互換性を保ちながら並列命令実行可能な計算機を実
現することができる。
【図1】本発明の並列命令実行方式を実施するための電
子計算機の一実施例を示すブロック図である。
子計算機の一実施例を示すブロック図である。
【図2】連続する命令列の一例を示す図である。
【図3】本発明の並列命令実行方式における未定義命令
の一例を示す図である。
の一例を示す図である。
【図4】本発明の並列命令実行方式にて並列実行可能な
命令列の一例を示す図である。
命令列の一例を示す図である。
【符号の説明】 1 命令バッファ 2 並列情報デコードユニット 3 命令デコード発行ユニット 4 分岐命令実行ユニット 5 整数演算ユニット 6 浮動少数点演算ユニット 7 並列命令実行制御レジスタ
Claims (2)
- 【請求項1】 複数の命令実行手段を備え、複数の命令
を並列して実行する電子計算機の並列命令実行方式にお
いて、 連続する命令群のうち、連続する何個の命令が並列実行
可能かを示す並列実行可能命令数情報と、並列実行可能
な複数の命令の中に条件分岐命令が含まれていれば、該
条件分岐命令の条件に応じて、前記並列実行可能な複数
の命令のうちの何れの命令の実行結果をキャンセルする
かを指定する命令実行キャンセル指定情報とを、所定の
命令語にセットする並列命令実行解析コンパイラと、 並列命令実行が有効か否かを示す並列命令実行制御情報
がセットされる並列命令実行制御レジスタと、 該並列命令実行制御レジスタにセットされた並列命令実
行制御情報が前記並列命令実行の有効を示すものであれ
ば、前記所定の命令語にセットされた、並列実行可能命
令数および命令実行キャンセル指定情報をデコードする
並列情報デコーダと、 前記並列命令実行制御情報が並列命令実行の有効を示し
ている場合、前記並列情報デコーダによる並列実行可能
命令数のデコード結果にしたがって、並列実行可能な複
数の命令をそれぞれ該当する命令実行手段に転送し、前
記並列命令実行制御情報が並列命令実行の無効を示して
いる場合、前記連続する命令群を順に、該当する命令実
行手段へ転送する命令デコード発行手段とを有し、 前記命令実行手段は、前記並列情報デコーダによる命令
実行キャンセル指定情報のデコードの結果、キャンセル
指定を受けた命令が転送された場合、該命令についての
実行結果を、前記命令実行キャンセル指定情報に関る条
件分岐命令の条件に応じて、キャンセルすることを特徴
とする並列命令実行方式。 - 【請求項2】 並列命令実行解析コンパイラは、並列実
行可能命令数情報と並列実行キャンセル指定情報を、既
存の計算機における未定義命令にセットすることを特徴
とする請求項1記載の並列命令実行方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4065956A JPH05265755A (ja) | 1992-03-24 | 1992-03-24 | 並列命令実行方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4065956A JPH05265755A (ja) | 1992-03-24 | 1992-03-24 | 並列命令実行方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05265755A true JPH05265755A (ja) | 1993-10-15 |
Family
ID=13301949
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4065956A Pending JPH05265755A (ja) | 1992-03-24 | 1992-03-24 | 並列命令実行方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05265755A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08249195A (ja) * | 1995-02-03 | 1996-09-27 | Internatl Business Mach Corp <Ibm> | 命令スレッドを処理するための方法およびシステム |
| US6502187B1 (en) | 1998-11-18 | 2002-12-31 | Nec Corporation | Pipeline computer dividing a variable-length data-handling instruction into fixed-length data-handling instructions |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05233283A (ja) * | 1992-02-19 | 1993-09-10 | Nec Corp | 並列命令実行方式 |
-
1992
- 1992-03-24 JP JP4065956A patent/JPH05265755A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05233283A (ja) * | 1992-02-19 | 1993-09-10 | Nec Corp | 並列命令実行方式 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08249195A (ja) * | 1995-02-03 | 1996-09-27 | Internatl Business Mach Corp <Ibm> | 命令スレッドを処理するための方法およびシステム |
| US6502187B1 (en) | 1998-11-18 | 2002-12-31 | Nec Corporation | Pipeline computer dividing a variable-length data-handling instruction into fixed-length data-handling instructions |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5923863A (en) | Software mechanism for accurately handling exceptions generated by instructions scheduled speculatively due to branch elimination | |
| US8499293B1 (en) | Symbolic renaming optimization of a trace | |
| JP2898820B2 (ja) | 自己並列化式のコンピュータ・システムおよび方法 | |
| JP2928695B2 (ja) | 静的インタリーブを用いたマルチスレッドマイクロプロセッサおよびそれを備えたシステムでの命令スレッド実行方法 | |
| EP0996057B1 (en) | Data processor with an instruction unit having a cache and a ROM | |
| CA2082408C (en) | System and method for preserving source instruction atomicity in translated program code | |
| US5974538A (en) | Method and apparatus for annotating operands in a computer system with source instruction identifiers | |
| US6289445B2 (en) | Circuit and method for initiating exception routines using implicit exception checking | |
| US5148528A (en) | Method and apparatus for simultaneously decoding three operands in a variable length instruction when one of the operands is also of variable length | |
| US5634023A (en) | Software mechanism for accurately handling exceptions generated by speculatively scheduled instructions | |
| JPH11296381A (ja) | 仮想マシン及びコンパイラ | |
| US5812809A (en) | Data processing system capable of execution of plural instructions in parallel | |
| JPH0773036A (ja) | 命令シーケンスを識別してタグを付加する方法 | |
| JP2507638B2 (ja) | デ―タ処理装置 | |
| EP0433864B1 (en) | Minimizing hardware pipeline breaks using software scheduling techniques during compilation | |
| US7849292B1 (en) | Flag optimization of a trace | |
| EP0378415A2 (en) | Multiple instruction dispatch mechanism | |
| US6189093B1 (en) | System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register | |
| US6871343B1 (en) | Central processing apparatus and a compile method | |
| US5461715A (en) | Data processor capable of execution of plural instructions in parallel | |
| US20020099922A1 (en) | Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline | |
| JP4502532B2 (ja) | データ処理装置 | |
| JP2838939B2 (ja) | 並列命令実行方式 | |
| JPH05265755A (ja) | 並列命令実行方式 | |
| US5745723A (en) | Data processing system capable of execution of plural instructions in parallel |