Auto-restarting kernels can run continuously after being started once by
the host application. They can run until reset and restarted, or they can be programmed
to run for a predetermined number of iterations without the host explicitly calling them
multiple times. You can also set the kernel to restart for a specified number of
executions in a mode called counted auto-restart. This functionality is similar to a
while(running)
loop in software code, where the
running
variable is controlled by the host code. The control of the
kernel is managed in hardware so that once the kernel is started by the host code it is
automatically restarted until the iteration count is exceeded, or until explicitly
stopped by the host code. In addition, the host application can query the status of the
kernel to check specific register states or to provide new parameters to be used at the
next opportunity.
Auto-restarting kernels make use of several unique features:
- The auto-restart bit to continuously restart the kernel, or restart it for a specified number of iterations, without explicit host calls for each kernel execution.
- A mailbox to enable the host to occasionally synchronize with the kernel to set new operating parameters, or check the status of the current run, as described in Using the Mailbox.
- The
software_reset
feature letting the host application reset the auto-restart kernel to stop it.