发明名称 Tracking written addresses of a shared memory of a multi-core processor
摘要 Described embodiments provide a method of controlling processing flow in a network processor having one or more processing modules. A given one of the processing modules loads a script into a compute engine. The script includes instructions for the compute engine. The given one of the processing modules loads a register file into the compute engine. The register file includes operands for the instructions of the loaded script. A tracking vector of the compute engine is initialized to a default value, and the compute engine executes the instructions of the loaded script based on the operands of the loaded register file. The compute engine updates corresponding portions of the register file with updated data corresponding to the executed script. The tracking vector tracks the updated portions of the register file. The compute engine provides the tracking vector and the updated register file to the given one of the processing modules.
申请公布号 US9195464(B2) 申请公布日期 2015.11.24
申请号 US201113316145 申请日期 2011.12.09
申请人 Intel Corporation 发明人 Sonnier David;Stone Chris Randall;Peet, Jr. Charles Edward
分类号 G06F9/46;G06F9/54;G06F9/38;H04L12/933;H04L12/931;G06F12/08 主分类号 G06F9/46
代理机构 Nicholson De Vos Webster & Elliott LLP 代理人 Nicholson De Vos Webster & Elliott LLP
主权项 1. A method of controlling processing flow in a network processor having one or more processing modules, the method comprising: loading, by a given one of the processing modules, a script into a compute engine of the network processor, the script comprising one or more instructions for execution by the compute engine; loading, by the given one of the processing modules, information into a register file of the compute engine, the information including one or more operands for the one or more instructions of the script; initializing a tracking vector of the compute engine to a default value, wherein the tracking vector comprises a data structure that includes N indicators, wherein each indicator corresponds to one of N portions of the register file which are tracked by the compute engine, wherein the tracking vector is stored in a memory location that is independent and separately addressable from memory locations in which said information is stored in the register file; executing, by the compute engine, the one or more instructions of the script, wherein the one or more instructions operate on the one or more operands in the register file; modifying, by the compute engine, one or more portions of the register file with updated data responsive to the executed script; tracking, by the compute engine, modified portions of the register file, wherein tracking comprises the compute engine setting a value of one or more of the N indicators of the tracking vector to indicate which of the one or more portions of the register file have been modified with updated data; providing, by the compute engine, the tracking vector without the updated register file to the given one of the processing modules; determining, by the given one of the processing modules, further processing responsive to the tracking vector; and moving modified data between the compute engine and an external memory via at least one sub-cache in a system cache of a shared memory.
地址 Santa Clara CA US