A method and apparatus for providing a stateless multiplatform instruction set architecture (ISA) for use in a computer system having a processor and memory storing a control program for implementing the invention. The system is used to statelessly execute instructions authored to correspond to a variety of different ISA's on a unitary platform. The ISA of the invention uses a very long instruction word (VLIW) architecture with 64-bit instructions, of which several high-order bits are reserved for an ISA identifier tag. When the processor receives an instruction for execution, it inspects the instruction to determine from the ISA identifier tag to which original, native ISA the instruction corresponds. If the corresponding ISA is the native VLIW ISA for the processor, then the instruction is routed to the instruction dispatch unit of the processor, and thence to at least one functional unit for execution. If the corresponding ISA is not the native VLIW ISA, then the instruction is routed to one of a plurality of dynamic decode units (DDU's), each DDU being controlled by a translation routine that translates the instructions from a non-native ISA to the native VLIW ISA. The translated instructions are then sent to the instruction dispatch unit, and on to the appropriate functional unit(s). Any instruction that includes unused bits, such as 64 bit instructions with free higher-order bits, can accommodate the ISA identifier tag by simply using the unused bits. Instructions that do not include unused bits, such as 32-bit instructions for non-VLIW architectures (e.g. the ISA's for SPARC, PowerPC or x86), are appended with additional bits to bring the total to 64 bits, several of which are reserved for the ISA tag. The number of bits reserved for the ISA tag determines the number of non-native ISA's that are recognized by the system; e.g., three bits allows for the native ISA plus seven non-native ISA's to be recognized by the system. Incoming instructions corresponding to a non-native ISA for which no dynamic decode unit is available can be executed by conventional software emulation. Entire programs written for non-native ISA's (using, e.g., 32-bit instructions) can be converted to the format for the native VLIW ISA by appending, at the instruction loading stage or in a separate process independent of execution, the additional bits necessary both to fill out the instruction word lengths and to include the ISA identifier tag bits.

Une méthode et un appareil pour fournir une architecture apatride d'ensemble d'instruction de multiplatform (ISA) pour l'usage dans un système informatique ayant un processeur et une mémoire stockant un programme de gestion pour mettre en application l'invention. Le système est employé pour exécuter statelessly des instructions écrites pour correspondre à une variété d'ISA différent sur une plateforme unitaire. L'ISA de l'invention emploie une architecture très longue du mot d'instruction (VLIW) avec les instructions 64-bit, desquelles plusieurs peu d'ordre élevé est réservé pour une étiquette de marque d'ISA. Quand le processeur reçoit une instruction pour l'exécution, elle inspecte l'instruction de déterminer à partir de l'étiquette de marque d'ISA à laquelle ISA original et indigène l'instruction correspond. Si l'ISA correspondant est le VLIW indigène ISA pour le processeur, alors l'instruction est conduite à l'unité d'expédition d'instruction du processeur, et de là au moins à une unité fonctionnelle pour l'exécution. Si l'ISA correspondant n'est pas le VLIW indigène ISA, alors l'instruction est conduite à une d'une pluralité de dynamique décodent des unités (DDU), chaque DDU commandé par une routine de traduction qui traduit les instructions d'un ISA d'origine étrangère au VLIW indigène ISA. Les instructions traduites sont alors envoyées à l'unité d'expédition d'instruction, et dessus à l'unit(s) fonctionnel approprié. N'importe quelle instruction qui inclut le peu inutilisé, tel que 64 instructions de bit avec le peu évolué libre, peut adapter à l'étiquette de marque d'ISA en employant simplement le peu inutilisé. Des instructions qui n'incluent pas le peu inutilisé, tel que des instructions de 32 bits pour les architectures de non-VLIW (par exemple l'ISA pour SPARC, PowerPC ou x86), sont apposées avec le peu additionnel pour apporter le total à 64 bits, dont plusieurs sont réservés pour l'étiquette d'ISA. Le nombre de peu réservé pour l'étiquette d'ISA détermine le nombre d'ISA d'origine étrangère qui sont identifiés par le système ; par exemple, trois bits tient compte de l'ISA indigène plus sept ISA d'origine étrangère pour être identifiés par le système. Les instructions entrantes correspondant à un ISA d'origine étrangère pour lequel aucun dynamique ne décode unité est disponible peuvent être exécutées par émulation conventionnelle de logiciel. Des programmes entiers écrits pour ISA d'origine étrangère (employant, par exemple, des instructions de 32 bits) peuvent être convertis en format pour le VLIW indigène ISA en apposant, à l'étape de chargement d'instruction ou dans un indépendant séparé de processus d'exécution, le peu additionnel nécessaire pour compléter les longueurs de mot d'instruction et pour inclure le peu d'étiquette de marque d'ISA.

 
Web www.patentalert.com

< (none)

< Multiple processor system with standby sparing

> Layered speculative request unit with instruction optimized and storage hierarchy optimized partitions

> (none)

~ 00054