JPS6217773B2 - - Google Patents

Info

Publication number
JPS6217773B2
JPS6217773B2 JP7435280A JP7435280A JPS6217773B2 JP S6217773 B2 JPS6217773 B2 JP S6217773B2 JP 7435280 A JP7435280 A JP 7435280A JP 7435280 A JP7435280 A JP 7435280A JP S6217773 B2 JPS6217773 B2 JP S6217773B2
Authority
JP
Japan
Prior art keywords
instruction
operand
register
addressing mode
processing device
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
JP7435280A
Other languages
Japanese (ja)
Other versions
JPS57756A (en
Inventor
Hidekazu Matsumoto
Tadaaki Bando
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 JP7435280A priority Critical patent/JPS57756A/en
Publication of JPS57756A publication Critical patent/JPS57756A/en
Publication of JPS6217773B2 publication Critical patent/JPS6217773B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 本発明はパイプライン処理を行うデータ処理装
置に係り、特に、オペランドがメモリ上又はレジ
スタ・ダイレクトのいずれにおいてもマイクロプ
ログラムがそれらの違いを意識することなく高速
に命令を処理できるようにしたデータ処理装置に
関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data processing device that performs pipeline processing, and particularly to a data processing device that allows a microprogram to execute instructions at high speed without being aware of the difference between operands in memory or register direct. The present invention relates to a data processing device capable of processing data.

近年、ハードウエアの高速化に伴い、ソフトウ
エアの生産性の向上を図り、さらにメモリの利用
効率の向上を目ざして命令の高機能化を図つた計
算機が多くなりつつある。このために、従来オペ
レーシヨンコード(以下、OPコードと略す)に
従属的であつたオペランドのアドレツシングモー
ドをOPコードから独立させて、アドレツシング
モードを指定するフイールドを命令語の中に独立
して持つような命令体系が現われている。
In recent years, as hardware has become faster, an increasing number of computers have been designed to increase the functionality of instructions with the aim of improving software productivity and improving memory usage efficiency. For this purpose, the addressing mode of the operand, which was conventionally dependent on the operation code (hereinafter abbreviated as OP code), has been made independent from the OP code, and a field that specifies the addressing mode is included in the instruction word. An independent command system is emerging.

しかし、このような命令体系を従来のデータ構
造の処理装置で処理する場合には、以下のような
問題点がある。
However, when such an instruction system is processed by a processing device with a conventional data structure, the following problems arise.

第1図は、従来のパイプライン処理を行うデー
タ処理装置の基本的な構成を示す図である。第1
図において、処理装置を命令の準備を行うユニツ
トと命令の実行を行う部分との2つの部分に分け
ると、命令準備ユニツト100は、命令フエツチ
回路150、命令デコード回路102、オペラン
ドの実効アドレス計算を行うアドレス計算回路1
03、オペランドのフエツチを制御するオペラン
ドフエツチ回路104から構成される。一方、命
令実行ユニツト101は、オペランドバツフア1
06、データセレクタ107,108、演算回路
109、テンポラリーレジスタ110、マイクロ
プログラムアドレスレジスタ111、マイクロプ
ログラムメモリ112、マイクロ命令レジスタ1
13などから構成される。これらのユニツトの他
に、ジエネラルレジスタ方式を採る処理装置で
は、ジエネラルレジスタ114が命令準備ユニツ
ト100と命令実行ユニツト101とに共用され
る。もちろん、パイプライン制御を行う処理装置
の構成は、さらに細かいユニツトに分けられる場
合もある。
FIG. 1 is a diagram showing the basic configuration of a data processing device that performs conventional pipeline processing. 1st
In the figure, if the processing device is divided into two parts, a unit that prepares instructions and a part that executes instructions, the instruction preparation unit 100 includes an instruction fetch circuit 150, an instruction decode circuit 102, and an effective address calculation section for operands. Address calculation circuit 1
03, an operand fetch circuit 104 that controls operand fetching. On the other hand, the instruction execution unit 101 operates the operand buffer 1
06, data selectors 107, 108, arithmetic circuit 109, temporary register 110, microprogram address register 111, microprogram memory 112, microinstruction register 1
It consists of 13 etc. In addition to these units, in a processing device employing a general register system, a general register 114 is shared by the instruction preparation unit 100 and the instruction execution unit 101. Of course, the configuration of a processing device that performs pipeline control may be divided into more detailed units.

第2図は、第1図に示した処理装置について、
命令実行を行う部分についてさらに詳しく示した
ものである。この図では、一例として、OPコー
ド部OP、第1オペランドのアドレツシングモー
ドを指定する部分MOD1、レジスタ指定部分R
1,R2を有する2オペランドタイプの命令20
0の処理について説明する。MOD1は第1オペ
ランドのアドレツシングモードを指定する部分で
あり、前記MOD1がレジスタ・ダイレクトの場
合には、レジスタ指定部分R1で示されるレジス
タが第1オペランドとなり、前記MOD1がメモ
リ参照モードの場合には、レジスタ指定部分R1
で示されるレジスタが実効アドレス計算のための
ベースレジスタとして使用される。命令語200
のOP,MOD1は信号線210,220を通して
デコード回路102でデコードされ、命令実行ユ
ニツトを制御するマイクロプログラムアドレスが
作成され、そのアドレスは信号線123を通して
マイクロプログラムアドレスレジスタ111にセ
ツトされる。
FIG. 2 shows the processing device shown in FIG.
This shows more details about the part that executes instructions. In this figure, as an example, the OP code part OP, the part MOD1 that specifies the addressing mode of the first operand, and the register specification part R
1, 2-operand type instruction 20 with R2
The processing of 0 will be explained. MOD1 is a part that specifies the addressing mode of the first operand. If the above MOD1 is register direct, the register indicated by the register specification part R1 becomes the first operand, and if the above MOD1 is the memory reference mode. The register specification part R1
The register indicated by is used as the base register for effective address calculation. Command words 200
OP and MOD1 are decoded by the decode circuit 102 through signal lines 210 and 220 to create a microprogram address for controlling the instruction execution unit, and this address is set in the microprogram address register 111 through a signal line 123.

以上のような従来の処理装置においては、OP
コードが同一であつても、オペランドがメモリ参
照の場合とレジスタ・ダイレクトの場合とではマ
イクロプログラムを分ける必要があつた。これは
ジエネラルレジスタ114の2組の出力線12
7,128の内、一方の出力線127は命令準備
ユニツト専用とし、他方の出力線128は命令実
行ユニツト専用としているため、2つのオペラン
ドが両者ともにレジスタ・ダイレクトモードの場
合には、オペランドを命令実行ユニツト101に
取り込む信号線はジエネラルレジスタ114の出
力線128しかなく、したがつて第3図Aに示す
ように、2オペランドの加算命令では2組のマイ
クロプログラムとならざるを得なかつた。
In the conventional processing equipment described above, the OP
Even if the code was the same, it was necessary to separate microprograms depending on whether the operand was a memory reference or a register direct operand. This is the two sets of output lines 12 of the general register 114.
7,128, one output line 127 is dedicated to the instruction preparation unit, and the other output line 128 is dedicated to the instruction execution unit. Therefore, when both operands are in register direct mode, the operands are used as instructions. The only signal line taken into execution unit 101 is the output line 128 of general register 114, and therefore, as shown in FIG. 3A, an addition instruction with two operands has no choice but to result in two sets of microprograms.

一方、第1オペランドがメモリ参照モードの場
合には、第1オペランドはメモリからの信号線1
30を通してオペランドバツフア106にセツト
されており、マイクロプログラムは第3図Bに示
すように、1マイクロ命令となる。
On the other hand, when the first operand is in the memory reference mode, the first operand is the signal line 1 from the memory.
30 to the operand buffer 106, and the microprogram becomes one microinstruction as shown in FIG. 3B.

このようにオペランドがメモリとレジスタの場
合に分けてマイクロプログラムを用意しなければ
ならず、マイクロプログラムの容量が増大すると
いう欠点を有し、さらに命令処理速度の低下を招
くという欠点があつた。
In this way, separate microprograms must be prepared for cases where the operand is a memory or a register, which has the disadvantage of increasing the capacity of the microprogram and further causing a decrease in instruction processing speed.

本発明は、前記した従来技術の欠点に鑑みなさ
れたものであり、その目的は、オペランドがレジ
スタ・ダイレクトモードのときもメモリ参照モー
ドのときも同一のマイクロ命令によつて実行可能
なデータ処理装置を提供することにある。
The present invention has been made in view of the drawbacks of the prior art described above, and its object is to provide a data processing device that can be executed by the same microinstruction whether the operand is in register direct mode or memory reference mode. Our goal is to provide the following.

本発明は、連絡用レジスタを設けて、オペラン
ドがレジスタダイレクトモードで与えられた場合
に、命令準備ユニツトがジエネラルレジスタをア
クセスして予めオペランドとなるレジスタの内容
を上記連絡用レジスタに転送するようにするとと
もに、アドレツシングモードがレジスタダイレク
トモードのときには、この連絡用レジスタのオペ
ランドを命令実行ユニツトに読み込む機構を設け
たことを特徴としている。
The present invention provides a communication register so that when an operand is given in register direct mode, the instruction preparation unit accesses the general register and transfers the contents of the register that will become the operand to the communication register in advance. In addition, when the addressing mode is the register direct mode, a mechanism is provided for reading the operand of this communication register into the instruction execution unit.

以下、本発明の詳細を実施例により説明する。
第4図は本発明のパイプライン制御データ処理装
置の実施例を示したブロツク図である。このデー
タ処理装置は、命令準備ユニツト100、命令実
行ユニツト101ともに第1図の従来装置と大部
分が同様であるが、連絡用レジスタ300とフラ
グ301が設けられているのが特徴である。
Hereinafter, the details of the present invention will be explained with reference to Examples.
FIG. 4 is a block diagram showing an embodiment of the pipeline control data processing device of the present invention. This data processing apparatus has an instruction preparation unit 100 and an instruction execution unit 101 which are mostly similar to the conventional apparatus shown in FIG. 1, but is characterized by the provision of a communication register 300 and a flag 301.

第5図は、第4図で示した実施例から、命令実
行を行う部分に関連する要素を抜き出してさらに
詳しく示したもので、第2図で説明した従来例の
場合と同様なフオーマツトを有する2オペランド
命令200の処理列を説明する。命令語のOPコ
ード(OP)は、デコード回路400によつてマ
イクロプログラムの先頭アドレスに変換され、信
号線123を通してマイクロプログラムアドレス
レジスタ111にセツトされる。
FIG. 5 shows elements related to the instruction execution part extracted from the embodiment shown in FIG. 4 in more detail, and has a format similar to that of the conventional example explained in FIG. The processing sequence of the two-operand instruction 200 will be explained. The OP code (OP) of the instruction word is converted into the start address of the microprogram by the decoding circuit 400, and is set in the microprogram address register 111 through the signal line 123.

命令語200のMOD1は、デコード回路40
1によつてデコードされ、信号線311を介して
フラグ301のセツト、リセツト信号となる。す
なわち、フラグ301はMOD1がレジスタ・ダ
イレクトモードのときにセレクタ107が信号線
310を選択し、MOD1がメモリ参照モードの
ときにセレクタ107が信号線131を選択する
ように設定される。
MOD1 of instruction word 200 is decode circuit 40
1 and becomes a signal for setting and resetting the flag 301 via the signal line 311. That is, the flag 301 is set so that the selector 107 selects the signal line 310 when MOD1 is in the register direct mode, and so that the selector 107 selects the signal line 131 when MOD1 is in the memory reference mode.

また、MOD1がレジスタモードの場合には、
命令語200のレジスタ指定部R1の内容がジエ
ネラルレジスタ114の一方のアドレスレジスタ
202に設定され、対応するレジスタの内容が信
号線127、アドレス計算回路103、信号線1
21を通して連絡用レジスタ300にセツトされ
る。オペランドがメモリ参照の場合には、メモリ
からの信号線130を通してオペランドバツフア
106にオペランドがセツトされる。
Also, if MOD1 is in register mode,
The contents of the register specification part R1 of the instruction word 200 are set to one of the address registers 202 of the general register 114, and the contents of the corresponding register are set to the signal line 127, the address calculation circuit 103, and the signal line 1.
21 to the communication register 300. If the operand is a memory reference, the operand is set in the operand buffer 106 through a signal line 130 from the memory.

したがつて、命令実行時には、オペランドがオ
ペランドバツフア106(メモリ参照モード)又
はレジスタ300(レジスタ・ダイレクトモー
ド)のいずれかに準備されており、しかもフラグ
301とセレクタ107によつて、オペランドの
アドレツシングモードに対応してどちらを選択す
るかが既に定められているため、マイクロプログ
ラムにおいてオペランドのアドレツシングモード
を意識する必要がない。このため、第6図に示す
ように、本発明を実施した場合には、マイクロプ
ログラムをメモリ参照の場合とレジスタダイレク
トの場合と共用できる。
Therefore, when an instruction is executed, the operand is prepared in either the operand buffer 106 (memory reference mode) or the register 300 (register direct mode), and the address of the operand is determined by the flag 301 and selector 107. Since the addressing mode to be selected has already been determined in accordance with the addressing mode, there is no need to be aware of the addressing mode of the operand in the microprogram. Therefore, as shown in FIG. 6, when the present invention is implemented, the microprogram can be used in both the case of memory reference and the case of register direct.

以上の説明から明らかなように、本発明によれ
ば、命令を実行するマイクロプログラムがオペラ
ンドのアドレツシングモードに影響されず、この
ため、オペランドのアドレツシングモードがメモ
リ参照でもレジスタ・ダイレクトでも共通のマイ
クロプログラムとすることが可能となるため、マ
イクロプログラムメモリを減少させることが可能
となり、さらに実行マイクロステツプ数を減少す
ることが可能となるという効果がある。
As is clear from the above description, according to the present invention, a microprogram that executes an instruction is not affected by the addressing mode of the operand, and therefore, whether the addressing mode of the operand is memory reference or register direct, Since it is possible to use a common microprogram, it is possible to reduce the microprogram memory and furthermore, it is possible to reduce the number of executed microsteps.

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

第1図は従来のデータ処理装置を示すブロツク
図、第2図は第1図の命令実行部分の詳細図、第
3図は第1図に示すデータ処理装置における加算
命令を実行するためのマイクロプログラムフロー
を示す図、第4図は本発明の一実施例を示すブロ
ツク図、第5図は第4図の命令実行部分の詳細
図、第6図は本発明の場合の加算命令を実行する
ためのマイクロプログラムフローを示す図であ
る。 100……命令準備ユニツト、101……命令
実行ユニツト、102,400,401……デコ
ード回路、103……アドレス計算回路、106
……オペランドバツフア、114……ジエネラル
レジスタ、300……連絡用レジスタ、301…
…フラグ、107,108……セレクタ。
FIG. 1 is a block diagram showing a conventional data processing device, FIG. 2 is a detailed diagram of the instruction execution portion of FIG. 1, and FIG. A diagram showing the program flow, FIG. 4 is a block diagram showing an embodiment of the present invention, FIG. 5 is a detailed diagram of the instruction execution portion of FIG. 4, and FIG. 6 is a diagram showing the execution of the addition instruction in the case of the present invention. FIG. 2 is a diagram illustrating a microprogram flow for. 100...Instruction preparation unit, 101...Instruction execution unit, 102, 400, 401...Decode circuit, 103...Address calculation circuit, 106
...Operand buffer, 114...General register, 300...Communication register, 301...
...Flag, 107,108...Selector.

Claims (1)

【特許請求の範囲】[Claims] 1 記憶装置から読み出した命令語を解読し、こ
の解読結果に従つて前記命令語に含まれるオペラ
ンドの実効アドレスを計算してオペランドの準備
を行う命令準備ユニツトと、該命令準備ユニツト
によつて解読された命令語とオペランドを受け取
つて命令の実行を行う命令実行ユニツトから成る
パイプライン制御方式のデータ処理装置におい
て、連絡用レジスタと、オペランドバツフアと、
上記命令語に含まれるオペランドのアドレツシン
グモードの内容に応じた内容が設定されるフラグ
とを備えるとともに、上記アドレツシングモード
がレジスタダイレクトの場合には、上記命令準備
ユニツトにより上記命令語で指定されたレジスタ
の内容を上記連絡用レジスタにセツトせしめて、
この内容を上記フラグの指示により上記命令実行
ユニツトに選択とり込みさせ、また上記アドレツ
シングモードがメモリ参照の場合には、上記命令
準備ユニツトにより上記命令語で指定されたアド
レスをもつ記憶装置の内容を上記オペランドバツ
フアにセツトせしめて、この内容を上記フラグの
指示により上記命令実行ユニツトに選択とり込み
させるように構成したことを特徴とするデータ処
理装置。
1. An instruction preparation unit that decodes the instruction word read from the storage device and prepares the operand by calculating the effective address of the operand included in the instruction word according to the decoding result; In a pipeline control type data processing device comprising an instruction execution unit that receives a given instruction word and operand and executes the instruction, a communication register, an operand buffer,
In addition, when the addressing mode is register direct, the instruction preparation unit sets the flag according to the addressing mode of the operand included in the instruction word. Set the contents of the specified register to the above communication register,
This content is selectively loaded into the instruction execution unit according to the instructions of the flag, and if the addressing mode is memory reference, the instruction preparation unit selects the memory device with the address specified by the instruction word. A data processing device characterized in that the content is set in the operand buffer, and the content is selectively taken into the instruction execution unit according to the instruction of the flag.
JP7435280A 1980-06-04 1980-06-04 Data processor Granted JPS57756A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7435280A JPS57756A (en) 1980-06-04 1980-06-04 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7435280A JPS57756A (en) 1980-06-04 1980-06-04 Data processor

Publications (2)

Publication Number Publication Date
JPS57756A JPS57756A (en) 1982-01-05
JPS6217773B2 true JPS6217773B2 (en) 1987-04-20

Family

ID=13544640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7435280A Granted JPS57756A (en) 1980-06-04 1980-06-04 Data processor

Country Status (1)

Country Link
JP (1) JPS57756A (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58146941A (en) * 1982-02-26 1983-09-01 Hitachi Ltd Processor for control data of microprogram
JPS59184948A (en) * 1983-04-04 1984-10-20 Hitachi Ltd Microcomputer of variable structure
JPS61238100A (en) * 1985-04-16 1986-10-23 株式会社日立製作所 Voice input/output unit
JPS61285537A (en) * 1985-06-12 1986-12-16 Hitachi Ltd Data processor by microprogram control
JP2694948B2 (en) * 1987-03-31 1997-12-24 株式会社東芝 Micro program processor
JPH0769804B2 (en) * 1988-09-28 1995-07-31 三菱電機株式会社 Data processing device

Also Published As

Publication number Publication date
JPS57756A (en) 1982-01-05

Similar Documents

Publication Publication Date Title
EP0220684B1 (en) Data processing system
EP0148478A2 (en) A data processor with control of the significant bit lenghts of general purpose registers
EP0087785B1 (en) Microprogram controlled data processing apparatus
JPS6339931B2 (en)
JPS62197830A (en) Data processing system
US4347566A (en) Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
JPS645330B2 (en)
JPH03233630A (en) Information processor
JPH03171231A (en) Micro computer system
JPS6217773B2 (en)
JPH0574096B2 (en)
JP2553200B2 (en) Information processing device
JPS63268033A (en) Data processing system
JPS6134188B2 (en)
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JPS6057435A (en) Microprocessor
JP2583506B2 (en) Data processing device
JP2743947B2 (en) Micro program control method
JPS59127154A (en) Instruction decoder of electronic computer
JPH028330B2 (en)
JPH0375904B2 (en)
JPS61235946A (en) Data processor
JPH11119995A (en) Device and method for processing data
JPH0424731B2 (en)
JPH0367331A (en) Microprocessor