Systems and methods for switch prefetch in multicore computer chips can
allow a programmer to tailor operations of a computer program to
available data. Control-flow decisions can be made by the program based
on the availability of data in a cache. For example, a new instruction in
a processor instruction set can receive a list comprising pairs of data
addresses and code addresses. The processor can look for data items
corresponding to the listed data addresses, and find the first available
data item in the cache. When a cached data item is found, control is
transferred to the code address supplied in the table. If no data is in
the cache, then the processor can stall until the most quickly fetched
data item is available.