Dynamic configuration of processing modules in a network communications processor architecture
First Claim
1. A method of updating configuration data of a network computer processor implemented in an integrated circuit chip, the network computer processor having a control processor, one or more hardware accelerators, and at least one shared memory shared between the control processor and one or more hardware accelerators, the method comprising:
- writing, by the control processor of the network computer processor, updated configuration data to the at least one shared memory;
sending, by the control processor, a configuration update request to one or more of the hardware accelerators, wherein the configuration update request corresponds to updated configuration data stored in the at least one share memory;
determining whether the configuration update request corresponds to settings of a given one of the hardware accelerators;
when the configuration update request corresponds to settings of a given one of the hardware accelerators;
updating, by a destination accelerator, one or more register values corresponding to configuration settings of the accelerator with the corresponding updated configuration data of the configuration operations;
otherwise, when the configuration update request corresponds to configuration data stored in the at least one shared memory;
performing, by a combination of multiple parallel processing operations in the at least one shared memory, a coherent memory update operation corresponding to the configuration data stored in the at least one shared memory; and
updating one or more task templates of the network computer processor stored in the at least one shared memory, each task template corresponding to a virtual pipeline of the network computer processor, the virtual pipeline defining a processing order of a task through one or more of the hardware accelerators.
5 Assignments
0 Petitions
Accused Products
Abstract
Described embodiments provide a method of updating configuration data of a network processor having one or more processing modules and a shared memory. A control processor of the network processor writes updated configuration data to the shared memory and sends a configuration update request to a configuration manager. The configuration update request corresponds to the updated configuration data. The configuration manager determines whether the configuration update request corresponds to settings of a given one of the processing modules. If the configuration update request corresponds to settings of a given one of the one or more processing modules, the configuration manager, sends one or more configuration operations to a destination one of the processing modules corresponding to the configuration update request and updated configuration data. The destination processing module updates one or more register values corresponding to configuration settings of the processing module with the corresponding updated configuration data.
-
Citations
14 Claims
-
1. A method of updating configuration data of a network computer processor implemented in an integrated circuit chip, the network computer processor having a control processor, one or more hardware accelerators, and at least one shared memory shared between the control processor and one or more hardware accelerators, the method comprising:
-
writing, by the control processor of the network computer processor, updated configuration data to the at least one shared memory; sending, by the control processor, a configuration update request to one or more of the hardware accelerators, wherein the configuration update request corresponds to updated configuration data stored in the at least one share memory; determining whether the configuration update request corresponds to settings of a given one of the hardware accelerators; when the configuration update request corresponds to settings of a given one of the hardware accelerators; updating, by a destination accelerator, one or more register values corresponding to configuration settings of the accelerator with the corresponding updated configuration data of the configuration operations; otherwise, when the configuration update request corresponds to configuration data stored in the at least one shared memory; performing, by a combination of multiple parallel processing operations in the at least one shared memory, a coherent memory update operation corresponding to the configuration data stored in the at least one shared memory; and updating one or more task templates of the network computer processor stored in the at least one shared memory, each task template corresponding to a virtual pipeline of the network computer processor, the virtual pipeline defining a processing order of a task through one or more of the hardware accelerators. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory machine-readable medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method of updating configuration data of a network computer processor implemented in an integrated circuit chip, the network computer processor having a control processor, one or more accelerators and at least one shared memory, the method comprising:
-
writing, by the control processor of the network computer processor, updated configuration data to the at least one shared memory; sending, by the control processor, a configuration update request to one or more of the hardware accelerators, wherein the configuration request corresponds to updated configuration data stored in the at least one shared memory; determining whether the configuration update request corresponds to settings of a given one of the hardware accelerators; when the configuration update request corresponds to settings of a given one of the hardware accelerators; updating, by a destination accelerator, one or more register values corresponding to configuration settings of the accelerator with the corresponding updated configuration data of the configuration operations; otherwise, when the configuration update request corresponds to configuration data stored in the at least one shared memory; performing, by a combination of multiple parallel processing operations in the at least one shared memory, a coherent memory update operation corresponding to the configuration data stored in the at least one shared memory; and updating one or more task templates of the network computer processor stored in the at least one shared memory, each task template corresponding to a virtual pipeline of the network computer processor, the virtual pipeline defining a processing order of a task through one or more of the hardware accelerators, wherein the configuration update request is communicated over a coherent communications bus of the network computer processor, and wherein the one or more configuration operations are communicated over a ring communication bus of the network computer processor. - View Dependent Claims (7, 8, 9)
-
-
10. A network computer processor implemented in an integrated circuit chip, the network computer processor comprising:
-
at least one shared memory; one or more hardware accelerators; one or more control processors configured to (i) provide updated configuration data to the at least one shared memory, (ii) send a configuration update request to a configuration manager of the network processor, wherein the configuration update request corresponds to updated configuration data stored in the at least one shared memory; wherein the configuration manager is configured to determine whether the configuration update request corresponds to settings of a given one of the one or more hardware accelerators; when the configuration update request corresponds to settings of a given one of the one or more hardware accelerators; the configuration manager is further configured to send one or more configuration operations to a destination one of the one or more hardware accelerators, wherein the one or more configuration operations correspond to the configuration update request and updated configuration data; and the destination processing module is configured to update one or more register values corresponding to configuration settings of the hardware accelerator with the corresponding updated configuration data of the one or more configuration operations; otherwise, when the configuration update request corresponds to configuration data stored in the at least one shared memory; the configuration manager is further configured to (i) send one or more configuration operations to a destination one of the one or more hardware accelerators, wherein the one or more configuration operations correspond to the configuration update request and data stored in the destination hardware accelerator, and (ii) perform, by a combination of multiple parallel processing operations in the at least one shared memory, a coherent memory update operation corresponding to the configuration data stored in the at least one shared memory, wherein the control processor is configured to update one or more task templates of the network computer processor stored in the at least one shared memory, each task template corresponding to a virtual pipeline of the network computer processor, the virtual pipeline defining a processing order of a task through one or more of the hardware accelerators. - View Dependent Claims (11, 12, 13, 14)
-
Specification