Fast argument load in a reconfigurable data processor

US12072836B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12072836-B2
Application numberUS-202318105187-A
CountryUS
Kind codeB2
Filing dateFeb 2, 2023
Priority dateFeb 9, 2022
Publication dateAug 27, 2024
Grant dateAug 27, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A reconfigurable processor includes an array of configurable units connected by a bus system. Each configurable unit has a configuration data store, organized as a shift register, to store configuration data. The configuration data store also includes individually addressable argument registers respectively made up of word-sized portions of the shift register to provide arguments to the configurable unit. The configurable unit also includes program load logic shift data into the configuration data store, and argument load logic to directly load data into the argument registers without shifting the received argument data through the shift register. A program load controller is associated with the array to respond to a program load command by executing a program load process, and a fast argument load (FAL) controller is associated with the array to respond to an FAL command by executing an FAL process.

First claim

Opening claim text (preview).

The invention claimed is: 1. A reconfigurable processor comprising: an array of configurable units connected by a bus system, a configurable unit in the array of configurable units including a configuration data store, organized as a shift register, to store configuration data, the configuration data store also including individually addressable argument registers respectively comprising word-sized portions of the shift register adapted to provide arguments to the configurable unit, the configurable unit further including program load logic to receive sub-files of the configuration data via the bus system and to load the received sub-files into the configuration data store, including the argument registers, by sequentially shifting the received sub-files into the shift register, the configurable unit further including argument load logic to receive argument data via the bus system and load the received argument data into the argument registers without shifting the received argument data through the shift register; a program load controller associated with the array to respond to a program load command by executing a program load process, including sending a first signal to the configurable unit, and subsequently distributing a configuration file comprising the sub-files of configuration data to the configurable unit in the array as specified in the configuration file; and a fast argument load (FAL) controller associated with the array to respond to an FAL command by executing an FAL process, including sending a second signal to the configurable unit, and subsequently distributing (value, control) tuples to the configurable unit as specified in an argument load file. 2. The reconfigurable processor of claim 1 , wherein the shift register comprises a multi-bit wide shift chain that includes the individually addressable argument registers, and the configurable unit is configured to provide multiple access modes to an argument register of the individually addressable argument registers, the multiple access modes including: a first access mode of sequentially shifting argument data into the argument register via the multi-bit wide shift chain; and a second access mode of accessing the argument register directly without changing data loaded into other parts of the shift register. 3. The reconfigurable processor of claim 1 , wherein the configurable units in the array of configurable units are further connected in an interconnect topology, separate from, and in addition to, the bus system, the interconnect topology comprising a daisy chain used by the configurable unit to indicate completion of at least a portion of loading the received sub-files of the configuration data or loading the received argument data. 4. The reconfigurable processor of claim 1 , wherein the configurable unit is configurable to transition to an IDLE state, to abandon execution of the FAL process, and to set an error bit of a tile status register in response to receiving an error during a memory access. 5. The reconfigurable processor of claim 1 , wherein the argument load logic in the configurable unit is configured to cause a component state machine in the configurable unit to transition from a current state to an argument load state in response to receiving the second signal. 6. The reconfigurable processor of claim 5 , wherein the current state of the configurable unit is one of idle, program load, checkpoint, execute, or quiesce. 7. The reconfigurable processor of claim 5 , wherein the configurable unit is configured to, while in the argument load state, receive a (value, control) tuple, and write a value included in the (value, control) tuple to an argument register of the individually addressable argument registers identified by a register identifier included in the (value, control) tuple, and signal completion of the write of the value to the argument register by sending a response packet to the FAL controller. 8. The reconfigurable processor of claim 7 , wherein the FAL controller is configured to send the (value, control) tuple to the configurable unit over a vector network of the bus system using dimension order routing, and the configurable unit is configured to send the response packet including a set control bit to the FAL controller over a scalar network of the bus system. 9. The reconfigurable processor of claim 7 , wherein the configurable unit remains in the argument load state until it receives a different command. 10. The reconfigurable processor of claim 1 , wherein the argument load file includes a list of (value, control) tuples specifying values to be written to argument registers, the list containing a (value, control) tuple for argument registers to be written by the FAL controller during a single invocation of the FAL process. 11. The reconfigurable processor of claim 10 , wherein each (value, control) tuple includes a value word of data to be written to an argument register and a control word of data indicating a location of an argument register of the argument registers to be written. 12. The reconfigurable processor of claim 11 , wherein the control word of data includes an ID of the argument register to be written and a destination identification of the configurable unit containing the argument register to be written. 13. The reconfigurable processor of claim 12 , wherein the destination identification identifies a row in the array of configurable units containing the configurable unit, a column in the array of configurable units containing the configurable unit, and a type of the configurable unit, the type being one of memory unit, compute unit, switch, and interface unit. 14. A method for operating a reconfigurable processor that includes an array of configurable units connected by a bus system to a program load controller and a fast argument load (FAL) controller, a configurable unit in the array of configurable units including a configuration data store, organized as a shift register, to store configuration data, the configuration data store also including individually addressable argument registers respectively comprising word-sized portions of the shift register adapted to provide arguments to the configurable unit, the method comprising: receiving a program load command and responding by: obtaining a configuration file including sub-files of the configuration data; sending a first signal from the program load controller to the configurable unit; and distributing the sub-files of configuration data to the configurable unit; receiving the sub-files of the configuration data via the bus system at the configurable unit; and loading the received sub-files into the configuration data store, including the argument registers, by sequentially shifting data of the received sub-files into the shift register; and receiving an FAL command and responding by executing an FAL process that includes: sending a second signal from the FAL controller to the configurable unit; obtaining argument load information including one or more argument values to be loaded into respective argument registers in the configurable unit; distributing the argument load information to the configurable unit; receiving the argument load information via the bus system at the configurable unit; and loading the one or more argument values into the respective argument registers without shifting the one or more argument values through the shift register. 15. The method of claim 14 , wherein the argument load information includes one or more (value, control) tuples that respectively provide one argument value and an identifier of a respective argument

Assignees

Inventors

Classifications

  • with reconfigurable architecture · CPC title

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

  • according to data content, e.g. floating-point registers, address registers · CPC title

  • Runtime interface, e.g. data exchange, runtime control · CPC title

  • Register stacks; shift registers · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12072836B2 cover?
A reconfigurable processor includes an array of configurable units connected by a bus system. Each configurable unit has a configuration data store, organized as a shift register, to store configuration data. The configuration data store also includes individually addressable argument registers respectively made up of word-sized portions of the shift register to provide arguments to the configu…
Who is the assignee on this patent?
Sambanova Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F15/7885. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 27 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).