1. A method for executing an instruction loop, the method comprising: detecting, by a branch prediction unit, an instruction loop; wherein a size of the instruction loop exceeds a size of a storage space allocated in a fetch unit for storing fetched instructions; requesting from the fetch unit to fetch instructions of the instruction loop that follow the first instructions of the instruction loop; selecting, during iterations of the instruction loop, whether to provide from a dispatch unit one of the first instructions of the instruction loop or another instruction that is fetched by the fetch unit; wherein the first instructions of the instruction loop are stored at the dispatch unit.