1. An anticipating cache loader comprising: a) an operating system having a task scheduler that has scheduled a previous task and a current task and that identifies a next task; b) a memory coupled to a bus; c) a cache coupled to the bus; d) a CPU coupled to the bus and performing the current task; e) a mechanism for restoring the cache while the CPU is performing the current task with the information from the memory that was resident in the cache during the previous task when the next task is the previous task; and f) at least one mirrored tag array, the at least one mirrored tag array corresponding to the previous task and containing a plurality of tags that allow the cache to be restored with information from the memory that was resident in the cache when the previous task was last executed, wherein the mechanism for restoring the cache uses the at least one mirrored tag array to load information from the previous task into the cache, and wherein the task scheduler switches tasks from the current task to the next task and the CPU performs the next task.