JPS60207933A - Data processor - Google Patents

Data processor

Info

Publication number
JPS60207933A
JPS60207933A JP6337384A JP6337384A JPS60207933A JP S60207933 A JPS60207933 A JP S60207933A JP 6337384 A JP6337384 A JP 6337384A JP 6337384 A JP6337384 A JP 6337384A JP S60207933 A JPS60207933 A JP S60207933A
Authority
JP
Japan
Prior art keywords
operand
instruction
register
decoding
specifier
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
JP6337384A
Other languages
Japanese (ja)
Inventor
Shinichiro Yamaguchi
伸一朗 山口
Hidekazu Matsumoto
松本 秀和
Tadaaki Bando
忠秋 坂東
Takeshi Kato
猛 加藤
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 JP6337384A priority Critical patent/JPS60207933A/en
Publication of JPS60207933A publication Critical patent/JPS60207933A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To execute the decoding of an instruction at a high speed by processing two operands simultaneously when a non-register designator appears following an operand designator for specifying a register. CONSTITUTION:A register specification mode detecting means 517 checks whether the leading operand designator on a signal line 329 is in a register specification mode or not. If said operand designator is in the register specification mode, data on the signal line 329 are outputted to a signal line 21A as they are through an operand designator operating means 516. In case of register specification, the 2nd operand designator and the 1st operand designator are decoded by an operand specification decoder 505 and a register specification mode decoder 506 respectively and simultaneously.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、オへランド指定子がオペレーションを指定す
るコード部から独立して与えられる可変長命令を扱うパ
イプライン制御データ処理装置に係り、特にレジスタ指
定、非レジスタ指定の順に現われるオペランド指定子列
を検出した場合、これらの順序を操作することによって
2オペランドを同時に処理するようにしたデータ処理装
置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a pipeline control data processing device that handles variable length instructions in which an oherrand specifier is given independently from a code section specifying an operation, and in particular, The present invention relates to a data processing device that processes two operands simultaneously by manipulating the order of operand specifiers that appear in the order of register designation and non-register designation, when a sequence of operand specifiers is detected.

〔発明の背景〕[Background of the invention]

これまで可変長のオペランド指定子を持つ命令体系は、
公知であるが、第1図はその1例を示したものである。
Until now, the instruction system with variable-length operand specifiers was
Although this is well known, FIG. 1 shows one example thereof.

こJLによると第】図(A)、(B)はオペランドがリ
テラルデータで与えられる場合でのオペランド指定子の
フォーマットをそれぞれ示したものであり、5ビツト以
下のリテラルデータの場合には第1図(A)に示す5h
ort Literalのフォーマットとなり、6ビツ
ト以上の長さのリテラルデータの場合には第1図(B)
に示すLong Liシeralのフォーマットをとる
ものとなっている。
According to this JL, Figures (A) and (B) respectively show the format of the operand specifier when the operand is given as literal data. 5h shown in figure (A)
ort Literal format, and in the case of literal data with a length of 6 bits or more, the format is as shown in Figure 1 (B).
The format is Long Li serial as shown in the figure below.

また、第1図(C)はレジスタ指定モード時のオペラン
ド指定子のフォーマットを示し、II Rn″のフィー
ルドで指定されるアドレスのレジスタがオペランドとな
る。更に第1図(D)はレジスタ修飾モード時のオペラ
ンド指定子のフォーマットを示し、” Rn ”のフィ
ールドで指定されるアドレス上のレジスタと、ディスプ
レイスメントの長さを示す”Disp len”部およ
びディスプレイスメント部” D i s p ”とか
らなる。
In addition, Figure 1 (C) shows the format of the operand specifier in register specification mode, where the register at the address specified in the field II Rn'' becomes the operand. It shows the format of the operand specifier at the time, and consists of a register at the address specified by the "Rn" field, a "Disp len" part that shows the displacement length, and a displacement part "D i sp". .

更、にまた第1図(E)はプログラムカウンタ相対モー
ド時のオペランド指定子のフォーマットを示し、”Di
gp len”部と110 i 811部とからなる。
Furthermore, FIG. 1(E) shows the format of the operand specifier in program counter relative mode.
gp len” part and 110 i 811 parts.

最後の第1図(F)はAbsolc+Leモード時のオ
ペランド指定子のフォーマットを示し、’Abso”で
示されるフィールドがオペランドの所在するメモリアド
レスを直接示すようになっている。
Finally, FIG. 1(F) shows the format of the operand specifier in the Absolc+Le mode, where the field indicated by 'Abso' directly indicates the memory address where the operand is located.

第1図に示すオペランド指定子のフォーマットは種々あ
るアドレッシングモードの一例にすぎず、この他にも種
々の形式のオペランド指定子があることはもちろんであ
るが、本発明の理解には必要がないので省略する。
The format of the operand specifier shown in FIG. 1 is only one example of the various addressing modes, and it goes without saying that there are various other formats of operand specifiers, but these are not necessary for understanding the present invention. Therefore, it will be omitted.

上述した命令体系では、一般にオペコードが同一であっ
ても命令語としては種々の長さとなり、しかも命令語の
先頭のフィールドはオペコードに定まっているが、それ
以外の部分は種々の意味を持ち得るため、命令語中のフ
ィールドの意味が一義的には定まらない、また、命令語
中に含まれるオペランド指定子がアドレッシングモード
に対応してその長さを変えるため同一のオペコードであ
っても命令語の長さは種々の値をとる。従って。
In the instruction system described above, even if the opcode is the same, the length of the instruction word will generally vary, and although the first field of the instruction word is fixed as the opcode, the other parts can have various meanings. Therefore, the meaning of the fields in the instruction word is not uniquely determined, and the operand specifier included in the instruction word changes its length depending on the addressing mode, so even if the operation code is the same, the instruction word The length of can take various values. Therefore.

このような命令体系を扱う命令デコードユニットに於い
て、1つの命令語を1度に取込んで該命令のデコードを
行なう方式を採るとすると、ハードウェアの規模が膨大
なものとなり、かつ複雑な制御を行なわなければならな
いといった欠点がある。
If an instruction decode unit that handles such an instruction system were to take in one instruction word at a time and decode that instruction, the scale of the hardware would be enormous and it would be complicated. The disadvantage is that it requires some control.

一方、これとは別にして命令デコード手段として、ある
特定の長さの単位を決め、その1つ、又は複数の単位長
ずつ命令語を取込んでデコードする方法が考えられるが
、8ビツト(1バイト)を基本単位とした場合基本的な
命令で3〜7バイトの命令長どなるため1例えばマシン
サイクルに同期して命令語のデコードを進めるとすると
、1命令のデコードに命令語のバイト数だけマシンサイ
クルを費すこととなり、命令デコードが遅くなって処理
の高速化という点ではマイナス面が太きい。
On the other hand, as an instruction decoding means, a method can be considered in which a specific unit of length is determined and the instruction word is taken in and decoded by one or more unit lengths, but 8-bit ( If the basic unit is 1 byte), the instruction length for a basic instruction is 3 to 7 bytes.1For example, if the decoding of the instruction word is to proceed in synchronization with the machine cycle, the number of bytes of the instruction word will be required to decode one instruction. However, the decoding of instructions becomes slower, which has a big negative side in terms of speeding up processing.

このように、上述した命令体系を有するデータ処理装置
aに於いては、命令のデコード処理を高速化することに
よって効率良くパイプライン処理を行なうことが重要で
あるが、命令のデコード処理を高速に行ない得ないでい
るのが実状である。
In this way, in the data processing device a having the above-mentioned instruction system, it is important to perform pipeline processing efficiently by speeding up the instruction decoding process. The reality is that it cannot be done.

ところで、命令のデコード処理を高速に行なう1方法が
特開昭57−161943号公報に述べられている。こ
れによると、特に最終オペランド指定子がレジスタ指定
の場合、1つ′手前のオペランド指定子が如何なるもの
であるかを問わずそのオペランド指定子のデコードと同
時に最終オペランドもデコードすることで、命令のデコ
ード処理を高速に行なうことが示されている。しかしな
がら、実際のプログラムでは様々なアドレッシングモー
ドが使用されており、その使用頻度の続出1によれば、
レジスタ指定のオペランド指定子に続いてレジスタ指定
以外のアドレッシングモードのオペランド指定子が現わ
れる確率も高いものとなっている。
By the way, one method for performing instruction decoding processing at high speed is described in Japanese Patent Laid-Open No. 161943/1983. According to this, especially when the final operand specifier is a register specification, the instruction It has been shown that decoding can be performed at high speed. However, various addressing modes are used in actual programs, and according to the frequency of use 1,
There is also a high probability that an operand specifier for an addressing mode other than register specification will appear following an operand specifier for register specification.

しかし、これまでのデータ処理装置では、上述の様なオ
ペランド指定子の組合せに対しては命令のデコード処理
の高速化が行なわれていないというものである。
However, conventional data processing devices have not been able to speed up instruction decoding processing for the above-mentioned combinations of operand specifiers.

〔発明の目的〕[Purpose of the invention]

よって本発明は、レジスタ指定のオペランド指定子に続
いて非レジスタ指定のそれが現われる場合に、命令のデ
コード処理を高速に行ない得るデータ処理装置を供する
にある。
SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide a data processing device that can perform instruction decoding at high speed when a register-specifying operand specifier is followed by a non-register-specifying operand specifier.

〔発明の概要〕[Summary of the invention]

この目的のため本発明は、レジスタ指定のオペランド指
定子に続いて非レジスタ指定のオペランドが現われた場
合を検出した場合には、2オペランド間時処理が行なわ
れるようになしたものである。
For this purpose, the present invention is configured such that when it is detected that an operand not specifying a register appears following an operand specifier specifying a register, time processing between two operands is performed.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明を第2図から第5図により説明する。 The present invention will be explained below with reference to FIGS. 2 to 5.

先ず本発明が適用可とされたデータ処理装置の構成につ
いて説明する。第゛2図はその一例での構成を示したも
のである。なお、第2図における略称と正式名称との関
係は以下の表1に示すようである。
First, the configuration of a data processing device to which the present invention is applicable will be described. FIG. 2 shows an example of the configuration. The relationship between the abbreviations and official names in FIG. 2 is as shown in Table 1 below.

表 1 この第2図において、主記憶袋[(MM) 301は、
前述した可変長の命令とこれら命令が扱うオペランドを
記憶するもので、主記憶制御ユニット(MCU)3.0
2からの制御を受けて高速バッファメモリ(BM、)3
03、(BMQ)304との間でデータの授受を行なう
ようになっている。
Table 1 In this Figure 2, the main memory bag [(MM) 301 is
Main memory control unit (MCU) 3.0 stores the variable length instructions mentioned above and the operands handled by these instructions.
High-speed buffer memory (BM,) 3 under control from 2
Data is exchanged with 03 and (BMQ) 304.

アドレスバス320,323,340,342およびデ
ータバス321,324,34L 343はそのデータ
授受のためのものである。
Address buses 320, 323, 340, 342 and data buses 321, 324, 34L 343 are for transmitting and receiving data.

さて、ここで残りの各部分について説明すれば命令フェ
ッチユニット(IFtJ)305は命令のアドレスを信
号線327を介しBM、303に送出することによって
命令語の先行続出を行なうようになっている。IFU3
05に取込された命令は命令デコードユニット(DU)
309にオペコード及びオペランド指定子単位に信号線
329を介し送られたうえデコードされるようになって
いる。
Now, to explain the remaining parts, the instruction fetch unit (IFtJ) 305 sends the address of the instruction to the BM 303 via the signal line 327, so that the instruction word is issued in advance. IFU3
The instruction taken into 05 is sent to the instruction decode unit (DU).
309 via a signal line 329 in units of opcodes and operand specifiers, and are decoded.

アトレイ計算ユニット(AU)310では信号線336
からのDU309でデコードされたアドレッシングモー
ドに従ってオペランドの実効アドレスを計算し、その結
果はオペランドフエツチュニッl−(OFU)311に
信号線337を介し与えられるようになっている。01
”tJ311ではΔU310からのオペランドのアドレ
スを信号線\已 330を介して13M、304に送出してオペランドを
先行フェッチするものとなっている。BM。
In the atray calculation unit (AU) 310, the signal line 336
The effective address of the operand is calculated according to the addressing mode decoded by the DU 309 from the DU 309, and the result is given to the operand offset unit (OFU) 311 via a signal line 337. 01
``In tJ311, the address of the operand from ΔU310 is sent to 13M and 304 via the signal line \330, and the operand is fetched in advance.BM.

304ではOF[3]1からのアドレス対応のデータを
有する場合には、該f−夕を直ちに信号線331を介し
0FU311に渡すが、該当するアドレス対応のデータ
が存在しない場合にはMCU3O,2を介しMM301
をアクセスし、前記アドレス対応のデータを読み出した
うえ0FU31+に渡す動作を行なうようになっている
If 304 has data corresponding to the address from OF[3]1, it immediately passes the f-t to 0FU311 via the signal line 331, but if data corresponding to the corresponding address does not exist, MCU3O,2 via MM301
is accessed, data corresponding to the address is read out, and the data is passed to 0FU31+.

実行ユニット(EU)312では0FU311から信号
線338を介しオペランドを受取ったうえ命令を実行す
るところとなるわけである。
The execution unit (EU) 312 receives the operand from the 0FU 311 via the signal line 338 and executes the instruction.

なお、各ユニットはほぼ独立に動作しオペランド間のバ
イブライン処理が行なわれる。また、第2図中性号41
0はデータバスを示す。
Note that each unit operates almost independently and performs vibe line processing between operands. Also, Figure 2 Neutral No. 41
0 indicates a data bus.

本発明が適用可とさけたデータ処理装置は以上のようで
あるが、より具体的には本発明は命令デコードユニット
に適用されるものとなっている。
The data processing devices to which the present invention is applicable are as described above, but more specifically, the present invention is applied to an instruction decoding unit.

第3図は本発明に直接係る命令デコードユニットの一例
での具体的栴成を示マたものである。なお、第3図にお
ける略称と正式名称との関係は第2図に示すようである
FIG. 3 shows a concrete construction of an example of an instruction decoding unit directly related to the present invention. The relationship between the abbreviations and official names in FIG. 3 is as shown in FIG. 2.

表 2 ここで、各部分を詳細ず才tば、μプログラムアドレス
生成回路(EC3AG)501ではEtJ312で実行
される先願のマイクロプログラムアドレスIOBをI 
FU 305から(,1号tfA329を介し与えられ
るオペコードによって生成するものとなっている。メペ
ランド用情報メモリ(+)O3)503では、信号a3
29よりセレクタ(SET、)502を介し与えられる
オペコード中のオペランドに関する情報を格納し、オペ
ランド指定子デコーダ(O3−DEC:) 505では
信号a21A中のオペラン1−指定子をデコードするよ
うになっている。
Table 2 Without going into details here, the μ program address generation circuit (EC3AG) 501 inputs the micro program address IOB of the previous application executed by EtJ312.
It is generated by the operation code given from the FU 305 via the No. 1 tfA329.In the mepeland information memory (+) O3) 503, the signal a3
The operand specifier decoder (O3-DEC:) 505 stores information regarding the operand in the opcode given from 29 through the selector (SET, ) 502, and decodes the operand 1-specifier in the signal a21A. There is.

レジスタ指定モード検出手段(RD D ) ’、) 
] 7は、次にデコードされるオペランド指定子がレジ
スタ指定モードであるか否かを検出するもので、検出の
結果は(a分線17Δ、18Aを介しそれぞれ08−A
LIG516.ACIG504に送られる。オペランド
指定子の順序を操作する手段(O3−AL I G) 
516では、RDD517より信号線17Δを介しレジ
スタ指定モードのオペランド指定子検出信号が入力され
た場合は、信号線329上のデータ(次にデコードされ
るべきオペコードとオペランド指定子の列)をレジスタ
指定モードのオペランド指定子の占めるビット数(バイ
ト)分だけシフトした状態(削除したもの)で信号a2
1Aに出力するようになっている。また、これと同時に
レジスタ指定モードのオペランド指定子を(H片線20
Aに、上述の処理を行なったことを示す信号を(ご分線
19Aにそれぞれ出力するものどなっている。R’D 
D 517よりレジスタ指定モード検出44号が出力さ
れない場合には、03−ALI0516は特別な動作は
行なわず信号線329の内容はそのまま信号線2LAに
出力される。制御データ生成回路(ACIG)504で
は、DC503,08−DEC505およびRDD51
7からの情報によりアドレス計算ユニット、(AtJ)
310にてオペランドのアドレス計算を行なうための制
御データ336が生成されるようになっている。レジス
タ検出モードデコーダ(RD−DEC)506では、セ
レクタ(SEL)515からのデータがレジスタ指定の
オペランド指定子であるか否かを検出し、レジスタ指定
である場合にはそのレジスタのアドレスは(i分線12
Bを介しAU301内のレジスタにセットされるように
なっている。
Register specification mode detection means (RDD)',)
] 7 detects whether the operand specifier to be decoded next is in the register specification mode, and the detection result is (08-A through the a-segment lines 17Δ and 18A, respectively
LIG516. Sent to ACIG504. Means for manipulating the order of operand specifiers (O3-AL I G)
516, when the register specification mode operand specifier detection signal is input from the RDD 517 via the signal line 17Δ, the data on the signal line 329 (the sequence of opcode and operand specifier to be decoded next) is specified as a register. The signal a2 is shifted (deleted) by the number of bits (bytes) occupied by the mode operand specifier.
It is designed to output at 1A. At the same time, set the register specification mode operand specifier (H single line 20
A sends a signal indicating that the above-mentioned processing has been carried out (the signal output to each branch line 19A is roaring.R'D
When register designation mode detection No. 44 is not output from D 517, 03-ALI 0516 does not perform any special operation and the contents of signal line 329 are output as they are to signal line 2LA. In the control data generation circuit (ACIG) 504, DC503,08-DEC505 and RDD51
Address calculation unit, (AtJ) with information from 7
At step 310, control data 336 for calculating addresses of operands is generated. The register detection mode decoder (RD-DEC) 506 detects whether the data from the selector (SEL) 515 is an operand specifier for a register specification, and if it is a register specification, the address of the register is (i Branch line 12
It is set in a register in the AU 301 via B.

デコードビット(バイト)数算出手段(DBNC)50
7は、08−DEC505およびRD −DEC50G
からの信号よりそのサイクルでデコードすべきビット数
の算出を行なう。
Decode bit (byte) number calculation means (DBNC) 50
7 is 08-DEC505 and RD-DEC50G
The number of bits to be decoded in that cycle is calculated from the signal from.

データアライナ(D−AL I G) 508は、08
−DEC505にてデコードするO8がリテラルデータ
、ディスプレイスメントあるいは絶対アドレスの何れか
を含む場合、これを取出して並べ換える動作を行なう。
Data aligner (D-AL IG) 508 is 08
- If the O8 to be decoded by the DEC 505 includes literal data, displacement, or absolute address, it is extracted and rearranged.

制御回路(D−CONT)509は、IFU305の制
御回路からの信号12Aを受信してDtJ309全体の
動作を制御する。
A control circuit (D-CONT) 509 receives the signal 12A from the control circuit of the IFU 305 and controls the overall operation of the DtJ 309.

レジスタ(DP)510は、そのサイクルにてデコード
するデータの先頭のアドレスを示す。
A register (DP) 510 indicates the start address of data to be decoded in that cycle.

セレクタ(SF、L)511は、DP510にセットす
るデータを選択する。
A selector (SF, L) 511 selects data to be set in the DP 510.

インクリメンタ(INC)512は、DP510の内容
1】Δをそのサイクルにてデコードした命令のビット数
だけ加数する。
The incrementer (INC) 512 increments the content 1]Δ of the DP 510 by the number of bits of the instruction decoded in that cycle.

デコードに必要なビット(バイト)数算出手段(NL3
NG)513は、03−DEC505からの43号を受
信して、IFU305内の命令バッファから読み出しそ
のサイクルにてデコードするのに必要なビット数(バイ
ト)の算出を行う。アドレス計算用プログラムカウンタ
値算出手段(TPCC)514は、デコードするOSの
プログラムカウンタ相対のアドレス計算を行なうために
必要なプログラムカウンタの値を算出する。
Means for calculating the number of bits (bytes) required for decoding (NL3
NG) 513 receives No. 43 from 03-DEC 505, reads it from the instruction buffer in IFU 305, and calculates the number of bits (bytes) required for decoding in that cycle. The program counter value calculation means for address calculation (TPCC) 514 calculates the value of the program counter necessary for performing address calculation relative to the program counter of the OS to be decoded.

次に本実施例での命令処理シーケンスを基本的な命令に
例を採って説明する。
Next, the instruction processing sequence in this embodiment will be explained using a basic instruction as an example.

既述したようにIFU305はバッファメモリBM、3
03から命令の先読を行なうが、先読みされた命令は信
号線329を介しDU309に送られることになる。こ
の場合信号線329は少なくとも1組のオペランド指定
子とオペコードを含めることができるだけのデータビッ
ト幅を有するものとされる。レジスタ指定モード検出手
段(RDD)517では信号線329の先頭がオペコー
ドである場合、それに引き続く第1オペランド指定子が
レジスタ指定であるか否かが調べられるものである。も
しもレジスタ指定でない場合には、信号線329のデー
タはOS−ΔL I G516を介してそのまま信号線
21Δに出力されるが、この際5EL515は信号線2
1Aを選択するようになっている。また、レジスタ指定
子である場合は、08−ALIG516は信号線329
上のデータを第1オペランドのビット数分だけシフトさ
せた状態で信号線21Aに出力するが、これと同時に第
1オペランド指定子は(n片線20Aに出力されるよう
になっている。更に同時に、5EL515には信号線2
0A上のデータを選択するm号が信号線+9Aを介し出
力される。従って、第1オペランドがレジスタ指定モー
ドである場合には、第2オペランド指定子は05−DE
C505で、また、第1オペランド指定子はRL) −
D E C506で同時にデコードされることになるわ
けである。
As mentioned above, the IFU 305 is connected to the buffer memory BM, 3.
The prefetched instructions are sent to the DU 309 via the signal line 329. In this case, the signal line 329 has a data bit width sufficient to include at least one set of operand specifier and opcode. When the head of the signal line 329 is an opcode, the register designation mode detection means (RDD) 517 checks whether the first operand specifier following it is a register designation. If the register is not specified, the data on the signal line 329 is directly output to the signal line 21Δ via the OS-ΔL I G516, but in this case, the 5EL515
1A is selected. Also, if it is a register specifier, 08-ALIG516 is the signal line 329
The above data is shifted by the number of bits of the first operand and output to the signal line 21A, and at the same time, the first operand specifier is output to the (n) line 20A. At the same time, signal line 2 is connected to 5EL515.
No. m for selecting data on 0A is output via signal line +9A. Therefore, if the first operand is in register specification mode, the second operand specifier is 05-DE
C505, and the first operand specifier is RL) -
This means that they are simultaneously decoded by the DEC 506.

ところで、信号線329には常にオペコードとそれに引
き続くオペランド指定子が出力されているとは限らず、
オペランドの数が多い場合には、オペコードが含まれず
オペランド指定子だけの場合が考えられる。このような
場合、RDD517は信号a329上の先頭のオペラン
ド指定子がレジスタ指定Pモードであるか否かを調へ、
その結果に対してO3ALI051Gおよび5EL51
5は前記の場合と同様な動作を行なうようになっている
By the way, the opcode and the operand specifier that follows it are not always output to the signal line 329;
If there are a large number of operands, it may be possible that no opcode is included and only an operand specifier is included. In such a case, the RDD 517 checks whether the first operand specifier on the signal a329 is in register specification P mode.
O3ALI051G and 5EL51 for the results
5 performs the same operation as in the above case.

第4図、第5図は、それぞれ命令の流れとそれに伴う命
令の処理過程を示したものである。これによると第4図
は2オペランド命令のステージフローを示すが、2つの
オペランド指定子は共にレジスタ指定モードではない。
FIGS. 4 and 5 respectively show the flow of instructions and the accompanying instruction processing process. According to this, although FIG. 4 shows the stage flow of a two-operand instruction, both operand specifiers are not in register specification mode.

従って、この場合には2オペランド同時処理は行なわれ
ず、2つのオペランド指定子をデコードするのに2マシ
ンサイクル必要となる。また、第5図は第1オペランド
指定子がレジスタ指定モニドで、第2オペランド指定子
がレジスタ指定モードでない場合を示している。このよ
うな場合には、本発明により第1オペランド指定子と第
2オペランド指定子はDU309で同時にデコードされ
ることになるものである。これまでにあってはこのよう
な場合でも命令のデコードに2マシンサイクル要してい
たものであるが、本発明による場合は1マシンサイクル
で済まされるものである。
Therefore, in this case, two operands are not processed simultaneously, and two machine cycles are required to decode the two operand specifiers. Further, FIG. 5 shows a case where the first operand specifier is a register specifying mode and the second operand specifier is not a register specifying mode. In such a case, according to the present invention, the first operand specifier and the second operand specifier will be decoded simultaneously in the DU 309. Conventionally, it took two machine cycles to decode an instruction even in such a case, but according to the present invention, it only takes one machine cycle.

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

以上説明したように本発明による場合は、比較的出現頻
度の高いレジスタ指定−非レジスタ指定といったオペラ
ンド指定子の組合わせに対し、これまでは2マシンサイ
クル要していたオペランド指定子のデコードが2オペラ
ンド指定子を同時にデコードすることによって1マシン
サイクルで完了し得、従って、パイプライン制御を行な
うデータ処理装置の命令処理速度が向上されるという効
果がある。
As explained above, in the case of the present invention, decoding of operand specifiers that previously required two machine cycles for combinations of operand specifiers such as register specification - non-register specification, which occur relatively frequently, now takes two machine cycles. By decoding the operand specifiers simultaneously, the decoding can be completed in one machine cycle, and therefore the instruction processing speed of a data processing device that performs pipeline control is improved.

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

第1図(A)〜(F)は、可変長のオペランド指定子を
持つ命令のフォーマットを示す図、第2図は、本発明が
適用可とされたデータ処理装置の一例でのブロック構成
を示す図、第3図は、その構成における本発明による命
令デコードユニット r の−例での具体的構成を示す図、第ρ図、第4図は、そ
れぞれ命令の流れとそれに伴う命令の処理過程を示す図
である。 301・・・主記憶装置、302・・・主記憶制御ユニ
ット、303,304・・・高速バッファメモリ、30
5・・・命令フェッチユニット、309・・・命令デコ
ードユニット、310・・・アドレス計算ユニット、3
11・・・オペランドフェッチユニット、312・・・
実行ユニット、505・・オペランド指定子デコーダ、
506・・・レジスタ指定モードデコーダ、517・・
・レジスタ指定モード検出手段、516・・・オペラン
第 /I!1 (A) 14−3→−シーーー (C) I4−3÷−4−I CD) 第 2 日 ど 第 3 口 第 4 囚 0FLL ■ ■ Elli の、■ H−−−−−−−−−−−− 第 !5 目 ■−〇 Dtj ドーーーー ■ 八μ H−−→ ■ OFσ ←−−8 諏 −−−−+
Figures 1 (A) to (F) are diagrams showing the format of instructions with variable-length operand specifiers, and Figure 2 shows the block configuration of an example of a data processing device to which the present invention is applicable. 3 is a diagram showing a specific configuration of an example of the instruction decoding unit r according to the present invention in its configuration, and FIGS. FIG. 301... Main memory device, 302... Main memory control unit, 303, 304... High speed buffer memory, 30
5... Instruction fetch unit, 309... Instruction decode unit, 310... Address calculation unit, 3
11... Operand fetch unit, 312...
Execution unit, 505...operand specifier decoder,
506...Register specification mode decoder, 517...
・Register specification mode detection means, 516...operan number /I! 1 (A) 14-3 → -C −−− No. ! 5th ■−〇Dtj Doooo■ 8μ H−−→ ■ OFσ ←−−8 Suzu −−−−+

Claims (1)

【特許請求の範囲】 1、オペランドのアドレッシングモードを指定するオペ
ランド指定子がオペレーションを指定するコード部分か
ら独立して与えられる可変長命令を扱い、且つ該可変長
命令あるいはデータを格納する主記憶装置と、該主記憶
装置より命令を読み出す命令続出手段と、該命令続出手
段からの命令をデコードする命令デコード手段と、該命
令デコード手段からの情報によりオペランドのアドレス
を計算するアドレス計算手段と、該アドレス計算手段か
らのアドレスによって指示される主記憶装置のオペラン
ドに対してデータの続出、書込を行なうオペランド操作
手段と、該命令デコード手段から9えられる動作指示に
従って動作を行なう実行ユニットよりなるデータ処理装
置において、命令デコード手段内に、命令読出手段から
のオペランド指定子が実行ユニット内のレジスタを第1
オペランドとして指定するオペランド指定子に引き続い
て、実行ユニット内のレジスタ以外を第2オペランドと
して指定するオペランド指定子である特;:喝4 定なオペランド指定子を検出する手段と、該手段へ によって上記特定なオペランド指定子列が検出され七場
合に第1.第2のオペランド指定子をそれぞれ抽出する
手段と、該手段からの抽出された第1、第2のオペラン
ド指定子を同一サイクル内にてそれぞれデコードする手
段と、上記各手段による特定なデコード処理が行なわれ
ている旨をアドレス計算手段に通知する手段とを設けた
構成を特徴とするデータ処理装置。
[Claims] 1. A main memory that handles variable-length instructions in which an operand specifier that specifies the addressing mode of an operand is given independently from a code section that specifies an operation, and that stores the variable-length instructions or data. , an instruction successive output means for reading instructions from the main memory, an instruction decoding means for decoding the instructions from the instruction successive output means, an address calculation means for calculating an address of an operand based on information from the instruction decoding means; Data consisting of an operand manipulation means that successively writes and writes data to an operand in the main memory indicated by an address from the address calculation means, and an execution unit that performs an operation according to the operation instruction received from the instruction decoding means. In the processing device, in the instruction decoding means, an operand specifier from the instruction reading means sets a register in the execution unit to the first register.
means for detecting a specific operand specifier that specifies a register other than a register in an execution unit as a second operand following an operand specifier specified as an operand; If a specific operand specifier sequence is detected, the first . means for respectively extracting second operand specifiers, means for decoding the extracted first and second operand specifiers from the means in the same cycle, and specific decoding processing by each of the above means. 1. A data processing device comprising: means for notifying an address calculation means that the calculation is being performed.
JP6337384A 1984-04-02 1984-04-02 Data processor Pending JPS60207933A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6337384A JPS60207933A (en) 1984-04-02 1984-04-02 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6337384A JPS60207933A (en) 1984-04-02 1984-04-02 Data processor

Publications (1)

Publication Number Publication Date
JPS60207933A true JPS60207933A (en) 1985-10-19

Family

ID=13227417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6337384A Pending JPS60207933A (en) 1984-04-02 1984-04-02 Data processor

Country Status (1)

Country Link
JP (1) JPS60207933A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0395629A (en) * 1989-09-08 1991-04-22 Fujitsu Ltd Data processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0395629A (en) * 1989-09-08 1991-04-22 Fujitsu Ltd Data processor

Similar Documents

Publication Publication Date Title
KR100327777B1 (en) Data processing device using multiple instruction sets
US5129068A (en) Operand address calculation in a pipeline processor by decomposing the operand specifier into sequential step codes
EP0220682A2 (en) Data processing system
KR950012117B1 (en) Coprocessor and its control method
JPH01214932A (en) Data processor
JPH07120278B2 (en) Data processing device
JP3578883B2 (en) Data processing device
JPS62226232A (en) Control system for branch instruction
JPS6160459B2 (en)
JPS60207933A (en) Data processor
US5269008A (en) Method and apparatus for pre-processing the source of a pop instruction in a pipeline computer
JPH0769806B2 (en) Data processing device
JPH0651984A (en) Microprocessor
JP2856784B2 (en) Electronic computer
JP2843844B2 (en) Parallel processing unit
JPS6149692B2 (en)
JPH0816392A (en) Computer system, computer system operating method, and computer instruction sequence executing method
JP2825315B2 (en) Information processing device
JPH01124029A (en) Tagged data processing device
JPH0769801B2 (en) Data processing device
JPH04163628A (en) Information processor
JPH0997180A (en) Programmable controller
JPS59160239A (en) information processing equipment
JPH0769805B2 (en) Data processing device
JP2005134987A (en) Pipeline processing unit