1. Вычисляет, т.е. выполняет над числовыми данными арифметические и логические операции.
2. Управляет потоками данных, организуя как сами вычисления, так и их требуемую последовательность.
Любой МП (Рис.3) состоит из следующих функциональных узлов:
1. Арифметико-логическое устройство (АЛУ).
2. Регистры.
3. Устройство управления.
Рис.3 Функциональная схема микропроцессора
ВМД – внутренняя магистраль данных,
МА – магистраль адреса,
МУ – магистраль управления,
МД – магистраль данных.
АЛУ – это комбинационный цифровой автомат, имеющий два входа и один выход. АЛУ выполняет арифметические и логические операции с двумя входными сигналами, каждый из которых представляет собой набор из 8-ми двоичных разрядов.
Регистром является устройство для хранения 8-ми разрядного двоично-го числа. Оно состоит из восьми триггеров, каждый из которых может хра-нить один двоичный разряд.
Регистровый файл AVR-контроллера состоит из 32 однобайтных реги-стров, имеющих имена R0-R31 и сквозные адреса в пространстве ОЗУ 0-31. Шесть регистров R26-R27, R28-R29, R30-R31 выступают как парные регист-ры X, Y, Z. Они могут работать как в паре, так и независимо. Эти парные ре-гистры предназначены для хранения адресов ячеек памяти.
Регистр РС - программный счетчик, хранит двухбайтный адрес ячейки памяти, где расположен первый байт команды, которая будет выполняться микропроцессором на следующем шаге. Пример: при включении микропро-цессора РС=0016, после считывания первого байта первой команды, опреде-ляется длина команды, которая складывается с содержимым регистра РС. Та-ким образом, после выполнения команды в регистре РС находится адрес пер-вого байта следующей команды.
Регистр SP – указатель стека предназначен для управления специали-зированной областью стековой памяти, адресация в которой осуществляется по содержимому регистра SP. Стековая память расположена по старшим ад-ресам области ОЗУ (Область «Data» в пакете «AVRStudio»).
Содержимое регистров PC и SP можно наблюдать в окне Work-space\IO\Processor.
РП – регистр признаков, флаговый регистр, или регистр статуса (Рис. 4, 5).
Этот регистр предназначен для хранения результатов контроля выпол-нения команды. Он состоит как минимум из пяти информационных двоич-ных разрядов.
Рис.4 Структура РП для процессора К-580
Разряд С называется флагом переноса и становится равным единице после выполнения арифметической команды, если результат операции не умещается в восьми битном регистре приемника. Пример: 250+50=44, С=1; 250+1=251, С=0.
Рис.5 Структура РП для AVR контроллера.
Z – флаг нуля. Принимает значение 1, если по окончании арифметиче-ской операции во всех разрядах регистра получателя или регистра приемника содержатся нули. Пример: 250+6=0, Z=1; 250+1=251, Z=0.
N – флаг отрицательного результата, дублирует старший разряд реги-стра получателя после выполнения арифметической операции.
Пример: 120+7=127, N=0; 120+8=-128, N=1
V – флаг переполнения, указывает на верность (V=0) или ошибочность (V=1) результатов арифметической операции со знаковыми числами.
Пример: 100+20=120, V=0; 100+29=-127, V=1.
S – флаг знака, S=N xor V, где xor-логическая операция «исключающая ИЛИ»
Н – флаг дополнительного переноса, указывает на наличие переноса из младшей тетрады в старшую при выполнении арифметической команды.
Пример: 10+1=11, H=0;15+1=16, H=1.
Т – флаг трассировки.
I – флаг прерывания.
Содержимое регистра PП или регистра статуса SREG можно наблю-дать в окне Workspace\IO\CPU\SREG.