Abstract:
PROBLEM TO BE SOLVED: To reduce power consumption of a processor without tolerating the loss in performance and reduce leak power of the processor. SOLUTION: An integrated circuit device (IC) comprises a unit power adjusting mechanism, a leak reduction circuit which reduces LdI/de noise in the integrated circuit device to adjustably reduce leak power, and an activity prediction unit 130 which calls active/dormant states in the IC. The activity prediction unit 130 determines turn-on and turn-off times for IC unit. The activity prediction unit 130 controls a supply voltage selection circuit, selectively pass the supply voltage to a supply line at predicted turn-on time, and selectively inhibits the supply voltage at predicted turn-off time. COPYRIGHT: (C)2005,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To provide a system and method for garbage collection in heterogeneous multiprocessor systems. SOLUTION: Garbage collection operations are distributed across a plurality of the processors in the heterogeneous multiprocessor system. Portions of a global mark queue are assigned to processors of the heterogeneous multiprocessor system along with corresponding chunks of a shared memory. The processors perform garbage collection on their assigned portions of the global mark queue and corresponding chunk of shared memory marking memory object references as reachable or adding memory object references to a non-local mark stack. The marked memory objects are merged with a global mark stack and memory object references in the non-local mark stack are merged with a "trace object" portion of the global mark queue for re-checking using a garbage collection. COPYRIGHT: (C)2008,JPO&INPIT
Abstract:
Es werden Mechanismen zum aggressiven Optimieren eines Computercodes (415) bereitgestellt. Mittels dieser Mechanismen wird ein ausführbarer Code (415) empfangen, der einen Teil eines Codes aufweist, für den eine aggressiv kompilierte Codeversion (420) und eine konservativ kompilierte Codeversion (430) des Teils des Codes bereitgestellt werden. Die aggressiv kompilierte Codeversion (420) des Teils des Codes wird in einem Prozessor (206) des Datenverarbeitungssystems (450) ausgeführt (610). Es wird eine Ermittlung (620) durchgeführt, ob während der Ausführung der aggressiv kompilierten Codeversion (420) eine Ausnahmebedingung auftritt. Änderungen an einem Zustand des Teils des Codes werden als Reaktion auf eine Ermittlung (620), dass eine Ausnahmebedingung auftritt, annulliert (630). Die konservativ kompilierte Codeversion (430) wird in dem Prozessor (206) des Datenverarbeitungssystems (450) als Reaktion auf das Annullieren (630) der Änderungen an dem Zustand des Teils des Codes ausgeführt.
Abstract:
Eine Präfixanweisung wird ausgeführt und leitet Operanden an eine nächste Anweisung weiter, ohne die Operanden in einer architekturdefinierten Ressource zu speichern, so dass die Ausführung der nächsten Anweisung die von der Präfixanweisung bereitgestellten Operanden verwendet, um eine Operation durchzuführen, wobei die Operanden ein Direktfeld der Präfixanweisung oder ein Zielregister der Ausführung der Präfixanweisung sein können.
Abstract:
Bereitgestellt wird eine Adressumsetzungsfähigkeit, bei der verschieden geartete Umsetzungsstrukturen verwendet werden, um Arbeitsspeicheradressen aus einem Format in ein anderes Format umzusetzen (1002, 1004). Dabei werden gleichzeitig mehrere Umsetzungsstrukturformate (z. B. mehrere Seitentabellenformate wie beispielsweise Hash-Seitentabellen und hierarchische Seitentabellen) in einer Systemkonfiguration unterstützt (1002, 1004), und die Verwendung eines bestimmten Umsetzungsstrukturformats beim Umsetzen einer Adresse ist auswählbar (708).
Abstract:
Eine Befehlssatzarchitektur (Instruction Set Architecture, ISA) enthält Anweisungen zur selektiven Angabe von letztmals verwendeten definierten Operanden mit Werten, auf die nicht wieder zugegriffen wird, wobei die definierten Operanden nach einer Anweisung, die von einer Anweisung als letztmals verwendet angegeben wird, aktiviert oder deaktiviert werden, wobei die definierten Operanden aktiviert werden, indem eine Schreiboperation in einen inaktiven Operanden durchgeführt wird, wobei die Aktivierung/Deaktivierung mit einer Anweisung ausgeführt werden kann, die die letzte Verwendung des Operanden oder eine andere (Präfix-)Anweisung aufweist.
Abstract:
According to one aspect of the invention, there is provided a method for renaming memory references to stack locations in a computer processing system. The method includes the steps of detecting stack references that use architecturally defined stack access methods, and replacing the stack references with references to processor-internal registers. The architecturally defined stack access methods include memory accesses that use one of a stack pointer, a frame pointer, and an argument pointer. Moreover, the architecturally defined stac k access methods include push, pop, and other stack manipulation operations.
Abstract:
Vorausschauendes Abrufen und Decodieren bei ausgewählten Rückkehranweisungen. Es wird eine Ermittlung dahingehend vorgenommen, ob eine Anweisung, die in einem Prozessor auszuführen ist, der in einem Pipelinesystem arbeitet, eine ausgewählte Rückkehranweisung ist, wobei der in einem Pipelinesystem arbeitende Prozessor eine Vielzahl von Phasen einschließlich einer Ausführungsphase aufweist. Auf der Grundlage dessen, dass es sich um die ausgewählte Rückkehranweisung handelt, Empfangen einer vorhergesagten Rückkehradresse aus einer Datenstruktur, wobei die vorhergesagte Rückkehradresse eine Adresse einer Anweisung ist, von der vorhergesagt wird, dass die Verarbeitung zu dieser zurückkehren soll. Außerdem wird auf der Grundlage dessen, dass es sich um die ausgewählte Rückkehranweisung handelt, ein Betriebszustand für die Anweisung an der vorhergesagten Rückkehradresse vorhergesagt. Die Anweisung wird an der vorhergesagten Rückkehradresse abgerufen, bevor die ausgewählte Rückkehranweisung die Ausführungsphase erreicht, und das Decodieren der abgerufenen Anweisung wird auf der Grundlage des vorhergesagten Betriebszustands ausgelöst.
Abstract:
Mechanisms for aggressively optimizing computer code are provided. With these mechanisms, a compiler determines an optimization to apply to a portion of source code and determines if the optimization as applied to the portion of source code will result in unsafe optimized code that introduces a new source of exceptions being generated by the optimized code. In response to a determination that the optimization is an unsafe optimization, the compiler generates an aggressively compiled code version, in which the unsafe optimization is applied, and a conservatively compiled code version in which the unsafe optimization is not applied. The compiler stores both versions and provides them for execution. Mechanisms are provided for switching between these versions during execution in the event of a failure of the aggressively compiled code version. Moreover, predictive mechanisms are provided for predicting whether such a failure is likely.
Abstract:
Verfahren zum Durchführen von vordecodierzeitoptimierten Anweisungen zusammen mit Sequence Caching von vordecodierzeitoptimierten Anweisungen. Das Verfahren weist das Empfangen einer ersten Anweisung einer Anweisungssequenz und einer zweiten Anweisung der Anweisungssequenz sowie das Ermitteln, ob die erste Anweisung und die zweite Anweisung optimiert werden können, auf. Als Reaktion auf das Ermitteln, dass die erste Anweisung und die zweite Anweisung optimiert werden können, weist das Verfahren das Durchführen einer Vordecodieroptimierung an der Anweisungssequenz und das Erzeugen einer neuen zweiten Anweisung, wobei die neue zweite Anweisung nicht von einem Zieloperanden der ersten Anweisung abhängig ist, sowie das Speichern einer vordecodierten ersten Anweisung und einer vordecodierten neuen zweiten Anweisung in einem Anweisungs-Cachespeicher auf. Als Reaktion auf das Ermitteln, dass die erste Anweisung und die zweite Anweisung nicht optimiert werden können, weist das Verfahren das Speichern der vordecodierten ersten Anweisung und einer vordecodierten zweiten Anweisung in dem Anweisungs-Cachespeicher auf.