Архитектура микроконтроллера (МК) показана на рис. 1. МК можно условно разделить на две части: вычислительное ядро (серый цвет) и периферийные модули (белый цвет).
Рис. 1.  
Вычислительное ядро работает следующим образом. Программа работы МК находится в flash-памяти программ. Программа выполняется последовательно до тех пор, пока не встретится команда перехода. Регистр команд (РК) содержит текущую команду на время ее дешифрации и выполнения, а программный счетчик (ПС) предназначен для хранения адреса следующей команды. Когда текущая команда завершена, то:
  1. По адресу из ПС производится выборка команды из памяти программ в РК;
  2. Пока дешифрируется эта команда, производится инкремент ПС на единицу и ПС адресует следующую команду;
  3. Когда выполнение данной команды заканчивается, содержимое ПС выдается памяти программ и цикл повторяется.
Команды безусловного перехода позволяют изменить естественный порядок следования команд путем замещения содержимого ПС (т. е. адреса следующей по порядку команды) адресом, определяемым самой командой перехода.
Команды условных переходов замещают или не замещают содержимое ПС в зависимости от признаков результатов предыдущих команд. Признаки результатов предыдущих команд находится в регистре STATUS. В этом регистре имеются биты, показывающие такие условия, как получение в предыдущих операциях положительного, отрицательного или нулевого результата. Когда реализован переход, начинается новая последовательность команд с адреса, к которому осуществлен переход.
Циклы реализуются с помощью команд условных переходов.
Действия, связанные с вызовом подпрограммы, требуют специальной разновидности перехода. Как и в других переходах, вызов подпрограммы также заменяет содержимое ПС на адрес перехода, но при этом запоминается текущее содержимое ПС в специальной области памяти, называемой стеком. Команда возврата должна восстановить в ПС адрес возврата, чтобы после завершения подпрограммы продолжалось последовательное выполнение основной программы.
Арифметико-логическое устройство (АЛУ) выполняет арифметические и логические операции над данными. Входные данные АЛУ в зависимости от кода операции могут находиться:
Мультиплексор данных подключает к входу АЛУ в соответствии с кодом операции либо РК (в режиме непосредственной адресации), либо память данных (в режиме прямой и косвенной адресации).
Мультиплексор адреса в зависимости от режима адресации позволяет адресовать ячейки памяти данных либо от РК (в режиме прямой адресации), либо от регистра косвенной адресации FSR (в режиме косвенной адресации).
Биты конфигурации задают режим функционирования МК: