Abstract:
PROBLEM TO BE SOLVED: To provide a method and a device for dispatching and executing multi-cycle instructions and complex instructions. SOLUTION: A complex multifunctional and multi-cycle instructions are loaded on a single instruction queue buffer, and the complex multifunctional and multi-cycle instructions in the instruction queue buffer are divided into groups of simple instructions, and the grouped instructions are duplicated on all dispatch ports, and write control signals of general registers to pipes including erroneous results are disabled. This technique places the flexibility of how these instructions will be executed in a fixed point unit (FXU), where the actual execution takes place, instead of in the instruction decoder or dispatch units or cracking by the compiler. COPYRIGHT: (C)2005,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To realize a shorter CPI for multiplication instructions with respect to a design of a binary multiplier to be used together with functions shown in a general processor environment in fields of arithmetic techniques and logic techniques in computer and processor architectures. SOLUTION: A concept may be split into two parts, the first of which is multiplication hardware itself and is a compact and less than-full sized multiplier which employs Booth or other type of recording methods upon the multiplier to reduce the number of partial products per scan and is implemented in such a manner that a multiplication operation with large operands may be broken into subgroups of operations that will fill into this mid-sized multiplier whose results, here called modular products, may be knitted back together to form a correct final product. The second part of the concept is supporting hardware used to separate the operands into subgroups and to input data and control signals to the multiplier and the algorithm and apparatus used to align and combine the modular products properly to obtain the final product. COPYRIGHT: (C)2005,JPO&NCIPI
Abstract:
Ressourcen in einer Datenverarbeitungsumgebung werden zum Beispiel durch eine Hardware-Steuereinheit verwaltet, welche das Zuteilen von Ressourcen aus einem oder mehreren Pools von beim Ausführen von Threads zu verwendenden Ressourcen steuert. Das Steuern beinhaltet das bedingte Zuteilen von Ressourcen aus dem/den Pool(s) an einen oder mehrere nachrangige Threads der Datenverarbeitungsumgebung beruhend auf der aktuellen Nutzung von Ressourcen in dem/den Pool(s) abhängig von einem zugehörigen Ressourcen Nutzungsschwellwert. Das Verwalten beinhaltet ferner das Überwachen des Zuteilens von Ressourcen aus dem/den Pool(s) an einen oder mehrere vorrangige Threads der Datenverarbeitungsumgebung und beruhend auf dem Überwachen das dynamische Einstellen des Ressourcen-Nutzungsschwellwerts, der beim bedingten Zuteilen von Ressourcen aus dem/den Pool(s) an den/die nachrangigen Thread(s) verwendet wird.
Abstract:
Ausführungsformen beziehen sich auf eine Gegenpfadausführung auf Grundlage eines Zuverlässigkeitsschwellenwertes für eine Verzweigungsvorhersage. Ein Aspekt beinhaltet ein Ermitteln einer Verzweigungsvorhersage für einen ersten Verzweigungsbefehl, der während einer Ausführung eines ersten Threads auftritt, wobei die Verzweigungsvorhersage einen Primärpfad und einen Gegenpfad für den ersten Verzweigungsbefehl angibt. Ein weiterer Aspekt beinhaltet ein Ausführen des Primärpfades durch den ersten Thread. Ein weiterer Aspekt beinhaltet ein Ermitteln einer Zuverlässigkeit der Verzweigungsvorhersage und ein Vergleichen der Zuverlässigkeit der Verzweigungsvorhersage mit einem Zuverlässigkeitsschwellenwert. Ein noch weiterer Aspekt beinhaltet auf Grundlage dessen, dass die Zuverlässigkeit der Verzweigungsvorhersage geringer als der Zuverlässigkeitsschwellenwert ist, ein Starten eines zweiten Threads, der den Gegenpfad des ersten Verzweigungsbefehls ausführt, wobei der zweite Thread parallel zu dem ersten Thread ausgeführt wird.
Abstract:
Checking a correctness of computations of an arithmetic logic unit circuit 10, the arithmetic logic unit circuit 10 providing a computation result as a first number 12. The method comprises providing the computation result increased by a constant 16 by the arithmetic logic unit circuit 10 as a second number 14 and comparing a sum of the first number 12 and the constant 16 to the second number 14 then reporting an error 20 if the comparing operation does not indicate an equal result. Alternatively the first number may be summed with the negated second number 14 and the constant 16 and an error reported if the summing operation does not result to minus 1. The computation result and the computation result being increased by a constant may be calculated in parallel. The method allows the reuse of computed results to check for correctness of computations.
Abstract:
Ein Verfahren zum Vorablesezugriff auf Daten auf einem Chip mit mindestens einem Scout-Kern und einem übergeordneten Kern beinhaltet ein Speichern der Startadresse eines Vorablesezugriffscodes durch den übergeordneten Kern. Die Startadresse des Vorablesezugriffscodes zeigt an, wo ein Vorablesezugriffscode gespeichert ist. Der Vorablesezugriffscode ist speziell zum Überwachen des übergeordneten Kerns auf der Grundlage einer durch den übergeordneten Kern ausgeführten vorgegebenen Anwendung konfiguriert. Das Verfahren beinhaltet ein Senden eines Rundsende-Interruptsignals durch den übergeordneten Kern zu dem mindestens einen Scout-Kern. Das Rundsende-Interruptsignal wird auf der Grundlage der gespeicherten Startadresse des Vorablesezugriffscodes gesendet. Das Verfahren beinhaltet ein Überwachen des übergeordneten Kerns durch den Vorablesezugriffscode, der durch mindestens einen Scout-Kern ausgeführt wird. Der Scout-Kern führt den Vorablesezugriffscode auf der Grundlage des Empfangens des Rundsende-Interruptsignals aus.
Abstract:
Computersystem, das dazu dient, Threads zwischen Berechnungskernen in einem Prozessor ersatzweise zu verlagern, wobei das System aufweist:den Prozessor, wobei der Prozessor eine Prozessor-Steuereinheit und eine Mehrzahl von Berechnungskernen aufweist, die mit der Prozessor-Steuereinheit Daten austauschen, wobei das System so konfiguriert ist, dass es ein Verfahren durchführt, welches aufweist:Feststellen durch einen ersten Berechnungskern der Mehrzahl der Berechnungskerne des Prozessors, dass eine Anzahl an Fehlerbehebungsversuche, die von einem ersten Thread auf dem ersten Berechnungskern durchgeführt wurden, einen Fehlerbehebungsversuch-Schwellwert überschritten haben;nach dem Feststellen einer Überschreitung des Fehlerbehebungsversuch-Schwellenwertes durch den ersten Berechnungskern an die Prozessor-Steuereinheit in dem Prozessor erfolgendes Senden einer Anforderung für die Übertragung des ersten Threads an einen anderen Berechnungskern des Prozessors;beruhend auf dem Empfang der Anforderung Auswählen durch die Prozessor-Steuereinheit eines zweiten Berechnungskerns aus der Mehrzahl der Berechnungskerne des Prozessors, um den ersten Thread von dem ersten Berechnungskern zu empfangen, wobei der zweite Berechnungskern auf der Grundlage ausgewählt wird, dass der zweite Berechnungskern über einen inaktiven Thread verfügt;Übertragen eines letzten gespeicherten fehlerfreien architekturdefinierten Zustands des ersten Threads von einer Fehlerbehebungslogik des ersten Berechnungskerns an den ausgewählten zweiten Berechnungskern;Laden des übertragenen letzten fehlerfreien architekturdefinierten Zustands des ersten Threads durch den inaktiven Thread auf dem zweiten Berechnungskern; undWiederaufnehmen der Ausführung des ersten Threads auf dem zweiten Berechnungskern von dem geladenen letzten fehlerfreien architekturdefinierten Zustand des ersten Threads durch den inaktiven Thread.
Abstract:
The system comprises the steps of determining by a processing circuit a miss count and a hit position field of a data element corresponding to an instruction requesting storage said element in the cache, the miss count and hit position field being generated by a previous execution of the instruction; and placing the data element in a hierarchical replacement order based on the miss count and/or the hit position field, where the hit position field comprises a hierarchical position related to the data element. If the miss count is not set, the element may be placed according to an inverted relationship of the hierarchical position in the hit position field, wherein following a cache hit the element is prevented from moving higher in the replacement order than the inverted relationship to the hierarchical position. If miss count and hit position field conflict, then the miss count may be used to determine the hierarchical replacement order.
Abstract:
Computersystem für eine Gegenpfadausführung auf Grundlage eines Zuverlässigkeitsschwellenwertes für eine Verzweigungsvorhersage, wobei das System aufweist:- einen Prozessor, wobei der Prozessor einen Prozessor für simultanes Multithreading (SMT) aufweist und er ein Verfahren durchführt, das aufweist:- Ermitteln einer Verzweigungsvorhersage für einen ersten Verzweigungsbefehl, der während einer Ausführung eines ersten Threads auftritt, wobei die Verzweigungsvorhersage einen Primärpfad und einen Gegenpfad für den ersten Verzweigungsbefehl angibt;- Ausführen des Primärpfades durch den ersten Thread;- Ermitteln einer Zuverlässigkeit der Verzweigungsvorhersage;- Vergleichen der Zuverlässigkeit der Verzweigungsvorhersage mit einem Zuverlässigkeitsschwellenwert; und- auf Grundlage dessen, dass die Zuverlässigkeit der Verzweigungsvorhersage geringer als der Zuverlässigkeitsschwellenwert ist, Starten eines zweiten Threads, der den Gegenpfad des ersten Verzweigungsbefehls ausführt, wobei der zweite Thread parallel zu dem ersten Thread ausgeführt wird,- wobei wenn die Gesamtzahl der Threads, die aktuell durch den Prozessor bearbeitet werden, der Höchstzahl der Threads des Prozessors gleich ist, das Verfahren aufweist:o Ermitteln einer Zuverlässigkeit einer Verzweigungsvorhersage, die einem dritten Thread zugehörig ist, der aktuell in dem Prozessor ausgeführt wird, wobei der dritte Thread einem Gegenpfad eines zweiten Verzweigungsbefehls entspricht;o Vergleichen der Zuverlässigkeit, die dem zweiten Verzweigungsbefehl zugehörig ist, mit der Zuverlässigkeit, die dem ersten Verzweigungsbefehl zugehörig ist; undo auf Grundlage dessen, dass die Zuverlässigkeit, die dem zweiten Verzweigungsbefehl zugehörig ist, geringer als die Zuverlässigkeit ist, die dem ersten Verzweigungsbefehl zugehörig ist, Abbrechen des zweiten Threads und Starten des dritten Threads, der den Gegenpfad des zweiten Verzweigungsbefehls ausführt.
Abstract:
Ausführungsformen beziehen sich auf die ersatzweise Verlagerung von Threads zwischen Berechnungskernen in einem Prozessor. Ein Aspekt beinhaltet die Feststellung, dass eine Anzahl von Fehlerbehebungsversuchen, die von einem ersten Thread auf dem ersten Berechnungskern durchgeführt wurden, einen Fehlerbehebungsversuch-Schwellwert überschritten hat, und das Senden einer Anforderung für die Übertragung des ersten Threads. Ein anderer Aspekt beinhaltet das Auswählen eines zweiten Berechnungskerns aus einer Mehrzahl von Berechnungskernen, um den ersten Thread von dem ersten Berechnungskern zu empfangen, wobei der zweite Berechnungskern auf der Grundlage ausgewählt wird, dass der zweite Berechnungskern über einen inaktiven Thread verfügt. Ein anderer Aspekt beinhaltet die Übertragung eines letzten fehlerfreien architekturdefinierten Zustands des ersten Threads von dem ersten Berechnungskern an den zweiten Berechnungskern. Ein anderer Aspekt beinhaltet das Laden des letzten fehlerfreien architekturdefinierten Zustands des ersten Threads durch den inaktiven Thread auf dem zweiten Berechnungskern. Noch ein anderer Aspekt beinhaltet die Wiederaufnahme der Ausführung des ersten Threads auf dem zweiten Berechnungskern von dem letzten fehlerfreien architekturdefinierten Zustand des ersten Threads durch den inaktiven Thread.