JPS62190532A - プログラム分岐制御装置 - Google Patents

プログラム分岐制御装置

Info

Publication number
JPS62190532A
JPS62190532A JP3183486A JP3183486A JPS62190532A JP S62190532 A JPS62190532 A JP S62190532A JP 3183486 A JP3183486 A JP 3183486A JP 3183486 A JP3183486 A JP 3183486A JP S62190532 A JPS62190532 A JP S62190532A
Authority
JP
Japan
Prior art keywords
signal line
circuit
signal lines
result
value
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
JP3183486A
Other languages
English (en)
Inventor
Seiichi Nishio
誠一 西尾
Toshihiko Manabe
俊彦 真鍋
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 JP3183486A priority Critical patent/JPS62190532A/ja
Publication of JPS62190532A publication Critical patent/JPS62190532A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 この発明は、計算機におけるプログラムの実行の流れを
制御するプログラム分岐制御装置に関するものである。
〔発明の技術的背景とその問題点〕
条件分岐命令で判断されるステータスとしては演算回路
での演算結果に関するものが一般に用いられる。例えば
、演算結果が正であった、ゼロであうた、負であった、
等の条件により、プログラムの流れが制御される。これ
らのステータスの制御に関する従来例を第4図に示す。
演算回路100は、入力データ103 、104に演算
を施し、その結果を信号線105に出力する。比較回路
101は、信号線105を介して送られる演算結果と、
ゼロとの比較を行ない、演算結果が正であった。ゼロで
あった、負であった、のステータス情報を信号線106
に出力する。
ステータス情報は、信号# 106によりプログラムの
実行を制御するシーケンス制御部102に送られ、条件
分岐命令の条件判断に用いられる。
このような従来の方法では、比較回路101により演算
結果と比較する値は、自由に設定することはできない。
このため、演算結果と比較する値はゼロに固定し、ゼロ
との比較で演算結果が正、ゼロ、負というたステータス
情報をシーケンス制御部102に送出している。その結
果、1つの演算結来がある値の範囲に入っているか否か
により分岐するようなプログラムに対しては非常に効率
の悪いものとな・ている。
今、次のようなプログラムを考えてみる。
2<R1−1≦10  ならば Plへそれ以外ならば
 P2へ ここで、R1はレジスタとする。
このプログラムを従来の方法で実行するフローチャート
を第2図に示す。ブロック110では、レジスタR1か
ら1を減じ、その結果をレジスタR2に格納している。
また、ブロック111ではR2から2を減じ、その結果
に従いブロック112で分岐している。
また、ブロック113では、ブロック110と同様の処
理を行ない、ブロック114で几2からlOを減じ、そ
の結果に従いブロック115で分岐することにより、上
記プログラムを実現している。
このフローチャートから明らかなように、従来の方法で
は比較回路101により、演算結果と比較する値は、1
つの値(ゼロ)に固定されているため、ブロック111
,114のような減算の命令を書かねばならず、メモリ
容量及び実行速度の面から見て効率が悪い。さらに、同
様の理由から前記のような1つの演算結果がある値の範
囲に入ワているか否かにより分岐先が異なるようなプロ
グラムに対しては、ブロック112,114のように2
つの分岐命令が必要となるが、特にパイプライン制御の
計算機では分岐命令により実行の流れを乱すことは、著
しい性能の低下につながるため、分岐はなるべく避ける
ことが好才しい。
今、仮りに比較回路101により演算結果と比較する値
を自由に変えることができるとすると、上記の例におい
て演算結果と比較する値を2,10に設定すれば、それ
ぞれブロック111,114の減算命令は不要となる。
これは、プログラムのサイズが小さくなるばかりでなく
、実行速度の改善にもつながる。
才た、従来の方法では上記の例の−alから1を減じた
結果が2より大きく、かつ10以下の時に、P2へ分岐
する。′といった複合型の分岐命令は、1回の演算結果
で1つの値(ゼロ)との比較しかできないため、実現で
きなかった。このような複合型の分岐命令は、上記の例
の2つの分岐命令(ブロック112,115 )を1つ
にまとめることができ、特にパイプライン制御の計算機
では非常に有効なものである。
〔発明の目的〕
本発明は、以上に鑑みてなされたものであり、その目的
は比較回路により演算結果と比較する値を任意の値に設
定できるようにし、かつ1つの演算結果を複数の値と同
時に比較できるようにし、さらにこれらの比較結果の任
意の1つあるいは複数個の状態を判定する手段を提供す
ることにより、プログラムの容量を減らし、実行効率を
上げることを目的とする。
〔発明の概要〕
本発明では、上記の目的を任意の値をセットできるn個
(1個以上)のレジスタと、前記n個のレジスタの各レ
ジスタの値と、演算回路の結果の値とを比較するn個の
比較回路と、前記n個の比較回路による比較結果のうち
の任意の1つあるいは複数の状態を判定する判定回路を
具備し、前記判定回路の判定結果により、プログラムの
分岐を制御することにより実現している。
〔発明の実施例〕
以下、図面を参照して本発明の一実施例を説明する。
第1図は、本発明による実施例の構成図である。
演算回路120は、信号線131と132上にある値に
ついて指定された演算を施し、その結果を信号線135
上に出力するものであり、比較回路123は信号線13
5上の値とレジスタ121上の値を比較し、信号線13
5上の値がレジスタ121上の値より大きいときには、
信号線141を1に信号線142と143を0にし、等
しいときには信号線142を1に信号#i!141と1
43を0にし、小さいときには信号線143を1に、信
号w 141と142をOにする。同様に、比較回路1
24は信号線135上の値とレジスタ122上の値を比
較し、信号線135上の値がレジスタ122上の値より
大きいときには信号線144を1に、信号線145と1
46をOにし、等しいときには信号線145を1に、信
号線144と146を0にし、小さいときには信号線1
46を1に信号線144と145をOにする。判定回路
25は、信号IFi! 141〜146を介して送られ
る比較回路123.124の比較結果と、信号線151
を介して送られる比較結果のどの状態をテストするかを
示す情報とをもとに、分岐条件が成立したか否かの情報
を発生し、信号線160を介して、実際のプログラムの
分岐を制御する分岐制御回路126に送られる。判定回
路125の回路例を第3図に示す。
比較回路123 、124の比較結果のどう・いう状態
をテストするかに関する情報は、信号線151を介して
送られるが、この信号線151は信号線181〜187
から成っている。
選択回路171は、信号線182 、183の値がゝ0
0“ならば信号線141、′01″ならば信号線142
、’ 10 ”ならば信号線143、11#ならば信号
線143をそれぞれ選択し、信号線191に送出する。
一致回路173は、信号! 191と信号線181の値
が一致した場合は′″1”を、一致しな力)った場合は
″0′を信号線193に出力する。選択回路172と一
致回路174も同様である。
AND回路175、OR回路176は、それぞれ信号線
193と信号線194の値の論理積、論理和をとり、信
号線195 、196に出力する。また、選択回路17
7は、信号線187の値が0#ならば信号線195を、
・1“ならば信号a 196 ′fc選択し、信号線1
60に送出する。
以下において、いくつかの例を用いて本実施例の動作を
説明する。
まず、ルジスタR1に13#を加算した結果が17#よ
り大ならば分岐する。″という例を考える。
この例の場合、まず信号線133を介してレジスタ12
1に17#をセクトし、信号a 181〜187に′1
00XIIO”のパターンをセットしておく。ここで;
×はドント・ケアを示す。次に、信号m131にレジス
タR1の内容を、信号線132に″3″を送出し、演算
回路120により加算を行なう。演算回路120の結果
は信号線135に送出され、比較回路123により、レ
ジスタ121の値″7“ と比較され比較結果が信号線
141〜143に出力される。ここで、信号線141は
、演算結果がレジスタ121の値″″7″より大きい場
合のみ′″1#となる。
今、信号線182 、183は100”とな−ているの
で、選択回路171は信号線141を選択し、信号線1
91に出力する。才だ、信号線181には′1″がセッ
トされているので、一致回路173は信号線141が1
1“の場合(すなわち、演算結果が′″7″より大きい
場合)のみ信号線193に11″を出力する。
一方、選択回路172は信号線185 、186が’1
1#となりでいるので、信号線184を選択し信号線1
91に出力する。一致回路174の入力には、ともに信
号線184の値が入力させるため、信号線194に1を
出力する。
才な、信号m 187は10′にセクトされているので
、選択回路177では信号線195が選択されるが今、
信号線194は1′であり、信号線193は演算結果か
′″7#より大きい場合のみ1”になるためAND回路
175は、この場合のみ信号線195に11“を出力す
る。
このため、信号線160には演算結果が7”より大きい
場合のみ11′が出力され、分岐制御回路126により
分岐する。
次に、ルジスタR1から11“を感じた結果が″2″よ
り大きく、かつ10“以下ならば分岐する“という例を
考える。この場合は、レジスタ121゜122にそれぞ
れ′″2’、’10′をセクトし、信号線181〜18
7に’0101100”のパターンをセットする。
このとき、信号線193には演算結果が”2”より小さ
くはない(すなわち゛2″以上)の場合にのみ1#が出
力され、信号線194には演算結果が゛10″以下の場
合にのみ11#が出力される。信号線195には、演算
結果が12″以上でかつ’ 10 ”より小さい場合に
のみ′″1#になる。信号線187が′0#であるため
、この信号1[i1i! 195の値が分岐制御回路1
26により分岐が実現される。
さらに、演算結果がアルファベットの大文字ならば分岐
する。という例では、アスキーコードのようにコードの
値は′A“からZ″  まで連続していて、かっ執A”
<”L(〃<−<・z〃 という関係が成り立−ている
とすると、レジスタ121 、122(こそれぞれl 
A // 、 tt Z“をセクトし、信号線181〜
187に0100010“をセットすれば実現できる。
最後lこ、1演算結果が′″3“と等しい、または5“
より大きいならば分岐する。″という例を考える。この
場合、レジスタ121 、122にそれぞれ13 # 
、 vt 5“をセットし、信号線181〜187に”
10110(+1“をセットする。
信号線]93は、演算結果が3“に等しい場合にのみ1
″となり、信号線194は演算結果が′5″より大きい
場合にのみ1“となる。このため、OIL回路176の
出力である信号線196には、演算結果が3#に等しい
、または5“より大きい場合に1″が出力され、信号線
187が′1“であるため、選択回路177ではこのO
IL回路176の出力が選択され、分岐制御回路126
に送出されることにより分岐が実現される。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、 (1)演算結果と比較する値を自由に変えることができ
るため、プログラム実行の分岐を調べるために、減算命
令が不要になり、ブロクラムのサイズを小さくすること
ができる。
(2)同様に減算命令が不要になることから、プログラ
ムの実行効率を大幅に向上させることができる。
(3)複合型の分岐命令を、1つの分岐命令にまとめる
ことができ、特にパイプライン制御の計算機などでは実
行速度の高速化を計ることができる。
(4)判定回路の構成により、様々な組み合わせの複合
型分岐命令を扱えるため、プログラムの分岐の制御を柔
軟にかつ効率よく行える。
(5)同し分岐条件を何回もくり返し行う際には、毎回
演算結果と比較する値を設定することは不要となる。
(61?J雑な構成をしないで、(1)〜(5)の効果
を実現できる。
なお、本発明は、上記実施例のみに限定されるものでは
なく、要旨を変更しない範囲において種々変形して実施
することができる。例えば、上記実施例では比較回路と
レジスタは2個であったが、3個以上にすれば1演算結
果が′2#以上かつ110′より小さい。または′10
0’と等しい 場合に分岐する″のような、さらに複雑
な条件も扱えるようになる。また、従来の方法で用いら
れているような、比較する値が′0#に固定されている
ような比較回路を含んでもかまわない。
【図面の簡単な説明】
第1図は、本発明のプログラム分岐制御装置のブロック
図、第2図は、プログラムのフローチャート、第3図は
、本発明による実施例の判定回路の回路例を示す図、第
4図は、従来技術を示す図である。 120・・・演算回路、121〜122・・・レジスタ
、123〜124・・・比較回路、25・・・判定回路
、126・・・分岐制御回路、171 、172 、1
77・・選択回路、173〜174・・・−数回路、1
75・・・AND回路、176・・・014回路。 第2図

Claims (1)

    【特許請求の範囲】
  1. 任意の値をセットできる1つ以上(n個とする)のレジ
    スタと、データ間の算術論理演算回路と、前記n個のレ
    ジスタと各レジスタの値と、前記演算回路の結果とを比
    較するn個の比較回路と、前記n個の比較回路による比
    較結果の任意の1つあるいは複数の状態を判定する判定
    回路を具備し、前記判定回路の判定結果に従い、プログ
    ラムの条件分岐命令で、分岐するか否かを決定すること
    を特徴とするプログラム分岐制御装置。
JP3183486A 1986-02-18 1986-02-18 プログラム分岐制御装置 Pending JPS62190532A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3183486A JPS62190532A (ja) 1986-02-18 1986-02-18 プログラム分岐制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3183486A JPS62190532A (ja) 1986-02-18 1986-02-18 プログラム分岐制御装置

Publications (1)

Publication Number Publication Date
JPS62190532A true JPS62190532A (ja) 1987-08-20

Family

ID=12342095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3183486A Pending JPS62190532A (ja) 1986-02-18 1986-02-18 プログラム分岐制御装置

Country Status (1)

Country Link
JP (1) JPS62190532A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290043A (ja) * 1992-06-15 1994-10-18 Matsushita Electric Ind Co Ltd データ処理用プロセッサ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290043A (ja) * 1992-06-15 1994-10-18 Matsushita Electric Ind Co Ltd データ処理用プロセッサ

Similar Documents

Publication Publication Date Title
US6115808A (en) Method and apparatus for performing predicate hazard detection
JPH04111127A (ja) 演算処理装置
JPS633337B2 (ja)
JPS6254359A (ja) コンピユ−タ装置
KR900002577B1 (ko) 테스트 패턴 제너레이터(발생장치)
JPH06105460B2 (ja) マルチプロセッサのプロセッサ切換え装置
JPH04245331A (ja) デジタル論理装置からマイクロプロセッサにデジタル指令実行の制御を移すための装置
US6378067B1 (en) Exception reporting architecture for SIMD-FP instructions
JPS6388636A (ja) マイクロコンピユ−タ
JPS62190532A (ja) プログラム分岐制御装置
JP2916605B2 (ja) コンピュータ用プロセツサ
US20050289328A1 (en) Reconfigurable processor and semiconductor device
US20130212362A1 (en) Image processing device and data processor
JP2928680B2 (ja) 複合条件処理方式
JPS59114677A (ja) ベクトル処理装置
JP3469645B2 (ja) データ駆動型情報処理装置
JP2793357B2 (ja) 並列演算装置
KR970007262B1 (ko) 데이타패스 및 명령세트 확장이 용이한 risc 구조
JPH01163836A (ja) データプロセッサの条件を明確に評価する方法及び装置
Hamilton et al. Adaptive-Hybrid Redundancy MIPS Version 2.2
JPH07191955A (ja) データ駆動型情報処理装置
JP2004062401A (ja) 演算プロセッサおよび当該演算プロセッサを用いたカメラ装置
JPH09282165A (ja) 情報処理装置
JPS58146945A (ja) プログラム分岐制御装置
JPS623345A (ja) 割込方式