A microcode instruction unit for a processor may include a microcode memory having
entries for storing microcode instructions. A decoder for the microcode memory
may decode microcode addresses to select entries of the microcode memory. A microcode
entry point generator may receive complex instructions and provide a microcode
entry point address to the decoder for each complex instruction. Each microcode
entry point address may have a bit-width greater than needed to encode all the
entries of the microcode memory. The microcode memory decoder may decode each microcode
entry point address to select an entry in the microcode memory storing the beginning
of a microcode routine to implement the corresponding complex instruction. The
decoder may sparsely decode the microcode address range so that not all entries
of said microcode memory are sequentially addressed.