Patent ID: 7721054

Claim:
A method of speculative loading data in a data processor system comprising the steps of: determining a range of addresses used by an address pointer stored in an address register; creating a circular buffer enclosing said range of addresses and completely within memory addresses of memory implemented in the data processor; declaring said address pointer as a circular address pointer having said circular buffer; speculatively issuing a data load for memory data at a speculative load address stored in said address register before a fetch address is confirmed valid, said data load employing a circular addressing mode limiting said speculative load address to said range of addresses of said circular buffer preventing a memory access fault due to attempted access to a not implemented memory address; when said fetch address is confirmed valid, comparing said confirmed valid address with said speculative load address; if said speculative load address equals said confirmed valid address, employing memory data returned by said speculative load; and if said speculative load address does not equal said confirmed valid address, discarding said memory data returned by said speculative load and issuing a data load for memory data at said confirmed valid address.