A reconfigurable processor includes a processor core for operating on a
set of instructions to carry out predefined processes and includes a
plurality of input/output pins in addition to a plurality of functional
input/output blocks. These functional blocks allow the processing core to
interface with the plurality of input/output pins, each of the functional
input/output blocks having an associated and predetermined functionality.
This functionality comprises the output as a function of the input, the
function defined by the functionality. Each of the functional
input/output blocks has a requirement for a defined number of the
plurality of input/output pins wherein the total of the defined number
for all of the plurality of functional input/output blocks exceeds the
number of the plurality of input/output pins and wherein the processor
core is interfaced with one of the input or output of each of the
functional blocks. A reconfigurable interface selectively interfaces
between the other of the input or output of the functional blocks and a
select one or ones of the plurality of input/output pins, such that the
processor core can be interfaced with the select one or ones of the
input/output pins. The reconfigurable interface is operable to define how
each of the plurality of input/output pins interfaces with the select
ones of the plurality of functional blocks and the associated
functionality in accordance with configuration information. A
non-volatile memory is provided for storing information for use in
association with the configuration information, such that the stored
information can be altered.