Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_TAU_ATEP_MPSU.doc
Скачиваний:
137
Добавлен:
08.02.2016
Размер:
4.73 Mб
Скачать
    1. Типовые структуры микропроцессора и микроконтроллера. Назначение и содержание машинных циклов. Принцип формирования сигналов шины управления.

Структурная схема МП КР580ВМ80 приведена на рис.1.15.

Блоки МП имеют следующее функциональное назначение:

АЛУ (арифметико-логическое устройство) обеспечивает выполнение логических (сложение, умножение, инверсия и сдвиги) и арифметических (сложение и вычитание) операций над 8-разрядными данными. АЛУ программно недоступно.

А (аккумулятор) является программно доступным 8-разрядным регистром универсального назначения, который используется АЛУ при выполнении им логических и арифметических операций и в А сохраняется итоговый результат. Через А осуществляется обмен информацией с памятью и внешними устройствами.

F(регистр флагов) является 8-разрядным регистром, в котором хранятся признаки (флаги) результатов исполнения команд (рис.1.16).

Биты регистра F

D7

D6

D5

D4

D3

D2

D1

D0

Флаги регистра F

S

Z

-

AC

-

P

-

C

Рис.1.16. Структура регистра флагов

Назначение флагов:

S (Sign) – флаг знака, зависящий от значения 7-го бита результата текущей операции в АЛУ: если этот бит равен 0, то результат считается положительным (число в АЛУ находится в интервале от 0 до 127), если равен 1, то результат считается отрицательным (число в АЛУ находится в интервале от -1 до -128). Соответственно S=0/1 для положительного/отрицательного знака результата в АЛУ.

Z(Zero) – флаг нуля.Z=1, если результат текущей операции равен нулю.

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

AC(Auxiliarycarry) – флаг вспомогательного переноса. Устанавливается в 1 при возникновении переноса из третьего разряда в арифметических операциях над однобайтными данными, операциях сравнения двух чисел, десятичной коррекции.

P (Parity) – флаг четности. Устанавливается в 1, если код результата текущей операции содержит четное число единиц.

Из всех флагов регистра Fпрограммно доступен только флаг переноса С.

БР – блок регистров. Блоки регистров классифицируются по разрядности и программной доступности.

B, C, D, Е, H, L – блок программно доступных 8-разрядных регистров общего назначения (РОН). Эти регистры могут быть объединены в пары BC, DE и HL, которые являются 16-разрядными и также программно доступными. Регистр HLиспользуется в ряде команд как указатель М адреса памяти.

PSW – 16-разрядный регистр слова состояния программы, являющийся объединением аккумулятора А и регистра флагов F(PSW=A+F).

W,Z– программно недоступные 8-разрядные регистры. Эти регистры используются для приема и временного хранения в них 2-го и 3-го байтов операнда.

SP (Stack Pointer) – указатель стека. В этом регистре хранится адрес ячейки ОЗУ, называемой вершиной стека. Регистр SP программно доступен.

PC(ProgramCounter) – счетчик команд. В этом регистре устанавливается адрес ячейки ПЗУ, из которой производится в текущем машинном цикле чтение одного из байтов кода команды (см. рис.1.3). РС программно доступен. При включении питания или сбросе в РС записывается адрес 0000Н=0000.0000.0000.0000В.

RA(RegisterAddress) – регистр исполняемого адреса, который выставляется на ножки ША. В фазе чтения команды вRA пересылается содержимое счетчика команд РС. В фазе выполнения команды в зависимости от ее типа содержимое регистраRAформируется из содержимого одного из вышеописанных регистров (A,B,D,E,H,L,W,Z, SP, PC). РегистрRAпрограммно недоступен.

БУ – блок управления микропроцессором.

РК – регистр команд. На фазе чтения команды в него загружается КОП.

ДШК – дешифратор команд, в котором расшифровывается КОП. В результате этой расшифровки:

- определяется количество байт операнда команды;

- определяется количество и тип машинных циклов (МЦ) команды, количество машинных тактов (МТ) внутри каждого МЦ;

- определяется содержание каждого МТ.

Во исполнение МТ и МЦ из ДШК выходят тактируемые сигналы микроприказов на все блоки МП. ДШК является тактируемым комбинационным устройством. В ДШК зашиты все команды микропроцессора.

БС – блок синхронизации. Является тактируемым внешними импульсами Ф1 и Ф2 устройством, которое формирует сигналы МТ и МЦ в соответствии с программой, полученной от ДШК, и одновременно

Функциональная схема МК типа КР1816ВЕ51 (сокращенно – МК51) приведена на рис.2.1. Ядром МК51 является микропроцессор, обрабатывающий данные размером 1 байт. Тактовый генератор встроенный. Для его запуска нужно к выводам Х1, Х2 подключить кварцевый резонатор или RC-цепочки. Номинальная частота МК51 равна 12 МГц.

РПП – резидентная (встроенная) память программ емкостью 4 Кбайта. РПП является ПЗУ.

РПД – резидентная память данных, состоящая из оперативной памяти данных (ОПД) емкостью 128 байт и блока из 21 регистров специальных функций (РСФ). РПД является ОЗУ.

РСФ служат, в основном, для инициализации УАПП, Т/С, КП. К РСФ относятся также порты Р0…Р3. Полный состав РСФ приведен на рис.18.4. Работа с РСФ и с ОПД производится одинаковыми командами.УАПП – универсальный асинхронный приемопередатчик. Обслуживает обмен с ВУ в последовательном коде.

Т/С – таймер/счетчики (два Т/С). Служат для создания выдержек времени и подсчета числа импульсов, подводимых к МК.

КП – контроллер прерываний. Обеспечивает обслуживание запросов прерываний с пятью уровнями приоритетов.

RST – сброс общий, активный уровень 1.

ALE – выходной импульс активного уровня 1, которым стробируется запись младшего байта адреса при обращении к внешней памяти.

- выходной сигнал разрешения работы с внешней памятью программ, активный уровень 0.

- входной сигнал, при значении которого равном 0, отключается резидентная память программ.

Р0, Р1, Р2 и Р3 – двунаправленные порты ввода/вывода. Емкость каждого порта 8 линий. При 40-выводном корпусе ИМС на ввод/вывод задействовано 32 физических вывода, что составляет 80% от общего числа выводов. Порт Р0 трехстабильный, остальные порты двухстабильные. Только порт Р1 используется для простого ввода/вывода. Остальные порты кроме простого ввода/вывода используются в альтернативных режимах. Настройка портов на ввод или вывод осуществляется по битам и независимо друг от друга.

Типы машинных циклов и слово состояния

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

Все команды МП выполняет по машинным циклам. МЦ и МТ нумеруются как М1, М2,…М5 и Т1, Т2,…Т5. В справочных данных по командам (приложение 1) указываются размеры команд в байтах (Б), циклах (Ц) и тактах (Т). Величина Б, равная 1, 2 или 3, указывает, сколько ячеек ПЗУ занимает команда, причем в первой ячейке ПЗУ записывается код операции (КОП), а в последующих – операнд. Величина Т, равная 4…18, является характеристикой времени выполнения команды в тактах. Если период тактовых сигналов равен 0,4 мкс и, например, команда STAсодержит 13 тактов, то время выполнения ее составляет 5,2 мкс.

Совокупность МЦ образуют командный цикл (КЦ). КЦ состоит из следующих друг за другом двух фаз - фазы чтения и фазы выполнения команды (рис.1.18).

Фаза чтения всегда содержит МЦ М1, в котором происходит выборка кода операции (КОП) из ПЗУ. В тактах Т1…Т3 цикла М1 КОП вводится в регистр команд РК, а в тактах Т4 и Т5 происходит дешифрация КОП. В фазе чтения возможно выполнение еще двух циклов М2 и М3, в которых считываются из ПЗУ байты операнда команды и помещаются во временные регистры W и Z.

Фаза выполнения следует после фазы чтения. В зависимости от вида команды начало фазы выполнения может иметь пять вариантов (рис.1.18) с введением сверх МЦ фазы чтения новых МЦ или без них. В последнем случае команда оперирует с данными, находящимися внутри ИМС процессора.

Все МЦ, несмотря на их функциональные отличия, имеют одинаковую структуру и способ выполнения (рис.1.19). На первом такте (Т1) любого МЦ микропроцессор выдает на ШД слово состояния СС, в котором сообщает тип цикла. По сигналу "Строб записи СС" оно переписывается в регистр слова состояния РСС. Все это время двунаправленный шинный формирователь (ДШФ), на который поступает сигнал DBIN=0, находится в состоянии вывода информации из МП.

В следующих за Т1 тактах вид микроопераций зависит от исполняемой команды и от содержания СС. Назначение разрядов СС приведено в табл.1.1.

Таблица 1.1

Бит

Название бита

Назначение бита

D7

Память

Активный сигнал 1 указывает на то, что считывается байт данных из памяти, причем чтение будет стробировано сигналом (рис.1.20)

D6

Вводиз ВУ

Активный сигнал 1 указывает на то, что на ША находится адрес ВУ, а с ШД вводятся в аккумулятор данные, причем ввод простробируется сигналом (рис.1.20)

D5

М1

Активный сигнал 1 указывает на то, что выполняется цикл М1 чтения КОП

D4

Вывод в ВУ

Активный сигнал 1 указывает на то, что на ША находится адрес ВУ, а на ШД - содержимое аккумулятора, запись которого в ВУ простробируется сигналом (рис.1.20)

D3

ПОст - подтверждение останова

Активный сигнал 1 указывает на то, что МП перешел в состояние ОСТАНОВ, который инициируется программно по команде HLT

D2

Стек

Активный сигнал 1 указывает на то, что на ША находится адрес ячейки стека, расположенной в ОЗУ

D1

Записьв ОЗУ или ВУ (Запись)

Активный сигнал 0 указывает на то, что в текущем МЦ производится запись данных в ОЗУ или в ВУ. В противном случае будет чтение из ЗУ или ВУ

D0

ППр- подтверждение прерывания

Активный сигнал 1 совместно с сигналом DBINиспользуется для стробирования командыRST, которая считывается из ВУ, запросившего прерывание (рис.1.26)

Машинные циклы МП КР580ВМ80 можно разбить на 10 типов в зависимости от сочетания сигналов СС. Типы машинных циклов приведены в таблице 1.2.

Таблица 1.2

Название машинного цикла

D7 - Память

D6 - Ввод

D5 - М1

D4 – Вывод

D3 – ПОст

D2 – Стек

D1 – Запись

D0 - ППр

1

Выбор кода операции – цикл М1

1

0

1

0

0

0

1

0

2

Чтение из памяти

1

0

0

0

0

0

1

0

3

Запись в память

0

0

0

0

0

0

0

0

4

Чтение из стека

1

0

0

0

0

1

1

0

5

Запись в стек

0

0

0

0

0

1

0

0

6

Чтение из ВУ (ввод)

0

1

0

0

0

0

1

0

7

Запись в ВУ (вывод)

0

0

0

1

0

0

0

0

8

Подтверждение прерывания

0

0

1

0

0

0

1

1

9

Подтверждение останова

1

0

0

0

1

0

1

0

10

Подтверждение прерывания в режиме "Останов"

0

0

1

0

1

0

1

1

Слово состояния используется для формирования сигналов шины управления ШУ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]