US 12,229,558 B2
Instruction and logic for tracking fetch performance bottlenecks
Ahmad Yasin, Haifa (IL)
Assigned to Intel Corporation, Santa Clara, CA (US)
Filed by Intel Corporation, Santa Clara, CA (US)
Filed on Sep. 22, 2023, as Appl. No. 18/473,088.
Application 18/473,088 is a continuation of application No. 17/675,962, filed on Feb. 18, 2022, granted, now 11,768,683.
Application 17/675,962 is a continuation of application No. 16/831,007, filed on Mar. 26, 2020, granted, now 11,256,506, issued on Feb. 22, 2022.
Application 16/831,007 is a continuation of application No. 15/918,927, filed on Mar. 12, 2018, granted, now 10,635,442, issued on Apr. 28, 2020.
Application 15/918,927 is a continuation of application No. 14/750,535, filed on Jun. 25, 2015, granted, now 9,916,161, issued on Mar. 13, 2018.
Prior Publication US 2024/0086194 A1, Mar. 14, 2024
Int. Cl. G06F 9/30 (2018.01); G06F 9/38 (2018.01); G06F 11/30 (2006.01)
CPC G06F 9/30076 (2013.01) [G06F 9/3836 (2013.01); G06F 11/30 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A processor comprising:
an interconnect;
a memory controller coupled to the interconnect; and
a plurality of cores coupled to the interconnect, a core of the plurality of cores comprising:
an instruction cache to store instructions,
an instruction translation lookaside buffer (ITLB) to store virtual-to-physical address translations associated with the instructions,
instruction fetch circuitry to fetch the instructions,
decode circuitry to decode the instructions,
fetch sampling circuitry to track multiple types of events corresponding to the instructions fetched by the instruction fetch circuitry, the fetch sampling circuitry comprising:
at least one model specific register (MSR) to be programmed with values to indicate the types of events to be tracked, the types of events including instruction cache miss events, ITLB miss events, L3 cache miss events, and decoded micro-op cache miss events, and
filtering circuitry configurable to limit tracking or reporting to a subset of the types of events based on a filtering indication, and
circuitry to generate interrupts to report events associated with the subset.