- •Организация эвм и систем
- •Глава 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.7 Организация оперативной памяти.
С точки зрения программиста оперативная память для ВМ86 представляет собой линейный массив ячеек форматом 1 байт каждая, с адресами от 00000h до fffffh (рис. 8).
Информация, располагаемая в ОП, может иметь следующие форматы:
байт;
слово (2 байта);
двойное слово (4 байта).
При этом адресом слова или двойного слова считается адрес его младшего байта.
Физически память для МП86 организуется иначе. Память реализуется в виде 2-х банков: старшего и младшего. В младший банк входят все ячейки с четными адресами, в старший – все ячейки с нечетными адресами. Обращение к тому или иному банку (или к обоим сразу) определяется комбинацией сигналов на выходах BHE и A0 МП. Подключение банков к шине данных показано на рис. 9.
Банк подключается к ШД, когда на его вход CS приходит активный (нулевой) сигнал. При этом младший банк подключается к младшей половине ШД, а старший – к старшей половине ШД. Такая организация позволяет производить обмен между МП и ОП как по всей ШД, так и по отдельным ее половинам. Подобная архитектура приводит к следующему правилу: слова желательно располагать в памяти по четным адресам. Если слово располагается в ОП по четному адресу, то оно будет передаваться по ШД за один цикл шины, если же по нечетному – за два цикла шины. По той же причине двойные слова также желательно располагать по четным адресам.

Рис. 8.
2.8 Организация адресного пространства портов ву.
Существует два основных способа организации адресного пространства портов ВУ.
1) Раздельная организация адресных пространств ОП и портов ВУ. В этом случае к портам обращаются командами in и out, а к ОП – остальными командами. Соответственно МП выставляет единицу на выходе M/IO, если он обращается к ОП и ноль, если он обращается к порту. Таким образом сигнал на выходе M/IO позволяет различить ячейку памяти и порт, даже если они имеют одинаковые системные адреса.
В командах in и out можно использовать два типа адресации: прямую и косвенную. При прямой адресации адрес порта указывается в команде непосредственно (например, in al,60h) и имеет размер 1 байт. То есть таким способом мы можем задать 256 различных адресов портов. Учитывая, что МП вырабатывает сигналы RD и WR, мы можем считать, что при прямой адресации в системе можно использовать максимум 512 портов, половина из которых работает на ввод информации, а другая половина – на вывод.
При косвенной адресации адрес порта берется из регистра dx (например,
out [dx],al). Поскольку данный регистр шестнадцатиразрядный, то, исходя из тех же соображений, в систему максимально можно поставить 128К портов, половина из которых работает на ввод, а другая половина – на вывод.
2) Отображение адресного пространства портов на адресное пространство памяти. При таком способе порты рассматриваются как ячейки ОП. Соответственно обращение к таким портам производится командами обращения к памяти, а не командами in и out. Сигнал на выходе M/IO при обращении к таким портам будет равен единице. Следовательно такие порты и ячейки памяти не могут иметь одинаковые адреса. Такой способ позволяет наращивать число портов вплоть до 1М, правда за счет уменьшения объема ОП. В чистом виде на практике этот способ применения не находит, однако зачастую его используют в сочетании с первым способом.

Рис. 9
