JPS61292749A - Arithmetic processor - Google Patents

Arithmetic processor

Info

Publication number
JPS61292749A
JPS61292749A JP13492985A JP13492985A JPS61292749A JP S61292749 A JPS61292749 A JP S61292749A JP 13492985 A JP13492985 A JP 13492985A JP 13492985 A JP13492985 A JP 13492985A JP S61292749 A JPS61292749 A JP S61292749A
Authority
JP
Japan
Prior art keywords
operands
address
operand
arithmetic
overlap
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
JP13492985A
Other languages
Japanese (ja)
Inventor
Ritsuo Sugaya
菅谷 律雄
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 JP13492985A priority Critical patent/JPS61292749A/en
Publication of JPS61292749A publication Critical patent/JPS61292749A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To decrease the transmission times of memory requests with a pipeline information processor by detecting the overlap degree of two operands and making good use of the data obtained by a single memory request. CONSTITUTION:When the overlap of both operands, for example, as shown by the diagrams is recognized by a comparator 3 and an overlap detecting circuit 4, it is reported to an address production control part 5 that both operands should be supplied only to non-overlap parts 25 and 26. Therefore the part 5 gives an indication to an address calculating part to produce the address following an address a2 and starts the supply of operands with said address. While an arithmetic control part 6 stores the offset value to an operand register 8a and an operand 25 to an operand register 8b respectively. Then an arithmetic executing part 9 performs successively the operations.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数回のメモリアクセスにより得られるオペ
ランドを用いて演算命令のオペランドの作成を行うパイ
プライン方式情報処理装置における演算処理装置に関す
る。 。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an arithmetic processing device in a pipelined information processing device that creates operands for arithmetic instructions using operands obtained through multiple memory accesses. .

〔概 要〕〔overview〕

本発明は、複数回のメモリアクセスにより得られるオペ
ランドを用いて演算命令のオペランドの作成を行うパイ
プライン方式情報処理装置における演算処理装置におい
て、 二つのオペランドの重複状態を検出し、同一アドレスに
対してメモリのアクセスを繰り返さないで有効的に演算
命令のオペランドを作成する手段を設けることにより、 メモリリクエスト送出回数を減らし、命令実行時間の短
縮を図ったものである。
The present invention detects the duplication state of two operands in an arithmetic processing unit in a pipelined information processing device that creates operands for an arithmetic instruction using operands obtained through multiple memory accesses, and performs operations for the same address. By providing a means to effectively create operands for arithmetic instructions without repeating memory accesses, the number of memory requests sent is reduced and instruction execution time is reduced.

〔従来の技術〕[Conventional technology]

従来、複数回のメモリアクセスにより得られる二つのオ
ペランドを用いて演算が実行される命令において、二つ
のオペランドの重複度合を調べることなく順次二つのオ
ペランドを得るべく作用し、得られたオペランドを用い
て演算を実行してきた。
Conventionally, in an instruction that performs an operation using two operands obtained through multiple memory accesses, the instruction operates to obtain the two operands in sequence without checking the degree of overlap between the two operands, and uses the obtained operands. I have been performing calculations.

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

上述した従来の命令実行方法による演算処理装置におい
ては、オペランドアドレスが重複している場合、同一ア
ドレスに対し2回のメモリリクエストが送出されること
になり、命令実行時間が長くなる欠点があった。
In the arithmetic processing device using the conventional instruction execution method described above, if the operand addresses overlap, two memory requests are sent to the same address, which has the disadvantage that the instruction execution time increases. .

本発明の目的は、上記の欠点を除去することにより、命
令実行時間を短縮し性能の向上した演算処理装置を提供
することにある。
An object of the present invention is to provide an arithmetic processing device that reduces instruction execution time and improves performance by eliminating the above-mentioned drawbacks.

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

本発明の演算処理装置は、複数回のメモリアクセスによ
り得られるオペランドを用いて演算命令のオペランドの
作成を行うパイプライン方式情報処理装置の演算処理装
置において、 二つの上記オペランドの開始および終端アドレスを保持
する手段と、上記二つのオペランドの重複度合を検出す
る手段と、供給された上記オペランドを上記重複度合の
検出結果により演算方法の変更を指示する制御手段とを
有することを特徴とする。
The arithmetic processing device of the present invention is an arithmetic processing device of a pipelined information processing device that creates an operand of an arithmetic instruction using an operand obtained by multiple memory accesses, and the arithmetic processing device of the present invention is an arithmetic processing device of a pipelined information processing device that creates operands of an arithmetic instruction using operands obtained through multiple memory accesses. The present invention is characterized by comprising means for holding the operands, means for detecting the degree of overlap between the two operands, and control means for instructing a change in the calculation method of the supplied operands based on the detection result of the degree of overlap.

〔作 用〕[For production]

本発明の演算処理装置は、メモリアクセスにより得られ
た二つのオペランドの開始および終端アドレスを保持手
段で保持し、この二つのオペランドの重複度合を検出手
段で検出し、重複が検出された場合、同一アドレスに対
して2回のメモリリクエストを送出することなく、1回
のメモリリクエストで得られたオペランドを用いて演算
を実行するよう制御手段により制御することにより、命
令実行時間の短縮が図られる。
In the arithmetic processing device of the present invention, the holding means holds the start and end addresses of two operands obtained by memory access, the detecting means detects the degree of overlap between these two operands, and if overlap is detected, The instruction execution time can be reduced by controlling the control means to execute an operation using the operand obtained from one memory request without sending two memory requests to the same address. .

〔実施例〕〔Example〕

以下、本発明の実施例について図面を参照して説明する
Embodiments of the present invention will be described below with reference to the drawings.

第1図は本発明の一実施例のブロック構成図である。ア
ドレス生成部1において、生成された第一および第二オ
ペランドの開始および終端アドレスは、信号線11を介
してアドレスレジスタ(A。
FIG. 1 is a block diagram of an embodiment of the present invention. In the address generation unit 1, the generated start and end addresses of the first and second operands are sent to the address register (A) via the signal line 11.

B、Cs D)2a 、2b 、2c s 2dに順次
格納される。このアドレスレジスタ(A、BSC,D)
2a、2b、2c、2dに格納されたオペランドアドレ
スは、比較回路3において比較演算され、この出力は信
号線12.13.14.15を介し、重複検出回路4に
報告される。重複検出回路4において、両オペランドの
位置関係が調べられ、いかなる順序でメモリアクセスを
実施し、オペランドを演算部に対し供給するかを判断し
、この出力を信号線16を介し、アドレス生成制御部5
に報告するとともに、信号線17を介し、演算制御部6
に報告される。
B, Cs D) Sequentially stored in 2a, 2b, 2c s 2d. This address register (A, BSC, D)
The operand addresses stored in 2a, 2b, 2c, and 2d are compared in the comparison circuit 3, and the output is reported to the duplication detection circuit 4 via signal lines 12, 13, 14, and 15. The duplication detection circuit 4 examines the positional relationship between both operands, determines in what order memory access should be performed and the operands are supplied to the arithmetic unit, and sends this output via the signal line 16 to the address generation control unit. 5
It also reports to the arithmetic control unit 6 via the signal line 17.
will be reported.

上記認知されたメモリアクセス順序に従いアドレス生成
部1ではアドレス計算を実行し、このメモリアクセスに
より得られたオペランドは信号線18を介し、順次オペ
ランドバッファ7に格納される。オペランドバッファ7
に格納されたオペランドは、演算制御部6の指示に従い
オペランドレジスタ(J、、K)8a 、8bに読み出
される。このときオペランドレジスタ(JSK)8a 
、8bの更新は演算順序により演算制御部6の指示に従
い任意に指定される。このように演算対象のオペランド
は、オペランドアドスタタ(J、K)8a 。
The address generation unit 1 executes address calculation according to the recognized memory access order, and the operands obtained by this memory access are sequentially stored in the operand buffer 7 via the signal line 18. operand buffer 7
The operands stored in are read out to the operand registers (J, , K) 8a, 8b according to instructions from the arithmetic control unit 6. At this time, operand register (JSK) 8a
, 8b are arbitrarily specified according to the instruction from the calculation control unit 6 according to the calculation order. In this way, the operand to be operated on is the operand add starter (J, K) 8a.

8bに順次格納され、演算実行部9にて所定の演算が実
施され、演算結果は信号線19を介し演算制御部6にフ
ィードバッグされ、実行を続行するか否かを判定する。
8b, predetermined calculations are performed in the calculation execution unit 9, and the calculation results are fed back to the calculation control unit 6 via the signal line 19, and it is determined whether or not to continue the execution.

演算制御部6は、上記判定に基づき、演算の続行を繰り
返し指示するか、あるいはこの命令の結果の通知および
アドレス生成部1に対しこの命令の終了等を通知し、次
命令の開始を促す。
Based on the above determination, the arithmetic control unit 6 repeatedly instructs the continuation of the arithmetic operation, or notifies the result of this instruction and the end of this instruction to the address generation unit 1, prompting the start of the next instruction.

本発明の特徴は、第1図において、アドレスレジスタ(
A、B、C,D)2a 、2b 、2c、2d。
The feature of the present invention is that in FIG.
A, B, C, D) 2a, 2b, 2c, 2d.

比較回路3、重複度検出回路4、演算制御部6を設けた
ことにある。
This is because a comparison circuit 3, a redundancy detection circuit 4, and an arithmetic control section 6 are provided.

以下、第2図(a)、(b)に示す演算対象となる二つ
のオペランドの位置関係を示す説明図を用いて、本実施
例の具体的な動作例を説明する。
Hereinafter, a specific example of the operation of this embodiment will be explained using an explanatory diagram showing the positional relationship of two operands to be calculated as shown in FIGS. 2(a) and 2(b).

第2図(a)は、二つのオペランドが一部重複している
場合を示す。このケースの場合、第一オペラ4ンドの開
始アドレスa1、終端アドレスa2、第二オペランドの
開始アドレスbl、終端アドレスb2は、アドレスレジ
スタ(A、B、C,、D)2a 。
FIG. 2(a) shows a case where two operands partially overlap. In this case, the start address a1 and end address a2 of the fourth operand of the first operand, and the start address bl and end address b2 of the second operand are the address registers (A, B, C, , D) 2a.

2b、2c、2d、に順次格納される。比較回路3およ
び重複検出回路4によって両オペランドは一部重複して
いる第2図(a)のケースと認識されると、オペランド
供給は各オペランド1回ずつの供給で、オペランド21
22.23.24.25.26の順序でアクセスするこ
とが判断され、この結果は信号線16.17を介し、ア
ドレス生成制御部5および演算制御部6に報告される。
2b, 2c, and 2d. When the comparator circuit 3 and the duplication detection circuit 4 recognize the case shown in FIG. 2(a) in which both operands partially overlap, each operand is supplied once, and
It is determined that accesses are to be made in the order of 22, 23, 24, 25, and 26, and this result is reported to the address generation control section 5 and the calculation control section 6 via signal lines 16.17.

この報告により、アドレス生成制御部5では第一オペラ
ンド開始アドレス計算から順序インクリメントしていき
、第二オペランド終了アドレス計算まで、各1回ずつメ
モリアクセスを実施すべくアドレス計算を行う。なお、
開始アドレスa1によるオペランドアクセスは、オペラ
ンド重複検出時にアドレス計算を実施しているため、こ
の時点でメモリアクセスを実施しておくと、さらに性能
向上につながり、実質は開始アドレスa1のネタストア
ドレスからメモリアクセスを実施する。
Based on this report, the address generation control unit 5 increments the order from the first operand start address calculation until the second operand end address calculation, and performs address calculations so as to perform memory access once each. In addition,
For operand access using start address a1, address calculation is performed when operand duplication is detected, so performing memory access at this point will further improve performance. Perform access.

本装置はパイプライン方式を用いるため、オペランド2
1が信号線18を介し、演算部に供給されると、演算制
御部6はオペランドレジスタJ8aに格納することを指
示し、次オペラジド22が同じく演算部に供給されると
、オペランドレジスタに8bに格納することを指示する
。オペランドレジスタJ8aおよびに8bに格納された
二つのオペランドは、演算制御部6の指示に基づき、演
算実行部9で演算が実行される。このとき、次オペラン
ド23はオペランドバッファ7に格納されるとともに、
演算実行結果は信号線19を介し、演算制御部6に報告
される。命令未終了時は、演算制御部6よりオペランド
レジスタJ8aにオペランドバッファ7に格納されてい
るオペランド23を取り込む指示を送出する。このよう
に演算制御部6の指示に基づき、順序オペランドレジス
タ(J、K)8a、8bが更新され演算が実施される。
This device uses a pipeline system, so operand 2
When 1 is supplied to the arithmetic unit via the signal line 18, the arithmetic control unit 6 instructs to store it in the operand register J8a, and when the next operand 22 is also supplied to the arithmetic unit, the operand register 8b is stored. Instruct to store. The two operands stored in the operand registers J8a and J8b are operated on by the arithmetic execution unit 9 based on instructions from the arithmetic control unit 6. At this time, the next operand 23 is stored in the operand buffer 7, and
The calculation execution results are reported to the calculation control section 6 via the signal line 19. When the instruction is not completed, the operation control unit 6 sends an instruction to take in the operand 23 stored in the operand buffer 7 to the operand register J8a. In this way, based on instructions from the calculation control unit 6, the order operand registers (J, K) 8a, 8b are updated and calculations are performed.

演算実行部9より演算終了あるいは、演算制御部6で命
令の終了が識別されると、演算制御部6は命令の終了を
アドレス生成制御部5に通知し、次命令の開始を促す。
When the arithmetic execution unit 9 identifies the end of the computation or the arithmetic control unit 6 identifies the end of the instruction, the arithmetic control unit 6 notifies the address generation control unit 5 of the end of the instruction and urges the address generation control unit 5 to start the next instruction.

第2図(blは、二つのオペランド開始アドレスが一致
し、終了アドレスが異なる場合で、このケースの場合は
、上記種々の重複時と同様、アドレスa1、a2、bl
、b2がそれぞれアドレスレジスタ(A、BSC,D)
2a 、2b 、2c 、2dに格納され、比較回路3
および重複検出回路4によって、両オペランドの重複が
第2図(blのケースと認識されると、オペランド供給
は、二つのオペランドの非重複部25.26のみ供給す
るようにアドレス生成制御部5に信号線16を介し報告
する。この報告を受けるとアドレス生成制御部5では、
アドレスa2のネタストアドレスを生成するようにアド
レス計算部に指示を出し、このアドレスによるオペラン
ド供給を開始する。また、演算制御部6はこの報告を信
号線17を介し、報告されると、オフセントされた値を
オペランドレジスタJ8aに格納し、オペランド25を
オペランドレジスタに8bに格納し、順序演算実行部9
にて演算を実行する。演算結果は信号線19を介し、演
算制御部6に報告される。命令未終了時は、次オペラン
ド26をオペランドバッファ7より読み出し、オペラン
ドレジスタに8bを更新し、上記同様の演算を実施する
Figure 2 (bl is a case where the two operand start addresses match but the end addresses are different; in this case, as in the case of various duplications described above, addresses a1, a2, bl
, b2 are address registers (A, BSC, D), respectively.
2a, 2b, 2c, 2d, and the comparison circuit 3
When the duplication detection circuit 4 recognizes that the duplication of both operands is the case shown in FIG. The report is sent via the signal line 16. Upon receiving this report, the address generation control unit 5
An instruction is given to the address calculation section to generate a netast address for address a2, and operand supply using this address is started. Further, when the arithmetic control section 6 receives this report via the signal line 17, it stores the offset value in the operand register J8a, stores the operand 25 in the operand register 8b, and stores the offset value in the operand register J8b.
Execute the calculation. The calculation results are reported to the calculation control section 6 via the signal line 19. When the instruction is not completed, the next operand 26 is read from the operand buffer 7, 8b is updated in the operand register, and the same operation as above is performed.

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

本発明は、以上説明したように、二つのオペランドの重
複状態を調べることにより、重複オペランドがある場合
は、同一アドレスに対し2回のメモリリクエストを送出
することなく、1回のメモリリクエストで得られるデー
タを有効に利用することにより、メモリリクエスト送出
回数を減らし、命令実行時間を短縮し、性能向上を図れ
る効果がある。
As explained above, the present invention checks the duplication state of two operands, and if there is a duplicate operand, the memory can be obtained by one memory request without sending two memory requests to the same address. By effectively using the data stored in the memory, the number of times memory requests are sent can be reduced, the instruction execution time can be shortened, and performance can be improved.

4、 発明の詳細な説明 第1図は本発明一実施例のブロック構成図。4. Detailed description of the invention FIG. 1 is a block diagram of an embodiment of the present invention.

第2図(a)、(b)は演算対象となる二つのオペラン
ドの位置関係を示す説明図。
FIGS. 2(a) and 2(b) are explanatory diagrams showing the positional relationship between two operands to be calculated.

1・・・アドレス生成部、2a、2b、2c、2d・・
・アドレスレジスタASBSC,D、3・・・比較回路
、4・・・重複検出回路、5・・・アドレス生成制御部
、6・・・演算制御部、7・・・オペランドバッファ、
8a、8b・・・オペランドレジスタJ、K、9・・・
演算実行部、11〜19・・・信号線、21〜26・・
・オペランド、al、bl・・・開始アドレス、a2、
b2・・・終端アドレス。
1...Address generation unit, 2a, 2b, 2c, 2d...
・Address register ASBSC, D, 3... Comparison circuit, 4... Duplication detection circuit, 5... Address generation control section, 6... Arithmetic control section, 7... Operand buffer,
8a, 8b...operand registers J, K, 9...
Arithmetic execution unit, 11-19...Signal line, 21-26...
・Operand, al, bl...Start address, a2,
b2... Terminal address.

Claims (1)

【特許請求の範囲】[Claims] (1)複数回のメモリアクセスにより得られるオペラン
ドを用いて演算命令のオペランドの作成を行うパイプラ
イン方式情報処理装置における演算処理装置において、 二つの上記オペランドの開始および終端アドレスを保持
する手段と、 上記二つのオペランドの重複度合を検出する手段と、 この重複度合の検出結果に従い上記メモリアクセスの要
否を制御する手段と、 供給された上記オペランドを上記重複度合の検出結果に
より演算方法の変更を指示する制御手段と を有することを特徴とする演算処理装置。
(1) In an arithmetic processing unit in a pipelined information processing device that creates operands for an arithmetic instruction using operands obtained through multiple memory accesses, means for holding the start and end addresses of the two operands; means for detecting the degree of overlap between the two operands; means for controlling the necessity of the memory access according to the result of detecting the degree of overlap; and means for controlling the operation method of the supplied operands according to the result of detecting the degree of overlap. An arithmetic processing device comprising a control means for giving instructions.
JP13492985A 1985-06-20 1985-06-20 Arithmetic processor Pending JPS61292749A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13492985A JPS61292749A (en) 1985-06-20 1985-06-20 Arithmetic processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13492985A JPS61292749A (en) 1985-06-20 1985-06-20 Arithmetic processor

Publications (1)

Publication Number Publication Date
JPS61292749A true JPS61292749A (en) 1986-12-23

Family

ID=15139851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13492985A Pending JPS61292749A (en) 1985-06-20 1985-06-20 Arithmetic processor

Country Status (1)

Country Link
JP (1) JPS61292749A (en)

Similar Documents

Publication Publication Date Title
JPS63253433A (en) Arithmetic processor
JPS61292749A (en) Arithmetic processor
JPH1196006A (en) Information processor
JP2970082B2 (en) Virtual intercluster communication processor
JPH06168263A (en) Vector processor
JPS61292748A (en) Arithmetic processor
JPS6244840A (en) Arithmetic processing unit
JPS61187044A (en) Information processor
JPH02103643A (en) Interruption generation circuit for debug
JPH0991139A (en) Information processor
JPH02127731A (en) Bypass check system for arithmetic register
JP3414579B2 (en) Programmable controller
JPS6282439A (en) False trouble generating system
JPH07295812A (en) Conditional branch control method/device
JPH0619705A (en) Pipeline control system
JPH05241986A (en) Input/output instruction retrying system
JPS59200356A (en) Program tracing system
JPS62296236A (en) Interruption processor for microprocessor
JPH0243628A (en) Information processor
JPH07219771A (en) Instruction processor
JPS61194533A (en) Microprogram processor
JP2002149438A (en) Method for controlling buffer storage for recovery control
JPH0223426A (en) Information processor
JPH02217924A (en) Storing processing system for data processor
JPH02206836A (en) Data processor