- •Организация эвм и систем
- •Глава 1 эвм общего назначения
- •Структура эвм общего назначения.
- •Арифметико-логические устройства.
- •Устройства управления.
- •Risc и cisc процессоры.
- •1.5 Форматы машинных команд.
- •Inc byte ptr [40h] – одноадресная
- •Способы адресации.
- •Стековая адресация. Виды стеков.
- •Глава 2
- •2.1 Микропроцессор к1810вм86.
- •2.2 Назначение входов/выходов вм86 в минимальном режиме.
- •2.3 Назначение входов/выходов вм86 в максимальном режиме.
- •Внутренняя архитектура мп вм86.
- •Сегментация памяти.
- •2.6 Программная модель мп вм86.
- •2.7 Организация оперативной памяти.
- •2.8 Организация адресного пространства портов ву.
- •2.9 Методы обмена информацией между мп и портами ву.
- •2.10 Параллельный программируемый адаптер к1810вв55 (i8255).
- •Пример использования и программирования адаптера
- •2.12 Программируемый таймер к1810ви54 (i8254).
- •2.13 Пример использования таймера.
- •2.14 Обработка прерываний.
- •2.15 Система прерываний вм86.
- •2.16 Контроллер прерываний к1810вн59 (i8259).
- •Дополнительная информация о настройке вн59.
- •Прямой доступ к памяти.
- •Программирование кпдп вт37
- •2.21 Организация процессорного модуля вм86.
- •2.20. Организация шинного интерфейса в максимальном режиме
- •2.23. Слабо связанные конфигурации.
- •2.24. Арбитр шин к1810вб89 (i8289).
- •2.25 Сильно связанные конфигурации на примере совместной работы мп86 и арифметического сопроцессора вм87.
- •2.26. Формат машинной команды вм86.
2.9 Методы обмена информацией между мп и портами ву.
Одна из основных проблем при обмене информацией между МП и ВУ заключается в том, что ВУ, как правило, работают значительно медленнее МП.
Прямой обмен. МП обращается к порту ВУ командой in или out и через определенный промежуток времени осуществляет обмен. Так как при этом он не выясняет, готово ВУ к обмену или нет, велика вероятность потери информации или неправильной ее передачи. Такой способ применяется при работе с ВУ, которые «всегда готовы к обмену». Например, так можно прочитать состояние переключателей конфигурации в IBM PC или вывести информацию на светодиоды. Инициатором обмена здесь является МП, он же и управляет обменом по СШ.
Обмен по опросу готовности. При этом способе ВУ подключается к ШД через два порта. Один из них предназначен для передачи данных, а другой порт хранит информацию, характеризующую текущее состояние ВУ. Один из битов этого порта показывает, готово ВУ к обмену или нет. Перед обменом МП читает порт состояния и анализирует бит готовности. Если выясняется, что ВУ к обмену не готово, МП снова читает порт состояния и снова анализирует готовность ВУ к обмену. И так до тех пор, пока ВУ не станет готово к обмену. Только после этого будет произведен обмен. Недостаток такого способа очевиден – МП, проверяя готовность ВУ к обмену, не выполняет никакой полезной работы. Поэтому этот способ применяется при обмене с быстродействующими ВУ, например ЦАП и АЦП. Инициатором обмена здесь является процессор, и обмен идет под его управлением.
Обмен по запросам на прерывание. ВУ, будучи готово к обмену, выставляет на МП запрос на прерывание. Получив этот запрос МП прерывает выполнение текущей программы, и переходит на подпрограмму обслуживания данного запроса, то есть производит обмен. Такой способ применяется для медленных ВУ, например для клавиатуры. Инициатором обмена здесь является ВУ, но сам обмен, как и ранее, идет под управлением МП.
Прямой доступ к памяти. Это специфический вид обмена, когда передача информации ведется между ОП и быстродействующим ВУ, минуя МП. Последний в обмене участия не принимает, более того, он отключен от СШ и как бы находится в «спячке». Поскольку обменом нужно управлять, в состав системы вводится контроллер прямого доступа к памяти (КПДП), который и вырабатывает необходимые управляющие сигналы и адреса ОП.
2.10 Параллельный программируемый адаптер к1810вв55 (i8255).
Эта микросхема наиболее часто используется для организации параллельных портов ввода-вывода в системах, построенных на базе МП фирмы Intel.
Схема подключения адаптера к СШ представлена на рис.10. Рассмотрим назначение входов/выходов адаптера.
CS (chip select – «выбор кристалла»). На этот вход через схему селектора (дешифратора) формируется активный (нулевой) сигнал, когда МП выставляет на ША адрес одного из внутренних регистров адаптера. Сложность схемы селектора сильно зависит от организации системы. В простых системах с малым числом портов селектор может вообще отсутствовать. Активный сигнал на CS подключает адаптер к ШД.
С точки зрения программиста внутри адаптера имеются четыре адресуемых устройства: порт A (PA), порт B (PB), порт С (РС) и регистр управляющего слова (РУС). К какому из четырех внутренних устройств обращается МП, когда на CS приходит активный сигнал, определяет информация на входах А1 и А0 (табл. 4).
D 7-0 – восьмиразрядная шина данных. По ней производится обмен информацией, в том числе и управляющей, между МП и внутренними устройствами адаптера.
Вход RD – «чтение». Задает вид операции. На этот вход заводится системный управляющий сигнал IOR.
Вход WR – «запись». На этот вход заводится системный управляющий сигнал IOW.
Таблица 4.
Рис. 10
RESET – сброс. По этому сигналу все порты адаптера настраиваются на ввод в режиме 0. Как правило, этот вход на практике не используется.
РА – восьмиразрядный порт, который может быть настроен на ввод или на вывод в одном из трех режимов: режиме 0, режиме 1 или режиме 2.
РВ – восьмиразрядный порт, который может быть настроен на ввод или на вывод в одном из двух режимах: режиме 0 или режиме1.
РС – восьмиразрядный порт, который можно настроить на ввод или на вывод в режиме 0. В отличие от РА и РВ порт С разбит на две половины: старшую и младшую, каждую из которых можно независимо настроить на ввод или на вывод.
Режимы 1 и 2 на практике используются редко, поэтому мы здесь ограничимся рассмотрением режима 0.
Пусть, например, порт А настроен на ввод в режиме 0. Когда МП обращается к этому порту командой in al, port_A информация с внешних линий РА попадает на ШД. То есть в этом случае порт работает как коммутатор и передаваемая информация внутри адаптера не фиксируется.
Пусть РА настроен на вывод в режиме 0. По команде out port_A, al информация с ШД поступит в РА и там защелкнется. Естественно, что эта информация появится при этом и на внешних линиях РА.
Перед началом работы все порты адаптера должны быть настроены. Для этого достаточно передать в РУС настроечное слово, формат которого приведен на рис. 11.
Рис. 11
Здесь D7 = 1. Эта единица и означает, что передается настроечное слово. При D7 = 0 передается специальная команда, которая здесь рассматриваться не будет.
D6, D5 – определяют режим работы РА:
00 – режим 0;
01 – режим 1;
10 – режим 2;
11 – тоже режим 2.
D4 = 1 – РА настраивается на ввод.
= 0 – РА настраивается на вывод.
D3 = 1 –старшая часть РС (линии РС 7-4) настраивается на ввод.
= 0 – старшая часть РС настраивается на вывод.
D2 = 1 – РВ настраивается на режим 1.
= 0 – РВ настраивается на режим 0.
D1 = 1 – РВ настраивается на ввод.
= 0 – РВ настраивается на вывод.
D0 = 1 – младшая часть РС (РС 3-0) настраивается на вывод.
= 0 – младшая часть РС настраивается на ввод.
В IBM PC/XT стоит микросхема ВВ55. При этом ее портам присвоены следующие системные адреса:
PA = 60h;
PB = 61h;
PC = 62h;
РУС = 63h.
При начальном старте XT выполняет две команды:
mov al, 99h
out 63h, al
то есть в РУС загружается двоичное число 10011001. Таким образом, все порты настраиваются на работу в режиме 0, РА и обе половины РС на ввод, а РВ на вывод. Начиная с IBM PC/AT, микросхема ВВ55 в системе отсутствует, но порты 60h и 61h существуют и выполняют те же функции.