JP2005327178A - Processor, its compiler, and information processor including it - Google Patents
Processor, its compiler, and information processor including it Download PDFInfo
- Publication number
- JP2005327178A JP2005327178A JP2004146258A JP2004146258A JP2005327178A JP 2005327178 A JP2005327178 A JP 2005327178A JP 2004146258 A JP2004146258 A JP 2004146258A JP 2004146258 A JP2004146258 A JP 2004146258A JP 2005327178 A JP2005327178 A JP 2005327178A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- decoding
- parallel
- processor
- 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.)
- Withdrawn
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
本発明は、VLIW(Very Long Instruction Word)方式やスーパースカラなどの複数の命令を同時に実行することが可能なプロセッサに関し、消費電力を低減することが可能なプロセッサ、そのコンパイラおよびそれを含んだ情報処理装置に関する。 The present invention relates to a processor capable of simultaneously executing a plurality of instructions such as a VLIW (Very Long Instruction Word) method and a superscalar, a processor capable of reducing power consumption, a compiler thereof, and information including the same The present invention relates to a processing apparatus.
近年、社会の情報化に伴い、高度な情報処理を行なうためのプロセッサの性能向上が求められている。このようなプロセッサの性能向上を実現する方法の1つとして、1つのプロセッサが複数の命令を同時に実行することを挙げることができる。このようなプロセッサとして、VLIW方式やスーパースカラなどのプロセッサが知られている。 In recent years, with the progress of informatization in society, there has been a demand for improving the performance of processors for performing advanced information processing. One method for realizing such an improvement in processor performance is that one processor executes a plurality of instructions simultaneously. As such a processor, a processor such as a VLIW system or a superscalar is known.
VLIW方式のプロセッサは、複数の演算器を有する。コンパイラがプログラムのコンパイル時に命令の並列性を検出し、並列実行可能な命令を生成する。そして、プロセッサが並列実行可能な命令を複数の演算器で並列に実行することによって、処理速度の向上を図っている。 A VLIW processor has a plurality of computing units. A compiler detects parallelism of instructions when compiling a program, and generates instructions that can be executed in parallel. The processor can execute instructions that can be executed in parallel by a plurality of arithmetic units in parallel, thereby improving the processing speed.
また、スーパースカラは、命令を処理するパイプラインを複数有し、命令実行時にハードウェアによって逐次的な命令として記述されたプログラムから命令レベル並列性を検出する。そして、スケジューラが並列実行可能な命令をそれぞれのパイプラインに投入することによって、処理速度の向上を図っている。 The superscalar has a plurality of pipelines for processing instructions, and detects instruction level parallelism from a program described as sequential instructions by hardware at the time of instruction execution. The scheduler inputs the instructions that can be executed in parallel into each pipeline, thereby improving the processing speed.
一方、大規模な回路を集積したLSI(Large Scale Integrated circuit)が、ワークステーションやパーソナルコンピュータのみならず、テレビや携帯電話などの家庭用電気製品にも多く使用されている。このような家庭用電気製品においては、製品の消費電力を削減することが求められており、特に携帯電話などで顕著である。これに伴い、LSIにおいても低消費電力化が求められている。これに関連する技術として、VLIW方式のプロセッサの低消費電力化に関する非特許文献1や、マルチメディアプロセッサの低消費電力化に関する非特許文献2を挙げることができる。
On the other hand, LSIs (Large Scale Integrated circuits) in which large-scale circuits are integrated are often used not only in workstations and personal computers but also in household electrical products such as televisions and mobile phones. In such household electric products, it is required to reduce the power consumption of the products, and this is particularly noticeable in mobile phones and the like. Along with this, low power consumption is also required in LSIs. As related technologies, Non-Patent
また、特許文献1に記載のデータ処理装置においては、命令をデコードし、命令が複数の演算を実行する命令であることを検出する検出部と、検出部によって複数の演算を実行する命令であることが検出されると、予め定められた1回の演算数に基づいて、命令の一部のフィールドを演算順序に基づいて組替えるフィールド組替え部と、組替えたフィールドの順序に同期して複数サイクルで演算実行するための制御を行なう演算制御部とを含むデコーダと、演算制御部からの制御に基づいて、命令を複数サイクルに分けて演算を実行する演算部とを有する。
上述したVLIW方式のプロセッサやスーパースカラにおいては、常に複数の演算器が動作する。そのため、高い処理能力を必要としない動作条件下や、消費電力を低減したい動作条件下においても、消費電力が大きくなってしまうといった問題点があった。 In the above-described VLIW processor and superscalar, a plurality of arithmetic units always operate. For this reason, there is a problem in that power consumption increases even under operating conditions that do not require high processing capacity or under operating conditions where it is desired to reduce power consumption.
また、特許文献1に記載のデータ処理装置においては、複数演算を有する複合命令を幾つかの実行単位に対応、または分割して処理することで、コンパクトで低消費電力のデータ処理装置を提供することができる。しかしながら、どのような条件下で複合命令を分割して処理するのかが開示されていないため、このデータ処理装置をそのままシステムに組込むことはできない。
Further, the data processing apparatus described in
本発明は、上記問題点を解決するためになされたものであり、第1の目的は、ピーク時における消費電力を低減させることが可能なプロセッサおよびそれを含んだ情報処理装置を提供することである。 The present invention has been made to solve the above problems, and a first object of the present invention is to provide a processor capable of reducing power consumption at a peak time and an information processing apparatus including the processor. is there.
第2の目的は、プロセッサにおけるピーク時の消費電力を低減させることができるように命令コードを生成するコンパイル装置を提供することである。 A second object is to provide a compiling device that generates instruction code so that power consumption at a peak time in a processor can be reduced.
本発明のある局面に従えば、複数の命令を同時に実行することが可能なプロセッサであって、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、依存性があるデータをレジスタに退避して使用することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。 According to one aspect of the present invention, a processor capable of executing a plurality of instructions simultaneously, an instruction decoding unit for decoding a fetched instruction, and an operation according to a decoding result by the instruction decoding unit The instruction decoding means is a parallel instruction including a plurality of instructions and there is a dependency between the plurality of instructions. By saving certain data in a register and using it, a parallel instruction is sequentially executed by some of the arithmetic means.
本発明の別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサであって、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、例外を発生させて並列命令をソフトウェアでエミュレートすることによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。 According to another aspect of the present invention, a processor capable of simultaneously executing a plurality of instructions, an instruction decoding unit for decoding a fetched instruction, and a decoding result by the instruction decoding unit, A plurality of arithmetic means for performing an operation, and the instruction decoding means determines that an exception is given if the fetched instruction is a parallel instruction including a plurality of instructions and there is a dependency between the plurality of instructions. By generating and emulating parallel instructions by software, the parallel instructions are sequentially executed by some of the arithmetic means.
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサであって、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段と、命令を格納するための格納手段とを含み、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、並列命令を逐次命令群に変換して格納手段に格納し、逐次命令群を順次読出すことによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。 According to still another aspect of the present invention, there is provided a processor capable of executing a plurality of instructions at the same time, according to an instruction decoding means for decoding a fetched instruction, and a decoding result by the instruction decoding means. A plurality of arithmetic means for executing an operation and a storage means for storing an instruction, wherein the instruction decoding means is a parallel instruction in which the fetched instruction includes a plurality of instructions, and the plurality of instructions When there is a dependency between the parallel instructions, the parallel instructions are converted into sequential instruction groups, stored in the storage means, and the sequential instruction groups are sequentially read out, so that the parallel instructions are partially calculated among the plurality of calculation means. Are executed sequentially.
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサであって、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、命令デコード手段は、フェッチされた命令がコプロセッサ命令であれば、例外を発生させてコプロセッサ命令をソフトウェアでエミュレートすることによって、コプロセッサ命令を複数の演算手段に実行させる。 According to still another aspect of the present invention, there is provided a processor capable of executing a plurality of instructions at the same time, according to an instruction decoding means for decoding a fetched instruction, and a decoding result by the instruction decoding means. The instruction decoding means generates an exception and emulates the coprocessor instruction in software by generating an exception if the fetched instruction is a coprocessor instruction. A processor instruction is executed by a plurality of arithmetic means.
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサによって実行されるプログラムをコンパイルするコンパイラであって、命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性があるか否かを判定するための条件判定手段と、条件判定手段によって依存性があると判定された場合、並列命令を逐次命令の命令コードに変換して出力するための命令コード生成手段とを含む。 According to still another aspect of the present invention, a compiler for compiling a program executed by a processor capable of executing a plurality of instructions simultaneously, wherein the instructions are parallel instructions including a plurality of instructions, and Condition determining means for determining whether or not there is a dependency between a plurality of instructions, and when the condition determining means determines that there is a dependency, the parallel instruction is converted into an instruction code of a sequential instruction and output Instruction code generation means.
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサによって実行されるプログラムをコンパイルするコンパイラであって、命令が複数の命令を含んだ並列命令であり、かつ複数の命令の消費電力が所定値以上であるか否かを判定するための条件判定手段と、条件判定手段によって消費電力が所定値以上であると判定された場合、並列命令を逐次命令の命令コードに変換して出力するための命令コード生成手段とを含む。 According to still another aspect of the present invention, a compiler for compiling a program executed by a processor capable of executing a plurality of instructions simultaneously, wherein the instructions are parallel instructions including a plurality of instructions, and Condition determining means for determining whether or not the power consumption of a plurality of instructions is greater than or equal to a predetermined value, and when the condition determination means determines that the power consumption is greater than or equal to a predetermined value, the parallel instructions are sequentially instructions Instruction code generation means for converting the code into a code and outputting the code.
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサによって実行されるプログラムをコンパイルするコンパイラであって、命令が複数の命令を含んだ並列命令であり、かつ複数の命令の消費電力が所定値以上であるか否かを判定するための条件判定手段と、条件判定手段によって消費電力が所定値以上であると判定された場合、並列命令に含まれる複数の命令のいずれかを前後の命令と入替えて命令コードを生成するための命令コード生成手段とを含む。 According to still another aspect of the present invention, a compiler for compiling a program executed by a processor capable of executing a plurality of instructions simultaneously, wherein the instructions are parallel instructions including a plurality of instructions, and Condition determining means for determining whether or not the power consumption of a plurality of instructions is greater than or equal to a predetermined value, and when the condition determination means determines that the power consumption is greater than or equal to a predetermined value, the plurality of instructions included in the parallel instruction Instruction code generation means for generating an instruction code by replacing any of the instructions with the preceding and succeeding instructions.
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサと、温度を計測するための計測手段とを含んだ情報処理装置であって、プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、計測手段によって計測された温度が所定値以上の場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。 According to still another aspect of the present invention, there is provided an information processing apparatus including a processor capable of executing a plurality of instructions simultaneously and a measuring unit for measuring temperature, wherein the processor is fetched An instruction decoding means for decoding an instruction, and a plurality of operation means for executing an operation according to a result of decoding by the instruction decoding means, and when the temperature measured by the measuring means is a predetermined value or more, the instruction If the fetched instruction is a parallel instruction including a plurality of instructions, the decoding means converts the parallel instruction into a sequential instruction so that the parallel instruction is sequentially transferred to a part of the plurality of arithmetic means. To run.
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサと、電流を計測するための計測手段とを含んだ情報処理装置であって、プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、計測手段によって計測された情報処理装置に供給される電流が所定値以上の場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。 According to still another aspect of the present invention, there is provided an information processing apparatus including a processor capable of executing a plurality of instructions at the same time and a measurement unit for measuring current, wherein the processor is fetched An instruction decoding means for decoding an instruction and a plurality of arithmetic means for executing an operation according to a decoding result by the instruction decoding means, and a current supplied to the information processing device measured by the measuring means When the value is equal to or greater than the predetermined value, the instruction decoding means converts the parallel instruction into one of the plurality of arithmetic means by converting the parallel instruction into a sequential instruction if the fetched instruction is a parallel instruction including a plurality of instructions. Are sequentially executed by the operation means of the unit.
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサを含んだ情報処理装置であって、プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、外部から入力される信号が所定の値を示す場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる。 According to still another aspect of the present invention, there is provided an information processing apparatus including a processor capable of simultaneously executing a plurality of instructions, the processor comprising: instruction decoding means for decoding the fetched instruction; A plurality of arithmetic means for executing an operation according to a result of decoding by the instruction decoding means, and when an externally input signal indicates a predetermined value, the instruction decoding means includes a plurality of fetched instructions If the instruction includes a parallel instruction, the parallel instruction is converted into a sequential instruction, whereby the parallel instruction is sequentially executed by some of the arithmetic means.
本発明のさらに別の局面に従えば、複数の命令を同時に実行することが可能なプロセッサと、書換えが可能なレジスタとを含んだ情報処理装置であって、プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、レジスタに所定値が格納されている場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させる。 According to still another aspect of the present invention, an information processing apparatus including a processor capable of executing a plurality of instructions simultaneously and a rewritable register, wherein the processor decodes a fetched instruction Instruction decoding means for performing the operation and a plurality of operation means for executing the operation according to the result of decoding by the instruction decoding means, and when the predetermined value is stored in the register, the instruction decoding means is fetched If the received instruction is a parallel instruction including a plurality of instructions, the parallel instruction is sequentially executed by some of the plurality of operation means by converting the parallel instruction into a sequential instruction.
本発明のある局面によれば、命令デコード手段が、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、依存性があるデータをレジスタに退避して使用することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、演算手段の一部を動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。 According to an aspect of the present invention, the instruction decoding unit registers the dependent data when the fetched instruction is a parallel instruction including a plurality of instructions and there is a dependency between the plurality of instructions. By saving and using, the parallel instructions are sequentially executed by some of the computing means among the plurality of computing means, so there is no need to operate a part of the computing means and the power consumption at the peak time is reduced. It became possible to reduce.
本発明の別の局面によれば、命令デコード手段が、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、例外を発生させて並列命令をソフトウェアでエミュレートすることによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、演算手段の一部を動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。 According to another aspect of the present invention, the instruction decoding means generates an exception when the fetched instruction is a parallel instruction including a plurality of instructions and there is a dependency between the plurality of instructions, and performs parallel processing. By emulating instructions with software, parallel instructions are executed sequentially by some of the computing means, eliminating the need to operate some of the computing means and power consumption during peak hours Can be reduced.
本発明のさらに別の局面によれば、命令デコード手段が、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ複数の命令の間に依存性がある場合、並列命令を逐次命令群に変換して格納手段に格納し、逐次命令群を順次読出すことによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、演算手段の一部を動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。 According to still another aspect of the present invention, when the instruction decode means is a parallel instruction including a plurality of instructions and the dependency is between the plurality of instructions, the parallel instruction is sequentially processed. By converting the data into groups and storing them in the storage means, and sequentially reading out the sequential instruction group, the parallel instructions are sequentially executed by some of the arithmetic means. It is no longer necessary to operate, and it is possible to reduce power consumption during peak hours.
本発明のさらに別の局面によれば、命令デコード手段が、フェッチされた命令がコプロセッサ命令であれば、例外を発生させてコプロセッサ命令をソフトウェアでエミュレートすることによって、コプロセッサ命令を複数の演算手段に実行させるので、コプロセッサを動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった
本発明のさらに別の局面によれば、条件判定手段によって依存性があると判定された場合、命令コード生成手段が、並列命令を逐次命令の命令コードに変換して出力するので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。
According to yet another aspect of the present invention, if the instruction decoding means is a coprocessor instruction, the instruction decoding means generates an exception and emulates the coprocessor instruction in software, thereby generating a plurality of coprocessor instructions. According to still another aspect of the present invention, there is a dependency depending on the condition determination means. If it is determined that the instruction code is generated, the instruction code generation means converts the parallel instruction into the instruction code of the sequential instruction and outputs the instruction code, so that the instruction code is generated so that the power consumption at the peak time of the processor can be reduced. It became possible.
本発明のさらに別の局面によれば、条件判定手段によって消費電力が所定値以上であると判定された場合、命令コード生成手段が、並列命令を逐次命令の命令コードに変換して出力するので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。 According to still another aspect of the present invention, when the condition determining unit determines that the power consumption is equal to or greater than a predetermined value, the instruction code generating unit converts the parallel instruction into an instruction code of a sequential instruction and outputs the instruction code. The instruction code can be generated so that the power consumption at the peak time of the processor can be reduced.
本発明のさらに別の局面によれば、条件判定手段によって消費電力が所定値以上であると判定された場合、命令コード生成手段が、並列命令に含まれる複数の命令のいずれかを前後の命令と入替えて命令コードを生成するので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。 According to still another aspect of the present invention, when the condition determination unit determines that the power consumption is equal to or greater than a predetermined value, the instruction code generation unit replaces any of the plurality of instructions included in the parallel instruction with the preceding and following instructions. Therefore, the instruction code can be generated so that the power consumption at the peak time of the processor can be reduced.
本発明のさらに別の局面によれば、計測手段によって計測された温度が所定値以上の場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、情報処理装置の温度が必要以上に高くなることを防止でき、プロセッサの誤動作等を防止することが可能となった。 According to still another aspect of the present invention, when the temperature measured by the measuring unit is equal to or higher than a predetermined value, the instruction decoding unit outputs the parallel instruction if the fetched instruction includes a plurality of instructions. By converting to sequential instructions, parallel instructions are sequentially executed by some of the computing means among a plurality of computing means, so that the temperature of the information processing device can be prevented from becoming higher than necessary, and the processor malfunctions. Etc. can be prevented.
本発明のさらに別の局面によれば、計測手段によって計測された情報処理装置に供給される電流が所定値以上の場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、情報処理装置に供給される電流が必要以上に大きくなることを防止でき、プロセッサの誤動作等を防止することが可能となった。 According to still another aspect of the present invention, when the current supplied to the information processing apparatus measured by the measuring unit is equal to or greater than a predetermined value, the instruction decoding unit is configured to execute a parallel instruction in which the fetched instruction includes a plurality of instructions. If so, by converting the parallel instruction into the sequential instruction, the parallel instruction is executed sequentially by some of the arithmetic means, so that the current supplied to the information processing device is more than necessary. It is possible to prevent the processor from becoming large and to prevent malfunction of the processor.
本発明のさらに別の局面によれば、外部から入力される信号が所定の値を示す場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させるので、外部から低消費電力モードの切替えを行なうことが可能となった。 According to still another aspect of the present invention, when the signal input from the outside indicates a predetermined value, the instruction decoding means outputs the parallel instruction if the fetched instruction includes a plurality of instructions. By converting to sequential instructions, the parallel instructions are sequentially executed by some of the plurality of computing means, so that the low power consumption mode can be switched from the outside.
本発明のさらに別の局面によれば、レジスタに所定値が格納されている場合、命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、並列命令を逐次命令に変換することによって、並列命令を複数の演算手段の中の一部の演算手段に逐次的に実行させるので、プログラムによって低消費電力モードの切替えを行なうことが可能となった。 According to still another aspect of the present invention, when a predetermined value is stored in the register, the instruction decoding means converts the parallel instruction into a sequential instruction if the fetched instruction is a parallel instruction including a plurality of instructions. By converting, the parallel instructions are sequentially executed by some of the arithmetic means among the plurality of arithmetic means, so that the low power consumption mode can be switched by the program.
(第1の実施の形態)
図1は、本発明の第1の実施の形態におけるVLIW方式のプロセッサの概略構成を示すブロック図である。このVLIW方式のプロセッサは、図示しない命令フェッチ部によってフェッチされた命令列をデコードする命令デコード部11と、命令デコード部11によるデコード結果に応じて命令列を実行する複数の演算器(PU)12−1〜12−4とを含む。
(First embodiment)
FIG. 1 is a block diagram showing a schematic configuration of a VLIW processor according to the first embodiment of the present invention. The VLIW processor includes an
図2は、本発明の第1の実施の形態におけるVLIW方式のプロセッサによって実行される命令フォーマットの一例を示す図である。この命令フォーマットは、32ビットによって構成される。MSB(Most Significant Bit)21が“0”の場合には、2つの16ビット命令によって構成され、MSB21が“1”の場合には、1つの32ビット命令によって構成されることを示している。
FIG. 2 is a diagram illustrating an example of an instruction format executed by the VLIW processor according to the first embodiment of this invention. This instruction format is composed of 32 bits. When the MSB (Most Significant Bit) 21 is “0”, it is composed of two 16-bit instructions, and when the
また、MSB21が“0”であり、MSB22が“0”の場合には、2つの16ビット命令が逐次実行されることを示している。また、MSB21が“0”であり、MSB22が“1”の場合には、2つの16ビット命令が並列実行されることを示している。なお、図2においては、MSB21によって1つの32ビット命令であるか、2つの16ビット命令であるかを示しているが、命令フィールドを3つ以上のフィールドに分割し、3つ以上の命令の逐次実行/並列実行を選択できるようにしてもよい。また、命令のビット数はこれに限られるものではない。
Further, when the
図3は、本発明の第1の実施の形態におけるVLIW方式のプロセッサの処理手順を説明するためのフローチャートである。なお、処理手順の一例として、図1に示すVLIW方式のプロセッサによって図2に示す命令が実行される場合について説明するものとし、演算器12−1および12−2のみが動作するものとする。 FIG. 3 is a flowchart for explaining the processing procedure of the VLIW processor according to the first embodiment of this invention. As an example of the processing procedure, the case where the instruction shown in FIG. 2 is executed by the VLIW processor shown in FIG. 1 will be described, and only the arithmetic units 12-1 and 12-2 operate.
まず、命令デコード部11は、命令が2つの16ビット命令であり(MSB21=0)、かつ並列実行(MSB22=1)の場合、低消費電力モード信号に応じて低消費電力モードであるか否かを判定する(S11)。なお、命令デコード部11は、命令が1つの32ビット命令の場合(MSB21=1)、そのデコード結果を演算器12−1または12−2に出力することによって、32ビット命令を実行させる。
First, when the instruction is two 16-bit instructions (MSB21 = 0) and executed in parallel (MSB22 = 1), the
また、2つの16ビット命令の逐次実行の場合(MSB21=0,MSB22=0)、命令デコード部11は最初のサイクルで上位の16ビット命令のデコード結果を演算器12−1または12−2に出力することによって最初の16ビット命令を実行させ、次のサイクルで下位の16ビット命令のデコード結果を演算器12−1または12−2に出力することによって次の16ビット命令を実行させる。
In the case of sequential execution of two 16-bit instructions (MSB21 = 0, MSB22 = 0), the
低消費電力モードでない場合(S11,No)、命令デコード部11は演算器12−1および12−2に2つの16ビット命令のデコード結果を同時に出力することによって、2つの16ビット命令を並列に実行させる(S15)。
When not in the low power consumption mode (S11, No), the
また、低消費電力モードの場合(S11,Yes)、命令デコード部11は2つの16ビット命令をデコードすることによって、2つの16ビット命令の間に依存関係があるか否かを判定する(S12)。
In the case of the low power consumption mode (S11, Yes), the
2つの16ビット命令の間に依存関係がない場合、すなわち、一方の16ビット命令のディスティネーション・オペランドが、他方の16ビット命令のソース・オペランドになっておらず、かつ一方の16ビット命令がコンディションビットを変更し、他方の16ビット命令がコンディションビットを参照しない場合には(S12,No)、ステップS14に処理が進む。 If there is no dependency between two 16-bit instructions, that is, the destination operand of one 16-bit instruction is not the source operand of the other 16-bit instruction and one 16-bit instruction is If the condition bit is changed and the other 16-bit instruction does not refer to the condition bit (S12, No), the process proceeds to step S14.
また、2つの16ビット命令の間に依存関係がある場合、すなわち、一方の16ビット命令のディスティネーション・オペランドが、他方の16ビット命令のソース・オペランドになっている場合、または一方の16ビット命令がコンディションビットを変更し、他方の16ビット命令がコンディションビットを参照する場合には(S12,Yes)、命令デコード部11はオペランドの値やコンディションビットの値をバックアップ用のレジスタに退避させる(S13)。
Also, if there is a dependency between two 16-bit instructions, that is, if the destination operand of one 16-bit instruction is the source operand of the other 16-bit instruction, or one 16-bit instruction When the instruction changes the condition bit and the other 16-bit instruction refers to the condition bit (Yes in S12), the
ステップS14において、命令デコード部11はMSB22の値を無視して“0”であるとし、2つの16ビット命令を逐次実行させる。すなわち、命令デコード部11は、最初のサイクルで上位の16ビット命令のデコード結果を演算器12−1または12−2に出力することによって最初の16ビット命令を実行させ、次のサイクルで下位の16ビット命令のデコード結果を演算器12−1または12−2に出力することによって次の16ビット命令を実行させる。
In step S14, the
なお、2つの16ビット命令の間に依存関係がある場合、命令デコード部11は2番目の命令を演算器に実行させるときにバックアップ用のレジスタに退避された値を用いて演算を行なわせる。また、2つの16ビット命令は同じ演算器によって演算が行なわれ、他方の演算器は動作しないものとする。
When there is a dependency relationship between two 16-bit instructions, the
ここで、2つの16ビット命令が共にコンディションビットを変更するような命令である場合も考えられるが、元々このような並列実行される命令が生成されるのは禁止されているので、このような場合を考慮する必要はない。 Here, there are cases where two 16-bit instructions are instructions that change the condition bit, but since it is prohibited to generate such instructions that are executed in parallel originally, There is no need to consider the case.
また、使用しなくなった演算器等に対するクロックや電源等の供給を停止することによって、さらに消費電力を低減することが可能となる。 In addition, power consumption can be further reduced by stopping the supply of a clock, a power supply, and the like to a computing unit that is no longer used.
また、クロックや電源等の供給を停止している演算器等のリソースを使用しようとした場合、例外を発生させてソフトウェアでそれをエミュレートするようにしてもよい。 In addition, when trying to use a resource such as a computing unit that has stopped supplying a clock or power, an exception may be generated and emulated by software.
また、クロックや電源等の供給を停止している演算器等のリソースを使用しようとした場合、そのリソースへのクロックや電源等の供給を再開し、これらを使用可能な状態にしてから命令を実行するようにしてもよい。 Also, if you try to use a resource such as a computing unit that has stopped supplying clocks and power, etc., restart the supply of clocks and power to that resource, make them available, and then issue an instruction. You may make it perform.
以上説明したように、本実施の形態におけるVLIW方式のプロセッサによれば、低消費電力モードであり、かつ2つの16ビット命令が並列実行されることが示される場合に、命令デコード部11が2つの16ビット命令を1つの演算器に逐次実行させるようにしたので、一部の演算器を動作させる必要がなくなる。これによって、演算器などの回路を同時に動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。
As described above, according to the VLIW processor of the present embodiment, the
(第2の実施の形態)
本発明の第2の実施の形態におけるVLIW方式のプロセッサの概略構成は、図1に示す第1の実施の形態におけるVLIW方式のプロセッサの概略構成と同様である。したがって、重複する構成及び機能の詳細な説明は繰返さない。
(Second Embodiment)
The schematic configuration of the VLIW processor in the second embodiment of the present invention is the same as the schematic configuration of the VLIW processor in the first embodiment shown in FIG. Therefore, detailed description of overlapping configurations and functions will not be repeated.
図4は、本発明の第2の実施の形態におけるVLIW方式のプロセッサの処理手順を説明するためのフローチャートである。まず、命令デコード部11は、命令が2つの16ビット命令であり(MSB21=0)、かつ並列実行(MSB22=1)の場合、低消費電力モード信号に応じて低消費電力モードであるか否かを判定する(S21)。
FIG. 4 is a flowchart for explaining the processing procedure of the VLIW processor according to the second embodiment of the present invention. First, when the instruction is two 16-bit instructions (MSB21 = 0) and executed in parallel (MSB22 = 1), the
低消費電力モードでない場合(S21,No)、命令デコード部11は演算器12−1および12−2に2つの16ビット命令のデコード結果を同時に出力することによって、2つの16ビット命令を並列に実行させる(S26)。
When not in the low power consumption mode (S21, No), the
また、低消費電力モードの場合(S21,Yes)、命令デコード部11は2つの16ビット命令をデコードすることによって、2つの16ビット命令の間に依存関係があるか否かを判定する(S22)。
In the case of the low power consumption mode (S21, Yes), the
2つの16ビット命令の間に依存関係がない場合、すなわち、一方の16ビット命令のディスティネーション・オペランドが、他方の16ビット命令のソース・オペランドになっておらず、かつ一方の16ビット命令がコンディションビットを変更し、他方の16ビット命令がコンディションビットを参照しない場合には(S22,No)、命令デコード部11はMSB22の値を無視して“0”であるとし、2つの16ビット命令を逐次実行させる(S25)。
If there is no dependency between two 16-bit instructions, that is, the destination operand of one 16-bit instruction is not the source operand of the other 16-bit instruction and one 16-bit instruction is If the condition bit is changed and the other 16-bit instruction does not refer to the condition bit (No at S22), the
また、2つの16ビット命令の間に依存関係がある場合、すなわち、一方の16ビット命令のディスティネーション・オペランドが、他方の16ビット命令のソース・オペランドになっている場合、または一方の16ビット命令がコンディションビットを変更し、他方の16ビット命令がコンディションビットを参照する場合には(S22,Yes)、命令デコード部11は例外を発生させて例外ハンドラを起動する(S23)。この例外ハンドラの起動によって並列命令のエミュレートが行なわれ、並列命令が複数の逐次命令として実行される(S24)。なお、命令メモリに予め例外ハンドラが格納されているものとする。
Also, if there is a dependency between two 16-bit instructions, that is, if the destination operand of one 16-bit instruction is the source operand of the other 16-bit instruction, or one 16-bit instruction When the instruction changes the condition bit and the other 16-bit instruction refers to the condition bit (S22, Yes), the
また、低消費電力モード時にコプロセッサ命令を実行する場合、コプロセッサの有無にかかわらずコプロセッサ命令例外を発生させ、例外ハンドラを起動することによってコプロセッサ命令をエミュレートするようにしてもよい。これによって、コプロセッサを動作させる必要がなくなり、消費電力を低減することが可能となる。 When executing a coprocessor instruction in the low power consumption mode, a coprocessor instruction exception may be generated regardless of the presence or absence of the coprocessor, and the coprocessor instruction may be emulated by activating an exception handler. As a result, it is not necessary to operate the coprocessor, and power consumption can be reduced.
以上説明したように、本実施の形態におけるVLIW方式のプロセッサによれば、低消費電力モードであり、2つの16ビット命令が並列実行されることが示されており、かつ2つの16ビット命令の間に依存関係がある場合に、命令デコード部11が例外を発生させて例外ハンドラを起動するようにしたので、第1の実施の形態において説明した効果に加えて、レジスタの退避などが不要となり、ハードウェア構成を簡略化することが可能となった。
As described above, according to the VLIW processor in the present embodiment, it is shown that the low power consumption mode is executed, and two 16-bit instructions are executed in parallel. When there is a dependency relationship, the
(第3の実施の形態)
本発明の第3の実施の形態におけるVLIW方式のプロセッサの概略構成は、図1に示す第1の実施の形態におけるVLIW方式のプロセッサの概略構成と同様である。したがって、重複する構成及び機能の詳細な説明は繰返さない。
(Third embodiment)
The schematic configuration of the VLIW processor in the third embodiment of the present invention is the same as the schematic configuration of the VLIW processor in the first embodiment shown in FIG. Therefore, detailed description of overlapping configurations and functions will not be repeated.
図5は、本発明の第3の実施の形態におけるVLIW方式のプロセッサの処理手順を説明するためのフローチャートである。まず、命令デコード部11は、命令が2つの16ビット命令であり(MSB21=0)、かつ並列実行(MSB22=1)の場合、低消費電力モード信号に応じて低消費電力モードであるか否かを判定する(S31)。
FIG. 5 is a flowchart for explaining the processing procedure of the VLIW processor according to the third embodiment of the present invention. First, when the instruction is two 16-bit instructions (MSB21 = 0) and executed in parallel (MSB22 = 1), the
低消費電力モードでない場合(S31,No)、命令デコード部11は演算器12−1および12−2に2つの16ビット命令のデコード結果を同時に出力することによって、2つの16ビット命令を並列に実行させる(S36)。
When not in the low power consumption mode (S31, No), the
また、低消費電力モードの場合(S31,Yes)、命令デコード部11は2つの16ビット命令をデコードすることによって、2つの16ビット命令の間に依存関係があるか否かを判定する(S32)。
In the case of the low power consumption mode (S31, Yes), the
2つの16ビット命令の間に依存関係がない場合、すなわち、一方の16ビット命令のディスティネーション・オペランドが、他方の16ビット命令のソース・オペランドになっておらず、かつ一方の16ビット命令がコンディションビットを変更し、他方の16ビット命令がコンディションビットを参照しない場合には(S32,No)、命令デコード部11はMSB22の値を無視して“0”であるとし、2つの16ビット命令を逐次実行させる(S25)。
If there is no dependency between two 16-bit instructions, that is, the destination operand of one 16-bit instruction is not the source operand of the other 16-bit instruction and one 16-bit instruction is When the condition bit is changed and the other 16-bit instruction does not refer to the condition bit (No in S32), the
また、2つの16ビット命令の間に依存関係がある場合、すなわち、一方の16ビット命令のディスティネーション・オペランドが、他方の16ビット命令のソース・オペランドになっている場合、または一方の16ビット命令がコンディションビットを変更し、他方の16ビット命令がコンディションビットを参照する場合には(S32,Yes)、この依存関係がある並列命令を同じ意味の動作をする逐次命令群に変換し、高速アクセスが可能なメモリ(キャッシュメモリ、SRAM(Static Random Access Memory))に格納する。この高速アクセスが可能なメモリには、逐次命令群を格納するための領域が予め確保されており、命令フェッチ部がこの領域から直接逐次命令群を読出すことによって逐次命令群のフェッチが行なわれる。 Also, if there is a dependency between two 16-bit instructions, that is, if the destination operand of one 16-bit instruction is the source operand of the other 16-bit instruction, or one 16-bit instruction When the instruction changes the condition bit and the other 16-bit instruction refers to the condition bit (S32, Yes), the parallel instruction having this dependency relation is converted into a sequential instruction group having the same meaning operation, and the high-speed operation is performed. It is stored in an accessible memory (cache memory, SRAM (Static Random Access Memory)). In the memory capable of high-speed access, an area for storing the sequential instruction group is secured in advance, and the sequential instruction group is fetched by the instruction fetch unit reading the sequential instruction group directly from this area. .
そして、命令デコード部11は、フェッチされた逐次命令群を順次デコードし、デコード結果を同じ演算器に出力することによって逐次実行が行なわれる(S34)。
Then, the
以上説明したように、本実施の形態におけるVLIW方式のプロセッサによれば、低消費電力モードであり、2つの16ビット命令が並列実行されることが示されており、かつ2つの16ビット命令の間に依存関係がある場合に、並列命令を逐次命令群に変換して高速アクセスが可能なメモリに格納し、その逐次命令群を順次実行するようにしたので、第1の実施の形態において説明した効果に加えて、並列命令を逐次命令群に変換して実行するときの処理速度の低下を防止することが可能となった。 As described above, according to the VLIW processor in the present embodiment, it is shown that the low power consumption mode is executed, and two 16-bit instructions are executed in parallel. When there is a dependency relationship between the parallel instructions, the parallel instructions are converted into a sequential instruction group, stored in a memory that can be accessed at high speed, and the sequential instruction group is executed sequentially, which will be described in the first embodiment. In addition to the effects described above, it is possible to prevent a decrease in processing speed when parallel instructions are converted into sequential instructions and executed.
(第4の実施の形態)
図6は、本発明の第4の実施の形態におけるコンパイル装置の構成例を示すブロック図である。このコンパイル装置は、コンピュータ本体31、ディスプレイ装置32、FD(Flexible Disk)34が装着されるFDドライブ33、キーボード35、マウス36、CD−ROM(Compact Disc-Read Only Memory)38が装着されるCD−ROM装置37、およびネットワーク通信装置39を含む。
(Fourth embodiment)
FIG. 6 is a block diagram illustrating a configuration example of the compiling device according to the fourth embodiment of the present invention. The compiling device includes a computer
コンパイルプログラム(以下、コンパイラと呼ぶ。)は、FD34またはCD−ROM38等の記録媒体によって供給される。コンパイラがコンピュータ本体31によって実行されることによって、プログラムからオブジェクトコードが生成される。また、コンパイラは他のコンピュータよりネットワーク通信装置39を経由し、コンピュータ本体31に供給されてもよい。
A compile program (hereinafter referred to as a compiler) is supplied by a recording medium such as the
図6に示すコンピュータ本体31は、CPU(Central Processing Unit)40、ROM(Read Only Memory)41、RAM42およびハードディスク43を含む。CPU40は、ディスプレイ装置32、FDドライブ33、キーボード35、マウス36、CD−ROM装置37、ネットワーク通信装置39、ROM41、RAM42またはハードディスク43との間でデータを入出力しながら処理を行なう。
The computer
FD34またはCD−ROM38に記録されたコンパイラは、CPU40によりFDドライブ33またはCD−ROM装置37を介してハードディスク43に格納される。CPU40は、ハードディスク43から適宜コンパイラをRAM42にロードして実行することによって、プログラムからオブジェクトコードが生成される。
The compiler recorded in the
図7は、本発明の第4の実施の形態におけるコンパイル装置の機能的構成を示すブロック図である。このコンパイル装置は、低消費電力モードであるか否かを判定するモード判定部51と、ソースファイルから命令を1つずつ抽出し、その命令を解析して所定の条件を満たしているか否かを判定する条件判定部52と、モード判定部51および条件判定部52による判定結果に応じて命令コードを生成し、オブジェクトコードとして出力する命令コード生成部53と含む。
FIG. 7 is a block diagram showing a functional configuration of a compiling device according to the fourth embodiment of the present invention. The compiling device extracts a
図8は、本発明の第4の実施の形態におけるコンパイル装置の処理手順を説明するためのフローチャートである。なお、本実施の形態におけるコンパイル装置は、消費電力を抑えるためのコードを出力するオプションを有しており、この低消費電力モードの設定はユーザ指定などによって行なわれる。 FIG. 8 is a flowchart for explaining the processing procedure of the compiling apparatus according to the fourth embodiment of the present invention. Note that the compiling apparatus according to the present embodiment has an option of outputting a code for reducing power consumption, and the setting of the low power consumption mode is performed by user designation or the like.
まず、モード判定部51は、低消費電力モードが指定されているか否かを判定する(S41)。モード判定部51によって低消費電力モードが指定されていないと判定された場合(S41,No)、命令コード生成部53は命令からそのまま命令コードを生成して出力する(S44)。すなわち、命令が2つの16ビット命令の並列命令の場合には、VLIW方式のプロセッサによって並列に実行される命令コードを生成して出力する。また、命令が2つの16ビット命令の逐次命令の場合には、VLIW方式のプロセッサによって逐次実行される命令コードを生成して出力する。また、命令が32ビット命令であれば32ビット命令の命令コードを生成して出力する。
First, the
モード判定部51によって低消費電力モードが指定されていると判定された場合(S41,Yes)、条件判定部52は命令が2つの16ビット命令の並列命令であれば、2つの16ビット命令の間に依存関係があるか否かを判定する(S42)。
When the
条件判定部52によって2つの16ビット命令の間に依存関係がないと判定された場合、すなわち、一方の16ビット命令のディスティネーション・オペランドが、他方の16ビット命令のソース・オペランドになっておらず、かつ一方の16ビット命令がコンディションビットを変更し、他方の16ビット命令がコンディションビットを参照しない場合には(S42,No)、上述したステップS44の処理が行なわれる。
If the
また、条件判定部52によって2つの16ビット命令の間に依存関係があると判定された場合、すなわち、一方の16ビット命令のディスティネーション・オペランドが、他方の16ビット命令のソース・オペランドになっている場合、または一方の16ビット命令がコンディションビットを変更し、他方の16ビット命令がコンディションビットを参照する場合には(S42,Yes)、命令コード生成部53は並列命令から逐次命令の命令コードを生成して出力する(S43)。
In addition, when the
図9は、本発明の第4の実施の形態におけるコンパイル装置によってコンパイルされたプログラムを実行するVLIW方式のプロセッサの処理手順を説明するためのフローチャートである。なお、このVLIW方式のプロセッサの概略構成は、図1に示す第1の実施の形態におけるVLIW方式のプロセッサの概略構成と同様である。したがって、重複する構成及び機能の詳細な説明は繰返さない。 FIG. 9 is a flowchart for explaining a processing procedure of a VLIW processor that executes a program compiled by a compiling apparatus according to the fourth embodiment of the present invention. The schematic configuration of the VLIW processor is the same as that of the VLIW processor in the first embodiment shown in FIG. Therefore, detailed description of overlapping configurations and functions will not be repeated.
まず、命令デコード部11は、命令が2つの16ビット命令であり(MSB21=0)、かつ並列実行(MSB22=1)の場合、低消費電力モード信号に応じて低消費電力モードであるか否かを判定する(S51)。
First, when the instruction is two 16-bit instructions (MSB21 = 0) and executed in parallel (MSB22 = 1), the
低消費電力モードでない場合(S51,No)、命令デコード部11は演算器12−1および12−2に2つの16ビット命令のデコード結果を同時に出力することによって、2つの16ビット命令を並列に実行させる(S53)。また、低消費電力モードの場合(S51,Yes)、命令デコード部11はMSB22の値を無視して“0”であるとし、2つの16ビット命令を逐次実行させる(S52)。
When not in the low power consumption mode (S51, No), the
なお、低消費電力モードであり、かつ2つの16ビット命令が並列命令の場合、その依存性はコンパイル装置によって解消されているので、プロセッサは並列命令を単に逐次実行すればよい。 In the low power consumption mode and when two 16-bit instructions are parallel instructions, the dependency is eliminated by the compiling device, and the processor simply executes the parallel instructions sequentially.
以上説明したように、本実施の形態におけるコンパイル装置によれば、低消費電力モードであり、2つの16ビット命令が並列命令であり、かつ2つの16ビット命令の間に依存関係がある場合に、逐次命令の命令コードに変換して出力するようにしたので、この命令コードを実行するプロセッサは、並列命令を単に逐次命令に変換して実行すればよくなり、第1の実施の形態において説明した効果に加えて、ハードウェア構成を簡略化することが可能となった。 As described above, according to the compiling apparatus in the present embodiment, the low power consumption mode is set, two 16-bit instructions are parallel instructions, and there is a dependency between the two 16-bit instructions. Since the instruction code of the sequential instruction is converted and output, the processor that executes the instruction code only needs to convert the parallel instruction into the sequential instruction and execute it, which will be described in the first embodiment. In addition to the effect, the hardware configuration can be simplified.
(第5の実施の形態)
本発明の第5の実施の形態におけるコンパイル装置の構成例および機能的構成は、図6および図7に示す第4の実施の形態におけるコンパイル装置の構成例および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
(Fifth embodiment)
The configuration example and the functional configuration of the compiling device in the fifth embodiment of the present invention are the same as the configuration example and the functional configuration of the compiling device in the fourth embodiment shown in FIGS. Therefore, detailed description of overlapping configurations and functions will not be repeated.
図10は、本発明の第5の実施の形態におけるコンパイル装置の処理手順を説明するためのフローチャートである。まず、モード判定部51は、低消費電力モードが指定されているか否かを判定する(S61)。モード判定部51によって低消費電力モードが指定されていないと判定された場合(S61,No)、命令コード生成部53は並列命令から逐次命令の命令コードを生成して出力する(S64)。
FIG. 10 is a flowchart for explaining the processing procedure of the compiling apparatus according to the fifth embodiment of the present invention. First, the
モード判定部51によって低消費電力モードが指定されていると判定された場合(S61,Yes)、条件判定部52は命令が2つの16ビット命令の並列命令であれば、2つの16ビット命令を並列に実行したときの消費電力が所定値よりも小さいか否かを判定する(S62)。
When it is determined by the
たとえば、16ビット命令を実行するときの消費電力をテーブルとして保持しておき、そのテーブルを参照して2つの16ビット命令のそれぞれの消費電力を抽出し、それを加算することによって並列命令を実行したときの消費電力を計算することができる。 For example, the power consumption when executing a 16-bit instruction is stored as a table, the power consumption of each of the two 16-bit instructions is extracted with reference to the table, and the parallel instructions are executed by adding them. The power consumption can be calculated.
条件判定部52によって2つの16ビット命令の消費電力が所定値以上であると判定された場合(S62,No)、命令コード生成部53は並列命令から逐次命令の命令コードを生成して出力する(S64)。また、条件判定部52によって2つの16ビット命令の消費電力が所定値よりも小さいと判定された場合(S62,Yes)、命令コード生成部53は並列命令の命令コードを生成して出力する(S63)。
When the
以上説明したように、本実施の形態におけるコンパイル装置によれば、低消費電力モードであり、2つの16ビット命令が並列命令であり、かつ2つの16ビット命令の消費電力が所定値より小さい場合にのみ並列命令の命令コードを生成して出力し、それ以外の場合には逐次命令の命令コードを生成して出力するようにしたので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。 As described above, according to the compiling apparatus in the present embodiment, the low power consumption mode is set, two 16-bit instructions are parallel instructions, and the power consumption of the two 16-bit instructions is smaller than a predetermined value. Since the instruction code of the parallel instruction is generated and output only in the case of, and the instruction code of the sequential instruction is generated and output in other cases, it is possible to reduce the power consumption at the peak time of the processor It is now possible to generate instruction codes.
(第6の実施の形態)
本発明の第6の実施の形態におけるコンパイル装置の構成例および機能的構成は、図6および図7に示す第4の実施の形態におけるコンパイル装置の構成例および機能的構成と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
(Sixth embodiment)
The configuration example and the functional configuration of the compiling device in the sixth embodiment of the present invention are the same as the configuration example and the functional configuration of the compiling device in the fourth embodiment shown in FIGS. Therefore, detailed description of overlapping configurations and functions will not be repeated.
図11は、本発明の第6の実施の形態におけるコンパイル装置の処理手順を説明するためのフローチャートである。まず、モード判定部51によって低消費電力モードが指定されていると判定された場合、条件判定部52は2つの16ビット命令を並列に実行したときの消費電力を判定する(S71)。たとえば、16ビット命令を実行するときの消費電力をテーブルとして保持しておき、そのテーブルを参照して2つの16ビット命令のそれぞれの消費電力を抽出し、それを加算することによって並列命令を実行したときの消費電力を計算することができる。
FIG. 11 is a flowchart for explaining the processing procedure of the compiling apparatus according to the sixth embodiment of the present invention. First, when the
条件判定部52によって2つの16ビット命令の消費電力がしきい値よりも小さいと判定された場合(S72,No)、命令コード生成部53は2つの16ビット命令から並列命令の命令コードを生成して出力する(S74)。
When the
また、条件判定部52によって2つの16ビット命令の消費電力がしきい値以上であると判定された場合(S72,Yes)、意味の変わらない範囲で前後の命令と入替えを行ない、ステップS71に戻って以降の処理を繰返す。たとえば、前後の命令との間で依存関係がないか否かを判定し、依存関係がなければその命令を前後の命令と入替える。
If the
以上説明したように、本実施の形態におけるコンパイル装置によれば、低消費電力モードであり、2つの16ビット命令が並列命令であり、かつ2つの16ビット命令の消費電力がしきい値よりも大きい場合には、命令を入替えて命令コードを生成するようにしたので、プロセッサのピーク時における消費電力を低減させることが可能となるように命令コードを生成することが可能となった。 As described above, according to the compiling device in the present embodiment, the low power consumption mode is set, two 16-bit instructions are parallel instructions, and the power consumption of the two 16-bit instructions is lower than the threshold value. If it is large, the instruction code is generated by replacing the instruction, so that the instruction code can be generated so that the power consumption at the peak time of the processor can be reduced.
(第7の実施の形態)
図12は、本発明の第7の実施の形態におけるシステム(情報処理装置)の概略構成の一例を示すブロック図である。このシステムにおいては、外部に設けられた温度センサ61の出力が第1〜第4の実施の形態において説明したVLIW方式のプロセッサ1に接続される。プロセッサ1は、温度センサ61の出力を参照することにより、温度が所定値以上であるか否かを判定する。温度が所定値以上の場合には、プロセッサ1は低消費電力モードであると判定する。
(Seventh embodiment)
FIG. 12 is a block diagram showing an example of a schematic configuration of a system (information processing apparatus) according to the seventh embodiment of the present invention. In this system, the output of the
図13は、本発明の第7の実施の形態におけるシステム(情報処理装置)の概略構成の他の一例を示すブロック図である。このシステムは、内部に温度センサ61が設けられる。それ以外は、図12に示すシステムと同様である。
FIG. 13 is a block diagram illustrating another example of a schematic configuration of a system (information processing apparatus) according to the seventh embodiment of the present invention. This system is provided with a
以上説明したように、本実施の形態におけるシステムによれば、温度が所定値以上の場合に低消費電力モードで動作するようにしたので、システムの温度が必要以上に高くなることを防止でき、プロセッサ1の誤動作等を防止することが可能となった。
As described above, according to the system in the present embodiment, when the temperature is equal to or higher than a predetermined value, the system is operated in the low power consumption mode, so that the system temperature can be prevented from becoming higher than necessary. It has become possible to prevent malfunction of the
(第8の実施の形態)
図14は、本発明の第8の実施の形態におけるシステム(情報処理装置)の概略構成の一例を示すブロック図である。このシステムにおいては、外部に設けられた電流センサ62の出力が第1〜第4の実施の形態において説明したVLIW方式のプロセッサ1に接続される。プロセッサ1は、電流センサ62の出力を参照することにより、システムに供給される電流が所定値以上であるか否かを判定する。電流が所定値以上の場合には、プロセッサ1は低消費電力モードであると判定する。
(Eighth embodiment)
FIG. 14 is a block diagram showing an example of a schematic configuration of a system (information processing apparatus) according to the eighth embodiment of the present invention. In this system, the output of the
図15は、本発明の第8の実施の形態におけるシステム(情報処理装置)の概略構成の他の一例を示すブロック図である。このシステムは、内部に電流センサ62が設けられる。それ以外は、図14に示すシステムと同様である。
FIG. 15 is a block diagram showing another example of a schematic configuration of a system (information processing apparatus) according to the eighth embodiment of the present invention. This system is provided with a
以上説明したように、本実施の形態におけるシステムによれば、システムに供給される電流が所定値以上の場合に低消費電力モードで動作するようにしたので、システムに供給される電流が必要以上に大きくなることを防止でき、プロセッサ1の誤動作等を防止することが可能となった。
As described above, according to the system in the present embodiment, when the current supplied to the system is equal to or higher than the predetermined value, the system is operated in the low power consumption mode, so that the current supplied to the system is more than necessary. It becomes possible to prevent the
(第9の実施の形態)
図16は、本発明の第9の実施の形態におけるシステム(情報処理装置)の概略構成を示すブロック図である。このシステムにおいては、外部から入力される低消費電力モード信号が第1〜第4の実施の形態において説明したVLIW方式のプロセッサ1に接続され、外部入力の値によって低消費電力モードの切替えが行なわれる。
(Ninth embodiment)
FIG. 16: is a block diagram which shows schematic structure of the system (information processing apparatus) in the 9th Embodiment of this invention. In this system, a low power consumption mode signal input from the outside is connected to the
以上説明したように、本実施の形態におけるシステムによれば、外部入力の値に応じて低消費電力モードで動作するか否かを決定するようにしたので、システムの外部から低消費電力モードの切替えを容易に行なうことが可能となった。 As described above, according to the system in the present embodiment, whether or not to operate in the low power consumption mode is determined according to the value of the external input. It became possible to switch easily.
(第10の実施の形態)
図17は、本発明の第10の実施の形態におけるシステム(情報処理装置)の概略構成を示すブロック図である。このシステムにおいては、内部にレジスタ64が設けられ、第1〜第4の実施の形態において説明したVLIW方式のプロセッサ1に接続される。プロセッサ1などがこのレジスタ64に値を設定することによって、低消費電力モードの切替えが行なわれる。
(Tenth embodiment)
FIG. 17 is a block diagram showing a schematic configuration of a system (information processing apparatus) according to the tenth embodiment of the present invention. In this system, a
以上説明したように、本実施の形態におけるシステムによれば、レジスタ64に設定された値に応じて低消費電力モードで動作するか否かを決定するようにしたので、プロセッサ1がこのレジスタ64の値を設定することによって、プログラムで低消費電力の切替えを行なうことが可能となった。
As described above, according to the system in the present embodiment, since it is determined whether or not to operate in the low power consumption mode according to the value set in the
(第11の実施の形態)
図18は、本発明の第11の実施の形態におけるスーパースカラの概略構成を示すブロック図である。このスーパースカラは、フェッチされた命令列の並列性を検出してスケジューリングを行なうハードウェア命令スケジューラ71と、ハードウェア命令スケジューラ71によってスケジューリングされた命令を実行する複数の演算器(PU)72−1〜72−4とを含む。
(Eleventh embodiment)
FIG. 18 is a block diagram showing a schematic configuration of the superscalar in the eleventh embodiment of the present invention. This superscalar includes a
低消費電力モードが設定されている場合、ハードウェア命令スケジューラ71は、複数のパイプラインのうち利用するパイプラインを限定してスケジューリングを行ない、演算器72−1〜72−4のうち少なくとも1個の演算器が動作しないようにする。また、低消費電力モードにレベルを持たせ、これに応じて利用するパイプライン数を変化させることで、より細かく消費電力の制御を行なうようにしてもよい。
When the low power consumption mode is set, the
なお、本実施の形態におけるスーパースカラを、図12〜図17に示す第7〜第10に示すシステムに適用することも可能である。この場合、VLIW方式のプロセッサ1に替えて、本実施の形態において説明したスーパースカラが搭載される。
Note that the superscalar in the present embodiment can also be applied to the seventh to tenth systems shown in FIGS. 12 to 17. In this case, instead of the
以上説明したように、本実施の形態におけるスーパースカラによれば、低消費電力モードが設定されている場合には、利用するパイプライン数を制限してスケジューリングを行なうようにしたので、演算器などの回路を同時に動作させる必要がなくなり、ピーク時における消費電力を低減させることが可能となった。 As described above, according to the superscalar in the present embodiment, when the low power consumption mode is set, scheduling is performed by limiting the number of pipelines to be used. It is no longer necessary to operate these circuits simultaneously, and the power consumption at the peak time can be reduced.
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
11 命令デコード部、12−1〜12−4,71−1〜71−4 演算器、21,22 MSB、31 コンピュータ本体、32 ディスプレイ装置、33 FDドライブ、34 FD、35 キーボード、36 マウス、37 CD−ROM装置、38 CD−ROM、39 ネットワーク通信装置、40 CPU、41 ROM、42 RAM、43 ハードディスク、51 モード判定部、52 条件判定部、53 命令コード生成部、61 温度センサ、62 電流センサ、63 低消費電力モード、64 レジスタ、71 ハードウェア命令スケジューラ。
11 Instruction decoding unit, 12-1 to 12-4, 71-1 to 71-4 arithmetic unit, 21, 22 MSB, 31 computer main body, 32 display device, 33 FD drive, 34 FD, 35 keyboard, 36 mouse, 37 CD-ROM device, 38 CD-ROM, 39 network communication device, 40 CPU, 41 ROM, 42 RAM, 43 hard disk, 51 mode determination unit, 52 condition determination unit, 53 command code generation unit, 61 temperature sensor, 62
Claims (15)
フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の間に依存性がある場合、依存性があるデータをレジスタに退避して使用することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、プロセッサ。 A processor capable of executing a plurality of instructions simultaneously,
Instruction decoding means for decoding the fetched instruction;
A plurality of arithmetic means for performing an operation according to a result of decoding by the instruction decoding means,
When the fetched instruction is a parallel instruction including a plurality of instructions and there is a dependency between the plurality of instructions, the instruction decoding means saves the dependent data in a register and uses it The processor causes the parallel instructions to be sequentially executed by some of the arithmetic means in the plurality of arithmetic means.
フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の間に依存性がある場合、例外を発生させて前記並列命令をソフトウェアでエミュレートすることによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、プロセッサ。 A processor capable of executing a plurality of instructions simultaneously,
Instruction decoding means for decoding the fetched instruction;
A plurality of arithmetic means for performing an operation according to a result of decoding by the instruction decoding means,
The instruction decoding means generates an exception and emulates the parallel instruction by software when the fetched instruction is a parallel instruction including a plurality of instructions and there is a dependency between the plurality of instructions. Accordingly, a processor that causes the arithmetic instructions to be sequentially executed by some of the arithmetic means.
フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段と、
命令を格納するための格納手段とを含み、
前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の間に依存性がある場合、前記並列命令を逐次命令群に変換して前記格納手段に格納し、該逐次命令群を順次読出すことによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、プロセッサ。 A processor capable of executing a plurality of instructions simultaneously,
Instruction decoding means for decoding the fetched instruction;
A plurality of arithmetic means for performing an operation according to a result of decoding by the instruction decoding means;
Storage means for storing instructions,
The instruction decoding unit converts the parallel instruction into a sequential instruction group when the fetched instruction is a parallel instruction including a plurality of instructions and there is a dependency between the plurality of instructions. And sequentially reading out the sequential instruction group to cause the parallel instructions to be executed sequentially by some of the arithmetic means.
フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記命令デコード手段は、フェッチされた命令がコプロセッサ命令であれば、例外を発生させて前記コプロセッサ命令をソフトウェアでエミュレートすることによって、前記コプロセッサ命令を前記複数の演算手段に実行させる、プロセッサ。 A processor capable of executing a plurality of instructions simultaneously,
Instruction decoding means for decoding the fetched instruction;
A plurality of arithmetic means for performing an operation according to a result of decoding by the instruction decoding means,
If the fetched instruction is a coprocessor instruction, the instruction decoding means causes the plurality of arithmetic means to execute the coprocessor instruction by generating an exception and emulating the coprocessor instruction by software. Processor.
命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の間に依存性があるか否かを判定するための条件判定手段と、
前記条件判定手段によって依存性があると判定された場合、前記並列命令を逐次命令の命令コードに変換して出力するための命令コード生成手段とを含む、コンパイラ。 A compiler for compiling a program executed by a processor capable of executing a plurality of instructions simultaneously,
Condition determining means for determining whether the instruction is a parallel instruction including a plurality of instructions and whether there is a dependency between the plurality of instructions;
A compiler comprising: an instruction code generating means for converting the parallel instruction into an instruction code of a sequential instruction and outputting the instruction when the condition determining means determines that there is a dependency.
命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の消費電力が所定値以上であるか否かを判定するための条件判定手段と、
前記条件判定手段によって消費電力が所定値以上であると判定された場合、前記並列命令を逐次命令の命令コードに変換して出力するための命令コード生成手段とを含む、コンパイラ。 A compiler for compiling a program executed by a processor capable of executing a plurality of instructions simultaneously,
Condition determining means for determining whether the instruction is a parallel instruction including a plurality of instructions and the power consumption of the plurality of instructions is equal to or greater than a predetermined value;
A compiler comprising: an instruction code generating means for converting the parallel instruction into an instruction code of a sequential instruction and outputting the parallel instruction when the condition determining means determines that the power consumption is a predetermined value or more.
命令が複数の命令を含んだ並列命令であり、かつ前記複数の命令の消費電力が所定値以上であるか否かを判定するための条件判定手段と、
前記条件判定手段によって消費電力が所定値以上であると判定された場合、前記並列命令に含まれる複数の命令のいずれかを前後の命令と入替えて命令コードを生成するための命令コード生成手段とを含む、コンパイラ。 A compiler for compiling a program executed by a processor capable of executing a plurality of instructions simultaneously,
Condition determining means for determining whether the instruction is a parallel instruction including a plurality of instructions and the power consumption of the plurality of instructions is equal to or greater than a predetermined value;
An instruction code generating means for generating an instruction code by replacing any of the plurality of instructions included in the parallel instruction with the preceding and succeeding instructions when the condition determining means determines that the power consumption is a predetermined value or more; Including the compiler.
温度を計測するための計測手段とを含んだ情報処理装置であって、
前記プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記計測手段によって計測された温度が所定値以上の場合、前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、該並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、情報処理装置。 A processor capable of executing a plurality of instructions simultaneously;
An information processing apparatus including a measuring means for measuring temperature,
The processor includes instruction decoding means for decoding the fetched instruction;
A plurality of arithmetic means for performing an operation according to a result of decoding by the instruction decoding means,
When the temperature measured by the measuring unit is a predetermined value or more, the instruction decoding unit converts the parallel instruction into a sequential instruction if the fetched instruction is a parallel instruction including a plurality of instructions, An information processing apparatus that causes some of the computing means to sequentially execute the parallel instructions.
電流を計測するための計測手段とを含んだ情報処理装置であって、
前記プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記計測手段によって計測された前記情報処理装置に供給される電流が所定値以上の場合、前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、該並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、情報処理装置。 A processor capable of executing a plurality of instructions simultaneously;
An information processing apparatus including a measuring means for measuring current,
The processor includes instruction decoding means for decoding the fetched instruction;
A plurality of arithmetic means for performing an operation according to a result of decoding by the instruction decoding means,
When the current supplied to the information processing device measured by the measuring unit is greater than or equal to a predetermined value, the instruction decoding unit determines that the fetched instruction is a parallel instruction including a plurality of instructions. An information processing apparatus that causes some of the computing means to sequentially execute the parallel instructions by converting the instructions into sequential instructions.
前記プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
外部から入力される信号が所定の値を示す場合、前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、該並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、情報処理装置。 An information processing apparatus including a processor capable of executing a plurality of instructions simultaneously,
The processor includes instruction decoding means for decoding the fetched instruction;
A plurality of arithmetic means for performing an operation according to a result of decoding by the instruction decoding means,
When the externally input signal indicates a predetermined value, the instruction decoding means converts the parallel instruction into a sequential instruction if the fetched instruction is a parallel instruction including a plurality of instructions. An information processing apparatus that causes a part of the plurality of arithmetic means to sequentially execute parallel instructions.
書換えが可能なレジスタとを含んだ情報処理装置であって、
前記プロセッサは、フェッチされた命令をデコードするための命令デコード手段と、
前記命令デコード手段によるデコード結果に応じて、演算を実行するための複数の演算手段とを含み、
前記レジスタに所定値が格納されている場合、前記命令デコード手段は、フェッチされた命令が複数の命令を含んだ並列命令であれば、該並列命令を逐次命令に変換することによって、前記並列命令を前記複数の演算手段の中の一部の演算手段に逐次的に実行させる、情報処理装置。 A processor capable of executing a plurality of instructions simultaneously;
An information processing apparatus including a rewritable register,
The processor includes instruction decoding means for decoding the fetched instruction;
A plurality of arithmetic means for performing an operation according to a result of decoding by the instruction decoding means,
When the predetermined value is stored in the register, the instruction decode means converts the parallel instruction into a sequential instruction if the fetched instruction includes a plurality of instructions, thereby converting the parallel instruction into a sequential instruction. An information processing apparatus for causing a part of the plurality of calculation means to sequentially execute the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004146258A JP2005327178A (en) | 2004-05-17 | 2004-05-17 | Processor, its compiler, and information processor including it |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004146258A JP2005327178A (en) | 2004-05-17 | 2004-05-17 | Processor, its compiler, and information processor including it |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005327178A true JP2005327178A (en) | 2005-11-24 |
Family
ID=35473482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004146258A Withdrawn JP2005327178A (en) | 2004-05-17 | 2004-05-17 | Processor, its compiler, and information processor including it |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005327178A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010257445A (en) * | 2009-04-14 | 2010-11-11 | Technology Currents Llc | Program and data annotation for hardware customization and energy optimization |
WO2024154477A1 (en) * | 2023-01-16 | 2024-07-25 | 富士通株式会社 | Pipeline number degenerating compiler and pipeline number degeneration method |
-
2004
- 2004-05-17 JP JP2004146258A patent/JP2005327178A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010257445A (en) * | 2009-04-14 | 2010-11-11 | Technology Currents Llc | Program and data annotation for hardware customization and energy optimization |
US9104435B2 (en) | 2009-04-14 | 2015-08-11 | Empire Technology Development Llc | Program and data annotation for hardware customization and energy optimization |
US10331191B2 (en) | 2009-04-14 | 2019-06-25 | Empire Technology Development, Llc | Program and data annotation for hardware customization and energy optimization |
WO2024154477A1 (en) * | 2023-01-16 | 2024-07-25 | 富士通株式会社 | Pipeline number degenerating compiler and pipeline number degeneration method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101770491B1 (en) | Processor that performs approximate computing instructions | |
JP5172942B2 (en) | Method for reducing power consumption by processor, processor, and information processing system | |
JP4986431B2 (en) | Processor | |
JP5808348B2 (en) | Instruction split based on machine state | |
JP4484925B2 (en) | Method and apparatus for control flow management in SIMD devices | |
KR101720452B1 (en) | Processor that recovers from excessive approximate computing error | |
WO2014004272A1 (en) | Methods and apparatus to extend software branch target hints | |
Tabkhi et al. | Application-guided power gating reducing register file static power | |
JP2015191346A (en) | Compile program, compile method, and compile device | |
US20150227371A1 (en) | Processors with Support for Compact Branch Instructions & Methods | |
Benini et al. | Reducing power consumption of dedicated processors through instruction set encoding | |
JP2005327178A (en) | Processor, its compiler, and information processor including it | |
US6829700B2 (en) | Circuit and method for supporting misaligned accesses in the presence of speculative load instructions | |
Wolf | How many system architectures? | |
CN110045989B (en) | Dynamic switching type low-power-consumption processor | |
Hou et al. | FuMicro: A Fused Microarchitecture Design Integrating In‐Order Superscalar and VLIW | |
Eni et al. | Efficient Hint-Based Event (EHE) issue scheduling for hardware multithreaded RISC-V pipeline | |
Lee et al. | Power-aware code scheduling assisted with power gating and DVS | |
Tiwari et al. | IndiRA: Design and Implementation of a Pipelined RISC-V Processor | |
Gao et al. | A trigonometric function instruction set extension method based on RISC-V | |
CN216527140U (en) | Branch prediction device and processor | |
Andorno | Design of the frontend for LEN5, a RISC-V Out-of-Order processor | |
Shi et al. | DSS: Applying asynchronous techniques to architectures exploiting ILP at compile time | |
CN112947999B (en) | Method and device for expanding instruction function of reduced instruction set computer | |
EP4202664B1 (en) | System, apparatus and method for throttling fusion of micro-operations in a processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070807 |