JPH0887491A - Vector computer - Google Patents

Vector computer

Info

Publication number
JPH0887491A
JPH0887491A JP22351394A JP22351394A JPH0887491A JP H0887491 A JPH0887491 A JP H0887491A JP 22351394 A JP22351394 A JP 22351394A JP 22351394 A JP22351394 A JP 22351394A JP H0887491 A JPH0887491 A JP H0887491A
Authority
JP
Japan
Prior art keywords
vector
scalar
register
transfer
identification information
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.)
Withdrawn
Application number
JP22351394A
Other languages
Japanese (ja)
Inventor
Naoki Shinjo
直樹 新庄
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP22351394A priority Critical patent/JPH0887491A/en
Publication of JPH0887491A publication Critical patent/JPH0887491A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE: To efficiently hand over data at a connection between vector operation and scalar operation. CONSTITUTION: The vector computer is equipped with a control means 11 which performs execution control over vector and scalar operation instructions, vector registers 121 -12M, a vector arithmetic means 13, scalar registers 141 -14N, and a scalar arithmetic means 15, and the control means 11 has a means which performs execution control over a transfer instruction including vector discrimination information showing one end of a set of vector elements adjoining to a vector register at a transfer source (transfer destination) on it, scalar discrimination information showing one end of a set of scalar registers at the transfer destination (transfer source), and the number of vector elements as operands and is equipped with a block transfer means 16 which performs block transfer of the vector elements between the set of vector elements whose one end is indicated by the vector discrimination information and the set of scalar registers whose one end is indicated by the scalar discrimination information under control.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ベクトル演算器とスカ
ラ演算器とを併有し、多数組のデータに施すべき同一の
演算をベクトル演算器を介して行うベクトル計算機に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector computer having both a vector arithmetic unit and a scalar arithmetic unit and performing the same arithmetic operation to be performed on a large number of sets of data via the vector arithmetic unit.

【0002】[0002]

【従来の技術】ベクトル計算機では、一般に、実行され
るべきプログラムは、コンパイル時にそのプログラムを
構成する繰り返し演算(例えば、「FORTRAN で記述され
たDOループ」があるが、以下では、単に「ループ」と
いう。))毎にベクトル化される。
2. Description of the Related Art In a vector computer, a program to be executed generally has a repetitive operation (for example, a "DO loop described in FORTRAN") that composes the program at the time of compilation. It is vectorized for each))).

【0003】また、このようにしてベクトル化されたル
ープ(以下、単に「ベクトルループ」という。)の実行
過程では、主記憶に格納された演算対象のデータがベク
トルユニット(ベクトル処理装置)に含まれるベクトル
レジスタにロードされてベクトル演算が施され、そのベ
クトル演算が完了すると、演算結果が格納されたベクト
ルレジスタの内容が主記憶に格納される。
Further, in the execution process of the loop thus vectorized (hereinafter simply referred to as "vector loop"), the data to be operated stored in the main memory is included in the vector unit (vector processing device). When the vector operation is completed and the vector operation is completed, the content of the vector register storing the operation result is stored in the main memory.

【0004】しかし、このようなベクトルループの実行
過程においては、そのループの開始時点と終了時点とに
おける主記憶へのアクセス時間の総和がそのループにか
かわるベクトル演算の所要時間に対して大きな割合を占
めると、ベクトル演算の目的である高速化が損なわれ
る。
However, in the process of executing such a vector loop, the total sum of the access times to the main memory at the start time and the end time of the loop has a large ratio to the time required for the vector operation related to the loop. If it occupies, the speeding up which is the purpose of vector operation will be impaired.

【0005】また、このような場合に高速化をはかる方
法としては、例えば、演算対象のデータやベクトルルー
プの途中で得られる演算結果が全てベクトルレジスタに
格納できるならば、ループ単位には主記憶にアクセスせ
ず、かつベクトルレジスタを介してループ間におけるデ
ータの引渡しを行って最終結果のみを主記憶に格納する
方法がある。
Further, as a method for increasing the speed in such a case, for example, if all the data to be operated and the operation result obtained in the middle of the vector loop can be stored in the vector register, the main memory is set in loop units. There is a method in which only the final result is stored in the main memory by passing data between the loops via the vector register without accessing the.

【0006】さらに、再帰的な参照を行うステートメン
ト(例えば、ベクトルの回帰計算、逐次計算等の演算を
行うもの)が含まれたループ(以下、単に「スカラルー
プ」という。)については、一般にベクトル化できない
ので、スカラ演算器を介して演算が行われる。
Further, a loop (hereinafter, simply referred to as a "scalar loop") including a statement for performing recursive reference (for example, an operation for performing vector regression calculation, sequential calculation, etc.) is generally a vector. Since it cannot be converted, calculation is performed via the scalar calculator.

【0007】しかし、スカラ演算器とベクトル演算器と
は別個のハードウエアで構成され、スカラ演算器はベク
トルユニットに内蔵されたベクトルレジスタの内容を直
接演算対象とすることはできず、かつベクトル演算器は
スカラユニット(スカラ処理装置)に内蔵されたスカラ
レジスタの内容を直接演算対象とすることはできない。
However, the scalar arithmetic unit and the vector arithmetic unit are composed of separate hardware, and the scalar arithmetic unit cannot directly target the contents of the vector register built in the vector unit, and the vector arithmetic The instrument cannot directly operate on the contents of the scalar register built in the scalar unit (scalar processor).

【0008】したがって、従来のベクトル計算機では、
上述したベクトルループとスカラループとの間における
データの引渡しを可能とするために、両者の間で単一の
ベクトル要素(以下、単に「要素」という。)を直接相
互に転送するレジスタ間転送命令と、これらのレジスタ
と主記憶との間で相互に複数の要素を転送するレジスタ
−メモリ間転送命令とを有し、これらの命令を実行する
ことにより、ベクトルループに後続するスカラループの
演算開始に先行して演算対象が格納されたベクトルレジ
スタの内容を所望のスカラレジスタに転送したり、スカ
ラループに後続するベクトルループの演算開始に先行し
て演算対象が格納されたスカラレジスタの内容を所望の
ベクトルレジスタに転送する。
Therefore, in the conventional vector computer,
An inter-register transfer instruction for directly transferring a single vector element (hereinafter simply referred to as “element”) between the vector loop and the scalar loop in order to enable data transfer between them. And a register-memory transfer instruction for transferring a plurality of elements to each other between these registers and the main memory, and by executing these instructions, the operation of the scalar loop subsequent to the vector loop is started. Transfers the contents of the vector register that stores the operation target to the desired scalar register prior to, or requests the contents of the scalar register that stores the operation target prior to the start of the operation of the vector loop that follows the scalar loop. Transfer to the vector register of.

【0009】さらに、このようなベクトル計算機では、
スカラレジスタの内容を指定されたベクトルレジスタの
全ての要素に転送する命令を有する。
Further, in such a vector computer,
It has an instruction to transfer the contents of the scalar register to all elements of the specified vector register.

【0010】[0010]

【発明が解決しようとする課題】しかし、このような従
来のベクトル計算機では、ベクトルループとスカラルー
プとの間で引き渡すべきデータが複数の要素からなる場
合には、上述したレジスタ間転送命令を個々の要素につ
いて実行しなければならず、転送速度と実行効率とが低
下した。
However, in such a conventional vector computer, when the data to be delivered between the vector loop and the scalar loop is composed of a plurality of elements, the above-mentioned register transfer instructions are individually executed. Must be executed for each element, and the transfer speed and the execution efficiency are reduced.

【0011】また、上述したレジスタ−メモリ間転送命
令が用いられた場合には、ベクトルループとスカラルー
プとの継ぎ目で、一旦、ベクトル(スカラ)レジスタから
主記憶の所定の領域にデータが転送され、さらに、その
領域からスカラ(ベクトル)レジスタにデータが転送さ
れる。
When the register-memory transfer instruction described above is used, data is temporarily transferred from the vector (scalar) register to a predetermined area of the main memory at the joint between the vector loop and the scalar loop. Further, data is transferred from the area to the scalar (vector) register.

【0012】しかし、このようなベクトル(スカラ)レ
ジスタから主記憶に対するデータの転送には、そのデー
タの情報量に応じて大きなオーバヘッドを要する。ま
た、スカラユニットは、演算対象となるデータのキャッ
シュメモリを有し、かつベクトルレジスタや主記憶から
転送されるべきデータを含む所定のサイズのブロックが
そのキャッシュメモリに格納されるまで待機するため
に、上述したオーバヘッドがさらに大きくなった。
However, the transfer of data from such a vector (scalar) register to the main memory requires a large overhead depending on the information amount of the data. In addition, the scalar unit has a cache memory for data to be operated, and in order to wait until a block of a predetermined size containing data to be transferred from the vector register or main memory is stored in the cache memory. The above-mentioned overhead has become even larger.

【0013】本発明は、ベクトル演算とスカラ演算との
継ぎ目におけるデータの引渡しを効率化できるベクトル
計算機を提供することを目的とする。
It is an object of the present invention to provide a vector computer that can efficiently transfer data at a joint between a vector operation and a scalar operation.

【0014】[0014]

【課題を解決するための手段】図1は、請求項1〜4、
7、8に記載の発明の原理ブロック図である。請求項1
に記載の発明は、予め決められた制御論理に基づいてベ
クトル演算命令およびスカラ演算命令の実行にかかわる
制御機構を構成する制御手段11と、複数のベクトル要
素からなるベクトルデータを個別に保持する複数のベク
トルレジスタ121 〜12M と、複数のベクトルレジス
タ121 〜12M に保持されたベクトルデータに制御論
理の下でベクトル演算を施すベクトル演算手段13と、
論理的にあるいは物理的に隣接して配置され、かつ単一
のベクトル要素に対応するデータを個別に保持する複数
のスカラレジスタ141 〜14N と、複数のスカラレジ
スタ141 〜14N に保持されたデータに制御論理の下
でスカラ演算を施すスカラ演算手段15とを備えたベク
トル計算機において、制御手段11には、転送元あるい
は転送先となるベクトルレジスタと、そのベクトルレジ
スタの上で論理的あるいは物理的に隣接するベクトル要
素の集合の一端とを示すベクトル識別情報と、転送先あ
るいは転送元となるスカラレジスタの集合の一端を示す
スカラ識別情報と、転送対象となるベクトル要素の数と
をオペランドとして含む転送命令の実行にかかわる制御
を行う手段を有し、制御の下で、ベクトルレジスタ12
1 〜12M に記憶領域が割り付けられたベクトル要素の
内、一端がベクトル識別情報で示されるベクトル要素の
集合と、スカラレジスタ141 〜14N の内、一端がス
カラ識別情報で示されるスカラレジスタの集合との間に
ついて、数に等しいベクトル要素のブロック転送を行う
ブロック転送手段16を備えたことを特徴とする。
FIG. 1 shows claims 1 to 4,
It is a principle block diagram of the invention as described in 7 and 8. Claim 1
According to the invention described in (1), a control means 11 constituting a control mechanism involved in execution of a vector operation instruction and a scalar operation instruction based on a predetermined control logic, and a plurality of individually holding vector data composed of a plurality of vector elements. Vector registers 12 1 to 12 M, and vector operation means 13 for performing vector operation on the vector data held in the plurality of vector registers 12 1 to 12 M under control logic.
A plurality of scalar registers 14 1 to 14 N that are logically or physically adjacent to each other and individually hold data corresponding to a single vector element, and a plurality of scalar registers 14 1 to 14 N In a vector computer including a scalar operation means 15 for performing a scalar operation on the generated data under control logic, the control means 11 includes a vector register which is a transfer source or a transfer destination, and a logical register on the vector register. Alternatively, the vector identification information indicating one end of a set of vector elements that are physically adjacent to each other, the scalar identification information indicating one end of a set of scalar registers to be a transfer destination or a transfer source, and the number of vector elements to be transferred. The vector register 12 is provided with a means for controlling the execution of the transfer instruction included as an operand.
A set of vector elements of which one end is indicated by the vector identification information among the vector elements whose storage areas are assigned to 1 to 12 M , and a scalar register whose one end is indicated by the scalar identification information among the scalar registers 14 1 to 14 N The block transfer means 16 is provided for transferring blocks of vector elements equal in number to and from the set.

【0015】請求項2に記載の発明は、予め決められた
制御論理に基づいてベクトル演算命令およびスカラ演算
命令の実行にかかわる制御機構を構成する制御手段11
と、複数のベクトル要素からなるベクトルデータを個別
に保持する複数のベクトルレジスタ121 〜12M と、
複数のベクトルレジスタ121 〜12M に保持されたベ
クトルデータに制御論理の下でベクトル演算を施すベク
トル演算手段13と、論理的にあるいは物理的に隣接し
て配置され、かつ単一のベクトル要素に対応するデータ
を個別に保持する複数のスカラレジスタ141 〜14N
と、複数のスカラレジスタ141 〜14N に保持された
データに制御論理の下でスカラ演算を施すスカラ演算手
段15とを備えたベクトル計算機において、制御手段1
1には、転送元あるいは転送先となるベクトルレジスタ
と、そのベクトルレジスタの上で論理的あるいは物理的
に隣接するベクトル要素の集合の一端とを示す第一のベ
クトル識別情報と、その集合の他端を示す第二のベクト
ル識別情報と、転送先あるいは転送元となるスカラレジ
スタの集合の一端を示すスカラ識別情報とをオペランド
として含む転送命令の実行にかかわる制御を行う手段を
含み、制御の下で、ベクトルレジスタ121〜12Mに記
憶領域が割り付けられたベクトル要素の内、両端がそれ
ぞれ第一のベクトル識別情報および第二のベクトル識別
情報とで示されたベクトル要素の集合と、スカラレジス
タ141 〜14N の内、一端がスカラ識別情報で示され
るスカラレジスタの集合との間について、ブロック転送
を行うブロック転送手段21を備えたことを特徴とす
る。
According to a second aspect of the present invention, the control means 11 constitutes a control mechanism for executing the vector operation instruction and the scalar operation instruction based on a predetermined control logic.
And a plurality of vector registers 12 1 to 12 M individually holding vector data composed of a plurality of vector elements,
A single vector element is arranged logically or physically adjacent to the vector operation means 13 for performing vector operation on the vector data held in the plurality of vector registers 12 1 to 12 M under control logic. A plurality of scalar registers 14 1 to 14 N that individually hold the data corresponding to
And a scalar operation means 15 for performing a scalar operation under control logic on the data held in the plurality of scalar registers 14 1 to 14 N.
1 includes first vector identification information indicating a vector register which is a transfer source or a transfer destination and one end of a set of vector elements which are logically or physically adjacent to the vector register, and other vector information. A second vector identification information indicating an end and a scalar identification information indicating one end of a set of scalar registers which is a transfer destination or a transfer source are included as an operand, and includes means for performing control related to execution of a transfer instruction. In the vector registers 12 1 to 12 M , a set of vector elements whose both ends are respectively indicated by the first vector identification information and the second vector identification information among the vector elements whose storage areas are allocated, and a scalar register One of 14 1 to 14 N performs block transfer between one end and a set of scalar registers indicated by the scalar identification information. It is characterized in that it comprises a sending means 21.

【0016】請求項3に記載の発明は、予め決められた
制御論理に基づいてベクトル演算命令およびスカラ演算
命令の実行にかかわる制御機構を構成する制御手段11
と、複数のベクトル要素からなるベクトルデータを個別
に保持する複数のベクトルレジスタ121 〜12M と、
複数のベクトルレジスタ121 〜12M に保持されたベ
クトルデータに制御論理の下でベクトル演算を施すベク
トル演算手段13と、論理的にあるいは物理的に隣接し
て配置され、かつ単一のベクトル要素に対応するデータ
を個別に保持する複数のスカラレジスタ141 〜14N
と、複数のスカラレジスタ141 〜14N に保持された
データに制御論理の下でスカラ演算を施すスカラ演算手
段15とを備えたベクトル計算機において、制御手段1
1には、転送元あるいは転送先となるベクトルレジスタ
と、そのベクトルレジスタの上で論理的あるいは物理的
に隣接するベクトル要素の集合の一端とを示すベクトル
識別情報と、転送先あるいは転送元となるスカラレジス
タの集合の一端を示す第一のスカラ識別情報と、その集
合の他端を示す第二のスカラ識別情報とをオペランドと
して含む転送命令の実行にかかわる制御を行う手段を含
み、制御の下で、ベクトルレジスタ121 〜12M に記
憶領域が割り付けられたベクトル要素の内、一端がベク
トル識別情報で示されたベクトル要素の集合と、スカラ
レジスタ14 1 〜14N の内、両端がそれぞれ第一のス
カラ識別情報および第二のスカラ識別情報とで示される
スカラレジスタの集合との間について、ブロック転送を
行うブロック転送手段31を備えたことを特徴とする。
The invention according to claim 3 is predetermined.
Vector operation instructions and scalar operations based on control logic
Control means 11 constituting a control mechanism relating to the execution of instructions
And vector data consisting of multiple vector elements
Vector registers 12 held in1~ 12MWhen,
Multiple vector registers 121~ 12MBe held in
Vector to perform vector operation on cuttle data under control logic
Is adjacent to the tor operation means 13 logically or physically
Data arranged according to a single vector element
A plurality of scalar registers 14 that individually hold1~ 14N
And a plurality of scalar registers 141~ 14NHeld in
A scalar operator that applies scalar operations to data under control logic
In the vector computer including the stage 15, the control means 1
1 is a vector register that is the transfer source or transfer destination
And logical or physical on the vector register
A vector indicating one end of a set of vector elements adjacent to
Identification information and scalar destination that is the transfer destination or transfer source
The first scalar identification information indicating one end of the
Second scalar identification information indicating the other end of the
Includes means for controlling the execution of transfer instructions
Under control, vector register 121~ 12MIn
One of the vector elements to which the memory area is allocated is
A set of vector elements indicated by Toru identification information and a scalar
Register 14 1~ 14NBoth ends are the first
Indicated by the color identification information and the second scalar identification information
Block transfer between a set of scalar registers
It is characterized in that it comprises a block transfer means 31 for performing.

【0017】請求項4に記載の発明は、予め決められた
制御論理に基づいてベクトル演算命令およびスカラ演算
命令の実行にかかわる制御機構を構成する制御手段11
と、複数のベクトル要素からなるベクトルデータを個別
に保持する複数のベクトルレジスタ121 〜12M と、
複数のベクトルレジスタ121 〜12M に保持されたベ
クトルデータに制御論理の下でベクトル演算を施すベク
トル演算手段13と、論理的にあるいは物理的に隣接し
て配置され、かつ単一のベクトル要素に対応するデータ
を個別に保持する複数のスカラレジスタ141 〜14N
と、複数のスカラレジスタ141 〜14N に保持された
データに制御論理の下でスカラ演算を施すスカラ演算手
段15とを備えたベクトル計算機において、制御手段1
1には、転送元あるいは転送先となるベクトルレジスタ
と、そのベクトルレジスタの上で論理的あるいは物理的
に隣接するベクトル要素の集合の一端とを示すベクトル
識別情報と、転送先あるいは転送元となる複数のスカラ
レジスタを個別に示す複数のスカラ識別情報とをオペラ
ンドとして含む転送命令の実行にかかわる制御を行う手
段を含み、制御の下で、ベクトルレジスタ121 〜12
M に記憶領域が割り付けられたベクトル要素の内、一端
がベクトル識別情報で示されたベクトル要素の集合と、
スカラレジスタ141 〜14N の内、複数のスカラ識別
情報によって示される個々のスカラレジスタとの間につ
いて、ベクトル要素単位に転送を行うブロック転送手段
41を備えたことを特徴とする。
According to a fourth aspect of the present invention, the control means 11 constitutes a control mechanism for executing the vector operation instruction and the scalar operation instruction based on a predetermined control logic.
And a plurality of vector registers 12 1 to 12 M individually holding vector data composed of a plurality of vector elements,
A single vector element is arranged logically or physically adjacent to the vector operation means 13 for performing vector operation on the vector data held in the plurality of vector registers 12 1 to 12 M under control logic. A plurality of scalar registers 14 1 to 14 N that individually hold the data corresponding to
And a scalar operation means 15 for performing a scalar operation under control logic on the data held in the plurality of scalar registers 14 1 to 14 N.
1 is vector identification information indicating a vector register that is a transfer source or a transfer destination and one end of a set of vector elements that are logically or physically adjacent to the vector register, and a transfer destination or a transfer source. It includes a means for controlling the execution of a transfer instruction including a plurality of scalar identification information individually indicating a plurality of scalar registers as an operand, and under control, the vector registers 12 1 to 12
Of the vector elements whose storage areas are assigned to M , a set of vector elements whose one end is indicated by vector identification information,
Among the scalar registers 14 1 to 14 N, the block transfer means 41 for performing transfer in vector element units is provided between each of the scalar registers indicated by a plurality of scalar identification information.

【0018】図2は、請求項5、6に記載の発明の原理
ブロック図である。請求項5に記載の発明は、予め決め
られた制御論理に基づいてベクトル演算命令およびスカ
ラ演算命令の実行にかかわる制御機構を構成する制御手
段11と、複数のベクトル要素からなるベクトルデータ
を個別に保持する複数のベクトルレジスタ121 〜12
M と、複数のベクトルレジスタ121 〜12M に保持さ
れたベクトルデータに制御論理の下でベクトル演算を施
すベクトル演算手段13と、論理的にあるいは物理的に
隣接して配置され、かつ単一のベクトル要素に対応する
データを個別に保持する複数のスカラレジスタ141
14N と、複数のスカラレジスタ141 〜14N に保持
されたデータに制御論理の下でスカラ演算を施すスカラ
演算手段15とを備えたベクトル計算機において、制御
手段11には、転送元あるいは転送先となるベクトルレ
ジスタとそのベクトルレジスタに記憶領域が割り付けら
れたベクトル要素とを示すベクトル識別情報と、転送先
あるいは転送元となるスカラレジスタを示すスカラ識別
情報とをオペランドとして含む転送命令の実行にかかわ
る制御を行う手段を含み、制御の下で、ベクトルレジス
タ121 〜12M に記憶領域が割り付けられたベクトル
要素の内、ベクトル識別情報で示されたベクトル要素の
上位オーダあるいは下位オーダについて、スカラレジス
タ141 〜14N の内、スカラ識別情報によって示され
るスカラレジスタとの転送を行う転送手段51を備えた
ことを特徴とする。
FIG. 2 is a block diagram showing the principle of the invention described in claims 5 and 6. According to a fifth aspect of the present invention, a control means 11 constituting a control mechanism for executing a vector operation instruction and a scalar operation instruction based on a predetermined control logic, and vector data composed of a plurality of vector elements are individually provided. A plurality of vector registers 12 1 to 12 to hold
M and vector operation means 13 for performing vector operation on the vector data held in the plurality of vector registers 12 1 to 12 M under control logic, are arranged logically or physically adjacent to each other, and are provided as a single unit. A plurality of scalar registers 14 1 to individually hold data corresponding to vector elements of
14 N, and a scalar calculator 15 for performing a scalar operation under control logic on the data held in a plurality of scalar registers 14 1 to 14 N , the vector calculator has a controller 11 as a transfer source or a transferer. For executing a transfer instruction including, as an operand, vector identification information indicating a destination vector register and a vector element in which a storage area is allocated to the vector register, and scalar identification information indicating a transfer destination or a transfer source scalar register. Under the control, including the means for performing the related control, of the vector elements in which the storage areas are allocated to the vector registers 12 1 to 12 M , the scalar of the upper order or the lower order of the vector element indicated by the vector identification information is scalar. the registers 14 1 to 14 N, and a scalar register indicated by the scalar identification information Characterized by comprising a transfer means 51 for transferring.

【0019】請求項6に記載の発明は、予め決められた
制御論理に基づいてベクトル演算命令およびスカラ演算
命令の実行にかかわる制御機構を構成する制御手段11
と、複数のベクトル要素からなるベクトルデータを個別
に保持する複数のベクトルレジスタ121 〜12M と、
複数のベクトルレジスタ121 〜12M に保持されたベ
クトルデータに制御論理の下でベクトル演算を施すベク
トル演算手段13と、論理的にあるいは物理的に隣接し
て配置され、かつ単一のベクトル要素に対応するデータ
を個別に保持する複数のスカラレジスタ141 〜14N
と、複数のスカラレジスタ141 〜14N に保持された
データに制御論理の下でスカラ演算を施すスカラ演算手
段15とを備えたベクトル計算機において、制御手段1
1には、転送元あるいは転送先となるベクトルレジスタ
とそのベクトルレジスタに記憶領域が割り付けられたベ
クトル要素とを示すベクトル識別情報と、転送先あるい
は転送元となるスカラレジスタを示すスカラ識別情報と
をオペランドとして含む転送命令の実行にかかわる制御
を行う手段を含み、制御の下で、スカラレジスタ141
〜14N の内、スカラ識別情報によって示されるスカラ
レジスタの上位オーダあるいは下位オーダについて、ベ
クトルレジスタ121 〜12M に記憶領域が割り付けら
れたベクトル要素の内、ベクトル識別情報で示されたベ
クトル要素との転送を行う転送手段61を備えたことを
特徴とする。
According to a sixth aspect of the invention, the control means 11 constitutes a control mechanism relating to the execution of the vector operation instruction and the scalar operation instruction based on a predetermined control logic.
And a plurality of vector registers 12 1 to 12 M individually holding vector data composed of a plurality of vector elements,
A single vector element is arranged logically or physically adjacent to the vector operation means 13 for performing vector operation on the vector data held in the plurality of vector registers 12 1 to 12 M under control logic. A plurality of scalar registers 14 1 to 14 N that individually hold the data corresponding to
And a scalar operation means 15 for performing a scalar operation under control logic on the data held in the plurality of scalar registers 14 1 to 14 N.
1 includes vector identification information indicating a vector register as a transfer source or a transfer destination and a vector element in which a storage area is allocated to the vector register, and scalar identification information indicating a scalar register as a transfer destination or a transfer source. The scalar register 14 1 includes means for controlling the execution of a transfer instruction included as an operand, and under control.
Among 14 to 14 N , the vector element indicated by the vector identification information among the vector elements in which the storage areas are allocated to the vector registers 12 1 to 12 M for the higher order or the lower order of the scalar register indicated by the scalar identification information. And a transfer means 61 for performing transfer with

【0020】請求項7に記載の発明は、請求項1ないし
請求項3の何れか1項に記載のベクトル計算機におい
て、制御手段11には、ベクトル要素の数、ベクトル識
別情報およびスカラ識別情報について、予め設定された
値と個別に相関をとり、その相関の結果に基づいてブロ
ック転送の対象となるベクトル要素の数を「1」とする
手段を含むことを特徴とする。
According to a seventh aspect of the present invention, in the vector computer according to any one of the first to third aspects, the control means 11 controls the number of vector elements, vector identification information and scalar identification information. , And means for individually correlating with a preset value and setting the number of vector elements subject to block transfer to “1” based on the result of the correlation.

【0021】請求項8に記載の発明は、請求項1ないし
請求項3の何れか1項に記載のベクトル計算機におい
て、制御手段11には、ベクトル要素の数、ベクトル識
別情報およびスカラ識別情報について、予め設定された
値と個別に相関をとり、その相関の結果に基づいてブロ
ック転送の方向をスカラレジスタからベクトルレジスタ
に設定し、かつ個々のベクトル要素に対する転送元のス
カラレジスタを固定設定する手段を含むことを特徴とす
る。
The invention according to claim 8 is the vector computer according to any one of claims 1 to 3, wherein the control means 11 controls the number of vector elements, vector identification information, and scalar identification information. , Means for individually correlating with a preset value, setting the block transfer direction from a scalar register to a vector register based on the result of the correlation, and fixing the transfer source scalar register for each vector element It is characterized by including.

【0022】[0022]

【作用】請求項1に記載の発明にかかわるベクトル計算
機では、ベクトル識別情報、スカラ識別情報および転送
対象となるベクトル要素の数とがオペランドに含まれた
転送命令が与えられると、制御手段11はこのような命
令を解読し、その解読の結果に応じてベクトルレジスタ
121 〜12M 、ベクトル演算器13、スカラレジスタ
141 〜14N 、スカラ演算器15およびブロック転送
手段16の動作を制御する。ブロック転送手段16は、
このような制御の下で、ベクトルレジスタ121 〜12
M に記憶領域が割り付けられたベクトル要素の内、一端
がベクトル識別情報で示されるベクトル要素の集合と、
スカラレジスタ141〜14Nの内、一端がスカラ識別情
報で示されるスカラレジスタの集合との間について、数
に等しいベクトル要素のブロック転送を行う。
In the vector computer according to the first aspect of the present invention, when the transfer instruction in which the operand includes the vector identification information, the scalar identification information, and the number of vector elements to be transferred, the control means 11 Such an instruction is decoded, and the operations of the vector registers 12 1 to 12 M , the vector arithmetic unit 13, the scalar registers 14 1 to 14 N , the scalar arithmetic unit 15 and the block transfer means 16 are controlled according to the result of the decoding. . The block transfer means 16
Under such control, the vector registers 12 1 to 12
Of the vector elements whose storage area is allocated to M , a set of vector elements whose one end is indicated by vector identification information,
Among the scalar registers 14 1 to 14 N , a block transfer of vector elements equal in number is performed between one end and a set of scalar registers indicated by the scalar identification information.

【0023】すなわち、所望のベクトルレジスタとスカ
ラレジスタとの間で、複数のベクトル要素が単一の命令
によりブロック転送されるので、スカラループとベクト
ルループとの間のデータの引き渡しは、これらのレジス
タ間で単一の要素を直接あるいは主記憶経由で転送する
命令の反復実行によって行われていた従来例に比較して
効率化される。
That is, since a plurality of vector elements are block-transferred between a desired vector register and a scalar register by a single instruction, data transfer between the scalar loop and the vector loop is performed by these registers. This is more efficient than the conventional example which is performed by repeatedly executing an instruction for transferring a single element directly or via the main memory.

【0024】請求項2に記載の発明にかかわるベクトル
計算機では、転送元あるいは転送先となるベクトルレジ
スタとそのベクトルレジスタの上のベクトル要素の集合
の一端とを示す第一のベクトル識別情報と、その集合の
他端を示す第二のベクトル識別情報とが、請求項1に記
載の発明におけるベクトル識別情報およびベクトル要素
の数に代えてオペランドに含まれる。制御手段11は、
このようなオペランドを含む転送命令について、請求項
1に記載の発明と同様にして解読し、その解読の結果に
応じてブロック転送手段21を含む各部を制御する。
In the vector computer according to the second aspect of the present invention, first vector identification information indicating a vector register as a transfer source or a transfer destination and one end of a set of vector elements on the vector register, and the first vector identification information The second vector identification information indicating the other end of the set is included in the operand instead of the vector identification information and the number of vector elements in the first aspect of the invention. The control means 11
A transfer instruction including such an operand is decoded in the same manner as in the first aspect of the invention, and each unit including the block transfer means 21 is controlled according to the result of the decoding.

【0025】ブロック転送手段21は、このような制御
の下で、ベクトルレジスタ121 〜12M に記憶領域が
割り付けられたベクトル要素の内、両端が第一のベクト
ル識別情報および第二のベクトル識別情報とで示される
ベクトル要素の集合について、スカラレジスタ141
14N の内、一端がスカラ識別情報で示されるスカラレ
ジスタの集合との間でブロック転送を行う。
Under such control, the block transfer means 21 has the first vector identification information and the second vector identification information at both ends of the vector elements whose storage areas are allocated to the vector registers 12 1 to 12 M. for a set of vector elements indicated by the information, the scalar registers 14 1 to
Block transfer is performed between 14 N and a set of scalar registers whose one end is indicated by the scalar identification information.

【0026】すなわち、所望のベクトルレジスタとスカ
ラレジスタとの間で、複数のベクトル要素が単一の命令
によりブロック転送されるので、スカラループとベクト
ルループとの間のデータの引き渡しは、これらのレジス
タ間で単一の要素を直接あるいは主記憶経由で転送する
命令の反復実行により行われていた従来例に比較して効
率化される。
That is, since a plurality of vector elements are block-transferred by a single instruction between the desired vector register and the scalar register, the data transfer between the scalar loop and the vector loop is performed by these registers. This is more efficient than the conventional example which is performed by repeatedly executing an instruction for transferring a single element directly or via the main memory.

【0027】請求項3に記載の発明にかかわるベクトル
計算機では、転送先あるいは転送元となるスカラレジス
タの集合の一端を示す第一のスカラ識別情報とその集合
の他端を示す第二のスカラ識別情報とが、請求項1に記
載の発明におけるスカラ識別情報およびベクトル要素の
数に代えてオペランドに含まれる。制御手段11は、こ
のようなオペランドを含む転送命令について、請求項1
に記載の発明と同様にして解読し、その解読の結果に応
じてブロック転送手段31を含む各部を制御する。
In the vector computer according to the third aspect of the present invention, the first scalar identification information indicating one end of the set of scalar registers which is the transfer destination or the transfer source and the second scalar identification indicating the other end of the set. The information is included in the operand instead of the scalar identification information and the number of vector elements in the invention described in claim 1. The control means 11 claims a transfer instruction including such an operand.
Decryption is performed in the same manner as in the invention described in (1), and each unit including the block transfer means 31 is controlled according to the result of the decryption.

【0028】ブロック転送手段31は、このような制御
の下で、ベクトル識別情報によって示されるベクトルレ
ジスタに記憶領域が割り付けられた複数のベクトル要素
について、両端が第一のスカラ識別情報および第二のス
カラ識別情報とで示されるスカラレジスタとの間でブロ
ック転送を行う。
Under such control, the block transfer means 31 has the first scalar identification information and the second scalar identification information at both ends of the plurality of vector elements whose storage areas are allocated to the vector registers indicated by the vector identification information. Block transfer is performed with the scalar register indicated by the scalar identification information.

【0029】すなわち、所望のベクトルレジスタとスカ
ラレジスタとの間で、複数のベクトル要素が単一の命令
によりブロック転送されるので、スカラループとベクト
ルループとの間のデータの引き渡しは、これらのレジス
タ間で単一の要素を直接あるいは主記憶経由で転送する
命令の反復実行により行われていた従来例に比較して効
率化される。
That is, since a plurality of vector elements are block-transferred by a single instruction between the desired vector register and the scalar register, the data transfer between the scalar loop and the vector loop is performed by these registers. This is more efficient than the conventional example which is performed by repeatedly executing an instruction for transferring a single element directly or via the main memory.

【0030】請求項4に記載の発明にかかわるベクトル
計算機では、転送先あるいは転送元となる複数のスカラ
レジスタを個別に示す複数のスカラ識別情報が、請求項
1に記載の発明におけるスカラ識別情報およびベクトル
要素の数に代えてオペランドに含まれる。制御手段11
は、このようなオペランドを含む転送命令について、請
求項1に記載の発明と同様にして解読し、その解読の結
果に応じてブロック転送手段31を含む各部を制御す
る。
In the vector computer according to the invention described in claim 4, a plurality of scalar identification information individually indicating a plurality of scalar registers as a transfer destination or a transfer source are the scalar identification information in the invention described in claim 1 and It is included in the operand instead of the number of vector elements. Control means 11
Decodes a transfer instruction including such an operand in the same manner as the invention described in claim 1, and controls each unit including the block transfer means 31 according to the result of the decoding.

【0031】ブロック転送手段41は、このような制御
の下で、ベクトル識別情報によって示されるベクトルレ
ジスタに記憶領域が割り付けられた複数のベクトル要素
について、個別に各スカラ識別情報で示されるスカラレ
ジスタとの間で転送を行う。
Under such control, the block transfer means 41 individually and for each of the plurality of vector elements having storage areas allocated to the vector register indicated by the vector identification information, a scalar register indicated by each scalar identification information. Transfer between.

【0032】すなわち、所望のベクトルレジスタとスカ
ラレジスタとの間で、複数の要素が単一の命令により一
括してブロック転送されるので、スカラループとベクト
ルループとの間のデータの引き渡しは、これらのレジス
タ間で単一の要素を直接あるいは主記憶経由で転送する
命令の反復実行により行われていた従来例に比較して効
率化される。
That is, since a plurality of elements are collectively block-transferred between a desired vector register and a scalar register by a single instruction, data transfer between the scalar loop and the vector loop is performed by these elements. The efficiency is improved as compared with the conventional example in which a single element is transferred between registers directly or via main memory by repetitive execution of an instruction.

【0033】請求項5に記載の発明にかかわるベクトル
計算機では、オペランドには、請求項1、2に記載の発
明と同様にしてベクトル識別情報およびスカラ識別情報
が含まれるが、転送すべき要素の数やその要素の集合を
示す情報は必ずしも含まれない。制御手段11は、この
ようなオペランドを含む転送命令について、請求項1に
記載の発明と同様にして解読し、その解読の結果に応じ
て転送手段51を含む各部を制御する。
In the vector computer according to the invention described in claim 5, the operand includes the vector identification information and the scalar identification information in the same manner as in the invention described in claims 1 and 2, but the elements to be transferred are It does not necessarily include information indicating the number or the set of its elements. The control means 11 decodes the transfer instruction including such an operand in the same manner as in the invention described in claim 1, and controls each unit including the transfer means 51 according to the result of the decoding.

【0034】転送手段51は、このような制御の下で、
ベクトルレジスタ121 〜12M に記憶領域が割り付け
られたベクトル要素の内、ベクトル識別情報で示された
ベクトル要素の上位オーダまたは下位オーダの何れか一
方について、スカラレジスタ141 〜14N の内、スカ
ラ識別情報によって示されるスカラレジスタとの間で転
送を行う。
Under such control, the transfer means 51
Of the vector elements whose storage areas are allocated to the vector registers 12 1 to 12 M , one of the high order or the low order of the vector element indicated by the vector identification information, among the scalar registers 14 1 to 14 N , Transfer is performed with the scalar register indicated by the scalar identification information.

【0035】すなわち、所望のベクトルレジスタとスカ
ラレジスタとの間で任意の要素の上位オーダまたは下位
オーダの転送が単一の命令により行われるので、スカラ
演算とベクトル演算との対象となる情報の語長やレジス
タ上の配置が異なる場合におけるスカラループとベクト
ルループとの間のデータの引き渡しは、このような相違
を吸収する処理を別途付加しなければならなかった従来
例に比較して効率化される。
That is, since the transfer of the high order or the low order of any element between the desired vector register and the scalar register is performed by a single instruction, the word of the information that is the target of the scalar operation and the vector operation. The data transfer between the scalar loop and the vector loop when the length and the arrangement on the register are different is more efficient than the conventional example in which a process for absorbing such a difference must be added separately. It

【0036】請求項6に記載の発明にかかわるベクトル
計算機では、オペランドには、請求項1、2に記載の発
明と同様にしてベクトル識別情報およびスカラ識別情報
が含まれるが、転送すべき要素の数やその要素の集合を
示す情報は必ずしも含まれない。制御手段11は、この
ようなオペランドを含む転送命令について、請求項1に
記載の発明と同様にして解読し、その解読の結果に応じ
て転送手段61を含む各部を制御する。
In the vector computer according to the invention described in claim 6, the operand includes the vector identification information and the scalar identification information as in the invention described in claims 1 and 2, but the elements to be transferred are It does not necessarily include information indicating the number or the set of its elements. The control means 11 decodes the transfer instruction including such an operand in the same manner as in the invention described in claim 1, and controls each unit including the transfer means 61 according to the result of the decoding.

【0037】転送手段61は、このような制御の下で、
スカラレジスタ141〜14Nの内、スカラ識別情報によ
って示されるスカラレジスタの上位オーダまたは下位オ
ーダの何れか一方について、ベクトルレジスタ121
12M に記憶領域が割り付けられたベクトル要素の内、
ベクトル識別情報で示されたベクトル要素との間で転送
を行う。
Under such control, the transfer means 61
Of the scalar registers 14 1 to 14 N , the vector register 12 1 to
Of the vector elements whose storage area is allocated to 12 M ,
Transfer is performed with the vector element indicated by the vector identification information.

【0038】すなわち、所望のベクトルレジスタと、所
望のスカラレジスタの上位オーダまたは下位オーダとの
間の転送が単一の命令により行われるので、スカラ演算
とベクトル演算との対象となる情報の語長やレジスタ上
の配置が異なる場合におけるスカラループとベクトルル
ープとの間のデータの引き渡しは、このような相違を吸
収する処理を別途付加しなければならなかった従来例に
比較して効率化される。
That is, since the transfer between the desired vector register and the upper or lower order of the desired scalar register is performed by a single instruction, the word length of the information to be subjected to the scalar operation and the vector operation. The data transfer between the scalar loop and the vector loop when the arrangement on the register or register is different is more efficient than the conventional example in which a process to absorb such a difference must be added separately. .

【0039】請求項7に記載の発明にかかわるベクトル
計算機では、制御手段11は、請求項1ないし請求項3
に記載の発明においてオペランドに含まれるベクトル要
素の数、第一のベクトル識別情報、第二のベクトル識別
情報、第一のスカラ識別情報、第二のスカラ識別情報に
ついて、個別に予め設定された値との相関をとり、その
相関の結果に応じてブロック転送の対象となるベクトル
要素の数を「1」とする。
In the vector computer according to the seventh aspect of the present invention, the control means 11 has the first to third aspects.
In the invention described in, the number of vector elements included in the operand, the first vector identification information, the second vector identification information, the first scalar identification information, the second scalar identification information, individually preset value And the number of vector elements to be block-transferred is set to "1" according to the result of the correlation.

【0040】すなわち、転送対象のベクトルレジスタ、
ベクトル要素およびスカラレジスタの何れかが特定のも
のであるときに、転送すべきベクトル要素の数が「1」
に設定されるので、単一の要素についてベクトルレジス
タとスカラレジスタとの間の転送を行う従来の転送命令
と命令の形式の互換性が確保される。
That is, the vector register to be transferred,
The number of vector elements to be transferred is "1" when either the vector element or the scalar register is specific.
Is set to, the compatibility of the format of the instruction with the conventional transfer instruction for performing the transfer between the vector register and the scalar register for a single element is ensured.

【0041】請求項8に記載の発明にかかわるベクトル
計算機では、制御手段11は、請求項1ないし請求項3
に記載の発明においてオペランドに含まれるベクトル要
素の数、第一のベクトル識別情報、第二のベクトル識別
情報、第一のスカラ識別情報、第二のスカラ識別情報に
ついて、個別に予め設定された値との相関をとり、その
相関の結果に応じてブロック転送の方向をスカラレジス
タからベクトルレジスタに設定すると共に、転送元のス
カラレジスタを固定設定する。
In the vector computer according to the eighth aspect of the present invention, the control means 11 has the first to third aspects.
In the invention described in, the number of vector elements included in the operand, the first vector identification information, the second vector identification information, the first scalar identification information, the second scalar identification information, individually preset value The block transfer direction is set from the scalar register to the vector register according to the result of the correlation and the transfer source scalar register is fixedly set.

【0042】すなわち、転送対象のベクトルレジスタ、
ベクトル要素およびスカラレジスタの何れかが特定のも
のであるときに、スカラ識別情報で示される単一のスカ
ラレジスタの内容が所望のベクトルレジスタに隣接して
配置された複数のベクトル要素に転送されるので、この
ような転送を行う従来の転送命令と命令の形式の互換性
が確保される。
That is, the vector register to be transferred,
When either the vector element or the scalar register is specific, the contents of a single scalar register indicated by the scalar identification information is transferred to multiple vector elements located adjacent to the desired vector register. Therefore, compatibility of the format of the instruction with the conventional transfer instruction for performing such transfer is ensured.

【0043】[0043]

【実施例】以下、図面に基づいて本発明の実施例につい
て詳細に説明する。図3は、請求項1〜8に記載の発明
に対応した実施例を示す図である。
Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 3 is a diagram showing an embodiment corresponding to the invention described in claims 1 to 8.

【0044】図において、命令レジスタ70の各フィー
ルドはスカラユニット71に与えられ、そのスカラユニ
ットはベクトルユニット72と相互に接続される。命令
レジスタ70には、命令コードフィールド(以下、「O
P」という。)、ベクトルレジスタフィールド(以下、
それぞれ「Vi」または「Vl」という。)および3つの
汎用フィールド(以下、それぞれ「Sj」、「Sk」、
「Sl(またはSi ) 」という。)が設定される。
In the figure, each field of the instruction register 70 is applied to a scalar unit 71, and the scalar unit is interconnected with a vector unit 72. The instruction register 70 has an instruction code field (hereinafter, “O”).
P ”. ), Vector register field (below,
Each referred to as a "V i" or "V l". ) And three general fields (hereinafter “S j ”, “S k ”, respectively)
It is called "S l (or S i )". ) Is set.

【0045】スカラユニット71では、OPは、命令コ
ードレジスタ(OPR)73S の入力、VU命令送出制
御部(VSC)74の第一の入力およびセレクタ75の
第一の入力に与えられる。Vi(Si)はベクトルレジスタ
・アドレスレジスタ(VRAR(以下、「VRAR」と
いう。)76S の一方の入力に与えられ、Sj およびS
k はスカラレジスタファイル(SR(以下、「SR」と
いう。))77の第一および第二のアドレス入力に与えら
れる。Sl(Vl)はアドレスカウンタ78S の入力に与え
られ、その出力はSR77の第三のアドレス入力に接続
される。SR77の第一の出力はVRAR76S の他方
の入力に接続され、その出力はセレクタ75の第二の入
力に接続される。SR77の第二の出力はセレクタ75
の第三の入力および計数回路79S の入力に接続され、
その出力はスカラレジスタ制御部(SRC)80の一方
の入力に接続される。スカラレジスタ制御部80の一方
の出力は、SR77の制御入力に接続される。命令コー
ドレジスタ73S の一方の出力はVU命令送出制御部7
4の第二の入力に接続され、命令コードレジスタ73S
の他方の出力はスカラレジスタ制御部80の第二の入力
に接続される。スカラレジスタ制御部80の他方の出力
はSR77の制御入力に接続され、SR77の第三の出力は
セレクタ75の第四の入力に接続される。VU命令送出
制御部74の一方の出力は、セレクタ75の選択入力に
接続される。
In the scalar unit 71, OP is given to the input of the instruction code register (OPR) 73 S , the first input of the VU instruction sending control unit (VSC) 74 and the first input of the selector 75. V i (S i ) is given to one input of a vector register / address register (VRAR (hereinafter referred to as “VRAR”) 76 S , and S i and S j
k is given to the first and second address inputs of the scalar register file (SR (hereinafter referred to as “SR”)) 77. S l (V l ) is given to the input of the address counter 78 S , and its output is connected to the third address input of SR77. The first output of the SR77 is connected to the other input of VRAR76 S, the output of which is connected to a second input of the selector 75. The second output of SR77 is selector 75
Connected to the third input of and the input of counting circuit 79 S ,
Its output is connected to one input of a scalar register controller (SRC) 80. One output of the scalar register control unit 80 is connected to the control input of SR77. One output of the instruction code register 73 S is the VU instruction sending control unit 7
4 is connected to the second input of the instruction code register 73 S
The other output of is connected to the second input of the scalar register controller 80. The other output of the scalar register control unit 80 is connected to the control input of SR77, and the third output of SR77 is connected to the fourth input of the selector 75. One output of the VU command transmission control unit 74 is connected to the selection input of the selector 75.

【0046】ベクトルユニット72では、上述したセレ
クタ75の出力は命令コードレジスタ73V 、VRAR
76V 、要素数レジスタ(NR)81およびVRライト
レジスタ(VRWR)82の入力に接続され、これらの
レジスタの制御入力にはVU命令送出制御部74の他方
の出力が接続される。命令コードレジスタ73V の出力
はベクトルレジスタ制御部(VRC)83の一方の入力
に接続され、要素数レジスタ81の出力は計数回路79
V を介してベクトルレジスタ制御部83の他方の入力に
接続される。VRAR76V の出力はアドレスカウンタ
78V を介してベクトルレジスタファイル(VR(以
下、「VR」という。))84のアドレス入力に接続さ
れ、VRライトレジスタ82の出力はVR84の入力に
接続される。ベクトルレジスタ制御部83の第一の出力
はVR84の制御入力に接続され、その出力はレジスタ
(R)85を介してスカラユニット71に配置されたS
R77の入力に接続される。ベクトルレジスタ制御部8
3の第二の出力はレジスタ85の制御入力に接続され、
ベクトルレジスタ制御部83の第三の出力はスカラレジ
スタ制御部80の第三の入力に接続される。
In the vector unit 72, the output of the selector 75 is the instruction code register 73 V , VRAR.
76 V , element number register (NR) 81 and VR write register (VRWR) 82 are connected to the inputs, and the other outputs of the VU command sending control unit 74 are connected to the control inputs of these registers. The output of the instruction code register 73 V is connected to one input of the vector register control unit (VRC) 83, and the output of the element number register 81 is the counting circuit 79.
It is connected to the other input of the vector register control unit 83 via V. VRAR76 V output vector register file (VR (hereinafter, referred to as "VR".)) Via the address counter 78 V 84 connected to the address inputs, the output of the VR write register 82 is connected to an input of VR84. The first output of the vector register control unit 83 is connected to the control input of the VR 84, and its output is the S arranged in the scalar unit 71 via the register (R) 85.
Connected to the input of R77. Vector register control unit 8
The second output of 3 is connected to the control input of register 85,
The third output of the vector register control unit 83 is connected to the third input of the scalar register control unit 80.

【0047】なお、上述した各部は、これらをマイクロ
プログラム制御方式に基づいて制御するマイクロコント
ローラ(図示されない。)の対応する入出力に接続され
る。また、SR77に格納されたデータに対して演算を
行うスカラ演算器と、VR84に格納された要素に対し
てベクトル演算を行うベクトル演算器とについては、そ
れぞれスカラユニット71とベクトルユニット72とに
実装されるが、本発明に直接関係ないので、ここでは図
示および説明を省略する。
Each of the above-mentioned units is connected to the corresponding input / output of a micro controller (not shown) that controls them based on the micro program control system. Further, the scalar arithmetic unit that performs an arithmetic operation on the data stored in the SR77 and the vector arithmetic unit that performs a vector arithmetic operation on the elements stored in the VR 84 are mounted in the scalar unit 71 and the vector unit 72, respectively. However, since it is not directly related to the present invention, its illustration and description are omitted here.

【0048】さらに、本実施例と図1、図2に記載のブ
ロック図との対応関係については、命令レジスタ70お
よび図示されないマイクロコントローラは制御手段11
に対応し、VR87はベクトルレジスタ121〜12M
対応し、上述したベクトル演算器はベクトル演算手段1
3に対応し、SR77はスカラレジスタ131〜13N
対応し、上述したスカラ演算器はスカラ演算手段15に
対応し、命令コードレジスタ73s、73V、VU命令送
出制御部74、セレクタ75、VRAR76s、7
V 、アドレスカウンタ78s 、78V 、計数回路79
s 、79V 、スカラレジスタ制御部80、要素数カウン
タ81、VRWR82、ベクトルレジスタ制御部83お
よびレジスタ85はブロック転送手段16、21、3
1、41および転送手段51、61に対応する。
Further, regarding the correspondence between the present embodiment and the block diagrams shown in FIGS. 1 and 2, the instruction register 70 and the microcontroller (not shown) are the control means 11.
The VR 87 corresponds to the vector registers 12 1 to 12 M , and the vector calculator described above corresponds to the vector calculating means 1.
3, the SR 77 corresponds to the scalar registers 13 1 to 13 N , the scalar calculator described above corresponds to the scalar calculation means 15, the instruction code registers 73 s , 73 V , the VU instruction sending control unit 74, and the selector 75. , VRAR76 s, 7
6 V , address counter 78 s , 78 V , counting circuit 79
s , 79 V , the scalar register control unit 80, the element number counter 81, the VRWR 82, the vector register control unit 83, and the register 85 are block transfer means 16, 21, and 3.
1 and 41 and transfer means 51 and 61.

【0049】図4は、請求項1に記載の発明に対応した
本実施例の動作を説明する図である。以下、図3および
図4を参照して本実施例の請求項1に記載の発明に対応
した動作を説明する。なお、上述したマイクロコントロ
ーラは上述した各部について、所定のタイミングを与え
たり状態を監視して全体の動作を統括するが、このよう
な動作については、以下では、特記に値する事項を除い
て記述を省略する。
FIG. 4 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 1. The operation corresponding to the invention described in claim 1 of the present embodiment will be described below with reference to FIGS. 3 and 4. The above-mentioned microcontroller gives predetermined timing to each of the above-mentioned parts and monitors the state to control the overall operation. However, such operation will be described below except for matters worthy of special mention. Omit it.

【0050】本実施例では、図5(1) に示すように、命
令レジスタ70のフィールドの内、Vi にはデータの転
送元(転送先)となるベクトルレジスタの番号rV が設
定され、Sj にはそのベクトルレジスタの要素の内、転
送元(転送先)となる要素の先頭ポインタpが予め格納
されたスカラレジスタの番号rp が設定され、Sk には
転送すべきデータの要素数nが予め格納されたスカラレ
ジスタの番号rn が設定され、Sl には転送先(転送
元)となる先頭スカラレジスタの番号rs が設定され
る。
In the present embodiment, as shown in FIG. 5A, in the field of the instruction register 70, V i is set to the vector register number r V which is the data transfer source (transfer destination), S j is set to the scalar register number r p in which the head pointer p of the element to be the transfer source (transfer destination) among the elements of the vector register is stored in advance, and S k is the element of the data to be transferred. The number r n of the scalar register in which the number n is stored in advance is set, and the number r s of the leading scalar register which is the transfer destination (transfer source) is set in S l .

【0051】このような構成のオペランドと共に、「ベ
クトルレジスタ(スカラレジスタ)からスカラレジスタ
(ベクトルレジスタ)に対するブロック転送を要求す
る」命令コードがOPに設定されると、スカラユニット
71では、命令コードレジスタ73s にはその命令コー
ドが保持される。
When the instruction code "Request block transfer from vector register (scalar register) to scalar register (vector register)" is set to OP together with the operand having such a configuration, the scalar unit 71 causes the instruction code register The instruction code is held in 73 s .

【0052】スカラレジスタ制御部80は、このように
命令コードレジスタ73S に保持された命令コードに基
づいて以下のSR77のアクセスにかかわる制御を統括
して行う。
The scalar register control unit 80 integrally controls the following access to the SR 77 based on the instruction code held in the instruction code register 73 S in this way.

【0053】VRAR76s の上位オーダーには、Vi
に設定されたベクトルレジスタの番号rV が保持され
る。SR77は上述した番号rp で示されるスカラレジ
スタから先頭ポインタpを読み出し、その先頭ポインタ
はVRAR76s の下位オーダに保持される。
The upper order of VRAR76 s is V i
The vector register number r V set to is held. The SR 77 reads the head pointer p from the scalar register indicated by the number r p described above, and the head pointer is held in the lower order of VRAR76 s .

【0054】また、アドレスカウンタ78s には上述し
た番号rs がプリセットされる。さらに、SR77は上
述した番号rn で示されるスカラレジスタから要素数n
を読み出し、その要素数は計数回路79s にプリセット
される。
The above-mentioned number r s is preset in the address counter 78 s . Further, SR77 determines the number of elements n from the scalar register indicated by the number r n described above.
Is read out, and the number of elements is preset in the counting circuit 79 s .

【0055】VU命令送出制御部74は、上述した命令
コードを解析し、その結果に基づいてセレクタ75に選
択信号を与えることにより、要素数nをベクトルユニッ
ト72に与える。
The VU command transmission control unit 74 analyzes the above-mentioned command code, and gives the selection signal to the selector 75 based on the result, thereby giving the number of elements n to the vector unit 72.

【0056】一方、ベクトルユニット72では、このよ
うにして与えられる要素数nは、要素数レジスタ81に
保持され、さらに、その要素数レジスタを介して計数回
路79V にプリセットされる。
On the other hand, in the vector unit 72, the element number n thus given is held in the element number register 81, and is further preset in the counting circuit 79 V via the element number register.

【0057】また、スカラユニット71では、VU命令
送出制御部74は、上述した命令コードの解析の結果に
基づいてセレクタ75を制御することにより、所定のタ
イミングでその命令コードを選択し、さらに、予め決め
られた時間経過後には、VRAR76s に保持されたベ
クトルレジスタの番号rV と先頭ポインタpとを選択し
て共にベクトルユニット72に与える。
Further, in the scalar unit 71, the VU command transmission control section 74 controls the selector 75 based on the result of the analysis of the above-mentioned command code to select the command code at a predetermined timing, and further, After the elapse of a predetermined time, the vector register number r V held in the VRAR 76 s and the head pointer p are selected and given to the vector unit 72 together.

【0058】ベクトルユニット72では、このようにし
て与えられる命令コードは命令コードレジスタ73V
保持され、ベクトルレジスタの番号rV と先頭ポインタ
pとはVRAR76V に保持されると共に、そのVRA
Rを介してアドレスカウンタ78V にプリセットされ
る。
In the vector unit 72, the instruction code thus given is held in the instruction code register 73 V , the vector register number r V and the head pointer p are held in VRAR 76 V , and the VRA thereof is also held.
It is preset to the address counter 78 V via R.

【0059】このような一連の動作が完了すると、ベク
トルレジスタ制御部83は、命令コードレジスタ73V
に保持された命令コードを解析し、その結果に基づいて
スカラレジスタ制御部80が行うSR77のアクセス制
御に同期してVR84のアクセス制御を行うと共に、レ
ジスタ85の開閉制御を行う。
Upon completion of such a series of operations, the vector register control unit 83 causes the instruction code register 73 V
The instruction code stored in the register 84 is analyzed, and based on the result, the access control of the VR 84 is performed in synchronization with the access control of the SR 77 performed by the scalar register control unit 80, and the opening / closing control of the register 85 is performed.

【0060】このような制御の下で行われるSR77と
VR84との間のデータ転送にかかわる動作について
は、そのデータの転送方向によって異なるので、以下で
は個別に説明する。
The operation relating to the data transfer between the SR 77 and the VR 84 performed under such control differs depending on the transfer direction of the data, and therefore will be described individually below.

【0061】ベクトルレジスタからスカラレジスタに対
するデータ転送を要求する命令が与えられた場合には、
ベクトルユニット72では、ベクトルレジスタ制御部8
3は、VR84に含まれるベクトルレジスタの内、アド
レスカウンタ78v に保持されたベクトルレジスタの番
号と先頭ポインタとで示されるベクトルレジスタの要素
について、所定のタイミングに読み出し指令を出力す
る。このような読み出し指令に応じて読み出された要素
は、ベクトルレジスタ制御部83の制御の下でレジスタ
85に保持されてスカラユニット71に与えられる。
When an instruction requesting data transfer from the vector register to the scalar register is given,
In the vector unit 72, the vector register control unit 8
Of the vector registers included in the VR 84, 3 outputs a read command at a predetermined timing with respect to the vector register element indicated by the number of the vector register held in the address counter 78 v and the head pointer. The element read in response to such a read command is held in the register 85 and given to the scalar unit 71 under the control of the vector register control unit 83.

【0062】スカラユニット71では、このようにして
与えられた要素は、スカラレジスタ制御部80が行う制
御の下で、SR77に含まれるスカラレジスタの内、ア
ドレスカウンタ78s に保持されたレジスタ番号で示さ
れるスカラレジスタに格納される(図4)。
In the scalar unit 71, the element thus given is the register number held in the address counter 78 s of the scalar registers included in the SR 77 under the control of the scalar register control unit 80. It is stored in the scalar register shown (FIG. 4).

【0063】このようにしてスカラレジスタに要素が格
納されると、アドレスカウンタ78 s 、78V の内容は
共にインクリメントされ、かつ計数回路79s 、79V
の内容は共にデクリメントされる。スカラレジスタ制御
部80およびベクトルレジスタ制御部83は、それぞれ
計数回路79s 、79V の内容を監視し、その内容が
「0」となるまで、SR77やVR84、レジスタ85
について、同様に要素毎の転送(図4、…)を反復す
る制御を行う。
In this way, the elements are stored in the scalar register.
When delivered, the address counter 78 s, 78VThe content of
Both incremented and counting circuit 79s, 79V
The contents of are decremented together. Scalar register control
The unit 80 and the vector register control unit 83 are respectively
Counting circuit 79s, 79VMonitor the contents of
Until it becomes "0", SR77, VR84, register 85
For each element, repeat the transfer for each element (FIG. 4, ...).
Control.

【0064】また、スカラレジスタからべクトルレジス
タに対するデータ転送を要求する命令が与えられた場合
には、スカラユニット71では、スカラレジスタ制御部
80は、SR77に含まれるスカラレジスタの内、アド
レスカウンタ78s に保持されたレジスタ番号で示され
るスカラレジスタの読み出し指令を所定のタイミングで
出力し、かつそのタイミングをVU命令送出制御部74
に通知する。VU命令送出制御部74は、このような通
知が与えられるとセレクタ75に選択信号を与えること
により、上述した読み出し指令に応じてSR77から読
み出されたデータ(ベクトルレジスタの要素単位に与え
られる。)をベクトルユニット72に与える。
When the scalar register issues an instruction requesting data transfer to the vector register, the scalar unit 71 of the scalar register control unit 80 causes the address counter 78 of the scalar registers included in the SR 77. A read instruction of the scalar register indicated by the register number held in s is output at a predetermined timing, and that timing is output by the VU instruction sending control unit 74.
To notify. When such notification is given, the VU command sending control unit 74 gives a selection signal to the selector 75, so that the data read from the SR 77 according to the above-mentioned read command (given to each element of the vector register is given. ) To the vector unit 72.

【0065】一方、ベクトルユニット72では、VRW
R82は、上述したようにスカラユニット71から与え
られる個々の要素を一旦保持する。ベクトルレジスタ制
御部83は、VRWR82にこのような要素が保持され
ると、VR84に含まれるベクトルレジスタの内、アド
レスカウンタ78v に保持されたベクトルレジスタの番
号と先頭ポインタとで示される要素について、書き込み
指令を与える。
On the other hand, in the vector unit 72, VRW
The R 82 temporarily holds the individual elements provided from the scalar unit 71 as described above. When such an element is held in the VRWR 82, the vector register control unit 83, regarding the element indicated by the number of the vector register held in the address counter 78 v and the head pointer among the vector registers included in the VR 84, Give a write command.

【0066】VRWR82に保持された要素は、このよ
うな書き込み指令が与えられた時点でアドレスカウンタ
78V によって指定されているベクトルレジスタに書き
込まれる(図4(a))。
The elements held in the VRWR 82 are written in the vector register designated by the address counter 78 V when such a write command is given (FIG. 4 (a)).

【0067】また、このような要素単位の転送が完了す
ると、アドレスカウンタ78s 、78V の内容はインク
リメントされ、かつ計数回路79s、79Vの内容はデク
トリメントされる。さらに、このような上述した転送
は、このようにしてデクリメントされた計数回路の値が
「0」となるまで反復して行われる(図4(b),…)。
When such element-wise transfer is completed, the contents of the address counters 78 s and 78 V are incremented, and the contents of the counting circuits 79 s and 79 V are decremented. Furthermore, the above-mentioned transfer is repeatedly performed until the value of the counter circuit thus decremented becomes "0" (FIG. 4 (b), ...).

【0068】このように本実施例によれば、所望のベク
トルレジスタとスカラレジスタとの間で隣接した複数の
要素のブロック転送が確実に行われ、単一の要素のみに
ついて転送を行うレジスタ間転送命令を備えた従来に比
べて、転送効率が高められ、ベクトルループとスカラル
ープとの継ぎ目におけるオーバヘッドが大幅に軽減され
る。
As described above, according to the present embodiment, the block transfer of a plurality of adjacent elements is surely performed between the desired vector register and the scalar register, and the inter-register transfer for transferring only a single element is performed. The transfer efficiency is improved and the overhead at the seam between the vector loop and the scalar loop is significantly reduced, as compared with the related art including instructions.

【0069】図6は、請求項2に記載の発明に対応した
本実施例の動作を説明する図である。以下、図3、図5
および図6を参照して本実施例の請求項2に記載の発明
に対応した動作を説明する。
FIG. 6 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 2. Hereinafter, FIG. 3 and FIG.
The operation corresponding to the invention described in claim 2 of the present embodiment will be described with reference to FIG.

【0070】本実施例では、図5(2) に示すように、命
令レジスタ70のフィールドSk には、転送すべきデー
タの要素数nが格納されたスカラレジスタの番号rn
代えて、転送対象となる複数の要素の内、末尾の要素を
示すポインタpe が予め格納されたスカラレジスタの番
号rpeが設定されるが、その他のフィールドVi、Sj
l に設定される情報については、上述した請求項1に
対応した実施例と同様であるから、ここではその説明を
省略する。 スカラユニット71およびベクトルユニッ
ト72の各部は、このようなオペランドと共に、「ベク
トルレジスタ(スカラレジスタ)からスカラレジスタ
(ベクトルレジスタ)に対するブロック転送を要求す
る」命令コードが命令レジスタ70のOPに設定された
場合には、後述する「処理の打切り条件の判定にかかわ
る処理」を除いて、上述した請求項1に記載の発明に対
応した実施例と同様に要素単位の転送を反復する。した
がって、ここでは、このような転送に関する動作の説明
を省略する。マイクロコントローラは、上述したブロッ
ク転送の方向が何れであっても、S k に設定された番号
peで示されるスカラレジスタに格納されたポインタp
e の値とアドレスカウンタ78V の下位オーダに保持さ
れた値とを比較し、両者が一致すると、要素単位の転送
を打ち切る。
In this embodiment, as shown in FIG.
Field S of command register 70kThe days that should be transferred
Number r of the scalar register that stores the number n of data elementsnTo
Instead, the last element of the multiple elements to be transferred is
Pointer peIs the number of the scalar register previously stored
Issue rpeIs set, but other fields Vi, Sj,
SlFor the information set in, refer to the above-mentioned claim 1.
Since it is the same as the corresponding embodiment, its explanation will be given here.
Omit it. Scalar unit 71 and vector unit
Each part of the packet 72 is
Toll register (scalar register) to scalar register
Request block transfer to (vector register)
Command code is set to OP of the instruction register 70
In this case, please refer to "
Processing according to the first aspect of the invention described above.
The element-wise transfer is repeated as in the corresponding embodiment. did
Therefore, here is a description of the operation related to such transfer.
Is omitted. The microcontroller is based on the block described above.
S no matter which direction the transfer is, S kNumber set to
rpePointer p stored in the scalar register indicated by
eValue and address counter 78VHeld in lower order
If the two values match, the element-wise transfer is performed.
Abort.

【0071】したがって、本実施例によれば、請求項1
に記載の発明に対応した実施例と同様にして、所望のベ
クトルレジスタとスカラレジスタとの間で隣接した複数
の要素のブロック転送が確実に行われ(図6、、
…)、従来に比べて転送効率が高められ、かつベクトル
ループとスカラループとの継ぎ目におけるオーバヘッド
が大幅に軽減される。
Therefore, according to this embodiment, claim 1
Similar to the embodiment corresponding to the invention described in (1), the block transfer of a plurality of adjacent elements between the desired vector register and the scalar register is surely performed (FIG. 6 ,,
...), the transfer efficiency is improved as compared with the prior art, and the overhead at the joint between the vector loop and the scalar loop is significantly reduced.

【0072】なお、本実施例では、上述したポインタp
e の値とアドレスカウンタ78V に保持された値とを比
較して要素単位の打ち切りが行われているが、本発明は
このような構成に限定されず、例えば、転送動作の開始
に先行してそのポインタpeの値とVRAR76V の下
位オーダに保持された先頭要素のポインタpとの差分を
計数回路79s 、79V にプリセットし、請求項1に記
載の発明に対応した実施例と同様にこれらの計数回路の
計数値が「0」となったときに打ち切りを行ってもよ
い。
In this embodiment, the pointer p mentioned above is used.
Although the value of e is compared with the value held in the address counter 78 V to terminate the element unit, the present invention is not limited to such a configuration and, for example, precedes the start of the transfer operation. The difference between the value of the pointer p e and the pointer p of the head element held in the lower order of VRAR76 V is preset in the counting circuits 79 s and 79 V , and the embodiment corresponding to the invention according to claim 1 is provided. Similarly, censoring may be performed when the count values of these counting circuits become “0”.

【0073】図7は、請求項3に記載の発明に対応した
本実施例の動作を説明する図である。以下、図3、図5
および図7を参照して本実施例の請求項3に記載の発明
に対応した動作を説明する。
FIG. 7 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 3. Hereinafter, FIG. 3 and FIG.
The operation corresponding to the invention described in claim 3 of the present embodiment will be described with reference to FIG.

【0074】本実施例では、図5(3) に示すように、命
令レジスタ70のフィールドSk には、最終の要素を示
すポインタpe に代えて、転送対象となる複数のスカラ
レジスタの内、末尾のスカラレジスタの番号rseが設定
されるが、その他のフィールドVi 、Sj 、Sl に設定
される情報については、上述した請求項1に対応した実
施例と同様であるから、ここではその説明を省略する。
In the present embodiment, as shown in FIG. 5 (3), in the field S k of the instruction register 70, a pointer p e indicating the last element is replaced with a plurality of scalar registers to be transferred. , The scalar register number r se at the end is set, but the information set in the other fields V i , S j , and S l is the same as that in the embodiment corresponding to claim 1 described above. The description is omitted here.

【0075】スカラユニット71およびベクトルユニッ
ト72の各部は、このようなオペランドと共に、「ベク
トルレジスタ(スカラレジスタ)からスカラレジスタ
(ベクトルレジスタ)に対するブロック転送を要求す
る」命令コードが命令レジスタ70のOPに設定された
場合には、後述する「処理の打切り条件の判定にかかわ
る処理」を除いて、上述した請求項1に記載の発明に対
応した実施例と同様に要素単位の転送を反復する。した
がって、ここでは、このような転送に関する動作の説明
を省略する。
In each section of the scalar unit 71 and the vector unit 72, the instruction code "requesting block transfer from the vector register (scalar register) to the scalar register (vector register)" is sent to the OP of the instruction register 70 together with such an operand. When set, the element-by-element transfer is repeated in the same manner as in the embodiment corresponding to the invention described in claim 1 above, except for the "processing relating to the determination of the processing termination condition" described later. Therefore, the description of the operation related to such transfer is omitted here.

【0076】マイクロコントローラは、上述したブロッ
ク転送の方向が何れであっても、S k に設定された番号
seとアドレスカウンタ78s に保持されたスカラレジ
スタの番号とを比較し、両者が一致すると、要素単位の
転送を打ち切る。
The microcontroller is based on the block described above.
S no matter which direction the transfer is, S kNumber set to
rseAnd address counter 78sScalar register held by
The number of the star is compared, and if both match, the
Abort the transfer.

【0077】したがって、本実施例によれば、請求項1
に記載の発明に対応した実施例と同様にして、所望のベ
クトルレジスタとスカラレジスタとの間で隣接した複数
の要素のブロック転送が確実に行われ(図7、、
…)、従来に比べて転送効率が高められると共に、ベク
トルループとスカラループとの継ぎ目におけるオーバヘ
ッドが大幅に軽減される。
Therefore, according to this embodiment,
Similar to the embodiment corresponding to the invention described in (1), the block transfer of a plurality of adjacent elements between the desired vector register and the scalar register is surely performed (FIG. 7 ,,
...), the transfer efficiency is improved as compared with the conventional one, and the overhead at the joint between the vector loop and the scalar loop is significantly reduced.

【0078】なお、本実施例では、上述した番号rse
アドレスカウンタ78s に保持されたスカラレジスタの
番号とを比較して要素単位の打ち切りが行われている
が、本発明はこのような構成に限定されず、例えば、転
送動作の開始に先行して番号r seとVRAR76s に保
持された先頭のスカラレジスタの番号rs との差分を計
数回路79s 、79V にプリセットし、請求項1に記載
の発明に対応した実施例と同様にこれらの計数回路の計
数値が「0」となったときに打ち切りを行ってもよい。
In this embodiment, the above-mentioned number rseWhen
Address counter 78sOf the scalar register held in
The element-by-element censoring is performed by comparing with the number
However, the present invention is not limited to such a configuration, and for example,
The number r precedes the start of the sending operation seAnd VRAR76sIn
Number r of the held first scalar registersTotal difference with
Number circuit 79s, 79VAnd preset to claim 1
As in the embodiment corresponding to the invention of
The censoring may be performed when the numerical value becomes “0”.

【0079】図8は、請求項4に記載の発明に対応した
本実施例の動作を説明する図である。以下、図3、図5
および図8を参照して本実施例の請求項4に記載の発明
に対応した動作を説明する。
FIG. 8 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 4. Hereinafter, FIG. 3 and FIG.
The operation corresponding to the invention described in claim 4 of the present embodiment will be described with reference to FIG.

【0080】本実施例では、図5(4) に示すように、命
令レジスタ70のフィールドの内、Vi には請求項1に
対応した実施例と同様にしてデータの転送元(転送先)
となるベクトルレジスタの番号rV が設定されるが、S
j 、Sk 、Sl には、それぞれ転送先(転送元)となる
スカラレジスタの番号rs1、rs2、rs3が個別に設定さ
れる。なお、これらのスカラレジスタの番号について
は、相互間の異同は問わないものとする。
In the present embodiment, as shown in FIG. 5 (4), in the field of the instruction register 70, V i is the data transfer source (transfer destination) in the same manner as the embodiment corresponding to claim 1.
The vector register number r V is set to
The numbers r s1 , r s2 , and r s3 of the scalar registers that are the transfer destinations (transfer sources) are individually set in j , S k , and S l . Note that the numbers of these scalar registers may be the same or different.

【0081】スカラユニット71では、このような構成
のオペランドと共に、「ベクトルレジスタ(スカラレジ
スタ)からスカラレジスタ(ベクトルレジスタ)に対す
るブロック転送を要求する」命令コードがOPに設定さ
れた場合には、命令コードレジスタ73s には上述した
命令コードが保持され、VRAR76s の上位オーダー
および下位オーダーには、それぞれ上述したVi に設定
されたベクトルレジスタの番号rV と予め決められた先
頭の要素のポインタ(ここでは、簡単のため、「0」と
する。)とが保持される。
In the scalar unit 71, when the instruction code "request block transfer from vector register (scalar register) to scalar register (vector register)" is set to OP together with the operand having such a configuration, the instruction The code register 73 s holds the above-mentioned instruction code, and the upper order and the lower order of the VRAR 76 s respectively have the vector register number r V set to the above-mentioned V i and a pointer of a predetermined head element. (Here, it is set to “0” for simplicity.) And are held.

【0082】さらに、アドレスカウンタ78s には、S
j に設定されたスカラレジスタの番号rs1がプリセット
され、計数回路79s 、79V にはそれぞれ「1」がプ
リセットされる。
Further, the address counter 78 s has S
The scalar register number r s1 set to j is preset, and “1” is preset in each of the counting circuits 79 s and 79 V.

【0083】また、VU命令送出制御部74は、上述し
た命令コードを解析してその結果に基づいてセレクタ7
5を制御することにより所定のタイミングでその命令コ
ードを選択し、さらに、予め決められた時間経過後に
は、VRAR76s に保持されたベクトルレジスタの番
号rV と先頭要素のポインタの値とを選択して共にベク
トルユニット72に与える。
The VU command transmission control section 74 analyzes the above-mentioned command code and selects the selector 7 based on the result.
By controlling 5, the instruction code is selected at a predetermined timing, and after the elapse of a predetermined time, the vector register number r V held in VRAR76 s and the pointer value of the first element are selected. And give them to the vector unit 72 together.

【0084】一方、ベクトルユニット72では、このよ
うにして与えられる命令コードは命令コードレジスタ7
V に保持され、かつベクトルレジスタの番号rV と先
頭要素のポインタの値とはVRAR76V に保持される
と共に、そのVRARを介してアドレスカウンタ78V
にプリセットされる。
On the other hand, in the vector unit 72, the instruction code thus provided is the instruction code register 7
3 V is held, and with the value of the pointer of the number r V and the first element of the vector register is held in VRAR76 V, the address counter 78 V via the VRAR
Is preset to.

【0085】このような一連の動作が完了すると、ベク
トルレジスタ制御部83は、命令コードレジスタ73V
に保持された命令コードを解析し、その結果に基づいて
スカラレジスタ制御部80が行うSR77のアクセス制
御に同期してVR84のアクセス制御を行うと共に、レ
ジスタ85の開閉制御を行う。
Upon completion of such a series of operations, the vector register control unit 83 causes the instruction code register 73 V
The instruction code stored in the register 84 is analyzed, and based on the result, the access control of the VR 84 is performed in synchronization with the access control of the SR 77 performed by the scalar register control unit 80, and the opening / closing control of the register 85 is performed.

【0086】このような制御の下で行われるSR77と
VR84との間の要素単位の転送動作については、その
データの双方の転送方向についても上述した請求項1に
記載の発明に対応した実施例と同じであるから、ここで
はその説明を省略する。
Regarding the transfer operation of the element unit between the SR 77 and the VR 84 performed under such control, the embodiment corresponding to the invention described in claim 1 mentioned above also in the transfer direction of both of the data. Therefore, the description thereof is omitted here.

【0087】このような要素毎の転送が完了する(図8
)と、計数回路79s 、79V の内容は共にデクリメ
ントされ、かつアドレスカウンタ78s 、78V の内容
は共にインクリメントされて「0」となる。スカラレジ
スタ制御部80およびベクトルレジスタ制御部83は、
このように計数回路79s 、79V の内容が「0」とな
ったことを検出すると、その旨をマイクロコントローラ
に通知する。
The transfer for each element is completed (see FIG. 8).
) And the contents of the counting circuits 79 s and 79 V are both decremented, and the contents of the address counters 78 s and 78 V are both incremented to “0”. The scalar register control unit 80 and the vector register control unit 83
In this way, when it is detected that the contents of the counting circuits 79 s and 79 V have become “0”, the fact is notified to the microcontroller.

【0088】マイクロコントローラは、このような通知
を認識すると、命令コードレジスタ73s 、73V 、V
RAR76s およびアドレスカウンタ78V の内容につ
いては何ら更新処理を施さず、かつ計数回路79s 、7
V に再び「1」をプリセットすると共に、そのスカラ
レジスタの番号をアドレスカウンタ78s にプリセット
する。さらに、マイクロコントローラは、Sk 、Sl
それぞれ設定されたスカラレジスタの番号rs2、rs3
ついて、同様に要素単位の転送を反復する(図8、
…)。
When the microcontroller recognizes such a notification, the instruction code registers 73 s , 73 V , V
The contents of the RAR 76 s and the address counter 78 V are not updated at all, and the counting circuits 79 s , 7
"1" is preset again to 9 V and the number of the scalar register is preset to the address counter 78 s . Further, the microcontroller similarly repeats the element-by-element transfer for the scalar register numbers r s2 and r s3 set in S k and S l , respectively (FIG. 8, FIG.
…).

【0089】したがって、本実施例によれば、所望のベ
クトルレジスタ上に隣接して配置された要素が個別に任
意のスカラレジスタとの間で確実に転送され、単一の要
素のみについて転送を行うレジスタ間転送命令を備えた
従来例に比べて、転送効率が向上してベクトルループと
スカラループとの継ぎ目におけるオーバヘッドが大幅に
軽減され、併せて、転送先や転送元となるスカラレジス
タの指定を柔軟に行うことが可能となる。
Therefore, according to the present embodiment, the elements adjacently arranged on the desired vector register are surely transferred individually to and from any scalar register, and transfer is performed only for a single element. Compared to the conventional example that has a register-to-register transfer instruction, the transfer efficiency is improved and the overhead at the joint between the vector loop and the scalar loop is significantly reduced, and at the same time, the scalar register to be the transfer destination or transfer source can be specified. It becomes possible to do it flexibly.

【0090】なお、本実施例では、Sj 〜Sk の各フィ
ールドに個別に有効なスカラレジスタの番号が設定され
ているが、例えば、存在しないスカラレジスタの番号が
設定された場合には、マイクロコントローラの制御の下
で転送処理を打ち切ったり、その番号に対応した転送処
理を保留してもよい。
In the present embodiment, the valid scalar register numbers are individually set in the fields S j to S k . However, for example, when a nonexistent scalar register number is set, The transfer process may be terminated or the transfer process corresponding to the number may be suspended under the control of the microcontroller.

【0091】また、本実施例では、計数回路79V
「1」を設定する処理がマイクロコントローラによって
直接行われているが、例えば、要素数レジスタ81と同
時に設定されてもよく、マイクロコントローラから与え
られる値「1」がセレクタ75を介して要素レジスタ8
1に転送され、さらに、その要素レジスタ81を介して
計数回路79V に設定されてもよい。
Further, in the present embodiment, the processing for setting "1" in the counting circuit 79 V is directly performed by the microcontroller, but it may be set at the same time as the element number register 81. The given value “1” is passed through the selector 75 to the element register 8
1 may be further transferred to 1, and may be set in the counting circuit 79 V via the element register 81.

【0092】さらに、本実施例では、計数回路79s
79V のカウント値が「0」となったときに他のスカラ
レジスタに対する転送処理が再起動されているが、本発
明はこのような構成に限定されず、例えば、これらの計
数回路を用いず、マイクロコントローラの主導の下で同
様の再起動を行うこともできる。
Furthermore, in this embodiment, the counting circuits 79 s ,
When the count value of 79 V becomes "0", the transfer processing for the other scalar registers is restarted, but the present invention is not limited to such a configuration and, for example, does not use these counting circuits. A similar reboot could be done under the initiative of the microcontroller.

【0093】また、本実施例では、Sj 〜Sk の各フィ
ールドに個別にスカラレジスタの番号が設定されている
が、例えば、これらのフィールドに転送先(転送元)と
なるべきスカラレジスタの番号に対応したビットマップ
を配置してもよい。
In this embodiment, the scalar register numbers are individually set in the fields S j to S k , but for example, in these fields, the scalar register numbers to be the transfer destinations (transfer sources) are set. You may arrange | position the bitmap corresponding to a number.

【0094】図9は、請求項5に記載の発明に対応した
本実施例の動作を説明する図である。以下、図3、図5
および図9を参照して本実施例の請求項5に記載の発明
に対応した動作を説明する。
FIG. 9 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 5. Hereinafter, FIG. 3 and FIG.
The operation corresponding to the invention described in claim 5 of this embodiment will be described with reference to FIG.

【0095】本実施例では、図5(5) に示すように、命
令レジスタ70のフィールドの内、Vi にはデータの転
送元(転送先)となるベクトルレジスタの番号rV が設定
され、Sj にはそのベクトルレジスタの要素のポインタ
pを示すスカラレジスタの番号rp が与えられ、Sl
は転送先(転送元)となるスカラレジスタの番号rs
設定されるが、Sk には何ら設定されない。
In this embodiment, as shown in FIG. 5 (5), in the field of the instruction register 70, V i is set to the vector register number r V which is the data transfer source (transfer destination), S j is given a scalar register number r p indicating the pointer p of the vector register element, and S l is set to the transfer destination (transfer source) scalar register number r s, but S k Is not set at all.

【0096】スカラユニット71では、このような構成
のオペランドと共に、「ベクトルレジスタの上位(下
位)オーダ(スカラレジスタ)からスカラレジスタ(ベ
クトルレジスタの上位(下位)オーダ)に対する転送を
要求する」命令コードがOPに設定された場合には、請
求項1に記載の発明に対応した実施例とほぼ同様の手順
に基づいて、上述したrV で示されるベクトルレジスタ
の要素の内、ポインタpで示されるもののみの転送が行
われる。
In the scalar unit 71, together with the operand having such a configuration, an instruction code "request transfer from the upper (lower) order of the vector register (scalar register) to the scalar register (upper (lower) order of the vector register)" Is set to OP, it is pointed to by the pointer p among the elements of the vector register indicated by r V based on the procedure substantially similar to the embodiment corresponding to the invention described in claim 1. Only things are transferred.

【0097】しかし、このような転送の動作の過程につ
いては、計数回路79S、79Vおよび要素数レジスタ8
1にはマイクロコントローラの制御の下で「1」がプリ
セットされ、かつベクトルレジスタ制御部83が命令コ
ードレジスタ73V に保持された命令コードに基づいて
VR84に上位オーダ(あるいは下位オーダ)のみのア
クセスを指令する点で、請求項1に記載の発明に対応し
た実施例と異なる。
However, regarding the process of such a transfer operation, the counting circuits 79 S and 79 V and the element number register 8
"1" is preset to 1 under the control of the microcontroller, and the vector register control unit 83 accesses only the upper order (or the lower order) to the VR 84 based on the instruction code held in the instruction code register 73 V. Is different from the embodiment corresponding to the invention described in claim 1.

【0098】このように本実施例によれば、図9(a),
(b) に示すように、所望のベクトルレジスタ上に配置さ
れた要素の上位オーダあるいは下位オーダと任意のスカ
ラレジスタとの間で確実にデータが転送される。
As described above, according to this embodiment, as shown in FIG.
As shown in (b), data is reliably transferred between the upper or lower order of the elements arranged on the desired vector register and an arbitrary scalar register.

【0099】したがって、本実施例では、汎用レジスタ
と浮動小数点レジスタとが混在するSR77と、整数演
算と浮動小数点演算とに兼用されるベクトルレジスタと
の間でレジスタ長、データの語長および配置の相違を吸
収して効率的にデータの引き渡しが行われる。
Therefore, in this embodiment, the register length, the data word length, and the arrangement of the data are set between the SR77 in which the general-purpose registers and the floating point registers are mixed and the vector register which is used for both the integer operation and the floating point operation. Data is efficiently transferred by absorbing the differences.

【0100】また、このようなデータの引き渡しについ
ては、例えば、ベクトルレジスタとスカラレジスタとの
長さがそれぞれnビットおよびm(<n)ビットであ
り、かつベクトルユニット72においてスカラユニット
71と同じ演算方式に基づく整数演算が上位(下位)オ
ーダを演算対象として施される場合に有効であり、ベク
トルループとスカラループとの継ぎ目におけるオーバヘ
ッドの軽減がはかられて演算効率が高められる。
Regarding such data transfer, for example, the lengths of the vector register and the scalar register are n bits and m (<n) bits, respectively, and the vector unit 72 performs the same operation as the scalar unit 71. This is effective when the integer operation based on the method is performed on the upper (lower) order as the operation target, and the overhead at the joint between the vector loop and the scalar loop is reduced, and the operation efficiency is improved.

【0101】なお、本実施例では、ベクトルレジスタ制
御部83がVR84に上位オーダ(あるいは下位オー
ダ)のみのアクセスを指令しているが、本発明はこのよ
うな構成に限定されず、例えば、このような指令に同期
してレジスタ85に保持されあるいはそのレジスタから
有効に出力されるデータの語長および配置については、
VR84に与えられる指令に連動して可変設定されても
よい。
In the present embodiment, the vector register control unit 83 commands the VR 84 to access only the upper order (or lower order), but the present invention is not limited to such a configuration. For the word length and arrangement of the data held in the register 85 or effectively output from the register in synchronization with such a command,
It may be variably set in conjunction with a command given to the VR 84.

【0102】また、本実施例では、転送の対象が単一の
要素に限定されているが、本発明は、所望のレジスタや
主記憶等の内容によって確実に要素数が与えられるなら
ば、複数の要素について同様の転送を行うために適用す
ることも可能である。
Further, in the present embodiment, the transfer target is limited to a single element, but in the present invention, if the number of elements can be surely given by the contents of a desired register or main memory, a plurality of elements can be transferred. It is also possible to apply to perform the same transfer for the element of.

【0103】図10は、請求項6に記載の発明に対応し
た本実施例の動作を説明する図である。以下、図3、図
5および図10を参照して本実施例の請求項6に記載の
発明に対応した動作を説明する。
FIG. 10 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 6. The operation corresponding to the invention described in claim 6 of the present embodiment will be described below with reference to FIGS. 3, 5 and 10.

【0104】本実施例では、命令レジスタ70のフィー
ルドに設定されるパラメータは、図5(6) に示すよう
に、上述した請求項5に記載の発明に対応した実施例と
同じであり、かつこのようなパラメータで示されるベク
トルレジスタとスカラレジスタとの間では単一の要素に
ついて、請求項5に記載の発明に対応した実施例とほぼ
同様の手順に基づいて転送が行われる。
In this embodiment, the parameter set in the field of the instruction register 70 is the same as that of the embodiment corresponding to the invention described in claim 5, as shown in FIG. 5 (6), and Between the vector register and the scalar register indicated by such parameters, a single element is transferred according to a procedure substantially similar to that of the embodiment corresponding to the invention described in claim 5.

【0105】しかし、このような転送の動作の過程につ
いては、スカラレジスタ制御部80が命令コードレジス
タ73s に保持された命令コードに基づいてSR77に
上位オーダ(あるいは下位オーダ)のみのアクセスを指
令し、かつベクトルレジスタ制御部83が上位オーダお
よび下位オーダの双方について並行にしてアクセスを指
令する点で請求項1に記載の発明に対応した実施例と異
なる。
However, regarding the process of such transfer operation, the scalar register control unit 80 instructs the SR77 to access only the upper order (or the lower order) based on the instruction code held in the instruction code register 73 s. In addition, the vector register control unit 83 is different from the embodiment corresponding to the invention according to claim 1 in that the vector register control unit 83 commands access in parallel for both the upper order and the lower order.

【0106】このように本実施例によれば、図10(a),
(b) に示すように、所望のスカラレジスタの上位オーダ
あるいは下位オーダと任意のベクトルレジスタの要素と
の間で確実にデータが転送される。
As described above, according to this embodiment, as shown in FIG.
As shown in (b), data is reliably transferred between the upper or lower order of the desired scalar register and the element of any vector register.

【0107】したがって、本実施例では、倍精度浮動少
数点演算に供されるベクトルレジスタの長さ(nビッ
ト)より大きなMビットの長さを有し、拡張倍精度浮動
小数点演算に供されるスカラレジスタについて、そのス
カラレジスタ上で倍精度少数点演算を行う際にその演算
の対象となる上位(下位)オーダのみについて効率的に
データの引き渡しが行われ、ベクトルループとスカラル
ープとの継ぎ目におけるオーバヘッドの軽減がはかられ
て演算効率が高められる。
Therefore, in this embodiment, the length of the M register is larger than the length (n bits) of the vector register used for the double precision floating point operation, and is used for the extended double precision floating point operation. For scalar registers, when double-precision decimal point arithmetic is performed on that scalar register, data is efficiently passed only to the upper (lower) order that is the target of the arithmetic, and at the joint between the vector loop and scalar loop. The overhead is reduced and the calculation efficiency is improved.

【0108】なお、本実施例では、スカラレジスタ制御
部80がSR77に上位オーダ(あるいは下位オーダ)
のみのアクセスを指令しているが、本発明はこのような
構成に限定されず、例えば、レジスタ85に保持されあ
るいはそのレジスタから有効に出力されるデータの語長
および配置については、SR77に与えられる指令に連
動した可変設定を行ってもよい。
In the present embodiment, the scalar register control unit 80 sends the SR77 an upper order (or a lower order).
However, the present invention is not limited to such a configuration. For example, the word length and arrangement of data held in the register 85 or effectively output from the register are given to the SR77. The variable setting may be performed in conjunction with the command that is issued.

【0109】また、本実施例では、転送の対象が単一の
要素に限定されているが、本発明は、所望のレジスタや
主記憶等の内容によって確実に要素数が与えられるなら
ば、複数の要素について同様の転送を行うために適用す
ることも可能である。
Further, in the present embodiment, the transfer target is limited to a single element, but in the present invention, if the number of elements is surely given by the contents of a desired register, main memory, etc., a plurality of elements can be transferred. It is also possible to apply to perform the same transfer for the element of.

【0110】以下、請求項7に記載の発明に対応した本
実施例の動作を説明する。本実施例では、図5(7) に示
すように、命令レジスタ70のフィールドの内、Sk
は予め決められた特定のスカラレジスタ(例えば、スカ
ラユニット71に実装されていないもの)の番号rn
が設定され、その他の各フィールドには、上述した請求
項1に記載の発明に対応した実施例と同様の設定がなさ
れる。
The operation of this embodiment corresponding to the invention of claim 7 will be described below. In the present embodiment, as shown in FIG. 5 (7), in the field of the instruction register 70, the number of a predetermined specific scalar register (for example, one which is not mounted in the scalar unit 71) is designated as S k . r n
Is set, and the same settings as those in the embodiment corresponding to the invention described in claim 1 are made in the other fields.

【0111】また、各部はこのような設定に基づいて請
求項1に記載の発明に対応した実施例と同様にして要素
毎の転送を反復するが、このような転送の開始に先行し
て、マイクロコントローラは、Sk に設定された番号r
n ′が上述した特定のスカラレジスタの番号であると認
識すると、計数回路79s に要素数「1」を与え、かつ
その要素数はゲート回路75を介して要素数レジスタ8
1および計数回路79 V に与えられる。
Further, each part is contracted based on such settings.
Elements similar to the embodiment corresponding to the invention described in claim 1
Repeat each transfer, but prior to the start of such a transfer
Then, the microcontroller iskNumber r set to
n′ Is the number of the specific scalar register
If you know, the counting circuit 79sGives the number of elements to "1", and
The number of elements is set to the element number register 8 via the gate circuit 75.
1 and counting circuit 79 VGiven to.

【0112】このように本実施例によれば、転送すべき
要素の数を与えるスカラレジスタの番号として特定の番
号が与えられたときに、従来例と同様に単一の要素につ
いてベクトルレジスタとスカラレジスタとの間でデータ
を引き渡すことができる。
As described above, according to the present embodiment, when a specific number is given as the number of the scalar register which gives the number of elements to be transferred, the vector register and the scalar are provided for a single element as in the conventional example. Data can be passed to and from the register.

【0113】したがって、このような引き渡しを実現す
る従来の命令の命令コードをそのまま利用することがで
きるので、命令コードの割り付けにかかわる倹約がはか
られ、かつオペランドの形式について従来の命令と互換
性を保ちつつデータの転送形態の拡張がはかられる。
Therefore, since the instruction code of the conventional instruction that realizes such a transfer can be used as it is, it is possible to save the instruction code allocation, and the format of the operand is compatible with the conventional instruction. The data transfer mode can be expanded while maintaining the above.

【0114】また、このような従来の命令を用いてコー
ディングされたプログラムについては、本実施例が適用
されたベクトル計算機では、極めて軽微な修正を施し、
あるいは何ら修正を施すことなく再生成を行うことによ
り実行される。
Further, with respect to a program coded by using such a conventional instruction, the vector computer to which the present embodiment is applied is subjected to extremely slight modification,
Alternatively, it is executed by regenerating without any modification.

【0115】以下、請求項8に記載の発明に対応した本
実施例の動作を説明する。本実施例では、図5(8) に示
すように、命令レジスタ70のフィールドの内、Sk
は予め決められた特定のスカラレジスタ(例えば、スカ
ラユニット内に実装されていないレジスタ)の番号
n ′が設定され、その他の各フィールドには、上述し
た請求項1に記載の発明に対応した実施例と同様の設定
がなされる。ただし、Vi に設定される番号rV は転送
先のみとなるベクトルレジスタを示し、Sl に設定され
る番号rs は転送元のみとなる先頭スカラレジスタを示
す。
The operation of this embodiment corresponding to the invention of claim 8 will be described below. In the present embodiment, as shown in FIG. 5 (8), in the field of the instruction register 70, the number of a predetermined specific scalar register (for example, a register that is not mounted in the scalar unit) is set in S k . r n ′ is set, and other fields are set similarly to the embodiment corresponding to the invention described in claim 1. However, the number r V set in V i indicates a vector register which is only a transfer destination, and the number r s set in S l indicates a head scalar register which is only a transfer source.

【0116】また、各部はこのような設定に基づいて請
求項1に記載の発明に対応した実施例とほぼ同様にして
スカラレジスタからベクトルレジスタに対して要素毎に
転送を反復する。しかし、マイクロコントローラは、こ
のような要素単位の転送が完了するたびにSk に設定さ
れた番号rn ′を参照し、その番号が上述した特定のス
カラレジスタの番号であると、アドレスカウンタ78s
の内容をインクリメントする処理を省略する。
Further, each unit repeats the transfer from the scalar register to the vector register for each element based on the above setting, in substantially the same manner as the embodiment corresponding to the invention described in claim 1. However, the microcontroller refers to the number r n 'set in S k each time such element-wise transfer is completed, and if the number is the number of the specific scalar register described above, the address counter 78 s
The process of incrementing the contents of is omitted.

【0117】したがって、本実施例によれば、転送すべ
き要素の数を与えるスカラレジスタの番号として特定の
番号rn ′が与えられたときに、従来例と同様に所望の
単一のスカラレジスタの内容を所望のベクトルレジスタ
の全て(あるいは一部の複数)の要素に引き渡される。
Therefore, according to this embodiment, when a specific number r n ′ is given as the number of the scalar register which gives the number of elements to be transferred, a desired single scalar register is provided as in the conventional example. The contents of is passed to all (or some of several) elements of the desired vector register.

【0118】したがって、このような引き渡しを実現す
る従来の命令コードをそのまま利用することができるの
で、命令コードの割り付けについて倹約がはかられ、か
つオペランドの形式について従来の命令と互換性を保ち
つつデータの転送形態の拡張がはかられる。
Therefore, since the conventional instruction code for realizing such delivery can be used as it is, the instruction code allocation can be spared and the operand format can be compatible with the conventional instruction. The data transfer form can be expanded.

【0119】また、このような従来の命令を用いてコー
ディングされたプログラムについては、本実施例が適用
されたベクトル計算機では、極めて軽微な修正を施し、
あるいは何ら修正を施すことなく再生成を行うことによ
り実行される。
Further, with respect to a program coded by using such a conventional instruction, the vector computer to which the present embodiment is applied is subjected to extremely slight modification,
Alternatively, it is executed by regenerating without any modification.

【0120】なお、上述した請求項7および請求項8に
記載の発明に対応した実施例では、特定のスカラレジス
タの番号rn ′としてスカラユニット71に実装されて
いないスカラレジスタの番号が設定されているが、本発
明はこのような番号に限定されず、例えば、近年のベク
トル計算機の多くに搭載されたスカラユニットのよう
に、配置された複数のスカラレジスタの1つに全てのビ
ットが「0」に固定設定されたゼロレジスタが含まれる
場合には、そのゼロレジスタの内容が任意の値には設定
されず、かつ変数を指定するオペランドとして適応でき
ないので、特定のスカラレジスタの番号としてこのよう
なゼロレジスタを示す番号を設定してもよい。
In the embodiments corresponding to the inventions described in claims 7 and 8, the number of the scalar register not mounted in the scalar unit 71 is set as the specific scalar register number r n ′. However, the present invention is not limited to such numbers. For example, all the bits are “1” in one of a plurality of arranged scalar registers such as a scalar unit installed in many vector computers in recent years. When a zero register fixedly set to "0" is included, the content of the zero register is not set to an arbitrary value and cannot be applied as an operand that specifies a variable. A number indicating such a zero register may be set.

【0121】また、このようなゼロレジスタを示す番号
には、一般に、「0」が割り付けられることが多く、か
つ命令のオペランドの内、未定義のフィールドについて
は、一般に、将来における機能等の拡張に対応するため
に「0」が設定されるように推奨されることが多い。
Further, in general, "0" is often assigned to the number indicating such a zero register, and undefined fields in the operands of the instruction are generally expanded in future. In many cases, it is recommended to set "0" to correspond to.

【0122】したがって、このような推奨に適応したベ
クトル計算機では、フィールドSkが未定義であった従
来の命令について本実施例との互換性が担保され、従来
のオブジェクトコードは何ら変更を施すことなくそのま
ま実行される。
Therefore, in the vector computer adapted to such a recommendation, compatibility with the present embodiment is assured with respect to the conventional instruction in which the field S k is undefined, and the conventional object code is not changed at all. It is executed as it is.

【0123】なお、上述した各実施例では、セレクタ7
5は、VU命令送出制御部74の制御の下で命令コー
ド、ベクトルレジスタのアドレス、要素数に併せてSR
77から読み出されたデータを時分割多重化してベクト
ルユニット72に与えているが、本発明はこのような構
成に限定されず、例えば、その内容の一部あるいは全て
について、スカラユニット71とベクトルユニット72
との間に専用の伝送路を設けてもよい。
In each of the above embodiments, the selector 7
5 is an SR under the control of the VU command transmission control unit 74 in accordance with the command code, the vector register address, and the number of elements.
The data read from 77 is time-division-multiplexed and given to the vector unit 72, but the present invention is not limited to such a configuration. Unit 72
A dedicated transmission path may be provided between and.

【0124】また、上述した各実施例では、スカラユニ
ット71とベクトルユニット72とに、それぞれ命令コ
ードレジスタ73s 、73V 、VRAR76s 、7
V 、アドレスカウンタ78s 、78V および計数回路
79s 、79V が設けられているが、これらについて
は、タイミングに関する制約がないならば、単一であっ
てもよい。
Further, in each of the above-mentioned embodiments, the scalar unit 71 and the vector unit 72 are provided with the instruction code registers 73 s , 73 V , VRAR76 s and 7 V , respectively.
6 V , address counters 78 s , 78 V, and counting circuits 79 s , 79 V are provided, but these may be single as long as there is no timing restriction.

【0125】さらに、上述した各実施例では、ベクトル
レジスタとスカラレジスタとの間の要素毎の伝送路がセ
レクタ75およびVRWR82経由の伝送路と、レジス
タ85経由の伝送路とに分離されているが、本発明はこ
のような構成に限定されず、これらの伝送路は一体化さ
れていてもよい。
Further, in each of the above-described embodiments, the transmission line for each element between the vector register and the scalar register is separated into the transmission line via the selector 75 and VRWR 82 and the transmission line via the register 85. The present invention is not limited to such a configuration, and these transmission lines may be integrated.

【0126】また、上述した各実施例では、スカラレジ
スタ制御部80とVU命令送出制御部74とが別体化さ
れてスカラユニット71に実装され、かつベクトルレジ
スタ制御部83がベクトルユニット72に実装されてい
るが、本発明はこのような構成に限定されず、例えば、
これらの各部については、一部あるいは全てを併合して
もよく、かつ実装位置についてはスカラユニット71、
ベクトルユニット72の何れに設定されてもよい。
Further, in each of the above-described embodiments, the scalar register control unit 80 and the VU instruction sending control unit 74 are separately provided and mounted in the scalar unit 71, and the vector register control unit 83 is mounted in the vector unit 72. However, the present invention is not limited to such a configuration, for example,
These parts may be partly or wholly merged, and the mounting positions may be the scalar unit 71,
It may be set in any of the vector units 72.

【0127】さらに、上述した各実施例では、オペラン
ドのフィールドの内、Vi、Slにはベクトルレジスタや
スカラレジスタの番号がリテラルとして設定され、かつ
k、には所望の変数(例えば、要素数n)が設定され
たスカラレジスタの番号がリテラルとして設定されてい
るが、本発明はこのようなオペランドの形式に限定され
ず、例えば、Vi 、Sl にはベクトルレジスタやスカラ
レジスタの番号が設定されたスカラレジスタの番号や主
記憶上の領域が設定されたり、Sk 、には要素数n等が
リテラルとして直接設定されてもよい。
Further, in each of the above-described embodiments, the numbers of vector registers and scalar registers are set as literals in V i and S l of the operand fields, and S k is a desired variable (for example, The number of the scalar register in which the number of elements n) is set is set as a literal, but the present invention is not limited to such an operand format. For example, V i and S l include vector registers and scalar registers. The number of the scalar register in which the number is set or the area on the main memory may be set, or the number of elements n or the like may be directly set in S k as a literal.

【0128】[0128]

【発明の効果】以上説明したように請求項1〜4に記載
の発明では、所望のベクトルレジスタとスカラレジスタ
との間で、複数の要素が単一の命令により一括してブロ
ック転送される。
As described above, in the inventions according to claims 1 to 4, a plurality of elements are collectively block-transferred between a desired vector register and a scalar register by a single instruction.

【0129】請求項5に記載の発明では、所望のベクト
ルレジスタとスカラレジスタとの間で任意の要素の上位
オーダまたは下位オーダの転送が単一の命令により行わ
れる。
According to the fifth aspect of the invention, the transfer of the high order or the low order of any element is performed by a single instruction between the desired vector register and the scalar register.

【0130】請求項6に記載の発明では、所望のベクト
ルレジスタと、スカラレジスタの上位オーダまたは下位
オーダとの間の転送が単一の命令により行われる。請求
項7に記載の発明では、転送対象のベクトルレジスタ、
ベクトル要素およびスカラレジスタの何れかが特定のも
のであるときに、転送すべきベクトル要素の数が「1」
に設定され、単一の要素についてのみ転送が行われる。
According to the sixth aspect of the invention, the transfer between the desired vector register and the high order or low order of the scalar register is performed by a single instruction. According to the invention described in claim 7, a vector register to be transferred,
The number of vector elements to be transferred is "1" when either the vector element or the scalar register is specific.
Is set to, and only single elements are transferred.

【0131】請求項8に記載の発明では、転送対象のベ
クトルレジスタ、ベクトル要素およびスカラレジスタの
何れかが特定のものであるときに、スカラ識別情報で示
される単一のスカラレジスタの内容が所望のベクトルレ
ジスタに隣接して配置された複数のベクトル要素に転送
される。
According to the invention described in claim 8, when any one of the vector register, the vector element and the scalar register to be transferred is specific, the content of the single scalar register indicated by the scalar identification information is desired. Is transferred to the vector elements located adjacent to the vector register of.

【0132】すなわち、従来例に比較して、スカラルー
プとベクトルループとの間のデータの引き渡しが効率化
され、その引き渡しの対象となるデータの語長やレジス
タ上の配置の相違が効率的に吸収されると共に、単一の
要素についてベクトルレジスタとスカラレジスタとの間
の転送を行ったり、単一のスカラレジスタの内容をベク
トルレジスタ上の隣接する複数の要素に転送する従来の
転送命令と命令の形式の互換性が確保される。
That is, as compared with the conventional example, the data transfer between the scalar loop and the vector loop is more efficient, and the difference in the word length of the data to be transferred and the arrangement on the register are more efficient. Traditional transfer instructions and instructions that absorb and transfer between a vector register and a scalar register for a single element or transfer the contents of a single scalar register to adjacent elements on a vector register Format compatibility is ensured.

【0133】したがって、本発明が適用されたベクトル
計算機では、ベクトルループとスカラループとの間にお
いて引き渡しの対象となるデータが複数の要素からなる
場合に、従来例に対する上位互換性を確保しつつその引
き渡しにかかわるオーバヘッドが軽減されて演算速度お
よび性能が高められる。
Therefore, in the vector computer to which the present invention is applied, when the data to be passed between the vector loop and the scalar loop is composed of a plurality of elements, the upward compatibility with the conventional example is ensured and The overhead related to delivery is reduced and the operation speed and performance are improved.

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

【図1】請求項1〜4、7、8に記載の発明の原理ブロ
ック図である。
FIG. 1 is a principle block diagram of the invention according to claims 1 to 4, 7 and 8.

【図2】請求項5、6に記載の発明の原理ブロック図で
ある。
FIG. 2 is a principle block diagram of the invention described in claims 5 and 6.

【図3】請求項1〜8に記載の発明に対応した実施例を
示す図である。
FIG. 3 is a diagram showing an embodiment corresponding to the invention described in claims 1-8.

【図4】請求項1に記載の発明に対応した本実施例の動
作を説明する図である。
FIG. 4 is a diagram explaining an operation of the present embodiment corresponding to the invention described in claim 1.

【図5】各実施例におけるオペランドの内容を示す図で
ある。
FIG. 5 is a diagram showing contents of operands in each embodiment.

【図6】請求項2に記載の発明に対応した本実施例の動
作を説明する図である。
FIG. 6 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 2;

【図7】請求項3に記載の発明に対応した本実施例の動
作を説明する図である。
FIG. 7 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 3;

【図8】請求項4に記載の発明に対応した本実施例の動
作を説明する図である。
FIG. 8 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 4;

【図9】請求項5に記載の発明に対応した本実施例の動
作を説明する図である。
FIG. 9 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 5;

【図10】請求項6に記載の発明に対応した本実施例の
動作を説明する図である。
FIG. 10 is a diagram for explaining the operation of this embodiment corresponding to the invention described in claim 6;

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

11 制御手段 12 ベクトルレジスタ 13 ベクトル演算手段 14 スカラレジスタ 15 スカラ演算手段 16,21,31,41 ブロック転送手段 51,61 転送手段 70 命令レジスタ 71 スカラユニット 72 ベクトルユニット 73 命令コードレジスタ(OPR) 74 VU命令送出制御部(VSC) 75 セレクタ 76 ベクトルレジスタ・アドレスレジスタ(VRA
R) 77 スカラレジスタファイル(SR) 78 アドレスカウンタ 79 計数回路 80 スカラレジスタ制御部(SRC) 81 要素数レジスタ(NR) 82 VRライトレジスタ(VRWR) 83 ベクトルレジスタ制御部(VRC) 84 ベクトルレジスタファイル(VR) 85 レジスタ(R)
11 control means 12 vector register 13 vector operation means 14 scalar register 15 scalar operation means 16, 21, 31, 41 block transfer means 51, 61 transfer means 70 instruction register 71 scalar unit 72 vector unit 73 instruction code register (OPR) 74 VU Instruction sending controller (VSC) 75 Selector 76 Vector register / address register (VRA
R) 77 scalar register file (SR) 78 address counter 79 counting circuit 80 scalar register control unit (SRC) 81 element number register (NR) 82 VR write register (VRWR) 83 vector register control unit (VRC) 84 vector register file ( VR) 85 register (R)

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 予め決められた制御論理に基づいてベク
トル演算命令およびスカラ演算命令の実行にかかわる制
御機構を構成する制御手段と、 複数のベクトル要素からなるベクトルデータを個別に保
持する複数のベクトルレジスタと、 前記複数のベクトルレジスタに保持されたベクトルデー
タに前記制御論理の下でベクトル演算を施すベクトル演
算手段と、 論理的にあるいは物理的に隣接して配置され、かつ単一
のベクトル要素に対応するデータを個別に保持する複数
のスカラレジスタと、 前記複数のスカラレジスタに保持されたデータに前記制
御論理の下でスカラ演算を施すスカラ演算手段とを備え
たベクトル計算機において、 前記制御手段には、 転送元あるいは転送先となるベクトルレジスタと、その
ベクトルレジスタの上で論理的あるいは物理的に隣接す
るベクトル要素の集合の一端とを示すベクトル識別情報
と、転送先あるいは転送元となるスカラレジスタの集合
の一端を示すスカラ識別情報と、転送対象となるベクト
ル要素の数とをオペランドとして含む転送命令の実行に
かかわる制御を行う手段を有し、 前記制御の下で、前記ベクトルレジスタに記憶領域が割
り付けられたベクトル要素の内、一端が前記ベクトル識
別情報で示されるベクトル要素の集合と、前記スカラレ
ジスタの内、一端が前記スカラ識別情報で示されるスカ
ラレジスタの集合との間について、前記数に等しいベク
トル要素のブロック転送を行うブロック転送手段を備え
たことを特徴とするベクトル計算機。
1. A control means constituting a control mechanism for executing a vector operation instruction and a scalar operation instruction based on a predetermined control logic, and a plurality of vectors individually holding vector data composed of a plurality of vector elements. A register, a vector operation means for performing vector operation on the vector data held in the plurality of vector registers under the control logic, logically or physically adjacent to each other, and into a single vector element. In a vector computer including a plurality of scalar registers that individually hold corresponding data, and a scalar operation unit that performs a scalar operation on the data held in the plurality of scalar registers under the control logic, in the control unit, Is the source or destination vector register and the logical register on that vector register. Or, vector identification information indicating one end of a set of vector elements that are physically adjacent to each other, scalar identification information indicating one end of a set of scalar registers to be a transfer destination or a transfer source, and the number of vector elements to be transferred. Has a means for controlling the execution of a transfer instruction including as an operand, and under the control, one of vector elements having a storage area allocated to the vector register, one end of which is indicated by the vector identification information. And a block of one of the scalar registers whose one end is represented by the scalar identification information, the block transfer means for performing block transfer of vector elements equal to the number. Vector calculator.
【請求項2】 予め決められた制御論理に基づいてベク
トル演算命令およびスカラ演算命令の実行にかかわる制
御機構を構成する制御手段と、 複数のベクトル要素からなるベクトルデータを個別に保
持する複数のベクトルレジスタと、 前記複数のベクトルレジスタに保持されたベクトルデー
タに前記制御論理の下でベクトル演算を施すベクトル演
算手段と、 論理的にあるいは物理的に隣接して配置され、かつ単一
のベクトル要素に対応するデータを個別に保持する複数
のスカラレジスタと、 前記複数のスカラレジスタに保持されたデータに前記制
御論理の下でスカラ演算を施すスカラ演算手段とを備え
たベクトル計算機において、 前記制御手段には、 転送元あるいは転送先となるベクトルレジスタと、その
ベクトルレジスタの上で論理的あるいは物理的に隣接す
るベクトル要素の集合の一端とを示す第一のベクトル識
別情報と、その集合の他端を示す第二のベクトル識別情
報と、転送先あるいは転送元となるスカラレジスタの集
合の一端を示すスカラ識別情報とをオペランドとして含
む転送命令の実行にかかわる制御を行う手段を含み、 前記制御の下で、前記ベクトルレジスタに記憶領域が割
り付けられたベクトル要素の内、両端がそれぞれ前記第
一のベクトル識別情報および前記第二のベクトル識別情
報とで示されたベクトル要素の集合と、前記スカラレジ
スタの内、一端が前記スカラ識別情報で示されるスカラ
レジスタの集合との間について、ブロック転送を行うブ
ロック転送手段を備えたことを特徴とするベクトル計算
機。
2. A control means forming a control mechanism for executing a vector operation instruction and a scalar operation instruction based on a predetermined control logic, and a plurality of vectors individually holding vector data composed of a plurality of vector elements. A register, a vector operation means for performing vector operation on the vector data held in the plurality of vector registers under the control logic, logically or physically adjacent to each other, and into a single vector element. In a vector computer including a plurality of scalar registers that individually hold corresponding data, and a scalar operation unit that performs a scalar operation on the data held in the plurality of scalar registers under the control logic, in the control unit, Is the source or destination vector register and the logical register on that vector register. Or, first vector identification information indicating one end of a set of vector elements that are physically adjacent to each other, second vector identification information indicating the other end of the set, and a set of scalar registers as a transfer destination or a transfer source. Of the vector element in which a storage area is allocated to the vector register under the control, and both ends of the vector element are the scalar identification information indicating one end of A block is provided between a set of vector elements indicated by the first vector identification information and the second vector identification information and between the set of scalar registers of which one end is indicated by the scalar identification information among the scalar registers. A vector computer comprising block transfer means for transferring.
【請求項3】 予め決められた制御論理に基づいてベク
トル演算命令およびスカラ演算命令の実行にかかわる制
御機構を構成する制御手段と、 複数のベクトル要素からなるベクトルデータを個別に保
持する複数のベクトルレジスタと、 前記複数のベクトルレジスタに保持されたベクトルデー
タに前記制御論理の下でベクトル演算を施すベクトル演
算手段と、 論理的にあるいは物理的に隣接して配置され、かつ単一
のベクトル要素に対応するデータを個別に保持する複数
のスカラレジスタと、 前記複数のスカラレジスタに保持されたデータに前記制
御論理の下でスカラ演算を施すスカラ演算手段とを備え
たベクトル計算機において、 前記制御手段には、 転送元あるいは転送先となるベクトルレジスタと、その
ベクトルレジスタの上で論理的あるいは物理的に隣接す
るベクトル要素の集合の一端とを示すベクトル識別情報
と、転送先あるいは転送元となるスカラレジスタの集合
の一端を示す第一のスカラ識別情報と、その集合の他端
を示す第二のスカラ識別情報とオペランドとして含む転
送命令の実行にかかわる制御を行う手段を含み、 前記制御の下で、前記ベクトルレジスタに記憶領域が割
り付けられたベクトル要素の内、一端が前記ベクトル識
別情報で示されたベクトル要素の集合と、前記スカラレ
ジスタの内、両端がそれぞれ第一のスカラ識別情報およ
び第二のスカラ識別情報とで示されるスカラレジスタの
集合との間について、ブロック転送を行うブロック転送
手段を備えたことを特徴とするベクトル計算機。
3. A control means constituting a control mechanism for executing a vector operation instruction and a scalar operation instruction based on a predetermined control logic, and a plurality of vectors individually holding vector data composed of a plurality of vector elements. A register, a vector operation means for performing vector operation on the vector data held in the plurality of vector registers under the control logic, logically or physically adjacent to each other, and into a single vector element. In a vector computer including a plurality of scalar registers that individually hold corresponding data, and a scalar operation unit that performs a scalar operation on the data held in the plurality of scalar registers under the control logic, in the control unit, Is the source or destination vector register and the logical register on that vector register. Or, vector identification information indicating one end of a set of vector elements that are physically adjacent to each other, first scalar identification information indicating one end of a set of scalar registers that is a transfer destination or a transfer source, and the other end of the set. A second scalar identification information and a means for controlling the execution of a transfer instruction included as an operand, wherein, under the control, one of the vector elements having a storage area allocated to the vector register has the vector identification Block transfer is performed between a set of vector elements indicated by information and a set of scalar registers of which both ends are indicated by the first scalar identification information and the second scalar identification information, respectively, of the scalar register. A vector computer comprising block transfer means.
【請求項4】 予め決められた制御論理に基づいてベク
トル演算命令およびスカラ演算命令の実行にかかわる制
御機構を構成する制御手段と、 複数のベクトル要素からなるベクトルデータを個別に保
持する複数のベクトルレジスタと、 前記複数のベクトルレジスタに保持されたベクトルデー
タに前記制御論理の下でベクトル演算を施すベクトル演
算手段と、 論理的にあるいは物理的に隣接して配置され、かつ単一
のベクトル要素に対応するデータを個別に保持する複数
のスカラレジスタと、 前記複数のスカラレジスタに保持されたデータに前記制
御論理の下でスカラ演算を施すスカラ演算手段とを備え
たベクトル計算機において、 前記制御手段には、 転送元あるいは転送先となるベクトルレジスタと、その
ベクトルレジスタの上で論理的あるいは物理的に隣接す
るベクトル要素の集合の一端とを示すベクトル識別情報
と、転送先あるいは転送元となる複数のスカラレジスタ
を個別に示す複数のスカラ識別情報とをオペランドとし
て含む転送命令の実行にかかわる制御を行う手段を含
み、 前記制御の下で、前記ベクトルレジスタに記憶領域が割
り付けられたベクトル要素の内、一端が前記ベクトル識
別情報で示されたベクトル要素の集合と、前記スカラレ
ジスタの内、前記複数のスカラ識別情報によって示され
る個々のスカラレジスタとの間について、ベクトル要素
単位に転送を行うブロック転送手段を備えたことを特徴
とするベクトル計算機。
4. A control means forming a control mechanism for executing a vector operation instruction and a scalar operation instruction based on a predetermined control logic, and a plurality of vectors individually holding vector data composed of a plurality of vector elements. A register, a vector operation means for performing vector operation on the vector data held in the plurality of vector registers under the control logic, logically or physically adjacent to each other, and into a single vector element. In a vector computer including a plurality of scalar registers that individually hold corresponding data, and a scalar operation unit that performs a scalar operation on the data held in the plurality of scalar registers under the control logic, in the control unit, Is the source or destination vector register and the logical register on that vector register. Execution of a transfer instruction that includes, as operands, vector identification information indicating one end of a set of vector elements that are physically adjacent to each other or a plurality of scalar identification information indicating individually a plurality of scalar registers as a transfer destination or a transfer source Of the vector register having a storage area allocated to the vector register under the control, a set of vector elements having one end indicated by the vector identification information, and a scalar register of the vector register. Among them, the vector computer is provided with a block transfer means for transferring in a vector element unit with respect to each scalar register indicated by the plurality of scalar identification information.
【請求項5】 予め決められた制御論理に基づいてベク
トル演算命令およびスカラ演算命令の実行にかかわる制
御機構を構成する制御手段と、 複数のベクトル要素からなるベクトルデータを個別に保
持する複数のベクトルレジスタと、 前記複数のベクトルレジスタに保持されたベクトルデー
タに前記制御論理の下でベクトル演算を施すベクトル演
算手段と、 論理的にあるいは物理的に隣接して配置され、かつ単一
のベクトル要素に対応するデータを個別に保持する複数
のスカラレジスタと、 前記複数のスカラレジスタに保持されたデータに前記制
御論理の下でスカラ演算を施すスカラ演算手段とを備え
たベクトル計算機において、 前記制御手段には、 転送元あるいは転送先となるベクトルレジスタとそのベ
クトルレジスタに記憶領域が割り付けられたベクトル要
素とを示すベクトル識別情報と、転送先あるいは転送元
となるスカラレジスタを示すスカラ識別情報とをオペラ
ンドとして含む転送命令の実行にかかわる制御を行う手
段を含み、 前記制御の下で、前記ベクトルレジスタに記憶領域が割
り付けられたベクトル要素の内、前記ベクトル識別情報
で示されたベクトル要素の上位オーダあるいは下位オー
ダについて、前記スカラレジスタの内、前記スカラ識別
情報によって示されるスカラレジスタとの転送を行う転
送手段を備えたことを特徴とするベクトル計算機。
5. A control means constituting a control mechanism for executing a vector operation instruction and a scalar operation instruction based on a predetermined control logic, and a plurality of vectors individually holding vector data composed of a plurality of vector elements. A register, a vector operation means for performing vector operation on the vector data held in the plurality of vector registers under the control logic, logically or physically adjacent to each other, and into a single vector element. In a vector computer including a plurality of scalar registers that individually hold corresponding data, and a scalar operation unit that performs a scalar operation on the data held in the plurality of scalar registers under the control logic, in the control unit, Is the source or destination vector register and the storage area allocated to the vector register. And a vector identification information indicating the attached vector element, and a scalar identification information indicating a scalar register which is a transfer destination or a transfer source as an operand, including means for performing control relating to execution of a transfer instruction, and under the control A vector element having a storage area allocated to the vector register, for a higher order or a lower order of the vector element indicated by the vector identification information, a scalar register indicated by the scalar identification information in the scalar register. A vector computer characterized by comprising a transfer means for transferring.
【請求項6】 予め決められた制御論理に基づいてベク
トル演算命令およびスカラ演算命令の実行にかかわる制
御機構を構成する制御手段と、 複数のベクトル要素からなるベクトルデータを個別に保
持する複数のベクトルレジスタと、 前記複数のベクトルレジスタに保持されたベクトルデー
タに前記制御論理の下でベクトル演算を施すベクトル演
算手段と、 論理的にあるいは物理的に隣接して配置され、かつ単一
のベクトル要素に対応するデータを個別に保持する複数
のスカラレジスタと、 前記複数のスカラレジスタに保持されたデータに前記制
御論理の下でスカラ演算を施すスカラ演算手段とを備え
たベクトル計算機において、 前記制御手段には、 転送元あるいは転送先となるベクトルレジスタとそのベ
クトルレジスタに記憶領域が割り付けられたベクトル要
素とを示すベクトル識別情報と、転送先あるいは転送元
となるスカラレジスタを示すスカラ識別情報とをオペラ
ンドとして含む転送命令の実行にかかわる制御を行う手
段を含み、 前記制御の下で、前記スカラレジスタの内、前記スカラ
識別情報によって示されるスカラレジスタの上位オーダ
あるいは下位オーダについて、前記ベクトルレジスタに
記憶領域が割り付けられたベクトル要素の内、前記ベク
トル識別情報で示されたベクトル要素との転送を行う転
送手段を備えたことを特徴とするベクトル計算機。
6. A control means forming a control mechanism for executing a vector operation instruction and a scalar operation instruction based on a predetermined control logic, and a plurality of vectors individually holding vector data composed of a plurality of vector elements. A register, a vector operation means for performing vector operation on the vector data held in the plurality of vector registers under the control logic, logically or physically adjacent to each other, and into a single vector element. In a vector computer including a plurality of scalar registers that individually hold corresponding data, and a scalar operation unit that performs a scalar operation on the data held in the plurality of scalar registers under the control logic, in the control unit, Is the source or destination vector register and the storage area allocated to the vector register. And a vector identification information indicating the attached vector element, and a scalar identification information indicating a scalar register which is a transfer destination or a transfer source as an operand, including means for performing control relating to execution of a transfer instruction, and under the control A vector element indicated by the vector identification information among vector elements having a storage area allocated to the vector register for the higher order or the lower order of the scalar register indicated by the scalar identification information among the scalar registers, A vector computer characterized by comprising a transfer means for transferring.
【請求項7】 請求項1ないし請求項3の何れか1項に
記載のベクトル計算機において、 制御手段には、 ベクトル要素の数、ベクトル識別情報およびスカラ識別
情報について、予め設定された値と個別に相関をとり、
その相関の結果に基づいてブロック転送の対象となるベ
クトル要素の数を「1」とする手段を含むことを特徴と
するベクトル計算機。
7. The vector computer according to any one of claims 1 to 3, wherein the control means sets the number of vector elements, the vector identification information, and the scalar identification information to preset values and individual values. Correlate to
A vector computer including means for setting the number of vector elements to be block-transferred to "1" based on the result of the correlation.
【請求項8】 請求項1ないし請求項3の何れか1項に
記載のベクトル計算機において、 制御手段には、 ベクトル要素の数、ベクトル識別情報およびスカラ識別
情報について、予め設定された値と個別に相関をとり、
その相関の結果に基づいてブロック転送の方向をスカラ
レジスタからベクトルレジスタに設定し、かつ個々のベ
クトル要素に対する転送元のスカラレジスタを固定設定
する手段を含むことを特徴とするベクトル計算機。
8. The vector computer according to any one of claims 1 to 3, wherein the control means sets the number of vector elements, vector identification information, and scalar identification information to preset values and individual values. Correlate to
A vector computer comprising means for setting the direction of block transfer from a scalar register to a vector register based on the result of the correlation, and fixedly setting a transfer source scalar register for each vector element.
JP22351394A 1994-09-19 1994-09-19 Vector computer Withdrawn JPH0887491A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22351394A JPH0887491A (en) 1994-09-19 1994-09-19 Vector computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22351394A JPH0887491A (en) 1994-09-19 1994-09-19 Vector computer

Publications (1)

Publication Number Publication Date
JPH0887491A true JPH0887491A (en) 1996-04-02

Family

ID=16799326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22351394A Withdrawn JPH0887491A (en) 1994-09-19 1994-09-19 Vector computer

Country Status (1)

Country Link
JP (1) JPH0887491A (en)

Similar Documents

Publication Publication Date Title
US6202106B1 (en) Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller
US10203958B2 (en) Streaming engine with stream metadata saving for context switching
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
US5710902A (en) Instruction dependency chain indentifier
US6356994B1 (en) Methods and apparatus for instruction addressing in indirect VLIW processors
JP3797471B2 (en) Method and apparatus for identifying divisible packets in a multi-threaded VLIW processor
CN100573445C (en) Method for interfacing a processor to a coprocessor
KR100236527B1 (en) Single instruction multiple data processing using multiple banks of vector registers
EP1221086B1 (en) Execution of multiple threads in a parallel processor
US7526636B2 (en) Parallel multithread processor (PMT) with split contexts
US6269440B1 (en) Accelerating vector processing using plural sequencers to process multiple loop iterations simultaneously
JPS61276032A (en) Information processing device
US20070250682A1 (en) Method and apparatus for operating a computer processor array
JP2002509302A (en) A multiprocessor computer architecture incorporating multiple memory algorithm processors in a memory subsystem.
JP2004234642A (en) Layout of integrated structure for instruction execution unit
KR100981033B1 (en) Method and apparatus for interfacing a processor to a coprocessor
JP2002024011A (en) Described execution of instruction in processor
US8069333B2 (en) Converting logical to real number to access shared configuration information in event driven state transiting reconfigurable system
US6453367B2 (en) Methods and apparatus for providing direct memory access control
JP2004527054A (en) Method and apparatus for processing instructions in a computer system
KR100316710B1 (en) Method and Apparatus for Instruction issuing in Out-of-Order for Parallel Processor
US20090063724A1 (en) System core for transferring data between an external device and memory
JP3756410B2 (en) System that provides predicate data
EP1354267A2 (en) A superscalar processor having content addressable memory structures for determining dependencies
US20030046358A1 (en) Multiple image dynamic bind and load procedure for a multi-processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20011120