JP4889235B2 - Program control processor - Google Patents
Program control processor Download PDFInfo
- Publication number
- JP4889235B2 JP4889235B2 JP2005130382A JP2005130382A JP4889235B2 JP 4889235 B2 JP4889235 B2 JP 4889235B2 JP 2005130382 A JP2005130382 A JP 2005130382A JP 2005130382 A JP2005130382 A JP 2005130382A JP 4889235 B2 JP4889235 B2 JP 4889235B2
- Authority
- JP
- Japan
- Prior art keywords
- skip
- instruction
- address
- flag
- destination address
- 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
Links
Images
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
本発明は、条件判定により条件が成立した場合にそれ以降の命令を無効化するスキップ処理のためのプログラム制御に用いられるコンピュータのプロセッサに関するものである。 The present invention relates to a program system processor control to use is that the computer for skip processing to invalidate subsequent instructions if the conditions by condition determination is satisfied.
CPU(プロセッサ)において、プログラムの条件分岐を制御する方式として、従来、
(i)命令セットに条件付き分岐命令などを有し、条件が成立した場合、指定のアドレスまでジャンプする方式や、
(ii)命令セットにスキップ命令を有し、直後の一ないし連続する複数の命令を無効とする方式
がある。例えば特許文献1には、スキップ時に命令をNOP化(ノー・オペレーション化)する技術が開示されている。
(I) The instruction set has a conditional branch instruction or the like, and when the condition is satisfied, a method of jumping to a specified address,
(Ii) There is a method in which a skip instruction is included in the instruction set, and the immediately following one or a plurality of consecutive instructions are invalidated. For example,
(i),(ii)のいずれの場合も、条件成立時と非成立時では実行サイクル数が異なるため、命令の実行タイミングが重要なプログラム及びそのシステムにおいて、分岐処理後(命令のNOP化を伴うスキップ処理の後)の命令を同じサイクルタイミングにて実行できないという問題がある。 In both cases (i) and (ii), the number of execution cycles differs between when the condition is satisfied and when the condition is not satisfied. Therefore, in a program and its system in which the instruction execution timing is important, after branch processing (instruction NOP conversion) There is a problem that the instruction (after the skip processing) cannot be executed at the same cycle timing.
(ii)の方式においては、例えば、バス幅を超えるデータサイズのロードストア命令など、命令の実行に複数サイクルを要すものがそれに該当する。
本発明は上記問題点に着目してなされたものであり、その目的は、命令の有効無効に関わらず、実行サイクルを一定にすることができるプログラム制御方法およびプロセッサを提供することにある。
In the method (ii), for example, a load / store instruction having a data size exceeding the bus width requires a plurality of cycles to execute the instruction.
The present invention has been made paying attention to the above problems, and an object of the present invention is to provide a program control method and a processor capable of making an execution cycle constant regardless of the validity / invalidity of instructions.
請求項1に記載の発明は、条件判定に基づき条件が成立した場合に、それ以降の一ないし連続する複数の命令を無効化するスキップ処理制御手段を備えたプロセッサであって、前記スキップ処理制御手段は、スキップ処理中は命令の種類に関わらず、プロセッサ内外に対するデータの書き込みを禁止し続けるプロセッサをその要旨とする。
また、前記スキップ処理制御手段は、命令によるデータの書き込みを制御するスキップ状態フラグを備え、このスキップ状態フラグは、前方のみに分岐することを許可された条件付き分岐命令における条件が成立した場合にスキップ状態にセットされる。
さらに、前記スキップ処理制御手段は、前記条件付き分岐命令によって指定される分岐先アドレスを保持するための分岐先アドレスレジスタと、分岐先アドレスレジスタの分岐先アドレスとプログラムカウンタの現在のアドレスを比較するアドレス比較手段と、割り込み発生時に前記スキップ状態フラグのフラグデータをレジスタないしメモリへ退避するフラグデータ退避手段と、復帰命令によって、退避した前記フラグデータをスキップ状態フラグに復帰するフラグデータ復帰手段とを備え、このアドレス比較手段は、
分岐先アドレス≦現在のアドレス
となったことをトリガにして、前記スキップ状態フラグを通常状態にリセットする。
そして、前記スキップ処理制御手段は、前記スキップ状態フラグがスキップ状態にセットされているスキップ処理中は命令の種類に関わらず、プロセッサ内外に対するデータの書き込みを禁止し続ける。
The invention according to
The skip processing control means includes a skip state flag for controlling writing of data by the instruction, and the skip state flag is set when a condition is satisfied in a conditional branch instruction permitted to branch forward only. Set to skip state.
Further, the skip processing control means compares the branch destination address register for holding the branch destination address specified by the conditional branch instruction, the branch destination address of the branch destination address register and the current address of the program counter. Address comparison means, flag data saving means for saving flag data of the skip state flag to a register or memory when an interrupt occurs, and flag data return means for returning the saved flag data to a skip state flag by a return instruction This address comparison means
The skip state flag is reset to the normal state with a branch destination address ≦ the current address as a trigger.
The skip processing control means continues to prohibit the writing of data to / from the processor regardless of the type of instruction during the skip processing in which the skip state flag is set to the skip state.
請求項1に記載の発明によれば、スキップ処理制御手段が、スキップ処理中は命令の種類に関わらず、プロセッサ内外に対するデータの書き込みを禁止し続けることにより、命令無効時にも命令有効時と同じサイクル数を消費させて、命令の有効無効に関わらず、実行サイクルを一定にすることができる。
さらに、割り込み発生時に前記スキップ状態フラグのフラグデータをレジスタ
ないしメモリへ退避するフラグデータ退避手段と、復帰命令により、退避した前記フラグデータをスキップ状態フラグに復帰するフラグデータ復帰手段と、を備えることにより、割り込み時のスキップ処理を継続することができる。
According to the first aspect of the present invention, the skip processing control means keeps prohibiting the writing of data to the inside and outside of the processor regardless of the type of instruction during the skip process, so that the instruction is invalid even when the instruction is invalid. By consuming the number of cycles, the execution cycle can be made constant regardless of whether the instruction is valid or invalid.
Furthermore, the flag data of the skip state flag is registered when an interrupt occurs.
Alternatively, it is possible to continue the skip processing at the time of interruption by providing flag data saving means for saving to the memory and flag data return means for returning the saved flag data to the skip state flag by a return instruction.
請求項2に記載のように、請求項1に記載のプロセッサにおいて、前記アドレス比較手段は、データパスの内部の算術論理演算ユニットで構成され、スキップ状態フラグがスキップ状態にセットされている場合には、前記算術論理演算ユニットに、分岐先アドレスレジスタの分岐先アドレスとプログラムカウンタの現在のアドレスを入力し、前記算術論理演算ユニットより出力されるコンディションコードが
分岐先アドレス≦現在のアドレス
となったことをトリガにして、スキップ状態フラグを通常状態にリセットすると、分岐先アドレスレジスタの分岐先アドレスとプログラムカウンタの現在のアドレスの比較を実行する構成として、データパスの内部の算術論理演算ユニットを用いることによってリソースの活用による小型化を図ることができる。
As described in
(第1の比較例)
以下、第1の比較例を図面に従って説明する。
図1は、本比較例のマイクロコンピュータにおけるCPU(プロセッサ)の内部構成を示すブロック図である。図2には、CPUの命令実行動作、特にパイプライン動作の一例を示す。
(First comparative example )
Hereinafter , a first comparative example will be described with reference to the drawings.
FIG. 1 is a block diagram showing an internal configuration of a CPU (processor) in the microcomputer of this comparative example . FIG. 2 shows an example of CPU instruction execution operation, particularly pipeline operation.
図1において、CPU10は制御ユニット20とデータパス30で構成されている。データパス30は、データの格納や、算術・論理演算を実行する。制御ユニット20は、メモリから取り込んだ命令に応じ、データパス30を制御する。
In FIG. 1, the
制御ユニット20は命令デコーダ21とスキップ処理制御ユニット22で構成されている。命令デコーダ21は、メモリより取り込んだ命令を格納し、取り込んだ命令を解読する。スキップ処理制御手段としてのスキップ処理制御ユニット22は、条件分岐における条件判定の際、条件が成立した場合に、それ以降の一ないし連続する複数の命令を無効化するスキップ処理を行うためのものである。スキップ処理制御ユニット22は、命令デコーダ21より出力される、スキップ処理開始信号とスキップ処理終了信号から、スキップ状態か否かを判断し、CPU10の内外部に対し、データの書き込みを制御する。
The control unit 20 includes an
データパス30は、ロードストアユニット31と実行ユニット32とレジスタファイル33とプログラム状態レジスタ34とプログラムカウンタ35で構成されている。ロードストアユニット31は、CPU10の外部からのデータ読み込み及び、外部へのデータ書き込みを制御する。実行ユニット32は、命令デコーダ21で解読された命令に従い、制御ユニット20より出力される、制御信号に応じて、所定の算術・論理演算を実行する。レジスタファイル33は、実行ユニット32により実行された結果のデータもしくはメモリ等のCPU10の外部より取り込まれたデータを格納する。プログラム状態レジスタ34は、CPU10の処理状態を保持する。プログラムカウンタ35はフェッチする命令のアドレスを示す。
The data path 30 includes a load /
ここで、CPU10と、CPU10の外部の周辺回路を接続するバスが、データバス40とアドレスバス41の2種類のバスで構成されており、図1のCPU10のバスアーキテクチャはノイマンバス構成となっている。
Here, the bus connecting the
CPU10は、図2に示すように、5種類のステージからなるパイプライン処理にて、プログラムを実行するものである。
5種類のステージとは、IF(命令フェッチ)ステージと、DEC(デコード)ステージと、EXE(実行)ステージと、MA(メモリアクセス)ステージと、WB(ライトバック)ステージである。IF(命令フェッチ)ステージは、メモリから命令を読み込むステージである。DEC(デコード)ステージは、IFステージで読み込んだ命令を解読するステージである。EXE(実行)ステージは、DECステージで解読された命令の内容に応じて、算術・論理演算やIFステージで読み込むべき命令のアドレスやメモリへアクセスする際のアドレス等を演算するステージである。MA(メモリアクセス)ステージは、DECステージで解読された命令の内容に応じて、EXE(実行)ステージでの演算結果をアドレスとしてメモリへのアクセスを行うステージである。WB(ライトバック)ステージは、DECステージで解読された命令の内容に応じて、演算データもしくはメモリから取り込んだデータを内部レジスタに書き込むステージである。
As shown in FIG. 2, the
The five types of stages are an IF (instruction fetch) stage, a DEC (decode) stage, an EXE (execution) stage, an MA (memory access) stage, and a WB (write back) stage. The IF (instruction fetch) stage is a stage for reading an instruction from a memory. The DEC (decode) stage is a stage for decoding the instruction read in the IF stage. The EXE (execution) stage is a stage that calculates an address of an instruction to be read in an arithmetic / logical operation or IF stage, an address when accessing a memory, and the like according to the contents of the instruction decoded in the DEC stage. The MA (memory access) stage is a stage for accessing the memory using the operation result in the EXE (execution) stage as an address in accordance with the contents of the instruction decoded in the DEC stage. The WB (write back) stage is a stage in which operation data or data taken from a memory is written to an internal register in accordance with the contents of the instruction decoded in the DEC stage.
ノイマンバス構成下のパイプライン処理においては、先に述べた5種類のステージによる、5段のパイプラインを構築した場合、メモリより命令を取り込むIFステージと、メモリに対し、データの書き込みもしくは読み出しを行う、MAステージが競合する。 In pipeline processing under the Neumann bus configuration, when a five-stage pipeline is constructed using the five types of stages described above, an IF stage for fetching instructions from the memory, and data writing or reading to the memory are performed. Do the MA stage to compete.
そこで、IFステージとMAステージの競合を避けるために種々の方策が存在するが、競合回避の一例としての図2のパイプライン動作について説明する。
図2において、メモリへのアクセスを必要としない命令A,B,D及びスキップ命令は、IF、DEC、EXE、WBの4つのステージでパイプラインが構成されており、命令実行後(EXEステージ)、次のステージにて結果がレジスタに書き込まれる(WBステージ)。一方、ストア命令などメモリアクセスを必要とする命令Cは、EXEステージとWBステージの間にMAステージが挿入され、5種類のステージにてパイプラインが構成される。ただし、命令CのMAステージ実行中は、他命令のパイプラインをストールさせる。こうすることで、メモリアクセスが必要な命令のみ、2サイクル必要となるが、IFステージとMAステージの競合を避けることができる。
Therefore, there are various measures for avoiding the conflict between the IF stage and the MA stage. The pipeline operation of FIG. 2 as an example of conflict avoidance will be described.
In FIG. 2, the instructions A, B, D and skip instructions that do not require access to the memory are configured by four stages of IF, DEC, EXE, and WB, and after the instruction is executed (EXE stage) In the next stage, the result is written to the register (WB stage). On the other hand, for the instruction C that requires memory access, such as a store instruction, an MA stage is inserted between the EXE stage and the WB stage, and a pipeline is configured with five types of stages. However, the pipeline of other instructions is stalled during execution of the MA stage of instruction C. In this way, only two cycles are required for instructions that require memory access, but conflict between the IF stage and the MA stage can be avoided.
以上、述べたようなCPU構成による、スキップ処理の手順を説明する。
図1において、プログラムカウンタ35の値(アドレス)がアドレスバス41から出力され、バス41に接続されたROMより該当する命令がデータバス40に出力される。CPU10においてロードストアユニット31を介してデータバス40上のデータを取り込み、命令デコーダ21に格納する。命令デコーダ21は、フェッチした命令の内容を解読し、解読した命令の内容に応じて、データパス30及び、CPU10の外部に対して所定の制御を行う。
The skip processing procedure using the CPU configuration as described above will be described.
In FIG. 1, the value (address) of the
例えば、フェッチした命令が、レジスタR10とレジスタR11のデータを加算し、レジスタR11に書き込むという命令の場合、制御ユニット20は、実行ユニット32に対し、レジスタR10とレジスタR11のデータを入力し、加算オペレーションを指示する他、レジスタファイル33に対し、実行結果を入力し、レジスタR11に書き込み許可を指示する。
For example, when the fetched instruction is an instruction to add the data of the register R10 and the register R11 and write to the register R11, the control unit 20 inputs the data of the register R10 and the register R11 to the
ここで、条件付き分岐命令であった場合には次のようにする。つまり、前処理の実行結果に基づいて条件判定を行い、次命令以下をジャンプする場合には次のようにする。
フェッチした命令がスキップ処理開始命令の場合は、命令デコーダ21よりスキップ処理制御ユニット22に対しスキップ処理開始信号が出力される。また、フェッチした命令がスキップ処理終了命令の場合は、命令デコーダ21よりスキップ処理制御ユニット22に対しスキップ処理終了信号が出力される。
Here, if it is a conditional branch instruction, the following is performed. That is, the condition determination is performed based on the execution result of the preprocessing, and when jumping to the next instruction or less, the following is performed.
When the fetched instruction is a skip process start instruction, the
スキップ処理制御ユニット22は、スキップ状態か通常状態かを示すスキップ状態フラグ22aを備えており、スキップ状態フラグ22aは、命令によるデータの書き込みを制御するためのものである。このスキップ状態フラグ22aは、スキップ処理開始信号を受けてスキップ状態にセットされ、スキップ処理終了信号を受けて通常状態にリセットされる。
The skip
スキップ状態フラグ22aがセットされスキップ状態を示している場合には、命令デコーダ21から出力される書き込み制御信号の状態に関わらず、メモリを含む周辺回路への書き込みを制御する、外部書き込み制御信号、及び、レジスタファイル33など内部レジスタへの書き込みを制御する、内部書き込み制御信号として、書き込み禁止を出力する。これにより、スキップ処理にてそれ以降の命令を無効とする場合には、命令のシーケンス制御は継続して実行され、データの書き込みのみ禁止される。
When the
以上に示した、スキップ処理制御手段としてのスキップ処理制御ユニット22について、スキップ処理中のパイプライン動作を用い(図2,3,4)、一般例と比較しながらより詳細に説明する。
The skip
図2においては、スキップ処理開始命令とスキップ処理終了命令の間である、命令A〜命令Dをスキップする例を示している。
図3は、一般的なスキップ処理中のパイプライン動作を、図4は、本比較例におけるスキップ処理中のパイプライン動作を示している。
FIG. 2 shows an example in which the instruction A to the instruction D between the skip process start instruction and the skip process end instruction are skipped.
FIG. 3 shows a pipeline operation during general skip processing, and FIG. 4 shows a pipeline operation during skip processing in this comparative example .
まず、図3の一般例の動作図について説明する。
一般的なスキップ処理制御手法では、スキップ処理開始命令が実行された後、以降の命令をNOP(ノー・オペレーション命令)化する。このとき、図2における命令Cが、実行に2サイクルを要するストア命令だった場合、NOP化によって、MAステージがなくなる。従って、スキップ処理しない場合に比べて、1サイクル短くなり、命令A〜命令Dに係るサイクル数(実行サイクル数)は「4」となる。
First, the operation diagram of the general example of FIG. 3 will be described.
In a general skip process control method, after a skip process start instruction is executed, subsequent instructions are converted into NOP (no operation instructions). At this time, if the instruction C in FIG. 2 is a store instruction that requires two cycles to execute, there is no MA stage due to NOP conversion. Therefore, compared with the case where skip processing is not performed, the cycle is shortened, and the number of cycles (the number of execution cycles) related to the instructions A to D is “4”.
一方、図4の本比較例によれば、スキップ処理開始命令が実行された後も、命令がNOP化されるわけではなく、データの書き込みのみ禁止される。
図4中の命令C(ストア命令)を例に説明すると、スキップ状態フラグは、スキップ処理開始命令を実行することでスキップ状態にセットされ、スキップ処理終了命令を実行することで通常状態にリセットされる。スキップ処理制御ユニット22は、スキップ状態フラグがスキップ状態の間も、命令のシーケンス制御はそのまま継続して実行し、書き込み制御信号を書き込み禁止にする。即ち、スキップ処理中は命令の種類に関わらず、CPU内外に対するデータの書き込みを禁止し続ける。そのため、MAステージでは、データの書き込みが禁止される。よって、ストア命令は実質的に無効となるが、消費サイクルは命令有効時と同じ2サイクルとなる。従って、スキップ処理区間である、命令A〜命令Dに係るサイクル数(実行サイクル数)は、命令の種類に関わらず、命令有効時と同じ「5」となる。つまり、命令の実行サイクルを命令の有効無効に関わらず、一定とすることができ、命令A〜Dの命令群をスキップした場合としない場合とで、処理にかかるサイクル数を同じとすることができる。
On the other hand, according to this comparative example of FIG. 4, even after the skip processing start instruction is executed, the instruction is not changed to NOP, and only data writing is prohibited.
The instruction C (store instruction) in FIG. 4 will be described as an example. The skip state flag is set to the skip state by executing the skip process start instruction, and is reset to the normal state by executing the skip process end instruction. The Even when the skip state flag is in the skip state, the skip
このように、本方式は、条件判定の結果、条件が成立し、スキップ処理にてそれ以降の命令を無効化する場合においても、命令のシーケンス制御は継続して行い、データの書き込みのみ禁止することで、条件判定の成立、不成立に関わらず、一定のインストラクションサイクル数を消費させる(スキップ処理制御による命令の有効無効に関わらず、常に同じインストラクションサイクルを消費することができる)。つまり、スキップ処理を実行した場合と実行しなかった場合、いずれの場合においても、スキップ処理終了後の命令の実行タイミングを同じにすることができる。例えば、命令1から命令2の間がスキップ処理区間であり(命令1から命令2の間が条件分岐区間であり)、命令2の命令1に対する実行タイミングを常に一定としたいプログラムにおいて非常に効果的である(命令の実行タイミングが重要な場合において、プログラムの条件分岐による実行サイクルのずれを防ぐことができる)。
As described above, in this method, even when the condition is satisfied as a result of the condition determination and the subsequent instructions are invalidated by the skip processing, the instruction sequence control is continued and only data writing is prohibited. Thus, a constant number of instruction cycles is consumed regardless of whether the condition determination is satisfied or not (the same instruction cycle can always be consumed regardless of the validity / invalidity of the instruction by skip processing control). That is, the execution timing of the instruction after completion of the skip processing can be made the same in both cases where the skip processing is executed and when it is not executed. For example, the skip processing section is between
以上のごとく、本比較例は下記の特徴を有する。
プログラム制御方法として、条件成立時に、それ以降の一ないし連続する複数の命令を無効化するスキップ処理を行う際に、スキップ処理にてそれ以降の命令を無効とする場合にも、命令のシーケンス制御は継続して実行し、データの書き込みのみ禁止するようにした。これにより、命令無効時にも命令有効時と同じサイクル数を消費させて、命令の有効無効に関わらず、実行サイクルを一定にすることができる。
As described above, this comparative example has the following features.
As a program control method, when performing a skip process that invalidates one or more consecutive instructions after the condition is satisfied, even if the subsequent instructions are invalidated by the skip process, instruction sequence control Was continuously executed, and only data writing was prohibited. As a result, even when the instruction is invalid, the same number of cycles as when the instruction is valid is consumed, and the execution cycle can be made constant regardless of the validity of the instruction.
CPU(プロセッサ)として、条件判定に基づき条件が成立した場合に、それ以降の一ないし連続する複数の命令を無効化するスキップ処理制御ユニット22を備えたCPU(プロセッサ)であって、スキップ処理制御ユニット22は、スキップ処理中は、1サイクル命令や2サイクル命令といった命令の種類に関わらず、プロセッサ内外(プロセッサ内外部)に対するデータの書き込みを禁止し続ける。よって、命令無効時にも命令有効時と同じサイクル数を消費させて、命令の有効無効に関わらず、実行サイクルを一定にすることができる。このようにして、スキップ中にデータの書き込みを禁止するための基本構成を構築することができる。
The CPU (processor) includes a skip
ここで、スキップ処理制御ユニット22は、命令によるデータの書き込みを制御するスキップ状態フラグ(22a)を備え、スキップ状態フラグ(22a)は、スキップ処理開始命令を実行することでスキップ状態にセットされ、スキップ処理終了命令を実行することで通常状態にリセットされるので、スキップ状態フラグをセット/リセットすることができる。
(第2の比較例)
次に、第2の比較例を、第1の比較例との相違点を中心に説明する。
Here, the skip
(Second comparative example )
Next, the second comparative example will be described focusing on the differences from the first comparative example .
図5には、図4に代わる本比較例におけるスキップ処理中のパイプライン動作図を示す。
第1の比較例に比べ本比較例においては、図4中のスキップ状態フラグをスキップ状態にセットする手段として、条件付き分岐命令を使用している。
FIG. 5 shows a pipeline operation diagram during the skip processing in this comparative example instead of FIG.
Compared to the first comparative example , in this comparative example , a conditional branch instruction is used as means for setting the skip state flag in FIG. 4 to the skip state.
図5において、命令セットに、前方のみに分岐することを許可された条件付き分岐命令を有している。前方のみに分岐することを許可された条件付き分岐命令の条件が成立した場合に、命令デコーダ21よりスキップ処理制御ユニット22に対しスキップ処理開始信号が出力される。これにより、スキップ状態フラグがスキップ状態にセットされ、以降の命令が無効化される。また一方で、条件が不成立の場合にはスキップ状態フラグは通常状態のままとなり、以降の命令は実行される。このように、プログラム制御方法として、条件付き分岐命令を実行した際、条件が成立した場合に、それ以降の命令を無効化するスキップ処理を開始する。
In FIG. 5, the instruction set has conditional branch instructions that are permitted to branch forward only. When the condition of the conditional branch instruction permitted to branch forward only is satisfied, a skip process start signal is output from the
スキップ処理制御手段としてのスキップ処理制御ユニット22の制御方法は、第1の比較例における手順と同様であり、分岐しなかった場合(命令を実行)と分岐した場合(命令を無効化)とで、サイクル数は同じとなる。
The control method of the skip
また、本比較例でのプログラム制御方法によれば、スキップ処理を開始するための命令が不要となり、命令数が削減できる。即ち、条件付き分岐命令によりスキップ処理を開始することによって、スキップ命令に比べ、命令数が少なくて済む。また、スキップ処理用の命令を実装しなくてよい。 Further, according to the program control method in this comparative example , an instruction for starting the skip process is not necessary, and the number of instructions can be reduced. That is, by starting skip processing with a conditional branch instruction, the number of instructions can be reduced compared to skip instructions. Also, skip processing instructions need not be implemented.
一方、CPU(プロセッサ)として、スキップ処理制御ユニット22は、命令によるデータの書き込みを制御するスキップ状態フラグ(22a)を備え、スキップ状態フラグ(22a)は、条件付き分岐命令における条件が成立した場合にスキップ状態にセットされる。これにより、スキップ状態フラグをセットする別構成として好ましいものとなる。
(第1の実施の形態)
次に、本発明の第1の実施形態を、第2の比較例との相違点を中心に説明する。
On the other hand, as a CPU (processor), the skip
(First Embodiment)
Next, the first embodiment of the present invention will be described with a focus on differences from the second comparative example .
図6は、図1に代わる本実施形態におけるCPUの内部構成を示すブロック図である。図7には、図4に代わる本実施形態におけるスキップ処理中のパイプライン動作図を示す。 FIG. 6 is a block diagram showing the internal configuration of the CPU in the present embodiment that replaces FIG. FIG. 7 shows a pipeline operation diagram during skip processing in this embodiment instead of FIG.
第2の比較例において、スキップ状態フラグを通常状態にリセットする手段として、本実施形態では次のようにしている。
図6において、CPU10は、第1の比較例に挙げたCPU10と同じく、条件判定に基づき条件が成立した場合にそれ以降の一ないし連続する複数の命令を無効化するスキップ処理制御ユニット22を備えている。
In the second comparative example , as a means for resetting the skip state flag to the normal state, in the present embodiment, the following is performed.
In FIG. 6, the
CPU10は、IF、DEC、EXE、MA、WBの5種類のステージからなるパイプライン処理にて、プログラムを実行するものである。CPU10は、データの格納や、算術・論理演算を実行するデータパス30と、メモリから取り込んだ命令に応じ、データパス30を制御する制御ユニット20とで構成されている。
The
制御ユニット20は、命令デコーダ21とスキップ処理制御ユニット22で構成されている。命令デコーダ21は、メモリより取り込んだ命令を格納し、取り込んだ命令を解読する。スキップ処理制御ユニット22は、命令デコーダ21から出力されるスキップ処理開始信号と、データパス30から出力されるスキップ処理終了信号(第2のスキップ処理終了信号II)とから、スキップ状態か否かを判断し、CPU10内外部に対しデータの書き込みを制御する。
The control unit 20 includes an
データパス30は、ロードストアユニット31と実行ユニット32とレジスタファイル33とプログラム状態レジスタ34とプログラムカウンタ35と分岐先アドレスレジスタ36とパイプラインレジスタ37で構成されている。ロードストアユニット31は、CPU10外部からのデータ読み込み及び外部へのデータ書き込みを制御する。実行ユニット32は、命令デコーダ21で解読された命令に従い、制御ユニット20から出力される、制御信号に応じて、所定の算術・論理演算を実行する。ここで、実行ユニット32においてALU(算術論理演算ユニット)50を有し、このALU50はスキップ処理時にも使用される。レジスタファイル33は、実行ユニット32により実行された結果のデータもしくはメモリ等のCPU10外部より取り込まれたデータを格納する。プログラム状態レジスタ34は、CPU10の処理状態を保持する。プログラムカウンタ35は、フェッチする命令のアドレスを示す。分岐先アドレスレジスタ36は、条件付き分岐命令での分岐先アドレスを保持する。パイプラインレジスタ37は、実行ユニット32(ALU50)の出力であるコンディションコード信号を、第1のスキップ処理終了信号Iとして、当該信号を1サイクル遅延させて、この信号を第2のスキップ処理終了信号IIとしてスキップ処理制御ユニット22に出力する。
The data path 30 includes a load /
また、バス接続についても、第1の比較例のCPUと同様の構成であり、ノイマンバス構成となっている。
本実施形態においては、スキップ処理制御ユニット22とデータパス30によりスキップ処理制御手段が構成されている。
Further, the bus connection is the same as that of the CPU of the first comparative example , and has a Neumann bus configuration.
In the present embodiment, the skip
以上、述べたようなCPU構成における、スキップ処理の手順を図6及び図7を用いて、説明する。
スキップ処理制御ユニット22は、第2の比較例と同じく、スキップ状態フラグ22aを備えており、スキップ状態フラグ22aがスキップ状態の場合には、内外部の書き込み制御信号として書き込み禁止を出力する。
The skip processing procedure in the CPU configuration as described above will be described with reference to FIGS.
Similar to the second comparative example , the skip
また、スキップ状態フラグ22aは、第2の比較例と同様に、命令デコーダ21で条件
付き分岐命令を解読し、条件が成立した際に出力される、スキップ処理開始信号を受けて、スキップ状態にセットされる。
Similarly to the second comparative example , the
本実施形態におけるスキップ処理制御ユニット22は、スキップ処理開始信号が入力された場合には、同時に、実行ユニット32にて算出された、分岐先アドレスを分岐先アドレスレジスタ36に格納する。
When the skip processing start signal is input, the skip
また、本実施形態のスキップ処理制御ユニット22は、スキップ状態フラグがスキップ状態の間、実行ユニット32を制御して、分岐先アドレスレジスタ36の分岐先アドレスとプログラムカウンタ35の現在のアドレスの比較演算を行わせる。具体的には、分岐先アドレスレジスタ36の分岐先アドレスとプログラムカウンタ35の現在のアドレスを実行ユニット32内のALU(算術論理演算ユニット)50に入力し、実行ユニット32に対し、比較オペレーションを指示する。条件付き分岐命令(前方のみに分岐することを許可された条件付き分岐命令)によるスキップ処理区間は、条件付き分岐命令の次命令から、分岐先アドレスの1つ手前までとなるため、[分岐先アドレスレジスタ36の分岐先アドレス]=[プログラムカウンタ35の現在のアドレス]となった時点で、スキップ状態フラグをリセットすればよいことになる。本構成の場合、実行ユニット32(ALU50)の出力であるコンディションコード信号が第1のスキップ処理終了信号Iとなる。
Further, the skip
ただし、複数のステージによるパイプライン処理を行うCPUの場合、演算結果を書き込むタイミングとプログラムカウンタ35の値(アドレス)とにずれが生じるため、タイミング調整のためのパイプラインレジスタ37(この場合、1サイクル分の遅延)を用いて遅延させた信号を第2のスキップ処理終了信号IIとする。このようにしてデータの書き込みのみを分岐先アドレスの1つ手前の命令まで禁止することができる(命令有効時と同じサイクル数を消費させることができる)。
However, in the case of a CPU that performs pipeline processing using a plurality of stages, there is a difference between the timing at which the operation result is written and the value (address) of the
ここで、プログラムカウンタ35のアドレスと分岐先アドレスレジスタ36のアドレスの比較を実行ユニット32で処理する構成を採っているのは、演算器の共有化によるCPU小型化の効果を狙ったものであり、スキップ状態フラグがスキップ状態の間は、命令が無効となるため、実行ユニット32を分岐先アドレスレジスタ36の分岐先アドレスとプログラムカウンタ35の現在のアドレスの比較演算に有効利用することが可能である。
Here, the configuration in which the
スキップ状態フラグが条件付き分岐命令によってセット及びリセットされる動作を、図7を用いて詳しく説明する。
メモリ上のアドレスが100番地にある、条件付き分岐命令(前方のみに分岐することを許可された条件付き分岐命令)をサイクル番号♯1の時点でフェッチし、サイクル番号♯3で実行する。サイクル番号♯3において条件判定を行い条件が成立した時点で、命令デコーダ21よりスキップ処理開始信号が出力され、サイクル番号♯4の時点ではスキップ状態フラグがセットされる。これと同時に、分岐先アドレスレジスタ36に分岐先アドレス(この場合105)がセットされる。
The operation in which the skip state flag is set and reset by the conditional branch instruction will be described in detail with reference to FIG.
A conditional branch instruction (conditional branch instruction permitted to branch only forward) at the
スキップ状態フラグがスキップ状態にセットされると、その時点でEXEステージにある命令から、データの書き込みが禁止され、図7においては、命令Aのデータ書き込みから禁止される。また、スキップ状態フラグがスキップ状態の間は、実行ユニット32でプログラムカウンタ35のアドレスと分岐先アドレスレジスタ36のアドレスの比較演算が行われる。[プログラムカウンタの現在のアドレス]≧[分岐先アドレスレジスタのアドレス]となったサイクル番号♯6の時点で、第1のスキップ処理終了信号Iが出力され、これに伴ってパイプラインレジスタ37により1サイクル分だけ遅延してスキップ状態フラグがリセットされる。即ち、サイクル番号♯7までスキップ状態フラグがセットされ、サイクル番号♯8でリセットされる。
When the skip state flag is set to the skip state, data writing is prohibited from the instruction currently in the EXE stage, and in FIG. While the skip state flag is in the skip state, the
アドレスが105番地の命令である命令Eは、EXEステージがスキップ状態フラグが通常状態にリセットされたサイクル番号♯8の時点となるため、命令E以降のデータ書き込みから再び有効になる。
The instruction E, which is an instruction at the
このように、本実施形態のCPU10では、スキップ処理専用の命令を用いることなく、スキップ処理制御を実現することができ、かつハードウェアリソースを有効活用することで、小型な構成とすることができる。
As described above, the
また、本実施形態のプログラム制御方法によれば、スキップ処理を終了するための命令が不要となり、命令数が削減できる。さらに、条件付き分岐命令での条件成立にてフラグ・セットを行うとともにアドレスの比較にてフラグ・リセットを行うことにより、スキップ処理を開始、終了するための命令が不要となり、命令数が削減できる他、プログラム中の、命令の有効化/無効化を行う位置をプログラマが意識し、必要な命令を埋め込む作業を不要とできる効果もある。 In addition, according to the program control method of the present embodiment, an instruction for ending the skip process is unnecessary, and the number of instructions can be reduced. Furthermore, by setting a flag when a condition is satisfied in a conditional branch instruction and performing a flag reset by comparing addresses, an instruction for starting and ending skip processing becomes unnecessary, and the number of instructions can be reduced. In addition, there is an effect that the programmer is aware of the position where the instruction is validated / invalidated in the program, and the work of embedding a necessary instruction is unnecessary.
以上のごとく、本実施形態は下記の特徴を有する。
プログラム制御方法として、前方のみに分岐することを許可された条件付き分岐命令で指定された分岐先アドレスと、プログラムカウンタ35の現在のアドレスが、分岐先アドレス≦現在のアドレスとなったことをトリガとしてスキップ処理を終了する。これにより、スキップ無効命令を挿入する場合に比べ、命令数が少なくて済む。また、スキップ処理用の命令を実装しなくてよい。
As described above, the present embodiment has the following features.
As a program control method, it is triggered that the branch destination address specified by the conditional branch instruction permitted to branch only forward and the current address of the
CPU(プロセッサ)として、スキップ処理制御手段(22,30)は、条件付き分岐命令によって指定される分岐先アドレスを保持するための分岐先アドレスレジスタ36と、分岐先アドレスレジスタ36の分岐先アドレスとプログラムカウンタ35の現在のアドレスを比較するアドレス比較手段としてのALU(算術論理演算ユニット)50と、を備え、ALU50は、分岐先アドレス≦現在のアドレスとなったことをトリガにして、スキップ状態フラグを通常状態にリセットする。これにより、スキップ状態フラグをリセットする別構成として好ましいものとなる。
As the CPU (processor), the skip processing control means (22, 30) includes a branch
また、アドレス比較手段は、データパス30の内部のALU(算術論理演算ユニット)50で構成され、スキップ状態フラグがスキップ状態にセットされている場合には、ALU50に、分岐先アドレスレジスタ36の分岐先アドレスとプログラムカウンタ35の現在のアドレスを入力し、ALU50より出力されるコンディションコード、即ち、比較演算結果が分岐先アドレス≦現在のアドレスとなったことをトリガにして、スキップ状態フラグを通常状態にリセットする。これにより、分岐先アドレスレジスタ36の分岐先アドレスとプログラムカウンタ35の現在のアドレスの比較を実行する構成として、データパス30の内部のALU50を用いることによってリソースの活用による小型化を図ることができる。
(第2の実施の形態)
次に、本発明の第2の実施形態を、第1の実施形態との相違点を中心に説明する。
The address comparison means is composed of an ALU (arithmetic logic unit) 50 in the data path 30. When the skip state flag is set to the skip state, the branch of the branch
(Second Embodiment)
Next, a second embodiment of the present invention will be described focusing on differences from the first embodiment.
図8は、図6に代わる本実施形態におけるCPUの内部構成を示すブロック図である。図9には、図7に代わる本実施形態におけるスキップ処理中のパイプライン動作図を示す。 FIG. 8 is a block diagram showing the internal configuration of the CPU in this embodiment instead of FIG. FIG. 9 shows a pipeline operation diagram during skip processing in this embodiment instead of FIG.
図8において、スキップ処理制御ユニット22は、スキップ状態フラグ22aと、フラグデータ退避手段としてのフラグデータ退避ユニット22bと、フラグデータ復帰手段としてのフラグデータ復帰ユニット22cを備えている。また、データパス30にはフラグデータ退避用レジスタ38が設けられている。
In FIG. 8, the skip
本実施形態においては、スキップ処理制御ユニット22とデータパス30によりスキップ処理制御手段が構成されている。
この構成により、次のように作用する。
In the present embodiment, the skip
This configuration operates as follows.
図9において、アドレスが100番地の条件付き分岐命令(前方のみに分岐することを許可された条件付き分岐命令)の後に、アドレスが101番地の命令A、アドレスが102番地の命令B、アドレスが103番地の命令C、アドレスが104番地の命令Dがスキップ処理されるとともに、アドレスが102番地の命令Bとアドレスが103番地の命令Cとの間において割り込みが発生してアドレスが106番地の命令Fを実行した後にリターンするものとする。
In FIG. 9, after a conditional branch instruction with an address of 100 (a conditional branch instruction permitted to branch only forward), an instruction A with an address of 101, an instruction B with an address of 102, and an address of Instruction C at
条件付き分岐命令(前方のみに分岐することを許可された条件付き分岐命令)によりスキップ状態フラグがセットされ、その後の割り込みの発生時にスキップ処理制御ユニット22のフラグデータ退避ユニット22bはスキップ状態フラグのフラグデータをレジスタ38へ退避する。また、割り込みの発生にて、プログラムカウンタ35および分岐先アドレスレジスタ36にはアドレス(番地)として「106」がセットされる(分岐先アドレス≦現在のアドレスが成立する)。
A skip state flag is set by a conditional branch instruction (a conditional branch instruction that is permitted to branch forward only), and the flag
割り込みが終了した後の復帰命令により、スキップ処理制御ユニット22のフラグデータ復帰ユニット22cは、レジスタ38に退避したフラグデータをスキップ状態フラグに復帰する。また割り込みの終了に伴うアドレスが103番地の命令Cを処理すべくプログラムカウンタ35にはアドレス(番地)として「103」がセットされる(分岐先アドレスレジスタ36にはアドレス(番地)として「105」がセットされ、分岐先アドレス>現在のアドレスとなる)。
The flag data return
その後、サイクル番号♯7において、分岐先アドレスレジスタ36の分岐先アドレスが「105」、プログラムカウンタ35の現在のアドレスが「105」、即ち、分岐先アドレス=現在のアドレスとなり、その次のサイクルでスキップ状態フラグをリセットする(スキップ処理を終了させる)。
Thereafter, in
このようにして、割り込みによって処理が切り替わり、リターン命令により処理を再開する際においても、スキップ処理を継続することができる。
ここで、前述のフラグデータ退避ユニット22b、フラグデータ復帰ユニット22cおよびフラグデータ退避用レジスタ38が無かった場合について図10を用いて説明する。
In this manner, the skip process can be continued even when the process is switched by the interrupt and the process is resumed by the return instruction.
Here, a case where the flag
図10において、条件付き分岐命令(前方のみに分岐することを許可された条件付き分岐命令)によりスキップ状態フラグがセットされた後において割り込みが発生してもスキップ状態フラグのフラグデータの退避が行われない。この状態において、割り込みの発生にて、プログラムカウンタ35および分岐先アドレスレジスタ36にはアドレス(番地)として「106」がセットされ、この分岐先アドレス≦現在のアドレスの成立に伴ってスキップ状態フラグがリセットされることになる。
In FIG. 10, the flag data of the skip state flag is saved even if an interrupt occurs after the skip state flag is set by a conditional branch instruction (conditional branch instruction permitted to branch only forward). I will not. In this state, when an interrupt occurs, “106” is set as the address (address) in the
割り込みが終了すると、アドレスが103番地の命令Cを処理すべくプログラムカウンタ35にはアドレス(番地)として「103」が、分岐先アドレスレジスタ36にはアドレス(番地)として「105」がセットされ、分岐先アドレス>現在のアドレスとなるが、既にスキップ状態フラグのリセットのための動作が終わっているため、スキップ処理を継続することができない。
When the interruption ends, “103” is set as the address (address) in the
これに対し、本実施形態においては、割り込みによりスキップ状態フラグがリセットされることはない。
スキップ状態フラグのデータは図8のフラグデータ退避用レジスタ38ではなくCPU外部のメモリに退避してもよい。
On the other hand, in this embodiment, the skip state flag is not reset by an interrupt.
The skip state flag data may be saved in a memory outside the CPU instead of the flag
なお、図8においてスキップ状態フラグ22aは制御ユニット20ではなくデータパス30のプログラム状態レジスタ34においてスキップ状態フラグ34aとして設けてもよい。
In FIG. 8, the
以上のごとく、本実施形態は下記の特徴を有する。
CPU(プロセッサ)として、スキップ処理制御手段(22,30)は、割り込み発生時にスキップ状態フラグ(22a)のフラグデータをレジスタ38ないしメモリへ退避するフラグデータ退避ユニット22bと、復帰命令により、退避したフラグデータをスキップ状態フラグ(22a)に復帰するフラグデータ復帰ユニット22cと、を備える。これにより、割り込み時のスキップ処理を継続することができる。この構成は第1の比較例に適用してもよい。
As described above, the present embodiment has the following features.
As the CPU (processor), the skip processing control means (22, 30) saves the flag data save
なお、これまでの説明においてはパイプラインでシーケンス制御を行う場合について説明してきたが、これに限定されるものではない。 In the above description, the case where the sequence control is performed in the pipeline has been described. However, the present invention is not limited to this.
10…CPU、20…制御ユニット、21…命令デコーダ、22…スキップ処理制御ユニット、22a…スキップ状態フラグ、22b…フラグデータ退避ユニット、22c…フラグデータ復帰ユニット、30…データパス、31…ロードストアユニット、32…実行ユニット、33…レジスタファイル、34…プログラム状態レジスタ、35…プログラムカウンタ、36…分岐先アドレスレジスタ、37…パイプラインレジスタ、38…フラグデータ退避用レジスタ、50…ALU。
DESCRIPTION OF
Claims (2)
前記スキップ処理制御手段は、
命令によるデータの書き込みを制御するフラグであって前方のみに分岐することを許可された条件付き分岐命令における条件が成立した場合にスキップ状態にセットされるスキップ状態フラグと、
前記条件付き分岐命令によって指定される分岐先アドレスを保持するための分岐先アドレスレジスタと、
前記分岐先アドレスレジスタの分岐先アドレスとプログラムカウンタの現在のアドレスを比較し、
分岐先アドレス≦現在のアドレス
となったことをトリガにして、前記スキップ状態フラグを通常状態にリセットするアドレス比較手段と、
割り込み発生時に前記スキップ状態フラグのフラグデータをレジスタないしメモリへ退避するフラグデータ退避手段と、
復帰命令により、退避した前記フラグデータをスキップ状態フラグに復帰するフラグデータ復帰手段とを備え、
前記スキップ状態フラグがスキップ状態にセットされているスキップ処理中は命令の種類に関わらず、プロセッサ内外に対するデータの書き込みを禁止し続けることを特徴とするプロセッサ。 When a condition is established based on the condition determination, the processor includes skip processing control means for invalidating one or more consecutive instructions thereafter,
The skip processing control means includes:
A flag that controls writing of data by the instruction, a skip state flag that is set to a skip state when a condition in a conditional branch instruction that is permitted to branch forward only is satisfied, and
A branch destination address register for holding a branch destination address specified by the conditional branch instruction;
Compare the branch destination address of the branch destination address register with the current address of the program counter,
Address comparison means for resetting the skip state flag to a normal state, triggered by the fact that the branch destination address ≦ the current address ,
Flag data saving means for saving flag data of the skip state flag to a register or a memory when an interrupt occurs;
Flag data return means for returning the saved flag data to a skip state flag by a return instruction ;
A processor characterized in that during the skip process in which the skip state flag is set to the skip state, data writing to the inside and outside of the processor is continuously prohibited regardless of the type of instruction.
分岐先アドレス≦現在のアドレス
となったことをトリガにして、スキップ状態フラグを通常状態にリセットすることを特徴とする請求項1に記載のプロセッサ。 The address comparing means is composed of an arithmetic logic unit inside the data path, and when the skip state flag is set to the skip state, the arithmetic logic unit has the branch destination address of the branch destination address register. The current address of the program counter is input, and when the condition code output from the arithmetic logic unit becomes a branch destination address ≦ the current address, the skip state flag is reset to the normal state. The processor according to claim 1.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005130382A JP4889235B2 (en) | 2005-04-27 | 2005-04-27 | Program control processor |
US11/312,830 US7725694B2 (en) | 2004-12-21 | 2005-12-21 | Processor, microcomputer and method for controlling program of microcomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005130382A JP4889235B2 (en) | 2005-04-27 | 2005-04-27 | Program control processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006309454A JP2006309454A (en) | 2006-11-09 |
JP4889235B2 true JP4889235B2 (en) | 2012-03-07 |
Family
ID=37476275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005130382A Expired - Fee Related JP4889235B2 (en) | 2004-12-21 | 2005-04-27 | Program control processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4889235B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299729A (en) * | 2007-06-01 | 2008-12-11 | Digital Electronics Corp | Processor |
JP5012562B2 (en) * | 2008-02-27 | 2012-08-29 | 株式会社デンソー | Microcomputer |
JP4829370B1 (en) * | 2010-07-09 | 2011-12-07 | 株式会社東芝 | MEMORY CONTROL DEVICE, MEMORY DEVICE, AND STOP CONTROL METHOD |
JP7384374B2 (en) | 2019-02-27 | 2023-11-21 | 株式会社ウーノラボ | central processing unit |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03269728A (en) * | 1990-03-20 | 1991-12-02 | Fujitsu Ltd | Instruction execution control system for pipeline computer |
JP2002082800A (en) * | 2000-09-06 | 2002-03-22 | Sanyo Electric Co Ltd | Device and method for executing program |
WO2004053685A1 (en) * | 2002-12-12 | 2004-06-24 | Arm Limited | Instruction timing control within a data processing system |
-
2005
- 2005-04-27 JP JP2005130382A patent/JP4889235B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006309454A (en) | 2006-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5461722A (en) | Parallel processing apparatus suitable for executing in parallel a plurality of instructions including at least two branch instructions | |
JP4770664B2 (en) | Microprocessor and microcomputer using the same | |
US6832305B2 (en) | Method and apparatus for executing coprocessor instructions | |
JP2006318051A (en) | Microprocessor and method of controlling microprocessor | |
JP4889235B2 (en) | Program control processor | |
US20070079076A1 (en) | Data processing apparatus and data processing method for performing pipeline processing based on RISC architecture | |
US20060095746A1 (en) | Branch predictor, processor and branch prediction method | |
JP5233078B2 (en) | Processor and processing method thereof | |
US20080065870A1 (en) | Information processing apparatus | |
US6862680B2 (en) | Microprocessor processing specified instructions as operands | |
JP3602801B2 (en) | Memory data access structure and method | |
JP2010015298A (en) | Information processor and instruction fetch control method | |
EP0573071A2 (en) | A microprocessor | |
JP5012562B2 (en) | Microcomputer | |
JP4702004B2 (en) | Microcomputer | |
JP4498705B2 (en) | Cash system | |
JP2004062427A (en) | Microprocessor | |
JP4151497B2 (en) | Pipeline processing equipment | |
JP5679263B2 (en) | Information processing apparatus and microinstruction processing method | |
JP4564025B2 (en) | Interrupt processing method in information processing apparatus | |
JP2000099328A (en) | Processor and its execution control method | |
JP2006139644A (en) | Processor | |
JP2010092273A (en) | Information processor | |
JP2000347931A (en) | Cache memory and method for controlling cache memory | |
JPH03291724A (en) | Microprogram control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070620 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090727 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091127 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100817 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101116 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20101122 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20110401 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111213 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4889235 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141222 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |