1. A branch prediction apparatus for predicting branch instruction, using a branch history register for storing a branch result of a branch instruction and a branch history table for storing prediction information indicating the probability of predicting if a branch instruction is taken for each index calculated, using the branch results stored in the branch history register, comprising: a frequency detection unit for detecting appearance frequency of a branch instruction with a different address each other; and a data width modification unit for dynamically modifying a valid data width of the branch history register, based on the appearance frequency detected by the frequency detection unit.