IP Library Granted Patent US 10,713,049
Granted Patent B2
US 10,713,049 · App. 14/530,123 · Granted Jul 14, 2020

Stunt box to broadcast and store results until retirement for an out-of-order processor

Inventors: Sophie Wilson (Lode Cambridge, GB); Tariq Kurd (Bishopston, GB)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
G06F9/30181G06F9/30145G06F9/3834G06F9/3836
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,713,049
App. No.
14/530,123
Granted
Jul 14, 2020
Kind
B2
Abstract

A processor including a stunt box with an intermediate storage, including a plurality of registers, configured to store a plurality of execution pipe results as a plurality of intermediate results; a storage, communicatively coupled to the intermediate storage, configured to store a plurality of storage results which may include one or more of the plurality of intermediate results; and an arbiter, communicatively coupled to the intermediate storage and the storage, configured to receive the plurality of execution pipe results, the plurality of intermediate results, and the plurality of storage results and to select an output to retire from of the plurality of results, the plurality of intermediate results, and the plurality of storage results.

Claims (50)

1. A stunt box for selectively retiring a result from among a plurality of first results, the stunt box comprising:

a first storage configured to store a plurality of execution pipe results as the plurality of first results;

a stunt box mux configured to selectively provide a plurality of second results from among the plurality of first results, the plurality of second results not including the result from among the plurality of first results;

a second storage configured to store the plurality of second results; and

an arbiter configured to:

receive the plurality of execution pipe results, the plurality of first results, and the plurality of second results,

select the result from the plurality of first results to retire, and

provide a select line to the stunt box mux to configure the stunt box mux to not provide the result within the plurality of second results,

wherein the arbiter is further configured to broadcast the plurality of execution pipe results, the plurality of first results, and the plurality of second results prior to retiring the result.

2. The stunt box of claim 1 , wherein the arbiter is further configured to select the result based on a current set of available retirement resources.

3. The stunt box of claim 1 , wherein arbiter is further configured to retire the result with an indication that the result is speculative, and further comprising:

a third storage configured to store the result as a speculative result in response to the indication.

4. The stunt box of claim 3 , wherein the arbiter is further configured to inform the third storage to delete the speculative result in response to confirming a speculative instruction associated with the speculative result.

5. The stunt box of claim 3 , wherein the third storage is comprises:

a first-in-first-out queue configured to provide the speculative result to the arbiter for retirement in response to confirming the speculative instruction.

6. The stunt box of claim 1 , wherein arbiter is further configured to retire the result with an indication that the result is speculative, and further comprising:

a third storage configured to store the result as a speculative result in response to the indication;

a second arbiter configured to provide the speculative result to the arbiter for retirement in response to confirming a speculative instruction associated with the speculative result.

7. A method for selectively retiring a first result from among a plurality of first results, the method comprising:

receiving, by an arbiter, a second result from among a plurality of second results from a first storage, the plurality of second results not including the first result from among the plurality of first results;

receiving, by the arbiter, a third result from among the plurality of first results from a second storage;

receiving, by the arbiter, a fourth result from among a plurality of execution pipe results from an execution pipeline;

selecting, by the arbiter, the first result from among the second result, the third result, and the fourth result to retire;

providing, by the arbiter, a select line to retire the first result from among the plurality of first results; and

broadcasting, by the arbiter, the second result, the third result, and the fourth result prior to retiring the second result, the third result, and the fourth result.

8. The method of claim 7 , wherein the selecting is based on available retirement resources.

9. The method of claim 7 , further comprising:

indicating, by the arbiter, whether the first result is speculative.

10. The method of claim 9 , further comprising:

providing by the arbiter to a third storage, the first result as a speculative result in response to the first result being speculative.

11. The method of claim 10 , further comprising:

selecting, by the arbiter, the first result for retirement in response to confirming a speculative instruction associated with the speculative result.

12. The method of claim 11 , further comprising:

informing, by the arbiter, the third storage to delete the speculative result in response to confirming the speculative instruction.

13. A stunt box for selectively retiring a result from among a plurality of first results, the stunt box comprising:

a first storage configured to store a plurality of execution pipe results as the plurality of first results;

a second storage configured to store a plurality of second results;

a stunt box mux configured to selectively provide the plurality of second results from among the plurality of first results, the plurality of second results not including the result from among the plurality of first results;

a third storage configured to store the result as a speculative result in response to the result being speculative;

an arbiter configured to:

select the result from the plurality of first results to retire,

provide a select line to the stunt box mux to configure the stunt box mux to not provide the result within the plurality of second results, and

provide the result as the speculative result to the third storage in response to the result being speculative; and

a second arbiter configured to:

receive the speculative result from the third storage, and

provide the speculative result to the arbiter for retirement in response to confirming a speculative instruction associated with the speculative result,

wherein the arbiter is further configured to inform the third storage to delete the speculative result in response to the second arbiter confirming the speculative instruction.

14. The stunt box of claim 13 , wherein the arbiter is further configured to select the result based on a current set of available retirement resources.

15. The stunt box of claim 13 , wherein arbiter is further configured to retire the result with an indication that the result is speculative in response to the result being speculative.

16. The stunt box of claim 15 , wherein the third storage is configured to store the result as a speculative result in response to the indication.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2014
From: WILSON, SOPHIE; KURD, TARIQ
To: BROADCOM CORPORATION
Reel/Frame 034130/0007 →