JPH03269626A - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JPH03269626A
JPH03269626A JP7018790A JP7018790A JPH03269626A JP H03269626 A JPH03269626 A JP H03269626A JP 7018790 A JP7018790 A JP 7018790A JP 7018790 A JP7018790 A JP 7018790A JP H03269626 A JPH03269626 A JP H03269626A
Authority
JP
Japan
Prior art keywords
instruction
bus
queue
bus cycle
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.)
Pending
Application number
JP7018790A
Other languages
Japanese (ja)
Inventor
Akita Hara
原 明大
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 JP7018790A priority Critical patent/JPH03269626A/en
Publication of JPH03269626A publication Critical patent/JPH03269626A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To shorten the time necessary for prefetch of an instruction by providing two buses for fetch and execution of instructions, a control timing generation circuit, and a control unit for the control timing generation circuit and then switching the driving bus timing. CONSTITUTION:An instruction executing unit 2 executes the instruction taken out of an instruction queue 3. A bus control unit 4 decides an external bus cycle to be executed next based on the states of the queue 3 and the unit 2, and generates a control signal. A normal bus cycle generating circuit 5 produces a bus cycle needed for the unit 2 to execute an instruction and then drives a bus. An instruction fetch bus cycle generating circuit 6 generates an instruction fetch bus cycle when the queue 3 includes an idle area and drives the bus. Then a data selector 7 receives a control signal from the unit 4 and performs a switching operation so as to make the circuit 5 or 6 enable to drive the bus. In this case, the unit 4 controls the circuit 5 so as to satisfy the queue 3 and generates a bus cycle in accordance with the depth of the queue 3.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、命令先取り(ブリフェッチ〉キューを持った
マイクロプロセッサに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a microprocessor with an instruction prefetch queue.

〔従来の技術〕[Conventional technology]

従来、この種のマイクロプロセッサでは、ブリフェッチ
に伴ない起動されるリードサイクルと命令実行により起
動されるリードサイクルとは、同一である。この種のマ
イクロプロセッサは、いくつかの連続して実行される命
令の平均実行時間が1つ1つの命令の命令コードのブリ
フェッチに必要な時間をある程度越えていれば、命令実
行ユニットが1つの命令を実行終了したときに、引続い
て実行可能な命令コードがキューに用意できる。
Conventionally, in this type of microprocessor, the read cycle activated by a brief fetch and the read cycle activated by instruction execution are the same. In this type of microprocessor, if the average execution time of several consecutively executed instructions exceeds the time required to pre-fetch the instruction code of each instruction, the instruction execution unit can execute one instruction. When the execution of the instruction code is completed, the next executable instruction code is available in the queue.

このため外部メモリ(命令コードが書き込まれている)
からの命令フェッチ時間を命令実行時間から除けるよう
になる。その結果キューを持ったマイクロプロセッサで
は、1命令ごとにフェッチ実行を行うタイプに比べ処理
速度が向上できるという効果がある。
For this reason, external memory (in which instruction codes are written)
This allows the instruction fetch time from the instruction execution time to be excluded from the instruction execution time. As a result, a microprocessor with a queue has the effect of improving processing speed compared to a type that fetches and executes each instruction.

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

上述した従来の技術では、命令キューが一般にジャンプ
命令などによりクリアされてしまい、そのジャンプ先で
は新たな命令キューへのブリフェッチが実行されること
から、ジャンプ命令を多用したソフトウェアではこの命
令キューによる命令のブリフェッチの実行にともなう効
果が半減してしまうという欠点がある。
In the conventional technology described above, the instruction queue is generally cleared by a jump instruction, etc., and at the jump destination, a brief fetch is executed to a new instruction queue. Therefore, in software that uses many jump instructions, the instruction queue is cleared by this instruction queue. The disadvantage is that the effect of executing briefetch is halved.

本発明の目的は、このような欠点を除き、ブリフェッチ
時には別のバスサイクルを発生する回路を有することに
より、高速にアクセスを行うことのできるマイクロプロ
セッサを提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a microprocessor that eliminates these drawbacks and can perform high-speed access by having a circuit that generates another bus cycle during briefetch.

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

本発明のマイクロプロセッサの構成は、命令実行のため
フェッチした命令を取込むための命令キューと、この命
令キューに取込まれた命令を順次実行する命令実行ユニ
ットと、前記命令キューに命令を取込む際のメモリリー
ドのバスサイクルとして、命令実行に伴なうメモリ、I
loのリード又はライト・サイクルのバスサイクルとは
異るバスサイクルを起動するバスサイクル発生回路と、
このバスサイクル発生回路の制御を行う制御回路とを有
することを特徴とする。
The configuration of the microprocessor of the present invention includes an instruction queue for taking in instructions fetched for instruction execution, an instruction execution unit for sequentially executing the instructions taken into the instruction queue, and an instruction execution unit for taking instructions into the instruction queue. As a memory read bus cycle when reading the memory, I
a bus cycle generation circuit that starts a bus cycle different from the bus cycle of the lo read or write cycle;
The present invention is characterized by comprising a control circuit that controls the bus cycle generation circuit.

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

第1図は本発明の一実施例のブロック図である。データ
セレクタ1は、外部バスとの入出力を行う。また、命令
キュー3は、データセレクタ1により入出力された命令
を取込み命令実行ユニット2へ送出する。命令実行ユニ
ット2は、命令キュー3より取出した命令を実行する。
FIG. 1 is a block diagram of one embodiment of the present invention. The data selector 1 performs input/output with an external bus. Further, the instruction queue 3 sends out instructions inputted and outputted by the data selector 1 to the instruction execution unit 2 . The instruction execution unit 2 executes the instruction taken out from the instruction queue 3.

また、バス制御ユニット4は命令キュー3と命令実行ユ
ニット2の状態により、次に実行する外部バスサイクル
を決定し制御信号を発生し、ノーマルバスサイクル発生
回路5は、命令実行ユニットが命令を実行する上で必要
となるバスサイクルを発生させ、バスを駆動する。命令
フェッチバスサイクル発生回路6は命令キュー3に空き
がある場合に、命令フェッチバスサイクルを発生させ、
バスを駆動する。さらに、データセレクタ7は、バス制
御ユニット4からの制御信号をうけて、ノーマルバスサ
イクル発生回路5又は、命令フェッチバスサイクル発生
回路6いずれかがバスを駆動可能とするよう、切替えを
行う。
Further, the bus control unit 4 determines the next external bus cycle to be executed based on the states of the instruction queue 3 and the instruction execution unit 2, and generates a control signal. Generates the bus cycles necessary for the process and drives the bus. The instruction fetch bus cycle generation circuit 6 generates an instruction fetch bus cycle when there is space in the instruction queue 3,
Drive the bus. Further, the data selector 7 receives a control signal from the bus control unit 4 and performs switching so that either the normal bus cycle generation circuit 5 or the instruction fetch bus cycle generation circuit 6 can drive the bus.

この実施例において、まずバス制御ユニット4は、命令
キュー3を満たすように、ノーマルバスサイクル発生回
路5を制御し、命令キュー3の深さに応じたバスサイク
ルを発生させる。
In this embodiment, the bus control unit 4 first controls the normal bus cycle generation circuit 5 to fill the instruction queue 3, and generates bus cycles according to the depth of the instruction queue 3.

ここで、この命令フェッチ・バスサイクル発生回路6の
発生するバス・タイミングは、ノーマル・バスサイクル
発生回路5が発生するバス・タイミングとは異なり、第
2図に示すサイクルで行われている。
Here, the bus timing generated by the instruction fetch bus cycle generation circuit 6 is different from the bus timing generated by the normal bus cycle generation circuit 5, and is performed according to the cycle shown in FIG.

このサイクルは、一般的な汎用ダイナミックRAMでは
、スタティックカラムモードにおけるリードサイクルに
相当する。このスタティックカラムモードとは、同一ロ
ウアドレス内のデータを高速にアクセスするモードであ
る。つまり、ブリフェッチに伴ないメモリがリードする
サイクルとしては、アドレスは常に単純なインクリメン
ト、又はデクリメントで良く、そのため同一ロウアドレ
ス内のデータのリードで良いことになる。
This cycle corresponds to a read cycle in static column mode in a general-purpose dynamic RAM. This static column mode is a mode in which data within the same row address is accessed at high speed. In other words, in a cycle in which the memory reads in response to a brifetch, the address may always be simply incremented or decremented, and therefore data within the same row address may be read.

従って、N番地よりフェッチを開始した場合、N+1番
地以降は汎用ダイナミックRAMにおけるスタティック
カラムモードの使用が可能となり、より高速なフェッチ
サイクルが実行できる。
Therefore, when a fetch is started from address N, the static column mode in the general-purpose dynamic RAM can be used from address N+1 onwards, and a faster fetch cycle can be executed.

このスタティックカラムモードのリードサイクルは通常
のリードサイクルの1/2程度である2次に、命令キュ
ーが満たされた場合、バス制御ユニット4は命令フェッ
チ・バスサイクル発生回路6をディスエーブル、ノーマ
ル・バスサイクル発生回路5をイネーブルとし、命令実
行にともない発生するバスサイクルを発生させる。
The read cycle in this static column mode is about 1/2 of the normal read cycle.Secondly, when the instruction queue is filled, the bus control unit 4 disables the instruction fetch bus cycle generation circuit 6, The bus cycle generation circuit 5 is enabled to generate bus cycles that occur as instructions are executed.

−例として、1メガビツトの汎用ダイナミックRAMで
は、ロウアドレス、カラムアドレスはそれぞれ10ビツ
トずつ(A o〜A9)となっている。このとき、第2
図において、例えばフェッチアドレスが800008 
(16進表示)とすると、ロウアドレス、カラムアドレ
スをそれぞれ200H,0OOHとし、この順で入力す
れば、第2フエツチサイクルはカラムアドレスを+IH
するのみとなり、スタティックカラムモードの使用が極
めて容易となる。
- As an example, in a 1 megabit general-purpose dynamic RAM, the row address and column address are each 10 bits (Ao to A9). At this time, the second
In the figure, for example, the fetch address is 800008
(displayed in hexadecimal), the row address and column address are 200H and 0OOH, respectively, and if input in this order, the second fetch cycle will change the column address to +IH.
This makes it extremely easy to use static column mode.

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

以上説明したように本発明は、命令フェッチ時と命令実
行時2つのバス、制御タイミングを発生するタイミング
発生回路と、それを制御するユニットとを有し、駆動す
るバスタイミングを切りかえることにより、キューが頻
繁にクリアされるようなプログラムを作成した場合でも
、命令フェッチに必要とする時間を大幅に短縮可能とな
る。また、同一ロウアドレス内でのアクセスが可能とな
り、−度フエッチのために起動し、活性化したメモリア
クセス信号(汎用ダイナミックRAMでは、7. rT
y)をフェッチ完了まで活性化しつづけられることによ
り、アクセスに伴ない発生する過渡電流(rryの立ち
上り、立下りで流れる)をなくし、より低電力なメモリ
システムの構築が可能となるという効果もある。
As explained above, the present invention has two buses, one for fetching an instruction and one for executing an instruction, a timing generation circuit that generates control timing, and a unit that controls it, and by switching the bus timing to drive, Even if a program is created in which the data is cleared frequently, the time required for fetching instructions can be significantly reduced. In addition, access within the same row address becomes possible, and the activated memory access signal (7. rT in general-purpose dynamic RAM) is activated and activated for -degree fetch.
By being able to keep y) active until the fetch is completed, it is possible to eliminate the transient current that occurs during access (flowing at the rise and fall of rry), making it possible to construct a memory system with lower power consumption. .

図は第1図と汎用ダイナミックRAMの動作を説明する
タイミング図である。
The figure is a timing diagram illustrating the operation of the general-purpose dynamic RAM in conjunction with FIG. 1.

1・・・データセレクタ、2・・・命令実行ユニット、
3・・・命令キュー 4・・・バス制御ユニット、5・
・・ノーマルバスサイクル発生回路、6・・・命令フェ
ッチ・バスサイクル発生回路、7・・・データ・セレク
タ。
1...Data selector, 2...Instruction execution unit,
3... Instruction queue 4... Bus control unit, 5...
...Normal bus cycle generation circuit, 6.Instruction fetch bus cycle generation circuit, 7.Data selector.

Claims (1)

【特許請求の範囲】[Claims] 命令実行のためフェッチした命令を取込むための命令キ
ューと、この命令キューに取込まれた命令を順次実行す
る命令実行ユニットと、前記命令キューに命令を取込む
際のメモリリードのバスサイクルとして、命令実行に伴
なうメモリ、I/Oのリード又はライト・サイクルのバ
スサイクルとは異るバスサイクルを起動するバスサイク
ル発生回路と、このバスサイクル発生回路の制御を行う
制御回路とを有することを特徴とするマイクロプロセッ
サ。
An instruction queue for fetching instructions for instruction execution, an instruction execution unit for sequentially executing the instructions fetched into this instruction queue, and a memory read bus cycle when fetching instructions into the instruction queue. , a bus cycle generation circuit that starts a bus cycle different from a bus cycle of a memory or I/O read or write cycle associated with instruction execution, and a control circuit that controls this bus cycle generation circuit. A microprocessor characterized by:
JP7018790A 1990-03-19 1990-03-19 Microprocessor Pending JPH03269626A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7018790A JPH03269626A (en) 1990-03-19 1990-03-19 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7018790A JPH03269626A (en) 1990-03-19 1990-03-19 Microprocessor

Publications (1)

Publication Number Publication Date
JPH03269626A true JPH03269626A (en) 1991-12-02

Family

ID=13424277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7018790A Pending JPH03269626A (en) 1990-03-19 1990-03-19 Microprocessor

Country Status (1)

Country Link
JP (1) JPH03269626A (en)

Similar Documents

Publication Publication Date Title
KR930002935A (en) Information processing device
JPS5911921B2 (en) numerical control device
JPH03269626A (en) Microprocessor
JP2564054B2 (en) Register file
JP3145545B2 (en) Memory access device
JP3305841B2 (en) Program control unit
JP2000029508A (en) Programmable controller
JP2504974B2 (en) Sequencer high-speed processing method
JP3366235B2 (en) Data read control device
JP3063593B2 (en) Programmable controller
JP3255429B2 (en) Memory interface circuit
JP3124361B2 (en) Memory data loading device
JPH0683986A (en) Single chip microcomputer
JPH05250156A (en) Risc processor
JPH02133833A (en) Controller for in-circuit emulator
JPH0334185A (en) Address modifiable memory array
JPS62248043A (en) Memory switching circuit for fetching microcomputer instruction
JPH07302219A (en) Data processor and data processing method
JPH06119169A (en) Microcomputer
JPS59158449A (en) Debugging device
JPH03141425A (en) Logic arithmetic system
JPH0454531A (en) Program reading circuit
JPH0340133A (en) Information processor
JPH04140838A (en) Information processor
JPH05189015A (en) Programmable controller