JPH0434620A - Information processor - Google Patents

Information processor

Info

Publication number
JPH0434620A
JPH0434620A JP2139914A JP13991490A JPH0434620A JP H0434620 A JPH0434620 A JP H0434620A JP 2139914 A JP2139914 A JP 2139914A JP 13991490 A JP13991490 A JP 13991490A JP H0434620 A JPH0434620 A JP H0434620A
Authority
JP
Japan
Prior art keywords
source
address
word
instruction
arithmetic circuit
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
JP2139914A
Other languages
Japanese (ja)
Other versions
JP2536238B2 (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 JP2139914A priority Critical patent/JP2536238B2/en
Publication of JPH0434620A publication Critical patent/JPH0434620A/en
Application granted granted Critical
Publication of JP2536238B2 publication Critical patent/JP2536238B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Abstract

PURPOSE:To improve the performance of an MVC instruction without executing one-byte processing unnecessaryly by controlling the executing method of a data moving instruction (MVC instruction) based upon the outputs of 2nd and 3rd comparators. CONSTITUTION:The information processor is provided with a source address register 1, a destination address register 2, a source operand length register 3, the a arithmetic comparator 20, a 2nd arithmetic circuit 5, the 2nd comparator 10, a 3rd arithmetic circuit 9, the 3rd comparator 30, and AND gate 12, a flip flop 13, and signal lines 101 to 113. Whether the processing of each word can be executed or not is decided based upon the outputs of the 2nd and 3rd comparators 10, 30 to control the execution of the MVC instruction. Namely, only the case inhibiting the execution of word-unit processing is accurately detected at the time of executing the MVC instruction ad one-byte processing is executed only when it is really necessary. Consequently, the performance of the MVC instruction can be improved.

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) for moving operand data on a memory. .

〔従来の技術〕[Conventional technology]

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

さて、一般に情報処理装置におけるメモリあるいはキャ
ッシュメモリとのデータの読み書きは、4バイトあるい
は8バイトといった、一定の長さのワードを単位として
行われる。したがって、M■C命令の実行も1バイトず
つデータ移動するのではな(,4バイトあるいは8バイ
トといったワード単位で移動される。また、このことに
よつて、MVC命令の実行性能が、1バイトずつの移動
よりも向上されている。
In general, data is read and written to and from a memory or cache memory in an information processing device in units of words of a certain length, such as 4 bytes or 8 bytes. Therefore, when executing an MVC instruction, data is not moved one byte at a time (it is moved in word units such as 4 bytes or 8 bytes). Moves have been improved over and over again.

さて、MMC命令をワード単位に移動する場合、ソース
オペランドとディスティネーションオペランドとが破壊
的に重複しているとき、問題が発生する。破壊的重複と
は、ソースオペランドの中にディスティネーションアド
レスが含まれている場合である。ソースオペランドとデ
ィスティネーションオペランドとが破壊的に重複してい
ると、1バイトずつの移動とワード単位の移動とでは、
結果が異なる場合が生じてしまう。したがって、このよ
うな重複をしている場合には、MMC命令の実行方法を
、ワード単位ではなく1バイトごとの移動で行うように
変更しなくてはならない。このためには、オペランドの
破壊的重複を検出することが必要である。
Now, when moving an MMC instruction word by word, a problem occurs when the source operand and destination operand overlap destructively. Destructive duplication is when the destination address is included in the source operand. If the source and destination operands overlap destructively, moving byte by byte and moving by word
There may be cases where the results are different. Therefore, in the case of such duplication, the method of executing the MMC instruction must be changed to move byte by byte instead of by word. For this purpose, it is necessary to detect destructive duplication of operands.

従来は、特開昭61−216031号明細書に開示され
ているように、ソースアドレス、ディスティネーション
アドレスおよびソースオペランド長を求めて、それより
、 ソースアドレス≦ディスティネーションアドレス〈ソー
スアドレス+ソースオペランド長という条件が成立する
か否かを調べる。そして、この条件が成立する時は1バ
イト単位の移動処理を行い、成立しなければワード単位
の処理を行っている。
Conventionally, as disclosed in Japanese Patent Application Laid-Open No. 61-216031, the source address, destination address, and source operand length are determined, and from there, source address ≦ destination address < source address + source operand length. Check whether the following conditions hold true. When this condition is satisfied, movement processing is performed in units of bytes, and if this condition is not satisfied, processing is performed in units of words.

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

しかし、上述した従来の破壊的重複検出方式によるMV
C命令の実行方法は、必要以上に1バイト単位の処理を
行うため、MVC命令の性能の向上がはかりにくいとい
う欠点がある。
However, the MV using the conventional destructive duplicate detection method described above
The method of executing C instructions has the drawback that it is difficult to improve the performance of MVC instructions because it processes more bytes than necessary.

本発明の目的は、このような欠点を除去し、MVC命令
の性能を向上できる情報処理装置を提供することにある
An object of the present invention is to provide an information processing device that can eliminate such drawbacks and improve the performance of MVC instructions.

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

本発明は、所定のバイト数からなるワードを単位として
メモリとのデータの読み書きを行い、命令で指定するソ
ースアドレスから始まり、同じくこの命令で指定するソ
ースオペランド長の長さをもつメモリオペランドデータ
を、同じ(この命令で指定するディスティネーションア
ドレスから始まるメモリ領域へ移動するデータ移動命令
を実行する情報処理装置において、 前記ソースアドレスから、前記ソースアドレスの含まれ
るワードの次のワードの最終バイトまでのバイト数を求
める第1の演算回路と、前記ソースアドレスの含まれる
ワードの次のワードの最終バイトのアドレスを求める第
2の演算回路と、 前記ソースアドレスと前記ソースオペランド長よりソー
スオペランドの最終バイトのアドレスを求める第3の演
算回路と、 前記第1の演算回路の出力と前記ソースオペランド長の
大小とを比較する第1の比較回路と、前記ソースアドレ
スと前記ディスティネーションアドレスとの大小を比較
する第2の比較回路と、前記第1の比較回路の出力によ
り、前記第2の演算回路の出力または前記第3の演算回
路の出力と、前記ディスティネーションアドレスとの大
小を比較する第3の比較回路とを有し、 前記第2および第3の比較回路の出力より、前記データ
移動命令の実行方法を制御することを特徴としている。
The present invention reads and writes data to and from memory in units of words consisting of a predetermined number of bytes, and reads and writes memory operand data starting from a source address specified by an instruction and having a source operand length also specified by this instruction. , the same (in an information processing device that executes a data movement instruction that moves data to a memory area starting from a destination address specified by this instruction, a first arithmetic circuit that calculates the number of bytes; a second arithmetic circuit that calculates the address of the final byte of the word next to the word containing the source address; a third arithmetic circuit that calculates the address of the source operand; a first comparison circuit that compares the output of the first arithmetic circuit with the source operand length; and a first comparison circuit that compares the source address with the destination address. and a third comparator circuit that compares the output of the second arithmetic circuit or the output of the third arithmetic circuit with the destination address using the output of the first comparator circuit. and a comparison circuit, and the execution method of the data movement instruction is controlled based on the outputs of the second and third comparison circuits.

〔実施例〕〔Example〕

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

第1図は、本発明の一実施例である情報処理装置の重複
検出部のブロック図である。本実施例の情報処理装置の
アドレスは31ビツトであり、1から31までのビット
番号が与えられる。また、オペランド長は1から256
バイトまでであり、ビット番号23から31までで示さ
れる。さらに、本実施例におけるワードは8バイトであ
る。
FIG. 1 is a block diagram of a duplication detection section of an information processing apparatus that is an embodiment of the present invention. The address of the information processing device in this embodiment is 31 bits, and bit numbers from 1 to 31 are given. Also, the operand length is from 1 to 256.
It is up to a byte and is indicated by bit numbers 23 to 31. Furthermore, a word in this example is 8 bytes.

このような本実施例は、ソースアドレスレジスタ1と、
ディスティネーションアドレスレジスタ2と、ソースオ
ペランド長レジスタ3と、第1の演算・比較回路20と
、第2の演算回路5と、第2の比較回路10と、第3の
演算回路9と、第3の比較回路30と、アンドゲート1
2と、フリップフロップ13と、信号線101〜113
とを備えている。
In this embodiment, the source address register 1 and
Destination address register 2, source operand length register 3, first arithmetic/comparison circuit 20, second arithmetic circuit 5, second comparator circuit 10, third arithmetic circuit 9, third The comparison circuit 30 and the AND gate 1
2, flip-flop 13, and signal lines 101 to 113
It is equipped with

また、第1の演算・比較回路20は反転回路6゜7と演
算回l118とを備え、第3の比較回路30はレジスタ
4と比較回路11とを備えている。
Further, the first arithmetic/comparison circuit 20 includes an inversion circuit 6°7 and an arithmetic circuit 1118, and the third comparator circuit 30 includes a register 4 and a comparator circuit 11.

このような本実施例において、ソースアドレスレジスタ
1.ディスティネーションアドレスレジスタ2.ソース
オペランド長レジスタ3は、いずれも命令解読部より値
がセットされるものである。
In this embodiment, source address registers 1. Destination address register 2. All of the source operand length registers 3 have values set by the instruction decoder.

第1の演算・比較回路20の反転回路6,7は、ソース
アドレスレジスタ1およびソースオペランド長レジスタ
3の出力を反転させるものであり、演算回路8と共に第
1の演算回路、第1の比較回路を構成する。
The inversion circuits 6 and 7 of the first arithmetic/comparison circuit 20 invert the outputs of the source address register 1 and the source operand length register 3, and together with the arithmetic circuit 8, the first arithmetic circuit and the first comparison circuit Configure.

演算回路8は、ソースアドレスレジスタ1の出力のビッ
ト29から31までの3ビツトの反転した値と、+10
すなわち1010の4ビツトと、ソースオペランド長レ
ジスタ3の出力の反転したビット23がら31までの9
ビツトとをそれぞれ右づめで加算し、結果のビット23
を信号線108に出力する。結果のビット23は、ソー
スアドレスの下位3ビツト、すなわちソースアドレスの
ワード内部分のアドレスを16バイトより引き、ソース
アドレスからソースアドレスの含まれるワードの次のワ
ードの最終バイトのバイト数を求め、さらにその結果よ
りソースオペランド長を減算した結果の符号ビットであ
り、ソースアドレスからソースアドレスの含まれる次の
ワードの最終バイトまでのバイト数と、ソースオペラン
ド長とを比較し、ソースオペランド長の方が長いとき1
となる。
Arithmetic circuit 8 calculates the inverted value of 3 bits from bits 29 to 31 of the output of source address register 1 and +10
That is, 4 bits of 1010 and 9 bits of the inverted bits 23 to 31 of the output of source operand length register 3.
Bit 23 of the result is added right-justified.
is output to the signal line 108. Bit 23 of the result subtracts the lower 3 bits of the source address, that is, the address within the word of the source address from the 16 bytes, and calculates the number of bytes of the last byte of the word next to the word containing the source address from the source address. Furthermore, it is the sign bit of the result of subtracting the source operand length from the result, and the number of bytes from the source address to the last byte of the next word containing the source address is compared with the source operand length. When is long 1
becomes.

演算回路5は、ソースアドレスのビット1から28の下
位に3ビツトの0をつなげ、さらに+15、すなわち1
111を加算する回路で、ソースアドレスの含まれるワ
ードの次のワードの最終バイトのアドレスを出力する。
Arithmetic circuit 5 connects 3 bits of 0 to the lower bits of bits 1 to 28 of the source address, and then adds +15, that is, 1
A circuit that adds 111 outputs the address of the last byte of the word following the word containing the source address.

演算回路9は、ソースアドレスに、ソースオペランド長
と−1とを加算する回路で、ソースアドレス+ソースオ
ペランド長−Lすなわちソースオペランドの最終バイト
のアドレスを出力する。
The arithmetic circuit 9 is a circuit that adds the source operand length and -1 to the source address, and outputs the source address+source operand length -L, that is, the address of the last byte of the source operand.

第2の比較回路10は、ソースアドレスとディスティネ
ーションアドレスとを比較し、ソースアドレスよりディ
スティネーションアドレスが大きいとき、1を出力する
The second comparison circuit 10 compares the source address and the destination address, and outputs 1 when the destination address is greater than the source address.

第3の比較回路30のレジスタ4は、第1の比較回路の
出力の1,0に対応して、第2の演算回路5の出力、第
3の演算回路9の出力をセットするものであり、比較回
路11と共に第3の比較回路を構成する。すなわち、レ
ジスタ4は、演算回路日の出力が1のときは演算回路5
の出力を保持し、また演算回路8の出力がOのときは演
算回路9の出力をそれぞれ保持するレジスタである。そ
して、ソースアドレスから、次のワードの最終バイトま
でのバイト数と、ソースオペランド長とを比較して、ソ
ースオペランド長が長ければ、ソースアドレスの次のワ
ードの最終バイトのアドレスが保持され、また長くなけ
れば、ソースオペランドの最終バイトのアドレスが保持
される。
The register 4 of the third comparator circuit 30 sets the output of the second arithmetic circuit 5 and the output of the third arithmetic circuit 9 in response to the outputs of 1 and 0 of the first comparator circuit. , constitute a third comparison circuit together with the comparison circuit 11. In other words, when the output of the arithmetic circuit is 1, the register 4 outputs the arithmetic circuit 5.
This register holds the output of the arithmetic circuit 8, and also holds the output of the arithmetic circuit 9 when the output of the arithmetic circuit 8 is O. The number of bytes from the source address to the last byte of the next word is compared with the source operand length. If the source operand length is long, the address of the last byte of the word next to the source address is retained; If it is not long, the address of the last byte of the source operand is retained.

比較回路11は、ディスティネーションアドレスと、レ
ジスタ4の出力とを比較し、ディスティネーションアド
レスがレジスタ4の出力と等しいが、あるいは小さいと
き、1を出力する。
Comparison circuit 11 compares the destination address and the output of register 4, and outputs 1 when the destination address is equal to or smaller than the output of register 4.

アンドゲート12は、フリップフロップ13に接続され
、最終的に信号線1130重複処理要求信号として出力
する。すなわち、アンドゲート12は、比較回路10.
11の出力が共に1のとき、信号線112に1を出力す
る。
The AND gate 12 is connected to the flip-flop 13 and finally outputs a signal line 1130 as a duplicate processing request signal. That is, the AND gate 12 connects the comparator circuit 10.
When both outputs of 11 are 1, 1 is output to the signal line 112.

次に、第2図を参照しつつ、本・実施例における破壊的
重複がない時のMVC命令のワード単位の処理について
説明する。第2図は、ソースアドレスが81%+7、ソ
ースオペランド長が16バイト、ディスティネーション
アドレスが8.+1の場合のメモリ上のオペランドの様
子を示す図である。
Next, with reference to FIG. 2, word-by-word processing of MVC instructions when there is no destructive duplication in this embodiment will be described. In Figure 2, the source address is 81%+7, the source operand length is 16 bytes, and the destination address is 8. FIG. 7 is a diagram showing the state of operands on memory in the case of +1.

本実族゛例の情報処理装置では8バイトを1ワードとし
てメモリとのデータのやりとりを行うため、ソースオペ
ランドは8バイト単位の3回のリードによって、RWI
、RW2.RW3の3つの部分に分割して読み出される
。一方、ディスティネーションオペランドも、8バイト
単位の3回のライトによってWWI、WW2.WW3の
3つの部分に分割して書き込まれる。MVC命令の処理
方法としてソースオペランドをすべて読み込んでからデ
ィスティネーションアドレスへ書き込むという方法もあ
るが、それでは、読み込んだオペランドデータを記憶し
ておくためのハードウェアが大きくなりすぎるので、本
実施例では読み込みと書き込みとをほぼ並行して行う。
In the information processing device of this real family example, 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, and the RWI
, RW2. It is divided into three parts of RW3 and read out. On the other hand, the destination operand is also written three times in 8-byte units to write WWI, WW2. WW3 is divided into three parts and written. One way to process an MVC instruction 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 in this example and writing are performed almost in parallel.

第2図において最初の書き込みWWlを行うには、RW
IとRW2より、WWlのデータを作成しなければなら
ない。
To perform the first write WWl in FIG.
Data for WWl must be created from I and RW2.

したがって、最初の書き込みの前に少なくとも2回のソ
ースオペランドの読み込みを行わなくてはならない。ソ
ースアドレスとディスティネーションアドレスとの関係
によって、1回の読み込みで最初の書き込みデータがそ
ろう場合もあるが、制御の簡単のために、1回の読み込
みですべてのソースオペランドが読み込めない時は、常
に2回連続してソースオペランドの読み込みを行う。そ
の後は、書き込みと読み込みとを交互に繰り返し、ソー
スオペランドの読み込みが完了した時点で、ディスティ
ネーションオペランドの書き込みが完了するまで、さら
に書き込みを行うというように処理を行う。
Therefore, the source operand must be read at least twice before the first write. Depending on the relationship between the source address and destination address, the first write data may be available in one read, but for ease of control, if all source operands cannot be read in one read, always Reads the source operand twice in succession. Thereafter, writing and reading are repeated alternately, and when the reading of the source operand is completed, further writing is performed until the writing of the destination operand is completed, and so on.

さて、以上のような処理方法を採用すると、第3図に示
すように、オペランドが破壊的重複をしていても、ディ
スティネーションアドレスがソースアドレスの含まれる
ワードとその次のワードの中になければ8バイト単位の
ワード処理を行っても、1バイト単位の処理を行った時
と同じ結果が得られる。したがって、ワード単位の処理
を行ってはいけない場合は、 ソースアドレスから次ワード最終バイトまでのバイト数
〈ソースオペランド長 および、 ソースアドレスくディスティネーションアドレス≦ソー
スアドレス次ワード最終バイトアドレスまたは、 ソースアドレスから次ワード最終バイトまでのバイト数
≧ソースオペランド長 および ソースアドレスくディスティネーションアドレス≦ソー
スオペランド最終バイトアドレスの条件が成立する時と
なる。この条件を検出する論理が第1図に示す本実施例
である。
Now, if the above processing method is adopted, as shown in Figure 3, even if the operands are destructively duplicated, the destination address must be within the word containing the source address and the next word. For example, even if word processing is performed in units of 8 bytes, the same result as processed in units of 1 byte can be obtained. Therefore, if word-by-word processing should not be performed, the number of bytes from the source address to the last byte of the next word is determined by the number of bytes from the source address to the last byte of the next word. This is when the condition of number of bytes up to the last byte of the next word≧source operand length and source address, destination address≦source operand final byte address is satisfied. The logic for detecting this condition is the present embodiment shown in FIG.

次に、第4図、第5図を参照しつつ、本実施例における
MVC命令の実行について説明する。
Next, execution of the MVC instruction in this embodiment will be explained with reference to FIGS. 4 and 5.

第4図はタイムチャートであり、マシンサイクル1で、
ソースアドレスレジスタ1にソースアドレスがセットさ
れ、ソースオペランド長l/ジスタ3にソースオペラン
ド長がセットされ、ソースアドレスから次ワードの最終
バイトまでのバイト数とソースオペランド長とが比較さ
れ、短い方の最終バイトアドレスがレジスタ4にマシン
サイクル2でセットされる。マシンサイクル2では、同
時にディスティネーションアドレスレジスタ2にディス
ティネーションアドレスがセットされる。これより、重
複処理要求信号がマシンサイクル3でフリップフロップ
13に0か1に確定する。
Figure 4 is a time chart, and in machine cycle 1,
The source address is set in source address register 1, the source operand length is set in source operand length l/register 3, the number of bytes from the source address to the last byte of the next word is compared with the source operand length, and the shorter one is The final byte address is set in register 4 in machine cycle 2. In machine cycle 2, a destination address is set in destination address register 2 at the same time. As a result, the duplicate processing request signal is determined to be 0 or 1 in the flip-flop 13 in machine cycle 3.

第5図は、MVC命令の処理を示すフローチャートであ
る。
FIG. 5 is a flowchart showing the processing of MVC instructions.

まず、MVC命令の実行により、マシンサイクル3にな
るのを待つ(ステップSl)。ステッププS1でマシン
サイクル3となって重複処理要求信号が確定したら(ス
テップs2)、重複処理要求信号をテストする。ステッ
プS2で重複処理要求信号が0であればワード単位の移
動処理を行い(ステップS3)、1であれば1バイト単
位の処理を行う(ステップS4)。
First, it waits for machine cycle 3 to occur due to execution of the MVC instruction (step Sl). When machine cycle 3 is reached in step S1 and the duplicate processing request signal is determined (step s2), the duplicate processing request signal is tested. If the duplicate processing request signal is 0 in step S2, movement processing is performed in units of words (step S3), and if it is 1, processing is performed in units of bytes (step S4).

以上まとめると、ソースアドレスから次のワードの最終
バイトまでのバイト数がソースオペランド長より短い時
、ソースアドレスと、ソースアドレスの含まれるワード
の次のワードの最終バイトまでの間にディスティネーシ
ョンアドレスがある時、重複処理要求信号が1になり、
逆にソースオペランド長が短い時は、ソースアドレスと
、ソースオペランドの最終バイトの間にディスティネー
ションアドレスがある時、信号線113の重複処理要求
信号が1となる。
In summary, when the number of bytes from the source address to the last byte of the next word is shorter than the source operand length, the destination address is between the source address and the last byte of the word following the word containing the source address. At some point, the duplicate processing request signal becomes 1,
Conversely, when the source operand length is short and the destination address is between the source address and the last byte of the source operand, the duplication process request signal on the signal line 113 becomes 1.

このように、本実施例である情報処理装置では、1バイ
ト単位の移動処理が必要な場合を正確に検出するために
、ソースアドレスからソースアドレスの含まれるワード
の次のワードの最終バイトまでのバイト数を求める第1
の演算回路と、ソースアドレスの含まれるワードの次の
ワードの最終バイトのアドレスを求める第2の演算回路
と、ソースオペランドの最終バイトのアドレスを求める
第3の演算回路と、第1の演算回路の出力とソースオペ
ランド長とを比較する第1の比較回路と、ソースアドレ
スとディスティネーションアドレスとを比較する第2の
比較回路と、第1の比較回路の出力により、第2の演算
回路の出力または第3の演算回路の出力とディスティネ
ーションアドレスを比較する第3の比較回路とを備え、
第2.第3の比較回路の出力よりワード単位の処理が可
能かどうかを判断して、MVC命令の実行を制御してい
る。
In this way, in the information processing apparatus according to this embodiment, in order to accurately detect when movement processing in units of bytes is required, the information processing apparatus moves from the source address to the last byte of the word next to the word containing the source address. The first step is to find the number of bytes.
a second arithmetic circuit for determining the address of the final byte of the word following the word containing the source address; a third arithmetic circuit for determining the address of the final byte of the source operand; and a first arithmetic circuit. A first comparison circuit compares the output of the source operand with the source operand length, a second comparison circuit compares the source address and the destination address, and the output of the second arithmetic circuit is determined by the output of the first comparison circuit. or a third comparison circuit that compares the output of the third arithmetic circuit and the destination address;
Second. Execution of the MVC instruction is controlled by determining whether word-by-word processing is possible based on the output of the third comparison circuit.

これにより、本実施例は、MVC命令の実行において、
ワード単位の処理を行ってはならない場合のみを正確に
検出し、本当に必要な場合のみ1バイト単位の処理を行
うようにしたため、従来、破壊的重複が検出され1バイ
ト単位の処理が行われていたほとんどの場合で高速なワ
ード単位の処理が行われ、結果としてMVC命令の性能
を向上させることができる。
As a result, in this embodiment, in the execution of the MVC instruction,
This system accurately detects only cases in which word-based processing should not be performed, and performs 1-byte processing only when it is truly necessary. Conventionally, destructive duplication was detected and 1-byte processing was performed. In most cases, high-speed word-by-word processing is performed, and as a result, the performance of MVC instructions can be improved.

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

以上説明したように、本発明によれば、データ移動命令
の性能を向上できる効果がある。
As described above, the present invention has the effect of improving the performance of data movement commands.

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

第1図は、本発明の一実施例を示すブロック図、第2図
、第3図は、MVC命令のオペランドのメモリ上での配
置を示す図、 第4図は、第1図の動作を示すタイムチャート、第5図
は、MVC命令の処理を示すフローチャートである。 1・・・・・ソースアドレスレジスタ 2・・・・・ディスティネーションアドレスレジスタ ・ソースオペランド長レジスタ ・レジスタ ・第2の演算回路 ・反転回路 ・演算回路 ・第3の演算回路 ・第2の比較回路 ・比較回路 ・アンドゲート ・フリップフロップ ・第1の演算・比較回路 3 ・ 4 ・ 5 ・ 6゜ 8 ・ 9 ・ 10・ II ・ 12・ 13・ 20・ 30・・・・・第3の比較回路
FIG. 1 is a block diagram showing one embodiment of the present invention, FIGS. 2 and 3 are diagrams showing the arrangement of operands of an MVC instruction in memory, and FIG. 4 shows the operation of FIG. 1. The time chart shown in FIG. 5 is a flowchart showing processing of an MVC instruction. 1...Source address register 2...Destination address register, source operand length register, register, second arithmetic circuit, inversion circuit, arithmetic circuit, third arithmetic circuit, second comparison circuit・Comparison circuit ・AND gate ・Flip-flop ・First calculation/comparison circuit 3 ・ 4 ・ 5 ・ 6° 8 ・ 9 ・ 10 ・ II ・ 12 ・ 13 ・ 20 ・ 30 ... Third comparison circuit

Claims (1)

【特許請求の範囲】[Claims] (1)所定のバイト数からなるワードを単位としてメモ
リとのデータの読み書きを行い、命令で指定するソース
アドレスから始まり、同じくこの命令で指定するソース
オペランド長の長さをもつメモリオペランドデータを、
同じくこの命令で指定するディスティネーションアドレ
スから始まるメモリ領域へ移動するデータ移動命令を実
行する情報処理装置において、 前記ソースアドレスから、前記ソースアドレスの含まれ
るワードの次のワードの最終バイトまでのバイト数を求
める第1の演算回路と、 前記ソースアドレスの含まれるワードの次のワードの最
終バイトのアドレスを求める第2の演算回路と、 前記ソースアドレスと前記ソースオペランド長よりソー
スオペランドの最終バイトのアドレスを求める第3の演
算回路と、 前記第1の演算回路の出力と前記ソースオペランド長の
大小とを比較する第1の比較回路と、前記ソースアドレ
スと前記ディスティネーションアドレスとの大小を比較
する第2の比較回路と、前記第1の比較回路の出力によ
り、前記第2の演算回路の出力または前記第3の演算回
路の出力と、前記ディスティネーションアドレスとの大
小を比較する第3の比較回路とを有し、 前記第2および第3の比較回路の出力より、前記データ
移動命令の実行方法を制御することを特徴とする情報処
理装置。
(1) Data is read and written from memory in units of words consisting of a predetermined number of bytes, and memory operand data starting from the source address specified by the instruction and having the length of the source operand also specified by this instruction,
In an information processing device that executes a data movement instruction to move data to a memory area starting from a destination address specified by this instruction, the number of bytes from the source address to the final byte of the word next to the word containing the source address. a first arithmetic circuit that calculates the address of the final byte of the word following the word containing the source address; and a second arithmetic circuit that calculates the address of the final byte of the source operand from the source address and the source operand length. a third arithmetic circuit that calculates the length of the source operand; a first comparator circuit that compares the output of the first arithmetic circuit with the source operand length; and a third comparator circuit that compares the source address with the destination address. a third comparator circuit that compares the output of the second arithmetic circuit or the output of the third arithmetic circuit with the destination address using the output of the second comparator circuit and the first comparator circuit; An information processing device comprising: controlling an execution method of the data movement instruction based on the outputs of the second and third comparison circuits.
JP2139914A 1990-05-31 1990-05-31 Information processing device Expired - Lifetime JP2536238B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2139914A JP2536238B2 (en) 1990-05-31 1990-05-31 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2139914A JP2536238B2 (en) 1990-05-31 1990-05-31 Information processing device

Publications (2)

Publication Number Publication Date
JPH0434620A true JPH0434620A (en) 1992-02-05
JP2536238B2 JP2536238B2 (en) 1996-09-18

Family

ID=15256588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2139914A Expired - Lifetime JP2536238B2 (en) 1990-05-31 1990-05-31 Information processing device

Country Status (1)

Country Link
JP (1) JP2536238B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073447B2 (en) 2013-09-13 2018-09-11 Hitachi, Ltd. Abnormality diagnosis method and device therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073447B2 (en) 2013-09-13 2018-09-11 Hitachi, Ltd. Abnormality diagnosis method and device therefor

Also Published As

Publication number Publication date
JP2536238B2 (en) 1996-09-18

Similar Documents

Publication Publication Date Title
JPS62180427A (en) Program control circuit
US4630192A (en) Apparatus for executing an instruction and for simultaneously generating and storing related information
KR930018389A (en) Method and apparatus for determining command execution order of data processing system
JPH0434620A (en) Information processor
KR910001708B1 (en) Central processing unit
JPH0950376A (en) Data processor
JPH0374725A (en) Information processor
JPS6235142B2 (en)
JPH04171542A (en) Microprocessor containing debugging function
KR100304607B1 (en) System for processing high-speed command for programmable logic controller
JPS62279438A (en) Tracking circuit
JP2908117B2 (en) Vector arithmetic processing unit
JPH064331A (en) Decimal check circuit
JPH01231126A (en) Information processor
KR930005840B1 (en) Method for processor identification
JPH0234058B2 (en)
JPS62130436A (en) Trace controller
JPS629926B2 (en)
JPH05298178A (en) Semiconductor integrated circuit
JPH0412855B2 (en)
JPS5936853A (en) Operation processor
JPH03119424A (en) Information processing system and its device
JPH0433136A (en) Microprocessor
JPS6379140A (en) Digital integrated circuit
JPH03113659A (en) Cache memory testing method

Legal Events

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

Free format text: PAYMENT UNTIL: 20070708

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20080708

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 14

EXPY Cancellation because of completion of term