(57)【要約】  命令を実行するための処理システムは、アドレス情報と複数のデータビットＥ０〜ＥＮとを有する第１部（１１）を備える。一実施形態によると、各データビットＥ０〜ＥＮは、命令セット（例えばＶＬＩＷ）の第２部を形成する、対応するエレメント１３０〜１３Ｎを直接選択する。このようにして、第１部（１１）は、ＮＯＰ命令を備えないエレメントのみを選択するために使用され、これにより、電力が不必要に消費されることを避ける。代わりの実施形態によると、第２部（１３）内の、異なるエレメントのグループを、データビットＥ０〜ＥＮを使用して、第１部（１１）に符号化された番号によって選択してもよい。好ましくは、これらの異なるグループは、プログラム内で使用される可能性が最も高い組み合わせを反映する。
2009516254.tif 000002
【特許請求の範囲】
【請求項１】
命令の第１部が、命令の第２部の実行を生じさせ、前記第２部は、複数のエレメントを備えている命令を、プロセッサにおいて実行する方法であって、
−前記命令の第１部をフェッチするステップと、
−前記命令の前記第１部に符号化されている第１の情報から、どのエレメントが前記命令の前記第２部を構成しているかを識別するステップと、
−前記命令の前記第１部に符号化されている第２の情報から、識別された前記エレメントのどれがノーオペレーション、ＮＯＰ命令に対応するかを識別するステップと、
−前記命令の前記第２部を形成する前記エレメントを、ノーオペレーション、ＮＯＰ命令に対応するエレメントを除いて、フェッチするステップと、
を備えることを特徴とする方法。
【請求項２】
前記第１部に符号化された前記第２の情報は、複数のデータビットを備え、各データビットは、前記命令の前記第２部の関連するエレメントを選択するための情報を提供する、ことを特長とする請求項１に記載の方法。
【請求項３】
前記第１部に符号化された前記第２の情報は、複数のデータビットを備え、組み合わされた前記データビットが、前記命令の前記第２部を形成する関連するエレメントのグループを表す、ことを特長とする請求項１に記載の方法。
【請求項４】
前記第２部内のエレメントの各グループは、プログラムの実行の間に頻繁に使用されるエレメントのグループに関連する、ことを特長とする請求項３に記載の方法。
【請求項５】
前記第２部は、超長命令語、ＶＬＩＷ（very long instruction word）であり、ＶＬＩＷ内の各エレメントは、プロセッサの機能エレメントに対する命令を形成する、ことを特長とする請求項１乃至請求項４のいずれかに記載の方法。
【請求項６】
前記第１部は、第１のメモリに格納され、前記第２部は、第２のメモリに格納される、ことを特長とする請求項１乃至請求項５のいずれかに記載の方法。
【請求項７】
命令の第１部が、命令の第２部の実行を生じさせる、命令を実行するための処理システムであって、
−前記命令の第１部をフェッチするための手段と、
−前記命令の前記第１部に含まれている第１の情報から、どのエレメントが前記命令の前記第２部を構成しているかを識別するための手段と、
−前記命令の前記第１部に符号化されている第２の情報から、識別された前記エレメントのどれがノーオペレーション、ＮＯＰ命令に対応するかを識別するための手段と、
−前記命令の前記第２部を形成する前記エレメントをフェッチするための手段であって、ノーオペレーション、ＮＯＰ命令に対応するエレメントを除外してフェッチように構成されている手段と、
を備えることを特徴とするシステム。
【請求項８】
前記第１部に符号化された前記第２の情報は、複数のデータビットを備え、前記フェッチするための手段は、対応するデータビットに基づいて、前記命令の前記第２部の関連するエレメントを選択するように構成されている、ことを特長とする請求項７に記載のシステム。
【請求項９】
前記第１部に符号化された前記第２の情報は、複数のデータビットを備え、前記フェッチするための手段は、前記第１部内の前記複数のデータビットに基づいて、前記命令の前記第２部を形成するエレメントのグループを選択するように構成されている、ことを特長とする請求項７に記載のシステム。
【請求項１０】
前記命令の前記第２部を形成するエレメントのグループを選択するためのデコードロジックをさらに備える、ことを特長とする請求項７に記載のシステム。
【請求項１１】
前記第２部は、超長命令語、ＶＬＩＷであり、ＶＬＩＷ内の各エレメントは、プロセッサの機能エレメントに対する命令を形成する、ことを特長とする請求項７乃至請求項１０のいずれかに記載のシステム。
【請求項１２】
前記命令の前記第１部を格納するための第１のメモリと、前記命令の前記第２部を格納するための第２のメモリと、をさらに備えることを特長とする請求項７乃至請求項１１のいずれかに記載のシステム。
【請求項１３】
データ処理システムにおいて使用するための命令であって、
前記命令は、複数のエレメントを有する第２部の実行を生じさせる第１部を備え、
前記命令の前記第１部は、複数のデータビットを備え、
前記複数のデータビットは、前記第２部内での実行から除外されるべきノーオペレーション、ＮＯＰ命令を識別する、
ことを特徴とする命令。
【請求項１４】
請求項７乃至請求項１２のいずれかに記載の処理システムを備えるデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、命令を実行するための処理システムおよび方法、特に、２つ以上の部分でフェッチされる命令に対する電力削減の利点を有する処理システムおよび方法に関する。
【０００２】
本発明は、さらに、このような処理システムを備える携帯電話、ＰＤＡなどのデバイスに関する。
【背景技術】
【０００３】
プロセッサベースの装置の電力効率は、特にバッテリ駆動される装置において、ますます重要になっている。電力の使用を減少させるために、数多くの技術が用いられてきた。これらの技術は、より低い電力を使用するようにプロセッサの回路を設計すること、または電力の使用の管理を可能にするやり方でプロセッサを設計すること、を含む。また、所与のプロセッサアーキテクチャにおいて、そのプログラミングを最適化することによって、電力消費を節約することができる。
【０００４】
プロセッサアーキテクチャ、およびプロセッサアーキテクチャ向けの関連する命令セットを設計する際に、命令レベルの並行度を記述するために必要なビットの数と、プログラムメモリから並行してフェッチできるビットの数との間で、トレードオフを行う場合がある。
【０００５】
いくつかのプロセッサアーキテクチャにおいて、命令が所与の長さを超える場合、サイクルペナルティが起こり得る。従って、いくつかのプロセッサアーキテクチャは、命令圧縮を使用する。しかし、命令の圧縮に費用がかかりすぎる場合、可能な代替案は、制限された並行度による小さな命令向けのタイプと、より大きな並行度による広い命令向けの第２のタイプの、２つのタイプのプログラムメモリを使用することである。広い命令をフェッチすべきであることを示すために、特別な小さな命令、すなわち第１部を用いて、広い命令、すなわち第２部に対するフェッチがトリガされる。
【０００６】
このようなシステムの例が、米国特許第５，７２４，５３５号に開示されており、このシステムでは、プログラムメモリ内の命令が、第２のメモリ内でルックアップを行うことによって、ＶＬＩＷ（Very Long Instruction Word）命令に拡張される仕組みが説明されている。
【０００７】
図１は、このようなＶＬＩＷプロセッサ１の例を示しており、プロセッサ１は、異なる機能ユニット３０〜３ｎを使用して、複数の命令をプロセッサ内で並行して処理する、その能力を特徴としている。第２のメモリ５に格納されたＶＬＩＷ命令は、複数のエレメントを備え、各エレメントは、プロセッサ１内で各機能ユニット３０〜３ｎを制御する。動作の間、第２のメモリ５向けのアドレスは、メインメモリプログラム７内の命令から得られる。デコーダ９が設けられ、メインプログラムメモリ７から、第２のメモリ５内でのルックアップを要求する特定の命令を検出する。
【０００８】
図２は、命令、すなわち第１部１１が、メインメモリ７において、第２のメモリ５に格納されたＶＬＩＷ命令、すなわち第２部１３に対するアドレス情報を、どのように提供するかを示している。ＶＬＩＷ命令１３は、複数のエレメント１３０〜１３Ｎを含む。この命令を処理する方法の、より詳細な態様は、Ｐ・キービッツ（Kievits）らによる、１９９８年のＩＣＳＰＡＴ会議での論文、“テレコムベースバンド処理向けのＲ．Ｅ．Ａ．Ｌ． ＤＳＰ技術（R.E.A.L. DSP Technology for Telecom Baseband Processing）”に見出すことができる。
【０００９】
このやり方で、ＶＬＩＷ命令を、図１の各機能ユニット３０〜３ｎに、並行して出力することができる。各処理サイクルで全ての機能ユニットが使用される、完全に並行する動作を持つことは、まれである。より一般的には、多くのＶＬＩＷ命令が、サブエレメントのいくつかにおいて、ＮＯＰ（No Operation）命令を含み、ＮＯＰ命令は、この処理サイクルの間に、対応する機能ユニットが動作されないことを示している。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従って、圧縮が使用されない場合、第２部によって可能とされる並行度は、常に完全に活用されないかもしれず、それは、第２部のエレメント１３０〜１３Ｎが、ＮＯＰ（すなわちNo Operation）を含むからである。従来技術において、第２部は、ＮＯＰを含む命令のエレメントでさえも、メモリから完全にフェッチされる。このことは、必要とされるよりも大きな電力を消費する不利益を有する。
【００１１】
本発明の目的は、ＮＯＰのフェッチングに関連する不要な電力消費が回避される、処理システムおよび方法を提供することである。
【課題を解決するための手段】
【００１２】
本発明の第１の態様によると、命令の第１部が、命令の第２部の実行を生じさせ、第２部は、複数のエレメントを備える、プロセッサにおいて命令を実行する方法が提供される。方法は、命令の第１部をフェッチするステップと、命令の第１部に符号化されている第１の情報から、どのエレメントが命令の第２部を構成しているかを識別するステップと、を備える。方法は、また、命令の第１部に符号化されている第２の情報から、識別されたエレメントのどれがノーオペレーション、ＮＯＰ命令に対応するかを識別するステップを備える。次いで、命令の第２部を形成するエレメントが、ノーオペレーション、ＮＯＰ命令に対応するエレメントを除いて、フェッチされる。
【００１３】
本発明は、第１部において、第２部のどのエレメントをフェッチすべきかを示すことにより、上述の電力の問題を解決する。よって、本発明は、第２部のＮＯＰを含まないエレメントのみをフェッチすることによって、電力を節約できるという利点を有する。
【００１４】
本発明の他の態様によると、命令の第１部が、命令の第２部の実行を生じさせる、命令を実行するための処理システムが提供される。システムは、命令の第１部をフェッチするための手段と、命令の第１部に含まれている第１の情報から、どのエレメントが命令の第２部を構成しているかを識別するための手段と、を備える。システムは、また、命令の第１部に符号化されている第２の情報から、識別されたエレメントのどれがノーオペレーション、ＮＯＰ命令に対応するかを識別するための手段と、命令の第２部を形成するエレメントをフェッチするための手段と、を備える。フェッチするための手段は、ノーオペレーション、ＮＯＰ命令に対応するエレメントを除外するように構成されている。
【００１５】
本発明の他の態様によると、データ処理システムにおいて使用するための命令が提供され、命令は、複数のエレメントを有する第２部の実行を生じさせる第１部を備え、命令の第１部は、複数のデータビットを備え、複数のデータビットは、第２部内の実行から除外されるべきノーオペレーション、ＮＯＰ命令を識別する。
【発明を実施するための最良の形態】
【００１６】
本発明のより良い理解のため、およびどのように本発明が実行されるかを、より明らかに示すために、例示のみとして、添付の図面の参照が行われる。
【００１７】
図３は、本発明に係る処理システムを示している。命令符号化スキームにおける各命令は、第１部１１を備える。しかし、第１部１１は、第２部１３向けのアドレス情報（第１の情報）を含むことに加えて、複数のデータビットＥ０〜ＥＮの形態の他の情報（第２の情報）も備える。これらのデータビットＥ０〜ＥＮは、メインプログラムメモリ７に格納される命令セットの第１部内の命令を形成する、メインデータビットに加えられることが理解される。
【００１８】
本発明の第１の実施形態によると、各データビットＥ０〜ＥＮは、命令セットの第２部１３内の、対応するエレメント１３０〜１３Ｎを直接選択する。命令セットの第２部１３内のエレメント１３０〜１３Ｎは、例えば、ＶＬＩＷを形成することが可能である。このようにして、第１部１１のデータビットＥ０〜ＥＮを用いて、ＮＯＰ命令を備えないエレメントのみが選択され、これにより、電力が不必要に消費されることを回避する。換言すると、データビットＥ０〜ＥＮに符号化された情報を有効に使用して、ＮＯＰ命令を除外するエレメントのみを選択することにより、どのエレメントがＮＯＰ命令に対応するかが識別される。
【００１９】
よって、本発明によると、メインプログラムメモリ７内の命令１１は、ＶＬＩＷのどのエレメントを、第２のメモリ５からフェッチすべきかを示す、複数のデータビットＥ０〜ＥＮを含む。第２のメモリ５は、各エレメントがプロセッサ内の機能ユニットに対応するＶＬＩＷの部分に関連する、複数のエレメントに分割されているため、本発明では、結果として、各エレメントが、複数のデータビットＥ０〜ＥＮの対応する１つにより制御される個別のイネーブル信号を有することになる。
【００２０】
例えば、第２のメモリに格納されるＶＬＩＷが、８つのエレメント１３０〜１３７を備える場合、メインプログラムメモリ内の命令ワードは、８つのデータビットＥ０〜Ｅ７を備える。本発明の第１の実施形態によると、どのＶＬＩＷのエレメントにもＮＯＰ命令がない場合、データビットＥ０〜Ｅ７のそれぞれを、同じロジック状態、例えば“ハイ”に設定して、エレメントのそれぞれをイネーブルさせることができる。この状況では、各エレメントは、プロセッサ内の対応する機能ユニット３０〜３ｎに渡され、実行される。
【００２１】
しかし、ＶＬＩＷ内のエレメントが、ＮＯＰ命令、例えば、第４のエレメント１３３を含む場合、複数のデータビット（Ｅ３）の対応する１つは、“ロー”に保持され、これにより、第４のエレメントを、その対応する機能ユニット（３３）に渡して実行させることから、ディセーブルする。このようにして、第４のエレメント１３３に対応する機能ユニットが、命令を処理することから効果的にディセーブルされるため、電力が節約される。
【００２２】
上述の実施形態が、対応するエレメントをイネーブルするように作用するロジック“ハイ”を参照し、ロジック“ロー”が、対応するエレメントをディセーブルするように作用する一方で、逆のロジックも使用できることが理解される。
【００２３】
よって、図３から分かるように、各第１部１１は、第２部１３内のエレメントのそれぞれに１つずつの、“Ｎ”個のデータビットを必要とする。
【００２４】
図４は、本発明の代わりの実施形態を示している。この実施形態によると、第２部１３内のエレメントの異なるグループを、データビットＥ０〜ＥＮを使用して、第１部１１に符号化された番号で選択することが可能である。エレメントのグループが、デコードステージ１５を使用して選択される。好ましくは、これらの異なるグループは、プログラムの実行の間に最も頻繁に使用されるグループを反映している。例えば、１６個または３２個のグループを定義することができ、それぞれのグループは、頻繁に発生するＮＯＰの組合せを有する。デコードステージ１５は、次いで、特定の命令がどのグループに属するかを決定するように構成される。
【００２５】
例えば、１つのグループは、“エレメント１、エレメント２、エレメント５、エレメント７”を備えることができ、もう１つのグループは、“エレメント１、エレメント６、エレメント９、エレメント１０”等を備えることができ、特定のグループ内のエレメントの各組合せは、プログラムでよく使用される組合せを表している。
【００２６】
第２の実施形態において、４つのデータビットＥ０〜Ｅ３を備える第１部１１を用いて、１６個の異なる第２部を符号化することができ、一方、８つのデータビットＥ０〜Ｅ７を備える第１部を用いて、２５６個の異なる第２部等を符号化することができる。
【００２７】
第１および第２の実施形態における全ての命令１１が、対応する第２部１３を必ずしも持つ必要はないことに留意されたい。換言すると、制限された並行度を有する特定の命令は、関連する第２部１３なしに、第１部１１のみを備えてもよい。このようすると、命令において非常に制限された並行度がある場合でも、命令を第１部に完全に符号化することにより、効率が改善される。
【００２８】
また、好適な実施形態が、第１および第２部においてフェッチされた命令に関して説明された一方で、本発明は、２つ以上の部分においてフェッチされた命令に対しても、等しく適用可能であることが理解される。
【００２９】
本発明は、高い計算性能を必要とするバッテリ駆動デバイス内での適用における使用に特に適していることに留意されたい。
【００３０】
当業者に理解されるように、上述の実施形態で説明された“エレメント”は、それぞれの機能ユニットに対する個別の命令、または機能ユニットに対する命令の一部とすることができる。２つ以上の機能ユニットが、２つ以上のエレメントの単一の命令に応じることも可能である。例えば、メモリから機能ユニット内のレジスタへのデータ移動は、データアドレスを生成するために、レジスタ宛先セクションおよびポインタユニットを必要とする場合がある。データアドレスは、２つ以上のエレメントにおいて、符号化することができる。
【００３１】
上述の実施形態は、本発明を限定するのではなく例示するものであり、当業者は、多くの代わりの実施形態を、添付の特許請求の範囲から逸脱することなく設計できることに留意すべきである。単語“備える（comprising）”は、特許請求の範囲に列記されたもの以外の要素またはステップの存在を除外せず、“１つの（aまたはan）”は、複数性を除外せず、単一のプロセッサまたは他のユニットは、特許請求の範囲にて述べられた複数のユニットの機能を満たすことが可能である。特許請求の範囲におけるどの参照符号も、それらの範囲を限定するものと解釈されるべきではない。
【図面の簡単な説明】
【００３２】
【図１】図１は、既知の処理アーキテクチャの例を示している。
【図２】図２は、ＶＬＩＷ命令がどのように２つの部分においてフェッチされるかの例を示している。
【図３】図３は、本発明の第１の実施形態に従って、命令がどのように実行されるかの例を示している。
【図４】図４は、本発明の第２の実施形態に従って、命令がどのように実行されるかの例を示している。
【図１】
2009516254.tif 000003
【図２】
2009516254.tif 000004
【図３】
2009516254.tif 000005
【図４】
2009516254.tif 000006
【国際調査報告】
2009516254.tif 000007
2009516254.tif 000008