- •К.А. Палагута Микропроцессоры и интерфейсные средства транспортных средств
- •Москва 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 Контрольные вопросы и задания
- •Заключение
- •Глоссарий
- •Список литературы
5.5 Контрольные вопросы и задания
Что входит в регистровую модель микропроцессора К1810ВМ86?
Какую структуру имеет регистр флагов?
Как используется бит направления DF?
Объясните назначение блоков в минимально укомплектованной микропроцессорной системе.
Чем отличаются минимальный и максимальный режимы работы микропроцессора?
Как формируются сигналы шины управления в системе средней сложности?
Опишите организацию памяти микропроцессора К1810ВМ86.
Как работает сумматор адреса микропроцессора К1810ВМ86?
Какие методы адресации использует микропроцессор К1810ВМ86?
Расскажите о назначении сегментных регистров.
Что такое эффективный адрес памяти?
Какой сегментный регистр будет использоваться для базово-индексной адресации через регистр BP?
Глава 6. Микропроцессоры Intel от 80186 до Pentium 4
Микропроцессор i80186
Микропроцессоры Intel 80186/80188 являются усовершенствованными версиями предшествующих микропроцессоров Intel 8086/8088. Микропроцессоры 80186/80188 и 80286 не представляют собой нового поколения архитектуры, они являются процессорами с 16-разрядной внутренней архитектурой и совместимы с микропроцессорами 8086/8088 снизу вверх.
Микропроцессор i80286
Микропроцессор i80286, хотя во многом повторяет i8086/88, позволяет адресовать уже 16 Мбайт памяти вместо 1 Мбайт. В систему команд включен ряд инструкций для управления дополнительным объемом памяти (15 Мбайт). Увеличена до 8 МГц тактовая частота, в результате чего некоторые инструкции теперь выполняются не более чем за 250 нс. Внесены изменения в алгоритм выполнения инструкций, что позволило уменьшить время их выполнения, в большинстве случаев, в 8 раз.
Микропроцессор i80386
С появлением новых приложений продолжали возрастать требования к скорости вычислений, разрядности данных и объему оперативной памяти. В 1986 г. фирма Intel выпустила 32-разрядный микропроцессор i80386, весьма существенно отличающийся от своих 16-разрядных предшественников. Этот процессор был первым из удачно разработанных микропроцессоров фирмы Intel с 32-разрядной шиной адреса и данных. При 32-разрядной шине адреса открывается доступ к 4 Гбайт оперативной памяти. В памяти такого объема можно разместить около миллиона страниц текста в коде ASCII. Среди модификаций микропроцессора i80386 можно отметить i80386SX, с 16-разрядной шиной данных и 24-разрядной шиной адреса, что позволяло адресовать 16 Мбайт памяти, а также i80386SL/80386SLC, с 16-разрядной шиной данных и адресным пространством 32 Мбайт, доступным посредством 25-разрядной шины адреса. В процессоре i80386SLC также имелась внутренняя кэш-память, что позволяло обрабатывать данные с более высокой скоростью. В 1995 г. фирма Intel выпустила микропроцессор i80386EX, с 16-разрядной шиной данных, 26-разрядной шиной адреса памяти и 24-разрядной шиной адреса портов ввода-вывода. Этот процессор получил название встроенного персонального компьютера (embedded PC), поскольку в его микросхему были включены необходимые компоненты IBM PC/AT (например, контроллер регенерации динамической памяти).
Для процессора i80386 характерны не только более высокая скорость и разрядность. Управление памятью в i80386 реализовано на аппаратном уровне, а не на программном, как в предшествующих микропроцессорах, что значительно ускоряет работу с памятью и сокращает необходимый для этого код.
По системе команд микропроцессор i80386 совместим снизу вверх с i8088/86/286. Введены дополнительные инструкции для работы с 32-разрядными регистрами и для управления памятью. Инструкции для управления памятью, включенные в систему команд i80286, совместимы и с i80386.
Микропроцессор i80486
В 1989г. фирма Intel выпустила микропроцессор i80486, объединивший в одной микросхеме процессор i80386, арифметический сопроцессор i80387 и внутреннюю кэш-память размером 8 Кбайт. В структуру центрального процессора (Central Processor Unit — CPU) были внесены изменения, позволяющие выполнять около половины инструкций не за два такта, а за один. В результате при тактовой частоте 50 МГц время выполнения таких инструкций составляло 25 нc. По сравнению с i80386 производительность i80486, работающего на той же тактовой частоте, выше на 50%. В дальнейшем был выпущен вариант микропроцессора i80486 с удвоенной тактовой частотой — i80486DX2. В нем базовая тактовая частота (33 МГц) использовалась при доступе к оперативной памяти, а на удвоенной частоте (66 МГц) выполнялись внутренние инструкции. В микропроцессоре i80486DX4 частота была утроена: базовая частота для доступа к памяти по-прежнему составляла 33 МГц, а выполнение инструкции шло на частоте 100 МГц. Также, в i80486DX4 был удвоен объем кэш-памяти — размер ее достиг 16 Кбайт
Фирмой Intel были выпущены и другие разновидности i80486, известные под названием Overdrive-процессоров. Процессор Overdrive — это i80486DX с удвоенной тактовой частотой, предназначенный для замены i80486SX или варианта i80486DX, работающего на частоте материнской платы. Например, при замене i80486SX, работающего на тактовой частоте 25 МГц, на Overdrive-процессор, частота шины данных остается прежней, но внутренние инструкции выполняются на частоте 50 МГц.
Микропроцессор Pentium
Микропроцессор Pentium, выпущенный в 1993г., продолжил линию процессоров i80386/80486. (Названия Р5 и 80586, первоначально присвоенные этому микропроцессору, не были приняты официально ввиду сложностей патентования.) Первоначальные реализации процессора Pentium работали на тактовой частоте 60 и 66 МГц, с производительностью 100 млн оп./сек. Имелись также модификации, работающие на полуторной (100 МГц, 150 млн оп./сек) и на удвоенной частоте (120 и 133 МГц). Самый быстрый вариант Pentium, выпущенный фирмой Intel, работал на частоте 233 МГц. Общий объем кэш-памяти в Pentium составлял 16 Кбайт, в отличие от базовых версий процессора i80486, причем кэш данных (8 Кбайт) был выполнен отдельно от кэша инструкций (8 Кбайт), т.е. была использована гарвардская архитектура. Адресное пространство в Pentium составляет 4 Гбайт. Частота шины данных по сравнению с i80486 возросла вдвое (60/66 МГц вместо 33 МГц), а ее разрядность увеличена до 64 бит. Увеличение разрядности шины данных дает значительное преимущество при работе с действительными числами удвоенной точности, что требуется, например, в приложениях, использующих векторную графику. Позднее система команд Pentium была расширена группой инструкций ММХ (MultiMedia eXtention), ориентированных на мультимедийные приложения; правда, вопреки ожиданиям, ММХ - команды не получили широкого практического распространения.
Затем появился вариант Pentium Overdrive (P24T), имеющий целью модернизацию старых систем на базе микропроцессора i80486. Overdrive-процессор с частотой 63 МГц позволял заменить i80486DX2, работающий на частоте 50 МГц, а Overdrive с частотой 83 МГц позволял заменить i80486DX2 в системе, работающей на частоте 66 МГц. Последний вариант по скорости занимал промежуточное положение между обычными процессорами Pentium, работающими на частотах 66 и 75 МГц.
Наиболее существенная особенность Pentium — это наличие сдвоенного ядра процессора19, способного одновременно выполнять пару взаимно-независимых инструкций. В результате, на Pentium возможно выполнение двух инструкций всего за один такт. Процессоры, в которых используется принцип одновременной работы нескольких операционных блоков, называются суперскалярными. Еще одно нововведение, также способствующее повышению производительности процессора Pentium при отработке циклов, — блок предсказания переходов. Кроме того, в Pentium имеется встроенный сопроцессор, который работает в пять раз быстрее аналогичного сопроцессора, входящего в микропроцессор i80486.
Pentium Pro
Микропроцессор Pentium Pro (первоначальное название — Р6) был выпущен фирмой Intel в конце 1995 г. Он содержит ядро, состоящее из трех конвейеров, и арифметический сопроцессор. Первые экземпляры Pentium Pro работали на частоте 150 и 166 МГц. В дополнение к кэш-памяти первого уровня (L1) объемом 16 Кбайт (8 Кбайт кэш данных и 8 Кбайт кэш команд) в Pentium Pro введен кэш второго уровня (L2) объемом 256 Кбайт. Поскольку процессор имеет три конвейера, возможно выполнение до трех команд за один такт, причем, в отличие от Pentium, одновременное выполнение возможно даже при конфликтующих сочетаниях инструкций. Обработка 32-разрядных данных в Pentium Pro оптимизирована, поскольку этот процессор предназначался для построения серверов. Адресное пространство увеличено до 64 Гбайт; разрядность шины адреса составляет 36 бит.
Pentium II и Pentium Xeon
Микропроцессор Pentium II, выпущенный в 1997г., стал новым шагом для процессоров фирмы Intel с точки зрения конструкции. Процессор выполнен не в виде интегральной микросхемы, а в виде компактной печатной платы, на которой дополнительно установлена кэш-память второго уровня (L2). В Pentium кэш L2 работал на частоте системной шины — 60/66 МГц. В Pentium II кэш L2 (объемом 512 Кбайт) и процессор объединены в модуле Pentium II. Кэш L2 в этой системе функционирует на частоте 133 МГц. Процессор в составе модуля Pentium II — это по сути Pentium Pro (с поддержкой ММХ), но без встроенной кэш-памяти второго уровня.
Pentium II, при внутренней тактовой частоте 266/333 МГц, выполнял доступ к памяти на частоте всего 66 МГц. В 1998 г. тактовая частота шины данных была увеличена до 100 МГц; это значение использовалось в Pentium II 350/400/450, что потребовало уменьшения времени цикла обращения к динамической памяти с 10 до 8 нс.
В середине 1998 г. корпорация Intel объявила о выпуске новой версии Pentium II — Pentium Xeon. Новый процессор был специально разработан для серверов и сильно нагруженных рабочих станций. Процессор Xeon, по сравнению с Pentium II, обладает большим объемом кэш-памяти: L1 — 32 Кбайт, L2 — 512 Кбайт, или 1 Мбайт, или даже 2 Мбайт. Выпуск Pentium II Xeon в дополнение к Pentium II означал изменение в стратегии корпорации Intel: выполнять каждый новый процессор в двух версиях — профессиональной и бытовой.
Pentium III
Несмотря на то, что в процессоре Pentium III применено более быстродействующее ядро, это по-прежнему все тот же процессор Р6 (Pentium Pro). Конструктивные версии Pentium III — в корпусе SECC2 (Single Edge Contact Cartridge), устанавливаемый в Slot 1, и в корпусе PPGA (Plastic Pin Grid Array), под названием flip-chip PGA, устанавливаемый в Socket 370. В обоих вариантах тактовая частота достигает 1 ГГц. Кэш-память в первом варианте составляет 512 Кбайт, а во втором — 256 Кбайт. Вместе с тем, в первом варианте кэш работает на половинной частоте, так что указанные варианты Pentium III различаются по скорости незначительно. Частота системной шины в обоих вариантах составляет 100 МГц (Intel Celeron использует частоту 66 МГц). В остальных магистралях, предназначенных для соединения с контроллерами, такими как контроллер PCI, контроллер памяти или контроллер AGP, применяется тактовая частота 100 или 133 МГц.
Pentium 4
Последняя разработка фирмы Intel, микропроцессор Pentium 4, появился в конце 2000г. В нем сохранена прежняя архитектура Р6. Выигрыш достигнут за счет увеличения тактовой частоты до 1,3/1,4/1,5 ГГц, что стало возможным благодаря прогрессу технологии микросхем. Чипсет, который обеспечивает работу Pentium 4, использует технологию памяти RAMBUS взамен прежней технологии SDRAM (Synchronous Dynamic Random Access Memory). При этом размер кэш-памяти первого уровня сокращен до 8 Кбайт. Как выяснилось, 8 Кбайт было вполне достаточно для первой модели Pentium 4. Кэш L2 остался прежним, как в Pentium III — 256 Кбайт.
Переход в Pentium 4 к "медной" технологии позволил существенно повысить тактовую частоту шин. (Медь является лучшим проводником, но технология ее применения в микропроцессорах была освоена не так давно.) В результате тактовая частота системной шины уже в первых версиях Pentium 4 достигла и превысила 400 МГц.