Patent ID: 8006076

Claim:
A processor for sequentially executing a plurality of programs using a plurality of register value groups stored in a memory that correspond one-to-one with the programs, the programs stored in a computer readable storage media, the processor comprising: a plurality of register groups; a select/switch unit selecting one of the plurality of register groups as an execution target register group on which a program execution is based, and to switch the execution target register group every time a first predetermined period elapses; a restoring unit restoring, every time the switching is performed, one of the register value groups into one of the register groups that is not selected as the execution target register group; a saving unit saving, prior to the restoring, register values in the register group targeted for restoring, by overwriting a register value group in the memory that corresponds to the register values; a program execution unit executing, every time the switching is performed, a program corresponding to a register value group in the execution target register group, wherein the first predetermined period is specified, based on table information in which a plurality of count values are arranged in an order, every time the selection is performed, using the count values in the order, the program execution unit starts the executing when the select/switch unit performs a switch operation, a first obtaining unit obtaining sequence information that shows a sequence of the register value groups corresponding to the programs, wherein the restoring unit determines, based on the sequence information, a register value group to be restored, and performs the restoring, the first predetermined period is determined such that, if the restoring is performed on all of the register value groups in the sequence shown in the sequence information, a total time period that the restored register groups are selected as the execution target register group is within a second predetermined period, and the determination of the first determined period is performed by adjusting each count value in the table information.