JPH01119829A - Register interference preventing method - Google Patents

Register interference preventing method

Info

Publication number
JPH01119829A
JPH01119829A JP62277623A JP27762387A JPH01119829A JP H01119829 A JPH01119829 A JP H01119829A JP 62277623 A JP62277623 A JP 62277623A JP 27762387 A JP27762387 A JP 27762387A JP H01119829 A JPH01119829 A JP H01119829A
Authority
JP
Japan
Prior art keywords
code
register interference
execution code
execution
pipeline
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
JP62277623A
Other languages
Japanese (ja)
Inventor
Osamu Okamoto
理 岡本
Yuji Tanigawa
裕二 谷川
Akiyoshi Wakaya
若谷 彰良
Yasuhiro Nakakura
中倉 康浩
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP62277623A priority Critical patent/JPH01119829A/en
Priority to KR1019890701233A priority patent/KR920003495B1/en
Priority to PCT/JP1988/001111 priority patent/WO1989004518A1/en
Publication of JPH01119829A publication Critical patent/JPH01119829A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Abstract

PURPOSE:To prevent the register interference without increasing a target program by providing a register interference field on an operation code of a target code, referring to this field to an execution code decoding stage with respect to a processor which has taken a pipeline system for executing said field and inserting a no-operation cycle. CONSTITUTION:An execution code 2 having a register interference field 6 is transmitted to a processor 40 through an execution code fetch line 50. The first pipeline 10 for executing an executing code fetch receives and stores said code. The second pipeline for decoding the execution code receives the execution code from an internal execution code line 52, and refers to a register interference field 6 of 1 bit. Subsequently, when no register interference exists, the internal execution code concerned is generated, and when the register interference exists, the internal execution code concerned and an internal no-operation code for preventing the next cycle register interference is generated, and the execution contents are transmitted to the third pipeline 14 and thereafter.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、プロセッサのパイプライン処理方法2ヘー・ に関するものである。[Detailed description of the invention] Industrial applications The present invention provides a processor pipeline processing method 2. It is related to.

従来の技術 現在、データを処理するプロセッサにおいて、高速化の
ための一般的手法としてパイプライン方式が用いられて
いる。
2. Description of the Related Art Currently, in processors that process data, a pipeline system is used as a general method for increasing speed.

インタフェース1987.6月号「バークレイ通信”R
ISCチップで大学教授が起業したMIPS社″゛」に
述べられているように、実行コードフェッチ(IF)、
レジスタの読み込みと解読(RD)、演算(ALU)、
データアクセス(ytzM)、レジスタへの書き込み(
FWB)で構成される5段パイプラインプロセサは、1
サイクルで各ステップを並列に実行することによ逆処理
能力を向上させ、性能アンプを図っている。
Interface June 1987 issue “Berkeley News” R
As stated in MIPS, a company founded by a university professor with ISC chips, execution code fetch (IF),
Register reading and decoding (RD), operation (ALU),
Data access (ytzM), write to register (
FWB) is a 5-stage pipeline processor consisting of 1
By executing each step in parallel in a cycle, the inverse processing ability is improved and the performance is increased.

しかし、パイプライン方式のプロ士すでは、直前の実行
コードで得られた結果をすぐに使いたいという実行コー
ド並びの時、正しい結果が得られていないというレジス
タ干渉と呼ばれる問題が生じる。そこで第3図に示した
従来の実行コード102を有するパイプライン方式のプ
ロセサでは、第43A−7 図に示すごとくOF4とOF2のレジスタ干渉の実行コ
ードの間にレジスタ干渉を防ぐノーオペレーション実行
コードC以下NOPと略称する)を挿入していた。
However, in a pipeline system, a problem called register interference arises in which the correct result is not obtained when the execution code is arranged so that the result obtained by the immediately previous execution code is used immediately. Therefore, in the pipeline type processor having the conventional execution code 102 shown in FIG. 3, as shown in FIG. (hereinafter abbreviated as NOP) was inserted.

発明が解決しようとする問題点 しかし、N0P2挿入することは、ムダな実行コードを
挿入することを意味し、実行コードフェッチサイクルの
増加を招く。このように従来のNOPを挿入する方法で
は、レジスタ干渉を起すコードが多く実行された場合、
実行コードンエッチサイクルが、レジスタ干渉のない場
合と比べ多くなり、よって、メモリへのパストラフィッ
クが混雑する。特に、外部メモリが、高速でない場合や
、高速でも小容量な場合は、この問題は極めて重要とな
る。本発明は、かかる問題点を鑑みなされたもので、実
行コード量の増加なしにレジスタ干渉を防止する方法を
提案することを目的としている。
Problems to be Solved by the Invention However, inserting N0P2 means inserting wasteful execution code, leading to an increase in execution code fetch cycles. In this way, with the conventional method of inserting NOPs, if a lot of code that causes register interference is executed,
The number of execution coden etch cycles is increased compared to the case without register interference, thus congesting the path traffic to the memory. This problem is particularly important when the external memory is not high speed or has a small capacity even if it is high speed. The present invention has been made in view of such problems, and it is an object of the present invention to propose a method for preventing register interference without increasing the amount of executed code.

問題点を解決するための手段 本発明は、前記問題点を解決するため、少なくとも実行
コードフェッチ、実行コードデコード及びレジスタ干渉
を伴う複数の演算ステージより構成されるパイプライン
方式のプロセッサにおいて、実行される実行コード上に
前記複数の演算ステージでのレジスタ干渉を示す特定の
フィールドを設け、前記実行コードデコードステージは
、前記レジスタ干渉フィールドを参照し、そのバタンに
従い前記複数の演算ステージに対し、該当する実行コー
ドに対応する内部コードか、あるいは、該当する実行コ
ードに対応する内部コードにひきつづいて、1つまだは
複数のノーオペレーションの内部コードを発行すること
を特徴とするレジスタ干渉防止方法である。
Means for Solving the Problems In order to solve the above-mentioned problems, the present invention is implemented in a pipelined processor consisting of a plurality of arithmetic stages involving at least execution code fetch, execution code decoding, and register interference. A specific field indicating register interference in the plurality of arithmetic stages is provided on the execution code, and the execution code decoding stage refers to the register interference field and determines the corresponding field for the plurality of arithmetic stages according to the button. This register interference prevention method is characterized by issuing an internal code corresponding to an executable code, or one or more no-operation internal codes following the internal code corresponding to the relevant executable code.

作   用 生成された実行コード上に、設けられたレジスタ干渉フ
ィールドは、実行コード中にレジスタ干渉が起している
場合、七ソトされる。
Operation: The register interference field provided on the generated executable code is sorted if register interference occurs in the executable code.

プロセサは、実行コードデコードステージは、このフィ
ールドのみを参照することにより、レジスタ干渉が起き
たかどうかを判断し、レジスタ干渉5へ一/ が起きている場合には、NOPサイクルをプロセサ内部
の実行シーケンスに挿入する。
The execution code decode stage of the processor determines whether register interference has occurred by referring only to this field, and if register interference has occurred, the NOP cycle is transferred to the processor's internal execution sequence. Insert into.

よって、実行コードの不用な増加なしに、レジスタ干渉
を防止するこ、!:が可能となる。
Therefore, register interference can be prevented without unnecessary increase in execution code! : becomes possible.

実施例 本発明にかかるレジスタ干渉防止方法の一例を第1図に
示す。レジスタ干渉ンイールド6を持つ実行コード2は
、実行コードンエッチ線60を通してプロセサ4Qに伝
えられる。実行コードフェッチを実行する第1パイプラ
イン10は、これ全受は取シ格納する。実行コードをデ
コードする第2パインラインは、内部実行コード線52
より実行コード全受けとり1ビツトのレジスタ干渉フィ
ールド6を参照する。そしてレジスタ干渉がない場合に
は、該当する内部実行コードを、レジスタ干渉がある場
合には、該当する内部実行コードとさらに次サイクルレ
ジスタ干渉を防ぐ内部ノーオペレーションコードを生成
し、内部実行コード線54により、第3パイプライン1
4以降に、実行内容を伝える。第3パイプライン14、
第4パイロへ一/ プライン16、第6パイプライン18は、それぞれ、内
部実行コード線54.56.58により伝えられる演算
を実行する。
Embodiment An example of the register interference prevention method according to the present invention is shown in FIG. Execution code 2 with register interference yield 6 is transmitted to processor 4Q through execution coden etched line 60. The first pipeline 10 that executes the execution code fetch receives and stores all the received code. The second pine line that decodes the execution code is the internal execution code line 52.
Refer to the 1-bit register interference field 6 which receives the entire execution code. Then, if there is no register interference, the corresponding internal execution code is generated, and if there is register interference, the corresponding internal execution code and an internal no-operation code that prevents register interference in the next cycle are generated, and the internal execution code line 54 is generated. Accordingly, the third pipeline 1
From 4 onwards, I will tell you what to do. third pipeline 14,
The fourth pyro/pipeline 16 and the sixth pipeline 18 each execute operations conveyed by internal execution code lines 54, 56, and 58.

ここで、従来と異なる点は、レジスタ干渉を防ぐための
ノーオペレーション操作を第2パイプラインで判断し、
挿入する点である。
Here, the difference from the conventional method is that no-operation operations are determined in the second pipeline to prevent register interference.
This is the point to insert.

以下では、レジスタ干渉防止の過程′ff:第2図のタ
イミングチャート図をもとに説明する。ここで、駆動ク
ロックは、1サイクル2相クロツクトシ、プロ十すでは
OPoからOF8 の実行コードが処理されるとする。
In the following, the register interference prevention process 'ff will be explained based on the timing chart of FIG. Here, it is assumed that the drive clock is a one-cycle two-phase clock and that the execution codes from OPo to OF8 are processed in the program.

通常のレジスタ干渉がない場合、流れのよどみなく順調
に第2図(ロ)のごとく実行される。
In the absence of normal register interference, the flow is smoothly executed without stagnation as shown in FIG. 2 (b).

また、OF2とOF2の間にレジスタ干渉がある場合、
第1パイプライン12は内部実行コード線62によって
伝えられたOF2の実行コード2のレジスタ干渉フィー
ルド6を参照し、OF2とOF2がレジスタ干渉を行し
ていることを判断する。そして、次サイクル、第2パイ
プラインは、ノーオペレーションサイクルを挿入する。
Also, if there is register interference between OF2 and OF2,
The first pipeline 12 refers to the register interference field 6 of the execution code 2 of OF2 transmitted by the internal execution code line 62, and determines that OF2 and OF2 are performing register interference. Then, in the next cycle, the second pipeline inserts a no-operation cycle.

さラニ7A−7 次サイクル、第1パイプライン10は、ウェート状態、
それ以外のパイプラインは命令を実行する。
Sarani 7A-7 Next cycle, the first pipeline 10 is in a wait state,
Other pipelines execute instructions.

以後は、何も起らなかったかのごとく、第2図(a)の
ように命令を実行する。この場合、従来の技術と比べ実
行コード上へのNOPの挿入がないたべ実行コード量の
増加なしにレジスタ干渉を防止することができる。
Thereafter, the command is executed as shown in FIG. 2(a) as if nothing had happened. In this case, register interference can be prevented without inserting a NOP into the execution code and without increasing the amount of execution code compared to the conventional technique.

発明の効果 目的コードのオペレーションコード上ニレジスタ干渉フ
ィールドを設ける。さらに、これを実行するパイプライ
ン方式をとったプロ士すには、実行コードデコードステ
ージにこのフィールドを参照し、ノーオペレーションサ
イクルを挿入する構成を設ける。このだめ、レジスタ干
渉が生じた場合でも、目的プログラムの増加なしに、レ
ジスタ干渉を防止できる。従来の方式と比べて、余分な
ノーオペレーションサイクル命令のフェッチによるパス
トラフィックの緩和及び外部メモリの節約にとってきわ
めて有効である。
Effects of the Invention A two-register interference field is provided on the operation code of the object code. Furthermore, in a professional program that uses a pipeline method to execute this, a configuration is provided in which this field is referenced in the execution code decoding stage and a no-operation cycle is inserted. Therefore, even if register interference occurs, register interference can be prevented without increasing the number of target programs. Compared to conventional schemes, it is very effective in mitigating path traffic and saving external memory by fetching extra no-operation cycle instructions.

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

第1図は本発明の実施例の概略構成図、第2図は本発明
の実施例の動作を示すタイミングチャート図、第3図は
従来のプロセサの概略構成図、第4図は従来のプロセサ
の動作を示すタイミングチャート図である。 2・・・・・・実行”  M、4・・・・・・オペレー
ションフィールド、6・・・・・・レジスタ干渉フィー
ルド、8・・・・・・オペランドフィールド、1o・・
・・・・第1ノくイブライン、12・・・・・・第2パ
イプライン、14・・・・・・第3ノ(イブライン、1
6・・・・・・第4パイプライン、18・・・・・・第
6パイプライン、40・・・・・・プロセサ、50・・
・・・・実行フードフェッチ線、52 、64 、56
 、58・・・・・・内部実行コード線。
FIG. 1 is a schematic configuration diagram of an embodiment of the present invention, FIG. 2 is a timing chart showing the operation of the embodiment of the present invention, FIG. 3 is a schematic configuration diagram of a conventional processor, and FIG. 4 is a diagram of a conventional processor. FIG. 3 is a timing chart diagram showing the operation of FIG. 2...Execution" M, 4...Operation field, 6...Register interference field, 8...Operand field, 1o...
... 1st pipeline Eve line, 12... 2nd pipeline, 14... 3rd pipeline (Eve line, 1
6...Fourth pipeline, 18...Sixth pipeline, 40...Processor, 50...
...Execution food fetch line, 52, 64, 56
, 58... Internal execution code line.

Claims (1)

【特許請求の範囲】[Claims] 少なくとも実行コードフェッチ、実行コードデコード及
びレジスタ干渉を伴う複数の演算ステージより構成され
るパイプライン方式のプロセッサにおいて、実行される
実行コード上に前記複数の演算ステージでのレジスタ干
渉を示す特定のフィールドを設け、前記実行コードデコ
ードステージは、前記レジスタ干渉フィールドを参照し
、そのパターンに従い前記複数の演算ステージに対し、
該当する実行コードに対応する内部コードか、あるいは
該当する実行コードに対応する内部コードにひきつづい
て、1つまたは複数のノーオペレーションの内部コード
を発行することを特徴とするレジスタ干渉防止方法。
In a pipelined processor consisting of a plurality of arithmetic stages involving at least execution code fetch, execution code decoding, and register interference, a specific field indicating register interference in the plurality of arithmetic stages is added to the execution code to be executed. and the execution code decoding stage refers to the register interference field and performs on the plurality of calculation stages according to the pattern.
1. A method for preventing register interference, comprising issuing one or more no-operation internal codes following an internal code corresponding to a corresponding executable code or an internal code corresponding to a corresponding executable code.
JP62277623A 1987-11-02 1987-11-02 Register interference preventing method Pending JPH01119829A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62277623A JPH01119829A (en) 1987-11-02 1987-11-02 Register interference preventing method
KR1019890701233A KR920003495B1 (en) 1987-11-02 1988-10-31 Register inteference preventing method
PCT/JP1988/001111 WO1989004518A1 (en) 1987-11-02 1988-10-31 Register interference preventing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62277623A JPH01119829A (en) 1987-11-02 1987-11-02 Register interference preventing method

Publications (1)

Publication Number Publication Date
JPH01119829A true JPH01119829A (en) 1989-05-11

Family

ID=17586001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62277623A Pending JPH01119829A (en) 1987-11-02 1987-11-02 Register interference preventing method

Country Status (3)

Country Link
JP (1) JPH01119829A (en)
KR (1) KR920003495B1 (en)
WO (1) WO1989004518A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370638B1 (en) 1997-11-21 2002-04-09 Matsushita Electric Industrial Co., Ltd. Apparatus and method of computer program control in computer systems using pipeline processing

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915083A (en) * 1997-02-28 1999-06-22 Vlsi Technology, Inc. Smart debug interface circuit for efficiently for debugging a software application for a programmable digital processor device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53108254A (en) * 1977-03-02 1978-09-20 Nec Corp Information processor
JPS5466048A (en) * 1977-11-07 1979-05-28 Hitachi Ltd Information processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370638B1 (en) 1997-11-21 2002-04-09 Matsushita Electric Industrial Co., Ltd. Apparatus and method of computer program control in computer systems using pipeline processing

Also Published As

Publication number Publication date
KR920003495B1 (en) 1992-05-01
WO1989004518A1 (en) 1989-05-18
KR890702115A (en) 1989-12-22

Similar Documents

Publication Publication Date Title
US5596733A (en) System for exception recovery using a conditional substitution instruction which inserts a replacement result in the destination of the excepting instruction
EP0111776B1 (en) Interrupt processor
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
US6260189B1 (en) Compiler-controlled dynamic instruction dispatch in pipelined processors
US7085917B2 (en) Multi-pipe dispatch and execution of complex instructions in a superscalar processor
JP2620511B2 (en) Data processor
US7010676B2 (en) Last iteration loop branch prediction upon counter threshold and resolution upon counter one
US5778208A (en) Flexible pipeline for interlock removal
US20020116599A1 (en) Data processing apparatus
US7082517B2 (en) Superscalar microprocessor having multi-pipe dispatch and execution unit
JPH01119829A (en) Register interference preventing method
US6230258B1 (en) Processor using less hardware and instruction conversion apparatus reducing the number of types of instructions
JPS623336A (en) Conditional branch system
CN112579168B (en) Instruction execution unit, processor and signal processing method
JP2000029696A (en) Processor, and pipeline process control method
JPH0212429A (en) Information processor with function coping with delayed jump
EP0211487A1 (en) Conditional operations in computers
US20050071830A1 (en) Method and system for processing a sequence of instructions
KR100244210B1 (en) Method for design of microprocessor with multi-stage pipeline type
US20030093651A1 (en) Instruction sets and compilers
KR100384875B1 (en) Micro sequencer processing unsafe on microprocessor having pipeline structure
JPS6257028A (en) Branch control system in information processor of pipeline control
JPH01286034A (en) Information processor
JPH04353923A (en) Parallel instruction execution system for electronic computer
JPH07191845A (en) Immediate data transfer device