Method and apparatus to provide dynamic hardware signal allocation in a processor
AssigneeIntel Corporation
InventorChristopher S. M. Hall
Life of this patent
Estimating the term…
Abstract
In a processor having hardware event signals, signals are dynamically allocated in a mask to indicate whether each of the respective signals is available. Program code can use the same signal for multiple non-concurrent operations. A tag for an operation, such as an I/O operation can provide signal virtualization. In one embodiment, the tag includes a signal pending mask and a received signal mask. A comparison the mask can identify when an operation is complete.
Claims20
A method of allocating hardware signals in a multi-core processor, comprising:
- allocating a first hardware signal associated with a first event in a first mask, wherein the first hardware signal corresponds to a bit manipulated by the processor after a request by a first core to a second core external to the first core in the multi-core processor is completed;
- waiting for the first event to complete;
- and
- de-allocating the first hardware signal and clearing the first mask.
A multi-core processor, comprising a memory capable of storing program instructions to enable:
- allocating a first hardware signal associated with a first event in a first mask, wherein the first hardware signal corresponds to a bit manipulated by the processor after a request by a first core to a second core external to the first core in the multi-core processor is completed;
- waiting for the first event to complete;
- de-allocating the first hardware signal and clearing the first mask;
- allocating a number of hardware signals over a period of time that is greater than a number of hardware signals supported by the processor at any one time provided a number of concurrent allocated hardware signals is less than or equal to the number of hardware signals supported by the processor at the any one time.
An article, comprising:
- a storage medium having, stored thereon instructions that when executed by a machine result in the following:
- allocating, in a multi-core processor, a first hardware signal associated with a first event in a first mask, wherein the first hardware signal corresponds to a bit manipulated by the processor after a request by a first core to a second core external to the first core in the multi-core processor is completed;
- waiting for the first event to complete;
- de-allocating the first hardware signal and clearing the first mask;
- generating a tag for the allocated first hardware signal that includes
- a pending signal mask to indicate which hardware signals are pending;
- and
- a received signal mask to indicate which hardware signals have been received;
- and
- comparing the pending signal mask and the received signal mask to determine whether the allocated first hardware signal can be de-allocated.
A network forwarding device, comprising:
- at least one line card to forward data to ports of a switching fabric;
- the at least one line card including a multi-core network processor having multi-threaded processing elements configured to execute microcode instructions to enable:
- allocating a first hardware signal associated with a first event in a first mask, wherein the first hardware signal corresponds to a bit manipulated by the processor after a request by a first core to a second core external to the first core in the multi-core processor is completed;
- waiting for the first event to complete;
- and
- de-allocating the first hardware signal and clearing the first mask.
Dependencies are inferred from the claim text.