摘要:
A system and method for executing sequences of instructions which can be used to access a memory location in a locked fashion. The first instruction specifies an address and sets a lock register which disables interrupts until it is cleared. The second instruction specifies an address and clears the lock register. The second instruction is not executed if the lock register was already cleared and doesn't update memory if the cache line of the first address is no longer valid. If the second address is not cacheable, the instructions are off-loaded to the bus interface and the results of the update are used to update the processor state. The present invention allows locked memory updates and process synchronization without locking of arbitrary duration of the entire shared data structure. The calculation and update of the data structure may continue after a context switch. The present invention is compatible with a wide range of cache-coherence protocols.
摘要:
An elasticity buffer for use in a data transmission system having a transmitter and a receiver and utilizing a data transfer protocol that periodically supplies an elasticity element that can be deleted or replicated by the elasticity buffer to maintain the synchronous transfer of data elements. The elasticity buffer includes: a memory array and at least one flag per memory location operative to be set to a first or second state; a write controller operating at the transmitter clock for writing the data elements into the memory locations in a sequential order and setting the corresponding flags; a read controller operating at the receiver clock for reading the data elements from the memory locations in the sequential order; and a flag controller for reading the flags, determining if the transmitter clock is faster or slower than the receiver clock from the pattern of flags read from memory, communicating a delete signal to the read controller to delete an elastic symbol if the transmitter clock leads the receiver clock, and communicating a replicate signal to the read controller if the transmitter clock lags the receiver.
摘要:
Each processor in a system using the interrupt generation scheme has an external interrupt register (EIR) an input/output EIR (IO.sub.-- EIR) and an external interrupt mask register (EIM). When an I/O device wants to interrupt a first processor the I/O device writes a predetermined value to the first processor's IO.sub.-- EIR. When the predetermined value is written into the first processor's IO.sub.-- EIR, this causes a specified bit in the first processor's EIR to be set (or cleared depending upon system convention) and an interrupt to occur. The specified bit in the EIR indicates to the first processor either the I/O device which caused the interrupt, or a group of I/O devices which includes the I/O device which caused the interrupt. An I/O device can cause a bit in the EIR to be set, but only a processor can clear bits set in its EIR. The EIM is used by the processor to postpone taking action on an interrupt received from an I/O device. The processor takes action on an interrupt when an I/O device causes a bit to be set in the EIR, and a corresponding bit in the processor's EIM is set. If the corresponding bit in the EIM is not set, then the processor delays action on the interrupt until the corresponding bit in the EIM is set.
摘要:
A search engine system (100) is disclosed that can include at least one content addressable memory (CAM) device (102) arranged in a cascade configuration with at least one memory device (104), such as a static random access memory (SRAM). A CAM device (102) and memory device (104) may be connected to one another by point-to-point unidirectional connections. Command data issued by a device, such as a network processing unit (NPU) (110), can flow through all devices beginning with a CAM device (102) and eventually to a memory device (104). A memory device (104) can compare its own current result data with that of a previous device in a flow (such as another RAM device), and generate an output response.
摘要:
A first set of signals is transformed into a second set of signals having a more stable set of current requirements. The more stable current requirements of the second set of signals are achieved by encoding the second set of signals with either an equal number, nearly an equal number, a constant number, or nearly a constant number of logic ones and logic zeros. A communication channel is provided for carrying the second set of signals from the first node to a second node.
摘要:
According to one embodiment, a method for storing content addressable memory (CAM) mask values may include storing mask values according to mask size in a mask register set (200). A mask register set (200) may include a number of locations arranged into regions (202, 204, 206 and 208). Each region (202, 204, 206 and 208) can store mask values of a different predetermined size.
摘要:
A method and system for distributing messages on a bus bridge interconnect are described. In one embodiment, the interconnect comprises a number of nodes, a bus bridge, and a number of buses. The method and system insure that the messages have been observed by each node. In one embodiment, a message is initiated at an initiating node. The message is forwarded to an adjacent neighbor node. The adjacent neighbor node processes and forwards the message to its adjacent neighbor node. The message is received at the initiating node in its original or modified form. In one embodiment, the message is removed from the interconnect once it is received by the initiating node. In an alternate embodiment, each node generates an appended message by one appending an extended unique identifier (EUI) to the message. Once the appended message is received at the initiating node, the appended message is saved.
摘要:
A system for allowing a node to be accessed through multiple address spaces. The system includes a virtual address memory providing a software settable bus identification address and a stable node identification address for each node in a net, a physical address memory providing a physically assigned node identification address for each node in a local bus, and a logical address memory providing a stable node identification address for each node in the local bus.
摘要:
Both small frames and large frames of data are transmitted from a producer device to a consumer device over an IEEE 1394 serial data bus. The small frames of data are preferably transmitted to a small frame buffer associated with a plug at the consumer device. Each transfer of a small frame generates an interrupt at the consumer device when the transfer is complete. For the transfer of large frames of data, the consumer device programs an array of page table entries into the plug control register of the producer device, prior to a transfer of a large frame of data. Each of the page table entries includes a starting address of a memory page at the consumer device to which data can be written. Together, these memory pages specified by the page table entries form a large frame buffer at the consumer device for receiving a large frame of data from the producer device. Preferably, the array of page table entries can be updated by the consumer device, as appropriate, between frame transfers. When transferring a large frame of data, the producer device begins writing to the first page specified in the first page table entry and continues in order, writing to the pages specified in the page table entries, until the entire frame has been transferred. When the entire large frame of data has been transferred, the producer device then updates the plug control register at the consumer device to notify the consumer device that the entire large frame has been transferred.
摘要:
In a mixed-protocol multiple-processor cache coherence computer system one processor may support read-only and read-write lists while another processor may support only read-write lists. Data copied to a cache is called a cache line while a copy of the same data remaining in memory is called a memory line. A memory line is stale when its associated cache line has been modified. The main memory of the system always points to the processor at the head of each list and includes indications of fresh and stale memory line states. The present invention deletes the head entry of a read-only cache-sharing list where the head entry supports read-only operations and the next-list entry supports only read-write operations. The head of the list informs the next-list entry that the next-list entry is about to become the head of the list. The main memory then repositions its head-pointer to the next-list entry and changes the memory state from fresh to stale. The head of the list then informs the next-list entry that the deletion is complete and the old head is thus deleted from the list.