Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4609702B2 - Data processing system and control method thereof - Google Patents
[go: Go Back, main page]

JP4609702B2 - Data processing system and control method thereof - Google Patents

Data processing system and control method thereof Download PDF

Info

Publication number
JP4609702B2
JP4609702B2 JP2004369779A JP2004369779A JP4609702B2 JP 4609702 B2 JP4609702 B2 JP 4609702B2 JP 2004369779 A JP2004369779 A JP 2004369779A JP 2004369779 A JP2004369779 A JP 2004369779A JP 4609702 B2 JP4609702 B2 JP 4609702B2
Authority
JP
Japan
Prior art keywords
stage
instruction
fetch
architecture
pipeline
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
JP2004369779A
Other languages
Japanese (ja)
Other versions
JP2006178653A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2004369779A priority Critical patent/JP4609702B2/en
Publication of JP2006178653A publication Critical patent/JP2006178653A/en
Application granted granted Critical
Publication of JP4609702B2 publication Critical patent/JP4609702B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

本発明は、アーキテクチャの異なるデータ処理システム用の命令あるいは命令セットを含むプログラムを、柔軟に実行することができるデータ処理システムおよびその制御方法に関するものである。   The present invention relates to a data processing system capable of flexibly executing a program including instructions or instruction sets for data processing systems having different architectures, and a control method thereof.

コンピュータの機能的構造あるいは物理的構造をアーキテクチャと称しており、コンピュータシステムのソフトウェアとハードウェア全体の機能を決定する重要なファクタの1つである。ハードウェアの構成が異なれば、それを制御するためのソフトウェアの命令も異なる。ソフトウェア設計の容易化、資産の利用などのために、命令を共通にする努力は常に行われているが、新しい機能を搭載したハードウェアを制御したり、目的の異なる機能を搭載したハードウェアを制御するために異なる命令が採用されることはある。また、同じ命令が、ハードウェアに対して異なる処理の実行を要求するものであることもある。特に、ハードウェアを直接制御する機械語に近い命令はアーキテクチャの影響を受けるので、命令が全て同一であるというケースは少ない。
特開2003−167730号公報
The functional structure or physical structure of a computer is called an architecture, and is one of the important factors that determine the functions of the software and hardware of a computer system as a whole. If the hardware configuration is different, the software instructions for controlling it are also different. Efforts to share instructions are constantly being made to facilitate software design, use of assets, etc., but control hardware with new functions or install hardware with different functions. Different commands may be employed to control. The same instruction may request execution of different processing from the hardware. In particular, since an instruction close to a machine language that directly controls hardware is affected by the architecture, there are few cases where the instructions are all the same.
JP 2003-167730 A

あるアプリケーションプログラムを異なるアーキテクチャのハードウェアで実行したいという要望がある。また、アプリケーションプログラムをより容易に開発したり、アプリケーションプログラムの一部を、その処理を実行するのに適した異なるアーキテクチャにより実行されるように設計したいという要望もある。   There is a desire to execute an application program on hardware of a different architecture. There is also a desire to develop an application program more easily or to design a part of the application program to be executed by a different architecture suitable for executing the processing.

特開2003−167730号公報においては、アプリケーション毎に最適化された命令セットで処理を行うことが可能なマイクロプロセッサとして、同一チップ上にデータパス部と制御部とを有し、その制御部をFPGAなどのプログラマブルロジックで構成し、データパス部はプログラマブルロジックではないハードウェアロジックで構成したマイクロプロセッサを提供することが開示されている。この技術を用いれば、アプリケーションプログラムに応じた命令セットで処理を行わせるように、マイクロプロセッサのプログラマブルロジックを書き換えることができる。しかしながら、FPGAのプログラマブルロジックを書き換えるためには処理を中断する必要があるので、1つのアプリケーションプログラムの中に複数のアーキテクチャの命令を含めることは不可能である。   In Japanese Patent Laid-Open No. 2003-167730, a microprocessor that can perform processing with an instruction set optimized for each application has a data path unit and a control unit on the same chip. It is disclosed to provide a microprocessor that is configured by programmable logic such as FPGA and the data path unit is configured by hardware logic that is not programmable logic. If this technique is used, the programmable logic of the microprocessor can be rewritten so that processing is performed with an instruction set corresponding to the application program. However, since it is necessary to interrupt the process in order to rewrite the programmable logic of the FPGA, it is impossible to include instructions of a plurality of architectures in one application program.

近年、動的に再構成可能なプロセッサが開発されており、1サイクルでロジックを書き換えることができる。したがって、FPGAの代わりに、動的に再構成可能なプロセッサを用いることにより、1つのアプリケーションプログラム中に複数のアーキテクチャの命令セットの命令を含めることができる可能性がある。しかしながら、マイクロプロセッサの多くは実質的な処理時間を短縮するために、パイプライン動作により処理が進むように設計されている。パイプラインの分割方法はいろいろな方式が考えられるが、特開2003−167730号公報においては、命令フェッチIF、命令デコードID、演算実行EX、メモリアクセスMEM、レジスタ書き込みWBの5つのステージに分割して、1クロックサイクルあたりに処理しなければならない内容を簡単にしたり、クロック周波数を引き上げて処理スピードを高速化している。   In recent years, dynamically reconfigurable processors have been developed, and logic can be rewritten in one cycle. Therefore, by using a dynamically reconfigurable processor instead of the FPGA, there is a possibility that instructions of an instruction set of a plurality of architectures can be included in one application program. However, many microprocessors are designed so that processing proceeds by pipeline operation in order to shorten the substantial processing time. There are various methods for dividing the pipeline. In Japanese Patent Laid-Open No. 2003-167730, the pipeline is divided into five stages: instruction fetch IF, instruction decode ID, operation execution EX, memory access MEM, and register write WB. Thus, the contents that must be processed per clock cycle are simplified, or the processing speed is increased by raising the clock frequency.

したがって、制御部のロジックを1クロックサイクルで書き換えできるとしても、プログラム中の命令はパイプライン動作を制御する必要がある都合上、1つの命令によるパイプライン動作が終了するまでは、異なるアーキテクチャの命令セットをデコードできるように制御部を書き換えることができない。このため、制御部のロジックを書き換えるためにはパイプライン動作をいったん終え、リスタートする必要がある。したがって、リスタートのためにパイプラインが消費するクロックサイクル分の遅れが発生し、予定したアプリケーションプログラムとしての機能が得られなかったり、異なるアーキテクチャ用のプログラムを完全にエミュレートすることができないなどの問題が発生する。   Therefore, even if the logic of the control unit can be rewritten in one clock cycle, instructions in the program need to control the pipeline operation. For this reason, instructions of different architectures are required until the pipeline operation by one instruction is completed. The control cannot be rewritten so that the set can be decoded. Therefore, in order to rewrite the logic of the control unit, it is necessary to finish the pipeline operation once and restart it. Therefore, there will be a delay of the clock cycle consumed by the pipeline for restart, and the function as the scheduled application program cannot be obtained, or the program for different architecture cannot be completely emulated. A problem occurs.

そこで、本発明においては、パイプライン動作をリスタートさせることなく、パイプライン動作に障害を与えず、異なるアーキテクチャに対応する命令、すなわち、異なる命令セットに属する命令が混在したアプリケーションプログラムを実行できるデータ処理システムを提供することを目的としている。   Therefore, in the present invention, data that can execute an application program in which instructions corresponding to different architectures, that is, instructions belonging to different instruction sets are mixed without restarting the pipeline operation and without causing an obstacle to the pipeline operation. It aims to provide a processing system.

本発明の一態様は、パイプライン動作により命令をフェッチして処理するデータ処理システムであって、複数の回路要素であって、当該複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を所定の範囲で任意に変更することにより回路を動的に再構成する複数の回路要素と、少なくとも一部が前記複数の回路要素により構成されたパイプラインとを有し、前記パイプラインは、アプリケーションプログラムから命令をプログラムカウンタの制御により順番にフェッチするフェッチステージと、前記フェッチステージでフェッチされた命令に対応するアーキテクチャタイプの情報を判断するアーキテクチャ判別ステージと、前記フェッチステージでフェッチされた命令をデコードするデコードステージと、前記フェッチステージでフェッチされた命令による演算を実行する実行ステージと、前記フェッチステージでフェッチされた命令によりレジスタ書き込みを行うWBステージとを備え、さらに、前記複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を前記アーキテクチャ判別ステージで判断したアーキテクチャタイプの情報に基づき変更することにより、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれ動的に再構成する制御を行うコンフィグレーション制御ユニットを有し、前記アーキテクチャ判別ステージで判断されたアーキテクチャタイプの情報は、前記デコードステージ、前記実行ステージ、前記WBステージのステージ間を前記フェッチステージが順番にフェッチした命令と共に当該命令に対応してパイプラインのサイクルにより転送され、前記コンフィグレーション制御ユニットは、前記フェッチステージが順番にフェッチした命令が前記デコードステージ、前記実行ステージ、前記WBステージで実行されるタイミングに合わせて前記デコードステージ、前記実行ステージ、前記WBステージのうちの少なくとも一部の構成を再構成する制御を行う、データ処理システムである。
さらに、本発明の他の態様は、パイプライン動作により命令をフェッチして処理するデータ処理システムであって、複数の回路要素であって、当該複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を所定の範囲で任意に変更することにより回路を動的に再構成する複数の回路要素と、少なくとも一部が前記複数の回路要素により構成されたパイプラインとを有し、前記パイプラインは、アプリケーションプログラムから命令をプログラムカウンタの制御により順番にフェッチするとともにフェッチされた命令の単位でアーキテクチャタイプの情報を判断するフェッチステージと、前記フェッチステージでフェッチされた命令をデコードするデコードステージと、前記フェッチステージでフェッチされた命令による演算を実行する実行ステージと、前記フェッチステージでフェッチされた命令によりレジスタ書き込みを行うWBステージとを備え、さらに、前記複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を前記フェッチステージで判断したアーキテクチャタイプの情報に基づき変更することにより、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれ動的に再構成する制御を行うコンフィグレーション制御ユニットを有し、前記フェッチステージで判断されたアーキテクチャタイプの情報は、前記デコードステージ、前記実行ステージ、前記WBステージのステージ間を前記フェッチステージが順番にフェッチした命令と共に当該命令に対応してパイプラインのサイクルにより転送され、前記コンフィグレーション制御ユニットは、前記フェッチステージが順番にフェッチした命令が前記デコードステージ、前記実行ステージ、前記WBステージで実行されるタイミングに合わせて前記デコードステージ、前記実行ステージ、前記WBステージのうちの少なくとも一部の構成を再構成する制御を行う、データ処理システムである。
前記コンフィグレーション制御ユニットは、アーキテクチャタイプの情報を前記パイプラインのサイクルに合わせて転送する複数のステージ構成メモリと、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれの前記ステージ構成メモリのアーキテクチャタイプの情報により制御する複数のステージ制御ユニットとを含むことが望ましい。このデータ処理システムにおいては、パイプラインの各ステージの構成を、フェッチした命令を処理するタイミングで変更することができる。このため、パイプライン動作をリセットしたり、中断したりすることなく、異なるアーキテクチャの命令セットの命令が混在したアプリケーションプログラムを実行できる。
One aspect of the present invention is a data processing system that fetches and processes an instruction by a pipeline operation, and includes a plurality of circuit elements, a connection between the plurality of circuit elements, and / or in each circuit element. A plurality of circuit elements for dynamically reconfiguring a circuit by arbitrarily changing the setting of the circuit in a predetermined range, and a pipeline at least part of which is configured by the plurality of circuit elements. Fetched at the fetch stage, fetch stage sequentially fetching instructions from the application program under the control of the program counter, architecture determination stage determining the architecture type information corresponding to the instruction fetched at the fetch stage A decode stage for decoding an instruction and the fetch stage; An execution stage for executing an operation based on the instruction fetched in the register, and a WB stage for performing a register write by the instruction fetched in the fetch stage, and further, connection between the plurality of circuit elements and / or A configuration for performing control for dynamically reconfiguring the configurations of the decode stage, the execution stage, and the WB stage by changing the setting in the circuit element based on the architecture type information determined in the architecture determination stage. The architecture type information determined in the architecture determination stage includes a control unit, and the instruction is fetched between the decode stage, the execution stage, and the stage of the WB stage together with the instruction fetched in order by the fetch stage. In response, the configuration control unit transfers the decode stage in accordance with the timing at which the instructions fetched in order by the fetch stage are executed in the decode stage, the execution stage, and the WB stage. , A data processing system for performing control to reconfigure at least a part of the execution stage and the WB stage.
Furthermore, another aspect of the present invention is a data processing system that fetches and processes an instruction by pipeline operation, and includes a plurality of circuit elements, and a connection between the plurality of circuit elements and / or each of the circuit elements. A plurality of circuit elements for dynamically reconfiguring the circuit by arbitrarily changing a setting in the circuit element within a predetermined range, and a pipeline at least partially configured by the plurality of circuit elements; The pipeline sequentially fetches instructions from an application program under the control of a program counter, and also determines a fetch stage that determines architecture type information in units of fetched instructions, and a decode that decodes instructions fetched in the fetch stage. A stage and an operation by an instruction fetched in the fetch stage. An execution stage for executing a write operation, and a WB stage for performing a register write by an instruction fetched in the fetch stage, and further, a connection between the plurality of circuit elements and / or a setting in each circuit element is set in the fetch stage. A configuration control unit that performs control for dynamically reconfiguring the configurations of the decode stage, the execution stage, and the WB stage by changing based on the architecture type information determined in step Information on the determined architecture type is transferred between the decode stage, the execution stage, and the WB stage in the pipeline cycle corresponding to the instruction together with the instruction fetched in order by the fetch stage. The migration control unit may include at least one of the decode stage, the execution stage, and the WB stage in accordance with a timing at which instructions fetched in order by the fetch stage are executed in the decode stage, the execution stage, and the WB stage. A data processing system that performs control to reconfigure a part of the configuration.
The configuration control unit has a plurality of stage configuration memories that transfer architecture type information in accordance with the pipeline cycle, and the configurations of the decode stage, the execution stage, and the WB stage in the respective stage configuration memories. It is desirable to include a plurality of stage control units that are controlled by architecture type information. In this data processing system, the configuration of each stage of the pipeline can be changed at the timing of processing the fetched instruction. Therefore, an application program in which instructions of instruction sets of different architectures are mixed can be executed without resetting or interrupting the pipeline operation.

本発明の他の態様の1つは、パイプライン動作により命令をフェッチして処理するデータ処理システムの制御方法であって、前記データ処理システムは、複数の回路要素であって、当該複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を所定の範囲で任意に変更することにより回路を動的に再構成する複数の回路要素と、少なくとも一部が前記複数の回路要素により構成されたパイプラインとを有し、前記パイプラインは、アプリケーションプログラムから命令をプログラムカウンタの制御により順番にフェッチするフェッチステージと、前記フェッチステージでフェッチされた命令に対応するアーキテクチャタイプの情報を判断するアーキテクチャ判別ステージと、前記フェッチステージでフェッチされた命令をデコードするデコードステージと、前記フェッチステージでフェッチされた命令による演算を実行する実行ステージと、前記フェッチステージでフェッチされた命令によりレジスタ書き込みを行うWBステージとを備え、さらに、前記複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を前記アーキテクチャ判別ステージで判断したアーキテクチャタイプの情報に基づき変更することにより、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれ動的に再構成する制御を行うコンフィグレーション制御ユニットを有し、当該制御方法は、前記アーキテクチャ判別ステージで判断されたアーキテクチャタイプの情報が、前記デコードステージ、前記実行ステージ、前記WBステージのステージ間を前記フェッチステージが順番にフェッチした命令と共に当該命令に対応してパイプラインのサイクルにより転送され、前記コンフィグレーション制御ユニットが、前記フェッチステージが順番にフェッチした命令を前記デコードステージ、前記実行ステージ、前記WBステージで実行されるタイミングに合わせて、前記デコードステージ、前記実行ステージ、前記WBステージのうちの少なくとも一部の構成を再構成する制御を行うことを有する。
本発明の他の態様の1つは、パイプライン動作により命令をフェッチして処理するデータ処理システムの制御方法であって、前記データ処理システムは、複数の回路要素であって、当該複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を所定の範囲で任意に変更することにより回路を動的に再構成する複数の回路要素と、少なくとも一部が前記複数の回路要素により構成されたパイプラインとを有し、前記パイプラインは、アプリケーションプログラムから命令をプログラムカウンタの制御により順番にフェッチするとともにフェッチされた命令の単位でアーキテクチャタイプの情報を判断するフェッチステージと、前記フェッチステージでフェッチされた命令をデコードするデコードステージと、前記フェッチステージでフェッチされた命令による演算を実行する実行ステージと、前記フェッチステージでフェッチされた命令によりレジスタ書き込みを行うWBステージとを備え、さらに、前記複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を前記フェッチステージで判断したアーキテクチャタイプの情報に基づき変更することにより、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれ動的に再構成する制御を行うコンフィグレーション制御ユニットを有し、当該制御方法は、前記フェッチステージで判断されたアーキテクチャタイプの情報が、前記デコードステージ、前記実行ステージ、前記WBステージのステージ間を前記フェッチステージが順番にフェッチした命令と共に当該命令に対応してパイプラインのサイクルにより転送され、前記コンフィグレーション制御ユニットが、前記フェッチステージが順番にフェッチした命令が前記デコードステージ、前記実行ステージ、前記WBステージで実行されるタイミングに合わせて前記デコードステージ、前記実行ステージ、前記WBステージのうちの少なくとも一部の構成を再構成する制御を行うことを有する。変更の対象となるものは、主に各ステージの処理を実現するためのデータパス構成であり、ALUなどの演算単位の機能を変更したり、ルックアップテーブル(LUT)の内容を変更したりすることも含まれる。
Another aspect of the present invention is a data processing system control method for fetching and processing an instruction by a pipeline operation, and the data processing system includes a plurality of circuit elements, and the plurality of circuits A plurality of circuit elements for dynamically reconfiguring the circuit by arbitrarily changing a connection between the elements and / or a setting in each circuit element within a predetermined range, and at least a part of the plurality of circuit elements A pipeline configured, and the pipeline determines a fetch stage for sequentially fetching instructions from an application program under the control of a program counter, and architecture type information corresponding to the instructions fetched in the fetch stage The architecture determination stage to be decoded and the instruction fetched in the fetch stage are decoded. A decode stage, an execution stage for executing an operation based on an instruction fetched in the fetch stage, and a WB stage for performing a register write by an instruction fetched in the fetch stage, and further comprising: The configuration of the decode stage, the execution stage, and the WB stage is dynamically changed by changing the connection between them and / or the setting in each circuit element based on the architecture type information determined in the architecture determination stage. A configuration control unit that performs reconfiguration control, and the control method is configured such that the information on the architecture type determined in the architecture determination stage is between the decode stage, the execution stage, and the WB stage. The fetch stage is transferred together with the instruction fetched in order by the pipeline cycle corresponding to the instruction, and the configuration control unit reads the instruction fetched in order by the fetch stage in the decode stage, the execution stage, Control is performed to reconfigure at least part of the configuration of the decode stage, the execution stage, and the WB stage in accordance with the timing executed in the WB stage.
Another aspect of the present invention is a data processing system control method for fetching and processing an instruction by a pipeline operation, and the data processing system includes a plurality of circuit elements, and the plurality of circuits A plurality of circuit elements for dynamically reconfiguring the circuit by arbitrarily changing a connection between the elements and / or a setting in each circuit element within a predetermined range, and at least a part of the plurality of circuit elements A pipeline configured, wherein the pipeline fetches instructions from an application program in order under the control of a program counter and determines architecture type information in units of fetched instructions; and the fetch A decode stage for decoding an instruction fetched in the stage; and the fetch stage And an WB stage for performing a register write with the instruction fetched at the fetch stage, and a connection between the plurality of circuit elements and / or respective circuits. A configuration control unit that performs control to dynamically reconfigure the configurations of the decode stage, the execution stage, and the WB stage by changing the setting in the element based on the architecture type information determined in the fetch stage. And the architecture type information determined at the fetch stage includes the instruction fetched in order by the fetch stage between the decode stage, the execution stage, and the WB stage. Correspondingly Transferred by a pipeline cycle, and the configuration control unit executes the decode stage and the execution in accordance with the timing at which the instructions fetched in order by the fetch stage are executed in the decode stage, the execution stage, and the WB stage. And performing control for reconfiguring at least a part of the configuration of the stage and the WB stage . What is to be changed is a data path configuration mainly for realizing the processing of each stage, and changes the function of an arithmetic unit such as ALU or changes the contents of a lookup table (LUT). It is also included.

アプリケーションプログラムに含まれる命令の属する命令セットのタイプが、ブロック単位あるいはファンクションユニット単位で異なる場合は、ブロック単位あるいはファンクションユニット単位で、パイプラインのアーキテクチャを交換すれば良い。したがって、アーキテクチャタイプを含む情報も、ブロック単位あるいはファンクションユニット単位で判断されるようにしても良い。しかしながら、その場合、アーキテクチャタイプを判断するために、ブロック単位あるいはファンクションユニット単位の命令のグループを判断する機能をデータ処理システムが持つ必要があり、構造および制御が複雑になる。さらに、命令単位で、異なる命令セットに属する命令が混在しているアプリケーションプログラムは処理できない。これに対し、パイプラインの各ステージを、フェッチした命令を処理するタイミングに合わせて、その命令のアーキテクチャタイプに合致するようにデータパスの構成を変更することにより、シンプルな回路構成および制御により、異なる命令セットに属する命令が命令単位で混在しているアプリケーションプログラムを処理できる。   When the type of instruction set to which an instruction included in an application program belongs differs in block units or function unit units, the pipeline architecture may be exchanged in block units or function units. Therefore, information including the architecture type may also be determined in units of blocks or functions. However, in this case, in order to determine the architecture type, the data processing system needs to have a function of determining a group of instructions in units of blocks or units of functions, and the structure and control become complicated. Furthermore, an application program in which instructions belonging to different instruction sets are mixed for each instruction cannot be processed. On the other hand, by changing the data path configuration so that each stage of the pipeline matches the architecture type of the instruction in accordance with the timing of processing the fetched instruction, by simple circuit configuration and control, An application program in which instructions belonging to different instruction sets are mixed in units of instructions can be processed.

フェッチした命令に対応するアーキテクチャタイプの情報を得る1つの形態は、パイプラインが、フェッチした命令に対応するアーキテクチャタイプを判別するアーキテクチャ判別ステージを備えていることである。命令と、その命令に対応するアーキテクチャタイプの情報が予めセットになって格納されているアプリケーションプログラムを提供することが可能である。その場合は、パイプラインが、命令と共に、その命令に対応するアーキテクチャタイプの情報をフェッチするフェッチステージを備えていることにより、アーキテクチャタイプの情報を取得できる。   One form of obtaining information about the architecture type corresponding to the fetched instruction is that the pipeline includes an architecture determination stage for determining the architecture type corresponding to the fetched instruction. It is possible to provide an application program in which an instruction and information of an architecture type corresponding to the instruction are stored in advance. In this case, the pipeline includes a fetch stage that fetches the architecture type information corresponding to the instruction together with the instruction, so that the architecture type information can be acquired.

アーキテクチャタイプの情報をパイプラインのサイクルにより転送することで、フェッチした命令が各ステージで実行されるタイミングに合わせて、パイプラインの各ステージの構成を変更できる。クロック同期のパイプライン動作では、パイプラインの各ステージは、パイプラインのサイクルに従い制御され、各ステージにおいて消費されるサイクルは予め判明している。したがって、各ステージの構成を、パイプラインのサイクルに従い変更することにより、各ステージの動作の制御と、各ステージの構成の制御とを独立して行なうことが可能であり、データフローコンピュータのように、処理ユニット単位で待ち合わせ機構を設けて発火制御する必要はない。   By transferring the architecture type information in the pipeline cycle, the configuration of each stage of the pipeline can be changed in accordance with the timing at which the fetched instruction is executed in each stage. In a clock-synchronized pipeline operation, each stage of the pipeline is controlled according to the pipeline cycle, and the cycles consumed in each stage are known in advance. Therefore, by changing the configuration of each stage according to the pipeline cycle, it is possible to independently control the operation of each stage and control the configuration of each stage, like a data flow computer. It is not necessary to control firing by providing a waiting mechanism for each processing unit.

パイプラインが、フェッチした命令をデコードするデコードステージと、フェッチした命令による演算を実行する実行ステージと、フェッチした命令によるレジスタ書き込みを行うWBステージとを少なくとも備えている場合は、コンフィグレーション制御ユニットは、デコードステージ、実行ステージ、WBステージの少なくともいずれかの構成を変更する。デコードステージの構成を変更することにより、フラグ位置が異なるなどの構造の異なる命令セットに属する命令を解釈することができる。実行ステージの構成またはWBステージの構成を変更することにより、複合命令の実行の可否を選択したり、フラグの自動更新の可否を選択したりすることができる。   When the pipeline includes at least a decode stage for decoding the fetched instruction, an execution stage for executing an operation based on the fetched instruction, and a WB stage for writing a register using the fetched instruction, the configuration control unit The configuration of at least one of the decode stage, the execution stage, and the WB stage is changed. By changing the configuration of the decode stage, it is possible to interpret instructions belonging to instruction sets having different structures such as different flag positions. By changing the configuration of the execution stage or the configuration of the WB stage, it is possible to select whether or not to execute the compound instruction and whether or not to automatically update the flag.

パイプラインの各ステージを構成するハードウェアは、アプリケーションプログラムに含まれる幾つかの命令セットのアーキテクチャに対応できるように予めデザインされたものであっても良い。その場合、コンフィグレーション制御ユニットは、構成変更工程において、アーキテクチャタイプの情報に従い、予め決められたデータパス構成を選択する。   The hardware constituting each stage of the pipeline may be designed in advance so as to correspond to the architecture of several instruction sets included in the application program. In this case, the configuration control unit selects a predetermined data path configuration in accordance with the architecture type information in the configuration change step.

複数の回路要素の少なくとも一部が、それら回路要素の間の接続および/またはそれぞれの回路要素内の設定を、所定の範囲で任意に変更可能な動的に再構成できるハードウェアを用いることが可能であり、アーキテクチャタイプにより構成の変更が要求されるステージを、動的に再構成できるハードウェアで実現することが望ましい。コンフィグレーション制御ユニットが構成変更工程において、複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を変更することにより、パイプラインのステージを動的に変更することが可能である。ステージの構成を再構成することにより、複数のアーキテクチャに対応した複数のデータパス構成を予め実装しておく必要がなく、また、複数のデータパスを選択するためのセレクタも不要になる。したがって、構成の変更が必要なステージを少ないハードウェア資源で生成でき、さらに、セレクタなどで消費される時間および電力を削減できる。したがって、本発明のデータ処理システムを、コンパクトに実現でき、消費電力の低減も図れる。   At least some of the plurality of circuit elements use hardware capable of dynamically reconfiguring the connection between the circuit elements and / or the setting in each circuit element, which can be arbitrarily changed within a predetermined range. It is possible to realize a stage in which a configuration change is required depending on the architecture type by hardware that can be dynamically reconfigured. The configuration control unit can dynamically change the stage of the pipeline by changing the connection between the plurality of circuit elements and / or the setting in each circuit element in the configuration changing process. By reconfiguring the stage configuration, it is not necessary to previously implement a plurality of data path configurations corresponding to a plurality of architectures, and a selector for selecting a plurality of data paths is also unnecessary. Therefore, a stage that requires a configuration change can be generated with a small amount of hardware resources, and the time and power consumed by a selector or the like can be reduced. Therefore, the data processing system of the present invention can be realized in a compact manner, and power consumption can be reduced.

図1に、本発明のデータ処理システムの一例の概略構成を示してある。このデータ処理システム1は、命令をフェッチして処理するプロセスをパイプラインで行うプロセッサである。プロセッサ1のパイプライン10は、外部あるいは内部のメモリ2に記録された、幾つかの命令からなるアプリケーションプログラム3から命令を、プログラムカウンタ16の制御により順番にフェッチするフェッチステージ(IF)11と、フェッチした命令の構成などから、そのフェッチした命令に対応するアーキテクチャタイプを判断するアーキテクチャ判別ステージ(TR)12と、フェッチした命令をデコードするデコードステージ(DEC)13、フェッチした命令による演算を実行する実行ステージ(EX)14、フェッチした命令によるレジスタ書き込みを行うWBステージ(WB)15を備えている。図1には、パイプラインレジスタは示していないが、それぞれのステージ11〜15の構成にパイプラインレジスタとして機能するレジスタが含まれている。また、DECステージ13では、フェッチした命令19がデコードされ、EXステージ14の制御情報31およびWBステージ15の制御情報32が生成され、それぞれEX制御部33およびWB制御部34にセットされる。WB制御部34に対しては、EXステージ14と同じサイクルのディレイを発生させるパイプラインディレイ用のレジスタ35を介して制御情報32が供給される。したがって、プロセッサ1においては、IFステージ11によりフェッチした命令19の処理は、これらのステージ11〜15において、所定のサイクルにより順番に実行される。   FIG. 1 shows a schematic configuration of an example of the data processing system of the present invention. The data processing system 1 is a processor that performs a process of fetching and processing an instruction using a pipeline. A pipeline 10 of the processor 1 includes a fetch stage (IF) 11 that fetches instructions from an application program 3 including several instructions, which are recorded in an external or internal memory 2, in order under the control of a program counter 16; An architecture determination stage (TR) 12 that determines an architecture type corresponding to the fetched instruction from the configuration of the fetched instruction, a decode stage (DEC) 13 that decodes the fetched instruction, and an operation based on the fetched instruction is executed. An execution stage (EX) 14 and a WB stage (WB) 15 for writing a register by a fetched instruction are provided. Although the pipeline register is not shown in FIG. 1, the configuration of each of the stages 11 to 15 includes a register that functions as a pipeline register. In the DEC stage 13, the fetched instruction 19 is decoded, and control information 31 of the EX stage 14 and control information 32 of the WB stage 15 are generated and set in the EX control unit 33 and the WB control unit 34, respectively. Control information 32 is supplied to the WB control unit 34 via a pipeline delay register 35 that generates a delay of the same cycle as that of the EX stage 14. Therefore, in the processor 1, the processing of the instruction 19 fetched by the IF stage 11 is sequentially executed in a predetermined cycle in these stages 11 to 15.

DECステージ13、EXステージ14およびWBステージ15は、回路を動的に再構成できるハードウェアを用いて生成されている。動的に再構成可能なハードウェアの一例は、複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を、所定の範囲で任意に変更可能なものである。本願の出願人は、国際公開WO2002−095946号公報において、再構成可能なハードウェアの一例を開示しており、基本的には1クロックサイクルで回路構成を変更することができる。本例のプロセッサ1は、その全体を、再構成可能なハードウェアに実装することにより実現することが可能である。また、DECステージ13、EXステージ14およびWBステージ15を再構成可能なハードウェアに実装し、他の構成が固定されたステージをASICなどにより実装することも可能である。なお、本発明は、IFステージ11およびTRステージ12は、構成が固定されたものに限定される必要はなく、DECステージ13のデコード結果により、あるいは外部からの制御により、IFステージ11またはTRステージ12の構成を変更するものであっても良い。例えば、固定長の命令セットと、可変長の命令セットとが混在しているようなプログラムに対しては、IFステージ11の構成を変更することも有効である。   The DEC stage 13, the EX stage 14, and the WB stage 15 are generated using hardware capable of dynamically reconfiguring a circuit. An example of dynamically reconfigurable hardware is one in which connections between a plurality of circuit elements and / or settings in each circuit element can be arbitrarily changed within a predetermined range. The applicant of the present application discloses an example of reconfigurable hardware in International Publication No. WO2002-095946, and basically the circuit configuration can be changed in one clock cycle. The processor 1 of this example can be realized by mounting the entire processor 1 on reconfigurable hardware. It is also possible to mount the DEC stage 13, the EX stage 14 and the WB stage 15 on reconfigurable hardware, and to mount a stage with other configurations fixed by an ASIC or the like. In the present invention, the IF stage 11 and the TR stage 12 do not need to be limited to those having a fixed configuration. The configuration of 12 may be changed. For example, for a program in which a fixed-length instruction set and a variable-length instruction set are mixed, it is also effective to change the configuration of the IF stage 11.

このプロセッサ1は、DECステージ13、EXステージ14およびWBステージ15の構成を、TRステージ12により判断されたアーキテクチャタイプの情報(以降においてはアーキテクチャ情報)29に基づき制御するためのコンフィグレーション制御ユニット20を備えている。コンフィグレーション制御ユニット20は、DECステージ13、EXステージ14およびWBステージ15のそれぞれの構成を制御するステージ制御ユニット21a〜21cと、DECステージ13、EXステージ14およびWBステージ15のそれぞれの構成情報を記録したステージ構成メモリ22a〜22cとを備えている。ステージ制御ユニット21a〜21cは、パイプラインレジスタを介して接続されており、それぞれのステージ制御ユニット21aおよび21bは、DECステージ13およびEXステージ14と同じサイクルを消費した後に、アーキテクチャ情報29を転送する。したがって、コンフィグレーション制御ユニット20においては、アーキテクチャ情報29が、パイプライン10のサイクルによりステージ制御ユニット21a〜21cの間で転送され、ステージ制御ユニット21a〜21cのそれぞれは、DECステージ13、EXステージ14およびWBステージ15の構成を、それぞれのステージがフェッチした命令19を処理するタイミングに合わせて、フェッチした命令19のアーキテクチャ情報29に基づき再構成する。   The processor 1 controls a configuration of the DEC stage 13, the EX stage 14, and the WB stage 15 based on architecture type information (hereinafter, architecture information) 29 determined by the TR stage 12. It has. The configuration control unit 20 stores the configuration information of the stage control units 21a to 21c for controlling the configurations of the DEC stage 13, the EX stage 14 and the WB stage 15 and the configurations of the DEC stage 13, the EX stage 14 and the WB stage 15, respectively. Recorded stage configuration memories 22a to 22c are provided. The stage control units 21 a to 21 c are connected via pipeline registers, and each stage control unit 21 a and 21 b transfers the architecture information 29 after consuming the same cycle as the DEC stage 13 and EX stage 14. . Therefore, in the configuration control unit 20, the architecture information 29 is transferred between the stage control units 21a to 21c by the cycle of the pipeline 10, and each of the stage control units 21a to 21c includes the DEC stage 13 and the EX stage 14 respectively. The configuration of the WB stage 15 is reconfigured based on the architecture information 29 of the fetched instruction 19 in accordance with the timing at which the instruction 19 fetched by each stage is processed.

プログラム3に含まれる命令を、プログラム3の作成者の意図の通りに実行するためには、プログラム3の作成者が意図したように命令をデコードし、実行する必要がある。すなわち、プログラム3の命令は、その命令が実行されるべきアーキテクチャと同じあるいは共通するアーキテクチャのプロセッサにより実行されないと、プログラム3により与えられたアプリケーションは仕様通りには動かない。現在、プロセッサのアーキテクチャはCISCおよびRISCに大きく分けられており、RISCプロセッサと一口にいっても、ARM、MIPS、SPARC、PowerPC、Alphaなど、各メーカによってアーキテクチャが異なる。したがって、RISC用の命令は、多くが共通の内容を示すが、各アーキテクチャによって処理内容が異なっていたり、命令自体が異なる場合がある。多くの場合、各アーキテクチャは、若干異なる命令セット、すなわち、命令フォーマットを採用しており、TRステージ12により、フェッチした命令を解析することによりアーキテクチャを判断できることが多い。したがって、本例のプロセッサ1においては、複数のアーキテクチャの命令がプログラム3に混在していても、各命令を、作成者が意図したアーキテクチャにより実行できる。   In order to execute the instructions included in the program 3 as intended by the creator of the program 3, it is necessary to decode and execute the instructions as intended by the creator of the program 3. That is, if the instruction of the program 3 is not executed by a processor having the same or common architecture as the architecture in which the instruction is to be executed, the application provided by the program 3 does not operate as specified. At present, the processor architecture is largely divided into CISC and RISC, and even if it is a little bit together with the RISC processor, the architecture differs depending on each manufacturer such as ARM, MIPS, SPARC, PowerPC, Alpha and the like. Therefore, many RISC instructions show common contents, but there are cases where the processing contents are different depending on each architecture or the instructions themselves are different. In many cases, each architecture employs a slightly different instruction set, that is, an instruction format, and the TR stage 12 can often determine the architecture by analyzing the fetched instruction. Therefore, in the processor 1 of this example, even if instructions of a plurality of architectures are mixed in the program 3, each instruction can be executed by the architecture intended by the creator.

しかしながら、アーキテクチャにより、命令セットが共通する命令もあり、そのような場合は、プログラム3の側で、アーキテクチャが混在している場合は、命令毎にアーキテクチャ情報を指示することが望ましい。図2に示したプログラムコード3aは、フェッチされる命令19(In0〜In4)の単位で、アーキテクチャ情報(アーキテクチャコードC−0〜C−2)29が指示されている。このようなプログラム3aを対象とした、本発明のプロセッサにおいては、IFステージ11により、フェッチした命令19に対応するアーキテクチャ情報29を得ることができる。したがって、TRステージ12を省くことが可能であり、以降の説明においてはTRステージを省いていることがある。   However, some architectures have a common instruction set depending on the architecture. In such a case, it is desirable to indicate architecture information for each instruction when the architecture is mixed on the program 3 side. In the program code 3a shown in FIG. 2, architecture information (architecture codes C-0 to C-2) 29 is indicated in units of fetched instructions 19 (In0 to In4). In the processor of the present invention targeting such a program 3a, the IF stage 11 can obtain the architecture information 29 corresponding to the fetched instruction 19. Therefore, the TR stage 12 can be omitted, and the TR stage may be omitted in the following description.

図3に、DECステージ13、EXステージ14およびWBステージ15の構成がパイプラインサイクル単位で変わり、フェッチした命令が実行される様子を模式的に示してある。このプロセッサ1のステージ13〜15の各々のステージは、それぞれの構成を、フェッチした命令19を処理するタイミング、すなわち、パイプラインサイクルに合わせて、フェッチした命令19に対応するアーキテクチャ情報29に基づき変更する工程(構成変更工程)25を含む制御方法により制御される。各ステージの処理の基本は、入力したデータに対して所望の処理を行って出力するというものであり、そのためのデータパス構造が変更の対象となる。データパスにALUなどの演算単位が含まれている場合は、その機能を変更したり、ルックアップテーブル(LUT)により出力を求める場合は、その内容を変更したりすることも含まれる。   FIG. 3 schematically shows how the configurations of the DEC stage 13, the EX stage 14, and the WB stage 15 change in units of pipeline cycles and the fetched instruction is executed. Each of the stages 13 to 15 of the processor 1 changes its configuration based on the architecture information 29 corresponding to the fetched instruction 19 in accordance with the timing at which the fetched instruction 19 is processed, that is, the pipeline cycle. Controlled by a control method including a process (configuration change process) 25 to be performed. The basic process of each stage is to perform a desired process on the input data and output it, and the data path structure for that is the object of change. When the data path includes an arithmetic unit such as ALU, the function is changed, and when the output is obtained by a lookup table (LUT), the contents are changed.

さらに、このプロセッサ1のステージ13〜15のステージ間は、アーキテクチャ情報29をパイプライン10のサイクルにより転送する工程26を含む制御方法により制御される。したがって、パイプライン10の流れをいったん止めたり、リスタート(リセット)させることなく、アーキテクチャの異なる命令を実行することができる。図3においては、一点鎖線のようにアーキテクチャ情報29がステージ間を転送され、それと共に、フェッチした命令19が転送される。したがって、個々のステージにおいては、再構成と命令実行とが繰り返され、パイプライン10としては、アーキテクチャの異なる命令19を、パイプライン10によりパイプライン動作を破綻させずに処理することができる。図3は、フェッチした命令19とアーキテクチャ情報29を区別し易い状態で示しているが、それぞれのステージにアーキテクチャ情報29が供給されるタイミングは、データがパイプライン10によりそれぞれのステージでフェッチした命令19により処理されるタイミングに合致していれば良い。したがって、各ステージのパイプラインレジスタがデータパスにより処理されたデータをラッチする前に、フェッチした命令19が、アーキテクチャ情報29により再構成された各々のステージで実行されるタイミングでアーキテクチャ情報29は各々のステージに供給されれば良い。また、EXステージ14およびWBステージ15などのDECステージ13の下流に位置するステージでは、フェッチした命令19は、それがデコードされた制御情報31および32として、それぞれのステージに供給されることは上述したとおりである。   Further, the stages 13 to 15 of the processor 1 are controlled by a control method including a step 26 of transferring the architecture information 29 by the cycle of the pipeline 10. Therefore, instructions having different architectures can be executed without once stopping or restarting (resetting) the flow of the pipeline 10. In FIG. 3, the architecture information 29 is transferred between the stages as indicated by the alternate long and short dash line, and at the same time, the fetched instruction 19 is transferred. Therefore, in each stage, reconfiguration and instruction execution are repeated, and the pipeline 10 can process the instruction 19 having a different architecture without causing the pipeline operation to fail. FIG. 3 shows the fetched instruction 19 and the architecture information 29 in an easily distinguishable state. The timing at which the architecture information 29 is supplied to each stage is the instruction in which data is fetched at each stage by the pipeline 10. It suffices if it matches the timing processed at step 19. Therefore, before the pipeline register at each stage latches the data processed by the data path, the architecture information 29 is stored at the timing at which the fetched instruction 19 is executed at each stage reconstructed by the architecture information 29. It may be supplied to the stage. In the stages located downstream of the DEC stage 13 such as the EX stage 14 and the WB stage 15, the fetched instruction 19 is supplied to the respective stages as the control information 31 and 32 obtained by decoding the instruction 19 as described above. Just as you did.

図4に、パイプラインを破綻させずにアーキテクチャを変更できる様子を示してある。図4(a)に示すように、アーキテクチャC−1とアーキテクチャC−2の命令が含まれているプログラム3を実行する際に、本例のプロセッサ1であれば、パイプライン10の各ステージ11〜15の進行に沿って構成を変更できるので、パイプライン10を止めずに、異なるアーキテクチャの命令を実行できる。したがって、本発明のプロセッサ1によれば、アーキテクチャの異なる命令を、アーキテクチャが同じ命令と同じレベルで混在させてプログラムを作成することができ、種々のアーキテクチャのプロセッサの機能を入り混じって利用したアプリケーションを容易に開発することができる。   FIG. 4 shows how the architecture can be changed without breaking the pipeline. As shown in FIG. 4A, when executing the program 3 including the instructions of the architecture C-1 and the architecture C-2, if the processor 1 of this example, each stage 11 of the pipeline 10 is executed. Since the configuration can be changed along the progress of ˜15, instructions of different architectures can be executed without stopping the pipeline 10. Therefore, according to the processor 1 of the present invention, it is possible to create a program by mixing instructions having different architectures at the same level as instructions having the same architecture, and an application using mixed functions of processors of various architectures. Can be easily developed.

これに対し、アーキテクチャ情報29により、構成を一括して変更するようなプロセッサを仮定すると、図4(b)に示すように、アーキテクチャC−1の命令の処理が終了してからアーキテクチャC−2の構成に変更し、アーキテクチャC−2の命令を実行する必要がある。したがって、パイプライン10の動作をいったん止めて、再構成できた段階でリスタートする必要がある。このため、アーキテクチャの異なる命令を実行する段階で、1パイプラインサイクル分のディレイが発生することになり、そのようなディレイを想定していないプログラム3を仕様通りに実行することができない。さらに、構成を1クロックで変更できる再構成可能なハードウェアであれば遅れは1パイプラインサイクルで済むが、FPGAのように回路構成を変更するのにms単位の有意な時間を費やすハードウェアであると、アーキテクチャの異なる命令を1つのプログラムに混在させることは不可能になる。   On the other hand, assuming a processor whose configuration is changed collectively by the architecture information 29, as shown in FIG. 4B, the architecture C-2 is processed after the completion of the instruction processing of the architecture C-1. It is necessary to execute the instruction of the architecture C-2. Therefore, it is necessary to stop the operation of the pipeline 10 and restart it when it is reconfigured. For this reason, a delay of one pipeline cycle occurs at the stage of executing an instruction with a different architecture, and the program 3 that does not assume such a delay cannot be executed as specified. Furthermore, if the reconfigurable hardware can change the configuration with a single clock, the delay is only one pipeline cycle. However, hardware that spends a significant amount of time in ms to change the circuit configuration, such as an FPGA. In some cases, it is impossible to mix instructions with different architectures in one program.

図5に、EXステージ14の構成を変更する例を示してある。アーキテクチャC−2においては以下のような加算命令の設定があり、アーキテクチャC−1にはそのような加算命令がない場合を想定している。   FIG. 5 shows an example of changing the configuration of the EX stage 14. The architecture C-2 has the following setting of an addition instruction, and it is assumed that the architecture C-1 does not have such an addition instruction.

命令:ADD Rd,Rn,Rm,LSL #5bit_Immed
動作:Rd=Rn+(Rm<<#5bit_Immed)
アーキテクチャC−1においては以下の2つの命令により上記の命令と同じ処理を実行できる。したがって、コンパイラーによりアーキテクチャC−1の命令に完全に置き換えることも可能である。
LSL Rm,Rm,#5bit_Immed
ADDU Rd,Rn,Rm
Instruction: ADD Rd, Rn, Rm, LSL # 5bit_Immed
Operation: Rd = Rn + (Rm <<# 5bit_Immed)
In the architecture C-1, the same processing as the above-described instruction can be executed by the following two instructions. Therefore, it is possible to completely replace the instruction of architecture C-1 by the compiler.
LSL Rm, Rm, # 5bit_Immed
ADDU Rd, Rn, Rm

しかしながら、2命令を使用することにより、実行クロック数が増大するので処理時間が延びる。さらに、2命令に分割することにより、それらの命令の間に割り込みが入る可能性があり、オリジナルのプログラムの仕様に完全に沿ったものにはならない。一方、アーキテクチャC−1のADD命令に関する構成をアーキテクチャC−2に置き換えてしまうと、アーキテクチャC−1の命令が実行できない。本例のプロセッサ1においては、アーキテクチャ情報29によりEXステージ14の構成を変更することによりこの問題を解決できる。すなわち、EXステージ14のステージ構成メモリ22bに、図5(a)に示したアーキテクチャC−1の構成と、図5(b)に示したアーキテクチャC−2の構成とを用意しておき、アーキテクチャC−2のADD命令をEXステージ14において実行するタイミングでEXステージ14のデータパス構成をアーキテクチャC−2に再構成すれば良い。   However, by using two instructions, the number of execution clocks increases, so the processing time is extended. Furthermore, by dividing into two instructions, there is a possibility that an interrupt may occur between those instructions, and it does not completely conform to the specifications of the original program. On the other hand, if the configuration related to the ADD instruction of architecture C-1 is replaced with architecture C-2, the instruction of architecture C-1 cannot be executed. In the processor 1 of this example, this problem can be solved by changing the configuration of the EX stage 14 by the architecture information 29. That is, the stage configuration memory 22b of the EX stage 14 is prepared with the configuration of the architecture C-1 shown in FIG. 5A and the configuration of the architecture C-2 shown in FIG. The data path configuration of the EX stage 14 may be reconfigured to the architecture C-2 at the timing when the C-2 ADD instruction is executed in the EX stage 14.

図6に、EXステージ14の構成を変更する異なる例を示してある。この例では、EXステージ14にアーキテクチャC−1のデータパスとアーキテクチャC−2のデータパスとが予め用意され、さらに、それらのデータパスを切り換えるセレクタ14sが用意されている。したがって、ステージ制御ユニット21bがアーキテクチャ情報29に基づきセレクタ14sを切り換えることにより、アーキテクチャC−2のADD命令を、そのADD命令により予定されている通りに実行できる。この例においては、ステージ14としての機能を得るために、動的に回路を再構成できるハードウェアは必要ない。しかしながら、2つのアーキテクチャの回路を構成できる量のハードウェアに加えて、それらを切り換えるためのセレクタなどのハードウェアが必要になる。したがって、ハードウェアの量が増大し、データパス中にセレクタが介在するので、ステージにおける実行サイクルが本来のアーキテクチャよりも増大する可能性がある。プロセッサ1において実行可能なアーキテクチャの種類を増やそうとすると、この問題はさらに増大する。この問題は、回路を動的に再構成可能なハードウェアを採用することにより防ぐことができる。   FIG. 6 shows a different example in which the configuration of the EX stage 14 is changed. In this example, a data path of architecture C-1 and a data path of architecture C-2 are prepared in advance in the EX stage 14, and a selector 14s for switching these data paths is prepared. Therefore, the stage control unit 21b switches the selector 14s based on the architecture information 29, so that the ADD instruction of the architecture C-2 can be executed as planned by the ADD instruction. In this example, no hardware capable of dynamically reconfiguring the circuit is required to obtain the function as the stage 14. However, in addition to the amount of hardware capable of configuring the circuits of the two architectures, hardware such as a selector for switching between them is required. Therefore, the amount of hardware increases and the selector is interposed in the data path, so that the execution cycle in the stage may increase more than the original architecture. This problem is further increased when the number of architectures that can be executed in the processor 1 is increased. This problem can be prevented by employing hardware that can dynamically reconfigure the circuit.

図7には、WBステージ15の構成を変更する例を示してある。図7はセレクタで切り換える例を示しているが、上記と同様に再構成可能なハードウェアによりWBステージ15の構成を変更できる。この例では、アーキテクチャC−2においては、alu_oprに加え、alu_oprSという命令があり、alu_oprではフラグを更新しないのに対し、alu_oprSではフラグを更新する。一方、アーキテクチャC−1においては、alu_oprという命令があり、alu_oprSはないが、alu_oprを実行することによりフラグを更新する。したがって、ステージ制御ユニット21cは、このステージで実行するフェッチした命令19がアーキテクチャ情報29によりアーキテクチャC−1の場合は、alu_oprによりフラグが更新されるようにセレクタ15sをセットする。一方、ステージ制御ユニット21cは、このステージで実行するフェッチした命令19がアーキテクチャ情報29によりアーキテクチャC−2の場合は、alu_oprSによりフラグが更新されるようにセレクタ15sをセットする。   FIG. 7 shows an example of changing the configuration of the WB stage 15. FIG. 7 shows an example of switching by the selector, but the configuration of the WB stage 15 can be changed by reconfigurable hardware as described above. In this example, in the architecture C-2, in addition to alu_opr, there is an instruction alu_oprS, and the flag is updated in alu_oprS, whereas the flag is not updated in alu_opr. On the other hand, in architecture C-1, there is an instruction alu_opr and there is no alu_oprS, but the flag is updated by executing alu_opr. Therefore, when the fetched instruction 19 executed at this stage is the architecture C-1 according to the architecture information 29, the stage control unit 21c sets the selector 15s so that the flag is updated by alu_opr. On the other hand, when the fetched instruction 19 executed at this stage is the architecture C-2 by the architecture information 29, the stage control unit 21c sets the selector 15s so that the flag is updated by alu_oprS.

図8に、DECステージ13の構成を変更する例を示してある。この例も、セレクタで切り換える構成で示しているが、再構成可能なハードウェアによりデータパス構成を再構成できることは上述した通りである。アーキテクチャにより命令セットのフォーマットが異なることがあることは上述した通りである。図8(a)に示すように、キャリービットの位置がアーキテクチャにより異なる場合、図8(b)に示すように、アーキテクチャ情報29によりステージ制御ユニット21aがセレクタ13sを制御してDECステージ13のフラグリードの構成を変更することができる。図8(c)は、フラグビットの意味をアーキテクチャ毎に変えることができるDECステージ13の例である。アーキテクチャC−1ではキャリーを示すビットと、アーキテクチャC−2では異なる意味のあるビットとしてフェッチした命令19をデコードし、EXステージ14および/またはWBステージ15を制御することができる。   FIG. 8 shows an example of changing the configuration of the DEC stage 13. This example is also shown as a configuration that is switched by the selector, but as described above, the data path configuration can be reconfigured by reconfigurable hardware. As described above, the format of the instruction set may differ depending on the architecture. As shown in FIG. 8A, when the position of the carry bit differs depending on the architecture, as shown in FIG. 8B, the stage control unit 21a controls the selector 13s based on the architecture information 29 and the flag of the DEC stage 13 is displayed. The lead configuration can be changed. FIG. 8C shows an example of the DEC stage 13 in which the meaning of the flag bit can be changed for each architecture. It is possible to decode the instruction 19 fetched as a bit indicating carry in the architecture C-1 and a bit having a different meaning in the architecture C-2, and to control the EX stage 14 and / or the WB stage 15.

なお、本例のプロセッサ1は、IFステージ11、DECステージ13、EXステージ14およびWBステージ15によりパイプライン10を構成しているが、EXステージあるいはWBステージが複数のステージに分割されていたり、メモリリード用のステージが独立しているなどの、異なる構成のパイプラインを備えたプロセッサについても本発明を適用することができる。また、プロセッサが有するパイプラインの数は1つに限定されるものではない。さらに、本発明が適用されるプロセッサあるいはデータ処理システムは、汎用のプロセッサとしてチップ化された製品に限らず、プロセッサがエンベッドされたSoCあるいはシステムLSIと称される製品群も含まれる。   In the processor 1 of this example, the IF stage 11, the DEC stage 13, the EX stage 14 and the WB stage 15 constitute the pipeline 10, but the EX stage or the WB stage is divided into a plurality of stages, The present invention can also be applied to a processor having pipelines with different configurations, such as independent memory read stages. Further, the number of pipelines included in the processor is not limited to one. Furthermore, the processor or data processing system to which the present invention is applied is not limited to a product formed as a chip as a general-purpose processor, but also includes a product group called SoC or system LSI in which the processor is embedded.

本発明のプロセッサの一例の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of an example of the processor of this invention. アーキテクチャ情報を与えることができる異なるプログラムの一例を示す図である。It is a figure which shows an example of the different program which can give architecture information. パイプラインのステージの構成が変わる様子を模式的に示す図である。It is a figure which shows typically a mode that the structure of the stage of a pipeline changes. パイプラインのステージの構成を変えて命令を実行する様子を示す図であり、図4(a)は、本発明によりパイプラインの構成を変更したときの様子を示し、図4(b)はパイプラインの構成を一括して変えたときの様子を示してある。FIG. 4A is a diagram illustrating a state in which an instruction is executed by changing the configuration of a pipeline stage. FIG. 4A illustrates a state when the configuration of the pipeline is changed according to the present invention, and FIG. It shows how the line configuration is changed all at once. EXステージの構成を再構成可能なハードウェアを用いて変更する例を示す図である。It is a figure which shows the example which changes the structure of EX stage using the reconfigurable hardware. EXステージの構成を、セレクタにより変更する例を示す図である。It is a figure which shows the example which changes the structure of EX stage by a selector. WBステージの構成を、セレクタにより変更する例を示す図である。It is a figure which shows the example which changes the structure of a WB stage by a selector. DECステージの構成を、セレクタにより変更する例を示す図である。It is a figure which shows the example which changes the structure of a DEC stage by a selector.

符号の説明Explanation of symbols

1 プロセッサ、 2 メモリ、 3 プログラム
10 パイプライン、 11 IFステージ、 12 TRステージ
13 DECステージ、 14 EXステージ、 15 WBステージ
19 フェッチした命令
20 コンフィグレーション制御ユニット
21a〜21c ステージ制御ユニット
22a〜22c ステージ構成メモリ
29 アーキテクチャ情報
DESCRIPTION OF SYMBOLS 1 Processor, 2 Memory, 3 Program 10 Pipeline, 11 IF stage, 12 TR stage 13 DEC stage, 14 EX stage, 15 WB stage 19 Fetched instruction 20 Configuration control unit 21a-21c Stage control unit 22a-22c Stage structure Memory 29 Architecture information

Claims (5)

パイプライン動作により命令をフェッチして処理するデータ処理システムであって、
複数の回路要素であって、当該複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を所定の範囲で任意に変更することにより回路を動的に再構成する複数の回路要素と
少なくとも一部が前記複数の回路要素により構成されたパイプラインとを有し、
前記パイプラインは、アプリケーションプログラムから命令をプログラムカウンタの制御により順番にフェッチするフェッチステージと、
前記フェッチステージでフェッチされた命令に対応するアーキテクチャタイプの情報を判断するアーキテクチャ判別ステージと、
前記フェッチステージでフェッチされた命令をデコードするデコードステージと、
前記フェッチステージでフェッチされた命令による演算を実行する実行ステージと、
前記フェッチステージでフェッチされた命令によりレジスタ書き込みを行うWBステージとを備え、
さらに、前記複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を前記アーキテクチャ判別ステージで判断したアーキテクチャタイプの情報に基づき変更することにより、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれ動的に再構成する制御を行うコンフィグレーション制御ユニットを有し、
前記アーキテクチャ判別ステージで判断されたアーキテクチャタイプの情報は、前記デコードステージ、前記実行ステージ、前記WBステージのステージ間を前記フェッチステージが順番にフェッチした命令と共に当該命令に対応してパイプラインのサイクルにより転送され、前記コンフィグレーション制御ユニットは、前記フェッチステージが順番にフェッチした命令が前記デコードステージ、前記実行ステージ、前記WBステージで実行されるタイミングに合わせて前記デコードステージ、前記実行ステージ、前記WBステージのうちの少なくとも一部の構成を再構成する制御を行う、データ処理システム。
A data processing system that fetches and processes instructions by pipeline operation,
A plurality of circuit elements, wherein the circuit is dynamically reconfigured by arbitrarily changing a connection between the plurality of circuit elements and / or a setting in each circuit element within a predetermined range. And
Having at least a part of the pipeline constituted by the plurality of circuit elements,
The pipeline is a fetch stage that fetches instructions from an application program in order under the control of a program counter;
An architecture determination stage for determining information of an architecture type corresponding to the instruction fetched in the fetch stage;
A decode stage for decoding an instruction fetched in the fetch stage;
An execution stage for performing an operation based on the instruction fetched in the fetch stage;
A WB stage for writing a register by an instruction fetched in the fetch stage,
Further, the decoding stage, the execution stage, and the WB are changed by changing the connection between the plurality of circuit elements and / or the setting in each circuit element based on the architecture type information determined in the architecture determination stage. It has a configuration control unit that performs control to dynamically reconfigure each stage configuration,
The architecture type information determined in the architecture determination stage includes the instructions fetched in order by the fetch stage between the decode stage, the execution stage, and the WB stage in accordance with the pipeline cycle corresponding to the instruction. The configuration control unit is transferred to the decode stage, the execution stage, and the WB stage in accordance with the timing at which instructions fetched in order by the fetch stage are executed in the decode stage, the execution stage, and the WB stage. A data processing system that performs control to reconfigure at least part of the configuration .
パイプライン動作により命令をフェッチして処理するデータ処理システムであって、
複数の回路要素であって、当該複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を所定の範囲で任意に変更することにより回路を動的に再構成する複数の回路要素と
少なくとも一部が前記複数の回路要素により構成されたパイプラインとを有し、
前記パイプラインは、アプリケーションプログラムから命令をプログラムカウンタの制御により順番にフェッチすると共にフェッチされた命令の単位でアーキテクチャタイプの情報を判断するフェッチステージと、
前記フェッチステージでフェッチされた命令をデコードするデコードステージと、
前記フェッチステージでフェッチされた命令による演算を実行する実行ステージと、
前記フェッチステージでフェッチされた命令によりレジスタ書き込みを行うWBステージとを備え、
さらに、前記複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を前記フェッチステージで判断したアーキテクチャタイプの情報に基づき変更することにより、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれ動的に再構成する制御を行うコンフィグレーション制御ユニットを有し、
前記フェッチステージで判断されたアーキテクチャタイプの情報は、前記デコードステージ、前記実行ステージ、前記WBステージのステージ間を前記フェッチステージが順番にフェッチした命令と共に当該命令に対応してパイプラインのサイクルにより転送され、前記コンフィグレーション制御ユニットは、前記フェッチステージが順番にフェッチした命令が前記デコードステージ、前記実行ステージ、前記WBステージで実行されるタイミングに合わせて前記デコードステージ、前記実行ステージ、前記WBステージのうちの少なくとも一部の構成を再構成する制御を行う、データ処理システム。
A data processing system that fetches and processes instructions by pipeline operation,
A plurality of circuit elements, wherein the circuit is dynamically reconfigured by arbitrarily changing a connection between the plurality of circuit elements and / or a setting in each circuit element within a predetermined range. And
Having at least a part of the pipeline constituted by the plurality of circuit elements,
The pipeline fetches instructions from an application program in order under the control of a program counter and fetches architecture type information in units of fetched instructions; and
A decode stage for decoding an instruction fetched in the fetch stage;
An execution stage for performing an operation based on the instruction fetched in the fetch stage;
A WB stage for writing a register by an instruction fetched in the fetch stage,
Further, the decoding stage, the execution stage, and the WB stage are changed by changing the connection between the plurality of circuit elements and / or the setting in each circuit element based on the architecture type information determined in the fetch stage. A configuration control unit that performs control to dynamically reconfigure each of the
The architecture type information determined in the fetch stage is transferred between the decode stage, the execution stage, and the WB stage in a pipeline cycle corresponding to the instruction together with the instruction fetched in order by the fetch stage. The configuration control unit is configured so that instructions fetched in order by the fetch stage are executed in the decode stage, the execution stage, and the WB stage in accordance with the timing of the decode stage, the execution stage, and the WB stage. A data processing system that performs control to reconfigure at least part of the configuration .
請求項1または2において、In claim 1 or 2,
前記コンフィグレーション制御ユニットは、アーキテクチャタイプの情報を前記パイプラインのサイクルに合わせて転送する複数のステージ構成メモリと、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれの前記ステージ構成メモリのアーキテクチャタイプの情報により制御する複数のステージ制御ユニットとを含む、データ処理システム。The configuration control unit has a plurality of stage configuration memories that transfer architecture type information in accordance with the pipeline cycle, and the configurations of the decode stage, the execution stage, and the WB stage in the respective stage configuration memories. A data processing system comprising a plurality of stage control units controlled by architecture type information.
パイプライン動作により命令をフェッチして処理するデータ処理システムの制御方法であって、
前記データ処理システムは、複数の回路要素であって、当該複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を所定の範囲で任意に変更することにより回路を動的に再構成する複数の回路要素と
少なくとも一部が前記複数の回路要素により構成されたパイプラインとを有し、
前記パイプラインは、アプリケーションプログラムから命令をプログラムカウンタの制御により順番にフェッチするフェッチステージと、
前記フェッチステージでフェッチされた命令に対応するアーキテクチャタイプの情報を判断するアーキテクチャ判別ステージと、
前記フェッチステージでフェッチされた命令をデコードするデコードステージと、
前記フェッチステージでフェッチされた命令による演算を実行する実行ステージと、
前記フェッチステージでフェッチされた命令によりレジスタ書き込みを行うWBステージとを備え、
さらに、前記複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を前記アーキテクチャ判別ステージで判断したアーキテクチャタイプの情報に基づき変更することにより、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれ動的に再構成する制御を行うコンフィグレーション制御ユニットを有し、
当該制御方法は、
前記アーキテクチャ判別ステージで判断されたアーキテクチャタイプの情報が、前記デコードステージ、前記実行ステージ、前記WBステージのステージ間を前記フェッチステージが順番にフェッチした命令と共に当該命令に対応してパイプラインのサイクルにより転送され、前記コンフィグレーション制御ユニットが、前記フェッチステージが順番にフェッチした命令を前記デコードステージ、前記実行ステージ、前記WBステージで実行されるタイミングに合わせて、前記デコードステージ、前記実行ステージ、前記WBステージのうちの少なくとも一部の構成を再構成する制御を行うことを有する、制御方法。
A control method of a data processing system for fetching and processing an instruction by pipeline operation,
The data processing system includes a plurality of circuit elements, and dynamically reconnects the circuits by arbitrarily changing connections between the plurality of circuit elements and / or settings in the respective circuit elements within a predetermined range. A plurality of circuit elements comprising ;
Having at least a part of the pipeline constituted by the plurality of circuit elements,
The pipeline is a fetch stage that fetches instructions from an application program in order under the control of a program counter;
An architecture determination stage for determining information of an architecture type corresponding to the instruction fetched in the fetch stage;
A decode stage for decoding an instruction fetched in the fetch stage;
An execution stage for performing an operation based on the instruction fetched in the fetch stage;
A WB stage for writing a register by an instruction fetched in the fetch stage,
Further, the decoding stage, the execution stage, and the WB are changed by changing the connection between the plurality of circuit elements and / or the setting in each circuit element based on the architecture type information determined in the architecture determination stage. It has a configuration control unit that performs control to dynamically reconfigure each stage configuration,
The control method is
The architecture type information determined in the architecture determination stage is determined by the pipeline cycle corresponding to the instruction together with the instruction fetched in order by the fetch stage between the decode stage, the execution stage, and the WB stage. The configuration control unit transfers the instructions fetched in order by the fetch stage in accordance with the timing at which the instructions are executed in the decode stage, the execution stage, and the WB stage, and the decode stage, the execution stage, and the WB. A control method comprising performing control for reconfiguring at least a part of the configuration of the stage .
パイプライン動作により命令をフェッチして処理するデータ処理システムの制御方法であって、
前記データ処理システムは、複数の回路要素であって、当該複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を所定の範囲で任意に変更することにより回路を動的に再構成する複数の回路要素と
少なくとも一部が前記複数の回路要素により構成されたパイプラインとを有し、
前記パイプラインは、アプリケーションプログラムから命令をプログラムカウンタの制御により順番にフェッチすると共にフェッチされた命令の単位でアーキテクチャタイプの情報を判断するフェッチステージと、
前記フェッチステージでフェッチされた命令をデコードするデコードステージと、
前記フェッチステージでフェッチされた命令による演算を実行する実行ステージと、
前記フェッチステージでフェッチされた命令によりレジスタ書き込みを行うWBステージとを備え、
さらに、前記複数の回路要素の間の接続および/またはそれぞれの回路要素内の設定を前記フェッチステージで判断したアーキテクチャタイプの情報に基づき変更することにより、前記デコードステージ、前記実行ステージおよび前記WBステージの構成をそれぞれ動的に再構成する制御を行うコンフィグレーション制御ユニットを有し、
当該制御方法は、
前記フェッチステージで判断されたアーキテクチャタイプの情報が、前記デコードステージ、前記実行ステージ、前記WBステージのステージ間を前記フェッチステージが順番にフェッチした命令と共に当該命令に対応してパイプラインのサイクルにより転送され、前記コンフィグレーション制御ユニットが、前記フェッチステージが順番にフェッチした命令を前記デコードステージ、前記実行ステージ、前記WBステージで実行されるタイミングに合わせて前記デコードステージ、前記実行ステージ、前記WBステージのうちの少なくとも一部の構成を再構成する制御を行うことを有する、制御方法。
A control method of a data processing system for fetching and processing an instruction by pipeline operation,
The data processing system includes a plurality of circuit elements, and dynamically reconnects the circuits by arbitrarily changing connections between the plurality of circuit elements and / or settings in the respective circuit elements within a predetermined range. A plurality of circuit elements comprising ;
Having at least a part of the pipeline constituted by the plurality of circuit elements,
The pipeline fetches instructions from an application program in order under the control of a program counter and fetches architecture type information in units of fetched instructions; and
A decode stage for decoding an instruction fetched in the fetch stage;
An execution stage for performing an operation based on the instruction fetched in the fetch stage;
A WB stage for writing a register by an instruction fetched in the fetch stage,
Further, the decoding stage, the execution stage, and the WB stage are changed by changing the connection between the plurality of circuit elements and / or the setting in each circuit element based on the architecture type information determined in the fetch stage. A configuration control unit that performs control to dynamically reconfigure each of the
The control method is
The architecture type information determined at the fetch stage is transferred between the decode stage, the execution stage, and the WB stage in a pipeline cycle corresponding to the instruction together with the instruction fetched in order by the fetch stage. The configuration control unit is configured so that the instructions fetched in order by the fetch stage are executed in the decode stage, the execution stage, and the WB stage according to the timing of the decode stage, the execution stage, and the WB stage. A control method comprising performing control to reconfigure at least a part of the configuration .
JP2004369779A 2004-12-21 2004-12-21 Data processing system and control method thereof Expired - Fee Related JP4609702B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004369779A JP4609702B2 (en) 2004-12-21 2004-12-21 Data processing system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004369779A JP4609702B2 (en) 2004-12-21 2004-12-21 Data processing system and control method thereof

Publications (2)

Publication Number Publication Date
JP2006178653A JP2006178653A (en) 2006-07-06
JP4609702B2 true JP4609702B2 (en) 2011-01-12

Family

ID=36732723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004369779A Expired - Fee Related JP4609702B2 (en) 2004-12-21 2004-12-21 Data processing system and control method thereof

Country Status (1)

Country Link
JP (1) JP4609702B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2011125174A1 (en) * 2010-04-06 2013-07-08 トヨタ自動車株式会社 Dynamic reconfigurable processor and operation method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03150633A (en) * 1989-11-07 1991-06-27 Matsushita Electric Ind Co Ltd Instruction decoder
JP3472504B2 (en) * 1998-03-11 2003-12-02 松下電器産業株式会社 Command decoding method, command decoding device and data processing device
JP2003167730A (en) * 2001-12-03 2003-06-13 Hitachi Ltd Instruction set variable microprocessor

Also Published As

Publication number Publication date
JP2006178653A (en) 2006-07-06

Similar Documents

Publication Publication Date Title
US8024548B2 (en) Integrated circuit microprocessor that constructs, at run time, integrated reconfigurable logic into persistent finite state machines from pre-compiled machine code instruction sequences
KR100491593B1 (en) Data processor
US20020198606A1 (en) Data processing system and control method
US7493473B2 (en) Method of executing instructions using first and second control units that share a state register
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
JP3790626B2 (en) Method and apparatus for fetching and issuing dual word or multiple instructions
JPH11307725A (en) Semiconductor integrated circuit
KR100777772B1 (en) Arithmetic operation apparatus, information processing apparatus, and register file control method
JP4609702B2 (en) Data processing system and control method thereof
JP4800582B2 (en) Arithmetic processing unit
KR100308211B1 (en) Micro computer system with compressed instruction
JPH0876996A (en) Programmable controller
JP2001014161A (en) Programmable controller
JP3760093B2 (en) Microcomputer
JP3740321B2 (en) Data processing device
JP2004062427A (en) Microprocessor
JP2002297376A (en) Programmable controller
JP3063593B2 (en) Programmable controller
JP4151497B2 (en) Pipeline processing equipment
JPH09128235A (en) Programmable controlling of five-stage piepline structure
JP2006126893A (en) Clock control apparatus, information processing apparatus, and clock control method
JPH09244918A (en) Function addition method to interpreter with debugger
JPH1185223A (en) Programmable controller
JPH10340209A (en) Data processor
KR20040008714A (en) Apparatus for reading memory data in micro controller system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100212

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100916

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: 20100929

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4609702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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