1. A data processing device that is capable of executing a program comprising an instruction, the device comprising a configurable functional unit for executing the instruction according to a configurable function that is configured outside the instruction, the configurable functional unit having a unit input and a unit output for inputting and outputting bits of an operand and a result to a source and destination register specified by the instruction respectively, the configurable functional unit comprising a plurality of independent configurable logic blocks for performing programmable logic operations to implement the configurable function; a first programmable connection circuit between the unit input and the logic blocks, for selectively coupling inputs of the logic blocks to bits from the unit input, dependent on the configured function; a second programmable connection circuit between the logic blocks and the unit output, for selectively coupling bits of the unit output to outputs of the logic blocks, dependent on the configured function.