JPH02197961A - Information processor - Google Patents

Information processor

Info

Publication number
JPH02197961A
JPH02197961A JP1843589A JP1843589A JPH02197961A JP H02197961 A JPH02197961 A JP H02197961A JP 1843589 A JP1843589 A JP 1843589A JP 1843589 A JP1843589 A JP 1843589A JP H02197961 A JPH02197961 A JP H02197961A
Authority
JP
Japan
Prior art keywords
instruction
vector
data
unit
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1843589A
Other languages
Japanese (ja)
Inventor
Makoto Komata
誠 小俣
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP1843589A priority Critical patent/JPH02197961A/en
Publication of JPH02197961A publication Critical patent/JPH02197961A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the executing speed of an instruction train by transmitting a process start enable signal to a memory control part with no intervention of an instruction transmission system, etc. CONSTITUTION:A store request and a process holding request are sent to a memory control part 2 when a vector store instruction is stored in an instruction register 11. Thus the part 2 prepares for execution of a due process. Then a process start enable signal is transmitted when the data on a vector register is decided to execute the process related to the store request prepared at the part 2. At he same time, the part 2 reads data out of a memory part 3 when a load request is produced and stores the data in an internal data buffer 23. Then the data is quickly loaded to an arithmetic executing part 4 from the buffer 23 at output of a data transfer enable signal. Thus the vector load processing parallelism can be improved.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトル処理可能な情報処理装置に関し、特に
ベクトルロードおよびベクトルストアの制御の改良に関
する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing device capable of vector processing, and particularly to improvements in vector load and vector store control.

〔従来の技術〕[Conventional technology]

一般にベクトル処理可能な情報処理装置は、命令やデー
タを記憶する記憶部(主記憶)、ベクトル演算を行う演
算実行部、記憶部の命令を実行制御部に供給したり記憶
部と演算実行部間でデータの転送を行う記憶制御部、命
令の解読やリソース管理等を行い各部を制御する実行指
示制御部を含み、所謂パイプライン方式によってベクト
ルデータを高速に処理することができる。
In general, an information processing device capable of vector processing has a storage section (main memory) that stores instructions and data, an operation execution section that performs vector operations, and a system that supplies instructions from the storage section to an execution control section and connects the storage section and operation execution section. It includes a storage control unit that transfers data, and an execution instruction control unit that decodes instructions, manages resources, and controls each unit, and can process vector data at high speed using a so-called pipeline method.

いま、下記のようなベクトル処理の命令列がプログラム
で指定されている場合を例にして従来の情報処理装置の
構成および動作を説明する。
The configuration and operation of a conventional information processing apparatus will now be described using as an example a case where the following vector processing command sequence is specified in a program.

VLD   Vl 1M      −(1)VADD
  V2 ←S+V1  −(2)VST    M4
−V2     ・(3)VLD   V51M   
   ・(4)VMPY  V7←5xV5    ・
 (5)VST     M 4−V7      ・
 (61ここで、命令(1)は記憶部よりベクトルデー
タをベクトルレジスタv1にロードするベクトルロード
命令、命令(2)は命令(1)によってベクトルレジス
タv1にロードされたベクトルデータにスカラデータS
を加算し結果をベクトルレジスタv2に格納するベクト
ル加算命令、命令(3)は命令(2)によってベクトル
レジスタv2に格納された演算結果を記憶部にストアす
るベクトルストア命令、命令(4)は記憶部よりベクト
ルデータをベクトルレジスタv5にロードするベクトル
ロード命令、命令(5)は命14)によってベクトルレ
ジスタ■5にロートサれたベクトルデータにスカラデー
タSを乗算し結果をベクトルレジスタv7に格納するベ
クトル乗算命令、命令(6)は命令(5)によってベク
トルレジスタv7に格納された演算結果を記憶部にスト
アするベクトルストア命令である。また、第3図は上述
したベクトル処理の命令列を従来のベクトル処理装置で
実行させた際のタイムチャートである。
VLD Vl 1M - (1) VADD
V2 ←S+V1 −(2)VST M4
-V2 ・(3) VLD V51M
・(4) VMPY V7←5xV5 ・
(5) VST M4-V7 ・
(61 Here, instruction (1) is a vector load instruction to load vector data from the storage unit into vector register v1, and instruction (2) is a scalar data S to vector data loaded to vector register v1 by instruction (1).
Instruction (3) is a vector store instruction that stores the operation result stored in vector register v2 by instruction (2) in the storage section. Instruction (4) is a storage instruction. A vector load instruction that loads vector data from the part into vector register v5, and instruction (5) is a vector that multiplies the vector data loaded into vector register ■5 by instruction 14) by scalar data S and stores the result in vector register v7. The multiplication instruction, instruction (6), is a vector store instruction that stores the operation result stored in the vector register v7 by instruction (5) in the storage section. Moreover, FIG. 3 is a time chart when the above-mentioned vector processing instruction sequence is executed by a conventional vector processing device.

プログラムで指定された命令順序が上記した命令(1)
〜(6)の場合、実行指示制御部における命令スタック
には命令(1)から順に命令が格納され、解読される。
The instruction order specified in the program is the above instruction (1)
In the cases of (6) to (6), instructions are stored in the instruction stack in the execution instruction control unit in order from instruction (1) and decoded.

先ず命令(,1)が命令スタックから取り出されて解読
されると、ベクトルロード命令であることから記憶制御
部に対しこのベクトルロード命令が送出され、記憶制御
部はこれに応答して記憶部のアクセスを開始し、読み出
した記憶部中のベクトルデータを演算実行部のベクトル
レジスタVlにロードする。実行指示制御部は命令(1
)の解読を終えるとその命令(1)の起動と並行して命
令(2)を解読しており、この命令(2)は命令(1)
でロードされたベクトルデータを使用する命令なので、
ベクトルレジスタv1にベクトルデータがロードされる
のを待ち合わせ、ベクトルレジスタVlにデータがロー
ドされ始めると、スカラデータSを渡して演算実行部に
命令(2)の起動をかける。これによって演算実行部は
ベクトルレジスタv1のベクトルデータにスカラデータ
Sを加算し、その結果をベクトルレジスタv2に格納す
る動作を開始する。演算実行部で演算が開始され、その
結果がベクトルレジスタv2に書き込まれるタイミング
になると、次の命令(3)を解読していた実行指示制御
部がそのタイミングで、ベクトルレジスタ■2のデータ
を記憶部にストアする命令(3)を記憶制御部に送出す
る。記憶制御部はこの命令(3)を受信し解読すると、
ベクトルレジスタv2のデータを記憶部にストアする動
作を開始する。実行指示制御部は、命令(3)の解読後
に命令(4)の解読を行っているが、命令(4)は記憶
部のデータをベクトルレジスタv5にロードする命令で
あり、その時点では第3図のタイムチャートに示すよう
に命令(3)によるベクトルストア処理で記憶部がアク
セスされているので、命令(4)の実行は命令(3)の
処理が終了するまで待たされる。そして、必要な待ち合
わせの後、命令(4)が実行され、その後、命令(5)
、命令(6)が命令(2)、命令(3)と同様に処理さ
れる。
First, when the instruction (, 1) is taken out from the instruction stack and decoded, since it is a vector load instruction, this vector load instruction is sent to the storage control unit, and the storage control unit responds by reading the instructions in the storage unit. Access is started, and the read vector data in the storage section is loaded into the vector register Vl of the arithmetic execution section. The execution instruction control unit executes the instruction (1
) is decoded, instruction (2) is decoded in parallel with the activation of instruction (1), and this instruction (2) is the same as instruction (1).
Since the instruction uses vector data loaded with
It waits for the vector data to be loaded into the vector register v1, and when the data starts to be loaded into the vector register V1, it passes the scalar data S and activates the instruction (2) to the arithmetic execution unit. As a result, the arithmetic execution unit starts the operation of adding the scalar data S to the vector data in the vector register v1 and storing the result in the vector register v2. When the calculation execution unit starts the calculation and the result is written to the vector register v2, the execution instruction control unit that was decoding the next instruction (3) stores the data in the vector register v2 at that timing. The instruction (3) to store in the section is sent to the storage control section. When the storage control unit receives and decodes this instruction (3),
The operation of storing the data of vector register v2 in the storage section is started. The execution instruction control unit decodes the instruction (4) after decoding the instruction (3), but the instruction (4) is an instruction to load the data in the storage unit into the vector register v5, and at that point, the third As shown in the time chart of the figure, since the storage unit is accessed by the vector store processing by instruction (3), execution of instruction (4) is delayed until the processing of instruction (3) is completed. Then, after the necessary rendezvous, instruction (4) is executed, and then instruction (5)
, instruction (6) is processed in the same way as instructions (2) and (3).

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述したように、従来の情報処理装置では、命令スタッ
クから取り出した次に実行すべき命令が命1)、 (4
)の如きベクトルロード命令の場合、それらの命令が実
際に処理可能となるタイミングで記憶制御部に送出し、
記憶制御部はそのとき始めて記憶部をアクセスし、読み
出したデータを演算実行部に供給するように構成されて
いる。従って、記憶制御部から記憶部のベクトルデータ
をアクセスするのに必要な絶対時間が長いと、情報処理
装置の性能が低下する。特に、上述した命令列の如く、
先行するベクトルストア命令(3)と後続のベクトルロ
ード命令(4)とを含む命令例では、両者間で異なる記
憶部領域を使用するケースが少なくなく、従って、後続
のベクトルロード命令(4)が先行するベクトルストア
命令より先に記憶部をアクセスしても問題はない、しか
し、従来の情報処理袋!では実際にはプログラムで指定
される順番で命令実行指示が送出される為、先行するベ
クトルストア命令(3)の記憶部へのアクセスが終了す
るまで後続のベクトルロード命令(4)の実行が待たさ
れ、記憶制御部による記憶部の使用状況に無動作状態が
多く生じ、記憶部が効率良く使用されないことになり、
結果的にプログラムの実行時間が長くなってしまう。
As mentioned above, in conventional information processing devices, the next instruction to be executed taken out from the instruction stack is the instruction 1), (4
), these instructions are sent to the storage control unit at the timing when they can actually be processed.
The storage control section is configured to access the storage section for the first time and supply the read data to the arithmetic execution section. Therefore, if the absolute time required for the storage control unit to access vector data in the storage unit is long, the performance of the information processing device will deteriorate. In particular, like the instruction sequence mentioned above,
In an instruction example that includes a preceding vector store instruction (3) and a subsequent vector load instruction (4), there are many cases in which the two use different storage areas, and therefore the subsequent vector load instruction (4) There is no problem with accessing the storage section before the preceding vector store instruction, but conventional information processing bags! In this case, instruction execution instructions are actually sent in the order specified in the program, so the execution of the subsequent vector load instruction (4) waits until the access to the storage section of the preceding vector store instruction (3) is completed. As a result, there are many inactive states in the usage status of the storage unit by the storage control unit, and the storage unit is not used efficiently.
As a result, the program execution time becomes longer.

また、ベクトルストア命令について従来はストアすべき
データが準備できた時点すなわちリソースが使用可能と
なった時点で、ベクトルストア命令を記憶制御部に送出
する構成を採用しているが、一般に命令を記憶部に送出
し記憶制御部がその実行を開始するまでには、命令伝達
系や記憶制御部内での命令解読等の関係で多少の時間を
要する。
Regarding vector store instructions, conventionally a configuration has been adopted in which the vector store instruction is sent to the storage control unit when the data to be stored is ready, that is, when resources become available. It takes some time for the storage control section to start executing the command, depending on the instruction transmission system and the decoding of the instructions within the storage control section.

このため、リソースが使用可能となってからストア処理
が開始されるまでの時間が長くなる。
Therefore, it takes a long time from when the resource becomes available until the store process starts.

本発明はこのような事情に鑑みて為されたもので、その
目的は、ベクトルロード命令、ベクトルストア命令を含
む命令列の実行速度を向上することのできる情報処理装
置を提供することにある。
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an information processing device that can improve the execution speed of an instruction sequence including vector load instructions and vector store instructions.

〔課題を解決するための手段〕[Means to solve the problem]

本発明は上記の目的を達成するために、データを記憶す
る記憶部、ベクトル演算を行う演算実行部、前記記憶部
と前記演算実行部間のデータ転送を制御する記憶制御部
、実行すべき命令を一時記憶する命令スタックを有し命
令の解読、前記演算実行部のリソース管理等を行い前記
記憶制御部および前記演算実行部に制御情報を送出する
実行指示制御部を含む情報処理装置において、命令レジ
スタに格納された命令を前記命令スタックに格納すると
共にその命令を解読し、ベクトルストア命令であるとき
はストアリクエストと処理待機要求とを前記記憶制御部
に送出し、ベクトルロード命令であるときは競合するベ
クトルストア命令が前記命令スタックに格納されていな
いことにより前記記憶制御部へロードリクエストを送出
する第1の制御手段と、前記命令スタックの先頭命令を
解読し、ベクトルストア命令であるときは前記演算実行
部でそのストアにかかるリソースの競合が発生しないタ
イミングで前記記憶制御部に対し処理開始可信号を送出
し、ベクトルロード命令であるときは前記演算実行部で
そのロードにかかるリソースの競合が発生しないタイミ
ングで前記記憶制御部に対しデータ転送可信号を送出す
る第2の制御手段とを、実行指示制御部に備え、前記記
憶制御1部は、前記記憶部からのデータを一時格納する
バッファを有し、前記ストアリクエストと処理待機要求
とに応答してそのストアリクエストにかかる処理の実行
準備を行うと共に前記処理開始可信号に応答して上記実
行準備したストアリクエストにかかる前記演算実行部か
ら前記記憶部へのデータの転送を行い、前記ロードリク
エストに応答して前記記憶部から前記バッファにデータ
を読み込むと共に前記データ転送可信号に応答して前記
バッファからデータを読み出して前記演算実行部に送出
する構成を有している。
In order to achieve the above object, the present invention provides a storage unit that stores data, an operation execution unit that performs vector operations, a storage control unit that controls data transfer between the storage unit and the operation execution unit, and instructions to be executed. An information processing device including an execution instruction control unit that has an instruction stack for temporarily storing instructions, decodes instructions, manages resources of the operation execution unit, etc., and sends control information to the storage control unit and the operation execution unit. Stores the instruction stored in the register in the instruction stack, decodes the instruction, sends a store request and processing standby request to the storage control unit if it is a vector store instruction, and sends a store request and a processing wait request to the storage control unit if it is a vector load instruction. a first control means that sends a load request to the storage control unit when a conflicting vector store instruction is not stored in the instruction stack; The arithmetic execution unit sends a processing start enable signal to the storage control unit at a timing when there is no conflict for resources related to the store, and when the instruction is a vector load instruction, the arithmetic execution unit sends a resource conflict related to the load. the execution instruction control section includes a second control means for sending a data transfer enable signal to the storage control section at a timing when the storage control section does not occur, and the first storage control section temporarily stores data from the storage section. The arithmetic execution unit has a buffer, and prepares to execute the process related to the store request in response to the store request and the processing standby request, and prepares to execute the process related to the store request prepared to execute in response to the process start enable signal. transfers data from the storage unit to the storage unit, reads data from the storage unit to the buffer in response to the load request, reads data from the buffer in response to the data transfer enable signal, and reads the data from the buffer, and the operation execution unit It has a configuration that sends data to

(作用) 本発明の情報処理装置においては、実行すべき命令を一
時記憶する命令スタックを有し命令の解読、演算実行部
のリソース管理等を行い記憶制御部および演算実行部に
制御情報を送出する実行指示制御部に設けられた第1の
制御手段が、命令レジスタに格納された命令を命令スタ
ックに格納すると共にその命令を解読し、ベクトルスト
ア命令であるときは、そのベクトルストア命令にかかる
ストアリクエストと処理待機要求とを記憶制御部に送出
し、ベクトルロード命令であるときはそのベクトルロー
ド命令と競合するベクトルストア命令が命令スタックに
格納されていないことにより記憶制御部へロードリクエ
ストを送出し、同じく実行指示制御に設けられた第2の
制御手段が、命令スタックの先頭命令を解読し、ベクト
ルストア命令であるときは演算実行部でそのストアにか
かるリソースの競合が発生しないタイミングで記憶制御
部に対し処理開始可信号を送出し、ベクトルロード命令
であるときは演算実行部でそのロードにかかるリソース
の競合が発生しないタイミングで記憶制御部に対しデー
タ転送可信号を送出する。
(Function) The information processing device of the present invention has an instruction stack that temporarily stores instructions to be executed, decodes instructions, manages resources of the operation execution unit, etc., and sends control information to the storage control unit and the operation execution unit. A first control means provided in the execution instruction control unit stores the instruction stored in the instruction register in the instruction stack, decodes the instruction, and, if the instruction is a vector store instruction, executes the instructions related to the vector store instruction. A store request and a processing standby request are sent to the storage control unit, and if it is a vector load instruction, a load request is sent to the storage control unit because a vector store instruction that conflicts with the vector load instruction is not stored in the instruction stack. However, a second control means, which is also provided for execution instruction control, decodes the first instruction of the instruction stack and, if it is a vector store instruction, stores it in the arithmetic execution unit at a timing that does not cause contention for resources related to the store. It sends a processing start enable signal to the control unit, and when it is a vector load instruction, it sends a data transfer enable signal to the storage control unit at a timing that does not cause resource contention for the load in the arithmetic execution unit.

他方、記憶制御部は、ストアリクエストと処理待機要求
とに応答してそのストアリクエストにかかる処理の実行
準備を行うと共に処理開始可信号に応答して実行準備し
たストアリクエストにかかる演算実行部から記憶部への
データの転送を行い、ロードリクエストに応答して記憶
部からデータを読み込んでバッファに一時格納し、その
後のデータ転送可信号に応答してバッファからデータを
読み出して演算実行部に送出する。
On the other hand, in response to the store request and the process standby request, the storage control unit prepares to execute the process related to the store request, and in response to the process start enable signal, the storage control unit performs storage from the arithmetic execution unit related to the store request prepared for execution. In response to a load request, data is read from the storage unit and temporarily stored in the buffer, and in response to a subsequent data transfer enable signal, the data is read from the buffer and sent to the calculation execution unit. .

〔実施例〕〔Example〕

次に、本発明の実施例について図面を参照して詳細に説
明する。
Next, embodiments of the present invention will be described in detail with reference to the drawings.

第1図は本発明を適用した情報処理装置の一実施例の要
部ブロック図である。この実施例の情報処理装置は、実
行指示制御部1と、記憶制御部2と、記憶部3と、演算
実行部4とを含んでいる。
FIG. 1 is a block diagram of essential parts of an embodiment of an information processing apparatus to which the present invention is applied. The information processing apparatus of this embodiment includes an execution instruction control section 1, a storage control section 2, a storage section 3, and an arithmetic execution section 4.

記憶部3は、主記憶などで構成され、データや命令等を
記憶している。演算実行部4は、ベクトルレジスタやベ
クトル演算器等を有し、実行指示制御部lから指示され
たベクトル演算などを実行する部分である。実行指示制
御部lは、命令の解読。
The storage unit 3 is composed of a main memory and the like, and stores data, instructions, and the like. The calculation execution unit 4 has a vector register, a vector calculation unit, etc., and is a part that executes vector calculations and the like instructed by the execution instruction control unit 1. The execution instruction control unit l decodes instructions.

リソースの管理等を行ってプログラムで指定された命令
列を実行する為に記憶制御部2および演算実行部4に対
し制御情報を出力する部分であり、命令レジスタ11.
命令スタック12.解読器13、アドレスチエツク回路
14.解読/R合チエツク回路15.リソース状態管理
回路16を含んでいる。記憶制御部2は、記憶部3と演
算実行部4間のデータ転送などを制御する部分であり、
制御回路21.ストア命令スタック22.データバッフ
ァ23を含んでいる。
This is a part that outputs control information to the storage control unit 2 and the arithmetic execution unit 4 in order to manage resources and execute a sequence of instructions specified in a program, and the instruction register 11.
Instruction stack 12. Decoder 13, address check circuit 14. Decoding/R match check circuit 15. It includes a resource status management circuit 16. The storage control unit 2 is a part that controls data transfer between the storage unit 3 and the calculation execution unit 4,
Control circuit 21. Store instruction stack 22. It includes a data buffer 23.

実行指示制御部lにおける各構成要素は次のような機能
を有する。
Each component in the execution instruction control unit 1 has the following functions.

・命令レジスタ11 図示を省略したバスにより記憶部3からフェッチされた
命令を保持する。
- Instruction register 11 Holds instructions fetched from the storage unit 3 via a bus (not shown).

・解読器13 命令レジスタ11に保持された命令を命令スタック12
に格納すると共に、その命令を解読し、ベクトルストア
命令ならば記憶制御部2に対しその命令の使用する記憶
部3のアドレス情報等を含むストアリクエストと処理待
機要求を送出し、ベクトルロード命令ならば、命令スタ
ック12内にベクトルストア命令が存在する場合にその
ベクトルストア命令でアクセスされる記憶部3のアドレ
ス範囲と今回のベクトルロード命令でアクセスされる記
憶部3のアドレス範囲とを比較し両者が競合するか否か
を検出しているアドレスチエツク回路14の検出結果に
基づき、競合が発生しないときに限り記憶制御部2ヘベ
クトルロード命令の使用する記憶部3のアドレス情報等
を含むロードリクエストを送出する。
・Decoder 13 Transfers the instructions held in the instruction register 11 to the instruction stack 12
At the same time, it decodes the instruction, and if it is a vector store instruction, it sends a store request including the address information of the storage section 3 used by the instruction and a processing standby request to the storage control section 2, and if it is a vector load instruction, For example, when a vector store instruction exists in the instruction stack 12, the address range of the storage unit 3 accessed by the vector store instruction is compared with the address range of the storage unit 3 accessed by the current vector load instruction, and both are compared. Based on the detection result of the address check circuit 14 which detects whether or not there is a conflict, a load request containing the address information of the memory unit 3 used by the vector load instruction is sent to the memory control unit 2 only when there is no conflict. Send out.

・命令スタック12 解読器13から送出される命令を一時記憶する。・Instruction stack 12 The instructions sent from the decoder 13 are temporarily stored.

・アドレスチエツク回路14 命令レジスタ11に格納された命令がベクトルロード命
令であると解読器13で解読されたとき、命令スタック
12内にベクトルストア命令が存在すれば、そのベクト
ルストア命令でアクセスされる記憶部3のアドレス範囲
と今回のベクトルロード命令でアクセスされる記憶部3
のアドレス範囲とを比較することにより、両者の競合を
検出する。
・Address check circuit 14 When the decoder 13 decodes the instruction stored in the instruction register 11 as a vector load instruction, if a vector store instruction exists in the instruction stack 12, it is accessed by that vector store instruction. Address range of storage unit 3 and storage unit 3 accessed by this vector load instruction
A conflict between the two is detected by comparing the address range of the two.

なお、ベクトルストア命令、ベクトルロード命令でアク
セスされる記憶部3のアドレス範囲は各命令のベクトル
ストア/ロード開始アドレス、ベクトルストア/ロード
要素間距離、ベクトルストア/ロード要素数に基づいて
求められる。
Note that the address range of the storage unit 3 accessed by a vector store instruction and a vector load instruction is determined based on the vector store/load start address, the distance between vector store/load elements, and the number of vector store/load elements of each instruction.

・リソース状態管理回路16 各部から与えられる情報によって演算実行部4における
ベクトルレジスタ等の各種のリソースが現在どのような
状態にあるかを管理する。
-Resource status management circuit 16 This circuit manages the current status of various resources such as vector registers in the arithmetic execution unit 4 based on information provided from each unit.

・解読/il1合チエツク回路15 命令スタンク12の先頭命令について、その解読、リソ
ース状態管理回路16が示す状態に照らした競合チエツ
クを行い、記憶制御部2および演算実行部4に制御情報
を送出する。具体的には次のような動作を行う。
・Decoding/IL1 check circuit 15 Deciphers the first instruction of the instruction stack 12, performs a conflict check against the state indicated by the resource state management circuit 16, and sends control information to the storage control unit 2 and the arithmetic execution unit 4. . Specifically, the following operations are performed.

命令スタック12の先頭命令がベクトルストア命令の場
合、ストアすべきベクトルレジスタが先行する命令で読
み出し中でないか、または書き込みが開始前でないとき
に、記憶制御部2に対して処理開始可信号を送出する。
When the first instruction of the instruction stack 12 is a vector store instruction, a processing start enable signal is sent to the storage control unit 2 when the vector register to be stored is not being read by a preceding instruction or writing has not yet started. do.

命令スタフク12の先頭命令がベクトルロード命令の場
合、ロードすべきベクトルレジスタが先行する命令で書
き込み中でないか、または読み出しが開始されているな
らば、記憶制御部2に対してデータ転送可信号を送出す
る。
When the first instruction of the instruction stack 12 is a vector load instruction, if the vector register to be loaded is not being written to by the preceding instruction, or if reading has started, a data transfer enable signal is sent to the storage control unit 2. Send.

命令スタック12の先頭命令が演算命令の場合、当該演
算にかかるリソースの競合と演算データの準備状況とを
チエツクし、問題がなければ演算実行部4に対し実行指
示を送出する。
If the first instruction of the instruction stack 12 is an arithmetic instruction, the contention of resources related to the arithmetic operation and the preparation status of the arithmetic data are checked, and if there is no problem, an execution instruction is sent to the arithmetic execution unit 4.

また、記憶制御部2における各構成要素は次のような機
能を有する。
Further, each component in the storage control unit 2 has the following functions.

・データバッファ23 記憶部3から読み出したデータを一時記憶する。・Data buffer 23 The data read from the storage unit 3 is temporarily stored.

この記憶されたデータは演算実行部4に送られる。This stored data is sent to the calculation execution section 4.

・制御回路21 実行指示制御部1から送出された各種の情報を受信し、
それに応じた動作が記憶制御部2において実行されるよ
うに各部を制御する。具体的には、次のような動作を行
う。
・Control circuit 21 Receives various information sent from the execution instruction control unit 1,
Each unit is controlled so that the storage control unit 2 executes the corresponding operation. Specifically, the following operations are performed.

ストアリクエストと処理待機要求とを受信すると、その
ストアリクエストをストア命令スタック22に格納し、
後に処理開始可信号を受信することによりストア命令ス
タック22に格納したそのストアリクエストを起動して
記憶部3をアクセスし、演算実行部4中のベクトルレジ
スタのデータを記憶部3に格納すると共に、このことを
実行指示制御部1のリソース状態管理回路16に通知す
る。
Upon receiving a store request and a processing standby request, the store request is stored in the store instruction stack 22,
Later, by receiving a processing start enable signal, the store request stored in the store instruction stack 22 is activated to access the storage unit 3, and the data in the vector register in the arithmetic execution unit 4 is stored in the storage unit 3. This is notified to the resource status management circuit 16 of the execution instruction control unit 1.

ロードリクエストを受信すると、記憶部3をアクセスし
ベクトルデータをデータバッファ23に格納し、後にデ
ータ転送可信号を受信すると、データバッファ23に該
当するデータが入り始めるか或いは既にそのバッファに
格納されているならば、データバッファ23中のデータ
を演算実行部4のベクトルレジスタに対し送り始めると
共に、このことを実行指示制御部1のリソース状態管理
回路16に通知する。
When a load request is received, the storage unit 3 is accessed and vector data is stored in the data buffer 23, and when a data transfer enable signal is received later, the corresponding data begins to enter the data buffer 23 or is already stored in the buffer. If so, it starts sending the data in the data buffer 23 to the vector register of the arithmetic execution section 4, and also notifies the resource state management circuit 16 of the execution instruction control section 1 of this fact.

第2図は従来例の説明で用いた下記の命令列、VLD 
  Vl ←M      −(1)VADD  V2
←S+V 1   ・・・(2)VST    M−V
2     ・(3)VLD   V5←M     
・・・(4)V M P Y  V 7 ←S X V
 5  −(51V S T    M−V 7   
 −(6)を、第1図の情報処理装置で処理した際のタ
イムチャートである。以下、第2図のタイムチャートを
参照して第1図の実施例の動作を説明する。
Figure 2 shows the following instruction sequence, VLD, used in explaining the conventional example.
Vl ←M − (1) VADD V2
←S+V 1...(2) VST M-V
2 ・(3) VLD V5←M
...(4) V M P Y V 7 ← S X V
5 - (51V STM-V 7
- (6) is a time chart when processed by the information processing device of FIG. 1. The operation of the embodiment shown in FIG. 1 will be described below with reference to the time chart shown in FIG.

ベクトルロード命令(1)が命令レジスタ11に格納さ
れると、解読器13は、命令スタック12中に先行する
ベクトルストア命令が存在しないのでアドレスチエツク
回路14のチエツク結果はアドレス競合無しとなり、記
憶制御部2に対してロードリクエストを出す、記憶制御
部2はこのロードリクエストを受信することにより、記
憶部3からデータをデータバッファ23に読み込む処理
を開始する。ベクトルロード命令(1)が命令スタック
12に格納され、次にベクトル加算命令(2)が解読器
13で解読されると、それが命令スタック12に格納さ
れ、次の命令(3)が解読される。命令(3)はベクト
ルストア命令なので、解読器13は記憶制御部2に対し
てストアリクエストと処理待機要求とを送出し、記憶制
御部2はそれを受信し解読してストアリクエストをスト
ア命令スタック22に格納する0次に、解読器13にお
いてベクトルロード命令(4)が解読される。今、ベク
トルロード命令(4)がアクセスする記憶部3のアドレ
ス範囲と、先行するベクトルストア命令(3)がアクセ
スする記憶部3のアドレス範囲とが重複しないものとす
ると、競合無しがアドレスチエツク回路14で検出され
、解読器13は、記憶制御部2に対してロードリクエス
トを出し、記憶制御部2はこれを受信することにより、
先行する命令(1)による記憶部2のアクセスの終了俊
速やかに記憶部3からデータをデータバッファ23に読
み込む処理を開始する0次にベクトル乗算命令(5)が
解読器13で解読されると、それが命令スタック12に
格納され、次にベクトルストア命令(6)が解読される
と、解読器13は記憶制御部2に対してストアリクエス
トと処理待機要求とを送出し、記憶制御部2はそのスト
アリクエストをストア命令スタック22に格納する0以
上のように、命令(1)〜命令(6)が命令スタック1
2に順次格納され、記憶制御部2ではベクトルロード命
令(1)でロードすべきデータが記憶部3からデータバ
ッファ23へ格納され、引き続いてベクトルロード命令
(4)でロードすべきデータが記憶部3からデータバッ
ファ23へ格納される状態となる。
When the vector load instruction (1) is stored in the instruction register 11, the decoder 13 detects that since there is no preceding vector store instruction in the instruction stack 12, the check result of the address check circuit 14 is that there is no address conflict, and the memory control is performed. The storage control unit 2, which issues a load request to the storage unit 2, starts the process of reading data from the storage unit 3 into the data buffer 23 by receiving this load request. When the vector load instruction (1) is stored in the instruction stack 12 and then the vector addition instruction (2) is decoded by the decoder 13, it is stored in the instruction stack 12 and the next instruction (3) is decoded. Ru. Since instruction (3) is a vector store instruction, the decoder 13 sends a store request and a processing standby request to the storage control unit 2, and the storage control unit 2 receives and decodes it, and adds the store request to the store instruction stack. Next, the vector load instruction (4) is decoded in the decoder 13. Now, assuming that the address range of the storage unit 3 accessed by the vector load instruction (4) and the address range of the storage unit 3 accessed by the preceding vector store instruction (3) do not overlap, no conflict occurs in the address check circuit. 14, the decoder 13 issues a load request to the storage control unit 2, and the storage control unit 2 receives this, thereby
End of access to the storage unit 2 by the preceding instruction (1) Immediately starts the process of reading data from the storage unit 3 into the data buffer 23 When the 0-order vector multiplication instruction (5) is decoded by the decoder 13 , are stored in the instruction stack 12, and then when the vector store instruction (6) is decoded, the decoder 13 sends a store request and a processing standby request to the storage control unit 2. stores the store request in the store instruction stack 22.Instructions (1) to (6) are stored in the instruction stack 1 as shown in 0 or above.
In the storage control unit 2, the data to be loaded with the vector load instruction (1) is stored from the storage unit 3 into the data buffer 23, and subsequently the data to be loaded with the vector load instruction (4) is stored in the storage unit 2. 3, the data is stored in the data buffer 23.

他方、命令スタック12に格納された命令は、先頭の命
令(1)から順に解読/競合チエツク回路15で処理さ
れる。解読/競合チエツク回路15は命令(1)を解読
してベクトルロード命令であることを識別すると、ロー
ド先のベクトルレジスタv1が使用可能か否かをリソー
ス状態管理回路16からの情報に従ってチエツクし、使
用可能であることにより記憶制御部2にデータ転送可信
号を送出する。このデータ転送可信号を受けた記憶制御
部2では、データバッファ23に該当するデータが入り
始めると、そのデータを演算実行部4のベクトルレジス
タv1に転送する動作を開始する。
On the other hand, the instructions stored in the instruction stack 12 are processed by the decoding/conflict check circuit 15 in order from the first instruction (1). When the decoding/conflict check circuit 15 decodes the instruction (1) and identifies that it is a vector load instruction, it checks whether the load destination vector register v1 can be used or not according to information from the resource status management circuit 16. When it is available, a data transfer enable signal is sent to the storage control unit 2. Upon receiving this data transfer enable signal, the storage control unit 2 starts the operation of transferring the data to the vector register v1 of the arithmetic execution unit 4 when the corresponding data begins to enter the data buffer 23.

解読/競合チエツク回路15は、命令(1)を処理し終
えると、次に先頭命令となる命令(2)を解読し、ベク
トルレジスタVlを使用するベクトル加算命令であるこ
とから、記憶制御部2によってベクトルレジスタVlヘ
データがロードされてリソース状態管理回路16中のベ
クトルレジスタVlにかかる状態が更新され、ベクトル
レジスタV1にデータが準備されたと認識できた時点で
、命令(2)を起動するための実行指示を演算実行部4
に送出する。これによって、演算実行部4は命令(2)
のベクトル加算演算を開始し、結果をベクトルレジスタ
■2に格納する。
After processing the instruction (1), the decoding/conflict check circuit 15 decodes the next leading instruction (2), and since this is a vector addition instruction that uses the vector register Vl, the memory control unit 2 The data is loaded into the vector register Vl, the state related to the vector register Vl in the resource state management circuit 16 is updated, and when it is recognized that the data is prepared in the vector register V1, the instruction (2) is activated. The execution instruction is sent to the calculation execution unit 4.
Send to. As a result, the calculation execution unit 4 executes the instruction (2).
The vector addition operation is started and the result is stored in the vector register (2).

解読/競合チエツク回路15は、命令(2)を起動する
と、次の命令(3)がベクトルストア命令であることか
らストアすべきデータがベクトルレジスタ■2に準備さ
れたか否かをリソース状態管理回路16からの情報に基
づいてチエツクし、準備完了のタイミングで、処理開始
可信号を記憶制御部2に送出する。記憶制御部2はこの
処理開始可信号を受信すると、ストア命令スタック22
に格納された該当するストアリクエストを起動し、ベク
トルレジスタv2のデータを記憶部3にストアする。
When the instruction (2) is started, the decoding/conflict check circuit 15 checks whether the data to be stored has been prepared in the vector register 2 since the next instruction (3) is a vector store instruction. 16, and sends a processing start enable signal to the storage control section 2 at the timing of completion of preparation. When the storage control unit 2 receives this process start enable signal, it stores the store instruction stack 22
The corresponding store request stored in is activated, and the data in vector register v2 is stored in storage unit 3.

次に解読/競合チエツク回路15は、命令(4)を解読
する。この命令(4)はベクトルロード命令なので、ロ
ード先のベクトルレジスタv5が使用可能であるタイミ
ングで、記憶制御部2に対しデータ転送可信号を送出す
る。記憶制i11部2はこのデータ転送可信号を受信す
ることによりデータを演算実行部4のベクトルレジスタ
v5に転送する処理を開始するが、第2図のタイムチャ
ートでも明らかなように、先行するロードリクエストに
よって転送すべきデータの大部分が既にデータバッファ
23に格納されているので、データ転送が直ちに開始さ
れ、必要なデータが速やかにベクトルレジスタ■5に格
納される。
Next, the decoding/conflict check circuit 15 decodes instruction (4). Since this instruction (4) is a vector load instruction, it sends a data transfer enable signal to the storage control unit 2 at the timing when the load destination vector register v5 is available. When the storage system i11 unit 2 receives this data transfer enable signal, it starts the process of transferring data to the vector register v5 of the arithmetic execution unit 4, but as is clear from the time chart of FIG. Since most of the data to be transferred in response to the request has already been stored in the data buffer 23, data transfer is started immediately and the necessary data is promptly stored in the vector register 5.

以後、解読/競合チエツク回路15は、命令スタック1
2中の命令(5)、命令(6)を命令(2)、命令(3
)と同様にして処理し、上記した命令列の実行制御を終
了する。第2図と第3図のタイムチャートを比較して明
らかなように、本実施例では命令(1)〜命令(6)の
命令列を高速に実行することができる。
Thereafter, the decoding/conflict check circuit 15 reads the instruction stack 1.
Instruction (5) and instruction (6) in 2 are changed to instruction (2) and instruction (3).
), and the execution control of the above instruction sequence is completed. As is clear from a comparison of the time charts of FIGS. 2 and 3, in this embodiment, the instruction sequence of instructions (1) to (6) can be executed at high speed.

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

以上説明したように本発明の情報処理装置においては、
ベクトルストア命令が命令レジスタに格納された時点で
記憶制御部に対しストアリクエストと処理待機要求とを
送出して記憶制御部にその実行準備を行わせ、ベクトル
レジスタのデータが確定した時点で処理開始可信号を送
出して記憶制御部内実行準備させたストアリクエストに
かかる処理を行わせるものであり、命令伝達系や記憶制
御部内での命令解読等の時間が先行処理により吸収され
、また処理開始可信号は命令伝達系等を経由せず速やか
に記憶制御部に伝達されるので、ストアすべきデータが
ベクトルレジスタに準備できた時点から実際にデータの
ストアが開始されるまでの時間を短縮することが可能と
なる。
As explained above, in the information processing device of the present invention,
When the vector store instruction is stored in the instruction register, a store request and a processing standby request are sent to the storage control unit to make the storage control unit prepare for execution, and processing starts when the data in the vector register is determined. It sends out a ready signal to perform the processing related to the store request that has been prepared for execution within the storage control unit, and the time required for command transmission system and instruction decoding within the storage control unit is absorbed by the preceding processing, and the processing can be started. Since the signal is quickly transmitted to the storage control unit without going through the command transmission system, etc., the time from the time when the data to be stored is ready in the vector register to the time when data storage actually starts is shortened. becomes possible.

また、ベクトルロード命令が命令レジスタに格納された
時点でそれを解読して可能であれば記憶制御部に対し早
期にロードリクエストを送出し、ベクトルレジスタへの
データのロードが可能となった時点で記憶制御部へデー
タ転送可信号を送出し、他方、記憶制御部ではロードリ
クエスト、が出された時点で記憶部からデータを読み出
して内部のバッファに格納し、データ転送可信号が出さ
れた時点でそのバッファから速やかにデータを演算制御
部ヘロードするので、ベクトルロードの処理の並行度を
高めることができる。
Also, when the vector load instruction is stored in the instruction register, it is decoded and, if possible, a load request is sent to the storage control unit as early as possible, and when the data can be loaded into the vector register. A data transfer enable signal is sent to the storage control unit, and on the other hand, when a load request is issued, the storage control unit reads data from the memory unit and stores it in an internal buffer, and when the data transfer enable signal is issued. Since the data is quickly loaded from the buffer to the arithmetic control unit, the parallelism of vector load processing can be increased.

以上の結果、本発明によれば、ベクトルロード命令、ベ
クトルストア命令を含む命令列の実行速度を向上するこ
とができる。
As a result of the above, according to the present invention, the execution speed of an instruction sequence including a vector load instruction and a vector store instruction can be improved.

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

第1図は本発明の一実施例の要部ブロック図、第2図は
本発明の実施例のタイムチャートおよび、 第3図は従来例のタイムチャートである。 図において、 1・・・実行指示制御部 11・・・命令レジスタ 12・・・命令スタック 13・・・解読器 14・・・アドレスチエツク回路 15・・・解読/競合チエツク回路 16・・・リソース状態管理回路 2・・・記憶制御部 21・・・制御回路 22・・・ストア命令スタック 23・・・データバッファ 3・・・記憶部 4・・・演算実行部 特許出願人 甲府日本電気株式会社
FIG. 1 is a block diagram of essential parts of an embodiment of the present invention, FIG. 2 is a time chart of the embodiment of the present invention, and FIG. 3 is a time chart of a conventional example. In the figure, 1...Execution instruction control unit 11...Instruction register 12...Instruction stack 13...Decoder 14...Address check circuit 15...Decoder/conflict check circuit 16...Resource State management circuit 2...Storage control unit 21...Control circuit 22...Store instruction stack 23...Data buffer 3...Storage unit 4...Arithmetic execution unit Patent applicant: Kofu NEC Co., Ltd.

Claims (1)

【特許請求の範囲】[Claims] データを記憶する記憶部、ベクトル演算を行う演算実行
部、前記記憶部と前記演算実行部間のデータ転送を制御
する記憶制御部、実行すべき命令を一時記憶する命令ス
タックを有し命令の解読、前記演算実行部のリソース管
理等を行い前記記憶制御部および前記演算実行部に制御
情報を送出する実行指示制御部を含む情報処理装置にお
いて、前記実行指示制御部は、命令レジスタに格納され
た命令を前記命令スタックに格納すると共に該命令を解
読し、ベクトルストア命令であるときはストアリクエス
トと処理待機要求とを前記記憶制御部に送出し、ベクト
ルロード命令であるときは競合するベクトルストア命令
が前記命令スタックに格納されていないことにより前記
記憶制御部へロードリクエストを送出する第1の制御手
段と、前記命令スタックの先頭命令を解読し、ベクトル
ストア命令であるときは前記演算実行部で該ストアにか
かるリソースの競合が発生しないタイミングで前記記憶
制御部に対し処理開始可信号を送出し、ベクトルロード
命令であるときは前記演算実行部で該ロードにかかるリ
ソースの競合が発生しないタイミングで前記記憶制御部
に対しデータ転送可信号を送出する第2の制御手段とを
有し、前記記憶制御部は、前記記憶部からのデータを一
時格納するバッファを有し、前記ストアリクエストと処
理待機要求とに応答して該ストアリクエストにかかる処
理の実行準備を行うと共に前記処理開始可信号に応答し
て該実行準備したストアリクエストにかかる前記演算実
行部から前記記憶部へのデータの転送を行い、前記ロー
ドリクエストに応答して前記記憶部から前記バッファに
データを読み込むと共に前記データ転送可信号に応答し
て前記バッファからデータを読み出して前記演算実行部
に送出する構成を有することを特徴とする情報処理装置
A storage unit that stores data, an operation execution unit that performs vector operations, a storage control unit that controls data transfer between the storage unit and the operation execution unit, and an instruction stack that temporarily stores instructions to be executed, and decodes instructions. , an information processing device including an execution instruction control section that manages resources of the operation execution section and sends control information to the storage control section and the operation execution section, the execution instruction control section is configured to control the execution instructions stored in the instruction register. Stores an instruction in the instruction stack and decodes the instruction; if it is a vector store instruction, sends a store request and a processing wait request to the storage control unit; and if it is a vector load instruction, sends a conflicting vector store instruction a first control means that sends a load request to the storage control unit when the instruction is not stored in the instruction stack; A processing start signal is sent to the storage control unit at a timing when no resource conflict occurs regarding the store, and when the instruction is a vector load instruction, a processing start signal is sent to the storage control unit at a timing when no resource conflict related to the load occurs in the arithmetic execution unit. a second control means for sending a data transfer enable signal to the storage control unit; the storage control unit has a buffer for temporarily storing data from the storage unit; In response to the request, preparations are made to execute the process related to the store request, and in response to the process start enable signal, data is transferred from the arithmetic execution unit to the storage unit related to the store request prepared for execution. , characterized in that it has a configuration that reads data from the storage unit into the buffer in response to the load request, and reads data from the buffer in response to the data transfer enable signal and sends it to the arithmetic execution unit. Information processing device.
JP1843589A 1989-01-27 1989-01-27 Information processor Pending JPH02197961A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1843589A JPH02197961A (en) 1989-01-27 1989-01-27 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1843589A JPH02197961A (en) 1989-01-27 1989-01-27 Information processor

Publications (1)

Publication Number Publication Date
JPH02197961A true JPH02197961A (en) 1990-08-06

Family

ID=11971569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1843589A Pending JPH02197961A (en) 1989-01-27 1989-01-27 Information processor

Country Status (1)

Country Link
JP (1) JPH02197961A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0445802A2 (en) * 1990-03-08 1991-09-11 Nec Corporation Information processing apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59158441A (en) * 1983-03-01 1984-09-07 Nec Corp Pipeline control system
JPS60175146A (en) * 1984-02-20 1985-09-09 Hitachi Ltd Programmable controller
JPS63223829A (en) * 1987-03-12 1988-09-19 Nec Corp Information processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59158441A (en) * 1983-03-01 1984-09-07 Nec Corp Pipeline control system
JPS60175146A (en) * 1984-02-20 1985-09-09 Hitachi Ltd Programmable controller
JPS63223829A (en) * 1987-03-12 1988-09-19 Nec Corp Information processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0445802A2 (en) * 1990-03-08 1991-09-11 Nec Corporation Information processing apparatus

Similar Documents

Publication Publication Date Title
KR100335785B1 (en) Execution of data processing instructions
JPH01109466A (en) System for controlling parallel operation of coprocessor
JP2531760B2 (en) Vector processor
JPH02197961A (en) Information processor
CA2157435C (en) Vector data bypass mechanism for vector computer
JP2814683B2 (en) Instruction processing unit
JP2883488B2 (en) Instruction processing unit
JP2806690B2 (en) Microprocessor
JP2731740B2 (en) Parallel computer with communication register
JP3341847B2 (en) Data processing device
JPH01106158A (en) Control system for inter-processor data communication
JP2506591B2 (en) Auxiliary processor
JP2549410B2 (en) Main memory reference order control method
US20070288675A1 (en) Bus system, bus slave and bus control method
JPH02301830A (en) Information processing system
JPH0321941B2 (en)
JPS61194566A (en) Vector data reference control system
JPH05341995A (en) Instruction control method in processor and processor
JP2001022581A (en) Data processor and computer readable storage medium
JPH0449463A (en) Data transfer system
JPS6341106B2 (en)
JPS63257856A (en) Serial communication system
JPS6263362A (en) Multi-processor system
JPH06274527A (en) Vector processor
JPS6146545A (en) Input and output instruction control system