JPH01263727A - Data processor - Google Patents

Data processor

Info

Publication number
JPH01263727A
JPH01263727A JP9216988A JP9216988A JPH01263727A JP H01263727 A JPH01263727 A JP H01263727A JP 9216988 A JP9216988 A JP 9216988A JP 9216988 A JP9216988 A JP 9216988A JP H01263727 A JPH01263727 A JP H01263727A
Authority
JP
Japan
Prior art keywords
instruction
stage
operand
address
code
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
JP9216988A
Other languages
Japanese (ja)
Inventor
Akira Otsuka
亮 大塚
Toyohiko Yoshida
豊彦 吉田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9216988A priority Critical patent/JPH01263727A/en
Publication of JPH01263727A publication Critical patent/JPH01263727A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To effectively use an external bus by preventing the execution of a wasteful instruction fetching and duding after an instruction to branch an execution stage and generate a jump surely and an instruction to generate the condition of a processor are inputted in a data processor to execute an instruction pipeline processing. CONSTITUTION:An E stage 35 executes the operation designated during the instruction code for an operand inputted from an F stage 34. An access request from an IF stage is always executed, and a bus interface circuit 38, when the access request from respective stages is not executed, executes the prefetching of the instruction. When a D stage 32 detects that an instruction to execute surely the branching with the E stage 35 is completely inputted to a D stage 32, the instruction prefetching after it is not executed until a pipeline initialization due to the E stage occurs.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はパイプラインの初期化に伴う無駄なパスアク
セスを減らし、多段パイプライン処理機lBを効率的に
動作させ、高い処理能力を実現したデータ処理装置に関
するものである。
[Detailed Description of the Invention] [Industrial Application Field] This invention reduces unnecessary path accesses associated with pipeline initialization, efficiently operates the multi-stage pipeline processing machine IB, and achieves high processing capacity. The present invention relates to a data processing device.

〔従来の技術〕[Conventional technology]

第30図に従来のデータ処f!p装置で行われていたパ
イプライン処理機構の例を示す。611は命令フェッチ
ステージ(IFステージ)、IIzi/i命令デコード
ステージCDステージ)、61けオペランドアドレス計
算ステージ(Aステージ)、64ハオペランドフエツチ
ステージ(Fステージ)、署は命令実行ステージ(Eス
テージ)5.昭は外部バスインターフェイス部である。
Figure 30 shows the conventional data processing f! An example of the pipeline processing mechanism used in the p device is shown below. 611 is an instruction fetch stage (IF stage), IIzi/i instruction decode stage (CD stage), 61-digit operand address calculation stage (A stage), 64-digit operand fetch stage (F stage), and 611 is an instruction execution stage (E stage). )5. Akira is the external bus interface section.

1Fステージ・311は外部バスインターフェイス都市
にアクセス9求を出し5メモリから命令コード全フェッ
チしてDステージ□□□に出力する。
The 1F stage 311 issues an access request to the external bus interface city, fetches all instruction codes from the 5 memory, and outputs them to the D stage □□□.

Dステージ・(2)はIFステージ60から入力さね、
る命令コード金デコードして、デコード結果iAステー
ジβ層に出力する。
D stage (2) is input from IF stage 60,
The instruction code is decoded and the decoded result is output to the iA stage β layer.

Aステージ潤は命令コード中で指定されたオペランドの
実効アドレスの計算1行い、必要ならば外部バスインタ
−7エイズ部(至)にアクセス要求?出し、アドレス間
接参照4行い、計算したオペランドアドレス計算ステー
ジ1(2)に出力する。
A stage Jun calculates the effective address of the operand specified in the instruction code, and requests access to the external bus interface 7 aids section if necessary. The address is indirectly referenced 4 times, and the calculated operand address is output to calculation stage 1 (2).

yステージl’4はAステージ嗜から入力されたオペラ
ン)!アドレスに従い、外部バスインターフェイス部鏝
ヘアクセス要求を出し、メモリよりオペランドをフェッ
チする。フェッチしたオペランドはEステージ′1に出
力する。Eステージi膚はドステージ・;噂から入力さ
れたオペランドに均して命令コード中で指定された演算
?実行する。さらに必要なら外部バスインターフェイス
部(至)にアクセス要求を串1〜、その演算結果ゲメモ
リてストアする。外部バスインターフェイス部(至)は
A、F、にステージからのアクセス要求がない場合、I
Fステージからのアクセス要求により、命令のプリフェ
ッチを行う。
y stage l'4 is the operan input from A stage K)! According to the address, an access request is issued to the external bus interface section and the operand is fetched from the memory. The fetched operand is output to E stage '1. E stage i is a de stage; is the operation specified in the instruction code based on the operands input from the rumors? Execute. Furthermore, if necessary, an access request is sent to the external bus interface unit (to) and the result of the calculation is stored in the memory. If there is no access request from the stage to A or F, the external bus interface section (to)
Instructions are prefetched in response to an access request from the F stage.

上記のパイプライン処理機構によより、各命令で指定さ
れる処理は5つに分解され、5つの処理全順番に実行す
ることにより、指定された処理を完了する。各々5つの
処理は異なる面金Vc対して#′i並列動作させること
が可能であり、理想的には」二記の5段のバイブライン
処理機構により5つの命令を同時に処理し、パイプライ
ン処理を行わない場合にくらべ、最大で5倍の処理能力
をもつデータ処理装置を得ることができる。
With the pipeline processing mechanism described above, the process specified by each instruction is broken down into five parts, and the specified process is completed by executing all five processes in order. Each of the five processes can be operated in parallel on a different metal Vc, and ideally, five instructions can be processed simultaneously using the five-stage vibe line processing mechanism described in ``2'', and pipeline processing is possible. It is possible to obtain a data processing device that has up to five times the processing power as compared to the case where this is not performed.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

パイプライン処理技術は上記のようにデータ処理装置の
@埋能力を大幅に向上させる可能性をもつものであり、
高速なデータ処理装置に広く用いられている。しかし、
パイプライン処理にもいくつかの欠点があり、いつも理
想的な状態で命令されるわけではない。パイプライン処
理で問題となるものの1つは命令のシーケンスを乱丁分
岐命令の実行である。第30図に示すバイブライン処n
機構金もち、分岐命令iBXステージt1で処理してか
ら分岐先命令i1Fステージ60が処理する従来のデー
タ処J11装置では、分岐命令の実行1(より、パイプ
ラインが大幅に乱れ、分岐命令に続く命令のアクセス要
求も実行される。従来のデータ処理装置で分岐命令がフ
ェッチされ、実行される様子全外部バスの動作も含めた
形で第81図に示す。
As mentioned above, pipeline processing technology has the potential to significantly improve the @ processing capacity of data processing equipment.
Widely used in high-speed data processing equipment. but,
Pipelining also has some drawbacks, and instructions are not always executed in ideal conditions. One of the problems in pipeline processing is the execution of branch instructions that disrupt the instruction sequence. Vibration line treatment shown in Figure 30
In the conventional data processing J11 device, in which the branch instruction iBX stage t1 processes the branch destination instruction i1F stage 60, the branch instruction execution 1 (the pipeline is significantly disrupted and the branch instruction An instruction access request is also executed.FIG. 81 shows how a branch instruction is fetched and executed in a conventional data processing device, including all external bus operations.

第31″ri−i命令3が分岐命令である。命令8が実
行きれるとすでにパイプライン処理中の命令4、命令5
.命令6はキャンセルされ、新りに命令7がIFステー
ジ611から処理される。
The 31st ri-i instruction 3 is a branch instruction. When instruction 8 is executed, instructions 4 and 5 are already being processed in the pipeline.
.. Instruction 6 is canceled and instruction 7 is newly processed from IF stage 611.

命令3がEステージ(四で実行される萱でVC命令4、
命令5、命令6の処理はそれぞれ?ステージ噸、Aステ
ージI:1 甘で進み、それらに伴うアクセス要求が外
部バスインターフェイス部(至)に入力され、不必要な
アクセス全実行し、システム上にあるデバイスの111
11mレジスタ値t、を化させたり、システムバスケ無
意味に占有するといった不都合があった。この無駄なア
クセス分岐命令の実行後にキャンセルされるベキQ口分
の実行が分岐命令として行われるためであり、パイプラ
イン処理の段数が多いほどこの無駄アクセスの起る可能
性も高くなるという問題が生じる。
Instruction 3 is executed at E stage (VC instruction 4,
What is the processing of instruction 5 and instruction 6 respectively? Stage 1, A stage I: 1 Progress is slow, the accompanying access requests are input to the external bus interface section (to), all unnecessary accesses are executed, and the 111 of the device on the system is
There are disadvantages in that the 11m register value t is corrupted and the system basketball is occupied meaninglessly. This is because the power Q share of execution that is canceled after the execution of this useless access branch instruction is performed as a branch instruction, and the problem is that the more stages of pipeline processing there are, the higher the possibility that this useless access will occur. arise.

さらに、パイプラインを構成する論理素子の動作スピー
ドが速くなり%各ステージにおける処理時開が短くなる
と外部バスアクヤスにかかる時間が処理のボトルネンク
となるため無駄なアクセス処理効率?悪くする要因とな
る。
Furthermore, as the operating speed of the logic elements that make up the pipeline increases and the processing time at each stage becomes shorter, the time taken by the external bus becomes a processing bottleneck, resulting in wasted access processing efficiency? It becomes a factor that makes things worse.

本発明はこのような事情VC鑑みてなされたものであり
、パイプライン機構のステージ数増加に容易に対処可能
であり、無駄なパスアクセスを行わないデータ処理装置
の押供を目的とす′る。
The present invention has been made in view of the above-mentioned circumstances, and aims to provide a data processing device that can easily cope with an increase in the number of stages in a pipeline mechanism and that does not perform unnecessary path accesses. .

〔課題を解決するための手段〕[Means to solve the problem]

このような、分岐命令による無駄アクセスを少なくする
ためrC%Dステー帽において命令?デコードする段階
で命令が分岐やジャンプをおこすかどうか判断し、分岐
やジャンプが起きる場合その命令がEステージ・、(至
)で実行されるまで続く命令に対してIFステージ、D
ステージの動作を停止させる手段を備えている。
In order to reduce wasteful accesses caused by branch instructions, instructions are added to the rC%D stay cap. At the decoding stage, it is determined whether the instruction causes a branch or jump, and if a branch or jump occurs, the IF stage and D
A means for stopping the operation of the stage is provided.

〔作用〕[Effect]

本発明のデータ処理装置では、必ず分岐やジャンプを起
す命令がデコードされた場合、命令フェッチとデコード
の処理を一時停止させると共に、その命令実行後Vcm
令フエフエッチコードの処理を再開する。
In the data processing device of the present invention, when an instruction that always causes a branch or jump is decoded, the instruction fetch and decode processing is temporarily stopped, and the Vcm
Resume processing of Refufu Etch Code.

〔夾旌例〕[Example]

t11本発明のデータ処理装置の命令フォーマット本発
明のデータ処理装置の命令は16ビツト単位で可変長と
なっており、奇数バイト長の命令はない。
t11 Instruction format of the data processing device of the present invention The instructions of the data processing device of the present invention have a variable length in units of 16 bits, and there are no instructions with an odd number of bytes.

本発明のデータ処理装置では高頻度命令を短いフォーマ
ットとするため、特に工夫された命令フォーマット体系
をもつ。例えば、2オペランド命令に対して、基本的に
4バイト+拡張部の構成ケもち、すべてのアドレッシン
グモードが利用できる一般形フオーマットと傾度の高い
命令とアドレッシングモードのみを使用できる短縮形フ
ォーマットの2つのフォーマットがある0 第4図から第18図に本発明のデータ処理装置における
命令フォーマットを示す。第4図は命令フォーマットの
記述列。第5図は短縮形メモリーレジスタ間演算命令の
フォーマット。第6図Fi=縮形レジスターレジスタ間
演算防令のフォーマット。第7図はリテラル−メモリ間
演算命令のフォーマット。第8図#′i即唾−メモリ間
演算命令の7オーマント。第9図Filオペランド紡令
の一般形フオーマット。第1O図I/′i傷−オベラン
ドがメモリ読出しを必要とする命令の一般形フオーマッ
ト。第11図は第一オペランドが8ビツト即値の命令の
フォーマット。第12図は第一オペランドがアドレス計
算のみの命令のフォーマット。第18図はショートブラ
ンチ命令のフォーマット。図の中に現われる記号の意味
は次の通りである。
The data processing device of the present invention has a particularly devised instruction format system in order to format frequently occurring instructions in a short format. For example, for a two-operand instruction, there are two formats: a general format that basically consists of 4 bytes + an extension and can use all addressing modes, and a shortened format that can only use instructions with high gradients and addressing modes. There is a format 0 FIGS. 4 to 18 show instruction formats in the data processing apparatus of the present invention. Figure 4 is a description sequence of the instruction format. Figure 5 shows the format of the abbreviated memory register operation instruction. FIG. 6 Fi = Format of compressed register-register operation command. FIG. 7 shows the format of a literal-memory operation instruction. FIG. 8 7-order of #'i immediate-memory operation instruction. Figure 9. General format of Fil operand instruction. FIG. 1O I/'i Wound - General Format of Instructions requiring Overland Memory Reads. Figure 11 shows the format of an instruction whose first operand is an 8-bit immediate value. Figure 12 shows the format of an instruction whose first operand is only address calculation. Figure 18 shows the format of a short branch instruction. The meanings of the symbols appearing in the diagram are as follows.

一:オペコードの入る部分 4#:リテラル、または即値の入る部分Ka:8ミニ8
ビツト形のアドレッシングモードでオペランドを指定す
る部分 Sh:6ビツトの短縮形のアドレッシングモードでオペ
ランドを指定する部分 Rn:レジスタ上のオペランドをレジスタ番号で指定す
る部分 フォーマットは、第4図に示すように右側がLSB側で
、かつ高いアドレスになっている。アドレスNとアドレ
スN+1の2バイトを見ないと命令フォーマットが判別
できないようになっているが、これは、命令が必ず16
ビツト(2バイト)単位でフェッチ、デコードされるこ
とを前提としたためである。
1: Part where the opcode is placed 4 #: Part where the literal or immediate value is placed Ka: 8 mini 8
Part Sh for specifying an operand in bit-type addressing mode: Part Rn for specifying an operand in 6-bit abbreviated addressing mode: Part for specifying an operand on a register using a register number The format is as shown in Figure 4. The right side is the LSB side and has a high address. The instruction format cannot be determined without looking at the two bytes of address N and address N+1, but this is because the instruction is always 16 bytes.
This is because it is assumed that data is fetched and decoded in units of bits (2 bytes).

本発明のデータ処理装置では、いずれの7オマツトの場
合も、各オペランFのPa jりishの拡張部は、必
ずそのKaまたtishの基本部を含むハーフワードの
直後に置かれる。これ汀、命令により暗黙に指定される
即値データや、8令の拡張部に優先する。したがって、
4バイト以上の命令ではFXaの拡張部によって命令の
オペコードが分断される場合がある。
In the data processing apparatus of the present invention, in any seven-order case, the extended part of the Paj ish of each operan F is always placed immediately after the halfword containing the basic part of its Ka or tish. This always takes precedence over immediate data implicitly specified by the instruction and the extended part of the 8-instruction. therefore,
For instructions of 4 bytes or more, the operation code of the instruction may be divided by the extension section of FXa.

また後でも述べるように、多段間接モードによって、立
の拡張部にさらに拡張部が付く場合にも、次の命令のオ
ペコードによりそちらの方が優先される。例えば、第一
ハーフワードにKalr含み、第二ハーフワードにJC
a2f含み、第三ハーフワードまである6バイト命令の
IM 、’?を考える。malに多段間接モードを使用
したため、普通の拡張部のほかに多段間接モードの拡張
部もつくものとする。この時、実際の命令ビットパター
ンは、命令の弔−ハーフワード(Ealの基本部を含む
)、Palの拡張部、 F1a1の多段間接モード拡張
部、命令の第二ハー7ワード(PThafl  の基本
部を含む】、Elの拡張部、命令の第三ハーフワードの
順となる。
Furthermore, as will be described later, in the multi-stage indirect mode, even if an extension part is added to the extension part in the vertical position, that part is given priority depending on the operation code of the next instruction. For example, the first halfword contains Kalr and the second halfword contains JC.
6-byte instruction IM including a2f and up to the third halfword,'? think of. Since the multi-stage indirect mode is used for mal, the multi-stage indirect mode extension part is included in addition to the normal extension part. At this time, the actual instruction bit pattern consists of the instruction halfword (including the basic part of Eal), the extension part of Pal, the multi-stage indirect mode extension part of F1a1, and the second half word of the instruction (including the basic part of PThafl). ], the extension of El, and the third halfword of the instruction.

t 1.1 )白線形2オペランドeT令第5図から第
8図14f′:2オペランド宿令の燈縮形プオーマント
に示す。
t 1.1) White linear two-operand eT order Figures 5 to 8 14f': Shown in the condensed form of the two-operand eT order.

第5図はメモリーレジスタ間@算酷令のフォーマットで
ある。このフォーマットにはソースオペランド側がメモ
リとなるTJ −f Or m a 1:とデスティネ
ーションオペランド側がメモリとなるS−f Or m
 a、 tがf−)る■ L−formatでは、  shはソースオペランドの
指定フィールド、Rhはデスティネーションオペランド
のレジスタの指定フィールド、IRRlj:shのオペ
ランドサイズの指定5rあられす。レジスタ上に*−A
−れたデスティネーションオペランドのサイズは、82
ビツトに固定されている。1/ジスタ側とメモリ側のサ
イズが異なり、ソース側(1)サイズが小さい場合L(
符号拡張が行なわれる・    、1?は8h トイorma□デスティネーションオペランドの指定フ
ィールド、Rh1d:ソースオペランドのレジスタ指定
フィールl′、 RRFi、shのオペランドサイズの
指定金あられす。1/ジスタ上に置かれたソースオペラ
ンドのサイズは、82ビツトに固定されている。レジス
タ側とメモリ側のサイズが異なり、ソース側のサイズが
大きい場合にあふれた部分の切捨てとオーバブローチエ
ツクが行なわれる。
FIG. 5 shows the format of memory register @arithmetic command. This format includes TJ-f Or m a 1: where the source operand side is the memory, and S-f Or m a 1: where the destination operand side is the memory.
In L-format, sh is the source operand specification field, Rh is the destination operand register specification field, and IRRlj: sh operand size specification 5r. *-A on register
-The size of the destination operand is 82
Fixed to bit. 1/If the size of register side and memory side are different and the size of source side (1) is small, L(
Sign extension is performed , 1? is 8h Toy orma □ Destination operand specification field, Rh1d: Source operand register specification field l', RRFi, sh operand size specification field. The size of the source operand placed on the 1/register is fixed at 82 bits. If the size of the register side and the memory side are different, and the size of the source side is large, the overflow portion is truncated and overbroach check is performed.

第6図はレジスターレジスタ間演算命令のフォーマット
(R−format )である。Rnはデスティネーシ
ョンレジスタの指定フィールドRmはソースレジスタの
指定フィールドである。オペランドサイズは32ビツト
のみである。
FIG. 6 shows the format (R-format) of the register-register operation instruction. Rn is a designation field of the destination register; Rm is a designation field of the source register. The operand size is only 32 bits.

第7図はリテラル−メモリ間演算命令のフォーマット(
Q−format )である。MM[デイステイ不−シ
ョンオベランドサイズの指定フィールド、すはリテラル
によるソースオペランドの指定フィールド、sheデス
ティネーションオペランVの指定フィールドである。
Figure 7 shows the format of literal-memory operation instructions (
Q-format). MM[Destination operand size specification field, she is a literal source operand specification field, she is a destination operan V specification field.

第8図Vi叩慎−メモリ開演篇命令のフォーマットであ
る。MMはオペランドサイズの指定フィールド(ソース
、ぞイステイネーシ藁/で共4)、shけデスティネー
ションオペランドの指定フィールドである。l−for
matの即用のサイズは、、−i′S″ステイネ−ジョ
ン側のオペランドのサイズと共通に8 、16 、32
ビツトトナリ、ゼロ拡張、符相拡張は行なわれない。
FIG. 8 is the format of the Vi-kushin-memory start command. MM is a specification field for the operand size (both 4 for the source and size) and a specification field for the destination operand. l-for
The immediate size of mat is 8, 16, 32 in common with the operand size on the -i'S'' staynation side.
Bit tonnage, zero extension, and sign extension are not performed.

(11り一膜形1オペランド命令 第9図はlオペランド命令の一膜形フオーマット(G 
l −format )である。MMげオペランドサイ
ズの指定フィールドである。一部のG M −f Or
mat命令で(は4、Eθ、の拡張部以外にも拡張部が
ある。また、使用しない命令もある〇 (1,3)−膜形2オペラン#:命令 第1θ図から第12図は2オペランド曲令の一膜形フオ
ーマットで、ある。この7オーマントに含1・n2るの
は58ビツトで指定する一膜形アFレッシングモードの
オペランドが最大2つ存在する命令である。オペランド
の緒数自体は3つ以上になる場合がある13 第1O図は第一オペランドがメモリ読みだし全必要とす
る命令(1)7オーマツトIG−format lであ
る。EaMはデスティネーションオペランドの指定フィ
ールド、MMはデスティネーションオペランドサイズの
指定フィールド、EaRij、ソースオペランド指定フ
ィールl−″%RRけソースオペランドサイズの指定フ
ィールドである。
(11 single-operand one-operand instruction Figure 9 shows the one-operand format of the one-operand instruction (G
l-format). This field specifies the MM operand size. Some GM-f Or
In the mat instruction (is 4, Eθ, there are extensions other than the extensions. Also, there are instructions that are not used. This is a single-layer format for operands.The 7-order format includes 1 and n2, which are instructions that have a maximum of two operands in the single-layer fretting mode specified by 58 bits. The number itself may be three or more.13 Figure 1O shows an instruction (1) in 7-way IG-format l whose first operand requires all memory reads. EaM is the specification field of the destination operand, MM is a destination operand size specification field, EaRij is a source operand specification field l-''%RR is a source operand size specification field.

第11図は第一オペランドが8ビツト即櫃の品令の7オ
ーマント(FX−format)である。
In FIG. 11, the first operand is in 7-bit format (FX-format).

加Mはデスティネーションオペランドの指定フィールド
、 MMはデスティネーションオペランドサイズの指定
フィールド、素はソースオペランド値である。
M is a field specifying the destination operand, MM is a field specifying the size of the destination operand, and element is the source operand value.

K−formatとi−rormat t!:aai的
に似たものがあるか、考え方の点では大きく逮っている
。K−formatはろくまでも?オペランドー膜形(
G−format)の派生形であり、ソースオペランF
のサイズが8ビット固定、ディスティネーションオペラ
ンドのサイズが8 / 16 / 82ビットから選択
となっている。つまり、異樟サイズ間の演算を前提とし
、デスティネーションオペランドのサイズに合わせて2
ビツトのソースオペランFがゼロ拡張または符号拡張さ
れる。
K-format and i-romat! :Is there something similar in terms of aai, or is there a big difference in terms of way of thinking? What is K-format? Operando membrane shape (
G-format), and is a derivative of source operan F
The size of the destination operand is fixed at 8 bits, and the size of the destination operand can be selected from 8, 16, or 82 bits. In other words, assuming an operation between different sizes, 2
The bit source operan F is zero-extended or sign-extended.

一方、1−formatは、特に転送命令、比較命令で
頻度の多い即値のパターンを短縮形にしたものであり、
7′−スオペランドとディスティネーションオペランド
のサイズは等しい。
On the other hand, 1-format is a shortened form of the immediate value pattern that is frequently used especially in transfer instructions and comparison instructions.
7'-Size of operand and destination operand are equal.

第12図は第一オペランドがアドレス計算のみの命令の
フォーマツ) (GA−format)である。
FIG. 12 shows the format of an instruction whose first operand is only address calculation (GA-format).

EaW IdデスティネーションオペランFの指定フィ
ー ルに%WWはデスティネーションオペランFサイズ
の指定フィールド、 KaAはンースオベランドの指定
フィールドである。ソースオペランドとしては実行アド
レスの計算結果自体が使用される。
EaW Id is the specified field of destination operan F. %WW is the specified field of destination operan F size, and KaA is the specified field of nonce operan F. The execution address calculation result itself is used as the source operand.

第13図はショートブランチ命令のフォーマットである
。CCCCはブランチ条件指定フィールド、disp:
8  はジャンプ先との変位指定フィールド、本発明の
データ処理装置では8ビツトで変位を指定する場合には
、ビットパターンでの指定flik2倍して変位噴とす
る(1.4)アドレッシングモード 本発明のデータ処理装置のアドレッシングモード指定方
法には、レジスタ?含めて6ビツトで指定する短縮形と
、8ビツトで指定する一般形がある。
FIG. 13 shows the format of a short branch instruction. CCCC is a branch condition specification field, disp:
8 is a displacement specification field with respect to the jump destination; in the data processing device of the present invention, when specifying displacement with 8 bits, the specified flik in the bit pattern is multiplied by 2 to obtain the displacement jet (1.4) Addressing mode of the present invention How to specify the addressing mode of a data processing device using registers? There is an abbreviated form that is specified using 6 bits, and a general form that is specified using 8 bits.

未定義のアドレッシングモードを指定した場合や、意味
的に考えて明らかにおかしなアドレッシングモードの組
み台わせを指定した場合にFi、未定義命令を実行した
場合と同じく予約6訂令例外を発生し、例外処理を起動
する。
If an undefined addressing mode is specified, or if a combination of addressing modes that is semantically incorrect is specified, a reserved 6th command exception will occur, similar to when an undefined instruction is executed. Invokes exception handling.

これに該当するのは、デスティネーションが即値モード
の場合、アドレス計算を伴うべきアドレッシングモード
指定フィールドで即値モードを使用した場合などである
This applies when the destination is in immediate mode, or when immediate mode is used in the addressing mode specification field that should involve address calculation.

第14図から第24図に示すフォーマットの図中で使わ
れる記号はつぎの通りである。
The symbols used in the formats shown in FIGS. 14 to 24 are as follows.

Rn   レジスタ指定 (ah)  6ビツトの短縮形アドレッシングモードで
の指定方法 (Ka)   8ビツトの一般形アドレッシングモード
での指定方法 フォーマットの図で点線で囲まれた部分は拡、張s1に
示す。
Rn Register designation (ah) Designation method in 6-bit abbreviated addressing mode (Ka) Designation method in 8-bit general addressing mode The portion surrounded by dotted lines in the format diagram is shown in expanded form s1.

(1,4,1)基本アドレッシングモード本発明のデー
タ処理装置は様々なアドレッシングモードをサポートす
る。そのうち、本発明のデータ処理装置でサポートする
基本アドレッシングモードには、レジスタ直接モード、
レジスタ間接モード、レジスタ相対間接モード、即値モ
ード、絶対モード、PC相対間接モード、スタックポツ
プモーy1 スタックブツシュモードがある。
(1,4,1) Basic Addressing Modes The data processing device of the present invention supports various addressing modes. Among these, the basic addressing modes supported by the data processing device of the present invention include register direct mode,
There are register indirect mode, register relative indirect mode, immediate value mode, absolute mode, PC relative indirect mode, stack pop mode y1 stack bush mode.

レジスタ11接モードは、レジスタの内容をそのままオ
ペランドとする。フォーマットは第14に示す。Rnハ
汎用レジスタの番号を示す。
In the register 11 contact mode, the contents of the register are used as operands. The format is shown in number 14. Rn indicates the number of the general-purpose register.

レジスタ間接モー’ tf 、レジスタの内容をアドレ
スとするメモリの内容をオペランドとする。フォーマッ
トは第15図に示す。Rnは汎用レジスタの番号を示す
Register indirect mode 'tf' takes the contents of the memory as the address and the contents of the register as the operand. The format is shown in FIG. Rn indicates the number of a general-purpose register.

レジスタ相対間接は、ディスプレースメント値が16ビ
ツトか32ビツトかにより2種類ある。それぞれ、レジ
スタの内容に16ビツトまたVi82ビットのディスプ
レースメント値を加えた値ゲアVレスとするメモリの内
容をオペランドする。フォーマットは第16図に示す。
There are two types of register relative indirection depending on whether the displacement value is 16 bits or 32 bits. Each operand is the contents of the memory, which is the value of the contents of the register plus the displacement value of 16 bits and Vi82 bits. The format is shown in FIG.

Rnは汎用レジスタの番号を示す。disp: lfl
とdisp:L2 ij 、 ソれぞれ、16ビツトの
ディスプレースメント値、82ビツトのディスプレース
メント値を示す。ディスプレースメント値は符号付きと
して扱う。
Rn indicates the number of a general-purpose register. disp: lfl
and disp:L2 ij indicate a 16-bit displacement value and an 82-bit displacement value, respectively. Displacement values are treated as signed.

即値モードは、命令コード中で指定されるビットパター
ンケそのまま24数と見なしてオペランドする。フォー
マットは第17図に示す。
In the immediate value mode, the bit pattern specified in the instruction code is treated as 24 numbers and used as an operand. The format is shown in FIG.

imm  dataけ即1mヲ示す。imm data
のサイズは、オペランドサイズとして命令中で指定され
る。
imm data immediately shows 1m. imm data
The size of is specified in the instruction as the operand size.

絶対モードは、アドレス値が16ビツトで示されるか3
2ビツトで示されるかにより2種類ある。それぞれ命令
ヨード中で指定される16ビツトまたは32ビツトのビ
ットパターンをアド1/スとしたメモリの内d全オペラ
ンドとするOフォーマットij:第18図に示f、、a
be : 16とa bs : 32 ハbぞハ、ぞれ
、16ビツト、82ビツトのアドレス/llNヲ示す。
Absolute mode indicates whether the address value is represented by 16 bits or 3
There are two types depending on whether it is indicated by 2 bits. O format ij in which all operands are d in the memory whose address is the 16-bit or 32-bit bit pattern specified in the instruction iodine, respectively: f, , a as shown in FIG.
be: 16 and abs: 32 indicate 16-bit and 82-bit addresses, respectively.

abe : 16 でアドレスが示されるおきは指定さ
れたアドレス値?32ビットに符号拡張する。
abe: 16 Is the address indicated by the specified address value? Sign extend to 32 bits.

PC#@対間接モードは、ヂイスブ1/−スメント値が
16ビツトか:(2ビットかにより、2欅類ある。そハ
ぞ)17、プログラムカウンタの内容に16ビツトまた
は32ビツトのデイスブl/ −スメント値?加f、た
値?アト1/スとするメモリの内8にオペ27ドとする
。フォーマットハ第19図に示す。dj、sp:115
とdj、5p32は、それぞれ16ビツトのディスプレ
ースメント値、:つ2ビツトのヂイスブレースメント値
を示す。デイスグレースメント値は符号付きとして扱う
。PC間接モードVCおいて参照されるプログラムカウ
タの値は、そのオペランドを含む命令の先頭アドレスで
ある。多段間接アドレシングモードにおいてプログラム
カウンタの値が参照される場合にも、同じよう1(命令
先願のアト1/スkPc柑対の基!$値として使用する
In PC#@pair indirect mode, whether the disk value is 16 bits or 2 bits: (There are two types depending on whether it is 2 bits or not.)17. −Sment value? Added value? Assume that an operation 27 is placed in 8 of the memories designated as 1/s. The format is shown in FIG. dj, sp: 115
and dj and 5p32 respectively indicate a 16-bit displacement value and a 2-bit displacement value. Disgraced values are treated as signed. The value of the program counter referenced in the PC indirect mode VC is the start address of the instruction including the operand. In the multi-stage indirect addressing mode, when the value of the program counter is referenced, it is similarly used as the base !$ value of the 1/kPc pair of the instruction-first application.

スタックポツプモードはスタックポインタ(SP)の内
容全アドレスするメモリの内容をオペランドと↑る。オ
ペランドアクセス後、  Sp′ffオペランドサイズ
だけインクリメントする。側対−ば。
In stack pop mode, the contents of the memory addressed by the entire contents of the stack pointer (SP) are used as operands. After accessing the operand, Sp'ff is incremented by the operand size. Side to side.

32ビツトデータを扱う時には、オペランドアクセス後
vcapが(−4だけ更新される6B、Hのサイズのオ
ペランドに対するスタックポツプモーどの指定も可能で
あり、そり、ぞhsFが+1゜+2だけ更新される。フ
ォーマットは第20図に示す。オペランドに対しスタッ
クポツプモードが意味を持たないものに対しては、予約
命令例外ケ発生ずる。具体的に予約命令例となるのは、
writeオペランド、reacl−mo+lfy−w
riteオペランドに対するスタックポツプモード指定
である。
When handling 32-bit data, after operand access, vcap is updated by (-4) Any specification of stack pop mode for operands of size 6B or H is possible, and hsF is updated by +1° +2. The format is shown in Figure 20.A reserved instruction exception occurs for operands for which the stack pop mode has no meaning.Specific examples of reserved instructions are:
write operand, reacl-mo+lfy-w
This is the stack pop mode specification for the rite operand.

スタックブツシュモードはEPの内容をオペランドサイ
ズだけデクリメントした内Wkアト1/スとするメモリ
の内容をオペランドとする〇スタックブツシュモードで
はオペランドアクセス前にSPがデクリメントされる。
In the stack bush mode, the contents of the memory that is Wk at 1/s after decrementing the contents of EP by the operand size are used as the operand. In the stack bush mode, SP is decremented before accessing the operand.

例えば、32ビットデータ?扱う時1/(は、オペラン
ドアクセスmlにspが−4だけ更新される。B、Hの
サイズのオペランドに対するスタックブツシコーモード
の指定も可能であり、それぞh日Pが−1゜−2だけ更
新される。フォーマットは第21図Vc示f0オペラン
ドに対してスタックブツシュモードが京味?持たないも
のに対しては、予約曲令例外ゲ)た生する。成体的に予
約命令例外となるの’ijニー、rea(lオペランド
、read−modj、fy−writeオペランドに
対するスタックブツシュモード指定である。
For example, 32 bit data? When handling 1/(, sp is updated by -4 in the operand access ml. It is also possible to specify the stacked button mode for operands of size B and H, and the h day P is -1° -2 respectively. The format is shown in FIG. 21, and a reserved program exception is generated for those that do not have stack mode for the f0 operand. Basically, the reserved instruction exception is the stack bush mode specification for the 'ij knee, rea (l operand, read-modj, fy-write operand).

(1,4,2)多段間接アト1/ツシングモード複雑な
アトレンジングも、基z的には加算と間接参照の←↓み
合わせに分解することができる。
(1, 4, 2) Multi-stage indirect attrend 1/twsing mode Complex atranging can also be fundamentally decomposed into combinations of addition and indirect reference.

したがって、加隊と間接参照のオペレーションケアドレ
ッシングのプリミティブとして与えておき、それケ任意
に組み合わせることができればどんな複雑なアドレッシ
ングモードrも実現することができる。本発明のデータ
処理装置の多段間接アドレッシングモードはこのようケ
考え方にたったアドレッシングモー1:である。複雑な
アドレッシングモードは、モジュール間のデータ参照や
AI言語の処理系に特に有用である。
Therefore, any complex addressing mode r can be realized by providing additions and indirect references as operation care addressing primitives and combining them arbitrarily. The multi-stage indirect addressing mode of the data processing apparatus of the present invention is addressing mode 1: based on this concept. Complex addressing modes are particularly useful for inter-module data references and AI language processing systems.

多段間接アドレッシングモードを指定するとき、基本ア
ト1/ツシングモーr指定フイールドでは、レジスタベ
ース多段間接モード、PCベース多段間接モード、絶対
ベース多段間接モードの8欅類の指定方法のうちりずれ
か1つを指定する。
When specifying the multi-stage indirect addressing mode, in the basic AT 1/Tsing mode r specification field, select one of the eight methods of specification: register-based multi-stage indirect mode, PC-based multi-stage indirect mode, or absolute-based multi-stage indirect mode. Specify.

レジスタベース多段間接モードけ1/ジスタの値を、拡
張する多段同級アドレッシングのベース値とるアドレッ
シングモードである。フォーマットij:第2z図に示
す。Rnは汎用レジスタの番号を示す。
Register-based multi-stage indirect mode This is an addressing mode in which the value of the register 1/register is used as the base value for multi-stage peer addressing to be extended. Format ij: Shown in Figure 2z. Rn indicates the number of a general-purpose register.

PCベース多段間接モードはプログラムカウンタの値を
、拡張する多段間接アドレッシングモ−ス値とするアド
レシングモーt−chる。
The PC-based multi-stage indirect mode uses an addressing mode in which the value of the program counter is an extended multi-stage indirect addressing mode value.

フォーマットは第23図VC示す。The format is shown in Figure 23 VC.

炉対ベース多段間接モー)″はゼロを、拡張する多段間
接アドレッシングのベース値とするアドレッシングモー
ドである。フォーマットは第24図VC示す。
Furnace-to-base multi-stage indirect mode)'' is an addressing mode in which zero is the base value of extended multi-stage indirect addressing.The format is shown in FIG. 24 VC.

拡張する多段間接モード指定フィーIレドは、16ビツ
トを単位としてこれを任意回ViC返す01段の多段間
接モードにより、ディスプレースメントの加算、インデ
クスレジスタのスケーリング(×1、×2、×4、×8
)と加算、メモリの間接参照、を行なう。
The expanded multi-stage indirect mode specification field I read is used to add displacements, scale index registers (×1, ×2, ×4, × 8
), addition, and memory indirection.

多段間接モードのフォーマットは第25図で示す。各フ
ィールドは以下に示す意味をもつ。
The format of the multi-stage indirect mode is shown in FIG. Each field has the meaning shown below.

E−0: 多段間接モード E麟l: アドレス計算終了 tmp−a−)address  of  opera
ndl−0: メモリ間接参照なし tmp  +  disp  +  R1*  SOa
le−−m>tmpl−1:  メモリ間接参照あシ men(tmp+disp+Rx*5ealθ)m−a
 ) t3111 pM−0:<Rx>kインデクスと
して使用M−1:  特殊なインデクス <Rx>=0  インデクス値を加算しないIRx讃0
) <RX>    プログラムカウンタをインデクス値と
して使用 (RX−PCI <Rx>m9〜 reserved D−0:  多段接モード中の4ビツトのフィールドd
4の+if?r4倍してディスプレースメント直とし、
これを加算する。d4は符号付きとして扱い、オペラン
ドのサイズとけ関係なく)必ず1倍して使用する。
E-0: Multi-stage indirect mode Erin: Address calculation end tmp-a-) address of opera
ndl-0: No memory indirection tmp + disp + R1* SOa
le--m>tmpl-1: Memory indirect reference (tmp+disp+Rx*5ealθ)m-a
) t3111 pM-0: <Rx>k Used as index M-1: Special index <Rx>=0 IRx value not added to index value 0
) <RX> Use program counter as index value (RX-PCI <Rx>m9 ~ reserved D-0: 4-bit field d in multi-stage connection mode
4+if? Multiply r4 to correct the displacement,
Add this. d4 is treated as signed and is always multiplied by 1 (regardless of the size of the operand).

D−1:   多段間接モードの拡張部で指定されたd
ispx(16/3 gピット)をディスプレースメン
ト唾とし、これを加算する。
D-1: d specified in the extension part of multi-stage indirect mode
ispx (16/3 g pit) is the displacement saliva, and this is added.

拡張部のサイズはd4フィールドで指定する。The size of the extension part is specified in the d4 field.

d4−0001   dispx は 16 ビットプ
ログラムカウンタに対して×2、×4.×8のスケーリ
ングを行なった場合には、その段の処理終了後の中間値
(tmp)として、不定値が入る。この多段間接モード
によって得られる英効アドレスは予測できない値となる
が、例外は発生しない。プログラムカウンタに対するス
ケ+ 17ングの指定は行なってはいけない。
d4-0001 dispx is ×2, ×4. for a 16-bit program counter. When x8 scaling is performed, an undefined value is entered as the intermediate value (tmp) after the processing of that stage is completed. Although the effective address obtained by this multi-stage indirect mode has an unpredictable value, no exceptions occur. Do not specify scheduling for the program counter.

多段間接モードによる命令フォーマットのノくリエーシ
ョン石16図、第27図に承す。第26図は多段間接モ
ードが継続するか終了するかのバリエーションを示す。
The instruction format according to the multi-stage indirect mode is shown in Figure 16 and Figure 27. FIG. 26 shows variations on whether the multi-stage indirect mode continues or ends.

第27図はディスプレースメントのサイズのバリエーシ
ョンを示す。
FIG. 27 shows variations in displacement size.

任意段数の多段間接モードが利用できれば。If a multi-stage indirect mode with an arbitrary number of stages could be used.

コンパイラの中で段数による場合分けが不要になるので
、コンパイラの負担が軽減されるというメリットがある
。多段の間接参照の傾度が非M vc 少ないとしても
、コンパイラとしては必ず正しいコードを発生できなけ
ればならないからである。このため、フォーマット上、
任意の段数が可能になっている。
Since the compiler does not need to differentiate between cases based on the number of stages, it has the advantage of reducing the burden on the compiler. This is because even if the slope of multi-stage indirect references is less than M vc , the compiler must always be able to generate correct code. For this reason, the format
Any number of stages is possible.

(1,5)例外処理 本発明の処理装置ではソフトウェア負荷の軽減のため、
豊富な例外処理5N能をもつ、本発明のデータ処理装置
では例外処理は、命令処理を再実行するもの(例外)、
命令処理を完了するもの(トラップ)、割込の3種類に
分けて名称をつけている。また本発明のデータ処理装置
では、この3種の例外処理と、システム障害を総称して
E工Tと呼ぶ。
(1,5) Exception processing In the processing device of the present invention, in order to reduce the software load,
In the data processing device of the present invention, which has abundant exception handling 5N capabilities, exception handling includes re-execution of instruction processing (exception),
They are divided into three types and are named: those that complete instruction processing (traps), and interrupts. Furthermore, in the data processing apparatus of the present invention, these three types of exception handling and system failure are collectively referred to as E/T.

(2)機能ブロックの構成 第28図に本発明のデータ処理装置のブロック図を示す
。本発明のデータ処理装置の内部を機能的に太きく分け
ると、命令フェッチ部5D。
(2) Structure of Functional Blocks FIG. 28 shows a block diagram of the data processing apparatus of the present invention. Functionally, the inside of the data processing device of the present invention can be broadly divided into an instruction fetch unit 5D.

命令デコード部・5り、PC計算部63.オペランドア
ドレス計*都n、マイクロ10M倍・頻、データ演算部
槽、外部パスインターフェース部5ηに分かれる。第2
8図では、その他、アドレスとcpn外部に出力するア
ドレス出力回路碍とCP口外部とデータの入出力を行う
データ入出力回路随をm−の橙能ブロック部と分けて示
し/こ。
Instruction decoding section 5, PC calculation section 63. It is divided into an operand address counter, a micro 10M multiplication unit, a data calculation unit, and an external path interface unit 5η. Second
In addition, in FIG. 8, an address output circuit for outputting addresses and cpn to the outside, and a data input/output circuit for inputting and outputting data to and from the outside of the CP port are shown separately from the orange function block section of m-.

(z、1)命令フェッチ部 命令フェッチ部5Qにはブランチバッファ、命令キュー
バヅファとその制御部などがあり、次VCフェッチすべ
き命令のアト1/スを決定して、ブランチバッファやC
PU外部のメモリから命令ラフエッチする。ブランチバ
ッファへの命令登録も行う。
(z, 1) Instruction fetch unit The instruction fetch unit 5Q includes a branch buffer, an instruction queue buffer, its control unit, etc., and determines the at 1/s of the instruction to be fetched next to the branch buffer and C
Rough fetch instructions from memory outside the PU. Also registers instructions to the branch buffer.

ブランチバッフアロ小規模′T′:あるためセ17りぞ
イブキャッシュとして納作イ”る。ブランチノ(ツファ
はブランチターゲットバッファ(BTB)によく似た機
能?もつ。ブランチバッファの動作の詳細は特願昭fl
R=202041で詳しく述べられている。
The branch buffer has a small scale 'T': Therefore, it is used as a separate branch cache.The branch buffer has a function very similar to the branch target buffer (BTB). Ganshofl
It is detailed in R=202041.

次にフェッチすべき命令のアドレス6命令キユーバツフ
アに入力すべき命令のアドレスとして専用のカウンタで
計算さり、る。ブランチやジャンプが起きたときVC,
は、哲たな高冷のアドレスが、PcIa4r暉部盛やデ
ーク演創1匂より転送されてくる。
The address of the next instruction to be fetched is calculated by a dedicated counter as the address of the instruction to be input into the 6-instruction buffer. VC when a branch or jump occurs,
, a sassy and cool address was forwarded to me by PcIa4r Akirabe Mori and Deke Ensou1ou.

CP]■外部のメモリから命令孕フェッチするときは、
外部バスインタ−7エイズ部bηを通して、フェッチす
べき命令コードのアドレステアドレス出力回路ii+9
からCPU外部に出力し、データ入出力回路面から命令
コードフェッチする。
CP] ■When fetching instructions from external memory,
Address output circuit ii+9 for the instruction code to be fetched through the external bus interface 7 aids section bη
The instruction code is output from the CPU to the outside, and the instruction code is fetched from the data input/output circuit.

バッファリングした命令コードのうち、命令デコード部
a1z″T:次にデコードすべき命令コードヶ命令デコ
ード部園に出力する。
Among the buffered instruction codes, the instruction decode unit a1z''T: outputs the instruction code to be decoded next to the instruction decode unit.

(2,2)命令デコード部 命令fコード部5カでは命令中のオペコードが基本JV
C16ビツト(ハーフワード)単位にデコードされる。
(2, 2) Instruction decode section Instruction f code section In the 5 units, the operation code in the instruction is basically JV
It is decoded in units of C16 bits (halfwords).

このブロックには第1ハーフワードに含盪れるオペコー
ドをデコードするFHWデゴーグ6第2、第3ハーフワ
ードに含まれるオペコードをデコードするNFI(Wデ
コーダ、アトl/ツシングモード?デコードするアドレ
ッシングモー・ドデコーダが含まれる。
This block has an FHW degogue 6 that decodes the opcode contained in the first halfword, an NFI (W decoder, and an addressing mode that decodes Contains a decoder.

さらにF XI WデコーダやNFHWデコーダの出力
をさらにデコードして、マイクロROMのエントリアド
レスを計算するデコーダ2、榮件ブランチ命令の分岐予
測2行う分岐予測機能、オペランドアドレス計算のとき
のバイグラインコンフリクト金チエツクするアドレス計
算コ・ンフリクトチェック機構も含まれる。
In addition, there is a decoder 2 that further decodes the output of the F Also included is an address calculation conflict checking mechanism.

命令フェッチ部より入力された命令コード?2りaツク
につき0=6バイト?デコードする。
Instruction code input from instruction fetch section? 0 = 6 bytes per 2 drives? decode.

デコー ド結果のうちデータ演算部1にでの演算知関す
る情報ケマイクr:lROM部6均に、オペランドアド
レス計算に関係する情報をオペランドアドレス計算部呪
)vc、PC庁十WVc関係゛ノ゛る情報ケPC計算部
D(至)に、七h、ぞノ1.出力する。
Among the decoding results, information related to the operation knowledge in the data calculation unit 1 is sent to the ROM unit 6, and information related to the operand address calculation is sent to the operand address calculation unit vc, PC agency 10WVc-related. Information ke PC calculation department D (to), 7h, zono 1. Output.

(N、3)マイクロROM部 マイクロROM部調には主(tでデータ演算部−全制御
するマイクロプログラムが格約されているマイクROM
、マイクロシーケンサ、マイクロ命令デコーダなどが含
まれる。マイクロ命令はマイクrJROMから2クロツ
クにi2読み出される。マイクロシーケンサはマイクロ
プログラムで示されるシーケンス処理の他に例外、割込
、トランプ(この3つをあわ慰”でJ」工Tと呼ぶ)の
処理をハード的に受は例ける。甘だマイクロROM部は
ストアバッファの管理も行う。
(N, 3) Micro ROM section The micro ROM section includes the main (t) data calculation section - micro program that controls everything.
, micro sequencer, micro instruction decoder, etc. Microinstructions are read out from the mic rJROM every 2 clocks i2. In addition to the sequence processing indicated by the microprogram, the microsequencer handles exceptions, interrupts, and playing cards (these three are casually called "J" 工T) in terms of hardware. The Amada micro ROM section also manages the store buffer.

マイクロROM部には命令コードに依存しない割込みや
演算実行結果によるフラッグ情報と、デコーダ2の出力
など命令デコード邪の出力が入力される。マイクロデコ
ーダの出力は主にデータ演算部帳に対して出力されるが
、ジャンプ命令の実行による他の先行熱押中止情報など
一部の情報は他のブロック−\も出力される。
Input to the micro ROM section are interrupts that do not depend on instruction codes, flag information based on arithmetic execution results, and outputs from instruction decoding such as the output of the decoder 2. The output of the micro-decoder is mainly output to the data operation register, but some information, such as other preceding hot press abort information due to the execution of the jump instruction, is also output to other blocks -\.

(2,4)オペランドアドレス計算部 オペランドアドレス計′11.部541ハ1、蛸令デコ
ード邪櫻のアドレスデコーダなどから出力されたオペラ
ンドアドレス計算に関係する↑N報によりハードワイヤ
ードfrill(illされる。このブロックではオペ
ランドのアドレス計算に関するほとんどの処理が行われ
る。メモリ間接アドレッシングのだめのメモリアクセス
のアドレスやオペランドアドレスがメモリ圧マツプされ
たI10領域に入るかどうかのチエツクも行われる。
(2, 4) Operand address calculation section Operand address total '11. The block 541 is hard-wired frill (ill) by the ↑N information related to the operand address calculation output from the address decoder of Takorei Decode Jasakura, etc. This block performs most of the processing related to the operand address calculation. A check is also made to see if the address of the memory access for indirect memory addressing or the operand address falls within the memory pressure mapped I10 area.

アドレス計算結果は外部バスインターフエイス部hηに
送られる。アドレス計算に必要な汎用レジスタやプログ
ラムカウンタの値はデータ演算部より入力きれる。
The address calculation result is sent to the external bus interface hη. The values of general-purpose registers and program counters required for address calculation can be input from the data calculation section.

メモリ間接アドレッシングを行うときは外部バスインタ
ーフェイス部・闘を通してアドレス出力回路幡からCP
σ外部に参照すべきメモリアドレスを出力し、データ入
出力部間から入力された間接アドレス@を命令デコーF
部6のをそのまま通過させてフェッチする。
When performing memory indirect addressing, the address output circuit is connected to the CP through the external bus interface section.
σ Outputs the memory address to be referenced externally, and decodes the indirect address @ input from the data input/output section to the instruction F
Part 6 is passed through as is and fetched.

(16)PC計算部 pc計算部IS:lは命令デコーr部・6カから出力さ
れるpc計算に関係する情報によりノ・−ドワイヤード
制御され、命令のpc値を計算する。本特許のデータ処
理装置は可変長命令セットを持っており、命令をデコー
ドしてみないとその命令の長さが判らない。PC計算部
61は、命令デコード部めから出力される命令長tデコ
ード中の命令のPC@に加算することによりつぎの命令
のPCIを作り出す。また、命令デコード部54が、分
岐命令をデコーFしてデコード段階での分岐を指示した
ときは命令長の代わりに分岐変位全分岐命令のPC@に
加算することにより分岐先命令のPC(iii計算する
。分岐命令に対して命令デコード段階で分岐を行うこと
を本発明のデータ処理装置ではプリブランチと呼ぶ。
(16) PC calculation unit The pc calculation unit IS:l is under wired control by the information related to pc calculation output from the instruction decoder r unit 6, and calculates the pc value of the instruction. The data processing device of this patent has a variable length instruction set, and the length of the instruction cannot be determined until the instruction is decoded. The PC calculating section 61 creates the PCI of the next instruction by adding the instruction length t output from the instruction decoding section to the PC@ of the instruction being decoded. When the instruction decoding unit 54 decodes a branch instruction and instructs a branch at the decoding stage, the instruction decoder 54 adds the branch displacement to the PC@ of all branch instructions instead of the instruction length so that the PC of the branch destination instruction (iii In the data processing device of the present invention, branching to a branch instruction at the instruction decoding stage is called pre-branch.

れている。It is.

PC計算部困の計算結果は各命令のPC[として命令の
デコード結果とともに出力されるほか、プリブランチ時
には1次にデコードすべき防令のアドレスとして命令7
工ツチ部に出力される。
The calculation results of the PC calculation unit are output as the PC of each instruction along with the instruction decoding results, and at the time of pre-branch, the calculation results are output as the instruction 7 as the address of the command to be decoded first.
Output to the construction section.

また、次に命令デコード部櫻でデコードされる命令の分
岐予測のためのアドレスにも使用される。分岐予測の方
法については待原昭62−8194で詳しく述べられて
いる。
It is also used as an address for predicting the branch of the next instruction to be decoded by the instruction decoding unit Sakura. The branch prediction method is described in detail in Machihara Sho 62-8194.

(2,6)データ演算部 データ演算部1はマイクロプログラムにより制御され、
マイクロROM部団の出力情報に従い、各命令の機能を
実現するために必要な演算をレジスタと演算器で実行す
る。演算対象となるオペランドがアドレスや即値の場合
は、オペランドアドレス計算部(財)で計算されたアド
レスや即値を外部パスインターフェイス部bηを通過さ
せて得る。また、演算対象となるオペランドがcpa外
部のメモリにあるデータの場合は、アドレス計算部掴で
計算されたアドレスをパスインターフェイス部671が
アト、レス出力回路間から出力して、cpσ外部のメモ
リからフェッチしたオペランドをデータ入出力回路6(
至)から得る場合もある。
(2, 6) Data calculation unit The data calculation unit 1 is controlled by a microprogram,
According to the output information of the micro ROM group, the registers and arithmetic unit execute the operations necessary to realize the function of each instruction. When the operand to be operated on is an address or an immediate value, the address or immediate value calculated by the operand address calculation section is obtained by passing through the external path interface section bη. In addition, if the operand to be operated on is data stored in the memory external to cpσ, the path interface unit 671 outputs the address calculated by the address calculation unit grab from between the at and address output circuits, and outputs the address from the memory external to cpσ. The fetched operand is transferred to the data input/output circuit 6 (
In some cases, it can be obtained from

清算器としてはALσ、バレルシフタ、ブライオリティ
エンコーダやカウンタ、シフトレジスタなどがある。レ
ジスタと主な演算器の間は8パスで結合されており% 
1つのレジスタ間演算を指示する1マイクロ命令?2ク
ロツクサイクルで処理する。
Clearance devices include ALσ, barrel shifters, priority encoders, counters, and shift registers. The registers and the main arithmetic units are connected by 8 paths.%
One microinstruction that instructs one register-to-register operation? Processed in 2 clock cycles.

データ演算のときCPσ外部のメモリをアクセスする必
要がある時はマイクロプログラムの指示により外部パス
インターフェイス部6ηを通してアドレス出力回路1か
らアドレス?CPσ外部に出力し、データ入出力回路A
Iを通して目的のデータをフェッチする。
When it is necessary to access memory outside the CPσ during data calculation, the address ? Output to the outside of CPσ, data input/output circuit A
Fetch the desired data through I.

cpσ外部のメモリにデータをストアするときけ外部バ
スインターフェイス部鋪全通してアドレス出力回路祷よ
りアドレスを出力すると同時に、データ入出力回路(至
)からデータ1kcPσ外部に出力する・オペランドス
トアを効率的に行うためデータ演算部槽に1lt4バイ
トのストアバッファがある。
When storing data in the external memory cpσ, output the address from the address output circuit through the entire external bus interface, and at the same time output the data 1kcPσ externally from the data input/output circuit (to). Efficiently store operands. In order to do this, there is a 1lt4-byte store buffer in the data calculation section.

ジャンプ命令の処理や例外処理などを行って新たな命令
アドレスをデータ演算部類が得たときはこれを命令フェ
ッチ部60とpc計算部卵に出力する。
When the data operation section obtains a new instruction address by processing a jump instruction or handling an exception, it outputs this to the instruction fetch section 60 and the PC calculation section.

(g、7)外部パスインターフェイス部外部パスインタ
ーフェイス部571は本特許のデータ処理装置の外部バ
スでの通信?別画する。
(g, 7) External path interface unit Does the external path interface unit 571 communicate with the external bus of the data processing device of this patent? Separately.

メモリのアクセスはすべてクロック同期で行われ、最小
2クロックサイクルで行うことができる。
All memory accesses are performed in clock synchronization and can be performed in a minimum of two clock cycles.

メモリに対するアクセス要求は砧令フェッチ部fi11
.アドレス計算部5(、データ演算部、(6)か′ら独
立に生じる。外部バスインターフェイス部稍けこれらの
メモリアクセス要求を調停する。さらにメモリとCPσ
?結ぶデータバスザイズである32ビツト(ワード)の
整置境界fr:またぐメモリ番地にあるデ・−夕のアク
セスハ:、このブロック内で1仙的にワード境昇ケまた
ぐことを検知して、2同のメモリアクセスに分解して行
う。
Access requests to memory are made by the Kinei fetch unit fi11.
.. The address calculation unit 5 (and the data calculation unit (6) are generated independently from each other. The external bus interface unit arbitrates these memory access requests. Furthermore, the memory and CPσ
? The access data at the memory address that straddles the 32-bit (word) aligned boundary fr, which is the data bus size to be connected, detects that the data boundary crosses the word boundary once within this block. This is done by breaking it down into two identical memory accesses.

ブリフェッチするオペランドとストアするオペランドが
重なる場合のコンフリクト防止処理やス!・アオベラン
ドからフェッチオペランドへのバイパス処理も行う。
Conflict prevention processing when the operand to be briefly fetched and the operand to be stored overlap!・Also performs bypass processing from Aobeland to fetch operand.

(3)パイプライン帰構 本発明のデータ処理装置のパイプライン処理は第2図に
示を構成となる。命伶のブリフェッチを行つ命令フェッ
チステージ(IPステデー6υ)、命令のデコードを行
うデコードステージ(Dステージ(り)、オペランドの
アドレス占十ネ?行うオペランドアドレス計算ステージ
(AステージC(3)、マイクOR0Mアクセス(持に
Rステージ(至)ど呼ぶ)とオペランドグリフェッチ(
特にOFステデー(ロ)と呼ぶ)?行うオペランドブリ
プエッチステージCFステージ■)、実行ステージ(Z
ステージc!6)の5膜構成?パイプライン処理の基本
とする。Eステージ(至)では1段′のストアバッファ
があるほか、高機能請合の一部は命令実行自体金パイプ
ライン化するため、実際には5段以上のパイプライン処
理効果がある。
(3) Pipeline Return The pipeline processing of the data processing apparatus of the present invention has the configuration shown in FIG. The instruction fetch stage (IP stage 6υ) performs a brief fetch, the decode stage (D stage (ri) performs instruction decoding, the operand address calculation stage (A stage C (3), performs operand address calculation), Microphone OR0M access (also called R stage) and operand glyfetch (
Especially called OF Steday (ro)? Perform operand blip etch stage CF stage ■), execution stage (Z
Stage c! 6) 5 membrane configuration? This is the basis of pipeline processing. In addition to the 1-stage store buffer at the E stage (up to), some high-performance models use a pipeline to execute instructions themselves, so there is actually a pipeline processing effect of 5 stages or more.

1Fステージc3vはバスインターフェイス回N□□□
にアクセス要求金山し、メモリから命令コードをフェッ
チしてDステージ曽に出力するODステデー(至)はI
FステデーOηから入力される命令コードをデコードし
て、デコード結束?Aステージ(至)【出力する。A、
?データ(至)は命令コード中で指定されたオペランド
の実効アドレスの計算4行い、必要ならばバスインター
フェイス回路C灼にアクセス要求を出し、アドレス間接
参照を行い、計算したオペランドアドレス計算ステージ
(至)に出力する。Fステージ[有]はAステージQか
ら入力されたオペランドアドレスに従い、バスインター
フェイス回路(至)へアクセス要求を出し、メモリより
オペランドをフェッチする。
1F stage c3v is bus interface time N□□□
The OD status (to) which requests access to Kanayama, fetches the instruction code from memory and outputs it to D stage is I.
Decode the instruction code input from the F-steady Oη and complete the decode? A stage (to) [Output. A,
? Data (to) calculates the effective address of the operand specified in the instruction code, issues an access request to the bus interface circuit C if necessary, performs indirect address reference, and calculates the operand address calculation stage (to) Output to. The F stage [with] issues an access request to the bus interface circuit (to) according to the operand address input from the A stage Q, and fetches the operand from the memory.

フェッチしたオペランドii′Eステージ(至)に出力
する。鶏ステージ(至)i7:l′Fステージ[有]か
ら入力されたオペランドに対して命令コード中で指定さ
れた演算?実行する。さらに必要ならバスインターフェ
イス回路@にアクセス要求を出し、その演算結果?メモ
リにストアする。1Fステージからのアクヤス要求は常
に出されており、バスインターフェイス回路@は各ステ
ージからのアクセス要求がない場合、命令のプ’)7x
ツチ2行う。しかし、Dステージ(至)でEステージ(
至)で必ず分岐2行う命令が完全にDステージ(至)に
入力されたことが検出されたならば、Eステージによる
パイプライン初期化が起る贅でそれ以降の命令プリフェ
ッチは行われない。
The fetched operand ii' is output to the E stage (to). Chicken stage (to) i7: l' Is the operation specified in the instruction code for the operand input from the F stage [Yes]? Execute. Furthermore, if necessary, issue an access request to the bus interface circuit @ and check the calculation result? Store in memory. Aquias requests from the 1F stage are always issued, and the bus interface circuit @ does not issue instructions unless there is an access request from each stage.
Do Tsuchi 2. However, at D stage (end) and E stage (
If it is detected that the instruction that always performs branch 2 is completely input to the D stage (to), the pipeline initialization by the E stage occurs and no subsequent instruction prefetch is performed.

各ステージげ他のステージとは独立に動作(7、理論上
は5つのステージが完全に独立動作する。各ステージは
1回の処理?最小2クロックで行うことができる。従っ
て理想的にけ2クロツクごとに次々とパイプライン処理
が進行する。
Each stage operates independently of the other stages (7. Theoretically, the five stages operate completely independently. Each stage can be performed in one process? Minimum of two clocks. Therefore, ideally Pipeline processing progresses one after another every clock.

本発明のデータ処理装置にはメモリーメモリ間演算や、
メモリ間接アドレッシングなど、基本パイブライ/処理
1回だけでは処理が行えない命令があるが1本発明のデ
ータ処理装置けこれらの処理に対してもなるべく均衡し
たバイブライン処理が行えるように設計されてhる。複
数のメモリオペランド?もつ命令に対してはメモリオペ
ランドの数をもとVC,デコード段階で複数のパイプラ
イン処理単位(ステップコード)に分解してパイプライ
ン処理を行うのである。
The data processing device of the present invention includes memory-to-memory calculations,
Although there are instructions such as memory indirect addressing that cannot be processed with just one basic pipeline/processing, the data processing device of the present invention is designed to perform as balanced pipeline processing as possible for these processes. Ru. Multiple memory operands? For instructions with multiple memory operands, pipeline processing is performed by dividing the instructions into a plurality of pipeline processing units (step codes) at the VC and decoding stages based on the number of memory operands.

パイプライン処理単位の分解方法例関しては特願昭61
−236456で詳しく述べられている。
For an example of how to decompose a pipeline processing unit, see Japanese Patent Application No. 1983.
-236456.

1 ’Fステデー6ηからDステージ(至)に渡される
情報は命令コードそのものである。Dステージ(至)か
らAステージaに渡される情報は命令で指定された演算
に関するもの(Dコード(財)と呼ぶ)と、オペランド
のアドレス計算に関係するもの(A:7−ド(6)と呼
ぶ)との2つある。AステージQから?ステージ■に渡
される情報はマイクロプログラムルーチンのエントリ番
地やマイクロプログラムへのパラメータなどを含むRコ
ード@3(!−、オペランドのアドレスとアクセス方法
指示情報などを含むFコード−との2つである。
1' The information passed from F stage 6η to D stage (to) is the instruction code itself. The information passed from the D stage (to) to the A stage a is related to the operation specified by the instruction (called the D code), and information related to the address calculation of the operand (A:7-de(6)). There are two types. From A stage Q? The information passed to stage ■ is two types: R code @3 (!-), which includes the entry address of the microprogram routine and parameters to the microprogram, and F code (!-), which includes the address of the operand and access method instruction information. .

Fステージ(至)からEステージ(7)に渡される情報
は演算1tlla情報とリテラルなどを含むEコード四
と、オペランドやオペランドアドレスなどt含むSツー
1″−との2つである。Eステージ曽以外のステージで
検出されたE工TiそのコードがEステージ(至)VC
到達するまではE工T処理を起動しない。Eステージ(
至)で処理されている命令のみが実行段階の命令であり
、IFステデーtaEl−Fステージ■で処理されてい
る防音はまだ実行段階に至っていないのである。従って
Eステージ(7)以外で検出されたE工Tfi検出した
ことをステップコード中に記録して次のステージに伝え
られるのみである。
The information passed from the F stage (to) to the E stage (7) is two: E code 4, which includes operation 1 tlla information and literals, and S2 1''-, which includes t such as operands and operand addresses.E stage The code detected at a stage other than Zeng is E stage (to) VC.
E/T processing will not be started until this point is reached. E stage (
Only the commands being processed in (to) are in the execution stage, and the soundproofing being processed in the IF stage taEl-F stage (2) has not yet reached the execution stage. Therefore, the fact that the E-engine Tfi detected at a stage other than the E-stage (7) is recorded is simply recorded in the step code and transmitted to the next stage.

(8,1)パイプライン処理単位 (8,1,1)命令コードフィールドの分類本発明のデ
ータ処理装置のパイプライン処理単位は命令セットのフ
ォーマットの特徴を利用して決定されている。(1)の
節で述べたように、本発明のデータ処理装置の命令は2
バイト単位の可変長命令であり、基本的VCは(2バイ
トの命令基本部子〇 −4バイトのアドレッシング拡張
部)Th1〜8回繰シ返すことにより命令が構成されて
いる。
(8,1) Pipeline Processing Unit (8,1,1) Classification of Instruction Code Fields The pipeline processing unit of the data processing device of the present invention is determined using the characteristics of the format of the instruction set. As stated in section (1), the instructions of the data processing device of the present invention are 2
It is a variable length instruction in byte units, and the basic VC is configured by repeating (2-byte instruction basic part - 4-byte addressing extension part) Th1 to 8 times.

命令基本部には多くの場合オペコード部とアドレッシン
グモード指定部があり、インデックスアドレッシングや
メモリ間接アドレッシングが必要なときにはアドレッシ
ング拡張部の代わりに(2バイトの多重間接モード指定
部子〇〜4バイトのアドレッシング拡張部)が任意側付
く。また、命令により2または4バイトの命令固有の拡
張部が最後に付く。
The instruction basic part often has an opcode part and an addressing mode specification part, and when index addressing or memory indirect addressing is required, instead of the addressing extension part (2-byte multiple indirect mode specification part 〇 to 4-byte addressing Extension part) is attached on any side. Also, depending on the instruction, a 2 or 4-byte instruction-specific extension section is added at the end.

命令基本部には命令のオペコード、基本アドレッシング
モード、リテラルなどが含まれる。
The instruction basic part includes instruction opcodes, basic addressing modes, literals, etc.

アドレッシング拡張部はディスプレースメント、絶対ア
ドレス、即値、分岐命令の変位のいずれかである。命令
固有の拡張部にはレジスタマツプニーi’ormat命
令の即値指定などがある。第29図で本発明のデータ処
理装置の基本的命令フォーマットの特徴を示す。
Addressing extensions can be displacements, absolute addresses, immediate values, or branch instruction displacements. Instruction-specific extensions include the immediate value specification of the register mappny i'ormat instruction. FIG. 29 shows the characteristics of the basic instruction format of the data processing device of the present invention.

(8,11)ステップコードへの命令の分解本発明のデ
ータ処理装置では上記の命令7オーマントの特徴を生か
したパイプライン処理を行う。Dステージ(至)では(
2バイトの命令基本1fls + 0−4 バイトのア
ドレッシング拡張1!Is)。
(8, 11) Decomposition of instructions into step codes The data processing apparatus of the present invention performs pipeline processing that takes advantage of the characteristics of the instruction 7 omant described above. At stage D (end) (
2-byte instruction basic 1fls + 0-4 byte addressing extension 1! Is).

(多段間接モード指定部+アドレッシング拡張部)−ま
たけ命令固有の拡張部1に1つのデコード単位として処
理する。各回のデコード結果をステップコードと呼び、
Aステージ(至)以降ではこのステップコードをパイプ
ライン処理の単位としている。ステップコードの数は命
令ごとに固有であり、多段間接モード指定を行わないと
き、1つの命令は最小1個、最大3個のステップコード
に分かれる。多段間接モード指定があればそれだけステ
ップコードが増える。ただし、これは後で述べるように
デコード段階のみである。
(Multi-stage indirect mode specification section + addressing extension section) - Processed as one decoding unit in the extension section 1 specific to the spanning instruction. The decoding result of each time is called step code,
After the A stage (end), this step code is used as the unit of pipeline processing. The number of step codes is unique for each instruction, and when multi-stage indirect mode is not specified, one instruction is divided into a minimum of 1 step code and a maximum of 3 step codes. If the multi-stage indirect mode is specified, the number of step codes increases accordingly. However, this is only the decoding stage, as will be described later.

(8,1,3)プログラムカウンタの管理本発明のデー
タ処理装置のパイプライン上に存在するステップコ−y
Bすべて別命令に対するものである可能性があり、プロ
グラムカウンタの値はステップコードごとに管理する。
(8, 1, 3) Program counter management Step code y existing on the pipeline of the data processing device of the present invention
B may all be for different instructions, and the value of the program counter is managed for each step code.

すべてのステップコー1″はそのステップコードのもと
になった命令のプログラムカウンタ値?もつ。ステップ
コードに付属してパイプラインの各ステージを流れるプ
ログラムカウンタ値はステッププログラムカウンタ(S
PC)と呼ぶ。
Every step code 1'' has the program counter value of the instruction that is the source of that step code.The program counter value that is attached to the step code and flows through each stage of the pipeline is the step program counter (S
PC).

SPCはパイプラインステージを次々と受は渡されてい
く。
SPC is passed through pipeline stages one after another.

C8,2)?!rパイプラインステージの処理釜パイプ
ラインステージぬ入出カステップコードには第2図に示
したように便宜上名前が付けられている。またステップ
コー)″はオペコ−ドに関する処理?行−,マイクロR
OMのエントリ番地やEステージ(至)に対するパラメ
ータなどになる系列とEステージ(至)のマイクロ命令
竜〈対するオペランドになる系列の2系列がある。・(
8,8,1)命令フェッチステージ 命令フェッチステージ(工yステージ0υ)tf命令を
メモリやブランチバッファからフェッチし、命令キュー
に入力して、Dステージ(至)に対して命令コー)″を
出力する。命令キューの入力は整置された4バイト単位
で行う。メモリから命令をフェッチするときは整置され
た4バイトにつき最小2クロックを要する。ブランチバ
ッファがヒツトした時は整置された4バイトにっきlク
ロックでフェッチ可能である。命令キューの出力単位は
2バイトごとに可変であり、2クロツクの間に最大6バ
イトまで出力できる。また分岐の直後には命令キューを
バイパスして命令基本部2バイト1に直接命令デコーダ
に転送することもできる。
C8, 2)? ! The processing pot pipeline stage input/output step codes of the pipeline stage are named for convenience as shown in FIG. Also, the step code)'' is a process related to the opcode? line-, Micro R
There are two series: a series that becomes an OM entry address and a parameter for the E stage (to), and a series that becomes an operand for the microinstruction in the E stage (to).・(
8, 8, 1) Instruction fetch stage Instruction fetch stage (process y stage 0υ) Fetch the tf instruction from memory or branch buffer, input it to the instruction queue, and output the instruction code to the D stage (to). Input to the instruction queue is done in units of aligned 4 bytes.When fetching an instruction from memory, a minimum of 2 clocks are required for each aligned 4 byte.When the branch buffer is hit, the aligned 4 bytes are input. Bytes can be fetched every 1 clock.The output unit of the instruction queue is variable every 2 bytes, and up to 6 bytes can be output during 2 clocks.In addition, immediately after a branch, the instruction queue is bypassed and the basic instructions are It is also possible to transfer part 2 byte 1 directly to the instruction decoder.

ブランチバッファへの命令の登録やクリアなどの制御、
プリフェッチ先命令アドレスの管理や命令キューの制御
も工Fステージ9pで行う。
Control of registering and clearing instructions in the branch buffer,
Management of prefetch destination instruction addresses and control of instruction queues are also performed in the engineering F stage 9p.

1Fステージ0]llで検出するに工TKfl命令をメ
モリからフェッチするときのパスアクセス例外や、メモ
リ保護逮反などによるアドレス変換例外がある。
1F stage 0] There are path access exceptions when fetching the TKfl instruction from memory and address translation exceptions due to memory protection violations.

(8,2,2)命令デコーFステージ 命令デコードステージ(Dステージ(至))はlFステ
デーC3優から入力された命令コードをデコ用して、2
クロック単位に1度行ない、1回のデコーp処理で、0
〜6バイトの命令コードを消費する(RKT#f6令の
復帰先アドレスを含むステップコードの出力処理などで
は命令コードを消費しない)。1回のデコードでAステ
ージ(至)に対するアドレス計算情報であるAコード−
としての約85ビツトの制御コードと最大82ビツトア
ドレス1灸飾情報とオペコードの中間デコーF結果であ
るDコード(財)としての約50ビツト制御コーFと8
ビツトのリテラル情報とを出力する。
(8, 2, 2) Instruction decoding F stage The instruction decoding stage (D stage (to)) decodes the instruction code input from the IF steady C3
It is performed once per clock, and with one decoding p process, 0
~6 bytes of instruction code is consumed (instruction code is not consumed in output processing of step code including the return destination address of RKT#f6 instruction, etc.). A code, which is the address calculation information for the A stage (to), in one decode.
Approximately 85-bit control code and maximum 82-bit address 1, about 50-bit control code as D code (product) which is intermediate decoding result of 1 moxibustion information and operation code F and 8
Outputs bit literal information.

Dステージ(2)では各命令のpc計算部關の別画、分
岐予測処理、プリブランチ命令に対するプリブランチ処
理、命令キューからの命令コーr出力処理も行う。
The D stage (2) also performs separate processing of the PC calculation unit for each instruction, branch prediction processing, prebranch processing for prebranch instructions, and instruction call output processing from the instruction queue.

さらに、必ずぶステージで分岐やジャンプを起す命令が
デコーrされ、命令が完全にDステージに取り込まれた
のが確認されると命令デコード?中断し、以降Eステー
ジからのパイプライン初期化信号が入力されるまで動作
を停止する。
Furthermore, the instruction that causes a branch or jump is decoded at the Be sure stage, and when it is confirmed that the instruction is completely taken into the D stage, the instruction is decoded? The operation is then stopped until a pipeline initialization signal from the E stage is input.

Dステージ(至)で検出するIll!ITKfl予約命
令例外、プリブランチ時の奇数アドレスジャンプトラッ
プがある。また、IFステデー3ηより転送されてきた
各種E工Tflステップコード内にエンコードする処f
!pをしてAステージ(至)に転送する。E工Tが検出
されるとDステージは命令デコードを中断し、以降Eス
テージからのパイプライン初期化信号が入力されるまで
動作を停止する。
Ill detected at D stage (end)! There is an ITKfl reserved instruction exception and an odd address jump trap during pre-branch. Also, the process f to be encoded in the various E engineering Tfl step codes transferred from IF Steady 3η.
! p and transfer to A stage (toward). When E/T is detected, the D stage interrupts instruction decoding and thereafter stops operating until a pipeline initialization signal from the E stage is input.

(8,L3)オペランドアドレス計算ステージオペラン
ドアドレス計算ステージ(Aステージ@)t−1処理が
大きく2つに分かれる。
(8, L3) Operand address calculation stage Operand address calculation stage (A stage @) t-1 processing is broadly divided into two.

1つは命令デコード部62のデコーダ2を使用して、オ
ベコーFの後段デコーFを行う処理で、他方はオペラン
ドアドレス計IE部図でオペランドアドレスの計暉ヲ行
う処理である。
One is a process in which the decoder 2 of the instruction decoding section 62 is used to perform a subsequent decoding F of the obecode F, and the other is a process in which an operand address is calculated using the operand address counter IE block diagram.

オペコードの後段デコー)’処ffはDコード■を入力
とし、レジスタやメモリのt!iき込み予1’J及びマ
イクロプログラムのエントリ番地とマイクロプログラム
に対するパラメータなどを含むRコード−の出力を行う
。なおレジスタやメモリの書き込み予約は、アドレス計
算で参照したレジスタやメモリの内容が、パイプライン
上?先行する命令で書き換えられ、誤ったアドレス針線
が行われるのを防ぐ念めのものである。レジスタやメモ
リの豊き込み予約はデッドロックを避けるため、ステッ
プコードごとに行うのではなく命令ごとく行う。レジス
タやメモリの書き込み予約については特願昭62−14
4394で詳しく述べられている。
Post-stage decoding of the operation code) 'processing ff takes the D code ■ as input, and the register or memory t! It outputs an R code including the input pre-1'J, microprogram entry address, and parameters for the microprogram. Note that register and memory write reservations are based on whether the contents of the register or memory referenced in address calculation are on the pipeline? This is to prevent an incorrect address line from being rewritten by a preceding instruction. To avoid deadlocks, register and memory enrichment reservations are made for each instruction rather than for each step code. Regarding write reservations for registers and memory, please refer to the patent application 1986-14.
4394.

オペランドアドレス計算処理はAコード12ヲ入力とし
、Aコードに)に従いオペランドアドレス計算部間で加
算やメモリ間接参照を組み合わせてアドレス計lLケ行
い、その計算結果をFコード−として出力する。この際
、アドレス計算に伴つレジスタやメモリの読み出し時に
コンフリクトチエツクを行い、先行命令がレジスタやメ
モリに対する書き込み処理全終了していない時点でコン
フリクトが指示されれば、先行命令がEステージ(至)
で唐き込みも理?終了するまで待つ。また、オペランド
アドレスやメモリ間接参照のアドレスがメモリにマツプ
されたI10領域VC入るかどうかのチエツクも行う。
The operand address calculation process takes the A code 12 as input, performs a total of 1L addresses by combining addition and memory indirect reference between the operand address calculation sections according to the A code, and outputs the calculation result as an F code. At this time, a conflict check is performed when reading a register or memory in conjunction with address calculation, and if a conflict is indicated before the preceding instruction has finished writing to the register or memory, the preceding instruction will move to the E stage.
Is there any reason to include it? Wait until it finishes. It also checks whether the operand address or the address of memory indirect reference is included in the I10 area VC mapped to memory.

Aステージ(至)で検出するE工TKは予約命令外、特
権命令外、バスアクセス列外、アドレス変換例外、メモ
リ間接アドレッシングのときのオペランドブレイクポイ
ントヒツトによるデノ(ラグトラップがある。Dコード
(6)、Aコード−自体がE工Tl起こしたこと?示し
ておれば、Aステージaはそのコードに対してアドレス
計算処理をせず、そのE工Tコード卿やFコード−に伝
える◎ (81,4)マイクロROMアクセスステージオペラン
ドフェッチステージ(Fステージ咎)も処理が大きく3
つに分かれる。1つはマイクロROMのアクセス処理で
あり、特にRステージ(至)と呼ぶ。他方はオペランド
プリフェッチ処理であり、特にOFステデー(ロ)と呼
ぶ。Rステージ(至)とOFステデー■は必ずしも同時
に動作するわけではなく、メモリアクセス権が獲得でき
るかどうかなどに依存して、独立に動作する。
The E-TK detected at the A stage (toward) is outside the reserved instruction, outside the privileged instruction, outside the bus access sequence, address conversion exception, and deno (lag trap) due to an operand break point hit during memory indirect addressing.D code (6) Did the A code itself cause the E engineering Tl? If it indicates, the A stage a will not perform address calculation processing for that code and will notify the E engineering T code master and the F code. (81,4) The micro ROM access stage operand fetch stage (F stage) also has a large processing time.
Divided into two. One is the micro ROM access process, which is particularly called the R stage. The other is operand prefetch processing, especially called OF steady (b). The R stage (end) and the OF stage (2) do not necessarily operate at the same time, but operate independently depending on whether memory access rights can be acquired or not.

Rステージ(至)の処理であるマイクロROMアクセス
処理はRコード卿に対して次のEステージでの実行に使
用する実行、!llaコードであるE:I−ドfを作り
出すためのマイクロROMアクセスとマイクロ命令デコ
ード処理である。1つのRコード■に対する処理が2つ
以上のマイクロプログラムステップに分解゛される場さ
、マイクロROMはにステージ(至)で1史用され、久
のRコード−はマイクロROMアクセス待ちになる。
The micro ROM access process, which is the process of the R stage (up to), executes the R code to be used for execution in the next E stage. These are micro ROM access and micro instruction decoding processing to create E:I-do f, which is the lla code. When processing for one R code (2) is decomposed into two or more microprogram steps, the micro ROM is used for one time at the second stage, and the older R code waits for access to the micro ROM.

RコーgHに対するマイクロROMアクセスが行われる
のはその前のEステージ(至)での最後のマイクロ命令
実行の時である。本発明のデータ処理装置ではほとんど
の基本命令はlマイクロプログラムステップで行われる
ため実際にはRコード−に対するマイクロROMアクセ
スが次々と行われることが多い。
Micro ROM access to R code gH is performed at the time of execution of the last micro instruction in the previous E stage. In the data processing device of the present invention, most of the basic instructions are executed in one microprogram step, so in reality, micro ROM accesses to the R code are often executed one after another.

Rステージ(至)で析たに検出するE工Tflない。There is no E-engine Tfl that can be detected in the analysis at the R stage (end).

Rコード−が防音処理再実行型のEITを示していると
きはそのE工T熱押に対するマイクロプログラムが実行
されるのでRステージ(至)はそのRコード鵠に従った
マイクロ命令をフェッチする。Rコード祷が奇数アドレ
スジャンプトラップを示しているときRステージ(至)
はそれ1kEコード四に伝える。これはプリブランチに
対するもので、Zステージ(至)ではそのEコード■で
分岐が生じなければそのプリブランチを有効として奇数
アドレスジャンプトラップを発生する。
When the R code indicates a soundproofing process re-execution type EIT, the microprogram for that E/T heat press is executed, so the R stage (to) fetches the microinstruction according to the R code. R stage (to) when the R code indicates an odd address jump trap
It tells 1kE code 4. This is for a pre-branch, and if a branch does not occur at the E code (2) at the Z stage (end), the pre-branch is made valid and an odd address jump trap is generated.

(81,5)オペランドフェッチステージオペランドフ
ェッチステージ(OFステデー@)ハFステージ(財)
で行う上記の2つの処理のうちオペランドプリフェッチ
処mk行う◇ オペランドプリフェッチけ?コード■を入力とし、フェ
ッチしたオペランドとそのアドレスIsコード−として
出力する。1つのFコード−でけワーF境界に関わらず
4バイト以下のオペランドフェッチを指定する。Fコー
)′■にはオペランドのアクセスを行うかどうかの指定
も含まれておQ、AステージQで計算したオペランドア
ドレス自体や即値をEステージ(至)に転送する場合に
はオペランドプリフェッチは行わず、FコーIニーの内
容をSコード■として転送する。プリフェッチしようと
するオペランドとEステージ(7)が書き込み処理を行
おうとするオペランドが一致するときは、オペランドプ
リフェッチはメモリから行わず、バイパスして行なう。
(81,5) Operand Fetch Stage Operand Fetch Stage (OF Steady@) HaF Stage (Foundation)
Of the above two processes performed in , perform operand prefetch processing mk ◇ Operand prefetch? It takes the code ■ as input and outputs the fetched operand and its address as the Is code. One F code - specifies an operand fetch of 4 bytes or less regardless of the decoder F boundary. F code)'■ also includes the specification of whether or not to access the operand.Q, when transferring the operand address itself or immediate value calculated in A stage Q to E stage (to), operand prefetch is not performed. First, the contents of F code I are transferred as S code ■. When the operand to be prefetched and the operand to be written by the E stage (7) match, the operand prefetch is not performed from the memory, but is performed by bypass.

またVO領領域対してはオペランドプリフェッチを遅延
させ、先行命令がすべて完了する萱で待ってオペランド
フェッチを行う。
Further, for the VO area, operand prefetch is delayed, and operand fetch is performed after all preceding instructions are completed.

OFステデー(至)で検出するE工T11−jパスアク
セス例外、アドレス変換例外、オペランドプリフェッチ
に対するブレイクポイントヒツトによるデバッグトラッ
プがある。?コード(財)がデバッグトラップ以外のE
工Ti示しているときはそれを日コードに)に転送し、
オペランドプリフェッチは行わない。Fコーr14がデ
バッグトラップを示しているときはそのFコード■に対
してSコード(7)を転送し、オペランドフェッチを行
わないと共にデバッグトラップをCコード■に伝える。
There are debug traps caused by a breakpoint hit for an E/T11-j path access exception, an address translation exception, and an operand prefetch that are detected in the OF steady state. ? E where the code (goods) is other than debug traps
When the code is displayed, transfer it to the day code),
Operand prefetch is not performed. When the F code r14 indicates a debug trap, the S code (7) is transferred to the F code (■), no operand fetch is performed, and the debug trap is transmitted to the C code (■).

(8,2,8)実行ステージ 実行ステージ(Eステージ(至))けEコード−1Sコ
−yH2人力として動作する。このEステージ(至)が
命令を実行するステージであり、Fステージ■以前にス
テージで行われた処理はすべてにステージ(至)のため
の前姻理である。Eステージ(至)でジャンプ命令が実
行されたり、PIT処理が起動されたシしたときは、I
Fステデー61〜Fステージ−までの処理はすべて無効
化される。Eステージ(至)はマイクロプログラムによ
り制御され、Rコード四に示されたマイクロプログラム
のエントリ番地からの一連のマイクロプログラムを実行
することにより命令を実行する。
(8, 2, 8) Execution stage Execution stage (to E stage) E code-1S code-yH2 Operates manually. This E stage (up to) is the stage for executing instructions, and all processes performed in the stages before F stage (2) are prerequisites for stage (up to). When a jump instruction is executed or PIT processing is started at the E stage (toward), the I
All processes from F stage 61 to F stage are invalidated. The E stage (to) is controlled by a microprogram and executes instructions by executing a series of microprograms starting from the microprogram entry address indicated by R code 4.

マイクロROMの読み出しとマイクロ命令の実行はパイ
プライン化されて行われる。従ってマイクロプログラム
で分岐が起きたときは1マイクロステツプの空きができ
る。また、Eステージ(至)はデータ演算部協にあるス
トアバッファを利用して、4バイト以内のオペランドス
トアと次のマイクロ命令実行ケバイブライン処理するこ
ともできる。
Reading of the micro ROM and execution of micro instructions are performed in a pipelined manner. Therefore, when a branch occurs in a microprogram, one microstep becomes available. Furthermore, the E stage (toward) can also store operands within 4 bytes and process the next microinstruction execution key line by using the store buffer in the data operation section.

Eステージ(至)でIr1kステージaで行ったレジス
タやメモリに対する書き込み予約をオペランド書き込み
の後、解除する。
At the E stage (end), the write reservation for the registers and memory made at the Ir1k stage a is canceled after the operand is written.

また条件分岐命令がEステージ(至)で分岐を起こした
ときはその条件分岐命令に対する分岐予測が誤っていた
のであるから分岐履歴の書換えを行う。
Furthermore, when a conditional branch instruction causes a branch at the E stage (end), the branch prediction for that conditional branch instruction was incorrect, so the branch history is rewritten.

Eステージ(至)で検出されるE工Tに汀バスアクセス
例外、アドレス変換例外、デバッグトラップ、奇数アド
レスジャンプトラップ、予約機能例外、不正オペランド
列外、予約スタックフォーマット例外、ゼロ除算トラッ
プ、無条件トラップ、条件トラップ、遅延コンテキスト
トラップ、外部割込、遅延割込、リセット割込、システ
ム障害がある。
Bus access exception, address conversion exception, debug trap, odd address jump trap, reserved function exception, invalid operand outside column, reserved stack format exception, division by zero trap, unconditional There are traps, condition traps, delayed context traps, external interrupts, delayed interrupts, reset interrupts, and system failures.

Eステージ(至)で検出されたEiITけすべてコニT
処理これるがEステージ以前のIFステデー0n−Fス
テージ(ロ)の闇で検出されたRコード脅やSコード(
至)に反映されているE工Tは必ずE工T処理されると
は限らない。IFステデー61〜Fステージ(至)の間
で検出したが、先行のジャンプ命令かにステージ(至)
で実行されたなどの原因でEステージ(至)まで到達し
なかったFli r T、’はすべてキャンセルされる
。そのKITi起こした命令はそもそも実行ζnなかつ
たことになる。
All EiITs detected at E stage (end)
Processing is the R code threat and S code (
The E-technical process reflected in (to) is not necessarily processed as an E-technical process. Detected between IF status 61 and F stage (to), but the preceding jump instruction or stage (to)
All Fli r T,' that did not reach the E stage (toward) due to reasons such as execution were canceled. This means that the instruction that caused KITi was never executed in the first place.

外部割込や遅延割込は防音の切れ目にEステージ(至)
で直接受は付けられ、マイクロプログラムにより必要な
処理が実行される。その他の各種E工Tも処理はマイク
ロプログラムにより行われる。
External interrupts and delayed interrupts are placed at the E stage (up to) at the end of the soundproofing.
Direct reception is made, and the necessary processing is executed by the microprogram. Processing of other various types of E/T is also performed by microprograms.

(8,8>各パイプラインステージの状態制御パイプラ
インの各ステージに入力ラッテと出力ラッチを持ち、他
のステージとは独立に動作することを基本とする。各ス
テージtri1つ前に行った処理が終わり、その処理結
果を出力ラッチから次のステージの入力ラッチに転送し
、自分のステージの入力ラッチに次の処理に必要な入力
信号がすべてそろえば次の処理?開始する。
(8, 8> State control of each pipeline stage Each stage of the pipeline has an input latch and an output latch, and basically operates independently from other stages.The processing performed one stage before each stage tri Once completed, the processing result is transferred from the output latch to the input latch of the next stage, and when the input latch of the own stage has all the input signals necessary for the next process, the next process starts.

つまり、各ステージは、1つ両段のステージから出力さ
れてくる次の処理に対する入力信号がすべて有効となり
、今の処理結果を後段のステージの入力ラッチに転送し
て出力ラッチが空になると次の処理を開始する。
In other words, in each stage, all input signals for the next processing output from one or both stages are valid, and when the current processing result is transferred to the input latch of the subsequent stage and the output latch becomes empty, the next start processing.

各ステージが動作?開始する1つ前のクロックタイミン
グで入力信号がすべてそろっている必要がある。入力信
号がそろ:つていないと、そのステージは待ち状態(入
力待ち)に、なる。出力ラッチから次のステージの入力
ラッチへの転送を行うときは次のステージの入力ラッチ
が空き状態になっている必要があり、次のステージの入
力ランチが空きでない場合もパイプラインステージは待
ち秋期(出力待ち)になる。必要なメモリアクセス権が
獲得できなかったり、処理しているメモリアクセスにウ
ェイトが挿入されたり、その他のパイプラインコンフリ
クトが生じると、各ステージの処理自体が遅延する。
Does each stage work? All input signals must be available at one clock timing before starting. If the input signal is not ready, the stage goes into a waiting state (waiting for input). When transferring from the output latch to the input latch of the next stage, the input latch of the next stage must be in an empty state, and even if the input latch of the next stage is not empty, the pipeline stage will wait until the fall. (Waiting for output). If the necessary memory access rights cannot be obtained, if a wait is inserted into the memory access being processed, or if other pipeline conflicts occur, the processing itself at each stage will be delayed.

141  分岐を伴う命令の実行 本発明のデータ処理装置のパイプライン処理における実
行ステージでのジャンプなど別画の移行を伴う命令の実
行を131での記述に沿って詳しく説明する。この命令
には飛び先アドレスを任意のアドレッシングモードで指
定するジャンプ命令(、TMP命令)、ジャンプ先アド
レスを外部メモリから読み込む必要のあるサブルーチン
リターン命令(RTB命令)、プロセッサの状態を変更
する命令(LDC命令)が含まれる。
141 Execution of Instructions with Branches Execution of instructions with transitions from one stage to another, such as a jump in the execution stage, in the pipeline processing of the data processing device of the present invention will be described in detail in accordance with the description in 131. These instructions include a jump instruction (, TMP instruction) that specifies the jump destination address in any addressing mode, a subroutine return instruction (RTB instruction) that requires reading the jump destination address from external memory, and an instruction that changes the state of the processor ( LDC command) is included.

第8g図はJM?命令のビットパターンを示す。Is figure 8g JM? Indicates the bit pattern of the instruction.

先頭の1byteで命令の種類が判明し1次の1byt
eで命令に使用されているアドレッシングモードの種類
が判明する。この命令では(1,4)で述べた全てのア
ドレッシングモードを使用することが可能であるため、
使用したアドレッシングモード毎に命令長が無なる。飛
び先アドレスの指定が(1,4,1)で述べた基本アド
レッシングモードのうち、レジスタ間接、スタックポツ
プ、スタックブツシュのうちいずれかのモーrで指定さ
れた場合、命令長4’byte、即値、絶対、pc柑対
間接それぞれのディスプレースメントが16bitであ
った場合、命令長7141flbyte 。
The type of instruction is determined from the first 1 byte, and the first 1 byte
The type of addressing mode used in the instruction is determined by e. This instruction can use all addressing modes mentioned in (1, 4), so
The instruction length becomes zero for each addressing mode used. If the jump destination address is specified in one of the basic addressing modes described in (1, 4, 1), register indirect, stack pop, or stack bush, the instruction length is 4'byte, immediate value. , absolute, and indirect displacements are 16 bits, the instruction length is 7141 flbytes.

同様にディスプレースメントが82t)itであった場
合、命令長は5byteである。飛び先アドレスが(1
,,4,2)で述べた多段間接モードで指定されている
場合、多段間接参照を何回行うかにより命令長が異なる
Similarly, if the displacement is 82t)it, the instruction length is 5 bytes. The destination address is (1
, , 4, and 2), the instruction length differs depending on how many times the multi-stage indirect reference is performed.

第88図vc、7 M P命令の動作ゲフローチャート
で示す。命令デコード終了後、第82図−で示したアド
レッシングモードに応じて飛び先アドレスの計算ftA
ステージで行い、その計算結果に基づいてEステージで
ジャンプに%行する。アドレッシングモーFが多段間接
モーFであった場合、多段間接が終了するまでアドレス
計算は繰シ返される。
FIG. 88 is a flowchart showing the operation of the 7 MP instruction. After the instruction decoding is completed, the jump destination address is calculated according to the addressing mode shown in FIG.
Stage, and based on the calculation result, jump at E stage. If the addressing mode F is a multi-stage indirect mode F, address calculation is repeated until the multi-stage indirection is completed.

第34図1/(RT8命令のビットパターンを示す。こ
の命令は必ず2b)rte命令である。第35図に命令
の動作全示す。命令デコーF後、I!!ステージでその
ときのスタックトップをフェッチし、その内容が示す飛
び先アドレスヘジャンプする。
FIG. 34 shows the bit pattern of the 1/(RT8 instruction. This instruction is always the 2b) rte instruction. FIG. 35 shows the entire operation of the command. After instruction decoding F, I! ! Fetch the current stack top on the stage and jump to the destination address indicated by its contents.

第36図に第1オペランド1EaAで指定するLDC命
令■、第87図K L D C命令■のビットパターン
を示す。これらの命令は直接分岐を行う命令ではないが
、データ処理装置の状態を変化させるため、後続の命令
がパイプライン中に取り体重れ、一部の処理が実行され
ているのを無効にする必要がある。これI−i制御レジ
スタを碍き換えることにより、先行処理として実行され
た処理の前提条件が変化する可能性があるからである。
FIG. 36 shows the bit patterns of the LDC instruction (2) specified by the first operand 1EaA, and the bit pattern of the KLDC instruction (2) in FIG. 87. Although these instructions do not directly branch, they do change the state of the data processing unit, so subsequent instructions are carried over in the pipeline and some processing needs to be overridden. There is. This is because changing the I-i control register may change the preconditions of the process executed as the preceding process.

この前提条件にはリング保護の条件や110領域の指定
変更などが含まれる。
These preconditions include conditions for ring protection, changes in the designation of the 110 area, and the like.

この命令の実行によってパイプライン処理に支障をきた
す場合の処理をリング保護条件の変化を例にとって説明
する。
Processing when execution of this instruction causes a problem in pipeline processing will be described using a change in ring protection conditions as an example.

7日w2変更するLDC命令が実行されるとき、続く命
令がリング保a例外を起すようなオペランドフェッチ?
伴う命令であった七する。
7. When an LDC instruction that changes w2 is executed, is the operand fetch such that the following instruction causes a ring protection a exception?
The accompanying command was seven.

第2図に示したパイプライン上にLDC命令が入力され
たとき、実行ステージにLDC紡令防音すステップコー
ドが進むと同時に:F’ステーデーに入力された次命令
のステップコードによりオペランドのプリフェッチが開
始される。プリフェッチの開始時点ではPSW内のリン
グ保護の指定フィールドがリング保1g!をしない状態
であるため、プリフェッチは実行されてしまう。
When an LDC instruction is input on the pipeline shown in Figure 2, at the same time as the LDC instruction step code advances to the execution stage: Prefetching of the operand is performed by the step code of the next instruction input to the F' stage. will be started. At the start of prefetch, the ring protection designation field in the PSW is ring protection 1g! Since the prefetch is not executed, the prefetch is executed.

LDC命令の実行が終了するとpsw内のリング保護の
指定フィールドがリング保atする状態になっているの
で、本来、次の命令のオペランドプリフェッチはエラー
として扱われるべきである。しかし、オペランドプリフ
ェッチの時点でエラーかどうかを判断できないので、こ
のままではエラーは検出されず、不適当なアクセスが実
行されたままになってしまう。そこでDステージ(至)
でLDC命令がデコーVされると、1それ以降の命令の
処理をIFステデー(ロ)、Dステージ(至)で行わな
いようにすることにより、続く命令に含まれる不適当な
アクセスが行われることはなくなる。さらにLDC命令
の処理の一部トシて別画レジスタへのデータ転送が終了
後に次の命令へ分岐することにより、パイプラインの初
期化を行う機能を加える。こうすることでLDC命令正
当に処理することができる。
When the execution of the LDC instruction is completed, the ring protection designation field in the psw is in a state where the ring is protected, so the operand prefetch of the next instruction should originally be treated as an error. However, since it is not possible to determine whether an error has occurred at the time of operand prefetching, the error will not be detected and the inappropriate access will continue to be executed. So D stage (towards)
When an LDC instruction is decoded in V, inappropriate accesses included in the following instructions are performed by not processing instructions after 1 in the IF stage (B) and D stage (To). That will no longer be the case. Furthermore, a function is added to initialize the pipeline by branching to the next instruction after the completion of data transfer to the separate register as part of the processing of the LDC instruction. By doing this, the LDC command can be processed correctly.

第38図[鷹1オペランドをコaAで指定するLDC命
令■の動作金示す。命令デコード後。
FIG. 38 shows the operation of the LDC instruction (2) which specifies the first operand in core aA. After instruction decoding.

ンースオペランドのアドレス計算Th(t、4)で述べ
たようにAステージで行い、?ステージでオペランドを
プリフェッチする。これと並行してディスティネーショ
ンアドレスの計算を行う。
Address calculation of the first operand is performed in the A stage as described in Th(t, 4), and ? Prefetch operands on stage. In parallel with this, the destination address is calculated.

フェッチしたオペランドHzステージにおhてAステー
ジで計算したディスティネーションアドレスに指定され
ているl1ldllレジスタへ転送される。転送槽1次
の命令への分岐を実行することによりパイプラインの初
期化を行う。
The fetched operand is transferred at the Hz stage to the l1ldll register designated by the destination address calculated at the A stage. The pipeline is initialized by executing a branch to the next instruction in the transfer tank.

151 mに第39図において、第1オペランドがlb
ytelpmであるようなLDC命令■の動作を示す。
At 151 m, in Figure 39, the first operand is lb.
The operation of the LDC instruction ■, which is ytelpm, is shown.

命令デコード後、ンースオペランドとなる即値データを
リテラルとして元ステージに送る。続いてAステージで
ディスティネーションのアドレス計算を行い、指定され
たアドレスが示す制御レジスタに、先に送っておいた即
値が転送される。転送後、次の命令への分岐全実行する
ことによりパイプラインの初期化を行う。
After the instruction is decoded, the immediate data that becomes the second operand is sent to the original stage as a literal. Subsequently, the destination address is calculated in the A stage, and the immediate value sent earlier is transferred to the control register indicated by the specified address. After the transfer, the pipeline is initialized by fully executing the branch to the next instruction.

a1図に本発明によるデータ処理装置IFステージとD
ステージのブロック図を示す。
Figure a1 shows the data processing device IF stage according to the present invention and D
A block diagram of the stage is shown.

図中…は命令キュー、(2!は命令フェッチ用プログラ
ムカウンタ%(31はIIFステージ制御回路、141
は命令デコーダ、 、61はDステージ別個回路、(6
1は工Fステージ停止信号、(7)はEステージによる
パイプライン初期化信号、(8)はデコード停止命令検
出信号、(9)は命令終了信号、110+はアクセス要
求信号である。
In the figure... is the instruction queue, (2! is the instruction fetch program counter % (31 is the IIF stage control circuit, 141 is the instruction fetch program counter %)
is an instruction decoder, , 61 is a D stage separate circuit, (6
1 is an engineering F stage stop signal, (7) is a pipeline initialization signal by the E stage, (8) is a decode stop instruction detection signal, (9) is an instruction end signal, and 110+ is an access request signal.

命令フェッチステージ(工FステージC11))から命
令キューIll 51:介して命令デコードステージ(
Dステージ(至))の命令デコーダ14+に分岐やジャ
ンプを伴う命令が送られて、デコーVの結果、Eステー
ジで分岐やジャンプをする命令であることが判明したな
らば、命令デコーダからDステージ制−回路+61ヘデ
コ一ド停止命令検出信号(8)が送られ、命令全体が完
全に命令デコーダ14)に取り込まれたことを命令終了
信号(9)により確認して、DステージからIPステデ
ーに命令フェッチのアクセス*求tap止める事r示す
IPステデー停止信号(61ケ送る。さらにDステージ
自身も分岐やジャンプを伴う命令のステップコードt−
Aステージへ送った後、動作を停止する。これらの命令
では飛び先アドレス1k(1゜鴫、2)で述べた多段間
接アドレッシングモードによって指定される可能性があ
るため、命令全体が完全に命令デコーダ+41に取り込
まれたこ七を確認するまで工1ステージの命令プリフェ
ッチは停止させることはできない。命令プリフェッチV
ie令フエツチ用プログラムカウンタ(21の示スアド
レスのメモリをアクセスするため、工Fスデージl11
m回路131からアクセス要求信号(10)が出力され
る。デコーFの結果、Zステージでの分岐やジャンプを
含む命令が多段間接アドレッシングモードを使用するこ
とが判明したならば、Dステージ1llal路1)はデ
コード停止命令検出信号(8)に加えて多段間接アドレ
ッシングモード指定の最終部分であることを命令終了信
号(9)により確認して工Fステージ停止信号(61ヲ
出力する。
From the instruction fetch stage (F stage C11) to the instruction queue Ill 51: via the instruction decode stage (
If an instruction that involves a branch or jump is sent to the instruction decoder 14+ in the D stage (toward), and as a result of decoding V it is found that the instruction is an instruction that causes a branch or jump in the E stage, the instruction decoder sends the instruction to the D stage. A decoding stop command detection signal (8) is sent to the control circuit +61, and it is confirmed by the command end signal (9) that the entire command has been completely taken in by the command decoder 14), and the D stage changes to the IP stage. Send an IP steady stop signal (61 signals) indicating that instruction fetch access *request tap is stopped.Furthermore, the D stage itself also outputs step codes t- for instructions that involve branches or jumps.
After sending it to the A stage, the operation is stopped. These instructions may be specified by the multi-stage indirect addressing mode mentioned in the jump address 1k (1°, 2), so the processing will not proceed until it is confirmed that the entire instruction has been completely captured in the instruction decoder +41. One stage of instruction prefetch cannot be stopped. Instruction prefetch V
IE instruction fetch program counter (to access the memory at address 21,
An access request signal (10) is output from the m circuit 131. As a result of decoding F, if it is found that an instruction including a branch or jump in the Z stage uses the multi-stage indirect addressing mode, the D stage 1llal path 1) sends the multi-stage indirect addressing mode in addition to the decoding stop instruction detection signal (8). After confirming that this is the final part of the addressing mode designation using the command end signal (9), the machine F stage stop signal (61) is output.

2段の多段間接参照セードを使用するJup命令の例?
第40図に示し、これにつhて具体的に説明する。礪4
0図でFi、TMP拵令I−i飛び先アドレスを2段の
多段間接参照で指定している。2段目の多段間接では拡
張部として16t)itのディスプレースメントを持つ
。この命令がフェッチされ、最初の2byte  がD
ステージでデコードされると、Eステージ分岐命令検出
信号(81が出力されEステージでジャンプする命令で
あることが判明する。アドレッシングのモードの指定【
より多段間接参照であることが判明するので、Dステー
ジは次の2byte f命令キ子−から入力する。計算
はAステージで行われるため、デコーF結果iDステー
ジからAステージ【送る。この2byteでは多段間接
参照は終了していないので、新らた【命令キューから5
byteを入力する。このgbyteデコーFして1段
目と同様の処理をする。念だし、2段目のデコードによ
り多段間接参照が終了することと16t)itのディス
プレイスメント會とることが判明する。Dステージはデ
ィスプレースメントを入力するために次のi’byte
を命令キューか入力し、入力を確認して結合終了信号(
9)を出力する。先[1ステ一ジ分岐命令検出信号18
)が検出されているので、Dステージは命令終了信号(
9)によりエフステージ停止信号(6)r出力する。
An example of a Jup instruction that uses a two-stage multi-stage indirect reference shade?
This is shown in FIG. 40, and will be specifically explained.礪4
In Figure 0, the jump destination address of Fi and TMP command I-i is specified by two-stage multi-stage indirect reference. The second stage multi-stage indirection has a displacement of 16t)it as an extension part. This instruction is fetched and the first 2 bytes are D
When decoded at the stage, the E stage branch instruction detection signal (81) is output, indicating that the instruction is to jump at the E stage. Specifying the addressing mode [
Since it is clear that this is a multi-stage indirect reference, the D stage is input from the next 2-byte f instruction key. Since the calculation is performed in the A stage, the decoding F result is sent from the iD stage to the A stage. Since the multi-stage indirect reference has not ended in these 2 bytes, the new [5 from the instruction queue]
Enter byte. This Gbyte is decoded F and the same processing as in the first stage is performed. As a reminder, it becomes clear that the multi-stage indirect reference is completed by the second-stage decoding, and that a displacement meeting of 16t)it occurs. The D stage inputs the next i'byte to input the displacement.
input from the instruction queue, check the input, and send the join end signal (
9) is output. Destination [1 stage branch instruction detection signal 18
) has been detected, the D stage outputs the instruction end signal (
9) outputs the F-stage stop signal (6)r.

これ以降、エフステージは命令のプリフェッチを停止し
、DステージもディスプレースメントをAステージへ送
った後は動作を停止する。
After this, the F stage stops prefetching instructions, and the D stage also stops operating after sending the displacement to the A stage.

これにより分岐を伴う命令に続く命令はDステージで処
理されることはなく、エフステージとDステージは分岐
やジャンプの実行によってパイプライン機構が初期化さ
れるまで、すなわち鷺ステージによるパイプライン初期
化信号+71が有効になるまで停止し、分岐やジャンプ
を伴う命令以降に含まれる無駄なアクセス要求は出され
なくなる。
As a result, instructions following an instruction that involves a branch are not processed in the D stage, and the F stage and D stage are used until the pipeline mechanism is initialized by executing a branch or jump, that is, the pipeline is initialized by the Heron stage. The process is stopped until the signal +71 becomes valid, and useless access requests included after instructions involving branches and jumps are no longer issued.

本発明のデータ処理装置で分岐やジャンプ命令がフェッ
チされ、実行される様子を外部パスの動作を含めた形で
第3図に示す。
FIG. 3 shows how a branch or jump instruction is fetched and executed in the data processing device of the present invention, including the operation of the external path.

第3図では命令3がジャンプ命令である。命令3がDス
テージでデコードされるとそれに続く命令のプリフェッ
チ、デコード処理は行われない。命令3がEステージで
実行されると、新たに命令7がエフステージ(至)から
処理される。
In FIG. 3, instruction 3 is a jump instruction. When instruction 3 is decoded in the D stage, prefetching and decoding of subsequent instructions are not performed. When instruction 3 is executed in the E stage, instruction 7 is newly processed from the F stage.

命令3がEステージ(2)で実行されるまでにジャンプ
により無駄となるアク:セスは実行されない。
Until instruction 3 is executed in the E stage (2), no accesses will be wasted due to the jump.

命令7の処理再開時は命令3の実行終了時にジャンプ先
である命令7が格納されているアドレスがエフステージ
C3pに送られ、それと同時に停止しているエフステー
ジ、Dステージの動作を再開する信号を送る。Aステー
ジ、?ステ、−ジ汀ステップコーFが入力されない状態
で停止しているため、エフステージは送られたアドレス
に対する命令フェッチを開始し、それ以降パイプライン
は通常通りの動作を再開する口〔発明の効果〕 以上のように、この発明によれば命令パイプライン処理
を行うデータ処理装置において、必ず実行ステージで分
岐やジャンプを起す命令やプロセッサの状WI4″f:
命令が入力された後、無駄になる命令フェッチ、デコー
ドを行わない。それによって、外部パスを有効に利用し
、効率のよい処理を実行することができる。
When the processing of instruction 7 is restarted, the address where instruction 7, which is the jump destination, is stored is sent to F-stage C3p when execution of instruction 3 ends, and at the same time, a signal is sent to restart the stopped F-stage and D-stage operations. send. A stage? Since the step code F is stopped without being input, the F stage starts fetching the instruction for the sent address, and the pipeline resumes normal operation from then on. ] As described above, according to the present invention, in a data processing device that performs instruction pipeline processing, instructions that always cause a branch or jump in the execution stage or the state of the processor WI4''f:
After an instruction is input, no wasted instruction fetch or decoding is performed. This makes it possible to effectively utilize external paths and perform efficient processing.

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

第1図は、この発明の一実施例のデータ処理装置におけ
る命令フェッチステージと命令デコードステージの構成
を示すブロック図である。 第2図は本発明のデータ処理装置におけるパイプライン
処理機構の例を示す図、第8図は本発明のパイプライン
機構でのジャンプ命令を含むプログラムでの命令実行概
念図。第令図は本発明のデータ処理装置における命令フ
ォーマットの記述例を示す図、第5図は、メモリーレジ
スタ間演算命令のフォーマットを示す図、第6図はレジ
スターレジスタ間演算命令のフォーマットを示す図、第
7図はリテラル−メモリ間演算命令のフォーマットを示
す図、第8図は即([−メモリ間演算命令のフォーマッ
トを示す図、第9図はlオペランド防音の一膜形フオー
マット?示す図、410図は2オペランド命令で第一オ
ペランドがメモリ続出しを必要とする命令のフォーマツ
)を示す図、第11図は8オペランド命令で第一オペラ
ンドが8bit卸値の命令フォーマットを示す図、第1
2図Vi2オペランド命令での男−オペランドがアドレ
ス計算のみの命令の7オマツトを示す図、第13図はシ
ョートブランチ結合のフォーマットを示す図、第14図
はレジスタ11接モードを示す図、第15図はレジスタ
間接モードを示す図、第16図はレジスタ相対間接モー
ド金示す図、第17図は即値モー)″を示す図、第18
図は絶対モードを示す図、第19図はPC相対間接モー
ドを示す図、第20図はスタックポツプモード全示す図
、第21図はスタックブツシュモード?示す図、第22
図はレジスタベース多段間接モードを示す図、第23図
はPOペース多段間接モー#:を示す図、第24図は絶
対ベース多段間接モーv2示す図、第25図は拡張する
多段間接モードを示す図、第B6図は多段間接モードが
継続する場合のビットパターンを示す図、第27図は多
段間接モード終了する場合のビットパターン2示す図、
第g8図は本発明のデータ処f#I装置のブロック図、
第29図は本発明のデータ処理装置の基本的命令フォー
マットをホ丁図、第80図は従来のデータ処理装置にお
けるパイプライン処理機構の例を示す図、第81図は従
来のパイプライン機構でのジャンプ命令を含むプログラ
ムでの命令実行概念図、第8g図は本発明におけるジャ
ンプ命令のビットパターンを示す図、第88図はジャン
プ命令の動作を示す70−チャート、第84図は本発明
におけるサブルーチンリターン命令のビットパターンケ
示す図、第35図はサブルーチンリターン命令の動作を
示すフローチャ・−ト、第36図は本発明における第一
オペランドを一膜形アドレッシングモードで指定する制
御レジスタロード命令のビットパターンを示す図、第8
7図は本発明における第一オペランドが8bit即値の
!′lIaレジスタロード命令のビットパターンを示す
図、第38図は第一オペランドを一膜形アドレッシング
モードで指定する制御レジスタロード命令の動作を示す
フローチャート、第89・図は第一オペランドが81)
it即値の制御レジスタロード命令の動作1に示すフロ
ーチャート、第40図は本発明における8段の多段間接
参照モードを使用するジ様グαグラムカクンタ、 +3
1は工Fステージ制御回路、141は命令デコーダ、・
51はDステージ制副回路、(B)は工?ステージ停止
信号、(7)はEステージによるパイプライン初期化信
号、(81はデコード停止命令検出信号、(9)は命令
終了信号、 Hotd7クセス要求信号、C11)は命
令フェッチステージ、C(3は命令デコードステージ、
g3はオペランドアドレス計算ステージ、鱒はオペラン
ドフェッチステージ、G35は命令実行ステージ、(至
)はRステージ、@はOFステデー、@ババスインター
フェイス回路、(6)はDコード、@2はAコード、−
はRコード、14はFコーF%■はEコード、■は8コ
ーF、15+1は合金フェッチ部、 、−121は命令
デコード部、嗜はPC計算部、胸はオペランドアドレス
計算部、暢はマイクClROM部、−夕処理装置におけ
る命令フェッチステージ、鉤は従来のデータ処理装置に
おける命令デコードステージ、關は従来のデータ処理装
置におけるオペランドアドレス計算ステージ、81;l
:従来のデータ処理装置におけるオペランドフェッチス
テージ、鴫は従来のデータ処f!#装置における命令実
行ステージ、田は従来のデータ処理装置におけるパスイ
ンターフェイス回路である。
FIG. 1 is a block diagram showing the configuration of an instruction fetch stage and an instruction decode stage in a data processing device according to an embodiment of the present invention. FIG. 2 is a diagram showing an example of a pipeline processing mechanism in a data processing device of the present invention, and FIG. 8 is a conceptual diagram of instruction execution in a program including a jump instruction in the pipeline mechanism of the present invention. FIG. 5 is a diagram showing a description example of an instruction format in the data processing device of the present invention, FIG. 5 is a diagram showing a format of an operation instruction between memory registers, and FIG. 6 is a diagram showing a format of an operation instruction between registers. , FIG. 7 is a diagram showing the format of a literal-memory operation instruction, FIG. 8 is a diagram showing the format of a literal-memory operation instruction, and FIG. 9 is a diagram showing the l-operand soundproof monolayer format? , 410 is a diagram showing the format of an instruction in which the first operand is a 2-operand instruction and requires memory access, and Figure 11 is a diagram showing the instruction format in which the first operand is an 8-bit wholesale value in an 8-operand instruction.
Figure 2: Male-operand in 2-operand instruction - A diagram showing the 7th option of an instruction where the operand is only address calculation, Figure 13 is a diagram showing the format of short branch combination, Figure 14 is a diagram showing the register 11 contact mode, Figure 15 Figure 16 shows the register indirect mode, Figure 17 shows the register relative indirect mode, Figure 17 shows the immediate value mode, and Figure 18 shows the register relative indirect mode.
Figure 19 shows the absolute mode, Figure 19 shows the PC relative indirect mode, Figure 20 shows all the stack pop modes, and Figure 21 shows the stack button mode. Figure 22
The figure shows the register-based multi-stage indirect mode, Fig. 23 shows the PO pace multi-stage indirect mode #:, Fig. 24 shows the absolute-based multi-stage indirect mode v2, and Fig. 25 shows the expanded multi-stage indirect mode. Figure B6 is a diagram showing the bit pattern when the multi-stage indirect mode continues, and Figure 27 is a diagram showing the bit pattern 2 when the multi-stage indirect mode ends.
FIG. g8 is a block diagram of the data processing f#I device of the present invention,
FIG. 29 is a diagram showing the basic instruction format of the data processing device of the present invention, FIG. 80 is a diagram showing an example of a pipeline processing mechanism in a conventional data processing device, and FIG. 81 is a diagram showing an example of a pipeline processing mechanism in a conventional data processing device. FIG. 8g is a diagram showing the bit pattern of the jump instruction in the present invention, FIG. 88 is a 70-chart showing the operation of the jump instruction, and FIG. FIG. 35 is a flowchart showing the operation of the subroutine return instruction; FIG. 36 is a diagram showing the bit pattern of the subroutine return instruction; FIG. 36 is a flowchart showing the operation of the subroutine return instruction; FIG. Diagram showing bit pattern, No. 8
Figure 7 shows that the first operand in the present invention is an 8-bit immediate value! Figure 38 is a flowchart showing the operation of a control register load instruction that specifies the first operand in single-layer addressing mode; Figure 89 shows the bit pattern of the register load instruction 'lIa; Figure 89 shows the first operand is 81)
The flowchart shown in Operation 1 of the it immediate value control register load instruction, FIG.
1 is an engineering F stage control circuit, 141 is an instruction decoder,
51 is the D stage system subcircuit, (B) is the engineering? Stage stop signal, (7) is pipeline initialization signal by E stage, (81 is decode stop instruction detection signal, (9) is instruction end signal, Hotd7 access request signal, C11) is instruction fetch stage, C (3 is instruction decode stage,
g3 is the operand address calculation stage, trout is the operand fetch stage, G35 is the instruction execution stage, (to) is the R stage, @ is the OF status, @babus interface circuit, (6) is the D code, @2 is the A code, -
is the R code, 14 is the F code, F%■ is the E code, ■ is the 8 code F, 15+1 is the alloy fetch section, -121 is the instruction decode section, 抉 is the PC calculation section, the chest is the operand address calculation section, and the number is Microphone ClROM section, - instruction fetch stage in a processing device, hook is an instruction decoding stage in a conventional data processing device, connection is an operand address calculation stage in a conventional data processing device, 81;
: The operand fetch stage in a conventional data processing device, and the conventional data processing f! #The instruction execution stage in the device is a path interface circuit in a conventional data processing device.

Claims (2)

【特許請求の範囲】[Claims] (1)命令のフェッチやデータの入出力を行う外部バス
制御機構を備え、 命令のデコードを行う第一のステージと、命令の実行を
行う第二のステージとを含む複数のステージで命令をパ
イプライン処理し、 ジャンプ命令を前記第一のステージで処理したのち命令
のフェッチまたは命令のデコードまたはその両方を一時
停止させる停止処理を行い、前記ジャンプ命令を前記第
二のステージで処理したとき前記ジャンプ命令で指定す
るアドレスの命令にジャンプして前記パイプライン処理
を再開することを特徴とするデータ処理装置。
(1) Equipped with an external bus control mechanism that fetches instructions and inputs/outputs data, and pipes instructions through multiple stages, including a first stage that decodes instructions and a second stage that executes instructions. line processing, and after the jump instruction is processed in the first stage, a stop process is performed to temporarily suspend instruction fetching and/or instruction decoding, and when the jump instruction is processed in the second stage, the jump instruction is processed in the second stage. A data processing device characterized in that the pipeline processing is restarted by jumping to an instruction at an address specified by the instruction.
(2)命令のフェッチやデータの入出力を行う外部バス
制御機構を備え、 命令のデコードを行う第一のステージと、命令の実行を
行う第二のステージとを含む複数のステージで命令をパ
イプライン処理し、 プロセッサステータス変更命令を前記第一のステージで
処理したのち命令のフェッチまたは命令のデコードまた
はその両方を一時停止させる停止処理を行い、前記プロ
セッサステータス変更命令を前記第二のステージで処理
したとき前記プロセッサステータス変更命令の命令アド
レスに引き続く命令アドレスにある命令から前記パイプ
ライン処理を再開させることを特徴とするデータ処理装
置。
(2) Equipped with an external bus control mechanism that fetches instructions and inputs/outputs data, and pipes instructions through multiple stages, including a first stage that decodes instructions and a second stage that executes instructions. line processing, and after the processor status change instruction is processed in the first stage, a stop process is performed to temporarily suspend instruction fetching and/or instruction decoding, and the processor status change instruction is processed in the second stage. When this occurs, the data processing device restarts the pipeline processing from an instruction at an instruction address following the instruction address of the processor status change instruction.
JP9216988A 1988-04-13 1988-04-13 Data processor Pending JPH01263727A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9216988A JPH01263727A (en) 1988-04-13 1988-04-13 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9216988A JPH01263727A (en) 1988-04-13 1988-04-13 Data processor

Publications (1)

Publication Number Publication Date
JPH01263727A true JPH01263727A (en) 1989-10-20

Family

ID=14046930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9216988A Pending JPH01263727A (en) 1988-04-13 1988-04-13 Data processor

Country Status (1)

Country Link
JP (1) JPH01263727A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5136037A (en) * 1974-09-21 1976-03-26 Hitachi Ltd MEMORISEIGYO HOSHIKI
JPS57109055A (en) * 1980-12-26 1982-07-07 Fujitsu Ltd Readout control system for microinstruction
JPS58205258A (en) * 1982-05-24 1983-11-30 Matsushita Electric Ind Co Ltd Data processor
JPS5957348A (en) * 1982-08-26 1984-04-02 Fujitsu Ltd System for inhibiting extraction of instruction and cancellig inhibition in information processor
JPS6074033A (en) * 1983-09-30 1985-04-26 Fujitsu Ltd Instruction readout system
JPS61133439A (en) * 1984-12-04 1986-06-20 Nec Corp Instruction advance fetch control system
JPS61286930A (en) * 1985-06-13 1986-12-17 Fujitsu Ltd Instruction prefetching control system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5136037A (en) * 1974-09-21 1976-03-26 Hitachi Ltd MEMORISEIGYO HOSHIKI
JPS57109055A (en) * 1980-12-26 1982-07-07 Fujitsu Ltd Readout control system for microinstruction
JPS58205258A (en) * 1982-05-24 1983-11-30 Matsushita Electric Ind Co Ltd Data processor
JPS5957348A (en) * 1982-08-26 1984-04-02 Fujitsu Ltd System for inhibiting extraction of instruction and cancellig inhibition in information processor
JPS6074033A (en) * 1983-09-30 1985-04-26 Fujitsu Ltd Instruction readout system
JPS61133439A (en) * 1984-12-04 1986-06-20 Nec Corp Instruction advance fetch control system
JPS61286930A (en) * 1985-06-13 1986-12-17 Fujitsu Ltd Instruction prefetching control system

Similar Documents

Publication Publication Date Title
US5717946A (en) Data processor
US5091853A (en) Chained addressing mode pipelined processor which merges separately decoded parts of a multiple operation instruction
JP2507638B2 (en) Data processing device
JPH02173823A (en) Data processor
JPH081599B2 (en) Data processing device
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
JPH081602B2 (en) Data processing device
JPH0391029A (en) Data processor
JP3345787B2 (en) Data processing device
JP2710994B2 (en) Data processing device
JPH0769806B2 (en) Data processing device
JPH01263727A (en) Data processor
JP2504235B2 (en) Data processing device
JPH04109338A (en) Priority encoder and data processor provided with the encoder
JP2532560B2 (en) Data processing device for high-performance exception handling
JP2522048B2 (en) Microprocessor and data processing device using the same
JPH0769801B2 (en) Data processing device
JPH0769805B2 (en) Data processing device
JP2825315B2 (en) Information processing device
JPH0290325A (en) Data processor
JPH0769802B2 (en) Data processing device
JPH0218621A (en) Data processor
JPH02277130A (en) Microprocessor
JPH01214933A (en) Data processor
JPH01281534A (en) Data processor