JPH0243628A - Information processor - Google Patents

Information processor

Info

Publication number
JPH0243628A
JPH0243628A JP19551088A JP19551088A JPH0243628A JP H0243628 A JPH0243628 A JP H0243628A JP 19551088 A JP19551088 A JP 19551088A JP 19551088 A JP19551088 A JP 19551088A JP H0243628 A JPH0243628 A JP H0243628A
Authority
JP
Japan
Prior art keywords
operand
signal line
address
bit
order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP19551088A
Other languages
Japanese (ja)
Inventor
Ritsuo Sugaya
菅谷 律雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP19551088A priority Critical patent/JPH0243628A/en
Publication of JPH0243628A publication Critical patent/JPH0243628A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To efficiently send an operand request and to execute the high speed by comparing the degenerated value of the lower-order bit of respective addresses. CONSTITUTION:The processor has an overlapping detecting means 7 composed of a means to identify that the instruction to need to detect the overlapping of two operands is obtained and to instruct the overlapping detection, a comparator 50 of a high-order n-m-1 bit of respective addresses for the operand in which the operand length defined by the instruction is defined by a binary (m) bit, a means to degenerate the information of the low-order m+1 bit of respective addresses and a means to compare respective degenerated values. Since the operand length is 2<m>, the high-order (n)-(m+1) bit of the address is compared, and at the time of non-coincidence, difference >=2<m+1> of both addresses is obtained and overlapping is not executed. When the high-order n-(m+1) bit of the address is coincident, the presence and absence of the overlapping are decided considering the conditions of the low order (m+1) bit. Thus, due to the overlapping detection, the operand supply does not stop and the performance does not reduce.

Description

【発明の詳細な説明】 【産業上の利用分野〕 本発明は情報処理装置に関し、特に、先行制御部でのオ
ペランド供給におけるオペランドの重複検出方法に関す
る。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing device, and more particularly to a method for detecting duplication of operands in operand supply in a preceding control unit.

〔従来の技術〕[Conventional technology]

従来、この種の重複検出は、2つのオペランド始端アド
レスとオペランド長を加算した終端アドレスの位置関係
を調べることにより、オペランドの重複を判定して行な
われていた。2つのオペランド(at、a2)は任意に
指定できるが、長さ2が等長の場合は、2つのオペラン
ドの始端アドレスの差(lal−a21)とオペランド
長2を比較し、1al−a21<J!の場合は重複と判
定していた。また、2つのオペランド(al。
Conventionally, this type of duplication detection has been carried out by determining the duplication of operands by examining the positional relationship between the two operand start addresses and the end address obtained by adding the operand lengths. The two operands (at, a2) can be specified arbitrarily, but if the lengths 2 are the same length, compare the difference between the start addresses of the two operands (lal-a21) and the operand length 2, and find that 1al-a21< J! In this case, it was judged as a duplicate. Also, two operands (al.

a2)は任意に長さも指定できる場合は、ソースオペラ
ンドの両端アドレスat、al+421とディスティネ
ーション始端アドレスa2の位置関係がa1≦a2≦a
l+j!lの場合は重複と判定していた。
If the length of a2) can be specified arbitrarily, the positional relationship between the end addresses at, al+421 of the source operand and the destination start address a2 is a1≦a2≦a.
l+j! In the case of 1, it was determined to be a duplicate.

(発明が解決しようとする課題〕 上述した従来のオペランド重複検出方法は、正確である
が、オペランドの終点アドレスの差分あるいは終端アド
レスを求める等アドレスアダーを使用するため、重複検
出のためオペランド供給が停止し性能が低下するという
欠点がある。
(Problems to be Solved by the Invention) The conventional operand duplication detection method described above is accurate, but because it uses an address adder to find the difference or the end address of the operands, it is difficult to supply operands for duplication detection. The disadvantage is that it stops and performance deteriorates.

〔課題を解決するための手段] 本発明の情報処理装置は、 nビットのアドレス計算を行ない、該出力を保持する手
段と、 2つのオペランドの重複を検出する必要のある命令であ
ることを識別し重複検出を指示する手段と、 該命令で定義されるオペランド長が2進mビットで定義
されるオペランドに対し、各々のアドレスの上位n−m
−1ビットの比較器と、各々のアドレスの下位m+1ビ
ットの情報を縮退する手段と、各々の縮退された値とを
比較する手段とからなる重複検出手段を有している。
[Means for Solving the Problems] An information processing device of the present invention includes means for performing n-bit address calculation and holding the output, and identifying that an instruction requires detecting duplication of two operands. means for instructing duplicate detection, and for an operand whose operand length is defined by m binary bits,
-1 bit comparator, means for degenerating the lower m+1 bits of information of each address, and means for comparing each degenerated value with the duplication detection means.

【作用] 才へランド長は2″であるから、まずアドレスの上位n
−(m+1)ビットを比較し、不一致であれば両アドレ
スの差≧2 m+1であり、重複はない。アドレスの上
位n−(m+1)ビットが一致の場合、下位(m+ 1
 )ビットの諸条件を考慮して重複の有無が判定される
[Operation] Since the land length is 2", first the upper n of the address
-(m+1) bits are compared, and if they do not match, the difference between both addresses is 2 m+1, and there is no overlap. If the upper n-(m+1) bits of the address match, the lower n-(m+1) bits of the address match.
) The presence or absence of duplication is determined taking into account the conditions of the bits.

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

第1図は本発明の情報処理装置の一実施例のブロック図
である。
FIG. 1 is a block diagram of an embodiment of an information processing apparatus according to the present invention.

選択回路1,2.3はアドレスアダー4の入力情報を切
替える。切替え指示は信号線30により制御ブロック5
から指示される。選択回路1,2゜3の入力情報は信号
線21,22.23によりベース、インデックス、ディ
スプレイスメントという命令語により指定されるオペラ
ンド開始アドレスを計算するのに必要な情報と信号線2
4゜25.27により選択される先に計算されたアドレ
スの後続アドレスを求めるのに必要な情報である。アド
レスアダー4の出力26はアドレス変換部・アドレス保
持部(いずれも図示せず)に送出されるとともにレジス
タ6および重複検出ブロック7に送出される。レジスタ
6は信号線31により制御ブロック5から制御される。
The selection circuits 1, 2.3 switch the input information of the address adder 4. The switching instruction is sent to the control block 5 via the signal line 30.
instructions from. The input information to the selection circuits 1, 2 and 3 is the information necessary to calculate the operand start address specified by the command words base, index, and displacement via the signal lines 21, 22, and 23, and the signal line 2.
This information is necessary to obtain the subsequent address of the previously calculated address selected by 4°25.27. The output 26 of the address adder 4 is sent to an address conversion section and an address holding section (none of which are shown), and also to a register 6 and a duplication detection block 7. Register 6 is controlled from control block 5 by signal line 31.

レジスタ6の出力は信号線27により重複検出ブロック
7および選択回路1に出力される。制御ブロック5は信
号線20により与えられた命令語情報により、オペラン
ド重複検出を実施するか否かを判定し、重複検出ブロッ
ク7の比較結果信号28を有効情報として使用するか否
かを決める。また、オペランド重複結果により重複と判
定された時は信号線32を通し、演算部(図示せず)に
結果を報告し、該命令のオペランド供給を演算部に移行
するとともに、アドレスアダー4の使用を停止する。
The output of the register 6 is output to the duplication detection block 7 and the selection circuit 1 via a signal line 27. The control block 5 determines whether or not to perform operand duplication detection based on the command information supplied via the signal line 20, and determines whether or not to use the comparison result signal 28 of the duplication detection block 7 as valid information. Further, when it is determined that there is a duplication based on the operand duplication result, the result is reported to the arithmetic unit (not shown) through the signal line 32, and the operand supply of the instruction is transferred to the arithmetic unit, and the address adder 4 is used. stop.

一般に、命令が命令解読ステージに入ると、命令はデコ
ードされ、信号線20により一般の命令でオペランド重
複検出が不要かつ連続的なオペランド供給が不要な命令
と制御ブロック5に指示されると、信号線30により選
択回路1,2.3にそれぞれ信号線21.22.23を
選択せしめアドレスアダー4に入力させ、この加算結果
は信号線26を介しアドレス変換部へ送出され、動作を
終了する0次サイクルでは次命令の情報に従い、該動作
を繰り返す。また、オペランドの重複検出は不要だが連
続的なオペランド供給を実施する1オペランドタイプの
場合、該情報が信号線20により制御ブロック5に伝達
され、該情報に従い信号線30は選択回路1,2.3に
おいて信号線21.22.23を選択せしめ、アドレス
アダー4において加算されたアドレスは信号線26によ
ってアドレス変換部に送出されるとともに、信号線31
により制御ブロック5の指示によりレジスタ6に信号線
26の出力を取り込む。次サイクルでは制御ブロック5
はレジスタ6の出力である信号線27および信号線24
.25を選択回路1.2.3で選択すべく信号線30で
制御し、アドレスアダー4で加算された結果は信号線2
6を介し前サイクルと同様に送出される。制御ブロック
5は必要数リクエストを送出した後、信号線2oにより
次命令の情報を受は動作する。2オペランドタイプの命
令は、アドレスアダー26の出力をアドレス保持部に送
出し、アドレス保持部にある起点アドレスを選択回路1
,2.3で選択させることを除き前記1オペランドタイ
プ命令と同様に動作する。
Generally, when an instruction enters the instruction decoding stage, the instruction is decoded, and when the signal line 20 instructs the instruction and control block 5, which is a general instruction and does not require operand duplication detection and does not require continuous operand supply, the instruction is decoded. The line 30 causes the selection circuits 1, 2.3 to select the signal lines 21, 22, and 23, respectively, and inputs them to the address adder 4. The addition result is sent to the address converter via the signal line 26, and the operation ends. In the next cycle, the operation is repeated according to the information of the next instruction. Further, in the case of a one-operand type in which operand duplication detection is unnecessary but continuous operand supply is performed, the information is transmitted to the control block 5 via the signal line 20, and the signal line 30 is connected to the selection circuits 1, 2, . 3, the signal lines 21, 22, and 23 are selected, and the address added in the address adder 4 is sent to the address conversion unit via the signal line 26, and the signal line 31
According to the instruction from the control block 5, the output of the signal line 26 is taken into the register 6. In the next cycle, control block 5
are the outputs of register 6, signal line 27 and signal line 24
.. 25 is selected by the selection circuit 1.2.3 by the signal line 30, and the result added by the address adder 4 is sent to the signal line 2.
6 as in the previous cycle. After sending out the necessary number of requests, the control block 5 receives information on the next command via the signal line 2o and operates. A two-operand type instruction sends the output of the address adder 26 to the address holding section, and selects the starting address in the address holding section from the selection circuit 1.
, 2.3 operates in the same manner as the one-operand type instruction described above, except for selection in steps 2.3.

オペランドの重複検出が必要な命令の動作を説明する。The operation of instructions that require operand duplication detection will be explained.

信号線20により該命令情報が制御ブロック5に伝達さ
れると、制御信号30は第1のオペランド開始アドレス
a1を求めるべく選択回路1.2.3に信号線21.2
2.23を選択させ、アドレスアダー4に入力させる。
When the command information is transmitted to the control block 5 via the signal line 20, the control signal 30 is sent to the selection circuit 1.2.3 via the signal line 21.2 to determine the first operand starting address a1.
2. Select 23 and input it into address adder 4.

該アダー4の出力は信号線26を介し、アドレス変換部
・アドレス保持部に送出されるほか、信号線31の制御
によりレジスタ6に保持される0次サイクルにおいては
、第2のオペランド開始アドレスa2を求めるべく選択
回路1.2.3を信号線21゜22.23を選択させ、
アドレスアダー4に入力させる。該アダー4の出力は信
号線26を介しアドレス変換部・アドレス保持部に送出
されるとともに重複検出ブロック7に入力される。一方
、レジスタ6に保持されたオペランド開始アドレスa1
は信号線27を介し重複検出ブロック7に入力される0
重複検出ブロック7においてはオペランド開始アドレス
a1と82が用いられ、重複の有無がテストされる。
The output of the adder 4 is sent to the address conversion section/address holding section via the signal line 26, and in the 0th cycle, which is held in the register 6 under the control of the signal line 31, the output is sent to the second operand start address a2. In order to find the signal line 21°22.23,
Enter the address into address adder 4. The output of the adder 4 is sent to the address conversion section/address holding section via the signal line 26 and is also input to the duplication detection block 7. On the other hand, the operand start address a1 held in register 6
is input to the duplication detection block 7 via the signal line 27.
In the duplication detection block 7, operand start addresses a1 and 82 are used to test whether there is any duplication.

第2図は重複検出ブロック7を表わすブロック図である
。信号線26.27のデータはいずれもnビットのアド
レスであり、An〜Ao、Bn〜B0で表わされる0本
重複検出は命令で定義される最大オペランド長より両オ
ペランドの開始アドレスが離れていることを確認する方
法とするため、例えば28ビットで定義されるオペラン
ド開始バイトアドレスにおいて命令定義上最大オペラン
ド長が16バイトとする場合(n=28.m=4)の動
作について説明する。信号線26.27の上位23ビッ
ト(A1.〜As 、 Bat〜BS)はコンパレータ
5oに信号線40.41を介して入力され、その比較結
果は信号線46を介し検出回路51に入力される。下位
4ビット(A3〜Ao、Bs〜BO)は各々論理和がと
られ、信号線44.45を介して検出回路51に入力さ
れる。
FIG. 2 is a block diagram showing the duplication detection block 7. As shown in FIG. The data on the signal lines 26 and 27 are all n-bit addresses, and when detecting 0 duplications represented by An to Ao and Bn to B0, the start addresses of both operands are farther apart than the maximum operand length defined by the instruction. In order to confirm this, we will explain the operation when the maximum operand length is 16 bytes in the instruction definition (n=28.m=4), for example, at an operand start byte address defined by 28 bits. The upper 23 bits (A1.~As, Bat~BS) of the signal lines 26.27 are input to the comparator 5o via the signal line 40.41, and the comparison result is input to the detection circuit 51 via the signal line 46. . The lower four bits (A3 to Ao, Bs to BO) are each logically summed and input to the detection circuit 51 via signal lines 44 and 45.

ビットA4.B4は信号線42.43を介し、検出回路
51に入力される。検出回路51は次の状態時重複とみ
なす、この例では移送命令を想定している。
Bit A4. B4 is input to the detection circuit 51 via signal lines 42 and 43. The detection circuit 51 considers the next state to be a duplicate, and in this example assumes a transfer command.

信号線27.26の値をそれぞれA、Bとする。信号線
46=“0”の場合、IA−Bl≧32であり、重複は
ない。信号線46=“1”で、信号線42.43が共に
“0”および“1”の場合、IA−Bl≦15であり、
重複がある。
Let the values of the signal lines 27 and 26 be A and B, respectively. When the signal line 46="0", IA-Bl≧32, and there is no overlap. When the signal line 46="1" and the signal lines 42 and 43 are both "0" and "1", IA-Bl≦15,
There is overlap.

信号線46=“1”、信号線42=“0”、信号線43
=″1″、信号線44.45=″0”の場合、B−A=
16であり、重複はない。信号線46−“1”、信号A
142=“0”、信号線43=“1”、信号線44;“
0“、信号線45=“1″の場合、B−A= 16+α
(1≦α≦15)であり、やはり重複はない。信号線4
6=“1”、信号線42=“0”、信号線43=“l”
、信号線44=“1”、信号線45=″0″の場合、B
−A≦15であり、重複がある。信号@4B=“1”、
信号@42=“0”、信号@43=“1“、信号線44
.45=“1”の場合、下位4ビットB、〜B0の値が
下位4ビットA3〜八〇の値と等しいか大きいとき重複
はないが、逆に下位4ビットA、〜Aoの値が下位4ビ
ットB3〜B0の値より大きいとき重複がある。この場
合、重複ありと見做す、信号線46=“1”、信号線4
2冨“1”信号線43=“0”の場合、信号線46=“
l”、信号線42=“O”、信号線43=“1”の場合
とA、Bの大小関係が逆になる。
Signal line 46="1", signal line 42="0", signal line 43
= ``1'', signal line 44.45 = ``0'', then B-A =
16, and there are no duplicates. Signal line 46-“1”, signal A
142="0", signal line 43="1", signal line 44;"
0", when signal line 45="1", B-A=16+α
(1≦α≦15), and again there is no overlap. signal line 4
6="1", signal line 42="0", signal line 43="l"
, when the signal line 44="1" and the signal line 45="0", B
-A≦15, and there is overlap. Signal @4B="1",
Signal @42="0", signal @43="1", signal line 44
.. 45="1", if the value of the lower 4 bits B, ~B0 is equal to or larger than the value of the lower 4 bits A3~80, there is no overlap, but conversely, the value of the lower 4 bits A, ~Ao is the lower There is an overlap when the value is greater than the value of 4 bits B3-B0. In this case, it is assumed that there is overlap, signal line 46 = "1", signal line 4
2 When the signal line 43 is “0”, the signal line 46 is “1”
The magnitude relationship of A and B is opposite to that in the case where the signal line 42 is "O" and the signal line 43 is "1".

信号線28は重複有時オンとなる。制御ブロック5にお
いてはオペランド重複命令と認識しているため信号線2
8の該サイクル中のレベルは有効とみる0重複と報告さ
れると、次サイクルにおいて制御ブロック5はオペラン
ド供給を停止すべく動作を中止し、演算部に信号@32
を介し該情報を伝達する。演算部に報告することにより
先行制御部における本命令の動作は終了し、演算部での
その実行にゆだねる。演算部での完了により、本ブロッ
クの動作は再開する。一方、重複なしと判定された場合
は、先にアドレス保持部に送ったオペランド開始アドレ
スat、a2をそれぞれ基点アドレスとしてアドレスア
ダー4に入力すべく制御ブロック5が制御を行ない、そ
れぞれ必要数だけオペランド供給を実施させる。
The signal line 28 is turned on when there is overlap. In control block 5, it is recognized as an operand duplication instruction, so signal line 2
When the level of 8 during the cycle is reported as 0 overlap, which is considered valid, the control block 5 stops operating in the next cycle to stop supplying the operands, and sends the signal @32 to the arithmetic unit.
The information is transmitted via. By reporting to the arithmetic unit, the operation of this instruction in the advance control unit is completed, and the execution is left to the arithmetic unit. Upon completion in the arithmetic unit, the operation of this block resumes. On the other hand, if it is determined that there is no overlap, the control block 5 performs control to input the operand start addresses at and a2, which were previously sent to the address holding unit, into the address adder 4 as base addresses, and only the required number of operands are input to the address adder 4. Have the supply implemented.

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

以上説明したように本発明は、簡易なオペランド重複手
段によりオペランドの重複を検出することにより、重複
と判定されるケースは増加するものの、重複チエツクに
費やすマシンサイクルを不要とし、連続的に必要なオペ
ランドリクエストを無駄なく送出することにより高速化
を実現し、重複検出手段にアドレスアダーとは別のアダ
ーを不要とするため、ハードウェア量が削減できるとい
う多大な効果がある。
As explained above, the present invention detects operand duplication using a simple operand duplication means, and although the number of cases in which it is determined to be duplication increases, it eliminates the need for machine cycles spent on duplication checks, and continuously performs necessary operand duplication. Speed is increased by sending operand requests without waste, and since an adder separate from the address adder is not required as a duplicate detection means, the amount of hardware can be reduced, which is a significant effect.

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

第1図は本発明の情報処理装置の一実施例のブロック図
、第2図は第1図における重複検出ブロック7のブロッ
ク図である。 1〜3・・・・選択回路、 4・・・・・・・・アドレスアダー 5・・・・・・・・制御ブロック、 50・・・・・・・・比較器、 51・・・・・・・・検出回路、 40〜46・・・・信号線。
FIG. 1 is a block diagram of an embodiment of the information processing apparatus of the present invention, and FIG. 2 is a block diagram of the duplication detection block 7 in FIG. 1. 1 to 3... Selection circuit, 4... Address adder 5... Control block, 50... Comparator, 51... ...Detection circuit, 40-46...Signal line.

Claims (1)

【特許請求の範囲】 1、先行制御部でのオペランドの読出し・書込指示が可
能な情報処理装置において、 nビットのアドレス計算を行ない、該出力を保持する手
段と、 2つのオペランドの重複を検出する必要のある命令であ
ることを識別し重複検出を指示する手段と、 該命令で定義されるオペランド長が2進mビットで定義
されるオペランドに対し、各々のアドレスの上位n−m
−1ビットを比較する比較器と、各々のアドレスの下位
m+1ビットの情報を縮退する手段と、各々の縮退され
た値とを比較する手段とからなる重複検出手段とを有す
る情報処理装置。
[Scope of Claims] 1. In an information processing device capable of instructing read/write of operands in a preceding control unit, means for calculating an n-bit address and holding the output; means for identifying an instruction that needs to be detected and instructing duplicate detection;
An information processing device comprising: a comparator for comparing -1 bits, a means for degenerating lower m+1 bits of information of each address, and a duplication detection means comprising a means for comparing each degenerated value.
JP19551088A 1988-08-04 1988-08-04 Information processor Pending JPH0243628A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19551088A JPH0243628A (en) 1988-08-04 1988-08-04 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19551088A JPH0243628A (en) 1988-08-04 1988-08-04 Information processor

Publications (1)

Publication Number Publication Date
JPH0243628A true JPH0243628A (en) 1990-02-14

Family

ID=16342280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19551088A Pending JPH0243628A (en) 1988-08-04 1988-08-04 Information processor

Country Status (1)

Country Link
JP (1) JPH0243628A (en)

Similar Documents

Publication Publication Date Title
JPH0544046B2 (en)
JPH0542011B2 (en)
US4677549A (en) Pipelined data processor system having increased processing speed
JPS63253433A (en) Arithmetic processor
JPH0243628A (en) Information processor
JP2001092631A (en) Device and method for detecting zero result
JPS6227831A (en) Checking circuit for computing element
JP2812610B2 (en) Pipeline control method
JP3696669B2 (en) Comparator mechanism and comparator
JPH0353326A (en) Information processor
JPH0883165A (en) Comparator device
JPH07271625A (en) Information processor
JPH03129523A (en) Method and device for processing data
JP2591250B2 (en) Data processing device
JPS61292749A (en) Arithmetic processor
JP3110072B2 (en) Pre-normalization circuit
JPH0797309B2 (en) Data processing device
JPS59188900A (en) Data processor
JPH03123933A (en) Information processor
JP2928566B2 (en) Operand reading device
JPH04184535A (en) Parallel arithmetic units
JP3014701B2 (en) Information processing device
JPH0388024A (en) Arithmetic unit for vector floating point
JP2556904B2 (en) High-speed adder / subtractor
JPS63300324A (en) Information processor