Abstract:
PROBLEM TO BE SOLVED: To provide a method for generating a persistent user-level thread. SOLUTION: Embodiments of the invention provide a method of creating, based on an operating-system (OS)-scheduled thread running on an OS-visible sequencer and using an instruction set extension, a persistent user-level thread to run on an OS-sequestered sequencer independently of context switch activities on the OS-scheduled thread. The OS-scheduled thread and the persistent user-level thread may share a common virtual address space. Embodiments of the invention may also provide a method of causing a service thread running on an additional OS-visible sequencer to provide OS services to the persistent user-level thread. Embodiments of the invention may further provide apparatus, system, and machine-readable medium thereof. COPYRIGHT: (C)2007,JPO&INPIT
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:
Ein Verfahren zur Verwaltung von Sequenzeradressen und zur Ausführung durch einen Mapping-Manager (302, 402, 502, 1020, 1670) in einem Multisequenzer-Multithreadingsystem (110, 115, 150, 170), umfassend: Durch eine Übersetzungslogik (486) Empfangen einer logischen Sequenzeradresse, die in einem Anwenderbefehl für einen logischen Sequenzer eines Prozessors angegeben ist, wobei der logische Sequenzer wenigstens einen durch ein Betriebssystem verwalteten ersten logischen Sequenzer (1620) und eine Vielzahl zweite logische Sequenzer (1640) umfasst, die durch Anwendercode des ersten Sequenzers verwaltet werden; Prüfen einer Mappingstruktur (580, 1010) auf bereits gespeicherte Zuordnung der logischen Sequenzeradresse zu wenigstens einer aus einer Vielzahl von physikalischen Sequenzeradressen einer Vielzahl physikalischer Sequenzer mit Ausführungsressourcen (1680) des Systems, wobei die Mappingstruktur (580, 1010) eine oder mehrere Seitentabellen umfasst, die jeweils einem Thread entsprechen, wobei Einträge der Seitentabellen in einer Übersetzungsbeschleunigungsstruktur gespeichert werden, die dem physikalischen Sequenzer dieses Threads zugeordnet ist ...
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.