Table lookup operation within a data processing system
AssigneeArm Limited
InventorsDominic Hugo Symes, Simon Ford, Andrew Christopher Rose
Life of this patent
Estimating the term…
Abstract
A table lookup extension instruction is provided in which index values stored within an index register D2 are used to select data elements stored within one or more table registers D0, D1 for storage into corresponding positions within a result register D3. Out-of-range index values result in the corresponding locations within the result register being left unchanged U. In this way, an offset can be applied to index values held and then those index values reused with the table registers D0, D1 being reloaded with a different portion of a table so as to give the effect of a larger table than can be directly supported by the number of table registers available.
Claims19
Apparatus for processing data, said apparatus comprising:
- a register data store operable to store data to be processed and accessed via registers corresponding to respective portions of said register data store;
- processing logic operable to perform data processing operations upon data stored with said register data store;
- and
- an instruction decoder responsive to a program instruction to generate control signals operable to control said processing logic to perform a data processing operation specified by said program instruction;
- wherein
- said instruction decoder is responsive to a table lookup extension instruction specifying one or more index registers storing a plurality of index values and one or more table registers storing a plurality of data elements to store into respective locations within one or more result registers a plurality of data elements selected from said one or more table registers in dependence upon respective index values from said one or more index registers, said instruction decoder being responsive to an index value outside of a predetermined range of index values to preserve a current value stored in a corresponding location within said one or more result registers.
A method of processing data, said method comprising the steps of:
- storing within a register data store data to be processed and accessed via registers corresponding to respective portions of said register data store;
- performing data processing operations upon data stored with said register data store;
- and
- in response to a program instruction generating control signals operable to control processing of data processing operation specified by said program instruction;
- wherein
- in response to a table lookup extension instruction specifying one or more index registers storing a plurality of index values and one or more table registers storing a plurality of data elements storing into respective locations within one or more result registers a plurality of data elements selected from said one or more table registers in dependence upon respective index values from said one or more index registers, and in response to an index value outside of a predetermined range of index values preserving a current value stored in a corresponding location within said one or more result registers.
Dependencies are inferred from the claim text.