JP2999907B2 - Central processing unit with microprogram control - Google Patents

Central processing unit with microprogram control

Info

Publication number
JP2999907B2
JP2999907B2 JP16546293A JP16546293A JP2999907B2 JP 2999907 B2 JP2999907 B2 JP 2999907B2 JP 16546293 A JP16546293 A JP 16546293A JP 16546293 A JP16546293 A JP 16546293A JP 2999907 B2 JP2999907 B2 JP 2999907B2
Authority
JP
Japan
Prior art keywords
instruction
address
queue
unit
memory access
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 - Fee Related
Application number
JP16546293A
Other languages
Japanese (ja)
Other versions
JPH0721018A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP16546293A priority Critical patent/JP2999907B2/en
Publication of JPH0721018A publication Critical patent/JPH0721018A/en
Application granted granted Critical
Publication of JP2999907B2 publication Critical patent/JP2999907B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、マイクロプログラム制
御方式の中央処理装置に係り、特に、パイプライン動作
により同時に複数の命令の処理を行なう中央処理装置に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a central processing unit of a microprogram control type, and more particularly, to a central processing unit for simultaneously processing a plurality of instructions by a pipeline operation.

【0002】[0002]

【従来の技術】今日のCPUにおいては、処理速度の向
上を目的としてパイプライン動作を行なっているものが
多い。パイプライン動作は、命令の処理を幾つかの処理
ステージに分割し、各ステージが独立して動作すること
により短期間で処理を終了せしめ、処理速度の向上を計
っているものである。
2. Description of the Related Art Many CPUs today perform a pipeline operation for the purpose of improving the processing speed. The pipeline operation divides the processing of an instruction into several processing stages and terminates the processing in a short period of time by operating each stage independently, thereby improving the processing speed.

【0003】一般に、命令の処理は大きく4つに分解す
ることができ、それらは、命令のフェッチ、デコード、
実行、結果のストアである。これらを4段の処理ステー
ジに分割し、パイプラインが理想的に動作すれば、1サ
イクル毎に命令の処理が完了することになる。ところ
が、実際の処理においてはオペランドのリード/ライ
ト、メモリ間接アドレシングのときのメモリ上のポイン
タの参照、個々の命令の実行時間のバラつき等により動
作が複雑となり、特定のパイプラインステージに負荷が
集中し期待した処理速度はなかな得られない。
[0003] In general, the processing of instructions can be broken down into four main parts: instruction fetch, decode,
Run, store results. If these are divided into four processing stages and the pipeline operates ideally, the processing of the instruction is completed every cycle. However, in actual processing, operation becomes complicated due to read / write of operands, reference of a pointer in a memory at the time of memory indirect addressing, variation in execution time of individual instructions, and the like, and the load is concentrated on a specific pipeline stage However, the expected processing speed cannot be obtained easily.

【0004】即ち、従来は、メモリサイクルを伴った命
令の場合、フェッチ後の第2クロックサイクルの間に、
命令をデコーダし、マイクロプログラムの開始アドレス
であるベクターアドレスと、命令コードの1部にあるオ
フセットアドレスの2つの情報をキューに蓄え、ALU
等を含む実行部に渡す。次の第3クロックサイクルで
は、実行部において、オペランドアドレスをオフセット
アドレスから計算し、計算したオペランドアドレスをア
ドレスレジスタにセットしてメモリシステムを起動す
る。そして、第4クロックサイクルでメモリシステムか
らのデータをリードし、最後の第5サイクルで加算等の
実行を行う。
That is, conventionally, in the case of an instruction accompanied by a memory cycle, during the second clock cycle after the fetch,
The instruction is decoded, and two pieces of information, a vector address which is a start address of the microprogram and an offset address in a part of the instruction code, are stored in a queue, and the ALU is stored.
And so on. In the next third clock cycle, the execution unit calculates the operand address from the offset address, sets the calculated operand address in the address register, and starts the memory system. Then, data from the memory system is read in the fourth clock cycle, and addition and the like are performed in the last fifth cycle.

【0005】[0005]

【発明が解決しようとする課題】上述のように、従来で
は、メモリサイクルを伴った命令の場合、命令のデコー
ド後に実行部において、オペランドアドレス計算,オペ
ランドリード,実行の3サイクルを費やしていた。そこ
で、命令処理をさらに細かく分解し5段、6段といった
パイプライン処理を採用する方法がある。しかし、この
方法はただでさえ複雑なパイプライン処理をさらに複雑
にする結果になり、処理速度以上にコストが増加する。
As described above, conventionally, in the case of an instruction accompanied by a memory cycle, three cycles of operand address calculation, operand read, and execution are spent in the execution unit after decoding the instruction. Therefore, there is a method in which instruction processing is further finely divided and a pipeline processing such as five stages or six stages is adopted. However, this approach simply adds to the complexity of the complicated pipeline process and adds cost over processing speed.

【0006】そこで、本発明は、パイプラインの処理ス
テージを追加することなく、負荷を適切に割り当てるこ
とにより処理速度の向上を実現するものである。
Therefore, the present invention realizes an improvement in processing speed by appropriately allocating loads without adding a processing stage in a pipeline.

【0007】本発明は、メモリシステムからの命令の
読みを制御する先読制御部と、先読みされた複数の命令
を蓄える命令キューと、アドレス発生手段を有し前記命
令キューから順次命令を取り出して解析し解析結果を出
力する命令デコーダと、該命令デコーダからの解析結果
を蓄えるマイクロベクターキューと、該マイクロベクタ
ーキューの出力に応じて各種制御信号を発生するCCU
と、命令を実行する実行部とを備え、パイプライン処理
を行う中央処理装置において、前記命令中に含まれるオ
フセットアドレスと前記アドレス発生手段のアドレスか
らオペランドアドレスを計算するオペランドアドレス計
算部と、該計算したオペランドアドレスを蓄えるオペラ
ンドアドレスキューとを設けると共に、前記マイクロベ
クターキューの一部に、命令がメモリアクセスを伴う命
令であるか否かを示す情報をセットするようにし、更
に、前記命令部で命令の処理が完了する最後のクロック
サイクルにおいて、前記マイクロベクターキューからの
前記情報がメモリアクセスを伴う命令であることを示し
ているときは、前記先読制御部及び実行部からのメモリ
アクセス要求に優先して、前記オペランドアドレスキュ
ーのアドレスを前記メモリシステムに出力するメモリア
クセス調停部を設け、上記課題を解決するものである。
According to the present invention, there is provided a prefetch control unit for controlling prefetching of an instruction from a memory system, an instruction queue for storing a plurality of prefetched instructions, and address generation means. An instruction decoder that sequentially fetches and analyzes instructions and outputs an analysis result, a micro vector queue that stores analysis results from the instruction decoder, and a CCU that generates various control signals in accordance with the output of the micro vector queue
And an execution unit for executing an instruction, wherein the central processing unit performs pipeline processing, wherein an operand address calculation unit for calculating an operand address from an offset address included in the instruction and an address of the address generation unit; An operand address queue for storing the calculated operand address is provided, and information indicating whether or not the instruction is an instruction accompanied by a memory access is set in a part of the micro vector queue. In the last clock cycle in which the processing of the instruction is completed, when the information from the micro vector queue indicates that the instruction involves a memory access, a memory access request from the prefetch control unit and the execution unit Priority is given to the address of the operand address queue. Provided a memory access arbitration unit for outputting the memory system is intended to solve the above problems.

【0008】[0008]

【作用】本発明では、命令のデコードと同時にオペラン
ドアドレスが計算され、先行する命令の処理が完了する
最後のクロックサイクルにおいて、次の命令がメモリア
クセスを伴う命令であるときは、先読制御部及び実行部
からメモリアクセス要求があっても、これらの要求に優
先して計算されたオペランドアドレスがメモリシステム
に出力されるようになり、次のクロックサイクルではす
ぐにオペランドのリードが行える。
According to the present invention, the operand address is calculated simultaneously with the decoding of an instruction, and in the last clock cycle in which the processing of the preceding instruction is completed, if the next instruction is an instruction involving memory access, the prefetch control unit Even if there is a memory access request from the execution unit, the operand address calculated prior to these requests is output to the memory system, and the operand can be read immediately in the next clock cycle.

【0009】[0009]

【実施例】図1は、本発明の実施例の構成を示すブロッ
ク図であり、1はプログラムやデータを記憶するメモリ
及びそのリードライト制御回路からなるメモリシステ
ム、2はメモリシステムに対するアドレスを指定するた
めのアドレスレジスタ、3はメモリシステム1との間で
データの入出力を行うためのデータバッファ、4は実行
中の命令アドレスに先行したアドレスを発生するための
アドレスカウンタPREC5を有し、メモリシステム1
からの命令の先読み制御を行う先読制御部、6は先読制
御部4によって読み出された命令を複数蓄える命令キュ
ー、7はデコード用のアドレスカウンタDECC8を有
し、命令キュー6から命令を順次取り出して解析を行う
命令デコーダ、9はデコード結果としてのベクターアド
レスを一時的に蓄えるマイクロベクターキュー、10は
マイクロプログラムを記憶したマイクロプログラムメモ
リ11及びマイクロプログラムアドレスを発生するマイ
クロシーケンサを含み、各部に各種制御信号を発生する
コンピュータコントロールユニットCCU、12はプロ
グラムカウンタPC13,ALU,制御レジスタ群を含
み命令の実行を行う実行部、14はメモリシステム1に
対するアクセスの調停を行い、アドレスレジスタ2にア
クセスしようとするメモリアドレスをセットするメモリ
アクセス調停部である。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention. Reference numeral 1 denotes a memory system comprising a memory for storing programs and data and a read / write control circuit thereof, and 2 denotes an address for the memory system. 3 is a data buffer for inputting / outputting data to / from the memory system 1, and 4 is an address counter PREC for generating an address preceding the instruction address being executed. System 1
A read-ahead control unit for pre-reading control of an instruction from the controller; 6 an instruction queue for storing a plurality of instructions read by the pre-read control unit 4; 7 an address counter for decoding DECC8; An instruction decoder for sequentially taking out and analyzing, a micro vector queue 9 for temporarily storing a vector address as a decoding result, a micro program memory 11 for storing a micro program, and a micro sequencer for generating a micro program address. A computer control unit CCU 12 for generating various control signals, an execution unit including a program counter PC 13, an ALU, and a control register group for executing instructions, and 14 arbitrating access to the memory system 1 and accessing the address register 2 Try to It is a memory access arbitration unit to set the memory address.

【0010】ここで、命令デコーダ7は、図2に示すよ
うに、その命令の処理が記述されているマイクロプログ
ラムの開始アドレスを示す10ビットのベクターアドレ
スと、その命令がメモリアクセスを伴う命令であるか否
かを示す1ビットの情報Mとをデコード結果として出力
し、マイクロベクターキュー9にはこれらベクターアド
レスとMビットを含む12ビットがセットされる。更
に、命令デコーダ7は、命令コードの1部にある10ビ
ットのオフセットアドレスを出力する。
Here, as shown in FIG. 2, the instruction decoder 7 includes a 10-bit vector address indicating the start address of a microprogram in which the processing of the instruction is described, and the instruction being an instruction involving memory access. The one-bit information M indicating whether or not there is the data is output as a decoding result, and these vector addresses and 12 bits including the M bits are set in the micro vector queue 9. Further, the instruction decoder 7 outputs a 10-bit offset address in a part of the instruction code.

【0011】そして、本実施例では、命令デコーダに含
まれるデコード用アドレスカウンタDECC8の6ビッ
トアドレスと、出力中の10ビットのオフセットアドレ
スとを加算する加算回路よりなり、16ビットの加算結
果をオペランドアドレスとして出力するオペランドアド
レス計算部15と、出力されたオペランドアドレスを蓄
えるオペランドアドレスキュー16を新たに設けてい
る。
In this embodiment, an adder circuit for adding the 6-bit address of the decoding address counter DECC8 included in the instruction decoder and the 10-bit offset address being output is provided. An operand address calculator 15 for outputting an address and an operand address queue 16 for storing the output operand address are newly provided.

【0012】このオペランドアドレスキュー16からの
アドレスAD1は、先読制御部4及び実行部12からの
各アドレスAD0,AD2と共に、メモリアクセス調停
部14に入力されており、ここで、いずれかの1つのア
ドレスが選択されるよう構成されている。具体的には、
CCU10からは、命令処理が完了する最後のクロック
サイクルで処理完了を表す信号ENDが出力され、ま
た、実行部12においてメモリのアクセス要求が発生し
たときはCCU10から信号ALU−REQが出力さ
れ、これら両信号がメモリアクセス調停部14に入力さ
れる。更に、メモリアクセス調停部14には、先読制御
部4からのメモリアクセス要求を表す信号PRE−RE
Q、及び、マイクロベクターキュー9からのMビットも
入力されている。
The address AD1 from the operand address queue 16 is input to the memory access arbitration unit 14 together with the addresses AD0 and AD2 from the prefetch control unit 4 and the execution unit 12, and any one of the addresses AD1 One address is configured to be selected. In particular,
The CCU 10 outputs a signal END indicating the completion of processing in the last clock cycle in which the instruction processing is completed, and outputs a signal ALU-REQ from the CCU 10 when a memory access request occurs in the execution unit 12. Both signals are input to the memory access arbitration unit 14. Further, a signal PRE-RE indicating a memory access request from the prefetch control unit 4 is provided to the memory access arbitration unit 14.
Q and M bits from the micro vector queue 9 are also input.

【0013】そして、メモリアクセス調停部14は、こ
れらの制御信号に応じて、信号ENDとMビットが共に
「1」であるとき、最優先でオペランドアドレスキュー
16からのオペランドアドレスAD1を選択し、信号E
NDとMビットのいずれかが「0」であるときは、信号
ALU−REQによる要求を優先的に受け付けて実行部
12からのアドレスAD2を選択し、信号PRE−RE
Qによる要求は最も低い優先順序で受付を行い、この場
合には、先読制御部4からのアドレスAD0を選択する
よう構成されている。このようにして、選択されたアド
レスはアドレスレジスタ2にセットされ、メモリシステ
ム1に対するアドレスとなる。
In response to these control signals, the memory access arbitration unit 14 selects the operand address AD1 from the operand address queue 16 with the highest priority when both the signal END and the M bit are "1", Signal E
When either the ND or M bit is “0”, the request by the signal ALU-REQ is preferentially accepted to select the address AD2 from the execution unit 12 and the signal PRE-RE
The request by Q is accepted in the lowest priority order, and in this case, the address AD0 from the prefetch control unit 4 is selected. Thus, the selected address is set in the address register 2 and becomes the address for the memory system 1.

【0014】次に、本実施例の動作を図3,4を参照し
ながら詳細に説明する。まず、PREC5に基づき先読
制御部4から出力されたアドレスは、メモリアクセス調
停部14でアクセス要求が許可されると、アドレスレジ
スタ2にセットされメモリシステム1に入力される。メ
モリシステム1は、入力されたアドレスに対応するデー
タを読み出して出力し、出力されたデータはデータバッ
ファ3を介して命令キュー6にフェッチされる。このよ
うな命令のフェッチは1クロックサイクルの間に行われ
る。
Next, the operation of this embodiment will be described in detail with reference to FIGS. First, the address output from the prefetch control unit 4 based on the PREC 5 is set in the address register 2 and input to the memory system 1 when the memory access arbitration unit 14 permits the access request. The memory system 1 reads and outputs data corresponding to the input address, and the output data is fetched to the instruction queue 6 via the data buffer 3. Such instruction fetch is performed during one clock cycle.

【0015】次のクロックサイクルで、命令デコーダ7
が次の命令をデコード可能な状態にあれば、命令キュー
6にフェッチされた命令は命令デコーダ7でデコードさ
れ、マイクロベクターキュー9にベクターアドレスとM
ビットがセットされると共に、オペランドアドレス計算
部15で、DECC8のアドレスとオフセットアドレス
との加算演算が行われ、加算結果がオペランドアドレス
キュー16にセットされる。つまり、命令のデコードと
オペランドアドレスの計算が同一のクロックサイクル内
で行われる。
In the next clock cycle, the instruction decoder 7
Is ready to decode the next instruction, the instruction fetched in the instruction queue 6 is decoded by the instruction decoder 7 and the vector address and M
The bit is set, and the operand address calculation unit 15 performs an addition operation on the address of the DECC 8 and the offset address, and the addition result is set in the operand address queue 16. That is, decoding of the instruction and calculation of the operand address are performed in the same clock cycle.

【0016】今、命令デコーダ7でデコードした命令を
命令2、それより先行する命令を命令1とし、図3にお
いて、aサイクルで命令2のデコードが実行され、bサ
イクルで実行部12により先行する命令1の実行が行わ
れたとすると、命令1にとってはbサイクルは命令の処
理が終了する最後のクロックサイクルなので、このサイ
クルでCCU10から信号ENDが図3の(ハ)に示す
ように出力される。
Now, the instruction decoded by the instruction decoder 7 is the instruction 2, and the instruction preceding it is the instruction 1. In FIG. 3, the instruction 2 is decoded in the a cycle and the execution unit 12 precedes it in the b cycle. Assuming that the execution of the instruction 1 is performed, the b cycle for the instruction 1 is the last clock cycle at which the processing of the instruction is completed, and thus the signal END is output from the CCU 10 as shown in FIG. .

【0017】ここで、命令2がメモリアクセスを伴う命
令であるならば、aサイクルにおいてMビットがマイク
ロベクターキュー9にセットされて後、信号Mは「1」
となるので、bサイクルで信号ENDが「1」になると
アクセス調停部14は、その内部で図3の(ホ)に示す
アドレス取り込みクロックADCLを発生し、このクロ
ックの立ち上がりでオペランドアドレスキュー16の内
容AD1をアドレスレジスタ2にセットする。このた
め、次のcクロックサイクルでは、図3の(へ)に示す
ように、命令2のオペランドアドレスがメモリシステム
1に出力され、このサイクル中にオペランドリードが行
われ(図3(ト))、リードされたデータはデータバッ
ファ3を介して実行部12に送出される。そして、次の
dクロックサイクルで、リードしたデータに基づき実行
部12で実際に命令2が実行される。
If the instruction 2 is an instruction accompanied by a memory access, the signal M becomes "1" after M bits are set in the micro vector queue 9 in cycle a.
Therefore, when the signal END becomes “1” in the b cycle, the access arbitration unit 14 internally generates an address fetch clock ADCL shown in FIG. The content AD1 is set in the address register 2. Therefore, in the next c clock cycle, the operand address of the instruction 2 is output to the memory system 1 as shown in FIG. 3 (F), and the operand read is performed during this cycle (FIG. 3 (G)). The read data is sent to the execution unit 12 via the data buffer 3. Then, in the next d clock cycle, the instruction 2 is actually executed by the execution unit 12 based on the read data.

【0018】ところで、本実施例では、先行する命令が
無い場合は、実行部12では常にNOP命令が実行さ
れ、CCU10からは毎クロックサイクル信号ENDが
出力されるので、命令1がメモリアクセスを伴う命令で
あってそれに先行する命令が存在しないときは、図4に
示すように、命令1のデコードが行われるサイクルで信
号ENDとMが共に「1」となり、従って、すぐ次のク
ロックサイクルにおいて命令1のオペランドリードが行
われ、次のクロックサイクルで命令1が実行されること
となる。このオペランドリードと実行のサイクルが図3
におけるaサイクル,bサイクルに相当するものであ
り、続くc,dの2サイクルで次の命令である命令2の
オペランドリード,実行が行われる。
In the present embodiment, when there is no preceding instruction, the execution unit 12 always executes the NOP instruction and the CCU 10 outputs the clock cycle signal END, so that the instruction 1 involves memory access. When there is no instruction preceding the instruction, as shown in FIG. 4, both the signals END and M become "1" in the cycle in which the instruction 1 is decoded. 1 is read, and the instruction 1 is executed in the next clock cycle. The cycle of this operand read and execution is shown in FIG.
In the following two cycles c and d, the operand 2 of the next instruction, instruction 2, is read and executed.

【0019】また、命令のデコード及び実行サイクルで
は、メモリに対するアクセスは行われないので、命令1
の実行サイクルには、先読制御部4により次の命令3の
フェッチが同時に行われ、以下、命令3についても命令
2の場合と同様のサイクルが繰り返される。従って、見
かけ上2サイクル毎に命令が順次実行されることとな
る。
In the instruction decoding and execution cycle, no access is made to the memory.
In the execution cycle of (1), the prefetch control unit 4 simultaneously fetches the next instruction 3, and thereafter, the same cycle as that of the instruction 2 is repeated for the instruction 3. Therefore, the instructions are apparently executed sequentially every two cycles.

【0020】勿論、命令にはメモリアクセスを伴わない
命令もあり、この場合には、命令の最後のクロックサイ
クルで信号ENDが「1」になっても、Mビットが
「0」なので取り込みクロックADCLは発生せず、従
って、オペランドアドレスキュー16の内容がアドレス
レジスタ2にセットされることはなく、このとき、先読
制御部4からの要求信号PRE−REQが「1」であれ
ば、PREC5のアドレスがアドレスレジスタ2にセッ
トされ命令の先読みが行われ、メモリシステム1は有効
に使用される。
Of course, some instructions do not involve memory access. In this case, even if the signal END becomes "1" in the last clock cycle of the instruction, the M bit is "0" because the M bit is "0". Does not occur, so that the contents of the operand address queue 16 are not set in the address register 2. At this time, if the request signal PRE-REQ from the prefetch control unit 4 is "1", the signal of the PREC5 The address is set in the address register 2, the instruction is prefetched, and the memory system 1 is used effectively.

【0021】尚、オペランドアドレスキュー16の最前
列の命令は、END信号が出力されるサイクルの次のサ
イクルの開始時にクリアされるよう構成されている。
The first instruction in the operand address queue 16 is configured to be cleared at the start of the cycle following the cycle in which the END signal is output.

【0022】[0022]

【発明の効果】本発明によれば、非常に簡単な回路構成
を付加するだけで、命令のデコードとオペランドアドレ
スの計算を並行して行うことが可能となり、従って、コ
ストを大幅に上昇させることなく高速処理を実現でき
る。また、実行部での処理が減少するので、マイクロプ
ログラムコード自体も少なくて済む。
According to the present invention, decoding of an instruction and calculation of an operand address can be performed in parallel only by adding a very simple circuit configuration, thereby greatly increasing the cost. And high-speed processing can be realized. Further, the number of processes in the execution unit is reduced, so that the microprogram code itself can be reduced.

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

【図1】本発明の実施例の構成を示すブロック図であ
る。
FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention.

【図2】実施例における命令デコーダの出力を示す図で
ある。
FIG. 2 is a diagram illustrating an output of an instruction decoder in the embodiment.

【図3】実施例におけるオペランドアドレスの取り込み
タイミングを示すタイミングチャートである。
FIG. 3 is a timing chart showing a timing of fetching an operand address in the embodiment.

【図4】実施例のパイプライン動作を説明するための説
明図である。
FIG. 4 is an explanatory diagram for explaining a pipeline operation of the embodiment.

【符号の説明】[Explanation of symbols]

1 メモリシステム 2 アドレスレジスタ 4 先読制御部 6 命令キュー 7 命令デコーダ 9 マイクロベクターキュー 10 CCU 12 実行部 14 メモリアクセス調停部 15 オペランドアドレス計算部 16 オペランドアドレスキュー Reference Signs List 1 memory system 2 address register 4 prefetch control unit 6 instruction queue 7 instruction decoder 9 micro vector queue 10 CCU 12 execution unit 14 memory access arbitration unit 15 operand address calculation unit 16 operand address queue

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 メモリシステムからの命令の先読みを制
御する先読制御部と、先読みされた複数の命令を蓄える
命令キューと、アドレス発生手段を有し前記命令キュー
から順次命令を取り出して解析し解析結果を出力する命
令デコーダと、該命令デコーダからの解析結果を蓄える
マイクロベクターキューと、該マイクロベクターキュー
の出力に応じて各種制御信号を発生するCCUと、命令
を実行する実行部とを備え、パイプライン処理を行う中
央処理装置において、前記命令中に含まれるオフセット
アドレスと前記アドレス発生手段のアドレスからオペラ
ンドアドレスを計算するオペランドアドレス計算部と、
該計算したオペランドアドレスを蓄えるオペランドアド
レスキューとを設けると共に、前記マイクロベクターキ
ューの一部に、命令がメモリアクセスを伴う命令である
か否かを示す情報をセットするようにし、更に、前記命
令部で命令の処理が完了する最後のクロックサイクルに
おいて、前記マイクロベクターキューからの前記情報が
メモリアクセスを伴う命令であることを示しているとき
は、前記先読制御部及び実行部からのメモリアクセス要
求に優先して、前記オペランドアドレスキューのアドレ
スを前記メモリシステムに出力するメモリアクセス調停
部を設けたことを特徴とするマイクロプログラム制御方
式の中央処理装置。
A prefetch control unit for controlling prefetching of an instruction from a memory system; an instruction queue for storing a plurality of prefetched instructions; and an address generating means for sequentially extracting and analyzing instructions from the instruction queue. An instruction decoder that outputs an analysis result; a micro vector queue that stores the analysis result from the instruction decoder; a CCU that generates various control signals in accordance with the output of the micro vector queue; and an execution unit that executes the instruction. A central processing unit that performs pipeline processing, wherein an operand address calculation unit that calculates an operand address from an offset address included in the instruction and an address of the address generation unit;
An operand address queue for storing the calculated operand address; and information indicating whether or not the instruction is an instruction accompanied by a memory access is set in a part of the micro vector queue. In the last clock cycle in which the processing of the instruction is completed, if the information from the micro vector queue indicates that the instruction involves memory access, a memory access request from the prefetch control unit and the execution unit And a memory access arbitration unit that outputs an address of the operand address queue to the memory system prior to the central processing unit.
JP16546293A 1993-07-05 1993-07-05 Central processing unit with microprogram control Expired - Fee Related JP2999907B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16546293A JP2999907B2 (en) 1993-07-05 1993-07-05 Central processing unit with microprogram control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16546293A JP2999907B2 (en) 1993-07-05 1993-07-05 Central processing unit with microprogram control

Publications (2)

Publication Number Publication Date
JPH0721018A JPH0721018A (en) 1995-01-24
JP2999907B2 true JP2999907B2 (en) 2000-01-17

Family

ID=15812881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16546293A Expired - Fee Related JP2999907B2 (en) 1993-07-05 1993-07-05 Central processing unit with microprogram control

Country Status (1)

Country Link
JP (1) JP2999907B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958333B2 (en) * 2007-05-30 2011-06-07 XMOS Ltd. Processor with memory access stage adapted to fetch an instruction of a thread when no memory access operation is detected
JP6712052B2 (en) * 2016-06-29 2020-06-17 富士通株式会社 Arithmetic processing device and method for controlling arithmetic processing device
CN116841614B (en) * 2023-05-29 2024-03-15 进迭时空(杭州)科技有限公司 Sequential vector scheduling method under disordered access mechanism

Also Published As

Publication number Publication date
JPH0721018A (en) 1995-01-24

Similar Documents

Publication Publication Date Title
JPS62245442A (en) Information processor
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS6029126B2 (en) data processing equipment
JPS5831014B2 (en) instruction prefetch device
JP2693678B2 (en) Data processing device
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
JP2008146544A (en) Arithmetic processing unit
JPH03233630A (en) Information processor
JP2999907B2 (en) Central processing unit with microprogram control
US5390306A (en) Pipeline processing system and microprocessor using the system
JP3019818B2 (en) Data processing method
JP2545594B2 (en) Operand data prefetching method
US7594103B1 (en) Microprocessor and method of processing instructions for responding to interrupt condition
JPH0241770B2 (en)
JP3102399B2 (en) Data processing apparatus and method
JP2591325B2 (en) Branch control device
JP2819733B2 (en) Information processing device
JP2002229776A (en) Data processor for executing multiple sets of instructions
JP2806690B2 (en) Microprocessor
JP2825315B2 (en) Information processing device
JPH0317135B2 (en)
JPH06332701A (en) Information processor
JPH05250156A (en) Risc processor
JPH11203133A (en) Information processor
JPH05100853A (en) Data processor with debug support function

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees