(57)【要約】【課題】単一のＣＰＵ用のソフトウェアを用い、かつ、消費電力を低減できる携帯端末装置及びソフトウェア処理方法を提供すること。【解決手段】第１の命令セットに含まれる命令を実行可能な高性能ＣＰＵ３０、及び第２の命令セットに含まれる命令を実行可能な低性能ＣＰＵ４１を有する携帯電話機１は、第１の命令セットに基づくソフトウェアを記憶するメモリ７０と、ソフトウェアから取り出されたコードを、第２の命令セットに基づくコードへ変換するコード変換部４０２とを備え、高性能ＣＰＵ３０は、ソフトウェアから取り出されたコードを、第１の命令セットに含まれる命令へデコードするデコード部３０２を有し、低性能ＣＰＵ４１は、コード変換部４０２により変換されたコードを、第２の命令セットに含まれる命令へデコードするデコード部４０３を有する。【選択図】図２
2012244468.tif 000002
【特許請求の範囲】
【請求項１】
第１の命令セットに含まれる命令を実行可能な第１のＣＰＵ、及び第２の命令セットに含まれる命令を実行可能な第２のＣＰＵを有する携帯端末装置であって、
前記第１の命令セットに基づくソフトウェアを記憶する第１のメモリと、
前記ソフトウェアから取り出されたコードを、前記第２の命令セットに基づくコードへ変換する変換部と、を備え、
前記第１のＣＰＵは、前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第１のデコード部を有し、
前記第２のＣＰＵは、前記変換部により変換されたコードを、前記第２の命令セットに含まれる命令へデコードする第２のデコード部を有する携帯端末装置。
【請求項２】
前記変換部は、前記第２のＣＰＵに含まれる請求項１に記載の携帯端末装置。
【請求項３】
前記変換部は、前記第１のＣＰＵ及び前記第２のＣＰＵの外部に設けられる請求項１に記載の携帯端末装置。
【請求項４】
前記第１の命令セットに基づくコードと前記第２の命令セットに基づくコードとが対応付けられた変換データを記憶する第２のメモリを備え、
前記変換部は、前記変換データに基づいて、前記第１の命令セットに基づくコードを前記第２の命令セットに基づくコードへ変換する請求項１から請求項３のいずれか１項に記載の携帯端末装置。
【請求項５】
第１の命令セットに含まれる命令を実行可能な第１のＣＰＵ、及び第２の命令セットに含まれる命令を実行可能な第２のＣＰＵを有する携帯端末装置であって、
前記第１の命令セットに基づくソフトウェアを記憶する第１のメモリを備え、
前記第１のＣＰＵは、前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第１のデコード部を有し、
前記第２のＣＰＵは、前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第３のデコード部と、
前記第１の命令セットに含まれる命令を、前記第２の命令セットに含まれる命令へ変換する変換部と、を有する携帯端末装置。
【請求項６】
前記第１の命令セットに含まれる命令と前記第２の命令セットに含まれる命令とが対応付けられた変換データを記憶する第２のメモリを備え、
前記変換部は、前記変換データに基づいて、前記第１の命令セットに含まれる命令を、前記第２の命令セットに含まれる命令へ変換する請求項５に記載の携帯端末装置。
【請求項７】
前記ソフトウェアの種類に基づいて、前記第１のＣＰＵにより実行するか、前記第２のＣＰＵにより実行するかを決定する請求項１から請求項６のいずれか１項に記載の携帯端末装置。
【請求項８】
無線通信部を備え、
前記無線通信部が無線通信の待ち受け状態、又は音声通話状態の場合、前記第２のＣＰＵにより実行すると決定する請求項７に記載の携帯端末装置。
【請求項９】
前記第１のＣＰＵにより実行すると決定された場合、前記第２のＣＰＵは省電力モードへ移行し、前記第２のＣＰＵにより実行すると決定された場合、前記第１のＣＰＵは省電力モードへ移行する請求項７又は請求項８に記載の携帯端末装置。
【請求項１０】
前記第１のＣＰＵは、前記第２のＣＰＵにより実行することを決定した場合、前記省電力モードへ移行すると共に、前記第２のＣＰＵへ省電力モードから復帰するよう通知する請求項９に記載の携帯端末装置。
【請求項１１】
前記第１のＣＰＵは、前記第２のＣＰＵよりも高性能である請求項７から請求項１０のいずれか１項に記載の携帯端末装置。
【請求項１２】
前記第２のＣＰＵは、通信プロトコルを処理するチップセットに設けられている請求項１１に記載の携帯端末装置。
【請求項１３】
第１の命令セットに含まれる命令を実行可能な第１のＣＰＵ、及び第２の命令セットに含まれる命令を実行可能な第２のＣＰＵを有する携帯端末装置が、前記第１の命令セットに基づいて記憶されているソフトウェアを処理するソフトウェア処理方法であって、
前記ソフトウェアを前記第１のＣＰＵで処理する場合、
前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第１のデコードステップを含み、
前記ソフトウェアを前記第２のＣＰＵで処理する場合、
前記ソフトウェアから取り出されたコードを、前記第２の命令セットに基づくコードへ変換する変換ステップと、
前記変換ステップで変換された前記第２の命令セットに基づくコードを、前記第２の命令セットに含まれる命令へデコードする第２のデコードステップと、を含むソフトウェア処理方法。
【請求項１４】
第１の命令セットに含まれる命令を実行可能な第１のＣＰＵ、及び第２の命令セットに含まれる命令を実行可能な第２のＣＰＵを有する携帯端末装置が、前記第１の命令セットに基づいて記憶されているソフトウェアを処理するソフトウェア処理方法であって、
前記ソフトウェアを前記第１のＣＰＵで処理する場合、
前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第１のデコードステップを含み、
前記ソフトウェアを前記第２のＣＰＵで処理する場合、
前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第３のデコードステップと、
前記第１の命令セットに含まれる命令を、前記第２の命令セットに含まれる命令へ変換する変換ステップと、を含むソフトウェア処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＰＵを有する携帯端末装置及びソフトウェア処理方法に関する。
【背景技術】
【０００２】
従来、実行可能な命令セットが異なる複数のＣＰＵを有するマルチコア構成の電子機器において、各ＣＰＵは、各々に対応するソフトウェアを格納するメモリを有することが多い。この場合、各ＣＰＵは、各メモリから取り出したコードをデコードし、デコードされた命令に基づく処理を実行する。これらのデコードされた命令は、各ＣＰＵでのみ処理可能である。
【０００３】
具体的には、例えば、図１３に示すように、２つのＣＰＵを有する携帯端末装置１ｃは構成される。携帯端末装置１ｃは、操作部１１、表示部２１、音声部６０等の装置全体を制御する高性能ＣＰＵ３０ｃの他、無線通信部５０の無線通信プロトコルを処理するＢＢＩＣ（Ｂａｓｅ  Ｂａｎｄ  ＩＣ）４２と共にチップセット４０ｃに設けられた低性能ＣＰＵ４１ｃを備えている。高性能ＣＰＵ３０ｃは、メモリ７０ｃから高性能ＣＰＵ３０ｃ用のソフトウェア（Ｓ／Ｗ）を取得（フェッチ）し、デコード部３０２によりデコードされた命令を実行する。また、低性能ＣＰＵ４１ｃは、メモリ８０から低性能ＣＰＵ４１ｃ用のソフトウェアを取得し、デコード部４０３によりデコードされた命令を実行する。
【０００４】
このような状況において、第１のＣＰＵに接続されているメモリに第２のＣＰＵ用の分割圧縮プログラムを格納し、第１のＣＰＵから第２のＣＰＵへ転送することにより、メモリの個数を削減することが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２６３１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、２つのＣＰＵに性能差がある場合、高性能ＣＰＵは、処理速度が速いが消費電力が大きい。これは、各ＣＰＵのクロック周波数を同等に調整した場合も同様である。図１４は、相対的に性能差のある２つのＣＰＵを同一のクロック周波数（５７．６ＭＨｚ）で動作させた場合の電力を比較した結果である。
【０００７】
したがって、メモリ点数及びソフトウェアの種類を削減し、高性能ＣＰＵ用のソフトウェアのみを用いた場合、低性能ＣＰＵで十分に実行可能な処理をも高性能ＣＰＵで実行することとなる。その結果、消費電力が高まり、特に蓄電量が限られている携帯端末装置の場合、使用可能時間が短くなってしまう。
例えば、上述のチップセット４０ｃの機能は、ほぼ固定化されているのに対して、携帯端末装置の高機能化に伴い、高性能ＣＰＵ３０ｃの性能が向上すると、２つのＣＰＵの性能差は拡大するため、消費電力の増大も著しい。
【０００８】
本発明は、単一のＣＰＵ用のソフトウェアを用い、かつ、消費電力を低減できる携帯端末装置及びソフトウェア処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る携帯端末装置は、第１の命令セットに含まれる命令を実行可能な第１のＣＰＵ、及び第２の命令セットに含まれる命令を実行可能な第２のＣＰＵを有する携帯端末装置であって、前記第１の命令セットに基づくソフトウェアを記憶する第１のメモリと、前記ソフトウェアから取り出されたコードを、前記第２の命令セットに基づくコードへ変換する変換部と、を備え、前記第１のＣＰＵは、前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第１のデコード部を有し、前記第２のＣＰＵは、前記変換部により変換されたコードを、前記第２の命令セットに含まれる命令へデコードする第２のデコード部を有する。
【００１０】
また、前記変換部は、前記第２のＣＰＵに含まれることが好ましい。
【００１１】
また、前記変換部は、前記第１のＣＰＵ及び前記第２のＣＰＵの外部に設けられることが好ましい。
【００１２】
また、本発明に係る携帯端末装置は、前記第１の命令セットに基づくコードと前記第２の命令セットに基づくコードとが対応付けられた変換データを記憶する第２のメモリを備え、前記変換部は、前記変換データに基づいて、前記第１の命令セットに基づくコードを前記第２の命令セットに基づくコードへ変換することが好ましい。
【００１３】
本発明に係る携帯端末装置は、第１の命令セットに含まれる命令を実行可能な第１のＣＰＵ、及び第２の命令セットに含まれる命令を実行可能な第２のＣＰＵを有する携帯端末装置であって、前記第１の命令セットに基づくソフトウェアを記憶する第１のメモリを備え、前記第１のＣＰＵは、前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第１のデコード部を有し、前記第２のＣＰＵは、前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第３のデコード部と、前記第１の命令セットに含まれる命令を、前記第２の命令セットに含まれる命令へ変換する変換部と、を有する。
【００１４】
また、本発明に係る携帯端末装置は、前記第１の命令セットに含まれる命令と前記第２の命令セットに含まれる命令とが対応付けられた変換データを記憶する第２のメモリを備え、前記変換部は、前記変換データに基づいて、前記第１の命令セットに含まれる命令を、前記第２の命令セットに含まれる命令へ変換することが好ましい。
【００１５】
また、本発明に係る携帯端末装置は、前記ソフトウェアの種類に基づいて、前記第１のＣＰＵにより実行するか、前記第２のＣＰＵにより実行するかを決定することが好ましい。
【００１６】
また、本発明に係る携帯端末装置は、無線通信部を備え、前記無線通信部が無線通信の待ち受け状態、又は音声通話状態の場合、前記第２のＣＰＵにより実行すると決定することが好ましい。
【００１７】
また、本発明に係る携帯端末装置は、前記第１のＣＰＵにより実行すると決定された場合、前記第２のＣＰＵは省電力モードへ移行し、前記第２のＣＰＵにより実行すると決定された場合、前記第１のＣＰＵは省電力モードへ移行することが好ましい。
【００１８】
また、前記第１のＣＰＵは、前記第２のＣＰＵにより実行することを決定した場合、前記省電力モードへ移行すると共に、前記第２のＣＰＵへ省電力モードから復帰するよう通知することが好ましい。
【００１９】
また、前記第１のＣＰＵは、前記第２のＣＰＵよりも高性能であることが好ましい。
【００２０】
また、前記第２のＣＰＵは、通信プロトコルを処理するチップセットに設けられていることが好ましい。
【００２１】
本発明に係るソフトウェア処理方法は、第１の命令セットに含まれる命令を実行可能な第１のＣＰＵ、及び第２の命令セットに含まれる命令を実行可能な第２のＣＰＵを有する携帯端末装置が、前記第１の命令セットに基づいて記憶されているソフトウェアを処理するソフトウェア処理方法であって、前記ソフトウェアを前記第１のＣＰＵで処理する場合、前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第１のデコードステップを含み、前記ソフトウェアを前記第２のＣＰＵで処理する場合、前記ソフトウェアから取り出されたコードを、前記第２の命令セットに基づくコードへ変換する変換ステップと、前記変換ステップで変換された前記第２の命令セットに基づくコードを、前記第２の命令セットに含まれる命令へデコードする第２のデコードステップと、を含む。
【００２２】
本発明に係るソフトウェア処理方法は、第１の命令セットに含まれる命令を実行可能な第１のＣＰＵ、及び第２の命令セットに含まれる命令を実行可能な第２のＣＰＵを有する携帯端末装置が、前記第１の命令セットに基づいて記憶されているソフトウェアを処理するソフトウェア処理方法であって、前記ソフトウェアを前記第１のＣＰＵで処理する場合、前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第１のデコードステップを含み、前記ソフトウェアを前記第２のＣＰＵで処理する場合、前記ソフトウェアから取り出されたコードを、前記第１の命令セットに含まれる命令へデコードする第３のデコードステップと、前記第１の命令セットに含まれる命令を、前記第２の命令セットに含まれる命令へ変換する変換ステップと、を含む。
【発明の効果】
【００２３】
本発明によれば、携帯端末装置において、単一のＣＰＵ用のソフトウェアを用い、かつ、消費電力を低減できる。
【図面の簡単な説明】
【００２４】
【図１】第１実施形態に係る携帯電話機の外観斜視図である。
【図２】第１実施形態に係る携帯電話機の機能を示すブロック図である。
【図３】第１実施形態に係る高性能ＣＰＵが動作中である場合の機能ブロックの関連を示す図である。
【図４】第１実施形態に係る低性能ＣＰＵが動作中である場合の機能ブロックの関連を示す図である。
【図５】第１実施形態に係る低性能ＣＰＵによるソフトウェアの実行時の処理を示すフローチャートである。
【図６】第１実施形態に係る低性能ＣＰＵから高性能ＣＰＵへ処理主体が変更される例を示すシーケンス図である。
【図７】第２実施形態に係る携帯電話機の機能を示すブロック図である。
【図８】第２実施形態に係る高性能ＣＰＵが動作中である場合の機能ブロックの関連を示す図である。
【図９】第２実施形態に係る低性能ＣＰＵが動作中である場合の機能ブロックの関連を示す図である。
【図１０】第２実施形態に係る低性能ＣＰＵによるソフトウェアの実行時の処理を示すフローチャートである。
【図１１】第３実施形態に係る携帯電話機の機能を示すブロック図である。
【図１２】第３実施形態に係る低性能ＣＰＵによるソフトウェアの実行時の処理を示すフローチャートである。
【図１３】従来の携帯端末装置の機能を示すブロック図である。
【図１４】低性能ＣＰＵと高性能ＣＰＵの電力を比較した結果を示す図である。
【発明を実施するための形態】
【００２５】
＜第１実施形態＞
以下、本発明の好適な実施形態の一例である第１実施形態について説明する。なお、本実施形態では、携帯端末装置の一例として携帯電話機１を説明する。
【００２６】
図１は、本実施形態に係る携帯電話機１の外観斜視図である。
なお、図１は、いわゆる折り畳み型の携帯電話機の形態を示しているが、本発明に係る携帯電話機の形態はこれに限られない。例えば、両筐体を重ね合わせた状態から一方の筐体を一方向にスライドさせるようにしたスライド式や、重ね合せ方向に沿う軸線を中心に一方の筐体を回転させるようにした回転式（ターンタイプ）や、操作部と表示部とが１つの筐体に配置され、連結部を有さない形式（ストレートタイプ）でもよい。
【００２７】
携帯電話機１は、操作部側筐体２と、表示部側筐体３と、を備えて構成される。操作部側筐体２は、表面部１０に、操作部１１と、携帯電話機１の使用者が通話時や音声認識アプリケーションを利用時に発した音声が入力されるマイク１２と、を備えて構成される。操作部１１は、各種設定機能や電話帳機能やメール機能等の各種機能を作動させるための機能設定操作ボタン１３と、電話番号の数字やメールの文字等を入力するための入力操作ボタン１４と、各種操作における決定やスクロール等を行う決定操作ボタン１５と、から構成されている。
【００２８】
また、表示部側筐体３は、表面部２０に、各種情報を表示するための表示部２１と、通話の相手側の音声を出力するレシーバ２２と、を備えて構成されている。
【００２９】
また、操作部側筐体２の上端部と表示部側筐体３の下端部とは、ヒンジ機構４を介して連結されている。また、携帯電話機１は、ヒンジ機構４を介して連結された操作部側筐体２と表示部側筐体３とを相対的に回転することにより、操作部側筐体２と表示部側筐体３とが互いに開いた状態（開状態）にしたり、操作部側筐体２と表示部側筐体３とを折り畳んだ状態（閉状態）にしたりできる。
【００３０】
図２は、本実施形態に係る携帯電話機１の機能を示すブロック図である。
携帯電話機１は、操作部１１と、表示部２１と、高性能ＣＰＵ３０（第１のＣＰＵ）と、チップセット４０と、無線通信部５０と、音声部６０と、メモリ７０（第１のメモリ、第２のメモリ）とを備える。また、チップセット４０は、低性能ＣＰＵ４１（第２のＣＰＵ）とＢＢＩＣ４２とを備える。なお、高性能ＣＰＵ３０は、低性能ＣＰＵ４１よりも高性能である。例えば、高性能ＣＰＵ３０は、低性能ＣＰＵ４１よりもクロック周波数が高い。
【００３１】
高性能ＣＰＵ３０及び低性能ＣＰＵ４１は、携帯電話機１の全体を制御しており、例えば、表示部２１、ＢＢＩＣ４２、音声部６０等の各部に対して所定の制御を行う。また、各ＣＰＵは、操作部１１、ＢＢＩＣ４２等から入力を受け付けて、各種処理を実行する。そして、各ＣＰＵは、処理実行の際には、メモリ７０を制御し、各種プログラム及びデータの読み出し、及びデータの書き込みを行う。
【００３２】
ここで、高性能ＣＰＵ３０は、高性能ＣＰＵ用の命令セット（第１の命令セット）を実行可能であり、低性能ＣＰＵ４１は、低性能ＣＰＵ用の命令セット（第２の命令セット）を実行可能である。
【００３３】
無線通信部５０は、所定の使用周波数帯（例えば、２ＧＨｚ帯や１．５ＧＨｚ帯等）で外部装置（基地局）と通信を行う。そして、ＢＢＩＣ４２は、アンテナより受信した信号を復調処理し、処理後の信号を各ＣＰＵに供給し、また、各ＣＰＵから供給された信号を変調処理し、アンテナから外部装置へ送信する。
【００３４】
音声部６０は、各ＣＰＵの制御に従って、ＢＢＩＣ４２から供給された信号に対して所定の音声処理を行い、処理後の信号をレシーバ２２に出力する。レシーバ２２は、音声部６０から供給された信号を外部に出力する。なお、この信号は、レシーバ２２に代えて、又はレシーバ２２と共に、スピーカ（図示せず）から出力されるとしてもよい。また、音声部６０は、各ＣＰＵの制御に従って、マイク１２から入力された信号を処理し、処理後の信号をＢＢＩＣ４２に出力する。ＢＢＩＣ４２は、音声部６０から供給された信号に所定の処理を行い、処理後の信号を、無線通信部５０を介してアンテナより出力する。
【００３５】
メモリ７０は、例えば、ワーキングメモリを含み、各ＣＰＵによる演算処理に利用される。また、本実施形態に係る各種プログラム等を記憶する。また、メモリ７０（第１のメモリ）は、携帯電話機１の各種機能を実行するためのソフトウェアを記憶しており、このソフトウェアは、高性能ＣＰＵ３０用の命令セットに基づくマシン語コードにより記述されている。
【００３６】
さらに、メモリ７０（第２のメモリ）は、後述のコード変換部４０２が参照する変換データを記憶している。この変換データは、高性能ＣＰＵ３０用のコード（第１のコード）と、この第１のコードに基づいて高性能ＣＰＵ３０が実行するのと同一の処理を低性能ＣＰＵ４１が実行するための、低性能ＣＰＵ４１用の命令セットに基づくコード（第２のコード）とが対応付けられたデータである。
【００３７】
次に各ＣＰＵの機能を詳述する。
高性能ＣＰＵ３０は、決定部３０１と、デコード部３０２（第１のデコード部）とを備える。また、低性能ＣＰＵ４１は、決定部４０１と、コード変換部４０２（変換部）と、デコード部４０３（第２のデコード部）とを備える。そして、高性能ＣＰＵ３０が動作中は、低性能ＣＰＵ４１は省電力モード（スリープ状態）になり、低性能ＣＰＵ４１が動作中は、高性能ＣＰＵ３０が省電力モード（スリープ状態）になるものとする。
【００３８】
決定部３０１又は決定部４０１は、実行指示されたソフトウェアの種類に基づいて、高性能ＣＰＵ３０により高性能ＣＰＵ３０用の命令セットを実行するか、低性能ＣＰＵ４１により低性能ＣＰＵ４１用の命令セットを実行するかを決定する。この決定部３０１又は決定部４０１により、高性能ＣＰＵ３０により高性能ＣＰＵ３０用の命令セットを実行すると決定された場合、低性能ＣＰＵ４１は省電力モードへ移行し、低性能ＣＰＵ４１により低性能ＣＰＵ４１用の命令セットを実行すると決定された場合、高性能ＣＰＵ３０は省電力モードへ移行する。
省電力モードへの移行のタイミングとして、後述するが、高性能ＣＰＵ３０又は低性能ＣＰＵ４１が割込を検出し、この割込に対する処理が他方のＣＰＵにより処理されるべきものとして決定部３０１又は決定部４０１により決定されると、他方のＣＰＵへその旨を通知し、自ＣＰＵは省電力モードへ移行する。
【００３９】
具体的には、例えば、決定部３０１又は決定部４０１は、無線通信部５０が無線通信の待ち受け状態、又は音声通話状態の場合、低性能ＣＰＵ４１を動作させて低性能ＣＰＵ４１用の命令セットを実行すると決定する。
【００４０】
デコード部３０２は、メモリ７０内のソフトウェアから取り出された高性能ＣＰＵ３０用の第１のコードを、高性能ＣＰＵ３０用の命令セットに含まれる命令へデコードする。
【００４１】
コード変換部４０２は、ソフトウェアから取り出された高性能ＣＰＵ３０用の第１のコードを、低性能ＣＰＵ４１用の命令セットに基づく第２のコードへ変換する。
このとき、コード変換部４０２は、メモリ７０（第２のメモリ）に記憶されている第１のコードと第２のコードとが対応付けられた変換データに基づいて、第１のコードを第２のコードへ変換する。なお、第２のメモリは、メモリ７０とは別に設けられてもよい。
【００４２】
デコード部４０３は、コード変換部４０２により変換された第２のコードを、低性能ＣＰＵ４１用の命令セットに含まれる命令へデコードする。
【００４３】
図３は、本実施形態に係る高性能ＣＰＵ３０が動作中である場合の機能ブロックの関連を示す図である。
低性能ＣＰＵ４１用の命令セットでは処理できない、又は低性能ＣＰＵ４１では処理速度が実用的でない場合、高性能ＣＰＵ３０が動作して低性能ＣＰＵ４１は省電力モードに移行する。このとき、高性能ＣＰＵ３０は、メモリ７０の高性能ＣＰＵ３０用のソフトウェアを利用して、操作部１１、表示部２１、ＢＢＩＣ４２、音声部６０等を制御する。
【００４４】
図４は、本実施形態に係る低性能ＣＰＵ４１が動作中である場合の機能ブロックの関連を示す図である。
低性能ＣＰＵ４１用の命令セットで処理でき、かつ、低性能ＣＰＵ４１で処理速度が実用的である場合、低性能ＣＰＵ４１が動作して高性能ＣＰＵ３０は省電力モードに移行する。このとき、低性能ＣＰＵ４１は、メモリ７０の高性能ＣＰＵ３０用のソフトウェアを低性能ＣＰＵ４１用の命令セットに変換し、操作部１１、表示部２１、ＢＢＩＣ４２、音声部６０等を制御する。
【００４５】
図５は、本実施形態に係る低性能ＣＰＵ４１によるソフトウェアの実行時の処理を示すフローチャートである。
【００４６】
ステップＳ１において、低性能ＣＰＵ４１は、メモリ７０から、高性能ＣＰＵ３０用の第１のコードをフェッチする。
【００４７】
ステップＳ２において、低性能ＣＰＵ４１（コード変換部４０２）は、ステップＳ１でフェッチした第１のコードを、変換データに基づいて、低性能ＣＰＵ４１用の第２のコードへ変換する。
【００４８】
ステップＳ３において、低性能ＣＰＵ４１（デコード部４０３）は、ステップＳ２で変換された第２のコードを、低性能ＣＰＵ４１用の第２の命令セットに含まれる命令へデコードする。
【００４９】
ステップＳ４において、低性能ＣＰＵ４１は、ステップＳ３でデコードされた命令を実行する。
【００５０】
図６は、本実施形態に係る低性能ＣＰＵ４１から高性能ＣＰＵ３０へ処理主体が変更される例を示すシーケンス図である。
この例は、例えば、携帯電話機１が通信の待ち受け中に、操作部１１を介して、ブラウザ起動の指示入力を受け付けた場合が当てはまる。
【００５１】
ステップＳ１１において、低性能ＣＰＵ４１は、通信の待ち受け中に、操作部１１を介して、ブラウザ起動の割込を検出する。
【００５２】
ステップＳ１２において、低性能ＣＰＵ４１は、割込、外部デバイス等の信号を切断し、高性能ＣＰＵ３０へ切り替える。
【００５３】
ステップＳ１３において、低性能ＣＰＵ４１は、チップセット４０内のＢＢＩＣ４２を、低性能ＣＰＵ４１の制御によらない自走モードに設定する。また、他にも自走が必要なデバイスを自走モードに設定する。
【００５４】
ステップＳ１４において、低性能ＣＰＵ４１は、割込キー設定等の設定情報を共有メッセージボックス（例えば、メモリ７０）に書きこむ。
【００５５】
ステップＳ１５において、低性能ＣＰＵ４１は、高性能ＣＰＵ３０への割込処理により、高性能ＣＰＵ３０をスリープ状態から復帰させる。
【００５６】
ステップＳ１６において、低性能ＣＰＵ４１は、消費電力を抑制するため、スリープ状態へ遷移する。
【００５７】
ステップＳ１７において、高性能ＣＰＵ３０は、共有メッセージボックスから、ステップＳ１４で書き込まれた設定情報を読み込む。
【００５８】
ステップＳ１８において、高性能ＣＰＵ３０は、読み込んだ設定情報に基づいて、割込、外部デバイス、ＢＢＩＣ等の制御を開始し、ブラウザ起動等、要求された機能を実行する。
【００５９】
以上のように、本実施形態によれば、携帯電話機１は、高性能ＣＰＵ３０用のソフトウェアを低性能ＣＰＵ４１により実行させる。したがって、携帯電話機１は、消費電力が相対的に低い低性能ＣＰＵ４１を極力用いることにより、消費電力を低減できる。
【００６０】
さらに、この低性能ＣＰＵ４１は、ＢＢＩＣ４２と共にチップセット４０に設けられている従来のＣＰＵであり、新たなハードウェアを設けることなく、消費電力の低減が実現される。また、低性能ＣＰＵ４１を使用するにあたり、低性能ＣＰＵ４１専用のソフトウェアを開発する必要がなくなるため、開発工数が削減される。
【００６１】
また、携帯電話機１は、第１のコードと第２のコードとが対応付けられた変換データによりコード変換を行うので、低性能ＣＰＵ４１のデコード部４０３が改修されることなく、容易に高性能ＣＰＵ３０用のソフトウェアを実行できる。
【００６２】
また、携帯電話機１は、決定部３０１及び決定部４０１の決定により、効率的に使用するＣＰＵを選択でき、さらに、高性能ＣＰＵ３０又は低性能ＣＰＵ４１のいずれかを省電力モード（スリープ状態）に移行させるので、一層消費電力を低減できる。
【００６３】
＜第２実施形態＞
以下、本発明の好適な実施形態の一例である第２実施形態について説明する。なお、第１実施形態と同様の構成については、同一の符号を付し、説明を省略又は簡略化する。
【００６４】
図７は、本実施形態に係る携帯電話機１ａの機能を示すブロック図である。
携帯電話機１ａは、操作部１１と、表示部２１と、高性能ＣＰＵ３０（第１のＣＰＵ）と、チップセット４０ａと、コード変換部４０２ａ（変換部）と、無線通信部５０と、音声部６０と、メモリ７０（第１のメモリ、第２のメモリ）とを備える。また、チップセット４０ａは、低性能ＣＰＵ４１ａ（第２のＣＰＵ）とＢＢＩＣ４２とを備える。
なお、第１実施形態とは、低性能ＣＰＵ４１ａの構成が異なり、新たなハードウェアとして、各ＣＰＵの外部にコード変換部４０２ａが設けられている。
【００６５】
低性能ＣＰＵ４１ａは、決定部４０１と、デコード部４０３（第２のデコード部）とを備える。各部は、第１実施形態と同一の機能を提供する。
【００６６】
コード変換部４０２ａは、第１実施形態のコード変換部４０２と同一の機能を有するハードウェアである。すなわち、コード変換部４０２ａは、メモリ７０に格納されているソフトウェアから取り出された高性能ＣＰＵ３０用の第１のコードを、低性能ＣＰＵ４１ａ用の命令セットに基づく第２のコードへ変換する。
【００６７】
このとき、コード変換部４０２は、メモリ７０（第２のメモリ）に記憶されている第１のコードと第２のコードとが対応付けられた変換データに基づいて、第１のコードを第２のコードへ変換する。なお、第２のメモリは、メモリ７０とは別に設けられてもよいし、コード変換部４０２ａに実装されてもよい。
【００６８】
図８は、本実施形態に係る高性能ＣＰＵ３０が動作中である場合の機能ブロックの関連を示す図である。
低性能ＣＰＵ４１ａ用の命令セットでは処理できない、又は低性能ＣＰＵ４１ａでは処理速度が実用的でない場合、コード変換部４０２ａは機能せず、高性能ＣＰＵ３０が動作して低性能ＣＰＵ４１ａは省電力モードに移行する。このとき、高性能ＣＰＵ３０は、メモリ７０の高性能ＣＰＵ３０用のソフトウェアを利用して、操作部１１、表示部２１、ＢＢＩＣ４２、音声部６０等を制御する。
【００６９】
図９は、本実施形態に係る低性能ＣＰＵ４１ａが動作中である場合の機能ブロックの関連を示す図である。
低性能ＣＰＵ４１ａ用の命令セットで処理でき、かつ、低性能ＣＰＵ４１ａで処理速度が実用的である場合、低性能ＣＰＵ４１ａが動作して高性能ＣＰＵ３０は省電力モードに移行する。このとき、低性能ＣＰＵ４１ａは、コード変換部４０２ａにより変換された第２のコードを低性能ＣＰＵ４１ａ用の命令にデコードして、操作部１１、表示部２１、ＢＢＩＣ４２、音声部６０等を制御する。
【００７０】
図１０は、本実施形態に係る低性能ＣＰＵ４１ａによるソフトウェアの実行時の処理を示すフローチャートである。
【００７１】
ステップＳ２１において、低性能ＣＰＵ４１ａは、メモリ７０から、コード変換部４０２ａを介して、低性能ＣＰＵ４１ａ用に変換済みの第２のコードをフェッチする。
【００７２】
ステップＳ２２において、低性能ＣＰＵ４１ａ（デコード部４０３）は、ステップＳ２１でフェッチされた第２のコードを、低性能ＣＰＵ４１ａ用の第２の命令セットに含まれる命令へデコードする。
【００７３】
ステップＳ２３において、低性能ＣＰＵ４１ａは、ステップＳ２２でデコードされた命令を実行する。
【００７４】
以上のように、本実施形態によれば、コード変換部４０２ａが各ＣＰＵの外部ハードウェアとして設けられたので、携帯電話機１ａは、低性能ＣＰＵ４１ａの処理負荷が低減される。
【００７５】
＜第３実施形態＞
以下、本発明の好適な実施形態の一例である第３実施形態について説明する。なお、第１実施形態又は第２実施形態と同様の構成については、同一の符号を付し、説明を省略又は簡略化する。
【００７６】
図１１は、本実施形態に係る携帯電話機１ｂの機能を示すブロック図である。
携帯電話機１ｂは、操作部１１と、表示部２１と、高性能ＣＰＵ３０（第１のＣＰＵ）と、チップセット４０ｂと、無線通信部５０と、音声部６０と、メモリ７０ｂ（第１のメモリ、第２のメモリ）とを備える。また、チップセット４０ｂは、低性能ＣＰＵ４１ｂ（第２のＣＰＵ）とＢＢＩＣ４２とを備える。
なお、第１実施形態とは、低性能ＣＰＵ４１ｂ及びメモリ７０ｂ（第２のメモリ）の構成が異なる。
【００７７】
低性能ＣＰＵ４１ｂは、決定部４０１と、デコード部４０３ｂ（第３のデコード部）と、命令変換部４０２ｂ（変換部）とを備える。なお、決定部４０１は、第１実施形態と同一の機能を提供する。
【００７８】
デコード部４０３ｂは、デコード部３０２と同様の機能を提供し、メモリ７０ｂ（第１のメモリ）内のソフトウェアから取り出された高性能ＣＰＵ３０用の第１のコードを、高性能ＣＰＵ３０用の第１の命令セットに含まれる命令へデコードする。
【００７９】
命令変換部４０２ｂは、高性能ＣＰＵ３０用の第１の命令セットに含まれる命令を、低性能ＣＰＵ４１ｂ用の第２の命令セットに含まれる命令へ変換する。
このとき、命令変換部４０２ｂは、メモリ７０ｂ（第２のメモリ）に記憶されている第１の命令セットと第２の命令セットとが対応付けられた変換データに基づいて、第１の命令セットに含まれる命令を第２の命令セットに含まれる命令へ変換する。なお、第２のメモリは、メモリ７０ｂとは別に設けられてもよい。
【００８０】
図１２は、本実施形態に係る低性能ＣＰＵ４１ｂによるソフトウェアの実行時の処理を示すフローチャートである。
【００８１】
ステップＳ３１において、低性能ＣＰＵ４１ｂは、メモリ７０ｂから、高性能ＣＰＵ３０用の第１のコードをフェッチする。
【００８２】
ステップＳ３２において、低性能ＣＰＵ４１ｂ（デコード部４０３ｂ）は、ステップＳ３１でフェッチされた第１のコードを、高性能ＣＰＵ３０用の第１の命令セットに含まれる命令へデコードする。
【００８３】
ステップＳ３３において、低性能ＣＰＵ４１ｂ（命令変換部４０２ｂ）は、ステップＳ３２でデコードされた第１の命令セットに含まれる命令を、変換データに基づいて、低性能ＣＰＵ４１ｂ用の第２の命令セットに含まれる命令へ変換する。
【００８４】
ステップＳ３４において、低性能ＣＰＵ４１ｂは、ステップＳ３３で変換された命令を実行する。
【００８５】
以上のように、本実施形態によれば、携帯電話機１ｂは、高性能ＣＰＵ３０用のソフトウェアを低性能ＣＰＵ４１ｂにより実行させる。したがって、携帯電話機１ｂは、消費電力が相対的に低い低性能ＣＰＵ４１ｂを極力用いることにより、消費電力を低減できる。
このとき、携帯電話機１ｂは、第１の命令セットと第２の命令セットとが対応付けられた変換データにより命令の変換を行うので、容易に高性能ＣＰＵ３０用のソフトウェアを実行できる。
【００８６】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【００８７】
本発明に係る携帯端末装置は、携帯電話機１には限られない。本発明は、ＰＨＳ（登録商標；Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ  ｐｈｏｎｅ  Ｓｙｓｔｅｍ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ゲーム機、ナビゲーション装置、パーソナルコンピュータ、通信機能に特化した通信専用モジュール等、様々な装置に適用可能である。
【００８８】
このとき、２つのＣＰＵが扱う命令セットは、互いに類似した命令を有し、例えば、データ転送、算術演算、論理演算、分岐等の命令種別について、類似したレジスタ構成を用いて相互変換可能であることが必要である。なお、例えば、高性能ＣＰＵにおけるシステム制御等のＣＰＵに特有の命令や、浮動小数点命令等の処理負荷の大きい高度な命令は、低性能ＣＰＵにおいて実行できる必要はなく、高性能ＣＰＵにて実行される。
【００８９】
また、このように低性能ＣＰＵ用に変換されない命令が含まれるソフトウェアを、低性能ＣＰＵで実行するように決定された場合、変換部においてエラー出力を行うこととしてよい。
【符号の説明】
【００９０】
１、１ａ、１ｂ  携帯電話機（携帯端末装置）
１１  操作部
２１  表示部
３０  高性能ＣＰＵ
４０、４０ａ、４０ｂ  チップセット
４１、４１ａ、４１ｂ  低性能ＣＰＵ
４２  ＢＢＩＣ
５０  無線通信部
６０  音声部
７０、７０ｂ  メモリ（第１のメモリ、第２のメモリ）
３０１  決定部
３０２  デコード部（第１のデコード部）
４０１  決定部
４０２、４０２ａ  コード変換部（変換部）
４０２ｂ  命令変換部（変換部）
４０３  デコード部（第２のデコード部）
４０３ｂ  デコード部（第３のデコード部）
【図１】
2012244468.tif 000003
【図２】
2012244468.tif 000004
【図３】
2012244468.tif 000005
【図４】
2012244468.tif 000006
【図５】
2012244468.tif 000007
【図６】
2012244468.tif 000008
【図７】
2012244468.tif 000009
【図８】
2012244468.tif 000010
【図９】
2012244468.tif 000011
【図１０】
2012244468.tif 000012
【図１１】
2012244468.tif 000013
【図１２】
2012244468.tif 000014
【図１３】
2012244468.tif 000015
【図１４】
2012244468.tif 000016