IP Library Granted Patent US 12,730,645
Granted Patent B2
US 12,730,645 · App. 18/084,425 · Granted Sep 8, 2026

Device, method and system to capture or restore microarchitectural state of a processor core

Inventors: Niranjan Soundararajan (Bengaluru, IN); Sreenivas Subramoney (Bangalore, IN)
Assignee: Intel Corporation
G06F9/3806G06F9/3016
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,730,645
App. No.
18/084,425
Granted
Sep 8, 2026
Kind
B2
Abstract

Techniques and mechanisms for efficiently saving and recovering state of a processor core. In an embodiment, a processor core fetches and decodes a first instruction to generate a first decoded instruction, wherein the first instruction comprises a first opcode which corresponds to one or more components of the processor core. Execution of the first instruction comprises saving microarchitectural state of the one or more components to a memory of the core. In another embodiment, a processor core fetches and decodes a second instruction to generate a second decoded instruction, wherein the second instruction comprises a second opcode which corresponds to the same one or more components. Execution of the second instruction comprises restoring the microarchitectural state from the memory to the one or more components.

Claims (57)

1 . A processor core comprising:

fetch circuitry to fetch a first instruction comprising a first opcode which is to correspond to a first one or more components of the processor core;

a decoder circuit coupled to the fetch circuitry, the decoder circuit to decode the first instruction to generate a first decoded instruction; and

an execution circuit coupled to receive the first decoded instruction, wherein the execution circuit is to execute the first decoded instruction to save a microarchitectural state of the first one or more components to a repository of the processor core.

2 . The processor core of claim 1 , further comprising a branch prediction unit (BPU), wherein the first one or more components is the BPU.

3 . The processor core of claim 1 , further comprising a branch target buffer (BTB), wherein the first one or more components is the BTB.

4 . The processor core of claim 1 , further comprising a micro-operation cache, wherein the first one or more components is the micro-operation cache.

5 . The processor core of claim 1 , further comprising:

a branch prediction unit (BPU);

a branch target buffer (BTB); and

a micro-operation cache;

wherein the first one or more components comprises two or more of the BPU, the BTB, or the micro-operation cache.

6 . The processor core of claim 1 , wherein:

the fetch circuitry is further to fetch a second instruction comprising a second opcode which is to correspond to the first one or more components;

the decoder circuit is further to decode the second instruction to generate a second decoded instruction; and

the execution circuit is further to execute the second decoded instruction to restore the microarchitectural state from the repository to the first one or more components.

7 . The processor core of claim 6 , wherein the microarchitectural state is a first microarchitectural state, and wherein:

the fetch circuitry is further to fetch a third instruction comprising a third opcode which is to correspond to a second one or more components of the processor core;

the decoder circuit is further to decode the third instruction to generate a third decoded instruction; and

the execution circuit is further to execute the third decoded instruction to save a second microarchitectural state of the second one or more components to the repository.

8 . The processor core of claim 7 , wherein:

the fetch circuitry is further to fetch a fourth instruction comprising a fourth opcode which is to correspond to the second one or more components;

the decoder circuit is further to decode the fourth instruction to generate a fourth decoded instruction; and

the execution circuit is further to execute the fourth decoded instruction to restore the second microarchitectural state from the repository to the second one or more components.

9 . The processor core of claim 1 , wherein the microarchitectural state is a first microarchitectural state, and wherein:

the fetch circuitry is further to fetch a second instruction comprising a second opcode which is to correspond to a second one or more components of the processor core;

the decoder circuit is further to decode the second instruction to generate a second decoded instruction; and

the execution circuit is further to execute the second decoded instruction to save a second microarchitectural state of the second one or more components to the repository.

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

fetching a first instruction comprising a first opcode which is to correspond to a first one or more components of the processor core;

decoding the first instruction to generate a first decoded instruction; and

executing the first decoded instruction, comprising saving a microarchitectural state of the first one or more components to a repository of the processor core.

11 . The method of claim 10 , wherein the first one or more components is a branch prediction unit (BPU) of the processor core.

12 . The method of claim 10 , wherein the first one or more components is a branch target buffer (BTB) of the processor core.

13 . The method of claim 10 , wherein the first one or more components is a micro-operation cache of the processor core.

14 . The method of claim 10 , further comprising:

fetching a second instruction comprising a second opcode which is to correspond to the first one or more components;

decoding the second instruction to generate a second decoded instruction; and

executing the second decoded instruction to restore the microarchitectural state from the repository to the first one or more components.

15 . A system comprising:

a memory to store a plurality of instructions;

a processor core coupled to the memory, the processor core comprising:

fetch circuitry to fetch a first instruction of the plurality of instructions, the first instruction comprising a first opcode which is to correspond to a first one or more components of the processor core;

a decoder circuit coupled to the fetch circuitry, the decoder circuit to decode the first instruction to generate a first decoded instruction; and

an execution circuit coupled to receive the first decoded instruction, wherein the execution circuit is to execute the first decoded instruction to save a microarchitectural state of the first one or more components to a repository of the processor core.

16 . The system of claim 15 , the processor core further comprising a branch prediction unit (BPU), wherein the first one or more components is the BPU.

17 . The system of claim 15 , the processor core further comprising a branch target buffer (BTB), wherein the first one or more components is the BTB.

18 . The system of claim 15 , the processor core further comprising a micro-operation cache, wherein the first one or more components is the micro-operation cache.

19 . The system of claim 15 , the processor core further comprising:

a branch prediction unit (BPU);

a branch target buffer (BTB); and

a micro-operation cache;

wherein the first one or more components comprises two or more of the BPU, the BTB, or the micro-operation cache.

20 . The system of claim 15 , wherein:

the fetch circuitry is further to fetch a second instruction comprising a second opcode which is to correspond to the first one or more components;

the decoder circuit is further to decode the second instruction to generate a second decoded instruction; and

the execution circuit is further to execute the second decoded instruction to restore the microarchitectural state from the repository to the first one or more components.

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 Dec 19, 2022
From: SOUNDARARAJAN, NIRANJAN; SUBRAMONEY, SREENIVAS
To: INTEL CORPORATION
Reel/Frame 062148/0284 →
Continuity (1)
Related Publication 20240202000A1 · Jun 20, 2024
References Cited (11)
US 7849387B2 · Biswas et al. · 2010 [cited by applicant]
US 20190138720A1 · Grewal · 2019 [cited by examiner]
US 20200409770A1 · Ould-Ahmed-Vall · 2020 [cited by examiner]
US 20210064378A1 · Al Sheikh · 2021 [cited by examiner]
US 20210089411A1 · Prasad et al. · 2021 [cited by applicant]
US 20240153572A1 · Moshe · 2024 [cited by examiner]
GB 2574042A · 2019 [cited by examiner]
Gan, Yu, et al., “The Architectural Implications of Cloud Microservices”, IEEE Computer Architecture Letters, vol. 17, No. 2, Jul.-Dec. 2018, 4 pgs. [cited by applicant]
Shahrad, Mohammad, et al., “Architectural Implications of Function-as-a-Service Computing”, MICRO-52, Oct. 12-16, 2019, Columbus, OH, USA, 13 pgs. [cited by applicant]
Sriraman, Akshitha, et al., “SoftSKU: Optimizing Server Architectures for Microservice Diversity”, ISCA '19, Jun. 22-26, 2019, Phoenix, AZ, USA, 14 pgs. [cited by applicant]
Zhu, Yuhao, et al., “Microarchitectural Implications of Event-driven Server-side Web applications”, 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), pp. 762-774, 2015. [cited by applicant]