Стандартное распределение адресов в адресном пространстве устройств ввода/вывода персонального компьютера приведено в табл. 8.4.
Как уже отмечалось, стандарт допускает адресацию 64К устройств ввода/вывода (то есть можно использовать 16 разрядов адреса). Однако подавляющее большинство плат расширения для упрощения аппаратуры использует только 10 младших разрядов, что соответствует всего 1К (или 1024) адресов (от 000 до 3FF в шестнадцатеричном коде). При этом 16-разрядные порты ввода/вывода имеют четные адреса, то есть их может быть всего 512.
000...01F | Контроллер ПДП 1 |
020...03F | Контроллер прерываний 1 |
040...05F | Программируемый таймер |
060...06F | Контроллер клавиатуры |
070...07F | Часы реального времени |
080...09F | Регистр страницы ПДП |
0A0...0BF | Контроллер прерываний 2 |
0С0...0DF | Контроллер ПДП 2 |
0F0...0FF | Математический сопроцессор |
170...177 | Накопитель на жестком диске (второй) |
1F0...1F7 | Накопитель на жестком диске (первый) |
200...207 | Игровой порт (джойстик) |
278...27F | Параллельный порт LPT2 |
2С0...2DF | Адаптер EGA 2 |
2F8...2FF | Последовательный порт COM2 |
300...31F | Прототипные платы |
320...32F | Накопитель на жестком диске XT |
360...36F | Резервные адреса |
370...377 | Накопитель на гибком диске (второй) |
378...37F | Параллельный порт LPT1 |
380...38F | Контроллер бисинхронного обмена SDLC2 |
3A0...3AF | Контроллер бисинхронного обмена SDLC1 |
3B0...3DF | Адаптер VGA |
3B0...3BF | Адаптер дисплея MDA и принтера |
3C0...3CF | Адаптер EGA 1 |
3D0...3DF | Адаптер СGA |
3F0...3F7 | Накопитель на гибком диске (первый) |
3F8...3FF | Последовательный порт COM1 |
Как видно из таблицы, значительная часть возможных адресов уже занята системными устройствами, свободных адресов не так много.