IP Library › Granted Patent US 12,360,765
Granted Patent B2
US 12,360,765 · App. 18/491,455 · Granted Jul 15, 2025

Processing unit employing micro-operations (micro-ops) random access memory (RAM) as main program memory

Inventors: Shekhar Yeshwant Borkar (Beaverton, OR); Nitin Yeshwant Borkar (Redmond, WA); Rishi Khan (Wilmington, DE)
Assignee: QUALCOMM Incorporated
G06F9/30043G06F9/30141G06F9/30145G06F9/3824
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,360,765
App. No.
18/491,455
Granted
Jul 15, 2025
Kind
B2
Abstract

Aspects disclosed in the detailed description include a processing unit (PU) employing micro-operations (micro-ops) random access memory (RAM) as main program memory. The micro-ops RAM comprises row circuits each associated with a micro-op and configured to store control signal parameters and output ports configured to be coupled to a register file and one or more execution units. In contrast to fetching and decoding instructions of an ISA in a conventional PU, the processing unit loads a main program comprising micro-ops into the row circuits of the micro-ops RAM. When executing an individual micro-op of the main program, the processing unit activates a row circuit in the micro-ops RAM to cause its stored control signal parameters to be communicated through the output ports of the micro-ops RAM to the register file and/or the one or more execution units and avoids the need for a decoding stage circuit, advantageously decreasing processing latency.

Claims (79)

1. An apparatus, comprising:

a processing unit, comprising:

a micro-operations (micro-ops) random access memory (RAM), comprising:

a plurality of row circuits configured to store a plurality of register control signal parameters corresponding to a register micro-op to be processed and a plurality of execution control signal parameters corresponding to an execution micro-op to be executed;

a register file; and

an execution circuit;

the processing unit configured to:

activate a first row circuit of the plurality of row circuits to couple the plurality of register control signal parameters in the first row circuit to the register file to cause one or more operands to be provided to the execution circuit; and

activate a second row circuit of the plurality of row circuits to couple the plurality of execution control signal parameters in the second row circuit to the execution circuit to select an operation of the execution circuit; and

the execution circuit configured to execute the operation based on the one or more operands and the plurality of execution control signal parameters.

2. The apparatus of claim 1 , wherein the first row circuit and the second row circuit are disposed in a common row circuit of the plurality of row circuits.

3. The apparatus of claim 1 , wherein:

the register file further comprises register input ports;

the execution circuit further comprises execution circuit input ports;

the micro-ops RAM further comprises:

a plurality of first output ports coupled to the register input ports; and

a plurality of second output ports coupled to the execution circuit input ports;

the first row circuit is coupled to the plurality of first output ports; and

the second row circuit is coupled to the plurality of second output ports.

4. The apparatus of claim 3 , wherein the register file further comprises register output ports,

wherein the one or more operands are communicated from the register file to the execution circuit through the register output ports.

5. The apparatus of claim 1 , further comprising:

a memory storing a program comprising a plurality of micro-ops; and

the processing unit further configured to:

load the plurality of micro-ops into the plurality of row circuits in the micro-ops RAM.

6. The apparatus of claim 1 , wherein the micro-ops RAM is directly coupled to the register file.

7. The apparatus of claim 1 , wherein the micro-ops RAM is directly coupled to the execution circuit.

8. The apparatus of claim 1 , wherein the processing unit is further configured to activate the first row circuit in a clock cycle.

9. The apparatus of claim 1 integrated into an integrated circuit (IC).

10. The apparatus of claim 1 integrated into a device selected from the group consisting of: a set top box; an entertainment unit; a navigation device; a communications device; a fixed location data unit; a mobile location data unit; a global positioning system (GPS) device; a mobile phone; a cellular phone; a smart phone; a session initiation protocol (SIP) phone; a tablet; a phablet; a server; a computer; a portable computer; a mobile computing device; a wearable computing device; a desktop computer; a personal digital assistant (PDA); a monitor; a computer monitor; a television; a tuner; a radio; a satellite radio; a music player; a digital music player; a portable music player; a digital video player; a video player; a digital video disc (DVD) player; a portable digital video player; an automobile; a vehicle component; an avionics systems; and a multicopter.

11. A method of operating a processing unit employing a micro-operations (micro-ops) random access memory (RAM), comprising:

providing the micro-ops RAM, the micro-ops RAM comprising:

a plurality of row circuits configured to store a plurality of register control signal parameters corresponding to a register micro-op to be processed and a plurality of execution control signal parameters corresponding to an execution micro-op to be executed;

activating a first row circuit of the plurality of row circuits to couple the plurality of register control signal parameters in the first row circuit to a register file to cause one or more operands to be provided to an execution circuit;

activating a second row circuit of the plurality of row circuits to couple the plurality of execution control signal parameters in the second row circuit to the execution circuit to select an operation of the execution circuit; and

executing the operation based on the one or more operands and the plurality of execution control signal parameters.

12. The method of claim 11 , wherein the first row circuit and the second row circuit are disposed in a common row circuit of the plurality of row circuits.

13. The method of claim 11 , wherein:

the register file further comprises register input ports;

the execution circuit further comprises execution circuit input ports;

the micro-ops RAM further comprises:

a plurality of first output ports coupled to the register input ports; and

a plurality of second output ports coupled to the execution circuit input ports;

the first row circuit is coupled to the plurality of first output ports; and

the second row circuit is coupled to the plurality of second output ports.

14. The method of claim 13 , wherein the register file further comprises register output ports,

wherein activating the first row circuit further comprises:

communicating the one or more operands from the register file to the execution circuit through the register output ports.

15. The method of claim 11 , further comprising:

storing a plurality of micro-ops in a memory; and

loading the plurality of micro-ops into the plurality of row circuits in the micro-ops RAM.

16. The method of claim 11 , further comprising directly coupling the micro-ops RAM to the register file.

17. The method of claim 11 , further comprising directly coupling the micro-ops RAM to the execution circuit.

18. The method of claim 11 , wherein activating the first row circuit further comprises activating the first row circuit in a clock cycle.

19. The method of claim 12 , wherein:

activating the first row circuit further comprises:

activating the first row circuit in a clock cycle; and

activating the second row circuit further comprises:

activating the second row circuit in the clock cycle.

20. An apparatus, comprising:

a processing unit, comprising:

a micro-operations (micro-ops) random access memory (RAM), comprising:

a plurality of row circuits configured to store a plurality of register control signal parameters corresponding to a register micro-op to be processed and a plurality of execution control signal parameters corresponding to an execution micro-op to be executed;

a register file; and

an execution circuit;

means for activating a first row circuit of the plurality of row circuits to couple the plurality of register control signal parameters in the first row circuit to the register file to cause one or more operands to be provided to the execution circuit;

means for activating a second row circuit of the plurality of row circuits to couple the plurality of execution control signal parameters in the second row circuit to the execution circuit to select an operation of the execution circuit; and

means for executing the operation based on the one or more operands and the plurality of execution control signal parameters.

21. The apparatus of claim 20 , wherein the first row circuit and the second row circuit are disposed in a common row circuit of the plurality of row circuits.

22. The apparatus of claim 20 , further comprising:

means for storing a plurality of micro-ops in a memory; and

means for loading the plurality of micro-ops into the plurality of row circuits in the micro-ops RAM.

23. The apparatus of claim 20 , wherein the means for activating the first row circuit further comprises:

means for activating the first row circuit in a clock cycle.

24. The apparatus of claim 21 , wherein:

the means for activating the first row circuit further comprises:

means for activating the first row circuit in a clock cycle; and

the means for activating the second row circuit further comprises:

means for activating the second row circuit in the clock cycle.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2026
From: KHAN, RISHI
To: EXTREME SCALE SOLUTIONS, LLC
Reel/Frame 073391/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2026
From: EXTREME SCALE SOLUTIONS, LLC
To: QUALCOMM INCORPORATED
Reel/Frame 073392/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2024
From: BORKAR, SHEKHAR YESHWANT; BORKAR, NITIN YESHWANT
To: QUALCOMM INCORPORATED
Reel/Frame 067242/0553 →
Continuity (1)
Related Publication 20250130801A1 · Apr 24, 2025
References Cited (22)
US 5870601A · Getzlaff et al. · 1999 [cited by applicant]
US 6442674B1 · Lee · 2002 [cited by examiner]
US 6463525B1 · Prabhu · 2002 [cited by examiner]
US 9471125B1 · Gee · 2016 [cited by examiner]
US 9753733B2 · Blasco-Allue · 2017 [cited by examiner]
US 10140126B2 · Lin · 2018 [cited by examiner]
US 10884751B2 · Kalamatianos · 2021 [cited by examiner]
US 11016763B2 · Kotra · 2021 [cited by examiner]
US 11586441B2 · Kalamatianos · 2023 [cited by examiner]
US 20030145030A1 · Sheaffer · 2003 [cited by applicant]
US 20100070742A1 · Dowling · 2010 [cited by applicant]
US 20130339699A1 · Blasco-Allue · 2013 [cited by examiner]
US 20140222883A1 · Pineiro · 2014 [cited by examiner]
US 20160202985A1 · Lin · 2016 [cited by examiner]
US 20200019406A1 · Kalamatianos · 2020 [cited by examiner]
US 20200285466A1 · Kotra · 2020 [cited by examiner]
US 20210065758A1 · Ghodrat et al. · 2021 [cited by applicant]
US 20210149672A1 · Kalamatianos · 2021 [cited by examiner]
US 20210279054A1 · Kotra · 2021 [cited by examiner]
EP 0469239A2 · 1992 [cited by applicant]
WO 9400812A1 · 1994 [cited by applicant]
International Search Report and Written Opinion for International Patent Application No. PCT/US2024/046389, mailed Dec. 17, 2024, 14 pages. [cited by applicant]