Abstract:
A method, a system, an apparatus, and a computer program product for allocating resources of one or more shared devices to one or more partitions of a virtualization environment within a data processing system. At least one user defined resource assignment is received for one or more devices associated with the data processing system. One or more registers, associated with the one or more partitions are dynamically set to execute the at least one resource assignment, whereby the at least one resource assignment enables a user defined quantitative measure (number and/or percentage) of devices to operate when the one or more transactions are executed via the partition. The system enables the one or more devices to execute one or more transactions at a bandwidth/capacity that is less than or equal to the user defined resource assignment and minimizes performance interference among partitions.
Abstract:
PROBLEM TO BE SOLVED: To provide a processor with a branch target address cache and a data processing method. SOLUTION: An instruction sequencing logic 13 for fetching instructions from a memory system 12 comprises a branch logic 36 for outputting predicted branch target addresses for use as instruction fetch addresses. The branch logic 36 comprises a level one branch target address cache (BTAC) and a level two BTAC, and each BTAC entry associates at least a tag with a predicted branch target address. The branch logic evaluates the level one and level two BTACs in parallel with a tag portion of a first instruction fetch address to obtain a first predicted branch target address from the level one BTAC for use as a second instruction fetch address in a first clock cycle and a second predicted branch target address from the level two BTAC for use as a third instruction fetch address in a second clock cycle. COPYRIGHT: (C)2009,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a method and device for performing prediction execution in an out-of-order processor. SOLUTION: A technique for handling predicated code in the out-of-order processor includes detecting a predicate defining instruction associated with a predicated code region. Renaming of predicated instructions, within the predicated code region, is then stalled until a predicate of the predicate defining instruction is resolved. COPYRIGHT: (C)2009,JPO&INPIT
Abstract:
A mechanism is provided for assigning memory to on-chip cache coherence domains. The mechanism assigns caches within a processing unit to coherence domains. The mechanism then assigns chunks of memory to the coherence domains. The mechanism monitors applications running on cores within the processing unit to identify needs of the applications. The mechanism may then reassign memory chunks to the cache coherence domains based on the needs of the applications running in the coherence domains. When a memory controller receives the cache miss, the memory controller may look up the address in a lookup table that maps memory chunks to cache coherence domains. Snoop requests are sent to caches within the coherence domain. If a cache line is found in a cache within the coherence domain, the cache line is returned to the originating cache by the cache containing the cache line either directly or through the memory controller. If a cache line is not found within the coherence domain, the memory controller accesses the memory to retrieve the cache line.
Abstract:
A mechanism is provided in a virtual machine monitor for providing cache partitioning in virtualized environments. The mechanism assigns a virtual identification (ID) to each virtual machine in the virtualized environment. The processing core stores the virtual ID of the virtual machine in a special register. The mechanism also creates an entry for the virtual machine in a partition table. The mechanism may partition a shared cache using a vertical (way) partition and/or a horizontal partition. The entry in the partition table includes a vertical partition control and a horizontal partition control. For each cache access, the virtual machine passes the virtual ID along with the address to the shared cache. If the cache access results in a miss, the shared cache uses the partition table to select a victim cache line for replacement.
Abstract:
Es wird ein Mechanismus zum Zuweisen von Arbeitsspeicher zu chipintegrierten Cache-Kohärenz-Domänen bereitgestellt. Der Mechanismus weist Cachespeicher innerhalb einer Verarbeitungseinheit Kohärenz-Domänen zu. Der Mechanismus weist dann den Kohärenz-Domänen Blöcke von Arbeitsspeicher zu. Der Mechanismus überwacht auf Kernen innerhalb der Verarbeitungseinheit laufende Anwendungen und erkennt Anforderungen der Anwendungen. Der Mechanismus kann dann beruhend auf den Anforderungen der in den Kohärenz-Domänen laufenden Anwendungen den Cache-Kohärenz-Domänen Blöcke von Arbeitsspeicher neu zuordnen. Wenn ein Speichercontroller den Cachefehltreffer empfängt, kann der Speichercontroller die Adresse in einer Referenztabelle suchen, in der Cache-Kohärenz-Domänen Blöcke von Arbeitsspeicher zugeordnet sind. An Cachespeicher innerhalb der Kohärenz-Domäne werden Anforderungen zum Durchstöbern gesendet. Wenn in einem Cachespeicher innerhalb der Kohärenz-Domäne eine Cachezeile gefunden wird, wird die Cachezeile durch den die Cachezeile enthaltenden Cachespeicher entweder direkt oder über den Speichercontroller an den Ursprungscache zurückgesendet. Wenn in einem Cachespeicher innerhalb der Kohärenz-Domäne eine Cachezeile nicht gefunden wird, greift der Speichercontroller auf den Arbeitsspeicher zu, um die Cachezeile abzurufen.
Abstract:
In den bevorzugten Ausführungsformen werden ein Verfahren, ein System und ein auf einem Computer verwendbares Programmprodukt für die schnelle Datenfernübertragung und Fernberechnung zwischen Prozessoren bereitgestellt. Eine Kern-zu-Kern-Direktübertragungseinheit (DCC) ist so konfiguriert, dass sie mit dem ersten Prozessor arbeitet, wobei es sich bei dem ersten Prozessor um einen fernen Prozessor handelt. Ein der DCC zugehöriger Arbeitsspeicher empfängt eine Reihe von Bytes, wobei die Reihe von Bytes von einem zweiten Prozessor gesendet wird. Eine in der Reihe von Bytes festgelegte Operation wird in dem fernen Prozessor ausgeführt, so dass die Operation aufgerufen wird, ohne das Ausführen eines Software-Thread zu veranlassen.
Abstract:
A method, system, and computer usable program product for fast remote communication and computation between processors are provided in the preferred embodiments. A direct core to core communication unit (DCC) is configured to operate with a first processor, the first processor being a remote processor. A memory associated with the DCC receives a set of bytes, the set of bytes being sent from a second processor. An operation specified in the set of bytes is executed at the remote processor such that the operation is invoked without causing a software thread to execute.
Abstract:
In den bevorzugten Ausführungsformen werden ein Verfahren, ein System und ein auf einem Computer verwendbares Programmprodukt für die schnelle Datenfernübertragung und Fernberechnung zwischen Prozessoren bereitgestellt. Eine Kern-zu-Kern-Direktübertragungseinheit (DCC) ist so konfiguriert, dass sie mit dem ersten Prozessor arbeitet, wobei es sich bei dem ersten Prozessor um einen fernen Prozessor handelt. Ein der DCC zugehöriger Arbeitsspeicher empfängt eine Reihe von Bytes, wobei die Reihe von Bytes von einem zweiten Prozessor gesendet wird. Eine in der Reihe von Bytes festgelegte Operation wird in dem fernen Prozessor ausgeführt, so dass die Operation aufgerufen wird, ohne das Ausführen eines Software-Thread zu veranlassen.