IP Library › Granted Patent US 12,153,542
Granted Patent B2
US 12,153,542 · App. 17/361,257 · Granted Nov 26, 2024

Apparatus for array processor with program packets and associated methods

Inventors: Matthew Brandon Gately (Austin, TX); Eric Jonathan Deal (Austin, TX); Daniel Thomas Riedler (Poway, CA)
Assignee: Silicon Laboratories Inc.
G06F15/80G06F9/3001G06F13/28
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,153,542
App. No.
17/361,257
Granted
Nov 26, 2024
Kind
B2
Abstract

An apparatus includes an array processor to process array data in response to information contained in a packet, wherein the packet comprises a set of fields specifying configuration information for processing the array.

Claims (42)

1. An apparatus comprising an array processor to process array data in response to information contained in a packet, wherein the array processor comprises:

a set of memory mapped registers grouped and ordered to form a loop configuration register subset and an array configuration register subset that correspond to the information contained in the packet,

wherein the packet comprises a set of fields specifying configuration information for processing the array data,

wherein the packet comprises a program packet for loading configuration registers of the array processor, the program packet including a loop configuration field corresponding to the loop configuration register subset and an array configuration field corresponding to the array configuration register subset.

2. The apparatus according to claim 1 , wherein the packet is generated by compiling a program for the array processor.

3. The apparatus according to claim 1 , wherein, by using the packet, a program for the array processor is autonomously loaded.

4. The apparatus according to claim 3 , wherein the program for the array processor is autonomously loaded by a direct memory access (DMA) circuit.

5. The apparatus according to claim 1 ,

wherein the set of memory mapped registers is further grouped and ordered to form an arithmetic logic unit (ALU) register state register subset, and

wherein the packet further comprises a state of an ALU of the array processor corresponding to the ALU register state register subset.

6. The apparatus according to claim 5 ,

wherein the set of memory mapped registers is further grouped and ordered to form state registers of the array processor including a loop state register subset, an array state register subset, and a program state register subset, and

wherein the packet further comprises information about the state registers of the array processor corresponding to the loop state register subset, the array state register subset, and the program state register subset.

7. The apparatus according to claim 6 ,

wherein use of the packet provides saving and/or restoring a context of the array processor using the state registers.

8. The apparatus according to claim 1 ,

wherein the configuration information further includes an instruction configuration field, and

wherein the array configuration field includes base address information, dimension size information, and dimension stride information for the array data.

9. An apparatus, comprising:

an array processor to process data for an array; and

a storage device that includes a packet for programming the array processor to process the data for the array,

wherein the packet comprises a program packet including a loop configuration field corresponding to a loop configuration register subset of a set of memory mapped registers of the array processor, an array configuration field corresponding to an array configuration register subset of the set of memory mapped registers, and an instruction configuration field corresponding to an instruction configuration register subset of the set of memory mapped registers.

10. The apparatus according to claim 9 , wherein the packet comprises an extended program packet.

11. The apparatus according to claim 9 , wherein the packet comprises a contextual program packet.

12. The apparatus according to claim 9 , wherein the storage device includes a set of words corresponding to fields in the packet.

13. The apparatus according to claim 9 ,

wherein the array configuration field includes base address information, dimension size information, and dimension stride information for the data.

14. A method of processing information, the method comprising:

loading information contained in a packet to a set of memory mapped registers of an array processor, the set of memory mapped registers being grouped and ordered to form a loop configuration register subset and an array configuration register subset,

processing array data, by the array processor, in response to information contained in the packet,

wherein the packet comprises a program packet including information for loading memory mapped registers of the array processor, the program packet comprising a loop configuration field corresponding to the loop configuration register subset and an array configuration field corresponding to the array configuration register subset.

15. The method according to claim 14 , wherein the packet is generated by compiling a program for the array processor.

16. The method according to claim 14 , wherein the memory mapped registers of the array processor further include an instruction configuration register subset.

17. The method according to claim 14 , further comprising using the packet to autonomously load a program for the array processor.

18. The method according to claim 17 , wherein using the packet to autonomously load the program for the array processor comprises using a direct memory access (DMA) circuit to perform the autonomous load.

19. The method according to claim 14 ,

wherein the packet further comprises: (a) a state of an arithmetic logic unit (ALU) of the array processor; or (b) the program packet, the state of the ALU of the array processor, and information about state registers of the array processor, and

wherein the memory mapped registers include ALU register state registers corresponding to the state of the ALU and the state registers of the array processor.

20. The method according to claim 14 , further comprising using the packet to switch a context of the array processor.

21. The method according to claim 14 , further comprising using the packet to save or restore windowing of a low-power mode of the array processor.

22. The method according to claim 14 ,

wherein the array configuration field includes base address information, dimension size information, and dimension stride information for the array data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2021
From: RIEDLER, DANIEL THOMAS; DEAL, ERIC JONATHAN; GATELY, MATTHEW BRANDON
To: SILICON LABORATORIES INC.
Reel/Frame 056694/0671 →
Continuity (1)
Related Publication 20220414051A1 · Dec 29, 2022
Cited By (1)
US 12,536,129