1. A method, in a data processing device, for handling software cache misses, comprising: processing a software cache lookup instruction in a program; performing a software cache lookup operation; determining if the software cache lookup operation results in a cache miss; initiating a retrieval of data from a backing store in response to results of the software cache lookup operation resulting in a cache miss; and branching execution to an independent subroutine that executes while execution of the program waits for retrieval of the data from the backing store.