IP Library Granted Patent US 12,498,924
Granted Patent B2
US 12,498,924 · App. 18/382,974 · Granted Dec 16, 2025

High performance processor with improved microprogram execution triggered with a single issued execution trigger instruction

Inventor: Martin Vorbach (Lingenfeld, DE)
Assignee: Ubitium GmbH
G06F9/22G06F9/24G06F15/7839G06F8/4441G06F8/452G06F9/3017G06F9/38G06F12/0877G06F12/0893G06F15/7821G06F2212/2515G06F2212/282G06F2213/0038G11C8/16G11C11/412Y02D10/00
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,498,924
App. No.
18/382,974
Granted
Dec 16, 2025
Kind
B2
Abstract

Implementations relate to a data processor that includes a data processing unit having a plurality of processing elements and a cache hierarchy including a plurality of levels of data caches. The data caches include a first level data cache connected to a second level data cache, and a main memory connected to the highest level cache of the cache hierarchy. At least one of the first level data cache or second level data cache is divided into a plurality of cache segments, and during operation of the data processor, at least some of the plurality of cache segments are excluded from cache operation. Each of the excluded cache segments is dedicated to an associated processing element as tightly coupled local access memory.

Claims (29)

1 . A data processor implementing an instruction set architecture, the data processor comprising:

a plurality of processing elements;

a memory arrangement;

loading circuitry; and

an instruction issuer;

wherein, for each respective processing element of at least some of the processing elements:

the data processor is adapted for a part of the memory arrangement to be connected, at least temporarily, exclusively to the respective processing element;

the loading circuitry is adapted to initiate loading of a microprogram, which is formed of a sequence of codes that correspond to respective operations, from a memory hierarchy into the part of the memory arrangement that is connected, at least temporarily, exclusively to the respective processing element;

the respective processing element is adapted to respond to a single instruction received from the instruction issuer by executing an entirety of the microprogram using the connection of the respective processing element to the part of the memory arrangement that is connected, at least temporarily, to the respective processing element; and

the executing causes the respective processing element to produce a result data output by processing a received operand data.

2 . The data processor according to claim 1 , wherein the microprogram executed by the respective processing element forms a specific complex instruction.

3 . The data processor according to claim 2 , wherein an opcode in an assembly program issued to the respective processing element references the microprogram.

4 . The data processor according to claim 1 , wherein the microprogram executed by the respective processing element appears to a program outside of the microprogram as a single complex instruction.

5 . The data processor according to claim 4 , wherein the microprogram executed by the respective processing element forms a specific complex instruction, and wherein an opcode in an assembly program issued to the respective processing element references the microprogram.

6 . The data processor according to claim 1 , wherein the part of the memory arrangement is part of a cache memory within a cache hierarchy, and is available for transferring data with at least one load unit and at least one store unit.

7 . The data processor according to claim 6 , wherein the part of the memory arrangement is selectively switchable between use as microprogram memory and as a cache.

8 . The data processor according to claim 6 , wherein the part of the memory arrangement is selectively switchable between use as microprogram memory, as a cache, and as tightly coupled memory.

9 . The data processor according to claim 1 , wherein the part of the memory arrangement is used to store data to which the respective processing element has at least one of read and write access during the execution of the microprogram.

10 . The data processor according to claim 1 , wherein the sequence of codes of the microprogram are a plurality of microcode instructions.

11 . The data processor according to claim 10 , wherein the microcode instructions have access to a register file formed of registers dedicated and local to the respective processing element.

12 . The data processor according to claim 10 , wherein the microcode instructions have access to a processing element operand data input register.

13 . The data processor according to claim 10 , wherein the microcode instructions have access to a processing element result data output register.

14 . The data processor according to claim 10 , wherein the microcode instructions include jump instructions for jumping to a target address.

15 . The data processor according to claim 10 , wherein the microcode instructions include conditional jump instructions for jumping to a target address depending on a condition.

16 . The data processor according to claim 10 , wherein the microcode instructions include loop instructions to form program loops.

17 . The data processor according to claim 1 , wherein the single instruction is a microprogram call instruction that indicates an address of a start of the microprogram within the part of the memory arrangement.

18 . The data processor according to claim 1 , wherein the microprogram comprises conditional instructions, allowing for the execution to branch based on data values or status flags.

19 . The data processor according to claim 1 , wherein the microprogram comprises instructions whose execution includes modification of an address pointer, allowing for sequential access to data within the part of the memory arrangement.

20 . The data processor according to claim 1 , wherein the microprogram defines actions whose execution spans a plurality of clock cycles.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2024
From: HYPERION CORE INC.
To: UBITIUM GMBH
Reel/Frame 068200/0301 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2023
From: VORBACH, MARTIN
To: HYPERION CORE, INC.
Reel/Frame 065313/0483 →
Priority Claims (12)
EP 11001304 · Feb 17, 2011 · regional
EP 11001305 · Feb 17, 2011 · regional
EP 11004033 · May 16, 2011 · regional
EP 11004667 · Jun 8, 2011 · regional
EP 11005196 · Jun 27, 2011 · regional
EP 11006698 · Aug 16, 2011 · regional
EP 11007370 · Sep 9, 2011 · regional
EP 11009911 · Dec 16, 2011 · regional
EP 11009912 · Dec 16, 2011 · regional
EP 11009913 · Dec 16, 2011 · regional
EP 20020148 · Apr 1, 2020 · regional
EP 20020206 · May 6, 2020 · regional
Continuity (4)
Continuation 17079465 · Oct 24, 2020
Continuation In Part 16042803 · Jul 23, 2018
Continuation 14000155
Related Publication 20240054097A1 · Feb 15, 2024
References Cited (54)
US 6948050B1 · Gove et al. · 2005 [cited by applicant]
US 6957322B1 · Pickett · 2005 [cited by examiner]
US 7103759B1 · Blixt · 2006 [cited by examiner]
US 7237071B2 · Jahnke · 2007 [cited by applicant]
US 7627723B1 · Buck et al. · 2009 [cited by applicant]
US 8060727B2 · Blixt · 2011 [cited by examiner]
US 20080147989A1 · Williams, III · 2008 [cited by applicant]
US 20080177909A1 · Sapp et al. · 2008 [cited by applicant]
US 20080201528A1 · Hsu et al. · 2008 [cited by applicant]
US 20090024836A1 · Shen · 2009 [cited by examiner]
US 20090157817A1 · Williamson · 2009 [cited by applicant]
US 20100037117A1 · Pescatore et al. · 2010 [cited by applicant]
US 20110035570A1 · Col · 2011 [cited by examiner]
US 20110161575A1 · Collins · 2011 [cited by examiner]
US 20110296096A1 · Zou · 2011 [cited by examiner]
US 20120137075A1 · Vorbach · 2012 [cited by applicant]
US 20140040553A1 · Liang et al. · 2014 [cited by applicant]
US 20160253123A1 · Jacob · 2016 [cited by applicant]
US 20210042228A1 · Hendrich et al. · 2021 [cited by applicant]
WO 2004038599 · 2004 [cited by applicant]
WO 2010142432 · 2010 [cited by applicant]
WO 2010043401 · 2010 [cited by applicant]
WO 2011079942 · 2011 [cited by applicant]
WO 2012003997 · 2012 [cited by applicant]
D. Jackson, Evolution of Processor microcode, Feb. 22, IEEE, pp. 44-53 (Year: 2005). [cited by examiner]
Rambus XDR Architecture; DL-0161 Advance Information, Version 0. 8. [cited by applicant]
PCT International Search Report mailed in PCT Application No. PCT/EP2012/000713, Sep. 6, 2012, 5 pages. [cited by applicant]
PCT Written Opinion mailed in PCT Application No. PCT/EP2012/000713, Sep. 6, 2012, 8 pages. [cited by applicant]
“AT14971: Smart SAM E70 TCM Memory”, Atmel Corporation, retrieved from Internet: https://www.avrfreaks.net/sites/default/files/forum_attachments/tcm.pdf, 2015, 17 pages. [cited by applicant]
“Chiplets: the Path to IoT Diversity”, Cambridge Consultants, retrieved from Internet: https://www.cambridgeconsultants.com/sites/default/files/2019-10/Chiplets%20-%20The%20path%20to%20IoT%20diversity.pdf, 19 pages, 201… [cited by applicant]
“How to achieve deterministic code performance using a cortex-m cache controller”, Microchip Technology, 2018, 16 pages. [cited by applicant]
“How to Optimize Usage of SAM S70/E70/V7x Architecture”, Atmel Corporation, retrieved from Internet: http://ww1.microchip.com/downloads/en/appnotes/atmel-44047-cortex-m7-microcontroller-optimize-usage-sam-v71-v70-e70-s7… [cited by applicant]
Arm Ltd., ARM926EJ-S™ Revision: r0p5 Technical Reference Manual; DI0198E_arm926ejs_r0p5_trm.pdf. [cited by applicant]
Dilillo, et al., “Minimizing Test power in SRAM through Reduction of Precharge”, Southampton and Patrick Girard of Laboratoire d'informatique, de Robotique et de Microelectronique de Montpellier. [cited by applicant]
Homan, “The Demand for High-Performance Memory”, Micron White Paper, Micron Technology, Inc., retrieved from Internet: https://media-www.micron.com/-/media/client/global/documents/products/white-paper/high_performance_m… [cited by applicant]
Kehlet, “Accelerating Innovation Through a Standard Chiplet Interface: the Advanced Interface Bus (AIB)”, Intel White Paper, Intel Corporation, retrieved from Internet: https://www.intel.com/content/dam/www/public/us/en… [cited by applicant]
Maxfield, “2D vs. 2.5B vs. 3D ICs 101”, Available at: https://www.eetimes.com/2d-vs-2-5d-vs-3d-ics-101/#, 2012, 5 pages. [cited by applicant]
Micron Technology, Inc., “Technical Note FBDIMM—Channel Utilization (Bandwidth”, PDF: 09005aef8251c075, tn4721.fm—Rev. B 1/10 EN. [cited by applicant]
Shanley, “Pentium PRO and Pentium II System Architecture”, Second Edition, Mindshare Inc.; ISBN978-0-201-30973-7, 1998, 619 pages. [cited by applicant]
Shanley, “The Unabridged Pentium 4”, IA32 Processor Genealogy; Mindshare Inc.; ISBN0-321-25656-X, 2004, 394 pages. [cited by applicant]
USPTO, Final Office Action for U.S. Appl. No. 16/042,803, Apr. 24, 2020, 10 pages. [cited by applicant]
USPTO, Non-final Office Action for U.S. Appl. No. 14/000,155, Dec. 10, 2015, 9 pages. [cited by applicant]
USPTO, Non-final Office Action for U.S. Appl. No. 17/079,465, Jan. 28, 2022, 10 pages. [cited by applicant]
USPTO, Non-final Office Action for U.S. Appl. No. 14/000,155, Jan. 30, 2017, 12 pages. [cited by applicant]
USPTO, Notice of Allowance for U.S. Appl. No. 14/000,155, Mar. 26, 2018, 8 pages. [cited by applicant]
USPTO, Notice of Allowance for U.S. Appl. No. 17/079,465, Mar. 28, 2023, 8 pages. [cited by applicant]
USPTO, Final Office Action for U.S. Appl. No. 14/000,155, Mar. 31, 2016, 11 pages. [cited by applicant]
USPTO, Final Office Action for U.S. Appl. No. 14/000,155, May 22, 2017, 14 pages. [cited by applicant]
USPTO, Non-final Office Action for U.S. Appl. No. 16/042,803, Oct. 17, 2019, 10 pages. [cited by applicant]
USPTO, Non-final Office Action for U.S. Appl. No. 14/000,155, Sep. 5, 2017, 17 pages. [cited by applicant]
USPTO, Final Office Action for U.S. Appl. No. 17/079,465, Sep. 8, 2022, 12 pages. [cited by applicant]
Videolan, http://www.videolan.org/developers/x264.html: VLC media player and x264 are trademarks registered (or in registration process) by the VideoLAN non-profit organization. Software are licensed under the GNU Gener… [cited by applicant]
Wechsler, “Inside Intel® Core™ Microarchitecture: Setting New Standards for Energy-Efficient Performance”, White Paper; Copyright © 2006; Intel Corporation; Printed in the United States.0306/RMR/HBD/2K 311830-00IUS, 200… [cited by applicant]
Weste, et al., “A circuits and systems perspective”, CMOS VLSI Design; Fourth Edition; Addison-Wesley; ISBN-13:978-0-321-54774-3, 867 pages. [cited by applicant]