The high-performance, RISC core based microprocessor architecture includes an
instruction fetch unit for fetching instruction sets from an instruction store
and an execution unit that implements the concurrent execution of a plurality of
instructions through a parallel array of functional units. The fetch unit generally
maintains a predetermined number of instructions in an instruction buffer. The
execution unit includes an instruction selection unit, coupled to the instruction
buffer, for selecting instructions for execution, and a plurality of functional
units for performing instruction specified functional operations. A unified instruction
scheduler, within the instruction selection unit, initiates the processing of instructions
through the functional units when instructions are determined to be available for
execution and for which at least one of the functional units implementing a necessary
computational function is available. Unified scheduling is performed across multiple
execution data paths, where each execution data path, and corresponding functional
units, is generally optimized for the type of computational function that is to
be performed on the data: integer, floating point, and boolean. The number, type
and computational specifics of the functional units provided in each data path,
and as between data paths, are mutually independent.