1. A method for evaluating the status of a processor comprising the steps of: initializing and executing an operating system; de-allocating said processor from an available pool of system resources while said operating system is executing; conducting a health-check on said processor while said operating system is executing and while said processor is de-allocated; re-allocating said processor into said available pool of system resources if said processor is healthy; and determining whether a cache element of said processor is faulty based on said health-check; determining whether a non-allocated cache element is available; and swapping in a non-allocated cache element for the faulty cache element if said non-allocated cache element is available.