A processor having an instruction set architecture, ISA, the processor comprising: an execution pipeline having a plurality of execution units that execute microinstructions; and an instruction translator that translates architectural instructions defined by the ISA into the microinstructions, the instruction translator comprising a fast translator and a microcode unit, wherein the microcode unit comprising: a memory that holds microcode instructions, when the fast translator encounters a micro-coded architectural instruction, the fast translator switches to a microcode mode and provides an address to the memory, the memory provides a plurality of microcode instructions per clock cycle in response to the address, wherein the micro-coded architectural instruction is one of the architectural instructions; a queue that holds microcode instructions provided by the memory; a branch decoder, coupled between the memory and the queue, that decodes the plurality of microcode instructions provided by the memory to detect one or more local branch instructions among the plurality of microcode instructions, causes microcode instructions of the plurality of microcode instructions up to but not including a first-in-program-order local branch instruction of the one or more local branch instructions to be written to the queue, and prevents the first-in-program-order local branch instruction and following microcode instructions of the plurality of microcode instructions from being written to the queue, wherein local branch instructions are resolved by the branch decoder rather than the execution pipeline; a plurality of microcode translators that translate a plurality of microcode instructions received from the queue per clock cycle into a plurality of microinstructions for provision to the execution pipeline. an execution pipeline having a plurality of execution units that execute microinstructions; and an instruction translator that translates architectural instructions defined by the ISA into the microinstructions, the instruction translator comprising a fast translator and a microcode unit, wherein the microcode unit comprising: a memory that holds microcode instructions, when the fast translator encounters a micro-coded architectural instruction, the fast translator switches to a microcode mode and provides an address to the memory, the memory provides a plurality of microcode instructions per clock cycle in response to the address, wherein the micro-coded architectural instruction is one of the architectural instructions; a queue that holds microcode instructions provided by the memory; a branch decoder, coupled between the memory and the queue, that decodes the plurality of microcode instructions provided by the memory to detect one or more local branch instructions among the plurality of microcode instructions, causes microcode instructions of the plurality of microcode instructions up to but not including a first-in-program-order local branch instruction of the one or more local branch instructions to be written to the queue, and prevents the first-in-program-order local branch instruction and following microcode instructions of the plurality of microcode instructions from being written to the queue, wherein local branch instructions are resolved by the branch decoder rather than the execution pipeline; a plurality of microcode translators that translate a plurality of microcode instructions received from the queue per clock cycle into a plurality of microinstructions for provision to the execution pipeline. a memory that holds microcode instructions, when the fast translator encounters a micro-coded architectural instruction, the fast translator switches to a microcode mode and provides an address to the memory, the memory provides a plurality of microcode instructions per clock cycle in response to the address, wherein the micro-coded architectural instruction is one of the architectural instructions; a queue that holds microcode instructions provided by the memory; a branch decoder, coupled between the memory and the queue, that decodes the plurality of microcode instructions provided by the memory to detect one or more local branch instructions among the plurality of microcode instructions, causes microcode instructions of the plurality of microcode instructions up to but not including a first-in-program-order local branch instruction of the one or more local branch instructions to be written to the queue, and prevents the first-in-program-order local branch instruction and following microcode instructions of the plurality of microcode instructions from being written to the queue, wherein local branch instructions are resolved by the branch decoder rather than the execution pipeline; a plurality of microcode translators that translate a plurality of microcode instructions received from the queue per clock cycle into a plurality of microinstructions for provision to the execution pipeline.