JP2793357B2 - Parallel processing unit - Google Patents

Parallel processing unit

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
Japanese (ja)
Other versions
JPH04184535A (en
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/en
Priority to US07/715,622 priority patent/US5450553A/en
Publication of JPH04184535A publication Critical patent/JPH04184535A/en
Application granted granted Critical
Publication of JP2793357B2 publication Critical patent/JP2793357B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、複数の条件分岐命令を同時並列に実行
し、以後の命令が設定されているアドレスを選択する並
列演算装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Industrial application field) The present invention executes a plurality of conditional branch instructions simultaneously and in parallel, and selects an address in which subsequent instructions are set. About.

(従来の技術) 近年、プロセッサに要求される演算量の増大にともな
い、種々の並列実行方式が提案されている。従来の並列
実行方式のプロセッサ(並列演算装置)では、第6図の
ように、複数の演算器601〜602と、多くのバンクに分か
れたメモリーとを備え、これら複数の演算器601〜602と
各メモリーバンクとの接続が任意に行える構成となって
いる。そして、これらの演算器601〜602で行われる演算
と各メモリーバンクとの接続を並列に制御し、複数の演
算を同一サイクルで並列に実行している。
(Prior Art) In recent years, various parallel execution methods have been proposed along with an increase in the amount of computation required for a processor. As shown in FIG. 6, a conventional parallel execution type processor (parallel operation device) includes a plurality of operation units 601 to 602 and a memory divided into many banks. The connection with each memory bank can be arbitrarily made. Then, the operations performed by these arithmetic units 601 to 602 and the connection with each memory bank are controlled in parallel, and a plurality of operations are executed in parallel in the same cycle.

一方、並列演算装置による演算実行時の動作の重要な
ものの一つに、条件分岐命令実行時になされる条件分岐
動作がある。これは、条件分岐命令中で指定された分岐
条件とフラグレジスタ603とが、ある関係を満たしてい
たときに、同じく条件分岐命令中で指定されたアドレス
に命令ポインタ604の値を書き換え、結果として分岐条
件分岐命令中で指定されたアドレスにするものである。
なお、フラグレジスタ603は、演算器602の出力結果によ
って書き換わるもので、一般には複数のビットで構成さ
れる。例えば、演算器602の出力が零になったときに論
理1に書き換わるビット、あるいは演算器602の出力が
負になったときに論理1に書き換わるビットなどを持
つ。
On the other hand, one of important operations at the time of execution of an operation by the parallel operation device is a conditional branch operation performed at the time of execution of a conditional branch instruction. This is because when the branch condition specified in the conditional branch instruction and the flag register 603 satisfy a certain relationship, the value of the instruction pointer 604 is rewritten to the address also specified in the conditional branch instruction, and as a result, The branch condition is set to the address specified in the branch instruction.
Note that the flag register 603 is rewritten according to the output result of the arithmetic unit 602, and generally includes a plurality of bits. For example, it has a bit that is rewritten to logic 1 when the output of the arithmetic unit 602 becomes zero, or a bit that is rewritten to logic 1 when the output of the arithmetic unit 602 becomes negative.

ここで、第6図のような、従来の並列演算装置では、
複数の演算器601〜602を持つにもかかわらず、フラグレ
ジスタは一つの演算器602に付属したフラグレジスタ603
を一つ持つのみである。このため、条件分岐時の分岐条
件の設定に大きな制約があった。
Here, in the conventional parallel operation device as shown in FIG.
Despite having a plurality of computing units 601-602, the flag register is a flag register 603 attached to one computing unit 602.
Has only one. For this reason, there has been a great restriction in setting the branch condition at the time of conditional branch.

例えば、第7図に示すフローチャートで表した動作、
すなわち 変数A<定数Cでかつ変性B=定数Dのとき、処理1
を実行 それ以外の時は処理2を実行 のような動作を考える。この場合の命令メモリの内容を
表したのが第8図である。第8図において、A−Cの命
令が設定されているアドレスより1インクリメントされ
たアドレスには、B−Cの命令が設定されている。ま
た、B−Cの命令が設定されているアドレスより1イン
クリメントされたアドレスには、処理1の実行命令が設
定されている。さらに、ある分岐先アドレスには、処理
2の実行命令が設定されている。
For example, the operation represented by the flowchart shown in FIG.
That is, when variable A <constant C and modification B = constant D, processing 1
In other cases, an operation such as Execute process 2 is considered. FIG. 8 shows the contents of the instruction memory in this case. In FIG. 8, a BC instruction is set at an address which is incremented by one from the address where the AC instruction is set. The execution instruction of the process 1 is set at an address that is incremented by one from the address where the BC instruction is set. Further, an execution instruction of the process 2 is set at a certain branch destination address.

このような動作を実験するには、まず、演算器602を
用いてA−Cを行い、その出力の符号に従ってフラグレ
ジスタ603のビットが書き換わる。制御回路605では、A
−Cの結果を表すフラグレジスタ603のビットの値か
ら、A<Cが成立しているか否かの判別を行う。A<C
が成立していないならば命令ポインタ604を、処理2の
実行命令が設定されている分岐先アドレスに書き換える
(条件分岐成立)。これにより、A<Cでないときには
処理2が実行される。一方、成立しているならば、命令
ポインタ604を1インクリメントする(条件分岐不成
立)。命令ポインタ604の1インクリメントされたアド
レスには、B−Cの命令が設定されているので、この命
令が再び演算器602によって実行される。
In order to test such an operation, first, AC is performed using the arithmetic unit 602, and the bits of the flag register 603 are rewritten according to the sign of the output. In the control circuit 605, A
From the value of the bit of the flag register 603 indicating the result of −C, it is determined whether or not A <C holds. A <C
Is not established, the instruction pointer 604 is rewritten to the branch destination address where the execution instruction of the process 2 is set (conditional branch is established). Accordingly, when A <C is not satisfied, the process 2 is executed. On the other hand, if the condition is satisfied, the instruction pointer 604 is incremented by 1 (conditional branch is not satisfied). Since the BC instruction is set at the address of the instruction pointer 604 which is incremented by one, the arithmetic unit 602 executes this instruction again.

この実行結果の符号に従ってフラグレジスタ603のビ
ットが、再度書き換わり、そのビットの値から、B=C
が成立しているか否かの判別を制御回路605が行う。B
=Cが成立していないならば分岐先アドレスに分岐し、
処理2を実行する(条件分岐成立)。成立しているなら
ば、命令ポインタ604を1インクリメントして処理1を
実行する(条件分岐不成立)。
According to the sign of the execution result, the bit of the flag register 603 is rewritten again, and B = C
Is determined by the control circuit 605. B
If = C is not established, branch to the branch destination address,
Process 2 is executed (conditional branch taken). If the condition is satisfied, the instruction pointer 604 is incremented by 1 and the process 1 is executed (conditional branch is not satisfied).

以上の手順を実行することによって、第7図で示され
た処理フローを実現している。
By executing the above procedure, the processing flow shown in FIG. 7 is realized.

このように、従来の並列演算装置では、1つの演算器
602で複数の条件分岐命令を順次実行し、そのつど条件
が成立したか否かを判別していた。このため、演算器60
2が条件分岐命令を実行している間、信号処理本来の目
的のために演算器601〜602が利用できず、残された演算
器もその間は何も実行できなかった。
Thus, in the conventional parallel operation device, one operation unit
At 602, a plurality of conditional branch instructions are sequentially executed, and it is determined whether or not the condition is satisfied each time. Therefore, the operation unit 60
While 2 was executing the conditional branch instruction, the arithmetic units 601 to 602 could not be used for the original purpose of signal processing, and the remaining arithmetic units could not execute anything during that period.

(発明が解決しようとする課題) 以上のように、従来の並列演算装置では、条件分岐を
多数含むプログラムの実行においては、複数の演算器を
用いているにもかかわらず、非常に長い実行時間が費や
されてしまうという欠点があった。
(Problems to be Solved by the Invention) As described above, in the conventional parallel operation device, execution of a program including a large number of conditional branches has a very long execution time despite the use of a plurality of operation units. Had to be spent.

そこで、この発明は、従来の事情に鑑みてなされたも
のであり、その目的とするところは、複数の条件分岐命
令を複数の演算器によって同時並列に実行し、条件分岐
を多数含むプログラムの実行においても、演算処理能力
を向上させることができる並列演算装置を提供すること
にある。
Accordingly, the present invention has been made in view of the conventional circumstances, and has as its object to execute a plurality of conditional branch instructions simultaneously and in parallel by a plurality of arithmetic units, and to execute a program including a large number of conditional branches. Another object of the present invention is to provide a parallel operation device capable of improving the operation processing capacity.

[発明の構成] 上記目的を達成するため、この発明は、複数の条件分
岐命令に従った複数の演算を同時並列に実行する複数の
演算手段と、これら複数の演算手段それぞれに対応して
備えられ、演算手段によって得られた演算結果と前記条
件分岐命令の分岐条件とを比較し、演算結果が分岐条件
を満たしているか否かを判別する複数の比較手段と、こ
れら複数の比較手段によって得られた複数の比較結果同
志で、該比較結果と同時に与えられる前記複数の条件分
岐命令相互間の関係に応じた論理演算を行う論理演算手
段と、この論理演算手段によって得られた演算結果に従
い、前記複数の条件分岐命令以後に行うべき命令が設定
されているアドレスを選択する選択手段とから構成され
ている。
[Configuration of the Invention] In order to achieve the above object, the present invention provides a plurality of arithmetic means for simultaneously executing a plurality of arithmetic operations in accordance with a plurality of conditional branch instructions in parallel, and a plurality of arithmetic means corresponding to each of the plurality of arithmetic means. A plurality of comparison means for comparing the operation result obtained by the operation means with the branch condition of the conditional branch instruction to determine whether or not the operation result satisfies the branch condition; Logic operation means for performing a logical operation in accordance with the relationship between the plurality of conditional branch instructions provided simultaneously with the comparison result, based on the plurality of comparison results obtained, and an operation result obtained by the logical operation means, Selecting means for selecting an address in which an instruction to be executed after the plurality of conditional branch instructions is set.

(作用) 上記構成により、この発明は、複数の演算器が、複数
の条件分岐命令に従った複数の演算を同時並列に実行す
る。演算器によって得られた演算結果は、複数の演算器
それぞれに対応して備えられるフラグレジスタへ出力さ
れる。
(Operation) With the configuration described above, the present invention allows a plurality of arithmetic units to execute a plurality of operations in accordance with a plurality of conditional branch instructions in parallel. The operation result obtained by the operation unit is output to a flag register provided corresponding to each of the plurality of operation units.

フラグレジスタでは、そのビット内容を演算結果に応
じた内容に書き換える。書き換えられたビット内容は、
フラグレジスタと同様に複数の演算器それぞれに対応し
て備えられる比較回路へ出力される。
In the flag register, the bit content is rewritten to the content according to the operation result. The rewritten bit contents are
Like the flag register, the data is output to a comparison circuit provided for each of the plurality of arithmetic units.

比較回路は、フラグレジスタから出力されたビット内
容と、命令メモリから与えられる条件分岐命令の分岐条
件とを比較する。すなわち、この比較回路では、演算器
によって得られた演算結果が分岐条件を満たしているか
否かを判別している。複数の比較回路からは、論理回路
へ各々の比較結果を出力する。
The comparison circuit compares the bit content output from the flag register with a branch condition of a conditional branch instruction provided from the instruction memory. That is, the comparison circuit determines whether the operation result obtained by the operation unit satisfies the branch condition. The plurality of comparison circuits output respective comparison results to the logic circuit.

この論理回路では、複数の比較結果同志で論理演算を
行う。このときの論理演算は、複数の条件分岐命令相互
間の関係に応じた論理演算(例えば、論理和、論理積な
ど)を行っている。さらに、論理回路からは演算結果が
選択回路へ出力される。
In this logic circuit, a logical operation is performed using a plurality of comparison results. At this time, a logical operation (for example, a logical sum, a logical product, etc.) according to a relationship between a plurality of conditional branch instructions is performed. Further, the operation result is output from the logic circuit to the selection circuit.

選択回路ではこの演算結果に従い、複数の条件分岐命
令以後に行うべき命令が設定されている命令メモリ中の
アドレスを選択している。
The selection circuit selects an address in the instruction memory in which an instruction to be executed after a plurality of conditional branch instructions is set according to the operation result.

(実施例) 以下、図面を参照しながらこの発明の実施例を説明す
る。
(Example) Hereinafter, an example of the present invention will be described with reference to the drawings.

第1図は、この発明の並列演算装置に係わる一実施例
の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an embodiment relating to a parallel operation device of the present invention.

同図における並列演算装置は、複数の演算器101〜10
2、フラグレジスタ103〜105、比較回路113〜115、論理
回路116、命令ポインタ111、選択回路112、メモリ、お
よび命令メモリから構成されている。フラグレジスタ10
3〜105と比較回路113〜115は、演算器101〜102にそれぞ
れ対応して備えられている。
The parallel operation device in FIG.
2. It is composed of flag registers 103 to 105, comparison circuits 113 to 115, logic circuit 116, instruction pointer 111, selection circuit 112, memory, and instruction memory. Flag register 10
3 to 105 and comparison circuits 113 to 115 are provided corresponding to the arithmetic units 101 to 102, respectively.

演算器101〜102は、命令メモリから与えられる複数の
条件分岐命令に従った複数の演算を、同時並列に実行す
るものである。
The arithmetic units 101 to 102 execute a plurality of operations in parallel according to a plurality of conditional branch instructions provided from the instruction memory.

フラグレジスタ103〜105は、そのビット内容を演算器
101〜102から出力される演算結果に応じた内容に書き換
えるレジスタである。
The flag registers 103 to 105 use
This is a register for rewriting the contents according to the operation results output from 101 to 102.

比較回路113〜115は、フラグレジスタ103〜105のビッ
ト内容と、命令メモリから読み出された分岐条件との比
較を行う機能を有している。これによって比較回路113
〜115は、演算器101〜102が実行した演算結果が分岐条
件を満たしているか否かを判別している。
The comparison circuits 113 to 115 have a function of comparing the bit contents of the flag registers 103 to 105 with the branch condition read from the instruction memory. As a result, the comparison circuit 113
To 115 determine whether or not the operation results executed by the computing units 101 to 102 satisfy the branch condition.

論理回路116は、詳細は後述するが、比較回路113〜11
5から出力される複数の比較結果同志の論理演算を行う
役目を果たしている。この論理演算は、複数の条件分岐
命令相互間の関係に応じた論理演算(論理積、論理和な
ど)が行われる。
The logic circuit 116 will be described in detail later.
5 performs the logical operation of the plurality of comparison results output from each other. In this logical operation, a logical operation (logical product, logical sum, etc.) according to the relationship between a plurality of conditional branch instructions is performed.

選択回路112は、論理回路116から出力される演算結果
に従い、複数の条件分岐命令以後に行うべき命令が設定
されている命令メモリ中のアドレスを選択するところで
ある。具体的には、命令メモリから与えられる分岐先ア
ドレスか、あるいは現在の命令ポインタ111の値を1イ
ンクリメントしたアドレスを選択している。
The selection circuit 112 is to select an address in the instruction memory in which an instruction to be executed after a plurality of conditional branch instructions is set according to the operation result output from the logic circuit 116. Specifically, a branch destination address given from the instruction memory or an address obtained by incrementing the current value of the instruction pointer 111 by one is selected.

命令ポインタ111は、選択回路112によって選択された
アドレスを入力し、それを命令メモリへ出力するもので
ある。
The instruction pointer 111 inputs the address selected by the selection circuit 112 and outputs it to the instruction memory.

このように、この発明は構成されており、次にこの発
明の作用を説明する。
The present invention is configured as described above, and the operation of the present invention will be described below.

命令メモリより複数の条件分岐命令から演算器101〜1
02に与えられると、これらの条件分岐命令に従った複数
の演算が、演算器101〜102によって同時並列に実行され
る。これらの演算結果は、演算器101〜102からフラグレ
ジスタ103〜105へ出力される。これにより、フラグレジ
スタ103〜105のビット内容が、演算結果に応じた内容に
書き換えられる。
Operation units 101 to 1 from multiple conditional branch instructions from instruction memory
When given to 02, a plurality of operations in accordance with these conditional branch instructions are executed in parallel by the arithmetic units 101 to 102 in parallel. These operation results are output from the arithmetic units 101 to 102 to the flag registers 103 to 105. As a result, the bit contents of the flag registers 103 to 105 are rewritten to contents corresponding to the operation result.

書き換えられたフラグレジスタ103〜105のビット内容
は、信号線106〜108を通じて比較回路113〜115に与えら
れる。
The rewritten bit contents of the flag registers 103 to 105 are supplied to comparison circuits 113 to 115 through signal lines 106 to 108.

比較回路113〜115により、信号線117〜119を通して命
令メモリより与えられる分岐条件と、フラグレジスタ10
3〜105の出力106〜108とが比較される。すなわち、演算
器101〜102による演算結果が、分岐条件を満たしている
か否かが判別される。この結果は、信号線120〜122を通
じて論理回路116に与えられる。
By the comparison circuits 113 to 115, the branch condition given from the instruction memory through the signal lines 117 to 119 and the flag register 10
The outputs 106 to 108 of 3 to 105 are compared. That is, it is determined whether or not the calculation results of the calculators 101 to 102 satisfy the branch condition. The result is given to the logic circuit 116 through the signal lines 120 to 122.

論理回路116には、比較結果と同時に、複数の条件分
岐命令相互間の関係を表す情報が、命令メモリより信号
線123を通じて与えられている。論理回路116では、比較
回路113〜115による複数の比較結果同志が、複数の条件
分岐命令相互間の関係に応じて論理演算される。この論
理演算の結果から、選択回路112への選択信号125が生成
される。
To the logic circuit 116, information indicating the relationship between the plurality of conditional branch instructions is given from the instruction memory via the signal line 123 at the same time as the comparison result. In the logic circuit 116, a plurality of comparison results of the comparison circuits 113 to 115 are logically operated according to a relationship between a plurality of conditional branch instructions. From the result of this logical operation, a selection signal 125 to the selection circuit 112 is generated.

選択回路112により、選択信号125に従って命令ポイン
タ111の入力を、信号線124を通じて与えられる分岐先ア
ドレスとするか、または現在の命令ポインタ111の値を
1インクリメントしたものとするかが選択される。この
とき、分岐条件が成立していたならば、命令ポインタ11
1の入力として信号線124を通して与えられる分岐先アド
レスが選択される。これにより、分岐動作が行われる
(条件分岐成立)。一方、分岐条件が成立していなかっ
たならば、現在の命令ポインタ111の値を1インクリメ
ントした信号線126が選択される。これにより、命令ポ
インタ111は分岐先アドレスに書き換えられる変わりに
1インクリメントされる。(条件分岐不成立)。
According to the selection signal 125, the selection circuit 112 selects whether the input of the instruction pointer 111 is a branch destination address given through the signal line 124 or whether the current value of the instruction pointer 111 is incremented by one. At this time, if the branch condition is satisfied, the instruction pointer 11
A branch destination address given through the signal line 124 as an input of 1 is selected. As a result, a branch operation is performed (conditional branch is established). On the other hand, if the branch condition is not satisfied, the signal line 126 obtained by incrementing the current value of the instruction pointer 111 by one is selected. As a result, the instruction pointer 111 is incremented by one instead of being rewritten to the branch destination address. (Conditional branch not taken).

第2図に、論理回路116の詳細図を示す。ここでは、
説明を簡単にするためフラグレジスタ103と105の2つの
例をあげているが、複数のフラグレジスタ構成でも勿論
同様の構成が可能である。
FIG. 2 shows a detailed diagram of the logic circuit 116. here,
Although two examples of the flag registers 103 and 105 are given for simplicity of explanation, a similar configuration is of course possible with a plurality of flag register configurations.

フラグレジスタ103,105からの出力106,108は、比較回
路113と115に入力される。ジャンプ命令中に設定された
条件1による分岐条件を表す信号117と、条件2による
分岐条件を表す信号119との比較が行われ、それぞれの
分岐条件を満たしているか否かの判別が行われる。その
出力120,122は論理回路116に入力され、同じくジャンプ
命令中に設定された条件1と条件2の相互関係を表す信
号123に従って論理演算が行われる。そして、それらの
出力のうちの1つが選択され、選択回路112への選択信
号125が生成される。なお、今回の実施例では、条件1
と条件2の相互関係として、論理和、論理積、条件1の
み、条件2のみの4つの場合を示しているが、このほか
の論理演算を設定することも可能である。
Outputs 106 and 108 from the flag registers 103 and 105 are input to comparison circuits 113 and 115, respectively. A signal 117 representing a branch condition according to condition 1 set in the jump instruction is compared with a signal 119 representing a branch condition according to condition 2, and it is determined whether or not each branch condition is satisfied. The outputs 120 and 122 are input to a logic circuit 116, and a logical operation is performed in accordance with a signal 123 indicating a mutual relationship between the condition 1 and the condition 2 similarly set in the jump instruction. Then, one of the outputs is selected, and a selection signal 125 to the selection circuit 112 is generated. In this embodiment, the condition 1
And the condition 2 show four cases of a logical sum, a logical product, only the condition 1, and only the condition 2, but other logical operations can be set.

生成された選択信号125に従って選択回路112では、命
令中に設定されている分岐先アドレスか、命令ポインタ
を1インクリメントした値のどちらかが選択される。
According to the generated selection signal 125, the selection circuit 112 selects either the branch destination address set in the instruction or the value obtained by incrementing the instruction pointer by one.

次に、具体的な条件分岐命令を用いてこの発明の作用
を説明する。
Next, the operation of the present invention will be described using a specific conditional branch instruction.

例えば、第3図のような処理フローで表される条件分
岐命令を考える。
For example, consider a conditional branch instruction represented by a processing flow as shown in FIG.

このような命令の場合には、演算器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が実行される。
In the case of such an instruction, the arithmetic unit 101, the flag register 103, and the comparison circuit 113 determine the condition A,
The arithmetic unit 102, the flag register 105, and the comparison circuit 115 determine the condition B. Logic circuit 116 from instruction memory
The signal 123 given to the signal represents a logical product based on the correlation between the condition A and the condition B. Thereby, the logic circuit 11
In step 6, the logical product of the signals 120 and 122 output from the comparison circuits 113 and 115 is obtained, and the result is output to the selection circuit 112. In the selection circuit 112, when it means that the selection signal 125 satisfies both the condition A and the condition B,
The branch address 124 is selected. The branch address 124 is a head address of an area in the instruction memory in which the execution program of the process 1 is set in advance. Instruction pointer 11
1 is rewritten to this start address, and processing 1 is executed (conditional branch satisfied). On the other hand, when the selection signal 125 indicates that at least one of the condition A and the condition B is not satisfied, an address in which the value of the instruction pointer 111 is incremented by one is selected. At this time, if the execution program of the process 2 is set from the instruction next to the conditional branch instruction, the process 2 is executed (the conditional branch is not taken). Thus, in the case of the conditional branch instruction shown in FIG.
If both the condition and the condition B are satisfied, the process 1 is executed, and if at least one of the conditions is not satisfied, the process 2 is executed.

次に、第4図のような処理フローで表される条件分岐
命令を実行する場合を考える。これは、条件Aと条件の
どちらかが満たされた場合には処理1が実行され、条件
Aと条件Bの双方が満たされなかった場合には処理2が
実行されるというものである。この場合は、条件Aと条
件Bの相互関係を表す信号123により、論理回路116にお
いて条件Aと条件Bの論理和がとられる。これにより、
条件Aと条件Bのどちらかが満たされた場合には条件分
岐が成立し、処理1が実行される。それ以外の場合には
条件分岐不成立で処理2が実行される。
Next, consider the case of executing a conditional branch instruction represented by a processing flow as shown in FIG. This means that the process 1 is executed when either the condition A or the condition is satisfied, and the process 2 is executed when both the condition A and the condition B are not satisfied. In this case, a logical sum of the condition A and the condition B is obtained in the logic circuit 116 by the signal 123 indicating the mutual relationship between the condition A and the condition B. This allows
When either the condition A or the condition B is satisfied, the conditional branch is established, and the process 1 is executed. In other cases, the processing 2 is executed when the conditional branch is not satisfied.

さらに、第5図(a)のような場合には、条件分岐に
関係するのは条件Aのみであり、条件Bには関係しない
ため、信号123を条件Aのみを表すものにすればよい。
この命令の場合、条件Aが成立した場合には条件分岐が
成立し、処理1が実行され、それ以外の場合には条件分
岐不成立で処理2が実行される。
Further, in the case as shown in FIG. 5 (a), only the condition A is related to the conditional branch and is not related to the condition B. Therefore, the signal 123 may be made to represent only the condition A.
In the case of this instruction, if the condition A is satisfied, the conditional branch is taken, and the process 1 is executed. Otherwise, the process 2 is executed with the conditional branch not taken.

同様に、第5図(b)の場合には、信号123を条件B
のみを表すものにすることにより、条件Bが成立した場
合には処理1が実行され、それ以外の場合には処理2が
実行される。
Similarly, in the case of FIG.
By expressing only the above, the process 1 is executed when the condition B is satisfied, and the process 2 is executed otherwise.

このように、この並列演算装置では、複数の演算器10
1〜102によって複数の条件分岐命令に従った複数の演算
を、同時並列に実行することができる。さらに、比較回
路113〜115及び論理回路116により、複数の分岐条件が
満たされているか否かを一度に判別することができる。
これらにより、条件分岐命令以後の命令が設定されてい
るアドレスを素早く選択することができる。
Thus, in this parallel operation device, a plurality of operation units 10
A plurality of operations according to a plurality of conditional branch instructions can be executed simultaneously and parallelly by 1 to 102. Further, the comparison circuits 113 to 115 and the logic circuit 116 can determine at once whether a plurality of branch conditions are satisfied.
As a result, it is possible to quickly select the address where the instruction following the conditional branch instruction is set.

尚、フラグレジスタ間の演算としては、論理積、論理
和に限らず、その他種々の論理演算が考えられる。
The operation between the flag registers is not limited to the logical product and the logical sum, but may be various other logical operations.

[発明の効果] 以上のように、この発明の並列演算装置によれば、複
数の演算器それぞれに対応する比較回路、及び複数の条
件分岐命令相互間の関係に応じて論理演算する論理回路
を設けた。このため、複数の条件分岐命令を同時並列に
実行し、条件が満たされているか否かを瞬時に判別する
ことができる。これにより、条件分岐を多数含むプログ
ラムの実行においても、演算処理能力を低下させること
無く条件分岐動作を行うことが可能である。
[Effects of the Invention] As described above, according to the parallel operation device of the present invention, the comparison circuit corresponding to each of the plurality of operation units and the logic circuit that performs the logical operation according to the relationship between the plurality of conditional branch instructions are provided. Provided. Therefore, a plurality of conditional branch instructions can be executed simultaneously in parallel, and it can be instantaneously determined whether or not the condition is satisfied. As a result, even in the execution of a program including a large number of conditional branches, it is possible to perform the conditional branch operation without lowering the processing capacity.

【図面の簡単な説明】[Brief description of the drawings]

第1図はこの発明の並列演算装置に係わる一実施例の構
成を示すブロック図、第2図は第1図で示した論理回路
の詳細を示すブロック図、第3図乃至第5図はこの発明
の作用を説明するための条件分岐命令を表す処理フロ
ー、第6図は従来の並列演算装置の構成を示すブロック
図、第7図及び第8図は従来の並列演算装置を説明する
ための処理フロー及び命令メモリの概念図である。 101〜102……演算器 103〜105……フラグレジスタ 113〜115……比較回路 116……論理回路 111……命令ポインタ 112……選択回路
FIG. 1 is a block diagram showing a configuration of an embodiment relating to a parallel operation device of the present invention, FIG. 2 is a block diagram showing details of a logic circuit shown in FIG. 1, and FIGS. FIG. 6 is a block diagram showing a configuration of a conventional parallel operation device, and FIGS. 7 and 8 are diagrams for explaining a conventional parallel operation device. It is a conceptual diagram of a processing flow and an instruction memory. 101-102 arithmetic unit 103-105 flag register 113-115 comparison circuit 116 logic circuit 111 instruction pointer 112 selection circuit

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の条件分岐命令に従った複数の演算を
同時並列に実行する複数の演算手段と、 これら複数の演算手段それぞれに対応して備えられ、演
算手段によって得られた演算結果と前記条件分岐命令の
分岐条件とを比較し、演算結果が分岐条件を満たしてい
るか否かを判別する複数の比較手段と、 これら複数の比較手段によって得られた複数の比較結果
同志で、該複数の比較結果と同時に与えられる前記複数
の条件分岐命令相互間の関係に応じた論理演算を行う論
理演算手段と、 この論理演算手段によって得られた演算結果に従い、前
記複数の条件分岐命令以後に行うべき命令が設定されて
いるアドレスを選択する選択手段とを備えたことを特徴
とする並列演算装置。
A plurality of operation means for simultaneously executing a plurality of operations in accordance with a plurality of conditional branch instructions in parallel; and an operation result provided by the operation means provided for each of the plurality of operation means. A plurality of comparing means for comparing a branch condition of the conditional branch instruction and determining whether an operation result satisfies the branch condition; and a plurality of comparison results obtained by the plurality of comparing means, Logic operation means for performing a logical operation in accordance with the relationship between the plurality of conditional branch instructions provided simultaneously with the comparison result of the above, and performing the operation after the plurality of conditional branch instructions in accordance with the operation result obtained by the logical operation means Selecting means for selecting an address in which a power instruction is set.
JP2312912A 1990-06-15 1990-11-20 Parallel processing unit Expired - Fee Related JP2793357B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2312912A JP2793357B2 (en) 1990-11-20 1990-11-20 Parallel processing unit
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 (en) 1990-11-20 1990-11-20 Parallel processing unit

Publications (2)

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

Family

ID=18034959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2312912A Expired - Fee Related JP2793357B2 (en) 1990-06-15 1990-11-20 Parallel processing unit

Country Status (1)

Country Link
JP (1) JP2793357B2 (en)

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 (en) 2006-12-13 2009-02-25 ソニー株式会社 Arithmetic processing unit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043751A (en) * 1983-08-18 1985-03-08 Hitachi Ltd Information processor
JPH047711A (en) * 1990-04-26 1992-01-13 Toyoda Mach Works Ltd Automatic tool route creating device
JP2793342B2 (en) * 1990-08-09 1998-09-03 株式会社東芝 Arithmetic processing unit

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH06195322A (en) Information processor used as general purpose neurocomputer
JPS59174948A (en) Information processing device
JPH06309177A (en) Microcomputer
JPH09294069A (en) Programmable lsi and its arithmetic method
EP0201833A2 (en) Instruction processor
JPH03286332A (en) Digital data processor
JP2793357B2 (en) Parallel processing unit
JPH034936B2 (en)
JPH0650512B2 (en) Data processing device
JP2557629B2 (en) Interrupt method
JPH0222413B2 (en)
JPH06309349A (en) Program-controlled processor
JPH07110769A (en) Vliw type computer
JP3088956B2 (en) Arithmetic unit
JP2982129B2 (en) Micro program controller
JPH0644389A (en) Data driving information processor
JPH02181821A (en) Arithmetic device
JP2555124B2 (en) Image processing device
JPS6116334A (en) Data processor
JPS5995646A (en) Arithmetic control system
JP2522372B2 (en) Data driven computer
JPS628231A (en) Logical type data processor
JPS59223846A (en) Arithmetic processor
JPS5971542A (en) Arithmetic processor
JPS58146945A (en) Device for controlling branch of program

Legal Events

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