Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АРМ ЦУиМПС Шуакаевой А.К..doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.36 Mб
Скачать

§ 5.4. Структура и назначение основных узлов микропроцессора серии кр580.

Структура микропроцессора КР580ВМ80А состоит из следующих основных узлов.

  1. Регистр А (аккумулятор). Этот 8-разрядный регистр служит для обмена информацией между МП и другими узлами МПС. При выполнении многих операций он также является источником одного из операндов (операнд – это код числа, участвующего в данной операции), и в него заносится результат выполненной операции.

Кроме этого, регистр А может выполнять 4 вида операции циклического сдвига (см. § 5.7).

  1. Блок РОН (регистров общего назначения) содержит шесть 8-разрядных регистров B, C, D, E, H и L. При выполнении многих операций они являются источником одного из операндов, а при выполнении некоторых операций сюда могут записываться их результаты.

При необходимости хранения 16-разрядных кодов (в частности, адресов ячеек памяти, так как рассматриваемый микропроцессор работает с оперативной памятью, имеющей 16-разрядную адресацию), регистры блока РОН могут функционировать строго определенными парами: BC, DE и HL.

  1. RG (регистр) флагов. Этот 5-разрядный регистр предназначен для хранения флагов, которые формируются в результате выполнения определенных операций. Содержит 5 триггеров, которые используются для хранения следующих флагов:

  • ТС (триггер переноса) – сюда заносится значение переноса из старшего разряда при выполнении арифметических операций, а также выдвигаемый из регистра А сигнал при выполнении циклического сдвига.

Пример 1. Выполняется арифметическое сложение двух двоичных кодов:

ТС 1 0 0 0 0 0 1 0 – сигналы переноса

1 0 1 1 0 0 1 0

+

1 0 0 0 0 0 1 1

0 0 1 1 0 1 0 1

Пример 2. В регистре А выполняется сдвиг влево:

Регистр А

ТС 0 1 1 1 0 0 0 1

      • TZ (триггер нуля) устанавливается в состояние 1, если результат выполненной операции во всех разрядах содержит одни нули; в противном случае триггер устанавливается в состояние 0.

Пример 3. Выполняется арифметическое сложение двух двоичных кодов:

1 0 1 1 0 0 1 1

+

0 1 0 0 1 1 0 1

0 0 0 0 0 0 0 0 – результат операции во всех разрядах содержит нули, поэтому в триггер TZ заносится 0.

В примере 1 результат операции не равен нулю (содержит единицы), поэтому в триггер записывается 1.

      • TS (триггер знака), TP (триггер четности), TV (триггер дополнительного переноса) используются значительно реже, к тому же в предлагаемом объеме учебного материала они применяться не будут. Поэтому здесь мы не станем давать более подробные сведения об этих триггерах, желающие могут их получить из соответствующей учебной или справочной литературы.

  1. АЛУ (арифметическо-логическое устройство) может выполнять:

4.1. Четыре вида арифметических операций:

  • сложение с учетом внешнего переноса, который хранится в триггере ТС;

  • сложение без учета внешнего переноса;

  • вычитание с учетом внешнего переноса;

  • вычитание без учета внешнего переноса.

4.2. Четыре вида логических операций:

  • отрицание;

  • умножение;

  • сложение;

  • исключающее ИЛИ.

Для выполнения любой из перечисленных в пунктах 4.1 и 4.2 операций один из операндов обязательно должен находиться в регистре А. Результат выполненной операции микропроцессор обязательно автоматически запишет в регистр А, при этом хранившийся там ранее операнд ликвидируется!

4.3. Сравнение двух двоичных кодов. Как известно, сравнение кодов в цифровой технике производится путем их вычитания с формированием результатов сравнения А>В, А=В или А<В (см. § 3.20). В рассматриваемом микропроцессоре указанные результаты определяются по значениям флагов:

  • если А=В, то результат вычитания, естественно, равен нулю, поэтому в триггер нуля TZ (см. пример 3) заносится 0;

  • если же А≠В (то есть А>В или А>В), то в триггер TZ записывается 1; поэтому о результате можно судить по последнему переносу (см. § 3.20), который загружается в триггер ТС: ТС=0 при А>В и ТС=1 при А>В.

Следует иметь в виду, что при выполнении операций арифметического вычитания и сравнения уменьшаемое должно обязательно находиться в регистре А. При выполнении других операций совершенно безразлично, какой из операндов хранится в регистре А.

  1. БДК (блок десятичной коррекции). В АЛУ предусмотрена возможность выполнения арифметических операций с десятичными числами в двоично-десятичном коде "8421", но при этом может потребоваться коррекция полученного результат, которую и выполняет БДК (см. § 3.17).

  1. РС (счетчик команд). Этот 16-разрядный регистр предназначен для хранения адресов ячеек памяти, где находятся выполняемые команды. После выборки из ЗУ текущей команды содержимое РС возрастает на единицу, формируя адрес следующей ячейки ЗУ, в которой хранится очередная команда (при отсутствии условных и безусловных переходов).

  2. РА (регистр адреса). При обращении к любой ячейке памяти ее адрес из соответствующей пары регистров блока РОН или из РС передается в 16-разрядный РА, откуда через буфер адреса БА и шину адреса ША поступает на адресные входы микросхем ЗУ.

  3. БУ (блок управления) вырабатывает сигналы, управляющие работой внутренних узлов микропроцессора.

  4. SP(указатель стека). Этот 16-разрядный регистр служит для адресации особого вида памяти, называемого стеком (см. § 4.23).

  5. БД (буфер данных) обеспечивает перетоки информации между внутренней шиной данных самого микропроцессора и внешней шиной данных, куда подключаются другие узлы системы. Представляет собой логическое устройство с тремя состояниями (тристабильный драйвер): в одном состоянии обеспечивает прохождение информации с внутренней шины данных на внешнюю, в другом состоянии обеспечивает прохождение информации в обратном направлении, а в третьем Z-состоянии отключает шины данных друг от друга.

  6. БА (буфер адреса) представляет собой устройство, почти аналогичное БД, но работающее в двух режимах: в одном режиме обеспечивает прохождение информации из РА на ША, в другом (Z-состояние) отключает РА от ША.