Conditional selection of data elements

US9753724B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9753724-B2
Application numberUS-201113200348-A
CountryUS
Kind codeB2
Filing dateSep 23, 2011
Priority dateOct 12, 2010
Publication dateSep 5, 2017
Grant dateSep 5, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data processing apparatus, method and computer program that perform an operation on one data element such as a register and conditionally select either that register or a further register on which no operation has been performed. The apparatus includes an instruction decoder configured to decode at least one conditional select instruction specifying a primary source register, a secondary source register, a destination register, a condition, and an operation to be performed on a data element from the secondary source register. Data processing operations are controlled by the instruction decoder and the data processor is responsive to the decoded at least one conditional select instruction where the condition does not have the predetermined outcome to form the resultant data element from the data element from the primary register and to store the resultant data element in the destination register.

First claim

Opening claim text (preview).

We claim: 1. A data processing apparatus comprising: a data store comprising a plurality of storage elements for storing data elements; an instruction decoder configured to decode at least one conditional select instruction, said at least one conditional select instruction comprising a primary source storage element field specifying a primary source storage element, and a secondary source storage element field specifying a secondary source storage element, wherein said at least one conditional select instruction further specifies a condition and an operation to be performed on a data element stored in said secondary source storage element; a data processor configured to perform data processing operations controlled by said instruction decoder wherein: said data processor is responsive to said decoded at least one conditional select instruction and said condition having a predetermined outcome to perform said operation on said data element from said secondary source storage element to output a resultant data element; said data processor is responsive to said decoded at least one conditional select instruction and said condition not having said predetermined outcome to output said data element within said primary source storage element as said resultant data element; and wherein, when said at least one conditional select instruction is a conditional select increment instruction, said instruction decoder is configured to output an increment control signal; and said data processor comprises: an adder configured to receive said data value from said secondary source storage element and a carry in signal; a multiplexer configured to receive signals from said primary source storage element and from an output of said adder, wherein a select signal for said multiplexer comprises said condition, such that when said condition has said predetermined outcome said multiplexer is configured to select said output of said adder; and wherein in response to said increment control signal being set, said carry in signal is set and said adder is configured to increment a received value from said secondary source storage element. 2. A data processing apparatus according to claim 1 , wherein said instruction further specifies a destination storage element, said data processor being responsive to said at least one conditional select instruction to store said resultant data element in said destination storage element. 3. A data processing apparatus according to claim 2 , wherein said destination storage element comprises one of said primary and secondary source storage elements. 4. A data processing apparatus according to claim 1 , wherein said data processor is responsive to said decoded at least one conditional select instruction and said condition not having said predetermined outcome to perform said operation on said data element within said secondary source storage element and to output said data element within said primary source storage element as said resultant data element. 5. A data processing apparatus according to claim 1 , wherein said storage element data store comprises a storage element name that maps to a zero value. 6. A data processing apparatus according to claim 1 , wherein said storage elements comprise registers and said storage element data store comprises a register bank. 7. A data processing apparatus according to claim 1 , wherein said storage elements comprise memory locations and said storage element data store comprises a memory. 8. A data processing apparatus according to claim 1 , wherein said instruction decoder is configured to output an invert control signal in response to said conditional select instruction; and said processor configured to process said decoded conditional select instructions comprises: an adder configured in response to said invert control signal being set to receive values from said secondary source storage element through an inverter and in response to said invert control signal not being set to receive values from said secondary source storage elements not passed through said inverter; a multiplexer configured to receive signals from said primary source storage element and from an output of said adder, a select signal for said multiplexer comprising said condition, such that said condition having said predetermined outcome triggers said multiplexer to select said output of said adder. 9. A data processing apparatus according to claim 1 , wherein said instruction decoder is configured to output an increment control signal and an invert control signal in response to said conditional select instruction; wherein in response to said increment signal being set, said carry in signal is set to one and in response to said invert signal having being set said adder increments said received inverted value from said secondary source storage element. 10. A data processing apparatus according to claim 1 , wherein said primary source storage element and said secondary source storage element are a same storage element. 11. A data processing apparatus according to claim 1 , wherein an outcome of said condition is determined from arithmetic logic flags set in response to at least one previous data processing operation. 12. A data processing apparatus according to claim 11 , wherein said at least one previous data processing operation comprises comparing a data element within at least one of said source storage elements with another value. 13. A data processing apparatus according to claim 12 , wherein said at least one previous data processing operation comprises comparing a data element in said primary source storage element with a data element in said secondary source element. 14. A data processing apparatus according to claim 11 , wherein said condition comprises at least one of not equal, equal, less than, greater than, greater than or equal, less than or equal, zero and negative. 15. A data processing apparatus according to claim 11 , wherein said arithmetic logic flags, comprise at least one of a result negative flag, a result zero flag, a carry out flag and a signed overflow flag. 16. A data processing apparatus according to claim 1 , wherein said predetermined outcome of said condition comprises said condition being met. 17. A data processing apparatus according to claim 1 , said conditional select instruction comprising an indicator indicating a width of said source and destination storage elements. 18. A data processing apparatus according to claim 1 , said data processing apparatus comprising arithmetic circuitry for performing add and subtract operations in response to arithmetic instructions, wherein at least some of said circuitry for performing said operation on said data element within said secondary source storage element in response to said conditional select instruction comprises said arithmetic circuitry. 19. A method of data processing apparatus comprising: receiving at least one conditional select instruction comprising a primary source storage element field specifying a primary source storage element, and a secondary source storage element field specifying a secondary source storage element, wherein said at least one conditional select instruction further specifies a condition and an operation to be performed on a data element within said secondary source storage element; decoding said at least one received conditional select instruction; when said at least one conditional select instruction is a conditional select increment instruction, outputting an increment control signal; determining w

Assignees

Inventors

Classifications

  • G06F9/265Primary

    by address selection on input of storage · CPC title

  • Speculative instruction execution · CPC title

  • Condition code generation, e.g. Carry, Zero flag · CPC title

  • to perform conditional operations, e.g. using predicates or guards · CPC title

  • G06F9/383Primary

    Operand prefetching (cache prefetching G06F12/0862) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9753724B2 cover?
A data processing apparatus, method and computer program that perform an operation on one data element such as a register and conditionally select either that register or a further register on which no operation has been performed. The apparatus includes an instruction decoder configured to decode at least one conditional select instruction specifying a primary source register, a secondary sour…
Who is the assignee on this patent?
Craske Simon John, Grisenthwaite Richard Roy, Stephens Nigel John, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/265. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).