Patent ID: 7308560

Claim:
A processing unit comprising: a first memory for storing common data to be used in common; a first pointer for indicating a first read position of the common data in the first memory; N second memories (N is a positive integer), in which the writing of a computing result is controlled based on a common select signal, for storing mutually independent data respectively; a second pointer for indicating a second read position of the independent data in the N second memories; a first selector for selecting one of the N independent data read from the N second memories based on the common select signal; a multiplexer for multiplying the common data read from the first memory and the independent data selected by the first selector, thereby providing a multiplication data; a second selector for selecting one of N input data based on the common select signal; a third selector for selecting either the input data selected by the second selector or the computing result based on the common select signal, thereby providing a selected data; an arithmetic and logic unit for performing an arithmetic operation and a logic operation of the multiplication data of the multiplexer and the selected data of the third selector, thereby providing N output data; N registers, of which holding of data is controlled based on the common select signal, for holding the N output data of the arithmetic and logic unit; a fourth selector for selecting one of the N output data of the N registers based on the common select signal, thereby providing the computing result; a program counter for counting based on a first clock and providing an address for reading an instruction; a program memory for storing a program, including a plurality of instructions, and for reading one of the plurality of instructions in the program specified by the address provided from the program counter; an instruction decoder for decoding the one instruction read by the program memory to generate a control signal for instruction execution, and for generating a data processing instruction signal that determines whether the instruction is a data computing instruction; and an independent data control unit for receiving the data processing instruction signal and second clock, for generating the common select signal based on the data processing instruction signal, for generating the first clock based on the second clock, and in response to the data processing instruction signal, for supplying the first clock to the program counter alter performing computing and processing cycles for the number of independent data if the one instruction is a data computing iiistruction, or providing the first clock immediately to the program counter if the one instruction is not the data computing instruction.