Abstract:
PROBLEM TO BE SOLVED: To provide a mechanism for scheduling user-level threads so that the user-level threads can be executed on a processor that is not directly managed by an OS. SOLUTION: User-level threads on a first instruction sequencer are managed 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 a code that specifically addresses one or more instruction sequencers when the code is executed. COPYRIGHT: (C)2011,JPO&INPIT
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:
Vorrichtung, die aufweist: Eine erste Prozessorbaugruppe (0), die ein erstes Cluster von Prozessoren und einen ersten Uncore (42) mit einer ersten Prozessorauswahllogik (46) mit einem ersten Filter (48) umfasst; eine zweite Prozessorbaugruppe (1), die ein zweites Cluster von Prozessoren und einen zweiten Uncore (52) mit einer zweiten Prozessorauswahllogik (56) mit einem zweiten Filter (58) umfasst; einen Eingabe/Ausgabe-Hub (12), der mit der ersten (0) und zweiten Prozessorbaugruppe (1) gekoppelt ist und eine Prozessorauswahllogik (20) umfasst, um Identifikationszahlen für ein logisches Ziel zu empfangen, die mit Interrupts verknüpft sind, welche jeweils eine Prozessorcluster-Identifikationszahl aufweisen, um einen Cluster aus Prozessoren zu identifizieren, an den die Interrupts gerichtet sind, und wobei die Identifikationszahlen für ein logisches Ziel jeweils dazu geeignet sind, zu identifizieren, welche Prozessoren innerhalb des identifizierten Clusters aus Prozessoren zur Verfügung stehen, um den entsprechenden der Interrupts zu empfangen, und wobei die Prozessorauswahllogik (20) dazu eingerichtet ist, einen der ersten und zweiten Cluster auszuwählen, um den Interrupt zu empfangen, und der Filter (48) des ausgewählten Clusters eingerichtet ist, einen oder mehrere Prozessoren basierend auf dem Leistungszustand und/oder der Priorität aus der Betrachtung herauszufiltern, umfassend eine Identifikation eines oder mehrerer Prozessoren in einem niedrigsten Energiesparzustand und ein Finden des Prozessors mit der geringsten Priorität unter dem einen oder den mehreren Prozessoren in einem niedrigsten Energiesparzustand, wobei die Prozessorauswahllogik (20) dazu eingerichtet ist, auf eine Bitmap des ersten Clusters aus Prozessoren in Energiesparzuständen zuzugreifen und die Bitmap mit einer eingehenden Zielbitmap logisch zu UND-Verknüpfen, um einen Prozessor mit einem Identifizierer als ein Ziel, um den Interrupt zu empfangen, auszuwählen, und die Prozessorauswahllogik (46) des ausgewählten Clusters eingerichtet ist, den ausgewählten der zur Verfügung stehenden Prozessoren durch eine relative Position eines entsprechenden Bits in den Identifikationszahlen für ein logisches Ziel zu identifizieren, und wobei andere der zur Verfügung stehenden Prozessoren im identifizierten Cluster, die nicht ausgewählt sind, den Interrupt zu empfangen, den Interrupt nicht empfangen.
Abstract:
In some embodiments, an apparatus includes processor selection logic to receive logical destination identification numbers that are associated with interrupts each having a processor cluster identification number to identify a cluster of processors to which the interrupts are directed. The logical destination identification numbers are each to identify which processors within the identified cluster of processors are available to receive the corresponding one of interrupts. The processor selection logic is to select one of the available processors to receive the interrupt, and the selected one of the available processors is identified through a relative position of a corresponding bit in the logical destination identification numbers. Other embodiments are described.