Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по тса.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
601 Кб
Скачать
☆

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

Микропроцессор КР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.

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. Межтетрадные связи при этом не разрываются. Десятичная коррекция может использоваться, например, в случае, когда необходимо вывести данные на сегментные индикаторы.

  1. Принципы работы МПК 580ВМ80 по временной диаграмме.

Типовые временные диаграммы циклов чтения и записи

Диаграмма состояний МП (конечный автомат Мура) приведена на рис. 4. На диаграмме кружочками показаны состояния микропроцессора, а обозначениями на стрелках – условия перехода из одного состояния в другое.

М икропроцессор работает следующим образом:

  1. Подача сигнала высокого Н-уровня на вход RESET длительностью не менее 3-х периодов тактовой частоты устанавливает микропроцессор в исходное состояние. При этом в программный счетчик РС заносятся нули, а схема управления начинает формировать такт Т1 машинного цикла М1;

  2. В такте Т1 по шине данных выдается информация о типе машинного цикла SW, формируется высокий уровень сигнала SYNC и выдается адрес команды или операнда. Слово состояния SW должно быть зафиксировано во внешнем регистре по условию SYNC*C1 в начале второго такта;

  3. В такте Т2 по срезу сигнала синхронизации С2 проверяются сигналы готовности READY и подтверждения останова HLTA, и в зависимости от состояния этих сигналов МП переходит в состояние ожидания, останова или к выполнению цикла Т3. Кроме того, в такте Т2 МП устанавливает высокий уровень сигнала DBIN и на шину данных поступает информация для чтения из ВУ или памяти (рис. 5). Если необходимо согласовать во времени работу ЗУ и МП, то можно увеличить длительность приема сигнала DBIN подачей сигнала READY низкого уровня. Тогда МП переходит в состояние ожидания, а шины адреса, данных и сигнал DBIN не изменяют своего состояния. Продолжительность сигнала WAIT определяется длительностью сигнала низкого уровня READY, который контролируется по срезу импульса С2 в каждом такте.

  4. При обнаружении высокого уровня сигнала READY микропроцессор из такта Tw переходит к выполняющему обмен такту Т3. Такты Т4, Т5, если они присутствуют в данном машинном цикле, используются для завершения МЦ за счет внутренних операций МП. Если команда не завершилась, то МП переходит к такту Т1 следующего МЦ данной команды.

МП имеет несложные встроенные средства обслуживания запросов на прерывания с тремя управляющими сигналами:

  • INT - запрос на прерывание;

  • INTE - разрешение прерывания;

  • SW INTA - подтверждение прерывания.

Сигнал разрешения прерывания INTE управляется программно с помощью команд EI (Enable Interrupt) и DI (Disable Interrupt), маскируя вход INT микропроцессора.

Условие прерывания INT*INTE=1 проверяется в последнем такте каждого командного цикла (за исключением команды EI, что гарантирует завершение выполнения любой команды). При выполнении этого условия МП должен перейти к процедуре обслуживания запроса.

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

Процедура начинается с машинного цикла INTERRUPT_M1, который похож на цикл FETCH, но отличается от него тем, что вместо сигнала SW.MEMR активен сигнал SW.INTA (рис. 6).

Рис. 5. Временная диаграмма циклов чтения и записи

Рис. 6. Временные диаграммы работы МЦ в режиме прерываний

Отличие цикла обработки прерывания от цикла FETCH заключается также в том, что сбрасывается флаг INTE и программный счетчик не инкрементируется. Это обеспечивает сохранность точки возврата.

В такте Т1 этого цикла на шину адреса выдается содержимое программного счетчика, а на ШД - слово состояния процессора INTERRUPT_M1, сбрасывается сигнал разрешения прерывания INTE, что запрещает прием последующих запросов прерывания. В такте Т2 на ШД устанавливается код операции прерывания RST n с помощью ВУ, выставившего запрос. Использование команды RST n подразумевает резервирование первых 64-х (8*8) байтов памяти под таблицу входов в подпрограммы обслуживания прерываний. Обычно по адресам 8n, n=0..7 находятся команды JMP, передающие управление на подпрограммы обслуживания прерываний, или команды диспетчера прерываний, задающего косвенные адреса подпрограмм обслуживания прерываний в ОЗУ системы (инициализируются при загрузке системы).

Возврат из подпрограммы обслуживания прерывания выполняется с помощью команд

EI ; разрешить прерывания INTE <--1

RET ; возврат

В такте Т2 сбрасывается также внутренний триггер прерывания, а содержимое РС не изменяется.

В такте Т3 команда RST n с шины данных вводится в МП, а в тактах Т4, Т5 производится ее дешифрование.

По команде RST n содержимое РС запоминается в стеке, а в РС заносится адрес первой команды подпрограммы обработки прерывания, равный 8*n. Запоминание адреса возврата из прерывания в стеке выполняется в циклах М2 и М3 - запись в стек.

В состояние останова (рис. 7) МП переходит при наличии сигнала HLTA, формируемого во втором МЦ команды HLT. При этом ША и ШД переводятся в третье состояние, и формируется сигнал WAIT.

Рис. 7. Временная диаграмма МЦ HALT

Из состояния останова МП выходит по сигналу системного сброса RESET или по сигналу запроса прерывания INT при установленном триггере разрешения прерывания (INTE=1). Находясь в состоянии останова, МП может временно переходить в режим захвата, если на него поступает высокий уровень сигнала HOLD. При наличии этого сигнала и READY=1 в такте Т2 производится установка внутреннего триггера захвата, однако переход к режиму захвата не разрешается, чтобы МП успел закончить обмен с ВУ в начале такта Т3.

По окончании захвата МП всегда переходит к такту Т1 следующего машинного цикла. Если текущий МЦ содержит такты Т4, Т5, то они совмещаются с режимом захвата.

При системном сбросе сбрасывается маска INTE и управление передается на стартовую ячейку, в качестве которой используется ячейка с нулевым адресом (рис. 8).

Рис. 8. Временная диаграмма перезагрузки МП

Микропроцессор КР580ВМ80А является аналогом известного МП i8080 фирмы Intel.

Использованные в микропроцессоре схемотехнические решения в сочетании с n-МОП технологией обеспечивают время выполнения команд типа “регистр-регистр” - 1.6 мкс, “регистр-память” - 2.8 мкс при тактовой частоте 2.5 МГц, что соответствует быстродействию около 500 тыс. оп/сек.

Кристалл МП содержит около 5000 транзисторов и помещен в корпус с 40 выводами. Используется двухфазная синхронизация импульсами 12 В. Выходные буферы МП обеспечивают токовую нагрузку для подключения одного стандартного TTЛ - входа и емкостную нагрузку до 100 пф. Микропроцессор питается от трех источников питания: - 5 В (< 1 мA), + 5 В (<70 мA), -12 В (<50 мА).

  1. Машинные циклы, цикл обмена (все циклы).

1)Извлечение кода команды

2)Чтение данных из памяти

3)Запись данных в память

4)Извлечение из стека

5)Запись в стек

6)Ввод данных из ВУ

7)Вывод данных из МП в ВУ

8)Цикл обслуживания прерывания

9)Останов

10)Обслуживание прерывания в режиме останова

СИСТЕМА МАШИННЫХ КОМАНД КР580ВМ80

Архитектура данного процессора позволяет осуществлять более 100 команд. Их разбивают на 5 групп:

1. Команды передачи данных.

Они приводят к перемещению элементов информации между регистрами или между регистрами и ячейками памяти (ЯП). Этих команд много из-за различных видов адресации.

2. Арифметические и логические операции.

К ним относятся команды, которые объединяют два элемента данных арифметически или логически, или выполняют операции над одним числом. В данном МП обязательно используется регистр - аккумулятор, т.е. один из операндов находится там и результат хранится там же.

3. Команды перехода.

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

4. Команды преобразования указателей.

Они осуществляют преобразование адресов, хранящихся в регистрах. Наиболее важными среди них являются те, которые преобразуют указатели стека.

5. Команды различного назначения.

Их нельзя классифицировать (например, “Останов”).