An improved method and apparatus for controlling and implementing
instructions in a pipelined central processing unit (CPU) or
user-customizable microprocessor. In a first aspect of the invention, an
improved method of permitting programmer control of jump instruction
interlocks is disclosed. In one embodiment, a minimum of one cycle is
required between an instruction that sets flags and a branch taken as a
result of those flags; an interlock is used to detect a branch preceded by
an instruction setting the flags to ensure that the instruction
immediately preceding the branch can not affect the branch outcome. In a
second embodiment, a jump instruction following a flag setting instruction
whose flags may affect the outcome of the jump is stalled until all flags
are set. In a second aspect of the invention, a method of synthesizing a
processor design incorporating the aforementioned interlocks is disclosed.
Exemplary gate logic synthesized using the aforementioned methods, and a
computer system capable of implementing these methods, are also described.
Une méthode et un appareil améliorés pour commander et mettre en application des instructions dans une unité centrale de traitement canalisée (unité centrale de traitement) ou le microprocesseur d'utilisateur-customizable. Dans un premier aspect de l'invention, une méthode améliorée de permettre la commande de programmeur des couplages d'instruction de saut est révélée. Dans une incorporation, un cycle au minimum est exigé entre une instruction qui place des drapeaux et une branche prise en raison de ces drapeaux ; un couplage est employé pour détecter une branche précédée par une instruction plaçant les drapeaux pour s'assurer que l'instruction juste avant la branche ne peut pas affecter les résultats de branche. Dans une deuxième incorporation, une instruction de saut suivant un drapeau plaçant l'instruction dont les drapeaux peuvent affecter les résultats du saut est calée jusqu'à ce que tous les drapeaux soient placés. Dans un deuxième aspect de l'invention, une méthode de synthétiser une conception de processeur incorporant les couplages mentionnés ci-dessus est révélée. La logique exemplaire de porte synthétisée en utilisant les méthodes mentionnées ci-dessus, et un système informatique capable d'appliquer ces méthodes, sont également décrits.