Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6133215B2 - - Google Patents
[go: Go Back, main page]

JPS6133215B2 - - Google Patents

Info

Publication number
JPS6133215B2
JPS6133215B2 JP55163582A JP16358280A JPS6133215B2 JP S6133215 B2 JPS6133215 B2 JP S6133215B2 JP 55163582 A JP55163582 A JP 55163582A JP 16358280 A JP16358280 A JP 16358280A JP S6133215 B2 JPS6133215 B2 JP S6133215B2
Authority
JP
Japan
Prior art keywords
operand
bytes
difference value
circuit
length
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.)
Expired
Application number
JP55163582A
Other languages
Japanese (ja)
Other versions
JPS5786953A (en
Inventor
Minoru Nishisaka
Suketaka Ishikawa
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP55163582A priority Critical patent/JPS5786953A/en
Publication of JPS5786953A publication Critical patent/JPS5786953A/en
Publication of JPS6133215B2 publication Critical patent/JPS6133215B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30018Bit or string instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】 本発明は、オペランド・アドレス判定装置に関
し、詳しくは、電子計算機内で判読できる命令語
によつて指定された2つのオペランドが、そのオ
ペランド長の範囲内で重複しているか否かを判定
する装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an operand address determination device, and more particularly, the present invention relates to an operand address determination device, and more particularly, the present invention relates to an operand address determination device that determines whether two operands specified by instruction words readable within an electronic computer overlap within the range of the operand length. The present invention relates to a device that determines whether or not a person is present.

電子計算機で使用される命令の形式には、種々
のものがあるが、一般には、第1図aに示すよう
に、加減算、論理演算、転送等の動作を指定する
命令コードFと、第1オペランドのある番地OA
1、第2オペランドのある番地OA2、および両
オペランドOP1,OP2のバイト数(オペランド
長)Lとで構成されている。オペランドのバイト
数としては、2バイト、4バイト、8バイト、16
バイト、32バイト等があり、電子計算機によつて
いずれかに固定されている場合には特に指定する
必要はないが、オペランド長が固定されていない
場合や、第1と第2のオペランド長が異なる場合
には、それぞれL1,L2を指定する必要がある。
There are various formats of instructions used in electronic computers, but generally, as shown in Figure 1a, an instruction code F that specifies an operation such as addition/subtraction, logical operation, or transfer, and a first Address OA with operand
1, the address OA2 where the second operand is located, and the number of bytes (operand length) L of both operands OP1 and OP2. The number of bytes of the operand is 2 bytes, 4 bytes, 8 bytes, 16
bytes, 32 bytes, etc., and there is no need to specify it if either is fixed by the computer, but if the operand length is not fixed or the first and second operand lengths are If they are different, it is necessary to specify L 1 and L 2 respectively.

いま、両オペランド長L1,L2が、第1図bに
示すように、同一バイト数であり、記憶装置30
内で第1図cに示すように、両オペランドOP
1,OP2が重複したアドレスに格納されている
場合、計算機の種類によつて異なるが、特殊な処
理を行う必要がある。すなわち、アドレス上で重
複しているオペランド部分xのみは、1バイトず
つ処理しなければならない。
Now, both operand lengths L 1 and L 2 are the same number of bytes, as shown in FIG.
As shown in Figure 1c, both operands OP
1. If OP2 is stored at a duplicate address, special processing must be performed, depending on the type of computer. That is, only the operand portion x that overlaps on the address must be processed one byte at a time.

オペランドOP1,OP2が記憶装置30内で重
複していない場合、4バイト・マシンでは4バイ
トずつ処理をするのが通常であり、例えば加減算
処理のときには、第1オペランドOP1と第2オ
ペランドOP2を4バイトずつ読み出して、加減
算を行つた後、その結果を第1オペランドOP1
が格納されていたアドレスに格納する。
If operands OP1 and OP2 are not duplicated in the storage device 30, 4-byte machines usually process 4 bytes at a time. For example, when performing addition/subtraction processing, the first operand OP1 and the second operand OP2 are processed by 4 bytes. After reading byte by byte and performing addition/subtraction, the result is sent to the first operand OP1.
is stored at the address where it was stored.

これに対して、両オペランドOP1,OP2が第
1図cに示すように重複しており、特に第1オペ
ランドOP1の先頭アドレスの部分で重複してい
る場合に、もし4バイト処理を行うと、読み出し
て加減算を行つた後に、その結果を第1オペラン
ドOP1が格納されていたアドレスに書き込むた
め、第1オペランドOP1の内容が変更されてし
まい、他の処理で再び第1オペランドOP1のデ
ータが読み出されたとき、誤つた内容のデータを
使用することになる。
On the other hand, if both operands OP1 and OP2 overlap as shown in Figure 1c, especially at the start address of the first operand OP1, if 4 bytes are processed, After reading and performing addition and subtraction, the result is written to the address where the first operand OP1 was stored, so the contents of the first operand OP1 are changed, and the data of the first operand OP1 is read again in other processing. When issued, data with incorrect contents will be used.

したがつて、このようにオペランドOP1,OP
2が重複しているか否かをチエツクし、重複して
いる場合には、重複している部分を1バイトずつ
処理して、内容が変更されないようにする。
Therefore, the operands OP1, OP
2 is duplicated, and if so, the duplicated parts are processed one byte at a time to prevent the contents from being changed.

なお、1バイト処理しかできない計算機の場合
には、重複して記憶されていても何ら問題は生じ
ない。
Note that in the case of a computer that can only process one byte, no problem will occur even if the data is stored redundantly.

次に、両オペランドOP1,OP2が互いに重複
している関係にあるか否かを判定する方法として
は、従来、両オペランド・アドレスOA1,OA
2を比較演算し、その差分値(OA1−OA2)
とオペランド長Lをさらに比較演算して、オペラ
ンド長Lが差分値より大きければ重複しており、
小さければ重複していないと判定している。すな
わち、第2図に示すように、演算器31で両オペ
ランド・アドレスOA1,OA2の差分値を演算
し、次いで演算器32でオペランド長Lと差分値
とを減算し、その結果を判定回路33で判定す
る。
Next, as a method for determining whether or not both operands OP1 and OP2 have an overlapping relationship with each other, conventionally, both operand addresses OA1 and OA
Compare 2 and calculate the difference value (OA1-OA2)
A further comparison operation is performed between and the operand length L, and if the operand length L is larger than the difference value, there is a duplicate.
If it is smaller, it is determined that there is no overlap. That is, as shown in FIG. 2, the arithmetic unit 31 calculates the difference value between both operand addresses OA1 and OA2, then the arithmetic unit 32 subtracts the operand length L and the difference value, and the result is sent to the determination circuit 33. Judge by.

しかし、この方法では、演算器を2回通すこと
により判定可能であるが、演算器31を通すのに
1マシン・サイクル、演算器32を通すのに1マ
シン・サイクル、さらに判定回路33の判定動作
に1マシン・サイクルの合計3マシン・サイクル
かかり、2回の演算器を通す時間だけ判定できる
タイミングが遅れてしまう。
However, in this method, it is possible to make a decision by passing it through the arithmetic unit twice, but it takes one machine cycle to pass through the arithmetic unit 31, one machine cycle to pass through the arithmetic unit 32, and the judgment of the judgment circuit 33. The operation takes one machine cycle, a total of three machine cycles, and the timing at which it can be determined is delayed by the time it takes to pass through the arithmetic unit twice.

一般に、オペランド重複のチエツクは、命令語
の先頭で行われるが、判定できるタイミングが遅
れると、それだけ性能は低下する。
Generally, a check for operand duplication is performed at the beginning of an instruction word, but the longer the timing at which the determination can be made is delayed, the lower the performance will be.

本発明の目的は、このような従来の欠点を改善
し、オペランドが重複しているか否かを判定する
ための演算器の数を減少して、判定できるタイミ
ングを速くし、計算機の性能低下を防止できるオ
ペランド・アドレス判定装置を提供することにあ
る。
The purpose of the present invention is to improve such conventional drawbacks, reduce the number of arithmetic units for determining whether operands are duplicated, speed up the timing at which the determination can be made, and prevent deterioration in computer performance. An object of the present invention is to provide an operand address determination device that can prevent such problems.

本発明のオペランド・アドレス判定装置は、2
つのオペランド・アドレスの差分値を求める演算
器、そのアドレスの差分値を複数個の大きさの段
階別に判別する差分判別回路、指定されたオペラ
ンド長を複数個の大きさの段階別に判別するオペ
ランド長判別回路、および前記段階別に対応した
両オペランド・アドレスの差分値とオペランド長
の大小を比較する判定回路を具備し、両オペラン
ドが互いにそのオペランド長の範囲内で重複する
か否かを判定することを特徴としている。
The operand address determination device of the present invention comprises two
an arithmetic unit that calculates the difference value between two operand addresses; a difference determination circuit that determines the difference value between the addresses in multiple size steps; and an operand length that determines the specified operand length in multiple size steps. A determination circuit is provided, and a determination circuit is provided that compares the difference value between the operand addresses corresponding to each stage and the magnitude of the operand length, and determines whether or not the two operands overlap each other within the range of the operand lengths. It is characterized by

以下、本発明の実施例を、図面により説明す
る。
Embodiments of the present invention will be described below with reference to the drawings.

第3図は、本発明の実施例を示すオペランド・
アドレス判定装置の論理構成図である。
FIG. 3 shows an operand diagram illustrating an embodiment of the present invention.
FIG. 2 is a logical configuration diagram of an address determination device.

第3図に示すオペランド・アドレス判定装置
は、両オペランド・アドレスの差分値を求める演
算器3と、その差分値を複数個の大きさの段階別
に判別する判別回路4,5,6と、オペランド長
を上記と同じ、あるいは異なる大きさの段階別に
判別する判別回路8,9と、判別結果を互いに対
応させてオペランド長と差分値を比較する論理積
回路10,11,12とを具備することにより、
出力端子20のレベルをみてオペランド長がアド
レスの差分値以上か、以下かを判定する。
The operand address determination device shown in FIG. Discrimination circuits 8 and 9 that discriminate the length in stages of the same or different sizes as above, and AND circuits 10, 11, and 12 that correlate the discrimination results with each other and compare the operand length and the difference value. According to
The level of the output terminal 20 is checked to determine whether the operand length is greater than or equal to the address difference value.

本実施例では、オペランド・アドレスを2バイ
ト(16ビツト)とし、オペランド長を16バイト以
下(4ビツトで表わす)と仮定する。
In this embodiment, it is assumed that the operand address is 2 bytes (16 bits) and the operand length is 16 bytes or less (represented by 4 bits).

第1アドレス・レジスタ1および第2アドレ
ス・レジスタ2には、それぞれ第1オペランド・
アドレスOA1と第2オペランド・アドレスOA
2がセツトされる。演算器3は、第1オペラン
ド・アドレスOA1と第2オペランド・アドレス
OA2の差分値(絶対値)を求める。差分(16)
判別回路4は、差分値が16バイト以下であること
を判別し、この判別だけではまだ重複している可
能性があることを、インバータ出力13によつて
示している。差分(8)判別回路5は、差分値が8バ
イト以下であることを判別し、出力14でこれを
示しており、差分(4)判別回路6は、差分値が4バ
イト以下であることを判別し、これを出力15で
示している。
The first address register 1 and the second address register 2 each contain the first operand.
Address OA1 and second operand address OA
2 is set. Arithmetic unit 3 has a first operand address OA1 and a second operand address
Find the difference value (absolute value) of OA2. Difference (16)
The determination circuit 4 determines that the difference value is 16 bytes or less, and the inverter output 13 indicates that there is still a possibility that there is a duplicate even if only this determination is made. The difference (8) determination circuit 5 determines that the difference value is 8 bytes or less, and indicates this with the output 14, and the difference (4) determination circuit 6 determines that the difference value is 4 bytes or less. This is shown in output 15.

オペランド長レジスタ7には、指定されたオペ
ランド長がセツトされており、本実施例では第1
オペランドOP1、第2オペランドOP2ともに、
長さが等しいものと仮定する。
A specified operand length is set in the operand length register 7, and in this embodiment, the first operand length is set.
Both operand OP1 and second operand OP2,
Assume that the lengths are equal.

オペランド長(8)判別回路8、オペランド長(4)判
別回路9は、それぞれオペランド長が8バイト、
あるいは4バイト以下であることを判別し、出力
16、あるいは17により論理積回路10,11
に通知する。
Operand length (8) discrimination circuit 8 and operand length (4) discrimination circuit 9 each have an operand length of 8 bytes,
Or, it determines that it is 4 bytes or less, and outputs 16 or 17 to AND circuits 10 and 11.
to notify.

2入力論理積回路10,11と3入力論理積回
路12は、オペランド長が両アドレスの差分値以
下か否かを判定する。
The 2-input AND circuits 10 and 11 and the 3-input AND circuit 12 determine whether the operand length is less than or equal to the difference value between both addresses.

第4図は、第3図における差分判別回路の構造
を示す図である。
FIG. 4 is a diagram showing the structure of the difference discrimination circuit in FIG. 3.

以下、信号線のレベルは、ハイレベルを
“H”、ローレベルを“L”として表わすものとす
る。
Hereinafter, the level of the signal line will be expressed as "H" for high level and "L" for low level.

演算器3の出力端子として、ピン番号0〜15が
配列されており、すべてのピン出力が“H”のと
きには、217バイトの出力となる。
Pin numbers 0 to 15 are arranged as output terminals of the arithmetic unit 3, and when all pin outputs are "H", the output is 217 bytes.

オペランド長16バイトとの比較を行うため、
差分値出力も16バイト以上の値は無視してよい。
したがつて、演算器出力の先頭から12ビツト(ピ
ン番号0〜11)の出力がすべて“L”の場合につ
いてのみ差分値を判別する。
In order to compare with the operand length of 16 bytes,
Values of 16 bytes or more can be ignored in the differential value output.
Therefore, the difference value is determined only when the outputs of the first 12 bits (pin numbers 0 to 11) of the arithmetic unit output are all "L".

ビツト0〜11の出力信号の論理和が“L”信
号のときには、差分(16)判別回路4の出力は反
転回路41により信号線13に“H”信号が送出
される。このように、次段の論理積回路12に対
して“H”信号を送出するのは、差分値が15バイ
ト以下であるが、8バイト以下か4バイト以下か
不明であり、まだ重複の可能性が残されているこ
とを示すためである。
When the logical sum of the output signals of bits 0 to 11 is an "L" signal, the output of the difference (16) discrimination circuit 4 is sent to the signal line 13 as an "H" signal by the inverting circuit 41. In this way, the "H" signal is sent to the next-stage AND circuit 12 when the difference value is 15 bytes or less, but it is unclear whether it is 8 bytes or less or 4 bytes or less, and there is still a possibility of duplication. This is to show that their sexuality remains.

また、ビツト0〜11の出力信号のどれか1つ
でも“H”信号がある場合には、差分(16)判別
回路4の出力は反転回路41により信号線13に
“L”信号が送出される。この場合には、次段の
論理積回路12に対して、差分値が16バイト以上
であり、重複の可能性がないことを示す。
Furthermore, if any one of the output signals of bits 0 to 11 has an "H" signal, the output of the differential (16) discrimination circuit 4 is sent as an "L" signal to the signal line 13 by the inverting circuit 41. Ru. In this case, this indicates to the next-stage AND circuit 12 that the difference value is 16 bytes or more and that there is no possibility of duplication.

同じように、差分(8)判別回路5は、演算器出力
のビツト0〜11およびビツト12の論理和回路
である。ビツト0〜11がすべて“L”で、ビツ
ト12が“H”であれば、残りのビツト13〜1
5の値が“111”のとき15、“000”のとき8であ
るから差分値は8〜15バイトの範囲である。これ
に対してビツト0〜11がすべて“L”で、ビツ
ト12も“L”であれば、残りのビツト13〜1
5の値が“111”のとき7、“000”のとき0であ
るから、差分値は0〜7バイトの範囲である。こ
の場合、反転回路がないので、差分値が8バイト
以上のときには“H”、7バイト以下のときには
“L”が、信号線14に送出される。
Similarly, the difference (8) discrimination circuit 5 is an OR circuit of bits 0 to 11 and bit 12 of the arithmetic unit output. If all bits 0 to 11 are “L” and bit 12 is “H”, the remaining bits 13 to 1
When the value of 5 is "111", it is 15, and when it is "000", it is 8, so the difference value is in the range of 8 to 15 bytes. On the other hand, if bits 0 to 11 are all "L" and bit 12 is also "L", the remaining bits 13 to 1 are
Since the value of 5 is 7 when it is "111" and 0 when it is "000", the difference value is in the range of 0 to 7 bytes. In this case, since there is no inversion circuit, "H" is sent to the signal line 14 when the difference value is 8 bytes or more, and "L" is sent to the signal line 14 when it is 7 bytes or less.

同じようにして、差分(4)判別回路6は、演算器
出力のビツト0〜11、ビツト12、ビツト13
の論理和回路である。ビツト0〜12がすべて
“L”で、ビツト13が“H”であれば、残りの
ビツト14,15が“11”のとき7、“00”のと
き4であるから、差分値は4〜7バイトであり、
ビツト13が“L”であれば残りのビツト14,
15が“11”のとき3、“00”のとき0であるか
ら、差分値は0〜3バイトである。すなわち、差
分値が4バイト以上のときには“H”、3バイト
以下のときには“L”の信号が信号線15に送出
される。
In the same way, the difference (4) discrimination circuit 6 detects bits 0 to 11, bits 12, and bits 13 of the arithmetic unit output.
This is an OR circuit. If bits 0 to 12 are all “L” and bit 13 is “H”, the remaining bits 14 and 15 are 7 when they are “11” and 4 when they are “00”, so the difference value is 4 to 12. It is 7 bytes,
If bit 13 is “L”, the remaining bits 14,
Since 15 is 3 when it is "11" and 0 when it is "00", the difference value is 0 to 3 bytes. That is, when the difference value is 4 bytes or more, an "H" signal is sent to the signal line 15, and when it is 3 bytes or less, a "L" signal is sent to the signal line 15.

いま仮に、演算器出力が8バイトを示した場合
には、ビツト12が“H”、ビツト0〜11、ビ
ツト13〜15は“L”となるため、信号線1
3,14,15はすべて“H”信号となる。
If the arithmetic unit output indicates 8 bytes, bit 12 will be "H" and bits 0 to 11 and bits 13 to 15 will be "L", so signal line 1
3, 14, and 15 all become "H" signals.

第5図は、第3図におけるオペランド長判別回
路の構造を示す図である。
FIG. 5 is a diagram showing the structure of the operand length determination circuit in FIG. 3.

第5図の原理は、第4図に示す差分判別回路と
全く同じである。なお、段階別に判別するための
段階の大きさを、第4図、第5図ともに、8バイ
ト、4バイトの大きさに区切つているが、同一に
する必要はない。
The principle of FIG. 5 is exactly the same as that of the difference discrimination circuit shown in FIG. Note that although the sizes of the stages for determining each stage are divided into 8 bytes and 4 bytes in both FIGS. 4 and 5, they do not need to be the same.

オペランド長レジスタ7の出力は、16バイトを
4ビツト(ビツト0〜3)で表わしており、オペ
ランド長(8)判別回路8は、このうちのビツト0の
みを検出して8バイト以上か、7ビツト以下かを
判別し、他方のオペランド(4)判別回路9はビツト
0、1を検出して、“0、1”のときには4バイ
ト以上、“00”のときには3バイト以下を判別す
る。判別回路8,9には、それぞれ反転回路8
1,91が接続されているので、信号線16に
は、オペランド長が7バイト以下のとき“H”
が、8バイト以上のとき“L”が送出され、信号
線17にはオペランド長さが3バイト以下のとき
“H”が、4バイト以上のとき“L”が送出され
る。
The output of the operand length register 7 represents 16 bytes with 4 bits (bits 0 to 3), and the operand length (8) discriminating circuit 8 detects only bit 0 of these and determines whether it is 8 bytes or more or 7 bytes. The other operand (4) determining circuit 9 detects bits 0 and 1, and determines whether it is 4 bytes or more when it is "0 or 1", or 3 bytes or less when it is "00". The discrimination circuits 8 and 9 each include an inverting circuit 8.
1 and 91 are connected, the signal line 16 is set to "H" when the operand length is 7 bytes or less.
When the operand length is 8 bytes or more, "L" is sent to the signal line 17, and "H" is sent to the signal line 17 when the operand length is 3 bytes or less, and "L" is sent when the operand length is 4 bytes or more.

第6図は、第3図における実施例の信号線レベ
ル状態を表わす図である。
FIG. 6 is a diagram showing the signal line level state of the embodiment shown in FIG.

第6図aは、差分値が8バイト、オペランド長
が10バイトのオペランド重複時の場合を示し、第
6図bは差分値が8バイト、オペランド長が6バ
イトで、重複していない場合を示している。
Figure 6a shows the case where the difference value is 8 bytes and the operand length is 10 bytes when operands overlap, and Figure 6b shows the case where the difference value is 8 bytes and the operand length is 6 bytes and there is no overlap. It shows.

第6図aの状態では、第3図の演算器出力が8
バイトを示しているので、差分判別回路4,5,
6の信号線13,14,15はすべて“H”とな
る。また、オペランド長が10バイトであるから、
オペランド長判別回路8,9の信号線16,17
はともに“L”となる。したがつて、信号線1
3,18,19は、すべて“H”となるので、論
理積回路12の出力信号線20は“H”となり、
重複していることを表わす。
In the state shown in Fig. 6a, the output of the arithmetic unit shown in Fig. 3 is 8.
Since it shows a byte, the difference discrimination circuits 4, 5,
The signal lines 13, 14, and 15 of No. 6 all become "H". Also, since the operand length is 10 bytes,
Signal lines 16 and 17 of operand length determination circuits 8 and 9
Both become "L". Therefore, signal line 1
3, 18, and 19 all become "H", so the output signal line 20 of the AND circuit 12 becomes "H",
Indicates that it is duplicated.

次に、第6図bの状態では、前述の場合と同じ
く信号線13,14,15はすべて“H”とな
る。オペランド長が6バイトであるから、オペラ
ンド長(8)判別回路8の出力信号線16は“H”と
なり、オペランド長(4)判別回路9の出力信号線1
7は“L”となるので、信号線13,18,19
はそれぞれ“H”、“L”、“H”となり、その結果
論理積回路12の出力信号線20は“L”となつ
て、重複していないことを表わす。
Next, in the state shown in FIG. 6b, the signal lines 13, 14, and 15 all become "H" as in the previous case. Since the operand length is 6 bytes, the output signal line 16 of the operand length (8) discrimination circuit 8 becomes "H", and the output signal line 1 of the operand length (4) discrimination circuit 9 becomes "H".
7 becomes “L”, so signal lines 13, 18, 19
are "H", "L", and "H", respectively, and as a result, the output signal line 20 of the AND circuit 12 becomes "L", indicating that there is no overlap.

第7図は、第3図の実施例における差分値と、
オペランド長の関係でオペランド重複の判定状態
を表わす図である。
FIG. 7 shows the difference values in the example of FIG. 3, and
FIG. 3 is a diagram showing a determination state of operand duplication in relation to operand length.

第6図a,bの実施例をもとにして、差分値と
オペランド長の関係で信号線20のレベル状態を
表わすと、第7図に示すようになる。なお、第7
図において、“H”は重複している状態を、“L”
は重複していない状態をそれぞれ示しており、ま
た〇印の付された“H”レベルは論理的には重複
していないにもかかわらず、重複しているように
判定されるものである。これは、本発明の構造
が、差分値とオペランド長を4バイト、8バイ
ト、16バイト以内という段階的に判定しているた
めである。この場合、論理的に重複しているにも
かかわらず、重複していないと判定されるなら
ば、重大な問題であるが、第7図では、それと逆
の場合であつて、〇印の付された判定範囲では、
1バイト処理が行われ、通常より処理速度が遅く
なるが、全体的に重複判定において演算動作を減
少することができるため、その点で処理速度を速
くできる。
Based on the embodiments shown in FIGS. 6a and 6b, the level state of the signal line 20 is expressed in terms of the relationship between the difference value and the operand length, as shown in FIG. 7. In addition, the seventh
In the figure, "H" indicates an overlapping state, and "L"
indicate a non-overlapping state, and "H" levels marked with a circle are determined to be overlapping even though they are logically not overlapping. This is because the structure of the present invention determines the difference value and operand length in stages within 4 bytes, 8 bytes, and 16 bytes. In this case, if it is determined that there is no overlap even though there is logical overlap, it would be a serious problem, but in Figure 7, the opposite is the case, and the circle is marked. In the judgment range,
Although 1 byte processing is performed and the processing speed is slower than usual, the overall calculation operation in the duplication determination can be reduced, so the processing speed can be increased in that respect.

なお、第7図において、オペランド長が8バイ
ト以下か、あるいは差分値が16バイト以上である
場合には、〇印が少いので、この範囲を重視すれ
ば本発明はきわめて有効であることがわかる。
In addition, in FIG. 7, if the operand length is 8 bytes or less or the difference value is 16 bytes or more, there are few ○ marks, so if this range is emphasized, the present invention is extremely effective. Recognize.

本実施例では、オペランド・アドレスを2バイ
ト、オペランド長を16バイト以下と仮定して説明
したが、このように限定する必要はなく、どちら
が何バイトであつても差し支えはない。また、そ
れに応じて差分判別回路およびオペランド長判別
回路の判別する大きさの段階を、いくつにしても
差し支えない。
Although this embodiment has been described assuming that the operand address is 2 bytes and the operand length is 16 bytes or less, there is no need to limit it in this way, and it does not matter how many bytes they are. Furthermore, the difference discrimination circuit and the operand length discrimination circuit may determine any number of sizes depending on the size.

さらに、第1および第2オペランド長が異なる
場合は別々にオペランド長判別回路を持つことに
より、本発明を適用することが可能である。
Furthermore, when the first and second operand lengths are different, the present invention can be applied by providing separate operand length determination circuits.

以上説明したように、本発明によれば、演算器
により求めた両オペランド・アドレスの差分値を
差分判別回路で判別し、オペランド長判別回路で
判別した結果と対応させて判別回路で比較するこ
とにより、両オペランドが互いにそのオペランド
長の範囲内で重複するか否かを判定することがで
きるので、演算器を従来に比べて1つ減少させる
ことができ、それにより判定タイミングを速くし
て計算機の重複による性能低下を防止することが
できる。
As explained above, according to the present invention, the difference value between both operand addresses obtained by the arithmetic unit is determined by the difference determination circuit, and the determination circuit compares the difference value in correspondence with the result determined by the operand length determination circuit. Since it is possible to judge whether or not both operands overlap each other within the range of their operand lengths, the number of arithmetic units can be reduced by one compared to the conventional method, thereby speeding up the judgment timing and increasing the computational efficiency. It is possible to prevent performance degradation due to duplication.

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

第1図はオペランドが重複する場合の説明図、
第2図は従来のオペランド重複チエツク回路の概
略図、第3図は本発明の実施例を示すオペラン
ド・アドレス判定装置の論理構成図、第4図は第
3図における差分判別回路の構造を示す図、第5
図は第3図におけるオペランド長判別回路の構造
を示す図、第6図は第3図における実施例の信号
線レベル状態を表わす図、第7図は第3図の実施
例における差分値と、オペランド長の関係でオペ
ランド重複の判定状態を表わす図である。 1,2:オペランド・アドレス・レジスタ、
3:演算器、4,5,6:差分判別回路、7:オ
ペランド長レジスタ、8,9:オペランド長判別
回路、10,11,12:論理積回路、41,8
1,91:反転回路。
Figure 1 is an explanatory diagram of the case where operands overlap.
FIG. 2 is a schematic diagram of a conventional operand duplication check circuit, FIG. 3 is a logical configuration diagram of an operand address determination device showing an embodiment of the present invention, and FIG. 4 is a diagram showing the structure of the difference determination circuit in FIG. 3. Figure, 5th
3 shows the structure of the operand length determination circuit in FIG. 3, FIG. 6 shows the signal line level state in the embodiment shown in FIG. 3, and FIG. 7 shows the difference value in the embodiment shown in FIG. FIG. 3 is a diagram showing a determination state of operand duplication in relation to operand length. 1, 2: Operand address register,
3: Arithmetic unit, 4, 5, 6: Difference discrimination circuit, 7: Operand length register, 8, 9: Operand length discrimination circuit, 10, 11, 12: AND circuit, 41, 8
1,91: Inversion circuit.

Claims (1)

【特許請求の範囲】[Claims] 1 2つのオペランド・アドレスの差分値を求め
る演算器、上記差分値を複数個の大きさの段階別
に判別する差分判別回路、指定されたオペランド
長を複数個の大きさの段階別に判別するオペラン
ド長判別回路、および上記段階別に対応した両オ
ペランド・アドレスの差分値とオペランド長の大
小を比較する判定回路を具備し、両オペランドが
互いにオペランド長の範囲内で重複するか否かを
判定することを特徴とするオペランド・アドレス
判定装置。
1. An arithmetic unit that calculates the difference value between two operand addresses, a difference determination circuit that determines the difference value in multiple size steps, and an operand length that determines the specified operand length in multiple size steps. It is equipped with a determination circuit and a determination circuit that compares the difference value of both operand addresses corresponding to each stage with the magnitude of the operand length, and determines whether or not both operands overlap each other within the range of the operand length. Characteristic operand address determination device.
JP55163582A 1980-11-20 1980-11-20 Operand address discriminator Granted JPS5786953A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55163582A JPS5786953A (en) 1980-11-20 1980-11-20 Operand address discriminator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55163582A JPS5786953A (en) 1980-11-20 1980-11-20 Operand address discriminator

Publications (2)

Publication Number Publication Date
JPS5786953A JPS5786953A (en) 1982-05-31
JPS6133215B2 true JPS6133215B2 (en) 1986-08-01

Family

ID=15776643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55163582A Granted JPS5786953A (en) 1980-11-20 1980-11-20 Operand address discriminator

Country Status (1)

Country Link
JP (1) JPS5786953A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02245948A (en) * 1989-03-20 1990-10-01 Fujitsu Ltd In-main-storage data transfer system
JP2546384B2 (en) * 1989-08-16 1996-10-23 日本電気株式会社 Information processing device

Also Published As

Publication number Publication date
JPS5786953A (en) 1982-05-31

Similar Documents

Publication Publication Date Title
JPH0481932A (en) Interruption controller
US4864527A (en) Apparatus and method for using a single carry chain for leading one detection and for "sticky" bit calculation
US4670836A (en) Device for detecting an overlap of operands to be accessed
JPS63273942A (en) Logical arithmetic unit
US4878189A (en) Microcomputer having Z-flag capable of detecting coincidence at high speed
JPS6133215B2 (en)
JP3012357B2 (en) Shift amount detection circuit
US5274830A (en) Zero warranty circuit for data path having different bit width from the length of packed decimal operand
KR960012354B1 (en) Microprocessor
JPS61500992A (en) Improvements in or relating to computer systems
JP3157805B2 (en) Size acknowledgment returning device and size acknowledgment returning method
JPS5933551A (en) Operand duplication detecting circuit
JPS59174942A (en) Arithmetic control device
JPS61296448A (en) Data writing control system for electronic computer
JPS59123055A (en) Instruction processing system
JPH06168098A (en) Decimal number checking device
JPH02287625A (en) Single chip microcomputer
JP2535605B2 (en) Information processing device
JP2998324B2 (en) Normalized shift device and normalized shift method
JP2558152B2 (en) Counter error detector
JPH0680487B2 (en) Processor
JPH06282412A (en) Floating point arithmetic unit
JP2000040036A (en) Memory checking circuit
JPH06250711A (en) Programmable controller
JPS59176851A (en) Data storing system