Аппаратное пошаговое выполнение программы. Была такая система в книжках по 51й...
Но смысла ею пользоваться при наличии симулятора FD51 даже по тем временам уже особо не было.
Так и осталось, больше как напоминание об особенностях выполнения прерываний.
Внешние элементы отваживаются на свете "в железе", а алгоритмы, "подозрительные" участки программного кода на симуляторе.
Все зависит от того, что вызывает подозрения.
Вряд ли разделение настолько однозначное. По крайней мере, видится допустимой отладка в симуляторе лишь математики да чего-то простого. Работа с периферией тоже может иметь подозрительные участки кода. Не думаю, что симулятор способен идеально отработать даже интегрированные модули, что уж говорить о внешних (и во внешней среде со всеми её проблемами).
За достаточно долгую возню как с любительскими проектами, так и со значительными промышленными (в команде), необходимость в симуляторе не возникала. Один раз ради любопытства попробовал а Протеусе, и он наврал
Касательно работы с внешним железом, то она определяется программным кодом МК и описанием протоколов того железа. На уровне протокола обмена всегда проверить можно, другое дело что внутри того железа делаться будет только документация подсказать может (или специальные тесты в макетном исполнении.