Interesting. But you neglected what is effectively a debugger:
A watchdog timer (or computer operating properly (COP) timer) is a computer hardware or software timer that triggers a system reset or other corrective action if the main program, due to some fault condition, such as a hang, neglects to regularly service the watchdog (writing a "service pulse" to it, also referred to as "kicking the dog", “petting the dog”, "feeding the watchdog" or "waking the watchdog"). The intention is to bring the system back from the unresponsive state into normal operation.
Watchdog timers can be more complex, attempting to save debug information onto a persistent medium; i.e. information useful for debugging the problem that caused the fault. In this case a second, simpler, watchdog timer ensures that if the first watchdog timer does not report completion of its information saving task within a certain amount of time, the system will reset with or without the information saved. The most common use of watchdog timers is in embedded systems, where this specialized timer is often a built-in unit of a microcontroller.
The chip must to communicate in some language, being either a higher level or not. Adding a chip does nothing, adding software (or a hardware language) is required to make use of it. Specializing a chip to debug, or act as the watchdog, does not rely on another chip. The extra chip adds efficiency, which requires to be linked to the said software to operate. CPUs require languages to operate.
So again...Edited by Domino - 3/24/11 at 4:59pm