Архитектура микропроцессора КР580ВМ80

В состав микропроцессора входят:

  • 8-разрядное арифметико-логическое устройство АЛУ (ALU);
  • регистр признаков RS, фиксирующий признаки, вырабатываемые АЛУ в процессе выполнения команды;
  • аккумулятор (А);
  • регистр аккумулятора (RGa);
  • регистр временного хранения операндов (RGb);
  • десятичный корректор (DAA), выполняющий перевод информации из двоичной в двоично-десятичную форму;
  • регистр команд (IR), предназначенный для хранения первого байта команды, содержащего код операции;
  • дешифратор команд (DCU);
  • блок регистров для приема, выдачи и временного хранения информации в процессе выполнения программ;
  • схема управления и синхронизации (CU), формирующая последовательности управляющих сигналов для работы ALU и регистров;
  • однонаправленный 16-разрядный буферный регистр адреса (ВА);
  • двунаправленный 8-разрядный буферный регистр данных (BD);
  • двунаправленный мультиплексор (MUX) для обмена информацией между ALU и блоком регистров по внутренней шине данных (Internal Data Bus.

Блок регистров включает:

  • программный счетчик (РС), предназначенный для хранения адреса очередной команды (при выполнении линейных программ этот адрес автоматически увеличивается на 1, 2, 3 в зависимости от длины выполняемой команды - 1, 2 или 3 байта соответственно);
  • указатель стека (SP);
  • регистр адреса (RGA);
  • шесть 8-разрядных регистров общего назначения B, C, D, E, H, L, которые могут объединяться в парные 16-разрядные регистры BC, DE, HL;
  • вспомогательные разрядные регистры W, Z.

Регистры RGa, RGb, IR, W, Z, RGA пользователю программно недоступны.

Кроме того, МП имеет 16-разрядный однонаправленный 3-стабильный канал адреса А(15-0), 8-разрядный двунаправленный 3-стабильный канал данных D(7-0), четыре входных (RESET, READY, INT, HOLD) и шесть выходных (SYNC, DBIN, READY, WAIT, INTE, HLDA) выводов сигналов управления.

Десятичный корректор DAA облегчает работу с числами, представленными в 10-чной системе счисления.

Буферные регистры данных BD и адреса BA используются для буферизации внутренних шин данных и адреса со стороны внешней магистрали.

Схема управления и синхронизации выполняет ряд функций управления и синхронизации:

  • обеспечивает выборку команд и операндов;
  • организует правильное функционирование АЛУ;
  • обеспечивает доступ ко всем регистрам МП;
  • синхронизирует УВВ и управляет их работой;
  • приостанавливает работу МП в режиме ожидания и отключает МП от системной магистрали в режиме ПДП.

Мультиплексор MUX обеспечивает подключение к внутренней магистрали МП требуемого регистра из блока регистров.

МП КР580ВМ80А обеспечивает адресацию внешней памяти до 64 Кбайт и подключение до 256 устройств ввода-вывода.

С целью упрощения понимания принципа работы МП, дадим вначале словесное описание его функционирования во время выполнения команд программы:

  • Перед выполнением очередной команды МП содержит ее адрес в программном счетчике РС;
  • МП обращается к памяти по адресу, содержащемуся в РС, и считывает из памяти первый байт очередной команды в регистр команд IR;
  • Дешифратор команд DCU декодирует содержащийся в IR код команды и в результате его декодирования, в частности, “узнает”:
  • какова длина этой команды (1, 2 или 3 байта);
  • где хранятся ее операнды;
  • какие действия нужно выполнить над операндами;

В соответствии с полученной от DCU информацией устройство управления вырабатывает упорядоченную во времени последовательность микроопераций, реализующих предписания команды, в том числе:

  • извлекает операнды из регистров и памяти;
  • выполняет над ними предписанные кодом команды арифметические, логические или другие операции;
  • в зависимости от длины команды модифицирует содержимое РС на 1, 2 или 3 (при линейном алгоритме);
  • передает управление очередной команде, адрес которой снова находится в программном счетчике РС.

Рассмотрим, например, команду сложения содержимого аккумулятора и регистра В, имеющую мнемоническое обозначение ADD B. Команда ADD B - однобайтовая и имеет код операции 80h

В начале выполнения этой команды МП выставляет на шину адреса адрес команды, считывает из памяти ее код 80h и помещает его в регистр команд IR. После декодирования команды устройство управления (УУ) вырабатывает предписанную командой последовательность управляющих сигналов, приводящую к следующим действиям:

  • содержимое аккумулятора копируется в RGa;
  • содержимое регистра В копируется RGb;
  • производится суммирование RGa+RGb и результат сложения помещается в аккумулятор А;
  • в зависимости от результата операции модифицируется содержимое регистра флагов RS;

Содержимое программного счетчика РС увеличивается на 1, так как команда ADD B является однобайтовой, и теперь программный счетчик содержит адрес следующей команды программы и т.д.

Регистр признаков КР580

Порядок выполнения команд программы зависит от особенностей (признаков) текущих результатов. Для индикации складывающейся ситуации МП формирует двоичные признаки (флаги), отражающие признаки результатов выполнения команд. Значение каждого признака фиксируется в специальном триггере, которые в совокупности образуют регистр кода условия (регистр флагов F, регистр состояния RS). Содержимое аккумулятора и регистра флагов называют словом состояния программы PSW (Program Status Word).

Регистр признаков имеет следующий формат:

M Z 0 AC 0 P 1 C

В МП КР580ВМ80А имеется 5 флагов:

C (Carry)- признак переноса;

M (Minus) - признак отрицательного результата;

Z (Zero) - признак нуля;

P (Parity) - признак паритета/четности;

AC (Auxiliary Carry) - признак половинного переноса.

Установка флагов производится при выполнении следующих условий:

  • Флаг знака M устанавливается, если знаковый бит результата операции (седьмой разряд аккумулятора) равен 1, иначе сбрасывается;
  • Флаг нуля Z устанавливается, если результат операции в аккумуляторе равен нулю, иначе сбрасывается;
  • Флаг дополнительного переноса AC устанавливается при наличии переноса из третьего разряда аккумулятора в четвертый, иначе сбрасывается;
  • Флаг четности P устанавливается, если результат операции в аккумуляторе содержит четное число единиц, иначе сбрасывается;
  • Флаг переноса C устанавливается при наличии переноса (при сложении) или заема (при вычитании) из старшего разряда аккумулятора, иначе сбрасывается.

Важнейшими флагами являются:

  • флаг С, позволяющий реализовать на 8-разрядном МП обработку данных длиной в произвольное число байт;
  • флаг Z, используемый для организации циклов и ветвлений;
  • флаг M, используемый для организации ветвлений по знаку результата.

Для организации ветвлений в составе команд микропроцессора предусмотрен обширный набор команд условной передачи управления, осуществляющих выбор одного из двух направлений перехода в зависимости от состояния проверяемого флага.

Регистры МП КР580

Блок программно - доступных регистров МП ВМ80А отличается большой функциональной неоднородностью. Практически каждый регистр МП выполняет присущую только ему функцию, что сделано с целью более короткого кодирования системы команд микропроцессора. С другой стороны, это привело к усложнению программирования этого МП.

Восьмиразрядный аккумулятор А используется в подавляющем большинстве команд логической и арифметической отработки. Обычно он адресуется неявно и служит как источником операнда, так и приемником результата. Благодаря этому в командах ВМ80А явно указывается только один операнд.

16-разрядный регистр HL, как правило, служит адресным регистром. При косвенной регистровой адресации он хранит 16-разрядный адрес основной памяти. В этом случае к нему ссылаются с помощью мнемоники М (Memory), например:

MOV A, M; содержимое ячейки (HL) заносится в аккумулятор

В некоторых командах старший и младший байты 16-разрядного регистра HL могут адресоваться независимо и использоваться как отдельные 8-разрядные регистры данных H (High Byte) и L (Low Byte) соответственно.

Регистры PC и SP выполняют свою обычную функцию счетчика команд и указателя стека.

8-разрядные регистры F, A вместе с 16-разрядными регистрами HL, SP и PC образуют стандартный регистровый набор микропроцессора с аккумулятором. Этот набор расширен четырьмя 8-разрядными регистрами общего назначения (РОН): B, C, D, E, которые в некоторых командах объединяются в 16-разрядные парные регистры BC и DE. Младшими регистрами пары являются соответственно регистры C и E. Введение РОН позволило создать достаточно эффективный микропроцессор с широкими функциональными возможностями.

В командах ссылки на регистр выполняются как явно, когда регистр кодируется трехразрядным полем, так и неявно (с помощью кода операции), когда код операции подразумевает и способ использования регистров по умолчанию.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: