- •К.А. Палагута Микропроцессоры и интерфейсные средства транспортных средств
- •Москва 2011
- •Глава 1. Микропроцессор (мп), микропроцессорная система (мпс), основные понятия 11
- •Глава 2 Режимы работы мпс 33
- •Глава 3. Реализация и организация памяти мп 57
- •Глава 4. Микропроцессор кр580вм80а (Intel 8080) 77
- •Глава 5. Микропроцессор к1810вм86 (Intel 8086) 138
- •Глава 6. Микропроцессоры Intel от 80186 до Pentium 4 159
- •Глава 7. Микропроцессор к1801вм1, магистраль q-bus 209
- •Глава 8. Понятие и задачи интерфейса 239
- •Глава 9. Интерфейсные блоки для магистралей isa и q-bus 255
- •Глава 10. Промышленные интерфейсы. Сетевые протоколы в автомобиле 308
- •Глава 11. Интегральные схемы программируемой логики (ис пл) 326
- •Предисловие
- •Введение
- •Глава 1. Микропроцессор (мп), микропроцессорная система (мпс), основные понятия
- •1.1 Определение микропроцессора, классификация мп
- •1.2 Микропроцессорный комплект (мпк)
- •1.3 Микропроцессорная система
- •1.4 Линия, шина, магистраль
- •1.5 Типы магистралей
- •1.6 Шина адреса, раздельные и объединенные адресные пространства памяти и устройств ввода-вывода
- •1.7 Шина данных
- •1.8 Шина управления
- •1.9 Архитектура и структура микропроцессора
- •1.10 Cisc и risc процессоры, конвейерное выполнение команд программы
- •1.11 Конвейерная обработка данных
- •1.12 Контрольные вопросы и задания
- •Глава 2 Режимы работы мпс
- •2.1 Режим обмена данными под управлением процессора
- •2.2 Режим пдп
- •2.3 Режим прерывания
- •2.4 Контрольные вопросы и задания
- •Глава 3. Реализация и организация памяти мп
- •3.1. Виды запоминающих устройств (зу)
- •3.2. Кэш-память
- •3.3. Когерентность, механизмы сквозной и обратной записи
- •3.4. Алгоритмы обновления содержимого заполненных строк, снуппинг
- •3.5. Организация памяти
- •3.6. Внешние зу
- •3.7. Контрольные вопросы и задания
- •Глава 4. Микропроцессор кр580вм80а (Intel 8080)
- •4.1 Структура мп к580вм80
- •4.2 Основные технические характеристики мп кр580вм80а
- •4.3 Регистровая модель мп к580вм80
- •4.4 Классификация команд мп кр580вм80а
- •4.5 Команды пересылки (перемещения) данных
- •4.5.1 Пересылка из регистра в регистр
- •4.5.2 Непосредственная пересылка
- •4.5.3 Непосредственная загрузка пары регистров
- •4.5.4 Запоминание/загрузка аккумулятора и пары hl
- •4.5.5 Ввод из пары регистров в стек
- •4.5.6 Ввод а и f в стек
- •4.5.7 Выбор из стека пары регистров
- •4.5.8 Выбор (a) и (f) из стека
- •4.5.9 Обмен данными
- •4.5.10 Пересылка нl
- •4.6 Приращение / отрицательное приращение
- •4.6.1 Приращение/отрицательное приращение регистра
- •4.6.2 Приращение пары регистров
- •4.6.3 Отрицательное приращение пары регистров
- •4.7 Арифметические и логические операции
- •4.7.1 Арифметические операции над (a) и (r)
- •4.7.2 Арифметические операции с непосредственной адресацией
- •4.7.3 Сложение содержимого пар регистров
- •4.7.4 Логические операции над (а) и (r)
- •0800) Ora c
- •4.7.5 Логические операции с непосредственной адресацией
- •4.7.6 Операции сравнения
- •4.7.7 Операции циклического сдвига (а).
- •4.7.8 Дополнение аккумулятора
- •4.8 Команды перехода и вызова подпрограмм
- •4.8.1 Команды переходов
- •4.8.2 Команды вызова подпрограмм и возврата из подпрограмм
- •4.9 Команды ввода – вывода
- •4.9.1 Ввод данных из входного порта
- •4.9.2 Вывод данных в выходной порт
- •4.10 Команды управления
- •4.10.1 Рестарт (повторный запуск)
- •4.10.2 Изменение (Тс)
- •0800) Stc
- •0800) Cmc
- •4.10.3 Управление прерываниями
- •4.10.4 Двоично-десятичная коррекция
- •4.10.5 Пустая операция
- •4.10.6 Останов
- •4.11 Микропроцессор intel8085
- •4.11.1 Архитектура мп intel8085
- •4.11.2 Регистры мп Intel 8085
- •4.11.3 Ввод и вывод последовательных данных
- •4.12 Контрольные вопросы и задания
- •Глава 5. Микропроцессор к1810вм86 (Intel 8086)
- •5.1. Устройство и работа микропроцессора Intel 8086 (k1810bm86)
- •5.1.1. Структура микропроцессора Intel 8086
- •5.1.2. Режимы работы микропроцессора
- •5.1.3. Структура минимально укомплектованной системы на базе микропроцессора к1810вм86
- •5.1.4. Структура системы средней сложности на базе микропроцессора к1810вм86
- •5.2. Программная модель микропроцессора Intel 8086
- •5.2.1. Пользовательские регистры
- •5.2.2. Регистры общего назначения
- •5.2.3. Сегментные регистры
- •5.2.4. Регистры состояния и управления
- •5.3. Формирование физического адреса в микропроцессоре Intel 8086
- •5.4 Способы адресации микропроцессора
- •5.5 Контрольные вопросы и задания
- •Глава 6. Микропроцессоры Intel от 80186 до Pentium 4
- •6.1. Архитектура микропроцессоров 80186/80188
- •6.2. Микропроцессор 80286
- •6.2.1 Аппаратные особенности
- •6.2.2 Система команд
- •6.2.3. Виртуальная память
- •6.3. Микропроцессоры 80386 и 80486
- •6.3.1. Микропроцессор 80386
- •6.4. Микропроцессоры Pentium и Pentium Pro
- •6.5. Специальные регистры микропроцессора Pentium
- •6.6. Управление памятью микропроцессора Pentium
- •6.7. Новые команды микропроцессора Pentium
- •6.8. Специальные особенности микропроцессора Pentium Pro
- •6.9. Микропроцессоры Pentium II, Pentium III и Pentium 4
- •6.9.1. Сопряжение с памятью
- •6.9.2. Набор регистров
- •6.11 Контрольные вопросы и задания
- •Глава 7. Микропроцессор к1801вм1, магистраль q-bus
- •7.1 Микропроцессор к1801вм1
- •7.1.1 Структурная схема микропроцессора к1801вм1
- •7.1.2 Основные технические характеристики
- •7.1.3 Регистровая модель микропроцессора
- •7.1.4 Адресное пространство
- •7.1.5 Формат команд
- •7.1.6 Методы адресации
- •7.2. Системная магистраль q-Bus
- •7.2.1 Временная диаграмма цикла ввод
- •7.2 2 Временная диаграмма цикла вывод
- •7.2.3 Цикл ввод-пауза-вывод
- •7.2.4 Временная диаграмма предоставления прямого доступа к памяти
- •7.2.5 Временная диаграмма прерывания
- •7.3 Контрольные вопросы и задания
- •Глава 8. Понятие и задачи интерфейса
- •8.1 Интерфейс
- •8.2 Селекция магистралей
- •8.2.1 Схемы централизованной селекции
- •8.2.2 Схемы децентрализованной селекции
- •8.3 Синхронизация обмена по магистрали
- •8.4 Координация взаимодействия устройств на магистрали
- •8.5 Контрольные вопросы и задания
- •Глава 9. Интерфейсные блоки для магистралей isa и q-bus
- •9.1 Isa
- •9.2. Порядок обмена по системной магистрали isa
- •9.2.1. Особенности магистрали isa
- •9.2.2. Сигналы магистрали isa
- •9.2.3. Циклы магистрали isa
- •9.3 Разработка устройств сопряжения для isa
- •9.3.1. Проектирование аппаратуры для сопряжения с isa
- •9.4 Разработка устройств сопряжения для q-bus
- •9.5 Контрольные вопросы и задания
- •Глава 10. Промышленные интерфейсы. Сетевые протоколы в автомобиле
- •10.1 Промышленные Fieldbus (полевые) сети
- •10.1.1 Модель osi (Open System Interconnection) (iso/osi) для стандартов.
- •10.1.2 Локальная сеть на основе интерфейса rs-485, объединяющая несколько приемо-передатчиков.
- •10.2 Этапы развития fieldbus технологий
- •10.3 Сетевые протоколы в автомобиле
- •10.4 Контрольные вопросы и задания
- •Глава 11. Интегральные схемы программируемой логики (ис пл)
- •11.1. Классификация ис программируемой логики
- •11.2. Конструктивно-технологические типы современных программируемых элементов
- •11.3. Области применения микросхем с программируемой логикой
- •11.4 Системные свойства ис пл
- •11.5 Типовые схемотехнические решения
- •11.6 Приемы дополнительной обработки сигнала
- •11.7 Организация двунаправленных выводов
- •11.8 Схема программирования типа выхода ячейки (введение триггера)
- •11.9 Fpga (программируемые пользователем вентильные матрицы)
- •11.10. Полные ресурсы межсоединений в микросхемах cpld
- •11.11 Контрольные вопросы и задания
- •Заключение
- •Глоссарий
- •Список литературы
4.6.2 Приращение пары регистров
INX ri |
ri, ri+1 (ri), (ri+1) + 1 B1 |
00 |
ri |
011 | |
|
|
7 |
0 |
при ri =110 - приращение SP
Пример:
2C05) INX B
Адрес |
Код до выполнения операции |
Код после выполнения операции |
2C05 |
03 |
03 |
B |
37 |
38 |
C |
FF |
00 |
FL |
02 |
02 |
PC |
2C05 |
2C06 |
4.6.3 Отрицательное приращение пары регистров
DCX ri |
ri, ri+1 (ri), (ri+1) - 1 <B1> |
00 |
ri+1 |
011 | |
|
|
7 |
0 |
при ri =111 - отрицательное приращение SP
Действие команд 4.6.2 и 4.6.3 аналогично действию команды 4.6.1, однако рассматривается двухбайтовое слово (16 разрядов). Регистровыми парами могут быть HL , BC, DE. В коде команды 4.6.2 содержится код старшего регистра пары(B, D, H), а в коде команды 4.6.3 - код младшего регистра пары (C, E, L). При выполнении команды содержимое регистра признаков не изменяется. На выполнение команды затрачивается один машинный цикл (5 тактов для команды 4.6.2 и 6 тактов для команда 4.6.3) Если код регистра равен 110 или 111, происходит увеличение или уменьшение содержимого регистра SP - указателя стека.
Примеры:
0801) DCX D
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
0801 |
1B |
1B |
D |
FF |
FE |
E |
00 |
FF |
FL |
96 |
96 |
PC |
0801 |
0802 |
0A33) DCX D
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
0A33 |
1B |
1B |
D |
07 |
07 |
E |
2E |
2D |
FL |
13 |
13 |
PC |
0A33 |
0A34 |
4.7 Арифметические и логические операции
При выполнении арифметических и логических операций, когда операнды однобайтовые, один из операндов всегда находится в аккумуляторе, а второй находится в одном из регистров A, B, C, D ,E, H, L или M. При непосредственной адресации второй операнд приводится во втором байте команды. Результат выполнения операции записывается в аккумулятор. При этом прежнее содержимое аккумулятора теряется.
Микропроцессор содержит ограниченное число арифметических и логических команд: сложение, вычитание, логическое сложение и логическое умножение, исключающее ИЛИ, сравнение и дополнение. Более сложные операции над числовыми данными реализуются программно.
4.7.1 Арифметические операции над (a) и (r)
а) Сложение
ADD ri |
A(A) + (ri) <B1> |
10000 |
ri |
б) Сложение с переносом
ADC ri |
A(A) + (ri) + (Tc) <B1> |
10001 |
ri |
в) Вычитание
SUB ri |
A(A) - (ri) <B1> |
10010 |
ri |
г) Вычитание с переносом
SBB ri |
A(A) - (ri) - (Tc) <B1> |
10011 |
ri |
В рассмотренных командах производятся арифметические действия над содержимым двух регистров, один из которых (или оба) - аккумулятор. В результате выполнения операции прежнее содержимое аккумулятора замещается суммой или разностью, старое содержимое аккумулятора теряется.
Применение операций с переносом позволяет обрабатывать не только байтовые числа, но и многобайтовые.
При выполнении команд сложения все триггеры признаков устанавливаются всегда в соответствии с результатом.
При выполнении команд вычитания 3 флага из 5 устанавливаются всегда одинаковым образом, независимо от того сводится вычитание к сложению или нет. Это TS, TZ ,TP; флаги TC и Th ведут себя иначе. Изменение Th определяется при преобразовании вычитания в сложение (путем смены знака вычитаемого и преобразования значения в дополнительный код). Флаг TC=1 если код уменьшаемого меньше кода вычитаемого, т.е. имеет место заем.
Применение операций с переносом позволяет обрабатывать не только байтовые числа, но и многобайтовые.
Примеры:
015B) ADD M
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
015B |
86 |
86 |
H |
3E |
3E |
L |
23 |
23 |
3E23 |
6C |
6C |
A |
A4 |
10 |
FL |
02 |
13 |
PC |
015B |
015C |
1A20) ADC E
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
1A20 |
8B |
8B |
A |
16 |
6A=16+54+0 |
E |
54 |
54 |
FL |
02; (Tc)=0 |
06 |
PC |
1A20 |
1A21 |
00B3) ADC C
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
00B3 |
89 |
89 |
C |
DB |
DB |
A |
AF |
8B=DB+AF+1 |
FL |
13; Tc=1 |
97 |
PC |
00B3 |
00B4 |
Рассмотренные команды являются однобайтовыми, выполняются за один цикл (4 такта); если операнд хранится в памяти (М), то операция выполняется за два цикла (7 тактов). При выполнении команд меняется содержимое всех триггеров регистра признаков.
1A30) SUB D
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
1A30 |
92 |
92 |
D |
45 |
45 |
A |
FC |
B7 |
FL |
02 |
96 |
PC |
1A30 |
1A31 |
1A40) SBB B
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
1A40 |
98 |
98 |
B |
6A |
6A |
A |
5B |
F0 = 5B-6A-1 |
FL |
03; Tc=1 |
97 |
PC |
1A40 |
1A41 |
Рассмотрим несколько особенных примеров.
082А) SBB H
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
082A |
9C |
9C |
A |
60 |
60 |
H |
FF |
FF |
FL |
83, TC=1 |
17 |
PC |
082A |
082B |
Особенностью данной команды является то, что триггеры признаков TC и TH устанавливаются так, как это происходит при выполнении этой команды в два этапа:
1) (A) - TC= 60 – 1= 5F
2) ((A) - TC) – H = 5F – FF = 60;
и признаки переноса и полупереноса (TC и TH) устанавливаются в соотвествии со вторым этапом, т.е. TC = 1, TH = 1.
0903) АDD L
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
0903 |
85 |
85 |
A |
7F |
81 |
L |
02 |
02 |
FL |
13 |
96 |
PC |
0903 |
0904 |
0A09) SUB D
Адрес/регистр |
Код до выполнения операции |
Код после выполнения операции |
0A09 |
92 |
92 |
A |
83 |
79 |
D |
0A |
0A |
FL |
17 |
02 |
PC |
0A09 |
0A0A |
Особенностью двух последних команд является то, что их результаты имеют смысл только в тех случаях, когда обрабатываемые коды являются кодами чисел без знака.