JPH0512007A - データ処理方式 - Google Patents
データ処理方式Info
- Publication number
- JPH0512007A JPH0512007A JP3183735A JP18373591A JPH0512007A JP H0512007 A JPH0512007 A JP H0512007A JP 3183735 A JP3183735 A JP 3183735A JP 18373591 A JP18373591 A JP 18373591A JP H0512007 A JPH0512007 A JP H0512007A
- Authority
- JP
- Japan
- Prior art keywords
- state
- data processing
- instruction
- arithmetic unit
- arithmetic
- 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
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】複数の演算器を効率的に使用することにより、
高速なデータ処理を可能とする。 【構成】データ処理装置の演算器部には、複数の演算
器、すなわち整数演算器10、浮動少数点加減算器1
2、浮動少数点乗除算器14、及び10進演算器16が
設けられ、各演算器にはそれぞれにおける演算結果の状
態を保持するための状態指示子10a,12a,14
a,16aが設けられる。状態指示子は、条件分岐命令
によって、条件判定に必要な一つが指定され、また状態
指示子のビット状態を判別するための判定条件が指定さ
れる。これにより、複数の演算器の同時動作(並行動
作)の可能性を高めることができ、データ処理の効率を
高めることができる。
高速なデータ処理を可能とする。 【構成】データ処理装置の演算器部には、複数の演算
器、すなわち整数演算器10、浮動少数点加減算器1
2、浮動少数点乗除算器14、及び10進演算器16が
設けられ、各演算器にはそれぞれにおける演算結果の状
態を保持するための状態指示子10a,12a,14
a,16aが設けられる。状態指示子は、条件分岐命令
によって、条件判定に必要な一つが指定され、また状態
指示子のビット状態を判別するための判定条件が指定さ
れる。これにより、複数の演算器の同時動作(並行動
作)の可能性を高めることができ、データ処理の効率を
高めることができる。
Description
【0001】
【産業上の利用分野】本発明は、複数の演算器(演算モ
ジュール)を有するデータ処理装置におけるデータ処理
方式に関する。
ジュール)を有するデータ処理装置におけるデータ処理
方式に関する。
【0002】
【従来の技術】従来、複数の演算器(整数演算器、浮動
少数点演算器、10進演算器等)を有するデータ処理装
置においては、演算結果の状態を示す状態指示子(コン
ディションコード)が1組あり、条件分岐命令にて、そ
の1組の状態指示子の状態を判別し、プログラムフロー
を変更する等の処理を行なっている。
少数点演算器、10進演算器等)を有するデータ処理装
置においては、演算結果の状態を示す状態指示子(コン
ディションコード)が1組あり、条件分岐命令にて、そ
の1組の状態指示子の状態を判別し、プログラムフロー
を変更する等の処理を行なっている。
【0003】従来のデータ処理装置では、ソフトウェア
命令(特に条件分岐命令)からは、常に1組の状態指示
子しか見えず、複数の演算器からの演算結果の状態をハ
ードウェアがその1つを選択し状態指示子としている。
命令(特に条件分岐命令)からは、常に1組の状態指示
子しか見えず、複数の演算器からの演算結果の状態をハ
ードウェアがその1つを選択し状態指示子としている。
【0004】また、ある演算器においては、専用レジス
タにその演算器の演算結果の状態を格納しておき、その
専用レジスタの内容を整数演算器内レジスタにロード
し、対応するビットを判定するソフトウェア命令を実行
し、その判定結果を条件分岐命令が判別できる状態指示
子にセットし(状態指示子設定命令の実行)、その後に
条件分岐命令を実行する処理を必要としている。
タにその演算器の演算結果の状態を格納しておき、その
専用レジスタの内容を整数演算器内レジスタにロード
し、対応するビットを判定するソフトウェア命令を実行
し、その判定結果を条件分岐命令が判別できる状態指示
子にセットし(状態指示子設定命令の実行)、その後に
条件分岐命令を実行する処理を必要としている。
【0005】このように、複数の演算器を有するデータ
処理装置では、条件分岐命令の直前に条件となる状態指
示子設定命令を必ず配置するか、状態指示子設定命令と
条件分岐命令の間に状態指示子を変更しない命令のみを
配置しなければならない。従って、この制限のために、
複数の演算器を同時動作させることができないことがあ
り、複数の演算器を有効に利用するのが難しかった。
処理装置では、条件分岐命令の直前に条件となる状態指
示子設定命令を必ず配置するか、状態指示子設定命令と
条件分岐命令の間に状態指示子を変更しない命令のみを
配置しなければならない。従って、この制限のために、
複数の演算器を同時動作させることができないことがあ
り、複数の演算器を有効に利用するのが難しかった。
【0006】ここで具体例をあげて説明する。図5に
は、浮動少数点演算ループのループカウント判定を整数
演算器で行なう場合のフローチャートを示している。な
お、図5に示すフローチャートの各ステップの処理内容
は次のように想定する。
は、浮動少数点演算ループのループカウント判定を整数
演算器で行なう場合のフローチャートを示している。な
お、図5に示すフローチャートの各ステップの処理内容
は次のように想定する。
【0007】1-aステップ:浮動少数点加減算器で2単
位時間。 1-bステップ:浮動少数点乗除算器で4単位時間。 1-xステップ:整数演算器で1単位時間。 1-zステップ:命令シーケンサ部で分岐成立時3単位時
間。
位時間。 1-bステップ:浮動少数点乗除算器で4単位時間。 1-xステップ:整数演算器で1単位時間。 1-zステップ:命令シーケンサ部で分岐成立時3単位時
間。
【0008】1-bステップは1-aステップが終了しなけ
れば演算できず、1-xステップは1-zステップでゼロ判
定するため、図5に示す命令シーケンスでなければ実行
できない。従って、処理ステップは、図6に示すような
タイミングで実行され、条件成立時のループで計10単
位時間必要とする。
れば演算できず、1-xステップは1-zステップでゼロ判
定するため、図5に示す命令シーケンスでなければ実行
できない。従って、処理ステップは、図6に示すような
タイミングで実行され、条件成立時のループで計10単
位時間必要とする。
【0009】図5に示す例では、浮動少数点演算器の動
作である1-a,1-bステップにおいて状態指示子が演算
結果によって更新されるため、1-xステップの処理は1-
a,1-bステップの後でなければ実行することができな
い。
作である1-a,1-bステップにおいて状態指示子が演算
結果によって更新されるため、1-xステップの処理は1-
a,1-bステップの後でなければ実行することができな
い。
【0010】
【発明が解決しようとする課題】このように従来のデー
タ処理装置では、条件分岐命令の直前に演算結果の状態
変化を知るために演算命令(ソフトウェア命令)を配置
するか、状態指示子設定命令と条件分岐命令の間に状態
指示子を変更しない命令のみを配置しなければならなか
った。このため、複数の演算器が同時に動作可能であっ
ても、図6に示すように各ステップ処理を並行して実行
させることが困難となっていた。また、このような制限
事項は、高級言語から機械語を生成するコンパイラ最適
化技術の範囲を狭くするものとなっていた。すなわち、
従来の方式では、データ処理速度の高速化が妨げられて
いた。
タ処理装置では、条件分岐命令の直前に演算結果の状態
変化を知るために演算命令(ソフトウェア命令)を配置
するか、状態指示子設定命令と条件分岐命令の間に状態
指示子を変更しない命令のみを配置しなければならなか
った。このため、複数の演算器が同時に動作可能であっ
ても、図6に示すように各ステップ処理を並行して実行
させることが困難となっていた。また、このような制限
事項は、高級言語から機械語を生成するコンパイラ最適
化技術の範囲を狭くするものとなっていた。すなわち、
従来の方式では、データ処理速度の高速化が妨げられて
いた。
【0011】本発明は前記のような点に鑑みてなされた
もので、複数の演算器を効率的に使用し、高速なデータ
処理を可能とするデータ処理方式を提供することを目的
とする。
もので、複数の演算器を効率的に使用し、高速なデータ
処理を可能とするデータ処理方式を提供することを目的
とする。
【0012】
【課題を解決するための手段】本発明は、演算結果の状
態を保持するための状態指示子が各々に設けられた複数
の演算器と、前記複数の演算器から1つの演算器を選択
し同演算器の状態指示子のビット状態を判別する条件を
指示するための命令によって、命令分岐を判定する判定
手段とを具備したものである。
態を保持するための状態指示子が各々に設けられた複数
の演算器と、前記複数の演算器から1つの演算器を選択
し同演算器の状態指示子のビット状態を判別する条件を
指示するための命令によって、命令分岐を判定する判定
手段とを具備したものである。
【0013】
【作用】このような方式によれば、複数の演算器のそれ
ぞれに状態指示子を設けているため、条件分岐命令によ
り各演算器毎に演算結果の状態を判定することができ
る。従って、条件分岐命令の直前に条件となる状態指示
子設定命令を配置するか、状態指示子設定命令と条件分
岐命令の間に状態指示子を変更しない命令のみを配置す
るという制限が除かれる。これにより、複数の演算器を
並行動作させ易くなり、複数の演算器の可動効率を高め
ることができる。
ぞれに状態指示子を設けているため、条件分岐命令によ
り各演算器毎に演算結果の状態を判定することができ
る。従って、条件分岐命令の直前に条件となる状態指示
子設定命令を配置するか、状態指示子設定命令と条件分
岐命令の間に状態指示子を変更しない命令のみを配置す
るという制限が除かれる。これにより、複数の演算器を
並行動作させ易くなり、複数の演算器の可動効率を高め
ることができる。
【0014】
【実施例】以下、図面を参照して本発明の一実施例を説
明する。図1は同実施例に係わるデータ処理装置の演算
器部の概略構成を示すブロック図である。図1に示す演
算器部には、複数の演算器、すなわち整数演算器10、
浮動少数点加減算器12、浮動少数点乗除算器14、及
び10進演算器16が設けられている。整数演算器10
は、演算実行結果の状態を示す状態指示子10aを保持
する。同様にして、浮動少数点加減算器12は状態指示
子12aを保持し、浮動少数点乗除算器14は状態指示
子14aを保持し、10進演算器16は状態指示子16
aを保持する。
明する。図1は同実施例に係わるデータ処理装置の演算
器部の概略構成を示すブロック図である。図1に示す演
算器部には、複数の演算器、すなわち整数演算器10、
浮動少数点加減算器12、浮動少数点乗除算器14、及
び10進演算器16が設けられている。整数演算器10
は、演算実行結果の状態を示す状態指示子10aを保持
する。同様にして、浮動少数点加減算器12は状態指示
子12aを保持し、浮動少数点乗除算器14は状態指示
子14aを保持し、10進演算器16は状態指示子16
aを保持する。
【0015】ここで状態指示子として、例えばキャリー
アウト(C)、符号(S)、ゼロ(Z)、オーバーフロ
ー(V)の4ビットを各々保持するものとする。各演算
器は、ソフトウェア命令による演算指定により演算動作
し、その結果を指定レジスタに格納し、その演算結果を
各自の状態指示子に反映するものとする。
アウト(C)、符号(S)、ゼロ(Z)、オーバーフロ
ー(V)の4ビットを各々保持するものとする。各演算
器は、ソフトウェア命令による演算指定により演算動作
し、その結果を指定レジスタに格納し、その演算結果を
各自の状態指示子に反映するものとする。
【0016】各演算器は、セレクタ18を介してシーケ
ンス制御部20に接続される。セレクタ18は、条件分
岐命令(同命令のフォーマットについては後述する)の
演算器選択フィールドbに示された演算器の状態指示子
を選択する。
ンス制御部20に接続される。セレクタ18は、条件分
岐命令(同命令のフォーマットについては後述する)の
演算器選択フィールドbに示された演算器の状態指示子
を選択する。
【0017】図2は条件分岐命令フォーマットの一例を
示している。図中「a」は条件分岐命令を識別するため
のフィールド(OPコード部)、「b」は状態指示子を
保有する複数の演算器から1つを指定するための演算器
選択フィールド、「c」は選択した演算器の状態指示子
のビット状態を判別するための判定条件を指定する判定
条件指定フィールド、「d」は条件分岐成立時の飛び先
アドレスを指定するためのフィールドである。
示している。図中「a」は条件分岐命令を識別するため
のフィールド(OPコード部)、「b」は状態指示子を
保有する複数の演算器から1つを指定するための演算器
選択フィールド、「c」は選択した演算器の状態指示子
のビット状態を判別するための判定条件を指定する判定
条件指定フィールド、「d」は条件分岐成立時の飛び先
アドレスを指定するためのフィールドである。
【0018】次に、同実施例の動作について説明する。
【0019】ここでは、図5に示すフローチャートの処
理を、同実施例におけるデータ処理装置で処理する場合
について説明する。図3には図5に対応する同実施例を
説明するためのフローチャートを示している。各ステッ
プの処理内容は前述した従来の技術におけるものと同じ
と想定するまず、1-aステップでは、浮動少数点加減算
器12で加算を行ない、その演算結果をレジスタFR0
に格納し、演算結果の状態を状態指示子12aに格納す
る。
理を、同実施例におけるデータ処理装置で処理する場合
について説明する。図3には図5に対応する同実施例を
説明するためのフローチャートを示している。各ステッ
プの処理内容は前述した従来の技術におけるものと同じ
と想定するまず、1-aステップでは、浮動少数点加減算
器12で加算を行ない、その演算結果をレジスタFR0
に格納し、演算結果の状態を状態指示子12aに格納す
る。
【0020】次に、1-xステップでは、整数演算器10
で減算を行ない、その演算結果をレジスタGR1に格納
し、演算結果の状態を状態指示子10aに格納する。
で減算を行ない、その演算結果をレジスタGR1に格納
し、演算結果の状態を状態指示子10aに格納する。
【0021】1-bステップでは、1-aステップでレジス
タFR0に格納された演算結果を用いて浮動少数点乗除
算器14で乗算を行ない、その演算結果をレジスタFR
0に格納し、演算結果の状態を状態指示子14aに格納
する。
タFR0に格納された演算結果を用いて浮動少数点乗除
算器14で乗算を行ない、その演算結果をレジスタFR
0に格納し、演算結果の状態を状態指示子14aに格納
する。
【0022】1-zステップでは、条件分岐命令について
の処理が行なわれる。ここでの条件分岐命令は、演算器
選択フィールドb(図2参照)で、整数演算器10の状
態指示子10aを指定している。セレクタ18は、整数
演算器10の状態指示子10aを選択し、シーケンス制
御部20に出力する。シーケンス制御部20は、状態指
示子10aの状態を、判定条件指定フィールドcで指定
されたビット判定条件で判断する。ここでは、GR1=
0を判定し、“0”でなければ1-aステップからの処理
を繰り返す。
の処理が行なわれる。ここでの条件分岐命令は、演算器
選択フィールドb(図2参照)で、整数演算器10の状
態指示子10aを指定している。セレクタ18は、整数
演算器10の状態指示子10aを選択し、シーケンス制
御部20に出力する。シーケンス制御部20は、状態指
示子10aの状態を、判定条件指定フィールドcで指定
されたビット判定条件で判断する。ここでは、GR1=
0を判定し、“0”でなければ1-aステップからの処理
を繰り返す。
【0023】図4にはデータ処理装置が、ソフトウェア
命令を1命令づつ順次解読し、その命令を実行可能な演
算器に投入するとした場合の、図3に示す命令シーケン
スに対応する処理の実行時間を示している。図4に示す
ように、1-aステップの命令を浮動少数点加減算器12
に投入後、この処理が終了する前に1-xステップの命令
を整数演算器10に投入している。そして、1-aステッ
プの処理が終了した後、1-bステップの命令を浮動少数
点加減算器12に投入し、この処理が終了する前に1-x
ステップの命令を整数演算器10に投入している。これ
により、処理ステップは、条件成立時のループで計6単
位時間に短縮することができる。
命令を1命令づつ順次解読し、その命令を実行可能な演
算器に投入するとした場合の、図3に示す命令シーケン
スに対応する処理の実行時間を示している。図4に示す
ように、1-aステップの命令を浮動少数点加減算器12
に投入後、この処理が終了する前に1-xステップの命令
を整数演算器10に投入している。そして、1-aステッ
プの処理が終了した後、1-bステップの命令を浮動少数
点加減算器12に投入し、この処理が終了する前に1-x
ステップの命令を整数演算器10に投入している。これ
により、処理ステップは、条件成立時のループで計6単
位時間に短縮することができる。
【0024】図5に示すように、1-zステップでの条件
分岐命令は、浮動少数点加減算器12における演算結果
に影響されない状態指示子10aを参照するので、整数
演算器10と浮動少数点加減算器12を並行に動作させ
ることができる。
分岐命令は、浮動少数点加減算器12における演算結果
に影響されない状態指示子10aを参照するので、整数
演算器10と浮動少数点加減算器12を並行に動作させ
ることができる。
【0025】このようにして、複数の演算器のそれぞれ
に演算指示子を設け、条件分岐命令によって必要な状態
指示子を指定してビット状態を判別することにより、従
来の方式における制限事項を除いて、複数の演算器の同
時動作(並行動作)の可能性を高めることができる。従
って、同時に処理されるステップが増加し、それだけデ
ータ処理を高速化することができる。また、高級言語か
ら機械語を生成するコンパイラ最適化技術の範囲を拡大
することで、データ処理の高速化が図れる。
に演算指示子を設け、条件分岐命令によって必要な状態
指示子を指定してビット状態を判別することにより、従
来の方式における制限事項を除いて、複数の演算器の同
時動作(並行動作)の可能性を高めることができる。従
って、同時に処理されるステップが増加し、それだけデ
ータ処理を高速化することができる。また、高級言語か
ら機械語を生成するコンパイラ最適化技術の範囲を拡大
することで、データ処理の高速化が図れる。
【0026】なお、前記実施例においては、ソフトウェ
ア命令を順次解読して所定の演算器に投入するものとし
て説明したが、ソフトウェア命令を複数命令同時に解読
し、実行可能な演算器に投入可能なデータ処理装置にも
適用することができる。
ア命令を順次解読して所定の演算器に投入するものとし
て説明したが、ソフトウェア命令を複数命令同時に解読
し、実行可能な演算器に投入可能なデータ処理装置にも
適用することができる。
【0027】
【発明の効果】以上のように本発明によれば、複数の演
算器のそれぞれに演算指示子を設け、条件分岐命令によ
って必要な状態指示子を指定してビット状態を判別する
ことにより、複数の演算器を効率的に使用することがで
きるので、高速なデータ処理が可能となるものである。
算器のそれぞれに演算指示子を設け、条件分岐命令によ
って必要な状態指示子を指定してビット状態を判別する
ことにより、複数の演算器を効率的に使用することがで
きるので、高速なデータ処理が可能となるものである。
【図1】本発明の同実施例に係わるデータ処理装置の概
略構成を示すブロック図。
略構成を示すブロック図。
【図2】同実施例における条件分岐命令フォーマットの
一例を示す図。
一例を示す図。
【図3】同実施例における処理の一例を示すフローチャ
ート。
ート。
【図4】同実施例における各処理ステップの実行のタイ
ミングを示す図。
ミングを示す図。
【図5】従来方式を説明するための処理の一例を示すフ
ローチャート。
ローチャート。
【図6】従来方式における各処理ステップの実行のタイ
ミングを示す図。
ミングを示す図。
10…整数演算器、12…浮動少数点加減算器、14…
浮動少数点乗除算器、16…10進演算器、10a,1
2a,14a,16a…状態指示子、18…セレクタ、
20…シーケンス制御部。
浮動少数点乗除算器、16…10進演算器、10a,1
2a,14a,16a…状態指示子、18…セレクタ、
20…シーケンス制御部。
Claims (1)
- 【特許請求の範囲】 【請求項1】 演算結果の状態を保持するための状態指
示子が各々に設けられた複数の演算器と、 前記複数の演算器から1つの演算器を選択して同演算器
の状態指示子のビット状態を判別する条件を指示するた
めの命令によって、命令分岐を判定する判定手段と、 を具備したことを特徴とするデータ処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3183735A JPH0512007A (ja) | 1991-06-28 | 1991-06-28 | データ処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3183735A JPH0512007A (ja) | 1991-06-28 | 1991-06-28 | データ処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0512007A true JPH0512007A (ja) | 1993-01-22 |
Family
ID=16141059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3183735A Pending JPH0512007A (ja) | 1991-06-28 | 1991-06-28 | データ処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0512007A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7524148B2 (en) | 2004-01-14 | 2009-04-28 | Sumitomo Electric Hardmetal Corp. | Indexable insert |
-
1991
- 1991-06-28 JP JP3183735A patent/JPH0512007A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7524148B2 (en) | 2004-01-14 | 2009-04-28 | Sumitomo Electric Hardmetal Corp. | Indexable insert |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS633337B2 (ja) | ||
JPH11282679A (ja) | 演算処理装置 | |
JPH0792739B2 (ja) | 浮動小数点データ正規化方式 | |
EP0094535B1 (en) | Pipe-line data processing system | |
EP0093430A2 (en) | Pipeline data processing system | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
KR100316710B1 (ko) | 병렬 프로세서를 위한 무순서 명령어 발행 방법 및 장치 | |
US6119221A (en) | Instruction prefetching apparatus and instruction prefetching method for processing in a processor | |
JPH03286332A (ja) | デジタルデータ処理装置 | |
US11481223B2 (en) | Reducing operations of sum-of-multiply-accumulate (SOMAC) instructions | |
JP2518293B2 (ja) | デ−タフロ−プロセツサ | |
US5390306A (en) | Pipeline processing system and microprocessor using the system | |
US20020078333A1 (en) | Resource efficient hardware loops | |
JPH0512007A (ja) | データ処理方式 | |
US7062633B1 (en) | Conditional vector arithmetic method and conditional vector arithmetic unit | |
JPH0869448A (ja) | データ駆動型情報処理装置 | |
JPH1196001A (ja) | プログラム実行装置及びプログラム変換方法 | |
JPH09223009A (ja) | データ処理装置と方法 | |
JP3708560B2 (ja) | データフロー型情報処理装置 | |
JP2869376B2 (ja) | データ依存関係を持つ複数のデータ処理を実行するパイプラインデータ処理方法 | |
JPH06332698A (ja) | 情報処理装置 | |
JPH0378832A (ja) | デ―タ処理装置 | |
JPH02148140A (ja) | 情報処理装置における条件分岐制御方式 | |
JPH0553759A (ja) | 固定小数点演算ユニツト | |
JPH01195532A (ja) | マイクロプロセッサー |