JPH01224870A - Main memory access instruction execution control system for information processor - Google Patents

Main memory access instruction execution control system for information processor

Info

Publication number
JPH01224870A
JPH01224870A JP63050757A JP5075788A JPH01224870A JP H01224870 A JPH01224870 A JP H01224870A JP 63050757 A JP63050757 A JP 63050757A JP 5075788 A JP5075788 A JP 5075788A JP H01224870 A JPH01224870 A JP H01224870A
Authority
JP
Japan
Prior art keywords
instruction
main memory
register
effective address
scalar
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
JP63050757A
Other languages
Japanese (ja)
Inventor
Takeshi Nishikawa
西川 岳
Norio Hiuga
日向 教雄
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 Corp
NEC Computertechno Ltd
Original Assignee
NEC Corp
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 Corp, NEC Computertechno Ltd filed Critical NEC Corp
Priority to JP63050757A priority Critical patent/JPH01224870A/en
Publication of JPH01224870A publication Critical patent/JPH01224870A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To make a processing faster by canceling the queuing of a succeeding main memory access instruction without waiting for the completion of a preceding effective address storing instruction and starting the effective control of the main memory access instruction from a stage in which a value stored in an output register is sent to a main memory control part when the executing sequence of the instruction is detected with a detecting part. CONSTITUTION:By outputting a detecting signal from a detecting part 7, the queuing condition is forcibly canceled, and the execution control is started from the stage in which a value stored in the output register, that is, the effective address obtained by the effective address storing instruction is sent to a main memory control part 2. As this result, the title system can make the main memory access processing faster than a system in which the execution control of the succeeding main memory access instruction is started from the stage in which the contents of a scalar register 4 are taken out through an effective address adder 9 to the output register, after the updating of the scalar register 4 due to the effective address storing instruction.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置における主記憶アクセス命令実行
制御方式に関し、特に先行する命令で主記憶上の実効ア
ドレスを求め、この求めた実効アドレスを使用して後続
の命令が主記憶をアクセスするような主記憶アクセス時
の命令実行制扉方式〔従来の技術〕 ベクトルデータを扱うベクトル処理装置などの情報処理
装置においては、主記憶上のアドレスを先行する命令で
求め、後続の命令がそのアドレスを使用して主記憶をア
クセスするような動作が行なわれる。例えば、下記のよ
うな二つの命令を使用して主記憶上のベクトルデータを
ベクトルレジスタにロードするベクトルロードの場合が
そうである。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a main memory access instruction execution control method in an information processing device, and in particular, calculates an effective address on the main memory with a preceding instruction, and uses the obtained effective address. [Prior art] In an information processing device such as a vector processing device that handles vector data, an address on the main memory is An operation is performed in which the address is determined by a preceding instruction and the subsequent instruction uses that address to access the main memory. For example, this is the case with a vector load in which vector data in main memory is loaded into a vector register using the following two instructions.

LEA  SIO←SO+S1+100   ・・・(
1)VLD  VRO←M (310,320)  ・
f21ここで、命令(1)は、ペースレジスタSOの内
容とインデックスレジスタS1の内容と命令の特定フィ
ールドに記述された変位100とを加算し結果をペース
レジスタS10に格納する実効アドレス格納命令(以下
LEA命令と称す)、命令(2)はLEA命令(1)で
求まったペースレジスタ310の内容を主記憶上の格納
開始アドレスであるベースアドレスとし、スカラレジス
タ320の内容をベクトルデータの要素間の距離として
主記憶から目的のベクトルデータをベクトルレジスタV
ROにロードするベクトルロード命令(以下VLD命令
と称す)である。
LEA SIO←SO+S1+100...(
1) VLD VRO←M (310,320) ・
f21 Here, the instruction (1) is an effective address storage instruction (hereinafter referred to as "effective address storage instruction") that adds the contents of the pace register SO, the contents of the index register S1, and the displacement 100 described in the specific field of the instruction, and stores the result in the pace register S10. (referred to as the LEA instruction), instruction (2) uses the contents of the pace register 310 determined by the LEA instruction (1) as the base address, which is the storage start address on the main memory, and uses the contents of the scalar register 320 as the base address between the elements of vector data. The target vector data is stored as a distance from the main memory in the vector register V.
This is a vector load instruction (hereinafter referred to as a VLD instruction) to load into the RO.

このような命令列(11,(21の実行制御は、従来衣
のようにして行なわれていた。
Execution control of such instruction sequences (11, (21) has conventionally been performed in a similar manner.

先ず、LEA命令(1)を実行することにより、スカラ
レジスタ群中のペースレジスタSOの内容とインデック
スレジスタS1の内容とLEA命令(1,1で指示され
た変位100とを実効アドレス加算器に加えて加算動作
を行なわせ、その結果をスカラレジスタ群中のペースレ
ジスタSIOに格納する。
First, by executing the LEA instruction (1), the contents of the pace register SO in the scalar register group, the contents of the index register S1, and the displacement 100 specified by the LEA instruction (1, 1) are added to the effective address adder. performs an addition operation, and stores the result in the pace register SIO in the scalar register group.

一方、LEA命令(1)の起動後、直ちに次のVLD命
令(2)の解読が行なわれるが、VLD命令(2)は先
行する命令(11の結果を使用する命令であるため、V
LD命令(2)の起動は待ち合わされる。そして、ペー
スレジスタS10にベースアドレスが格納されると、V
LD命令(2)が起動され、先ずペースレジスタSIO
の内容が主記憶制御部に送出されてベクトルデータの最
初の要素の読出しが行なわれ、以後ペースレジスタS1
0の内容にスカラレジスタS20の要素間距離が前記ア
ドレス実効加算器で逐次加算されることにより得られた
各要素の実効アドレスが主記憶記憶部に送出される。
On the other hand, after the activation of LEA instruction (1), the next VLD instruction (2) is immediately decoded, but since VLD instruction (2) is an instruction that uses the result of the preceding instruction (11),
Activation of the LD instruction (2) is deferred. Then, when the base address is stored in the pace register S10, V
LD instruction (2) is activated, first the pace register SIO
The contents of S1 are sent to the main memory control unit, the first element of the vector data is read out, and thereafter the pace register S1
The effective address of each element obtained by sequentially adding the inter-element distance of the scalar register S20 to the contents of 0 by the address effective adder is sent to the main memory storage section.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述したように、従来においては、LEA命令(11の
実行結果がペースレジスタ310に格納されるまで次の
VLD命令(2)は待たされていたので、ベクトルロー
ドを高速に行なうことができない。
As described above, in the past, the next VLD instruction (2) had to wait until the execution result of the LEA instruction (11) was stored in the pace register 310, so vector loading could not be performed at high speed.

なお、先行命令の結果を後続命令が使用する場合、先行
命令の結果をスカラレジスタ群に格納すると同時にスカ
ラレジスタ群をバイパスさせて後続命令で使用させる所
謂バイパス制御を採用し、ベクトルロードの高速化を図
ることも行なわれているが、未だ満足するような速度は
得られていない。
In addition, when the result of the preceding instruction is used by the subsequent instruction, so-called bypass control is adopted in which the result of the preceding instruction is stored in the scalar register group, and at the same time the scalar register group is bypassed for use in the subsequent instruction, thereby speeding up vector loading. Efforts have been made to achieve this, but a satisfactory speed has not yet been achieved.

本発明の目的は、ベクトルロード時等の命令実行の如く
、先行する命令で主記憶上の実効アドレスを求めこの求
めた実効アドレスを使用して後続の命令が主記憶をアク
セスするような命令実行を高速に行なわせることにある
An object of the present invention is to execute an instruction in which the effective address on the main memory is determined by the preceding instruction and the subsequent instruction accesses the main memory using the obtained effective address, such as when executing an instruction such as a vector load. The purpose is to make the process happen at high speed.

〔問題点を解決するための手段〕[Means for solving problems]

本発明は上記目的を達成するために、 命令およびデータを記憶する主記憶と、該主記憶へのア
クセスを制御する主記憶制御部と、スカラレジスタ群と
、該スカラレジスタ群中のスカラレジスタの内容と命令
中の特定フィールドに示される値とを入力とする実効ア
ドレス加算器と、該実効アドレス加算器の出力を保持す
る出力レジスタと、該出力レジスタの内容を前記主記憶
制御部に供給する主記憶送出ラインと、前記出力レジス
タの内容を前記スカラレジスタ群に供給する書込みライ
ンとを含む情報処理装置において、先行する命令が前記
実効アドレス加算器を用いて実効アドレスを求め、該求
めた実効アドレスを命令で指定した前記スカラレジスタ
群中のスカラレジスタへ格納する実効アドレス格納命令
であり、且つ、その後続の命令が前記スカラレジスタへ
格納する実効アドレスを前記主記憶制御部へ送出して主
記憶のアクセスを行なう主記憶アクセス命令であること
を検出する検出部を有し、 該検出部からの検出信号に応答して、前記主記憶アクセ
ス命令の前記実効アドレス格納命令によるスカラレジス
タ更新待ち状態を強制的に解除し、且つ、前記主記憶ア
クセス命令の実行制御を、前記出力レジスタに格納され
た値を前記主記憶制御部に送出する段階から開始するよ
うにしたことを特徴とする情報処理装置における主記憶
アクセス命令実行制御方式。
In order to achieve the above object, the present invention includes a main memory that stores instructions and data, a main memory control unit that controls access to the main memory, a scalar register group, and a scalar register in the scalar register group. an effective address adder that receives the contents and a value indicated in a specific field in the instruction; an output register that holds the output of the effective address adder; and supplies the contents of the output register to the main memory control section. In an information processing device including a main memory send line and a write line that supplies the contents of the output register to the scalar register group, a preceding instruction calculates an effective address using the effective address adder, and This is an effective address storage instruction that stores an address in a scalar register in the scalar register group specified by the instruction, and the subsequent instruction sends the effective address to be stored in the scalar register to the main memory control unit and stores the effective address in the scalar register group. It has a detection unit that detects that it is a main memory access instruction that accesses memory, and in response to a detection signal from the detection unit, the main memory access instruction is placed in a scalar register update wait state by the effective address storage instruction. and the execution control of the main memory access instruction is started from the step of sending the value stored in the output register to the main memory control unit. Main memory access instruction execution control method in devices.

(作用〕 実効アドレス格納命令、この実効アドレス格納命令でス
カラレジスタに格納される実効アドレスを使用する主記
憶アクセス命令の順序で、命令が出現すると、そのこと
が検出部で検出される。先行する実効アドレス格納命令
の実行制御では、スカラレジスタ群から読出されたスカ
ラデータと実効アドレス格納命令の特定フィールドで指
定された値とが実効アドレス加算器で加算されて出力レ
ジスタに一度保持され、この出力レジスタから書込みラ
インを介してスカラレジスタ群中の命令で指定されたス
カラレジスタに格納される。他方、後続の主記憶アクセ
ス命令は先行する実効アドレス格納命令によるスカラレ
ジスタ更新待ち状態とされるが、上記検出部から検出信
号が出されることにより、その待ち状態が強制的に解除
され、出力レジスタに格納された値すなわち先行する実
効アドレス格納命令で求められた実効アドレスを、主記
憶制御部に送出する段階から実行制御が開始される。こ
の結果、実効アドレス格納命令によるスカラレジスタの
更新を待って後続の主記憶アクセス命令の実行制御を、
スカラレジスタの内容を実効アドレス加算器を経由して
出力レジスタに取出す段階から開始させた従来方式に比
べ、主記憶アクセス処理を高速化することができる。
(Operation) When an instruction appears in the order of an effective address storage instruction and a main memory access instruction that uses the effective address stored in a scalar register by this effective address storage instruction, this fact is detected by the detection unit. In the execution control of the effective address storage instruction, the scalar data read from the scalar register group and the value specified in the specific field of the effective address storage instruction are added by the effective address adder and held once in the output register. The data is stored in the scalar register specified by the instruction in the scalar register group via the write line from the register.On the other hand, the subsequent main memory access instruction waits for the scalar register to be updated by the preceding effective address storage instruction. When a detection signal is issued from the detection section, the wait state is forcibly canceled, and the value stored in the output register, that is, the effective address obtained by the preceding effective address storage instruction, is sent to the main memory control section. Execution control is started from the step of .As a result, execution control of the subsequent main memory access instruction is started after the scalar register is updated by the effective address storage instruction.
Compared to the conventional method, which starts from the step of fetching the contents of a scalar register to an output register via an effective address adder, main memory access processing can be sped up.

〔実施例〕〔Example〕

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

第1図は本発明を適用した情報処理装置の一例を示すブ
ロック図である。
FIG. 1 is a block diagram showing an example of an information processing apparatus to which the present invention is applied.

同図において、主記憶1は、命令や演算に必要なデータ
或いは演算結果を格納する記憶部である。
In the figure, a main memory 1 is a storage section that stores data necessary for instructions and operations, or operation results.

主記憶1iIJ御部2は主記憶1に接続され、制御部8
或いはレジスタ12から与えられるアドレスに従って主
記憶lより命令、データを読出し、或いは主記憶lヘデ
ータをストアする際の制御を行なう。
The main memory 1iIJ control unit 2 is connected to the main memory 1, and the control unit 8
Alternatively, it performs control when reading instructions and data from the main memory 1 or storing data in the main memory 1 according to an address given from the register 12.

ベクトルレジスタ群3は、ベクトル演算に必要なデータ
や演算の途中結果を格納するレジスタ群であり、主記憶
制御部2および図示しないベクトル演算器等に接続され
る。
The vector register group 3 is a register group that stores data necessary for vector calculations and intermediate results of the calculations, and is connected to the main memory control unit 2 and a vector calculation unit (not shown).

命令レジスタ5には、主記憶1からフェッチされた命令
が主記憶制御部2を経由して格納される。
Instructions fetched from the main memory 1 are stored in the instruction register 5 via the main memory control unit 2.

本来、命令レジスタ5と主記憶lとの間には命令キャッ
シュや命令バッファを設け、主記憶1とのアクセスギヤ
ツブを吸収させるのが一般的であるが、本実施例では説
明の簡略化の為に省略している。命令デコーダ6は、命
令レジスタ5に保持された命令を解読し、解読結果を検
出部7および制御部8に送出する。
Originally, it is common to provide an instruction cache or an instruction buffer between the instruction register 5 and the main memory 1 to absorb the access gear to the main memory 1, but in this embodiment, the explanation is simplified. It is omitted for this reason. The instruction decoder 6 decodes the instructions held in the instruction register 5 and sends the decoding results to the detection section 7 and the control section 8.

検出部7は、命令デコーダ6からの解読結果に基づき、
先行する命令が実効アドレスを求めてスカラレジスタへ
格納する命令であり、そのa続の命令がそのスカラレジ
スタに格納された実効アドレスを使用する命令であるか
否かを検出し、そのような命令シーケンスを検出すると
、その旨を制御部8に通知する。検出部7は、例えば第
2図に示すように、命令デコーダ6の解読結果が格納さ
れる第1段目レジスタRGIと、次のタイミングで第1
段目レジスタRGIの内容が格納される第2段目レジス
タRG2と、第1段目のレジスタRG1の内容がLEA
命令(11の如く実効アドレスを求めてスカラレジスタ
へ格納する命令であり、且つ2段目のレジスタRG2の
内容がVLD命令(2)の如く先行する命令で求まった
実効アドレスを使用する命令であるとき、検出信号を出
力するデコーダDCDとで構成することができる。
Based on the decoding result from the instruction decoder 6, the detection unit 7
The preceding instruction is an instruction to obtain an effective address and store it in a scalar register, and the following instruction is an instruction that uses the effective address stored in that scalar register. When a sequence is detected, the controller 8 is notified of this fact. For example, as shown in FIG.
The contents of the second stage register RG2 are stored, and the contents of the first stage register RG1 are stored as LEA.
Instruction (This is an instruction to find an effective address and store it in a scalar register as shown in 11, and the content of the second stage register RG2 is an instruction that uses the effective address found in the preceding instruction as in VLD instruction (2). In this case, the decoder DCD outputs a detection signal.

制御部8は、スカラレジスタ群4.実効アドレス加算器
9.各種レジスタ、パス(ライン)等の各種資源の管理
を行ない、各資源の状態および命令デコーダ6および検
出部7からの情報に従って命令の起動、各機能部の制御
を行なう。
The control unit 8 includes a scalar register group 4. Effective address adder9. It manages various resources such as various registers and paths (lines), and activates instructions and controls each functional unit according to the status of each resource and information from the instruction decoder 6 and detection unit 7.

スカラレジスタ群4は、スカラ演算に必要なデータや演
算の途中結果を格納するレジスタ群であリ、その中には
アドレス計算に必要なベクトルレジスタSO,インデッ
クスレジスタ31等が含まれる0本実施例の場合、スカ
ラレジスタ群4中の2個のスカラレジスタの内容を同時
に読出すことができ、その一方の内容は選択器20aを
介してレジスタIlaに格納され、他方の内容は選択器
20bを介してレジスタllbに格納される。スカラレ
ジスタ群4には、それをバイパスするバイパスライン2
1があり、バイパスライン21を選択するかスカラレジ
スタ群4の出力を選択するかは制御部8からの図示しな
い制御信号で動作する選択器20a、20bで決定して
いる。レジスタ14a、14b、14cは、命令レジス
タ5に保持された命令の特定フィールドの値を逐次伝達
するレジスタ群であり、最終のレジスタ14cの出力は
ゲート16に加えられる。また、レジスタ11a、ll
bの出力はゲート17.18に加えられ、このゲート1
7.18及び前記ゲート16は、制御部8からの制御信
号に応じて開閉し、各出力は実効アドレス加算器9に入
力される。
The scalar register group 4 is a register group that stores data necessary for scalar operations and intermediate results of operations, and includes vector registers SO, index registers 31, etc. necessary for address calculation. In this case, the contents of two scalar registers in the scalar register group 4 can be read simultaneously, the contents of one being stored in the register Ila via the selector 20a, and the contents of the other being stored in the register Ila via the selector 20b. and stored in register llb. The scalar register group 4 has a bypass line 2 that bypasses it.
1, and whether to select the bypass line 21 or the output of the scalar register group 4 is determined by selectors 20a and 20b operated by a control signal (not shown) from the control section 8. Registers 14a, 14b, and 14c are a group of registers that sequentially transmit the value of a specific field of the instruction held in instruction register 5, and the output of the final register 14c is applied to gate 16. Also, registers 11a, ll
The output of b is applied to gate 17.18, which gate 1
7.18 and the gate 16 are opened and closed according to control signals from the control section 8, and each output is input to the effective address adder 9.

実効アドレス加算器9は、制御部8から起動されること
により、ゲー)16,17.18の各出力を加算する動
作を行なう。制御部8は、ゲート16.17.18の開
閉状態を制御することにより、実効アドレス加算器9に
おいて、二つのスカラレジスタの内容の加算や、更に命
令フィールドの値を加えた三つの値の加算を行なわせる
ことができ、また一つのスカラレジスタの内容そのもの
を加算結果として出力させることもできる。
The effective address adder 9 is activated by the control section 8 to perform an operation of adding the respective outputs of the gates 16, 17, and 18. The control unit 8 controls the opening/closing states of the gates 16, 17, and 18 so that the effective address adder 9 can add the contents of two scalar registers or add three values including the value of the instruction field. It is also possible to output the contents of one scalar register as the addition result.

レジスタ12は実効アドレス加算器9の出力を保持する
レジスタであり、その出力は主記憶送出ライン22を介
して主記憶制御部2に伝達されると共にレジスタ13に
供給される。レジスタ13は、レジスタ12の内容を書
込みライン23に送出する中継用のレジスタである。こ
のレジスタ13を省略し、レジスタ12の出力を書込み
ライン23にも出力するように構成しても良い。
The register 12 is a register that holds the output of the effective address adder 9, and the output is transmitted to the main memory control unit 2 via the main memory sending line 22 and is also supplied to the register 13. Register 13 is a relay register that sends the contents of register 12 to write line 23 . The register 13 may be omitted and the output of the register 12 may be output to the write line 23 as well.

書込みライン23に送出されたレジスタ12の内容は図
示を省略した他のデータをも入力する選択器19に加え
られ、ここで選択されたデータが書込みレジスタ10に
格納される。この書込みレジスタ10の出力はスカラレ
ジスタ群4に伝達されると共にバイパスライン21を経
由して選択器20a、20bに伝達される。
The contents of the register 12 sent to the write line 23 are applied to a selector 19 which also inputs other data (not shown), and the data selected here is stored in the write register 10. The output of the write register 10 is transmitted to the scalar register group 4 and also transmitted via the bypass line 21 to the selectors 20a and 20b.

前述した制御部8は、第3図に示すように実行起動制御
部30と実行中命令管理部31を含む。
The aforementioned control section 8 includes an execution start control section 30 and an executing command management section 31, as shown in FIG.

命令は第1図の命令デコーダ6で解読され、実行起動制
御部30へ送られる。実行起動制御部30では、解読さ
れた命令の実行に必要なデータ等が準備されているか否
かを実行中命令管理部31中の管理情報等に基づいて判
定し、準備されている命令については起動信号を出力し
て該命令を起動すると共に、その命令の実行結果を格納
するために必要な管理情報(例えば実行時間、実行結果
格納レジスタ番号等)を実行中命令管理部31に送出す
る。実行中命令管理部31は、実行起動制御部30から
渡された管理情報に従って命令の実行状態を管理し、実
行が完了した命令の実行結果格納に必要な情報あるいは
制御信号を第1図のスカラレジスタ群4等の各構成要素
に対して送出する。
The instruction is decoded by the instruction decoder 6 shown in FIG. 1 and sent to the execution start control section 30. The execution start control unit 30 determines whether or not the data necessary for executing the decoded instruction is prepared based on the management information etc. in the executing instruction management unit 31, and determines whether the data etc. necessary for executing the decoded instruction are prepared. It outputs a start signal to start the instruction, and also sends management information (for example, execution time, execution result storage register number, etc.) necessary for storing the execution result of the instruction to the executing instruction management section 31. The executing instruction management unit 31 manages the execution state of the instruction according to the management information passed from the execution start control unit 30, and stores the information or control signal necessary for storing the execution result of the executed instruction as a scalar shown in FIG. It is sent to each component such as register group 4.

一方、実行に必要なデータが先行命令の実行結果待ちで
準備されていない等の要因で起動できない命令について
は、実行起動制御部30は、その命令の実行を待ち状態
とする。そして、その待ち要因がなくなることにより、
その命令の起動を行なう。このとき、従来は、実行中命
令管理部31で管理される先行命令の実行状態のみに基
づいて待ち状態を解除していたが、本実施例では、実行
起動制御部30に第1図の検出部7の出力を加え、検出
部7の検出結果をも待ち状態の解除の判断に使用させて
いる。
On the other hand, for an instruction that cannot be activated due to factors such as data necessary for execution not being prepared while waiting for the execution result of a preceding instruction, the execution activation control unit 30 puts the execution of the instruction in a waiting state. And by eliminating that waiting factor,
The command is activated. At this time, conventionally, the waiting state was canceled based only on the execution state of the preceding instruction managed by the executing instruction management section 31, but in this embodiment, the execution start control section 30 uses the detection shown in FIG. In addition to the output of the section 7, the detection result of the detection section 7 is also used to determine whether to release the waiting state.

次に、従来技術の説明で用いた下記の命令列を例として
本実施例の動作を説明する。
Next, the operation of this embodiment will be described using as an example the following instruction sequence used in the description of the prior art.

LEA  SIO←SO+S1+100  ・・・(1
)VLD  VRO←M (510,520)  −+
21先ず、主記憶1よりフェッチされたLEA命令fi
+が命令レジスタ5に格納されると、命令デコーダ6で
解読され、解読情報が検出部7および制御部8に伝達さ
れ、LEA命令(1)の特定フィールドの値100がレ
ジスタ14aにセントされる。このとき検出部7は先行
する命令がLEA命令(1)であることをレジスタRG
Iに記憶する。
LEA SIO←SO+S1+100...(1
)VLD VRO←M (510,520) −+
21 First, the LEA instruction fi fetched from main memory 1
When + is stored in the instruction register 5, it is decoded by the instruction decoder 6, the decoding information is transmitted to the detection unit 7 and the control unit 8, and the value 100 of the specific field of the LEA instruction (1) is sent to the register 14a. . At this time, the detection unit 7 detects that the preceding instruction is the LEA instruction (1) using the register RG.
Store it in I.

制御部8の実行起動制御部30は、命令デコーダ6の解
読情報に応答して、LEA命令(11を起動し、実行中
命令管理部31はその実行状態の管理を行なう、これに
よって、次のような命令実行制御が行なわれる。まず、
スカラレジスタ群4中のベースレジスタSOの内容とイ
ンデックスレジスタS1の内容とが選択器20a、20
bを介してレジスタlla、llbに格納され、ゲート
16゜17.18が全て開かれることによりベースレジ
スタSO,インデックスレジスタS1の各内容およびレ
ジスタ14a〜14cを経由してタイミング調整された
LEA命令<I+の特定フィールドの値100とが実効
アドレス加算器9に加えられ、実効アドレス加算器9に
おいて加算動作が行なわれる。そして、実効アドレス加
算器9の出力が有効となるタイミングで加算結果(これ
は後続のVLD命令(2)で使用するベースアドレスで
ある)がレジスタ12に格納され、次のタイミングでレ
ジスタ13に格納され、更に次のタイミングで書込みラ
イン23を介してレジスタ10に転送され、そしてスカ
ラレジスタ群4のLEA命令11)で指定されたペース
レジスタSIOに格納される。
The execution activation control unit 30 of the control unit 8 activates the LEA instruction (11) in response to the decoding information from the instruction decoder 6, and the executing instruction management unit 31 manages its execution state. Instruction execution control is performed as follows.First,
The contents of the base register SO and the contents of the index register S1 in the scalar register group 4 are determined by the selectors 20a and 20.
The timing-adjusted LEA instruction < The value 100 of the specific field of I+ is added to the effective address adder 9, and an addition operation is performed in the effective address adder 9. Then, at the timing when the output of the effective address adder 9 becomes valid, the addition result (this is the base address used in the subsequent VLD instruction (2)) is stored in the register 12, and at the next timing, it is stored in the register 13. Then, at the next timing, it is transferred to the register 10 via the write line 23 and stored in the pace register SIO designated by the LEA instruction 11) of the scalar register group 4.

他方、LEA命令(1)の解読に続いて、命令レジスタ
5に次に格納されたVLD命令(2)が命令デコーダ6
によって解読され、解読情報が検出部7および制御部8
に伝達される。このとき検出部7は、VLD命令(2)
の解読情報をレジスタRGIに記憶し、レジスタRGI
に格納していたLEA命令fi+の解読情報をレジスタ
RG2に移送する。制御部8の実行起動制御部30は、
LEA命令+11の起動後、その後続命令であるVLD
命令(2)の起動が可能か否かを判断するが、VLD命
令(2)はLEA命令tl+の実行結果を使用する命令
であり、未だLEA命令+11の実行が完了していない
ので、そのVLD命令(2)の実行を待ち合わせる。し
かし、このとき検出部7のデコーダDCDはLEA命令
(11に続いてVLD命令(2)が命令シーケンス上出
現したことを検出し、実行起動M御部3oに対し検出信
号を加えるため、実行起動制御部30は先行するLEA
命令(11の実行完了を待たずにVLD命令(2)の待
ち状態を強制的に解除し、VLD命令(2)の実行を、
レジスタ12の値を主記憶制御部2に送出する段階から
開始すL0レジスタ12にはLEA命令(11の実行に
よって求められたベースアドレスが保持されたままにな
っているので、このベースアドレスを主記憶制御部2に
送出する段階からVLD命令(2)の実行を行なうこと
により、正しいベースアドレスを使用した主記憶アクセ
スの実行を高速に行なうことが可能となる。なお、VL
D命令(2)の実行をレジスタ12の内容を主記憶制御
部2に送出する段階から開始させるのは、一つは時間を
短縮させる為であるが、もう一つの理由は、若しVLD
命令(2)の最初の段階つまりスカラレジスタ群4中の
ペースレジスタSIOの内容を実効アドレス加算器9を
介してレジスタ12に転送する段階から開始させると、
先行するLEA命令(1)で求まったベースアドレスが
未だペースレジスタS10に格納されていない段階でそ
のペースレジスタ310の古い内容をレジスタ12に転
送してしまい、レジスタ12が保持している正しいベー
スアドレスを破壊することになるため、それを防止する
ためである。
On the other hand, following the decoding of the LEA instruction (1), the VLD instruction (2) stored next in the instruction register 5 is decoded by the instruction decoder 6.
The decoding information is sent to the detection unit 7 and the control unit 8.
transmitted to. At this time, the detection unit 7 receives the VLD command (2).
The decoding information of is stored in register RGI, and register RGI
The decoding information of the LEA instruction fi+ stored in is transferred to the register RG2. The execution start control unit 30 of the control unit 8 is
After starting the LEA instruction +11, its subsequent instruction VLD
It is determined whether or not instruction (2) can be started. However, since VLD instruction (2) is an instruction that uses the execution result of LEA instruction tl+, and the execution of LEA instruction +11 has not yet been completed, that VLD Wait for execution of instruction (2). However, at this time, the decoder DCD of the detection unit 7 detects that the VLD instruction (2) appears in the instruction sequence following the LEA instruction (11), and adds a detection signal to the execution start M control unit 3o. The control unit 30 controls the preceding LEA
Forcibly release the wait state of VLD instruction (2) without waiting for the completion of execution of instruction (11), and execute VLD instruction (2).
The base address obtained by executing the LEA instruction (11) is still held in the L0 register 12 starting from the step of sending the value of the register 12 to the main memory control unit 2. By executing the VLD instruction (2) from the stage of sending it to the storage control unit 2, it becomes possible to execute main memory access using the correct base address at high speed.
One reason for starting the execution of the D instruction (2) from the stage of sending the contents of the register 12 to the main memory control unit 2 is to shorten the time, but another reason is that if the VLD
Starting from the first step of instruction (2), that is, the step of transferring the contents of pace register SIO in scalar register group 4 to register 12 via effective address adder 9,
The old contents of the pace register 310 are transferred to the register 12 when the base address obtained by the preceding LEA instruction (1) is not yet stored in the pace register S10, and the correct base address held by the register 12 is lost. This is to prevent this from happening, as it would lead to destruction.

第4図および第5図はLEA命令(1)、VLD命令(
2)の命令列実行時のタイムチナートであり、第4図が
本実施例による場合、第5図が従来例による場合である
。第4図に示すように、本実施例の場合は、LEA命令
+11が起動された直後のタイミングサイクルTIで、
ペースレジスタso、インデックスレジスタ31の内容
がレジスタ11a。
Figures 4 and 5 show the LEA instruction (1) and the VLD instruction (
FIG. 4 shows the timing chart when executing the instruction sequence of 2), and FIG. 5 shows the case according to the present embodiment, and FIG. 5 shows the case according to the conventional example. As shown in FIG. 4, in the case of this embodiment, in the timing cycle TI immediately after the LEA instruction +11 is activated,
The contents of pace register so and index register 31 are register 11a.

11bに格納され、次のタイミングサイクルT2で実効
アドレス加算器9において、SO+31+100の加算
が行なわれ、次のタイミングサイクルT3で実効アドレ
ス加算器9の加算結果がレジスタ12に格納される。前
述したように、後続のVLD命令(2)の実効はレジス
タ12の値を主記憶制御部2に送出する段階から開始さ
れるので、次のタイミングサイクルT4では、早くもV
LD命令(2)の実行による主記憶制御部2へのペース
アドレスの送出が行なわれる。なお、レジスタ12に格
納されたベースアドレスはVLD命令(2)と並行して
実行されるLEA命令(1)の実行によって、タイミン
グサイクルT4でレジスタ13にセットされ、次のタイ
ミングサイクルT5でレジスタ10にセントされ、次の
タイミングサイクルT6でベースレジスタSIOに格納
される。
11b, the addition of SO+31+100 is performed in the effective address adder 9 in the next timing cycle T2, and the addition result of the effective address adder 9 is stored in the register 12 in the next timing cycle T3. As mentioned above, the execution of the subsequent VLD instruction (2) starts from the stage of sending the value of the register 12 to the main memory control unit 2, so as early as the next timing cycle T4, the VLD instruction (2) is executed.
The pace address is sent to the main memory control unit 2 by executing the LD instruction (2). Note that the base address stored in the register 12 is set in the register 13 in timing cycle T4 by executing the LEA instruction (1) that is executed in parallel with the VLD instruction (2), and is set in the register 13 in the next timing cycle T5. and stored in the base register SIO in the next timing cycle T6.

これに対し従来の方式では、第5図に示すように、LE
A命令+11の実行により、タイミングサイクルT3で
レジスタ12にセットされたベースアドレスを次のタイ
ミングサイクルT4でレジスタ13に移送し、次のタイ
ミングサイクルT5でレジスタ10に移送し、次のタイ
ミングサイクルT6でペースレジスタ310に格納する
一方、VLD命令(2)の実行制御により、出力レジス
タ中のベースアドレスをバイパスライン21を介してレ
ジスタllaに格納し、次のタイミングサイクルT7で
実効アドレス加算器9を華に通過させ、次のタイミング
サイクルT8でレジスタ12に取出し、このレジスタ1
2に取出されたベースアドレスを主記憶制御部2に送出
しており、ベースアドレスを送出し始めるまで8Tのタ
イミングサイクルを要する。
On the other hand, in the conventional method, as shown in FIG.
By executing the A instruction +11, the base address set in register 12 in timing cycle T3 is transferred to register 13 in the next timing cycle T4, transferred to register 10 in the next timing cycle T5, and transferred in the next timing cycle T6. While storing it in the pace register 310, the base address in the output register is stored in the register lla via the bypass line 21 under the execution control of the VLD instruction (2), and the effective address adder 9 is activated in the next timing cycle T7. is passed to register 12 in the next timing cycle T8, and this register 1
The base address retrieved in step 2 is sent to the main memory control unit 2, and it takes 8T timing cycles to start sending out the base address.

以上本発明の実施例について説明したが、本発明は以上
の実施例にのみ限定されずその他各種の付加変更が可能
である。例えば、本発明は先行する実効アドレス格納命
令によって後続のベクトルストア命令が使用するベース
アドレスを求める場合等にも適用可能である。
Although the embodiments of the present invention have been described above, the present invention is not limited to the above embodiments, and various other additions and changes are possible. For example, the present invention is applicable to cases where a preceding effective address store instruction determines a base address to be used by a subsequent vector store instruction.

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

以上説明したように、本発明は、実効アドレス格納命令
、この実効アドレス格納命令で計算されスカラレジスタ
に格納される実効アドレスを使用する上記jf7アクセ
ス命令の順で実行が行なわれる場合、後続の主記憶アク
セス命令の実行制御過程で実効アドレスを設定すべき出
力レジスタ(実施例においてはレジスタ12)に、先行
する実効アドレス格納命令の実行制御過程で既に正しい
実効アドレスが設定されていることを利用し、ヰ★出部
でそのような命令の実行順が検出されたとき、先行する
実効アドレス格納命令の完了を待たずに後続の主記憶ア
クセス命令の待ちを解除し、且つ、出力レジスタに格納
された値を主記憶制御部に送出する段階から主記憶アク
セス命令の実効制御を開始するようにしたので、ベクト
ルロード等の主記憶アクセス処理を高速化することがで
きる効果がある。
As explained above, in the present invention, when the effective address store instruction and the jf7 access instruction that uses the effective address calculated by the effective address store instruction and stored in the scalar register are executed in this order, the subsequent main This method takes advantage of the fact that the correct effective address has already been set in the output register (register 12 in the embodiment) in which the effective address is to be set in the execution control process of the memory access instruction in the execution control process of the preceding effective address storage instruction. , ★When the execution order of such instructions is detected in the output section, the waiting state of the subsequent main memory access instruction is released without waiting for the completion of the preceding effective address storage instruction, and the instruction is stored in the output register. Since the effective control of the main memory access command is started from the stage of sending the value obtained to the main memory control section, there is an effect that main memory access processing such as vector loading can be speeded up.

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

第1図は本発明を適用した情報処理装置の一例を示すブ
ロック図、 第2図は検出部7の構成例を示すブロック図、第3図は
制御部8の構成例を示す要部ブロック図、 第4図はLEA命令+11.VLD命令(2)実行時に
おける本発明の実施例のタイムチャートおよび、第5図
はLEA命令(11,VLD命令(2)実行時における
従来方式のタイムチャートである。 図において、 1・・・主記憶 2・・・主記憶制御部 3・・・ヘクトルレジスタ群 4・・・スカラレジスタ群 5・・・命令レジスタ 6・・・命令デコーダ 7・・・検出部 8・・・制御部 9・・・実効アドレス加算器 10、lla、llb、12.13.14a〜14c・
・・レジスタ 22・・・主記憶送出ライン 23・・・言込みライン 特許出願人 日本電気株式会社外1名
FIG. 1 is a block diagram showing an example of an information processing device to which the present invention is applied, FIG. 2 is a block diagram showing an example of the configuration of the detection section 7, and FIG. 3 is a block diagram of main parts showing an example of the configuration of the control section 8. , Figure 4 shows the LEA command +11. FIG. 5 is a time chart of the embodiment of the present invention when executing the VLD instruction (2), and FIG. 5 is a time chart of the conventional method when executing the LEA instruction (11, VLD instruction (2). In the figure, 1... Main memory 2 Main memory control unit 3 Hector register group 4 Scalar register group 5 Instruction register 6 Instruction decoder 7 Detection unit 8 Control unit 9・・Effective address adder 10, lla, llb, 12.13.14a to 14c・
・Register 22 ・Main memory output line 23 ・Comment line Patent applicant: 1 person other than NEC Corporation

Claims (1)

【特許請求の範囲】 命令およびデータを記憶する主記憶と、該主記憶へのア
クセスを制御する主記憶制御部と、スカラレジスタ群と
、該スカラレジスタ群中のスカラレジスタの内容と命令
中の特定フィールドに示される値とを入力とする実効ア
ドレス加算器と、該実効アドレス加算器の出力を保持す
る出力レジスタと、該出力レジスタの内容を前記主記憶
制御部に供給する主記憶送出ラインと、前記出力レジス
タの内容を前記スカラレジスタ群に供給する書込みライ
ンとを含む情報処理装置において、 先行する命令が前記実効アドレス加算器を用いて実効ア
ドレスを求め、該求めた実効アドレスを命令で指定した
前記スカラレジスタ群中のスカラレジスタへ格納する実
効アドレス格納命令であり、且つ、その後続の命令が前
記スカラレジスタへ格納する実効アドレスを前記主記憶
制御部へ送出して主記憶のアクセスを行なう主記憶アク
セス命令であることを検出する検出部を有し、 該検出部からの検出信号に応答して、前記主記憶アクセ
ス命令の前記実効アドレス格納命令によるスカラレジス
タ更新待ち状態を強制的に解除し、且つ、前記主記憶ア
クセス命令の実行制御を、前記出力レジスタに格納され
た値を前記主記憶制御部に送出する段階から開始するよ
うにしたことを特徴とする情報処理装置における主記憶
アクセス命令実行制御方式。
[Claims] A main memory that stores instructions and data, a main memory control unit that controls access to the main memory, a scalar register group, the contents of the scalar registers in the scalar register group, and the contents of the instructions. an effective address adder that inputs a value indicated in a specific field; an output register that holds the output of the effective address adder; and a main memory sending line that supplies the contents of the output register to the main memory control unit. , and a write line that supplies the contents of the output register to the scalar register group, wherein a preceding instruction determines an effective address using the effective address adder, and specifies the determined effective address in the instruction. This is an effective address storage instruction to store in a scalar register in the scalar register group, and a subsequent instruction sends the effective address to be stored in the scalar register to the main memory control unit to access the main memory. The main memory access instruction includes a detection unit that detects that the instruction is a main memory access instruction, and in response to a detection signal from the detection unit, the main memory access instruction is forcibly released from a scalar register update wait state due to the effective address storage instruction. Main memory access in an information processing device, characterized in that execution control of the main memory access instruction is started from a step of sending a value stored in the output register to the main memory control unit. Instruction execution control method.
JP63050757A 1988-03-04 1988-03-04 Main memory access instruction execution control system for information processor Pending JPH01224870A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63050757A JPH01224870A (en) 1988-03-04 1988-03-04 Main memory access instruction execution control system for information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63050757A JPH01224870A (en) 1988-03-04 1988-03-04 Main memory access instruction execution control system for information processor

Publications (1)

Publication Number Publication Date
JPH01224870A true JPH01224870A (en) 1989-09-07

Family

ID=12867712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63050757A Pending JPH01224870A (en) 1988-03-04 1988-03-04 Main memory access instruction execution control system for information processor

Country Status (1)

Country Link
JP (1) JPH01224870A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6082606A (en) * 1996-05-07 2000-07-04 L'air Liquide, Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude Method and machine for wave soldering or tinning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59177654A (en) * 1983-03-29 1984-10-08 Fujitsu Ltd Operation by-pass control system
JPS60204036A (en) * 1984-03-28 1985-10-15 Hitachi Ltd Data processing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59177654A (en) * 1983-03-29 1984-10-08 Fujitsu Ltd Operation by-pass control system
JPS60204036A (en) * 1984-03-28 1985-10-15 Hitachi Ltd Data processing device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6082606A (en) * 1996-05-07 2000-07-04 L'air Liquide, Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude Method and machine for wave soldering or tinning
US6223969B1 (en) 1996-05-07 2001-05-01 L'air Liquide, Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude Method and machine for wave soldering or tinning
US6427902B2 (en) 1996-05-07 2002-08-06 L'air Liquide Societe Anonyme A Directoire Et Conseil De Surveillance Pour L'etude Et L'exploitation Des Procedes Georges Claude Machine for wave soldering of tinning

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US6233670B1 (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing
JP3578883B2 (en) Data processing device
JPH01177127A (en) Information processor
JPS63317828A (en) Reading control system for microcode
US5276822A (en) System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
JPH01224870A (en) Main memory access instruction execution control system for information processor
JPH0512751B2 (en)
JPS6116335A (en) Information processor
JP3526773B2 (en) Multiprocessor device and control method thereof
JP2944563B2 (en) Pipeline type information processing device
JP3461887B2 (en) Variable length pipeline controller
JP2925842B2 (en) Pipeline processing equipment
JPS5844569A (en) Synchronous control system for instruction processing
JP2924735B2 (en) Pipeline operation device and decoder device
JPH0248733A (en) Information processor
JPH06139071A (en) Parallel computers
JPH07113891B2 (en) Pipeline processing equipment
JPS60105050A (en) Pipeline control system
JPH052485A (en) Pipeline control system
JP2825315B2 (en) Information processing device
JPH0472253B2 (en)
JPS5899869A (en) Parallel processing system
JPH0227429A (en) Pipeline control system
JPS5896346A (en) Hierarchical arithmetic system