1. A branch prediction method comprising the steps, of: a) determining branch prediction data indicating a state of branch prediction according to whether a branch is actually made or not; b) performing a branch prediction according to the branch prediction data; and c) correcting the branch prediction data according to whether a branch is actually made or not.