UTILIZING A BIDDING MODEL IN A MICROPARALLEL PROCESSOR ARCHITECTURE TO ALLOCATE ADDITIONAL REGISTERS AND EXECUTION UNITS FOR SHORT TO INTERMEDIATE STRETCHES OF CODE IDENTIFIED AS OPPORTUNITIES FOR MICROPARALLELIZATION
An enhanced mechanism for parallel execution of computer programs utilizes a bidding model to allocate additional registers and execution units for stretches of code identified as opportunities for microparallelization. A microparallel processor architecture apparatus permits software (e.g. compiler...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | An enhanced mechanism for parallel execution of computer programs utilizes a bidding model to allocate additional registers and execution units for stretches of code identified as opportunities for microparallelization. A microparallel processor architecture apparatus permits software (e.g. compiler) to implement short-term parallel execution of stretches of code identified as such before execution. In one embodiment, an additional paired unit, if available, is allocated for execution of an identified stretch of code. Each additional paired unit includes an execution unit and a half set of registers. This apparatus is available for compilers or assembler language coders to use and allows software to unlock parallel execution capabilities that are present in existing computer programs but heretofore were executed sequentially for lack of a suitable apparatus. The enhanced mechanism enables a variable amount of parallelism to be implemented and yet provides correct program execution even if less parallelism is available than ideal for a given computer program.
L'invention concerne un mécanisme amélioré pour exécution parallèle de programmes d'ordinateur en utilisant un modèle d'enchères pour affectation de registres et d'unités d'exécution supplémentaires, pour des segments de code courts ou intermédiaires identifiés comme opportunités de micro-parallélisation. Un appareil à architecture micro-parallèle permet à un logiciel (par exemple un compilateur) de réaliser une exécution parallèle à court terme de segments de code identifiés comme tels avant l'exécution. Dans une certaine forme de réalisation, une unité appariée supplémentaire, si disponible, est attribuée pour l'exécution d'un segment de code identifié. Chaque unité appariée supplémentaire comprend une unité d'exécution et un demi-ensemble de registres. Cet appareil est mis à la disposition de compilateurs et de codeurs en langage d'assemblage et permet au logiciel de valider des capacités d'exécution parallèle présentes dans des programmes d'ordinateur existants, mais qui étaient jusqu'ici exécutés séquentiellement en l'absence d'appareil approprié. Le mécanisme amélioré permet de réaliser un degré variable de parallélisme tout en assurant une exécution correcte du programme, même s'il existe moins de parallélisme que ce qui serait idéal dans un programme d'ordinateur considéré. |
---|