主权项 |
1. A method of storing data in a local cache of a control processing module of a network processor having a plurality of processing modules and at least one shared memory, the method comprising:
determining, by the control processing module, presence of data stored in a local cache of the control processing module, the data for an operation of the control processing module, while concurrently sending (i) a speculative read request to the at least one shared memory to read the data from the at least one shared memory, and (ii) a second read request to one or more of the plurality of processing modules of the network processor; determining, by a memory controller of the at least one shared memory, a physical address of the data in the at least one shared memory in response to the speculative read request; responding to the second read request, by each of the one of more of the plurality of processing modules, whether the data is located in one or more local caches of the one or more of the plurality of processing modules; determining, by the control processing module based on the responses of the one or more of the plurality of processing modules, presence of the data in one or more local caches of the one or more of the plurality of processing modules; and if the control processing module determines that the data is not present in the local cache processing module, but that the data is present in one of the local caches of the one or more of the plurality of processing modules:
reading, by the control processing module, the data from one of the local caches of the one or more of the plurality of processing modules containing the data; andcanceling, by the control processing module, the speculative read request to the at least one shared memory;wherein if the control processing module determines the data is not present in one of the local caches of the other control processing modules:
sending a control signal to the at least one shared memory to indicate to proceed with the speculative read request; andreading the data from the at least one shared memory; wherein the speculative read request is sent to the at least one shared memory of the network processor over a read interface of the network processor, the speculative read request comprising a read request that includes a speculative read indicator which indicates that the read request is a speculative read request; wherein the speculative read request is canceled by the control processing module sending a control signal over a dedicated speculative read interface of the network processor, which is separate from the read interface of the network processor. |