Каждый производитель микроконтроллеров для серии выпускаемых им изделий разрабатывает и патентует своё оригинальное процессорное ядро (MCU - Microprocessor Core Unit). Однако в большинстве из них присутствуют одни и те же элементы:
0 регистр инструкций,
0 программный счетчик,
0 арифметико-логическое устройство,
0 регистры общего назначения,
0 регистр состояния
0 регистры ввода/вывода,
0 стек.
Программный счетчик
Программный счетчик (PC - Program counter) - регистр, предназначенный для хранения адреса ячейки памяти программ, в которой находится выполняемая в данный момент инструкция. Разрядность программного счетчика определяется количеством ячеек в памяти программы. При выполнении команды содержимое программного счетчика изменяется. В простейшем случае оно увеличивается на единицу. Но некоторые команды сами способны записывать данные в программный счетчик. В этом случае новое содержимое программного счетчика и определяется данными, заложенными в выполняемой инструкции.
Например, программный счетчик у микроконтроллеров с ядром AVR имеет разрядность 16 бит. В общем случае он позволяет адресовать до 64К ячеек памяти. Микроконтроллер ATmega163 с ядром AVR имеет только 8К ячеек памяти программ, поэтому в нем используется только 13 младших бит программного счетчика ядра AVR (2 = 8К).