Abstract:
Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program into multiple parallel threads are described. In some embodiments, the systems and apparatuses execute a method of original code decomposition and/or generated thread execution.
Abstract:
An inter-architecture compatibility apparatus 522 comprises: a control flow transfer reception module 530 to receive a first call procedure operation, intended for a first architecture library module, from a first architecture code module 516, where the first call procedure operation involves a first plurality of input parameters; an application binary interface (ABI) change module 532, coupled with the control flow transfer reception module, to make ABI changes to convert the first call procedure operation, involving the first plurality of input parameters, to a corresponding second call procedure operation, involving a second plurality of input parameters, which is compatible with a second architecture library module; and a control flow transfer output module 536, coupled with the ABI change module, to provide the second call procedure operation to the second architecture library module 518. The modules 530, 532, 536 may be part of a first wrapper module that corresponds to the first architecture library module. The apparatus may allow 32-bit legacy code 516 to run on 64-bit architecture using native libraries 518.
Abstract:
Ein architekturübergreifendes Kompatibilitätsgerät eines Aspekts umfasst ein Kontrollflusstransferempfangsmodul, um eine erste Prozeduraufrufoperation, die für ein Bibliotheksmodul erster Architektur bestimmt ist, von einem Codemodul erster Architektur zu empfangen. Die erste Prozeduraufrufoperation bezieht eine erste Vielzahl an Eingabeparametern ein. Ein Binärschnittstellenänderungsmodul (ABI-Änderungsmodul) ist mit dem Kontrollflusstransferempfangsmodul gekoppelt. Das ABI-Änderungsmodul macht ABI-Änderungen, um die erste Prozeduraufrufoperation, die die erste Vielzahl an Eingabeparametern umfasst, in eine entsprechende zweite Prozeduraufrufoperation, die eine zweite Vielzahl an Eingabeparametern umfasst, zu konvertieren. Die zweite Prozeduraufrufoperation ist mit einem Bibliotheksmodul zweiter Architektur kompatibel. Ein Kontrollflusstransferausgabemodul ist mit dem ABI-Änderungsmodul gekoppelt. Das Kontrollflusstransferausgabemodul stellt die zweite Prozeduraufrufoperation für das Bibliotheksmodul zweiter Architektur bereit.
Abstract:
A method of operating a device with a processor that includes receiving control flow data, the control flow data including block identifiers for blocks of instructions, destination identifiers for one or more of the blocks of the instructions, and annotations for the blocks of instructions; the method further includes determining a destination identifier for a current instruction block based on the control flow data; identifying an annotation associated with the current instruction block based on the control flow data; and performing at least one of: modifying resources used by a processor; or tracking execution of the blocks of instructions based on one or more of the annotation or the destination identifier. Optimisation of a processing device may be performed according to the annotations by way of reducing the number of components used. Tracking of the execution of the blocks of instructions may be used to determine if a hard error in memory or a soft error in execution has occurred with reference to annotation indicating the number of instructions within in a current instruction block.
Abstract:
Ein Mechanismus für die Verfolgung des Kontrollflusses in einer Anwendung und die Durchführung von einer oder mehreren Optimierungen eines Verarbeitungsgeräts auf Basis des Kontrollflusses der Befehle in der Anwendung wird offenbart. Kontrollflussdaten werden erzeugt, um den Kontrollfluss der Befehlsblöcke in der Anwendung anzugeben. Die Kontrollflussdaten können Anmerkungen beinhalten, die angeben, ob Optimierungen für die verschiedenen Befehlsblöcke durchgeführt werden können. Die Kontrollflussdaten können auch verwendet werden, um die Ausführung der Befehle zu verfolgen, um zu bestimmen, ob ein Befehl in einem Befehlsblock einem Thread, einem Prozess und/oder einem Ausführungskern eines Prozessors zugewiesen ist, und um zu bestimmen, ob Fehler während der Ausführung der Befehle aufgetreten sind.
Abstract:
Systeme, Vorrichtungen und Verfahren für ein Hardware- und Softwaresystem zum automatischen Zerlegen eines Programms in mehrere parallele Threads werden beschrieben. In einigen Ausführungsformen führen die Systeme und Vorrichtungen ein Verfahren zum Zerlegen eines ursprünglichen Codes und/oder einer generierten Thread-Ausführung aus.
Abstract:
Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program into multiple parallel threads are described. In some embodiments, the systems and apparatuses execute a method of original code decomposition and/or generated thread execution.