JP2016194929A - マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム - Google Patents

マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム Download PDF

Info

Publication number
JP2016194929A
JP2016194929A JP2016100520A JP2016100520A JP2016194929A JP 2016194929 A JP2016194929 A JP 2016194929A JP 2016100520 A JP2016100520 A JP 2016100520A JP 2016100520 A JP2016100520 A JP 2016100520A JP 2016194929 A JP2016194929 A JP 2016194929A
Authority
JP
Japan
Prior art keywords
unit
units
register
halfword
source register
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.)
Pending
Application number
JP2016100520A
Other languages
English (en)
Other versions
JP2016194929A5 (ja
Inventor
マオ・ジェング
Zeng Mao
ルシアン・コドレスキュ
Codrescu Lucian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016194929A publication Critical patent/JP2016194929A/ja
Publication of JP2016194929A5 publication Critical patent/JP2016194929A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

【課題】マイクロプロセッサ、例えばデジタル信号プロセッサ内において、複数のレジスタユニットからの対応する半語ユニットを結合する単一の命令を提供する。【解決手段】命令が実行されると、予め決められたソースレジスタユニットが識別され、対応する最上位半語ユニット及び関連づけられたデータが識別されたレジスタユニットから取り出される。取り出された半語ユニットはさらに結合され、結果的に得られた行き先レジスタユニットの最上位部分内に入力される。同様に、対応する最下位半語ユニット及び関連づけられたデータが、識別されたレジスタユニットから取り出され、さらに結合され、結果的に得られたレジスタユニットの各々の最下位部分内に入力される。結果的に得られた行き先レジスタユニットは、さらなる処理のためにレジスタファイル構造内に格納される。【選択図】図4

Description

本発明は、一般的には、マイクロプロセッサに関するものである。本発明は、より具体的には、単一の命令の実行中に、マイクロプロセッサ、例えばデジタル信号プロセッサ、内において、複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステムに関するものである。
典型的には、コンピュータシステムは、1つ以上のマイクロプロセッサデバイスを含み、各マイクロプロセッサデバイスは、前記コンピュータシステムのメモリ内に格納された値に関する演算を行うように及び前記コンピュータシステムの動作全体を管理するように構成される。これらのコンピュータシステムは、様々なマルチメディアデバイス、例えばサウンドカード及び/又はビデオカード、を含むこともでき、各マルチメディアデバイスは、各々のマルチメディアデバイス内において複雑な数学計算を行う1つ以上のプロセッサ、例えばデジタル信号プロセッサ(DSP)、をさらに含む。
デジタル信号プロセッサ(DSP)は、典型的には、前記数学計算を行うように特に構成されたハードウェア実行ユニット、例えば1つ以上の算術論理ユニット(ALU)、と、1つ以上の乗算−累積ユニット(MAC)と、DSP内において一組の命令によって指定された演算を行うように構成されたその他の機能ユニットと、を含む。該演算は、例えば、算術演算と、論理演算と、その他のデータ処理演算と、を含むことができ、各々の演算は、関連づけられた一組の命令によって定義される。
一般的には、DSP内の実行ユニットは、メモリ及び実行ユニットに結合されたレジスタファイルからデータ及びオペランドを読み出し、命令演算を実行し、その結果をレジスタファイルに格納する。レジスタファイルは、複数のレジスタユニットを含み、各レジスタユニットは、単一のレジスタとして又は整列された対になった2つの隣接するレジスタユニットとしてアクセス可能である。しかしながら、一定の特定の演算、例えば、データを加算又は減算する演算、は、レジスタファイル内の異種のレジスタユニットからのデータを命令の実行のために適切に整列させることを要求する。従って、必要なことは、複数の隣接しない又は異種のレジスタユニット内に格納されたデータの適切な整列を可能にするために単一の命令の実行中にDSP内において前記レジスタユニットからの対応する半語ユニットを結合するための方法及びシステムである。
単一の命令の実行中に、マイクロプロセッサ、例えばデジタル信号プロセッサ、内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステムが説明される。一実施形態においては、レジスタファイル構造からの予め決められた異種のソースレジスタユニットを結合するための命令が処理ユニット内において受け取られる。次に、前記命令が実行されて、前記ソースレジスタユニットからの対応する半語ユニットが結合され、結果的に得られた行き先レジスタユニットの各々の部分の中に前記半語ユニットが入力される。
一実施形態においては、前記予め決められたソースレジスタユニットが識別され、対応する最上位半語ユニット及び関連づけられたデータが前記識別されたレジスタユニットから取り出される。前記取り出された半語ユニットは、さらに結合され、結果的に得られた行き先レジスタユニットの各々の最上位部分内に入力される。同様に、対応する最下位半語ユニット及び関連づけられたデータが、前記識別されたレジスタユニットから取り出される。前記取り出された半語ユニットは、さらに結合され、結果的に得られた行き先レジスタユニットの各々の最下位部分内に入力される。最後に、前記結果的に得られた行き先レジスタは、さらなる処理のために前記レジスタファイル構造内に格納される。
内部において一組の命令を実行することができるデジタル信号処理システムのブロック図である。 デジタル信号処理システム内の汎用レジスタ構造の一実施形態を示すブロック図である。 超長命令語(VLIW)デジタル信号処理システムアーキテクチャの一実施形態を示すブロック図である。 デジタル信号処理システム内において複数のレジスタユニットからの対応する半語ユニットを結合する方法の一実施形態を示した流れ図である。 図4に関連して説明される、複数のレジスタユニットからの対応する半語ユニットを結合する方法を示したブロック図である。 デジタル信号処理システム内において複数のレジスタユニットからの対応する半語ユニットを結合するための命令の一実施形態を示したブロック図である。
単一の命令の実行中に、マイクロプロセッサ、例えばデジタル信号プロセッサ、内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステムが説明される。後述されるシステムは、デジタル信号プロセッサがレジスタユニットからの対応する半語ユニットを結合するのを可能にするが、システムは、単一の命令の実行中に複数のレジスタユニットからの前記対応する半語ユニットを結合して結果的に得られたレジスタユニット内に入れることができるマイクロプロセッサデバイス、又はその他いずれかの処理ユニット、を用いて実装できることが理解されるべきである。
一実施形態においては、レジスタファイル構造からの予め決められた異種のソースレジスタユニットを結合するための命令が処理ユニット内において受け取られる。次に、命令が実行され、ソースレジスタユニットからの対応する半語ユニットを結合し、これらの半語ユニットを結果的に得られた行き先レジスタユニットの各々の部分内に入力する。
命令の実行中において、予め決められたソースレジスタユニットが識別され、対応する最上位半語ユニット及び関連づけられたデータが識別されたレジスタユニットから取り出される。取り出された半語ユニットは、さらに結合され、結果的に得られた行き先レジスタユニットの各々の最上位部分内に入力される。同様に、対応する最下位半語ユニット及び関連づけられたデータが、識別されたレジスタユニットから取り出される。取り出された半語ユニットは、さらに結合され、結果的に得られた行き先レジスタユニットの各々の最下位部分内に入力される。最後に、結果的に得られた行き先レジスタユニットは、さらなる処理のためにレジスタファイル構造内に格納される。
図1は、内部において一組の命令を実行することができるデジタル信号処理システムのブロック図である。図1に示されるように、デジタル信号処理システム100は、処理ユニット110と、メモリ150と、処理ユニット110をメモリ150に結合する1つ以上のバス160と、を含む。
メモリ150は、データ及び命令を、例えばVLIWコンパイラによって生成されるVLIWパケットの形で格納し、各VLIWパケットは、1つ以上の命令を具備する。パケットの各命令は、典型的には、予め決められた幅であり、メモリ150において特定のアドレスを有しており、従って、パケット内の第1の命令は、典型的には、前記パケットの最後の命令よりも低いメモリアドレスを有する。メモリに関するアドレッシング方式は、当業においては非常によく知られており、本明細書においては詳細には説明されない。メモリ150内の命令は、バス160を介して処理ユニット110内にロードされる。
処理ユニット110は、1つ以上のパイプライン140を介して1つ以上のレジスタファイル構造120に結合された中央処理ユニットコア130をさらに具備する。処理ユニット110は、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ、等をさらに具備することができる。
レジスタファイル120は、汎用計算をサポートしさらに以下において図2と関連させてさらに詳細に説明される一組の汎用レジスタユニットと、特殊目的の機能、例えばハードウェアループ、プレディケート、及びその他の特殊オペランド、をサポートする一組の制御レジスタユニットと、をさらに具備する。
図2は、デジタル信号処理システム内の汎用レジスタ構造の一実施形態を示すブロック図である。図2に示されるように、一実施形態においては、レジスタファイル120内の汎用レジスタファイル構造200は、複数のレジスタユニット、例えば、32の幅が32ビットのレジスタユニット210、を含み、各レジスタユニットは、単一のレジスタとして又は整列された対220になった2つの隣接するレジスタユニット210としてアクセス可能である。
汎用レジスタユニット210は、該当する命令に基づいて複数の名前で呼ぶことができる。例えば、レジスタユニット210は、R、R、...、R30、及びR31と個々に呼ぶことができる。さらに、レジスタユニットR及びRは、R1:0と呼ばれる64ビットのレジスタ対220を形成することができる。同様に、レジスタユニットR及びRは、R3:2と呼ばれる64ビットのレジスタ対220を形成することができ、レジスタユニットR28及びR29は、R29:28と呼ばれる64ビットのレジスタ対220を形成することができ、レジスタユニットR30及びR31は、R31:30と呼ばれる64ビットのレジスタ対220を形成することができる。
一実施形態においては、汎用レジスタユニット210は、一般的計算目的、例えば、アドレス生成、スカラー算術、ベクトル算術、に関して用いられ、ロード/格納命令に関するアドレスを含む、命令に関する全オペランド、数値命令に関するデータオペランド、及びベクトル命令に関するベクトルオペランドを提供する。各レジスタユニット210は、レジスタユニット210の高部分に所在するデータを含む最上位半語ユニットと、レジスタユニット210の低部分に所在するデータを含む最下位半語ユニットと、をさらに含む。例えば、32ビットの幅のレジスタユニット210について検討すると、レジスタユニット210の最上位半語ユニット及び最下位半語ユニットは、両方とも16ビットの幅のユニットである。
図3は、超長命令語(VLIW)デジタル信号処理システムアーキテクチャの一実施形態を示すブロック図である。VLIWシステムアーキテクチャ300は、命令ロードバス320、データロードバス322、及びデータロード/格納バス324を介してデジタル信号プロセッサ(DSP)330に結合されたメモリ310を含む。
一実施形態においては、メモリ310は、データ及び命令を、例えば1乃至4つの命令を有するVLIWパケットの形で格納する。メモリ310内に格納された命令は、命令ロードバス320を介してDSP330にロードされる。一実施形態においては、各命令は、4語の幅を有する128ビットの命令ロードバス320を介してDSP330にロードされる32ビットの語幅を有する。一実施形態においては、メモリ310は、統一されたバイトアドレッシング可能なメモリであり、命令とデータの両方を格納する32ビットアドレス空間を有し、リトルエンディアンモードで動作する。
一実施形態においては、DSP330は、シーケンサ335と、4つの処理又は実行ユニット345に関する4つのパイプライン340と、(複数の汎用レジスタユニットを具備する)汎用レジスタファイル構造350、例えば図2に関係して詳細に説明される汎用レジスタファイル構造200と、制御レジスタファイル構造360と、を具備する。シーケンサ335は、命令のパケットをメモリ310から受け取り、命令内に含まれる情報を用いて各々の受け取られたパケットの各命令に関する該当するパイプライン340及び各々の実行ユニット345を決定する。パケットの各命令に関してこの決定を行った後、シーケンサ335は、該当する実行ユニット345による処理のために該当するパイプライン340内に命令を入力する。
一実施形態においては、実行ユニット345は、ベクトルシフトユニットと、ベクトルMACユニットと、ロードユニットと、ロード/格納ユニットと、をさらに具備する。ベクトルシフトユニット345は、例えば、S型、A64型、A32型、J型、及びCR型の命令を実行する。ベクトルMACユニット345は、例えば、M型、A64型、A32型、J型、及びJR型の命令を実行する。ロードユニット345は、メモリ310から汎用レジスタファイル構造350にデータをロードし、例えば、ロード型及びA32型の命令を実行する。ロード/格納ユニット345は、汎用レジスタファイル構造350からデータをロードしてメモリ310に再度格納し、例えばロード型、格納型、及びA32型の命令を実行する。
命令を受け取る各実行ユニット345は、4つの実行ユニット345によって共有される汎用レジスタファイル構造350を用いて命令を実行する。命令によって要求されるデータは、64ビットデータロードバス322を介して汎用レジスタファイル構造350にロードされる。パケットの命令が実行ユニット345によって実行された後は、その結果得られたデータは、汎用レジスタファイル構造350に格納され、次に64ビットデータロード/格納バス324を介してロードされてメモリ310に格納される。一実施形態においては、例えばRISC型機械に関しては、1つの命令は、メモリからデータをロードし、演算を実行し、その結果をメモリ内に格納することができる。代替として、DSPユニットに関しては、上記の演算は、一般的には分離される。典型的には、パケットの1乃至4つの命令が、4つの実行ユニット345によって1クロックサイクルで並行して実行され、各クロックサイクルに関して最大で1つの命令がパイプライン340によって受け取られて処理される。
一実施形態においては、実行ユニット345は、対応する命令を実行するために制御レジスタファイル構造360を用いることもできる。制御レジスタファイル構造360は、一組の特殊レジスタユニット、例えば、修飾子、状態、及びプレディケートレジスタユニット、を具備する。
図4は、デジタル信号処理システム100内の複数のレジスタユニットからの対応する半語ユニットを結合するための方法の一実施形態を示す流れ図である。図4の実施形態において示されるように、処理ブロック410において、デジタル信号処理システム300内のレジスタユニットを結合するための命令が受け取られる。一実施形態においては、処理ユニット、例えばDSP330内の実行ユニット345、は、命令を受け取り、後述されるように命令を実行し、汎用レジスタファイル構造350内に格納された予め決められたソースレジスタユニットからの対応する半語ユニットを結合する。一実施形態においては、予め決められたソースレジスタユニットは、異種であり、汎用レジスタファイル構造350内において隣接せずに所在し、従って、整列された対220のレジスタユニットとしてはアクセス不能である。
処理ブロック420において、予め決められたソースレジスタユニット、例えば第1の32ビット幅のソースレジスタユニット及び第2の32ビット幅のソースレジスタユニット、が識別される。一実施形態においては、実行ユニット345は、汎用レジスタファイル構造350と通信し、結合させることが要求されるソースレジスタユニットを識別する。一実施形態においては、メモリ310は、64ビットデータロードバス322及び/又は64ビットデータロード/格納バス324を介して命令によって要求されるデータを汎用レジスタファイル構造350にロードする。代替として、データは、識別された第1及び第2のソースレジスタユニット内に既に格納しておくことができる。
処理ブロック430において、識別されたソースレジスタユニット及び関連づけられたデータが取り出される。一実施形態においては、実行ユニット345は、識別されたソースレジスタユニット及び関連づけられたデータを汎用レジスタファイル構造350から取り出す。
処理ブロック440において、対応する最上位半語ユニットが、識別されたソースレジスタユニットから取り出される。一実施形態においては、実行ユニット345は、一実施形態においては第1のソースレジスタユニットの最上位又は高半語ユニットであることができる半語ユニット、例えば16ビットの幅のユニット、を第1のソースレジスタユニットから、及び、一実施形態においては第2のソースレジスタユニットの最上位又は高半語ユニットであることができる半語ユニット、例えば16ビットの幅のユニット、を第2のソースレジスタユニットからさらに取り出す。
処理ブロック450において、最上位半語ユニットが結合され、結果的に得られた行き先レジスタユニットの最上位又は高部分内にさらに入力される。一実施形態においては、実行ユニット345は、取り出された最上位半語ユニットを結合し、結合された半語ユニットを結果的に得られた行き先レジスタユニットの最上位又は高部分内に入力する。
処理ブロック460において、対応する最下位半語ユニットが識別されたソースレジスタユニットから取り出される。一実施形態においては、実行ユニット345は、一実施形態においては第1のソースレジスタユニットの最下位又は低半語ユニットであることができる半語ユニット、例えば16ビットの幅のユニット、を第1のソースレジスタユニットから、及び、一実施形態においては第2のソースレジスタユニットの最下位又は低半語ユニットであることができる半語ユニット、例えば16ビットの幅のユニット、を第2のソースレジスタユニットからさらに取り出す。
処理ブロック470において、最下位半語ユニットが結合され、結果的に得られた行き先レジスタユニットの最下位又は低部分内にさらに入力される。一実施形態においては、実行ユニット345は、取り出された最下位半語ユニットを結合し、結合された半語ユニットを結果的に得られた行き先レジスタユニットの最下位又は低部分内に入力する。
最後に、処理ブロック480において、結果的に得られた行き先レジスタユニットがさらなる処理のために格納される。一実施形態においては、実行ユニット345は、結果的に得られた行き先レジスタユニットを汎用レジスタファイル構造350に出力し、結果的に得られた行き先レジスタユニットを追加の命令のさらなる処理のために格納する。
図5は、図4と関係させて説明されるレジスタユニットを結合する方法を示すブロック図である。図5に示されるように、ソースレジスタユニットR510及びR520は、識別されて汎用レジスタファイル構造200から取り出される。
一実施形態においては、ソースレジスタユニットR510及びR520を結合して結果的に得られた行き先レジスタユニットR530内に入れるための命令は、以下のとおりである。
=packHL(R, R
ここで、R及びRは、各々の最上位又は高半語ユニットH及び最下位又は低半語ユニットLを有するソースレジスタユニットである。
図5に示されるように、命令の実行時点で、ソースレジスタユニットR510の最上位又は高半語ユニットRS1及びソースレジスタユニットR520の最上位又は高半語ユニットRT1が結合され、行き先レジスタユニットR530の高部分内にさらに入力される。ソースレジスタユニットR510の最下位又は低半語ユニットRS2及びソースレジスタユニットR520の最下位又は低半語ユニットRT2が結合され、行き先レジスタユニットR530の低部分内にさらに入力される。例えば、R510及びRT520が両方とも32ビット幅のレジスタユニットである場合は、一実施形態においては、結果的に得られた行き先レジスタユニットR530は、64ビットの幅のレジスタである。
図6は、デジタル信号処理システム内の複数のレジスタユニットからの対応する半語ユニットを結合するための命令の一実施形態のブロック図である。図6に示されるように、一実施形態においては、図5と関係して説明される命令は、複数のフィールド、例えば、行き先レジスタユニットRを符号化するために必要な情報を含むフィールド610と、将来の符号化に関して予約された空のフィールド620と、ソースレジスタユニットRを符号化するために必要な情報を含むフィールド630と、将来の符号化に関して予約された他の空のフィールド640と、パケット/ループ構文解析ビット情報を含むフィールド650と、レジスタユニットRを符号化するために必要な情報を含むフィールド660と、演算符号情報を含むフィールド670と、ソースレジスタユニット及び行き先レジスタユニットのレジスタ型に関連する情報を含むフィールド680と、命令クラス情報を含むフィールド690と、を含む。しかしながら、代替として、その他の追加のフィールドを、本発明の適用範囲から逸脱することなしに上記の命令の符号化内に含めることもできる。
当業者は、情報及び信号は様々な異なる技術及び技法のうちのいずれかを用いて表すことができるということを理解するであろう。例えば、上記の説明全体を通じて参照することができるデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場、磁気粒子、光学場、光学粒子、又はそのあらゆる組合せによって表すことができる。
本明細書において開示される実施形態に関係させて説明される様々な例示的論理ブロック、モジュール、回路、及びアルゴリズム上のステップは、電子ハードウェアとして、コンピュータソフトウェアとして、又は両方の組合せとして実装できることを当業者はさらに理解するであろう。ハードウェアとソフトウェアのこの互換性を明確に例示するため、上記においては、様々な例示的構成要素、ブロック、モジュール、回路、及びステップが、各々の機能の観点で一般的に説明されている。該機能がハードウェアとして又はソフトウェアとして実装されるかは、全体的システムに対する特定の用途上の及び設計上の制約事項に依存する。当業者は、説明されている機能を各々の特定の用途に合わせて様々な形で実装することができるが、これらの実装決定は、本発明の適用範囲からの逸脱を生じさせるものであるとは解釈すべきではない。
本明細書において開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、及び回路は、本明細書において説明される機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、その他のプログラミング可能な論理デバイス、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェア構成品、又はそのあらゆる組合せ、とともに実装又は実行することができる。汎用プロセッサはマイクロプロセッサであることができるが、代替として、従来のどのようなプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。さらに、プロセッサは、計算装置の組合せ、例えば、DSPと、1つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサとの組合せ、DSPコアと関連する1つ以上のマイクロプロセッサとの組合せ、又はその他のあらゆる該コンフィギュレーションとの組合せ、として実装することもできる。
本明細書において開示される実施形態に関して説明される方法又はアルゴリズムのステップは、ハードウェア内において直接具体化させること、プロセッサによって実行されるソフトウェア内において具体化させること、又はこれらの2つの組合せにおいて具体化させることができる。これらの実施形態は、何らかの形態のプロセッサ又はプロセッサコア(例えば、コンピュータのCPU)において実行されるソフトウェアプログラムとして又は該ソフトウェアプログラムをサポートするために用いることができること、又は機械又はコンピュータによって読み取り可能な媒体上に又は内部に実装するか実現させることができることが理解されるべきである。機械によって読み取り可能な媒体は、情報を機械(例えばコンピュータ)によって読み取り可能な形で格納又は送信するためのメカニズムを含む。例えば、機械によって読み取り可能な媒体は、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROM(登録商標)メモリ、レジスタ、ハードディスク、取り外し可能なディスク、CD−ROM、又は当業において既知であるその他のあらゆる形態の記憶媒体を含む。1つの典型的な記憶媒体をプロセッサに結合させ、プロセッサが記憶媒体から情報を読み出すようにすること及び記憶媒体に情報を書き込むようにすることができる。代替として、記憶媒体は、プロセッサと一体化させることができる。プロセッサ及び記憶媒体は、ASIC内に常駐することができる。ASICは、ユーザー端末内に常駐することができる。代替として、プロセッサ及び記憶媒体は、ユーザー端末内において個別構成要素として常駐することができる。
開示されている実施形態に関する上記の説明は、当業者が本発明を製造又は使用できるようにすることを目的とするものである。これらの実施形態に対する様々な修正は、当業者にとって容易に明確になるであろう。さらに、本明細書において定められている一般原理は、本発明の精神及び適用範囲を逸脱しない形でその他の実施形態に対しても適用することができる。以上のように、本発明は、本明細書において示されている実施形態に限定することを意図するものではなく、本明細書において開示されている原理及び斬新な特長に一致する限りにおいて最も広範な適用範囲が認められるべきである。
開示されている実施形態に関する上記の説明は、当業者が本発明を製造又は使用できるようにすることを目的とするものである。これらの実施形態に対する様々な修正は、当業者にとって容易に明確になるであろう。さらに、本明細書において定められている一般原理は、本発明の精神及び適用範囲を逸脱しない形でその他の実施形態に対しても適用することができる。以上のように、本発明は、本明細書において示されている実施形態に限定することを意図するものではなく、本明細書において開示されている原理及び斬新な特長に一致する限りにおいて最も広範な適用範囲が認められるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
コンピュータによって読み取り可能な媒体であって、
前記媒体内に含まれる複数の実行可能な命令のうちの1つの命令であって、処理システム内において実行されたときに、前記処理システムに、
レジスタファイル構造内の少なくとも2つのソースレジスタユニットからの対応する半語ユニットを結合させ前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力させる命令、を具備する、コンピュータによって読み取り可能な媒体。
[C2]
各ソースレジスタユニットは、32ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、64ビットの幅のレジスタユニットであるC1に記載のコンピュータによって読み取り可能な媒体。
[C3]
各半語ユニットは、16ビットの幅のユニットであるC2に記載のコンピュータによって読み取り可能な媒体
[C4]
前記命令の実行は、さらに、前記処理システムに、前記少なくとも2つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成させるC1に記載のコンピュータによって読み取り可能な媒体。
[C5]
前記命令の実行は、さらに、前記処理システムに、前記少なくとも2つのソースレジスタユニットと関連づけられたデータをメモリから取り出させ、前記データを前記各々のソースレジスタユニット内に格納させ、前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出させ、前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成させるC1に記載のコンピュータによって読み取り可能な媒体。
[C6]
前記処理システムは、デジタル信号プロセッサであるC1に記載のコンピュータによって読み取り可能な媒体。
[C7]
前記少なくとも2つのソースレジスタユニットは、異種であるC1に記載のコンピュータによって読み取り可能な媒体。
[C8]
前記命令の実行は、さらに、前記処理システムに、前記少なくとも2つのソースレジスタユニットの各々から最上位半語ユニットを取り出させ、前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力させるC1に記載のコンピュータによって読み取り可能な媒体。
[C9]
前記命令の実行は、さらに、前記処理システムに、前記少なくとも2つのソースレジスタユニットの各々から最下位半語ユニットを取り出させ、前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力させるC8に記載のコンピュータによって読み取り可能な媒体。
[C10]
方法であって、
実行可能な命令を受け取ることと、
レジスタファイル構造内の少なくとも2つの異種のソースレジスタユニットからの対応する半語ユニットを結合し、
前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力するための前記命令を実行すること、とを具備する、方法。
[C11]
各ソースレジスタユニットは、32ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、64ビットの幅のレジスタユニットであるC10に記載の方法。
[C12]
各半語ユニットは、16ビットの幅のユニットであるC11に記載の方法。
[C13]
前記実行することは、さらに、前記少なくとも2つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成することを具備するC10に記載の方法。
[C14]
前記実行することは、
前記少なくとも2つのソースレジスタユニットと関連づけられたデータをメモリから取り出すことと、
前記データを前記各々のソースレジスタユニット内に格納することと、
前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出すことと、
前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成すること、とをさらに具備するC10に記載の方法。
[C15]
前記処理システムは、デジタル信号プロセッサであるC10に記載の方法。
[C16]
前記少なくとも2つのソースレジスタユニットは、異種であるC10に記載の方法。
[C17]
前記実行することは、
前記少なくとも2つのソースレジスタユニットの各々から最上位半語ユニットを取り出すことと、
前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力すること、とをさらに具備するC10に記載の方法。
[C18]
前記実行することは、
前記少なくとも2つのソースレジスタユニットの各々から最下位半語ユニットを取り出すことと、
前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力すること、とをさらに具備するC17に記載の方法。
[C19]
装置であって、
少なくとも1つの命令を具備するパケットを格納するためのメモリと、
前記メモリに結合されたプロセッサであって、処理ユニットと前記処理ユニットに結合されたレジスタファイル構造とをさらに具備するプロセッサと、を具備し、
前記処理ユニットは、
前記レジスタファイル構造内の少なくとも2つのソースレジスタユニットからの対応する半語ユニットを結合し、前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力する前記パケット内の命令を実行する、装置。
[C20]
各ソースレジスタユニットは、32ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、64ビットの幅のレジスタユニットであるC19に記載の装置。
[C21]
各半語ユニットは、16ビットの幅のユニットであるC20に記載の装置。
[C22]
前記処理ユニットは、さらに、前記少なくとも2つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成するC19に記載の装置。
[C23]
前記処理ユニットは、さらに、前記少なくとも2つのソースレジスタユニットと関連づけられたデータを前記メモリから取り出し、前記データを前記各々のソースレジスタユニット内に格納し、前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出すことと、前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成するC19に記載の装置。
[C24]
前記プロセッサは、デジタル信号プロセッサであるC19に記載の装置。
[C25]
前記少なくとも2つのソースレジスタユニットは、異種であるC19に記載の装置。
[C26]
前記処理ユニットは、さらに、前記少なくとも2つのソースレジスタユニットの各々から最上位半語ユニットを取り出し、前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力するC19に記載の装置。
[C27]
前記処理ユニットは、さらに、前記少なくとも2つのソースレジスタユニットの各々から最下位半語ユニットを取り出し、前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力するC26に記載の装置。
[C28]
装置であって、
実行可能な命令を受け取るための手段と、
レジスタファイル構造内の少なくとも2つの異種のソースレジスタユニットからの対応する半語ユニットを結合し、
前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力するための前記命令を実行するための手段と、を具備する、装置。
[C29]
各ソースレジスタユニットは、32ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、64ビットの幅のレジスタユニットであるC28に記載の装置。
[C30]
各半語ユニットは、16ビットの幅のユニットであるC29に記載の装置。
[C31]
さらに、前記少なくとも2つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成するための手段、を具備する、C28に記載の装置。 [C32]
前記少なくとも2つのソースレジスタユニットと関連づけられたデータをメモリから取り出すための手段と、
前記データを前記各々のソースレジスタユニット内に格納するための手段と、
前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出すための手段と、
前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成するための手段と、をさらに具備するC28に記載の装置。
[C33]
前記少なくとも2つのソースレジスタユニットは、異種であるC28に記載の装置。
[C34]
前記少なくとも2つのソースレジスタユニットの各々から最上位半語ユニットを取り出すための手段と、
前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力するための手段と、をさらに具備する、C28に記載の装置。
[C35]
前記少なくとも2つのソースレジスタユニットの各々から最下位半語ユニットを取り出すための手段と、
前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力するための手段と、をさらに具備する、C34に記載の装置。

Claims (35)

  1. コンピュータによって読み取り可能な媒体であって、
    前記媒体内に含まれる複数の実行可能な命令のうちの1つの命令であって、処理システム内において実行されたときに、前記処理システムに、
    レジスタファイル構造内の少なくとも2つのソースレジスタユニットからの対応する半語ユニットを結合させ前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力させる命令、を具備する、コンピュータによって読み取り可能な媒体。
  2. 各ソースレジスタユニットは、32ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、64ビットの幅のレジスタユニットである請求項1に記載のコンピュータによって読み取り可能な媒体。
  3. 各半語ユニットは、16ビットの幅のユニットである請求項2に記載のコンピュータによって読み取り可能な媒体
  4. 前記命令の実行は、さらに、前記処理システムに、前記少なくとも2つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成させる請求項1に記載のコンピュータによって読み取り可能な媒体。
  5. 前記命令の実行は、さらに、前記処理システムに、前記少なくとも2つのソースレジスタユニットと関連づけられたデータをメモリから取り出させ、前記データを前記各々のソースレジスタユニット内に格納させ、前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出させ、前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成させる請求項1に記載のコンピュータによって読み取り可能な媒体。
  6. 前記処理システムは、デジタル信号プロセッサである請求項1に記載のコンピュータによって読み取り可能な媒体。
  7. 前記少なくとも2つのソースレジスタユニットは、異種である請求項1に記載のコンピュータによって読み取り可能な媒体。
  8. 前記命令の実行は、さらに、前記処理システムに、前記少なくとも2つのソースレジスタユニットの各々から最上位半語ユニットを取り出させ、前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力させる請求項1に記載のコンピュータによって読み取り可能な媒体。
  9. 前記命令の実行は、さらに、前記処理システムに、前記少なくとも2つのソースレジスタユニットの各々から最下位半語ユニットを取り出させ、前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力させる請求項8に記載のコンピュータによって読み取り可能な媒体。
  10. 方法であって、
    実行可能な命令を受け取ることと、
    レジスタファイル構造内の少なくとも2つの異種のソースレジスタユニットからの対応する半語ユニットを結合し、
    前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力するための前記命令を実行すること、とを具備する、方法。
  11. 各ソースレジスタユニットは、32ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、64ビットの幅のレジスタユニットである請求項10に記載の方法。
  12. 各半語ユニットは、16ビットの幅のユニットである請求項11に記載の方法。
  13. 前記実行することは、さらに、前記少なくとも2つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成することを具備する請求項10に記載の方法。
  14. 前記実行することは、
    前記少なくとも2つのソースレジスタユニットと関連づけられたデータをメモリから取り出すことと、
    前記データを前記各々のソースレジスタユニット内に格納することと、
    前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出すことと、
    前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成すること、とをさらに具備する請求項10に記載の方法。
  15. 前記処理システムは、デジタル信号プロセッサである請求項10に記載の方法。
  16. 前記少なくとも2つのソースレジスタユニットは、異種である請求項10に記載の方法。
  17. 前記実行することは、
    前記少なくとも2つのソースレジスタユニットの各々から最上位半語ユニットを取り出すことと、
    前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力すること、とをさらに具備する請求項10に記載の方法。
  18. 前記実行することは、
    前記少なくとも2つのソースレジスタユニットの各々から最下位半語ユニットを取り出すことと、
    前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力すること、とをさらに具備する請求項17に記載の方法。
  19. 装置であって、
    少なくとも1つの命令を具備するパケットを格納するためのメモリと、
    前記メモリに結合されたプロセッサであって、処理ユニットと前記処理ユニットに結合されたレジスタファイル構造とをさらに具備するプロセッサと、を具備し、
    前記処理ユニットは、
    前記レジスタファイル構造内の少なくとも2つのソースレジスタユニットからの対応する半語ユニットを結合し、前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力する前記パケット内の命令を実行する、装置。
  20. 各ソースレジスタユニットは、32ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、64ビットの幅のレジスタユニットである請求項19に記載の装置。
  21. 各半語ユニットは、16ビットの幅のユニットである請求項20に記載の装置。
  22. 前記処理ユニットは、さらに、前記少なくとも2つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成する請求項19に記載の装置。
  23. 前記処理ユニットは、さらに、前記少なくとも2つのソースレジスタユニットと関連づけられたデータを前記メモリから取り出し、前記データを前記各々のソースレジスタユニット内に格納し、前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出すことと、前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成する請求項19に記載の装置。
  24. 前記プロセッサは、デジタル信号プロセッサである請求項19に記載の装置。
  25. 前記少なくとも2つのソースレジスタユニットは、異種である請求項19に記載の装置。
  26. 前記処理ユニットは、さらに、前記少なくとも2つのソースレジスタユニットの各々から最上位半語ユニットを取り出し、前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力する請求項19に記載の装置。
  27. 前記処理ユニットは、さらに、前記少なくとも2つのソースレジスタユニットの各々から最下位半語ユニットを取り出し、前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力する請求項26に記載の装置。
  28. 装置であって、
    実行可能な命令を受け取るための手段と、
    レジスタファイル構造内の少なくとも2つの異種のソースレジスタユニットからの対応する半語ユニットを結合し、
    前記対応する半語ユニットを、結果的に得られた行き先レジスタユニットの各々の部分の中に入力するための前記命令を実行するための手段と、を具備する、装置。
  29. 各ソースレジスタユニットは、32ビットの幅のレジスタユニットであり、前記結果的に得られた行き先レジスタユニットは、64ビットの幅のレジスタユニットである請求項28に記載の装置。
  30. 各半語ユニットは、16ビットの幅のユニットである請求項29に記載の装置。
  31. さらに、前記少なくとも2つの異種のソースレジスタユニットからの前記対応する半語ユニットと関連づけられたデータを、前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成するための手段、を具備する、請求項28に記載の装置。
  32. 前記少なくとも2つのソースレジスタユニットと関連づけられたデータをメモリから取り出すための手段と、
    前記データを前記各々のソースレジスタユニット内に格納するための手段と、
    前記対応する半語ユニットと関連づけられたデータを前記各々のソースレジスタユニットから取り出すための手段と、
    前記対応する半語ユニットと関連づけられた前記データを前記結果的に得られた行き先レジスタユニットの前記各々の部分の中に合成するための手段と、をさらに具備する請求項28に記載の装置。
  33. 前記少なくとも2つのソースレジスタユニットは、異種である請求項28に記載の装置。
  34. 前記少なくとも2つのソースレジスタユニットの各々から最上位半語ユニットを取り出すための手段と、
    前記最上位半語ユニットを前記行き先レジスタユニットの最上位部分内に入力するための手段と、をさらに具備する、請求項28に記載の装置。
  35. 前記少なくとも2つのソースレジスタユニットの各々から最下位半語ユニットを取り出すための手段と、
    前記最下位半語ユニットを前記行き先レジスタユニットの最下位部分内に入力するための手段と、をさらに具備する、請求項34に記載の装置。
JP2016100520A 2006-05-10 2016-05-19 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム Pending JP2016194929A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/431,300 US8127117B2 (en) 2006-05-10 2006-05-10 Method and system to combine corresponding half word units from multiple register units within a microprocessor
US11/431,300 2006-05-10

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013142053A Division JP6242615B2 (ja) 2006-05-10 2013-07-05 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018090567A Division JP2018156672A (ja) 2006-05-10 2018-05-09 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム

Publications (2)

Publication Number Publication Date
JP2016194929A true JP2016194929A (ja) 2016-11-17
JP2016194929A5 JP2016194929A5 (ja) 2017-03-02

Family

ID=38561190

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2009510126A Withdrawn JP2009536774A (ja) 2006-05-10 2007-05-07 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム
JP2013142053A Active JP6242615B2 (ja) 2006-05-10 2013-07-05 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム
JP2016100520A Pending JP2016194929A (ja) 2006-05-10 2016-05-19 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム
JP2018090567A Pending JP2018156672A (ja) 2006-05-10 2018-05-09 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2009510126A Withdrawn JP2009536774A (ja) 2006-05-10 2007-05-07 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム
JP2013142053A Active JP6242615B2 (ja) 2006-05-10 2013-07-05 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018090567A Pending JP2018156672A (ja) 2006-05-10 2018-05-09 マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム

Country Status (6)

Country Link
US (1) US8127117B2 (ja)
EP (1) EP2027533A2 (ja)
JP (4) JP2009536774A (ja)
KR (1) KR100988964B1 (ja)
CN (2) CN104133748B (ja)
WO (1) WO2007134013A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127117B2 (en) * 2006-05-10 2012-02-28 Qualcomm Incorporated Method and system to combine corresponding half word units from multiple register units within a microprocessor
US8417922B2 (en) * 2006-08-02 2013-04-09 Qualcomm Incorporated Method and system to combine multiple register units within a microprocessor
JP2011242995A (ja) * 2010-05-18 2011-12-01 Toshiba Corp 半導体装置
US20120254589A1 (en) * 2011-04-01 2012-10-04 Jesus Corbal San Adrian System, apparatus, and method for aligning registers
KR101783312B1 (ko) 2011-11-15 2017-10-10 삼성전자주식회사 클러스터 간의 통신으로 인한 오버헤드를 최소화하는 장치 및 방법
JP5701930B2 (ja) * 2013-04-22 2015-04-15 株式会社東芝 半導体装置
US11593117B2 (en) 2018-06-29 2023-02-28 Qualcomm Incorporated Combining load or store instructions
KR20200069544A (ko) 2018-12-07 2020-06-17 대우조선해양 주식회사 파이프 시편 절단용 지그기구
KR102663496B1 (ko) * 2022-08-02 2024-05-08 이화여자대학교 산학협력단 프로세서의 레지스터 캐시 인덱스 결정 방법 및 이를 수행하는 전자 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10512988A (ja) * 1995-09-01 1998-12-08 フィリップス エレクトロニクス ノース アメリカ コーポレイション プロセッサのカスタム動作のための方法及び装置
JPH11511575A (ja) * 1995-08-31 1999-10-05 インテル・コーポレーション パック・データを処理する1組の命令
JP2005174293A (ja) * 2003-12-09 2005-06-30 Arm Ltd データ要素に対するデータ処理操作を並列に実行するためのデータ処理装置及び方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7317545A (nl) * 1973-12-21 1975-06-24 Philips Nv Geheugensysteem met hoofd- en buffergeheugen.
JPH0415832A (ja) * 1990-05-09 1992-01-21 Nec Corp 障害処理方式
US5564056A (en) * 1994-03-01 1996-10-08 Intel Corporation Method and apparatus for zero extension and bit shifting to preserve register parameters in a microprocessor utilizing register renaming
DE69524862T2 (de) 1995-05-16 2002-11-07 Oce Tech Bv Druckersystem, das ein Kommunikationssteuerungsgerät beinhaltet
GB9509987D0 (en) 1995-05-17 1995-07-12 Sgs Thomson Microelectronics Manipulation of data
GB9509988D0 (en) * 1995-05-17 1995-07-12 Sgs Thomson Microelectronics Matrix transposition
US5933650A (en) * 1997-10-09 1999-08-03 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US6052522A (en) 1997-10-30 2000-04-18 Infineon Technologies North America Corporation Method and apparatus for extracting data stored in concatenated registers
CN1198208C (zh) * 1999-05-13 2005-04-20 Arc国际美国控股公司 流水线处理器内用于松散寄存器编码的方法和装置
US6463525B1 (en) * 1999-08-16 2002-10-08 Sun Microsystems, Inc. Merging single precision floating point operands
US6631460B1 (en) * 2000-04-27 2003-10-07 Institute For The Development Of Emerging Architectures, L.L.C. Advanced load address table entry invalidation based on register address wraparound
WO2001086431A1 (en) * 2000-05-05 2001-11-15 Lee Ruby B A method and system for performing subword permutation instructions for use in two-dimensional multimedia processing
US7228403B2 (en) 2000-12-23 2007-06-05 International Business Machines Corporation Method for handling 32 bit results for an out-of-order processor with a 64 bit architecture
JP3776732B2 (ja) 2001-02-02 2006-05-17 株式会社東芝 プロセッサ装置
US7103756B2 (en) * 2002-09-30 2006-09-05 Hewlett-Packard Development Company, L.P. Data processor with individually writable register subword locations
US7689641B2 (en) * 2003-06-30 2010-03-30 Intel Corporation SIMD integer multiply high with round and shift
GB2409066B (en) * 2003-12-09 2006-09-27 Advanced Risc Mach Ltd A data processing apparatus and method for moving data between registers and memory
US7376813B2 (en) * 2004-03-04 2008-05-20 Texas Instruments Incorporated Register move instruction for section select of source operand
US7237096B1 (en) * 2004-04-05 2007-06-26 Sun Microsystems, Inc. Storing results of producer instructions to facilitate consumer instruction dependency tracking
US8621444B2 (en) * 2004-06-01 2013-12-31 The Regents Of The University Of California Retargetable instruction set simulators
US8127117B2 (en) * 2006-05-10 2012-02-28 Qualcomm Incorporated Method and system to combine corresponding half word units from multiple register units within a microprocessor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11511575A (ja) * 1995-08-31 1999-10-05 インテル・コーポレーション パック・データを処理する1組の命令
JPH10512988A (ja) * 1995-09-01 1998-12-08 フィリップス エレクトロニクス ノース アメリカ コーポレイション プロセッサのカスタム動作のための方法及び装置
JP2005174293A (ja) * 2003-12-09 2005-06-30 Arm Ltd データ要素に対するデータ処理操作を並列に実行するためのデータ処理装置及び方法

Also Published As

Publication number Publication date
EP2027533A2 (en) 2009-02-25
US8127117B2 (en) 2012-02-28
CN104133748B (zh) 2018-10-19
JP2013242892A (ja) 2013-12-05
US20070266226A1 (en) 2007-11-15
KR20090009959A (ko) 2009-01-23
CN101438236A (zh) 2009-05-20
WO2007134013B1 (en) 2008-02-14
JP6242615B2 (ja) 2017-12-06
WO2007134013A2 (en) 2007-11-22
WO2007134013A3 (en) 2008-01-10
JP2009536774A (ja) 2009-10-15
JP2018156672A (ja) 2018-10-04
KR100988964B1 (ko) 2010-10-20
CN104133748A (zh) 2014-11-05

Similar Documents

Publication Publication Date Title
JP6242615B2 (ja) マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム
JP5680709B2 (ja) マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム
JP3547482B2 (ja) 情報処理装置
US7558942B1 (en) Memory mapped register file and method for accessing the same
JP3618822B2 (ja) 可変サイズのオペランドを利用してオペレーションを実行するプロセッサ、ならびにそれにおけるデータ処理装置およびオペランドデータを処理する方法
US7730285B1 (en) Data processing system with partial bypass reorder buffer and combined load/store arithmetic logic unit and processing method thereof
CN103098020B (zh) 由多个指令集使用的寄存器间映射
JP6466388B2 (ja) 方法及び装置
JPH09311786A (ja) データ処理装置
JP2007533006A (ja) 複合命令形式および複合オペレーション形式を有するプロセッサ
JP2004171573A (ja) 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ
JP2014182796A (ja) 書き込みマスク・レジスタの末尾の最下位マスキング・ビットを判定するためのシステム、装置、および方法
JP5326314B2 (ja) プロセサおよび情報処理装置
KR101056553B1 (ko) 마이크로프로세서 내에서 시프팅 및 라운딩 연산들을 수행하기 위한 방법 및 시스템
JP5732139B2 (ja) データ要素の条件付き選択
KR101635856B1 (ko) 데이터 요소에 있는 비트들의 제로화를 위한 시스템, 장치, 및 방법
US11775310B2 (en) Data processing system having distrubuted registers
JP5794172B2 (ja) プロセッサ、システムおよびプロセッサの動作方法
JP2005134987A (ja) パイプライン演算処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170925

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180109