One embodiment disclosed relates to a method of providing CPU functional
testing. Operations are executed on multiple functional units of a same
type in the CPU. The outputs of the multiple functional units are
automatically compared. The results of the comparison are checked only
for redundant operations. Another embodiment disclosed relates to a
microprocessor with built-in functional testing capability. The
microprocessor includes multiple functional units of a same type and
registers that receive outputs from the multiple functional units. In
addition, comparator circuitry is built-in that also receives the outputs
from the multiple functional units and compares the outputs to provide
functional testing.