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 to detect an appearance frequency of a branch instruction in different addresses, the appearance frequency being detected for every predetermined number of branch instructions; and a data width modification unit to dynamically modify a valid data width of the branch history register, using a plurality of consecutive appearance frequencies detected by the frequency detection unit.