JPS61112240A - Data processor - Google Patents

Data processor

Info

Publication number
JPS61112240A
JPS61112240A JP23243884A JP23243884A JPS61112240A JP S61112240 A JPS61112240 A JP S61112240A JP 23243884 A JP23243884 A JP 23243884A JP 23243884 A JP23243884 A JP 23243884A JP S61112240 A JPS61112240 A JP S61112240A
Authority
JP
Japan
Prior art keywords
address
unit
memory
indirect
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP23243884A
Other languages
Japanese (ja)
Other versions
JPH028330B2 (en
Inventor
Shinichiro Yamaguchi
伸一朗 山口
Hidekazu Matsumoto
松本 秀和
Tadaaki Bando
忠秋 坂東
Yoichi Hirayama
洋一 平山
Hiroaki Nakanishi
宏明 中西
Kenji Hirose
広瀬 健二
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 Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
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 Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP23243884A priority Critical patent/JPS61112240A/en
Publication of JPS61112240A publication Critical patent/JPS61112240A/en
Publication of JPH028330B2 publication Critical patent/JPH028330B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To attain the calculation of a memory indirect to address without increasing considerably the hardware by using a DA unit for execution of processes up to the calculation of the memory indirect address and then using an E unit for the rest calculation including the access of a memory. CONSTITUTION:In case the addressing mode of an operand means the states excluding a memory indirect state, an executing address needed for operand fetching is calculated by a DA unit 3. In a memory indirect address calculation mode, the unit 3 is used to execute the processes up to an address (IA) for a memory indirect state. Then the address IA is sent to an E unit 4 for execution of the executing address. Thus it is possible to perform calculation of a memory indirect to address without adding any memory access function to an address calculation unit.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、マイクロプログラムによって制御されるデー
タ処理装置、特にパイプライン方式を採用したデータ処
理装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a data processing device controlled by a microprogram, and particularly to a data processing device employing a pipeline system.

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

電子計算機におけるマイクロ命令(機械語命令)の実行
過程は、一般に、命令のフェッチ(IF)。
The process of executing microinstructions (machine language instructions) in an electronic computer is generally an instruction fetch (IF).

命令のデコード(D)、オペランドのアドレス計算(A
)、オペランドのフェッチ(OF)、命令の実行(E)
、結果の格納(ST)の各ステージ(過程)に分けるこ
とができる。
Instruction decoding (D), operand address calculation (A)
), fetch operand (OF), execute instruction (E)
, and each stage (process) of result storage (ST).

最近の高性能な計算機では、これらの各ステージが独立
な処理を行っていることに注目して、ステージ毎に個別
の制御機構を持たせて、命令の実行ステージを流れ作業
的に行う、いわゆるパイプライン制御が用いられる。し
かし1gA実的には、ハードウェア量の制約などから、
各ステージを独立させることはできず、一般には、■I
F(IFユニット)■D&A (DAユニット)、■O
F&E&ST (Eユニット)の3ステージに分けられ
ている。DAユニットでは、命令のデコードとオペラン
ドのアドレス計算を行うが、メモリ参照を伴いアドレス
計算、即ちメモリ間接のアドレス計算をDAユニットで
行うためには、DAユニットにメモリアクセスの手段を
設けなければならない。
In recent high-performance computers, noting that each of these stages performs independent processing, each stage has its own control mechanism and the instruction execution stage is carried out in a so-called assembly line. Pipeline control is used. However, in reality, 1gA is limited due to constraints on the amount of hardware, etc.
Each stage cannot be made independent, and in general, ■I
F (IF unit) ■D&A (DA unit), ■O
It is divided into three stages: F&E&ST (E unit). The DA unit decodes instructions and calculates operand addresses, but in order to perform address calculations that involve memory references, that is, memory indirect address calculations, the DA unit must be provided with a means of memory access. .

特開昭58−146941号rマイクロプログラム制御
データ処理装置」では、メモリアクセスのための専用ス
テージがあるために、メモリ間接のアドレス計算でもA
ユニットにメモリアクセスの手段を設ける必要はなかっ
た。しかし、アドレス計算のために、DAユニットにメ
モリアクセス手段を設けることは、ハードウェア量の増
加、制御の複雑さを招く、一方、メモリ間接のアドレス
計算をEユニットで行うようにすれば、メモリ間接のオ
ペランドを含む命令は、それ以外のアドレッシングモー
ドのオペランドとは別のマイクロプログラムにしなけれ
ばならず、マイクロプログラムの増大を招く、また、D
Aユニットで、メモリ間接を行うメモリアドレスまでの
計算を行い、Eユニットにアドレスと共に、メモリ間接
用のアドレスであることを示す情報を渡す方法は、ハー
ドウェア量の増加もなく、マイクロプログラムの増加も
少ない。
JP-A No. 58-146941 r Microprogram Control Data Processing Device" has a dedicated stage for memory access, so even indirect memory address calculations can be performed without A.
There was no need to provide the unit with a means of memory access. However, providing a memory access means in the DA unit for address calculation increases the amount of hardware and increases the complexity of control.On the other hand, if the E unit performs memory indirect address calculation, the memory Instructions that include indirect operands must be placed in a separate microprogram from operands in other addressing modes, which increases the size of the microprogram.
The method of calculating up to the memory address for memory indirection in the A unit and passing information indicating that the address is for memory indirection to the E unit along with the address does not increase the amount of hardware and increases the number of microprograms. There are also few.

しかし、この方法を実現するためには、Eユニット側で
渡されたアドレスが何であるかを判定する必要があり、
メモリアクセスを行うすべての命令の実行時間が、その
オペランドがメモリ間接のアドレッシングを使用してい
る、いないにかかわらず増大す゛ると言う欠点がある。
However, in order to implement this method, it is necessary to determine what the address passed on the E unit side is.
The disadvantage is that the execution time of any instruction that accesses memory increases regardless of whether its operands use memory indirect addressing.

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

本発明の目的は、メモリ間接のアドレッシング計算を、
アドレス計算ユニットにアクセス機構を付加することな
く、実行可能とせしめるデータ処理装置を提供するもの
である。
The purpose of the present invention is to perform memory indirect addressing calculations by
The present invention provides a data processing device that can be executed without adding an access mechanism to an address calculation unit.

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

計算機の命令は、年々高機能化されているが、一方、命
令の演算対象となるオペランドの指定方法、つまりアド
レッシングも複雑なものが多く提案され、オペランドの
実効アドレスの計算も複雑で時間がかかるようになって
来ている。特に、メモリ間接のアドレス計算では、実効
アドレスを得る過程でメモリアクセスを行わなければな
らない。
Computer instructions are becoming more sophisticated year by year, but at the same time, many methods for specifying the operands to be operated on by the instructions, that is, addressing, have been proposed in many complex ways, and calculating the effective addresses of the operands is also complex and time-consuming. It's starting to look like this. In particular, memory indirect address calculation requires memory access in the process of obtaining an effective address.

このアドレス計算を、3段程度の低い段数のパイプライ
ン計算機で行うには、前述したような方法が考えられる
。しかし、メモリ間接のアドレッシングは、メモリ直接
のアドレッシング、例えばベースレジスタ相対に比べて
、使用頻度が低いと考えられることから、メモリ間接の
アドレス計算を効率よく行うために命令の実行時間を落
とすことは、良い選択と言えず、また、そのためにハー
ドウェア量が、大巾に増加するのも良い選択と言えない
、従って、メモリ間接のアドレス計算に多少時間がかか
つても、他のアドレッシングモードを用いた命令の実行
を落さないこと、ハードウェアの増加を極力抑えること
が必要である。本発明は、メモリ間接のアドレス計算で
は、メモリ間接用のアドレス計算までをDAユニットで
行い、メモリのアクセスを含む残りのアドレス計算はE
ユニットで行う方法を提供している。つまり、DAユニ
ットで計算されたアドレスが、メモリ間接用である場合
には、Eユニット内のメモリ間接指示プラグを立て、E
ユニットが、オペランドのメモリアクセスを行う際にハ
ードウェアでフラグを判定し、メモリ間接が指定されて
れば、メモリアクセスをサプレスして、メモリ間接のア
ドレス計算用のマイクロプログラムへ強制的にジャンプ
する。
In order to perform this address calculation using a pipeline computer with a low number of stages, such as about three stages, the above-mentioned method can be considered. However, since memory indirect addressing is considered to be used less frequently than memory direct addressing, such as base register relative, it is not possible to reduce instruction execution time in order to efficiently perform memory indirect address calculations. , it is not a good choice, nor is it a good choice because the amount of hardware increases considerably.Therefore, even if it takes some time to calculate the memory indirect address, it is not a good choice to use other addressing modes. It is necessary to not slow down the execution of the currently used instructions and to suppress the increase in hardware as much as possible. In the present invention, in memory indirect address calculation, the DA unit performs the memory indirect address calculation, and the remaining address calculation including memory access is performed by the E.
We provide a way to do it in units. In other words, if the address calculated by the DA unit is for memory indirection, the memory indirection instruction plug in the E unit is set, and the E
When the unit accesses the memory of the operand, it determines the flag in hardware, and if memory indirection is specified, it suppresses the memory access and forcibly jumps to the microprogram for calculating the address of memory indirection. .

〔発明の実施例〕 第2図は、パイプライン制御のマイクロプログラム制御
方式のデータ処理装置の全体構成図を示す。ベーシック
プロセッサBPUIと主メモリ5及びそれらを結ぶアド
レスバス16.データバス17とをもって、データ処理
装置を構成した。
[Embodiment of the Invention] FIG. 2 shows an overall configuration diagram of a data processing device using a pipeline-controlled microprogram control method. Basic processor BPUI, main memory 5, and address bus 16 connecting them. The data bus 17 constituted a data processing device.

BPUIは、命令フェッチユニット(IF)2、命令の
デコード(D)及びオペランドのアドレス計算(A)と
を実行するユニット(D&A)3、オペランドのフェッ
チ(OF)及び命令の実行(E)とを行うユニット(O
F&E)4、内部バス9より成る。
The BPUI includes an instruction fetch unit (IF) 2, a unit (D&A) 3 that performs instruction decoding (D) and operand address calculation (A), and an operand fetch (OF) and instruction execution (E) unit. unit (O
F&E) 4, and an internal bus 9.

命令フェッチユニット2は、主メモリ5に格納されてい
る命令を読出す、デコード及びアドレス計算ユニット3
は、命令フェッチユニット2より信号線6を経由して渡
される命令をデコードし、オペランドの実行アドレスを
計算する。ユニット4は、ユニット3より信号線7を経
由して渡される命令実行のマイクロプログラムの先頭ア
ドレスとオペランドのアドレスに従ってオペランドのア
クセスと命令の実行、更に本発明の特徴をなすメモリ間
接のアドレス計算の一部を実行する。
The instruction fetch unit 2 reads instructions stored in the main memory 5, and the decode and address calculation unit 3
decodes the instruction passed from the instruction fetch unit 2 via the signal line 6 and calculates the execution address of the operand. The unit 4 performs operand access and instruction execution according to the start address of the microprogram for instruction execution and the operand address passed from the unit 3 via the signal line 7, and also performs memory indirect address calculation which is a feature of the present invention. Execute some.

尚、第2図で信号線12,14.18はデータを乗せる
信号線、信号線13,15.19はアドレスを乗せる信
号線、信号線8,10.11は内部バス9との間のイン
ターフェース線である。
In FIG. 2, signal lines 12, 14.18 are signal lines for carrying data, signal lines 13, 15.19 are signal lines for carrying addresses, and signal lines 8, 10.11 are interfaces with internal bus 9. It is a line.

ユニット4の内部構成を第3図に示す、ユニット4は、
制御回路(CONT)41、演算部(A L U&RF
)42、アドレスレジスタ43、データレジスタ44.
アドレス線46.47、ステータス信号線45、制御信
号線48より成る。このユニット4の構成は本発明の重
要な特徴部分である。
The internal configuration of the unit 4 is shown in FIG.
Control circuit (CONT) 41, arithmetic unit (ALU & RF
) 42, address register 43, data register 44.
It consists of address lines 46, 47, status signal lines 45, and control signal lines 48. The configuration of this unit 4 is an important feature of the present invention.

制御回路41の内部構成は第1図に示す。The internal configuration of the control circuit 41 is shown in FIG.

第2図の演算部42は、制御回路41から出力する制御
信号48によって動作し1通常の計算機に見られる演算
ユニット(ALU)機能及びレジスタファイル(RF)
機能等を行う、アドレスレジスタ43は、信号[7から
のメモリアドレス47か演算部42のアドレスとのいず
れかを取込む。
The arithmetic unit 42 in FIG. 2 is operated by a control signal 48 output from a control circuit 41, and has an arithmetic unit (ALU) function and a register file (RF) that are found in a normal computer.
The address register 43, which performs functions, takes in either the memory address 47 from the signal [7 or the address of the calculation unit 42.

データレジスタ44はメモリから送られてくるデータを
一時的に保持する。
Data register 44 temporarily holds data sent from memory.

信号線7は、メモリアドレス47と、命令のデコードに
よって生成されるEユニット4のマイクロプログラムの
先頭アドレス47と、DAユニット3より出力されるス
テータス信号45とを乗せる。 第1図の制御回路41
は命令実行ユニット4の制御回路であり、その中味は、
フリップフロップ401、スタックレジスタ402.セ
レクタ403、インクリメンタ404、アドレスレジス
タ405、マイクロプログラム格納メモリ406、  
  9!命令レジスタ407.セレクタ408、特定マ
イクロ命令保持レジスタ409、レジスタ410、ゲー
ト411,412,413より成る。
The signal line 7 carries the memory address 47, the start address 47 of the microprogram of the E unit 4 generated by decoding the instruction, and the status signal 45 output from the DA unit 3. Control circuit 41 in FIG.
is the control circuit of the instruction execution unit 4, and its contents are as follows:
Flip-flop 401, stack register 402. selector 403, incrementer 404, address register 405, microprogram storage memory 406,
9! Instruction register 407. It consists of a selector 408, a specific microinstruction holding register 409, a register 410, and gates 411, 412, and 413.

メモリ406はマイクロプログラムを格納するメモリ、
アドレスレジスタ405はメモリ406から読出すマイ
クロ命令のアドレスを保持するレジスタ、命令レジスタ
407はメモリ406の出力であるマイクロ命令を保持
するレジスタである。
Memory 406 is a memory that stores microprograms;
The address register 405 is a register that holds the address of a microinstruction read from the memory 406, and the instruction register 407 is a register that holds the microinstruction that is the output of the memory 406.

更に、セレクタ403はアドレスレジスタ405のソー
スを選択し、インクリメンタ404は次のマイクロ命令
のアドレスを生成し、スタックレジスタ402はマイク
ロプログラムでサブルーチンに分岐した時の戻り先アド
レスを格納する。
Furthermore, the selector 403 selects the source of the address register 405, the incrementer 404 generates the address of the next microinstruction, and the stack register 402 stores the return address when the microprogram branches to a subroutine.

DAユニットより送られるステータス信号45は、MA
R43にメモリアドレスが準備されていることを示す信
号414とMAR43内のデータが実効アドレスである
のか、又はメモリ間接のアドレス計算用のメモリアドレ
スであるのかを示す信号423と、メモリ間接のアドレ
ス計算を行う時にメモリ参照によって得られた値にどの
ようなデータを更に加算するかを示す信号415などよ
り成る。信号423と415の値は、1ビツトと2ビツ
トのレジスタ401と410に一担保持される。
The status signal 45 sent from the DA unit is
A signal 414 indicating that a memory address is prepared in R43, a signal 423 indicating whether the data in MAR43 is an effective address or a memory address for memory indirect address calculation, and memory indirect address calculation. It consists of a signal 415 that indicates what kind of data is further added to the value obtained by memory reference when performing the memory reference. The values of signals 423 and 415 are held in 1-bit and 2-bit registers 401 and 410.

レジスタ409は、特定のマイクロ命令を保持する。セ
レクタ408は、信号線418の値によってレジスタ4
09のデータか命令レジスタ407のデータかのいずれ
かを選択して出力する6ビツト領域424は、メモリ4
06より読出されたマイクロ命令の1ビツトを格納する
Register 409 holds specific microinstructions. The selector 408 selects the register 4 according to the value of the signal line 418.
A 6-bit area 424 that selects and outputs either the data of 09 or the data of the instruction register 407 is located in the memory 4.
Stores 1 bit of the microinstruction read from 06.

以上の第1図の構成で、402,403,404゜40
5.406,407はマイクロプログラム制御を行う計
算機では周知のものである。従って、本発明による新た
な構成要素は、401,408゜409.410,41
1,412,413である。
With the configuration shown in Figure 1 above, 402, 403, 404° 40
5.406 and 407 are well known in computers that perform microprogram control. Therefore, the new component according to the invention is 401,408°409.410,41
It is 1,412,413.

次に本実施例の動作を説明する。オペランドのアドレッ
シングモードが、メモリ間接以外の場合には、オペラン
ドのフェッチに必要な実効アドレスは、DAユニット3
で完全に算出できる。例えば、ペースレジスタに変位を
加算したものを実効アドレスとするレジスタ相対アドレ
ッシングでは。
Next, the operation of this embodiment will be explained. If the addressing mode of the operand is other than memory indirect, the effective address required for fetching the operand is DA unit 3.
It can be calculated completely. For example, in register relative addressing where the effective address is the pace register plus the displacement.

DAユニット内のペースレジスタとIFユニット2とよ
り送られてくる。変位をDAユニット3で加算すれば良
い、一方、実効アドレスが次の式で表わされるメモリ間
接のアドレス計算ではEA= [IA] +X。
It is sent from the pace register in the DA unit and the IF unit 2. The displacement can be added by the DA unit 3. On the other hand, in memory indirect address calculation where the effective address is expressed by the following formula, EA=[IA] +X.

I A = A、 +disp ここでEAは実効アドレス A、はベースレジスタ dispは変位 X、はインデックスレジスタ [IA]はIA番地のメモリの値 IAはメモリ間接を行うアドレス。I A = A, +disp Here EA is the effective address A, is the base register disp is displacement X, is the index register [IA] is the memory value at address IA IA is the address for memory indirection.

IAまでをDAユニット3で計算し、IAttEユニッ
ト4(7)MAR43に送り、同時にEユニット4の制
御回路41のレジスタ401の値を“1”にし、レジス
タ410の値をアクセスするデータ長に応じた値にし、
MAR43に有効なデータが入っていることを示す為に
信号線414を′1″にする。また、レジスタ401は
メモリ直接の場合には110”にセットする。
The DA unit 3 calculates up to IA and sends it to the IAttE unit 4 (7) MAR 43. At the same time, the value of the register 401 of the control circuit 41 of the E unit 4 is set to "1", and the value of the register 410 is calculated according to the data length to be accessed. value,
In order to indicate that the MAR 43 contains valid data, the signal line 414 is set to ``1''. Also, the register 401 is set to 110'' in the case of direct access to the memory.

ここで、メモリ直接とメモリ間接とは、実効アドレスを
どこで作るかによって区別されるものであり、メモリ直
接アジレッシングとはアドレスがそのまま実効アドレス
となるもの、メモリ間接アドレッシングとはDAユニッ
トで計算したアドレスが実効アドレスとならず、このア
ドレスによって指定されるメモリの内容が実効アドレス
となるものである。この実効アドレスの計算をEユニッ
トで行わせた点が本実施例のポイントとなる。
Here, memory direct addressing and memory indirect addressing are distinguished by where the effective address is created.Memory direct addressing is when the address becomes the effective address as it is, and memory indirect addressing is when the address is calculated by the DA unit. The address is not an effective address, but the contents of the memory specified by this address are the effective address. The key point of this embodiment is that the calculation of the effective address is performed by the E unit.

さて、今、ある命令のマイクロプログラムの一部が第4
図(a)のようになっていたとする。このフローはマイ
クロプログラムのもとでのメモリ・リードのフローチャ
ートの一部であり、ステップ101によってメモリに対
してリードの起動を行い、結果が返ってくるまで待つ(
102)と言う手続きを示している。Eユニット4で1
01(7)?イクロ命令を実行しようとする時には、1
01に相当する32進のビットパターンが制御メモリ4
06から読み出されて、−担407に保持され    
 1ている。この時、マイクロ命令のビット424は。
Now, part of the microprogram for a certain instruction is in the fourth
Assume that the situation is as shown in Figure (a). This flow is part of the flowchart for reading memory under a microprogram, and in step 101, a read is started from the memory, and the wait is performed until the result is returned (
102). E unit 4 and 1
01(7)? When trying to execute a macro instruction, 1
The 32-decimal bit pattern corresponding to 01 is the control memory 4.
It is read from 06 and held in -carrier 407.
There are 1. At this time, bit 424 of the microinstruction is.

メモリ・アクセスを行うマイクロ命令であるので。Because it is a microinstruction that performs memory access.

“1”になっている、そこで、セレクタ408への選択
信号418の値は 418=(416士414)・424 ここで のは排他的論理和 ・は論理積 で与えられるので、418は“1″となりセレクタハ、
演算部42への制御信号48としてレジスタ409に格
納された特定のマイクロ命令を、407に保持されてい
る本来行うべきマイクロ命令の代りに選択する。レジス
タ409に格納されているマイクロ命令は、第4図の(
b)に示されるサブルーチンを呼び出す命令である。従
って上記したような条件が、そろえばマイクロ命令10
1は実行されずに、(b)を呼び出すマイクロ命令が実
行されることになる。(b)は、DAユニット3からM
AR43にアドレスがセットされていない時の待ち合わ
せとMAR43にセットされたアドレスが、メモリ間接
用のアドレスであるかを判定するマイクロプログラムで
ある。
Therefore, the value of the selection signal 418 to the selector 408 is 418 = (416 + 414) · 424 Here, is given by exclusive OR and is logical product, so 418 is “1” ″, and the selector is
A specific microinstruction stored in a register 409 as a control signal 48 to the arithmetic unit 42 is selected in place of the microinstruction held in 407 that should originally be executed. The microinstructions stored in the register 409 are shown in FIG.
This is an instruction to call the subroutine shown in b). Therefore, if the above conditions are met, microinstruction 10
1 will not be executed, but the microinstruction that calls (b) will be executed. (b) is from DA unit 3 to M
This is a microprogram that waits when no address is set in the AR 43 and determines whether the address set in the MAR 43 is an address for memory indirection.

そして、メモリ間接の処理が必要な場合には。And if you need to handle memory indirection.

メモリ間接のアドレス計算を行うマイクロプログラム第
4図の(c)を呼び出す。
The microprogram (c) in FIG. 4 that performs memory indirect address calculation is called.

本実施例によればメモリ間接のアドレス計算が必要な場
合は、Eユニット4のマイクロプログラム(a)、から
見れば、割り込みが発生したような形になり、(a)が
意識することなく、メモリ間接のアドレス計算のマイク
ロプログラム(b)、(c)が実行された後、次のマイ
クロ命令102が実行されることになる。また、メモリ
間接のアドレス計算が不要な場合の命令実行速度が落ち
ることはなく、高度なアドレッシングであるメモリ間接
も既在のEユニット4のマイクロプログラムに影響を与
えることなく、かつ比較的少ないハードウェアで実現で
きると言う効果がある。
According to this embodiment, when memory indirect address calculation is required, from the perspective of the microprogram (a) of the E unit 4, it appears as if an interrupt has occurred, and (a) is unaware of it. After the memory indirect address calculation microprograms (b) and (c) are executed, the next microinstruction 102 is executed. In addition, the instruction execution speed does not decrease when memory indirect address calculation is not required, and memory indirect addressing, which is an advanced form of addressing, does not affect the existing E unit 4 microprogram, and requires relatively little hardware. There is an effect that can be achieved with clothing.

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

本発明によれば、メモリアクセス機能がないアドレス計
算ユニットを持つパイプライン構成の計算機でメモリ間
接のアドレッシングを実現する際に、アドレス計算ユニ
ットにメモリアクセス機能を付加すると言った大巾なハ
ードウェアの増加がなく、しかもメモリ間接以外のアド
レッシングを使用する時にも、従来の実行速度を落とす
ことなく、メモリ間接のアドレス計算を行うことができ
る。
According to the present invention, when implementing memory indirect addressing in a pipeline-configured computer that has an address calculation unit without a memory access function, a large amount of hardware such as adding a memory access function to the address calculation unit is required. Even when there is no increase and addressing other than memory indirect addressing is used, memory indirect address calculation can be performed without reducing the conventional execution speed.

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

第1図は本発明の制御回路の実施例図、第2図は本発明
の全体構成図、第3図はオペランドフェッチ、演算(O
F&E)部とメモリとの関係を示す図、第4図はフロー
チャートである。 4・・・Eユニット、41・・・Eユニット制御回路、
401・・・メモリ間接指示フラグ、414・・・メモ
リアドレス・レディ信号、409・・・特定命令格納用
レジスタ、410・・・メモリ間接後の処理を示すレジ
スタ、407・・・マイクロ命令レジスタ、408・・
・セレクタ。
FIG. 1 is an embodiment diagram of a control circuit of the present invention, FIG. 2 is an overall configuration diagram of the present invention, and FIG. 3 is an operand fetch, operation (O
FIG. 4 is a flow chart showing the relationship between the F&E section and the memory. 4... E unit, 41... E unit control circuit,
401...Memory indirection instruction flag, 414...Memory address ready signal, 409...Specific instruction storage register, 410...Register indicating processing after memory indirection, 407...Microinstruction register, 408...
·selector.

Claims (1)

【特許請求の範囲】[Claims] 1、命令あるいはデータを格納する主メモリと、該主メ
モリより命令を読出す命令読出しユニット(IFユニッ
トと称す)、該命令のデコードと該命令のオペランドの
実効アドレスを計算するデコード・アンド・アドレス計
算ユニット(DAユニットと称す)と、該命令を実行し
上記主メモリの中で該実効アドレスにより指定される部
分に対してデータの読出しあるいは書込みをマイクロプ
ログラムに従つて行う命令実行ユニット(Eユニットと
称す)と、より成るデータ処理装置において、上記DA
ユニットでは直接アドレスまたは間接アドレスの計算を
行わせ、EユニットではDAユニットからの直接アドレ
スか間接アドレスかの指示をフラグとしてセットし、直
接アドレス指示の時には実効アドレスとして当該直接ア
ドレスからメモリアクセスを行い、間接アドレス指示の
時にはメモリアクセス用のアドレスを当該間接アドレス
から実効アドレスを作成し、この実効アドレスによりメ
モリアクセスを行わせたデータ処理装置。
1. A main memory that stores instructions or data, an instruction read unit (referred to as an IF unit) that reads instructions from the main memory, and a decode and address that decodes the instruction and calculates the effective address of the operand of the instruction. a calculation unit (referred to as a DA unit); an instruction execution unit (E unit) that executes the instruction and reads or writes data to a portion of the main memory specified by the effective address according to a microprogram; DA);
The unit calculates a direct address or an indirect address, and the E unit sets the direct address or indirect address instruction from the DA unit as a flag, and when a direct address is specified, memory access is performed from the direct address as an effective address. , a data processing device that creates an effective address from the indirect address as an address for memory access when an indirect address is specified, and performs memory access using this effective address.
JP23243884A 1984-11-06 1984-11-06 Data processor Granted JPS61112240A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23243884A JPS61112240A (en) 1984-11-06 1984-11-06 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23243884A JPS61112240A (en) 1984-11-06 1984-11-06 Data processor

Publications (2)

Publication Number Publication Date
JPS61112240A true JPS61112240A (en) 1986-05-30
JPH028330B2 JPH028330B2 (en) 1990-02-23

Family

ID=16939263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23243884A Granted JPS61112240A (en) 1984-11-06 1984-11-06 Data processor

Country Status (1)

Country Link
JP (1) JPS61112240A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0384632A (en) * 1989-08-29 1991-04-10 Mitsubishi Electric Corp Data processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0384632A (en) * 1989-08-29 1991-04-10 Mitsubishi Electric Corp Data processor
JP2710994B2 (en) * 1989-08-29 1998-02-10 三菱電機株式会社 Data processing device

Also Published As

Publication number Publication date
JPH028330B2 (en) 1990-02-23

Similar Documents

Publication Publication Date Title
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
EP0368332B1 (en) Pipeline data processor
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
US5263153A (en) Monitoring control flow in a microprocessor
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
JP2002512399A (en) RISC processor with context switch register set accessible by external coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US5029073A (en) Method for fast establishing a co-processor to memory linkage by main processor
US5021991A (en) Coprocessor instruction format
EP0525831B1 (en) Method and apparatus for enabling a processor to coordinate with a coprocessor in the execution of an instruction which is in the intruction stream of the processor.
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
JPS6212529B2 (en)
US4994961A (en) Coprocessor instruction format
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS61112240A (en) Data processor
JPS6217773B2 (en)
JPH0377137A (en) Information processor
JPH0222413B2 (en)
JP2636821B2 (en) Parallel processing unit
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0524537B2 (en)
JP3102399B2 (en) Data processing apparatus and method