JPH10512988A - プロセッサのカスタム動作のための方法及び装置 - Google Patents
プロセッサのカスタム動作のための方法及び装置Info
- Publication number
- JPH10512988A JPH10512988A JP9511281A JP51128197A JPH10512988A JP H10512988 A JPH10512988 A JP H10512988A JP 9511281 A JP9511281 A JP 9511281A JP 51128197 A JP51128197 A JP 51128197A JP H10512988 A JPH10512988 A JP H10512988A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- bits
- operand
- input data
- 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
- 238000000034 method Methods 0.000 title claims description 7
- 230000006870 function Effects 0.000 claims abstract description 42
- 230000009471 action Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000012856 packing Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 2
- 239000004065 semiconductor Substances 0.000 claims 2
- 239000000758 substrate Substances 0.000 claims 2
- 230000003993 interaction Effects 0.000 claims 1
- 229910000498 pewter Inorganic materials 0.000 claims 1
- 239000010957 pewter Substances 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 11
- 230000008672 reprogramming Effects 0.000 abstract description 2
- 101150099915 Rsrc2 gene Proteins 0.000 description 38
- 238000004364 calculation method Methods 0.000 description 17
- 239000011159 matrix material Substances 0.000 description 16
- 230000006837 decompression Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000001343 mnemonic effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101150043159 Rsrc1 gene Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical class 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7832—Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- 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/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (1)
- 【特許請求の範囲】 1 Mビットを有し、このMビットのうちのMより小さいNビットを有するオペ ランドデータを持つ、入力データを入力する入力レジスタと、命令セットの命令 制御の下、前記入力データの前記オペランドデータで多数の動作Qをパラレルに 実施し、Nビットの結果データを作るためのプロセッサと、Mビットの一つの出 力として結果データのQグループを記憶するための宛先レジスタとを有すること を特徴とするコンピュータシステム。 2 少なくとも二つのMより小さいNビットを有するオペランドデータを各々有 するMビットの入力データを供給するための入力レジスタと、前記入力データの オペランドデータの選択されたセットに対してパラレルにNビットの結果データ を各々作るグループの動作を実施するための特別目的プロセッサであって、命令 セットの命令に応じて実施するプロセッサと、Mビットの一つの出力としてNビ ットの前記結果データを記憶するための、Mビットを有する宛先レジスタとを有 することを特徴とするコンピュータシステム。 3 Mビットの関連入力レジスタの入力データ各々がNビットの第1オペランド データとNビットの第2オペランドデータとを有し、前記プロセッサが、Nビッ トの第1結果を作るために第1入力データの第1オペランドデータを第2入力デ ータの第1オペランドデータに加え、Nビットの第2結果を作るために第1入力 データの第2オペランドデータを第2入力データの第2オペランドデータに加え るための手段と、各当該結果を特定の範囲にクリップして、Nビットにそれぞれ クリップされた結果を作るための手段とを有し、前記宛先レジスタが前記それぞ れクリップされた結果を一緒に記憶することを特徴とする請求項2に記載のコン ピュータシステム。 4 Mビットの前記入力データ各々がNビットの2つのオペランドデータを有し 、前記プロセッサが、各オペランドデータの絶対値を計算し、各計算が各Nビッ トの絶対値を作るための手段と、クリップされたNビットの結果をそれぞれ作る ために、各絶対値を特定の範囲にクリップするための手段とを有し、前記宛先レ ジスタが前記それぞれクリップされた結果を一緒に記憶することを特徴と する請求項2に記載のコンピュータシステム。 5 Mビットの前記入力データがNビットを有する第1オペランドデータとNビ ットを有する第2オペランドデータとを有し、前記プロセッサが、Nビットの第 1の積を作るために、第1入力データの第1オペランドデータを第2入力データ の第1オペランドと乗算し、Nビットの第2の積を作るために、第1入力データ の第2オペランドデータを第2入力データの第2オペランドデータと乗算する手 段と、Nビットのそれぞれクリップされた結果を作るために、各前記積を特定の 範囲にクリップするための手段とを有し、前記宛先レジスタが前記それぞれクリ ップされた結果を一緒に記憶することを特徴とする請求項2に記載のコンピュー タシステム。 6 Mビットの前記入力データがNビットを有する第1オペランドデータとNビ ットを有する第2オペランドデータとを有し、前記プロセッサが、Nビットの第 1の差を作るために、第1入力データの第1オペランドデータを第2入力データ の第1オペランドから減算し、Nビットの第2の差を作るために、第1入力デー タの第2オペランドデータを第2入力データの第2オペランドから減算する手段 と、Nビットのそれぞれクリップされた結果を作るために、第1の差及び第2の 差を特定の範囲にクリップするための手段とを有し、前記宛先レジスタが前記そ れぞれクリップされた結果を一緒に記憶することを特徴とする請求項2に記載の コンピュータシステム。 7 Mビットの前記入力データがそれぞれNビットの少なくともPが2であるP 個のオペランドデータを有し、前記プロセッサが、前記P個のオペランドデータ のオペランドデータそれぞれに対して、第1入力データの各オペランドデータを 第2入力データの各オペランドデータに加え、各加算がNビットの各和を作るた めの手段と、それぞれの和を特定の範囲にクリップして、NビットのP個の各ク リップされた結果を作るための手段とを有し、前記宛先レジスタが前記P個のそ れぞれクリップされた結果を記憶することを特徴とする請求項2に記載のコンピ ュータシステム。 8 Mビットの前記入力データがそれぞれNビットの少なくともPが2であるP 個のオペランドデータを有し、前記プロセッサが、前記P個のオペランドデー タのオペランドデータそれぞれに対して、第1入力データの各オペランドデータ を第2入力データの各オペランドデータから減算し、各減算がNビットの各差を 作るための手段と、それぞれの差を特定の範囲にクリップして、NビットのP個 の各クリップされた結果を作るための手段とを有し、前記宛先レジスタが前記P 個のそれぞれクリップされた結果を記憶することを特徴とする請求項2に記載の コンピュータシステム。 9 Mビットの前記入力データがそれぞれNビットの少なくともPが2であるP 個のオペランドデータを有し、前記プロセッサが、前記P個のオペランドデータ のオペランドデータそれぞれに対して、第1入力データの各オペランドデータと 第2入力データの各オペランドデータとを乗算し、各乗算がNビットの各積を作 るための手段と、それぞれの積を特定の範囲にクリップして、NビットのP個の 各クリップされた結果を作るための手段とを有し、前記宛先レジスタが前記P個 のそれぞれクリップされた結果を記憶することを特徴とする請求項2に記載のコ ンピュータシステム。 10 Mビットの前記入力データがそれぞれNビットの少なくともPが2である P個のオペランドデータを有し、前記プロセッサが、前記P個のオペランドデー タのオペランドデータそれぞれに対して、第1入力データの各オペランドデータ と第2入力データの各オペランドデータとの各平均を計算し、各計算がNビット の各平均を作るための手段を有し、前記宛先レジスタが前記P個のそれぞれの平 均を記憶することを特徴とする請求項2に記載のコンピュータシステム。 11 Mビットの前記入力データがそれぞれNビットの少なくともPが2である P個のオペランドデータを有し、前記プロセッサが、前記P個のオペランドデー タのオペランドデータそれぞれに対して、第1入力データの各オペランドデータ と第2入力データの各オペランドデータとを乗算し、各乗算が2*Nビットの各 積を作るための手段を有し、前記宛先レジスタが各中間データを形成するために 各積の合計Nビットである選択されたビットを検索し、Mビットである宛先レジ スタの前記P個の各中間データを記憶することを特徴とする請求項2に記載のコ ンピュータシステム。 12 Mビットの入力データを供給する入力レジスタと、P個の入力データのた めに前記入力データのMより小さいNビットデータを検索するためのプロセッサ と、前記P個の入力データの各検索されたNビットデータを記憶するための宛先 レジスタとを有することを特徴とするコンピュータシステム。 13 Mビットの入力データを供給する入力レジスタと、P個の入力データのた めに前記入力データのMより小さいNビットデータを検索するためのプロセッサ とを有し、前記プロセッサが宛先レジスタの前記P個の入力データの前記各検索 されたNビットデータをパックするための手段を有することを特徴とする請求項 12に記載のコンピュータシステム。 14 Pが2であり、NがMの半分であり、前記プロセッサが前記入力データの 最大ビット又は前記入力データの最小ビットの一つを検索することを特徴とする 請求項12に記載のコンピュータシステム。 15 第1及び第2入力データが供給され、前記プロセッサが、各入力データの 最大ビット(msb)を検索し、各最大ビットが前記最大ビットの最大ビット( mmsb)として及び前記最大ビットの最小ビット(lmsb)として供給され 、パックするための前記手段が、宛先レジスタの最大ビットとして第1入力デー タの前記最大ビット(mmsb)の最大ビットをパックし、パックするための前 記手段が、前記宛先レジスタの次の最大ビットとして第2入力データの前記最大 ビット(mmsb)の最大ビットをパックし、パックするための前記手段が、前 記宛先レジスタの最小ビットとして第2入力データの前記最大ビツト(lmsb )の最小ビットをパックし、パックするための前記手段が、前記宛先レジスタの 次の最小ビットとして第1入力データの前記最大ビット(lmsb)の最小ビッ トをパックすることを特徴とする請求項12に記載のコンピュータシステム。 16 第1及び第2入力データが供給され、前記プロセッサが、各入力データの 最小ビット(lsb)を検索し、各最小ビットが前記最小ビットの最大ビット( mlsb)として及び前記最小ビットの最小ビット(llsb)として供給され 、パックするための前記手段が、宛先レジスタの最大ビットとして第1入力デー タの前記最小ビット(mlsb)の最大ビットをパックし、パックする ための前記手段が、前記宛先レジスタの次の最大ビットとして第2入力データの 前記最小ビット(mlsb)の最大ビットをパックし、パックするための前記手 段が、前記宛先レジスタの最小ビットとして第2入力データの前記最小ビット( llsb)の最小ビットをパックし、パックするための前記手段が、前記宛先レ ジスタの次の最小ビットとして第1入力データの前記最小ビット(llsb)の 最小ビットをパックすることを特徴とする請求項12に記載のコンピュータシス テム。 17 第1及び第2入力データが供給され、前記プロセッサが、各入力データの 最小ビット(lsb)を検索し、パックするための前記手段が、宛先レジスタの 最小ビットとして第2入力データの前記最小ビット(lsb)をパックし、パッ クするための前記手段が、前記宛先レジスタの次の最小ビットとして第1入力デ ータの前記最小ビット(lsb)をパックし、パックするための前記手段が、あ らかじめ特定されたビット値を持つ前記宛先レジスタの最大ビットをパックする ことを特徴とする請求項12に記載のコンピュータシステム。 18 多数のM以下のNビットを有するオペランドデータQを有するMビットの 入力データを入力するための入力レジスタと、選択されたオペランドデータでパ ラレルにグループ動作を実施し実施された各グループ動作に対してNビットを有 する各結果データを作る前記入力データを処理するためのプロセッサと、Mビッ トを有する出力データとしてQ個の結果データを記憶するための宛先レジスタと を有することを特徴とするコンピュータシステム。 19 前記処理が音声処理及びビデオ処理の少なくとも一つであることを特徴と する請求項18に記載のコンピュータシステム。 20 前記コンピュータシステムが半導体基板上に集積されていることを特徴と する請求項18に記載のコンピュータシステム。 21 オペランドデータを有する入力データを供給するための入力レジスタと、 前記オペランドデータでクリップ機能を有する多くの動作を実施するための結果 データを作るプロセッサと、前記結果データの選択されたデータを記憶するため の宛先レジスタとを有することを特徴とするコンピュータシステム。 22 各入力データが少なくとも2個のオペランドデータを有し、前記プロセッ サが命令セットの命令に応答してパラレルにクリップ機能を含んで結果データを 作る選択された動作を実施することを特徴とする請求項21に記載のコンピュー タシステム。 23 連続するマルチのオペランドを記憶するための複数の入力レジスタと、前 記入力レジスタからの前記オペランドを入力し、命令に応じて前記オペランドの 特定のオペランドでパラレルに動作の組を実施するための処理手段であって、前 記動作がシングルオペランドで実施される第1動作を含み、実施される第2動作 がマルチのオペランドを使用し、各動作は結果データを作り、動作の各組は少な くとも一つの動作を有して各出力データを作る前記処理手段と、前記各出力デー タを一緒に記憶するための前記処理手段と結合される宛先レジスタとを有するこ とを特徴とするコンピュータシステム。 24 信号データを処理するための信号処理システムであって、前記信号データ を記憶し供給するための少なくとも一つの入力レジスタと、前記プロセッサに直 接結果データを作るために少なくとも一つの動作を実施させる命令制御の下、宛 先レジスタに結果を供給する前に前記信号データで実施される動作のこの結果を クリップするための少なくとも一つの命令を有するハードウェアで利用可能な複 数の命令を実施するためのプロセッサとを有することを特徴とする信号処理シス テム。 25 前記コンピュータシステムが半導体基板上に集積されていることを特徴と する請求項24に記載のコンピュータシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US314095P | 1995-09-01 | 1995-09-01 | |
US464295P | 1995-09-25 | 1995-09-25 | |
US60/003,140 | 1995-09-25 | ||
US60/004,642 | 1995-09-25 | ||
PCT/US1996/013900 WO1997009671A1 (en) | 1995-09-01 | 1996-08-30 | Method and apparatus for custom operations of a processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10512988A true JPH10512988A (ja) | 1998-12-08 |
JP3739403B2 JP3739403B2 (ja) | 2006-01-25 |
Family
ID=26671377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51128197A Expired - Lifetime JP3739403B2 (ja) | 1995-09-01 | 1996-08-30 | プロセッサのカスタム動作のための方法及び装置 |
Country Status (8)
Country | Link |
---|---|
US (2) | US5963744A (ja) |
EP (1) | EP0789870B1 (ja) |
JP (1) | JP3739403B2 (ja) |
KR (1) | KR100445542B1 (ja) |
CN (1) | CN1153129C (ja) |
AU (2) | AU6905496A (ja) |
DE (1) | DE69625790T2 (ja) |
WO (2) | WO1997009679A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002544587A (ja) * | 1999-05-12 | 2002-12-24 | アナログ デバイセス インコーポレーテッド | デジタル信号プロセッサ計算コア |
US7185176B2 (en) | 2002-06-03 | 2007-02-27 | Matsushita Electric Industrial Co., Ltd, | Processor executing SIMD instructions |
US7281117B2 (en) | 2002-09-25 | 2007-10-09 | Matsushita Electric Industrial Co., Ltd. | Processor executing SIMD instructions |
JP2009536774A (ja) * | 2006-05-10 | 2009-10-15 | クゥアルコム・インコーポレイテッド | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム |
JP2009545823A (ja) * | 2006-08-02 | 2009-12-24 | クゥアルコム・インコーポレイテッド | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
EP0918280B1 (en) * | 1997-11-19 | 2004-03-24 | IMEC vzw | System and method for context switching on predetermined interruption points |
US6041404A (en) | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
DE69942339D1 (de) * | 1998-08-24 | 2010-06-17 | Microunity Systems Eng | System mit breiter operandenarchitektur und verfahren |
US7932911B2 (en) * | 1998-08-24 | 2011-04-26 | Microunity Systems Engineering, Inc. | Processor for executing switch and translate instructions requiring wide operands |
GB2343319B (en) * | 1998-10-27 | 2003-02-26 | Nokia Mobile Phones Ltd | Video coding |
US6247112B1 (en) * | 1998-12-30 | 2001-06-12 | Sony Corporation | Bit manipulation instructions |
US20020135611A1 (en) * | 1999-03-04 | 2002-09-26 | Trevor Deosaran | Remote performance management to accelerate distributed processes |
DE50014621D1 (de) * | 1999-05-06 | 2007-10-18 | Siemens Ag | Kommunikationseinrichtung mit Mitteln zur Echtzeitverarbeitung von zu übertragenden Nutzdaten |
US6542989B2 (en) * | 1999-06-15 | 2003-04-01 | Koninklijke Philips Electronics N.V. | Single instruction having op code and stack control field |
US6757023B2 (en) * | 1999-10-14 | 2004-06-29 | Mustek Systems Inc. | Method and apparatus for displaying and adjusting subtitles of multiple languages between human-machine interfaces |
US7890566B1 (en) * | 2000-02-18 | 2011-02-15 | Texas Instruments Incorporated | Microprocessor with rounding dot product instruction |
US7124160B2 (en) * | 2000-03-08 | 2006-10-17 | Sun Microsystems, Inc. | Processing architecture having parallel arithmetic capability |
TW525091B (en) * | 2000-10-05 | 2003-03-21 | Koninkl Philips Electronics Nv | Retargetable compiling system and method |
US6822654B1 (en) | 2001-12-31 | 2004-11-23 | Apple Computer, Inc. | Memory controller chipset |
US7015921B1 (en) | 2001-12-31 | 2006-03-21 | Apple Computer, Inc. | Method and apparatus for memory access |
US7558947B1 (en) | 2001-12-31 | 2009-07-07 | Apple Inc. | Method and apparatus for computing vector absolute differences |
US6573846B1 (en) | 2001-12-31 | 2003-06-03 | Apple Computer, Inc. | Method and apparatus for variable length decoding and encoding of video streams |
US7681013B1 (en) | 2001-12-31 | 2010-03-16 | Apple Inc. | Method for variable length decoding using multiple configurable look-up tables |
US6693643B1 (en) | 2001-12-31 | 2004-02-17 | Apple Computer, Inc. | Method and apparatus for color space conversion |
US7467287B1 (en) | 2001-12-31 | 2008-12-16 | Apple Inc. | Method and apparatus for vector table look-up |
US6877020B1 (en) | 2001-12-31 | 2005-04-05 | Apple Computer, Inc. | Method and apparatus for matrix transposition |
US7114058B1 (en) | 2001-12-31 | 2006-09-26 | Apple Computer, Inc. | Method and apparatus for forming and dispatching instruction groups based on priority comparisons |
US7034849B1 (en) | 2001-12-31 | 2006-04-25 | Apple Computer, Inc. | Method and apparatus for image blending |
US7305540B1 (en) | 2001-12-31 | 2007-12-04 | Apple Inc. | Method and apparatus for data processing |
US6931511B1 (en) | 2001-12-31 | 2005-08-16 | Apple Computer, Inc. | Parallel vector table look-up with replicated index element vector |
US6697076B1 (en) | 2001-12-31 | 2004-02-24 | Apple Computer, Inc. | Method and apparatus for address re-mapping |
US7055018B1 (en) | 2001-12-31 | 2006-05-30 | Apple Computer, Inc. | Apparatus for parallel vector table look-up |
US7047383B2 (en) | 2002-07-11 | 2006-05-16 | Intel Corporation | Byte swap operation for a 64 bit operand |
US20040062308A1 (en) * | 2002-09-27 | 2004-04-01 | Kamosa Gregg Mark | System and method for accelerating video data processing |
US6781529B1 (en) * | 2002-10-24 | 2004-08-24 | Apple Computer, Inc. | Methods and apparatuses for variable length encoding |
US6707398B1 (en) | 2002-10-24 | 2004-03-16 | Apple Computer, Inc. | Methods and apparatuses for packing bitstreams |
US6781528B1 (en) | 2002-10-24 | 2004-08-24 | Apple Computer, Inc. | Vector handling capable processor and run length encoding |
US6707397B1 (en) | 2002-10-24 | 2004-03-16 | Apple Computer, Inc. | Methods and apparatus for variable length codeword concatenation |
US20040098568A1 (en) * | 2002-11-18 | 2004-05-20 | Nguyen Hung T. | Processor having a unified register file with multipurpose registers for storing address and data register values, and associated register mapping method |
US7925891B2 (en) * | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
GB2411974C (en) * | 2003-12-09 | 2009-09-23 | Advanced Risc Mach Ltd | Data shift operations |
GB2409059B (en) * | 2003-12-09 | 2006-09-27 | Advanced Risc Mach Ltd | A data processing apparatus and method for moving data between registers and memory |
GB2409068A (en) * | 2003-12-09 | 2005-06-15 | Advanced Risc Mach Ltd | Data element size control within parallel lanes of processing |
GB2409062C (en) * | 2003-12-09 | 2007-12-11 | Advanced Risc Mach Ltd | Aliasing data processing registers |
GB2409063B (en) * | 2003-12-09 | 2006-07-12 | Advanced Risc Mach Ltd | Vector by scalar operations |
GB2409067B (en) * | 2003-12-09 | 2006-12-13 | Advanced Risc Mach Ltd | Endianess compensation within a SIMD data processing system |
GB2409060B (en) * | 2003-12-09 | 2006-08-09 | Advanced Risc Mach Ltd | Moving data between registers of different register data stores |
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 |
GB2411975B (en) * | 2003-12-09 | 2006-10-04 | Advanced Risc Mach Ltd | Data processing apparatus and method for performing arithmetic operations in SIMD data processing |
GB2409061B (en) * | 2003-12-09 | 2006-09-13 | Advanced Risc Mach Ltd | Table lookup operation within a data processing system |
GB2409065B (en) * | 2003-12-09 | 2006-10-25 | Advanced Risc Mach Ltd | Multiplexing operations in SIMD processing |
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 |
GB2411973B (en) * | 2003-12-09 | 2006-09-27 | Advanced Risc Mach Ltd | Constant generation in SMD processing |
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 |
US9081681B1 (en) | 2003-12-19 | 2015-07-14 | Nvidia Corporation | Method and system for implementing compressed normal maps |
GB2410097B (en) * | 2004-01-13 | 2006-11-01 | Advanced Risc Mach Ltd | A data processing apparatus and method for performing data processing operations on floating point data elements |
GB2411978B (en) * | 2004-03-10 | 2007-04-04 | Advanced Risc Mach Ltd | Inserting bits within a data word |
US9557994B2 (en) | 2004-07-13 | 2017-01-31 | Arm Limited | Data processing apparatus and method for performing N-way interleaving and de-interleaving operations where N is an odd plural number |
US8078656B1 (en) | 2004-11-16 | 2011-12-13 | Nvidia Corporation | Data decompression with extra precision |
US7961195B1 (en) | 2004-11-16 | 2011-06-14 | Nvidia Corporation | Two component texture map compression |
US7928988B1 (en) | 2004-11-19 | 2011-04-19 | Nvidia Corporation | Method and system for texture block swapping memory management |
US7916149B1 (en) | 2005-01-04 | 2011-03-29 | Nvidia Corporation | Block linear memory ordering of texture data |
US20080170611A1 (en) * | 2007-01-17 | 2008-07-17 | Srikrishna Ramaswamy | Configurable functional multi-processing architecture for video processing |
US8078836B2 (en) | 2007-12-30 | 2011-12-13 | Intel Corporation | Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits |
US8610732B2 (en) * | 2008-12-11 | 2013-12-17 | Nvidia Corporation | System and method for video memory usage for general system application |
EP3087454A4 (en) * | 2013-12-23 | 2017-08-02 | Intel Corporation | Input output data alignment |
US9785565B2 (en) | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
US11074305B1 (en) * | 2016-03-10 | 2021-07-27 | Amazon Technologies, Inc. | Extending data store operations using function objects |
CN110704368B (zh) * | 2019-09-25 | 2020-11-06 | 支付宝(杭州)信息技术有限公司 | 基于fpga的安全智能合约处理器的高效运算方法及装置 |
CN112199118A (zh) * | 2020-10-13 | 2021-01-08 | Oppo广东移动通信有限公司 | 指令合并方法、乱序执行设备、芯片及存储介质 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4209852A (en) * | 1974-11-11 | 1980-06-24 | Hyatt Gilbert P | Signal processing and memory arrangement |
JPS6057090B2 (ja) * | 1980-09-19 | 1985-12-13 | 株式会社日立製作所 | データ記憶装置およびそれを用いた処理装置 |
US5189636A (en) * | 1987-11-16 | 1993-02-23 | Intel Corporation | Dual mode combining circuitry |
US5047975A (en) * | 1987-11-16 | 1991-09-10 | Intel Corporation | Dual mode adder circuitry with overflow detection and substitution enabled for a particular mode |
US5692139A (en) * | 1988-01-11 | 1997-11-25 | North American Philips Corporation, Signetics Div. | VLIW processing device including improved memory for avoiding collisions without an excessive number of ports |
NL8800053A (nl) * | 1988-01-11 | 1989-08-01 | Philips Nv | Videoprocessorsysteem, alsmede afbeeldingssysteem en beeldopslagsysteem, voorzien van een dergelijk videoprocessorsysteem. |
US4931950A (en) * | 1988-07-25 | 1990-06-05 | Electric Power Research Institute | Multimedia interface and method for computer system |
US5313551A (en) * | 1988-12-28 | 1994-05-17 | North American Philips Corporation | Multiport memory bypass under software control |
US5239654A (en) * | 1989-11-17 | 1993-08-24 | Texas Instruments Incorporated | Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode |
EP0474297B1 (en) * | 1990-09-05 | 1998-06-10 | Koninklijke Philips Electronics N.V. | Very long instruction word machine for efficient execution of programs with conditional branches |
FR2693287B1 (fr) * | 1992-07-03 | 1994-09-09 | Sgs Thomson Microelectronics Sa | Procédé pour effectuer des calculs numériques, et unité arithmétique pour la mise en Óoeuvre de ce procédé. |
JPH0792654B2 (ja) * | 1992-10-23 | 1995-10-09 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ビデオ・データ・フレーム伝送方法および装置 |
JP3206619B2 (ja) * | 1993-04-23 | 2001-09-10 | ヤマハ株式会社 | カラオケ装置 |
US5598514A (en) * | 1993-08-09 | 1997-01-28 | C-Cube Microsystems | Structure and method for a multistandard video encoder/decoder |
US5883824A (en) * | 1993-11-29 | 1999-03-16 | Hewlett-Packard Company | Parallel adding and averaging circuit and method |
US5390135A (en) * | 1993-11-29 | 1995-02-14 | Hewlett-Packard | Parallel shift and add circuit and method |
US5509129A (en) * | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US5497373A (en) * | 1994-03-22 | 1996-03-05 | Ericsson Messaging Systems Inc. | Multi-media interface |
US5579253A (en) * | 1994-09-02 | 1996-11-26 | Lee; Ruby B. | Computer multiply instruction with a subresult selection option |
US5798753A (en) * | 1995-03-03 | 1998-08-25 | Sun Microsystems, Inc. | Color format conversion in a parallel processor |
US5774600A (en) * | 1995-04-18 | 1998-06-30 | Advanced Micro Devices, Inc. | Method of pixel averaging in a video processing apparatus |
US5835782A (en) * | 1996-03-04 | 1998-11-10 | Intel Corporation | Packed/add and packed subtract operations |
-
1996
- 1996-08-30 EP EP96929788A patent/EP0789870B1/en not_active Expired - Lifetime
- 1996-08-30 WO PCT/US1996/014155 patent/WO1997009679A1/en active Application Filing
- 1996-08-30 JP JP51128197A patent/JP3739403B2/ja not_active Expired - Lifetime
- 1996-08-30 DE DE69625790T patent/DE69625790T2/de not_active Expired - Lifetime
- 1996-08-30 KR KR1019970703017A patent/KR100445542B1/ko not_active IP Right Cessation
- 1996-08-30 CN CNB961912456A patent/CN1153129C/zh not_active Expired - Lifetime
- 1996-08-30 AU AU69054/96A patent/AU6905496A/en not_active Abandoned
- 1996-08-30 AU AU69134/96A patent/AU6913496A/en not_active Abandoned
- 1996-08-30 WO PCT/US1996/013900 patent/WO1997009671A1/en active IP Right Grant
- 1996-08-30 US US08/836,852 patent/US5963744A/en not_active Expired - Lifetime
- 1996-08-30 US US08/706,059 patent/US6141675A/en not_active Expired - Lifetime
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002544587A (ja) * | 1999-05-12 | 2002-12-24 | アナログ デバイセス インコーポレーテッド | デジタル信号プロセッサ計算コア |
US7185176B2 (en) | 2002-06-03 | 2007-02-27 | Matsushita Electric Industrial Co., Ltd, | Processor executing SIMD instructions |
US7281117B2 (en) | 2002-09-25 | 2007-10-09 | Matsushita Electric Industrial Co., Ltd. | Processor executing SIMD instructions |
US7594099B2 (en) | 2002-09-25 | 2009-09-22 | Panasonic Corporation | Processor executing SIMD instructions |
JP2009536774A (ja) * | 2006-05-10 | 2009-10-15 | クゥアルコム・インコーポレイテッド | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム |
JP2013242892A (ja) * | 2006-05-10 | 2013-12-05 | Qualcomm Inc | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム |
JP2016194929A (ja) * | 2006-05-10 | 2016-11-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム |
JP2018156672A (ja) * | 2006-05-10 | 2018-10-04 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム |
JP2009545823A (ja) * | 2006-08-02 | 2009-12-24 | クゥアルコム・インコーポレイテッド | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
US8417922B2 (en) | 2006-08-02 | 2013-04-09 | Qualcomm Incorporated | Method and system to combine multiple register units within a microprocessor |
JP2013218709A (ja) * | 2006-08-02 | 2013-10-24 | Qualcomm Inc | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
JP2017138993A (ja) * | 2006-08-02 | 2017-08-10 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
DE69625790D1 (de) | 2003-02-20 |
WO1997009671A1 (en) | 1997-03-13 |
KR100445542B1 (ko) | 2004-11-20 |
CN1153129C (zh) | 2004-06-09 |
EP0789870A1 (en) | 1997-08-20 |
AU6913496A (en) | 1997-03-27 |
WO1997009679A1 (en) | 1997-03-13 |
US5963744A (en) | 1999-10-05 |
DE69625790T2 (de) | 2003-11-20 |
EP0789870B1 (en) | 2003-01-15 |
JP3739403B2 (ja) | 2006-01-25 |
EP0789870A4 (en) | 1999-06-09 |
CN1173931A (zh) | 1998-02-18 |
US6141675A (en) | 2000-10-31 |
AU6905496A (en) | 1997-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3739403B2 (ja) | プロセッサのカスタム動作のための方法及び装置 | |
WO1997009671A9 (en) | Method and apparatus for custom operations of a processor | |
WO1997009679A9 (en) | Method and apparatus for custom processor operations | |
US5600847A (en) | Three input arithmetic logic unit with mask generator | |
US6032170A (en) | Long instruction word controlling plural independent processor operations | |
US5634065A (en) | Three input arithmetic logic unit with controllable shifter and mask generator | |
US5640578A (en) | Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section | |
US5680339A (en) | Method for rounding using redundant coded multiply result | |
US6116768A (en) | Three input arithmetic logic unit with barrel rotator | |
US5960193A (en) | Apparatus and system for sum of plural absolute differences | |
US6098163A (en) | Three input arithmetic logic unit with shifter | |
US5606677A (en) | Packed word pair multiply operation forming output including most significant bits of product and other bits of one input | |
US5805913A (en) | Arithmetic logic unit with conditional register source selection | |
US5465224A (en) | Three input arithmetic logic unit forming the sum of a first Boolean combination of first, second and third inputs plus a second Boolean combination of first, second and third inputs | |
JP3958662B2 (ja) | プロセッサ | |
US6058473A (en) | Memory store from a register pair conditional upon a selected status bit | |
US5694348A (en) | Method apparatus and system for correlation | |
US5420809A (en) | Method of operating a data processing apparatus to compute correlation | |
US5493524A (en) | Three input arithmetic logic unit employing carry propagate logic | |
US6067613A (en) | Rotation register for orthogonal data transformation | |
US5644524A (en) | Iterative division apparatus, system and method employing left most one's detection and left most one's detection with exclusive or | |
US5712999A (en) | Address generator employing selective merge of two independent addresses | |
US5479166A (en) | Huffman decoding method, circuit and system employing conditional subtraction for conversion of negative numbers | |
US5512896A (en) | Huffman encoding method, circuit and system employing most significant bit change for size detection | |
US5974539A (en) | Three input arithmetic logic unit with shifter and mask generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050519 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050819 |
|
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: 20051004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051102 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091111 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091111 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101111 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101111 Year of fee payment: 5 |
|
S303 | Written request for registration of pledge or change of pledge |
Free format text: JAPANESE INTERMEDIATE CODE: R316304 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101111 Year of fee payment: 5 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S303 | Written request for registration of pledge or change of pledge |
Free format text: JAPANESE INTERMEDIATE CODE: R316304 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101111 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131111 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131111 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131111 Year of fee payment: 8 |
|
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 |
|
EXPY | Cancellation because of completion of term |