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

プログラム分岐制御装置

Info

Publication number
JPS58146945A
JPS58146945A JP2891282A JP2891282A JPS58146945A JP S58146945 A JPS58146945 A JP S58146945A JP 2891282 A JP2891282 A JP 2891282A JP 2891282 A JP2891282 A JP 2891282A JP S58146945 A JPS58146945 A JP S58146945A
Authority
JP
Japan
Prior art keywords
program
status
flip
branch
circuit
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
JP2891282A
Other languages
English (en)
Inventor
Akira Maeda
明 前田
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
Tokyo Shibaura Electric Co Ltd
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, Tokyo Shibaura Electric Co Ltd filed Critical Toshiba Corp
Priority to JP2891282A priority Critical patent/JPS58146945A/ja
Publication of JPS58146945A publication Critical patent/JPS58146945A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 この発−は、計算機におけるプログ2ムの実行O流れを
制御する装置に関するものである。
〔発明の技術的背景とその問題点〕
条件分岐命令で判断されるステータスは、演算器での演
算結果に関するものがよく用いられる。
例えば、演算結果がゼロであった。正であった。
負であった。などの条件により、プログラムの流れが制
御される。?:、れらのステータスの制御に用いられる
従来例を第1図に示す。演算器100は、入力データ1
03,104に演算を施し、その結果を105に出力す
るとともに、先に述べた種々のステータスを、信号@ 
106を介して、ステータスレジスタ101に格納する
。ステータスレジスタ101の内容は、信号線107に
より、プログラムの実行を制御するシーケンス制御部1
02に送られ、条件分岐命令の条件判断に用いられる。
このような従来の方法では、ステータスレジスタ101
が1つしかないため、1つの演算結果のステータスしか
格納できず、その結果、いくつかの演算結果に従い、多
方向に分岐するプログラムは、非常に効率の悪いものと
なっている。
今、次のようなプログラムを考えてみる。レジスタR1
から1を減じた結果、ゼロになったか否か、および、レ
ジスタR2が正か否かにより、以下に示すように4方向
へ分岐するものとする。
■ 凡1−1=OかつB2〉0ならPIへ■ R1−1
=0かつR2≦OならB2へ■ R1−1〜0かつR2
〉0ならB3へ■ R1−1〜0かつ凡2≦0ならB4
へこのプログラムを実行するフロチャートを第2図に示
す、ブロック110でR1から1を減じ、七の結果に従
い、ブロック111で分岐している。2つの分岐先11
2.114でROの正負のチヱックを行ない、その結果
に従い、それぞれ113. 114で分岐し、4方向へ
の分岐を実現している。このフロチャートから明らかな
ように、従来の計算機では1つの演算結果のステータス
しか格納できないため、全く同じ命令をブロック112
. 114と別々の分岐先に書かねばならず、メモリ容
量の点から見て好ましくない。今、仮りに、複数個の演
算結果を格納できるとすれば、R2を針算し走時点で(
第2図中プ謬ツク109で)R2が正か否かを判断しそ
の結果を格納しておき、わざわざブロック112,11
4での比較命令を実行しなくても113および115の
分岐命令を実行することができる。これはプログツムの
大色さが小さくなるばかりでなく、実行速度の改善に4
なっている。また従来の計算機では、第2図に示し、次
側において、−alを1減じた結果がゼロでかつR2が
正の時に、P1ヘブランチする”といった豪合条件型の
分岐命令は、以前の演算結果のステータスが保存されて
いない丸め実現できなかった。この複合条件型の分岐命
令は、いくつかの分岐命令を1つにまとめ、その数を減
らし得る可能性がおり、非常に有効なものである。特に
パイプライン制御の計算機では、分岐命令により実行の
流れを乱すことは、性能低下につながるため、分岐はな
るべく避ける方が好ましい。
〔発明の目的〕
本発明は以上に鑑みてなされたもので、その目的は、2
つ以上の演算において生成される演算結果に対するステ
ータスを保持できるようにし、プログラムの容量を減ら
し、実行効率を上げることにある。さらに、これらの保
持されたステータス01つあるいは複数個の状態を判定
する手段を提供し、プログラムの容量の減少、実行効率
の向上をはかることKToる。
〔発明の概畳〕
本発明では、これらの目的を、演算結果のステータスの
1つを選択するマルチプレクサと、皺マルチプレクサの
出力を格納する2つ以上のフリップフロップ群と、前記
マルチプレクサにより選択され九ステータスの1つを、
前記フリップフロップの1つを選んで格納する手段と、
前記フリップフロップの1つあるいは複数個の状態を判
定する判定回路を具備し、咳判定回路の判定結果により
、プログラムの分岐を制御することにより、実現してい
る。
〔発明の実施例〕
以下本発明を、第3図に示した実施例に従い詳しく説明
する。200が分岐制御装置の全体を示す。
201が演算器であり、種々の演算を行ないその時点の
ステータスを線202〜209に出力する(なお図中演
算器201に入力されるデータおよび演算の結果出力さ
れるデータは省略しである)。これらのステータス信号
は、結果が正の時lになりたり、負の時lになったりし
て、様々な状態を表わすことができる。これらのステー
タスの1つを選択するのが1ルテプレク?210であり
、どの信号を選択するか社演算命令220のフィールド
221で指示される。マルチプレクサ210の出力21
2は、アリツブ70ツブ215〜218のD入力に入力
され、クロック信号240〜243により取り込まれる
。このクロック信号240〜243 a、命令フィール
ド222で指定され、デコーダ211で発生される。こ
のようにしである演算に伴い発生したステータスの任意
の1つを、所望のフリップフロップ215〜218の1
つにセットできる。(22oおよびこれから説明する2
50は、演算命令1分岐命令のフォーマットを示してお
り、そのフィールドと、分岐制御部200の関係を明確
にするために図に記されたもので、実際にこのようなハ
ードウェアがあるわけではない。)その結果、フリップ
フロップ215〜218の個数だけの演算に対するステ
ータスを格納することができる。例えば、ある演算の結
果がゼロであるか否かをブリ、プフ四ツブ215にセッ
トしようとすれば、演算命令のフィールド221で、結
果がゼロの時に1になるステータス信号を202〜20
9から選び、フィールド222で、フリップフロップ2
15を指定して演算命令を実行すればよい、その演算命
令奥行後、演算結果がゼロであればフリップフロップ2
15はセット状態とな抄、ゼロでなければリセット状態
となる。
次に7リツププロツプ215〜218 K格納され九ス
テータスに従い、条件分岐命令がどのように制御される
かについて述べる。フリップフロップ215〜218の
出力は、ステータス判定囲路213に送られ、分岐する
か否かの情報を発生し、実際の分岐を制御する分岐制御
回路214に送られる。ステータス判定四M 213に
は、上記アリツブフロップの出力の他、条件分岐命令2
50のフィールド253.254も入力される。このフ
ィールドで指示され九フリップフロップの状態がテスト
されるわけである。この判定回路2)3の回路例を第4
図に示す。条件分岐命令のフィールド253で、テスト
すべきフリッププロップを選択指定し、フィールド25
4でその選択し九フリップフロップの状態を指定する。
例えば、フリップフロップ215.218の出力がそれ
ぞれ@O”@1@であることをテストしようとすれば、
フィールド253を、信号線341〜344が”0XX
I″となるように指定すればよい(XはDont ca
reを示す)。このとI(i号@ 332が0になって
いるので、NAND回路306の出力はl。
AND回路310の出力は0となる。従って排他論理和
(EXORと記す)302の出力はlとなり、フリップ
フロップ216の出力が何であっても、AND回路30
0の出力に影響を与えない。同様に信号@ 333が′
″0″であるので、フリップ70ツブ217の出力もA
ND回路300の出力に影響を与えない。
次にEXOR回路301の出力を調べてみよう。信号@
 331が11”、341が10”となっているので、
・1′・lll’ll’、、11 NAND回路305の出力は、アリツブフロップ215
が@l”の時@0”、@0″の時@1″となる。 AN
D回路300の出力は@0”であるので、BXOR30
1の出力は、フリップフロップ215が@0″なら11
”、11”なら@0”となる。同様K BXOR304
O出力は、アリツブフロップ21Bの出力が11″なら
11” @ 0 @なら@0”となる。以上により、フ
リップフロップ215〜218が”Ox×1”の時BX
OR301〜304の出力はすべて′″l”となり、A
ND回路300の出力260は@l”となる、一方21
5〜218が10××1”以外であれば、出力260は
10′″となる。すなわち条件分岐命令のフィールド2
53,254を先に述べたように指定して中れば、フリ
ップフロップ215が10”でかつフリップフロップ2
18が@1″の時のみ出力260は@1@となる。この
信号260の状態により、条件分岐命令で分岐するか否
かの制御をして中れば、フリップフロップ215,21
8の状態がテストで!九ことになる。このように条件分
岐命令のフィールド253,254によす、フリップフ
ロップ215〜218の1つあるいは複数個の状態をテ
ストすることができる。
本発明による条件分岐命令の使用例を次に説明する。第
5図に従来の分岐方法によるプログラム例、菖6図に本
発明によるプログラム例を示す。
プログラムは単純てレジスタR1=0. R2>OR3
<0が同時に成立すればPIへ分岐し、1つでも成立し
なければP2へ分岐するものである。第5図より明らか
なように、従来の分岐方法では、条件分岐命令を3ケ所
のブロック402.404.406に書かなくてはなら
ない。本発明によれば、第6図より明らかなように、ブ
ロック410 、411 、412で比較し九結果を、
それぞれ第3図に示したフリップフロップ215 、2
16 、217 K格納し、ブロック4131ケ所でそ
のフリップフロップの状態により条件分岐している。
〔発明の効果〕
、以上のように、本発明によれば、複数個の演算結果の
ステータスを保持でき、その保持した状態をテストする
ことにより、非常に柔軟性のあるプログラム分岐制御回
路が笑現できる。その結果、従来の方法に比べて、分岐
命令や比較命令の個数を減らせ、プログラムの大きさを
減少したシ、実行速度を向上させたりすることができる
。また分鋏命令の個数を減らすことは、特にパイプツイ
ン制御を行っている計算機では、奥行の流れの乱れが減
ることになシ、性能向上が大いに役立つ。
【図面の簡単な説明】
第1図は、従来の分岐を行なう計算機のプaツタ図、第
2WJはプログラムのフローチャード、第3mは本発明
の実施例における条件分線の制御部のプ■ツク図、第4
図はステータスの判定の回路図であや、第5WJ、第6
図はプログラムのフ四−チヤードである。 100・・・演算  器1.  101・・・ステータ
スレジスタ、102・・・シーケンス制御部、 201
・・・演算器、21G・・・マルチプレクチ、 215〜218・・・アリツブフロップ、213・・・
ステータス判定回路、214川分峡制御囲路、305〜
308−NAND @路、300〜312−ANDQj
il、300 ・・・AND回路、    3G1〜3
04 ・EXORwR%。 代理人 弁理士 則近窓体 (ほか1名)第1図 第4図 第5図   第6図

Claims (1)

    【特許請求の範囲】
  1. 2つ以上のステータスを発生すゐ回路と、咳ステータス
    の1つを選択するマルチプレクサと、諌−rルチプレク
    サの出力を格納する複数個のフリップフロップ群と、前
    記マルチプレクサにより選択され九ステータスの1つを
    、前記フリップフロップ群の1つを選択しその中へ格納
    する手段と、前記フリップフロップ群の1つの状態To
    ゐいは複数個の状態を判定する判定回路を具備し、諌判
    定回絡の判定結果に従い、プログラムの条件分岐命令で
    、分岐するか否かを決定することを特徴とするプログラ
    ム分岐制御装置。
JP2891282A 1982-02-26 1982-02-26 プログラム分岐制御装置 Pending JPS58146945A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2891282A JPS58146945A (ja) 1982-02-26 1982-02-26 プログラム分岐制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2891282A JPS58146945A (ja) 1982-02-26 1982-02-26 プログラム分岐制御装置

Publications (1)

Publication Number Publication Date
JPS58146945A true JPS58146945A (ja) 1983-09-01

Family

ID=12261606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2891282A Pending JPS58146945A (ja) 1982-02-26 1982-02-26 プログラム分岐制御装置

Country Status (1)

Country Link
JP (1) JPS58146945A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63175932A (ja) * 1987-01-16 1988-07-20 Hitachi Ltd ディジタル信号処理装置
JPH0675767A (ja) * 1992-07-28 1994-03-18 Matsushita Electric Ind Co Ltd プロセッサ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63175932A (ja) * 1987-01-16 1988-07-20 Hitachi Ltd ディジタル信号処理装置
JPH0675767A (ja) * 1992-07-28 1994-03-18 Matsushita Electric Ind Co Ltd プロセッサ

Similar Documents

Publication Publication Date Title
US5038348A (en) Apparatus for debugging a data flow program
EP0148478A2 (en) A data processor with control of the significant bit lenghts of general purpose registers
JPS6313215B2 (ja)
JP3954171B2 (ja) コンピュータにおけるスカラ値をベクトルに記入する方法
JPH09294069A (ja) プログラマブルlsiおよびその演算方法
JPH03286332A (ja) デジタルデータ処理装置
TWI791694B (zh) 向量帶進位加法指令
JPS58146945A (ja) プログラム分岐制御装置
Astrahan et al. Logical design of the digital computer for the SAGE System
Asaad A Study on Instruction Formats on Computer Organization and Architecture
JP2793357B2 (ja) 並列演算装置
JP2007334819A (ja) ベクトルリネーミング方式およびベクトル型計算機
JPS62501940A (ja) マイクロプログラム・コントロ−ラの改良
JPH09305401A (ja) コンピュータ及びコンパイラ
JPH0222413B2 (ja)
JPS5995646A (ja) 演算制御装置
JPS5949643A (ja) デ−タ処理装置
JPH033047A (ja) 演算機能付きメモリ
CN115639982A (zh) 一种基于信号量的并发程序的执行演示方法和系统
Burkowski Instruction set design issues relating to a static dataflow computer
JPS60178540A (ja) 情報処理装置におけるバイパス制御方式
JPS59223846A (ja) 演算処理装置
JPS6151269A (ja) デ−タ処理装置
JPS6057436A (ja) 演算処理装置
US9195460B1 (en) Using condition codes in the presence of non-numeric values