JP2819753B2 - Pipeline microprocessor - Google Patents

Pipeline microprocessor

Info

Publication number
JP2819753B2
JP2819753B2 JP8273090A JP8273090A JP2819753B2 JP 2819753 B2 JP2819753 B2 JP 2819753B2 JP 8273090 A JP8273090 A JP 8273090A JP 8273090 A JP8273090 A JP 8273090A JP 2819753 B2 JP2819753 B2 JP 2819753B2
Authority
JP
Japan
Prior art keywords
program counter
instruction
key
unit
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP8273090A
Other languages
Japanese (ja)
Other versions
JPH03282623A (en
Inventor
昌弘 楠田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP8273090A priority Critical patent/JP2819753B2/en
Publication of JPH03282623A publication Critical patent/JPH03282623A/en
Application granted granted Critical
Publication of JP2819753B2 publication Critical patent/JP2819753B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はパイプライン・マイクロプロセッサに関し、
特に非同期例外入力信号発生時のプログラム・カウンタ
値を確定するパイプライン・マイクロプロセッサに関す
る。
Description: FIELD OF THE INVENTION The present invention relates to pipeline microprocessors,
In particular, the present invention relates to a pipelined microprocessor that determines a program counter value when an asynchronous exception input signal occurs.

〔従来の技術〕[Conventional technology]

従来のパイプライン・マイクロプロセッサは、外部メ
モリに対するデータの書き込みサイクル(以下、メモリ
・ライト・サイクルと称す)が当該命令以降の命令実行
期間に行われる場合があり且つその際命令デコード中,
命令デコード後,命令実行中の三状態に対応するプログ
ラム・カウンタしか有していないので、前記パイプライ
ン・マイクロプロセッサは命令実行と実際のメモリ・ラ
イト・サイクル間に実行される命令のプログラム・カウ
ンタ値を保持していない。
In a conventional pipeline microprocessor, a data write cycle to an external memory (hereinafter, referred to as a memory write cycle) may be performed during an instruction execution period after the instruction, and at that time, during instruction decoding,
After the instruction is decoded, the pipeline microprocessor has only the program counter corresponding to the three states during the execution of the instruction, so that the pipeline microprocessor executes the program counter of the instruction executed between the instruction execution and the actual memory write cycle. Does not hold a value.

第4図は従来の一例を示すパイプライン・マイクロプ
ロセッサのプログラム・カウンタ周辺のブロック図であ
り、また第5図は第4図に示すプログラム・カウンタの
状態を説明するためのタイミング図である。
FIG. 4 is a block diagram around a program counter of a pipeline microprocessor showing an example of the prior art, and FIG. 5 is a timing chart for explaining the state of the program counter shown in FIG.

第4図に示すように、かかるパイプライン・マイクロ
プロセッサは、外部ライト・バス・サイクルに対し障害
が発生したことを情報として受け取るバス・エラー入力
を有するプログラム・カウンタ関連のハードウェアを示
す。また第5図に示すように、かかるタイミングはパイ
プライン・マイクロプロセッサ内の各プログラム・カウ
ンタの状態を示している。
As shown in FIG. 4, such a pipeline microprocessor shows hardware associated with a program counter having a bus error input for receiving information that a failure has occurred for an external write bus cycle. Further, as shown in FIG. 5, the timing indicates the state of each program counter in the pipeline microprocessor.

まず、第4図に示す命令デコード・ユニット1はデコ
ードすべき命令がメモリ・オペランドを有する場合を想
定すると、第5図に示す当該命令I1のオペランド・アド
レスをオペランド・アドレス指定バス24に出力し、オペ
ランド・アドレス・ストローブ25をアクティブにしてア
クセス・コントロール・ユニット2のアドレス・バッフ
ァ15に前記オペランド・アドレスを書き込む。このタイ
ミングは第5図中の部分である。
First, the instruction decode unit 1 shown in FIG. 4 is an instruction to be decoded is assumed that a memory operand, outputs the operand address of the instruction I 1 shown in FIG. 5 the operand addressing bus 24 Then, the operand address strobe 25 is activated to write the operand address into the address buffer 15 of the access control unit 2. This timing is shown in FIG.

次に、命令デコード完了時には、デコード済みプログ
ラム・カウンタ・ストア・ストローブ30をアクティブに
し、デコード済みプログラム・カウンタ34にデコード中
・プログラム・カウンタ9の内容を書き込む。ついで、
次プログラム・カウンタ・ストア・ストローブ28をアク
ティブにしてデコード中プログラム・カウンタ9の値と
命令長指定29とをプログラム・カウンタ加算器10により
加算し、その加算値をデコード中プログラム・カウンタ
9に書き込む。
Next, when the instruction decoding is completed, the decoded program counter store strobe 30 is activated, and the contents of the decoding-in-progress / program counter 9 are written in the decoded program counter 34. Then
Activate the next program counter store strobe 28, add the value of the program counter 9 being decoded and the instruction length designation 29 by the program counter adder 10, and write the added value to the program counter 9 being decoded. .

ここで、命令のデコードが終了しているので、その旨
の命令デコード・ユニット1から命令指定情報23により
命令実行ユニット3に通知する。この命令実行ユニット
3は命令指定情報23を受け取ると、実行中プログラム・
カウンタ値ストア・ストローブ37をアクティブにしてデ
コード済みプログラム・カウンタ34の内容を実行中プロ
グラム・カウンタ35に書き込む。このタイミングは第5
図中の部分である。また、実行中プログラム・カウン
タ35のデータは実行中プログラム・カウンタ読み出しバ
ス36を介して命令実行ユニット3に送出される。
Here, since the decoding of the instruction has been completed, the instruction decoding unit 1 notifies the instruction execution unit 3 using the instruction designation information 23 to that effect. When the instruction execution unit 3 receives the instruction designation information 23, the instruction execution unit 3
Activate the counter value store strobe 37 and write the contents of the decoded program counter 34 to the running program counter 35. This timing is the fifth
This is the part in the figure. The data of the running program counter 35 is sent to the instruction execution unit 3 via the running program counter read bus 36.

次に、命令実行ユニット3は命令指定情報23に基づき
アクセス・コントロール・ユニット2のライト・データ
・バッファ16にオペランド・ライト・データ27を書き込
む。このタイミングは第5図中の部分である。
Next, the instruction execution unit 3 writes the operand write data 27 to the write data buffer 16 of the access control unit 2 based on the instruction designation information 23. This timing is shown in FIG.

ここで、アクセス・コントロール・ユニット2からの
アドレス・バス17とデータ・バス18は対応し、ライト・
サイクルが行われる。従って、命令実行ユニット3は次
の命令実行動作に移り、実行中プログラム・カウンタ35
の値は前記ライト・オペランドを有する命令I1の次の命
令I2を示すことになる。このタイミングは第5図中の
の部分である。
Here, the address bus 17 from the access control unit 2 and the data bus 18 correspond, and the write bus
A cycle takes place. Accordingly, the instruction execution unit 3 shifts to the next instruction execution operation and executes the program counter 35 during execution.
Value will indicate the next instruction I 2 of the instruction I 1 having a write operand. This timing is shown in FIG.

次に、前記命令I1のライト・バス・サイクルに対しバ
ス・エラー信号19が入力された場合、命令実行ユニット
3はI2の命令を実行した後、前記バス・エラーの処理に
遷移するが、この命令の実行がオペランド・ライト動作
に先行して行われているため、バス・エラーが発生した
命令I1のプログラム・カウンタの値は失われている。こ
のタイミングは第5図中のの部分である。従って、バ
ス・エラー入力発生時のプログラム・カウンタ値は、第
5図中のタイミングに示すように、I1でなくI2とな
る。
Next, if the bus error signal 19 to the write bus cycle of the command I 1 is input, the instruction execution unit 3 after executing instructions I 2, but transitions to the bus error processing , the execution of this instruction because it is performed prior to the operand write operation, the value of the program counter of the instruction I 1 a bus error occurs is lost. This timing is shown in FIG. Therefore, the program counter value at the time of bus error input occurs, as shown in the timing in Fig. 5, the I 2 rather than I 1.

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

上述した従来のパイプライン・マイクロプロセッサ
は、命令実行後その命令のプログラム・カウンタ値がメ
モリ・ライト・オペランドを有する命令実行後対応する
外部メモリ・ライト・サイクル終了までに、更に後続の
命令実行を行っているか終了している場合がある。従っ
て、メモリ・ライト・オペランド・バス・サイクルに対
応する外部例外要因を示す非同期入力があった場合に
は、当該メモリ・ライト・サイクルを実行した命令のプ
ログラム・カウンタ値を保持できず、正確性を失うとい
う欠点がある。
The conventional pipeline microprocessor described above performs further subsequent instruction execution after the execution of an instruction until the end of the corresponding external memory write cycle after the execution of the instruction having the memory write operand and the program counter value of the instruction. It may be done or finished. Therefore, if there is an asynchronous input indicating the external exception factor corresponding to the memory write operand bus cycle, the program counter value of the instruction that executed the memory write cycle cannot be held, and the There is a disadvantage of losing.

本発明の目的は、かかるメモリ・ライト・サイクルを
実行した命令のプログラム・カウンタ値を正確に保持す
ることのできるパイプライン・マイクロプロセッサを提
供することにある。
An object of the present invention is to provide a pipelined microprocessor capable of accurately retaining a program counter value of an instruction that has executed such a memory write cycle.

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

本発明のパイプライン・マイクロプロセッサは、各命
令パイプラインの段数を包含する数値を表すことの出来
るビット数の順序計数番号キーを各パイプライン・ステ
ージをつかさどるユニットに転送し保持する機構と、前
記キーを順次発生し且つプログラム・カウンタ値を先行
計算する機構を有する命令デコード・ユニットと、前記
命令デコード・ユニットで発生したキーおよび前記プロ
グラム・カウンタ値を対応させて保持するプログラム・
カウンタ連想記憶ファイルと、外部バス・サイクルをつ
かさどるユニットで前記外部バス・サイクル中に外部か
ら入力される非同期信号が発生したときに前記非同期信
号を受信したバス・サイクルを指示した命令に対応した
キーを保持する機構と、前記非同期入力のあったバス・
サイクルのキーをマイクロプログラムから読み出す機構
と、前記プログラム・カウンタ連想記憶ファイルからマ
イクロプログラムで指定したキーを検索用インデックス
として前記プログラム・カウンタ値を読み出す機構とを
有して構成される。
The pipeline microprocessor of the present invention includes a mechanism for transferring and holding a sequence number key of a number of bits capable of representing a numerical value including the number of stages of each instruction pipeline to a unit that controls each pipeline stage; An instruction decoding unit having a mechanism for sequentially generating keys and pre-calculating a program counter value, and a program for holding the keys generated by the instruction decoding unit and the program counter values in a corresponding manner
A counter associative memory file and a key corresponding to an instruction designating a bus cycle in which the asynchronous signal is received when an asynchronous signal input from the outside occurs during the external bus cycle in the unit that controls the external bus cycle And a bus that has the asynchronous input.
A mechanism for reading a cycle key from the microprogram and a mechanism for reading the program counter value from the program counter associative storage file using the key specified by the microprogram as a search index.

〔実施例〕〔Example〕

次に、本発明の実施例について図面を用いて説明す
る。
Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の第一の実施例を示すパイプライン・
マイクロプロセッサの主要部であるプログラム・カウン
タ周辺のブロック図である。
FIG. 1 is a pipeline diagram showing a first embodiment of the present invention.
FIG. 2 is a block diagram around a program counter which is a main part of the microprocessor.

第1図に示すように、本実施例は、従来例と同様に、
ライト・バス・サイクル中に発生するバス・エラーに対
して説明する。本実施例の構成は、順序計数番号キーを
順次発生し且つプログラム・カウンタ値を先行計算する
機構を有する命令デコード・ユニット1と、この命令デ
コード・ユニット1からのオペランド・アドレスを受信
し且つライト・アクセスキーおよびバス・エラー時のキ
ーを記憶するレジスタ13,14とアドレス・バッファ15お
よびライトデータ・バッファ16を有するアクセス・コン
トロール・ユニット2と、命令デコード・ユニット1か
らのストローブにより制御される命令実行ユニット3
と、プログラム・カウンタ・ファイル・キー部5および
プログラム・カウンタ・ファイル・データ部6からなり
且つ命令デコード・ユニット1で発生したキーとプログ
ラム・カウンタ値を対応させて保持するプログラム・カ
ウンタ連想記憶ファイル4とを有している。また、本実
施例のマイクロプロセッサは、デコード中の命令の順次
計数キー(番号)を保持するデコード中キー・レジスタ
7およびデコード中の命令のプログラム・カウンタ値を
保持するデコード中プログラム・カウンタ9と、一命令
デコード毎に次にデコードすべき命令のキーを生成する
キー・インクリメンタ8および当該プログラム・カウン
タ値を計算するプログラム・カウンタ加算器10と、命令
デコード・ユニット1で生成した前記順次計数キーを各
パイプライン・ステージを担当するユニットに転送する
機構23〜25および28〜30と、デコード済みプログラム・
カウンタ・キー・レジスタ11および実行中プログラム・
カウンタ・キー・レジスタ12とを有し、外部バス・サイ
クルをつかさどるユニットに於いて外部バス・サイクル
中に外部から入力される非同期信号が発生した場合に前
記非同期信号を受信したバス・サイクルを指示した命令
に対応したキーを保持するとともに、前記非同期入力の
あったバス・サイクルのキーをマイクロプログラムから
読み出す一方、プログラム・カウンタ連想記憶ファイル
4からマイクロプログラムで指定したキーを検索用イン
デックスとしてプログラム・カウンタ値を読み出すよう
にしている。
As shown in FIG. 1, this embodiment is similar to the prior art,
A bus error occurring during a write bus cycle will be described. The configuration of the present embodiment comprises an instruction decode unit 1 having a mechanism for sequentially generating an order number key and pre-calculating a program counter value, and receiving and writing an operand address from the instruction decode unit 1. Controlled by an access control unit 2 having registers 13 and 14 for storing an access key and a key at the time of a bus error, an address buffer 15 and a write data buffer 16, and a strobe from the instruction decode unit 1. Instruction execution unit 3
And a program counter file key unit 5 and a program counter file data unit 6 for storing a key generated by the instruction decode unit 1 and a program counter value in association with each other. And 4. The microprocessor according to the present embodiment includes a decoding key register 7 for holding a sequential count key (number) of an instruction being decoded and a decoding program counter 9 for holding a program counter value of the instruction being decoded. A key incrementer 8 for generating a key of an instruction to be decoded next for each instruction decode, a program counter adder 10 for calculating the program counter value, and the sequential count generated by the instruction decode unit 1. Mechanisms 23-25 and 28-30 for transferring keys to the unit responsible for each pipeline stage, and decoded programs
The counter key register 11 and the program being executed
A counter key register 12 for instructing a bus cycle that has received the asynchronous signal when an externally input asynchronous signal occurs during the external bus cycle in a unit that controls the external bus cycle While holding the key corresponding to the instruction, and reading out the key of the bus cycle in which the asynchronous input has been made from the microprogram, the program / counter associative storage file 4 uses the key designated by the microprogram as a search index, and The counter value is read.

第2図は第1図に示すプログラム・カウンタの状態を
説明するためのタイミング図である。
FIG. 2 is a timing chart for explaining the state of the program counter shown in FIG.

第2図に示すように、かかるプログラム・カウンタの
動作タイミングは以下の回路動作で説明する。
As shown in FIG. 2, the operation timing of the program counter will be described in the following circuit operation.

まず、命令デコード・ユニット1は命令I1をデコード
すると、当該命令のオペランド・アドレスをオペランド
・アドレス指定バス24に出力するとともにオペランド・
アドレス・ストローブ25をアクティブにしてアクセス・
コントロール・ユニット2のアドレス・バッファ15に前
記オペランド・アドレスを書き込む。また、これと同時
にライト・アクセス・キー・レジスタ13にデコード中キ
ー・レジスタ7からデコード中プログラム・カウンタ・
キー26を書き込む。これは第2図中の部分である。こ
こでは、デコード中キー・レジスタ7のキーの値はキー
・インクリメンタ8で+1加算され、再びデコード中キ
ー・レジスタ7に格納される。
First, the instruction decode unit 1 decodes an instruction I 1, operand outputs the operand address of the instruction to the operand addressing bus 24
Activate address strobe 25 to access
The operand address is written to the address buffer 15 of the control unit 2. At the same time, the program counter, which is being decoded, is being stored in the write access key register 13 from the key register 7, which is being decoded.
Write key 26. This is the part in FIG. Here, the value of the key in the decoding key register 7 is added by +1 in the key incrementer 8 and stored in the decoding key register 7 again.

また、命令デコード・ユニット1における命令デコー
ドが完了した時には、デコード済みプログラム・カウン
タ・ストア・ストローブ30をアクティブにしデコード中
キー・レジスタ7の値をデコード済みプログラム・カウ
ンタ・キー・レジスタ11とプログラム・カウンタ連想記
憶ファイル4内のプログラム・カウンタ・ファイル・キ
ー部5に書き込み、同時にデコード中プログラム・カウ
ンタ9の値を前記プログラム・カウンタ連想記憶ファイ
ル4内のプログラム・カウンタ・ファイル・データ部6
に書き込む。ついで、次プログラム・カウンタ・ストア
・ストローブ28をアクティブにし、デコード中プログラ
ム・カウンタ9の値と命令デコード・ユニット1からの
命令長指定29とをプログラム・カウンタ加算器10により
加算した値をデコード中プログラム・カウンタ9に書き
込む。ここでは、前述した命令のデコードが終了してい
るので、命令デコード・ユニット1はその旨を命令指定
情報23により命令実行ユニット3に通知する。この命令
実行ユニット3は命令指定情報23を受け取ると、実行中
プログラム・カウンタ・キー・ストア・ストローブ22を
アクティブにしデコード済みプログラム・カウンタキー
・レジスタ11の内容を実行中プログラム・カウンタ・キ
ー・レジスタ12に書き込み。このタイミングは第2図中
の部分である。
When the instruction decoding in the instruction decoding unit 1 is completed, the decoded program counter store strobe 30 is activated and the value of the decoding key register 7 is changed to the decoded program counter key register 11 and the program register. The program counter file key portion 5 in the counter associative storage file 4 is written, and at the same time, the value of the program counter 9 being decoded is stored in the program counter file data portion 6 in the program counter associative storage file 4.
Write to. Next, the next program counter store strobe 28 is activated to decode the value obtained by adding the value of the program counter 9 being decoded and the instruction length designation 29 from the instruction decode unit 1 by the program counter adder 10. Write to program counter 9 Here, since the decoding of the above-mentioned instruction has been completed, the instruction decoding unit 1 notifies the instruction execution unit 3 of the fact by the instruction designation information 23. When the instruction execution unit 3 receives the instruction specification information 23, it activates the program counter key store strobe 22 during execution and activates the contents of the decoded program counter key register 11 to execute the program counter key register. Write to 12. This timing is the portion in FIG.

次に、命令実行ユニット3は当該命令指定情報23に従
ってアクセス・コントロール・ユニット2のライト・デ
ータ・バッファ16にオペランド・ライト・データ27を書
き込む。このタイミングは第2図中のの部分である。
Next, the instruction execution unit 3 writes the operand write data 27 to the write data buffer 16 of the access control unit 2 according to the instruction specification information 23. This timing is shown in FIG.

ここで、アクセス・コントロール・ユニット2のアド
レス・バス17とデータ・バス18は対応し、ライト・サイ
クルが行なわれる。従って、命令実行ユニット3は次の
命令実行動作に移り、実行中プログラム・カウンタ・キ
ー・レジスタ12の値は前記ライト・オペランドを有する
命令I1の次の命令I2を示すことになる。このタイミング
は第2図中のの部分である。
Here, the address bus 17 and the data bus 18 of the access control unit 2 correspond to each other, and a write cycle is performed. Thus, the instruction execution unit 3 moves to the next instruction execution operation, the value of the running program counter key register 12 will indicate the next instruction I 2 of the instruction I 1 having a write operand. This timing is shown in FIG.

また、前記命令I1のライト・バス・サイクルに対しア
クセス・コントロール・ユニット2へバス・エラー信号
19が入力された場合、バス・エラー時キー・レジスタ14
はライト・アクセス・キー・レジスタ13の値をラッチす
る。これは第2図中のの部分である。
The bus error signal to the write bus cycle of the command I 1 to the access control unit 2
If 19 is input, key register 14 for bus error
Latches the value of the write access key register 13. This is the part in FIG.

一方、命令実行ユニット3はI2の命令を実行後前記バ
ス・エラーの処理に遷移し、アクセス・コントロール・
ユニット2内のバス・エラー時キー・レジスタ14の値を
読み込み、そのキー値をプログラム・カウンタ・ファイ
ル読み出しキー21に変換してプログラム・カウンタ連想
記憶ファイル4を検索する。このプログラム・カウンタ
連想記憶ファイル4におけるプログラム・カウンタ・フ
ァイル・キー部5は受信したプログラム・カウンタ・フ
ァイル読み出しキー21を検索用インデックスとしてプロ
グラム・カウンタ・ファイル・データ部から対応するプ
ログラム・カウンタ値I1を読み出し、それをプログラム
・カウンタ・ファイル読み出しバス20に出力する。
Meanwhile, the instruction execution unit 3 transition instructions I 2 to perform after the bus error processing, access control
The value of the bus error key register 14 in the unit 2 is read, and the key value is converted into a program counter file read key 21 to search the program counter associative memory file 4. The program counter file key section 5 in the program counter associative storage file 4 uses the received program counter file read key 21 as a search index to retrieve a corresponding program counter value I from the program counter file data section. Read 1 and output it to the program counter file read bus 20.

従って、第2図中のタイミングに示すように、バス
・エラー時キーレジスタ14の値でもってプログラム・カ
ウンタ連想記憶ファイル4を検索することにより、バス
・エラーを起した命令I1のプログラム・カウンタ値を得
ることができる。
Accordingly, as shown in the timing in FIG. 2, by searching a program counter associative memory file 4 with the value of the bus error during key register 14, the program counter of the instruction I 1 that caused the bus error Value can be obtained.

要するに、本実施例は各パイプライン・ステージに保
持しているキーを検索用インデックスにして所望のプロ
グラム・カウンタ値を得ることの出来るプログラム・カ
ウンタ・ファイルを有することにより、メモリ・ライト
・バス・サイクルに対する非同期入力に対しても当該プ
ログラム・カウンタ値を正確に認識することができる。
In short, the present embodiment has a program counter file that can obtain a desired program counter value by using a key held in each pipeline stage as a search index, thereby providing a memory write bus bus. The program counter value can be accurately recognized even for an asynchronous input to a cycle.

第3図は本発明の第二の実施例を示すパイプライン・
マイクロプロセッサの第1図と同様のブロック図であ
る。
FIG. 3 is a pipeline diagram showing a second embodiment of the present invention.
FIG. 2 is a block diagram similar to FIG. 1 of a microprocessor.

第3図に示すように、本実施例もライト・バス・サイ
クル中に発生するバス・エラーに対してプログラム・カ
ウンタ値を保持する例である。従って、命令デコード・
ユニット1,アクセス・コントロール・ユニット2,命令実
行ユニット3,デコード中キー・レジスタ7,キーインクリ
メンタ8およびデコード中プログラム・カウンタ9,プロ
グラム・カウンタ加算器10,キーレジスタ11,12等並びに
タイミングは前述した第一の実施例と同等であり、異な
る点はプログラム・カウンタ・ファイル・キー部5およ
びプログラム・カウンタ・ファイル・データ部6からな
るプログラム・カウンタ連想記憶ファイル4の代りに、
プログラム・カウンタ・レジスタ・ファイル31と書込み
用デコーダ32および読出し用デコーダ33とを設けたこと
にある。以下は、その相違点の動作等について説明す
る。
As shown in FIG. 3, this embodiment is also an example in which a program counter value is held for a bus error occurring during a write bus cycle. Therefore, instruction decoding
Unit 1, access control unit 2, instruction execution unit 3, decoding key register 7, key incrementer 8, decoding program counter 9, program counter adder 10, key registers 11, 12, etc. The second embodiment is the same as the first embodiment described above, except that the program counter associative storage file 4 including the program counter file key unit 5 and the program counter file data unit 6 is replaced by
It has a program counter register file 31, a write decoder 32 and a read decoder 33. The operation of the difference will be described below.

本実施例において、命令デコード終了時にストアされ
るデコード済みプログラム・カウンタ値は、デコード中
プログラム・カウンタ・キー26をデコード済みプログラ
ム・カウンタ書き込み用デコーダ32でデコードし、マッ
ピングされたプログラム・カウンタ・レジスタ・ファイ
ル31のエントリーにデコード済みプログラム・カウンタ
・ストア・ストローブ30のタイミングで書き込まれる。
In this embodiment, the decoded program counter value stored at the end of the instruction decoding is obtained by decoding the program counter key 26 being decoded by the decoded program counter writing decoder 32 and mapping the mapped program counter register. -It is written to the entry of the file 31 at the timing of the decoded program counter store strobe 30.

また逆に、命令実行ユニット3からの所望のプログラ
ム・カウンタ値の読み出しは、プログラム・カウンタ・
ファイル読み出しキー21をプログラム・カウンタ・ファ
イル読み出し用デコーダ33でマッピングされたプログラ
ム・カウンタ・レジスタ・ファイル31内のエントリーか
ら行われる。
Conversely, reading of a desired program counter value from the instruction execution unit 3 is performed by using a program counter
The file read key 21 is performed from the entry in the program counter register file 31 mapped by the program counter file read decoder 33.

尚、その他の動作については、第一の実施例と同様で
あるので、説明を省略する。
Note that the other operations are the same as those of the first embodiment, and the description is omitted.

〔発明の効果〕〔The invention's effect〕

以上説明したように、本発明のパイプライン・マイク
ロプロセッサは、命令のプログラム・カウンタ値をそれ
に対応したキーを検索用インデックスにして保持するこ
とにより、外部非同期入力を受けた際にマイクロプログ
ラムでプログラム・カウンタのビット数より少ないビッ
ト数のキーを外部バス・サイクルをつかさどるユニット
から取り出すことができるので、それを検索用インデッ
クスにして対応するプログラム・カウンタ値を正確に得
られるという効果がある。
As described above, the pipeline microprocessor of the present invention stores a program counter value of an instruction as a search index using a key corresponding to the instruction counter value, so that a program can be programmed by a microprogram when an external asynchronous input is received. Since a key having a smaller number of bits than the number of bits of the counter can be extracted from the unit that controls the external bus cycle, it is possible to use the index as a search index to accurately obtain the corresponding program counter value.

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

第1図は本発明の第一の実施例を示すパイプライン・マ
イクロプロセッサの主要部であるプログラム・カウンタ
周辺のブロック図、第2図は第1図に示すプログラム・
カウンタの状態を説明するためのタイミング図、第3図
は本発明の第二の実施例を示すパイプライン・マイクロ
プロセッサの第1図と同様のブロック図、第4図は従来
の一例を示すパイプライン・マイクロプロセッサのプロ
グラム・カウンタ周辺のブロック図、第5図は第4図に
示すプログラム・カウンタの状態を説明するためのタイ
ミング図である。 1……命令デコード・ユニット、2……アクセス・コン
トロール・ユニット、3……命令実行ユニット、4……
プログラム・カウンタ連想記憶ファイル、5……プログ
ラム・カウンタ・ファイル・キー部、6……プログラム
・カウンタ・ファイル・データ部、7……デコード中キ
ー・レジスタ、8……キー・インクリメンタ、9……デ
コード中プログラムッカウンタ、10……プログラム・カ
ウンタ加算器、11……デコード済みプログラム・カウン
タ・キー・レジスタ、12……実行中プログラム・カウン
タ・キー・レジスタ、13……ライト・アクセス・キー・
レジスタ、14……バス・エラー時キー・レジスタ、15…
…アドレス・バッファ、16……ライト・データ・バッフ
ァ、17……アドレス・バス、18……データ・バス、19…
…バス・エラー信号、20……プログラム・カウンタ・フ
ァイル読み出しバス、21……プログラム・カウンタ・フ
ァイル読み出しキー、22……実行中プログラム・カウン
タ・キー・ストア・ストローブ、23……命令指定情報、
24……オペランド・アドレス指定バス、25……オペラン
ド・アドレス・ストローブ、26……デコード中プログラ
ム・カウンタ・キー、27……オペランド・ライト・デー
タ、28……次プログラム・カウンタ・ストア・ストロー
ブ、29……命令長指定、30……デコード済みプログラム
・カウンタ・ストア・ストローブ、31……プログラム・
カウンタ・レジスタ・ファイル、32……デコード済みプ
ログラム・カウンタ書込み用デコーダ、33……プログラ
ム・カウンタ・レジスタ・ファイル読出し用デコーダ。
FIG. 1 is a block diagram around a program counter which is a main part of a pipeline microprocessor showing a first embodiment of the present invention, and FIG.
FIG. 3 is a timing chart for explaining the state of the counter, FIG. 3 is a block diagram similar to FIG. 1 of a pipeline microprocessor showing a second embodiment of the present invention, and FIG. FIG. 5 is a block diagram around the program counter of the line microprocessor, and FIG. 5 is a timing chart for explaining the state of the program counter shown in FIG. 1 ... instruction decode unit, 2 ... access control unit, 3 ... instruction execution unit, 4 ...
Program counter associative memory file, 5: Program counter file key section, 6: Program counter file data section, 7: Decoding key register, 8: Key incrementer, 9 ... … Decoding program counter, 10… Program counter adder, 11… Decoded program counter key register, 12… Executing program counter key register, 13… Write access key・
Register, 14 ... Key register at bus error, 15 ...
… Address buffer, 16… write data buffer, 17… address bus, 18… data bus, 19…
... Bus error signal, 20 ... Program counter file read bus, 21 ... Program counter file read key, 22 ... Executing program counter key store strobe, 23 ... Instruction designation information,
24 ... Operand address designation bus, 25 ... Operand address strobe, 26 ... Decoding program counter key, 27 ... Operand write data, 28 ... Next program counter store strobe, 29: Instruction length specification, 30: Decoded program counter store strobe, 31: Program
Counter register file, 32: Decoder for writing decoded program counter, 33 ... Decoder for reading program counter register file.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】各命令パイプラインの段数を包含する数値
を表すことの出来るビット数の順序計数番号キーを各パ
イプライン・ステージをつかさどるユニットに転送し保
持する機構と、前記キーを順次発生し且つプログラム・
カウンタ値を先行計算する機構を有する命令デコード・
ユニットと、前記命令デコード・ユニットで発生したキ
ーおよび前記プログラム・カウンタ値を対応させて保持
するプログラム・カウンタ連想記憶ファイルと、外部バ
ス・サイクルをつかさどるユニットで前記外部バス・サ
イクル中に外部から入力される非同期信号が発生したと
きに前記非同期信号を受信したバス・サイクルを指示し
た命令に対応したキーを保持する機構と、前記非同期入
力のあったバス・サイクルのキーをマイクロプログラム
から読み出す機構と、前記プログラム・カウンタ連想記
憶ファイルからマイクロプログラムで指定したキーを検
索用インデックスとして前記プログラム・カウンタ値を
読み出す機構とを有することを特徴とするパイプライン
・マイクロプロセッサ。
A mechanism for transferring and holding a sequence number key of a number of bits capable of representing a numerical value including the number of stages of each instruction pipeline to a unit that controls each pipeline stage, and sequentially generating the keys. And program
Instruction decoding with a mechanism to pre-calculate the counter value
A unit, a program counter associative memory file for holding the key generated by the instruction decode unit and the program counter value in association with each other, and a unit for handling an external bus cycle, which is externally input during the external bus cycle A mechanism for holding a key corresponding to an instruction instructing a bus cycle in which the asynchronous signal is received when an asynchronous signal is generated, and a mechanism for reading a key of a bus cycle in which the asynchronous input is received from a microprogram. A mechanism for reading out the program counter value from the program counter associative storage file using a key designated by a microprogram as a search index.
【請求項2】請求項1記載のプログラム・カウンタ連想
記憶ファイルはキーの種類だけプログラム・カウンタ用
レジスタを並べ且つ命令デコード・ユニットから出力さ
れるキーをデコードした結果によってマッピングして書
き込み、命令実行ユニットが指定した任意のキーをデコ
ードした結果によってマッピングしそのデータを読み出
す機構とすることを特徴とするパイプライン・マイクロ
プロセッサ。
2. The program counter associative storage file according to claim 1, wherein program counter registers are arranged in accordance with the type of keys, and the keys output from the instruction decode unit are mapped and written according to the decoding result, and the instruction is executed. A pipeline microprocessor characterized by a mechanism for mapping an arbitrary key designated by a unit according to a decoding result and reading out the data.
JP8273090A 1990-03-29 1990-03-29 Pipeline microprocessor Expired - Lifetime JP2819753B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8273090A JP2819753B2 (en) 1990-03-29 1990-03-29 Pipeline microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8273090A JP2819753B2 (en) 1990-03-29 1990-03-29 Pipeline microprocessor

Publications (2)

Publication Number Publication Date
JPH03282623A JPH03282623A (en) 1991-12-12
JP2819753B2 true JP2819753B2 (en) 1998-11-05

Family

ID=13782542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8273090A Expired - Lifetime JP2819753B2 (en) 1990-03-29 1990-03-29 Pipeline microprocessor

Country Status (1)

Country Link
JP (1) JP2819753B2 (en)

Also Published As

Publication number Publication date
JPH03282623A (en) 1991-12-12

Similar Documents

Publication Publication Date Title
EP0380850B1 (en) Method and digital computer for preproccessing multiple instructions
US4896259A (en) Apparatus for storing modifying data prior to selectively storing data to be modified into a register
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
JPS6239780B2 (en)
US5016169A (en) Data processor capable of correctly re-executing instructions
JPH077385B2 (en) Data processing device
JPH0248931B2 (en)
JPH0346850B2 (en)
JPS59212958A (en) Computer system
JPH05204709A (en) Processor
JPS623461B2 (en)
JPH03233630A (en) Information processor
JP2819753B2 (en) Pipeline microprocessor
JP3490005B2 (en) Instruction control apparatus and method
EP0177712B1 (en) Masked data fetch and modifying device
JP3490191B2 (en) calculator
JPH0222413B2 (en)
JP2901247B2 (en) Discharge control method
JPH07191911A (en) Address converter and microprocessor computation method
JPH0385636A (en) Instruction advance control device
JP3182796B2 (en) Central processing unit
JPH07111683B2 (en) Processor with task switching function
JPH0812601B2 (en) Data processing device
JPS6036614B2 (en) information processing equipment
JPH02138623A (en) Microprocessor for microprogram system with pointer register