1. A data processing device, comprising: program control unit for storing and then decoding instructions; program address generation unit for generating addresses used to obtain instructions; address register arithmetic unit for generating addresses for data; arithmetic logic unit for performing operations on data; shifter unit for shifting data in response to a predetermined instruction; multiplier unit for performing multiplication of two input values; and a plurality of registers of which at least a portion are individually selectively associated with one or more of said units as a function of an instruction.