IP Library Granted Patent US 12,737,275
Granted Patent B2
US 12,737,275 · App. 17/957,978 · Granted Sep 15, 2026

Device, method, and system to determine a count of retired prefetch instructions

Inventors: Ahmad Yasin (Haifa, IL); Anton Hanna (Nof Hagalil, IL); Yuval Alon (Haifa, IL); Amandeep Kaur (Ropar, IN)
Assignee: Intel Corporation
G06F11/3495G06F9/30145
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 12,737,275
App. No.
17/957,978
Granted
Sep 15, 2026
Kind
B2
Abstract

Techniques and mechanisms for circuitry of a processor to determine a count of prefetch instructions which have been retired, or are designated for retirement. In an embodiment, a performance monitoring unit (PMU) monitors the execution of an instruction sequence by a core of said processor. The PMU detects the retirement of a first instruction, and further makes a first determination that the instruction is of a prefetch instruction type. Based on the first determination, counter circuitry of the processor updates a count of one or more instruction retirements, wherein each such retired instruction is of the prefetch instruction type. The PMU further makes a second determination that another retired second instruction is of a non-prefetch instruction type. In another embodiment, the counter circuitry prevents any updating of that same count based on the second determination.

Claims (43)

1 . A processor comprising:

performance monitor circuitry to monitor an execution of instructions by the processor, wherein the performance monitor circuitry is to detect a first retirement of a first instruction, and to detect a second retirement of a second instruction;

counter circuitry coupled to the performance monitor circuitry, wherein the counter circuitry is to:

make a first determination that the first instruction is of a prefetch instruction type;

based on the first determination, update a first count of one or more retirements each of a respective instruction which is of the prefetch instruction type;

make a second determination that the second instruction is of an instruction type other than the prefetch instruction type; and

generate a signal to prevent an update of the first count based on the second determination.

2 . The processor of claim 1 , wherein, based on the second determination, the counter circuitry is further to update a second count of one or more other retirements.

3 . The processor of claim 2 , wherein the one or more other retirements are each of a respective instruction type other than the prefetch instruction type.

4 . The processor of claim 1 , wherein the counter circuitry is to update the first count further based on a filter rule.

5 . The processor of claim 4 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in a hit of a translation look-aside buffer.

6 . The processor of claim 4 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in a miss of a translation look-aside buffer.

7 . The processor of claim 4 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in a detection of a locked object.

8 . The processor of claim 4 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in an access to an object which is split across multiple cache lines.

9 . The processor of claim 1 , wherein an instruction sequence comprises the first instruction and the second instruction, and wherein the counter circuitry to update the first count further based on a privilege level which is assigned to the instruction sequence.

10 . A method at a processor, the method comprising:

monitoring an execution of instructions by a processor;

detecting a first retirement of a first instruction;

making a first determination that the first instruction is of a prefetch instruction type;

based on the first determination, updating a first count of one or more retirements each of a respective instruction which is of the prefetch instruction type;

detecting a second retirement of a second instruction;

making a second determination that the second instruction is of an instruction type other than the prefetch instruction type; and

generating a signal to prevent an update of the first count based on the second determination.

11 . The method of claim 10 , further comprising:

based on the second determination, updating a second count of one or more other retirements.

12 . The method of claim 10 , wherein updating the first count is further based on a filter rule.

13 . The method of claim 12 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in a hit of a translation look-aside buffer.

14 . The method of claim 12 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in a miss of a translation look-aside buffer.

15 . The method of claim 12 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in a detection of a locked object.

16 . The method of claim 12 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in an access to an object which is split across multiple cache lines.

17 . A system comprising:

a memory to store multiple instructions which are to be executed in a sequence;

a processor coupled to the memory, the processor comprising:

performance monitor circuitry to monitor an execution of the multiple instructions by the processor, wherein the performance monitor circuitry is to detect a first retirement of a first instruction, and to detect a second retirement of a second instruction;

counter circuitry coupled to the performance monitor circuitry, wherein the counter circuitry is to:

make a first determination that the first instruction is of a prefetch instruction type;

based on the first determination, update a first count of one or more retirements each of a respective instruction which is of the prefetch instruction type;

make a second determination that the second instruction is of an instruction type other than the prefetch instruction type; and

generate a signal to prevent an update of the first count based on the second determination; and

a network interface coupled to the processor, the network interface to receive and transmit data over a network.

18 . The system of claim 17 , wherein the counter circuitry is to update the first count further based on a filter rule.

19 . The system of claim 18 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in a hit of a translation look-aside buffer.

20 . The system of claim 18 , wherein, according to the filter rule, the first retirement is to be counted where it is determined that an attempt to execute the first instruction resulted in a miss of a translation look-aside buffer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2026
From: INTEL CORPORATION
To: INTEL PRODUCTS IP LLC
Reel/Frame 075991/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2022
From: YASIN, AHMAD; HANNA, ANTON; ALON, YUVAL; KAUR, AMANDEEP
To: INTEL CORPORATION
Reel/Frame 061793/0941 →
Continuity (1)
Related Publication 20240111656A1 · Apr 4, 2024
References Cited (21)
US 8006082B2 · Kinzhalin · 2011 [cited by examiner]
US 9465680B1 · Chynoweth et al. · 2016 [cited by applicant]
US 10140056B2 · Yasin et al. · 2018 [cited by applicant]
US 10909015B2 · Yasin et al. · 2021 [cited by applicant]
US 10997048B2 · Yasin · 2021 [cited by applicant]
US 12298875B2 · Chen · 2025 [cited by examiner]
US 20030191900A1 · Hooker · 2003 [cited by examiner]
US 20040078673A1 · Decker · 2004 [cited by examiner]
US 20100082950A1 · Kinzhalin · 2010 [cited by examiner]
US 20100153956A1 · Capps, Jr. · 2010 [cited by examiner]
US 20120297168A1 · Chen · 2012 [cited by examiner]
US 20160092382A1 · Anvin · 2016 [cited by examiner]
US 20160179650A1 · Yasin et al. · 2016 [cited by applicant]
US 20160378470A1 · Yasin · 2016 [cited by examiner]
US 20170060725A1 · Klausner · 2017 [cited by examiner]
US 20170168833A1 · Mericas · 2017 [cited by examiner]
US 20200242003A1 · Merten et al. · 2020 [cited by applicant]
US 20200319883A1 · Yasin · 2020 [cited by applicant]
US 20250231880A1 · Castorina · 2025 [cited by examiner]
https://github.com/aayasin/perf-tools> Github 2022. [cited by applicant]
Yasin, Ahmad, et al., “A Top-Down Method for Performance Analysis and Counters Architecture”, International Symposium for Performance Analysis of Systems and Software (ISPASS), 2014, 10 pgs. [cited by applicant]