Patent ID: 7836289

Claim:
A program execution controller which controls execution of a program by a processor, the program including a branch instruction of which a conditional execution is specified by a predicate flag for controlling iterations in loop processing, the program execution controller comprising: a loop branch predictor that evaluates, in a current iteration of the loop processing, an execute-or-not condition indicating whether the branch instruction is to be executed in a next iteration of the loop processing; a predicate flag controller that sets the predicate flag specifying the conditional execution of the branch instruction based on the evaluation of the execute-or-not condition; and a processor status changer that changes a status of the processor, the status of the processor indicating execution of one of the branch instruction and a subsequent instruction following the branch instruction, the status being changed based on the evaluation of the execute-or-not condition in the current iteration and reflected by the predicate flag to indicate execution of the one of the branch instruction and the subsequent instruction in the next iteration.