JPH04171534A - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JPH04171534A
JPH04171534A JP30011490A JP30011490A JPH04171534A JP H04171534 A JPH04171534 A JP H04171534A JP 30011490 A JP30011490 A JP 30011490A JP 30011490 A JP30011490 A JP 30011490A JP H04171534 A JPH04171534 A JP H04171534A
Authority
JP
Japan
Prior art keywords
instruction
signal
nop
bus
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP30011490A
Other languages
Japanese (ja)
Other versions
JP2636074B2 (en
Inventor
Kazuhiko Takita
滝田 和彦
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP2300114A priority Critical patent/JP2636074B2/en
Publication of JPH04171534A publication Critical patent/JPH04171534A/en
Application granted granted Critical
Publication of JP2636074B2 publication Critical patent/JP2636074B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To reduce the program size and to improve the performance of a computer system by using a 1st signal which informs an instruction executing part of a fact that an I/O instruction is continuous to an nop (no operation) instruction from an instruction decoding part and a 2nd signal which informs the instruction executing part of a fact that a bus cycle is stopped from a bus control part respectively. CONSTITUTION:A bus control part 101 is provided together with a prefetching part 102, an instruction decoding part 103, and an instruction executing part 104. Then a 1st signal 112 informs the part 104 of a fact an I/O instruction is continuous to an nop instruction from the part 103. Meanwhile a 2nd signal 113 informs the part 104 of a fact that a bus cycle is stopped from the part 101. When the signal 112 is active, the execution of the nop instruction is delayed until the signal 113 becomes active. Thus the recovery time is assured just with input of a small number of nop instructions that can fill a prefetch queue and without using many nop instructions.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプロセッサに関し、特にパイプライン
方式を取り入れているマイクロプロセッサに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a microprocessor, and particularly to a microprocessor incorporating a pipeline system.

〔従来の技術〕[Conventional technology]

マイクロプロセッサは高性能化・高速化が著しく、動作
周波数は16MHz、25MHz、33MHzと伸びて
きているが、その周辺デバイスはリカバリ時間(読み出
し/書き込みパルスのインアクティブ時間)が200n
sec前後と大きい。そのため、連続してI/Oアクセ
スを行う場合には、I/O命令とI/O命令の間にno
p(no operation)などの他の命令を挿入
したりして、リカバリ時間を保障していた。ところが、
最近のマイクロプロセッサでは、高速化のためほとんど
のものがパイプライン方式を採り入れており、命令フェ
ッチ、命令デコード、オペランドアドレス計算、オペラ
ンドアクセス、命令実行などを同時に行ってしまう。
Microprocessors have significantly improved performance and speed, and their operating frequencies have increased to 16MHz, 25MHz, and 33MHz, but the recovery time (inactive time of read/write pulses) of their peripheral devices is only 200n.
It is large, around sec. Therefore, when performing continuous I/O access, no
The recovery time was guaranteed by inserting other instructions such as p (no operation). However,
Most modern microprocessors adopt a pipeline system to increase speed, and perform instruction fetch, instruction decoding, operand address calculation, operand access, instruction execution, etc. at the same time.

第2図に、従来のパイプライン方式のマイクロプロセッ
サのブロック図を示す。
FIG. 2 shows a block diagram of a conventional pipeline microprocessor.

第2図において、バス制御部/O工、ブリフェッチ部/
O2.命令デコード部/O3.命令実行部/O4が示さ
れている。バス制御部/O1により、外部データバス/
O5.並びに外部アドレスバス/O6を制御する。バス
制御部/O1が外部データバス/O5から採り込んだ命
令列を、内部データバス/O7を介してブリフェッチ部
/O2が受は取る。ブリフェッチ部/O2は、ブリフェ
ッチキューに命令を蓄え、順次命令デコード部/O3へ
渡す。ブリフェッチキューに“空き”が生じた場合には
、命令フェッチ要求信号/O8によってバス制御部/O
1に要求し、バス制御部/O1はバスサイクルを起動し
、命令列を取り込む。
In Figure 2, the bus control section/O-work, the briefetch section/
O2. Instruction decoding section/O3. An instruction execution unit/O4 is shown. The bus controller/O1 controls the external data bus/
O5. It also controls the external address bus /O6. The instruction string taken in by the bus control unit /O1 from the external data bus /O5 is received by the brief fetch unit /O2 via the internal data bus /O7. The brifetch unit /O2 stores instructions in a brifetch queue and sequentially passes them to the instruction decode unit /O3. When there is "empty" in the brief fetch queue, the instruction fetch request signal /O8 causes the bus control unit /O
1, the bus control unit /O1 starts a bus cycle and takes in the instruction string.

命令デコード部/O3は、受は取った命令をデコードし
、オペランドアドレスを内部アドレスバス1/Oを介し
てバス制御部/O1へ渡し、命令デフード情報111を
命令実行部/O4へ渡す。命令実行部/O4は、命令デ
コード部/O3から受は取った命令デコード情報111
に従って、命令を実行する。その際、オペランドライト
がある場合には、ライトデータかそろった時点でリクエ
スト信号114をアクティブにし、それによってバス制
御部/O1はバスサイクルを起動する。
The instruction decode unit /O3 decodes the received instruction, passes the operand address to the bus control unit /O1 via the internal address bus 1/O, and passes the instruction defood information 111 to the instruction execution unit /O4. The instruction execution unit/O4 receives instruction decode information 111 from the instruction decode unit/O3.
Execute the command according to the instructions. At this time, if there is an operand write, the request signal 114 is made active when the write data is complete, and thereby the bus control unit /O1 starts a bus cycle.

I/O命令の場合にも同様に、IN命令の場合には命令
を実行した時点でリクエスト信号114をアクティブに
し、OUT命令の場合にはライトデータがそろった時点
でリクエスト信号114をアクティブにする。
Similarly, in the case of an I/O instruction, in the case of an IN instruction, the request signal 114 is activated when the instruction is executed, and in the case of an OUT instruction, the request signal 114 is activated when the write data is complete. .

ここで示したようなパイプライン方式のマイクロプロセ
ッサでは、第8図に示すように、バスサイクルとは関係
なく命令が実行されるため、Out命令■とout命令
■の間のnop命令■ではリカバリ時間を保障すること
ができず、さらに多数のnop命令の挿入が必要である
In the pipelined microprocessor shown here, as shown in Figure 8, instructions are executed regardless of the bus cycle, so the nop instruction ■ between the Out instruction ■ and the out instruction ■ cannot be recovered. The time cannot be guaranteed, and it is necessary to insert a large number of nop instructions.

第8図中、クロック信号(CLK)に対する命令■、■
、■が示されているが、out命令■では、フェッチ、
デコード、アドレス計算、命令実行、I/Oライトの各
動作命令が順に行われる。
In Fig. 8, instructions ■, ■ for the clock signal (CLK)
, ■ is shown, but in the out instruction ■, fetch,
Each operation instruction of decoding, address calculation, instruction execution, and I/O write is executed in order.

nop命令■+  out命令■も、順序は同様である
The order of the nop instruction (■) and the out instruction (■) is the same.

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

以上説明したように、第2図に示すような、ブリフェッ
チ部/O2を備えたマイクロプロセッサでは、命令デフ
ード部への命令供給に時間を要することもなく、命令の
実行はバスサイクルとは非同期に行われる。そのため、
第9図に示すように、Out命令■の前にメモリライト
を伴うような命令■(mov)オペランド、ライトがあ
った場合、バスの杖態によっては、n Op命令■、n
Op命令■からなる命令が2つでもI/Oアクセスが続
いてしまう場合もあり、確実にI/Oリカバリ時間を保
障するためには、ブリフェッチキューを満たすだけの多
くのnop命令を挿入し、I/O命令の後、次に実行す
るI/O命令との間にフェッチバスサイクルが入るよう
にしなければならなかった。
As explained above, in a microprocessor equipped with a briefetch unit/O2 as shown in FIG. It will be done. Therefore,
As shown in Figure 9, if there is an instruction ■ (mov) operand and write that involves a memory write before the Out instruction ■, depending on the bus status, n Op instruction ■, n
I/O access may continue even with two instructions consisting of Op instructions■, so in order to ensure I/O recovery time, it is necessary to insert as many nop instructions as are necessary to fill the brieffetch queue. , after an I/O instruction, a fetch bus cycle had to be inserted between the next I/O instruction to be executed.

本発明の目的は、前記問題点を解決し、少ないnop命
令を挿入するだけで、リカバリ時間を保障できるように
したマイクロプロセッサを提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned problems and provide a microprocessor that can guarantee recovery time by simply inserting a small number of nop instructions.

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

本発明のマイクロプロセッサの構成は、命令デコード部
と、バス制御部と、命令実行部とを備え、I/O命令と
nop命令とが連続したことを前記命令デコード部から
前記命令実行部へ通知する第1の信号と、前記バス制御
部から前記命令実行部へバスサイクルが停止したことを
通知する第2の信号とを設け、前記nop命令で、前記
第1の信号がアクティブの場合、前記第2の信号がアク
ティブになるまで前記nop命令の実行を遅らせる制御
回路とから構成されることを特徴とする。
The configuration of the microprocessor of the present invention includes an instruction decoding section, a bus control section, and an instruction execution section, and the instruction decoding section notifies the instruction execution section that an I/O instruction and a nop instruction are consecutive. and a second signal that notifies the instruction execution unit from the bus control unit that the bus cycle has stopped, and when the first signal is active in the nop instruction, the and a control circuit that delays execution of the nop instruction until the second signal becomes active.

〔実施例〕〔Example〕

次に図面を参照して本発明について説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例のマイクロプロセッサを示す
ブロック図である。第1図において、本実施例は、バス
制御部/O1.ブリフェッチ部/O2、命令デコード部
/O3.命令実行部/O4とを備えている。ここで、信
号112は、I/O命令とnop命令とが連続したこと
を、命令デフ−ド部/O3から命令実行部/O4へ通知
する第1の信号である。信号113は、バス制御部/O
1から命令実行1/O4ヘバスサイクルが停止したこと
を通知する第2の信号である。
FIG. 1 is a block diagram showing a microprocessor according to an embodiment of the present invention. In FIG. 1, in this embodiment, bus control unit/O1. Brief fetch unit/O2, instruction decode unit/O3. It also includes an instruction execution unit/O4. Here, the signal 112 is a first signal that notifies the instruction execution unit /O4 from the instruction defoding unit /O3 that the I/O command and the nop command are consecutive. The signal 113 is the bus control unit/O
This is the second signal that notifies that the instruction execution 1/O4 bus cycle has stopped.

バス制御部/O1により、外部データバス/O5、並び
に外部アドレスバス/O6を制御する。
A bus control unit /O1 controls an external data bus /O5 and an external address bus /O6.

バス制御部/O1が外部データバス/O5から取り込ん
だ命令列を、内部データバス/O7を介してプリフェッ
チ部/O2が受は取る。プリフェッチ部/O2は、プリ
フェッチキューに命令を蓄え、順次命令デコード部/O
3へ渡す。プリフェッチキューに“空き”が生じた場合
は、命令フェッチ要求信号/O8によってバス制御部/
O1に要求シ、バス制御部/O1はバスサイクルを起動
し、命令列を取り込む。
The prefetch unit /O2 receives the instruction string that the bus control unit /O1 fetches from the external data bus /O5 via the internal data bus /O7. The prefetch unit/O2 stores instructions in a prefetch queue and sequentially sends instructions to the instruction decoding unit/O2.
Pass it to 3. When the prefetch queue becomes “empty”, the instruction fetch request signal /O8 causes the bus control unit /
Upon requesting O1, the bus control unit/O1 starts a bus cycle and takes in the instruction string.

命令デコード部/O3は、受は取った命令をデコードし
、オペランドアドレスを内部アドレスバス1/Oを介し
てバス制御部/O1へ渡し、命令デコード情報111を
命令実行部/O4へ渡す。
The instruction decode unit /O3 decodes the received instruction, passes the operand address to the bus control unit /O1 via the internal address bus 1/O, and passes the instruction decode information 111 to the instruction execution unit /O4.

命令実行部/O4は、命令デコード部/O3から受は取
った命令デコード情報111に従って、命令を実行する
。その際、オペランドライトがある場合には、ライトデ
ータがそろった時点でリクエスト信号114をアクティ
ブにし、それによってバス制御部/O1はバスサイクル
を起動する。I/O命令の場合にも同様に、IN命令の
場合には命令を実行した時点でリクエスト信号114を
アクティブにし、OUT命令の場合にはライトデータが
そろった時点でリクエスト信号114をアクティブにす
る。リクエスト信号114は、クロックの立ち下がりに
同期して変化するものとする。
The instruction execution unit /O4 executes the instruction according to the instruction decode information 111 received from the instruction decode unit /O3. At this time, if there is an operand write, the request signal 114 is activated when the write data is complete, and thereby the bus control unit /O1 starts a bus cycle. Similarly, in the case of an I/O instruction, in the case of an IN instruction, the request signal 114 is activated when the instruction is executed, and in the case of an OUT instruction, the request signal 114 is activated when the write data is complete. . It is assumed that the request signal 114 changes in synchronization with the falling edge of the clock.

I/O命令とnop命令とが連続したことを命令デコー
ド部/O3が検出した場合には、Iloとnop検出信
号112により命令実行部/O4へ通知する。
When the instruction decode unit /O3 detects that an I/O instruction and a nop instruction are consecutive, it notifies the instruction execution unit /O4 using Ilo and a nop detection signal 112.

第5図を用いて、第1図におけるnop命令の場合の命
令実行部/O4の動作を説明する。第5図において、セ
レクタ501のセレクト信号511により、命令デコー
ド情報111.ラッチ504から抽出した制御信号、イ
ンクリメンタ50Efから出力されるインクリメントさ
れたマイクロアドレスのうち、いずれかが選択され、選
択されたマイクロアドレスに対応するマイクロプログラ
ムROM503の内容が読み出されてラッチ504に保
持され、マイクロ命令デコーダ505がラッチ504の
内容をデコードして、制御信号を出力することにより、
命令が実行される。
The operation of the instruction execution unit /O4 in the case of the nop instruction in FIG. 1 will be explained using FIG. 5. In FIG. 5, instruction decode information 111 . Either the control signal extracted from the latch 504 or the incremented microaddress output from the incrementer 50Ef is selected, and the contents of the microprogram ROM 503 corresponding to the selected microaddress are read out and stored in the latch 504. The microinstruction decoder 505 decodes the contents of the latch 504 and outputs a control signal.
The command is executed.

ラッチ出力信号508の命令デコード情報111は、マ
イクロアドレスを指定するための複数の信号線であり、
そのうちの1本とIloとnop検出信号112とがA
NDゲートを通され、通常のnop命令と、I/O命令
の後のnop命令では違うマイクロアドレスがマイクロ
アドレスレジスタ502にセットされることとなり、マ
イクロプログラムROM503から異なるマイクロプロ
グラムがラッチ、デコードされることとなる。通常のn
op命令の場合は、バスサイクル停止信号113に関係
なくセレクト信号511が生成され、次の命令デコード
情報111が選択される。
The instruction decode information 111 of the latch output signal 508 is a plurality of signal lines for specifying micro addresses,
One of them, Ilo and nop detection signal 112 are A
Passed through the ND gate, different microaddresses are set in the microaddress register 502 for a normal nop instruction and a nop instruction after an I/O instruction, and different microprograms are latched and decoded from the microprogram ROM 503. It happens. normal n
In the case of an op instruction, the select signal 511 is generated regardless of the bus cycle stop signal 113, and the next instruction decode information 111 is selected.

I/O命令の後のnop命令の場合は、バスサイクル停
止信号113と制御情報5/Oが組み合わされ、ラッチ
に蓄えられた制御信号から抽出した信号508を選択し
、同じマイクロアドレスを繰り返すことによって、no
p命令の実行を保留する。バスサイクル停止信号113
がアクティブになると、インクリメンタの出力信号を選
択し、nop命令の実行を開始する。
In the case of a nop instruction after an I/O instruction, the bus cycle stop signal 113 and control information 5/O are combined, the signal 508 extracted from the control signals stored in the latch is selected, and the same microaddress is repeated. by no
Suspends execution of the p instruction. Bus cycle stop signal 113
When becomes active, it selects the incrementer's output signal and starts executing the nop instruction.

次に、バス制御部/O1に於ける、オペランドアクセス
のための制御構成例を第3図に示す。
Next, FIG. 3 shows an example of a control configuration for operand access in the bus control unit /O1.

第3図において、内部アドレスバス1/Oを介して送ら
れてきたオペランドアドレスを、三個のアドレスレジス
タ3011,3012.3013に取り入れ、同時に付
加情報を付加情報フラグ3021.3022.3023
に蓄える。このアドレスレジスタ3011,3012.
3013は、F I F O(First In/Fl
rst 0ut)となっており、この構成例では3段に
なっている。付加情報フラグ3021,3022,30
23と、命令実行部から送られてくるリクエスト信号1
14により、組み合せ回路3031,3032.303
3でアクセス要求信号301を生成する。付加情報フラ
グ3021,3022.3023は、バリッド。
In FIG. 3, the operand address sent via the internal address bus 1/O is taken into three address registers 3011, 3012, and 3013, and at the same time, additional information is stored in additional information flags 3021, 3022, and 3023.
Store in. These address registers 3011, 3012.
3013 is F I F O (First In/Fl
rst 0ut), and there are three stages in this configuration example. Additional information flags 3021, 3022, 30
23 and request signal 1 sent from the instruction execution unit
14, combinational circuits 3031, 3032, 303
3, an access request signal 301 is generated. Additional information flags 3021, 3022, and 3023 are valid.

R/W+ mem/I Oの3ビツトで構成され、メモ
リ・リードの場合にはすぐにアクセス要求にいき、ライ
トまたはIloの場合には、リクエスト信号114がき
た時点でアクセス要求にいく。組み合せ回路304は、
アクセス要求信号301゜リセット信号3/O.レディ
ー信号311.TIニステート信号314TIニステー
ト信号313T2ステート信号312を入力し、バスサ
イクルを制御するためのステート準備信号TOTI30
5、TOT1306.TOT2307を出力する。この
組み合せ回路304の入出力の組み合せを第6図に示す
It is composed of 3 bits: R/W+mem/I0, and in the case of a memory read, it immediately goes to an access request, and in the case of a write or Ilo, it goes to an access request when the request signal 114 arrives. The combinational circuit 304 is
Access request signal 301° Reset signal 3/O. Ready signal 311. TI new state signal 314 TI new state signal 313 A state preparation signal TOTI30 for inputting the T2 state signal 312 and controlling the bus cycle.
5, TOT1306. Output TOT2307. A combination of input and output of this combinational circuit 304 is shown in FIG.

第6図において、すべてアクティブレベルは「1」であ
り、「−」は参照しないことを表す。
In FIG. 6, the active level is "1" in all cases, and "-" indicates not to refer to.

外部アクセスのバスサイクルは、TIニステートT2ス
テートの2クロツクで終結する。T1ステートの次には
必ずT2ステートがくるが、T2ステートの次には、レ
ディーがインアクティブの場合にはウェイト状態となり
T2ステートを繰り返し、アクセス要求によって、Tニ
ステートまたはT1ステートへと遷移する。T2ステー
トからTIニステート遷移した場合をバスサイクルの停
止と見なし、バスサイクル停止信号113をアクティブ
にして、命令実行部へ通知する。フリップフロップ30
8は、TI、Tl、T2をクロックで切り換えるための
Dフリップフロップである。
The external access bus cycle ends with two clocks of the TI state and T2 state. The T2 state always comes after the T1 state, but after the T2 state, if the ready is inactive, it enters a wait state, repeats the T2 state, and transitions to the T2 state or the T1 state in response to an access request. A transition from the T2 state to the TI state is regarded as a stop of the bus cycle, and the bus cycle stop signal 113 is activated to notify the instruction execution unit. flip flop 30
8 is a D flip-flop for switching TI, Tl, and T2 with a clock.

命令デコード部/O3に於て、I/O命令の次のnop
命令を検出する構成例を第4図に示す。
In the instruction decoding unit/O3, the next nop of the I/O instruction
FIG. 4 shows an example of a configuration for detecting commands.

第4図において、I/O命令を検出すると、■/O命令
の場合にだけアクティブになるI/O命令検出信号40
2によってDフリップフロップ404をセットし、no
り命令を検出した場合に、nop命令検出信号403と
、I/O命令保持信号405のANDをとることによっ
て、Iloとnop検出信号112を生成し、命令実行
部に通知する。
In FIG. 4, when an I/O command is detected, an I/O command detection signal 40 becomes active only in the case of an /O command.
2 sets D flip-flop 404 and no
When an instruction is detected, Ilo and a nop detection signal 112 are generated by ANDing the nop instruction detection signal 403 and the I/O instruction holding signal 405, and the generated nop detection signal 112 is notified to the instruction execution unit.

第7図にN n o p命令の後にnop命令があり、
その後にout命令がある場合のパイプライン動作を示
す。このマイクロプロセッサは、命令フェッチ、命令デ
コード、アドレス計算、オペランドアクセス、命令実行
の5段のパイプラインを持ち、各ステージは1クロツク
で終結し、外部アクセスはウェイトがない場合、2クロ
ツクで終結するものとする。命令実行部では、I/O命
令■を実行し、クロックの立ち下がりに同期してリクエ
スト信号をアクティブにし、■/O命令■の実行を終了
する。I/O命令■の後のnop命令■であるから、命
令デコード部ではI/O&nop検出信号をアクティブ
とし、それによって、n。
In Figure 7, there is a nop instruction after the N no p instruction,
The pipeline operation when there is an out instruction after it is shown. This microprocessor has a five-stage pipeline of instruction fetch, instruction decode, address calculation, operand access, and instruction execution, and each stage is completed in one clock, and external access is completed in two clocks if there is no wait. shall be taken as a thing. The instruction execution unit executes the I/O instruction (2), activates the request signal in synchronization with the falling edge of the clock, and ends the execution of the (2)/O instruction (2). Since this is the nop instruction (2) after the I/O instruction (2), the instruction decoding section makes the I/O&nop detection signal active, thereby causing n.

p命令■を実行しようとしていた命令実行部は、バスサ
イクル停止信号がアクティブになるまでnOp命令■の
実行を保留する。■のout命令のI/Oライトサイク
ルが終了して、T2ステートからアイドル状態のTIニ
ステートなると、バスサイクル停止信号がアクティブに
なり、nop命令■が実行される。
The instruction execution unit that was about to execute the p instruction ■ suspends execution of the nOp instruction ■ until the bus cycle stop signal becomes active. When the I/O write cycle of the out instruction (2) is completed and the T2 state changes to the idle state TI state, the bus cycle stop signal becomes active and the nop instruction (2) is executed.

このように、1つのnop命令で、前のI/Oアクセス
と後のI/Oアクセスの間に数クロックの余裕を持つこ
とが実現できる。
In this way, with one nop instruction, it is possible to provide a margin of several clocks between the previous I/O access and the subsequent I/O access.

従来のパイプライン方式のマイクロプロセッサでは、■
/Oのリカバリ時間を得るために、工/O命令とI/O
命令の間に多数のnop命令の挿入が必要だったが、こ
れに対して本実施例では2本の信号と、必要最小限のn
op命令でIloのリカバリ時間を保障することができ
る。
In conventional pipelined microprocessors, ■
In order to obtain /O recovery time, the /O instruction and I/O
It was necessary to insert many nop instructions between instructions, but in this embodiment, only two signals and the minimum number of nop instructions are required.
The recovery time of Ilo can be guaranteed with the op instruction.

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

以上説明したように、従来のパイプライン方式のマイク
ロプロセッサでは、1/Oリ力バリ時間を得るために挿
入するnop命令が意味を持たなくなり、多くのnop
命令が必要であったが、本発明のマイクロプロセッサで
は、周辺デバイスのI/Oリカバリ時間に合わせてno
p命令を工から数個挿入するだけで良く、また連続する
I/Oアクセスでもポートが違うなどでI/Oリカバリ
時間を必要としない場合には、nop命令を挿入しない
ことによって連続してI/Oアクセスができ、従ってプ
ログラムφサイズの縮小ができ、またコンピュータシス
テムの性能を向上させるという効果がある。
As explained above, in conventional pipelined microprocessors, the nop instructions inserted to obtain the 1/O recovery time have no meaning, and many nop
However, in the microprocessor of the present invention, no instructions are required in accordance with the I/O recovery time of peripheral devices.
If you only need to insert a few p instructions from the beginning, and you do not need I/O recovery time because the ports are different for consecutive I/O accesses, you can perform consecutive I/O accesses by not inserting nop instructions. /O access is possible, so the program size φ can be reduced, and the performance of the computer system can be improved.

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

第1図は本発明の一実施例のマイクロプロセッサを示す
ブロック図、第2図は従来のマイクロプロセッサに於け
るブロック図、第3図は第1図で示したバス制御部のブ
ロック図、第4図は第1図で示した命令デコード部のブ
ロック図、第5図は第1図で示した命令実行部のブロッ
ク図、第6図は第2図に於ける組み合せ回路の真理値表
を示す図、第7図は第1図に於けるパイプライン動作の
図、第8図及び第9図はいずれも従来の技術に於けるパ
イプライン動作の図である。 /O1・・・バス制御部、/O2・・・ブリフェッチ部
、/O3・・・命令デコード部、/O4・・・命令実行
部、/O5・・・外部データバス、/O6・・・外部ア
ドレスバス、/O7・・・内部データバス、/O8・・
・命令フェッチ要求信号、/O9・・・内部データバス
2.1/O・・・内部アドレスバス、111・・・命令
デコード情報、112・・・Iloとnop@出信号、
113・・・バスサイクル停止信号、114・・・リク
エスト信号、301・・・アクセス要求信号、302・
・・選択信号、303・・・ポインタ回路、304.5
07・・・組み合せ回路、305・・・ステート準備信
号TOT11306・・・ステート準備信号TOT 1
.307・・・ステート準備信号TOT2.308,4
04・・・Dフリップフロップ、309・・・クリア信
号、3/O・・・リセット信号、311・・・レディー
信号、312・・・T2ステート信号、313・・・T
1ステート信号、314・・・TIステート信号、31
5・・・アドレスラッチ、3011・・・アドレスレジ
スタ013012・・・アドレスレジスタ1.3013
・・・アドレスレジスタ2.3021・・・付加情報フ
ラグ013022・・・付加情報フラグ1.3023・
・・付加情報フラグ2.3031・・・組み合せ回路0
.3032・・・組み合せ回路1.3033・・・組み
合せ回路2.401・・・命令コーグ、402・・・I
/O命令検出信号、403・・・nop命令検出信号、
405・・・I/O命令保持信号、406・・・AND
ゲート、501・・・セレクタ、502・・・マイクロ
アドレス・レジスタ、503・・・マイクロプログラム
ROM1504・・・マイクロ命令ラッチ、505・・
・マイクロ命令デコーダ、506・・・インクリメンタ
、508・・・ラッチに蓄えられた制御情報から抽出し
た信号、509・・・インクリメンタの出力信号、5/
O・・・制御信号、511・・・セレクト信号。
FIG. 1 is a block diagram showing a microprocessor according to an embodiment of the present invention, FIG. 2 is a block diagram of a conventional microprocessor, and FIG. 3 is a block diagram of the bus control section shown in FIG. Figure 4 is a block diagram of the instruction decoding unit shown in Figure 1, Figure 5 is a block diagram of the instruction execution unit shown in Figure 1, and Figure 6 is a truth table of the combinational circuit in Figure 2. 7 is a diagram of the pipeline operation in FIG. 1, and FIGS. 8 and 9 are diagrams of the pipeline operation in the conventional technology. /O1...Bus control unit, /O2...Briefetch unit, /O3...Instruction decoding unit, /O4...Instruction execution unit, /O5...External data bus, /O6...External Address bus, /O7...Internal data bus, /O8...
・Instruction fetch request signal, /O9...internal data bus 2.1/O...internal address bus, 111...instruction decode information, 112...Ilo and nop@ output signal,
113...Bus cycle stop signal, 114...Request signal, 301...Access request signal, 302...
...Selection signal, 303...Pointer circuit, 304.5
07...Combination circuit, 305...State preparation signal TOT11306...State preparation signal TOT 1
.. 307...State preparation signal TOT2.308,4
04...D flip-flop, 309...clear signal, 3/O...reset signal, 311...ready signal, 312...T2 state signal, 313...T
1 state signal, 314...TI state signal, 31
5... Address latch, 3011... Address register 013012... Address register 1.3013
... Address register 2.3021 ... Additional information flag 013022 ... Additional information flag 1.3023.
...Additional information flag 2.3031...Combination circuit 0
.. 3032...Combination circuit 1.3033...Combination circuit 2.401...Instruction Korg, 402...I
/O command detection signal, 403... nop command detection signal,
405...I/O command holding signal, 406...AND
Gate, 501... Selector, 502... Micro address register, 503... Micro program ROM 1504... Micro instruction latch, 505...
- Microinstruction decoder, 506... Incrementer, 508... Signal extracted from control information stored in latch, 509... Output signal of incrementer, 5/
O...Control signal, 511...Select signal.

Claims (1)

【特許請求の範囲】 1、命令デコード部と、バス制御部と、命令実行部とを
備え、I/O命令とnop命令とが連続したことを前記
命令デコード部から前記命令実行部へ通知する第1の信
号と、前記バス制御部から前記命令実行部へバスサイク
ルが停止したことを通知する第2の信号とを設けたこと
を特徴とするマイクロプロセッサ。 2、nop命令における第1の信号がアクティブの場合
、第2の信号がアクティブになるまで前記nop命令の
実行を遅らせるものである請求項1記載のマイクロプロ
セッサ。
[Claims] 1. An instruction decoding unit, a bus control unit, and an instruction execution unit are provided, and the instruction decoding unit notifies the instruction execution unit that an I/O instruction and a nop instruction are consecutive. A microprocessor comprising: a first signal; and a second signal that notifies the instruction execution unit from the bus control unit that a bus cycle has stopped. 2. The microprocessor according to claim 1, wherein when a first signal in a nop instruction is active, execution of the nop instruction is delayed until a second signal becomes active.
JP2300114A 1990-11-06 1990-11-06 Microprocessor Expired - Lifetime JP2636074B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2300114A JP2636074B2 (en) 1990-11-06 1990-11-06 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2300114A JP2636074B2 (en) 1990-11-06 1990-11-06 Microprocessor

Publications (2)

Publication Number Publication Date
JPH04171534A true JPH04171534A (en) 1992-06-18
JP2636074B2 JP2636074B2 (en) 1997-07-30

Family

ID=17880892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2300114A Expired - Lifetime JP2636074B2 (en) 1990-11-06 1990-11-06 Microprocessor

Country Status (1)

Country Link
JP (1) JP2636074B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03136136A (en) * 1989-10-23 1991-06-10 Fujitsu Ltd Instruction execution time control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03136136A (en) * 1989-10-23 1991-06-10 Fujitsu Ltd Instruction execution time control system

Also Published As

Publication number Publication date
JP2636074B2 (en) 1997-07-30

Similar Documents

Publication Publication Date Title
JP2810068B2 (en) Processor system, computer system, and instruction processing method
US5923893A (en) Method and apparatus for interfacing a processor to a coprocessor
US5006980A (en) Pipelined digital CPU with deadlock resolution
US7007154B2 (en) Method and apparatus for interfacing a processor to a coprocessor
KR100323191B1 (en) Data processing device with multiple instruction sets
US4897787A (en) Data processing system
US5041968A (en) Reduced instruction set computer (RISC) type microprocessor executing instruction functions indicating data location for arithmetic operations and result location
JPH0736155B2 (en) Method and apparatus for addressing microinstruction stack in high speed CPU
EP0378415A2 (en) Multiple instruction dispatch mechanism
US5619730A (en) Pipelining device in a parallel processing apparatus and an instruction supplying method therefor
KR20070107814A (en) Processor and method of grouping and executing dependent instructions in a packet
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
JPH0391029A (en) Data processor
JPH09237184A (en) Instruction executing method and its device
JPS58182758A (en) Arithmetic controller
US5590293A (en) Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization
JPH04171534A (en) Microprocessor
JP2694948B2 (en) Micro program processor
US5187782A (en) Data processing system
EP0573071A2 (en) A microprocessor
JPS6049337B2 (en) Pipeline control method
US20060095723A1 (en) Method and apparatus for interfacing a processor to a coprocessor
JP2636821B2 (en) Parallel processing unit
JPH0524537B2 (en)
JPH06131180A (en) Instruction processing system and instruction processor