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

Блок регистров.

Микропроцессор КР580 содержит программно-доступные 8-разрядные регистры: регистр-аккумулятор (A или Акк); регистры общего назначения (РОН) B, C, D, E; регистр признаков F; 16-разрядные специализированные регистры: счетчик команд (СК или PC), регистр-указатель стека (УС или SP), сдвоенный регистр косвенной адресации HL (H – регистр старшего полуадреса, L – регистр младшего полуадреса). Кроме этого имеются непосредственно недоступные программе регистры: 8-разрядные регистры временного хранения T, W, Z; 8-разрядный регистр команд (РК); 16-разрядный регистр адреса (РА). Имеется также возможность использовать пары регистров BC и DE для хранения 16-разрядных слов.

РОН используются для хранения операндов, промежуточных и конечных результатов, а также адресов и индексов при косвенной и индексной адресации. Аккумулятор является особым регистром и используется в качестве источника одного из операндов и места, где фиксируется результат операции. В командах аккумулятор в явном виде не адресуется. Из Рис. 0- видно, что он имеет двухступенчатую структуру, что объясняется его особым назначением.

В блоке регистров есть также схема инкрементации/декрементации, которая производит над содержимым регистров (без привлечения АЛУ) операцию прибавления/вычитания 1.

Арифметическо-логическое устройство.

АЛУ реализует простейшие арифметические и логические операции над байтами: сложение, вычитание, логическое И, логическое ИЛИ и т. п. Все более сложные операции (умножение, деление, элементарные функции и пр.) выполняются с помощью подпрограмм.

К одному из входов схемы АЛУ всегда подключен аккумулятор, к другому – любой из РОН (через регистр T). АЛУ непосредственно связано с регистром признаков (F), в соответствующих разрядах которого фиксируются особенности выполнения каждой операции. Структура регистра F приведена в Табл. 0-.

Табл. 0-. Формат регистра флагов (F).

D7

D6

D5

D4

D3

D2

D1

D0

S

Z

0

AC

0

P

1

CY (C)

Здесь:

S – флаг знака (принимает значение старшего разряда результата). S = 1 – если самый значащий бит результата равен единице, т. е. число отрицательное, иначе S = 0.

Рис. 0-. Структура памяти МП КР580.

Z – флаг нуля. Z = 1, если результат операции нулевой, иначе Z = 0.

AC – флаг вспомогательного переноса (переноса между тетрадами байта). Если при выполнении операций происходит перенос из младшей тетрады в старшую, то AC = 1, иначе AC = 0. Для команд логического умножения признак вспомогательного переноса (AC) принимает значение 4-го разряда результата (аккумулятора): (AC)  A(3)

P – флаг четности (или паритета). Если число единиц в байте результата четно, то P = 1, иначе P = 0. Не следует путать понятие паритета с понятием четности в общеупотребительном смысле (для чисел, представленных в десятичной системе счисления).

CY (C) – флаг переноса (или заема), CY = 1 – если операция привела к переносу из старшего разряда (или заему в старший разряд), иначе CY = 0.

В состав АЛУ входит схема десятичной коррекции (ДК). Она предназначена для того, чтобы под воздействием специальной команды интерпретировать результат выполнения двоичной операции как результат операции десятичной арифметики. Для этого к старшей тетраде в схеме ДК прибавляется число 6, кроме тех случаев, когда-либо не возникал перенос ни из одной тетрады и содержимое старшей и младшей тетрад находится в пределах 0 – 9 и 0 – 9 (или 0 – 8 и A – F) соответственно, либо не было переноса из старшей тетрады, содержащей число 0 – 9 и был перенос из младшей. К младшей тетраде одновременно также прибавляется число 6, кроме случая отсутствия переноса из младшей тетрады, содержащей число 0 – 9. Межтетрадные связи при этом не разрываются. Десятичная коррекция может использоваться, например, в случае, когда необходимо вывести данные на сегментные индикаторы.

Рис. 0-. Форматы 1-, 2-х и 3-хбайтных команд МП КР580.