プロセッサによって実行可能な命令のそれぞれの動作周波数を記憶する記憶手段と、プログラムのソースコードを解釈して、前記プロセッサが実行可能な命令群に変換する変換手段と、前記記憶手段を参照して、前記変換手段によって変換された命令群のそれぞれの命令の動作周波数を抽出し、その中で最も低い動作周波数を前記プロセッサの動作周波数に決定する決定手段とを含むコンパイル装置。従来、CPUが実行する命令コード以下、CPU命令とも呼ぶ。の動作周波数がまちまちであるにもかかわらず、最も遅いCPU命令に合わせてCPUの動作周波数が決定されていた。極端に遅いCPU命令は複数サイクルで実行されるが、その場合でも、規定されたサイクル数で実行可能な動作周波数が存在するため、それを含めた全てのCPU命令が動作可能な周波数に合わせて、CPUの動作周波数が決定されていた。したがって、高速動作が可能なCPU命令であっても、最も遅いCPU命令に合わせた周波数で動作させなければならないといった問題点があった。また、このような問題点は、上述の特許文献1~2に開示された発明を用いたとしても、解決することができない。本発明は、上記問題点を解決するためになされたものであり、その目的は、CPUの処理速度の向上を図ることが可能となるようにコンパイル処理を行なうコンパイル装置を提供することである。本発明の一実施例によれば、プログラムのソースコードをCPU命令に変換するコンパイル装置が提供される。動作周波数テーブルは、CPUによって実行可能な命令のそれぞれの動作周波数を記憶する。コンパイラは、プログラムのソースコードを解釈して、CPUが実行可能な命令群に変換する。そして、動作周波数テーブルを参照して、変換したCPU命令群のそれぞれのCPU命令の動作周波数を抽出し、その中で最も低い動作周波数をCPUの動作周波数に決定する。本発明の一実施例によれば、変換したCPU命令群のそれぞれのCPU命令の動作周波数を抽出し、その中で最も低い動作周波数をCPUの動作周波数に決定するので、CPUの処理速度の向上を図ることが可能となるようにコンパイル処理を行なうことが可能となる。第1の実施の形態本発明は、様々な組み込み装置に適用可能であるが、その一例としてコンパイラに適用される場合について説明する。図1は、本発明の第1の実施の形態におけるコンパイル装置の構成例を示すブロック図である。コンパイル装置は、一般的なコンピュータによって実現され、コンピュータ本体1、ディスプレイ装置2、FDFlexibleDisk4が装着されるFDドライブ3、キーボード5、マウス6、CD-ROMCompactDiscReadOnlyMemory8が装着されるCD-ROM装置7、およびネットワーク通信装置9を含む。コンパイラは、FD4またはCD-ROM8等の記録媒体によって供給される。コンパイラがコンピュータ本体1によって実行されることにより、ソースコードを解釈してCPU命令を生成する。また、コンパイラは他のコンピュータより通信回線を経由し、コンピュータ本体1に供給されてもよい。また、コンピュータ本体1は、CPU10、ROMReadOnlyMemory11、RAMRandomAccessMemory12およびハードディスク13を含む。CPU10は、ディスプレイ装置2、FDドライブ3、キーボード5、マウス6、CD-ROM装置7、ネットワーク通信装置9、ROM11、RAM12またはハードディスク13との間でデータを入出力しながら処理を行なう。FD4またはCD-ROM8に記録されたコンパイラは、CPU10によりFDドライブ3またはCD-ROM装置7を介してハードディスク13に格納される。CPU10は、ハードディスク13から適宜コンパイラをRAM12にロードして実行することによって、CPU命令の生成が行なわれる。図2は、本発明の第1の実施の形態におけるコンパイル装置の処理手順を説明するための図である。なお、図2においては、コンパイラ22と、専用ツールまたはコンパイラ25とに分けて記載しているが、これらは1つのコンパイラであってもよいし、コンパイラと専用ツールとが別々にコンピュータにインストールされ、個別に実行するようにしてもよい。動作周波数テーブル24は、対象のCPUが実行可能なすべてのCPU命令を、動作可能な周波数によってグループ分けしたテーブルである。たとえば、グループAに属するadd命令は演算実行による遅延時間が小さいため、高い周波数100MHzで動作可能である。一方、グループDに属するdiv命令は演算実行による遅延時間が大きいため、低い周波数70MHzでしか動作できない。なお、対象のCPUとは、図1に示すCPU10と異なるCPUであってもよいし、同じであってもよい。まず、コンパイラ22は、対象となるプログラムのソースコード21を順次読み込んで解釈してCPU命令に変換する、いわゆるコンパイル処理を行なう。次に、専用ツールまたはコンパイラ25は、コンパイラ22によって変換されたCPU命令を順次抽出し、動作周波数テーブル24を検索することによって、使用されるCPU命令の中で最も動作周波数が低いCPU命令を決定し、その動作周波数をCPUの動作周波数に決定する。たとえば、対象のプログラムによって使用されるCPU命令の中でmul命令が最も遅いCPU命令である場合、CPUの動作周波数を80MHzに決定する。なお、対象のCPUは動作周波数を変更することが可能であり、決定された動作周波数で対象のCPUを動作させるものとする。また、後述のように、CPU命令によって動作周波数を変更できる場合には、コンパイルされた後のプログラムの最初にCPUの動作周波数を変更する命令を挿入するようにしてもよい。以上説明したように、本実施の形態におけるコンパイル装置によれば、対象のプログラムによって使用されるCPU命令の中で最も動作周波数が低いCPU命令の動作周波数をCPUの動作周波数に決定するようにしたので、CPUの動作周波数を必要以上に下げることがなくなり、CPUの処理速度の向上を図ることが可能となった。第2の実施の形態本発明の第2の実施の形態におけるコンパイル装置の構成は、図1に示す第1の実施の形態におけるコンパイル装置の構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。図3は、本発明の第2の実施の形態におけるコンパイル装置の処理手順を説明するための図である。まず、ユーザがコンパイルオプションなどで周波数を指定する。この周波数の指定は、図1に示すキーボード5、マウス6などを用いて行なわれる。コンパイラ22は、動作周波数テーブル24を参照して、指定された周波数を超えない命令グループを抽出する。そして、コンパイラ22は、抽出した命令のみを用いてプログラムのソースコード21をCPU命令23に変換する。たとえば、ユーザが80MHzを指定した場合には、グループA、B、Cに属するCPU命令のみを用いてソースコード21をCPU命令23に変換する。以上説明したように、本実施の形態におけるコンパイル装置によれば、ユーザが指定した周波数を超えないCPU命令のみを用いてコンパイル処理を行なうようにしたので、ユーザが指定した動作周波数でCPUが実行可能となるようにCPU命令を生成することが可能となった。第3の実施の形態本発明の第3の実施の形態におけるコンパイル装置の構成は、図1に示す第1の実施の形態におけるコンパイル装置の構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、後述のインタープリタ、JITコンパイラは、ハードディスク13などにインストールされており、CPU10が適宜インタープリタやJITコンパイラをRAM12などにロードして実行するものとする。図4は、本発明の第3の実施の形態におけるコンパイル装置の処理手順を説明するための図である。JITコンパイラは、一般的にはJava登録商標のようなインタープリタ環境で用いられることが多い。ハードウェアに依存しない中間コードユーザプログラムを1命令ずつ逐次解釈実行、すなわちインタープリト処理する代わりに、たとえば、関数単位を1回のコンパイル単位として、関数実行直前にコンパイルを行ない、コンパイル結果の命令コードに分岐するといったメカニズムを採用する。また、対象とするCPUは、周波数の切り替え命令で動作周波数を動的に切り替えることが可能な構成を有している。ここで、対象とするCPUとは、図1に示すCPU10と異なるCPUであってもよいし、同じであってもよい。まず、インタープリタは、ユーザプログラム中間コードを逐次解釈実行する、いわゆるインタープリト実行を行なうS11。そして、JITコンパイルの対象である関数Aへの分岐箇所まで到達したら、JITコンパイラを起動するS12。ここで、JITコンパイラの実装方法は特に規定されるものではなく、たとえば、対象のCPUとは別のハードウェアで実現するようにしてもよいし、インタープリタから呼び出される関数群として実現してもよい。次に、JITコンパイラは、関数Aを中間コードからCPU命令列に変換コンパイルしS13、第1の実施の形態で説明したのと同様に、使用されるCPU命令と動作周波数テーブル24とから関数Aの実行時のCPUの動作周波数Xを決定するS14。次に、JITコンパイラは、コンパイルによって生成されたCPU命令列の最初に動作周波数をXに切り替える周波数切り替え命令を挿入し、CPU命令列の最後に動作周波数を元に戻す周波数切り替え命令を挿入するS15。そして、関数Aのコンパイル結果コードに分岐するS16。CPUは、JITコンパイラが生成したCPU命令列を実行する。すなわち、CPUの動作周波数をXに切り替えた後、関数Aの処理を実行し、そして、CPUの動作周波数を元の周波数に戻す処理を行なうS17。この後、CPUによる処理は、JITコンパイラに戻る。JITコンパイラは、JIT起動した後の箇所に分岐する処理を行なうS18。そして、インタープリタは、次のユーザプログラム中間コードをインタープリト実行しS19、以下、同様の処理が行なわれる。以上説明したように、本実施の形態におけるコンパイル装置によれば、動的なコンパイル処理を行なうときに、関数の実行時のCPUの動作周波数を決定し、関数を実行するときにその動作周波数に切り替えるようにしたので、関数単位で最適な動作周波数に切り替えることができ、さらに処理速度の向上を図ることが可能となった。第4の実施の形態本発明の第4の実施の形態におけるコンパイル装置の構成は、図1に示す第1の実施の形態におけるコンパイル装置の構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、第3の実施の形態と同様に、インタープリタ、JITコンパイラは、ハードディスク13などにインストールされており、CPU10が適宜インタープリタやJITコンパイラをRAM12などにロードして実行するものとする。本実施の形態においては、動作周波数テーブル24が、チップ温度やCPU負荷などによって規定されており、現在のチップ温度やCPU負荷に応じて使用するCPU命令の範囲を決定してCPUの動作周波数を切り替えるものである。図5は、本発明の第4の実施の形態におけるコンパイル装置の処理手順を説明するための図である。第3の実施の形態と同様に、対象とするCPUは、周波数の切り替え命令で動作周波数を動的に切り替えることが可能な構成を有している。まず、インタープリタは、ユーザプログラム中間コードを逐次解釈実行する、いわゆるインタープリト実行を行なうS21。そして、JITコンパイルの対象である関数Aへの分岐箇所まで到達したら、JITコンパイラを起動するS22。次に、JITコンパイラは、現在のチップ温度やCPU負荷に応じて動作周波数テーブル24を検索することによりCPUの動作周波数Xを決定し、使用可能なCPU命令を抽出するS23。そして、JITコンパイラは、抽出したCPU命令を用いて、関数Aを中間コードからCPU命令列に変換コンパイルするS24。たとえば、CPUのチップ周辺に温度センサを設け、関数Aをコンパイルするときに温度センサによってチップ温度を計測するようにしてもよい。また、インタープリタやJITコンパイラなどと並行してCPU負荷を測定するプロセスを動作させておき、関数AをコンパイルするときにCPU負荷を抽出するようにしてもよい。次に、JITコンパイラは、コンパイルによって生成されたCPU命令列の最初に動作周波数をXに切り替える周波数切り替え命令を挿入し、CPU命令列の最後に動作周波数を元に戻す周波数切り替え命令を挿入するS25。そして、関数Aのコンパイル結果コードに分岐するS26。CPUは、JITコンパイラが生成したCPU命令列を実行する。すなわち、CPUの動作周波数をXに切り替えた後、関数Aの処理を実行し、そして、CPUの動作周波数を元の周波数に戻す処理を行なうS27。この後、CPUによる処理は、JITコンパイラに戻る。JITコンパイラは、JIT起動した後の箇所に分岐する処理を行なうS28。そして、インタープリタは、次のユーザプログラム中間コードをインタープリト実行しS29、以下、同様の処理が行なわれる。以上説明したように、本実施の形態におけるコンパイル装置によれば、チップ温度やCPU負荷に応じてCPUの動作周波数を決定し、関数を実行するときにその動作周波数に切り替えるようにしたので、関数単位で最適な動作周波数に切り替えることができ、さらに処理速度の向上を図ることが可能となった。今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。