JP2793357B2 - 並列演算装置 - Google Patents

並列演算装置

Info

Publication number
JP2793357B2
JP2793357B2 JP2312912A JP31291290A JP2793357B2 JP 2793357 B2 JP2793357 B2 JP 2793357B2 JP 2312912 A JP2312912 A JP 2312912A JP 31291290 A JP31291290 A JP 31291290A JP 2793357 B2 JP2793357 B2 JP 2793357B2
Authority
JP
Japan
Prior art keywords
condition
instruction
conditional branch
branch
address
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.)
Expired - Fee Related
Application number
JP2312912A
Other languages
English (en)
Other versions
JPH04184535A (ja
Inventor
健 大藤
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)

Description

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

    (57)【特許請求の範囲】
  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 JPH04184535A (ja) 1992-07-01
JP2793357B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434985A (en) * 1992-08-11 1995-07-18 International Business Machines Corporation Simultaneous prediction of multiple branches for superscalar processing
US7219213B2 (en) * 2004-12-17 2007-05-15 Intel Corporation Flag bits evaluation for multiple vector SIMD channels execution
JP4228241B2 (ja) 2006-12-13 2009-02-25 ソニー株式会社 演算処理装置

Family Cites Families (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 工具経路自動創成装置
JP2793342B2 (ja) * 1990-08-09 1998-09-03 株式会社東芝 演算処理装置

Also Published As

Publication number Publication date
JPH04184535A (ja) 1992-07-01

Similar Documents

Publication Publication Date Title
JPH06195322A (ja) 汎用型ニューロコンピュータとして用いられる情報処理装置
JPS59174948A (ja) 情報処理装置
JPH06309177A (ja) マイクロコンピュータ
JPH09294069A (ja) プログラマブルlsiおよびその演算方法
US4954947A (en) Instruction processor for processing branch instruction at high speed
US4823258A (en) Index limited continuous operation vector processor
JPH03286332A (ja) デジタルデータ処理装置
JP2793357B2 (ja) 並列演算装置
JPH034936B2 (ja)
JPH0650512B2 (ja) デ−タ処理装置
JP2557629B2 (ja) 割込方式
JPS59183434A (ja) 命令先取り制御方式
JPH07110769A (ja) Vliw型計算機
JP3088956B2 (ja) 演算装置
JP2982129B2 (ja) マイクロプログラム制御装置
JPH0644389A (ja) データ駆動型情報処理装置
JPH02181821A (ja) 演算装置
JP2555124B2 (ja) 画像処理装置
JPS5995646A (ja) 演算制御装置
JP2522372B2 (ja) デ―タ駆動形計算機
JPS628231A (ja) 論理型デ−タ処理装置
JPS59223846A (ja) 演算処理装置
JPS5971542A (ja) 演算処理装置
JPS58146945A (ja) プログラム分岐制御装置
JPS62297938A (ja) マイクロプログラム制御装置

Legal Events

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