1. An apparatus comprising: an instruction cache; a fetch unit coupled to the instruction cache and configured to perform fetch operations; a branch prediction unit coupled to the fetch unit and configured to provide an address of a first instruction to the fetch unit; wherein the fetch unit is configured to send a fetch request for the first instruction to the instruction cache to perform a fetch operation; wherein, in response to detecting a cache miss corresponding to the first instruction, the fetch unit is configured to execute one or more prefetch operation while the cache miss corresponding to the first instruction is being serviced; wherein the branch prediction unit is configured to provide an address of a predicted next instruction to the fetch unit; wherein the fetch unit is configured to send a prefetch request for the predicted next instruction to the instruction cache to execute the prefetch operation.