AU2001286383A1 - A method and system for performing permutations with bit permutation instructions - Google Patents
A method and system for performing permutations with bit permutation instructionsInfo
- Publication number
- AU2001286383A1 AU2001286383A1 AU2001286383A AU8638301A AU2001286383A1 AU 2001286383 A1 AU2001286383 A1 AU 2001286383A1 AU 2001286383 A AU2001286383 A AU 2001286383A AU 8638301 A AU8638301 A AU 8638301A AU 2001286383 A1 AU2001286383 A1 AU 2001286383A1
- Authority
- AU
- Australia
- Prior art keywords
- bit permutation
- permutation instructions
- performing permutations
- permutations
- instructions
- 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.)
- Abandoned
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/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
-
- 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/30018—Bit or string instructions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US20225000P | 2000-05-05 | 2000-05-05 | |
| US60202250 | 2000-05-05 | ||
| PCT/US2001/014628 WO2001089098A2 (en) | 2000-05-05 | 2001-05-07 | A method and system for performing permutations with bit permutation instructions |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| AU2001286383A1 true AU2001286383A1 (en) | 2001-11-26 |
Family
ID=22749066
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU2001286383A Abandoned AU2001286383A1 (en) | 2000-05-05 | 2001-05-07 | A method and system for performing permutations with bit permutation instructions |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US7174014B2 (en) |
| AU (1) | AU2001286383A1 (en) |
| WO (1) | WO2001089098A2 (en) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU2001286383A1 (en) * | 2000-05-05 | 2001-11-26 | Ruby B. Lee | A method and system for performing permutations with bit permutation instructions |
| US20020169808A1 (en) * | 2000-12-12 | 2002-11-14 | Fromm Eric C. | System and method for reordering data |
| US7039060B2 (en) * | 2001-03-07 | 2006-05-02 | Mips Tech Inc | System and method for extracting fields from packets having fields spread over more than one register |
| US9146738B2 (en) * | 2002-03-30 | 2015-09-29 | Hewlett-Packard Development Company, L.P. | Interleaving bits of multiple instruction results in a single destination register |
| US8051303B2 (en) * | 2002-06-10 | 2011-11-01 | Hewlett-Packard Development Company, L.P. | Secure read and write access to configuration registers in computer devices |
| US7424597B2 (en) * | 2003-03-31 | 2008-09-09 | Hewlett-Packard Development Company, L.P. | Variable reordering (Mux) instructions for parallel table lookups from registers |
| US7730292B2 (en) * | 2003-03-31 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | Parallel subword instructions for directing results to selected subword locations of data processor result register |
| US8694976B2 (en) * | 2003-12-19 | 2014-04-08 | Intel Corporation | Sleep state mechanism for virtual multithreading |
| US7577250B2 (en) * | 2004-08-12 | 2009-08-18 | Cmla, Llc | Key derivation functions to enhance security |
| US8077861B2 (en) * | 2004-08-12 | 2011-12-13 | Cmla, Llc | Permutation data transform to enhance security |
| US7564970B2 (en) * | 2004-08-12 | 2009-07-21 | Cmla, Llc | Exponential data transform to enhance security |
| US7783690B2 (en) * | 2005-07-07 | 2010-08-24 | International Business Machines Corporation | Electronic circuit for implementing a permutation operation |
| CN100442264C (en) * | 2005-10-14 | 2008-12-10 | 威盛电子股份有限公司 | packet processing system and method |
| US20080071851A1 (en) * | 2006-09-20 | 2008-03-20 | Ronen Zohar | Instruction and logic for performing a dot-product operation |
| FR2914294B1 (en) * | 2007-03-29 | 2009-07-10 | Rexam Dispensing Systems Sas | DISTRIBUTION NOZZLE COMPRISING AN AXIS-ATTACHED CLOSURE SLEEVE |
| US8285766B2 (en) | 2007-05-23 | 2012-10-09 | The Trustees Of Princeton University | Microprocessor shifter circuits utilizing butterfly and inverse butterfly routing circuits, and control circuits therefor |
| US7962718B2 (en) * | 2007-10-12 | 2011-06-14 | Freescale Semiconductor, Inc. | Methods for performing extended table lookups using SIMD vector permutation instructions that support out-of-range index values |
| US8700884B2 (en) * | 2007-10-12 | 2014-04-15 | Freescale Semiconductor, Inc. | Single-instruction multiple-data vector permutation instruction and method for performing table lookups for in-range index values and determining constant values for out-of-range index values |
| US9529592B2 (en) | 2007-12-27 | 2016-12-27 | Intel Corporation | Vector mask memory access instructions to perform individual and sequential memory access operations if an exception occurs during a full width memory access operation |
| US8909901B2 (en) * | 2007-12-28 | 2014-12-09 | Intel Corporation | Permute operations with flexible zero control |
| US8069195B2 (en) * | 2008-01-03 | 2011-11-29 | International Business Machines Corporation | Method and system for a wiring-efficient permute unit |
| GB2456775B (en) * | 2008-01-22 | 2012-10-31 | Advanced Risc Mach Ltd | Apparatus and method for performing permutation operations on data |
| PL2254250T3 (en) * | 2008-03-03 | 2015-11-30 | Rai Radiotelevisione Italiana S P A | Bit permutation patterns for LDPC coded modulation and 64QAM constellations |
| US8275978B1 (en) * | 2008-07-29 | 2012-09-25 | Marvell International Ltd. | Execution of conditional branch instruction specifying branch point operand to be stored in jump stack with branch destination for jumping to upon matching program counter value |
| RU2439662C2 (en) * | 2009-12-22 | 2012-01-10 | Государственное образовательное учреждение высшего профессионального образования "Саратовский государственный университет им. Н.Г. Чернышевского" | Device of controlled shift of binary line bits |
| AU2011282850A1 (en) | 2010-07-27 | 2013-03-14 | Meso Scale Technologies, Llc | Consumable data management |
| US9946540B2 (en) * | 2011-12-23 | 2018-04-17 | Intel Corporation | Apparatus and method of improved permute instructions with multiple granularities |
| CN111831335A (en) | 2011-12-23 | 2020-10-27 | 英特尔公司 | Apparatus and method for improved insertion of instructions |
| US9495162B2 (en) | 2011-12-23 | 2016-11-15 | Intel Corporation | Apparatus and method for performing a permute operation |
| CN107220029B (en) | 2011-12-23 | 2020-10-27 | 英特尔公司 | Apparatus and method for mask permute instruction |
| CN108241504A (en) | 2011-12-23 | 2018-07-03 | 英特尔公司 | The device and method of improved extraction instruction |
| CN107391086B (en) * | 2011-12-23 | 2020-12-08 | 英特尔公司 | Apparatus and method for improving permute instruction |
| US9524168B2 (en) * | 2011-12-23 | 2016-12-20 | Intel Corporation | Apparatus and method for shuffling floating point or integer values |
| US9378182B2 (en) * | 2012-09-28 | 2016-06-28 | Intel Corporation | Vector move instruction controlled by read and write masks |
| US9998140B2 (en) | 2013-04-22 | 2018-06-12 | International Business Machines Corporation | Matching pattern combinations via fast array comparison |
| WO2014203034A1 (en) * | 2013-06-18 | 2014-12-24 | Freescale Semiconductor, Inc. | Signal processing device and method of performing a pack-insert operation |
| US9645820B2 (en) * | 2013-06-27 | 2017-05-09 | Intel Corporation | Apparatus and method to reserve and permute bits in a mask register |
| KR102122406B1 (en) | 2013-11-06 | 2020-06-12 | 삼성전자주식회사 | Method and apparatus for processing shuffle instruction |
| MY172620A (en) * | 2014-01-22 | 2019-12-06 | Mimos Berhad | System and method for arbitrary bit pemutation using bit-separation and bit-distribution instructions |
| US10164772B2 (en) * | 2014-05-30 | 2018-12-25 | Apple Inc. | Permutation composition based hash function |
| EP3001307B1 (en) | 2014-09-25 | 2019-11-13 | Intel Corporation | Bit shuffle processors, methods, systems, and instructions |
| US20170177358A1 (en) * | 2015-12-20 | 2017-06-22 | Intel Corporation | Instruction and Logic for Getting a Column of Data |
| US10063238B1 (en) * | 2017-09-18 | 2018-08-28 | Qualcomm Incorporated | Apparatus and method for a permutation sequencer |
| US12393399B2 (en) | 2018-11-06 | 2025-08-19 | International Business Machines Corporation | Controlling storage accesses for merge operations |
Family Cites Families (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3796830A (en) | 1971-11-02 | 1974-03-12 | Ibm | Recirculating block cipher cryptographic system |
| US3962539A (en) | 1975-02-24 | 1976-06-08 | International Business Machines Corporation | Product block cipher system for data security |
| US4275265A (en) | 1978-10-02 | 1981-06-23 | Wisconsin Alumni Research Foundation | Complete substitution permutation enciphering and deciphering circuit |
| GB2189970B (en) | 1986-05-01 | 1990-03-28 | British Broadcasting Corp | Data conversion |
| JPH01503028A (en) | 1986-06-09 | 1989-10-12 | データコンサルト、イ、マルメ、アクチェボラーグ | Encryption and decryption equipment |
| FR2611962B1 (en) | 1987-03-06 | 1989-06-09 | Trt Telecom Radio Electr | SYSTEM AND METHOD FOR APPLIED CRYPTOGRAPHY |
| US4907233A (en) * | 1988-05-18 | 1990-03-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | VLSI single-chip (255,223) Reed-Solomon encoder with interleaver |
| JP2863597B2 (en) * | 1990-03-30 | 1999-03-03 | 株式会社東芝 | Clamp circuit |
| US5734334A (en) * | 1991-10-30 | 1998-03-31 | I-Cube, Inc. | Programmable port for crossbar switch |
| JPH0812537B2 (en) | 1993-03-11 | 1996-02-07 | 日本電気株式会社 | Encryption device |
| US5524256A (en) * | 1993-05-07 | 1996-06-04 | Apple Computer, Inc. | Method and system for reordering bytes in a data stream |
| US5297207A (en) | 1993-05-24 | 1994-03-22 | Degele Steven T | Machine generation of cryptographic keys by non-linear processes similar to processes normally associated with encryption of data |
| US5422705A (en) * | 1993-07-29 | 1995-06-06 | Xerox Corporation | System for selectively variable set delivery output in an electrostatographic printing machine |
| US5483541A (en) | 1993-09-13 | 1996-01-09 | Trw Inc. | Permuted interleaver |
| JP3029381B2 (en) * | 1994-01-10 | 2000-04-04 | 富士通株式会社 | Data converter |
| FR2721416B1 (en) | 1994-06-20 | 1996-08-30 | Met | Device for routing data cells in asynchronous transfer mode. |
| US5768493A (en) | 1994-11-08 | 1998-06-16 | International Businees Machines Corporation | Algorithm for fault tolerant routing in benes networks |
| US5673321A (en) | 1995-06-29 | 1997-09-30 | Hewlett-Packard Company | Efficient selection and mixing of multiple sub-word items packed into two or more computer words |
| US6381690B1 (en) | 1995-08-01 | 2002-04-30 | Hewlett-Packard Company | Processor for performing subword permutations and combinations |
| US5734721A (en) * | 1995-10-12 | 1998-03-31 | Itt Corporation | Anti-spoof without error extension (ANSWER) |
| GB9617553D0 (en) * | 1996-08-21 | 1996-10-02 | Walker Christopher P H | Communication system with improved routing switch |
| US5996104A (en) * | 1996-09-13 | 1999-11-30 | Herzberg; Hanan | System for coding system |
| US6009505A (en) * | 1996-12-02 | 1999-12-28 | Compaq Computer Corp. | System and method for routing one operand to arithmetic logic units from fixed register slots and another operand from any register slot |
| US5956405A (en) | 1997-01-17 | 1999-09-21 | Microsoft Corporation | Implementation efficient encryption and message authentication |
| GB9704638D0 (en) * | 1997-03-06 | 1997-04-23 | Lsi Logic Corp | Digital video broadcasting |
| US6081896A (en) | 1997-09-02 | 2000-06-27 | Motorola, Inc. | Cryptographic processing system with programmable function units and method |
| US6275965B1 (en) * | 1997-11-17 | 2001-08-14 | International Business Machines Corporation | Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords |
| GB9801713D0 (en) * | 1998-01-27 | 1998-03-25 | Sgs Thomson Microelectronics | Executing permutations |
| 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 |
| US6119224A (en) | 1998-06-25 | 2000-09-12 | International Business Machines Corporation | Fast shift amount decode for VMX shift and vperm instructions |
| US6275587B1 (en) | 1998-06-30 | 2001-08-14 | Adobe Systems Incorporated | Secure data encoder and decoder |
| US6483543B1 (en) * | 1998-07-27 | 2002-11-19 | Cisco Technology, Inc. | System and method for transcoding multiple channels of compressed video streams using a self-contained data unit |
| US6195026B1 (en) | 1998-09-14 | 2001-02-27 | Intel Corporation | MMX optimized data packing methodology for zero run length and variable length entropy encoding |
| EP0992916A1 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
| AU2001286383A1 (en) * | 2000-05-05 | 2001-11-26 | Ruby B. Lee | A method and system for performing permutations with bit permutation instructions |
-
2001
- 2001-05-07 AU AU2001286383A patent/AU2001286383A1/en not_active Abandoned
- 2001-05-07 WO PCT/US2001/014628 patent/WO2001089098A2/en not_active Ceased
- 2001-05-07 US US09/850,239 patent/US7174014B2/en not_active Expired - Lifetime
-
2005
- 2005-02-16 US US11/058,819 patent/US7519795B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US7519795B2 (en) | 2009-04-14 |
| US7174014B2 (en) | 2007-02-06 |
| WO2001089098A2 (en) | 2001-11-22 |
| US20020078011A1 (en) | 2002-06-20 |
| US20050149590A1 (en) | 2005-07-07 |
| WO2001089098A3 (en) | 2002-06-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2001286383A1 (en) | A method and system for performing permutations with bit permutation instructions | |
| AU2001291125A1 (en) | Well drilling method and system | |
| AU2001288209A1 (en) | A method and system for performing permutations using permutation instructions based on modified omega and flip stages | |
| WO2002007460A8 (en) | A system and method for context association | |
| AU2002228607A1 (en) | A tie down building, system tie down, and method | |
| AU2001276484A1 (en) | Drilling method | |
| AU2001270969A1 (en) | A method and system for sharing knowledge | |
| AU2001277895A1 (en) | System and method for communicating information associated with a drilling component | |
| AU2001296248A1 (en) | Bit synchronizer and internetworking system and method | |
| AU2002218909A1 (en) | Packet encrypton system and method | |
| AU2002214667A1 (en) | System and method for rapid telepositioning | |
| AU2001249129A1 (en) | Communication system and method | |
| AU5059701A (en) | A communication method and apparatus | |
| AU2001289082A1 (en) | Method and system for a lumped-distributed balun | |
| AU6621001A (en) | System and method for producing a patent specification and patent application | |
| AU2001295594A1 (en) | Method and system for initiating a communication | |
| AU6901200A (en) | Form keys and method using form keys | |
| WO2002023370A8 (en) | Optimization method and system | |
| AU2001283105A1 (en) | Constrained-envelope transmitter and method therefor | |
| AU5056401A (en) | Communications method and system | |
| AU2002213227A1 (en) | Generalizer system and method | |
| AU2852901A (en) | Interleaving method and system | |
| AU2001245625A1 (en) | System and method for multi-party constrained optimization | |
| AU2002215390A1 (en) | Audit system and method | |
| AU2001261029A1 (en) | Method and apparatus for method and apparatus for self-adaptive code |