Порты ввода/вывода. В персональном компьютере любое подключаемое устройство, за исключением оперативной памяти, является периферийным Для подключения периферийных устройств

В персональном компьютере любое подключаемое устройство, за исключением оперативной памяти, является периферийным Для подключения периферийных устройств используются порты ввода/вывода. Конструктивно порты ввода/вывода представляют собой регистры контроллера внешнего устройства, которые непосредственно подключены к шине ввода/вывода компьютера. Для управления обменом данными между аппаратными компонентами компьютера каждому порту ввода/вывода присваивается свой уникальный шестнадцатеричный номер (адрес порта), например 2F8h, 370h. В IBM-совместимых персональных компьютерах можно адресовать 216 портов ввода/вывода (хотя большинство из них, как правило, не используется). Диапазон адресов, отведенный для адресации внешних устройств и памяти образует общее адресное пространство. Стандартно порты устройств ввода/вывода для IBM PC-совместимых компьютеров занимают диапазон адресов от О-3FFH включительно, хотя реально можно использовать адреса вплоть до FFFFh, например, порты процессора волнового синтеза (WT) звуковой карты имеют адреса в диапазоне 620h-E23h. В адресное пространство входят порты контроллеров клавиатуры, жестких и гибких дисков, видеоадаптеров, звуковых карт, последовательных и параллельных интерфейсов, игровых портов и любого другого периферийного оборудования.

Напомним, что одно периферийное устройство может использовать несколько портов ввода/вывода. Иногда их количество может достигать нескольких десятков. Например, контроллер параллельного интерфейса имеет три регистра: регистр вывода данных, регистр состояния и регистр управления, адресуемые через свои порты ввода/вывода, а контроллер последовательного интерфейса - десять регистров, адресуемых через семь портов ввода/вывода.

Естественно, адресация портов осуществляется центральным процессором при выполнении соответствующей программы. Для того чтобы исключить необходимость указания конкретного адреса каждого порта ввода/вывода при программировании, а также для оперативного их изменения в зависимости от конкретной конфигурации компьютера, существует понятие базовый адрес порта ввода/вывода (Base Address Input/Output).

Базовый адрес порта ввода/вывода присваивается каждому периферийному устройству и соответствует младшему адресу из группы портов (обычно адресу порта регистра данных). Адресация остальных портов периферийного устройства осуществляется путем задания смещения (целое число) относительно базового адреса. BIOS резервирует ряд диапазонов адресов портов ввода/вывода стандартных аппаратных компонентов персонального компьютера, которые не могут быть использованы другими периферийными устройствами.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: