IP Library Granted Patent US 12,650,844
Granted Patent B2
US 12,650,844 · App. 18/532,946 · Granted Jun 9, 2026

Device and method for implementing an operating mode based on opcodes

Inventors: Michael Peeters (Tourinnes-la-Grosse, BE); Fabrice Marinet (Chateauneuf le Rouge, FR)
Assignees: STMICROELECTRONICS (ROUSSET) SAS; STMICROELECTRONICS BELGIUM
G06F9/30185G06F9/30134G06F9/30145G06F9/30105
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,650,844
App. No.
18/532,946
Granted
Jun 9, 2026
Kind
B2
Abstract

The disclosure includes a method of authenticating a processor that includes an arithmetic and logic unit. At least one decoded operand of at least a portion of a to-be-executed opcode is received on a first terminal of the arithmetic and logic unit. A signed instruction is received on a second terminal of the arithmetic and logic unit. The signed instruction combines a decoded instruction of the to-be-executed opcode and a previous calculation result of the arithmetic and logic unit.

Claims (35)

1 . A method, comprising:

receiving, in a processing unit of a printer, a command including one or more opcodes from an ink cartridge installed in the printer;

determining, with the processing unit, whether or not the one or more opcodes take into account data of a context register bank of the processing unit; and

implementing, with the processing unit, a selected operating mode of the printer based on whether or not the one or more opcodes take into account data of the context register bank.

2 . The method of claim 1 , wherein the implementing the selected operating mode includes processing, by the processing unit, a first instruction associated with the command.

3 . The method of claim 2 , wherein processing the first instruction includes processing by an arithmetic and logic unit of the processing unit, the first instruction.

4 . The method of claim 2 , comprising storing, in the context register bank of the processing unit, a first result of processing the in first instruction.

5 . The method of claim 4 , wherein the context register bank is configured to generate a signature data based on the first result.

6 . The method of claim 5 , comprising:

receiving a second instruction subsequent to the first instruction;

generating a signed second instruction by signing the second instruction based on the first result.

7 . The method of claim 6 , wherein generating the signed second instruction includes combining the second instruction with signature data in a combination circuit of the processing unit.

8 . The method of claim 7 , comprising decoding the one or more opcodes to obtain the first instruction and a first operand.

9 . The method of claim 7 , wherein the signature data also includes at least a part of a first opcode executed by the processing unit prior to the generating the signed second instruction.

10 . A printer, comprising:

a processing unit configured to receive a command including one or more opcodes from an ink cartridge installed in the printer; and

a context register bank of the processing unit, wherein the processing unit is configured to determine whether or not the one or more opcodes take into account data of a the context register bank of the processing unit and to implement a selected operating mode of the printer based on whether or not the one or more opcodes take into account data of the context register bank.

11 . The printer of claim 10 , wherein the processing unit includes:

a combination circuit that operates to combine a first instruction associated with the command with signature data to generate a signed first instruction; and

an arithmetic and logic unit configured to process the signed first instruction to determine that the processor processing unit is authorized to process the first instruction;

wherein the signature data is a processing result of the arithmetic and logic unit processing a second instruction prior to the first instruction.

12 . The printer of claim 11 , wherein the combination circuit is configured to be controlled by an operand corresponding to the first instruction.

13 . The printer of claim 11 , wherein the combination circuit is configured to combine the first instruction with at least a part of an opcode containing the second instruction.

14 . The printer of claim 11 , further comprising a result register bank configured to store a processing result of the arithmetic and logic unit with respect to the signed first instruction.

15 . The printer of claim 11 , wherein the arithmetic and logic unit is configured to process the signed first instruction received on its first terminal with respect to a first operand received on its second terminal, the first instruction and the first operand corresponding to one another in a first opcode.

16 . The printer of claim 15 , further comprising a decoding circuit configured to decode the first opcode to obtain the first instruction and a plurality of operands including the first operand.

17 . The printer of claim 16 , further comprising a multiplexer configured to receive the plurality of operands from the decoding circuit.

18 . A printer, comprising an integrated circuit, the integrated circuit including:

a decoding circuitry that operates to decode a first opcode into a decoded instruction and a plurality of decoded operands;

a multiplexer circuitry that operates to select a first decoded operand from the plurality of decoded operands;

a combination circuitry that operates to generate a signed instruction by combining the decoded instruction and signature data; and

an arithmetic and logic circuitry that operates to determine whether the first opcode is authorized to be processed by the arithmetic and logic circuitry based on the signed instruction;

wherein the signature data includes at least a portion of a second opcode processed by the arithmetic and logic circuitry prior to the first opcode.

19 . The printer of claim 18 , wherein the signature data includes a processing result of the arithmetic and logic circuitry in processing the second opcode.

20 . The printer of claim 18 , wherein the multiplexer circuitry operates to deliver a second decoded operand of the plurality of decoded operands to the combination circuitry, the combination circuitry configured to be controlled by the second decoded operand in generating the signed instruction.

Assignments (1)
CHANGE OF NAME Recorded Sep 26, 2024
From: PROTON WORLD INTERNATIONAL
To: STMICROELECTRONICS BELGIUM
Reel/Frame 069057/0620 →
Priority Claims (1)
FR 1903346 · Mar 29, 2019 · national
Continuity (3)
Continuation 17721193 · Apr 14, 2022
Continuation 16833012 · Mar 27, 2020
Related Publication 20240103873A1 · Mar 28, 2024
References Cited (30)
US 5974529A · Zumkehr et al. · 1999 [cited by applicant]
US 6308256B1 · Folmsbee · 2001 [cited by applicant]
US 6574728B1 · Chayut · 2003 [cited by applicant]
US 6594752B1 · Baxter · 2003 [cited by applicant]
US 7581079B2 · Pechanek · 2009 [cited by applicant]
US 7941651B1 · Toll et al. · 2011 [cited by applicant]
US 8726370B2 · Minegishi · 2014 [cited by examiner]
US 8911069B1 · Novak · 2014 [cited by examiner]
US 9177111B1 · Squires et al. · 2015 [cited by applicant]
US 9652246B1 · Tam et al. · 2017 [cited by applicant]
US 11468168B1 · Blasco et al. · 2022 [cited by applicant]
US 11651064B2 · Peeters et al. · 2023 [cited by applicant]
US 20040044717A1 · Makineni et al. · 2004 [cited by applicant]
US 20050216707A1 · Taylor · 2005 [cited by applicant]
US 20060095975A1 · Yamada et al. · 2006 [cited by applicant]
US 20070079125A1 · Adkins · 2007 [cited by examiner]
US 20100070953A1 · Velten et al. · 2010 [cited by applicant]
US 20100153672A1 · Jogand-Coulomb et al. · 2010 [cited by applicant]
US 20110167496A1 · McPhail et al. · 2011 [cited by applicant]
US 20120233446A1 · Gammel et al. · 2012 [cited by applicant]
US 20130111190A1 · Muff et al. · 2013 [cited by applicant]
US 20140372327A1 · Farison · 2014 [cited by examiner]
US 20190220587A1 · Marinet · 2019 [cited by applicant]
US 20200134164A1 · Berthelot et al. · 2020 [cited by applicant]
CN 105204820A · 2015 [cited by applicant]
EP 0825528A2 · 1998 [cited by applicant]
WO 2016209536A1 · 2016 [cited by applicant]
Lashermes et al., “Hardware-Assisted Program Execution Integrity: HAPEI,” [cited by applicant]
Lee, “Schemes and Applications for Binding Hardware and Software in Computing 2 Devices” doctoral thesis, University of London, London, United Kingdom, 2018, 176 pages. [cited by applicant]
Werner et al., “Sponge-Based Control-Flow Protection for IoT Devices,” 3 arXiv:1802.06691v1, Feb. 19, 2018, 13 pages. [cited by applicant]