System and method for garbage collection in heterogeneous multiprocessor system
    2.
    发明专利
    System and method for garbage collection in heterogeneous multiprocessor system 有权
    异构多媒体系统中收集的系统和方法

    公开(公告)号:JP2007299403A

    公开(公告)日:2007-11-15

    申请号:JP2007118325

    申请日:2007-04-27

    CPC classification number: G06F12/0269 Y10S707/99953 Y10S707/99957

    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 translation: 要解决的问题:提供异构多处理器系统中垃圾收集的系统和方法。 解决方案:垃圾收集操作分布在异构多处理器系统中的多个处理器上。 全局标记队列的部分被分配给异构多处理器系统的处理器以及共享存储器的对应块。 处理器在其分配的全局标记队列的部分上执行垃圾收集,并将相应的共享内存块标记为可访问的内存对象引用,或者向非本地标记堆栈添加内存对象引用。 标记的内存对象与全局标记堆栈合并,非本地标记堆栈中的内存对象引用与全局标记队列的“跟踪对象”部分合并,以使用垃圾回收进行重新检查。 版权所有(C)2008,JPO&INPIT

    Durchführen von aggressiven Codeoptimierungen mit einer Fähigkeit zum Annulieren derdurch die aggressiven Optimierungen vorgenommenen Änderungen

    公开(公告)号:DE112011100258T5

    公开(公告)日:2013-04-25

    申请号:DE112011100258

    申请日:2011-02-25

    Applicant: IBM

    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.

    Präfix-Computeranweisung zur Erweiterung der Anweisungsfunktionalität

    公开(公告)号:DE102012216592A1

    公开(公告)日:2013-04-04

    申请号:DE102012216592

    申请日:2012-09-18

    Applicant: IBM

    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.

    Auswählbare Adressumsetzungsmechanismen

    公开(公告)号:DE112013004397T5

    公开(公告)日:2015-05-21

    申请号:DE112013004397

    申请日:2013-10-08

    Applicant: IBM

    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).

    Computeranweisungen zum Aktivieren und Deaktivieren von Operanden

    公开(公告)号:DE102012217970A1

    公开(公告)日:2013-04-04

    申请号:DE102012217970

    申请日:2012-10-01

    Applicant: IBM

    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.

    METHODS FOR RENAMING STACK REFERENCES IN A COMPUTER PROCESSING SYSTEM

    公开(公告)号:CA2328559A1

    公开(公告)日:2001-07-27

    申请号:CA2328559

    申请日:2000-12-15

    Applicant: IBM

    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.

    Vorausschauendes Abrufen und Decodieren bei ausgewählten Rückkehranweisungen

    公开(公告)号:DE102014108738A1

    公开(公告)日:2014-12-31

    申请号:DE102014108738

    申请日:2014-06-23

    Applicant: IBM

    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.

    Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations

    公开(公告)号:GB2491768B

    公开(公告)日:2014-08-20

    申请号:GB201217266

    申请日:2011-02-25

    Applicant: IBM

    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.

    Durchführen von vordecodierzeitoptimierten Anweisungen zusammen mit Sequence Caching von vordecodierzeitoptimierten Anweisungen

    公开(公告)号:DE102013205059A1

    公开(公告)日:2013-10-02

    申请号:DE102013205059

    申请日:2013-03-21

    Applicant: IBM

    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.

Patent Agency Ranking