1. A processor having a prefetch function for previously storing information of a memory storage in a cache, the processor comprising: a storage control unit that stores, when a program stored in the memory storage is loaded to execute an instruction and it is determined that the instruction is an instruction for updating a value of a register, identification information of the register and the instruction in association with each other in a register-producer table; an instruction specifying unit that specifies, when the program stored in the memory storage is loaded to execute an instruction and it is determined that the instruction is an instruction accessing an address indirectly specified by a register, an instruction of updating the register as an address generation instruction based on identification information of the register indirectly specifying the address and the register-producer table; and a prefetch unit that prefetches a value of the register updated by the address generation instruction.