JPH04184535A - 並列演算装置 - Google Patents

並列演算装置

Info

Publication number
JPH04184535A
JPH04184535A JP2312912A JP31291290A JPH04184535A JP H04184535 A JPH04184535 A JP H04184535A JP 2312912 A JP2312912 A JP 2312912A JP 31291290 A JP31291290 A JP 31291290A JP H04184535 A JPH04184535 A JP H04184535A
Authority
JP
Japan
Prior art keywords
condition
instruction
arithmetic
conditional branch
parallel
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.)
Granted
Application number
JP2312912A
Other languages
English (en)
Other versions
JP2793357B2 (ja
Inventor
Takeshi Ofuji
健 大藤
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 JP2312912A priority Critical patent/JP2793357B2/ja
Priority to US07/715,622 priority patent/US5450553A/en
Publication of JPH04184535A publication Critical patent/JPH04184535A/ja
Application granted granted Critical
Publication of JP2793357B2 publication Critical patent/JP2793357B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) この発明は、複数の条件分岐命令を同時並列に実行し、
以後の命令か設定されているアドレスを選択する並列演
算装置に関する。
(従来の技術) 近年、プロセッサに要求される演算量の増大にともない
、種々の並列実行方式が提案されている。従来の並列実
行方式のプロセッサ(並列演算装置)では、第6図のよ
うに、複数の演算器601〜602と、多くのバンクに
分かれたメモリーとを備え、これら複数の演算器601
〜602と各メモリーバンクとの接続が任意に行える構
成となっている。そして、これらの演算器601〜60
2で行われる演算と各メモリーバンクとの接続を並列に
制御し、複数の演算を同一サイクルで並列に実行してい
る。
一方、並列演算装置による演算実行時の動作の重要なも
のの一つに、条件分岐命令実行時になされる条件分岐動
作がある。これは、条件分岐命令中で指定された分岐条
件とフラグレジスタ603とが、ある関係を満たしてい
たときに、同しく条件分岐命令中で指定されたアドレス
に命令ポインタ604の値を書き換え、結果として分岐
条件分岐命令中で指定されたアドレスにするものである
なお、フラグレジスタ603は、演算器602の出力結
果によって書き換わるもので、一般には複数のビットで
構成される。例えば、演算器602の出力が零になった
ときに論理1に書き換わるビット、あるいは演算器60
2の出力が負になったときに論理1に書き換わるビット
などを持つ。
ここで、第6図のような、従来の並列演算装置では、複
数の演算器601〜602を持つにもかかわらず、フラ
グレジスタは一つの演算器602に付属したフラグレジ
スタ603を一つ持つのみである。このため、条件分岐
時の分岐条件の設定に大きな制約かあった。
例えば、第7図に示すフローチャートで表した動作、す
なわち 変数Aく定数Cでかつ変数B一定数りのとき、処理1を
実行 それ以外の時は処理2を実行 のような動作を考える。この場合の命令メモリの内容を
表したのが第8図である。第8図において、A−Cの命
令が設定されているアドレスより1インクリメントされ
たアドレスには、B−Cの命令が設定されている。また
、B−Cの命令が設定されているアドレスより1インク
リメントされたアドレスには、処理1の実行命令が設定
されている。
さらに、ある分岐先アドレスには、処理2の実行命令が
設定されている。
このような動作を実現するには、まず、演算器602を
用いてA−Cを行い、その出力の符号に従ってフラグレ
ジスタ603のビットが書き換わる。制御回路605で
は、A−Cの結果を表すフラグレジスタ603のビット
の値から、Arcが成立しているか否かの判別を行う。
Arcが成立していないならば命令ポインタ604を、
処理2の実行命令が設定されている分岐先アドレスに書
き換える(条件分岐成立)。これにより、Arcでない
ときには処理2が実行される。一方、成立しているなら
ば、命令ポインタ604を1インクリメントする(条件
分岐不成立)。命令ポインタ604の1インクリメント
されたアドレスには、B−Cの命令か設定されているの
で、この命令が再び演算器602によって実行される。
この実行結果の符号に従ってフラグレジスタ603のビ
ットが、再度書き換わり、そのビットの値から、B−C
が成立しているか否かの判別を制御回路605が行う。
B−Cが成立していないならば分岐先アドレスに分岐し
、処理2を実行する(条件分岐成立)。成立しているな
らば、命令ポインタ604を1インクリメントして処理
1を実行する(条1件分岐不成立)。
以上の手順を実行することによって、第7図で示された
処理フローを実現している。
このように、従来の並列演算装置では、1つの演算器6
02で複数の条件分岐命令を順次実行し、そのつど条件
が成立したか否かを判別していた。
このため、演算器602が条件分岐命令を実行している
間、信号処理本来の目的のために演算器601〜602
が利用できず、残された演算器もその間は何も実行でき
なかった。
(発明が解決しようとする課題) 以上のように、従来の並列演算装置では、条件分岐を多
数含むプログラムの実行においては、複数の演算器を用
いているにもかかわらず、非常に長い実行時間か費やさ
れてしまうという欠点があった。
そこで、この発明は、従来の事情に鑑みてなされたもの
であり、その目的とするところは、複数の条件分岐命令
を複数の演算器によって同時並列に実行し、条件分岐を
多数含むプログラムの実行においても、演算処理能力を
向上させることができる並列演算装置を提供することに
ある。
[発明の構成] (課題を解決するための手段) 上記目的を達成するため、この発明は、複数の条件分岐
命令に従った複数の演算を同時並列に実行する複数の演
算手段と、これら複数の演算手段それぞれに対応して備
えられ、演算手段によって得られた演算結果と前記条件
分岐命令の分岐条件とを比較し、演算結果が分岐条件を
満たしているか否かを判別する比較手段と、これら複数
の比較手段によって得られた複数の比較結果同志で、前
記複数の条件分岐命令相互間の関係に応じた論理演算を
行う論理演算手段と、この論理演算手段によって得られ
た演算結果に従い、前記複数の条件分岐命令以後に行う
べき命令が設定されているアドレスを選択する選択手段
とから構成されている。
(作用) 上記構成により、この発明は、複数の演算器が、複数の
条件分岐命令に従った複数の演算を同時並列に実行する
。演算器によって得られた演算結果は、複数の演算器そ
れぞれに対応して備えられるフラグレジスタへ出力され
る。
フラグレジスタでは、そのビット内容を演算結果に応じ
た内容に書き換える。書き換えられたビット内容は、フ
ラグレジスタと同様に複数の演算器それぞれに対応して
備えられる比較回路へ出力される。
比較回路は、フラグレジスタから出力されたビット内容
と、命令メモリから与えられる条件分岐命令の分岐条件
とを比較する。すなわち、この比較回路では、演算器に
よって得られた演算結果が分岐条件を満たしているか否
かを判別している。
複数の比較回路からは、論理回路へ各々の比較結果を出
力する。
この論理回路では、複数の比較結果同志で論理演算を行
う。このときの論理演算は、複数の条件分岐命令相互間
の関係に応した論理演算(例えば、論理和、論理積など
)を行っている。さらに、論理回路からは演算結果が選
択回路へ出力される。
選択回路ではこの演算結果に従い、複数の条件分岐命令
以後に行うべき命令が設定されている命令メモリ中のア
ドレスを選択している。
(実施例) 以下、図面を参照しながらこの発明の詳細な説明する。
第1図は、この発明の並列演算装置に係わる一実施例の
構成を示すブロック図である。
同図における並列演算装置は、複数の演算器101〜1
02、フラグレジスタ103〜105、比較回路113
〜115、論理回路116、命令ポインタ111、選択
回路112、メモリ、および命令メモリから構成されて
いる。フラグレジスタ103〜105と比較回路113
〜115は、演算器10°1〜102にそれぞれ対応し
て備えられている。
演算器101〜102は、命令メモリから与えられる複
数の条件分岐命令に従った複数の演算を、同時並列に実
行するものである。
フラグレジスタ103〜105は、そのビット内容を演
算器101〜102から出力される演算結果に応じた内
容に書き換えるレジスタである。
比較回路113〜115は、フラグレジスタ103〜1
05のビット内容と、命令メモリから読み出された分岐
条件との比較を行う機能を有している。これによって比
較回路113〜115は、演算器101〜102が実行
した演算結果が分岐条件を満たしているか否かを判別し
ている。
論理回路116は、詳細は後述するが、比較回路113
〜115から出力される複数の比較結果同志の論理演算
を行う役目を果たしている。この論理演算は、複数の条
件分岐命令相互間の関係に応じた論理演算(論理積、論
理和など)が行われる。
選択回路112は、論理回路116がら出力される演算
結果に従い、複数の条件分岐命令以後に行うべき命令が
設定されている命令メモリ中のアドレスを選択するとこ
ろである。具体的には、命令メモリから与えられる分岐
先アドレスが、あるいは現在の命令ポインタ111の値
を1インクリメントしたアドレスを選択している。
命令ポインタ111は、選択回路112によって選択さ
れたアドレスを入力し、それを命令メモリへ出力するも
のである。
このように、この発明は構成されており、次にこの発明
の詳細な説明する。
命令メモリより複数の条件分岐命令から演算器101〜
102に与えられると、これらの条件分岐命令に従った
複数の演算か、演算器101〜102によって同時並列
に実行される。これらの演算結果は、演算器101〜1
02からフラグレジスタ103〜105へ出力される。
これにより、フラグレジスタ103〜105のビット内
容が、演算結果に応じた内容に書き換えられる。
書き換えられたフラグレジスタ103〜105のビット
内容は、信号線106〜108を通して比較回路113
〜115に与えられる。
比較回路113〜115により、信号線117〜119
を通して命令メモリより与えられる分岐条件と、フラグ
レジスタ103〜105の出力106〜108とが比較
される。すなわち、演算器101〜102による演算結
果が、分岐条件を満たしているか否かが判別される。こ
の結果は、信号線120〜122を通じて論理回路11
6に与えられる。
論理回路116には、比較結果と同時に、複数の条件分
岐命令相互間の関係を表す情報が、命令メモリより信号
線123を通じて与えられている。
論理回路116ては、比較回路113〜115による複
数の比較結果同志か、複数の条件分岐命令相互間の関係
に応して論理演算される。この論理演算の結果から、選
択回路112への選択信号125が生成される。
選択回路112により、選択信号125に従って命令ポ
インタ111の入力を、信号線124を通じて与えられ
る分岐先アドレスとするか、または現在の命令ポインタ
111の値を1インクリメントしたものとするかが選択
される。このとき、分岐条件が成立していたならば、命
令ポインタ111の入力として信号線124を通して与
えられる分岐先アドレスが選択される。これにより、分
岐動作が行われる(条件分岐成立)。一方、分岐条件が
成立していなかったならば、現在の命令ポインタ111
の値を1インクリメントした信号線126が選択される
。これにより、命令ポインタ111は分岐先アドレスに
書き換えられる変わりに1インクリメントされる。(条
件分岐不成立)。
第2図に、論理回路116の詳細図を示す。ここでは、
説明を簡単にするためフラグレジスタ103と105の
2つの例をあげているが、複数のフラグレジスタ構成で
も勿論同様の構成か可能である。
フラグレジスタ103,105からの出力106.10
8は、比較回路113と115に入力される。ジャンプ
命令中に設定された条件1による分岐条件を表す信号1
17と、条件2による分岐条件を表す信号119との比
較が行われ、それぞれの分岐条件を満たしているか否か
の判別が行われる。その出力120,122は論理回路
116に入力され、同じくジャンプ命令中に設定された
条件1と条件2の相互関係を表す信号123に従って論
理演算が行われる。そして、それらの出力のうちの1つ
が選択され、選択回路112への選択信号125が生成
される。なお、今回の実施例では、条件1と条件2の相
互関係として、論理和、論理積、条件1のみ、条件2の
みの4つの場合を示しているが、このほかの論理演算を
設定することも可能である。
生成された選択信号125に従って選択回路112では
、命令中に設定されている分岐先アドレスか、命令ポイ
ンタを1インクリメントした値のどちらかが選択される
次に、具体的な条件分岐命令を用いてこの発明の詳細な
説明する。
例えば、第3図のような処理フローで表される条件分岐
命令を考える。
このような命令の場合には、演算器101、フラグレジ
スタ103、比較回路113によって条件Aの判別が行
われ、演算器102、フラグレジスタ105、比較回路
115によって条件Bの判別が行われる。命令メモリか
ら論理回路116へ与えられる信号123は、条件Aと
条件Bの相互関係より、論理積を表すものとなる。これ
により、論理回路116では、比較回路113.115
から出力される信号120.1’22の論理積がとられ
、この結果が選択回路112へ出力される。選択回路1
12において、選択信号125が条件Aと条件Bの双方
を満たしていることを意味している場合には、分岐アド
レス124が選択される。
分岐アドレス124は、命令メモリ中であらかじめ処理
1の実行プログラムが設定されている領域の先頭アドレ
スである。命令ポインタ111はこの先頭アドレスに書
き換えられ、処理1が実行される(条件分岐成立)。一
方、選択信号125が条件Aと条件Bの少なくとも一方
を満たしていないことを意味している場合には、命令ポ
インタ111の値が1インクリメントされたアドレスが
選択される。このとき、条件分岐命令の次の命令から処
理2の実行プログラムを設定しておけば、処理2が実行
される(条件分岐不成立)。このように、第3図で示し
た条件分岐命令の場合は、条件Aと条件Bの双方か満た
されていた場合には処理1が実行され、少なくとも一方
が満たされていなかった場合には処理2が実行される。
次に、第4図のような処理フローで表される条件分岐命
令を実行する場合を考える。これは、条件Aと条件Bの
どちらかが満たされた場合には処理1が実行され、条件
Aと条件Bの双方か満たされなかった場合には処理2が
実行されるというものである。この場合は、条件Aと条
件Bの相互関係を表す信号123により、論理回路11
6において条件Aと条件Bの論理和がとられる。これに
より、条件Aと条件Bのどちらかが満たされた場合には
条件分岐が成立し、処理1が実行される。
それ以外の場合には条件分岐不成立で処理2が実行され
る。
さらに、第5図(a)のような場合には、条件分岐に関
係するのは条件Aのみてあり、条件Bには関係しないた
め、信号123を条件Aのみを表すものにすればよい。
この命令の場合、条件Aが成立した場合には条件分岐が
成立し、処理1が実行され、それ以外の場合には条件分
岐不成立で処理2が実行される。
同様に、第5図(b)の場合には、信号123を条件B
のみを表すものにすることにより、条件Bが成立した場
合には処理1が実行され、それ以外の場合には処理2が
実行される。
二のように、この並列演算装置では、複数の演算器10
1〜102によって複数の条件分岐命令に従った複数の
演算を、同時並列に実行することができる。さらに、比
較回路113〜115及び論理回路116により、複数
の分岐条件が満たされているか否かを一度に判別するこ
とができる。
これらにより、条件分岐命令以後の命令が設定されてい
るアドレスを素早く選択することができる。
尚、フラグレジスタ間の演算としては、論理積、論理和
に限らず、その他種々の論理演算が考えられる。
[発明の効果] 以上のように、この発明の並列演算装置によれば、複数
の演算器それぞれに対応する比較回路、及び複数の条件
分岐命令相互間の関係に応じて論理演算する論理回路を
設けた。このため、複数の条件分岐命令を同時並列に実
行し、条件が満たされているか否かを瞬時に判別するこ
とができる。
これにより、条件分岐を多数含むプログラムの実行にお
いても、演算処理能力を低下させること無く条件分岐動
作を行うことか可能である。
【図面の簡単な説明】
第1図はこの発明の並列演算装置に係わる一実施例の構
成を示すブロック図、第2図は第1図で示した論理回路
の詳細を示すブロック図、第3図乃至第5図はこの発明
の詳細な説明するための条件分岐命令を表す処理フロー
、第6図は従来の並列演算装置の構成を示すブロック図
、第7図及び第8図は従来の並列演算装置を説明するた
めの処理フロー及び命令メモリの概念図である。 101〜102・・・演算器 103〜105・・・フラグレジスタ 113〜115・・・比較回路 116・・・論理回路 111・・・命令ポインタ 112・・・選択回路

Claims (1)

  1. 【特許請求の範囲】 複数の条件分岐命令に従った複数の演算を同時並列に実
    行する複数の演算手段と、 これら複数の演算手段それぞれに対応して備えられ、演
    算手段によって得られた演算結果と前記条件分岐命令の
    分岐条件とを比較し、演算結果が分岐条件を満たしてい
    るか否かを判別する比較手段と、 これら複数の比較手段によって得られた複数の比較結果
    同志で、前記複数の条件分岐命令相互間の関係に応じた
    論理演算を行う論理演算手段と、この論理演算手段によ
    って得られた演算結果に従い、前記複数の条件分岐命令
    以後に行うべき命令が設定されているアドレスを選択す
    る選択手段とを備えたことを特徴とする並列演算装置。
JP2312912A 1990-06-15 1990-11-20 並列演算装置 Expired - Fee Related JP2793357B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2312912A JP2793357B2 (ja) 1990-11-20 1990-11-20 並列演算装置
US07/715,622 US5450553A (en) 1990-06-15 1991-06-14 Digital signal processor including address generation by execute/stop instruction designated

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2312912A JP2793357B2 (ja) 1990-11-20 1990-11-20 並列演算装置

Publications (2)

Publication Number Publication Date
JPH04184535A true JPH04184535A (ja) 1992-07-01
JP2793357B2 JP2793357B2 (ja) 1998-09-03

Family

ID=18034959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2312912A Expired - Fee Related JP2793357B2 (ja) 1990-06-15 1990-11-20 並列演算装置

Country Status (1)

Country Link
JP (1) JP2793357B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110684A (ja) * 1992-08-11 1994-04-22 Internatl Business Mach Corp <Ibm> スーパスカラ処理システムおよび方法
JP2008524723A (ja) * 2004-12-17 2008-07-10 インテル・コーポレーション 単一命令複数データ実行エンジンのフラグレジスタのための評価ユニット
US8635434B2 (en) 2006-12-13 2014-01-21 Sony Corporation Mathematical operation processing apparatus for performing high speed mathematical operations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043751A (ja) * 1983-08-18 1985-03-08 Hitachi Ltd 情報処理装置
JPH047711A (ja) * 1990-04-26 1992-01-13 Toyoda Mach Works Ltd 工具経路自動創成装置
JPH0496133A (ja) * 1990-08-09 1992-03-27 Toshiba Corp 演算処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043751A (ja) * 1983-08-18 1985-03-08 Hitachi Ltd 情報処理装置
JPH047711A (ja) * 1990-04-26 1992-01-13 Toyoda Mach Works Ltd 工具経路自動創成装置
JPH0496133A (ja) * 1990-08-09 1992-03-27 Toshiba Corp 演算処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110684A (ja) * 1992-08-11 1994-04-22 Internatl Business Mach Corp <Ibm> スーパスカラ処理システムおよび方法
JP2008524723A (ja) * 2004-12-17 2008-07-10 インテル・コーポレーション 単一命令複数データ実行エンジンのフラグレジスタのための評価ユニット
US8635434B2 (en) 2006-12-13 2014-01-21 Sony Corporation Mathematical operation processing apparatus for performing high speed mathematical operations

Also Published As

Publication number Publication date
JP2793357B2 (ja) 1998-09-03

Similar Documents

Publication Publication Date Title
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
JPH03286332A (ja) デジタルデータ処理装置
JPH05150979A (ja) 即値オペランド拡張方式
US4956767A (en) Data processing system with model for status accumulating operation by simulating sequence of arithmetic steps performed by arithmetic processor
JPH04184535A (ja) 並列演算装置
US20240004663A1 (en) Processing device with vector transformation execution
US20050289328A1 (en) Reconfigurable processor and semiconductor device
JPH09128241A (ja) ファジーロジックプロセッサの言語入力値の所属関数値に対する配列方法および装置
JPH1153189A (ja) 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体
JP2007183712A (ja) データ駆動型情報処理装置
US20090063808A1 (en) Microprocessor and method of processing data
JPH09305401A (ja) コンピュータ及びコンパイラ
JPH07191955A (ja) データ駆動型情報処理装置
JP2004062401A (ja) 演算プロセッサおよび当該演算プロセッサを用いたカメラ装置
JP3088956B2 (ja) 演算装置
JP3708560B2 (ja) データフロー型情報処理装置
JPH04364525A (ja) 並列演算装置
JP2555124B2 (ja) 画像処理装置
JP2982129B2 (ja) マイクロプログラム制御装置
JPH02181821A (ja) 演算装置
JPH0465713A (ja) ディジタル信号処理回路
JPH04245333A (ja) 情報処理装置
JPH01159730A (ja) マイクロプログラム制御装置
JP2004303058A (ja) ベクトルプロセッサおよびそのデータ処理方法
JPS62190532A (ja) プログラム分岐制御装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees