JPH0374725A - Information processor - Google Patents

Information processor

Info

Publication number
JPH0374725A
JPH0374725A JP1212048A JP21204889A JPH0374725A JP H0374725 A JPH0374725 A JP H0374725A JP 1212048 A JP1212048 A JP 1212048A JP 21204889 A JP21204889 A JP 21204889A JP H0374725 A JPH0374725 A JP H0374725A
Authority
JP
Japan
Prior art keywords
instruction
destination address
address
source
detecting
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.)
Granted
Application number
JP1212048A
Other languages
Japanese (ja)
Other versions
JP2546384B2 (en
Inventor
Toshiteru Shibuya
渋谷 俊輝
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 JP1212048A priority Critical patent/JP2546384B2/en
Priority to FR9010395A priority patent/FR2651052B1/en
Publication of JPH0374725A publication Critical patent/JPH0374725A/en
Priority to US07/928,641 priority patent/US5278960A/en
Application granted granted Critical
Publication of JP2546384B2 publication Critical patent/JP2546384B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE

Abstract

PURPOSE:To detect at a high speed a case where an overlap process is not required and to improve the performance of an MVC instruction by providing an overlap detecting circuit which detects the overlap between a memory operand and a memory area in the different methods. CONSTITUTION:One or plural 1st detecting circuits the discordance of one or plural bits whose source and destination addresses are previously decided. Meanwhile one or plural 2nd detecting circuits detects the coincidence of one or plural bits set previously. One or plural 3rd detecting circuits detects whether a bit whose source or destination address is previously decided is equal to 0 or 1. Then a deciding circuit decides a case where the correct result is obtained despite the shift carried out for each word at execution of a data shift instruction (MVC instruction) which shifts the operand data on a memory with the outputs of the 1st-3rd detecting circuits. These detecting circuits and deciding circuit form a high speed overlap detecting circuit 6. Thus it is possible to detect at a high speed an overlap state that breaks an operand and to improve the cost performance.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置に関し、特にメモリ上でオペラ
ンドデータな移動するデータ移動命令(以下、MVC命
令と称す)を実行する情報処理装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing device, and particularly to an information processing device that executes a data movement instruction (hereinafter referred to as an MVC instruction) to move operand data on a memory. .

〔従来の技術〕[Conventional technology]

MVC命令は、その命令で、メモリの移動元アドレスと
して、ソースアドレスを、又、移動先アドレスとして、
ディスティネーションアドレスを、さらに移動するオペ
ランドデータの長さを指定できる命令であるのが一般的
であり、通常、移動元オペランドデータ領域(以下、ソ
ースオペランドと称す)から移動先オペランドデータ(
以下ディスティネーションオペランドと称す)へとオペ
ランドデータな左又は右から1バイトづつ移動すること
が要求される。
The MVC instruction uses the source address as the source address of the memory, and the destination address as the destination address.
Generally, the destination address is an instruction that can specify the length of the operand data to be moved, and usually from the source operand data area (hereinafter referred to as source operand) to the destination operand data (
It is required to move the operand data one byte at a time from the left or right to the destination operand (hereinafter referred to as destination operand).

さて、一般に、情報処理装置におけるメモリあるいはキ
ャッシュメモリとのデータの読み書きは、4バイトある
いは8バイトといった一定の長さのワードを単位として
行なわれる。
Generally, data is read and written to and from a memory or cache memory in an information processing device in units of words of a fixed length, such as 4 bytes or 8 bytes.

従って、MVC命令の実行も、1バイトづつデータ移動
するのではなく、4バイトあるいは8バイトといったフ
ード単位で移動される。又、このことによってMVC命
令の実行性能な、1バイトづつの移動よりも向上させて
いる。
Therefore, when executing an MVC instruction, data is not moved one byte at a time, but in food units such as 4 bytes or 8 bytes. This also improves the execution performance of MVC instructions compared to moving bytes one byte at a time.

さて、MVC命令をワード単位に移動する場合、ンース
オヘランドとディスティネーションオペランドとが破壊
的に重複している場合、問題が発生する。破壊的重複と
は、ソースオペランドの中にディスティネーションアド
レスが含まれている場合であり、破壊的に重複している
と、1バイトづつの移動とワード単位の移動では結果が
異なる場合が生じてしまう。
Now, when moving an MVC instruction word by word, a problem occurs if the second Oherand and the destination operand overlap destructively. Destructive duplication is when the destination address is included in the source operand, and if there is destructive duplication, the result may be different between moving byte by byte and moving by word. Put it away.

従って、このような重複をしている場合には、MVC命
令の実行方法をワード単位ではなく、1バイトごとの移
動で行なうというように変更しなくてはならない。この
ためには、オペランドの破壊的重複を検出することが必
要であり、従来は、特開昭61−26134や、特開昭
61−216031で開示されているように、ソースア
ドレス、ディスティネーションアドレス及びソースオペ
ランド長を求めてそれより、 ソースアドレス≦ディスティネーションアドレス<(ソ
ースアドレス十ソースオペランド長)という条件が成立
するか否かを調べていた。
Therefore, in the case of such duplication, it is necessary to change the method of executing the MVC instruction so that it is executed by moving byte by byte instead of by word. For this purpose, it is necessary to detect destructive duplication of operands, and conventionally, as disclosed in Japanese Patent Application Laid-Open No. 61-26134 and Japanese Patent Application Laid-open No. 61-216031, the source address, destination address and the length of the source operand, and then it is checked whether the following condition holds true: source address ≦ destination address ≦ (source address + source operand length).

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

しかし、上述した従来の破壊的重複検出方式では、破壊
的重複を検出するために、ソースアドレス、ディスティ
ネーションアドレス及びソースオペランド長が等しくそ
ろうことが先ず必要であり、サラに、ソースアドレス十
ソースオペランド長の演算、ソースアドレス≦ディステ
ィネーションアドレス、ディスティネーションアドレス
<(ソースアドレス十ンースオベランド長)の各2つの
大小比較、あるいは、(ディスティネーションアドレス
−ソースアドレス)の演算、(ティステイネ−ジョンア
ドレス−ソースアドレス)<ソースオペランド長の大小
比較を行なわなければならない。
However, in the conventional destructive duplication detection method described above, in order to detect destructive duplication, it is first necessary that the source address, destination address, and source operand length are equal. length calculation, source address ≦ destination address, destination address < (source address tenth overland length), or (destination address - source address) calculation, (destination address - source address) )<The source operand length must be compared.

従って、破壊的重複の検出には、かなりの時間を要し、
このために、破壊的重複がない時でも、破壊的重複のな
いことを検出してからデータの移動を始めるため、せっ
かくワード単位の移動を行っても、性能の向上がはかり
にくいという欠点がある。
Therefore, detecting destructive duplications takes a considerable amount of time and
For this reason, even when there is no destructive duplication, data movement begins after detecting that there is no destructive duplication, so even if data is moved in units of words, it is difficult to improve performance. .

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

そこで、本発明の情報処理装置では、高速にオペランド
破壊的重複を検出するためにソースアドレスとディステ
ィネーションアドレスのあらかじめ定められた1つ、あ
るいは複数のビットの不一致を検出する1つ、あるいは
複数の第一の検出回路と同じく、あらかじめ定められた
1つ、あるいは複同じく、あらかじめ定められた1つ、
あるいはa数の第2の検出回路と、ソースアドレス又は
ディスティネーションアドレスのあらかじめ定められた
ビットが0か1かを検出する1つ、あるいは複数の第3
の検出回路と、第1.第2.第3の検出回路の出力より
、MVC命令の実行に際し、少くともワード単位の移動
を行っても結果が正しい場合を判定する判定回路とから
なる高速重複検出回路を備えている。
Therefore, in order to detect operand destructive duplication at high speed, the information processing apparatus of the present invention uses one or more predetermined bits for detecting a mismatch between one or more predetermined bits of the source address and the destination address. Like the first detection circuit, one predetermined one, or like the first detection circuit, one predetermined one,
or a number of second detection circuits and one or more third detection circuits for detecting whether a predetermined bit of the source address or destination address is 0 or 1;
a first detection circuit; Second. Based on the output of the third detection circuit, there is provided a high-speed duplication detection circuit including a determination circuit that determines whether the result is correct even if the movement is performed in units of words at least when executing an MVC instruction.

〔実施例〕〔Example〕

次に、本発明について図面を参照しつつ説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例の情報処理装置の重複検出部
のブロック図である。l、2.3は、そレソレ、ンース
アドレスレジスタ、ディスティネーションアドレスレジ
スタ、ソースオペランド長レジスタであり、いづれも、
命令解読部より値がセットされる。6は、本発明による
高速重複検出回路であり、少くともワード単位の処理で
MVC命令を実行してもさしつかえないことを示す重複
処理不要信号を信号線101に出力するe 7はディス
ティネーションアドレスからソースアドレスを引く減算
回路であり、結果は差分レジスタ4にセットされる。大
小比較回路8は、ソースオペランド長が16バイトより
大きい時は、差分レジスタ4の値が16未満の時に1を
出力し、ソースオペランド長が16バイト以下の時は、
差分レジスタ4の値がソースオペランド長よりも小さい
時に1を出力する。5はフリップフロップ(FF)であ
り、大小比較回路8の出力を1マシンサイクル保持し、
出力を重複処理要求信号として信号線102に出力する
FIG. 1 is a block diagram of a duplication detection section of an information processing apparatus according to an embodiment of the present invention. 1 and 2.3 are the source address register, destination address register, and source operand length register, all of which are as follows.
The value is set by the instruction decoder. 6 is a high-speed duplication detection circuit according to the present invention, which outputs a duplicate processing unnecessary signal to the signal line 101 indicating that it is okay to execute the MVC instruction at least in word-by-word processing; e 7 is from the destination address; This is a subtraction circuit that subtracts the source address, and the result is set in the difference register 4. When the source operand length is greater than 16 bytes, the magnitude comparison circuit 8 outputs 1 when the value of the difference register 4 is less than 16, and when the source operand length is less than 16 bytes, it outputs 1.
Outputs 1 when the value of difference register 4 is smaller than the source operand length. 5 is a flip-flop (FF), which holds the output of the magnitude comparison circuit 8 for one machine cycle;
The output is output to the signal line 102 as a duplicate processing request signal.

次に、第2図を参照しつつ、本実施例における破壊的重
複がない時のMVC命令のワード単位の処理方法につい
て説明する。
Next, with reference to FIG. 2, a method of processing MVC instructions in units of words when there is no destructive duplication in this embodiment will be described.

第2図はソースアドレスが8n+7ソースオペランド長
が16バイト、ディスティネーションアドレスが8m+
1の場合のメモリ上のオペランドの様子を示す図である
。本実施例の情報処理装置では、8バイトを1ワードと
してメモリとのデータのやりとりを行なうため、ソース
オペランドは8バイト単位の3回のリードによって、R
WI。
In Figure 2, the source address is 8n+7, the source operand length is 16 bytes, and the destination address is 8m+.
1 is a diagram showing the state of operands on memory in the case of 1; FIG. In the information processing device of this embodiment, data is exchanged with the memory using 8 bytes as one word, so the source operand is read in units of 8 bytes three times.
W.I.

RW2.RW3の3つの部分に分割して読出される。RW2. It is divided into three parts of RW3 and read out.

一方、ディスティネーションオペランドも、8バイト単
位の3回のライトによってWWI、WW2、WW3の3
つの部分に分割して書込まれる。
On the other hand, the destination operand is also written in 8-byte units three times, WWI, WW2, and WW3.
It is written in two parts.

MVC命令の処理方法として、ソースオペランドをすべ
て読込んでからディスティネーションアドレスへ書込む
という方法もあるが、それでは、読込んだオペランドデ
ータな記憶しておくためのハードウェアが大きくなりす
ぎるので、本実施例では読込みと書込みをほぼ並行して
行う。
One way to process MVC instructions is to read all the source operands and then write them to the destination address, but that would require too much hardware to store the read operand data, so we decided not to implement this method. In the example, reading and writing are performed almost in parallel.

第2図において、最初の書込みWWlを行うには、RW
IとRW’2よりWWlのデータを作成しなければなら
ない。従って、最初の書込みの前に、少くとも、2回の
ソースオペランドの読み込みを行わなくてはならない。
In FIG. 2, to perform the first write WWl, RW
Data for WWl must be created from I and RW'2. Therefore, the source operand must be read at least twice before the first write.

ソースアドレスとディスティネーションアドレスの関係
によっては、1回の読込みで最初の書込みデータがそろ
う場合もあるが、制御の簡単のために、1回の読込みで
すべてのソースオペランドが読込めない時は、常に2回
連続してソースオペランドの読込みを行ない、その後は
、書込みと読込みとを交互に繰返し、ソースオペランド
の読込みが完了した時点で、ディスティネーションオペ
ランドの書込みが完了するまで、さらに書込みを行うと
いうように処理を行う。
Depending on the relationship between the source address and destination address, the first write data may be ready in one read, but for the sake of ease of control, if all source operands cannot be read in one read, The source operand is always read twice in succession, then writes and reads are repeated alternately, and when the source operand has been read, further writes are performed until the destination operand has been written. Process as follows.

さて、以上のような処理方法を採用すると、第3図に示
すように、オペランドが破壊的重複をしていてモ、ティ
ステイネ−ジョンアドレスがソースアドレスよりも16
バイト以上大きければ、8バイト単位のワード処理を行
っても、1バイト単位の処理を行った時と同じく結果が
得られる。
Now, if the above processing method is adopted, as shown in Figure 3, even if the operands are destructively duplicated, the current address is 16 times larger than the source address.
If it is larger than a byte, word processing in 8-byte units will yield the same result as processing in 1-byte units.

従って、ワード単位の処理を行ってはいけない場合は、 ソースオペランド長〉16バイトかつ 1≦(ティステイネ−ジョンアドレス−ソースアドレス
)く16または ソースオペランド長≦16バイトかつ (ディスティネーションアドレス−ソースアドレス)<
ソースオペランド長 の条件が成立する場合である。
Therefore, if word-based processing is not allowed, either source operand length > 16 bytes and 1 < (destination address - source address) < 16, or source operand length < 16 bytes and (destination address - source address) <
This is a case where the source operand length condition is satisfied.

この条件を検出するための論理が、第1図において、減
算回路7.差分レジスタ4.大小比較回路8.FF5に
よって構成されている。
The logic for detecting this condition is shown in subtraction circuit 7. in FIG. Difference register 4. Size comparison circuit 8. It is composed of FF5.

次に第4図を参照しつつ、上記論理の動作を説明する。Next, the operation of the above logic will be explained with reference to FIG.

第4図は上記論理の動作を示すタイムチャートであり、
ソースアドレスとディスティネーションアドレスがそれ
ぞれマシンサイクル1.2でセットされ、マシンサイク
ル3でソースオペランド長がセットされると同時に、ソ
ースアドレスとディスティネーションアドレスより減算
回路7で計算された(ディスティネーションアドレス−
ソースアドレス)が差分レジスタ4にセットされる。マ
シンサイクル4で大小比較回路8の出力がFF5にセッ
トされ、重複要求信号が0か1に確定するのは、マシン
サイクル4の時のこととなる。従って、ワード単位の処
理あるいはバイト単位の処理が実際に開始されるのは、
マシンサイクル4以降のこととなる。以上が、従来技術
そのままの構成であり動作である。
FIG. 4 is a time chart showing the operation of the above logic,
The source address and destination address are each set in machine cycle 1.2, and the source operand length is set in machine cycle 3. At the same time, the subtraction circuit 7 calculates (destination address -
source address) is set in the difference register 4. It is during machine cycle 4 that the output of magnitude comparison circuit 8 is set to FF5, and the duplication request signal is determined to be 0 or 1. Therefore, word-by-word or byte-by-byte processing actually starts when
This occurs after machine cycle 4. The above is the configuration and operation of the conventional technology as it is.

次に、第5図を参照しつつ、第1図における高速重複検
出回路6について説明する。
Next, the high speed duplication detection circuit 6 in FIG. 1 will be explained with reference to FIG.

第5図は高速重複検出回路6の回路図である。FIG. 5 is a circuit diagram of the high speed duplication detection circuit 6.

第5図において、11から50までは比較回路であり、
信号線103を介して与えられるソースアドレスと信号
線104を介して与えられるディスティネーションアド
レス及び固定値を比較している。ンースアドレス、ディ
スティネーションアドレスとも31ビツトであり、それ
ぞれ1から31までのビット番号がふられている。
In FIG. 5, 11 to 50 are comparison circuits,
The source address given via the signal line 103 and the destination address and fixed value given via the signal line 104 are compared. Both the source address and the destination address have 31 bits, and are assigned bit numbers from 1 to 31, respectively.

今、ソースアドレスのビット27を827゜ディスティ
ネーションアドレスのビット20から26までの7ビツ
トをD20−27というように記すことにすると、比較
回路11はS27とD27の一致を検出する回路であり
、比較回路12は820−26とD20−26の不一致
を検出する回路である。
Now, if we write bit 27 of the source address as 827 degrees, and 7 bits from bits 20 to 26 of the destination address as D20-27, the comparator circuit 11 is a circuit that detects a match between S27 and D27. Comparison circuit 12 is a circuit that detects a mismatch between 820-26 and D20-26.

又、比較回路13はS27がOかどうかを検出する回路
であり、比較回路17は526−27の2ビツトが01
であるかどうかを検出する回路である。61から75ま
ではアンドゲートであり、オ7ゲー)80の出力、信号
線101は重複処理不要信号である。S27とD27の
不一致をS27≠D27,820−26とD20−26
の一致を820−26=D20−26というように記す
と、第5図の高速重複検出回路の論理は、(320−2
6≠D20−26)・(S27=D27)+ (320
−26≠D20−26)・(S27=0)・(D27=
1)+ (S26 = D26)・(S27=1)・(
D27=O)+(320−25≠D20−25)・(8
26−327=01)・(D26−27=10)+(S
25=D25)・(S26−27=11)・(D26−
27=OO)+(320−24≠D20−24)・(8
25−27=O1l)・(D25−27 = 100)
+ (324= D24)・(325−27= 111
)・(D25−27=000)+ (S20−23≠D
20−23)・(324−27=0111)・(D24
−27 = 1000) +(S23=D23)・(324−27=1111)・
(D24−27 = 0000)+(320−22≠D
20−22)・(323−27=01111)・(D2
3−27 = 10000) + (822= D22)・(823−27=1111
1)・(D23−27=00000)+(S20−21
=#D20−21)・(322−27=011111)
・(D22−27== 100000)+(S21=D
21)・(S22−27=111111)・(D22−
27=000000)+(320≠D20)・(321
−27=0111111)・(D21−27= 100
0000)+(S20=020)・(321−27=1
11111)・(D21−27 = 000000)と
なる。
Further, the comparison circuit 13 is a circuit that detects whether S27 is O or not, and the comparison circuit 17 is a circuit that detects whether or not S27 is O.
This is a circuit that detects whether or not. 61 to 75 are AND gates, and the output of O7 game) 80 and signal line 101 are signals that do not require duplicate processing. The discrepancy between S27 and D27 is S27≠D27, 820-26 and D20-26
If we write the coincidence of 820-26=D20-26, the logic of the high-speed duplication detection circuit in FIG.
6≠D20-26)・(S27=D27)+(320
-26≠D20-26)・(S27=0)・(D27=
1) + (S26 = D26)・(S27=1)・(
D27=O)+(320-25≠D20-25)・(8
26-327=01)・(D26-27=10)+(S
25=D25)・(S26−27=11)・(D26−
27=OO)+(320-24≠D20-24)・(8
25-27=O1l)・(D25-27=100)
+ (324= D24)・(325-27= 111
)・(D25-27=000)+ (S20-23≠D
20-23)・(324-27=0111)・(D24
-27 = 1000) +(S23=D23)・(324-27=1111)・
(D24-27 = 0000) + (320-22≠D
20-22)・(323-27=01111)・(D2
3-27 = 10000) + (822= D22)・(823-27=1111
1)・(D23-27=00000)+(S20-21
=#D20-21)・(322-27=011111)
・(D22-27== 100000)+(S21=D
21)・(S22-27=111111)・(D22-
27=000000)+(320≠D20)・(321
-27=0111111)・(D21-27=100
0000)+(S20=020)・(321-27=1
11111)・(D21-27=000000).

この論理は、ワード単位の処理を行ってはいけない場合
の 1≦(ティステイネ−ジョンアドレス−ソースアドレス
)(16 という条件を満たすソースアドレスとディスティネーシ
ョンアドレスのそれぞれビット20から27の8ビツト
から得られる一番小さな十分条件の否定となっている。
This logic is obtained from the 8 bits of bits 20 to 27 of the source address and destination address, which satisfy the condition 1 ≦ (destination address - source address) (16) when word-based processing is not allowed. This is a negation of the smallest sufficient condition.

従って、第5図の論理の出力が1となれば、少くともワ
ード単位の処理を行ってもさしつかえないことが保証さ
れる。
Therefore, if the output of the logic shown in FIG. 5 becomes 1, it is guaranteed that at least word-by-word processing can be performed.

この論理は、ソースオペランドレングスをみていないか
ら、オペランドが短くて重複していない場合でも出力が
1とはならないし、又31ビツトのアドレスのうち8ビ
ツトしかみていないため、ソースオペランド長が16バ
イトより大きくて、かつ、ソースアドレスとディスティ
ネーションアドレスが16バイト以上に離れている場合
でも出力が1とならない場合があるが、ソースアドレス
とディスティネーションアドレスが等確率で分布してい
ると仮定すると、全ての組み合わせの99.2%のアド
レスの組み上わせにおいて、信号線101の重複処理不
要信号が1となる。
Since this logic does not look at the source operand length, the output will not be 1 even if the operands are short and do not overlap.Also, since it looks at only 8 bits of the 31-bit address, the source operand length is 16 bytes. Even if it is larger and the source address and destination address are separated by 16 bytes or more, the output may not be 1, but assuming that the source address and destination address are distributed with equal probability, In 99.2% of all combinations of addresses, the redundant processing unnecessary signal on the signal line 101 becomes 1.

次に、第4図及び第6図を参照しつつ本実施例における
MVC命令の処理方法について説明する。
Next, a method for processing MVC instructions in this embodiment will be explained with reference to FIGS. 4 and 6.

第6図は、本実施例におけるMVC命令の処理を示すフ
ローチャートである。
FIG. 6 is a flowchart showing the processing of MVC instructions in this embodiment.

さて、第4図において、マシンサイクル1.2で、ソー
スアドレス、ディスティネーションアドレスがそれぞれ
ソースアドレスレジスタ1.ディスティネーションアド
レスレジスタ2にセットされると高速重複検出回路6に
よって、マシンサイクル2の時に、重複処理不要信号が
0か1かに確定する。さらに、マシンサイクル3でソー
スオペランド長がソースオペランド長がレジスタ3にセ
ットされ、これによって、マシンサイクル50時に、重
複処理要求信号が1か0に確定する。マシンサイクル2
で重複処理不要信号が1に確定した場合、当然マシンサ
イクル4で重複処理要求信号が1となることはない。
Now, in FIG. 4, in machine cycle 1.2, the source address and destination address are respectively set to source address register 1.2. When set in the destination address register 2, the high-speed duplication detection circuit 6 determines whether the duplication processing unnecessary signal is 0 or 1 in machine cycle 2. Further, in machine cycle 3, the source operand length is set in register 3, and as a result, in machine cycle 50, the duplicate processing request signal is determined to be 1 or 0. machine cycle 2
If the redundant processing unnecessary signal is determined to be 1 in , the redundant processing request signal will not become 1 in machine cycle 4, as a matter of course.

そこで、第6図に示すようにMVC命令の処理は、まず
、マシンサイクル2になるのを待ち、マシンサイクル2
となったら重複処理不要信号をテストする。重複処理不
要信号が1となれば即座に、ワード単位の移動処理を開
始し、もし、0であれば、さらにマシンサイクル4にな
るのを待つ。マシンサイクル4となったら、重複処理要
求信号をテストし、0であればワード単位の移動処理を
、lであれば1バイト単位の移動処理を行う。
Therefore, as shown in FIG. 6, the MVC instruction processing first waits for machine cycle 2, and
If so, test the redundant processing unnecessary signal. If the redundant processing unnecessary signal becomes 1, it immediately starts moving processing in units of words, and if it becomes 0, it waits for machine cycle 4. At machine cycle 4, the duplicate processing request signal is tested, and if it is 0, movement processing is performed in units of words, and if it is 1, movement processing is performed in units of 1 byte.

この場合、99.2%はマシンサイクル2でワード単位
の処理が開始され、残りの0.8%のみがマシンサイク
ル4でワード単位あるいは1バイト単位の処理が開始さ
れるわけであり、常にマシンサイクル4でワード単位あ
るいは1バイト単位の処理を開始していた従来技術に比
べ となり、平均的に1.984マシンサイクルもM■C命
令の性能が向上する。
In this case, 99.2% of the time, word-by-word processing starts in machine cycle 2, and only the remaining 0.8% starts word-by-word or 1-byte processing in machine cycle 4. Compared to the prior art in which processing was started in units of words or units of bytes in cycle 4, the performance of the MC instruction is improved by 1.984 machine cycles on average.

本実施例の高速重複処理検出回路は、減算回路や大小比
較回路に比べて、はるかに少ないゲート数とゲート段数
で構成できるため、このような性能向上を図ることが可
能となるが、さらに比較するアドレスのビットを増減す
れば任意の精度を得ることが可能となる。
The high-speed duplicate processing detection circuit of this embodiment can be configured with a much smaller number of gates and gate stages than a subtraction circuit or a magnitude comparison circuit, so it is possible to achieve such performance improvement. By increasing or decreasing the bits of the address, it is possible to obtain any precision.

ちなみに、比較ビットと精度と向上性能は、第従って、
要求される性能及び高速重複検出回路に割当てられるゲ
ート数から比較するビット数を決定すればよい。
By the way, the comparison bit and accuracy and improved performance are, therefore,
The number of bits to be compared may be determined based on the required performance and the number of gates allocated to the high speed duplication detection circuit.

又、あらかじめ本発明を実施する情報処理装置で実行さ
れるソフトウェアの性質がわかっている場合には、その
ソフトウェアに出てくるMVC命令のソースアドレスと
ディスティネーションアドレスの分布に対応させて、高
速重複検出回路の論理を、例えば(S20−26≠D2
0−26)のかわりに(Sl−27≠Di−27)を使
うというように変更すれば、さらに、コストパフォーマ
ンスのよい情報処理装置をつくることが可能とfよる。
Furthermore, if the nature of the software to be executed on the information processing device that implements the present invention is known in advance, high-speed duplication can be performed in accordance with the distribution of source addresses and destination addresses of MVC instructions that appear in the software. For example, the logic of the detection circuit is determined by (S20-26≠D2
According to f, if a change is made to use (Sl-27≠Di-27) instead of (Sl-27≠Di-27), it is possible to create an information processing device with even better cost performance.

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

以上説明したように本発明は、ソースアドレスとディス
ティネーションアドレスの中のビットの一致、不一致あ
るいは0か1かをみることによって高速に重複処理が不
要な場合を検出し、MVC命令の実行方法を制御するこ
とにより、MVC命令の性能を向上できる効果がある。
As explained above, the present invention quickly detects cases where duplicate processing is unnecessary by checking whether the bits in the source address and destination address match, do not match, or are 0 or 1, and determine the execution method of the MVC instruction. Control has the effect of improving the performance of MVC instructions.

本実施例では、従来技術の重複検出回路も並用しである
が、これは本質的ではなく、高速重複検出回路のみを備
え、マシンサイクル2で重複処理不要信号が1とならな
ければ、即座に1バイト単位の処理を開始するように構
成することも可能である。
In this embodiment, a conventional duplicate detection circuit is also used, but this is not essential; only a high-speed duplicate detection circuit is provided, and if the duplicate processing unnecessary signal does not become 1 in machine cycle 2, the It is also possible to configure the system to start processing in 1-byte units.

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

第1図は本発明の一実施例の重複検出部のブロック図、
第2図、第3図はMVC命令のオペランドのメモリ上で
の配置を示す図、第4図は第1図に示す重複検出部の動
作を示すタイムチャート、第5図は第1図に示す高速重
複検出回路6の回路図、第6図はMVC命令の処理を示
すフローチャート図である。 l・・・・・・ソースアドレスレジスタ、2・・・・・
・ディスティネーションアドレスレジスタ、3・・・・
・・ソースオペランド長レジスタ、4・・・・・・差分
レジスタ、5・・・・・・フリップフロップ、6・・・
・・・高速重複検出回路、7・・・・・・減算回路、8
・・・・・・大小比較回路、11〜50・・・・・・比
較回路、61〜75・・・・・・アンドゲート、80・
・・・・・オアゲート。
FIG. 1 is a block diagram of a duplication detection section according to an embodiment of the present invention;
Figures 2 and 3 are diagrams showing the arrangement of MVC instruction operands in memory, Figure 4 is a time chart showing the operation of the duplication detection section shown in Figure 1, and Figure 5 is the diagram shown in Figure 1. FIG. 6 is a circuit diagram of the high-speed duplication detection circuit 6, and is a flowchart showing the processing of MVC instructions. l...Source address register, 2...
・Destination address register, 3...
...Source operand length register, 4...Difference register, 5...Flip-flop, 6...
...High-speed duplication detection circuit, 7...Subtraction circuit, 8
......Size comparison circuit, 11-50...Comparison circuit, 61-75...AND gate, 80.
...or gate.

Claims (1)

【特許請求の範囲】 1、命令で指定するソースアドレスから始まるメモリオ
ペランドデータを、同じく該命令で指定するディスティ
ネーションアドレスから始まるメモリ領域に移動するデ
ータ移動命令を実行する情報処理装置において、前記ソ
ースアドレスから始まるメモリオペランドが前記ディス
ティネーションアドレスから始まるメモリ領域と重複し
ているか否かを異なった方法で検出する複数の重複検出
回路を備え、前記複数の重複検出回路の出力によって、
データ移動命令の実行方法を制御することを特徴とする
情報処理装置。 2、命令で指定するソースアドレスから始まるメモリオ
ペランドデータを、同じく該命令で指定するディスティ
ネーションアドレスから始まるメモリ領域に移動するデ
ータ移動命令を実行する情報処理装置において、前記ソ
ースアドレスと前記ディスティネーションアドレスのあ
らかじめ定められた1つあるいは複数のビットの不一致
を検出する1つあるいは複数の第一の検出回路と、同じ
く、あらかじめ定められた1つあるいは複数のビットの
一致を検出する1つあるいは複数の第2の検出回路と、
前記ソースアドレス又は前記ディスティネーションアド
レスのあらかじめ定められたビットが0か1かを検出す
る1つあるいは複数の第3の検出回路と、データ移動命
令の実行にあたって前記第1、第2、第3の検出回路の
出力よりデータ移動命令の実行方法を制御する判定回路
とからなる高速重複検出回路を備えたことを特徴とする
情報処理装置。
[Scope of Claims] 1. In an information processing device that executes a data movement instruction to move memory operand data starting from a source address specified by the instruction to a memory area starting from a destination address also specified by the instruction, the source comprising a plurality of duplication detection circuits for detecting in different ways whether or not a memory operand starting from an address overlaps a memory area starting from the destination address, and based on the outputs of the plurality of duplication detection circuits,
An information processing device characterized by controlling an execution method of a data movement command. 2. In an information processing device that executes a data movement instruction that moves memory operand data starting from a source address specified by the instruction to a memory area starting from a destination address also specified by the instruction, the source address and the destination address one or more first detection circuits for detecting a mismatch of one or more predetermined bits; and one or more first detection circuits for detecting a match of one or more predetermined bits. a second detection circuit;
one or more third detection circuits for detecting whether a predetermined bit of the source address or the destination address is 0 or 1; An information processing device comprising a high-speed duplication detection circuit including a determination circuit that controls an execution method of a data movement command based on the output of the detection circuit.
JP1212048A 1989-08-16 1989-08-16 Information processing device Expired - Fee Related JP2546384B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP1212048A JP2546384B2 (en) 1989-08-16 1989-08-16 Information processing device
FR9010395A FR2651052B1 (en) 1989-08-16 1990-08-16 INFORMATION PROCESSING APPARATUS
US07/928,641 US5278960A (en) 1989-08-16 1992-08-13 Information processing apparatus having detecting means for operand overlaps

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1212048A JP2546384B2 (en) 1989-08-16 1989-08-16 Information processing device

Publications (2)

Publication Number Publication Date
JPH0374725A true JPH0374725A (en) 1991-03-29
JP2546384B2 JP2546384B2 (en) 1996-10-23

Family

ID=16616006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1212048A Expired - Fee Related JP2546384B2 (en) 1989-08-16 1989-08-16 Information processing device

Country Status (2)

Country Link
JP (1) JP2546384B2 (en)
FR (1) FR2651052B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695874A (en) * 1992-07-28 1994-04-08 Internatl Business Mach Corp <Ibm> Digital computer system
USRE40498E1 (en) 1993-05-27 2008-09-09 Matsushita Electric Industrial Co., Ltd. Variable address length compiler and processor improved in address management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5786953A (en) * 1980-11-20 1982-05-31 Hitachi Ltd Operand address discriminator
JPS5933551A (en) * 1982-08-18 1984-02-23 Nec Corp Operand duplication detecting circuit
JPS61216031A (en) * 1985-03-22 1986-09-25 Hitachi Ltd Detection system for operand overlap
JPS63300323A (en) * 1987-05-29 1988-12-07 Nec Corp Information processor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5530727A (en) * 1978-08-22 1980-03-04 Nec Corp Information processor
US4627017A (en) * 1980-10-22 1986-12-02 International Business Machines Corporation Address range determination

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5786953A (en) * 1980-11-20 1982-05-31 Hitachi Ltd Operand address discriminator
JPS5933551A (en) * 1982-08-18 1984-02-23 Nec Corp Operand duplication detecting circuit
JPS61216031A (en) * 1985-03-22 1986-09-25 Hitachi Ltd Detection system for operand overlap
JPS63300323A (en) * 1987-05-29 1988-12-07 Nec Corp Information processor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695874A (en) * 1992-07-28 1994-04-08 Internatl Business Mach Corp <Ibm> Digital computer system
USRE40498E1 (en) 1993-05-27 2008-09-09 Matsushita Electric Industrial Co., Ltd. Variable address length compiler and processor improved in address management
USRE41959E1 (en) 1993-05-27 2010-11-23 Panasonic Corporation Variable address length compiler and processor improved in address management

Also Published As

Publication number Publication date
JP2546384B2 (en) 1996-10-23
FR2651052A1 (en) 1991-02-22
FR2651052B1 (en) 1994-02-18

Similar Documents

Publication Publication Date Title
JPS62180427A (en) Program control circuit
JPS6028015B2 (en) information processing equipment
JPH0414385B2 (en)
US3405394A (en) Controlled register accessing
KR930018389A (en) Method and apparatus for determining command execution order of data processing system
JPH0374725A (en) Information processor
JPS5911921B2 (en) numerical control device
US5852618A (en) Multiple bit test pattern generator
US5278960A (en) Information processing apparatus having detecting means for operand overlaps
JP2536238B2 (en) Information processing device
JPS595356A (en) General-purpose register controlling system
JPH03137736A (en) Operation tracing system for micro processor
JPS5922142A (en) Data processor
JPS61131047A (en) Pipeline controlling system
JPH01231126A (en) Information processor
JPH03119424A (en) Information processing system and its device
JPH02281341A (en) Write data confirming method for debugging
KR930005840B1 (en) Method for processor identification
JPH03228150A (en) Cache memory controller
JPS62293452A (en) Memory ic diagnosing circuit
JPH02151949A (en) Cache memory device
JPH0378833A (en) Data processor using list processing language
JPS61161560A (en) Memory device
JPS61100835A (en) System for processing comparison and instruction of moving instruction logic
JPH0269866A (en) Vector data processing device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070808

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080808

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080808

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090808

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees