JP5680709B2 - マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム - Google Patents
マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム Download PDFInfo
- Publication number
- JP5680709B2 JP5680709B2 JP2013125449A JP2013125449A JP5680709B2 JP 5680709 B2 JP5680709 B2 JP 5680709B2 JP 2013125449 A JP2013125449 A JP 2013125449A JP 2013125449 A JP2013125449 A JP 2013125449A JP 5680709 B2 JP5680709 B2 JP 5680709B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- unit
- register unit
- resulting
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 44
- 238000012545 processing Methods 0.000 claims description 76
- 230000004044 response Effects 0.000 claims 7
- 238000004891 communication Methods 0.000 claims 2
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
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)
Description
RD=combine(RS,RT)
命令の実行時に、レジスタ部RS510とレジスタ部RT520とが組み合わされ/連結されて、結果として、より大きい宛先レジスタ部RD530となり、レジスタ部RS510の中に存在するデータが、レジスタ部RD530の高い部分に入力されるようになり、レジスタ部RT520の中に存在するデータが、レジスタ部RD530の低い部分に入力されるようになる。例えば、RS510とRT520がともに、32ビット幅レジスタ部である場合、結果としての宛先レジスタ部RD530は、64ビット幅レジスタである。
RD=combine(RT[HL],RS[HL])
ただし、RT[HL]は、高いハーフワードHと、低いハーフワードLとを有するソースレジスタ部RTであり、RSは、高いハーフワードHと、低いハーフワードLとを有するソースレジスタ部RSである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
コンピュータ可読媒体であって、
処理システムにおいて実行されると、前記処理システムに、結果としてレジスタ部を形成するように、レジスタファイル構造から第1のレジスタ部および第2のレジスタ部を選択的に組み合わせるようにし、前記第1のレジスタ部と前記第2のレジスタ部は、前記レジスタファイル構造内で隣接せずに配置されている、前記媒体に含まれる複数の実行可能命令に関する命令を含む、コンピュータ可読媒体。
[C2]
前記第1のレジスタ部内に存在するデータおよび前記第2のレジスタ部内に存在するデータは前記結果としてのレジスタ部の対応する部分の中に格納される、C1に記載のコンピュータ可読媒体。
[C3]
前記第1のレジスタ部および前記第2のレジスタ部は32ビット幅レジスタ部であり、前記結果としてのレジスタ部は64ビット幅レジスタ部である、C2に記載のコンピュータ可読媒体。
[C4]
前記第1のレジスタ部の第1のハーフワード部および前記第2のレジスタ部の第2のハーフワード部は前記結果としてのレジスタ部の対応する部分の中に格納される、C1に記載のコンピュータ可読媒体。
[C5]
前記第1のハーフワード部および前記第2のハーフワード部は16ビット幅部であり、前記結果としてのレジスタ部は32ビット幅レジスタ部である、C4に記載のコンピュータ可読媒体。
[C6]
方法であって、
実行可能命令を受信し、および
結果としてレジスタ部を形成するためレジスタファイル構造から第1のレジスタ部と第2のレジスタ部とを選択的に組み合わせるために前記命令を実行することを含み、前記第1のレジスタ部と前記第2のレジスタ部は前記レジスタファイル構造内で隣接せずに配置されている方法。
[C7]
前記実行することは、前記第1のレジスタ部内に存在するデータおよび前記第2のレジスタ部内に存在するデータを前記結果としてのレジスタ部内の同一の幅の対応する部分の中に格納することをさらに含む、C6に記載の方法。
[C8]
前記第1のレジスタ部および前記第2のレジスタ部は32ビット幅レジスタ部であり、前記結果としてのレジスタ部は64ビット幅レジスタ部である、C7に記載の方法。
[C9]
前記実行することは、前記第1のレジスタ部の第1のハーフワード部、および前記第2のレジスタ部の第2のハーフワード部を前記結果としてのレジスタ部内の同一の幅の対応する部分の中に格納することをさらに含む、C6に記載の方法。
[C10]
前記第1のハーフワード部および前記第2のハーフワード部は16ビット幅部であり、前記結果としてのレジスタ部は32ビット幅レジスタ部であるC9に記載の方法。
[C11]
前記実行することは、
前記第1のレジスタ部および前記第2のレジスタ部に関連するデータをメモリから取り出すこと、
前記データを、前記第1のレジスタ部内および前記第2のレジスタ部内にそれぞれ格納すること、および
前記結果としてのレジスタ部に前記データを選択的に組み合わせることをさらに含む、C6に記載の方法。
[C12]
方法であって、
処理部内のレジスタファイル構造から第1のレジスタ部および第2のレジスタ部を取り出し、前記第1のレジスタ部および前記第2のレジスタ部は前記レジスタファイル構造内で隣接せずに配置されており、
結果としてのレジスタ部を形成するために、単一の命令の実行中に前記第1のレジスタ部と前記第2のレジスタ部とを選択的に組み合わせ、および
さらなる処理のために、前記結果としてのレジスタ部を前記レジスタファイル構造内に格納することを含む方法。
[C13]
前記組み合わせることは、
前記第1のレジスタ部と前記第2のレジスタ部とを組み合わせる前記命令を受信すること、および
前記処理部内で前記命令を実行することをさらに含む、C12に記載の方法。
[C14]
前記組み合わせることは、前記第1のレジスタ部内に存在するデータおよび前記第2のレジスタ部内に存在するデータを前記結果としてのレジスタ部内の同一の幅の対応する部分の中に格納することをさらに含む、C12に記載の方法。
[C15]
前記第1のレジスタ部および前記第2のレジスタ部は、32ビット幅レジスタ部であり、前記結果としてのレジスタ部は64ビット幅レジスタ部である、C14に記載の方法。
[C16]
前記組み合わせることは、前記第1のレジスタ部の第1のハーフワード部および前記第2のレジスタ部の第2のハーフワード部を前記結果としてのレジスタ部内の同一の幅の対応する部分の中に格納することをさらに含む、C12に記載の方法。
[C17]
前記第1のハーフワード部および前記第2のハーフワード部は16ビット幅部であり、前記結果としてのレジスタ部は32ビット幅レジスタ部である、C16に記載の方法。
[C18]
前記第1のレジスタ部および前記第2のレジスタ部に関連するデータをメモリから取り出すこと、
前記データを前記第1のレジスタ部内および前記第2のレジスタ部内にそれぞれ格納すること、および
前記結果としてのレジスタ部に前記データを選択的に組み合わせることをさらに含む、C12に記載の方法。
[C19]
実行可能命令を含むコンピュータ可読媒体であって、
処理システムにおいて実行されると、前記処理システムに、
処理部内のレジスタファイル構造から第1のレジスタ部および第2のレジスタ部を取り出し、前記第1のレジスタ部および前記第2のレジスタ部は前記レジスタファイル構造内で隣接せずに配置されおり、
単一の命令の実行中に結果としてのレジスタ部を形成するため、前記第1のレジスタ部と前記第2のレジスタ部とを選択的に組み合わせ、および
前記結果としてのレジスタ部をさらなる処理のために前記レジスタファイル構造内に格納する
ことを含む方法を実行させるようにするコンピュータ可読媒体。
[C20]
前記組み合わせることは、
前記第1のレジスタ部と前記第2のレジスタ部とを組み合わせる前記命令を受信すること、および
前記処理部内で前記命令を実行することをさらに含む、
C19に記載のコンピュータ可読媒体。
[C21]
前記組み合わせることは、
前記第1のレジスタ部内に存在するデータおよび前記第2のレジスタ部内に存在するデータを前記結果としてのレジスタ部内の同一の幅の対応する部分の中に格納することをさらに含む、C19に記載のコンピュータ可読媒体。
[C22]
前記第1のレジスタ部および前記第2のレジスタ部は32ビット幅レジスタ部であり、前記結果としてのレジスタ部は64ビット幅レジスタ部である、C21に記載のコンピュータ可読媒体。
[C23]
前記組み合わせることは、前記第1のレジスタ部の第1のハーフワード部および前記第2のレジスタ部の第2のハーフワード部を前記結果としてのレジスタ部内の同一の幅の対応する部分の中に格納することをさらに含む、C19に記載のコンピュータ可読媒体。
[C24]
前記第1のハーフワード部および前記第2のハーフワード部は16ビット幅部であり、前記結果としてのレジスタ部は32ビット幅レジスタ部である、C23に記載のコンピュータ可読媒体。
[C25]
前記方法は、
前記第1のレジスタ部および前記第2のレジスタ部に関連するデータをメモリから取り出すこと、
前記データを前記第1のレジスタ部内および前記第2のレジスタ部内にそれぞれ格納すること、および
前記結果としてのレジスタ部に前記データを選択的に組み合わせる、
ことをさらに含む、C19に記載のコンピュータ可読媒体。
[C26]
集積回路であって、
1つまたは複数の命令を含むパケットを格納するメモリと、および
前記メモリに結合されたプロセッサとを含み、前記プロセッサは処理部および前記処理部に結合されたレジスタファイル構造とをさらに含み、
前記処理部は、第1のレジスタ部と第2のレジスタ部とを前記レジスタファイル構造から取り出し、第1のレジスタ部と第2のレジスタ部は、前記第1のレジスタ部と前記第2のレジスタ部とを選択的に組み合わせ、単一の命令の実行中に結果としてのレジスタ部を形成し、そして前記結果としてのレジスタ部をさらなる処理のために前記レジスタファイル構造内に格納するため、前記レジスタファイル構造内で隣接せずに配置されている、集積回路。
[C27]
前記処理部は前記第1のレジスタ部と前記第2のレジスタ部とを組み合わせる前記命令を前記メモリからさらに受信しそして前記命令を実行する、C26に記載の回路。
[C28]
前記処理部は、前記第1のレジスタ部内に存在するデータおよび前記第2のレジスタ部内に存在するデータを前記結果としてのレジスタ部内の同一の幅の対応する部分の中にさらに格納する、C26に記載の回路。
[C29]
前記第1のレジスタ部および前記第2のレジスタ部は32ビット幅レジスタ部であり、前記結果としてのレジスタ部は64ビット幅レジスタ部である、C28に記載の回路。
[C30]
前記処理部は、前記第1のレジスタ部の第1のハーフワード部および前記第2のレジスタ部の第2のハーフワード部を前記結果としてのレジスタ部内の同一の幅の対応する部分の中にさらに格納する、C26に記載の回路。
[C31]
前記第1のハーフワード部および前記第2のハーフワード部は16ビット幅部であり、前記結果としてのレジスタ部は32ビット幅レジスタ部である、C30に記載の回路。
[C32]
前記メモリは前記第1のレジスタ部および前記第2のレジスタ部に関連するデータをさらに格納し、前記レジスタファイル構造は前記データをさらに取り出し前記データを前記第1のレジスタ部内および前記第2のレジスタ部内にそれぞれ格納し、前記処理部は前記データを前記結果としてのレジスタ部内に選択的にさらに組み合わせる、C26に記載の回路。
[C33]
装置であって、
処理部内のレジスタファイル構造から、前記レジスタファイル構造内で隣接せずに配置されている第1のレジスタ部と第2のレジスタ部とを取り出するための手段と、
単一の命令の実行中に、結果としてレジスタ部を形成するために、前記第1のレジスタ部と前記第2のレジスタ部とを選択的に組み合わせる手段と、および
前記結果としてのレジスタ部をさらなる処理のために前記レジスタファイル構造内に格納するための手段と
を含む装置。
[C34]
前記第1のレジスタ部と前記第2のレジスタ部とを組み合わせる前記命令を受信するための手段と、
前記処理部内で前記命令を実行するための手段と
をさらに含む、C33に記載の装置。
[C35]
前記第1のレジスタ部内に存在するデータおよび前記第2のレジスタ部内に存在するデータを前記結果としてのレジスタ部内の同一の幅の対応する部分の中に格納するための手段をさらに含む、C33に記載の装置。
[C36]
前記第1のレジスタ部および前記第2のレジスタ部は32ビット幅レジスタ部であり、前記結果としてのレジスタ部は、4ビット幅レジスタ部である、C35に記載の装置。
[C37]
前記第1のレジスタ部の第1のハーフワード部、および前記第2のレジスタ部の第2のハーフワード部を、前記結果としてのレジスタ部内の同一の幅の対応する部分の中に格納するための手段をさらに含む、C33に記載の装置。
[C38]
前記第1のハーフワード部および前記第2のハーフワード部は16ビット幅部であり、前記結果としてのレジスタ部は32ビット幅レジスタ部である、C37に記載の装置。
[C39]
前記第1のレジスタ部および前記第2のレジスタ部に関連するデータをメモリから取り出するための手段と、
前記データを、前記第1のレジスタ部内、および前記第2のレジスタ部内にそれぞれ格納するための手段と、
前記結果としてのレジスタ部内に前記データを選択的に組み合わせるための手段とをさらに含む、C33に記載の装置。
Claims (35)
- 命令を記憶する非一時的なコンピュータ可読有形媒体であって、
前記命令は、プロセッサによって実行されると、前記プロセッサに、
レジスタファイル構造の第1のレジスタ部と、前記レジスタファイル構造の第2のレジスタ部とを識別することであって、前記第1のレジスタ部と前記第2のレジスタ部は、前記レジスタファイル構造の列内で隣接して格納されていないことと、
メモリからの第1のデータを前記識別された第1のレジスタ部に読み込み、前記メモリからの第2のデータを前記識別された第2のレジスタ部に読み込むことと、
結果としてのレジスタ部に、組み合わされたデータを格納するために、前記読み込まれた第1のレジスタ部のすべてのデータビットを備える前記第1のデータと前記読み込まれた第2のレジスタ部のすべてのデータビットを備える前記第2のデータとを組み合わせることであって、なお、前記結果としてのレジスタ部は、前記第1のレジスタ部よりも大きく、また、前記第2のレジスタ部よりも大きいことと
を実行させる、非一時的なコンピュータ可読有形媒体。 - 前記第1のデータは、前記結果としてのレジスタ部の第1の連続する部分において格納され、前記第2のデータは、前記結果としてのレジスタ部の第2の連続する部分において格納される、請求項1に記載の非一時的なコンピュータ可読有形媒体。
- 前記第1のレジスタ部は、第1の32ビット幅レジスタ部を含み、前記第2のレジスタ部は、第2の32ビット幅レジスタ部を含み、前記結果としてのレジスタ部は、64ビット幅レジスタ部を含む、請求項2に記載の非一時的なコンピュータ可読有形媒体。
- 前記プロセッサは、前記第1のデータおよび前記第2のデータを連結することによって前記第1および第2のデータを組み合わせるためのものである請求項1に記載の非一時的なコンピュータ可読有形媒体。
- 前記第1のデータおよび前記第2のデータを組み合わせるために、前記レジスタファイル構造から、前記読み込まれた第1のレジスタ部と、前記読み込まれた第2のレジスタ部とを取り出すように前記プロセッサによって実行可能な命令をさらに備える請求項1に記載の非一時的なコンピュータ可読有形媒体。
- 前記レジスタファイル構造において、前記結果としてのレジスタ部を格納するように前記プロセッサによって実行可能な命令をさらに備える請求項1に記載の非一時的なコンピュータ可読有形媒体。
- レジスタファイル構造の第1のレジスタ部および前記レジスタファイル構造の第2のレジスタ部からのデータを組み合わせるための命令を受信することと、
前記命令を処理部において実行することと
を備え、前記命令を実行することは、
前記第1のレジスタ部と、前記第2のレジスタ部とを識別することであって、なお、前記第1のレジスタ部と前記第2のレジスタ部は、前記レジスタファイル構造の列内で隣接して格納されていないことと、
メモリからの第1のデータを前記識別された第1のレジスタ部に読み込み、前記メモリからの第2のデータを前記識別された第2のレジスタ部に読み込むことと、
結果としてのレジスタ部に格納される組み合わされたデータを形成するために、前記読み込まれた第1のレジスタ部に含まれたすべてのデータビットを備える前記第1のデータと、前記読み込まれた第2のレジスタ部に含まれたすべてのデータビットを備える前記第2のデータとを組み合わせることであって、なお、前記結果としてのレジスタ部は、前記第1のレジスタ部よりも大きいか、または、前記第2のレジスタ部よりも大きいこととを備える方法。 - 前記第1のデータおよび前記第2のデータを組み合わせることはさらに、前記結果としてのレジスタ部の第1の連続する部分に前記第1のデータを含めることと、前記結果としてのレジスタ部の第2の連続する部分に前記第2のデータを含めることとを備える、請求項7に記載の方法。
- 前記第1のレジスタ部は、第1の32ビット幅レジスタ部を含み、前記第2のレジスタ部は、第2の32ビット幅レジスタ部を含み、前記結果としてのレジスタ部は、64ビット幅レジスタ部を含む、請求項8に記載の方法。
- 前記第1のデータおよび前記第2のデータを組み合わせることはさらに、前記レジスタファイル構造から、前記読み込まれた第1のレジスタ部と、前記読み込まれた第2のレジスタ部とを取り出すことを備える請求項7に記載の方法。
- 前記第1のデータおよび前記第2のデータを組み合わせることは、前記第1および第2のデータを連結することを備える請求項7に記載の方法。
- 前記結果としてのレジスタ部は、単一の命令の実行中に形成される請求項7に記載の方法。
- 前記レジスタファイル構造において前記結果としてのレジスタ部を格納することをさらに備える請求項7に記載の方法。
- 前記第1のレジスタ部および前記第2のレジスタ部を識別することは、識別通信を実行部から前記レジスタファイル構造に送ることを備える請求項7に記載の方法。
- 前記第1のデータおよび前記第2のデータは、64ビットデータバスを介して前記識別された第1のレジスタ部および前記識別された第2のレジスタ部に同時に読み込まれる請求項9に記載の方法。
- 各々が1または複数の命令を備えるパケットを格納するメモリと、
前記メモリに結合されたプロセッサと
を備えた集積回路であって、
前記プロセッサはさらに処理部と、前記処理部に結合されたレジスタファイル構造とを備え、前記処理部は、前記レジスタファイル構造の第1のレジスタ部および前記レジスタファイル構造の第2のレジスタ部からのデータを組み合わせるための命令を実行するように動作可能であり、前記命令の実行は、前記処理部に、
前記第1のレジスタ部と、前記第2のレジスタ部とを識別させ、なお、前記第1のレジスタ部と前記第2のレジスタ部は、前記レジスタファイル構造の列内で隣接して格納されていない、
メモリからの第1のデータを前記識別された第1のレジスタ部に読み込ませ、前記メモリからの第2のデータを前記識別された第2のレジスタ部に読み込ませ、
結果としてのレジスタ部に格納される組み合わされたデータを形成するために、前記読み込まれた第1のレジスタ部に格納されたすべてのデータビットを備える前記第1のデータと、前記読み込まれた第2のレジスタ部に格納されたすべてのデータビットを備える前記第2のデータとを組み合わさせ、なお、前記結果としてのレジスタ部は、前記第1のレジスタ部よりも大きいか、または、前記第2のレジスタ部よりも大きい
ように動作可能な集積回路。 - 前記処理部はさらに、前記第1のレジスタ部および第2のレジスタ部を識別する前に、前記第1および第2のレジスタ部を組み合わせるための命令を受信し、前記命令を実行するように動作可能な請求項16に記載の集積回路。
- 前記処理部はさらに、前記結果としてのレジスタ部の第1の連続する部分に前記第1のデータを含め、前記結果としてのレジスタ部の第2の連続する部分に前記第2のデータを含めるように動作可能な請求項16に記載の集積回路。
- 前記第1のレジスタ部は、第1の32ビット幅レジスタ部を含み、前記第2のレジスタ部は、第2の32ビット幅レジスタ部を含み、前記結果としてのレジスタ部は、64ビット幅レジスタ部を含む、請求項18に記載の集積回路。
- 前記処理部はさらに、前記第1のデータおよび前記第2のデータを組み合わせるために、前記レジスタファイル構造から、前記読み込まれた第1のレジスタ部と、前記読み込まれた第2のレジスタ部とを取り出すように動作可能な請求項16に記載の集積回路。
- 前記処理部は、前記第1のデータおよび前記第2のデータを連結することによって前記第1のデータおよび第2のデータを組み合わせるように動作可能な請求項16に記載の集積回路。
- 前記処理部はさらに、前記レジスタファイル構造において前記結果としてのレジスタ部を格納するように動作可能な請求項16に記載の集積回路。
- レジスタファイル構造の第1のレジスタ部および前記レジスタファイル構造の第2のレジスタ部からのデータを組み合わせるための命令を実行するための手段と、
前記命令を実行することに応答して組み合わされる前記第1のレジスタ部と、前記第2のレジスタ部とを識別する手段であって、前記第1のレジスタ部と前記第2のレジスタ部は、前記レジスタファイル構造の列内で隣接して格納されていない手段と、
前記命令を実行することに応答して、メモリからの第1のデータを前記識別された第1のレジスタ部に読み込むことと、前記メモリからの第2のデータを前記識別された第2のレジスタ部に読み込むこととを実行する手段と、
前記命令を実行することに応答して、結果としてのレジスタ部に、格納される組み合わされたデータを形成するために、前記読み込まれた第1のレジスタ部に含まれたすべてのデータビットを備える前記第1のデータと前記読み込まれた第2のレジスタ部に含まれたすべてのデータビットを備える前記第2のデータとを組み合わせる手段であって、前記結果としてのレジスタ部は、前記第1のレジスタ部よりも大きいか、または、前記第2のレジスタ部よりも大きい手段と
を備える装置。 - 前記第1のレジスタ部および第2のレジスタ部を識別する前に、前記第1および第2のレジスタ部を組み合わせるための命令を受信する手段
をさらに備える請求項23に記載の装置。 - 前記結果としてのレジスタ部の第1の連続する部分に前記第1のデータを含めることと、前記結果としてのレジスタ部の第2の連続する部分における前記第2のデータを含めることとを実行する手段をさらに備える、請求項23に記載の装置。
- 前記第1のレジスタ部は、第1の32ビット幅レジスタ部を含み、前記第2のレジスタ部は、第2の32ビット幅レジスタ部を含み、前記結果としてのレジスタ部は、64ビット幅レジスタ部を含む、請求項25に記載の装置。
- 前記第1のデータおよび前記第2のデータを組み合わせる手段はさらに、前記レジスタファイル構造から、前記読み込まれた第1のレジスタ部と、前記読み込まれた第2のレジスタ部とを取り出す手段を備える請求項23に記載の装置。
- 前記第1のデータおよび前記第2のデータを組み合わせる手段は、前記第1のデータおよび第2のデータを連結する手段を備える請求項23に記載の装置。
- 前記レジスタファイル構造において前記結果としてのレジスタ部を格納する手段をさらに備える請求項23に記載の装置。
- 実行部における命令の実行に応答して、汎用レジスタファイル構造の第1のレジスタと、前記汎用レジスタファイル構造の第2のレジスタとを識別する前記実行部からの通信を受信することであって、前記第1のレジスタおよび前記第2のレジスタは、前記汎用レジスタファイル構造内で隣接せずに配置されることと、
前記命令の実行に応答して、前記識別された第1のレジスタのための第1のデータと、前記識別された第2のレジスタのための第2のデータとをメモリから取り出すことと、
前記命令の実行に応答して、前記取り出された第1のデータと前記取り出された第2のデータとを、結果としてのレジスタペアへの挿入のために、前記実行部に提供することであって、前記結果としてのレジスタペアは、前記第1のレジスタまたは前記第2のレジスタよりも大きいことと、
前記命令の実行に応答して、前記汎用レジスタファイル構造において前記結果としてのレジスタペアを格納することと
を備える方法。 - 前記第1のデータは前記結果としてのレジスタペアの第1の連続する部分内にあり、前記第2のデータは前記結果としてのレジスタペアの第2の連続する部分内にある請求項30に記載の方法。
- 前記第1のレジスタは第1の32ビット幅レジスタを備え、前記第2のレジスタは第2の32ビット幅レジスタを備え、前記結果としてのレジスタペアは64ビット幅レジスタを備える請求項31に記載の方法。
- レジスタファイル構造の第1のレジスタ部および前記レジスタファイル構造の第2のレジスタ部からのデータを組み合わせるための命令を受信することと、
前記命令を処理部において実行することと
を備え、前記命令を実行することは、
前記第1のレジスタ部と、前記第2のレジスタ部とを識別することであって、なお、前記第1のレジスタ部と前記第2のレジスタ部は、前記レジスタファイル構造の列内で隣接して格納されていないことと、
メモリからの第1のデータを前記識別された第1のレジスタ部に読み込み、前記メモリからの第2のデータを前記識別された第2のレジスタ部に読み込むことと、
結果としてのレジスタ部に格納される組み合わされたデータを形成するために、前記読み込まれた第1のレジスタ部に含まれたデータビットの第1の部分を備える前記第1のデータと、前記読み込まれた第2のレジスタ部に含まれたデータビットの第2の部分を備える前記第2のデータとを組み合わせることと
を備える方法。 - 前記第1の部分は、前記読み込まれた第1のレジスタ部に含まれた前記データビットの第1の半分であり、前記第2の部分は、前記読み込まれた第2のレジスタ部に含まれた前記データビットの第2の半分である請求項33に記載の方法。
- 前記結果としてのレジスタ部と、前記第1のレジスタ部と、前記第2のレジスタ部は、同じサイズである請求項33に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/498,627 | 2006-08-02 | ||
US11/498,627 US8417922B2 (en) | 2006-08-02 | 2006-08-02 | Method and system to combine multiple register units within a microprocessor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013103471A Division JP2013218709A (ja) | 2006-08-02 | 2013-05-15 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013242879A JP2013242879A (ja) | 2013-12-05 |
JP5680709B2 true JP5680709B2 (ja) | 2015-03-04 |
Family
ID=38745271
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009523009A Withdrawn JP2009545823A (ja) | 2006-08-02 | 2007-07-31 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
JP2013103471A Withdrawn JP2013218709A (ja) | 2006-08-02 | 2013-05-15 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
JP2013125449A Active JP5680709B2 (ja) | 2006-08-02 | 2013-06-14 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
JP2015107759A Withdrawn JP2015201216A (ja) | 2006-08-02 | 2015-05-27 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
JP2017038550A Pending JP2017138993A (ja) | 2006-08-02 | 2017-03-01 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009523009A Withdrawn JP2009545823A (ja) | 2006-08-02 | 2007-07-31 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
JP2013103471A Withdrawn JP2013218709A (ja) | 2006-08-02 | 2013-05-15 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015107759A Withdrawn JP2015201216A (ja) | 2006-08-02 | 2015-05-27 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
JP2017038550A Pending JP2017138993A (ja) | 2006-08-02 | 2017-03-01 | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US8417922B2 (ja) |
EP (1) | EP2069913A1 (ja) |
JP (5) | JP2009545823A (ja) |
KR (1) | KR101048234B1 (ja) |
CN (1) | CN101495959B (ja) |
TW (1) | TW200825906A (ja) |
WO (1) | WO2008016902A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898436B2 (en) * | 2009-04-20 | 2014-11-25 | Oracle America, Inc. | Method and structure for solving the evil-twin problem |
CN102457268B (zh) * | 2010-10-15 | 2014-10-22 | 北京德威特继保自动化科技股份有限公司 | 32位捕获寄存器的实现方法 |
KR101801920B1 (ko) | 2010-12-17 | 2017-12-28 | 삼성전자주식회사 | 동적 클러스터링이 가능한 레지스터 파일 및 동적 클러스터링이 가능한 레지스터 파일을 이용한 재구성 가능 컴퓨팅 장치 |
US9483810B2 (en) * | 2011-12-28 | 2016-11-01 | Intel Corporation | Reducing the number of IO requests to memory when executing a program that iteratively processes contiguous data |
US9323532B2 (en) | 2012-07-18 | 2016-04-26 | International Business Machines Corporation | Predicting register pairs |
US9323529B2 (en) | 2012-07-18 | 2016-04-26 | International Business Machines Corporation | Reducing register read ports for register pairs |
US9298459B2 (en) * | 2012-07-18 | 2016-03-29 | International Business Machines Corporation | Managing register pairing |
US9026791B2 (en) * | 2013-03-11 | 2015-05-05 | Qualcomm Incorporated | Linear feedback shift register (LFSR) |
US10228941B2 (en) * | 2013-06-28 | 2019-03-12 | Intel Corporation | Processors, methods, and systems to access a set of registers as either a plurality of smaller registers or a combined larger register |
US9582419B2 (en) * | 2013-10-25 | 2017-02-28 | Arm Limited | Data processing device and method for interleaved storage of data elements |
US9886276B2 (en) * | 2014-10-10 | 2018-02-06 | Arm Limited | System register access |
US9952865B2 (en) * | 2015-04-04 | 2018-04-24 | Texas Instruments Incorporated | Low energy accelerator processor architecture with short parallel instruction word and non-orthogonal register data file |
US10162634B2 (en) * | 2016-05-20 | 2018-12-25 | International Business Machines Corporation | Extendable conditional permute SIMD instructions |
CN107621949A (zh) * | 2016-07-15 | 2018-01-23 | 龙芯中科技术有限公司 | 内存拷贝方法及装置 |
US10747531B1 (en) * | 2018-04-03 | 2020-08-18 | Xilinx, Inc. | Core for a data processing engine in an integrated circuit |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69408769T2 (de) * | 1993-10-18 | 1998-07-09 | Cyrix Corp | Fliessbandsteuerung und Registerübersetzung in Mikroprozessor |
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 |
JPH07262010A (ja) * | 1994-03-25 | 1995-10-13 | Hitachi Ltd | 演算処理装置および演算処理方法 |
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 |
JP3526976B2 (ja) * | 1995-08-03 | 2004-05-17 | 株式会社日立製作所 | プロセッサおよびデータ処理装置 |
AU6905496A (en) | 1995-09-01 | 1997-03-27 | Philips Electronics North America Corporation | Method and apparatus for custom operations of a processor |
US5854939A (en) * | 1996-11-07 | 1998-12-29 | Atmel Corporation | Eight-bit microcontroller having a risc architecture |
US6052522A (en) * | 1997-10-30 | 2000-04-18 | Infineon Technologies North America Corporation | Method and apparatus for extracting data stored in concatenated registers |
US6041404A (en) * | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
US6247112B1 (en) * | 1998-12-30 | 2001-06-12 | Sony Corporation | Bit manipulation instructions |
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 |
US7120781B1 (en) * | 2000-06-30 | 2006-10-10 | Intel Corporation | General purpose register file architecture for aligned simd |
JP2002132499A (ja) * | 2000-10-27 | 2002-05-10 | Hitachi Ltd | データ処理装置及び記録媒体 |
JP3779540B2 (ja) * | 2000-11-08 | 2006-05-31 | 株式会社ルネサステクノロジ | 複数レジスタ指定が可能なsimd演算方式 |
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 | 株式会社東芝 | プロセッサ装置 |
JP2005535966A (ja) | 2002-08-09 | 2005-11-24 | インテル・コーポレーション | アライメントまたはブロードキャスト命令を含むマルチメディア・コプロセッサの制御メカニズム |
US7103756B2 (en) | 2002-09-30 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Data processor with individually writable register subword locations |
GB2409064B (en) | 2003-12-09 | 2006-09-13 | Advanced Risc Mach Ltd | A data processing apparatus and method for performing in parallel a data processing operation on data elements |
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 |
GB2411976B (en) * | 2003-12-09 | 2006-07-19 | Advanced Risc Mach Ltd | A data processing apparatus and method for moving data between registers and memory |
JP4202244B2 (ja) | 2003-12-22 | 2008-12-24 | Necエレクトロニクス株式会社 | Vliw型dsp,及びその動作方法 |
US7177876B2 (en) * | 2004-03-04 | 2007-02-13 | Texas Instruments Incorporated | Speculative load of look up table entries based upon coarse index calculation in parallel with fine index calculation |
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 |
US8445994B2 (en) | 2009-05-07 | 2013-05-21 | Qualcomm Incorporated | Discontinuous thin semiconductor wafer surface features |
US20100314725A1 (en) | 2009-06-12 | 2010-12-16 | Qualcomm Incorporated | Stress Balance Layer on Semiconductor Wafer Backside |
US8076762B2 (en) | 2009-08-13 | 2011-12-13 | Qualcomm Incorporated | Variable feature interface that induces a balanced stress to prevent thin die warpage |
-
2006
- 2006-08-02 US US11/498,627 patent/US8417922B2/en active Active
-
2007
- 2007-07-31 EP EP07840609A patent/EP2069913A1/en not_active Withdrawn
- 2007-07-31 WO PCT/US2007/074820 patent/WO2008016902A1/en active Application Filing
- 2007-07-31 JP JP2009523009A patent/JP2009545823A/ja not_active Withdrawn
- 2007-07-31 KR KR1020097004441A patent/KR101048234B1/ko active IP Right Grant
- 2007-07-31 CN CN2007800282684A patent/CN101495959B/zh active Active
- 2007-08-02 TW TW096128461A patent/TW200825906A/zh unknown
-
2013
- 2013-05-15 JP JP2013103471A patent/JP2013218709A/ja not_active Withdrawn
- 2013-06-14 JP JP2013125449A patent/JP5680709B2/ja active Active
-
2015
- 2015-05-27 JP JP2015107759A patent/JP2015201216A/ja not_active Withdrawn
-
2017
- 2017-03-01 JP JP2017038550A patent/JP2017138993A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP2069913A1 (en) | 2009-06-17 |
JP2013218709A (ja) | 2013-10-24 |
CN101495959A (zh) | 2009-07-29 |
JP2013242879A (ja) | 2013-12-05 |
CN101495959B (zh) | 2012-04-25 |
TW200825906A (en) | 2008-06-16 |
JP2017138993A (ja) | 2017-08-10 |
JP2015201216A (ja) | 2015-11-12 |
JP2009545823A (ja) | 2009-12-24 |
US8417922B2 (en) | 2013-04-09 |
KR20090042294A (ko) | 2009-04-29 |
KR101048234B1 (ko) | 2011-07-08 |
WO2008016902A1 (en) | 2008-02-07 |
US20080184007A1 (en) | 2008-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5680709B2 (ja) | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム | |
JP6242615B2 (ja) | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム | |
US7558942B1 (en) | Memory mapped register file and method for accessing the same | |
TWI489382B (zh) | 改良的萃取指令背景之設備及方法 | |
TWI489383B (zh) | 遮蔽排列指令的裝置及方法 | |
KR20060040611A (ko) | 데이터 셔플링을 위한 방법 및 장치 | |
CN108319559B (zh) | 用于控制矢量内存存取的数据处理装置及方法 | |
JPH10232779A (ja) | 命令並列処理方法及び装置 | |
JP2620511B2 (ja) | データ・プロセッサ | |
US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
JPH10143365A (ja) | 並列処理装置及びその命令発行方式 | |
JPH1165840A (ja) | 演算処理装置およびその方法 | |
US7779231B2 (en) | Pipelined processing using option bits encoded in an instruction | |
US6922760B2 (en) | Distributed result system for high-performance wide-issue superscalar processor | |
EP1050800A1 (en) | A pipelined execution unit | |
JP2001005640A (ja) | 浮動小数点ユニットにおいてロードバイパスを実行する方法及び装置 | |
US20040073776A1 (en) | Instruction encoding | |
JP2002073329A (ja) | プロセッサ | |
JP2004152049A (ja) | データ処理装置 | |
JP2001243066A (ja) | パイプライン処理方法並びにその方法を利用するパイプライン処理装置 | |
JP2002123389A (ja) | データ処理装置 | |
JPH1165923A (ja) | 演算処理装置およびメモリアクセス方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140722 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20141022 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20141027 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141118 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5680709 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |