AT и PS/2 | PC/XT | Назначение |
---|---|---|
000-00F | 000-00F | Контроллер DMA #1 8237 |
010-01F | PS/2 — расширение DMA#1 | |
020-021 | 020-021 | Контроллер прерываний #1 — 8259A |
040-05F | 040-043 | Таймер (PC/XT: 8253, AT: 8254) |
060 | 060 | Диагностический регистр POST (только запись) |
060-063 | Системный интерфейс 8255 | |
060, 064 | Контроллер клавиатуры AT 8042 | |
061 | Источники NMI и управление звуком | |
070-07F | Память CMOS и маска NMI | |
080 | Диагностический регистр | |
080-08F | 080-083 | Регистры страниц DMA |
090-097 | PS/2 микроканал, арбитр | |
0А0 | Маска NMI | |
0A0-0BF | Контроллер прерываний #2 — 8259A | |
0C0-0DF | Контроллер DMA #2 8237A-5 | |
0F0-0FF | Сопроцессор 80287 | |
100-1EF | PS/2 управление микроканалом | |
170-177 | Контроллер НЖМД #2 (IDE#2) | |
1F0-1F7 | Контроллер НЖМД #1 (IDE#1) | |
200-207 | 200-20F | Игровой адаптер |
210-217 | Блок расширений | |
238-23F | COM4 | |
278-27F | 278-27F | Параллельный порт LPT2 (LPT3 при наличии MDA) |
2A2-2A3 | часы MSM48321RS | |
2C0-2DF | 2C0-2DF | EGA #2 |
2E0-2E7 | COM4 | |
2E8-2EF | COM4 | |
2F8-2FF | 2F8-2FF | COM2 |
300-31F | Плата прототипа | |
320-32F | Жесткий диск XT | |
338-33F | COM3 | |
370-377 | Контроллер НГМД #2 | |
376-377 | Порты команд IDE#2 | |
378-37F | 378-37F | Параллельный порт LPT1 (LPT2 при наличии MDA) |
380-38F | 380-38F | Синхронный адаптер SDLC/BSC #2 |
3A0-3AF | 3A0-3A9 | Синхронный адаптер BSC#1 |
3B0-3BB | 3B0-3BB | Монохромный адаптер (MDA) |
3B4-3C9 | PS/2 видеосистема | |
3BC-3BF | 3BC-3BF | Параллельный порт LPT1 платы MDA |
3C0-3CF | 3C0-3CF | EGA#1 |
3C0-3DF | 3C0-3DF | VGA |
3D0-3DF | 3D0-3DF | CGA/EGA |
3E0-3E7 | COM3 | |
3E8-3EF | COM3 | |
3F0-3F7 | 3F0-3F7 | Контроллер НГМД #1 |
3F6-3F7 | Порты команд IDE#1 | |
3F8-3FF | 3F8-3FF | COM1 |
Каждой шине назначается своя область адресов ввода, поэтому дешифратор адресов, расположенный на системной плате, при чтении открывает соответствующие буферы данных, так что реально считываться будут данные только с одной шины. При записи в порты данные (и сигнал записи) могут распространяться по всем шинам компьютера. В стандартном распределении адреса 0h-0FFh отведены для устройств системной платы. При наличии (и разрешении работы) периферийных устройств на системной плате чтение по этим адресам не распространяется на шины расширения. Для современных плат со встроенной периферией и несколькими шинами (ISA, PCI) распределением адресов управляет BIOS через регистры конфигурирования чипсета.
12.3. Аппаратные прерывания
Аппаратные прерывания обеспечивают реакцию процессора на события, происходящие асинхронно по отношению к исполняемому программному коду. Прерывания в процессорах х86 подробно рассмотрены в литературе [6, 7]. Здесь напомним, что аппаратные прерывания делятся на маскируемые и немаскируемые.
На
NMI
приходит от схем контроля паритета памяти, от линий контроля шины ISA (IOCHK
) или шины PCI (SERR#
). Сигнал NMI
блокируется до входа процессора установкой в 1 бита 7 порта 070h, отдельные источники разрешаются и идентифицируются битами порта 061h:♦ бит 2 R/W — ERP
SERR#
шины PCI;♦ бит 3 R/W — EIC
♦ бит 6 R — IOCHK
IOCHK#
);♦ бит 7 R — PCK
SERR#
на шине PCI.