JPH11511575A - パック・データを処理する1組の命令 - Google Patents
パック・データを処理する1組の命令Info
- Publication number
- JPH11511575A JPH11511575A JP9510252A JP51025297A JPH11511575A JP H11511575 A JPH11511575 A JP H11511575A JP 9510252 A JP9510252 A JP 9510252A JP 51025297 A JP51025297 A JP 51025297A JP H11511575 A JPH11511575 A JP H11511575A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- packed
- bits
- data elements
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, i.e. clipping the result to a minimum or maximum value
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49994—Sign extension
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/607—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30109—Register structure having multiple operands in a single register
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Discrete Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Document Processing Apparatus (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Containers And Plastic Fillers For Packaging (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
Abstract
Description
Claims (1)
- 【特許請求の範囲】 25.プロセッサであって、 第1の複数のデータ要素の各データ要素が第2の複数のデータ要素のあるデー タ要素に対応する、それぞれ、第1の複数のデータ要素と第2の複数のデータ要 素とを含む、第1のパック・データと第2のパック・データとを含むように構成 された記憶域と、 命令を復号するように構成されたデコーダと、 記憶域およびデコーダに結合され、アンパック命令に応答して、第1および第 2の複数のデータ要素のうちのある対応するデータ要素を同時に、第3のパック ・データ内の複数の結果データ要素として記憶域にコピーするように構成された 第1の回路と、 記憶域およびデコーダに結合され、パック命令に応答して、第1および第2の 複数のデータ要素の各データ要素の一部を同時に、第3のパック・データ内の複 数の結果データ要素として記憶域にコピーするように構成された第2の回路と、 記憶域およびデコーダに結合され、乗算命令に応答して、第1の複数のデータ 要素の各データ要素を同時に第2の複数のデータ要素の対応するデータ要素に乗 算し、各結果データ要素が上位ビットまたは下位ビットのみを含む第3のパック ・データ内の複数の結果データ要素を生成するように構成された第3の回路と、 記憶域およびデコーダに結合され、加算命令に応答して、第1の複数のデータ 要素の各データ要素を同時に第2の複数のデータ要素の対応するデータ要素に加 算し、第3のパック・データ内の複数の結果データ要素を生成するように構成さ れた第4の回路と、 記憶域およびデコーダに結合され、減算命令に応答して、第1の複数のデータ 要素の各データ要素を同時に第2の複数のデータ要素の対応するデータ要素から 減算し、第3のパック・データ内の複数の結果データ要素を生成するように構成 された第5の回路と、 記憶域およびデコーダに結合され、第1のパック・データ内の各データ要素を 同時に第2の複数のデータ要素の対応するデータ要素と比較するように構成され 、 さらに、各マスク要素が、対応する比較を表し、かつ対応する比較が真であるか 、それとも偽であるかに基づいて第1の所定の値と第2の所定の値のどちらかを すべてのビットが有する複数のビットを含む、複数のマスク要素を有するパック ・マスクを生成するように構成された第6の回路と、 記憶域およびデコーダに結合され、シフト命令に応答して、第1の複数のデー タ要素の各データ要素を独立にシフト・カウントだけシフトするように構成され た第7の回路と を備えることを特徴とするプロセッサ。 26.さらに、 記憶域およびデコーダに結合され、乗算−加算命令に応答して、第1の複数の データ要素の各データ要素を同時に第2の複数のデータ要素の対応するデータ要 素に乗算して複数の中間結果データ要素を生成し、隣接する中間結果データ要素 を同時に加算して第3のパック・データ内の複数の結果データ要素を生成するよ うに構成された第8の回路を備えることを特徴とする請求項25に記載のプロセ ッサ。 27.さらに、記憶域およびデコーダに結合され、ポピュレーション・カウント 命令に応答して、少なくとも第1および第2の結果データ要素を有する結果パッ ク・データを同時に生成するように構成された第9の回路を備え、第1の結果デ ータ要素が、第1の複数のデータ要素の第1のデータ要素内の総数ビット・セッ トを表し、第2の結果データ要素が、第1の複数のデータ要素の第2のデータ要 素内の総数ビット・セットを表すことを特徴とする請求項25に記載のプロセッ サ。 28.さらに、 記憶域およびデコーダに結合され、論理AND命令に応答して、第1の複数の データ要素の各データ要素と第2の複数のデータ要素の対応するデータ要素との 論理ANDを同時にとり第3のパック・データ内の複数の結果データ要素を生成 するように構成された第10の回路と、 記憶域およびデコーダに結合され、第2の論理AND命令に応答して、第1の 複数のデータ要素の各データ要素の逆数と第2の複数のデータ要素の対応するデ ータ要素との論理ANDを同時にとり第3のパック・データ内の複数の結果デー タ要素を生成するように構成された第11の回路と、 記憶域およびデコーダに結合され、論理OR命令に応答して、第1の複数のデ ータ要素の各データ要素と第2の複数のデータ要素の対応するデータ要素との論 理ORを同時にとり第3のパック・データ内の複数の結果データ要素を生成する ように構成された第12の回路と、 記憶域およびデコーダに結合され、論理OR命令に応答して、第1の複数のデ ータ要素の各データ要素の逆数と第2の複数のデータ要素の対応するデータ要素 との論理ORを同時にとり第3のパック・データ内の複数の結果データ要素を生 成するように構成された第13の回路と を備えることを特徴とする請求項25に記載のプロセッサ。 29.第7の回路がさらに、各データ要素において、シフト・カウント数のビッ トに零を充填するように構成されることを特徴とする請求項25に記載のプロセ ッサ。 30.第7の回路がさらに、各データ要素において、シフト・カウント数のビッ トにそれぞれのデータ要素の符号ビットを充填するように構成されることを特徴 とする請求項25に記載のプロセッサ。 31.第1の回路がさらに、第1の複数のデータ要素のうちの半数のデータ要素 を同時に第2の複数のデータ要素のうちの半数のデータ要素にコピーするように 構成されることを特徴とする請求項25に記載のプロセッサ。 32.第1および第2の複数のデータ要素からコピーされる対応するデータ要素 が、記憶域に、複数の結果データ要素として互いに隣接してコピーされることを 特徴とする請求項31に記載のプロセッサ。 33.第1の複数のデータ要素が、第1のパック・データ内と同じ順序でコピー されることを特徴とする請求項32に記載のプロセッサ。 34.第2の回路によってコピーされる各データ要素の一部が、第1および第2 の複数のデータ要素の各データ要素の下位ビットと上位ビットのどちらかである ことを特徴とする請求項25に記載のプロセッサ。 35.第1の複数のデータ要素の各部が、第3のパック・データに、複数の結果 データ要素として互いに隣接してコピーされることを特徴とする請求項34に記 載のプロセッサ。 36.第1および第2の複数のデータ要素が、第1および第2のパック・データ 内と同じ順序で第3のパック・データにコピーされることを特徴とする請求項3 5に記載のプロセッサ。 37.第1および第2の複数のデータ要素がそれぞれ、各データ要素が32ビッ トを表す2つのデータ要素を含むことを特徴とする請求項25に記載のプロセッ サ。 38.第1および第2の複数のデータ要素がそれぞれ、各データ要素が16ビッ トを表す4つのデータ要素を含むことを特徴とする請求項25に記載のプロセッ サ。 39.第1および第2の複数のデータ要素がそれぞれ、各データ要素が8ビット を表す8つのデータ要素を含むことを特徴とする請求項25に記載のプロセッサ 。 40.プロセッサであって、 第1の複数のデータ要素を有する第1のパック・データを含むように構成され た第1の記憶域と、 それぞれ、第1の複数のデータ要素のそれぞれの異なるデータ要素に対応する 、第2の複数のデータ要素を有する第2のパック・データを含むように構成され た第2の記憶域と、 第1の記憶域に対応する第1のアドレスと、第2の記憶域に対応する第2のア ドレスと、第3の記憶域に対応する宛先アドレスと、少なくとも第1の複数のデ ータ要素に対して実行される演算とを示す命令を復号するように構成されたデコ ーダと、 記憶域およびデコーダに結合され、アンパック命令に応答して、第1および第 2の複数のデータ要素のうちのある対応するデータ要素を、第3のパック・デー タ内の複数の結果データ要素として第3の記憶域に並行してコピーするように構 成された第1の回路と、 記憶域およびデコーダに結合され、パック命令に応答して、第1および第2の 複数のデータ要素の各データ要素の一部を、第3のパック・データ内の複数の結 果データ要素として第3の記憶域に並行してコピーするように構成された第2の 回路と、 記憶域およびデコーダに結合され、乗算命令に応答して、第1の複数のデータ 要素の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対応 するデータ要素に乗算し、各データ要素が上位ビットまたは下位ビットのみを含 む第3のパック・データ内の複数のデータ要素を生成するように構成された第3 の回路と、 記憶域およびデコーダに結合され、加算命令に応答して、第1の複数のデータ 要素の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対応 するデータ要素に加算し、第3のパック・データ内の複数のデータ要素を生成す るように構成された第4の回路と、 記憶域およびデコーダに結合され、減算命令に応答して、第1の複数のデータ 要素の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対応 するデータ要素から減算し、第3のパック・データ内の複数のデータ要素を生成 するように構成された第5の回路と、 記憶域およびデコーダに結合され、第1のパック・データ内の各データ要素を 並行して第2の複数のデータ要素のそれぞれの異なる対応するデータ要素と比較 するように構成され、さらに、各マスク要素が、第6の回路が第1のパック・デ ータ内の各データ要素を並行して第2の複数のデータ要素のそれぞれの異なる対 応するデータ要素と比較することによって生成された対応する比較を表し、各マ スク要素が、対応する比較が真であるか、それとも偽であるかに基づいて第1の 所定の値と第2の所定の値のどちらかをすべてのビットが有する複数のビットを 含む、複数のマスク要素を有するパック・マスクを生成するように構成された第 6の回路と、 記憶域およびデコーダに結合され、シフト命令に応答して、第1の複数のデー タ要素の各データ要素を独立にシフト・カウントだけシフトするように構成され た第7の回路とを備えることを特徴とするプロセッサ。 41.さらに、 記憶域およびデコーダに結合され、乗算−加算命令に応答して、第1の複数の データ要素の各データ要素を並行して第2の複数のデータ要素のそれぞれの異な る対応するデータ要素に乗算して複数のデータ要素を生成し、第3の複数のデー タ要素の隣接するデータ要素を並行して加算して第3のパック・データ内の第4 の複数のデータ要素を生成するように構成された、第8の回路を備えることを特 徴とする請求項40に記載のプロセッサ。 42.さらに、記憶域およびデコーダに結合され、ポピュレーション・カウント 命令に応答して、少なくとも第1および第2の結果データ要素を有する結果パッ ク・データを並行して生成するように構成された、第9の回路を備え、第1の結 果データ要素が、第1の複数のデータ要素の第1のデータ要素内の総数ビット・ セットを表し、第2の結果データ要素が、第1の複数のデータ要素の第2のデー タ要素内の総数ビット・セットを表すことを特徴とする請求項41に記載のプロ セッサ。 43.さらに、 記憶域およびデコーダに結合され、論理AND命令に応答して、第1の複数の データ要素の各データ要素と第2の複数のデータ要素のそれぞれの異なる対応す るデータ要素との論理ANDを並行してとり第3のパック・データ内の複数のデ ータ要素を生成するように構成された第10の回路と、 記憶域およびデコーダに結合され、第2の論理AND命令に応答して、第1の 複数のデータ要素の各データ要素の逆数と第2の複数のデータ要素のそれぞれの 異なる対応するデータ要素との論理ANDを並行してとり第3のパック・データ 内の複数のデータ要素を生成するように構成された第11の回路と、 記憶域およびデコーダに結合され、論理OR命令に応答して、第1の複数のデ ータ要素の各データ要素と第2の複数のデータ要素のそれぞれの異なる対応する データ要素との論理ORを並行してとり第3のパック・データ内の複数のデータ 要素を生成するように構成された第12の回路と、 記憶域およびデコーダに結合され、論理OR命令に応答して、第1の複数のデ ータ要素の各データ要素の逆数と第2の複数のデータ要素のそれぞれの異なる対 応するデータ要素との論理ORを並行してとり第3のパック・データ内の複数の データ要素を生成するように構成された第13の回路と を備えることを特徴とする請求項42に記載のプロセッサ。 44.第7の回路がさらに、論理シフト命令に応答して、第1の複数のデータ要 素の各データ要素を並行して論理的にシフトするように構成され、各データ要素 内のシフト・カウント数のビットに零が充填されることを特徴とする請求項40 に記載のプロセッサ。 45.第7の回路がさらに、演算シフト命令に応答して、第1の複数のデータ要 素の各データ要素に対して演算シフトを独立にかつ並行して実行するように構成 され、各データ要素内のシフト・カウント数のビットにそれぞれのデータ要素の 符号ビットが充填されることを特徴とする請求項40に記載のプロセッサ。 46.第1の回路がさらに、アンパック命令に応答して、第1の複数のデータ要 素のうちの半数のデータ要素と第2の複数のデータ要素のうちの半数のデータ要 素を並行してコピーするように構成されることを特徴とする請求項40に記載の プロセッサ。 47.第1および第2の複数のデータ要素からコピーされる対応するデータ要素 が、第1の回路によって、第3の記憶域に、第3の複数のデータ要素として互い に隣接して配置されることを特徴とする請求項46に記載のプロセッサ。 48.第1の回路によってコピーされる第1の複数のデータ要素がそれぞれ、第 1のパック・データ内と同じ順序で第3のパック・データにコピーされることを 特徴とする請求項47に記載のプロセッサ。 49.第2の回路によってコピーされる各データ要素の一部が、第1および第2 の複数のデータ要素の各データ要素内の半数のビットであることを特徴とする請 求項40に記載のプロセッサ。 50.第2の回路によってコピーされる各データ要素の一部が、第1および第2 の複数のデータ要素の下位ビットと上位ビットのどちらかであることを特徴とす る請求項49に記載のプロセッサ。 51.第2の回路によって第1の複数のデータ要素のデータ要素からコピーされ る部分が、第3の複数のデータ要素内に隣接して配置されることを特徴とする請 求項50に記載のプロセッサ。 52.第1および第2の複数のデータ要素からコピーされる部分が、第1および 第2のパック・データ内と同じ順序で第3のパック・データにコピーされること を特徴とする請求項51に記載のプロセッサ。 53.第1および第2の複数のデータ要素がそれぞれ、各データ要素が32ビッ トを表す2つのデータ要素を含むことを特徴とする請求項40に記載のプロセッ サ。 54.第1および第2の複数のデータ要素がそれぞれ、各データ要素が16ビッ トを表す4つのデータ要素を含むことを特徴とする請求項40に記載のプロセッ サ。 55.第1および第2の複数のデータ要素がそれぞれ、各データ要素が8ビット を表す8つのデータ要素を含むことを特徴とする請求項40に記載のプロセッサ 。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US52136095A | 1995-08-31 | 1995-08-31 | |
| US08/521,360 | 1995-08-31 | ||
| PCT/US1996/011893 WO1997008608A1 (en) | 1995-08-31 | 1996-07-17 | A set of instructions for operating on packed data |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JPH11511575A true JPH11511575A (ja) | 1999-10-05 |
| JPH11511575A5 JPH11511575A5 (ja) | 2004-08-26 |
| JP3711147B2 JP3711147B2 (ja) | 2005-10-26 |
Family
ID=24076444
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP51025297A Expired - Lifetime JP3711147B2 (ja) | 1995-08-31 | 1996-07-17 | パック・データを処理する1組の命令 |
Country Status (8)
| Country | Link |
|---|---|
| EP (2) | EP0847551B1 (ja) |
| JP (1) | JP3711147B2 (ja) |
| KR (1) | KR19990044304A (ja) |
| CN (23) | CN103345380B (ja) |
| AU (1) | AU6677896A (ja) |
| BR (2) | BR9610095A (ja) |
| TW (1) | TW310406B (ja) |
| WO (1) | WO1997008608A1 (ja) |
Cited By (15)
| 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 |
| JP2009037599A (ja) * | 2002-08-09 | 2009-02-19 | Marvell World Trade Ltd | アライメントまたはブロードキャスト命令を含むマルチメディア・コプロセッサの制御メカニズム |
| JP2010504594A (ja) * | 2006-09-22 | 2010-02-12 | インテル コーポレイション | 文字列を処理するための命令及び論理回路 |
| JP2012530978A (ja) * | 2009-12-17 | 2012-12-06 | インテル・コーポレーション | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
| JP2014179076A (ja) * | 2013-03-14 | 2014-09-25 | Intel Corp | 複数データ要素対複数データ要素比較プロセッサ、方法、システム、および命令 |
| JP2015007993A (ja) * | 2006-09-21 | 2015-01-15 | インテル コーポレイション | 論理比較動作を実行するための装置 |
| JP2015534189A (ja) * | 2012-09-28 | 2015-11-26 | インテル・コーポレーション | 複数のビットを左にシフトし、複数の1を複数の下位ビットにプルインするための命令 |
| JP5853177B2 (ja) * | 2011-04-08 | 2016-02-09 | パナソニックIpマネジメント株式会社 | データ処理装置、及びデータ処理方法 |
| JP2016527650A (ja) * | 2013-08-06 | 2016-09-08 | インテル・コーポレーション | ベクトルポピュレーションカウント機能性を提供する方法、装置、命令、およびロジック |
| JP2016529617A (ja) * | 2013-08-06 | 2016-09-23 | インテル・コーポレーション | ゲノム配列決定および配列比較のためのポピュレーションカウント機能性を提供する方法、装置、命令、およびロジック |
| JP2016194929A (ja) * | 2006-05-10 | 2016-11-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム |
| JP2017539013A (ja) * | 2014-12-23 | 2017-12-28 | インテル・コーポレーション | 競合検出を実行するための方法および装置 |
| WO2020039522A1 (ja) * | 2018-08-22 | 2020-02-27 | 日本電気株式会社 | 情報処理装置、情報処理方法及びプログラム |
| JP2023004851A (ja) * | 2021-06-26 | 2023-01-17 | インテル・コーポレーション | 符号付きおよび符号なしワードのベクトルパック乗算のための装置および方法 |
Families Citing this family (76)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6738793B2 (en) | 1994-12-01 | 2004-05-18 | Intel Corporation | Processor capable of executing packed shift operations |
| CN103345380B (zh) * | 1995-08-31 | 2016-05-18 | 英特尔公司 | 控制移位分组数据的位校正的装置 |
| US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
| US7395298B2 (en) | 1995-08-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed data |
| US6145068A (en) * | 1997-09-16 | 2000-11-07 | Phoenix Technologies Ltd. | Data transfer to a non-volatile storage medium |
| US7197625B1 (en) | 1997-10-09 | 2007-03-27 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
| US5864703A (en) | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
| WO1999048025A2 (en) | 1998-03-18 | 1999-09-23 | Koninklijke Philips Electronics N.V. | Data processing device and method of computing the cosine transform of a matrix |
| US6230253B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Executing partial-width packed data instructions |
| US6233671B1 (en) | 1998-03-31 | 2001-05-15 | Intel Corporation | Staggering execution of an instruction by dividing a full-width macro instruction into at least two partial-width micro instructions |
| US7395302B2 (en) | 1998-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing horizontal addition and subtraction |
| US6192467B1 (en) * | 1998-03-31 | 2001-02-20 | Intel Corporation | Executing partial-width packed data instructions |
| US7392275B2 (en) | 1998-03-31 | 2008-06-24 | Intel Corporation | Method and apparatus for performing efficient transformations with horizontal addition and subtraction |
| US6230257B1 (en) | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
| US7114056B2 (en) | 1998-12-03 | 2006-09-26 | Sun Microsystems, Inc. | Local and global register partitioning in a VLIW processor |
| US7117342B2 (en) | 1998-12-03 | 2006-10-03 | Sun Microsystems, Inc. | Implicitly derived register specifiers in a processor |
| JP3336986B2 (ja) * | 1999-02-03 | 2002-10-21 | 日本電気株式会社 | 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器 |
| US6678810B1 (en) | 1999-12-30 | 2004-01-13 | Intel Corporation | MFENCE and LFENCE micro-architectural implementation method and system |
| US6671795B1 (en) | 2000-01-21 | 2003-12-30 | Intel Corporation | Method and apparatus for pausing execution in a processor or the like |
| US7039906B1 (en) * | 2000-09-29 | 2006-05-02 | International Business Machines Corporation | Compiler for enabling multiple signed independent data elements per register |
| US7181484B2 (en) | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
| US7162621B2 (en) | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
| US7599981B2 (en) | 2001-02-21 | 2009-10-06 | Mips Technologies, Inc. | Binary polynomial multiplier |
| US7711763B2 (en) | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
| US7818356B2 (en) | 2001-10-29 | 2010-10-19 | Intel Corporation | Bitstream buffer manipulation with a SIMD merge instruction |
| US7685212B2 (en) | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
| US7739319B2 (en) | 2001-10-29 | 2010-06-15 | Intel Corporation | Method and apparatus for parallel table lookup using SIMD instructions |
| US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
| US7430578B2 (en) | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
| US7392368B2 (en) | 2002-08-09 | 2008-06-24 | Marvell International Ltd. | Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements |
| WO2004015563A1 (en) | 2002-08-09 | 2004-02-19 | Intel Corporation | Multimedia coprocessor control mechanism including alignment or broadcast instructions |
| US7293056B2 (en) * | 2002-12-18 | 2007-11-06 | Intel Corporation | Variable width, at least six-way addition/accumulation instructions |
| US7139900B2 (en) | 2003-06-23 | 2006-11-21 | Intel Corporation | Data packet arithmetic logic devices and methods |
| US7424501B2 (en) | 2003-06-30 | 2008-09-09 | Intel Corporation | Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations |
| US7426749B2 (en) * | 2004-01-20 | 2008-09-16 | International Business Machines Corporation | Distributed computation in untrusted computing environments using distractive computational units |
| US20060101244A1 (en) * | 2004-11-10 | 2006-05-11 | Nvidia Corporation | Multipurpose functional unit with combined integer and floating-point multiply-add pipeline |
| US8024551B2 (en) * | 2005-10-26 | 2011-09-20 | Analog Devices, Inc. | Pipelined digital signal processor |
| US20080071851A1 (en) * | 2006-09-20 | 2008-03-20 | Ronen Zohar | Instruction and logic for performing a dot-product operation |
| US7917568B2 (en) * | 2007-04-10 | 2011-03-29 | Via Technologies, Inc. | X87 fused multiply-add instruction |
| CN100461095C (zh) * | 2007-11-20 | 2009-02-11 | 浙江大学 | 一种支持多模式的媒体增强流水线乘法单元设计方法 |
| CN101685388B (zh) * | 2008-09-28 | 2013-08-07 | 北京大学深圳研究生院 | 执行比较运算的方法和装置 |
| US8504807B2 (en) | 2009-12-26 | 2013-08-06 | Intel Corporation | Rotate instructions that complete execution without reading carry flag |
| US10564966B2 (en) | 2011-12-22 | 2020-02-18 | Intel Corporation | Packed data operation mask shift processors, methods, systems, and instructions |
| CN114721721A (zh) * | 2011-12-23 | 2022-07-08 | 英特尔公司 | 用于混洗浮点或整数值的装置和方法 |
| CN104011650B (zh) * | 2011-12-23 | 2017-09-19 | 英特尔公司 | 使用输入写掩码和立即数从源写掩码寄存器在目的地写掩码寄存器中设置输出掩码的系统、装置和方法 |
| WO2013101232A1 (en) | 2011-12-30 | 2013-07-04 | Intel Corporation | Packed rotate processors, methods, systems, and instructions |
| US9990202B2 (en) | 2013-06-28 | 2018-06-05 | Intel Corporation | Packed data element predication processors, methods, systems, and instructions |
| US9405539B2 (en) * | 2013-07-31 | 2016-08-02 | Intel Corporation | Providing vector sub-byte decompression functionality |
| US10768930B2 (en) * | 2014-02-12 | 2020-09-08 | MIPS Tech, LLC | Processor supporting arithmetic instructions with branch on overflow and methods |
| US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
| CN104778147B (zh) * | 2015-04-14 | 2017-06-06 | 飞天诚信科技股份有限公司 | 一种基于协处理器的数据处理方法 |
| US11204764B2 (en) * | 2016-03-31 | 2021-12-21 | Intel Corporation | Processors, methods, systems, and instructions to Partition a source packed data into lanes |
| CN107766079B (zh) * | 2016-08-19 | 2022-03-11 | 北京百度网讯科技有限公司 | 处理器以及用于在处理器上执行指令的方法 |
| US10296292B2 (en) * | 2016-10-20 | 2019-05-21 | Advanced Micro Devices, Inc. | Dynamic variable precision computation |
| US10409603B2 (en) * | 2016-12-30 | 2019-09-10 | Intel Corporation | Processors, methods, systems, and instructions to check and store indications of whether memory addresses are in persistent memory |
| WO2018174928A1 (en) | 2017-03-20 | 2018-09-27 | Intel Corporation | Systems, methods, and apparatuses for zeroing a matrix |
| US10162633B2 (en) * | 2017-04-24 | 2018-12-25 | Arm Limited | Shift instruction |
| CN107145334B (zh) * | 2017-04-26 | 2020-10-09 | 龙芯中科技术有限公司 | 常量获取方法、装置、处理器及计算机可读存储介质 |
| CN109388427A (zh) * | 2017-08-11 | 2019-02-26 | 龙芯中科技术有限公司 | 向量处理方法、向量处理单元和微处理器 |
| US20190102192A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Apparatus and method for shifting and extracting packed data elements |
| US11243765B2 (en) * | 2017-09-29 | 2022-02-08 | Intel Corporation | Apparatus and method for scaling pre-scaled results of complex multiply-accumulate operations on packed real and imaginary data elements |
| US20190102181A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Apparatus and method for shifting and extracting packed data elements |
| US10318298B2 (en) * | 2017-09-29 | 2019-06-11 | Intel Corporation | Apparatus and method for shifting quadwords and extracting packed words |
| US10534838B2 (en) | 2017-09-29 | 2020-01-14 | Intel Corporation | Bit matrix multiplication |
| CN107861709B (zh) * | 2017-12-01 | 2021-04-02 | 中国兵器装备集团自动化研究所 | 适应前端高速处理的累加器和功率谱累加器及其累加方法 |
| US10705839B2 (en) * | 2017-12-21 | 2020-07-07 | Intel Corporation | Apparatus and method for multiplying, summing, and accumulating sets of packed bytes |
| US10514923B2 (en) * | 2017-12-21 | 2019-12-24 | Intel Corporation | Apparatus and method for vector multiply and accumulate of signed doublewords |
| CN108595149B (zh) * | 2018-04-28 | 2021-05-04 | 天津芯海创科技有限公司 | 可重构乘加运算装置 |
| CN110554886B (zh) * | 2018-05-30 | 2021-12-10 | 赛灵思公司 | 数据拆分结构、方法及其片上实现 |
| CN109783054B (zh) * | 2018-12-20 | 2021-03-09 | 中国科学院计算技术研究所 | 一种rsfq fft处理器的蝶形运算处理方法及系统 |
| CN110221807B (zh) * | 2019-06-06 | 2021-08-03 | 龙芯中科(合肥)技术有限公司 | 数据移位方法、装置、设备及计算机可读存储介质 |
| CN111258538B (zh) * | 2020-01-13 | 2023-07-21 | 电子科技大学 | 一种基于fpga的大位宽高性能加法器电路 |
| CN112230886B (zh) * | 2020-09-11 | 2022-11-08 | 清华大学 | 免除Toom-Cook的处理装置和基于其的模乘获取方法 |
| CN112181354B (zh) * | 2020-10-12 | 2021-08-10 | 上海芯旺微电子技术有限公司 | 一种移位饱和同步处理的方法及其应用 |
| CN112181355B (zh) * | 2020-10-12 | 2021-08-06 | 上海芯旺微电子技术有限公司 | 一种移位饱和处理方法及其应用 |
| US20230297371A1 (en) * | 2022-03-15 | 2023-09-21 | Intel Corporation | Fused multiple multiplication and addition-subtraction instruction set |
Family Cites Families (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE310008B (ja) * | 1965-06-30 | 1969-04-14 | Ericsson Telefon Ab L M | |
| JPS5955546A (ja) * | 1982-09-24 | 1984-03-30 | Fujitsu Ltd | フア−ムウエア処理装置 |
| JPS60134974A (ja) * | 1983-12-23 | 1985-07-18 | Hitachi Ltd | ベクトル処理装置 |
| JPS6284335A (ja) * | 1985-10-09 | 1987-04-17 | Hitachi Ltd | 乗算回路 |
| JPS6297060A (ja) * | 1985-10-23 | 1987-05-06 | Mitsubishi Electric Corp | デイジタルシグナルプロセツサ |
| JP2634609B2 (ja) * | 1987-10-16 | 1997-07-30 | 富士通テン株式会社 | データ転送装置 |
| US4985848A (en) * | 1987-09-14 | 1991-01-15 | Visual Information Technologies, Inc. | High speed image processing system using separate data processor and address generator |
| US4933847A (en) * | 1987-11-17 | 1990-06-12 | International Business Machines Corporation | Microcode branch based upon operand length and alignment |
| US5126964A (en) * | 1988-04-01 | 1992-06-30 | Digital Equipment Corporation | High performance bit-sliced multiplier circuit |
| EP0344347B1 (de) * | 1988-06-02 | 1993-12-29 | Deutsche ITT Industries GmbH | Einrichtung zur digitalen Signalverarbeitung |
| US5073969A (en) * | 1988-08-01 | 1991-12-17 | Intel Corporation | Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal |
| CA1311063C (en) * | 1988-12-16 | 1992-12-01 | Tokumichi Murakami | Digital signal processor |
| US5047973A (en) * | 1989-04-26 | 1991-09-10 | Texas Instruments Incorporated | High speed numerical processor for performing a plurality of numeric functions |
| US5001662A (en) * | 1989-04-28 | 1991-03-19 | Apple Computer, Inc. | Method and apparatus for multi-gauge computation |
| JP2984463B2 (ja) * | 1991-06-24 | 1999-11-29 | 株式会社日立製作所 | マイクロコンピュータ |
| CA2073516A1 (en) * | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
| US5257214A (en) * | 1992-06-16 | 1993-10-26 | Hewlett-Packard Company | Qualification of register file write enables using self-timed floating point exception flags |
| US5263125A (en) * | 1992-06-17 | 1993-11-16 | Motorola, Inc. | Circuit and method for evaluating fuzzy logic rules |
| US5295229A (en) * | 1992-06-17 | 1994-03-15 | Motorola, Inc. | Circuit and method for determining membership in a set during a fuzzy logic operation |
| EP0581986A1 (de) * | 1992-08-04 | 1994-02-09 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Datenverarbeitungsanlage mit Verarbeitung von Aufbereitungsbefehlen |
| JPH0682269A (ja) * | 1992-09-03 | 1994-03-22 | Matsushita Electric Ind Co Ltd | エンコーダ信号逓倍回路 |
| US5268855A (en) * | 1992-09-14 | 1993-12-07 | Hewlett-Packard Company | Common format for encoding both single and double precision floating point numbers |
| US5375080A (en) * | 1992-12-18 | 1994-12-20 | Xerox Corporation | Performing arithmetic on composite operands to obtain a binary outcome for each multi-bit component |
| US5717616A (en) * | 1993-02-19 | 1998-02-10 | Hewlett-Packard Company | Computer hardware instruction and method for computing population counts |
| US5717947A (en) * | 1993-03-31 | 1998-02-10 | Motorola, Inc. | Data processing system and method thereof |
| DE69428466T2 (de) * | 1993-11-23 | 2002-05-23 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Parallele Datenverarbeitung in einem Einzelprozessor |
| US5442581A (en) * | 1993-11-30 | 1995-08-15 | Texas Instruments Incorporated | Iterative division apparatus, system and method forming plural quotient bits per iteration |
| CN1099081C (zh) * | 1994-01-29 | 2003-01-15 | 世嘉企业股份有限公司 | 信息处理装置 |
| GB2287333B (en) * | 1994-03-11 | 1998-02-11 | Advanced Risc Mach Ltd | Data processing multiplier |
| US5557734A (en) * | 1994-06-17 | 1996-09-17 | Applied Intelligent Systems, Inc. | Cache burst architecture for parallel processing, such as for image processing |
| JP3579087B2 (ja) * | 1994-07-08 | 2004-10-20 | 株式会社日立製作所 | 演算器およびマイクロプロセッサ |
| CN103345380B (zh) * | 1995-08-31 | 2016-05-18 | 英特尔公司 | 控制移位分组数据的位校正的装置 |
-
1996
- 1996-07-17 CN CN201210548871.8A patent/CN103345380B/zh not_active Expired - Lifetime
- 1996-07-17 CN CNB031522289A patent/CN1264085C/zh not_active Expired - Lifetime
- 1996-07-17 BR BR9610095A patent/BR9610095A/pt not_active Application Discontinuation
- 1996-07-17 EP EP96926742A patent/EP0847551B1/en not_active Expired - Lifetime
- 1996-07-17 EP EP06011060A patent/EP1693742A3/en not_active Withdrawn
- 1996-07-17 CN CN201310087232.0A patent/CN103455304B/zh not_active Expired - Lifetime
- 1996-07-17 CN CNB031328458A patent/CN100380312C/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201210575024.0A patent/CN103064652B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN03132844XA patent/CN1534458B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN2006101014596A patent/CN1892589B/zh not_active Expired - Lifetime
- 1996-07-17 CN CNB031224288A patent/CN1252587C/zh not_active Expired - Lifetime
- 1996-07-17 BR BRPI9612911-5A patent/BR9612911B1/pt not_active IP Right Cessation
- 1996-07-17 AU AU66778/96A patent/AU6677896A/en not_active Abandoned
- 1996-07-17 KR KR1019980701541A patent/KR19990044304A/ko not_active Ceased
- 1996-07-17 CN CNB961978392A patent/CN1149469C/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201210548546.1A patent/CN103064649B/zh not_active Expired - Lifetime
- 1996-07-17 WO PCT/US1996/011893 patent/WO1997008608A1/en not_active Ceased
- 1996-07-17 CN CN201010194848.4A patent/CN101930352B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201210574889.5A patent/CN103092562B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201310066953.3A patent/CN103383639B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201210576603.7A patent/CN103064653B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201210059426.5A patent/CN102707922B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201210576549.6A patent/CN103092564B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201210574965.2A patent/CN103092563B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201210574863.0A patent/CN103064651B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201210574820.2A patent/CN103064650B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN200910171170.5A patent/CN101794212B/zh not_active Expired - Lifetime
- 1996-07-17 CN CN201010623140.6A patent/CN102073475B/zh not_active Expired - Lifetime
- 1996-07-17 JP JP51025297A patent/JP3711147B2/ja not_active Expired - Lifetime
- 1996-07-17 CN CN200910265998.7A patent/CN101794213B/zh not_active Expired - Lifetime
- 1996-10-21 TW TW085112876A patent/TW310406B/zh not_active IP Right Cessation
-
2002
- 2002-12-16 CN CNB021593795A patent/CN1225688C/zh not_active Expired - Lifetime
Cited By (55)
| 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 |
| JP2009037599A (ja) * | 2002-08-09 | 2009-02-19 | Marvell World Trade Ltd | アライメントまたはブロードキャスト命令を含むマルチメディア・コプロセッサの制御メカニズム |
| US8131981B2 (en) | 2002-08-09 | 2012-03-06 | Marvell International Ltd. | SIMD processor performing fractional multiply operation with saturation history data processing to generate condition code flags |
| JP2016194929A (ja) * | 2006-05-10 | 2016-11-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム |
| JP2018156672A (ja) * | 2006-05-10 | 2018-10-04 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マイクロプロセッサ内において複数のレジスタユニットからの対応する半語ユニットを結合するための方法及びシステム |
| US10572251B2 (en) | 2006-09-21 | 2020-02-25 | Intel Corporation | Method and apparatus for performing logical compare operations |
| US10416997B2 (en) | 2006-09-21 | 2019-09-17 | Intel Corporation | Method and apparatus for performing logical compare operations |
| US10146536B2 (en) | 2006-09-21 | 2018-12-04 | Intel Corporation | Method and apparatus for performing logical compare operations |
| JP2017079083A (ja) * | 2006-09-21 | 2017-04-27 | インテル コーポレイション | 論理比較動作を実行するための装置 |
| JP2015007993A (ja) * | 2006-09-21 | 2015-01-15 | インテル コーポレイション | 論理比較動作を実行するための装置 |
| US9645821B2 (en) | 2006-09-22 | 2017-05-09 | Intel Corporation | Instruction and logic for processing text strings |
| US10261795B2 (en) | 2006-09-22 | 2019-04-16 | Intel Corporation | Instruction and logic for processing text strings |
| US11537398B2 (en) | 2006-09-22 | 2022-12-27 | Intel Corporation | Instruction and logic for processing text strings |
| JP2022050519A (ja) * | 2006-09-22 | 2022-03-30 | インテル コーポレイション | プロセッサ、システム及び方法 |
| US11029955B2 (en) | 2006-09-22 | 2021-06-08 | Intel Corporation | Instruction and logic for processing text strings |
| US11023236B2 (en) | 2006-09-22 | 2021-06-01 | Intel Corporation | Instruction and logic for processing text strings |
| US9448802B2 (en) | 2006-09-22 | 2016-09-20 | Intel Corporation | Instruction and logic for processing text strings |
| US10929131B2 (en) | 2006-09-22 | 2021-02-23 | Intel Corporation | Instruction and logic for processing text strings |
| JP2010504594A (ja) * | 2006-09-22 | 2010-02-12 | インテル コーポレイション | 文字列を処理するための命令及び論理回路 |
| US9069547B2 (en) | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
| US9495160B2 (en) | 2006-09-22 | 2016-11-15 | Intel Corporation | Instruction and logic for processing text strings |
| US9063720B2 (en) | 2006-09-22 | 2015-06-23 | Intel Corporation | Instruction and logic for processing text strings |
| JP2014063535A (ja) * | 2006-09-22 | 2014-04-10 | Intel Corp | 文字列を処理するための命令及び論理回路 |
| US9632784B2 (en) | 2006-09-22 | 2017-04-25 | Intel Corporation | Instruction and logic for processing text strings |
| US9804848B2 (en) | 2006-09-22 | 2017-10-31 | Intel Corporation | Instruction and logic for processing text strings |
| US9772846B2 (en) | 2006-09-22 | 2017-09-26 | Intel Corporation | Instruction and logic for processing text strings |
| US9772847B2 (en) | 2006-09-22 | 2017-09-26 | Intel Corporation | Instruction and logic for processing text strings |
| US9703564B2 (en) | 2006-09-22 | 2017-07-11 | Intel Corporation | Instruction and logic for processing text strings |
| US9720692B2 (en) | 2006-09-22 | 2017-08-01 | Intel Corporation | Instruction and logic for processing text strings |
| US9740489B2 (en) | 2006-09-22 | 2017-08-22 | Intel Corporation | Instruction and logic for processing text strings |
| US9740490B2 (en) | 2006-09-22 | 2017-08-22 | Intel Corporation | Instruction and logic for processing text strings |
| US10684855B2 (en) | 2009-12-17 | 2020-06-16 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
| US9495166B2 (en) | 2009-12-17 | 2016-11-15 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
| US9501281B2 (en) | 2009-12-17 | 2016-11-22 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
| US9495165B2 (en) | 2009-12-17 | 2016-11-15 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
| JP2014194825A (ja) * | 2009-12-17 | 2014-10-09 | Intel Corp | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
| JP2015164061A (ja) * | 2009-12-17 | 2015-09-10 | インテル・コーポレーション | 単一命令でシフト・アンド・排他的論理和演算を行う方法および装置 |
| JP2014160500A (ja) * | 2009-12-17 | 2014-09-04 | Intel Corp | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
| US9747105B2 (en) | 2009-12-17 | 2017-08-29 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
| JP2012530978A (ja) * | 2009-12-17 | 2012-12-06 | インテル・コーポレーション | 単一命令でシフトおよび排他的論理和演算を行う方法および装置 |
| JP2017152016A (ja) * | 2009-12-17 | 2017-08-31 | インテル・コーポレーション | 単一命令でシフト・アンド・排他的論理和演算を行うシステム |
| JP5853177B2 (ja) * | 2011-04-08 | 2016-02-09 | パナソニックIpマネジメント株式会社 | データ処理装置、及びデータ処理方法 |
| JP2015534189A (ja) * | 2012-09-28 | 2015-11-26 | インテル・コーポレーション | 複数のビットを左にシフトし、複数の1を複数の下位ビットにプルインするための命令 |
| JP2017107587A (ja) * | 2012-09-28 | 2017-06-15 | インテル・コーポレーション | 複数のビットを左にシフトし、複数の1を複数の下位ビットにプルインするための命令 |
| JP2014179076A (ja) * | 2013-03-14 | 2014-09-25 | Intel Corp | 複数データ要素対複数データ要素比較プロセッサ、方法、システム、および命令 |
| US10223120B2 (en) | 2013-08-06 | 2019-03-05 | Intel Corporation | Methods, apparatus, instructions and logic to provide population count functionality for genome sequencing and alignment |
| US10678546B2 (en) | 2013-08-06 | 2020-06-09 | Intel Corporation | Methods, apparatus, instructions and logic to provide population count functionality for genome sequencing and alignment |
| JP2016529617A (ja) * | 2013-08-06 | 2016-09-23 | インテル・コーポレーション | ゲノム配列決定および配列比較のためのポピュレーションカウント機能性を提供する方法、装置、命令、およびロジック |
| JP2016527650A (ja) * | 2013-08-06 | 2016-09-08 | インテル・コーポレーション | ベクトルポピュレーションカウント機能性を提供する方法、装置、命令、およびロジック |
| JP2019050039A (ja) * | 2013-08-06 | 2019-03-28 | インテル・コーポレーション | ゲノム配列決定および配列比較のためのポピュレーションカウント機能性を提供する方法、装置、命令、およびロジック |
| JP2017539013A (ja) * | 2014-12-23 | 2017-12-28 | インテル・コーポレーション | 競合検出を実行するための方法および装置 |
| WO2020039522A1 (ja) * | 2018-08-22 | 2020-02-27 | 日本電気株式会社 | 情報処理装置、情報処理方法及びプログラム |
| JPWO2020039522A1 (ja) * | 2018-08-22 | 2021-08-10 | 日本電気株式会社 | 情報処理装置、情報処理方法及びプログラム |
| JP2023004851A (ja) * | 2021-06-26 | 2023-01-17 | インテル・コーポレーション | 符号付きおよび符号なしワードのベクトルパック乗算のための装置および方法 |
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH11511575A (ja) | パック・データを処理する1組の命令 | |
| AU717246B2 (en) | An apparatus for performing multiply-add operations on packed data | |
| HK1099095B (en) | An apparatus and a system for performing operations of multimedia applications and a method for performing the same | |
| HK1144974B (en) | An apparatus for controlling bit correction of shifted packed data | |
| HK1072989B (en) | Method, processor and system for performing operation of data according to instruction | |
| HK1072989A1 (zh) | 根据指令对数据执行运算的方法、处理器和系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041130 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050228 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050411 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050530 |
|
| 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: 20050712 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050812 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090819 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100819 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110819 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110819 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120819 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130819 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 |