Method and system for data-driven runtime alignment operation
First Claim
1. A method for processing instructions and data in a processor, the method comprising steps of:
- preparing an input stream of data for processing in a data path in response to a first set of instructions specifying a dynamic parameter; and
processing the input stream of data in the same data path in response to a second set of instructions;
wherein a common portion of a dataflow is used for preparing the input stream of data for processing in response to the first set of instructions under the control of the dynamic parameter specified by an instruction of the first set of instructions, and for operand data routing based on the instruction specification of the second set of instructions during the processing of the input stream in response to the second set of instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for processing instructions and data in a processor includes steps of: preparing an input stream of data for processing in a data path in response to a first set of instructions specifying a dynamic parameter; and processing the input stream of data in the same data path in response to a second set of instructions. A common portion of a dataflow is used for preparing the input stream of data for processing in response to a first set of instructions under the control of a dynamic parameter specified by an instruction of the first set of instructions, and for operand data routing based on the instruction specification of a second set of instructions during the processing of the input stream in response to the second set of instructions.
-
Citations
28 Claims
-
1. A method for processing instructions and data in a processor, the method comprising steps of:
-
preparing an input stream of data for processing in a data path in response to a first set of instructions specifying a dynamic parameter; and
processing the input stream of data in the same data path in response to a second set of instructions;
wherein a common portion of a dataflow is used for preparing the input stream of data for processing in response to the first set of instructions under the control of the dynamic parameter specified by an instruction of the first set of instructions, and for operand data routing based on the instruction specification of the second set of instructions during the processing of the input stream in response to the second set of instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A processor comprising:
-
a primary register file;
a secondary register file; and
a processing pipeline for;
preparing an input stream of data for processing in a data path in response to a first set of instructions specifying a dynamic parameter; and
processing the input stream of data in the same data path in response to a second set of instructions,wherein a common portion of the dataflow is used for preparing the input stream of data for processing in response to the first set of instructions under the control of the dynamic parameter specified by an instruction of the first set of instructions, and for operand data routing based on the instruction specification of the second set of instructions during the processing of the input stream in response to the second set of instructions. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable medium comprising instructions for processing instructions and data in a processor, the medium comprising instructions for:
-
preparing an input stream of data for processing in a data path; and
processing the input stream of data in the same data path. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A method comprising steps of:
-
extracting SIMD parallelism within a block of data received by packing isomorphic computation on adjacent memory accesses to vector operations;
aggregating static computation on stride-one accesses across the entire loop into operations to longer vectors extracting SIMD parallelism across loop iterations;
transforming loads and storing from possibly unaligned vectors to aligned vectors using a stream-based alignment handling algorithm;
inserting the conditional cross-select alignment instructions to generate properly aligned data wherein alignment is achieved in a first mode by selecting a first and a second element of a first value tuple, and in a second mode by selecting a second element of a first value tuple and a first element of a second value tuple, the tuples being stored in specified register input parameters, and storing the selected elements as a single value tuple in a specified register output parameter, the mode being selected by alignment information provided as a dynamic parameter;
said conditional cross-select alignment instruction being capable of being executed using operand routing logic in a computational datapath.flattening vectors to primitive types; and
mapping generic operations to physical vectors to one or more SIMD instructions. - View Dependent Claims (26, 27, 28)
-
Specification