Пространство ввода-вывода в IBM PC, как и в процессорах х86, отделено от пространства памяти. У всех этих процессоров, в том числе и 32-разрядных, в пространстве ввода-вывода используется 16-разрядная адресация (диапазон адресов О-FFFFh). Для дешифрации адресов портов в оригинальном PC из 16 бит использовались только младшие 10 (А0-А9), что обеспечивает обращением портам в диапазоне адресов 0-3FFL Старшие биты адреса, хотя и поступают на шину, устройствами игнорируются. В результате обращения по адресам, к примеру 378h, 778h, B78h и F78h, будут восприниматься устройствами одинаково. Это упрощение, нацеленное на снижение стоимости как системной платы, так и схем плат адаптеров, для шины ISA никто не отменял. Традиционные адаптеры для шины ISA, называемые Legacy Card («наследие тяжелого прошлого»), для старших бит адреса не имеют
1 Для пока еще экзотических вариантов системных плат с памятью более 4 Гбайт и 36-разрядной физической адресацией последних моделей процессоров PCI может использовать двухадресные циклы обращения с 64-битным адресом.
1 даже печатных ламелей на своем краевом разъеме. Впоследствии перешли к 12-битной адресации устройств шины ISA, но ее приходится применять £ оглядкой на возможное присутствие устройств с 10-битной адресацией. В адаптерах для шин МСА и PCI и во всех современных системных платах используются все 16 бит адреса. Карта распределения адресов ввода-вывода стандартных устройств PC приведена в табл. 12.1. Эта карта подразумевает 10-битную дешифрацию адреса. Естественно, что в конкретном компьютере реально присутствуют не все перечисленные устройства, но в то же время там могут оказаться другие, не попавшие в таблицу.
Таблица 12.1. Стандартная карта портов ввода-вывода AT и PS/2 PC/XT Назначение
000-OOF 000-OOF Контроллер DMA #1 8237
010-01F PS/2 - расширение DMA#1
020-021 020-021 Контроллер прерываний #1 - 8259А
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 микроканал, арбитр
ОАО Маска NMI
OAO-OBF Контроллер прерываний #2 - 8259А
OCO-ODF Контроллер DMA #2 8237А-5
OFO-OFF Сопроцессор 80287
100-1EF PS/2 управление микроканалом
170-177 Контроллер НЖМД #2 (IDE#2)
1FO-1F7 Контроллер НЖМД #1 (IDE#1)
200-207 200-20F Игровой адаптер
210-217 Блок расширений
238-23F COM4
278-27F 278-27F Параллельный порт LPT2 (LPT3 при наличии MDA)
2А2-2АЗ 4acbiMSM48321RS
2CO-2DF 2CO-2DF EGA #2
2ЕО-2Е7 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)
AT и PS/2 PC/XT
Назначение
380-38F 380-38F Синхронный адаптер SDLC/BSC #2
3AO-3AF ЗАО-ЗА9 Синхронный адаптер BSC#1
ЗВО-ЗВВ ЗВО-ЗВВ Монохромный адаптер (MDA)
ЗВ4-ЗС9 PS/2 видеосистема
3BC--3BF 3BC-3BF Параллельный порт LPT1 платы MDA
3CO--3CF 3CO-3CF EGA#1
3CO-3DF 3CO-3DF VGA
3DO-3DF 3DO-3DF CGA/EGA
ЗЕО-ЗЕ7 COM3
3E8-3EF COM3
3FO-3F7 3FO-3F7 Контроллер НГМД #1
3F6-3F7 Порты команд IDE*1
3F8-3FF 3F8-3FF СОМ1
Каждой шине назначается своя область адресов ввода, поэтому дешифратор адресов, расположенный на системной плате, при чтении открывает соответствующие буферы данных, так что реально считываться будут данные только с одной шины. При записи в порты данные (и сигнал записи) могут распространяться по всем шинам компьютера. В стандартном распределении адреса Oh-OFFh отведены для устройств системной платы. При наличии (и разрешении работы) периферийных устройств на системной плате чтение по этим адресам не распространяется на шины расширения. Для современных плат со встроенной периферией и несколькими шинами (ISA, PCI) распределением адресов управляет BIOS через регистры конфигурирования чипсета.
Пространство ввода-вывода
Пространство ввода-вывода в IBM PC, как и в процессорах х86, отделено от пространства памяти.Пространство ввода-вывода в IBM PC, как и в процессорах х86, отделено от пространства памяти. У вТакже по теме: