IP Library Granted Patent US 12,493,467
Granted Patent B1
US 12,493,467 · App. 18/734,464 · Granted Dec 9, 2025

Control register for storing instruction size information

Inventors: Omer Lichter (Tel Aviv, IL); Alon Yaakov (Raanana, IL); Nadav Malki (Ashod, IL)
Assignee: Apple Inc.
G06F9/30123G06F9/30069G06F9/4812
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,493,467
App. No.
18/734,464
Granted
Dec 9, 2025
Kind
B1
Abstract

A processor circuit that includes a plurality of register circuits and an event handler circuit is disclosed. The event handler circuit may detect a processing event that causes the processor circuit to halt execution of a current instruction and transfer control to a kernel. In response to a detection of the processing event, the event handler circuit may store a program counter value corresponding to the current instruction, information indicative of a cause of the processing event, and a size of the current instruction in corresponding register circuits of the plurality of register circuits.

Claims (53)

1 . An apparatus, comprising:

a processor circuit including:

a plurality of register circuits; and

an event handler circuit configured to:

detect a processing event that causes the processor circuit to halt execution of a current instruction and transfer control to a kernel;

in response to a detection of the processing event:

store a program counter value corresponding to the current instruction in a counter register circuit of the plurality of register circuits;

store information indicative of a cause of the processing event in a type register circuit of the plurality of register circuits; and

store a size of the current instruction in a size register circuit of the plurality of register circuits.

2 . The apparatus of claim 1 , wherein to store the size of the current instruction, the event handler circuit is further configured to:

compress data indicative of the size of the current instruction to generate compressed data; and

store the compressed data in the size register circuit.

3 . The apparatus of claim 1 , wherein the processor circuit is further configured, in response to resolving the processing event, to skip the current instruction using the size of the current instruction stored in the size register circuit.

4 . The apparatus of claim 3 , wherein to skip the current instruction, the processor circuit is further configured to:

increment the program counter value using the size of the current instruction stored in the size register circuit to determine a fetch address for a successor instruction; and

fetch the successor instruction using the fetch address.

5 . The apparatus of claim 1 , wherein the processing event includes an exception.

6 . The apparatus of claim 1 , wherein the processing event includes an interrupt.

7 . A method, comprising:

detecting a processing event in a processor circuit, wherein the processing event causes the processor circuit to transfer control from a current instruction to a kernel;

in response to detecting the processing event:

storing, in a counter register circuit included in the processor circuit, a program counter value corresponding to the current instruction;

storing, in a type register circuit included in the processor circuit, information indicative of a cause of the processing event; and

storing, in a size register circuit included in the processor circuit, a size of the current instruction.

8 . The method of claim 7 , wherein storing the size of the current instruction includes:

compressing data indicative of the size of the current instruction to generate compressed data; and

storing the compressed data in the size register circuit.

9 . The method of claim 8 , further comprising skipping, by software executing on the processor circuit, the current instruction using contents of the size register circuit.

10 . The method of claim 9 , wherein skipping the current instruction includes incrementing the program counter value using the contents of the size register circuit to determine a fetch address for a successor instruction.

11 . The method of claim 10 , further comprising executing the successor instruction.

12 . The method of claim 7 , wherein the processing event includes an exception.

13 . The method of claim 7 , wherein the processing event includes an interrupt.

14 . An apparatus, comprising:

a memory circuit configured to store a plurality of instructions;

a processor circuit configured to:

fetch one or more instructions of the plurality of instructions from the memory circuit;

execute the one or more instructions;

detect a processing event in the processor circuit;

in response to a detection of the processing event:

transfer control to a kernel from a current instruction;

store a program counter value corresponding to the current instruction;

store information indicative of a cause of the processing event; and

store a size of the current instruction.

15 . The apparatus of claim 14 , wherein to store the size of the current instruction, the processor circuit is further configured to:

compress data indicative of the size of the current instruction to generate compressed data; and

store the compressed data in a size register circuit included in the processor circuit.

16 . The apparatus of claim 15 , wherein the processor circuit is further configured to skip the current instruction using contents of the size register circuit.

17 . The apparatus of claim 16 , wherein to skip the current instruction, the processor circuit is further configured to increment the program counter value using the contents of the size register circuit to determine a fetch address for a successor instruction.

18 . The apparatus of claim 17 , wherein the processor circuit is further configured to:

fetch the successor instruction using the fetch address; and

execute the successor instruction.

19 . The apparatus of claim 14 , wherein the processing event includes an exception.

20 . The apparatus of claim 14 , wherein the processing event includes an interrupt.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2024
From: LICHTER, OMER; MALKI, NADAV; YAAKOV, ALON
To: APPLE INC.
Reel/Frame 067710/0376 →
References Cited (15)
US 9766925B2 · Greiner et al. · 2017 [cited by applicant]
US 10949249B2 · Maruyama · 2021 [cited by applicant]
US 11106463B2 · Anderson · 2021 [cited by examiner]
US 11275590B2 · Vincent et al. · 2022 [cited by applicant]
US 11544214B2 · Moudgill et al. · 2023 [cited by applicant]
US 11829790B2 · Raisch et al. · 2023 [cited by applicant]
US 11907721B2 · Bhardwaj et al. · 2024 [cited by applicant]
US 20040123083A1 · Zahir · 2004 [cited by examiner]
US 20080115138A1 · Nachimuthu · 2008 [cited by examiner]
US 20160293274A1 · Schuh · 2016 [cited by examiner]
US 20240330036A1 · Harboe · 2024 [cited by examiner]
CN 112631510B · 2023 [cited by applicant]
CN 115167325B · 2023 [cited by applicant]
JP 2004259109A · 2004 [cited by applicant]
JP 2005078131A · 2005 [cited by applicant]