- •2013 Оглавление
- •Режимы обмена информации
- •Режим программного ввода/вывода
- •Режим ввода/вывода по прерываниям
- •Режим с квитированием
- •Режим с прямым доступом к памяти
- •Порты ввода-вывода
- •Протоколы портов ввода-вывода Параллельный ввод-вывод
- •Последовательный ввод-вывод
- •Microwire
- •Периферийные устройства
- •Классификация пу
- •Устройства связи с пользователем
- •Устройства памяти
- •Устройства связи с объектом управления (усо)
- •Контроллеры прерываний
- •Контроллер прямого доступа к памяти
Порты ввода-вывода
Для подключения периферийных устройств (ПУ) используются порты ввода-вывода. Конструктивно порты ввода-вывода представляют собой регистры контроллера внешнего устройства, которые непосредственно подключены к шине ввода-вывода МП. Для управления обменом данными между аппаратными компонентами каждому порту ввода-вывода присваивается свой уникальный шестнадцатеричный адрес порта, например 370h. В IBM персональных компьютерах можно адресовать 216 портов ввода-вывода. Диапазон адресов, отведенный для адресации ВУ и памяти, образует общее адресное пространство. Стандартно порты ввода-вывода занимают диапазон адресов от 0 до 3FFH. В адресное пространство входят порты контроллеров клавиатуры, жестких и гибких дисков, видеоадаптеров, звуковых карт, последовательных и параллельных интерфейсов и любого другого периферийного оборудования.
Одно периферийное устройство может использовать несколько портов ввода-вывода. Иногда их количество может достигать нескольких десятков. Например, контроллер параллельного интерфейса имеет три регистра: регистр вывода данных, регистр состояния и регистр управления, адресуемые через свои порты ввода-вывода, а контроллер последовательного интерфейса - десять регистров, адресуемых через семь портов ввода-вывода.
Естественно, адресация портов осуществляется центральным процессором при выполнении соответствующей программы. Для того чтобы исключить необходимость указания конкретного адреса каждого порта ввода-вывода при программировании, а также для оперативного их изменения в зависимости от конкретной конфигурации компьютера, существует понятие базовый адрес порта ввода-вывода.
Базовый адрес порта ВВ присваивается каждому периферийному устройству и соответствует младшему адресу из группы портов. Адресация остальных портов периферийного устройства осуществляется путем задания смещения относительно базового адреса. BIOS резервирует ряд диапазонов адресов портов ввода-вывода стандартных аппаратных компонентов, которые не могут быть использованы другими периферийными устройствами.
Для управления исполнительным механизмом, работающим по принципу включено-выключено, на соответствующей выходной линии порта МК необходимо сформировать сигнал «0» или «1». Это реализуется командами вывода непосредственного операнда, содержащего в требуемом бите значение «0» или «1».
В случае параллельного управления группой исполнительных механизмов, подключенных к выходному порту, формируется не двоичное управляющее воздействие, а управляющее слово, которое имеет формат байта. В каждом разряде ставится в соответствие «1» или «0» в зависимости от того, какие исполнительные механизмы должны быть включены или выключены.
Управляющие слова удобно формировать командами логических операций над содержимым порта. Команда ANL (логическое И) используется для сброса тех бит управляющего слова, которые в операнде заданы нулем. Команда ORL (логическое ИЛИ) используется для установки бит управляющего слова. Командой XRL (исключающее ИЛИ) осуществляется инверсия бит в соответствии с выражением х Å1= .
Для формирования сложных последовательностей управляющего слова удобно пользоваться табличным способом, при котором все возможные управляющего слова упакованы в таблицу, а прикладная программа МК вычисляет адрес требуемого управляющего слова, выбирает его из таблицы и передает в порт вывода.