Микропроцессор (МП)-устройство, выполняющее функции программной обработки информации, аналогичные функциям центрального процессора обычной ЭВМ, и реализованное в одной схеме большой степени интеграции (БИС-полупроводниковая микросхема, которая имеет 500 или больше элементов) или в виде модуля, содержащего несколько БИС. Микросхема КР580ИК80А представляет собой однокристальный восьмиразрядный микропроцессор с фиксированной системой команд, который предназначен для применения в устройствах обработки данных и схемах управления в качестве центрального процессорного элемента. Микропроцессор конструктивно помещен в пластиковый корпус с 40 выводами. Основными функциональными узлами микропроцессора являются: - АЛУ; - устройство управления и синхронизаци; - блок регистров общего назначения (РОН); - вспомогательные регистры; - регистр признаков условий (или регистр флажков); - исходные буфера данных и адрес. МП работает с восьмиразрядными словами данных (байтами), а для задания адреса памяти используется шестнадцать разрядов (два байта). Формат данных интерпретируется как: · целое положительное число без знака в прямом коде в диапазоне от 0 до 255 (в десятичной системе исчисления); · число со знаком в дополнительном коде. Диапазон изменения чисел от +127 до · 128 в десятичной системе исчисления; · двухразрядное двоично-десятичное число без знака в диапазоне от 0 до 99 в десятичной системе исчисления; · логический байт данных; · допускается представление чисел в двухбайтовом формате в прямом или дополнительном коде. Диапазон изменения чисел при этом от +32767 до -32786 в десятичной системе исчисления. Арифметические операции выполняются по правилам двоичной арифметики над числами в дополнительном коде. Арифметические операции над двоично-десятичными числами поддерживаются только одной командой – командой десятичной коррекции после сложения DAA. Необходимость коррекции обусловлена тем, что сложение двоично-десятичных чисел производится на двоичном сумматоре с использованием кода « с избытком 6». Для выполнения вычитания этих чисел необходимо сформировать дополнительный код, который образуется как ( 99 –вычитаемое +1), выполнить двоичное сложение, затем - команду DAA. Логические операции выполняются по правилам двоичной логики. Результат операции представляется числом в соответствующем формате и байтом признаков результата (флажков). Сложности при программировании связаны также с ограниченным числом регистров и их малой разрядностью, что приводит к большому количеству операций пересылок. Эти недостатки приводят к увеличению объема памяти, необходимого для хранения программ, и времени их выполнения, так как приходится использовать подпрограммы, последовательно-параллельную обработку, большое количество пересылок. В микропроцессоре КР580ИК80А программно-доступными являются 8-битовые регистры A,B,C,D,E,H,L; 16-битовые - слово состояния PSW (регистры А и F), пары регистров B,D,H, обозначаемые по первому регистру пары BC,DE,HL соответственно, указатель стека SP и программный счетчик РС, а также отдельные признаки рeгистра. Система команд микропроцессора содержит 78 команд и может быть разбита на следующие группы: 1. группа команд пересылки, осуществляющих передачу информации между регистрами (11 команд); 2. группа арифметических команд (14 команд); 3. группа логических команд (15 команд); 4. группа команд передачи управления (29 команд); 5. группа команд работы со стеком, ввода-вывода и управления регистрами процессора (9 команд). Выделим наиболее общие закономерности их использования. - Арифметические и логические операции разрешены только между аккумулятором и байтом данных или между аккумулятором и любым регистром.
- Аккумулятор и регистровая пара HL являются единственными регистрами, которые могут быть непосредственно загружены в память.
- Аккумулятор является единственным регистром, который может быть инвертирован, сдвинут, косвенно загружен в память с использованием регистровых пар ВС и DE или использован в командах ввода/вывода (IN, OUT).
- Регистровая пара HL является единственной, содержимое которой может быть передано в счетчик команд (команда PCHL) или указатель стека (команда SPHL).
- Регистровая пара НL может использоваться как аккумулятор двойной длины при сложении 16-разрядных чисел (команда DAD).
- Содержимое регистровых пар HL и DE можно менять местами (команда HCHG).
- Отдельные команды могут применяться для специальных функций. Команды XRA А или SUB А обнуляют аккумулятор. Команды ANA А или ORA А очищают флаг переноса, а команда ADD А выполняет логический сдвиг аккумулятора влево.
- Команды увеличения (уменьшения) на 1 регистров INR (DCR) действуют на все флаги, за исключением флага переноса. Команды увеличения (уменьшения) на 1 регистровых пар INX (DCX) не оказывают влияния на флаги.
- В стек или из стека могут быть переданы только регистровые пары. Одной из таких регистровых пар является слово состояния микропроцессора, которое содержит аккумулятор (старший байт) и флаги (младший байт). Команды CALL и RET передают адрес в стек и обратно.
- При записи 16-разрядных адресов младший байт записывается первым.
Недостатками системы команд являются: · малая мощность команд. Отсутствуют команды умножения, деления двоичных и двоично-десятичных чисел, арифметические и логические сдвиги, очистки регистров и так далее, · ассиметричность : определенные действия закреплены за фиксированными регистрами, различное воздействие однородных команд на флаги регистра признаков, поэтому необходимо контролировать формирование необходимых признаков по описанию команды · ограниченное количество способов адресации. Отсутствие индексного, базового, относительного способов адресации существенно усложняет программирование, · ориентация на обработку 8- и 16-разрядных данных.
|