Во-первых, процессоры выполняют один набор микро-инструкций за такт, они обычно включают в себя такие вещи, как переключение шины в регистр или ALU (арифметическая логическая единица), следующая микро-инструкция может синхронизировать регистр или ALU для выполнения чего-либо с данными на автобусе. Большинство инструкций уровня сборки построены из серии микро-инструкций. Инструкция сложения занимает всего несколько микро инструкций, но деление может занять гораздо больше. Большинство микроконтроллеров документируют, сколько циклов занимает каждая инструкция уровня сборки.
В более сложных микроконтроллерах также имеется конвейер команд (как упоминается в разделе «cat»), что означает, что процессор может начать выполнять часть следующей инструкции до завершения предыдущего включения. Это может стать очень сложным с такими понятиями, как прогнозирующее ветвление.
Обычно, когда вы моделируете цифровую электронику, вы используете модель, основанную на событиях, поскольку электронные системы являются параллельными, но также имеют задержки распространения, которые необходимо смоделировать. Я помню, как использовал такие инструменты, как PSpice и MicroSim в Uni, которые сделали это очень хорошо.