JPS60233772A - Vector processor - Google Patents

Vector processor

Info

Publication number
JPS60233772A
JPS60233772A JP8830584A JP8830584A JPS60233772A JP S60233772 A JPS60233772 A JP S60233772A JP 8830584 A JP8830584 A JP 8830584A JP 8830584 A JP8830584 A JP 8830584A JP S60233772 A JPS60233772 A JP S60233772A
Authority
JP
Japan
Prior art keywords
vector
circuit
processing
comparison
arithmetic
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
JP8830584A
Other languages
Japanese (ja)
Inventor
Tomoo Aoyama
青山 智夫
Yasuhiko Hatakeyama
畠山 靖彦
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.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering 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 Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP8830584A priority Critical patent/JPS60233772A/en
Publication of JPS60233772A publication Critical patent/JPS60233772A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE:To attain partially vector processing to an arithmetic by having mutual comparison of indirect address elements for the arithmetic processing including the indirect address designation fed at both sides of an arithmetic equation, and informing quickly the impropriety of reference to data by a high-order processing unit. CONSTITUTION:When the vector processing is started by a scalar processor 9, a decoder 3 resets a state control circuit 4, an FF within a comparison mask register 5 and counters via buses 13 and 15. Then a vector instruction train fetch requester 2 feeds a request to a main memory 1 via a bus 11 to read out a vector instruction. Thus the mutual comparison is carried out between indirect address elements in case an arithmetic is performed with an equation including the designation of indirect addresses fed at both sides of the equation. The result of said comparison is sent to the circuit 4 and the register 5. In other words, the impropriety of reference to data on the arithmetic including the designation of indirect addresses fed at both members of the equation is informed quickly to a high-order processor that started a vector processor. Thus the partial vector processing is made possible with this arithmetic.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ベクトル処理装置に係り、%にベクトルデー
タ間の比較の結果、処理を変更するような場合に好適な
ものに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a vector processing apparatus, and relates to an apparatus suitable for changing processing based on a comparison between vector data.

〔発明の背景〕[Background of the invention]

式の両辺に間接アドレス指定を含む演算は、一般に次の
ようにコーディングされる。
Operations involving indirect addressing on both sides of an expression are generally coded as follows:

Do 100 i=1 、 N 100 A(工NnE+41 ) = A(工anE!
xt:))re Btl)ここでのは任意の四則演算を
一つの演算子で表示していることを示している。この形
式の処理をベクトル処理すると、A配列を工NDEx2
mなる間接アドレス指定により、主記憶よシベクトルレ
ジスタにローディングする際、同時Km作しているA配
列を工NDKX山によってストアする処理との同期がと
られていないため、偶然に工NDIXと工NDFiX 
2ベクトルの両ベクトル要素集合内に同一の値を示すも
のが存在するとA配列ストア後にA配列ロード値が保証
されずベクトル処理結果が不当な値になる(この現象を
以後、データ参照不適とよぶ)。このため従来のベクト
ル処理装置は、式の両辺に間接アドレス指定を含む演算
をベクトル処理対象外としベクトル処理装置以外のスカ
ラー処理装置で逐次処理を行っていた。
Do 100 i=1 , N 100 A(Eng.NnE+41) = A(Eng.anE!
xt:))re Btl) here indicates that any of the four arithmetic operations is represented by one operator. If this type of processing is vector processed, the A array will be processed as NDEx2
When loading from the main memory to the vector register due to indirect addressing m, the process of storing the A array, which is being created at the same time, by the NDKX pile is not synchronized, so by chance the NDIX and NDIX NDFiX
If there is something that indicates the same value in both vector element sets of two vectors, the A array load value will not be guaranteed after the A array is stored, and the vector processing result will be an invalid value (this phenomenon is hereinafter referred to as data reference inappropriateness). ). For this reason, conventional vector processing devices exclude calculations that include indirect addressing on both sides of an expression from vector processing, and perform sequential processing using a scalar processing device other than the vector processing device.

しかしながら科学技術計算で出現する式の両辺に間接ア
ドレス指定を含む計算では、データ参照不適となる場合
はごくまれな場合と考えられ、この例外的なデータ参照
不適のために、高速ベクトル演算処理が不可能となり、
ベクトル処理装置の性能が発揮できない状態となってい
た。
However, in calculations that include indirect addressing on both sides of an expression that appears in scientific and technical calculations, it is thought that cases in which data referencing is inappropriate are extremely rare, and this exceptional inappropriateness of data referencing makes it difficult to perform high-speed vector arithmetic processing. becomes impossible,
The vector processing device was in a state where its performance could not be demonstrated.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、計算式の両辺に間接アドレス指定を含
む演算処理を高速に処理する機能を間接アドレスデータ
の比較を高速に行う仁とにより、当該計算を部分的にベ
クトル処理可能とすることで実現するベクトル処理装置
を提供することである。
An object of the present invention is to enable partial vector processing of calculations by combining the function of high-speed processing of arithmetic processing that includes indirect address specification on both sides of a calculation formula with the function of performing high-speed comparison of indirect address data. The object of the present invention is to provide a vector processing device that realizes the following.

〔発明の概要〕[Summary of the invention]

式の両辺に間接アドレス指定を含む式をコンパイラによ
って、第1図のように6つの機械命令群に変換する。即
ち第1段目の処理で間接アドレス要素間の相互比較を行
い、データ参照不適かあるか否かの判定を行う。この判
定結果により、該参照不適が見出されない場合、第2段
のベクトル命令にブランチし、高速ベクトル処理を行う
。当該不適が見出された場合、第3段のスカラー命令群
にブランチする。
An expression that includes indirect addressing on both sides of the expression is converted by a compiler into a group of six machine instructions as shown in FIG. That is, in the first stage of processing, indirect address elements are compared with each other, and it is determined whether data reference is inappropriate or not. As a result of this determination, if the reference is not found to be inappropriate, the process branches to the second stage vector instruction and performs high-speed vector processing. If such unsuitability is found, a branch is made to the third stage scalar instruction group.

本方式の効果を、従来の逐次処理方式との処理時間比率
で示すと、 便米の逐久酊鼻款り酊昇符同 ) 従来の逐次計算法の時間 科学技術計算の場合、a〜1であるから、を得る。ここ
でイ/デクスをは間接アドレスデータを保持している配
列を意味する。本方式の有効性はインデクスの比較を高
速に行い、その結果をとり出す・・・−ドウエア論理構
成に依存する。
The effect of this method is shown in terms of the processing time ratio compared to the conventional sequential processing method. Since, we get . Here, id/dex means an array holding indirect address data. The effectiveness of this method depends on the software's logic configuration, which performs index comparisons at high speed and extracts the results.

インデクス比較を高速に行うため、工NDKXとIND
EX 20両ベクトルから構成できるマトリクスを考え
る(第2図)。インデクス比較を行わなければならない
範囲は、第2図の行列の対角線の下側部分である。(こ
の部分を以後サーチ空間と呼ぶ)。
In order to perform index comparison at high speed, NDKX and IND
Consider a matrix that can be constructed from EX 20 vectors (Figure 2). The range in which index comparisons must be made is below the diagonal of the matrix in FIG. (This part will be referred to as the search space from now on).

サーチ空間は任意の順序で比較演算を行うととができる
。また比較演算を任意の複数個の演算器で行うことがで
きる。この2つの特徴はベクトル処理装置によく適合し
、スカラーの比較演算と比較して100倍近い処理速度
をうる仁とができる。一方、データ参照不適が検出され
たならば、直ちにサーチ処理を行っている処理装置の動
作を停止し、データ参照不適が検出されたことを外部の
処理装置に報告する必要がある。
The search space can be used to perform comparison operations in any order. Furthermore, comparison operations can be performed using any number of arithmetic units. These two features are well suited to vector processing devices, and can achieve processing speeds nearly 100 times faster than scalar comparison operations. On the other hand, if an inappropriate data reference is detected, it is necessary to immediately stop the operation of the processing device performing the search process and report the detection of the inappropriate data reference to an external processing device.

この処理装置高速中断及び比較結果の論理和をとシなが
ら該情報を保持しつづける機能は、従来のベクトル処理
装置には備わっていない。
Conventional vector processing devices are not equipped with this function of rapidly interrupting the processing device and continuing to hold the information while performing the logical sum of the comparison results.

この処理装量中断及び保持機能を実現するため、ベクト
ル処理装置内のベクトル命令制御回路内に、比較演算結
果゛を保持する1 bit巾の7リツプフロツ2グと何
番目の要素で比較結果の一致(又は不一致)がとられた
かを指示するためのカウンタを、そnぞれ複数組(以後
この組を比較マスクレジスタと呼ぶ)設置する。該比較
マスクレジスタは、ベクトル処理装置が外部ノ上位の処
理袋@によって起動された際リセットされ、続いて処理
されるインデクス比較演算の結果、一致がとられた際“
1″ となる。このビットは直ちにベクトル制御回路内
の他の論理回路によって検出され、ベクトル処理装置を
停止させる。同時に比較マスクレジスタが“1″となっ
た時点の一致カウンタの値が、外部の処理装置から読出
し可能なレジスタにセットされ、ベクトル処理装置は、
それを起動した上位の処理装置に割込を報告する。比較
演算の結果、不一致の場合に、上記の動作を起こすよう
なベクトル命令列がコンパイラによって指示された場合
比較演算結果をインバータによって逆転して「一致」の
場合と同様の処理を可能とする。
In order to realize this processing capacity interruption and holding function, the vector instruction control circuit in the vector processing device is designed to match the 1-bit wide 7-lip float 2 that holds the comparison operation result and the element at which the comparison result matches. A plurality of sets of counters (hereinafter, these sets will be referred to as comparison mask registers) are provided to indicate whether a difference (or a mismatch) has been taken. The comparison mask register is reset when the vector processing device is activated by an external upper processing bag @, and is reset when a match is found as a result of the index comparison operation that is processed subsequently.
1". This bit is immediately detected by another logic circuit in the vector control circuit and stops the vector processing device. At the same time, the value of the coincidence counter at the time when the comparison mask register becomes "1" is is set in a register readable by the processing unit, and the vector processing unit
The interrupt is reported to the higher-level processing device that started it. In the case of a mismatch as a result of the comparison operation, if a vector instruction sequence that causes the above operation is specified by the compiler, the comparison operation result is reversed by an inverter to enable the same processing as in the case of "match".

以上により、データ参照不適が検出された場合、該参照
不適を検出したベクトル処理装置を起動した上位の処理
装置に、割込みによって制御が移行し、当該処理装置は
式の両辺に間接アドレス指定を含む演算処理をスカラー
コード(第1図参照)によって処理を行うっ逆に比較演
算によってデータ参照不適が検出さ九なかった場合、比
較処理を行ったベクトル処理装置は、正常に終了し、次
にセットしである間接アドレス指定の含まれる演算処理
のベクトルコード(第1図参照)の実行を開始する。
As described above, when an inappropriate data reference is detected, control is transferred by interrupt to the higher-level processing device that started the vector processing device that detected the inappropriate reference, and the processing device includes indirect addressing on both sides of the expression. Arithmetic processing is performed using a scalar code (see Figure 1); conversely, if no inappropriate data reference is detected by comparison processing, the vector processing device that performed the comparison processing terminates normally, and the next Execution of the vector code (see FIG. 1) for arithmetic processing including indirect addressing is started.

以上のようにインデクス比較演算を高速ベクトル処理シ
、ソの結果によって、間接アドレス指定を含む演算を、
データ参照不適のない場合にベクトル処理し、該参照不
適条件検出時には逐次スカラー処理することによって、
高速に処理が可能となる。第3図に、本発明のベクトル
処理装置による間接アドレス指定を含む演算処理のタイ
ムチャートを、時間を横軸にして図示した。第3図にお
いて、(a)はデータ参照不適なしの場合、(h)はデ
ータ参照不適の場合をそれぞれ示す。
As described above, index comparison operations are performed using high-speed vector processing.
By performing vector processing when there is no inappropriate data reference, and sequentially performing scalar processing when the reference inappropriate condition is detected,
Processing becomes possible at high speed. FIG. 3 shows a time chart of arithmetic processing including indirect addressing by the vector processing device of the present invention, with time on the horizontal axis. In FIG. 3, (a) shows a case where data reference is not inappropriate, and (h) shows a case where data reference is inappropriate.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を図面を用いて説明する。第4
図は、本発明の一実施例の概略ブロック図である。1は
主記憶装置、2はベクトル処理装置がベクトル命令列を
読出すための7エツチリクエスタ、3は読出されたベク
トル命令を解読し、該命令実行に必要なりクエスタ及び
演算器(以下両者を総称してリソースと呼ぶ)をアサイ
ンする論理回路(以下デコーダとよぶ)4/fi、ベク
トル命令実行のためのリソースの状態ベクトルレジスタ
、本発明で導入された比較マスクレジスタの状態を管理
する状態保持7リツプフロツ1回路群と、それらを制御
する論理回路からなる状態管理回路、5は比較マスクレ
ジスタ群とそれらが示す割込情報を制御しかつ送出する
論理を有する論理回路(以下比較マスクレジスタという
)、6は状態管理回路4の状態保持回路によって実行す
べきベクトル命令の要求するリソース、レジスタ群の使
用許可がなされた場合、これらのリソース、レジスタ制
御回路を起動するための起動情報を生成するための命令
起動回路、7は間接アドレスを保持しているインデクス
配列要素間の一致(又は不一致)がとられた場合の比較
マスクレジスタ5内のカランタの値、すなわち一致がと
られたインデクス配列要素番号がセットされる7リツプ
フロツプ回路、8はインデクス要素比較を行うペクト、
ル演算器、9はベクトル処2理装置を制御するスカラー
処理装置である。
An embodiment of the present invention will be described below with reference to the drawings. Fourth
The figure is a schematic block diagram of one embodiment of the invention. 1 is the main memory, 2 is a 7-chiri requester for the vector processing unit to read a vector instruction string, and 3 is a requester and an arithmetic unit (hereinafter referred to collectively as both are used to decode the read vector instruction and are necessary for executing the instruction). A logic circuit (hereinafter referred to as a decoder) 4/fi that assigns a resource (hereinafter referred to as a resource), a state vector register of a resource for executing a vector instruction, and a state holding 7 that manages the state of a comparison mask register introduced in the present invention. A state management circuit consisting of a lipflot 1 circuit group and a logic circuit that controls them; 5 a logic circuit that has a group of comparison mask registers and logic that controls and sends out the interrupt information they indicate (hereinafter referred to as a comparison mask register); 6 is used to generate activation information for activating these resources and the register control circuit when permission is given to use the resources and register group required by the vector instruction to be executed by the state holding circuit of the state management circuit 4. The instruction activation circuit 7 indicates the value of the quanta in the comparison mask register 5 when there is a match (or mismatch) between the index array elements holding indirect addresses, that is, the index array element number where the match was found. 7 lip-flop circuits are set; 8 is a pect for comparing index elements;
9 is a scalar processing device that controls the vector processing device.

この第4図を用いて、間接アドレス間の比較演算動作と
比較した結果、一致(又は不−t)−がとられた場合の
スカラー処理装置9への割込み発生までの動作概要を説
明する(従って第4図には、ベクトル処理装置がベクト
ル演算を行うために必要なベクトルレジスタ、四則演算
を行うためのベクトル演算器、主記憶装置1とベクトル
レジスタ間のデータ転送を行うためのりクエスタ回路は
描かれていない。またスカラー処理装置9と主記憶装置
1間のデータ転送バス等も省略されている)。
Using FIG. 4, an outline of the operation up to the generation of an interrupt to the scalar processing device 9 when a match (or non-t) is found as a result of comparison with the comparison operation between indirect addresses will be explained ( Therefore, in FIG. 4, the vector registers necessary for the vector processing device to perform vector operations, the vector arithmetic unit for performing the four arithmetic operations, and the Questa circuit for transferring data between the main storage device 1 and the vector registers are shown. (Not shown. Data transfer buses between the scalar processing device 9 and the main storage device 1, etc. are also omitted).

スカラー処理装置9によって、ベクトル処理装置が起動
された後、デコーダ3は、バス13゜15によって状態
管理回路4、比較マスクレジスタ5内の7リツプフロツ
プ、カウンタ類を全てリセットする。次にベクトル命令
列フェッチリクエスタ2はバス11を通して主記憶装置
1iCベクトル命令読出しのリクエストを発行する。こ
のリクエストに対して、主記憶装置1よシハス12を使
用してベクトル命令列がリクエスタ2を介してデコーダ
51C送られる。デコーダ゛3はベクトル命令列を解読
し、当該命令実行に必要なリソース、レジスタ類の7サ
インを行い、該リソース、レジスタのビジー状態をノ(
ス13を通じて状態管理回路4に間合わせる。
After the vector processing device is activated by the scalar processing device 9, the decoder 3 resets the state management circuit 4, the seven lip-flops in the comparison mask register 5, and all counters via the bus 13.about.15. Next, the vector instruction string fetch requester 2 issues a request to read the vector instruction from the main memory 1iC via the bus 11. In response to this request, a vector instruction sequence is sent to the decoder 51C via the requester 2 using the main memory 1 and the storage 12. The decoder 3 decodes the vector instruction sequence, signs the resources and registers necessary for executing the instruction, and indicates the busy state of the resources and registers.
The state management circuit 4 is connected to the state management circuit 4 through the bus 13.

状態管理回路4の詳細は第5図に示す通りである。本回
路はリソースとレジスタの数だけ1ノビートしている。
Details of the state management circuit 4 are as shown in FIG. This circuit has one beat equal to the number of resources and registers.

デコーダ6から間合わされるリソースとレジスタ状態は
、おのおのリソースレジスタにつけられた番号に従って
、・くス13(該バスは東線)を通って30のAND回
路に入力される。このAND回路にはラッチ61からの
出力も入力となっている。ラッチ31はリセット時“1
″となるようリセットされる。従ってリソース、レジス
タがビジー状態でない時論理和力;とられ、状態管理回
路4の出力14(東線)K、、当該リソース、レジスタ
使用許可を意味する“1“が出力される。この出力はデ
コーダ3に送られると同時に、インノく−232によっ
て逆転させられ、ラッチ31の内容を“0″に変化させ
る。同時にセレクタ63は閉じられ、ノ(ス16からリ
セット信号が来て、ラッチの内容が“1“となるまで開
かれない。続くベクトル命令によって当該ラッチに対応
するリソース、レジスタの状態問合わせが来た場合、ラ
ッチ31の内容が“0″′となっているのでANDがと
られず、ノクス14上には“0“が出力される。
The resource and register states sent from the decoder 6 are input to 30 AND circuits through a bus 13 (the bus is the east line) according to the number assigned to each resource register. The output from the latch 61 is also input to this AND circuit. The latch 31 is “1” at reset.
Therefore, when the resource or register is not in a busy state, the logical sum is taken, and the output 14 (east line) K of the state management circuit 4 is "1", which means that the resource or register is permitted to be used. is output. This output is sent to the decoder 3, and at the same time is reversed by the input node 232, changing the content of the latch 31 to "0". At the same time, the selector 63 is closed, and the reset signal is output from the node 16. It will not be opened until a signal comes and the contents of the latch become “1”.If a subsequent vector instruction inquires about the status of the resource or register corresponding to the latch, the contents of the latch 31 will become “0”. Therefore, the AND is not performed and "0" is output on the node 14.

以上の動作によシ、リソース、レジスタの状態が管理さ
れる。状態管理回路4によって起動可となったベクトル
命令は、)<ス50を通って、命令起動回路6に送られ
る。命令起動回路はベクトル命令実行に必要な情報を生
成した後 、(ス51,52を使用して該情報をそれぞ
れ各リソース、ベクトルレジスタ制御回路に送信する。
The above operations manage the states of resources, registers, and so on. The vector instruction that has been enabled to be activated by the state management circuit 4 is sent to the instruction activation circuit 6 through the )< path 50 . After the instruction activation circuit generates the information necessary to execute the vector instruction, it sends the information to each resource and vector register control circuit using steps 51 and 52, respectively.

次に間接アドレス比較のためのベクトル命令が起動され
た後のベクトル処理装置の動作について説明する。演算
器8よシバス16 、17 、18を使用して、それぞ
れ比較演算終了、比較結果イネーブル、比較結果が状態
管理回路4、比較マスクレジスタ5に送られる。比較演
算終了を意味する信号は、バス16を通って第5図の演
算器対応のラッチ61のリセット入力となる。当該信号
により、演算器のビジー状態は解除される。
Next, the operation of the vector processing device after a vector instruction for indirect address comparison is activated will be described. Using the arithmetic unit 8 and the servers 16, 17, and 18, the comparison operation is completed, the comparison result is enabled, and the comparison result is sent to the state management circuit 4 and the comparison mask register 5, respectively. A signal indicating the end of the comparison operation passes through the bus 16 and becomes a reset input of the latch 61 corresponding to the arithmetic unit shown in FIG. The signal releases the busy state of the arithmetic unit.

第6図は比較マスクレジスタ回路の詳細を示したもので
、比較結果イネーブルは)くス17を介してAND回路
回路2人0 にはバス40を経由してタイミングノくバスおよびバス
17から比較結果が入力されている。該AND回路20
の出力はOR回路23を経由してフリップフロップ24
に入力される。当該フリップフロップ24の出力はバス
42を通ってOR回路23の入力となる。これらの回路
により、ベクトル処理装置が起動され、その時0クリ゛
γさnたフリップフロップ24上に、比較演算結果の全
ての論理和か蓄積される。当該フリップフロップ24は
演算器8の演算終了信号(・<ス16上)Kよシリセッ
トされない。一方比較演算が不一致の時、割込みを発生
するようなベクトル命令がデコードされた場合、デコー
ダ5dバス19を通して比較結果逆転信号を送出する。
FIG. 6 shows the details of the comparison mask register circuit, in which the comparison result enable is passed through the bus 17 to the AND circuit circuit 2 and 0 to the timing register bus 17 via the bus 40. The results are entered. The AND circuit 20
The output of is sent to the flip-flop 24 via the OR circuit 23.
is input. The output of the flip-flop 24 passes through the bus 42 and becomes an input to the OR circuit 23. These circuits activate the vector processing device, and the OR of all comparison operation results is stored on the flip-flop 24, which is then cleared to zero. The flip-flop 24 is not reset by the computation end signal K of the arithmetic unit 8 (on the switch 16). On the other hand, if a vector instruction that generates an interrupt is decoded when the comparison operation does not match, a comparison result inversion signal is sent through the decoder 5d bus 19.

この信号は第6図のセレクタ29を作動させ、比較結果
が送ら糺て来るバス18をインバータ28の方へ切換え
る。この動作によp、AND回路回路2人0 転した比較結果が得られる。以下の動作は「一致」の場
合に同じである。
This signal activates the selector 29 of FIG. 6, which switches the bus 18, on which the comparison results are transmitted, to the inverter 28. This operation yields a comparison result in which both p and AND circuits are inverted. The following operations are the same in the case of "match".

フリップフロップ24の内容が“1″、すなわち一致が
とられた場合、その信号はバス43を通じて第4図の回
路10へ送られる。回路10は複数演算器対応にとられ
た「一致」信号の全ての論理和をとる。これにより、第
2図で示したインデクスINDEXおよび工NDRX2
間の比較すべき要素群から構築される行列様空間を複数
個の演算器によシ並列的にサーチできる。回路10の出
力はバス44を通じ、当該ベクトル処理装置を制御して
いる外部の処理装置へ割込みを意味する信号となって送
られる。
If the content of flip-flop 24 is "1", ie, a match, the signal is sent via bus 43 to circuit 10 of FIG. The circuit 10 performs the logical sum of all the "coincidence" signals corresponding to a plurality of arithmetic units. As a result, the index INDEX and index NDRX2 shown in FIG.
A matrix-like space constructed from a group of elements to be compared can be searched in parallel by multiple arithmetic units. The output of the circuit 10 is sent as an interrupt signal through the bus 44 to an external processing device controlling the vector processing device.

演算器が比較処理を行ったことを示す信号はバス17よ
シムND回路21に送られる。回路21ではタイミング
とのWM理槍をとシ、出力をバス46を通じて要素番号
カウンタ25へ送信する。
A signal indicating that the arithmetic unit has performed comparison processing is sent to the shim ND circuit 21 via the bus 17. The circuit 21 eliminates the timing and WM process and sends the output to the element number counter 25 via the bus 46.

該カウンタ25は、上記に示したように比較を行う母に
+1ずつ上昇順に加算される。該カウンタ2s扛演算器
の比較終了信号によって0クリアされる。即ち、この比
較終了信号は演算器からバス16を通じてAND回路2
2でタイミングとの論理積をとった後、バス47を通じ
てカウンタ25を0クリアする。
The counter 25 is incremented by +1 to the mother for comparison in ascending order as shown above. The counter 2s is cleared to 0 by the comparison end signal of the computation unit. That is, this comparison end signal is sent from the arithmetic unit to the AND circuit 2 via the bus 16.
After performing a logical product with the timing at step 2, the counter 25 is cleared to 0 via the bus 47.

一方、比較演算の結果一致がとられた場合、一致がとら
れた仁とを意味する信号は、演算器対応にバス45上に
生成され、バス45を通して当該カラ/り25のカウン
トアツプ動作を停止せしめる。同時にバス48を通じて
、カウンタ25の内容ハ、フリップフロップ7へ転送さ
れる。当該フリップフロップ7は、バス49を使用して
外部処理装置より胱出すことが可能である。
On the other hand, if a match is found as a result of the comparison operation, a signal indicating that there is a match is generated on the bus 45 corresponding to the arithmetic unit, and the count-up operation of the color/receiver 25 is carried out through the bus 45. Make it stop. At the same time, the contents of the counter 25 are transferred to the flip-flop 7 via the bus 48. The flip-flop 7 can be removed from an external processing device using the bus 49.

演算器の比較演算終了結果を示す信号は、バス16を通
じ、比較マスクレジスタ5に送られると同時に状態管理
回路4にも送信される。状態・α理回路4は、リソース
のビジー状態を示すフリップフロップ回路61(第5図
)を、該終了信号によって1“ にリセットする。状態
管理回路4は、リソースのビジー状態を示すフリップフ
ロップ31の内容が全て“1″になシ、ベクトル命令群
の終了を検出した場合、ベクトル処理装置を起動した外
部処理装置に、バス27を通して比較演算が終了したこ
とを報告する。
A signal indicating the completion result of the comparison operation of the arithmetic unit is sent to the comparison mask register 5 via the bus 16, and is also sent to the state management circuit 4 at the same time. The state/α management circuit 4 resets the flip-flop circuit 61 (FIG. 5), which indicates the busy state of the resource, to 1" by the end signal. The state management circuit 4 resets the flip-flop circuit 61 (FIG. 5), which indicates the busy state of the resource When the contents of the vector instruction group are all "1" and the completion of the vector instruction group is detected, the completion of the comparison operation is reported to the external processing device that started the vector processing device via the bus 27.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、式の両辺に間接アドレス指定を含む演
算のデータ参照不適を、従来のベクトル処理装置に比較
し、すみやかに当該ベクトル処理装置を起動した処理装
置が知ることができるので、該情報を利用して次なるベ
クトル演算又はスカラー演算を行うことができる。この
ことによシ、科学技術計算に多く出現するデータ参照不
適をほとんど包含しない、式の両辺に間接アドレス指定
を含む演算を、実質上ベクトル処理装置により処理可能
とすることが出来る。
According to the present invention, data reference inadequacies in calculations that include indirect addressing on both sides of an expression can be compared with conventional vector processing devices, and the processing device that has started the vector processing device can immediately know the The information can be used to perform subsequent vector or scalar operations. As a result, operations that include indirect addressing on both sides of an expression can be practically processed by a vector processing device, which hardly includes inappropriate data references that often occur in scientific and technical calculations.

また、本発明によシ期待できる、ベクトルデータ要素間
の一致時の割込み報告によって、鋏割込みを検出したベ
クトル処理装置内の一致検出時のカウンタ値を読出すこ
とによシ、次のようなりoループ外への分岐を含む処理
をベクトル処理可能とすることができる。
In addition, by reading the counter value at the time of the coincidence detection in the vector processing device that detected the scissors interrupt by the interrupt report at the time of a coincidence between vector data elements, which can be expected according to the present invention, the following can be achieved. Processing including branching outside the o-loop can be performed as vector processing.

DOlooi =j 、 N 工F(A(i) 、II!Q 、 B(i) ) Go
 To 200100 C0NT工NUIe 200変数値iを使用する処理 以上の本発明による実現される新機能によシベクトル処
理装置の適用範囲を拡張することが出来、装置の処理性
能を実質的に向上し得る。
DOlooi =j, N 工F(A(i), II!Q, B(i)) Go
To 200100 C0NT Engineering NUIe 200 The new functions realized by the present invention beyond the processing using the variable value i can expand the scope of application of the vector processing device and substantially improve the processing performance of the device.

本発明の適用によるハードウェア量増大分は新規にデー
タ参照不適をベクトル処理する専用演算器を設計するよ
シ、はるかに少なく経済性に富む。
The increase in the amount of hardware due to application of the present invention is much smaller and more economical than designing a new dedicated arithmetic unit for vector processing of inappropriate data references.

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

第1図は、式の両辺に間接アドレス指定を含む10グラ
ムが、コンパイラにより3ブロツクに変換されることを
示す図、第2図は、間接アドレスを示す2つのインデク
ス配列要素が構成するデータ参照不適を検査すべき行列
空間図、第3図は、式の両辺に間接アドレス指定を含む
計算の、データ参照不適なしとアシの場合の処理のタイ
ムチャート、第4図は、本発明に基づくベクトル処理装
置のベクトル命令制御系の概念図、1i45図蝶、第4
図内に示した状態管理回路の説明図、第6図は、第4図
内に示した比較マスクレジスタ回路の説明図である。 符号の説明 1・・・主記憶装置 2・・・フエクチリクエスタ 6・・・デコーダ 4・・・状態管理回路 5・・・比較マスクレジスタ 6・・・命令起wJ回路 7・・・フリ717021回路 8・・・ベクトル演算器 9・・スカラー処理装置 10・・・論理和回路 24 ・・・比較結果保持フリツプフロック25・・・
比較要素番号カウンタ 31・・・リソース状態保持フリップフロッグ。 第1 図 篤2図 INDEX 2 X3図 時間 (o−) −一一一チ 者4.図 第S図
Figure 1 shows how a 10-gram that includes indirect addressing on both sides of the expression is converted into three blocks by the compiler. Figure 2 shows a data reference made up of two index array elements indicating indirect addresses. Figure 3 is a matrix space diagram to check for inappropriateness; Figure 3 is a time chart of processing in the case of no data reference failure and reeds for calculations that include indirect addressing on both sides of the equation; Figure 4 is a vector diagram based on the present invention. Conceptual diagram of vector instruction control system of processing unit, 1i45 diagram butterfly, 4th
FIG. 6 is an explanatory diagram of the state management circuit shown in the figure, and FIG. 6 is an explanatory diagram of the comparison mask register circuit shown in FIG. Explanation of symbols 1...Main storage device 2...Fexecution requester 6...Decoder 4...State management circuit 5...Comparison mask register 6...Instruction wJ circuit 7...Furi 717021 Circuit 8... Vector arithmetic unit 9... Scalar processing unit 10... OR circuit 24... Comparison result holding flip-flop 25...
Comparison element number counter 31: Resource status holding flip frog. Figure 1 Atsushi Figure 2 INDEX 2 X3 Figure Time (o-) -111 Cheer 4. Figure S

Claims (1)

【特許請求の範囲】[Claims] 主記憶装置と、複数のベクトルレジスタと、前記主記憶
装置と前記ベクトルレジスタとの間のデータ転送を司さ
どる複数のデータ転送回路と、前記ベクトルレジスタか
ら受取ったベクトルデータに対しベクトル演算・処理を
行ない、結果を前記ベクトルレジスタに送出する複数の
ベクトル演算器を有し、前記データ転送回路と前記ベク
トル演算器の起動および終了を管理すると同時に、前記
ベクトルレジスタへのデータの書込みおよび読出しの管
理を行い、データ処理に論理的矛盾のないようにベクト
ル命令の起動制御を行う制御回路を具備するベクトル処
理装置において、前記制御回路内に、前記ベクトル演算
器から送出される比較演算結果を保持するフリツプフロ
ツプ回路と、比較要素番号を見出すカウンタ回路を具備
し、これらを前記ベクトルレジスタと同様に管理し、比
較演算結果が一致又は不一致を示した時に、ベクトル処
理装置による処理を停止し、同時に前記カウンタ回路の
カウント値を当該ベクトル処理装置を制御している外部
の処理装置から7リツプフロツグ回路にセットし、かつ
これら一連の動作が終了したことを外部処理装置に報告
するようにしたことを特徴とするベクトル処理装置。
A main storage device, a plurality of vector registers, a plurality of data transfer circuits that manage data transfer between the main storage device and the vector registers, and vector operations and processing on vector data received from the vector registers. and has a plurality of vector arithmetic units that send results to the vector register, and manages startup and termination of the data transfer circuit and the vector arithmetic units, and at the same time manages writing and reading of data to the vector register. In a vector processing device comprising a control circuit that performs activation control of vector instructions so that there is no logical contradiction in data processing, the comparison operation result sent from the vector arithmetic unit is held in the control circuit. It is equipped with a flip-flop circuit and a counter circuit for finding the comparison element number, and manages these in the same way as the vector register, and when the comparison operation result shows a match or mismatch, the processing by the vector processing device is stopped, and at the same time, the counter circuit is The count value of the circuit is set in the 7-lipfrog circuit from an external processing device controlling the vector processing device, and the completion of this series of operations is reported to the external processing device. Vector processing unit.
JP8830584A 1984-05-04 1984-05-04 Vector processor Pending JPS60233772A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8830584A JPS60233772A (en) 1984-05-04 1984-05-04 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8830584A JPS60233772A (en) 1984-05-04 1984-05-04 Vector processor

Publications (1)

Publication Number Publication Date
JPS60233772A true JPS60233772A (en) 1985-11-20

Family

ID=13939215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8830584A Pending JPS60233772A (en) 1984-05-04 1984-05-04 Vector processor

Country Status (1)

Country Link
JP (1) JPS60233772A (en)

Similar Documents

Publication Publication Date Title
Stone A logic-in-memory computer
US4295193A (en) Machine for multiple instruction execution
US4079451A (en) Word, byte and bit indexed addressing in a data processing system
US5613080A (en) Multiple execution unit dispatch with instruction shifting between first and second instruction buffers based upon data dependency
US3760369A (en) Distributed microprogram control in an information handling system
KR100346515B1 (en) Temporary pipeline register file for a superpipe lined superscalar processor
JPH0371248A (en) Method and apparatus for minimizing time- lag in cache mistake generation in processor
JPS58151655A (en) Information processing device
JPS5911943B2 (en) Trap mechanism for data processing equipment
US4047247A (en) Address formation in a microprogrammed data processing system
US4385365A (en) Data shunting and recovering device
JP7507304B2 (en) Clearing register data
JPH03286332A (en) Digital data processor
JPS60233772A (en) Vector processor
US3162841A (en) Instruction counter system
RU2066067C1 (en) Central processor for multiple-processor computer system
US5644761A (en) Basic operations synchronization and local mode controller in a VLSI central processor
JP3982077B2 (en) Multiprocessor system
JPH08263289A (en) Pipeline computer for plural instruction flows
JPS6240737B2 (en)
JPS6217777B2 (en)
JPH0486920A (en) Information processor and method for the same
Armstrong Functional memory techniques applied to the microprogrammed control of an associative processor
JPS5899869A (en) Parallel processing system
JPH10334081A (en) List vector processor