Processing system with general purpose execution unit and separate independently operating data string manipulation unit
AssigneeMicron Technology, Inc.
InventorDean A. Klein
Life of this patent
Estimating the term…
Abstract
A processing system optimized for data string manipulations includes data string execution circuitry associated with a bus interface unit or memory controller. Cache coherency is maintained, and data move and compare operations may be performed efficiently on cached data. A barrel shifter for realignment of cached data during move operations and comparators for comparing a test data string to cached data a cache line at a time may be provided.
Claims30
A method of performing data string operations comprising:
- routing a series of instructions to a general purpose microprocessor having a first execution unit for executing instructions;
- analyzing said series of instructions so as to detect an instruction to perform a data string manipulation operation;
- forwarding said instruction to perform the data string manipulation operation from said first execution unit to a second execution unit, wherein said second execution unit is separate from said first execution unit and receives an undecoded version of said instruction;
- controlling read and write operations to and from external memory with said first execution unit via control circuitry and without intervention by said second execution unit, wherein said external memory is external to said general purpose microprocessor;
- and
- controlling read and write operations to and from external memory with said second execution unit via said control circuitry and without intervention by said first execution unit.
A processing system comprising:
- an instruction fetch unit coupled to an external memory;
- a first execution unit configured to receive, decode, and perform assembly language arithmetic and logic instructions received from memory via said instruction fetch unit;
- a second execution unit in communication with said first execution unit, said second execution unit being configured to receive, decode, and perform assembly language string manipulation instructions received from memory via said first execution unit;
- memory circuitry, external to said first and second execution units;
- and
- a bus interface unit, coupled to said memory circuitry, said first execution unit, and said second execution unit, wherein said memory circuitry is configured to be alternatively controlled by said first execution unit and said second execution unit via said bus interface unit, wherein said first execution unit is configured to operate said memory circuitry independently of said second execution unit, and wherein said second execution unit is configured to operate said memory circuitry independently of said first execution unit.
A method of performing data string operations comprising:
- routing a series of individual assembly language opcodes to a general purpose microprocessor having a first execution unit for executing instructions;
- analyzing said series of assembly language opcodes so as to detect an instruction to perform a data string manipulation operation;
- forwarding said instruction to perform the data string manipulation operation from said first execution unit to a second execution unit, wherein said second execution unit is separate from said first execution unit, wherein said instruction comprises at least one individual opcode for performing the data string manipulation operation, and wherein said second execution unit receives an undecoded version of said instruction;
- controlling read and write operations to and from memory external to said general purpose microprocessor with said first execution unit via control circuitry and independent of said second execution unit;
- and
- controlling read and write operations to and from said memory with said second execution unit via said control circuitry and independent of said first execution unit.
A method of performing data string operations comprising:
- routing a series of instructions to a general purpose microprocessor having a first execution unit for executing instructions on data independent of a second execution unit;
- analyzing said series of instructions with said first execution unit so as to detect an instruction to perform a data string manipulation operation on said data;
- and
- forwarding with the first execution unit said instruction to perform the data string manipulation operation to a second execution unit separate from said first execution unit, wherein said second execution unit receives an undecoded version of said instruction.
Dependencies are inferred from the claim text.