Abstract:
Disclosed are embodiments of a system, methods and mechanism for management and translation of mapping between logical sequencer addresses and physical or logical sequencers in a multi-sequencer multithreading system. A mapping manager may manage assignment and mapping of logical sequencer addresses or pages to actual sequencers or frames of the system. Rationing logic associated with the mapping manager may take into account sequencer attributes when such mapping is performed Relocation logic associated with the mapping manager may manage spill and fill of context information to/from a backing store when re-mapping actual sequencers. Sequencers may be allocated singly, or may be allocated as part of partitioned blocks. The mapping manager may also include translation logic that provides an identifier for the mapped sequencer each time a logical sequencer address is used in a user program. Other embodiments are also described and claimed.
Abstract:
Rescheduling multiple micro-operations in a processor using a replay queue. The processor comprises a replay queue to receive a plurality of instructions and an execution unit to execute the plurality of instructions. A scheduler is coupled between the replay queue and the execution unit. The scheduler speculatively schedules instructions for execution and dispatches each instruction to the execution unit. A checker is couple to the execution unit to determine whether each instruction has executed successfully. The checker is also coupled to the replay queue to communicate to the replay queue each instruction that has not executed successfully.
Abstract:
In an embodiment, a method is provided. The method includes managing user-level threads on a first instruction sequencer in response to executing user-level instructions on a second instruction sequencer that is under control of an application level program. A first user-level thread is run on the second instruction sequencer and contains one or more user level instructions. A first user level instruction has at least 1) a field that makes reference to one or more instruction sequencers or 2) implicitly references with a pointer to code that specifically addresses one or more instruction sequencers when the code is executed.
Abstract:
According to an embodiment of the invention, a method and apparatus for inter-processor interrupts in a multi-processor system are described. An embodiment comprises writing an inter-processor interrupt request to a first memory location; monitoring the first memory location; detecting the inter-processor interrupt request in the first memory location; calling a function for the inter-processor interrupt request; and performing the function for the inter-processor interrupt request.
Abstract:
Breaking replay dependency loops in a processor using a rescheduled replay queue. The processor comprise a replay queue to receive a plurality of instructions, and an execution unit to execute the plurality of instructions. A scheduler is coupled between the replay queue and the execution unit. The scheduler speculatively schedules instructions for execution and increments a counter for each of the plurality of instructions to reflect the number of times each of the plurality of instructions has been executed. The scheduler also dispatches each instruction to the execution unit either when the counter does not exceed a maximum number of replays or, if the counter exceeds the maximum number of replays, when the instruction is safe to execute. A checker is coupled tot he execution unit to determine whether each instruction has executed successfully. The checker is also coupled to the replay queue to communicate to the replay queue each instruction that has not executed successfully.
Abstract:
A processor is disclosed and includes at least one core including a first core, and interrupt delay logic. The interrupt delay logic is to receive a first interrupt at a first time and delay the first interrupt from being processed by a first time delay that begins at the first time, unless the first interrupt is pending at a second time when a second interrupt is processed by the first core. If the first interrupt is pending at the second time, the interrupt delay logic is to indicate to the first core to begin to process the first interrupt prior to completion of the first time delay. Other embodiments are disclosed and claimed.
Abstract:
Bei einer Ausführungsform umfasst die vorliegende Erfindung einen Prozessor, der einen Kern mit Decodierlogik aufweist, um einen Befehl zu decodieren, der eine Identifizierung einer zu überwachenden Position und einen Zeitgeberwert vorschreibt, und einen mit der Decodierlogik gekoppelten Zeitgeber, um eine Zählung in Bezug auf den Zeitgeberwert auszuführen. Der Prozessor kann weiter eine mit dem Kern gekoppelte Power-Mangement-Einheit umfassen, um eine Art eines Energiesparzustandes basierend mindestens teilweise auf dem Zeitgeberwert zu bestimmen und den Prozessor zu veranlassen, in den Energiesparzustand als Reaktion auf die Bestimmung einzutreten. Weitere Ausführungsformen sind beschrieben und werden beansprucht.
Abstract:
A method of handling locks in a system comprises the steps of creating a queue element (a node) and associating it with a processor waiting for a contended lock. A monitor is then set up to monitor the node and the processor relinquishes its resources and is put into a sleep state. The node is monitored and when an event occurs the processor is exited from the sleep state and resumes control of the previously relinquished resources. Once awake the monitoring of the node is disabled. Relinquished resources may be combined to form larger resources for non-sleeping processors. Relinquishing resources comprises the steps of relinquishing registers and entries in instructions queues, buffers and reorder buffers. An event may comprise a processor reaching its turn in to claim ownership of a lock or the lock becoming available. Initiating the monitor comprises setting up a monitor address associated with the queue element or node.
Abstract:
A method and apparatus for executing lock instructions speculatively in an out-of-order processor are disclosed. In one embodiment, a prediction is made whether a given lock instruction will actually be contended. If not, then the lock instruction may be treated as having a normal load micro-operation which may be speculatively executed. Monitor logic may look for indications that the lock instruction is actually contended. If no such indications are found, the speculative load micro-operation and other micro-operations corresponding to the lock instruction may retire. However, if such indications are in fact found, the lock instruction may be restarted, and the prediction mechanism may be updated.