JPS61133440A - Data processing unit - Google Patents

Data processing unit

Info

Publication number
JPS61133440A
JPS61133440A JP25360784A JP25360784A JPS61133440A JP S61133440 A JPS61133440 A JP S61133440A JP 25360784 A JP25360784 A JP 25360784A JP 25360784 A JP25360784 A JP 25360784A JP S61133440 A JPS61133440 A JP S61133440A
Authority
JP
Japan
Prior art keywords
register
address
instruction
effective address
effective
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
JP25360784A
Other languages
Japanese (ja)
Inventor
Yoshiharu Ono
大野 義治
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
Original Assignee
NEC Corp
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 filed Critical NEC Corp
Priority to JP25360784A priority Critical patent/JPS61133440A/en
Publication of JPS61133440A publication Critical patent/JPS61133440A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To prevent delay in start of address calculation due to wait for confirmation of a corresponding register by using an output of an effective address stack in place of an output of an index register so as to execute the address calculation. CONSTITUTION:When an effective address setting instruction is set to an instruction register 10, the effective address read from an effective address stack 15 is selected by a switch 35 and set to the 1st working register 37. The content of the said register is written in a work memory 32 and an index register 12. When it is detected that a succeeding instruction is address modification designation using the index register 12, a switch 18 is read from the effective address stack 15 and the effective address of the preceding effective address setting instruction is selected as a value after the execution of the said instruction in place of the output of the index address register 12. Then the preceding effective address setting instruction executes address calculation without awaiting the end of data write to the index register 12.

Description

【発明の詳細な説明】 (童業上の利用分e) 本発明はデータ処理装置に関し、特にアドレス計算時く
おける汎用レジスタの競合に伴う処理速度の低下を改善
する方式に関する。
DETAILED DESCRIPTION OF THE INVENTION (Applications for Child Work e) The present invention relates to a data processing device, and particularly to a method for improving a reduction in processing speed due to contention of general-purpose registers during address calculation.

(従来の技術)  ′ 一般にディジタル計算機で使用される命令では、該当命
令に使用されるオペランドのアドレスを、命令によって
指定されたインデックスレジスタを含む汎用レジスタの
ひとつの内容と、命令の内部の変位アドレスとの和を用
いて指定することができ、斯かる動作をインデックス修
飾と云う。勿論、汎用レジスタの内容は、上記アドレス
計算を行う命令に先行する命令の演算結果をすべて反映
するものである。
(Prior art) ′ Generally, in an instruction used in a digital computer, the address of the operand used in the instruction is determined by the contents of one of the general-purpose registers including the index register specified by the instruction, and the internal displacement address of the instruction. This operation is called index modification. Of course, the contents of the general-purpose register reflect all the calculation results of the instruction preceding the instruction that performs the address calculation.

特に、以前の命令の実行が完了する前に次の命・ 令ノ
アドレス計算を行うパイプライン処1i方式では、デー
タ処理装置において先行する命令による汎用レジスタの
更新状況を登録して管理して卦き、実行未完了の汎用レ
ジスタを用いてアドレス計算を実行する後続命令が出現
した場合には、該当する汎用レジスタへの書込みが完了
するまでアドレス計算を遅らせる必要があった。
In particular, in the pipeline processing 1i method in which the address of the next instruction is calculated before the execution of the previous instruction is completed, the update status of general-purpose registers by the preceding instruction in the data processing device is registered and managed. When a subsequent instruction appears that performs address calculation using a general-purpose register that has not yet been executed, it is necessary to delay the address calculation until writing to the corresponding general-purpose register is completed.

斯かる汎用レジスタの競合は命令処理速度を低下させる
要因となっていた。
Such general-purpose register contention has been a factor in reducing instruction processing speed.

いっぽう、配列データの処理においては汎用レジスタの
更新命令と、インデックス修飾とを組合せたコーディン
グ法が従来から広く採用されてき念。例えば、第2図に
示すようにFORTRANは機械語に展開される。機械
語命令FliAXO、1、XOは生成した実効アドレス
(1+X0)fcインデックスレジスタXOへ設定する
命令であり、実効アドレス(1+XO)はアドレス計算
時に決定できる。この値は、直後の乗算命令MULTo
、Xoのインデックス修飾で使用されている。従って、
従来の方式ではEAX。
On the other hand, when processing array data, a coding method that combines general-purpose register update instructions and index modification has been widely adopted. For example, as shown in FIG. 2, FORTRAN is developed into machine language. The machine language instruction FliAXO, 1, XO is an instruction to set the generated effective address (1+X0) to the fc index register XO, and the effective address (1+XO) can be determined at the time of address calculation. This value is the immediately following multiplication instruction MULTo.
, is used in the index modification of Xo. Therefore,
The conventional method is EAX.

命令の実行が完了するまでMULTo 、Xo命令のア
ドレス計算を待たせなければならなかった。
Address calculation for the MULTo and Xo instructions had to wait until the execution of the instructions was completed.

(発明が解決しようとする問題点) 従って、上に説明し念ようにアドレス計算にシける汎用
レジスタの競合くよシ命令処理速度が低下すると云う欠
点があった。
(Problems to be Solved by the Invention) Therefore, as explained above, there is a drawback that the instruction processing speed is reduced due to contention of general-purpose registers used for address calculation.

本発明の目的は、実効アドレススタックの出力をインデ
ックスレジスタの出力の代りに使用してアドレス計算す
ることくより上記欠点を除去し、先行する実効アドレス
を汎用レジスタへの設定命令と後続する命令とのアドレ
ス生成のための読出し時1cおける競合に起因するアド
レス計算の遅れを改善できるように構成したデータ処理
装置を提倶することにある。
An object of the present invention is to eliminate the above-mentioned drawbacks by using the output of the effective address stack instead of the output of the index register for address calculation, and to set the preceding effective address to a general-purpose register and the subsequent instruction. An object of the present invention is to provide a data processing device configured so as to be able to improve the delay in address calculation caused by contention during read 1c for address generation.

C問題点を解決するための手段) 本発明によるデータ処理装置は記憶装置、命令制御装置
、および命令実行装置から成るものであり、上記命令制
御装置は実効アドレス加算器と、実効アドレススタック
と、インデックスレジスタと、読出し手段とを具備し、
読出し手段によって読出された実効アドレスを後続命令
のアドレス計算におけるインデックスレジスタの内容と
して使用するようく構成し念ものである。
Means for Solving Problem C) A data processing device according to the present invention includes a storage device, an instruction control device, and an instruction execution device, and the instruction control device includes an effective address adder, an effective address stack, Comprising an index register and reading means,
It is contemplated that the effective address read by the reading means is used as the contents of the index register in address calculation of a subsequent instruction.

実効アドレス加算器は実効アドレスを加算するものであ
り、実効アドレススタックは上記加算の結果を保持する
ためのものであゆ、インデックスレジスタは実効アドレ
スを格納するためのものである。
The effective address adder is for adding effective addresses, the effective address stack is for holding the result of the addition, and the index register is for storing effective addresses.

読出し手段は、インデックスレジスタから同一の内容が
続けて読出された場合〈実効アドレススタックの内容を
実効アドレスとして読出すためのものである。
The reading means is for reading the contents of the effective address stack as an effective address when the same contents are successively read from the index register.

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

第1図は1本発明によるデータ処理装置の一実施例を示
すブロック図である。第1図において、1は命令制御装
置、2は記憶装置、3は命令実行装置、10は命令レジ
スタ、11はベースレジスタ、12はインデックスレジ
スタ、13は仮想アドレス加算器、14は実効アドレス
加算器、1gは実効アドレススタック、16はデコーダ
、17は動作指示スタック、18,35.36はそれぞ
れ切替え器、21は仮想アドレスレジスタ、22はアド
レス変換バッファ、23はアドレスアレイ、24はデー
タアレイ、31はデータバッファ、32は作業メモリ、
33は演算器、37 、38はそれぞれ作業レジスタ、
39は制御回路である。
FIG. 1 is a block diagram showing an embodiment of a data processing apparatus according to the present invention. In FIG. 1, 1 is an instruction control device, 2 is a storage device, 3 is an instruction execution device, 10 is an instruction register, 11 is a base register, 12 is an index register, 13 is a virtual address adder, and 14 is an effective address adder. , 1g is an effective address stack, 16 is a decoder, 17 is an operation instruction stack, 18, 35, 36 are respective switches, 21 is a virtual address register, 22 is an address translation buffer, 23 is an address array, 24 is a data array, 31 is a data buffer, 32 is a working memory,
33 is an arithmetic unit, 37 and 38 are working registers,
39 is a control circuit.

なか、第1図においては本発明に直接関係のない部分は
省略しである。
In FIG. 1, parts not directly related to the present invention are omitted.

第1図において、命令制御装f1は命令を記憶装置2よ
シ読出して解読し、分岐条件や更新対象レジスタ指定コ
ードを含む制御情報を作成すると共に、命令のなかのア
ドレス指定コードを解読して実効アドレスを作成し、両
者を命令実行装f3へ送出する6tた。解読の結果、命
令が記憶装置2の読出し、または書込みを要求するもの
である場合には、仮想アドレスを計算して記憶装置2へ
送出する。記憶装置2は要求されたデータをバッファメ
モリのデータアレイ24、または主記憶装置へ書込むか
、または読出ず。命令実行装置3は命令制御装置lが指
示した各レジスタの内容を使用して演算を行い、各種レ
ジスタ、または記憶装置の内容を更新する。
In FIG. 1, the instruction control unit f1 reads the instruction from the storage device 2, decodes it, creates control information including branch conditions and update target register designation code, and decodes the address designation code in the instruction. 6t creates an effective address and sends both to instruction execution unit f3. As a result of the decoding, if the instruction requests reading or writing from the storage device 2, a virtual address is calculated and sent to the storage device 2. The storage device 2 writes or reads the requested data to the data array 24 of the buffer memory or to the main memory. The instruction execution device 3 performs calculations using the contents of each register instructed by the instruction control device 1, and updates the contents of various registers or storage devices.

命令制御装置1において、命令レジスタlOにセットさ
れた命令語はOp+ br X +およびyの4フイー
ルドから構成されている。opフィールドは命令コード
を含み、デコーダ16において解読され、その一部は命
令制御装置lの内部の各ブロックを制御するのに使用さ
れ、他は記憶装置2への要求信号として使用され、さら
に他は命令実行装置3への動作指示情報として使用され
、動作指示スタック17へ記憶されている。
In the instruction control device 1, the instruction word set in the instruction register IO consists of four fields: Op+ br X + and y. The op field contains an instruction code, which is decoded by the decoder 16, part of which is used to control each block inside the instruction control device l, the other part is used as a request signal to the storage device 2, and the other part is used as a request signal to the storage device 2. is used as operation instruction information to the instruction execution device 3 and is stored in the operation instruction stack 17.

命令レジスタ10のbフィールドはレジスタ指定番号と
して使用され、ペースレジスタ11へ送出される。命令
レジスタ10のXフィールドはレジスタ指定番号として
使用され、インデックスレジスタ12へ送出される。ペ
ースレジスタ11から読出されたベースアドレスとイン
デックスレジスタ12から読出されたインデックスとは
、仮想アドレス加算器13によって命令レジスタlOの
Xフィールド(変位アドレス)と加算されて仮想アドレ
スを生成するのく使用される。実効アドレス加算器14
においては、実効アドレスを形成するために同じインデ
ックスとXフィールドとが加算されている。実効アドレ
スの出力は、実効アドレススタック15に記憶される。
The b field of instruction register 10 is used as a register designation number and sent to pace register 11. The X field of instruction register 10 is used as a register designation number and sent to index register 12. The base address read from the pace register 11 and the index read from the index register 12 are added to the X field (displacement address) of the instruction register IO by the virtual address adder 13 and used to generate a virtual address. Ru. Effective address adder 14
In , the same index and the X field are added to form the effective address. The output of the effective address is stored in the effective address stack 15.

そのなかの一系列の出力は命令実行装#3へ供給される
と共に、他の一系列の出力は上記のインデックスの値の
代りに用いるために切替え器18に供給される。実効ア
ドレススタック15、オよび動作指示スタック17は複
数のエントリを含み、実行前の解読済み命令をエントリ
数まで待たせることができる。
The output of one of the series is supplied to the instruction execution unit #3, and the output of the other series is supplied to the switch 18 for use in place of the above-mentioned index value. The effective address stack 15, O, and operation instruction stack 17 include a plurality of entries, and a decoded instruction before execution can be made to wait until the number of entries.

記憶回路2において、仮想アドレスレジスタ21は仮想
アドレス加算器13から送出される仮想アドレスを保持
する。仮想アドレスレジスタ21の出力によってアドレ
ス変換バッファ22が参照され、対ろする実アドレスが
アドレス変換バッファ22から読出される。アドレス変
換バッファ22の出力と仮想アドレスレジスタ21の下
位アドレスとによってアドレスアレイ23が参照され、
データアレイ24に要求されたオペランドが登録されて
いるか否かがチェックされる。もし、要求されたオペラ
ンドが登録されていれば、データアレイ24から上記オ
ペランドが読出され、オペランドとして命令実行装置3
へ送出される。
In the storage circuit 2, a virtual address register 21 holds the virtual address sent from the virtual address adder 13. The address translation buffer 22 is referenced by the output of the virtual address register 21, and the corresponding real address is read from the address translation buffer 22. The address array 23 is referenced by the output of the address translation buffer 22 and the lower address of the virtual address register 21,
It is checked whether the requested operand is registered in the data array 24. If the requested operand is registered, the operand is read from the data array 24 and is sent to the instruction execution device 3 as an operand.
sent to.

命令実行装R3において、記憶装置2から送出され念オ
ペランドはデータバッファ31に記憶される。データバ
ッファ31は上記の実効アドレス15オよび動作指示ス
タック17と同数のエントリを有し、各エントリは解読
済み命令に対して使用される。作業メモリ32の内部に
は、ペースレジスタおよびインデックスレジスタを含み
、これらのレジスタの内容はペースレジスタ11マたは
インデックスレジスタ12と同時〈更新される。データ
バッファ31、作業メモリ32、または実効アドレスス
タック15の出力から切替え器35によって選択された
第1のオペランドは、第1の作業レジスタ37にセット
される。同様に、切替え器36によって選択された第2
のオペランドは第2の作業レジスタ38にセットされる
。第1および第2の作業レジスタ37.38にセットさ
れた上記一対のオペランドは、演算器33において演算
するのに使用される。得られた演算結果は作業メモリ3
2、ペースレジスタ11.およびインデックスレジスタ
12へ供給され、必要な個所にセットされる。
In the instruction execution unit R3, the operand sent from the storage device 2 is stored in the data buffer 31. Data buffer 31 has the same number of entries as effective address 15 and operation instruction stack 17, each entry being used for a decoded instruction. The working memory 32 includes a pace register and an index register, and the contents of these registers are updated simultaneously with the pace register 11 or the index register 12. The first operand selected by switch 35 from the output of data buffer 31 , working memory 32 , or effective address stack 15 is set in first working register 37 . Similarly, the second
is set in the second working register 38. The pair of operands set in the first and second working registers 37 and 38 are used for calculation in the calculation unit 33. The obtained calculation results are stored in working memory 3.
2. Pace register 11. and is supplied to the index register 12 and set at the required location.

以上の動作は、動作指示スタック17からの出力によっ
て起動される制御回路39により制御される。
The above operations are controlled by a control circuit 39 activated by the output from the operation instruction stack 17.

次に、実効アドレス設定命令の動作を説明する。Next, the operation of the effective address setting command will be explained.

命令レジスタ10に実効アドレス設定命令がセットされ
ると、実効アドレス加算器14において命令レジスタ1
0のXフィールドと、切替え器18を経由して送出され
てくるインデックスレジスタ12の内容とを加算し、実
効アドレスを求めて実効アドレススタック15にセット
する。このとき、記憶装置2にはオペランド要求は送出
されない。命令実行装置i13が上記の実効アドレス設
定命令を実行するタイミングになると、実効アドレスス
タック1!5から読出された実効アドレスは切替え器3
5により選択され、第1の作業レジスタ37にセットさ
れる。このレジスタの内容は、制御回路39の指示によ
りスルーモードに設定された演算器33を経由して作業
メモリ32、およびインデックスレジスタ12に書込ま
れる。
When the effective address setting command is set in the instruction register 10, the effective address adder 14 sets the effective address setting command to the instruction register 1.
The X field of 0 and the contents of the index register 12 sent via the switch 18 are added to obtain an effective address and set in the effective address stack 15. At this time, no operand request is sent to the storage device 2. When the instruction execution device i13 executes the above effective address setting instruction, the effective address read from the effective address stack 1!5 is transferred to the switch 3.
5 and set in the first working register 37. The contents of this register are written to the working memory 32 and the index register 12 via the arithmetic unit 33 which is set to through mode according to instructions from the control circuit 39.

後続する命令が、インデックスレジスタlzヲ用いたア
ドレス修飾指定であることが検出されると、切替え器1
8は実効アドレススタック15から読出され、先行した
実効アドレス設定命令の実効アドレスを、上記命令の実
行後の値としてインデックスレジスタ12の出力の代プ
に選択する。そこで、先行する実効アドレス設定命令が
インデックスレジスタ12へのデータの書込み完了を待
つことなく、アドレス計・算が実行される。
When it is detected that the subsequent instruction is an address modification specification using index register lzwo, switch 1
8 is read from the effective address stack 15 and selects the effective address of the preceding effective address setting instruction as a substitute for the output of the index register 12 as the value after execution of the above instruction. Therefore, the address calculation is executed without waiting for the preceding effective address setting instruction to complete writing data to the index register 12.

(発明の効果) 本発明は以上説明したように、実効アドレススタックの
出力をインデックスレジスタの出力の代りに使用してア
ドレス計算を実行することにより、該当するレジスタの
確定待ちによるアドレノ−計算開始の遅れを改善できる
と云う効果がある。
(Effects of the Invention) As explained above, the present invention executes address calculation using the output of the effective address stack instead of the output of the index register, thereby preventing the start of address calculation while waiting for the determination of the corresponding register. This has the effect of improving delays.

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

第1図は、本発明によるデータ処理装置の一実施例を示
すブロック図である。 82図は、従来技術くよるアドレス計算におけるFOR
TRANと機械語との対応例を示す説明図である。 l・・・命令制御装置   2・・・記憶装置3・・・
命令実行装置t    1o・・・命令レジスタ11・
・・ベースレジスタ 12・・・インデックスレジスタ 13・・・仮想アドレス加算器 14・・・実効アドレス加算器 15・・・実効アドレススタック 16・・・7’=y−タ17・・・動作指示スタック1
8.35.36・・・切替え器 21・・・仮想アドレスレジスタ 22・・・アドレス変換バッフ7 23・・・アドレスアレイ  24・・・データアレイ
31・・・f−fiAッファ  32・・・作業メモリ
33・・・演算器   37.38・・・作業レジスタ
39・・・制御回路
FIG. 1 is a block diagram showing an embodiment of a data processing apparatus according to the present invention. Figure 82 shows the FOR in address calculation based on the conventional technology.
FIG. 2 is an explanatory diagram showing an example of correspondence between TRAN and machine language. l...Instruction control device 2...Storage device 3...
Instruction execution device t1o...instruction register 11.
...Base register 12...Index register 13...Virtual address adder 14...Effective address adder 15...Effective address stack 16...7'=y-ta 17...Operation instruction stack 1
8.35.36...Switcher 21...Virtual address register 22...Address translation buffer 7 23...Address array 24...Data array 31...f-fiA buffer 32...Work Memory 33...Arithmetic unit 37.38...Work register 39...Control circuit

Claims (1)

【特許請求の範囲】[Claims] 記憶装置、命令制御装置、および命令実行装置から成る
データ処理装置であって、前記命令制御装置は実効アド
レスを加算するための実効アドレス加算器と、前記加算
の結果を保持するための実効アドレススタックと、前記
実効アドレスを格納するためのインデックスレジスタと
、前記インデックスレジスタから同一の内容が続けて読
出された場合に前記実効アドレススタックの内容を実効
アドレスとして読出すための読出し手段とを具備し、前
記読出し手段によって読出された実効アドレスを後続命
令のアドレス計算における前記インデックスレジスタの
内容として使用するように構成したことを特徴とするデ
ータ処理装置。
A data processing device comprising a storage device, an instruction control device, and an instruction execution device, the instruction control device including an effective address adder for adding effective addresses, and an effective address stack for holding the result of the addition. and an index register for storing the effective address, and reading means for reading the contents of the effective address stack as an effective address when the same contents are successively read from the index register, A data processing device characterized in that the effective address read by the reading means is used as the content of the index register in address calculation of a subsequent instruction.
JP25360784A 1984-11-30 1984-11-30 Data processing unit Pending JPS61133440A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25360784A JPS61133440A (en) 1984-11-30 1984-11-30 Data processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25360784A JPS61133440A (en) 1984-11-30 1984-11-30 Data processing unit

Publications (1)

Publication Number Publication Date
JPS61133440A true JPS61133440A (en) 1986-06-20

Family

ID=17253722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25360784A Pending JPS61133440A (en) 1984-11-30 1984-11-30 Data processing unit

Country Status (1)

Country Link
JP (1) JPS61133440A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63245526A (en) * 1987-03-31 1988-10-12 Toshiba Corp Information processor
JPH01177127A (en) * 1988-01-06 1989-07-13 Hitachi Ltd Information processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63245526A (en) * 1987-03-31 1988-10-12 Toshiba Corp Information processor
JPH01177127A (en) * 1988-01-06 1989-07-13 Hitachi Ltd Information processor

Similar Documents

Publication Publication Date Title
JPS6313215B2 (en)
JPS61133440A (en) Data processing unit
JPH0363092B2 (en)
JPS61267135A (en) Data processor
JPH0241770B2 (en)
JPS615348A (en) Information processor
JPS6149695B2 (en)
JPH05290188A (en) Super-parallel computer
JPS6042972B2 (en) Information processing device with address conversion function
JP2622026B2 (en) Register writing control method in central processing unit
JPS5925264B2 (en) Vector instruction processing method
JP2576589B2 (en) Virtual storage access control method
JPS6031646A (en) Data processor
JPH08297583A (en) Processor and method for interruption processing
JPH03204029A (en) Information processor
JPS6222165A (en) Control system for access to main storage device
JPH0285943A (en) Data processor
JPH03164945A (en) Data processor
JPS61141052A (en) Data processor
JPS621066A (en) Information processor
JPS6028014B2 (en) microprocessor
JPS59114622A (en) Initial microprogram loading system
JPS5914050A (en) Memory controlling system
JPS6014335A (en) Information processor
JPS63197233A (en) Information processor