- •А. В. Поздняков, б. Я. Цилькер микропроцессоры и микропроцессорные системы
- •Часть 1
- •(Учебное пособие)
- •Содержание
- •1. Микропроцессорные системы
- •1.1. Историческая справка
- •1.2. Архитектура мпс с магистрально-модульной организацией
- •1.3. Режимы работы мпс
- •2.1. Центральный процессор
- •2.1.1. Классификация микропроцессоров
- •2. Микропроцессорный модуль
- •2.1.2. Структура центрального процессора
- •2.1.2.1. Краткая характеристика микропроцессора Intel 8086
- •2.1.2.2. Архитектура микропроцессора Intel 8086
- •2.1.2.3. Программная модель микропроцессора Intel 8086
- •2.1.2.4. Представление информации в мп Intel 8086
- •2.1.2.5. Способы адресации операндов в мп Intel 8086
- •2.1.2.6. Система команд мп Intel 8086
- •2.1.2.7. Содержание цикла команды, типовые машинные циклы мп Intel 8086
- •2.1.2.8. Входные и выходные сигналы мп Intel 8086
- •2.2. Сопроцессор
- •2.3. Генератор тактовых импульсов
- •2.4. Системный контроллер
- •2.5. Согласующие элементы микропроцессорных систем
- •2.5.1. Шинные формирователи
- •2.5.2. Буферные регистры
- •2.6. Контроллер прерываний
- •2.7. Контроллер прямого доступа к памяти
- •2.8. Программируемый таймер
- •3. Модуль памяти
- •3.1. Организация модуля памяти
- •3.2. Распределение адресного пространства зу
- •3.3. Декодирование старших разрядов адреса.
- •3.3.1. Декодирование адресов методом линейной выборки
- •3.3.2. Декодирование адресов с помощью логических компараторов
- •3.3.3. Декодирование адресов с применением комбинационных логических схем
- •3.4. Выбор типа зу
- •3.5. Функциональная схема модуля памяти
- •3.6. Обеспечение необходимой емкости зу
- •3.6.1. Увеличение разрядности зу
- •3.6.2. Увеличение адресного пространства зу
- •4. Модуль ввода-вывода
- •4.1. Интерфейс ввода-вывода
- •4.2. Параллельные порты
- •4.2.1. Параллельный порт вывода
- •4.2.2. Параллельный порт ввода
- •4.2.3. Параллельные порты ввода-вывода
- •4.3. Последовательные порты
- •4.3.1. Последовательный асинхронный порт вывода
- •4.3.2. Последовательный асинхронный порт ввода
- •4.3.3. Программируемый последовательный интерфейс
- •4.4. Организация обращения к портам ввода/вывода
- •4.4.1. Обращение к портам ввода/вывода с помощью специальных команд
- •4.4.2. Обращение к портам ввода/вывода с помощью команд пересылок
- •4.5. Способы организации ввода/ вывода информации в мпс
- •4.5.1. Организация ввода/вывода информации под управлением основной программы
- •4.5.2. Организация ввода/вывода в режиме прерывания программы
- •4.5.3. Организация ввода/вывода в режиме прямого доступа к памяти
- •Система команд микропроцессора Intel 8086 Команды пересылки данных
- •Арифметические команды
- •Логические команды
- •Команды передачи управления
- •Команды управления процессором
- •Команды обработки строк
- •Литература
3.2. Распределение адресного пространства зу
Адресное пространство ЗУ – это совокупность ячеек памяти, к которым можно обращаться с использованием абсолютного адреса.
Абсолютный адрес однозначно определяет номер ячейки памяти в пространстве адресов. Адресное пространство памяти МП можно считать прямоугольной областью, разбитой на множество строк, соответствующих адресам. При разрядности шины адреса равной n, адресное пространство составляет 2n адресов.
Адресное пространство должно быть распределено между ПЗУ и ОЗУ таким образом, чтобы исключить их взаимное перекрытие. В ряде случаев под ПЗУ выделяется адресное пространство в области меньших адресов.
При разрядности шины адреса микросхемы ПЗУ равной k, ПЗУ занимает адресное пространство размером 2k. В свою очередь ОЗУ с разрядностью шины адреса j занимает в адресном пространстве область размером 2j. Распределение адресного пространства будет выполнено без перекрытия, если начальный адрес ОЗУ будет больше конечного адреса ПЗУ (см. рис. 3.4.).
Соотношение между k и j, а следовательно и емкостью ПЗУ и ОЗУ, определяется назначением и функциями МПС. Так, в персональном компьютере ПЗУ используется для хранения базовой системы ввода-вывода BIOS и размер программы BIOS определяет емкость ПЗУ (около 4 Кбайт), а емкость ОЗУ составляет не менее 640 Кбайт. С другой стороны, в микроконтроллерах MCS-51 объем ПЗУ (памяти программ) составляет 4–32 Кбайт, а ОЗУ – 128–256 байт.
Рис. 3.4. Распределение адресного пространства ЗУ
3.3. Декодирование старших разрядов адреса.
Схема декодирования старших разрядов адреса гарантирует, что доступ к шине данных получит то устройство, которое определено микропроцессором: ПЗУ или ОЗУ.
3.3.1. Декодирование адресов методом линейной выборки
П
ростейший
метод, не связанный с использованием
логических дешифраторов. Старшие
разряды адреса при этом определяют
выбор конкретной микросхемы или группы
микросхем (см. рис. 3.5.).
Рис. 3.5. Декодирование адреса методом линейной выборки
Выборка ОЗУ производится каждый раз, когда сигнал на шине А15 имеет высокий логический уровень, что соответствует диапазону адресов 8000h–FFFFh.
Выборка ПЗУ осуществляется тогда, когда сигнал на шине А14 имеет высокий логический уровень, что справедливо для адресов от 4000h до 7FFFh. Выбор ПЗУ также производится, если на шинах А14 и А15 одновременно будут логические "1", что соответствует адресам от C000h до FFFFh, перекрывающимся с адресным пространством ОЗУ. Из-за этой угрозы программа никогда не должна производить считывание по адресам, в которых оба старших разряда равны "1". Другой недостаток метода состоит в том, что половина адресного пространства оказывается неиспользованной.
Этот метод пригоден для систем, не требующих большого объема памяти.
3.3.2. Декодирование адресов с помощью логических компараторов
О
дин
из наиболее простых и гибких методов,
обеспечивает выбор одного из 2N
возможных
адресных полей при наличии N адресных
входов (см. рис. 3.6).
Рис. 3.6. Декодирование адресов с помощью логического компаратора
Схема формирует сигнал выбора устройства по шести старшим разрядам адреса. Когда они совпадают с сигналами, поступающими по входам B, на выходе компаратора появляется сигнал низкого уровня. Для установки логических уровней на входах B используются переключатели S1…S6.
В данном случае дешифратор обеспечивает выбор устройства в диапазоне адресов 6400h–67FFh (см. табл. 3.2.).
Таблица 3.2
A 15 |
A 14 |
A 13 |
A 12 |
A 11 |
A 10 |
A9 |
A8 |
A7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
Адрес |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
6400h |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
67FFh |
Этот метод особенно полезен, если на платах ЗУ имеются переключатели или перемычки, с помощью которых в системах задаются адреса каждой платы.
