JPH05174047A - Vector processor - Google Patents

Vector processor

Info

Publication number
JPH05174047A
JPH05174047A JP3338080A JP33808091A JPH05174047A JP H05174047 A JPH05174047 A JP H05174047A JP 3338080 A JP3338080 A JP 3338080A JP 33808091 A JP33808091 A JP 33808091A JP H05174047 A JPH05174047 A JP H05174047A
Authority
JP
Japan
Prior art keywords
vector
register
data
logical
bits
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
JP3338080A
Other languages
Japanese (ja)
Inventor
Takaharu Nagumo
宇晴 南雲
Takao Nishida
隆夫 西田
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP3338080A priority Critical patent/JPH05174047A/en
Publication of JPH05174047A publication Critical patent/JPH05174047A/en
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

PURPOSE:To provide a vector processor which can carry out a coded multi-level logical arithmetic with a single instruction, can flexibly deal with various coding rules and arithmetic definitions with high universal applicability, and can perform the logical simulation at a high speed and with no deterioration of accuracy. CONSTITUTION:A vector processor consists of a main storage, a scalar processing part and a vector processing part. The vector processing part includes the registers 1-4, the decoders 5-20, the AND gates 405-916, and OR gates 917-948 in the form of a multi-level logical arithmetic circuit 1121 that can carry out a 2-bit quadruple logical operation. The 2-bit logical value codes to be calculated are taken out of the registers 1 and 2 and then decoded together by the decoders 8-20 to undergo an operation based on the truth value table data on the register 3. The result of this operation is outputted through the register 4 with a single operation.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ベクトル処理装置に関
し、特に論理シミュレーションなどにおけるような、一
語内の各ビット毎に処理の仕方を変える複雑かつ高速な
論理演算が必要となる分野で利用されるベクトル処理装
置に適用して有効な技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector processing device, and is particularly used in a field requiring a complicated and high speed logical operation for changing a processing method for each bit in one word, such as in a logic simulation. Technology effectively applied to a vector processing device.

【0002】[0002]

【従来の技術】たとえば、計算機などの論理装置の急速
な普及および大規模化に伴い、開発に要する期間の短縮
が課題となっており、このために開発を支援する様々な
システムの開発、高速化が試みられている。それらの中
で、設計の検証、テストデータの作成に用いられる論理
回路のシミュレータなどは、使用される時間が長いこと
からも最も高性能化しなければならないシステムであ
り、ベクトル処理装置を利用して大幅な高速化を図る例
がいくつか知られている。
2. Description of the Related Art For example, with the rapid spread and increase in scale of logic devices such as computers, reduction of the time required for development has become an issue. For this reason, development of various systems to support development, high speed Is being attempted. Among them, the logic circuit simulator used for design verification and test data creation is the system that must be made the most highly efficient because it is used for a long time. There are some known examples of achieving a significant speedup.

【0003】たとえば、1987年のアイイーイーイー
トランザクション・オン・コンピュータエイデッド・デ
ザイン誌、第6巻、3号の305から321ページや、
1988年のアイシーシーエイディー誌の198から2
01ページにこれに関する記述がある。しかし、従来の
ベクトル処理装置は主な用途として科学技術計算、すな
わち浮動小数点の行列式演算を想定しており、論理シミ
ュレーションなどの論理演算が主体の処理では細かなビ
ット操作が必要なことから、速度を犠牲にして複雑な命
令列とせざるをえなかった。
For example, pages 305 to 321 of 1987 IE Transactions on Computer Aided Design, Vol. 6, No. 3,
From 1988 ICI magazine 1982 to 2
There is a description about this on page 01. However, the conventional vector processing device assumes scientific and technical calculation, that is, floating-point determinant operation as its main application, and fine bit operation is necessary in processing mainly involving logical operation such as logical simulation. At the expense of speed, I had no choice but to use a complicated sequence of instructions.

【0004】また、論理シミュレーションでは、上記の
文献にも記載されているように、正しいシミュレーショ
ンを行うために通常の論理値‘0’、‘1’以外に不確
定値‘X’を導入する必要がある。この結果、論理値を
1ビットではなく、2ビット以上のコードで表現するの
で、一つの素子の論理演算を一つの汎用論理演算命令で
は実現できなくなる。従って、従来の汎用ベクトル処理
装置を使用する場合は演算テーブルを参照するか、複数
の命令を組み合わせて所定の演算を実現させている。
Further, in the logic simulation, as described in the above-mentioned literature, it is necessary to introduce an uncertain value'X 'in addition to the usual logic values'0' and '1' in order to perform a correct simulation. There is. As a result, since the logical value is represented by a code of 2 bits or more instead of 1 bit, the logical operation of one element cannot be realized by one general-purpose logical operation instruction. Therefore, when the conventional general-purpose vector processing device is used, the arithmetic table is referred to or a plurality of instructions are combined to realize a predetermined arithmetic operation.

【0005】さらに、処理の高速化を図るためにシミュ
レーション専用の演算器を付加する方法にも幾つかの例
がある。たとえば、特開昭60−140441号公報に
は、論理素子機能と入力信号データとをベクトルレジス
タに格納し、互いに異なる種類を含む複数の論理素子の
シミュレートを一命令で実行可能とするベクトル処理装
置が示されている。これは、取り扱う全ての素子の全て
の入力の組み合わせに対する演算テ−ブルを定義した記
憶装置を内部に備え、論理素子機能のコードと、入力論
理値の組み合わせとで参照することにより所定の演算を
実現させている。
Further, there are some examples of a method of adding an arithmetic unit dedicated to the simulation in order to speed up the processing. For example, Japanese Patent Laid-Open No. 60-140441 discloses a vector process in which a logic element function and input signal data are stored in a vector register, and a plurality of logic elements including different types can be simulated by one instruction. The device is shown. This is provided with a storage device internally defining an operation table for all combinations of inputs of all the elements to be handled, and a predetermined operation can be performed by referring to a code of a logic element function and a combination of input logical values. Has been realized.

【0006】また、特開昭61−80452号公報で
は、シフタ、演算器およびビット毎のマージ回路などを
直列につないだ専用演算器を組み込むことにより、シフ
ト量、演算の種類およびマージするビットの位置を適当
に指定して、2ビット以上にコード化された論理値や、
それらを一語内に複数格納するような場合の論理演算を
一命令で実行し、処理の高速化を図るような論理シミュ
レータに応用できるベクトル処理装置が示されている。
Further, in Japanese Patent Application Laid-Open No. 61-80452, by incorporating a dedicated arithmetic unit in which a shifter, an arithmetic unit, a merging circuit for each bit, etc. are connected in series, the shift amount, the type of arithmetic operation and the bit to be merged By specifying the position appropriately, the logical value coded into 2 bits or more,
There is disclosed a vector processing device that can be applied to a logic simulator that executes a logical operation in the case where a plurality of them are stored in one word by one instruction to increase the processing speed.

【0007】さらに、特開昭62−195570号公報
では、予め決められた2ビット以上のコード化の規則に
従ったアンド、オアおよび否定などの基本論理演算を行
う専用演算器を組み込んだ論理シミュレーション処理装
置が示されている。
Further, in Japanese Patent Laid-Open No. 62-195570, a logic simulation incorporating a dedicated arithmetic unit for performing basic logical operations such as AND, OR and NOT according to a predetermined coding rule of 2 bits or more. A processor is shown.

【0008】[0008]

【発明が解決しようとする課題】ところが、前記のよう
な従来技術において、たとえば2ビット以上にコード化
された論理値を用いる論理シミュレーションなどのビッ
ト単位の論理演算が主となる処理をする場合、演算テー
ブルを参照する方式を採用すると、主記憶装置へのアク
セスは通常ベクトル要素単位になるので、一ベクトル要
素内に複数のデータを格納し、一度に演算することによ
って高速化を図るパラレル方式を用いることができず、
さらに記憶装置を参照するための時間が必要となるので
高速化の障害となるなどの問題がある。
However, in the prior art as described above, when the main processing is a bit-wise logical operation such as a logical simulation using a logical value coded in 2 bits or more, If the method that refers to the operation table is adopted, the access to the main storage device is usually done in vector element units. Therefore, a parallel method that aims at speeding up by storing multiple data in one vector element and performing operation at once Cannot be used,
Further, since it takes time to refer to the storage device, there is a problem such as an obstacle to speeding up.

【0009】また、複数の命令を組み合わせることによ
って多値の論理演算を実現する場合には、ビット位置を
合わせたり、一つの論理値データをそれを構成する各ビ
ット毎に別々に演算するために、命令数増大による処理
時間の増加が問題となっている。
Further, in the case of realizing a multivalued logical operation by combining a plurality of instructions, in order to match the bit positions, or to operate one logical value data separately for each of the bits constituting it. The increase in processing time due to the increase in the number of instructions has become a problem.

【0010】一方、専用の演算器を付加する方式では、
追加した命令の汎用性および装置の製造コストなどが問
題となる。すなわち、論理回路の設計を検証する論理シ
ミュレータは、設計方式などの変更に対して柔軟に対応
できなければ専用演算器の設計からやり直さなければな
らず、また汎用計算機に対する性能上の優位性を保つた
めに、新しい高性能な計算機が出現する度に新しい技術
によって製造し直す必要もある。従って、製造コストは
一代限りのものではないので、付加することによる性能
の向上度に対する製造の容易さや汎用性は重要な問題と
なる。
On the other hand, in the method of adding a dedicated arithmetic unit,
The versatility of the added instruction and the manufacturing cost of the device are problems. In other words, a logic simulator that verifies the design of a logic circuit must start over from the design of a dedicated arithmetic unit if it cannot flexibly respond to changes in the design method, etc., and it retains its superiority in performance over general-purpose computers. Therefore, every time a new high-performance computer emerges, it must be remanufactured by a new technology. Therefore, since the manufacturing cost is not limited to one generation, ease of manufacturing and versatility with respect to the degree of improvement in performance due to addition are important problems.

【0011】さらに、演算テーブルを処理装置内に備え
る前記方法は、テーブルの一つのアドレスを一つのベク
トル要素に格納するのでパラレル方式へ応用することが
できず、また複数ビットによる論理値のコード化の規則
や、新規な素子の追加、素子の動作の変更などの度に装
置の演算器内の演算テーブルの定義内容を通常の使用と
は異なる初期設定経路で変更しなければならず、命令の
汎用性に欠けるという問題がある。
Further, the above method of providing the arithmetic table in the processor cannot be applied to the parallel system because one address of the table is stored in one vector element, and the encoding of the logical value by a plurality of bits is possible. Whenever the rule of, the addition of a new element, the change of the operation of the element, etc., the definition contents of the operation table in the operation unit of the device must be changed by the initialization route different from the normal use, There is a problem of lack of versatility.

【0012】また、予め決められた論理値のコード化の
規則、またはベクトル要素内での位置などについて特殊
化した演算器を付加する場合は、製造コストの割に汎用
性に欠けるという問題がある。
Further, in the case where an arithmetic unit specialized for a predetermined rule of encoding a logical value or a position within a vector element is added, there is a problem that the versatility is insufficient for the manufacturing cost. ..

【0013】そこで、本発明の目的は、2ビット以上に
コード化された多値の論理シミュレーションにおける素
子の論理動作の演算を単一の命令で実行できるように
し、さらにプログラムのオペランドに記述したレジスタ
に演算の真理値表を格納することにより、論理値コード
のビット数、ベクトル要素内での位置以外は、通常の使
用時に全く自由に設定することが可能である汎用性の高
い命令を有し、精度を落さずに高速な論理シミュレーシ
ョンを行うことのできるベクトル処理装置を提供するこ
とにある。
Therefore, an object of the present invention is to allow a single instruction to execute the operation of the logical operation of an element in a multi-valued logic simulation coded to 2 bits or more, and further to register the register described in the operand of the program. By storing the truth table of the operation in, it has a highly versatile instruction that can be set freely in normal use except for the bit number of the logical value code and the position in the vector element. An object of the present invention is to provide a vector processing device capable of performing high-speed logic simulation without lowering accuracy.

【0014】また、本発明の他の目的は、従来広く用い
られてきた‘0’、‘1’、‘X’の3値の論理シミュ
レーションにおいて、特定のコード化規則を採用するこ
とにより、否定論理演算命令を追加するだけで低コスト
にて基本論理演算であるアンド、オアおよび否定を各々
一命令で実行することができるベクトル処理装置を提供
することにある。
Another object of the present invention is to deny by adopting a specific coding rule in the three-valued logic simulation of "0", "1" and "X" which has been widely used in the past. An object of the present invention is to provide a vector processing device capable of executing the basic logical operations AND, OR, and negation with one instruction at low cost simply by adding logical operation instructions.

【0015】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

【0016】[0016]

【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
Among the inventions disclosed in the present application, a brief description will be given to the outline of typical ones.
It is as follows.

【0017】すなわち、本発明のベクトル処理装置は、
第一および第二のベクトルレジスタに保持される各ベク
トルデータ内の各ベクトル要素を複数のデータ格納領域
に分割し、これらの分割された各領域に一定のビット数
よりなるコードで表わされた論理値データを格納し、二
つのベクトルデータの間のそれぞれ対応する位置にある
二つの論理値データについて、プログラムにオペランド
コードとして記述された第三のベクトルレジスタに格納
した真理値表に従った演算を行い、結果の論理値データ
を第四のベクトルレジスタに保持するベクトルデータの
対応する位置に格納する処理を単一の命令で実行するも
のである。
That is, the vector processing device of the present invention is
Each vector element in each vector data held in the first and second vector registers is divided into a plurality of data storage areas, and each divided area is represented by a code consisting of a certain number of bits. Operates according to the truth table stored in the third vector register, which stores the logical value data and stores the two logical value data at the corresponding positions between the two vector data, which is described as the operand code in the program. And the resulting logical value data is stored in the corresponding position of the vector data held in the fourth vector register by a single instruction.

【0018】この場合に、前記第三のベクトルレジスタ
に格納される真理値表を任意に定義可能とするようにし
たものである。
In this case, the truth table stored in the third vector register can be arbitrarily defined.

【0019】さらに、前記第三のベクトルレジスタに代
えて、プログラムに記述されたオペランドコードを保持
する命令レジスタに真理値表を格納するようにしたもの
である。
Further, instead of the third vector register, the truth table is stored in the instruction register holding the operand code described in the program.

【0020】また、本発明の他のベクトル処理装置は、
第五のベクトルレジスタに保持されるベクトルデータ内
の各ベクトル要素を2ビットづつのデータ格納領域に分
割し、これらの分割された各領域に2ビットよりなるコ
ードで表わされた論理値データを格納し、この格納され
た論理値データについて各ビットを論理的に反転し、続
けて上位ビットと下位ビットの値を入れ替える操作を行
い、結果の論理値データを第六のベクトルレジスタに保
持するベクトルデータの対応する位置に格納する処理を
単一の命令で実行するものである。
Further, another vector processing device of the present invention is
Each vector element in the vector data held in the fifth vector register is divided into 2-bit data storage areas, and logical value data represented by a 2-bit code is stored in each of these divided areas. A vector that stores and logically inverts each bit of the stored logical value data, then switches the values of the upper bit and the lower bit, and holds the resulting logical value data in the sixth vector register. A single instruction executes a process of storing data at a corresponding position.

【0021】[0021]

【作用】前記したベクトル処理装置によれば、第一、第
二、第三および第四のベクトルレジスタを備え、真理値
表に従った論理値データの演算から結果の格納処理が単
一の命令で実行されることにより、論理回路の動作のシ
ミュレータとして利用することができる。
According to the above-described vector processing device, the first, second, third and fourth vector registers are provided, and the processing for storing the result from the operation of the logical value data according to the truth table is performed by a single instruction. It can be used as a simulator of the operation of a logic circuit by being executed by.

【0022】たとえば、このベクトル処理装置を実現す
るためには、いわゆる演算処理を単一の命令で実行する
多値論理演算機能を設け、その他に主記憶装置、ベクト
ルレジスタおよびスカラレジスタ、ベクトルレジスタま
たはスカラレジスタと主記憶装置との間のデータ転送を
行うリクエスタ、ベクトルレジスタまたはスカラレジス
タから受け取ったデータに対してベクトル演算を行い、
結果をベクトルレジスタまたはスカラレジスタに格納す
るベクトル演算器、スカラレジスタ並びに主記憶装置と
汎用レジスタとの間のデータ転送、および汎用レジスタ
から受け取ったデータに対する演算結果の汎用レジスタ
への格納を行うスカラ演算処理部などが備えられてい
る。
For example, in order to realize this vector processing device, a multivalued logical operation function for executing so-called arithmetic processing with a single instruction is provided, and in addition, a main memory device, a vector register and a scalar register, a vector register or Performs vector operation on data received from requester, vector register or scalar register that transfers data between scalar register and main memory,
A vector operation unit that stores the result in a vector register or a scalar register, a scalar operation that transfers data between the scalar register and the main memory and a general-purpose register, and stores the operation result of the data received from the general-purpose register in the general-purpose register. A processing unit and the like are provided.

【0023】また、ベクトル演算器には、多値論理演算
機能の主要部分であるベクトルレジスタまたはスカラレ
ジスタから被演算データを受け取る第一および第二のベ
クトルレジスタと、スカラレジスタから真理値表に相当
するデータを受け取る第三のベクトルレジスタと、第一
および第二のベクトルレジスタの各データ格納領域のデ
ータをデコードして第三のベクトルレジスタを参照する
ことで演算結果を得る組み合わせの多値論理演算回路
と、ベクトル演算器の出力を入力とし、ベクトルレジス
タまたはスカラレジスタにデータを送り出す第四のベク
トルレジスタと、特定の命令の実行時に第四のベクトル
レジスタの送り出しを行うセレクタ回路とが組み込まれ
ている。
The vector operation unit corresponds to a truth table from the first and second vector registers that receive the data to be operated from the vector register or the scalar register, which is the main part of the multi-valued logical operation function. Multi-valued logical operation that obtains the operation result by decoding the data in each data storage area of the first and second vector registers and referring to the third vector register A circuit, a fourth vector register that inputs the output of the vector operation unit and sends data to a vector register or a scalar register, and a selector circuit that sends out the fourth vector register when a specific instruction is executed are incorporated. There is.

【0024】この場合に、多値論理演算回路の第一およ
び第二のベクトルレジスタはオペランドに記述されたベ
クトルまたはスカラレジスタの内容が演算回路の入力に
印加される時刻を揃え、遷移状態にある不確定信号を通
さない機能があり、また演算回路の第四のベクトルレジ
スタは演算結果をレジスタに写す時刻を揃え、遷移状態
にある不確定演算結果を通さない機能がある。さらに、
セレクタ回路は複数の種類の命令に対応する演算結果を
出力する演算器から、指定された命令コードに対応する
結果だけを取り出し、ベクトルまたはスカラレジスタへ
送り出す機能を持つ。
In this case, the first and second vector registers of the multi-valued logic operation circuit are in a transition state with the times when the contents of the vector or scalar register described in the operands are applied to the input of the operation circuit. It has a function of not passing an uncertain signal, and the fourth vector register of the arithmetic circuit has a function of making the time of copying the operation result in the register uniform and not passing the uncertain operation result in the transition state. further,
The selector circuit has a function of taking out only a result corresponding to a specified instruction code from an arithmetic unit that outputs operation results corresponding to a plurality of types of instructions and sending the result to a vector or a scalar register.

【0025】これにより、多値論理演算回路は、演算対
象となるベクトルデータ内の予め決められた各々複数ビ
ットからなる論理値コードの格納位置から信号を取り出
し、互いに演算をする位置どうしの論理値データを合わ
せてデコードし、スカラレジスタから読み込んだレジス
タ上の真理値表データを参照して演算を行い、第四のベ
クトルレジスタを経由して、ベクトルまたはスカラレジ
スタの所定の格納位置にこの演算結果を出力することが
できる。
As a result, the multi-valued logic operation circuit takes out a signal from the storage position of the predetermined logic value code consisting of a plurality of bits in the vector data to be operated, and the logic values of the positions where the operations are performed mutually. The data is decoded together, the truth table data on the register read from the scalar register is referenced to perform the operation, and the result of this operation is stored in the predetermined storage position of the vector or scalar register via the fourth vector register. Can be output.

【0026】前記した他のベクトル処理装置によれば、
第五および第六のベクトルレジスタを備え、論理値デー
タの論理的な反転から上位と下位ビット値の入れ替え処
理が単一の命令で実行されることにより、論理回路の動
作のシミュレータとして利用することができる。
According to the other vector processing device described above,
Uses as a simulator of the operation of a logic circuit by providing a fifth and a sixth vector register, and performing the process of exchanging the upper and lower bit values from the logical inversion of logical value data with a single instruction. You can

【0027】すなわち、演算処理を単一の命令で実行す
る多値論理演算機能を設け、その主要部分であるベクト
ルレジスタまたはスカラレジスタからデータを受け取る
第五のベクトルレジスタと、このレジスタの出力を入力
とし、論理信号を反転するインバータだけからなる一段
の多値論理演算回路と、この演算回路の出力を入力と
し、ベクトルレジスタまたはスカラレジスタにデータを
送り出す第六のベクトルレジスタと、特定の命令の実行
時に第六のベクトルレジスタの送り出しを行うセレクタ
とが組み込まれている。
That is, a multi-valued logical operation function for executing arithmetic processing with a single instruction is provided, and a fifth vector register which receives data from a vector register or a scalar register, which is the main part thereof, and an output of this register are input. And a single-stage multi-valued logic operation circuit consisting only of an inverter that inverts a logic signal, a sixth vector register that outputs data to a vector register or a scalar register using the output of this operation circuit as an input, and the execution of a specific instruction Sometimes it incorporates a selector that sends out the sixth vector register.

【0028】これにより、多値論理演算回路は、第五の
ベクトルレジスタに保持されたベクトルデータ内の予め
決められた各々2ビットからなる論理値コードの格納位
置から信号を取り出し、信号の反転を行い、かつ各々上
位ビットと下位ビットを入れ替え、たとえば論理的
‘0’を00の2ビット、‘1’を11、不確定‘X’
を10と表すことにより、この操作で論理的否定演算を
行うことができる。
As a result, the multi-valued logical operation circuit takes out a signal from the storage position of the predetermined logic value code of 2 bits in the vector data held in the fifth vector register and inverts the signal. The upper bit and the lower bit are exchanged, for example, logically "0" is two bits of 00, "1" is 11, and uncertain "X".
By expressing 10 as a logical negation operation can be performed by this operation.

【0029】[0029]

【実施例1】図1は本発明の一実施例であるベクトル処
理装置を示す概略ブロック図、図2は本実施例のベクト
ル処理装置における特徴的な演算回路部分である汎用4
値論理演算回路を示す論理構成図、図3は本実施例にお
いて、4値論理演算における論理値コード化の一規則例
を示す説明図、図4は図3の規則による4値アンド論理
演算における真理値表を示す説明図、図5は図4の真理
値表の図2の演算回路内部での格納順序列を示す説明図
である。
First Embodiment FIG. 1 is a schematic block diagram showing a vector processing device according to an embodiment of the present invention, and FIG. 2 is a general-purpose 4 which is a characteristic arithmetic circuit portion in the vector processing device according to the present embodiment.
FIG. 3 is a logical configuration diagram showing a value logic operation circuit, FIG. 3 is an explanatory diagram showing an example of a rule of logic value coding in a four value logic operation in the present embodiment, and FIG. 4 is a four value AND logic operation according to the rule of FIG. FIG. 5 is an explanatory diagram showing a truth table, and FIG. 5 is an explanatory diagram showing a storage sequence in the arithmetic circuit of FIG. 2 of the truth table of FIG.

【0030】まず、図1により本実施例のベクトル処理
装置の構成を説明する。
First, the configuration of the vector processing apparatus of this embodiment will be described with reference to FIG.

【0031】本実施例のベクトル処理装置は、複数ビッ
トのコードで3値以上、たとえば2ビットにコード化し
た4値の論理値を表し、これらの多値の論理値の間で論
理演算を定義することができる、すなわちこの多値論理
演算のための特別な機能を付加したベクトル処理装置と
考えることができ、主記憶装置1101、スカラ処理部
1102およびベクトル処理部1103から構成されて
いる。
The vector processing device of this embodiment represents a 4-valued logical value coded into 3 values or more, for example, 2 bits by a code of a plurality of bits, and defines a logical operation between these multivalued logical values. That is, it can be considered as a vector processing device to which a special function for this multi-valued logical operation is added, and is composed of a main memory device 1101, a scalar processing unit 1102 and a vector processing unit 1103.

【0032】主記憶装置1101に格納されたスカラ処
理命令のオペレーションコードおよびオペランドコード
は、スカラ処理部1102のバッファ記憶装置1104
を経由し、命令バッファと命令デコーダを有する演算制
御部1105に入力される。
The operation code and operand code of the scalar processing instruction stored in the main storage device 1101 are stored in the buffer storage device 1104 of the scalar processing unit 1102.
Is input to the operation control unit 1105 having an instruction buffer and an instruction decoder.

【0033】主記憶装置1101に格納されたスカラデ
ータは、同様に、バッファ記憶装置1104を経由し、
演算制御部1105によりデコードされた命令に従っ
て、スカラ演算処理部1106に入力され、複数のレジ
スタからなる汎用レジスタ部1107にロードされる。
Scalar data stored in the main memory 1101 similarly passes through the buffer memory 1104,
In accordance with the instruction decoded by the arithmetic control unit 1105, it is input to the scalar arithmetic processing unit 1106 and loaded into the general-purpose register unit 1107 including a plurality of registers.

【0034】汎用レジスタ部1107から、複数のスカ
ラレジスタ1113と複数のベクトルレジスタ1114
とからなるベクトルレジスタ部1110へのデータ転送
命令が存在し、その命令が演算制御部1105で実行さ
れると、ベクトル処理部1103の演算制御部1109
へ制御信号が伝わり、ベクトルレジスタ部1110の入
力側セレクタ回路1112を制御して、この命令のオペ
ランドコードに記述された各々のレジスタ番号に従って
選択された汎用レジスタからスカラレジスタ1113へ
データを転送する。
From the general-purpose register unit 1107, a plurality of scalar registers 1113 and a plurality of vector registers 1114 are provided.
When there is a data transfer instruction to the vector register section 1110 consisting of and the instruction is executed by the arithmetic control section 1105, the arithmetic control section 1109 of the vector processing section 1103.
A control signal is transmitted to the input side selector circuit 1112 of the vector register section 1110 to transfer data from the general-purpose register selected according to each register number described in the operand code of this instruction to the scalar register 1113.

【0035】また、汎用レジスタ部1107からメモリ
リクエスタ1108へのデータ転送命令が存在し、その
命令が演算制御部1105で実行されると、演算制御部
1109へ制御信号が伝わり、メモリリクエスタ110
8内部の複数のアドレスレジスタ1125からなるアド
レスレジスタ部1124内のこの命令のオペランドコー
ドに記述された番号に従ったアドレスレジスタへ、指定
された番号の汎用レジスタからアドレスデータが転送さ
れる。
Further, there is a data transfer instruction from the general-purpose register unit 1107 to the memory requester 1108, and when the instruction is executed by the arithmetic control unit 1105, a control signal is transmitted to the arithmetic control unit 1109 and the memory requester 110.
The address data is transferred from the general-purpose register of the designated number to the address register according to the number described in the operand code of this instruction in the address register unit 1124 composed of the plurality of internal address registers 1125.

【0036】主記憶装置1101に格納されたベクトル
処理命令のオペレーションコードおよびオペランドコー
ドは、前記スカラ処理命令と同様に、バッファ記憶装置
1104を経由して演算制御部1109に入力される。
主記憶装置1101とベクトルレジスタ部1110内の
スカラレジスタ1113またはベクトルレジスタ111
4との間のデータ転送命令が存在する。
The operation code and operand code of the vector processing instruction stored in the main storage device 1101 are input to the operation control unit 1109 via the buffer storage device 1104, similarly to the scalar processing instruction.
The main memory 1101 and the scalar register 1113 or the vector register 111 in the vector register unit 1110
There is a data transfer instruction to and from the communication terminal 4.

【0037】これらの命令が演算制御部1109により
実行されると、レジスタへのロード命令の場合は、セレ
クタ回路1112によって、この命令のオペランドコー
ドの記述に従った該当番号のスカラレジスタ1113が
選択され、また、制御信号線1126により該当番号の
アドレスレジスタ1125が選択され、主記憶装置11
01の該当する位置からメモリリクエスタ1108、信
号線1131を経由して選択されたスカラレジスタ11
13またはベクトルレジスタ1114へベクトルデータ
が転送される。
When these instructions are executed by the operation control unit 1109, in the case of a load instruction to a register, the selector circuit 1112 selects the scalar register 1113 of the corresponding number according to the description of the operand code of this instruction. , The address register 1125 of the corresponding number is selected by the control signal line 1126, and the main memory device 11
The scalar register 11 selected from the corresponding position of 01 via the memory requester 1108 and the signal line 1131
13 or the vector data is transferred to the vector register 1114.

【0038】主記憶装置1101へのストア命令の場合
は、セレクタ回路1115によってこの命令のオペラン
ドコードの記述に従って、該当する番号のスカラレジス
タ1113またはベクトルレジスタ1114が選択さ
れ、また、該当番号のアドレスレジスタ1125が選択
され、信号線1132、メモリリクエスタ1108を経
由して主記憶装置1101へスカラレジスタ1113ま
たはベクトルレジスタ1114からデータがストアされ
る。
In the case of a store instruction to the main memory 1101, the selector circuit 1115 selects the scalar register 1113 or the vector register 1114 of the corresponding number according to the description of the operand code of this instruction, and the address register of the corresponding number. 1125 is selected, and data is stored from the scalar register 1113 or the vector register 1114 to the main memory 1101 via the signal line 1132 and the memory requester 1108.

【0039】ベクトルレジスタ部1110にロードされ
たベクトルデータに対する多値論理演算でない演算命令
を実行する場合は、選択された被演算レジスタの出力デ
ータは、セレクタ回路1115によって信号線1128
を通ってベクトル演算器1111に転送される。制御信
号線1127を経由した制御信号により、制御回路11
16は適当な時刻に信号線1128のデータをレジスタ
1117に保持し、演算回路1118によって演算し、
結果を適当な時刻にレジスタ1119に保持し、セレク
タ回路1123で選択し、信号線1130で再度ベクト
ルレジスタ部1110へ転送する。また、セレクタ回路
1112は指定されたスカラレジスタ1113またはベ
クトルレジスタ1114を選択し、信号線1130から
のデータを格納する。
When executing an arithmetic instruction that is not a multi-valued logical operation for the vector data loaded in the vector register section 1110, the output data of the selected operated register is output by the selector circuit 1115 to the signal line 1128.
And is transferred to the vector calculator 1111 through the. The control circuit 11 receives the control signal via the control signal line 1127.
16 stores the data of the signal line 1128 in the register 1117 at an appropriate time, and the arithmetic circuit 1118 calculates the
The result is held in the register 1119 at an appropriate time, selected by the selector circuit 1123, and transferred to the vector register unit 1110 again by the signal line 1130. Further, the selector circuit 1112 selects the designated scalar register 1113 or vector register 1114 and stores the data from the signal line 1130.

【0040】多値論理演算を実行する場合は、ベクトル
レジスタ部1110からのデータは信号線1129を通
って、制御回路1116により適当な時刻にレジスタ1
120に保持され、多値論理演算回路1121で演算さ
れ、結果のデータは適当な時刻にレジスタ1122に保
持され、セレクタ回路1123で選択されて再びベクト
ルレジスタ部1110へ転送される。
When performing a multi-valued logical operation, the data from the vector register section 1110 passes through the signal line 1129, and the control circuit 1116 registers the register 1 at an appropriate time.
The data is held in 120 and operated in the multivalued logic operation circuit 1121, and the resulting data is held in the register 1122 at an appropriate time, selected by the selector circuit 1123, and transferred again to the vector register unit 1110.

【0041】以上のように、本実施例のベクトル処理装
置は、従来のベクトル処理装置に新規な多値論理演算機
能を持った演算回路を付加した構成となっており、また
ベクトル演算は32ビット単位のパイプライン処理で行
われるような装置を例として想定して、レジスタ112
0に対応する第一および第二のベクトルレジスタと、レ
ジスタ1122に対応する第四のベクトルレジスタの3
本は各々32ビットである例を示す。以下、この多値論
理演算回路1121について図2により詳細に説明す
る。
As described above, the vector processing device of this embodiment has a configuration in which an arithmetic circuit having a novel multivalued logical operation function is added to the conventional vector processing device, and the vector operation is 32 bits. Assuming as an example a device that is executed in a unit pipeline processing, the register 112
3 of the first and second vector registers corresponding to 0 and the fourth vector register corresponding to the register 1122.
The book shows an example of 32 bits each. Hereinafter, the multi-valued logical operation circuit 1121 will be described in detail with reference to FIG.

【0042】多値論理演算回路1121は、制御回路1
116からくる3本の制御信号線981、982および
983に従ってデータを保持する4つのレジスタ(第一
のベクトルレジスタ)1、レジスタ(第二のベクトルレ
ジスタ)2、レジスタ(第三のベクトルレジスタ)3お
よびレジスタ4(第四のベクトルレジスタ)と、レジス
タ1120の出力からの信号線に相当する64本の入力
信号線21〜116、レジスタ1122への32本の出
力信号線949〜980、および4ビットのバイナリ信
号を入力とし、16本の出力の内の何れかを選択する1
6個のデコーダ5〜20と、これらのデコーダ5〜20
の出力信号線149〜404、およびレジスタ3の出力
信号線117〜148を入力とする512個のアンドゲ
ート405〜916と、レジスタ4の各ビットに対応し
てアンドゲート405〜916の出力をまとめる32個
のオアゲート917〜948とから構成されている。
The multivalued logic operation circuit 1121 is the control circuit 1
Four registers (first vector register) 1, a register (second vector register) 2, and a register (third vector register) 3 which hold data according to three control signal lines 981, 982 and 983 coming from 116. And register 4 (fourth vector register), 64 input signal lines 21 to 116 corresponding to signal lines from the output of the register 1120, 32 output signal lines 949 to 980 to the register 1122, and 4 bits. Input the binary signal of and select any one of 16 outputs 1
6 decoders 5-20 and these decoders 5-20
Output signal lines 149 to 404 and output signal lines 117 to 148 of the register 3, 512 AND gates 405 to 916, and outputs of the AND gates 405 to 916 corresponding to each bit of the register 4. It is composed of 32 OR gates 917 to 948.

【0043】次に、本実施例の作用について説明する。Next, the operation of this embodiment will be described.

【0044】本実施例において、多値論理演算回路11
21を使用する命令を便宜のため、以下VX1命令(単
一の命令)と表記する。
In this embodiment, the multivalued logic operation circuit 11
For the sake of convenience, the instruction using 21 is hereinafter referred to as a VX1 instruction (single instruction).

【0045】すなわち、ベクトルデータの一ベクトル要
素を32ビットとするので、VX1命令の第2、第3オ
ペランドに指定されたベクトルデータの一要素がそのま
まレジスタ1、2に保持される。この場合に、各要素の
32ビットは隣合った2ビットを一つのデータ格納領域
とするように16個に分割する例を考える。
That is, since one vector element of the vector data is 32 bits, one element of the vector data designated by the second and third operands of the VX1 instruction is held in the registers 1 and 2 as it is. In this case, consider an example in which 32 bits of each element are divided into 16 pieces so that adjacent 2 bits form one data storage area.

【0046】たとえば、図2ではレジスタ1の信号線
(21、22)の組の位置が一つの領域で、(51、5
2)の組まで16領域ある。レジスタ2、4についても
同様で、(53、54)、(949、950)の信号線
の組の位置から、(83、84)、(979、980)
の組の位置までそれぞれ16個の領域に分割される。
For example, in FIG. 2, the position of the pair of signal lines (21, 22) of the register 1 is one area (51, 5).
There are 16 areas up to the group of 2). The same applies to the registers 2 and 4, from the position of the pair of signal lines of (53, 54) and (949, 950) to (83, 84), (979, 980).
Is divided into 16 areas each up to the position of the group.

【0047】そして、VX1命令はレジスタ1、2の対
応した各2ビットデータ領域の、たとえば信号線(2
1、22)と(53、54)との間で任意の論理演算を
行い、結果の2ビットデータをレジスタ4の対応する各
2ビットデータ領域、たとえば信号線(949、95
0)に格納する演算を行うことである。
Then, the VX1 instruction is executed in, for example, the signal line (2
1, 22) and (53, 54) are subjected to an arbitrary logical operation, and the resulting 2-bit data is converted into corresponding 2-bit data areas of the register 4, for example, signal lines (949, 95).
0) to store the calculation.

【0048】従って、16個のデコーダ5〜20はレジ
スタ1、2の16個のデータ格納領域の入力信号線の符
号の小さい順に対応しており、レジスタ1のデータ2ビ
ットが上位2ビットで、レジスタ2のデータ2ビットが
下位2ビットになるように各デコーダの入力先を決めて
いる。
Therefore, the 16 decoders 5 to 20 correspond to the smaller order of the sign of the input signal line in the 16 data storage areas of the registers 1 and 2, and the data 2 bits of the register 1 are the upper 2 bits. The input destination of each decoder is determined so that the data 2 bits of the register 2 are the lower 2 bits.

【0049】一方、VX1命令の第一オペランドコード
で真理値表を格納してあるスカラレジスタを選択する
と、レジスタ3には、これらの多値論理値に対して定義
した真理値表データが格納される。たとえば、図2では
真理値表は各要素が2ビットで、出力信号線の組の(1
17、118)から(147、148)までのように、
隣合った2ビットが一つの演算結果を表して16領域に
分かれている。
On the other hand, when the scalar register storing the truth table is selected by the first operand code of the VX1 instruction, the truth table data defined for these multivalued logical values is stored in the register 3. It For example, in FIG. 2, each element of the truth table is 2 bits, and (1
(17,118) to (147,148),
Two adjacent bits represent one calculation result and are divided into 16 areas.

【0050】そして、各デコーダの16本の出力信号線
は、符号の小さい方から大きい方への順序でレジスタ3
の出力信号線の16の組のやはり符号の小さい方から大
きい方への順で対応しており、たとえば信号線149、
165、389は信号線(117、118)に、信号線
150、166、390は信号線(119、120)と
対応している。
The 16 output signal lines of each decoder are connected to the register 3 in the order from the smallest code to the largest code.
16 sets of output signal lines are also corresponded in order from the smallest code to the largest code. For example, the signal line 149,
Signal lines 165 and 389 correspond to the signal lines (117 and 118), and signal lines 150, 166 and 390 correspond to the signal lines (119 and 120).

【0051】これらの信号線の間には、デコーダ側の信
号線、たとえば149が論理的に1なら、対応するレジ
スタ3側の信号線、たとえば(117、118)の値
を、レジスタ4の対応する領域、たとえば信号線94
9、950の位置へ転送するようにアンドゲート、たと
えば405、406が接続されている。
Between these signal lines, if the signal line on the decoder side, for example, 149 is logically 1, the value of the corresponding signal line on the register 3 side, for example (117, 118), is set to correspond to the register 4. Area, for example, the signal line 94
AND gates, for example 405 and 406, are connected to transfer to positions 9 and 950.

【0052】この結果、どのようなデータ格納領域のど
のような論理値の組み合わせについても、それをデコー
ドしてレジスタ3の真理値表を選択することにより演算
結果を得ることができる。
As a result, the operation result can be obtained by decoding the logical value combination of any data storage area and selecting the truth table of the register 3.

【0053】この場合に、論理値コード化の規則とし
て、図3に示すような規則を用いると、たとえば基本論
理演算であるアンド論理演算は図4に示すようになる。
ここで、入力1の2ビットを上位2ビットにし、入力2
の2ビットを下位の2ビットにした4ビットで表される
数値の0から15の順に図4のビットデ−タを並べると
図5のようになる。
In this case, if the rule shown in FIG. 3 is used as the rule for encoding the logic value, the AND logic operation, which is a basic logic operation, becomes as shown in FIG.
Here, the 2 bits of the input 1 are set to the upper 2 bits, and the input 2
When the bit data of FIG. 4 are arranged in the order of 0 to 15 of the numerical value represented by 4 bits obtained by converting the 2 bits of 2 to the lower 2 bits, it becomes as shown in FIG.

【0054】以上のような条件でアンド演算をVX1命
令で行う場合は、図5に示したデータをこのビット位置
の順に、信号線85〜116を通してレジスタ3に格納
する。仮に、信号線21、22が0、0で、53、54
が0、1であったとすると、デコーダ5の信号線150
が1になる。すると、アンドゲート407、408によ
って信号線119と120の論理値がオアゲート917
と918を通ってレジスタ4の信号線949、950に
出力される。これは‘0’と‘Z’のアンドが‘0’に
なる演算である。
When the AND operation is performed by the VX1 instruction under the above conditions, the data shown in FIG. 5 is stored in the register 3 through the signal lines 85 to 116 in the order of the bit positions. If the signal lines 21 and 22 are 0 and 0, 53 and 54
Are 0 and 1, the signal line 150 of the decoder 5 is
Becomes 1. Then, the AND gates 407 and 408 change the logical values of the signal lines 119 and 120 to the OR gate 917.
And 918 to be output to the signal lines 949 and 950 of the register 4. This is an operation in which the AND of "0" and "Z" becomes "0".

【0055】従って、本実施例のベクトル処理装置によ
れば、4値論理演算が可能とされる多値論理演算回路1
121として、4つのレジスタ1〜4、16個のデコー
ダ5〜20、512個のアンドゲート405〜916お
よび32個のオアゲート917〜948を備えることに
より、レジスタ1,2から演算対象となるベクトルデー
タ内の予め決められた各々2ビットからなる論理値コー
ドの信号を取り出し、デコーダ5〜20により互いに演
算をする位置どうしの論理値データを合わせてデコード
し、レジスタ3上の真理値表データを参照して演算を行
い、この演算結果をレジスタ4を経由して出力する処理
を単一のVX1命令で実行することができる。
Therefore, according to the vector processing device of the present embodiment, the multi-valued logic operation circuit 1 capable of four-valued logic operation is provided.
By providing four registers 1 to 4, 16 decoders 5 to 20, 512 AND gates 405 to 916 and 32 OR gates 917 to 948 as 121, vector data to be operated from the registers 1 and 2 is provided. Of the predetermined logic value code consisting of 2 bits in each of the above, and the decoders 5 to 20 collectively decode the logic value data of the positions to be mutually operated, and refer to the truth table data on the register 3 Then, a single VX1 instruction can be used to perform the operation and output the operation result via the register 4.

【0056】[0056]

【実施例2】図6は本発明の他の実施例であるベクトル
処理装置における特徴的な演算回路部分である3値論理
否定演算回路を示す論理構成図、図7は本実施例におい
て、3値論理演算の論理値コード化の規則例を示す説明
図、図8は図7の規則による3値アンド、オアおよび否
定基本論理演算の真理値表を示す説明図である。
[Embodiment 2] FIG. 6 is a logical configuration diagram showing a three-valued logical NOT operation circuit which is a characteristic operation circuit portion in a vector processing apparatus which is another embodiment of the present invention, and FIG. FIG. 8 is an explanatory diagram showing an example of a rule for encoding a logical value of a value logical operation, and FIG. 8 is an explanatory diagram showing a truth table of three-valued AND, OR, and negative basic logical operations according to the rule of FIG.

【0057】本実施例のベクトル処理装置は、たとえば
2ビットにコード化した3値の論理値に対する演算に適
用する特別な機能を付加した多値論理演算回路1121
aとされ、この回路構成は図6に示すように、図1の制
御回路1116からくる2本の制御信号線1002、1
003に従って各々データを保持する2つのレジスタ
(第五のベクトルレジスタ)1000,レジスタ(第六
のベクトルレジスタ)1001と、レジスタ1120の
出力からの信号線に相当する32本の入力信号線100
4〜1035と、レジスタ1122への32本の出力信
号線1036〜1067と、レジスタ1000の各ビッ
トを反転する32個のインバータ1068〜1099と
から構成されている。
The vector processing device of this embodiment has a multi-valued logical operation circuit 1121 added with a special function applied to an operation on a ternary logical value coded into, for example, 2 bits.
a, the circuit configuration is as shown in FIG. 6, two control signal lines 1002, 1 coming from the control circuit 1116 of FIG.
Two register (fifth vector register) 1000, a register (sixth vector register) 1001, and 32 input signal lines 100 corresponding to the signal lines from the output of the register 1120 according to 003.
4 to 1035, 32 output signal lines 1036 to 1067 to the register 1122, and 32 inverters 1068 to 1099 that invert each bit of the register 1000.

【0058】すなわち、本実施例の多値論理演算回路1
121aは、2ビットにコード化した3値の論理値に対
する演算に適用し、ベクトル演算は32ビット単位のパ
イプライン処理で行われるような装置を例として想定し
て、レジスタ1000,1001の2本は各々32ビッ
トである例を示す。このコード化の一例を図7に示し、
図8にこの時のアンド、オア、否定の基本論理演算の真
理値表を示す。
That is, the multivalued logic operation circuit 1 of this embodiment
121a is applied to an operation on a ternary logical value coded into 2 bits, and vector operation is performed by pipeline processing in units of 32 bits. As an example, two registers 1000 and 1001 are used. Shows an example of 32 bits each. An example of this encoding is shown in FIG.
FIG. 8 shows a truth table of the basic logical operations of AND, OR and negation at this time.

【0059】たとえば、演算命令を論理シミュレーショ
ンに適用する場合、否定論理演算として使えるのはこれ
以外に‘X’が01になる規則と、‘0’が11になる
規則との組み合わせだけとなる。
For example, when the operation instruction is applied to the logic simulation, only the combination of the rule that'X 'becomes 01 and the rule that' 0 'becomes 11 can be used as the negative logic operation.

【0060】従って、図8の真理値表の各ビットの挙動
を調べると、アンド演算については従来の全ビットにつ
いて単純にアンドをとる命令で表現でき、オア演算につ
いては従来の全ビットについて単純にオアをとるオア命
令で表現できることがわかる。ただし、否定演算につい
ては、この2ビットの0、1を反転し、上位と下位のビ
ット位置を交換する処理が必要となり、本実施例の特徴
となる命令の機能はこの否定演算に相当する。
Therefore, by examining the behavior of each bit in the truth table of FIG. 8, an AND operation can be expressed by an instruction that simply ANDs all conventional bits, and an OR operation can be simply expressed by all conventional bits. You can see that it can be expressed by an OR instruction that takes an OR. However, with respect to the negation operation, it is necessary to invert these two bits 0 and 1 and exchange the upper and lower bit positions, and the function of the instruction characterizing this embodiment corresponds to this negation operation.

【0061】次に、本実施例の作用について説明する。Next, the operation of this embodiment will be described.

【0062】本実施例においては、多値論理演算回路1
121aを使用する命令を便宜のため、以下VX2命令
(単一の命令)と表記する。
In this embodiment, the multivalued logic operation circuit 1
For the sake of convenience, the instruction using 121a is hereinafter referred to as a VX2 instruction (single instruction).

【0063】すなわち、ベクトルデータの一ベクトル要
素を32ビットとするので、VX2命令の第2オペラン
ドに指定されたベクトルデータの一要素がそのままレジ
スタ1000に保持される。
That is, since one vector element of the vector data is 32 bits, one element of the vector data designated by the second operand of the VX2 instruction is held in the register 1000 as it is.

【0064】この場合に、各要素の32ビットは16ビ
ットづつ2分し、上位16ビットには2ビットコードの
上位ビットを格納し、下位16ビットには、各ビット位
置から上位に16ビット離れた位置の上位ビットデータ
に対応した下位ビットデータを格納する例を考える。す
なわち、データ格納領域は16ビット離れたビットの対
によって16領域に分割されている。
In this case, the 32 bits of each element are divided into 16 bits, and the upper 16 bits store the upper bits of the 2-bit code, and the lower 16 bits are separated by 16 bits from each bit position to the upper bits. Consider an example of storing lower bit data corresponding to higher bit data at different positions. That is, the data storage area is divided into 16 areas by pairs of bits separated by 16 bits.

【0065】そして、レジスタ1000の各ビットはイ
ンバータ1068〜1099によって全て反転され、そ
の後の結線によって上位と下位とが入れ替えられる。た
とえば、レジスタ1000の左から3番目のデータ
‘X’(10)では、信号線1006から転送された上
位ビットのデータは1であり、インバータ1070によ
ってこれは反転され、信号線1054へ転送される。
All the bits of the register 1000 are inverted by the inverters 1068 to 1099, and the upper and lower sides are switched by the subsequent connection. For example, in the third data'X '(10) from the left of the register 1000, the upper bit data transferred from the signal line 1006 is 1, which is inverted by the inverter 1070 and transferred to the signal line 1054. ..

【0066】また、信号線1022から転送された下位
ビットのデータは0であり、インバータ1086によっ
てこれは反転され、信号線1038へ転送される。この
結果、レジスタ1001の左から3番目の格納領域のデ
ータは‘X’(10)となり、否定演算が満足される。
The lower bit data transferred from the signal line 1022 is 0, which is inverted by the inverter 1086 and transferred to the signal line 1038. As a result, the data in the third storage area from the left of the register 1001 becomes “X” (10), which satisfies the negative operation.

【0067】従って、本実施例のベクトル処理装置によ
れば、3値論理演算が可能とされる多値論理演算回路1
121aとして、2つのレジスタ1000,1001お
よび32個のインバータ1068〜1099を備えるこ
とにより、アンド演算およびオア演算については従来と
同様に全ビットのアンド命令またはオア命令で表現で
き、かつ否定演算についても、レジスタ1000に保持
されたベクトルデータ内の予め決められた各々2ビット
からなる論理値コードの信号を取り出し、インバータ1
068〜1099によって反転を行い、かつ各々上位ビ
ットと下位ビットを入れ替え、この演算結果をレジスタ
1001を経由して出力する処理を単一のVX2命令で
実行することができる。
Therefore, according to the vector processing device of the present embodiment, the multi-valued logical operation circuit 1 capable of performing three-valued logical operation.
By providing two registers 1000 and 1001 and 32 inverters 1068 to 1099 as 121a, the AND operation and the OR operation can be expressed by an AND instruction or OR instruction of all bits as in the conventional case, and the negative operation can also be performed. , A signal of a predetermined logical value code consisting of 2 bits each in the vector data held in the register 1000 is taken out, and the inverter 1
A single VX2 instruction can be used to perform the inversion by 068 to 1099, exchange the upper bit and the lower bit, and output the operation result via the register 1001.

【0068】以上、本発明者によってなされた発明を実
施例1および2に基づき具体的に説明したが、本発明は
前記各実施例に限定されるものではなく、その要旨を逸
脱しない範囲で種々変更可能であることはいうまでもな
い。
Although the invention made by the present inventor has been specifically described based on the first and second embodiments, the present invention is not limited to the above-described embodiments and various modifications are possible without departing from the scope of the invention. Needless to say, it can be changed.

【0069】たとえば、前記実施例1のベクトル処理装
置における多値論理演算回路1121については、論理
値を2ビットで表し、4値の論理値となる場合におい
て、ベクトル演算が32ビット単位のパイプライン処理
で行われるような装置を想定してレジスタ1、2および
4の3本が各々32ビットである場合について説明した
が、本発明は前記実施例に限定されるものではなく、真
理値表を任意に定義したり、論理値をnビットで表現す
る場合などについても広く適用可能である。
For example, regarding the multi-valued logical operation circuit 1121 in the vector processing device of the first embodiment, when the logical value is represented by 2 bits and it becomes a 4-valued logical value, the vector operation is performed in 32-bit pipelines. The case where each of the three registers 1, 2 and 4 has 32 bits has been described on the assumption that the device is used in the processing, but the present invention is not limited to the above-mentioned embodiment, and the truth table is used. It can be widely applied to the case of arbitrarily defining or expressing a logical value with n bits.

【0070】この論理値をnビットで表現する場合に
は、レジスタ3のビット幅を(2の2n乗)のn倍に
し、デコーダを2nビット入力、2の2n乗ビット出力
とし、レジスタ3は図1におけるスカラレジスタ111
3からデータを転送して真理値表として用いる。
To represent this logical value by n bits, the bit width of the register 3 is multiplied by (2 2n power) times n, the decoder is 2n bit input and 2 2n power bit output, and the register 3 is Scalar register 111 in FIG.
Data is transferred from 3 and used as a truth table.

【0071】たとえば、スカラレジスタのビット幅が3
2である場合は、nが2のときは本演算回路を使用する
命令のオペランドでスカラレジスタ1本を指定し、nが
3の場合では、幅が192ビットとなるので、たとえば
連続した6本のスカラレジスタを指定する。さらに、パ
イプライン処理の単位が32mビットである場合は、デ
コーダ、アンドゲート、オアゲートの数、レジスタ1、
2、4のビット幅はそれぞれ図2の場合のm倍にする。
For example, the bit width of the scalar register is 3
When n is 2, one scalar register is specified by the operand of the instruction using this operation circuit when n is 2, and when n is 3, the width is 192 bits. Specifies the scalar register of. Further, when the unit of pipeline processing is 32 m bits, the number of decoders, AND gates, OR gates, register 1,
The bit widths of 2 and 4 are m times as large as those in FIG.

【0072】また、前記実施例2の多値論理演算回路1
121aについては、ベクトル演算は32ビット単位の
パイプライン処理で行われるような装置を想定して、レ
ジスタ1000,1001の2本は各々32ビットであ
る例を示したが、たとえばパイプライン処理の単位が3
2mビットである場合は、インバータの数、レジスタ1
000、1001のビット幅はそれぞれ図6の場合のm
倍にする必要がある。
Further, the multivalued logic operation circuit 1 of the second embodiment
Regarding 121a, an example in which two registers 1000 and 1001 each have 32 bits is shown assuming a device in which vector operation is performed by pipeline processing in 32 bit units. Is 3
If it is 2m bits, the number of inverters, register 1
The bit widths of 000 and 1001 are m in the case of FIG. 6, respectively.
Need to double.

【0073】さらに、実施例1において、命令語長が十
分長ければ、レジスタ3の代わりに、プログラムに記述
されたオペレーションコードを保持する命令レジスタを
真理値表の保持用に使用し、オペレーションコードの一
部を真理値表と見なして演算することも可能である。
Further, in the first embodiment, if the instruction word length is sufficiently long, the instruction register holding the operation code described in the program is used for holding the truth table instead of the register 3, and the operation code It is also possible to consider a part as a truth table and perform an operation.

【0074】[0074]

【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
下記のとおりである。
The effects obtained by the typical ones of the inventions disclosed in the present application will be briefly described as follows.
It is as follows.

【0075】(1).第一および第二のベクトルレジスタに
分割して格納された一定のビット数よりなる二つの論理
値データについて、第三のベクトルレジスタに格納した
真理値表に従った演算を行い、結果の論理値データを第
四のベクトルレジスタに格納する処理を単一の命令で実
行することにより、従来まで数命令要していた核となる
処理の単位が単一の命令で処理可能となるので、論理回
路の動作のシミュレータとして処理時間の削減を図るこ
とができる。
(1). Operation according to the truth table stored in the third vector register for two pieces of logical value data having a fixed number of bits divided and stored in the first and second vector registers By executing the process of storing the resulting logical value data in the fourth vector register with a single instruction, the core unit of processing, which conventionally required several instructions, is processed with a single instruction. Therefore, the processing time can be reduced as a simulator of the operation of the logic circuit.

【0076】(2).第五のベクトルレジスタに分割して格
納された2ビットよりなる論理値データについて、各ビ
ットを論理的に反転し、続けて上位ビットと下位ビット
の値を入れ替える操作を行い、結果の論理値データを第
六のベクトルレジスタに格納する処理を単一の命令で実
行することにより、大規模な回路を扱う場合、単純な処
理で実行可能となるので、核となるゲート評価処理の命
令数の削減を図ることができる。
(2). Regarding the logical value data of 2 bits divided and stored in the fifth vector register, each bit is logically inverted, and then the value of the upper bit and the value of the lower bit are exchanged. By performing the process of storing the resulting logical value data in the sixth vector register with a single instruction, when handling a large-scale circuit, it becomes possible to perform the process with a simple process. The number of evaluation processing instructions can be reduced.

【0077】(3).前記(1) または(2) により、コ−ド化
のビット数は固定されるが、その範囲で如何なる種類の
演算もユーザの使用中に自由に定義可能であり、止むな
く複雑な命令列を採用してきた特殊な素子、シミュレー
ションモデルについても容易にサポートできるベクトル
処理装置を得ることができる。
(3) By the above (1) or (2), the number of coded bits is fixed, but any kind of operation can be freely defined within that range while the user is using it. It is possible to obtain a vector processing device that can easily support special elements and simulation models that have employed complex instruction sequences without interruption.

【0078】(4).前記(1) または(2) により、論理値コ
ード化の規則は一部に限るが、単純な演算機能構成によ
って製造コストの削減が可能とされるベクトル処理装置
を得ることができる。
(4) According to the above (1) or (2), a logic value encoding rule is limited to a part, but a vector processing device capable of reducing the manufacturing cost by a simple arithmetic function configuration is obtained. be able to.

【0079】(5).前記(1) または(2) により、真理値表
を任意に定義することによって種々のコード化の規則や
演算の定義に柔軟に対応でき、汎用性の向上が可能とさ
れるベクトル処理装置を得ることができる。
(5) According to the above (1) or (2), it is possible to flexibly deal with various coding rules and operation definitions by arbitrarily defining the truth table, and it is possible to improve versatility. Can be obtained.

【0080】(6).前記(1) または(2) により、命令数お
よび処理時間の削減を図ることができるので、特に論理
回路のシミュレ−ションへ応用する場合に効果が顕著と
なるベクトル処理装置を得ることができる。
(6) Since the number of instructions and the processing time can be reduced by the above (1) or (2), the vector processing is particularly effective when applied to the simulation of a logic circuit. The device can be obtained.

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

【図1】本発明の実施例1であるベクトル処理装置を示
す概略ブロック図である。
FIG. 1 is a schematic block diagram showing a vector processing device that is Embodiment 1 of the present invention.

【図2】実施例1のベクトル処理装置における特徴的な
演算回路部分である汎用4値論理演算回路を示す論理構
成図である。
FIG. 2 is a logical configuration diagram showing a general-purpose four-valued logical operation circuit which is a characteristic operation circuit portion in the vector processing device of the first embodiment.

【図3】実施例1において、4値論理演算における論理
値コード化の一規則例を示す説明図である。
FIG. 3 is an explanatory diagram showing a rule example of logical value encoding in a four-valued logical operation in the first embodiment.

【図4】実施例1において、図3の規則による4値アン
ド論理演算における真理値表を示す説明図である。
FIG. 4 is an explanatory diagram showing a truth table in a four-valued AND logic operation according to the rule of FIG. 3 in the first embodiment.

【図5】実施例1において、図4の真理値表の図2の演
算回路内部での格納順序列を示す説明図である。
5 is an explanatory diagram showing a storage sequence of the truth table of FIG. 4 in the arithmetic circuit of FIG. 2 in Embodiment 1. FIG.

【図6】本発明の実施例2であるベクトル処理装置にお
ける特徴的な演算回路部分である3値論理否定演算回路
を示す論理構成図である。
FIG. 6 is a logical configuration diagram showing a ternary logical NOT operation circuit which is a characteristic operation circuit portion in the vector processing device according to the second embodiment of the present invention.

【図7】本実施例2において、3値論理演算の論理値コ
ード化の規則例を示す説明図である。
FIG. 7 is an explanatory diagram showing an example of rules for logical value encoding of a three-valued logical operation in the second embodiment.

【図8】実施例2において、図7の規則による3値アン
ド、オアおよび否定基本論理演算の真理値表を示す説明
図である。
8 is an explanatory diagram showing a truth table of three-valued AND, OR, and negation basic logical operations according to the rule of FIG. 7 in Example 2; FIG.

【符号の説明】[Explanation of symbols]

1 レジスタ(第一のベクトルレジスタ) 2 レジスタ(第二のベクトルレジスタ) 3 レジスタ(第三のベクトルレジスタ) 4 レジスタ(第四のベクトルレジスタ) 5〜20 デコーダ 21〜116 入力信号線 117〜148 出力信号線 149〜404 出力信号線 405〜916 アンドゲート 917〜948 オアゲート 949〜980 出力信号線 981〜983 制御信号線 1000 レジスタ(第五のベクトルレジスタ) 1001 レジスタ(第六のベクトルレジスタ) 1002,1003 制御信号線 1004〜1035 入力信号線 1036〜1067 出力信号線 1068〜1099 インバータ 1101 主記憶装置 1102 スカラ処理部 1103 ベクトル処理部 1104 バッファ記憶装置 1105 演算制御部 1106 スカラ演算処理部 1107 汎用レジスタ部 1108 メモリリクエスタ 1109 演算制御部 1110 ベクトルレジスタ部 1111 ベクトル演算器 1112 セレクタ回路 1113 スカラレジスタ 1114 ベクトルレジスタ 1115 セレクタ回路 1116 制御回路 1117 レジスタ 1118 演算回路 1119 レジスタ 1120 レジスタ 1121,1121a 多値論理演算回路 1122 レジスタ 1123 セレクタ回路 1124 アドレスレジスタ部 1125 アドレスレジスタ 1126,1127 制御信号線 1128〜1132 信号線 1 register (first vector register) 2 register (second vector register) 3 register (third vector register) 4 register (fourth vector register) 5-20 decoder 21-116 input signal line 117-148 output Signal line 149 to 404 Output signal line 405 to 916 AND gate 917 to 948 OR gate 949 to 980 Output signal line 981 to 983 Control signal line 1000 register (fifth vector register) 1001 register (sixth vector register) 1002, 1003 Control signal lines 1004 to 1035 Input signal lines 1036 to 1067 Output signal lines 1068 to 1099 Inverter 1101 Main storage device 1102 Scalar processing unit 1103 Vector processing unit 1104 Buffer storage device 1105 Operation control unit 1106 Color arithmetic processing unit 1107 General-purpose register unit 1108 Memory requester 1109 Operation control unit 1110 Vector register unit 1111 Vector arithmetic unit 1112 Selector circuit 1113 Scalar register 1114 Vector register 1115 Selector circuit 1116 Control circuit 1117 register 1118 Operation circuit 1119 register 1120 register 1121, 1121a Multivalued logic operation circuit 1122 register 1123 selector circuit 1124 address register unit 1125 address register 1126, 1127 control signal line 1128 to 1132 signal line

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 第一および第二のベクトルレジスタに保
持される各ベクトルデータ内の各ベクトル要素を複数の
データ格納領域に分割し、該分割された各領域に一定の
ビット数よりなるコードで表わされた論理値データを格
納し、二つのベクトルデータの間のそれぞれ対応する位
置にある二つの前記論理値データについて、プログラム
にオペランドコードとして記述された第三のベクトルレ
ジスタに格納した真理値表に従った演算を行い、結果の
論理値データを第四のベクトルレジスタに保持するベク
トルデータの対応する位置に格納する処理を単一の命令
で実行することを特徴とするベクトル処理装置。
1. A vector element in each vector data held in the first and second vector registers is divided into a plurality of data storage areas, and each divided area is coded with a constant number of bits. A truth value that stores the represented logical value data and stores the two logical value data at corresponding positions between the two vector data in a third vector register described as an operand code in the program. A vector processing device, characterized in that a single instruction executes a process of performing an operation according to a table and storing the resulting logical value data in a corresponding position of vector data held in a fourth vector register.
【請求項2】 前記第三のベクトルレジスタに格納され
る真理値表を任意に定義可能とすることを特徴とする請
求項1記載のベクトル処理装置。
2. The vector processing device according to claim 1, wherein the truth table stored in the third vector register can be arbitrarily defined.
【請求項3】 前記第三のベクトルレジスタに代えて、
前記プログラムに記述されたオペランドコードを保持す
る命令レジスタに前記真理値表を格納することを特徴と
する請求項1記載のベクトル処理装置。
3. Instead of the third vector register,
2. The vector processing device according to claim 1, wherein the truth table is stored in an instruction register that holds an operand code described in the program.
【請求項4】 第五のベクトルレジスタに保持されるベ
クトルデータ内の各ベクトル要素を2ビットづつのデー
タ格納領域に分割し、該分割された各領域に2ビットよ
りなるコードで表わされた論理値データを格納し、該格
納された論理値データについて各ビットを論理的に反転
し、続けて上位ビットと下位ビットの値を入れ替える操
作を行い、結果の論理値データを第六のベクトルレジス
タに保持するベクトルデータの対応する位置に格納する
処理を単一の命令で実行することを特徴とするベクトル
処理装置。
4. Each vector element in the vector data held in the fifth vector register is divided into 2-bit data storage areas, and each divided area is represented by a code of 2 bits. The logical value data is stored, each bit is logically inverted with respect to the stored logical value data, and the value of the high-order bit and the value of the low-order bit are exchanged, and the resulting logical-value data is stored in the sixth vector register. A vector processing device characterized by executing a process of storing in a corresponding position of vector data held by a single instruction.
JP3338080A 1991-12-20 1991-12-20 Vector processor Pending JPH05174047A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3338080A JPH05174047A (en) 1991-12-20 1991-12-20 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3338080A JPH05174047A (en) 1991-12-20 1991-12-20 Vector processor

Publications (1)

Publication Number Publication Date
JPH05174047A true JPH05174047A (en) 1993-07-13

Family

ID=18314719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3338080A Pending JPH05174047A (en) 1991-12-20 1991-12-20 Vector processor

Country Status (1)

Country Link
JP (1) JPH05174047A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020000908A (en) * 2019-09-05 2020-01-09 株式会社ユニバーサルエンターテインメント Game machine
JP2021062855A (en) * 2019-10-17 2021-04-22 公益財団法人鉄道総合技術研究所 Electronic interlocking device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020000908A (en) * 2019-09-05 2020-01-09 株式会社ユニバーサルエンターテインメント Game machine
JP2021062855A (en) * 2019-10-17 2021-04-22 公益財団法人鉄道総合技術研究所 Electronic interlocking device

Similar Documents

Publication Publication Date Title
CN109478139B (en) Apparatus, method and system for access synchronization in shared memory
KR102449616B1 (en) Method and apparatus for performing reduction operations on a set of vector elements
CN112559051A (en) Deep learning implementation using systolic arrays and fusion operations
CN107918546B (en) Processor, method and system for implementing partial register access with masked full register access
CN114356417A (en) System and method for implementing 16-bit floating-point matrix dot-product instruction
TWI761367B (en) Systems, apparatuses, and methods for fused multiply add
JP6055549B2 (en) Method, computer processor, program, and machine-readable storage medium for performing vector pack conflict test
CN114625423A (en) System and method for executing instructions for transforming a matrix into a row interleaved format
CN106030514B (en) Processor and method for executing masked source element store with propagation instructions
CN117724763A (en) Apparatus, method and system for matrix operation accelerator instruction
CN114153498A (en) System and method for loading a slice register pair
CN110909883A (en) System and method for executing instructions specifying a tri-slice logical operation
JP2019197531A (en) Systems and methods for implementing chained tile operations
CN112148251A (en) System and method for skipping meaningless matrix operations
US9898286B2 (en) Packed finite impulse response (FIR) filter processors, methods, systems, and instructions
JPH0431411B2 (en)
CN117707622A (en) Instruction for fused multiply-add operation with variable precision input operands
JP2018500654A (en) Method and apparatus for performing vector bit inversion
JP2018506094A (en) Method and apparatus for performing BIG INTEGER arithmetic operations
CN111752608A (en) Apparatus and method for controlling complex multiply accumulate circuit
CN113849769A (en) Matrix transposition and multiplication
US11830547B2 (en) Reduced instruction set processor based on memristor
CN107851016B (en) Vector arithmetic instructions
CN111767512A (en) Discrete cosine transform/inverse discrete cosine transform DCT/IDCT system and method
JP2018500659A (en) Dynamic memory contention detection with fast vectors