Preventing duplicate execution by sharing a result between different processing lanes assigned micro-operations that generate the same result

US10514928B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10514928-B2
Application numberUS-201514663858-A
CountryUS
Kind codeB2
Filing dateMar 20, 2015
Priority dateApr 17, 2014
Publication dateDec 24, 2019
Grant dateDec 24, 2019

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 has control circuitry for detecting whether a first micro-operation to be processed by a first processing lane would give the same result as a second micro-operation processed by a second processing lane. If they would give the same result, then the first micro-operation is prevented from being processed by the first processing lane and the result of the second micro-operation is output as the result of the first micro-operation. This avoids duplication of processing, to save energy for example.

First claim

Opening claim text (preview).

The invention claimed is: 1. A data processing apparatus comprising: first and second processing lanes configured to perform data processing operations in parallel in response to micro-operations; and control circuitry configured to detect whether a first micro-operation to be processed by the first processing lane would give the same result as a second micro-operation to be processed in parallel with the first micro-operation by the second processing lane in dependence on operands specified by the first micro-operation and the second micro-operation and on operation identifiers indicating a data processing operation to be performed on the operands in response to each of the first micro-operation and the second micro-operation; said control circuitry comprising an operation identifier comparator to compare said operation identifiers; wherein if the control circuitry detects that the first micro-operation would give the same result as the second micro-operation, then the control circuitry is configured to prevent the first micro-operation from being processed by the first processing lane and to control the first processing lane to output the result of the second micro-operation as the result of the first micro-operation. 2. The data processing apparatus according to claim 1 , comprising a result path configured to provide the result of the second micro-operation generated by the second processing lane to an output of the first processing lane. 3. The data processing apparatus according to claim 1 , wherein the control circuitry is configured to detect that the first micro-operation would give the same result as the second micro-operation if one of the first micro-operation and the second micro-operation can be translated into the other of the first micro-operation and the second micro-operation. 4. The data processing apparatus according to claim 1 , wherein the control circuitry is configured to prevent the first processing lane from processing the first micro-operation by placing at least part of the first processing lane in a power saving state during a processing cycle when said at least part of the first processing lane would otherwise be processing the first micro-operation. 5. The data processing apparatus according to claim 1 , wherein the control circuitry is configured to prevent the first processing lane from processing the first micro-operation by preventing the first micro-operation from being passed to the first processing lane. 6. The data processing apparatus according to claim 1 , wherein the second micro-operation comprises the micro-operation received for processing by the second processing lane in the same cycle as the first micro-operation is received for processing by the first processing lane. 7. The data processing apparatus according to claim 1 , wherein the second micro-operation comprises the last valid micro-operation received for processing by the second processing lane. 8. The data processing apparatus according to claim 1 , wherein the second micro-operation comprises an earlier micro-operation processed by the second processing lane. 9. The data processing apparatus according to claim 1 , wherein the control circuitry is configured to detect whether the first micro-operation would give the same result as an earlier micro-operation processed by the first processing lane; and if the control circuitry detects that the first micro-operation would give the same result as the earlier micro-operation processed by the first processing lane, then the control circuitry is configured to prevent the first micro-operation from being processed by the first processing lane and to control the first processing lane to output the result of the earlier micro-operation processed by the first processing lane as the result of the first micro-operation. 10. The data processing apparatus according to claim 1 , comprising a table configured to store at least one table entry for identifying an earlier micro-operation processed by one of the first and second processing lanes and a result of the earlier micro-operation; wherein the control circuitry is configured to perform a first table lookup to detect whether the table stores a corresponding table entry identifying an earlier micro-operation which would give the same result as the first micro-operation; and if the table stores the corresponding table entry, then the control circuitry is configured to prevent the first micro-operation from being processed by the first processing lane, and to control the first processing lane to output the result stored in the corresponding table entry as the result of the first micro-operation. 11. The data processing apparatus according to claim 10 , wherein the control circuitry is configured to update the table with results of micro-operations generated by both the first processing lane and the second processing lane. 12. The data processing apparatus according to claim 10 , wherein the control circuitry is configured to perform a second table lookup to detect whether the table stores a matching table entry identifying an earlier micro-operation which would give the same result as a current micro-operation to be processed by the second processing lane; and if the table stores the matching table entry, then the control circuitry is configured to prevent the current micro-operation from being processed by the second processing lane, and to control the second processing lane to output the result stored in the matching table entry as the result of the current micro-operation. 13. The data processing apparatus according to claim 10 , wherein if the control circuitry detects that the first micro-operation would give the same result as the micro-operation received for processing by the second processing lane in the same cycle as the first micro-operation is received for processing by the first processing lane, then the control circuitry is configured to omit the first table lookup. 14. The data processing apparatus according to claim 1 , comprising filtering circuitry configured to detect whether the first micro-operation satisfies at least one predetermined condition; wherein if the filtering circuitry detects that the first micro-operation does not satisfy the at least one predetermined condition, then the control circuitry is configured to pass the first micro-operation for processing by the first processing lane without detecting whether the first micro-operation would give the same result as the second micro-operation. 15. The data processing apparatus according to claim 1 , wherein the micro-operations received for processing by the first and second processing lanes in the same processing cycle correspond to instances of the same program instruction identified by a common program counter shared between the first and second processing lanes, with the operands for the micro-operations specified independently for each of the first and second processing lanes. 16. The data processing apparatus according to claim 1 , wherein the operands comprise a plurality of data elements, the first and second processing lanes using respective data elements of the operands. 17. The data processing apparatus according to claim 1 , comprising N processing lanes configured to perform data processing operations in response to micro-operations, where N>2; wherein the N processing lanes comprise two or more subsets of processing lanes, each subset comprising fewer than N processing lanes; and the first and second processing lanes are processing lanes within the same subset. 18. The data proce

Assignees

Inventors

Classifications

  • Power saving in microcontroller unit · CPC title

  • Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage · CPC title

  • Power management, i.e. event-based initiation of a power-saving mode · CPC title

  • by task scheduling · CPC title

  • Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution · 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 US10514928B2 cover?
A data processing apparatus has control circuitry for detecting whether a first micro-operation to be processed by a first processing lane would give the same result as a second micro-operation processed by a second processing lane. If they would give the same result, then the first micro-operation is prevented from being processed by the first processing lane and the result of the second micro…
Who is the assignee on this patent?
Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/30181. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 24 2019 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).