The present invention utilizes a "virtual" condition code (VCC) which can control the instruction sequence in a microprocessor. The virtual condition code is stored in an internal, non-architected register that is not visible to the programmer, but is used by various microprocessor instructions to determine when a branch is to be taken. For example, the virtual condition code can be used as a condition for branching out of a series of repetitive instructions. The virtual condition code (VCC) can eliminate a portion of the processing overhead used when determining whether a sequential number, such as a count value in a register associated with a repetitive instruction, e.g. a LOOP, is zero. In accordance with one aspect of the present invention, a LOOP instruction will decrement a count value in a register (to maintain compatibility with the ISA). However, a corresponding branch instruction will use the virtual condition code, rather than checking the contents of the entire register, to determine whether or not to branch. In this manner, the present invention improves performance by minimizing the amount of hardware resources (i.e. compare logic) utilized while maintaining compatibility with the Intel architecture since the programmer visible condition code is not used. By leaving the programmer visible condition codes unchanged, the software is not forced to save and restore the register contents during each iteration.

La présente invention utilise un code condition "virtuel" (VCC) qui peut commander l'ordre d'instruction dans un microprocesseur. Le code condition virtuel est stocké dans un interne, non-architected le registre qui n'est pas évident au programmeur, mais est employé par de diverses instructions de microprocesseur de déterminer quand une branche doit être prise. Par exemple, le code condition virtuel peut être employé comme condition pour s'embrancher hors d'une série d'instructions réitérées. Le code condition virtuel (VCC) peut éliminer une partie des frais généraux de traitement utilisés en déterminant si un nombre séquentiel, tel qu'une valeur de compte dans un registre lié à une instruction réitérée, par exemple une BOUCLE, est zéro. Selon un mode de la présente invention, une instruction de BOUCLE décrémentera une valeur de compte dans un registre (pour maintenir la compatibilité avec l'ISA). Cependant, une instruction de branchement correspondante emploiera le code condition virtuel, plutôt que de vérifier le contenu du registre entier, pour déterminer si pour ne pas s'embrancher. De cette manière, la présente invention améliore l'exécution en réduisant au minimum la quantité de ressources de matériel (c.-à-d. comparez la logique) utilisées tout en maintenant la compatibilité avec l'architecture d'Intel puisque le code condition évident de programmeur n'est pas employé. En laissant le programmeur des codes condition évidents inchangés, le logiciel n'est pas forcé pour sauver et reconstituer le contenu de registre pendant chaque itération.

 
Web www.patentalert.com

< (none)

< Method, system and computer product to translate electronic schematic files between computer aided design platforms

> Method and system for instruction length decode

> (none)

~ 00098