(57)【要約】      （修正有）【課題】単一の命令の実行で、複数のレジスタユニットから対応する半語ユニットを結合する。【解決手段】命令は、ソースレジスタユニットから対応する半語ユニットを結合し、前記半語ユニットを結果的に得られた行き先レジスタユニットの各々の部分の中に入力し、前記予め決められたソースレジスタユニットを識別し、対応する最上位半語ユニット及び関連づけたデータを前記識別するレジスタユニットから取り出す。前記取り出した半語ユニットを結合し、結果的に得た行き先レジスタユニットの各々の最上位部分内に入力する。同様に対応する最下位半語ユニット及び関連づけたデータを、前記識別するレジスタユニットから取り出し、前記取り出した半語ユニットを結合し、結果的に得たレジスタユニットの各々の最下位部分内に入力する。最後に、前記結果的に得られた行き先レジスタユニットを、さらなる処理のため前記レジスタファイル構造内に格納する。【選択図】図５
2013242892.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって読み取り可能な媒体であって、
前記媒体内に含まれる複数の実行可能な命令のうちの１つの命令であって、処理システム内において実行されたときに、前記処理システムに、
レジスタファイル構造内の少なくとも２つのソースレジスタユニットからの対応する半語ユニットを結合させ前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力させる命令、を具備する、コンピュータによって読み取り可能な媒体。
【請求項２】
各ソースレジスタユニットは、３２ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、６４ビットの幅のレジスタユニットである請求項１に記載のコンピュータによって読み取り可能な媒体。
【請求項３】
各半語ユニットは、１６ビットの幅のユニットである請求項２に記載のコンピュータによって読み取り可能な媒体
【請求項４】
前記命令の実行は、さらに、前記処理システムに、前記少なくとも２つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成させる請求項１に記載のコンピュータによって読み取り可能な媒体。
【請求項５】
前記命令の実行は、さらに、前記処理システムに、前記少なくとも２つのソースレジスタユニットと関連づけられたデータをメモリから取り出させ、前記データを前記各々のソースレジスタユニット内に格納させ、前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出させ、前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成させる請求項１に記載のコンピュータによって読み取り可能な媒体。
【請求項６】
前記処理システムは、デジタル信号プロセッサである請求項１に記載のコンピュータによって読み取り可能な媒体。
【請求項７】
前記少なくとも２つのソースレジスタユニットは、異種である請求項１に記載のコンピュータによって読み取り可能な媒体。
【請求項８】
前記命令の実行は、さらに、前記処理システムに、前記少なくとも２つのソースレジスタユニットの各々から最上位半語ユニットを取り出させ、前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力させる請求項１に記載のコンピュータによって読み取り可能な媒体。
【請求項９】
前記命令の実行は、さらに、前記処理システムに、前記少なくとも２つのソースレジスタユニットの各々から最下位半語ユニットを取り出させ、前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力させる請求項８に記載のコンピュータによって読み取り可能な媒体。
【請求項１０】
方法であって、
実行可能な命令を受け取ることと、
レジスタファイル構造内の少なくとも２つの異種のソースレジスタユニットからの対応する半語ユニットを結合し、
前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力するための前記命令を実行すること、とを具備する、方法。
【請求項１１】
各ソースレジスタユニットは、３２ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、６４ビットの幅のレジスタユニットである請求項１０に記載の方法。
【請求項１２】
各半語ユニットは、１６ビットの幅のユニットである請求項１１に記載の方法。
【請求項１３】
前記実行することは、さらに、前記少なくとも２つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成することを具備する請求項１０に記載の方法。
【請求項１４】
前記実行することは、
前記少なくとも２つのソースレジスタユニットと関連づけられたデータをメモリから取り出すことと、
前記データを前記各々のソースレジスタユニット内に格納することと、
前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出すことと、
前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成すること、とをさらに具備する請求項１０に記載の方法。
【請求項１５】
前記処理システムは、デジタル信号プロセッサである請求項１０に記載の方法。
【請求項１６】
前記少なくとも２つのソースレジスタユニットは、異種である請求項１０に記載の方法。
【請求項１７】
前記実行することは、
前記少なくとも２つのソースレジスタユニットの各々から最上位半語ユニットを取り出すことと、
前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力すること、とをさらに具備する請求項１０に記載の方法。
【請求項１８】
前記実行することは、
前記少なくとも２つのソースレジスタユニットの各々から最下位半語ユニットを取り出すことと、
前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力すること、とをさらに具備する請求項１７に記載の方法。
【請求項１９】
装置であって、
少なくとも１つの命令を具備するパケットを格納するためのメモリと、
前記メモリに結合されたプロセッサであって、処理ユニットと前記処理ユニットに結合されたレジスタファイル構造とをさらに具備するプロセッサと、を具備し、
前記処理ユニットは、
前記レジスタファイル構造内の少なくとも２つのソースレジスタユニットからの対応する半語ユニットを結合し、前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力する前記パケット内の命令を実行する、装置。
【請求項２０】
各ソースレジスタユニットは、３２ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、６４ビットの幅のレジスタユニットである請求項１９に記載の装置。
【請求項２１】
各半語ユニットは、１６ビットの幅のユニットである請求項２０に記載の装置。
【請求項２２】
前記処理ユニットは、さらに、前記少なくとも２つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成する請求項１９に記載の装置。
【請求項２３】
前記処理ユニットは、さらに、前記少なくとも２つのソースレジスタユニットと関連づけられたデータを前記メモリから取り出し、前記データを前記各々のソースレジスタユニット内に格納し、前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出すことと、前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成する請求項１９に記載の装置。
【請求項２４】
前記プロセッサは、デジタル信号プロセッサである請求項１９に記載の装置。
【請求項２５】
前記少なくとも２つのソースレジスタユニットは、異種である請求項１９に記載の装置。
【請求項２６】
前記処理ユニットは、さらに、前記少なくとも２つのソースレジスタユニットの各々から最上位半語ユニットを取り出し、前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力する請求項１９に記載の装置。
【請求項２７】
前記処理ユニットは、さらに、前記少なくとも２つのソースレジスタユニットの各々から最下位半語ユニットを取り出し、前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力する請求項２６に記載の装置。
【請求項２８】
装置であって、
実行可能な命令を受け取るための手段と、
レジスタファイル構造内の少なくとも２つの異種のソースレジスタユニットからの対応する半語ユニットを結合し、
前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力するための前記命令を実行するための手段と、を具備する、装置。
【請求項２９】
各ソースレジスタユニットは、３２ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、６４ビットの幅のレジスタユニットである請求項２８に記載の装置。
【請求項３０】
各半語ユニットは、１６ビットの幅のユニットである請求項２９に記載の装置。
【請求項３１】
さらに、前記少なくとも２つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成するための手段、を具備する、請求項２８に記載の装置。 
【請求項３２】
前記少なくとも２つのソースレジスタユニットと関連づけられたデータをメモリから取り出すための手段と、
前記データを前記各々のソースレジスタユニット内に格納するための手段と、
前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出すための手段と、
前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成するための手段と、をさらに具備する請求項２８に記載の装置。
【請求項３３】
前記少なくとも２つのソースレジスタユニットは、異種である請求項２８に記載の装置。
【請求項３４】
前記少なくとも２つのソースレジスタユニットの各々から最上位半語ユニットを取り出すための手段と、
前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力するための手段と、をさらに具備する、請求項２８に記載の装置。
【請求項３５】
前記少なくとも２つのソースレジスタユニットの各々から最下位半語ユニットを取り出すための手段と、
前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力するための手段と、をさらに具備する、請求項３４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、マイクロプロセッサに関するものである。本発明は、より具体的には、単一の命令の実行中に、マイクロプロセッサ、例えばデジタル信号プロセッサ、内において、複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステムに関するものである。
【背景技術】
【０００２】
典型的には、コンピュータシステムは、１つ以上のマイクロプロセッサデバイスを含み、各マイクロプロセッサデバイスは、前記コンピュータシステムのメモリ内に格納された値に関する演算を行うように及び前記コンピュータシステムの動作全体を管理するように構成される。これらのコンピュータシステムは、様々なマルチメディアデバイス、例えばサウンドカード及び／又はビデオカード、を含むこともでき、各マルチメディアデバイスは、各々のマルチメディアデバイス内において複雑な数学計算を行う１つ以上のプロセッサ、例えばデジタル信号プロセッサ（ＤＳＰ）、をさらに含む。
【０００３】
デジタル信号プロセッサ（ＤＳＰ）は、典型的には、前記数学計算を行うように特に構成されたハードウェア実行ユニット、例えば１つ以上の算術論理ユニット（ＡＬＵ）、と、１つ以上の乗算−累積ユニット（ＭＡＣ）と、ＤＳＰ内において一組の命令によって指定された演算を行うように構成されたその他の機能ユニットと、を含む。該演算は、例えば、算術演算と、論理演算と、その他のデータ処理演算と、を含むことができ、各々の演算は、関連づけられた一組の命令によって定義される。
【０００４】
一般的には、ＤＳＰ内の実行ユニットは、メモリ及び実行ユニットに結合されたレジスタファイルからデータ及びオペランドを読み出し、命令演算を実行し、その結果をレジスタファイルに格納する。レジスタファイルは、複数のレジスタユニットを含み、各レジスタユニットは、単一のレジスタとして又は整列された対になった２つの隣接するレジスタユニットとしてアクセス可能である。しかしながら、一定の特定の演算、例えば、データを加算又は減算する演算、は、レジスタファイル内の異種のレジスタユニットからのデータを命令の実行のために適切に整列させることを要求する。従って、必要なことは、複数の隣接しない又は異種のレジスタユニット内に格納されたデータの適切な整列を可能にするために単一の命令の実行中にＤＳＰ内において前記レジスタユニットからの対応する半語ユニットを結合するための方法及びシステムである。
【発明の概要】
【０００５】
単一の命令の実行中に、マイクロプロセッサ、例えばデジタル信号プロセッサ、内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステムが説明される。一実施形態においては、レジスタファイル構造からの予め決められた異種のソースレジスタユニットを結合するための命令が処理ユニット内において受け取られる。次に、前記命令が実行されて、前記ソースレジスタユニットからの対応する半語ユニットが結合され、結果的に得られた行き先レジスタユニットの各々の部分の中に前記半語ユニットが入力される。
【０００６】
一実施形態においては、前記予め決められたソースレジスタユニットが識別され、対応する最上位半語ユニット及び関連づけられたデータが前記識別されたレジスタユニットから取り出される。前記取り出された半語ユニットは、さらに結合され、結果的に得られた行き先レジスタユニットの各々の最上位部分内に入力される。同様に、対応する最下位半語ユニット及び関連づけられたデータが、前記識別されたレジスタユニットから取り出される。前記取り出された半語ユニットは、さらに結合され、結果的に得られた行き先レジスタユニットの各々の最下位部分内に入力される。最後に、前記結果的に得られた行き先レジスタは、さらなる処理のために前記レジスタファイル構造内に格納される。
【図面の簡単な説明】
【０００７】
【図１】内部において一組の命令を実行することができるデジタル信号処理システムのブロック図である。
【図２】デジタル信号処理システム内の汎用レジスタ構造の一実施形態を示すブロック図である。
【図３】超長命令語（ＶＬＩＷ）デジタル信号処理システムアーキテクチャの一実施形態を示すブロック図である。
【図４】デジタル信号処理システム内において複数のレジスタユニットからの対応する半語ユニットを結合する方法の一実施形態を示した流れ図である。
【図５】図４に関連して説明される、複数のレジスタユニットからの対応する半語ユニットを結合する方法を示したブロック図である。
【図６】デジタル信号処理システム内において複数のレジスタユニットからの対応する半語ユニットを結合するための命令の一実施形態を示したブロック図である。
【発明を実施するための形態】
【０００８】
単一の命令の実行中に、マイクロプロセッサ、例えばデジタル信号プロセッサ、内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステムが説明される。後述されるシステムは、デジタル信号プロセッサがレジスタユニットからの対応する半語ユニットを結合するのを可能にするが、システムは、単一の命令の実行中に複数のレジスタユニットからの前記対応する半語ユニットを結合して結果的に得られたレジスタユニット内に入れることができるマイクロプロセッサデバイス、又はその他いずれかの処理ユニット、を用いて実装できることが理解されるべきである。
【０００９】
一実施形態においては、レジスタファイル構造からの予め決められた異種のソースレジスタユニットを結合するための命令が処理ユニット内において受け取られる。次に、命令が実行され、ソースレジスタユニットからの対応する半語ユニットを結合し、これらの半語ユニットを結果的に得られた行き先レジスタユニットの各々の部分内に入力する。
【００１０】
命令の実行中において、予め決められたソースレジスタユニットが識別され、対応する最上位半語ユニット及び関連づけられたデータが識別されたレジスタユニットから取り出される。取り出された半語ユニットは、さらに結合され、結果的に得られた行き先レジスタユニットの各々の最上位部分内に入力される。同様に、対応する最下位半語ユニット及び関連づけられたデータが、識別されたレジスタユニットから取り出される。取り出された半語ユニットは、さらに結合され、結果的に得られた行き先レジスタユニットの各々の最下位部分内に入力される。最後に、結果的に得られた行き先レジスタユニットは、さらなる処理のためにレジスタファイル構造内に格納される。
【００１１】
図１は、内部において一組の命令を実行することができるデジタル信号処理システムのブロック図である。図１に示されるように、デジタル信号処理システム１００は、処理ユニット１１０と、メモリ１５０と、処理ユニット１１０をメモリ１５０に結合する１つ以上のバス１６０と、を含む。
【００１２】
メモリ１５０は、データ及び命令を、例えばＶＬＩＷコンパイラによって生成されるＶＬＩＷパケットの形で格納し、各ＶＬＩＷパケットは、１つ以上の命令を具備する。パケットの各命令は、典型的には、予め決められた幅であり、メモリ１５０において特定のアドレスを有しており、従って、パケット内の第１の命令は、典型的には、前記パケットの最後の命令よりも低いメモリアドレスを有する。メモリに関するアドレッシング方式は、当業においては非常によく知られており、本明細書においては詳細には説明されない。メモリ１５０内の命令は、バス１６０を介して処理ユニット１１０内にロードされる。
【００１３】
処理ユニット１１０は、１つ以上のパイプライン１４０を介して１つ以上のレジスタファイル構造１２０に結合された中央処理ユニットコア１３０をさらに具備する。処理ユニット１１０は、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ、等をさらに具備することができる。
【００１４】
レジスタファイル１２０は、汎用計算をサポートしさらに以下において図２と関連させてさらに詳細に説明される一組の汎用レジスタユニットと、特殊目的の機能、例えばハードウェアループ、プレディケート、及びその他の特殊オペランド、をサポートする一組の制御レジスタユニットと、をさらに具備する。
【００１５】
図２は、デジタル信号処理システム内の汎用レジスタ構造の一実施形態を示すブロック図である。図２に示されるように、一実施形態においては、レジスタファイル１２０内の汎用レジスタファイル構造２００は、複数のレジスタユニット、例えば、３２の幅が３２ビットのレジスタユニット２１０、を含み、各レジスタユニットは、単一のレジスタとして又は整列された対２２０になった２つの隣接するレジスタユニット２１０としてアクセス可能である。
【００１６】
汎用レジスタユニット２１０は、該当する命令に基づいて複数の名前で呼ぶことができる。例えば、レジスタユニット２１０は、Ｒ０、Ｒ１、．．．、Ｒ３０、及びＲ３１と個々に呼ぶことができる。さらに、レジスタユニットＲ０及びＲ１は、Ｒ１：０と呼ばれる６４ビットのレジスタ対２２０を形成することができる。同様に、レジスタユニットＲ２及びＲ３は、Ｒ３：２と呼ばれる６４ビットのレジスタ対２２０を形成することができ、レジスタユニットＲ２８及びＲ２９は、Ｒ２９：２８と呼ばれる６４ビットのレジスタ対２２０を形成することができ、レジスタユニットＲ３０及びＲ３１は、Ｒ３１：３０と呼ばれる６４ビットのレジスタ対２２０を形成することができる。
【００１７】
一実施形態においては、汎用レジスタユニット２１０は、一般的計算目的、例えば、アドレス生成、スカラー算術、ベクトル算術、に関して用いられ、ロード／格納命令に関するアドレスを含む、命令に関する全オペランド、数値命令に関するデータオペランド、及びベクトル命令に関するベクトルオペランドを提供する。各レジスタユニット２１０は、レジスタユニット２１０の高部分に所在するデータを含む最上位半語ユニットと、レジスタユニット２１０の低部分に所在するデータを含む最下位半語ユニットと、をさらに含む。例えば、３２ビットの幅のレジスタユニット２１０について検討すると、レジスタユニット２１０の最上位半語ユニット及び最下位半語ユニットは、両方とも１６ビットの幅のユニットである。
【００１８】
図３は、超長命令語（ＶＬＩＷ）デジタル信号処理システムアーキテクチャの一実施形態を示すブロック図である。ＶＬＩＷシステムアーキテクチャ３００は、命令ロードバス３２０、データロードバス３２２、及びデータロード／格納バス３２４を介してデジタル信号プロセッサ（ＤＳＰ）３３０に結合されたメモリ３１０を含む。
【００１９】
一実施形態においては、メモリ３１０は、データ及び命令を、例えば１乃至４つの命令を有するＶＬＩＷパケットの形で格納する。メモリ３１０内に格納された命令は、命令ロードバス３２０を介してＤＳＰ３３０にロードされる。一実施形態においては、各命令は、４語の幅を有する１２８ビットの命令ロードバス３２０を介してＤＳＰ３３０にロードされる３２ビットの語幅を有する。一実施形態においては、メモリ３１０は、統一されたバイトアドレッシング可能なメモリであり、命令とデータの両方を格納する３２ビットアドレス空間を有し、リトルエンディアンモードで動作する。
【００２０】
一実施形態においては、ＤＳＰ３３０は、シーケンサ３３５と、４つの処理又は実行ユニット３４５に関する４つのパイプライン３４０と、（複数の汎用レジスタユニットを具備する）汎用レジスタファイル構造３５０、例えば図２に関係して詳細に説明される汎用レジスタファイル構造２００と、制御レジスタファイル構造３６０と、を具備する。シーケンサ３３５は、命令のパケットをメモリ３１０から受け取り、命令内に含まれる情報を用いて各々の受け取られたパケットの各命令に関する該当するパイプライン３４０及び各々の実行ユニット３４５を決定する。パケットの各命令に関してこの決定を行った後、シーケンサ３３５は、該当する実行ユニット３４５による処理のために該当するパイプライン３４０内に命令を入力する。
【００２１】
一実施形態においては、実行ユニット３４５は、ベクトルシフトユニットと、ベクトルＭＡＣユニットと、ロードユニットと、ロード／格納ユニットと、をさらに具備する。ベクトルシフトユニット３４５は、例えば、Ｓ型、Ａ６４型、Ａ３２型、Ｊ型、及びＣＲ型の命令を実行する。ベクトルＭＡＣユニット３４５は、例えば、Ｍ型、Ａ６４型、Ａ３２型、Ｊ型、及びＪＲ型の命令を実行する。ロードユニット３４５は、メモリ３１０から汎用レジスタファイル構造３５０にデータをロードし、例えば、ロード型及びＡ３２型の命令を実行する。ロード／格納ユニット３４５は、汎用レジスタファイル構造３５０からデータをロードしてメモリ３１０に再度格納し、例えばロード型、格納型、及びＡ３２型の命令を実行する。
【００２２】
命令を受け取る各実行ユニット３４５は、４つの実行ユニット３４５によって共有される汎用レジスタファイル構造３５０を用いて命令を実行する。命令によって要求されるデータは、６４ビットデータロードバス３２２を介して汎用レジスタファイル構造３５０にロードされる。パケットの命令が実行ユニット３４５によって実行された後は、その結果得られたデータは、汎用レジスタファイル構造３５０に格納され、次に６４ビットデータロード／格納バス３２４を介してロードされてメモリ３１０に格納される。一実施形態においては、例えばＲＩＳＣ型機械に関しては、１つの命令は、メモリからデータをロードし、演算を実行し、その結果をメモリ内に格納することができる。代替として、ＤＳＰユニットに関しては、上記の演算は、一般的には分離される。典型的には、パケットの１乃至４つの命令が、４つの実行ユニット３４５によって１クロックサイクルで並行して実行され、各クロックサイクルに関して最大で１つの命令がパイプライン３４０によって受け取られて処理される。
【００２３】
一実施形態においては、実行ユニット３４５は、対応する命令を実行するために制御レジスタファイル構造３６０を用いることもできる。制御レジスタファイル構造３６０は、一組の特殊レジスタユニット、例えば、修飾子、状態、及びプレディケートレジスタユニット、を具備する。
【００２４】
図４は、デジタル信号処理システム１００内の複数のレジスタユニットからの対応する半語ユニットを結合するための方法の一実施形態を示す流れ図である。図４の実施形態において示されるように、処理ブロック４１０において、デジタル信号処理システム３００内のレジスタユニットを結合するための命令が受け取られる。一実施形態においては、処理ユニット、例えばＤＳＰ３３０内の実行ユニット３４５、は、命令を受け取り、後述されるように命令を実行し、汎用レジスタファイル構造３５０内に格納された予め決められたソースレジスタユニットからの対応する半語ユニットを結合する。一実施形態においては、予め決められたソースレジスタユニットは、異種であり、汎用レジスタファイル構造３５０内において隣接せずに所在し、従って、整列された対２２０のレジスタユニットとしてはアクセス不能である。
【００２５】
処理ブロック４２０において、予め決められたソースレジスタユニット、例えば第１の３２ビット幅のソースレジスタユニット及び第２の３２ビット幅のソースレジスタユニット、が識別される。一実施形態においては、実行ユニット３４５は、汎用レジスタファイル構造３５０と通信し、結合させることが要求されるソースレジスタユニットを識別する。一実施形態においては、メモリ３１０は、６４ビットデータロードバス３２２及び／又は６４ビットデータロード／格納バス３２４を介して命令によって要求されるデータを汎用レジスタファイル構造３５０にロードする。代替として、データは、識別された第１及び第２のソースレジスタユニット内に既に格納しておくことができる。
【００２６】
処理ブロック４３０において、識別されたソースレジスタユニット及び関連づけられたデータが取り出される。一実施形態においては、実行ユニット３４５は、識別されたソースレジスタユニット及び関連づけられたデータを汎用レジスタファイル構造３５０から取り出す。
【００２７】
処理ブロック４４０において、対応する最上位半語ユニットが、識別されたソースレジスタユニットから取り出される。一実施形態においては、実行ユニット３４５は、一実施形態においては第１のソースレジスタユニットの最上位又は高半語ユニットであることができる半語ユニット、例えば１６ビットの幅のユニット、を第１のソースレジスタユニットから、及び、一実施形態においては第２のソースレジスタユニットの最上位又は高半語ユニットであることができる半語ユニット、例えば１６ビットの幅のユニット、を第２のソースレジスタユニットからさらに取り出す。
【００２８】
処理ブロック４５０において、最上位半語ユニットが結合され、結果的に得られた行き先レジスタユニットの最上位又は高部分内にさらに入力される。一実施形態においては、実行ユニット３４５は、取り出された最上位半語ユニットを結合し、結合された半語ユニットを結果的に得られた行き先レジスタユニットの最上位又は高部分内に入力する。
【００２９】
処理ブロック４６０において、対応する最下位半語ユニットが識別されたソースレジスタユニットから取り出される。一実施形態においては、実行ユニット３４５は、一実施形態においては第１のソースレジスタユニットの最下位又は低半語ユニットであることができる半語ユニット、例えば１６ビットの幅のユニット、を第１のソースレジスタユニットから、及び、一実施形態においては第２のソースレジスタユニットの最下位又は低半語ユニットであることができる半語ユニット、例えば１６ビットの幅のユニット、を第２のソースレジスタユニットからさらに取り出す。
【００３０】
処理ブロック４７０において、最下位半語ユニットが結合され、結果的に得られた行き先レジスタユニットの最下位又は低部分内にさらに入力される。一実施形態においては、実行ユニット３４５は、取り出された最下位半語ユニットを結合し、結合された半語ユニットを結果的に得られた行き先レジスタユニットの最下位又は低部分内に入力する。
【００３１】
最後に、処理ブロック４８０において、結果的に得られた行き先レジスタユニットがさらなる処理のために格納される。一実施形態においては、実行ユニット３４５は、結果的に得られた行き先レジスタユニットを汎用レジスタファイル構造３５０に出力し、結果的に得られた行き先レジスタユニットを追加の命令のさらなる処理のために格納する。
【００３２】
図５は、図４と関係させて説明されるレジスタユニットを結合する方法を示すブロック図である。図５に示されるように、ソースレジスタユニットＲＳ５１０及びＲＴ５２０は、識別されて汎用レジスタファイル構造２００から取り出される。
【００３３】
一実施形態においては、ソースレジスタユニットＲＳ５１０及びＲＴ５２０を結合して結果的に得られた行き先レジスタユニットＲＤ５３０内に入れるための命令は、以下のとおりである。
【００３４】
ＲＤ＝ｐａｃｋＨＬ（ＲＳ，  ＲＴ）
ここで、ＲＳ及びＲＴは、各々の最上位又は高半語ユニットＨ及び最下位又は低半語ユニットＬを有するソースレジスタユニットである。
【００３５】
図５に示されるように、命令の実行時点で、ソースレジスタユニットＲＳ５１０の最上位又は高半語ユニットＲＳ１及びソースレジスタユニットＲＴ５２０の最上位又は高半語ユニットＲＴ１が結合され、行き先レジスタユニットＲＤ５３０の高部分内にさらに入力される。ソースレジスタユニットＲＳ５１０の最下位又は低半語ユニットＲＳ２及びソースレジスタユニットＲＴ５２０の最下位又は低半語ユニットＲＴ２が結合され、行き先レジスタユニットＲＤ５３０の低部分内にさらに入力される。例えば、ＲＳ５１０及びＲＴ５２０が両方とも３２ビット幅のレジスタユニットである場合は、一実施形態においては、結果的に得られた行き先レジスタユニットＲＤ５３０は、６４ビットの幅のレジスタである。
【００３６】
図６は、デジタル信号処理システム内の複数のレジスタユニットからの対応する半語ユニットを結合するための命令の一実施形態のブロック図である。図６に示されるように、一実施形態においては、図５と関係して説明される命令は、複数のフィールド、例えば、行き先レジスタユニットＲＤを符号化するために必要な情報を含むフィールド６１０と、将来の符号化に関して予約された空のフィールド６２０と、ソースレジスタユニットＲＴを符号化するために必要な情報を含むフィールド６３０と、将来の符号化に関して予約された他の空のフィールド６４０と、パケット／ループ構文解析ビット情報を含むフィールド６５０と、レジスタユニットＲＳを符号化するために必要な情報を含むフィールド６６０と、演算符号情報を含むフィールド６７０と、ソースレジスタユニット及び行き先レジスタユニットのレジスタ型に関連する情報を含むフィールド６８０と、命令クラス情報を含むフィールド６９０と、を含む。しかしながら、代替として、その他の追加のフィールドを、本発明の適用範囲から逸脱することなしに上記の命令の符号化内に含めることもできる。
【００３７】
当業者は、情報及び信号は様々な異なる技術及び技法のうちのいずれかを用いて表すことができるということを理解するであろう。例えば、上記の説明全体を通じて参照することができるデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場、磁気粒子、光学場、光学粒子、又はそのあらゆる組合せによって表すことができる。
【００３８】
本明細書において開示される実施形態に関係させて説明される様々な例示的論理ブロック、モジュール、回路、及びアルゴリズム上のステップは、電子ハードウェアとして、コンピュータソフトウェアとして、又は両方の組合せとして実装できることを当業者はさらに理解するであろう。ハードウェアとソフトウェアのこの互換性を明確に例示するため、上記においては、様々な例示的構成要素、ブロック、モジュール、回路、及びステップが、各々の機能の観点で一般的に説明されている。該機能がハードウェアとして又はソフトウェアとして実装されるかは、全体的システムに対する特定の用途上の及び設計上の制約事項に依存する。当業者は、説明されている機能を各々の特定の用途に合わせて様々な形で実装することができるが、これらの実装決定は、本発明の適用範囲からの逸脱を生じさせるものであるとは解釈すべきではない。
【００３９】
本明細書において開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、及び回路は、本明細書において説明される機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、その他のプログラミング可能な論理デバイス、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェア構成品、又はそのあらゆる組合せ、とともに実装又は実行することができる。汎用プロセッサはマイクロプロセッサであることができるが、代替として、従来のどのようなプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。さらに、プロセッサは、計算装置の組合せ、例えば、ＤＳＰと、１つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサとの組合せ、ＤＳＰコアと関連する1つ以上のマイクロプロセッサとの組合せ、又はその他のあらゆる該コンフィギュレーションとの組合せ、として実装することもできる。
【００４０】
本明細書において開示される実施形態に関して説明される方法又はアルゴリズムのステップは、ハードウェア内において直接具体化させること、プロセッサによって実行されるソフトウェア内において具体化させること、又はこれらの２つの組合せにおいて具体化させることができる。これらの実施形態は、何らかの形態のプロセッサ又はプロセッサコア（例えば、コンピュータのＣＰＵ）において実行されるソフトウェアプログラムとして又は該ソフトウェアプログラムをサポートするために用いることができること、又は機械又はコンピュータによって読み取り可能な媒体上に又は内部に実装するか実現させることができることが理解されるべきである。機械によって読み取り可能な媒体は、情報を機械（例えばコンピュータ）によって読み取り可能な形で格納又は送信するためのメカニズムを含む。例えば、機械によって読み取り可能な媒体は、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能なディスク、ＣＤ−ＲＯＭ、又は当業において既知であるその他のあらゆる形態の記憶媒体を含む。１つの典型的な記憶媒体をプロセッサに結合させ、プロセッサが記憶媒体から情報を読み出すようにすること及び記憶媒体に情報を書き込むようにすることができる。代替として、記憶媒体は、プロセッサと一体化させることができる。プロセッサ及び記憶媒体は、ＡＳＩＣ内に常駐することができる。ＡＳＩＣは、ユーザー端末内に常駐することができる。代替として、プロセッサ及び記憶媒体は、ユーザー端末内において個別構成要素として常駐することができる。
【００４１】
開示されている実施形態に関する上記の説明は、当業者が本発明を製造又は使用できるようにすることを目的とするものである。これらの実施形態に対する様々な修正は、当業者にとって容易に明確になるであろう。さらに、本明細書において定められている一般原理は、本発明の精神及び適用範囲を逸脱しない形でその他の実施形態に対しても適用することができる。以上のように、本発明は、本明細書において示されている実施形態に限定することを意図するものではなく、本明細書において開示されている原理及び斬新な特長に一致する限りにおいて最も広範な適用範囲が認められるべきである。
【図１】
2013242892.tif 000003
【図２】
2013242892.tif 000004
【図３】
2013242892.tif 000005
【図４】
2013242892.tif 000006
【図５】
2013242892.tif 000007
【図６】
2013242892.tif 000008
【手続補正書】
【提出日】平成25年8月5日(2013.8.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータによって読み取り可能な媒体であって、
前記媒体内に含まれる複数の実行可能な命令のうちの１つの命令であって、処理システム内において実行されたときに、前記処理システムに、
レジスタファイル構造内の少なくとも２つのソースレジスタユニットからの対応する半語ユニットを結合させ前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力させる命令、を具備する、コンピュータによって読み取り可能な媒体。
【外国語明細書】
2013242892000001.pdf