Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6022787B2 - Command control method - Google Patents
[go: Go Back, main page]

JPS6022787B2 - Command control method - Google Patents

Command control method

Info

Publication number
JPS6022787B2
JPS6022787B2 JP54145259A JP14525979A JPS6022787B2 JP S6022787 B2 JPS6022787 B2 JP S6022787B2 JP 54145259 A JP54145259 A JP 54145259A JP 14525979 A JP14525979 A JP 14525979A JP S6022787 B2 JPS6022787 B2 JP S6022787B2
Authority
JP
Japan
Prior art keywords
register
vector
instruction
data
zero
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP54145259A
Other languages
Japanese (ja)
Other versions
JPS5668865A (en
Inventor
宏 田村
啓一郎 内田
文雄 磯辺
哲郎 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP54145259A priority Critical patent/JPS6022787B2/en
Publication of JPS5668865A publication Critical patent/JPS5668865A/en
Publication of JPS6022787B2 publication Critical patent/JPS6022787B2/en
Expired legal-status Critical Current

Links

Classifications

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

Landscapes

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

Description

【発明の詳細な説明】 本発明は命令制御方式に関し、特に、ベクトルレジスタ
をそなえ指定されたベクトルレジスタの要素についてオ
ペレーションを実行する計算機における命令制御方式に
関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an instruction control system, and more particularly to an instruction control system in a computer that is equipped with a vector register and executes operations on specified elements of the vector register.

大量のベクトルデータを処理する計算機の制御方式とし
て、処理装置内部にベクトルレジスタをもうけ、記憶装
置のデータをいったんベクトルレジスタに移してから演
算処理を行なう方式が知られている。
As a control method for a computer that processes a large amount of vector data, a method is known in which a vector register is provided inside a processing device, and data in a storage device is once transferred to the vector register and then arithmetic processing is performed.

第1図はベクトルレジスタ(VR)の構成例であり、各
々M個(12乳固)の要素を含むベクトルレジスタをN
個(1針固)用意した場合である。
Figure 1 shows an example of the configuration of a vector register (VR).
This is a case where one needle is prepared.

第2図はこのようなベクトルレジスタを扱う場合の命令
形式の一例を示し、ベクトルレジスタR2とR3の対応
する各要素間の演算を行ない、結果をベクトルレジスタ
RIに格納するものである。第3図はベクトル長レジス
タ(VL)であり、ベクトルレジスタ内の演算すべき要
素の数を指定するもので、例えば別の命令によって設定
される。
FIG. 2 shows an example of an instruction format for handling such a vector register, which performs an operation between corresponding elements of vector registers R2 and R3, and stores the result in vector register RI. FIG. 3 shows a vector length register (VL), which specifies the number of elements to be operated on in the vector register, and is set, for example, by another instruction.

オペレーションの一例として、加算を例にとり、計算機
の動作を以下に説明する。ベクトル長レジスタ(VL)
に設定されている値をL(L≦M)とし、またベクトル
レジスタの要素を添字iで表わすことにする。
The operation of the computer will be described below using addition as an example of the operation. Vector length register (VL)
The value set in is assumed to be L (L≦M), and the element of the vector register is expressed by the subscript i.

第4図の命令の場合、VR3とVR4の要素の和をVR
2に格納し、要素0から順に実行し、ベクトル長レジス
タ(VL)で指定された要素数、すなわちi=L−1ま
で実行する。式で示せば次のようになる。
In the case of the instruction in Figure 4, the sum of the elements of VR3 and VR4 is VR
2, and are executed sequentially from element 0 until the number of elements specified by the vector length register (VL), i.e., i=L-1. Expressed as a formula, it becomes as follows.

VR2。VR2.

← VR3。十VR4oVR2. ← VR3,
十VR4, VR22 ← VR32 十VR42: : VR2i ← VR3i十VR4i ≦ VR2L‐1 ← VR3L−1十VR4L‐1これ
らを図示すると、第5図のようになる。
← VR3. 10VR4oVR2. ← VR3,
10 VR4, VR22 ← VR32 10 VR42: : VR2i ← VR3i 10 VR4i ≦ VR2L-1 ← VR3L-1 10 VR4L-1 When these are illustrated, it becomes as shown in FIG.

ここで、L=1の場合について説明すると、この場合、
オペレーションは唯1回、VR2。 ←VR3。 十V
R4o を実行して終了する。そして、処理上問題にな
るのはL=0、すなわちベクトル長レジスタ(VL)の
内容が零のときである。
Now, to explain the case where L=1, in this case,
There was only one operation, VR2. ←VR3. 10V
Execute R4o and exit. A problem in processing occurs when L=0, that is, when the contents of the vector length register (VL) are zero.

従来方式においてはL=0を検出したとき、割込みを発
生して別のオペレーションに移るようにしたり、あるい
は最初からベクトルレジスタに演算データが存在しない
状態を発生させないようにしていた。
In the conventional system, when L=0 is detected, an interrupt is generated to proceed to another operation, or a state in which no operation data exists in the vector register is prevented from occurring from the beginning.

このため、L=0を判定したり、あるいは主記憶上に演
算すべきデータが存在するか杏かを前もって判定するこ
とが必要となり、条件判定処理および分岐処理をプログ
ラムに組込まねばならないため、従来方式ではプログラ
ムの作成が複雑であるという問題点をもっていた。
Therefore, it is necessary to determine whether L=0 or to determine in advance whether data to be operated on exists in the main memory or not, and condition determination processing and branch processing must be incorporated into the program. The problem with this method is that the program creation is complicated.

本発明は上記問題点を解決し、プログラム作成を容易に
するとともに、効果的なべクトル演算を行なうことを目
的とし、そのため、本発明は、各々M個の要素からなる
N個のベクトルレジス夕と、該ベクトルレジスタにおけ
るデータを格納している要素の長さを示すベクトル長レ
ジスタとをそなえ、上記ベクトルレジスタをオペランド
として指定することにより、当該指定されたベクトルレ
ジスタの各要素からデータを順次とり出し、上記ベクト
ル長レジスタで指定された要素の数だけオペレーション
を実行する計算機において、上記ベクトル長レジスタの
内容が霧であることを検出する零検出手段をもうけ、上
記オペレーションの実行に先だち、該雫検出手段により
上記ベクトル長レジスタの内容が零であることを検出た
場合は当該オペレーションを実行しないことを特徴とす
る。
It is an object of the present invention to solve the above problems, facilitate program creation, and perform effective vector operations. , and a vector length register indicating the length of the element storing data in the vector register, and by specifying the vector register as an operand, data is sequentially extracted from each element of the specified vector register. , a computer that executes operations equal to the number of elements specified by the vector length register, includes a zero detection means for detecting that the contents of the vector length register are fog, and detects the drop before executing the operation. If the means detects that the contents of the vector length register are zero, the operation is not executed.

以下、本発明を図面により説明する。Hereinafter, the present invention will be explained with reference to the drawings.

第6図は本発明による実施例のブロック図であり、図中
、1は処理装置、2は主記憶装置、3はベクトルレジス
タ(VR)、4は書込みレジスタ、5は論出しレジスタ
、6は演算回路、7は命令制御部、8は命令レジスタ、
9は命令デコード回路、10はアンド回路、11はオア
回路、12はノー・オペレーション(NOP)指示信号
線、1 3はベクトル長レジスタ(VL)、13′はデ
ータカウンタ、14は−1回路、15は零検出回路、1
6はタイミング信号線である。ベクトル演算を実行する
場合、前もって主記憶装置2から所定の被演算データを
議出してベクトルレジスタ(VR)3に格納しておく。
FIG. 6 is a block diagram of an embodiment according to the present invention, in which 1 is a processing unit, 2 is a main memory, 3 is a vector register (VR), 4 is a write register, 5 is a logical register, and 6 is a an arithmetic circuit, 7 an instruction control unit, 8 an instruction register,
9 is an instruction decode circuit, 10 is an AND circuit, 11 is an OR circuit, 12 is a no-operation (NOP) instruction signal line, 13 is a vector length register (VL), 13' is a data counter, 14 is a -1 circuit, 15 is a zero detection circuit, 1
6 is a timing signal line. When executing a vector operation, predetermined operand data is retrieved from the main memory 2 and stored in the vector register (VR) 3 in advance.

そして、同時にベクトル長レジスタ(VL)13にベク
トルレジスタ(VR)3内のデータの長さを格納してお
く。
At the same time, the length of the data in the vector register (VR) 3 is stored in the vector length register (VL) 13.

命令の開始時にベクトル長レジスタ(VL)13の内容
がデータカリン夕13′に移される。ベクトル演算命令
が命令レジスタ8にセットされ命令デコード回路9によ
り解読されると、ベクトルレジスタ(VR)3の指定さ
れたレジスタのデータが謙出されて演算回路6により演
算され、演算結果が再びベクトルレジス夕(VR)3の
指定されたレジスタに格納されていく。この演算動作が
1つのデータヱレメントについて行なわれる毎に、一1
回路14によってデータカウンタ13′の内容は一1さ
れる。データカウンタ13′の内容が“0”になったと
き、演算動作は終了し、次の命令の動作に入る。以上の
動作は、最初にデータカウンタ13′に設定された値が
“0”ではなくて、実際にベクトルレジスタ(VR)3
の内容について演算が行なわれるときの動作であるが、
一方、ベクトル長レジスタ(VL)13の内容が“0”
すなわちデータカウンター3′の初期値が“0”のとき
の動作は以下の通りである。
At the beginning of an instruction, the contents of vector length register (VL) 13 are moved to data printer 13'. When a vector operation instruction is set in the instruction register 8 and decoded by the instruction decoding circuit 9, the data in the specified register of the vector register (VR) 3 is extracted and operated on by the operation circuit 6, and the operation result is stored in the vector again. The data is stored in the designated register of register (VR) 3. Each time this arithmetic operation is performed on one data element, one
The contents of the data counter 13' are incremented by 1 by the circuit 14. When the content of the data counter 13' becomes "0", the arithmetic operation ends and the next instruction starts. In the above operation, the value initially set in the data counter 13' is not "0", but is actually the value set in the vector register (VR) 3.
This is the operation when an operation is performed on the contents of
On the other hand, the contents of the vector length register (VL) 13 are “0”
That is, the operation when the initial value of the data counter 3' is "0" is as follows.

ベクトル演算命令が命令レジスタ8にセットされ、命令
デコード回路9により解読されたとき、データカウンタ
13′の内容が“0”であることが零検出回路15によ
り検出されると、タイミング信号線16が“1”となる
命令実行前の所定のタイミング時点にアンド回路10の
出力が“1”となる。
When a vector operation instruction is set in the instruction register 8 and decoded by the instruction decode circuit 9, when the zero detection circuit 15 detects that the content of the data counter 13' is "0", the timing signal line 16 is The output of the AND circuit 10 becomes "1" at a predetermined timing before the execution of the instruction that becomes "1".

これにより、オア回路11の出力が“1”となり、ノー
・オペレーション(NOP)指示信号線12により、図
示しないフリップフロツブがセットされて当該命令につ
いてのオペレーションは実行されないように制御される
。そして、当該命令サイクルが終了すると、次の命令が
命令レジスタ8にセットされ実行される。
As a result, the output of the OR circuit 11 becomes "1", a flip-flop (not shown) is set by the no-operation (NOP) instruction signal line 12, and the operation for the instruction is controlled not to be executed. When the instruction cycle ends, the next instruction is set in the instruction register 8 and executed.

なお、上記図示しないフリップフロップを含むノー・オ
ペレーション(NOP)制御のための構成は従来からよ
く知られているものであり、上記のような動作に限定さ
れるものではない。ノー・オペレーション指示信号線1
2の指示により命令を早く終了させ、処理の高速化を計
ることも可能である。また奪検出回路をベクトル長レジ
スタ(VL)13にもおくことにより、更に高速の命令
制御が可能となる。すなわち命令レジスタ8に入れるこ
となく次の命令へ進むように制御することも可能となる
。上記したように本発明によれば、ベクトル長レジス夕
(VL)の内容が零で、ベクトルレジスタ(VR)に演
算データが存在しないとき、演算命令を実行せず、次の
オペレーションに進むようにしたのでプログラム作成上
条件判定処理、分岐処理等を考慮する必要がなくなり、
プログラム作成が容易になる効果をもたらす。
Note that the configuration for no-operation (NOP) control including the flip-flop (not shown) is conventionally well known, and is not limited to the operation described above. No-operation instruction signal line 1
It is also possible to speed up the processing by terminating the instruction early with the instruction 2. Furthermore, by providing the usurp detection circuit in the vector length register (VL) 13, even faster instruction control becomes possible. In other words, it is also possible to control the instruction to proceed to the next instruction without inputting it to the instruction register 8. As described above, according to the present invention, when the contents of the vector length register (VL) are zero and there is no operation data in the vector register (VR), the operation instruction is not executed and the operation proceeds to the next operation. Therefore, there is no need to consider condition judgment processing, branch processing, etc. when creating a program.
This has the effect of making program creation easier.

さらに本発明によればベクトルデータの演算処理中にお
ける割込発生回数が減少するので、ベクトル演算を効率
よく実行することができる。
Further, according to the present invention, the number of occurrences of interrupts during vector data calculation processing is reduced, so vector calculations can be performed efficiently.

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

第1図はベクトルレジスタの構成例、第2図はベクトル
レジスタを扱う場合の命令形式の一例、第3図はベクト
ル長レジスタ、第4図は命令の一例、第5図は加算動作
の説明図、第6図は本発明による実施例のブロック図で
ある。 第6図において、1は処理装置、2は主記憶装置、3は
ベクトルレジスタ、6は演算回路、7は命令制御部、8
は命令レジスタ、9は命令デコード回路、12はノー・
オペレーション指示信号線、13はベクトル長レジスタ
、13′はデータカウンタ、15は零検出回路である。 発’図兼2図 第3図 菊4図 弟よ図 めく図
Figure 1 is an example of the configuration of a vector register, Figure 2 is an example of an instruction format when using a vector register, Figure 3 is a vector length register, Figure 4 is an example of an instruction, and Figure 5 is an explanatory diagram of addition operation. , FIG. 6 is a block diagram of an embodiment according to the present invention. In FIG. 6, 1 is a processing unit, 2 is a main memory, 3 is a vector register, 6 is an arithmetic circuit, 7 is an instruction control unit, and 8
is an instruction register, 9 is an instruction decode circuit, and 12 is a no.
13 is a vector length register, 13' is a data counter, and 15 is a zero detection circuit. Figure 2 Figure 3 Chrysanthemum Figure 4 Little brother diagram

Claims (1)

【特許請求の範囲】[Claims] 1 各々M個の要素からなるN個のベクトルレジスタと
、該ベクトルレジスタにおけるデータを格納している要
素の長さを示すベクトル長レジスタとをそなえ、上記ベ
クトルレジスタをオペランドとして指定することにより
、当該指定されたベクトルレジスタの各要素からデータ
を順次とり出し、上記ベクトル長レジスタで指定された
要素の数だけオペレーシヨンを実行する計算機において
、上記ベクトル長レジスタの内容が零であることを検出
する零検出手段をもうけ、上記オペレーシヨンの実行に
先だち、該零検出手段により上記ベクトル長レジスタの
内容が零であることを検出した場合は当該オペレーシヨ
ンを実行しないことを特徴とする命令制御方式。
1. Provides N vector registers each consisting of M elements and a vector length register indicating the length of the element storing data in the vector register, and by specifying the vector register as an operand, In a computer that sequentially extracts data from each element of the specified vector register and executes operations for the number of elements specified in the vector length register, a zero function that detects that the contents of the vector length register are zero. An instruction control method comprising: a detection means, and the operation is not executed if the zero detection means detects that the contents of the vector length register are zero prior to execution of the operation.
JP54145259A 1979-11-09 1979-11-09 Command control method Expired JPS6022787B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP54145259A JPS6022787B2 (en) 1979-11-09 1979-11-09 Command control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP54145259A JPS6022787B2 (en) 1979-11-09 1979-11-09 Command control method

Publications (2)

Publication Number Publication Date
JPS5668865A JPS5668865A (en) 1981-06-09
JPS6022787B2 true JPS6022787B2 (en) 1985-06-04

Family

ID=15380989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54145259A Expired JPS6022787B2 (en) 1979-11-09 1979-11-09 Command control method

Country Status (1)

Country Link
JP (1) JPS6022787B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100252136B1 (en) 1997-12-29 2000-04-15 윤종용 Circuit for controlling execution of repetition structure in a dsp chip

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COMMUNICATIONS OF THE ACM=1978 *

Also Published As

Publication number Publication date
JPS5668865A (en) 1981-06-09

Similar Documents

Publication Publication Date Title
US4833640A (en) Register bank change including register to register transfer in a data processing system
JPS63261449A (en) Data processor
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
JPH0760388B2 (en) Pipeline control circuit
JPS645330B2 (en)
JPS6212529B2 (en)
JPS6022787B2 (en) Command control method
JP2520882B2 (en) Data processing device and data processing method
JPH0222413B2 (en)
JPS6042983B2 (en) Command control method
JPH01297727A (en) System for controlling normalization of floating point arithmetic operation
JPS58200349A (en) Microprogram controller
JPS595354A (en) Data processing device
JPS6232540A (en) Information processor
JPS623345A (en) Interruption system
JPS6017146B2 (en) computing device
JPH04338825A (en) Arithmetic processor
JPH0585925B2 (en)
JPS6028014B2 (en) microprocessor
JPH02128223A (en) Operational processor
JPS61283930A (en) Information processor
JPS6049939B2 (en) Arithmetic device using a microprocessor
JPS5971542A (en) Arithmetic processor
JPH03154929A (en) Central processing unit
JPH03100826A (en) Information processor