US 12,450,067 B1
Microprocessor that performs selective multi-fetch block macro-op cache entry invalidation
John G. Favor, San Francisco, CA (US); and Michael N. Michael, Folsom, CA (US)
Assigned to Ventana Micro Systems Inc., Cupertino, CA (US)
Filed by Ventana Micro Systems Inc., Cupertino, CA (US)
Filed on Apr. 24, 2024, as Appl. No. 18/645,239.
Application 18/645,239 is a continuation in part of application No. 18/380,150, filed on Oct. 13, 2023, granted, now 12,299,449.
Application 18/645,239 is a continuation in part of application No. 18/380,152, filed on Oct. 13, 2023, granted, now 12,282,430.
Application 18/380,150 is a continuation in part of application No. 18/240,249, filed on Aug. 30, 2023, granted, now 12,253,951.
Application 18/380,152 is a continuation in part of application No. 18/240,249, filed on Aug. 30, 2023, granted, now 12,253,951.
Claims priority of provisional application 63/547,230, filed on Nov. 3, 2023.
Int. Cl. G06F 9/38 (2018.01)
CPC G06F 9/3802 (2013.01) [G06F 9/3851 (2013.01)] 33 Claims
OG exemplary drawing
 
1. A microprocessor, comprising:
a prediction unit (PRU) that predicts a sequence of fetch blocks (FBlks) in a program instruction stream, wherein a FBlk comprises a sequential run of architectural instructions; and
a macro-op (MOP) cache (MOC) that comprises MOC entries (MEs), wherein a ME holds MOPs into which architectural instructions of one or more FBlks are decoded, wherein an ME comprises a counter;
wherein the PRU is configured to:
receive a detection of a first instance in which execution of an ME caused a need for an abort;
in response to the detection of the first instance, resetting the counter in the ME; and
subsequent to the detection of the first instance:
increment the counter when the PRU predicts the ME is present in the program instruction stream;
invalidate the ME in the MOC in response to detecting a predetermined number of instances in which execution of the ME caused a need for an abort before the counter reaches a threshold; and
retain the ME in the MOC if the counter reaches the threshold before detecting the predetermined number of instances in which execution of the ME caused a need for an abort.