US 12,293,190 B2
Managing commit order for an external instruction relative to queued instructions
Shubhendu Sekhar Mukherjee, Southborough, MA (US); David Albert Carlson, Haslet, TX (US); and Michael Bertone, Marlborough, MA (US)
Assigned to Marvell Asia Pte, Ltd., Singapore (SG)
Filed by Marvell Asia Pte, Ltd., Singapore (SG)
Filed on Sep. 29, 2020, as Appl. No. 17/036,028.
Application 17/036,028 is a continuation of application No. 16/171,881, filed on Oct. 26, 2018, granted, now 10,817,300.
Prior Publication US 2021/0011729 A1, Jan. 14, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/38 (2018.01); G06F 9/30 (2018.01)
CPC G06F 9/3836 (2013.01) [G06F 9/30076 (2013.01); G06F 9/30087 (2013.01); G06F 9/3854 (2023.08); G06F 2212/683 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An integrated circuit comprising:
at least a first processor core executing instructions in a pipeline configured for out-of-order issuing of instructions; and
instruction management circuitry configured for managing external instructions received from outside the first processor core, the managing including:
updating issue status information for a plurality of instructions stored in an instruction queue,
maintaining an indication of a program order for the plurality of instructions as they are stored in the instruction queue,
processing at least a portion of the issue status information in response to receiving a first external instruction to identify at least two instructions in the instruction queue, the identified instructions including a first queued instruction and a second queued instruction, wherein the first queued instruction is an unissued instruction that is adjacent to an issued instruction in the program order, with no later instructions in the program order having been issued, and the second queued instruction is an unissued instruction that is adjacent to an issued instruction in the program order, with all earlier instructions in the program order having been issued, and
inserting an instruction for performing an operation associated with the first external instruction into a stage of the pipeline so that the operation associated with the first external instruction is committed before the first queued instruction is committed and after the second queued instruction is committed.