IP Library › Granted Patent US 12,353,885
Granted Patent B2
US 12,353,885 · App. 16/827,852 · Granted Jul 8, 2025

Speculative execution following a state transition instruction

Inventors: Kim Richard Schuttenberg (Gilbert, AZ); Rong Zhang (Chandler, AZ)
Assignee: Arm Limited
G06F9/38585G06F9/3005G06F9/30072G06F9/30076G06F9/3842G06F21/74
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,353,885
App. No.
16/827,852
Granted
Jul 8, 2025
Kind
B2
Abstract

Processing circuitry executes instructions from an instruction stream comprising a state transition instruction followed by a further instruction. The processing circuitry is responsive to the state transition instruction to change a security state of the processing circuitry. Issue circuitry issues the further instruction to be speculatively executed prior to the state transition instruction being completed, and the further instruction has a requirement with respect to the security state. Completion circuitry performs a completion operation on the further instruction comprising checking whether the requirement with respect to the security state is met.

Claims (31)

1. An apparatus comprising:

processing circuitry adapted to execute instructions from an instruction stream comprising a state transition instruction followed by further instructions in dependence on a security state of the processing circuitry, wherein the processing circuitry is responsive to the state transition instruction to change the security state of the processing circuitry from a secure state to a non-secure state;

issue circuitry adapted to issue the further instructions to be speculatively executed in dependence on the secure state prior to the state transition instruction being completed, each of the further instructions having a requirement with respect to the security state,

wherein the issue circuitry is adapted to issue the further instructions regardless of whether the requirement with respect to the security state is met; and

completion circuitry adapted to perform, after a change in the security state of the processing circuitry in response to executing the state transition instruction, a completion operation on each of the further instructions comprising checking whether the requirement with respect to the security state is met and when the requirement with respect to the security state indicates the non-secure state, completing each of the further instructions.

2. The apparatus of claim 1 , wherein:

the requirement with respect to the security state indicates a required security state, and the completion operation comprises checking whether the required security state matches the non-secure state.

3. The apparatus of claim 2 , wherein the completion operation comprises:

when the completion circuitry determines that there is a mismatch between the required security state and the non-secure state, triggering a flush.

4. The apparatus of claim 1 , wherein:

each of the further instructions indicates a target address, the target address having a security attribution indicative of the requirement with respect to the security state.

5. The apparatus of claim 1 , wherein:

during speculative execution of each of the further instructions, the processing circuitry is adapted to delay a state update with respect to each of the further instructions.

6. The apparatus of claim 5 , wherein:

the further instructions are part of a block of instructions, each having an identical requirement with respect to the security state; and

the state update with respect to each of the further instructions updates at least one data value visible to instructions outside of the block of instructions.

7. The apparatus of claim 6 , wherein:

the state update with respect to each of the further instructions updates the at least one data value in at least one of:

a cache;

a register file; and

a memory.

8. The apparatus of claim 5 , wherein:

the completion operation comprises, when the completion circuitry determines that the requirement with respect to the security state is met, issuing the state updates.

9. The apparatus of claim 1 , wherein:

the secure state and the non-secure state are non-speculative.

10. A method comprising:

executing instructions from an instruction stream comprising a state transition instruction followed by further instructions in dependence on a security state of processing circuitry;

responsive to the state transition instruction, changing the security state of the processing circuitry from a secure state to a non-secure state;

issuing the further instructions to be speculatively executed in dependence on the secure state prior to the state transition instruction being completed, each of the further instructions having a requirement with respect to the security state,

wherein the further instructions are issued regardless of whether the requirement with respect to the security state is met; and

performing, after a change in security state of the processing circuitry in response to executing the state transition instruction, a completion operation on each of the further instructions comprising checking whether the requirement with respect to the security state is met and when the requirement with respect to the security state indicates the non-secure state, completing each of the further instructions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: SCHUTTENBERG, KIM RICHARD; ZHANG, RONG
To: ARM LIMITED
Reel/Frame 053021/0463 →
Continuity (1)
Related Publication 20210303303A1 · Sep 30, 2021
References Cited (4)
US 6430674B1 · Trivedi · 2002 [cited by examiner]
US 9762399B2 · Ghose · 2017 [cited by examiner]
US 20140101412A1 · Ramirez · 2014 [cited by examiner]
US 20180232233A1 · Wright · 2018 [cited by examiner]