Patent ID: 7805620

Claim:
A processor comprising: a function unit block (FUB) for performing an operation according to instructions input from outside, the FUB comprising a plurality of functional units (FUs), each FU is configured to be individually activated or inactivated in response to when receiving: a corresponding individual FU enable (FUxEN) signal in which x corresponds to an integer between 1 to M where M is the number of FUs in the FUB, and a corresponding individual FU power output (FPxOUT) signal, such that when the corresponding individual FUxEN signal is in an enabled state then the corresponding individual FPxOUT signal is at a normal supply voltage (Vdd) level which enables the corresponding FU into an active operational mode, and such that when the corresponding individual FUxEN signal is in a disable state then the corresponding individual FPxOUT signal is at a reduced supply voltage (Vddl) level which disables the corresponding FU into a sleep operational mode; at least one peripheral unit block (PUB) for performing data communication with an external device, each PUB comprising a plurality of peripheral units (PUs), each PU is configured to be individually activated or inactivated in response to when receiving: a corresponding individual PU enable (PyEN) signal in which y corresponds to an integer between 1 to L where L is the number of PUs in the PUB, and a corresponding individual PU power output (PxPOUT) signal, such that when the corresponding individual PyEN signal is in an enabled state then the corresponding individual PyPOUT signal is at the Vdd level which enables the corresponding PU into an active operational mode, and such that when the corresponding individual PyEN signal is in a disable state then the corresponding individual PyPOUT signal is at the Vddl level which disables the corresponding PU into a sleep operational mode; an instruction decoder for interpreting the input instructions and determining the active and sleep operation modes of the FUB and the PUB required for executing the interpreted instructions; a function unit block driver (FUBD) for applying the FPxOUT signal according to either the active and sleep operation mode of the FU to a function unit driver (FUD) of the FUB; and a peripheral unit block driver (PUBD) for applying the PyPOUT signal according to either the active and sleep operation mode of the PU to a peripheral unit driver (PUD) of the PUB.