JP2010522904A - 分類された命令のセットを使用した処理アーキテクチャ - Google Patents
分類された命令のセットを使用した処理アーキテクチャ Download PDFInfo
- Publication number
- JP2010522904A JP2010522904A JP2009530595A JP2009530595A JP2010522904A JP 2010522904 A JP2010522904 A JP 2010522904A JP 2009530595 A JP2009530595 A JP 2009530595A JP 2009530595 A JP2009530595 A JP 2009530595A JP 2010522904 A JP2010522904 A JP 2010522904A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- processing
- sequencing
- sequencer
- 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.)
- Granted
Links
- 238000012163 sequencing technique Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 5
- XYDVHKCVOMGRSY-UHFFFAOYSA-N 4-(4-benzylphenyl)-1,3-thiazol-2-amine Chemical compound S1C(N)=NC(C=2C=CC(CC=3C=CC=CC=3)=CC=2)=C1 XYDVHKCVOMGRSY-UHFFFAOYSA-N 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 101000928034 Homo sapiens Proteasomal ubiquitin receptor ADRM1 Proteins 0.000 description 3
- 102100036915 Proteasomal ubiquitin receptor ADRM1 Human genes 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000282461 Canis lupus Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 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
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
-
- 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
Description
マイクロコード化されたプログラムのバルクを低減するために様々な試みがなされている。マイクロコードのバルクを低減するために提案されている1つの方法は、「垂直型」マイクロモードとして知られているものである。この方法は、格納要件を低減するために、復号テーブルを使用する。この復号テーブルが定義されることにより、各マイクロコード命令には、命令自体よりずっと短い固有の「名前」が与えられる。(例えば、命令の数が256個以下である場合、個別の命令の長さが数百ビットに及ぶ場合も、各々を8ビットの名前で呼ぶことができる。)命令の短い「名前」は垂直型マイクロコードと呼ばれ、実行可能な実際のマイクロコード命令は「水平型」マイクロコードと呼ばれる。この方法では、完全な命令ではなく命令フィールドをコード化するために時にルックアップテーブルが使用される。これにより、ルックアップのために必要なメモリスペースが低減される。適切なフィールドの組み合わせには追加的論理が必要である。垂直型マイクロコード方式は、時間が掛かりすぎるために今では殆ど使用されていない。
プロセッサは通常、限定された量の書き込み可能な制御記憶装置(「WCS」)しか有していない。一度にWCSに入れなければならないルーティンが多すぎるとき、何らかのオーバーレイフォームが必要である。設定時にマイクロコードをロードするためにシリアルループを使用することができるが、ホストが命令をロードするには常に非常に時間が掛かるため(例えば、ディスクアクセスにより100マイクロ秒〜3分/命令)、シリアルループを使用してオーバーレイをロードするのは現実的でない。一部のアレープロセッサはマイクロコードのオーバーレイ機能を提供するが、これらは通常(polled I/O又はDMAを使用する)ホスト駆動型であり、通常のマイクロコードロードメカニズムを介して使用される。
本出願は、新規のインダイレクションレイヤを加えたマイクロプロセッサ等のための新規のアーキテクチャについて記載する。命令のシーケンスには、個々の命令の変換方法を定義したタイプアイデンティファイアが含まれる。(必須ではないが好ましくは、タイプアイデンティファイアは一組のインタープリテーションレジスタを指し示し、選択されたレジスタは、解凍されて実行可能となった命令を生成するために元の命令のopコードと組み合わされる挿入物を含む。)
このアーキテクチャは、従来のVLIWアーキテクチャが持つ多くの欠点を克服し、様々な実施形態において、少なくとも以下に挙げる利点のうちの1つ以上を提供する。
・既存のプログラムとの下位互換性を維持しながら、命令セットを解凍することができる。
・プログラムコードの密度が従来のVLIW命令セットと比べて非常に高い。
・処理されるデータのタイプに関係なくアルゴリズムをコード化することができる。
分類された命令のセットは、従来のVLIWアーキテクチャの欠点の多くを克服する新規の命令フォーマット及び復号スキームであり、少なくとも以下の利点を有する:
・既存のプログラムとの下位互換性を保持しながら、命令のセットを解凍することができる。
・従来のVLIWの命令セットと比較してプログラムコード密度が非常に高い。
・処理されるデータの種類に関係なくアルゴリズムをコード化することができる。
この例示的な実施形態では、全ての命令は32ビットの固定サイズを有する。各命令は3ビットのタイプIDと、4ビットのOpコードフィールドと、条件付命令を示すための1ビットと、オペランドを指定するための24ビットとを含んでいる。命令は、シーケンサー命令又はPE(処理要素)命令とすることができる。この実施形態では、シーケンサー命令が単一のシーケンサーを導き、これは処理要素を制御するのに必要なハードウエアの償却を助ける。PE命令は別のレベルのインダイレクションを有する。
この例示的実施形態では、各タイプレジスタの幅は64ビットであり、それぞれが16個以内の命令を含むことができる64の可能な命令グループの中から1つを選択するための6ビットのフィールドを含む。各タイプレジスタの残りの58ビットは、オペランド制御情報を指定する。オペランド制御情報には、これらに限定されないが、ベクトル長、ベクトル要素間の間隔、各PEレジスタファイルを読み書きするときに各オペランドを入れ換えなければならないかどうか、及びPE内の様々なフラグ及びマスクレジスタを使用してベクトル演算の各要素を制御する方法が含まれる。
ごく一般的には、シーケンサー命令は次の5つのグループに分けることができる。
1)プログラム実行フローの制御(AbsJmp、RelJmp、AbsJsr、RelJsr、RetJmp、LnkJmp、GlcJmp、ElsJmp、OffJmp、Resume等)
2)シーケンサーモードレジスタの更新(SetMde、AddMde、MovMde、LdNxtU、SetFlg、UseNxt、SetBuf、SetOff、SetBSM、SetMsk等)
3)PEレジスタファイルの更新(LdImmd、Seq2Pe、GetMem、PutMem、GetInd、PutInd、RdFifo、WrFifo、GetSte、PutSte、GetVal、PutVal等)
4)命令キャッシュの制御(PFetch等)
5)同期(ChkPnt等)
このアーキテクチャの利点の1つは解凍可能な命令セットである。可能な64個の命令グループのうち9個だけが、DESアーキテクチャのS2実行用に定義され、残りの55個の命令は将来的な解凍に使用することができる。既存の命令セットとの間に何のコンフリクトも無く新規の命令グループを追加することが可能であり、これにより、将来生産されるハードウエアで既存のソフトウエアを実行することができる。
もう1つの利点はデータタイプの抽出である。処理されるデータのタイプとは関係なくアルゴリズムをコード化することができる。例えば、適切なタイプレジスタ内に指定されている命令グループを単に変更することにより、命令の全く同じシーケンスを実行して32ビットの浮動小数点又は32ビットの整数データを処理することができる。
S2は、全てが異なるレジスタファイルに保持される異なるデータの同じ演算に適用される複数の処理要素(例えば8個)を有するSIMD(single instruction multiple data)プロセッサのアレーである。図2は、そのような処理要素を2つ(220及び230)示している。処理要素の制御に必要なハードウエアを償却するために、単一のシーケンサー(210)が使用されている。各処理要素のRAM(221及び231)はレジスタファイルを格納する。シーケンサーのRAM(211)は命令を格納する。
メディア処理アレー(300)は、ビデオ、オーディオ、2Dグラフィック、及び3Dグラフィックを含む様々なメディア処理をサポートすることができるクラスターの複数の集まりである。ARM0(310)は、オペレーティングシステムを実行する制御プロセッサである。ARM1(320)は、単一のユーザーレベルの処理を実行する非同期のコプロセッサである。ARM1(320)は、プログラムを実行し、メディア処理アレー(300)に命令を発行する。ARM1(320)はまた、データストリームを様々なブロックに分類し、その後メディア処理アレー(300)の様々なクラスターにデータストリームを供給することができる。
ここに開示する様々な実施形態によれば、一連の処理命令の実行方法が提供され、本方法は、a)前記命令のうちの1つのタイプIDフィールドに指定される各インタープリテーションレジスタを参照して命令の各々を解釈するステップ、及びb)前記ステップ(a)に従って前記命令を実行するステップを含む。
ここに開示する様々な実施形態によれば演算アーキテクチャが提供され、本アーキテクチャにおいては、各々がコマンドビットと複数のインタープリテーションレジスタからの選択を行うタイプIDの両方を含む処理命令が命令ストリームを形成しており、前記インタープリテーションレジスタの一部が、選択された前記インタープリテーションレジスタに応じて前記コマンドをそれぞれ解釈するための情報を含み、且つ前記インタープリテーションレジスタに蓄積された情報と組み合わせて、前記コマンドを解凍するために接続されているシーケンシング論理が、1以上の処理要素に送られるべき解凍済みの命令を生成する。
ここに開示する様々な実施形態によれば、上記のような複数の相互接続されたユニットを備える多重処理システムが提供される。
当業者であれば分かるように、本明細書に記載された本発明の構想は、非常に広範な用途に亘って修正及び変更することが可能であり、従ってここに特許申請する主題の範囲は、本明細書に例示する特定の技術のいずれによっても限定されない。
例えば、好ましい実施形態はSIMDアーキテクチャ(最低のレベル)であるが、本発明の概念は、MIMDアーキテクチャ等の、もっと命令レベルの並行性の高い用途に使用することもできる。この簡単な実施例は、単純に別々の単一命令ストリームの命令を連結すること、例えば3つの32ビットの単一命令ストリームを連結して1つの96ビットストリームを形成し、3つ(又はそれ以上)のSIMDマシンに同報通信することであるが、当然ながらMIMDを利用する他の多くの場合が可能である。また、上述の好ましい実施形態がSIMD及びDIMDの両方であること、つまり最低レベルではSIMDであるがそれより高次のレベルではMIMDであることに注意されたい。
また、本発明は、並行処理アークテクチャに適用できるだけでなく、多岐に亘るマイクロプロセッサ型のアーキテクチャ(例えば一般に汎用マイクロプロセッサ、デジタル信号プロセッサ、混合信号プロセッサ、その他専用プロセッサ、マイクロコンピュータ、マイクロコントローラ、統合システム内に埋め込まれたマイクロプロセッサコア、プログラム可能な統合電力装置、及びその他プログラム可能な統合回路装置を含む)にも適用可能である。しかしながら、本発明は、上述したように、並行処理メディアチップにおいて特に効果的である。
別の実施例では、好ましい実施形態において「タイプIDフィールド」と呼ばれるものに他の専門用語を使用することができる。このフィールドには他の機能を加えることができる(又はそれに他のビットを組み合わせることができる)。
別の実施例では、登録された数ビットを有する後続の命令のタイプIDを変更又は無視するシーケンサーオプションを提供することができる。これは、例えば異なるデータタイプのためにアルゴリズムが返されているとき有効でありうる。
プログラマーは、多数の方法で複数のインタープリテーションレジスタを使用することができる。一実施例では、インタープリテーションレジスタを使用して、データ解像度及びデータタイプを変化させることができる。別の実施例では、レジスタを使用することにより、別個の変換ステップを何ら使用する必要無く、フォーマットの異なるデータソースからの入力(及び/又は異なるデータソースへの出力)を扱うことができる。別の実施例では、この能力を使用することにより、ビッグエンディアンとリトルエンディアン等の異なるデータフォーマットを容易に取扱うことができる。
本特許出願のいずれの記載も、いずれかの特定の要素、ステップ、又は機能が、請求の範囲に含まれなければならない必須の要素であることを意味するものではない。特許出願の主題の範囲は、請求の範囲によってのみ規定される。更に、それらの請求項のいずれもが、名詞に続く「〜の手段」という明確な用語が無い限り、米国特許法第35巻112条の第6パラグラフの行使を意図するものではない。
Claims (34)
- 1以上のプログラム可能な処理要素、及び
命令ストリームを形成する命令に含まれるタイプIDの値によって指定される複数のインタープリテーションレジスタへのインダイレクトな参照を使用して前記命令を復号し、それに従って前記処理要素にコマンドを送るために接続されるシーケンサー
を備えるプログラム可能な論理演算装置。 - 前記命令ストリームが処理命令とシーケンシング命令の両方を含む、請求項1に記載の演算装置。
- 前記命令ストリームが処理命令とシーケンシング命令の両方を含み、前記処理命令と前記シーケンシング命令の両方が前記タイプIDを含み、且つ前記タイプIDも各命令が処理命令であるか又はシーケンシング命令であるかを示す、請求項1に記載の演算装置。
- 前記命令ストリームが処理命令とシーケンシング命令の両方を含み、前記シーケンシング命令が前記インタープリテーションレジスタの少なくとも一部の値を変更するコマンドを含むことができる、請求項1に記載の演算装置。
- 前記コマンドが少なくとも1つの前記シーケンサーによって解凍され、前記命令ストリームが処理命令とシーケンシング命令の両方を含み、且つ前記シーケンシング命令が、前記処理要素ではなく前記シーケンサーによって実行される設定コマンドであって、インタープリテーションレジスタの値を変更するコマンドを含む設定コマンドを含むことができる、請求項1に記載の演算装置。
- 前記コマンドが少なくとも1つの前記シーケンサーによって解凍され、且つ前記シーケンサーが、SIMDコンフィギュレーションに含まれる複数の処理要素に対し、単一の命令ストリームを同報通信する、請求項1に記載の演算装置。
- 前記命令の各々が単一のopコードのみを指定する、請求項1に記載の演算装置。
- 前記処理命令の各々が、前記インタープリテーションレジスタの各部分を選択するインデックス番号を含み、且つ前記シーケンサーが、前記インタープリテーションレジスタの各部分を使用することにより前記処理命令の各々を解凍する、請求項1に記載の演算装置。
- a)一連の処理命令に含まれる各命令のタイプIDフィールドに指定される各インタープリテーションレジスタを参照して命令の各々を解釈するステップ、及び
b)前記ステップ(a)に従って、前記命令を実行するステップ
を含む、前記一連の処理命令の実行方法。 - 前記命令ストリームが処理命令とシーケンシング命令の両方を含む、請求項9に記載の方法。
- 前記命令ストリームが処理命令とシーケンシング命令の両方を含み、且つ前記タイプIDも、各命令が処理命令であるか又はシーケンシング命令であるかを示す、請求項9に記載の方法。
- 前記命令ストリームが処理命令とシーケンシング命令の両方を含み、且つ前記シーケンシング命令が、前記インタープリテーションレジスタの少なくとも一部の値を変更するコマンドを含むことができる、請求項9に記載の方法。
- 前記コマンドが少なくとも1つのシーケンサーによって解凍され、前記命令ストリームが処理命令とシーケンシング命令の両方を含み、且つ前記シーケンシング命令が、前記処理要素ではなく前記シーケンサーによって実行される設定コマンドであって、インタープリテーションレジスタの値を変更するコマンドを含む設定コマンドを含むことができる、請求項9に記載の方法。
- 前記コマンドが少なくとも1つのシーケンサーによって解凍され、且つ前記シーケンサーが、SIMDコンフィギュレーションに含まれる複数の処理要素に対し、単一の命令ストリームを同報通信する、請求項9に記載の方法。
- 処理命令の各々の前記コマンドビットが単一のopコードのみを指定する、請求項9に記載の方法。
- 前記処理命令の各々が、前記インタープリテーションレジスタの各特定部分を選択するインデックス番号を含み、且つ前記インタープリテーションレジスタの各特定部分を使用することにより、前記シーケンサーが前記処理命令の各々を解凍する、請求項9に記載の方法。
- a)一連の処理命令の各々のタイプIDフィールドに指定される各インタープリテーションレジスタへのインダイレクトな参照を使用して命令の各々を解釈するステップであって、前記タイプIDフィールドがシーケンサー命令と処理要素命令とを区別し、更には処理要素命令の複数の異なるフォーマットを区別するステップ、及び
b)前記ステップ(a)に従って、前記命令を実行するステップ
を含む、前記一連の処理命令の実行方法。 - 前記シーケンサー命令が、前記インタープリテーションレジスタの少なくとも一部の値を変更するコマンドを含むことができる、請求項17に記載の方法。
- 前記コマンドが少なくとも1つのシーケンサーに従って解凍され、且つ前記シーケンサー命令は前記シーケンサーによってのみ実行される設定コマンドを含むことができる、請求項17に記載の方法。
- 前記シーケンサー命令が、インタープリテーションレジスタの値を変更するコマンドを含むことができる、請求項17に記載の方法。
- 前記コマンドが少なくとも1つのシーケンサーによって解凍され、且つ前記シーケンサーが、SIMDコンフィギュレーションに含まれる複数の処理要素に対し、単一の命令ストリームを同報通信する、請求項17に記載の方法。
- 前記処理命令の各々が単一のopコードのみを指定する、請求項17に記載の方法。
- 各々がコマンドビットと、複数のインタープリテーションレジスタからの選択を行うタイプIDの両方を含む複数の処理命令が、1つの命令ストリームを形成し、
前記インタープリテーションレジスタの一部が、選択された前記インタープリテーションレジスタに応じて前記コマンドを解釈するための情報を含み、且つ
前記インタープリテーションレジスタに格納された情報と組み合わせて、前記コマンドを解凍することにより、解凍された命令を生成して1以上の処理要素に送るシーケンシング論理が接続される
演算アーキテクチャ。 - 前記命令ストリームが、前記処理命令と、前記シーケンシング論理によって実行されるシーケンシング命令の両方を含む、請求項23に記載のアーキテクチャ。
- 前記命令ストリームが前記処理命令とシーケンシング命令の両方を含み、前記処理命令と前記シーケンシング命令の両方が前記タイプIDを含み、且つ前記タイプIDも各命令が処理命令であるか又はシーケンシング命令であるかを示す、請求項23に記載のアーキテクチャ。
- 前記命令ストリームが前記処理命令とシーケンシング命令の両方を含み、シーケンシング命令がインタープリテーションレジスタの値を変更するコマンドを含むことができる、請求項23に記載のアーキテクチャ。
- 前記命令ストリームが、前記処理命令と、前記シーケンシング論理にインタープリテーションレジスタの値を変更させるシーケンシング命令の両方を含む、請求項23に記載のアーキテクチャ。
- 前記シーケンシング要素が、SIMDコンフィギュレーションに含まれる複数の処理要素に対し、単一の命令ストリームを同報通信する、請求項23に記載のアーキテクチャ。
- 前記処理命令の各々が単一のopコードのみを含む、請求項23に記載のアーキテクチャ。
- 1のストリーム内において処理命令とシーケンシング命令とが混合されており、
処理命令を受け取り、インタープリテーションレジスタを使用して処理命令の少なくとも一部を解凍することにより、1以上の処理要素用の実行可能なコマンドを生成する少なくとも1つのシーケンサーが接続され、且つ
前記接続されるシーケンサーはシーケンシング命令も受け取って、前記シーケンシング命令の少なくとも1つに応じて前記インタープリテーションレジスタの値を変更することができる
演算アーキテクチャ。 - 前記命令ストリームが、前記処理命令とシーケンシング命令の両方を含み、前記処理命令と前記シーケンシング命令の両方が前記タイプIDを含み、且つ前記タイプIDも、各命令が処理命令であるか又はシーケンシング命令であるかを示す、請求項30に記載のアーキテクチャ。
- 前記シーケンサーが、SIMDコンフィギュレーションに含まれる複数の処理要素に対し、単一の命令ストリームを同報通信する、請求項30に記載のアーキテクチャ。
- 前記処理命令の各々が単一のopコードのみを含む、請求項30に記載のアーキテクチャ。
- 請求項1に記載の演算装置を複数個相互接続してなる多重処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/536,483 US8572354B2 (en) | 2006-09-28 | 2006-09-28 | Programmable logic unit and method for translating and processing instructions using interpretation registers |
US11/536,483 | 2006-09-28 | ||
PCT/US2007/079678 WO2008039908A2 (en) | 2006-09-28 | 2007-09-27 | Processing architectures with typed instruction sets |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010522904A true JP2010522904A (ja) | 2010-07-08 |
JP5550099B2 JP5550099B2 (ja) | 2014-07-16 |
Family
ID=39230968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009530595A Expired - Fee Related JP5550099B2 (ja) | 2006-09-28 | 2007-09-27 | 分類された命令のセットを使用した処理アーキテクチャ |
Country Status (5)
Country | Link |
---|---|
US (2) | US8572354B2 (ja) |
EP (1) | EP2082325A4 (ja) |
JP (1) | JP5550099B2 (ja) |
SG (1) | SG174841A1 (ja) |
WO (1) | WO2008039908A2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101595637B1 (ko) | 2011-04-01 | 2016-02-18 | 인텔 코포레이션 | 벡터 친숙형 명령어 형식 및 그의 실행 |
US10157061B2 (en) | 2011-12-22 | 2018-12-18 | Intel Corporation | Instructions for storing in general purpose registers one of two scalar constants based on the contents of vector write masks |
US9804839B2 (en) | 2012-12-28 | 2017-10-31 | Intel Corporation | Instruction for determining histograms |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03209522A (ja) * | 1990-01-11 | 1991-09-12 | Matsushita Electric Ind Co Ltd | 命令コード解読装置 |
US20020199083A1 (en) * | 2001-06-20 | 2002-12-26 | Sunplus Technology Co.,Ltd | High code-density microcontroller architecture with changeable instruction formats |
JP2003233496A (ja) * | 2002-02-08 | 2003-08-22 | Mitsubishi Electric Corp | マイクロプロセッサ |
EP1278118B1 (de) * | 2001-07-19 | 2006-07-26 | Infineon Technologies AG | Verfahren und Vorrichtung zum Verarbeiten von Befehlen, die in einer Mehrzahl von Gruppen gruppiert sind |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5890222A (en) | 1995-01-04 | 1999-03-30 | International Business Machines Corporation | Method and system for addressing registers in a data processing unit in an indirect addressing mode |
US5794063A (en) * | 1996-01-26 | 1998-08-11 | Advanced Micro Devices, Inc. | Instruction decoder including emulation using indirect specifiers |
JPH09265397A (ja) * | 1996-03-29 | 1997-10-07 | Hitachi Ltd | Vliw命令用プロセッサ |
US6219776B1 (en) | 1998-03-10 | 2001-04-17 | Billions Of Operations Per Second | Merged array controller and processing element |
US6263429B1 (en) * | 1998-09-30 | 2001-07-17 | Conexant Systems, Inc. | Dynamic microcode for embedded processors |
US6754809B1 (en) | 1999-12-30 | 2004-06-22 | Texas Instruments Incorporated | Data processing apparatus with indirect register file access |
US6779101B1 (en) * | 2000-03-07 | 2004-08-17 | University Of Washington | Method and apparatus for processing compressed VLIW subinstruction opcodes |
US7181730B2 (en) * | 2000-06-21 | 2007-02-20 | Altera Corporation | Methods and apparatus for indirect VLIW memory allocation |
-
2006
- 2006-09-28 US US11/536,483 patent/US8572354B2/en active Active
-
2007
- 2007-09-27 SG SG2011071016A patent/SG174841A1/en unknown
- 2007-09-27 EP EP07843324A patent/EP2082325A4/en not_active Withdrawn
- 2007-09-27 JP JP2009530595A patent/JP5550099B2/ja not_active Expired - Fee Related
- 2007-09-27 WO PCT/US2007/079678 patent/WO2008039908A2/en active Application Filing
-
2013
- 2013-10-27 US US14/064,157 patent/US20140052964A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03209522A (ja) * | 1990-01-11 | 1991-09-12 | Matsushita Electric Ind Co Ltd | 命令コード解読装置 |
US20020199083A1 (en) * | 2001-06-20 | 2002-12-26 | Sunplus Technology Co.,Ltd | High code-density microcontroller architecture with changeable instruction formats |
EP1278118B1 (de) * | 2001-07-19 | 2006-07-26 | Infineon Technologies AG | Verfahren und Vorrichtung zum Verarbeiten von Befehlen, die in einer Mehrzahl von Gruppen gruppiert sind |
JP2003233496A (ja) * | 2002-02-08 | 2003-08-22 | Mitsubishi Electric Corp | マイクロプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
SG174841A1 (en) | 2011-10-28 |
EP2082325A2 (en) | 2009-07-29 |
WO2008039908A3 (en) | 2008-10-30 |
US20080082799A1 (en) | 2008-04-03 |
EP2082325A4 (en) | 2009-11-25 |
JP5550099B2 (ja) | 2014-07-16 |
US8572354B2 (en) | 2013-10-29 |
US20140052964A1 (en) | 2014-02-20 |
WO2008039908A2 (en) | 2008-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9495153B2 (en) | Methods, apparatus, and instructions for converting vector data | |
US20180189066A1 (en) | Processor | |
US5995122A (en) | Method and apparatus for parallel conversion of color values from a single precision floating point format to an integer format | |
JP5739055B2 (ja) | ベクトルフレンドリ命令フォーマット及びその実行 | |
US6480868B2 (en) | Conversion from packed floating point data to packed 8-bit integer data in different architectural registers | |
TWI647613B (zh) | 用於產生按數字順序的連續整數序列之處理器、方法、系統及指令(三) | |
US6502115B2 (en) | Conversion between packed floating point data and packed 32-bit integer data in different architectural registers | |
TWI617978B (zh) | 用於向量索引載入和儲存之方法和設備 | |
US6292815B1 (en) | Data conversion between floating point packed format and integer scalar format | |
CN103827813A (zh) | 用于提供向量分散操作和聚集操作功能的指令和逻辑 | |
CN103827814A (zh) | 用于提供利用跨越功能的向量加载操作/存储操作的指令和逻辑 | |
US9575757B2 (en) | Efficient zero-based decompression | |
JP2002533815A (ja) | 動的コンパクト命令を有するスケーラブル命令セットアーキテクチャのための方法及び装置 | |
CN102473093A (zh) | 对多个通道中的紧缩数据解压缩 | |
CN105453071A (zh) | 用来提供向量族群计数功能的方法、设备、指令和逻辑 | |
CN103827815A (zh) | 用于提供利用跨越和掩码功能的向量加载和存储的指令和逻辑 | |
CN105359129A (zh) | 用于提供用于基因组测序和比对的族群计数功能的方法、装置、指令以及逻辑 | |
CN105612509A (zh) | 用于提供向量子字节解压缩功能性的方法、设备、指令和逻辑 | |
JP5550099B2 (ja) | 分類された命令のセットを使用した処理アーキテクチャ | |
JP4901754B2 (ja) | 単一命令複数データ実行エンジンのフラグレジスタのための評価ユニット | |
JP3905552B2 (ja) | 複数の命令セットを有するデータ処理装置内における命令エンコード | |
TW201741868A (zh) | 將來源緊縮資料劃分為巷道的處理器、方法、系統及指令 | |
IE56443B1 (en) | Microprogram control | |
JPH11306015A (ja) | 演算処理方法及びそれを用いたマイクロコンピュータ | |
JPH04152431A (ja) | 水平型プロセッサの高速化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121218 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130314 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130322 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130416 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130423 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130515 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130917 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131216 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131224 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140115 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140122 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140213 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140317 |
|
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: 20140415 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140515 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5550099 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |