1. A system for predicting an address required to execute a current iteration of a program instruction, said system comprising: means for storing an address required to execute a preceding iteration of said program instruction; means for determining differences between addresses required to execute successive iterations of said program instruction prior to said current iteration; means for predicting the address required to execute the current iteration of said program instruction based on the address required to execute the preceding iteration of said program instruction plus a current value of an increment; and means for setting said increment before said current iteration equal to a difference between two addresses required to execute two successive iterations of said program instruction and updating said increment when two actual differences between three addresses required to execute three successive iterations of said program instruction are equal to each other and different than the set increment, said update being said actual difference.