JPH1153189A - 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体 - Google Patents

演算装置、演算方法及びコンピュータ読み取り可能な記録媒体

Info

Publication number
JPH1153189A
JPH1153189A JP9206667A JP20666797A JPH1153189A JP H1153189 A JPH1153189 A JP H1153189A JP 9206667 A JP9206667 A JP 9206667A JP 20666797 A JP20666797 A JP 20666797A JP H1153189 A JPH1153189 A JP H1153189A
Authority
JP
Japan
Prior art keywords
data
status
flag
processing
state
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
JP9206667A
Other languages
English (en)
Inventor
Ken Ito
謙 伊藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9206667A priority Critical patent/JPH1153189A/ja
Publication of JPH1153189A publication Critical patent/JPH1153189A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】条件分岐を行うことなく条件判断処理を行うこ
とにより、パイプライン処理及びSMID方式等による
高速化を図る。 【解決手段】演算器1はデータ供給部2からのデータに
対して所定の演算を施す。演算結果を示す状態フラグは
状態フラグ演算部3に与える。状態フラグ演算部3は状
態フラグを状態データに変換して演算器1に与える。こ
れにより、状態フラグを演算器1の演算に反映させるこ
とができ、条件判断処理を条件分岐することなく実行可
能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、条件判断を伴う演
算を実行するものに好適な演算装置、演算方法及びコン
ピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】従来、演算装置においては、処理を高速
化するために、パイプライン制御による命令の実行を採
用することがある。パイプライン処理については、「マ
イクロコンピューターのハードウェア」等の一般的な書
籍にも記述されている。コンピュータでは、高速な演算
速度を得るためにクロック周波数を増加させること等も
行われているが、パイプライン処理は並列化処理によっ
て高速化を達成する方法である。
【0003】パイプライン処理においては、プロセッサ
の動作を複数の処理ステップに分割し、各処理ステップ
が相互に独立して動作するように構成する。例えば、プ
ロセッサの処理を4つの処理ステップ、例えば、命令を
取り込む取り込み処理、取り込んだ命令を解釈する命令
デコード処理、解釈した命令に従って演算を実行する演
算実行処理及び実行した演算の結果を格納する格納処理
の4つの処理ステップに分割し、これらの4つの処理ス
テップを同時に実行させるのである。
【0004】つまり、所定の命令についての命令デコー
ド処理と同時に、次の命令の取り込み処理を実行する。
従って、第1番目の命令についての格納処理の実行時に
は、第4番目の命令についての取り込み処理が行われ
る。即ち、1命令についてみると4ステップの処理が必
要であるが、一連の命令は1ステップ毎に格納処理され
ることになり、実質的には1命令が1ステップで実行さ
れることになる。このように、パイプライン処理を実行
することによって、実質上処理能力を向上させることが
できる。
【0005】また、処理の高速化のために、SIMD
(Single Instruction Multiple Datastream)方式を採
用することもある。SIMD方式においては、複数の演
算器を用い、これらの演算器に共通の命令を与えること
で、同一処理の複数の演算を同時に行うことができる。
例えば、画像データの水平1ラインの720画素分の演
算器を用いることにより、水平1ラインの全画素データ
に対して同一命令による演算処理を同時に行うことがで
きる。なお、この場合には、各演算器の演算結果は画素
値に応じて異なる。
【0006】更に、SIMDにおける各演算器をパイプ
ライン制御によって駆動することもある。
【0007】しかしながら、パイプライン処理は演算し
た結果に従って次に演算する命令を決定する条件分岐処
理等の処理に有効ではなく、また、SIMD方式におい
ては、条件分岐処理を採用することはできないという問
題があった。
【0008】例えば、入力されたデータの値に応じて、
入力データをグループ分けする処理にパイプライン処理
を用いるものとする。グループ分け処理では、各グルー
プに対応した出力を出力するための命令が複数の番地に
格納されており、入力されたデータと基準値との値の大
小比較の比較結果に応じて、対応する番地にジャンプし
て、グループを示す出力を出力するようになっている。
【0009】すなわち、2つのデータをA,Bとする
と、A−Bの演算結果の符号を示すサインフラグを検出
し、サインフラグが正ならば例えばAを選択する命令が
格納されている番地ヘジャンプし、逆にサインフラグが
負ならばBを選択する命令が格納されている番地へジャ
ンプする。
【0010】このように、演算した結果に従って次に演
算する命令が変化する条件分岐処理の場合には、前もっ
て取り込んでおいた命令が必ずしも次に実行されるとは
限らない。ジャンプ処理によって命令の実行順が変化
し、パイプライン処理が無効となってしまう。例えば、
プロセッサの処理が4つの処理ステップに分割されてい
る場合には、1命令の実行に4ステップ必要となり、処
理能力が低下してしまう。
【0011】また、SIMD方式では、複数の演算器の
演算結果は異なるので、条件分岐処理を行おうとして
も、次に実行すべき共通な命令を特定することができな
い。
【0012】
【発明が解決しようとする課題】このように、従来、処
理を高速化するためのパイプライン処理及びSIMD方
式等においては、条件判断に伴う処理を有する処理には
適していないという問題点があった。
【0013】本発明は、条件判断に伴う処理を有する処
理であってもパイプライン処理及びSIMD方式等を採
用して処理を高速化することができる演算装置、演算方
法及びコンピュータ読み取り可能な記録媒体を提供する
ことを目的とする。
【0014】
【課題を解決するための手段】本発明の請求項1に係る
演算装置は、入力されたデータに対して所定の処理を行
うと共に、前記所定の処理の結果に対応した状態フラグ
を出力する演算手段と、前記状態フラグを状態データに
変換して前記演算手段に与えて前記演算手段の処理に反
映させる状態フラグ演算手段とを具備したものであり、
本発明の請求項3に係る演算装置は、入力されたデータ
に対して所定の処理を行うと共に、前記所定の処理の結
果に対応した状態フラグを夫々出力する複数の演算手段
と、前記状態フラグを状態データに変換して前記複数の
演算手段のうちの少なくとも1つの演算手段に与えて前
記複数の演算手段の処理に反映させる状態フラグ演算手
段とを具備したものであり、本発明の請求項8に係る演
算装置は、入力データの値と1つ以上の設定データの値
とを比較する1つ以上の比較手段と、前記1つ以上の比
較手段の比較結果を示す1つ以上の状態フラグを状態デ
ータに変換する状態フラグ演算手段と、前記状態データ
を累積加算することにより前記入力データをグループ分
けした値を得る加算手段とを具備したものであり、本発
明の請求項10に係る演算方法は、入力されたデータに
対して所定の処理を行うと共に、前記所定の処理の結果
に対応した状態フラグを出力する手順と、前記状態フラ
グを状態データに変換して処理に反映させる状態フラグ
演算手順とを具備したものであり、本発明の請求項11
に係るコンピュータ読み取り可能な記録媒体は、入力デ
ータに対して所定の処理を施す処理と、前記所定の処理
の結果に対応した状態フラグを得る処理と、前記状態フ
ラグが加工されて得られた状態データを演算する処理と
を実行させるためのプログラムを記録したものである。
【0015】本発明の請求項1において、演算手段によ
って、入力データに所定の処理を施す。演算手段は処理
の結果に対応した状態フラグを出力する。状態フラグ演
算手段は、状態フラグを状態データに変換して演算手段
に与える。これにより、演算手段の処理に状態データが
用いられて、状態フラグの状態が処理に反映する。
【0016】本発明の請求項3においては、複数の演算
手段によって入力データに処理を施す。状態フラグ演算
手段は、複数の状態フラグに基づく状態データを作成
し、状態データを少なくとも1つの演算手段に与えるこ
とによって、状態フラグを処理に反映させる。
【0017】本発明の請求項8において、比較手段の比
較結果を示す状態フラグを状態フラグ演算手段が状態デ
ータに変換する。状態データは比較結果に基づくもので
あり、状態データを累積加算することによって入力デー
タと設定データとの値の大きさの関係を把握することが
できる。
【0018】本発明の請求項10において、入力された
データに対して所定の処理を行うと共に、前記所定の処
理の結果に対応した状態フラグを得る。状態フラグは状
態データに変換して処理に用いる。これにより、状態フ
ラグが処理に反映する。
【0019】本発明の請求項11においては、入力デー
タに対する処理の処理結果に対応して状態フラグを得
る。この状態フラグに対応した状態データを演算手段に
与えて処理に反映させる。これにより、条件判断処理を
条件分岐を行うことなく実行する。
【0020】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について詳細に説明する。図1は本発明に係る
演算装置の一実施の形態を示すブロック図である。
【0021】演算器1は入力されたデータに対して所定
のプログラムに従った演算を行って、演算結果をデータ
供給部2に出力するようになっている。データ供給部2
は、演算に用いるデータを演算器1に出力する。データ
供給部2は、例えば、図示しない入力端子からの所定の
入力データ、演算器1からのデータ及び図示しないメモ
リに格納されたデータ等を演算器1に出力することがで
きるようになっている。
【0022】本実施の形態においては、演算器1は、状
態フラグを状態フラグ演算部3に出力するようになって
いる。状態フラグとしては、例えば、演算結果の符号を
示すサインフラグ及び結果が零であることを示すゼロフ
ラグ等がある。状態フラグ演算部3は、状態フラグを演
算器1において処理可能なデータ(以下、状態データと
いう)に加工して演算器1及びデータ供給部2に供給す
ることができるようになっている。データ供給部2は、
状態フラグ演算部3からの状態データを演算器1に出力
することもできるようになっている。
【0023】次に、このように構成された実施の形態の
動作について説明する。
【0024】データ供給部2は、演算に用いるデータを
演算器1に供給する。演算器1は入力されたデータに対
して所定のプログラムに従って演算を行い、演算結果を
データ供給部2に出力する。また、演算器1は状態フラ
グを状態フラグ演算部3に出力する。
【0025】状態フラグ演算部3は、状態フラグを演算
器1によるデータ処理に利用可能な形態に変換し、状態
データとして演算器1及びデータ供給部2に供給する。
【0026】これにより、状態フラグの値を演算器1で
処理するデータに反映させることができる。従って、状
態フラグに応じて命令を分岐させるプログラムでなく、
状態フラグを状態データとして利用したプログラムを用
いることが可能となる。即ち、このプログラムは、状態
データを用いることにより、条件分岐と同様の処理を条
件分岐することなく命令を予め定められた順序で順次実
行することにより達成することができる。
【0027】例えば、2つのデータa,bのうち値が大
きい方のデータを出力するという比較出力処理を実現す
るものとする。この場合には、演算器1にはデータ供給
部2からデータa,bを供給する。演算器1は比較処理
ステップにおいて2つのデータa,bの値の大小を比較
する。演算器1は比較結果を示す状態フラグのうち符号
を示すサインフラグを状態フラグとして状態フラグ演算
部3に出力する。
【0028】状態フラグ演算部3はサインフラグを状態
データに加工し、演算器1に与える。いま、状態フラグ
演算部3によって加工された状態データをcとする。な
お、状態データcは、a≧bのとき“0”、a<bのと
き“1”であるものとする。状態データcとデータa,
bとを用いた演算によって、データa,bのうち値が大
きい方のデータを得るのである。
【0029】例えば、演算器1は、条件判断処理ステッ
プにおいて、a+c×(b−a)の演算を実行すればよ
い。a≧bの場合には、cが“0”であるので、この演
算結果はAとなる。また、a<bの場合には、cは
“1”であるので、この演算結果はbとなる。最後の出
力ステップにおいて、条件判断処理ステップの演算結果
を出力する。
【0030】こうして、条件分岐処理を行うことなく一
定の命令実行順序で命令を実行することにより、条件判
断を有する処理が可能である。
【0031】なお、条件判断処理ステップの演算として
は種々の演算が考えられ、例えば、上記a+c×(b−
a)の演算に代えて、a≧bのとき 全ビットを
“0”、a<bのとき 全ビットを“1”とすれば、
(c アンド b)オア(ノット c)アンド a
の演算を行っても同一の結果を得ることができる。
【0032】ところで、図1の実施の形態は2つのデー
タの比較出力処理だけでなく、種々の処理に適用するこ
とができる。適用する処理に応じて使用すべき状態フラ
グの種類も変化し、状態フラグ演算部3は、状態フラグ
の加工方法を適宜変更する必要がある。
【0033】図2及び図3は図1中の状態フラグ演算部
3の加工方法の例を説明するための説明図である。
【0034】求める条件判断の内容に応じて使用すべき
状態フラグの種類も変化するので、状態フラグ演算部3
は、入力された状態フラグのうちのいずれのフラグを加
工してデータに変換するかを選択することができるよう
になっている。
【0035】例えば、図2に示すように、状態フラグ演
算部3に状態フラグとしてフラグA乃至Fが入力される
ものとする。状態フラグ演算部3はこれらのフラグA乃
至Fのうちの任意のフラグを抽出することができる。更
に、状態フラグ演算部3は、抽出したフラグを所定のビ
ット位置に配置すること、抽出した複数のビットの並べ
替えを行うこと等が可能である。
【0036】図2では、状態フラグ演算部3が抽出した
フラグA,D,Fを配列した状態データ1、フラグAを
配列した状態データ2及びフラグBを配列した状態デー
タ3を出力する例を示している。
【0037】また、状態フラグ演算部3は、図3に示す
ように、抽出したビット同士を加算して状態データを作
成することもあり、抽出したビットを全てのビットにコ
ピーすることによって状態フラグを作成すること等、抽
出したビットに対して所定の演算を実施することも可能
である。
【0038】図3の例では、状態フラグ演算部3は、フ
ラグA,Bの値を加算した状態データ1及びフラグBの
値を全ビットに配置した状態データ2を出力する例を示
している。
【0039】更に、状態フラグ演算部3は、状態フラグ
から抽出するビットの指定、抽出したビットに対する演
算についてプログラマブルに変更可能であり、これによ
り、幅広い判断処理に対応することができるようになっ
ている。
【0040】このように、本実施の形態においては、状
態フラグを演算器において処理するデータに反映させる
ことにより、条件分岐処理を行うことなく条件判断を有
する処理を実現するプログラムを実行することができ
る。これにより、パイプライン処理及びSIMD方式を
有効に利用することができる。特に、位置検出等のよう
に、レベルの大小を検出して条件判断を行う処理に容易
に適用可能である。
【0041】図4は本発明の他の実施の形態を示すブロ
ック図である。本実施の形態は2つの演算器を備えたも
のに適用した例である。
【0042】演算器11,12にはデータ供給部13及び状態
フラグ演算部14の出力を供給する。データ供給部13は、
演算器11,12が処理するデータを供給する。演算器11,
12は入力されたデータに対して所定の演算を施してデー
タ供給部13に出力するようになっている。演算器11は状
態フラグを状態フラグ演算部14に出力するようになって
いる。
【0043】状態フラグ演算部14は、演算器11,12から
の状態フラグを独立に加工して状態データを作成するこ
とができ、作成した状態データをデータ供給部13及び演
算器11,12に供給することができるようになっている。
なお、状態フラグ演算部14は、複数の状態フラグを扱う
ことができる点を除くと、状態フラグ演算部3と同様の
構成である。
【0044】図5及び図6は状態フラグ演算部14を説明
するための説明図である。図5及び図6は状態フラグ演
算部14による状態フラグの加工法の例を示している。
【0045】状態フラグ演算部14は、複数の演算器から
の状態フラグ中の任意のフラグを抽出することができ、
抽出したフラグに対して、ビット位置の設定、変更及び
並び替えが可能であり、更に、抽出したビットを用いた
加算等の演算並びに論理積演算、論理和演算及び排他的
論理和演算等の論理演算が可能であり、また、抽出した
ビットを全てのビットにコピーすること等の所定の演算
を実施することができる。
【0046】図5は加算処理を示している。図5に示す
ように、状態フラグ演算部14は、2つの演算器からの状
態フラグ1,2からフラグA,Gを抽出し、抽出したフ
ラグA,Gの値を加算して状態データとして出力するこ
とができる。
【0047】また、図6は論理演算処理を示している。
図6に示すように、状態フラグ演算部14は、2つの演算
器からの状態フラグ1,2からフラグB,Hを抽出し、
抽出したフラグB,Hの値に対する論理積演算によって
状態データを作成する。
【0048】また、状態フラグ演算部14は、状態フラグ
から抽出するビットの指定及び抽出したビットに対する
演算についてプログラマブルに変更することができるよ
うになっている。これにより、幅広い判断処理に対応す
ることができる。
【0049】次に、このように構成された実施の形態の
動作について説明する。
【0050】演算器11,12は、データ供給部13からデー
タが与えられて、所定の演算を行う。演算器11,12は演
算結果をデータ供給部13に供給する。また、演算器11か
らの状態フラグは状態フラグ演算部14に与える。状態フ
ラグ演算部14は演算器11,12からの状態フラグを状態デ
ータに変換して演算器11,12及びデータ供給部13に出力
する。
【0051】いま、入力データと所定の設定値のデータ
REFとを比較し、設定値よりも大きい値の入力データ
の数を求める処理を行うものとする。演算器11,12には
いずれも設定値のデータREFが供給される。データ供
給部13は異なる入力データを演算器11,12に与える。演
算器11,12は夫々入力されたデータと設定値データRE
Fとの比較を行って、比較結果を示す状態フラグのうち
サインフラグを状態フラグ演算部14に出力する。
【0052】状態フラグ演算部14はサインフラグを状態
データに変換して演算器11,12に出力する。演算器11,
12は、状態フラグ演算部14からの状態データの値を累算
することによって、データREFよりも大きい値の入力
データの個数を求める。設定値データよりも大きい値の
データ数を求める演算は、映像信号処理では頻繁に発生
する処理である。
【0053】このように、本実施の形態においては、複
数の演算器を用いた場合でも条件判断処理を含む処理が
条件分岐を伴うことなく可能である。従って、複数の演
算器に対して同一命令を与えて複数のデータを処理する
SIMD方式の演算装置に本実施の形態を適用すること
ができ、SIMD方式を採用した場合でも、条件判断処
理を含むプログラムに基づいて処理を実現させることが
できる。
【0054】ところで、上記各実施の形態においては、
状態フラグ演算部は状態フラグのいずれのビットからフ
ラグを抽出するかを決定することができる。例えば、状
態フラグ演算部は、抽出するビット位置を指定するため
にレジスタを用いることが考えられる。
【0055】図7はこの場合の例を説明するための説明
図である。
【0056】状態フラグ演算部21は状態フラグ演算部
3,14と同様の構成である。状態フラグ用のレジスタ22
は、抽出するビット位置を示すデータを保持している。
例えば、レジスタ22は、抽出するビットを“1”によっ
て示しており、図7では先頭から2番目、5番目及び6
番目のビット位置のフラグを抽出することを示してい
る。
【0057】状態フラグ演算部21は、レジスタ22からの
データを読出し、このデータに基づいて状態フラグの
2,5,6番目のビットのフラグを抽出する。図7の例
では、フラグB,E,Fが抽出される。状態フラグ演算
部21は、例えば、抽出したフラグを元のフラグの配置状
態で状態データとして出力する。
【0058】なお、レジスタ22では抽出するビットを示
す値として“1”を用いたが、“0”を用いてもよいこ
とは明らかである。また、レジスタ22に設定する値をプ
ログラマブルに変更して、状態フラグから抽出するビッ
トを処理に応じて自由に設定することにより、幅広い判
断処理に対応することができる。
【0059】更に、状態フラグ演算部からの状態データ
を次のフラグを抽出するための情報として用いることも
考えられる。
【0060】図8はこの例を説明するための説明図であ
る。なお、図8において、状態フラグ演算部21,21′は
同一物であり、状態フラグ演算部21′は状態フラグ演算
部21よりも時間的に前の処理を行うことを示している。
【0061】状態フラグ演算部21′は所定のタイミング
の状態フラグ1が入力され、この状態フラグのうちフラ
グA,B,Cを抽出してデータに変換する。状態フラグ
演算部21′は、状態データA,B,Cを図8に示すよう
に、データ“0”,“A”,“C”,“0”,“B”,
“0”の順に並べ換える。なお、例えば、状態データ
A,B,Cの値は、夫々“1”,“0”,“1”である
ものとする。
【0062】この状態データはレジスタ22に設定され
る。次に、状態フラグ演算部21に状態フラグが入力され
ると、状態フラグ演算部21は、レジスタ22に設定された
情報に基づいてフラグを抽出する。レジスタ22に設定さ
れた“1”が抽出するビット位置を示すものであるもの
とすると、図8の例では、フラグB,Eが抽出される。
状態フラグ演算部21は、抽出したフラグB,Eを含む状
態データを出力する。
【0063】このように、図8の例では、状態フラグの
値を任意のビット位置にシフトして状態データを作成
し、この状態データを次のフラグ抽出のためのビット位
置情報にする。更に、状態フラグから抽出するビットの
指定をプログラマブルに変更可能とすることにより、幅
広い判断処理に対応することができる。
【0064】なお、状態フラグ演算部21,21′は同一物
であるとして説明したが、状態フラグ演算部21,21′が
異なるものであってもよい。
【0065】ところで、図2の実施の形態においては、
状態フラグ演算部14は、演算器11,12からの各状態フラ
グに夫々対応した状態データを作成して、演算器11から
の状態フラグに基づく状態データをデータ供給部13及び
演算器11に与え、演算器12からの状態フラグに基づく状
態データをデータ供給部13及び演算器12に与えるように
してもよい。また、状態フラグ演算部14は、演算器11,
12からの2つの状態フラグに応じた1つの状態データを
作成してもよい。
【0066】例えば、いま、2つの演算器11,12を用い
て比較処理を行うものとする。データ供給部13から演算
器11に供給されるデータをデータa,bとし、データ供
給部13から演算器12に供給されるデータをデータc,d
とする。演算器11はデータa,bを比較し、比較結果を
状態フラグとして状態フラグ演算部14に出力する。同様
に、演算器12はデータc,dを比較し、比較結果を状態
フラグとして状態フラグ演算部14に出力する。
【0067】状態フラグ演算部14は、例えば状態フラグ
のうちサインフラグを表すビットを抽出するように設定
されている。状態フラグ演算部14は、抽出したサインフ
ラグを状態データに加工する。例えば、状態フラグ演算
部14に入力される状態フラグは、a>bの場合、c>d
の場合にはいずれも“1”で、a<bの場合、c<dの
場合にはいずれも“0”であるものとする。この場合に
は、状態フラグ演算部14は、抽出したフラグの加算を行
う。即ち、a>b且つc>dの場合には、状態フラグ演
算器14は“2”を示す状態データを出力し、a>b且つ
c<d又はa<b且つc>dの場合には“1”を示す状
態データを出力し、a<b且つc<dの場合には“0”
を示す状態データを出力する。
【0068】このように、この場合には、比較処理の結
果に基づくサインフラグをビットを抽出して、加算する
ことにより状態データを作成している。1つの状態デー
タによって複数の比較処理結果を把握することが可能と
なる。
【0069】図9は本発明の他の実施の形態を示すフロ
ーチャートである。本実施の形態は2つの演算器を用
い、比較結果のサインフラグの加算による状態データを
利用したプログラムによって、入力データのグループ分
け処理を実現したものである。例えば、JPEG(Join
t Photographic Expert Group )等でこのようなグルー
プ分け処理が用いられている。
【0070】グループ分け処理は、各データ値に対応す
るグループ番号を求めるものである。例えば、下記表1
は入力されるデータとグループとの対応を示している。
表1の例では、入力データのデータ値が122(“00
0001111010”)である場合には、グループ番
号7を出力として得るようになっている。
【0071】従来例においては、このようなグループ分
け処理を行う場合には、先ず、入力したデータの絶対値
と所定のグループ番号に対応した定数とを比較する。そ
して、比較結果に応じて、次のグループ番号に対応した
定数との比較を行うか又は比較動作を終了するかを選択
する条件分岐処理を行う必要がある。
【0072】これに対し、本実施の形態においては、入
力データの絶対値と設定データの値との比較を全ての場
合について行うようになっている。
【0073】 本実施の形態は図4の装置によって実現可能である。
【0074】図9のステップS1 では、データ供給部13
から同一の入力データを演算器11,12に供給する。入力
データのビット数は12ビットであるものとする。次の
ステップS2 では演算器11,12において、夫々1回目の
設定データの取込みを行う。下記表2は演算器11,12に
設定する設定データを示している。
【0075】 この表2に示すように、演算器11には1回目に“000
000000001”を設定し、演算器12には“000
000000010”を設定する。次にステップS3 に
おいて比較処理を行う。
【0076】いま、演算器11,12に入力された入力デー
タが122(“000001111010”)であるも
のとする。演算器11,12は入力データの値と設定データ
の値とを比較する。比較結果のサインフラグは入力デー
タの値の方が設定データの値よりも大きい場合には
“1”となり、小さい場合には“0”となるようになっ
ている。
【0077】演算器11,12の1回目の比較処理では、入
力データの値の方が設定データの値よりも大きく、サイ
ンフラグをいずれも“1”である。演算器11,12の状態
フラグは状態フラグ演算部14に与える(ステップS4
)。次のステップS5 において、状態フラグ演算部14
は状態フラグのうちサインフラグを抽出する。この場合
のサインフラグはいずれも“1”である。状態フラグ演
算部14はステップS6 において抽出したサインフラグを
データに変更し、加算して状態データを作成する。この
場合には、状態データの値は“2”となる。
【0078】状態データは演算器11,12のいずれか一方
に供給する。演算器11,12は第1回目の比較処理におけ
る状態データの値を記憶する。
【0079】次のステップS8 では2回目の設定データ
を取込む。ステップS8 乃至ステップS13は夫々ステッ
プS2 乃至ステップS7 と同一処理である。即ち、ステ
ップS9 では入力データ(“00000111101
0”)と2回目の設定データとの比較を演算器11,12に
おいて行う。この場合には、ステップS12で得た2つの
データはいずれも“1”である。ステップS13では状態
フラグ演算部14からの状態データ(“2”)と既に格納
されているデータ“2”とを加算して保持する。即ち、
2回目の設定による状態データの加算結果は“4”とな
る。
【0080】以後同様にして、上記表2に示す6回目ま
での設定データを順次設定し、各設定毎に状態データの
加算値を求める。入力データは“0000011110
10”であり、この値は、第4回目に演算器11に設定さ
れる“000001000000”よりも大きく、演算
器12に設定される“000010000000”よりも
小さい。従って、第4回目において状態フラグ演算部14
が出力する状態データは“1”であり、以後5回目及び
6回目において状態フラグ演算部14から出力される状態
データは“0”である。
【0081】従って、ステップS37における状態データ
の加算結果は2+2+2+1=“7”となる。この値が
次のステップS38においてグループ番号を示す値として
出力される。
【0082】このように、本実施の形態においては、条
件分岐処理を行うことなく、グループ分け処理が可能で
ある。また、同時に複数の演算器を用いることができ、
処理時間を短縮することができる。例えば、本実施の形
態においては2つの演算器を用いて演算を行ったが、3
つの演算器を用いた場合には、12ビットの入力データ
の比較を行うために4回の比較演算を行えばよい。更
に、12個の演算器を用いた場合には、1回の比較処理
でグループ分けが可能である。これらの場合において
も、各演算器からのサインフラグの加算処理によって作
成した状態データによってグループ分けが示される。
【0083】また、上記各実施の形態においては、状態
フラグ演算部におけるビット抽出及び演算内容等をプロ
グラマブルとし、この処理内容の指定をアセンブラ言語
1命令にて指定するようにしてもよい。一度指定すれ
ば、次に指定し直すまで,指定した命令に従って実行す
るようにしても良く、また、毎回指定するように命令を
与えるようにしてもよい。更に、VLIW(Very Long
Instruction Word)を用いた命令の場合には、条件フラ
グ演算部への命令フィールドを与える命令体系を持たせ
ることも可能である。
【0084】
【発明の効果】以上説明したように本発明によれば、条
件判断に伴う処理を有する処理であってもパイプライン
処理及びSIMD方式等を採用して処理を高速化するこ
とができるという効果を有する。
【図面の簡単な説明】
【図1】本発明に係る演算装置の一実施の形態を示すブ
ロック図。
【図2】図1中の状態フラグ演算部3を説明するための
説明図。
【図3】図1中の状態フラグ演算部3を説明するための
説明図。
【図4】本発明の他の実施の形態を示すブロック図。
【図5】図4中の状態フラグ演算部14を説明するための
説明図。
【図6】図4中の状態フラグ演算部14を説明するための
説明図。
【図7】状態フラグを説明するための説明図。
【図8】状態フラグを説明するための説明図。
【図9】本発明の他の実施の形態を示すフローチャー
ト。
【符号の説明】
1…演算器、2…データ供給部、3…状態フラグ演算部

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 入力されたデータに対して所定の処理を
    行うと共に、前記所定の処理の結果に対応した状態フラ
    グを出力する演算手段と、 前記状態フラグを状態データに変換して前記演算手段に
    与えて前記演算手段の処理に反映させる状態フラグ演算
    手段とを具備したことを特徴とする演算装置。
  2. 【請求項2】 前記状態フラグ演算手段は、前記状態フ
    ラグのうちの所定のビットを抽出し抽出したビットに対
    する所定の演算によって前記状態データを得ることを特
    徴とする請求項1に記載の演算装置。
  3. 【請求項3】 入力されたデータに対して所定の処理を
    行うと共に、前記所定の処理の結果に対応した状態フラ
    グを夫々出力する複数の演算手段と、 前記状態フラグを状態データに変換して前記複数の演算
    手段のうちの少なくとも1つの演算手段に与えて前記複
    数の演算手段の処理に反映させる状態フラグ演算手段と
    を具備したことを特徴とする演算装置。
  4. 【請求項4】 前記状態フラグ演算手段は、前記状態フ
    ラグのうちの所定のビットを抽出し抽出したビットに対
    する所定の演算によって前記状態データを得ることを特
    徴とする請求項3に記載の演算装置。
  5. 【請求項5】 前記状態フラグ演算手段は、前記状態フ
    ラグのうちの所定のビットを抽出する方法及び前記抽出
    したビットに対する所定の演算がプログラマブルである
    ことを特徴とする請求項2又は4のいずれか一方に記載
    の演算装置。
  6. 【請求項6】 前記状態フラグ演算手段は、前記状態フ
    ラグのうちの所定のビットを抽出する方法をレジスタに
    保持した情報によって得ることを特徴とする請求項2又
    は4のいずれか一方に記載の演算装置。
  7. 【請求項7】 前記状態フラグ演算手段は、前記状態フ
    ラグのうち抽出するビットを前回の演算による状態デー
    タに基づいて決定することを特徴とする請求項2又は4
    のいずれか一方に記載の演算装置。
  8. 【請求項8】 入力データの値と1つ以上の設定データ
    の値とを比較する1つ以上の比較手段と、 前記1つ以上の比較手段の比較結果を示す1つ以上の状
    態フラグを状態データに変換する状態フラグ演算手段
    と、 前記状態データを累積加算することにより前記入力デー
    タをグループ分けした値を得る加算手段とを具備したこ
    とを特徴とする演算装置。
  9. 【請求項9】 前記状態フラグ演算手段は、アセンブラ
    言語1命令にて処理が指定されることを特徴とする請求
    項1又は3のいずれか一方に記載の演算装置。
  10. 【請求項10】 入力されたデータに対して所定の処理
    を行うと共に、前記所定の処理の結果に対応した状態フ
    ラグを出力する手順と、 前記状態フラグを状態データに変換して処理に反映させ
    る状態フラグ演算手順とを具備したことを特徴とする演
    算方法。
  11. 【請求項11】 入力データに対して所定の処理を施す
    処理と、 前記所定の処理の結果に対応した状態フラグを得る処理
    と、 前記状態フラグが加工されて得られた状態データを演算
    する処理とを実行させるためのプログラムを記録したコ
    ンピュータ読み取り可能な記録媒体。
JP9206667A 1997-07-31 1997-07-31 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体 Pending JPH1153189A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9206667A JPH1153189A (ja) 1997-07-31 1997-07-31 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9206667A JPH1153189A (ja) 1997-07-31 1997-07-31 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JPH1153189A true JPH1153189A (ja) 1999-02-26

Family

ID=16527144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9206667A Pending JPH1153189A (ja) 1997-07-31 1997-07-31 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JPH1153189A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003510682A (ja) * 1999-09-20 2003-03-18 インテル・コーポレーション プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み
JP2007268156A (ja) * 2006-03-31 2007-10-18 Aloka Co Ltd 超音波診断装置用プロセッサ
JP2008071130A (ja) * 2006-09-14 2008-03-27 Ricoh Co Ltd Simd型マイクロプロセッサ
JP2011508921A (ja) * 2007-12-29 2011-03-17 中国科学院▲計▼算技▲術▼研究所 Riscプロセッサ及びレジスタのフラグビットの処理方法
JP2012252670A (ja) * 2011-06-07 2012-12-20 Toshiba Corp 演算装置およびプログラム
US8635434B2 (en) 2006-12-13 2014-01-21 Sony Corporation Mathematical operation processing apparatus for performing high speed mathematical operations
US10754658B2 (en) 2017-08-02 2020-08-25 Fujitsu Limited Information processing apparatus, information processing method, and computer-readable recording medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003510682A (ja) * 1999-09-20 2003-03-18 インテル・コーポレーション プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み
JP4921665B2 (ja) * 1999-09-20 2012-04-25 インテル・コーポレーション プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み
JP2007268156A (ja) * 2006-03-31 2007-10-18 Aloka Co Ltd 超音波診断装置用プロセッサ
JP2008071130A (ja) * 2006-09-14 2008-03-27 Ricoh Co Ltd Simd型マイクロプロセッサ
US8635434B2 (en) 2006-12-13 2014-01-21 Sony Corporation Mathematical operation processing apparatus for performing high speed mathematical operations
JP2011508921A (ja) * 2007-12-29 2011-03-17 中国科学院▲計▼算技▲術▼研究所 Riscプロセッサ及びレジスタのフラグビットの処理方法
JP2012252670A (ja) * 2011-06-07 2012-12-20 Toshiba Corp 演算装置およびプログラム
US10754658B2 (en) 2017-08-02 2020-08-25 Fujitsu Limited Information processing apparatus, information processing method, and computer-readable recording medium

Similar Documents

Publication Publication Date Title
US5150470A (en) Data processing system with instruction queue having tags indicating outstanding data status
US7042466B1 (en) Efficient clip-testing in graphics acceleration
US10678540B2 (en) Arithmetic operation with shift
US20020184474A1 (en) Method and apparatus for staggering execution of a single packed data instruction using the same circuit
IL169374A (en) Result partitioning within simd data processing systems
JPH03286332A (ja) デジタルデータ処理装置
JPH1153189A (ja) 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体
US20240004663A1 (en) Processing device with vector transformation execution
US10437592B2 (en) Reduced logic level operation folding of context history in a history register in a prediction system for a processor-based system
JP4896839B2 (ja) マイクロプロセッサおよびデータ処理方法
JP2772100B2 (ja) 並列命令フェッチ機構
US20040243788A1 (en) Vector processor and register addressing method
US8909905B2 (en) Method for performing plurality of bit operations and a device having plurality of bit operations capabilities
JP2000112754A (ja) データ処理装置
JP2004062401A (ja) 演算プロセッサおよび当該演算プロセッサを用いたカメラ装置
JPH05289870A (ja) 並列命令実行制御方式
JPS63141131A (ja) パイプライン制御方式
JPH04184535A (ja) 並列演算装置
JP2003330914A (ja) ベクトル演算処理装置、ベクトル演算方法およびベクトル演算プログラム
JPH05204638A (ja) パイプライン処理装置
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
JP2001209617A (ja) 並列プロセッサ及びそれを用いた画像処理装置
JP2004303058A (ja) ベクトルプロセッサおよびそのデータ処理方法
JPH0816393A (ja) コンピュータシステム及び命令実行方法
JPS63280334A (ja) 情報処理装置