Yes, there is.
They are called "watchdog timers" and are made by many companies.
Alot of "server" class motherboards have them built in as well, but require the OS
to activate them. If the OS stops reporting to the timer, the system reboots and etc....
They make several versions....
Ones that plug into the keyboard jack...
Ones that plug into a card slot in the computer...
Ones that piggyback the CPU
and USB/SCSI etc....
By Michael Barr
Courtesy of Embedded Systems Programming
(10/01/01, 09:08:27 AM EDT)
_
For those embedded systems that can't be constantly watched by a human, watchdog timers may be the solution.
Most embedded systems need to be self-reliant. It's not usually possible to wait for someone to reboot them if the software hangs. Some embedded designs, such as space probes, are simply not accessible to human operators. If their software ever hangs, such systems are permanently disabled. In other cases, the speed with which a human operator might reset the system would be too slow to meet the uptime requirements of the product.
A watchdog timer is a piece of hardware that can be used to automatically detect software anomalies and reset the processor if any occur. Generally speaking, a watchdog timer is based on a counter that counts down from some initial value to zero. The embedded software selects the counter's initial value and periodically restarts it. If the counter ever reaches zero before the software restarts it, the software is presumed to be malfunctioning and the processor's reset signal is asserted. The processor (and the embedded software it's running) will be restarted as if a human operator had cycled the power.
MORE HERE:
http://www.embedded.com/story/OEG20010920S0064