- •К.А. Палагута Микропроцессоры и интерфейсные средства транспортных средств
- •Москва 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 Контрольные вопросы и задания
- •Заключение
- •Глоссарий
- •Список литературы
3.5. Организация памяти
Хранение информации в памяти микропроцессорных систем может быть организовано различными способами. Наиболее часто реализуются следующие варианты организации памяти:
линейная,
сегментная (блочная),
страничная.
Использование того или иного способа организации памяти определяется функциями системы, объемом памяти и рядом других факторов. Многие микропроцессоры обеспечивают возможности реализации любого из этих способов.
Линейная организация. Это наиболее простой способ организации памяти, при котором формируемый процессором адрес непосредственно поступает на адресную шину, обеспечивая обращение к соответствующей ячейке памяти. В этом случае адрес, который формируется процессором в соответствии с заданным в команде способом адресации (линейный адрес), выдается на системную шину как физический адрес выбираемой ячейки памяти.
Сегментная организация. Данный способ обеспечивает разбиение памяти на отдельные сегменты (блоки), обращение к которым реализуется в соответствии с определенными правилами. В первую очередь реализуется разделение памяти на область (сегмент) команд и данных. Область данных может подразделяться на сегмент стека и несколько сегментов обрабатываемых данных. Размер сегментов может быть фиксированным (от 64 Кбайт до 4 Гбайт) или переменным (программируемым).
|
Рис. 3.3. Реализация доступа при сегментной адресации памяти |
Реализация сегментной адресации обеспечивается с помощью специальных сегментных регистров, в которых хранится базовый (начальный) адрес, определяющий позицию первого байта данного сегмента. В этом случае формируемый при выполнении программы линейный адрес выбираемой команды или операнда является относительным адресом, который определяет их положение в сегменте, начальный адрес которого задается содержимым сегментного регистра (рис. 3.3). Физический адрес при сегментной организации памяти образуется путем арифметического суммирования базового адреса сегмента и относительного адреса операнда (команды).
В ряде микропроцессоров, например, в Pentium, обращение к сегментам выполняется согласно определенным правилам, которые обеспечивают защиту сегментов в соответствии с заданной системой привилегий (защищенный режим). В этом случае кроме сегментных регистров для организации обращения к сегментам используются специальные структуры данных - дескрипторы, которые задают базовый адрес и размер сегмента, а также указывают его атрибуты, определяющие возможность доступа к содержимому сегмента.
Страничная организация. Этот способ организации памяти предполагает разбиение адресуемых массивов данных или команд на относительно мелкие фрагменты - страницы. Типичный объем страницы составляет 4 Кбайт, хотя в ряде микропроцессоров обеспечивается возможность работы со страницами разного размера - от 256 байт до 4 Мбайт. Страницы могут размещаться в различных местах адресуемого пространства памяти, а их расположение определяется специальными таблицами адресов, которые обычно хранятся в ОЗУ. Страничная организация позволяет наиболее полно использовать имеющийся объем памяти, гак как обеспечивает разбиение информации и ее размещение в любом свободном фрагменте памяти размером не менее одной страницы.
При страничной организации реализуется иерархический уровень разбиения информации, аналогичный принятому в печатных изданиях, когда материал разбивается на отдельные части - главы, разделы и подразделы, состоящие из страниц. Такое разбиение отражается в оглавлении печатного издания. В микропроцессорных системах со страничной организацией памяти, функции оглавления выполняют специальные таблицы адресов, которые хранятся в ОЗУ. Обычно реализуется двухступенчатое разбиение типа «раздел-страница», при котором для обращения к соответствующей странице необходимо предварительно определить адрес ее размещения с помощью соответствующих таблиц адресов (рис. 3.4).
|
Рис. 3.4. Реализация доступа при страничной организации памяти
|
При страничной организации памяти формируемый процессором линейный адрес используется для получения физического адреса, который образуется путем
трансляции (преобразования) с помощью обращения к соответствующим таблицам адресов. На рис. 3.4 иллюстрируется процесс страничной трансляции 32-разрядного линейного адреса, выполняемый в процессорах Pentium. При этом линейный адрес обеспечивает выбор одного из 1024 разделов, каждый из которых может содержать 1024 страницы емкостью 4 Кбайт. Каталог разделов и таблицы адресов страниц хранятся в ОЗУ системы. Поле "Раздел" линейного адреса задает номер выбираемого раздела в каталоге, базовый адрес которого обычно хранится в специальном регистре страничной адресации. При этом из каталога разделов выбирается базовый адрес одной из 1024 таблиц, в которых хранятся базовые адреса страниц, входящих в соответствующий раздел. Поле "Страница" указывает в этой таблице базовый адрес страницы раздела, к которой производится обращение. Поле «Смещение» определяет позицию выбираемого операнда или команды на данной странице. Таким образом, их физический адрес формируется после процесса трансляции путем суммирования базового адреса страницы, полученного из соответствующей таблицы, и смещения, задаваемого 12 младшими разрядами линейного адреса.
При страничной организации памяти часто реализуется ограничение доступа к определенным страницам с использованием системы привилегий, как и при сегментной организации. Во многих процессорах реализуются возможности как сегментной, так и страничной организации памяти. При этом обеспечивается возможность разбиения сегментов на отдельные разделы и страницы, размещаемые в свободных позициях памяти.
Рассмотренная реализация страничной организации требует дополнительной памяти для хранения каталога разделов (до 4 Кбайт) и до 1024 таблиц страниц по 4 Кбайт каждая. Кроме того, трансляция адреса требует двух дополнительных циклов обращения к памяти для получения базовых адресов раздела и страницы. Чтобы избежать потерь времени на выборку этих адресов в микропроцессорах обычно имеется специальная память - буфер страничной трансляции, где хранятся базовые адреса страниц, к которым производились последние обращения. При последующих обращениях к этим страницам их базовый адрес выбирается непосредственно из буфера, и не требуется затрат времени на трансляцию адреса. Обычно емкость буфера составляет несколько десятков или сотен базовых адресов. При этом трансляция адреса с обращением к таблицам страниц производится достаточно редко - только в том случае, если базовый адрес страницы отсутствует в буфере, т.е. к данной странице ранее не было обращений, или эти обращения происходили достаточно давно, и ее базовый адрес был замещен адресами других страниц. Таким образом, буфер
страничной трансляции обеспечивает страничную адресацию без существенной потери производительности системы.