JPH01119829A - Register interference preventing method - Google Patents
Register interference preventing methodInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 241000761456 Nops Species 0.000 description 1
- 235000008331 Pinus X rigitaeda Nutrition 0.000 description 1
- 235000011613 Pinus brutia Nutrition 0.000 description 1
- 241000018646 Pinus brutia Species 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 108010020615 nociceptin receptor Proteins 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- WQGWDDDVZFFDIG-UHFFFAOYSA-N pyrogallol Chemical compound OC1=CC=CC(O)=C1O WQGWDDDVZFFDIG-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
Abstract
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.
第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)
びレジスタ干渉を伴う複数の演算ステージより構成され
るパイプライン方式のプロセッサにおいて、実行される
実行コード上に前記複数の演算ステージでのレジスタ干
渉を示す特定のフィールドを設け、前記実行コードデコ
ードステージは、前記レジスタ干渉フィールドを参照し
、そのパターンに従い前記複数の演算ステージに対し、
該当する実行コードに対応する内部コードか、あるいは
該当する実行コードに対応する内部コードにひきつづい
て、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.
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)
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)
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)
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 |
-
1987
- 1987-11-02 JP JP62277623A patent/JPH01119829A/en active Pending
-
1988
- 1988-10-31 KR KR1019890701233A patent/KR920003495B1/en not_active IP Right Cessation
- 1988-10-31 WO PCT/JP1988/001111 patent/WO1989004518A1/en unknown
Cited By (1)
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 |