IP Library › Granted Patent US 12,423,075
Granted Patent B2
US 12,423,075 · App. 17/033,751 · Granted Sep 23, 2025

Code prefetch instruction

Inventors: Ahmad Yasin (Haifa, IL); Lihu Rappoport (Haifa, IL); Jared W. Stark (Portland, OR); Jeffrey Baxter (Cupertino, CA); Israel Diamand (Aderet, IL); Pavel Fridman (Haifa, IL); Ibrahim Hur (Portland, OR); Nir Tell (Atlit, IL)
Assignee: Intel Corporation
G06F8/4442
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,423,075
App. No.
17/033,751
Granted
Sep 23, 2025
Kind
B2
Abstract

Embodiments of apparatuses, methods, and systems for code prefetching are described. In an embodiment, an apparatus includes an instruction decoder, load circuitry, and execution circuitry. The instruction decoder is to decode a code prefetch instruction. The code prefetch instruction is to specify a first instruction to be prefetched. The load circuitry to prefetch the first instruction in response to the decoded code prefetch instruction. The execution circuitry is to execute the first instruction at a fetch stage of a pipeline.

Claims (28)

1. An apparatus comprising:

an instruction decoder to decode a code prefetch instruction, wherein the code prefetch instruction is to specify a relative address of a first instruction to be prefetched;

load circuitry to prefetch the first instruction in response to the decoded code prefetch instruction; and

execution circuitry to execute the first instruction at a fetch stage of a pipeline instead of at an execute stage of the pipeline.

2. The apparatus of claim 1 , wherein the first instruction is in program code stored in a memory.

3. The apparatus of claim 1 , wherein the code prefetch instruction is to specify the relative address of the first instruction in a displacement field.

4. The apparatus of claim 1 , wherein the code prefetch instruction is to specify the relative address of the first instruction in an immediate field.

5. The apparatus of claim 1 , wherein the code prefetch instruction is to specify the relative address as an offset.

6. The apparatus of claim 5 , wherein the code prefetch instruction is to specify the relative address as an offset from an instruction pointer.

7. The apparatus of claim 2 , wherein a span of the program code to be prefetched is to be specified by a parameter of the code prefetch instruction.

8. The apparatus of claim 2 , wherein the span is to be a multiple of a size of a cache line.

9. The apparatus of claim 1 , wherein the code prefetch instruction is to provide a hint to the apparatus, wherein the processor may ignore the hint.

10. The apparatus of claim 1 , wherein a location to which the first instruction is to be prefetched is specified by a parameter of the code prefetch instruction.

11. The apparatus of claim 1 , further comprising performance monitoring hardware, wherein the performance monitoring hardware may be configured to provide information regarding an event related to performance of software using the code prefetching instruction.

12. The apparatus of claim 11 , wherein the event is related to fetch latency.

13. A method comprising:

decoding a code prefetch instruction, wherein the code prefetch instruction is to specify a relative address of a first instruction to be prefetched;

in response to the decoded code prefetch instruction, prefetching the first instruction; and

executing the first instruction at a fetch stage of a pipeline instead of at an execute stage of the pipeline.

14. The method of claim 13 , wherein the first instruction is in program code stored in the memory.

15. The method of claim 14 , wherein a span of the program code to be prefetched is to be specified by a parameter of the code prefetch instruction.

16. A system comprising:

a memory;

a processor including:

an instruction decoder to decode a code prefetch instruction, wherein the code prefetch instruction is to specify a relative address of a first instruction to be prefetched;

load circuitry to prefetch the first instruction from the memory in response to the decoded code prefetch instruction; and

execution circuitry to execute the first instruction at a fetch stage of a pipeline instead of at an execute stage of the pipeline.

17. The system of claim 16 , wherein the first instruction is in program code stored in the memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: YASIN, AHMAD; RAPPOPORT, LIHU; STARK, JARED W.; BAXTER, JEFFREY; DIAMAND, ISRAEL; FRIDMAN, PAVEL; HUR, IBRAHIM; TELL, NIR
To: INTEL CORPORATION
Reel/Frame 054503/0025 →
Continuity (2)
Provisional Application 63017585 · Apr 29, 2020
Related Publication 20210342134A1 · Nov 4, 2021
References Cited (12)
US 20030005419A1 · Pieper · 2003 [cited by examiner]
US 20050027921A1 · Hirotsu · 2005 [cited by examiner]
US 20090138661A1 · Lauterbach · 2009 [cited by applicant]
US 20140019721A1 · Stavrou · 2014 [cited by examiner]
US 20150378731A1 · Lai · 2015 [cited by examiner]
US 20160378667A1 · Roberts · 2016 [cited by examiner]
US 20170161070A1 · Busaba et al. · 2017 [cited by applicant]
US 20170371666A1 · Gschwind · 2017 [cited by examiner]
US 20220236993A1 · Smith · 2022 [cited by examiner]
EP 1353267A2 · 2003 [cited by applicant]
Extended European Search Report and Search Opinion, EP App. No. 20212602.5, Jun. 15, 2021, 10 pages. [cited by applicant]
Office Action, EP App. No. 20212602.5, Feb. 21, 2024, 06 pages. [cited by applicant]