Игровой компьютер 2008.
Многие устройства имеют только один адрес I/O, который они могут
использовать. Используем опять пример с COM2, частью определения
которого, является то, что он использует
адреса I/O 3F8— 3FF. Другие устройства могут позволять использовать любой из диапазона адресов. Например, большинство звуковых плат по умолчанию использует адрес 220, но вы можете переконфигурировать плату, если этот адрес не доступен. Но переконфигурируйте последовательный порт СОМ1, и он больше не будет последовательным портом СОМ1.
Игровой компьютер 2008
Ключом к пониманию важности этой информации является знание того, что эти адреса не могут быть использованы никакими другими устройствами: только одно устройство на данный адрес I/O. Чтобы понять, почему так происходит, я буду продолжать использовать старую аналогию.
Конфликты адресов I/O
Давайте представим, что адреса I/O похожи на почтовые ящики. Допустим, что клавиатура имеет почтовый ящик за номером 64. Когда у клавиатуры есть данные для системы, она помещает данные в ящик № 64. Когда процессор хочет прочитать сообщение клавиатуры, он заглядывает в ящик № 64. Это ящик в определенном смысле весьма реален, и это самое лучшее описание представления клавиатуры с точки зрения процессора. Если вы подключите к системе новую плату, и эта плата будет использовать адрес I/O 64, то новая плата не будет работать, и кроме того, клавиатура также прекратит работу — вы не сможете заставить работать два устройства с одним и тем же адресом I/O.
адреса I/O 3F8— 3FF. Другие устройства могут позволять использовать любой из диапазона адресов. Например, большинство звуковых плат по умолчанию использует адрес 220, но вы можете переконфигурировать плату, если этот адрес не доступен. Но переконфигурируйте последовательный порт СОМ1, и он больше не будет последовательным портом СОМ1.
Игровой компьютер 2008
Ключом к пониманию важности этой информации является знание того, что эти адреса не могут быть использованы никакими другими устройствами: только одно устройство на данный адрес I/O. Чтобы понять, почему так происходит, я буду продолжать использовать старую аналогию.
Конфликты адресов I/O
Давайте представим, что адреса I/O похожи на почтовые ящики. Допустим, что клавиатура имеет почтовый ящик за номером 64. Когда у клавиатуры есть данные для системы, она помещает данные в ящик № 64. Когда процессор хочет прочитать сообщение клавиатуры, он заглядывает в ящик № 64. Это ящик в определенном смысле весьма реален, и это самое лучшее описание представления клавиатуры с точки зрения процессора. Если вы подключите к системе новую плату, и эта плата будет использовать адрес I/O 64, то новая плата не будет работать, и кроме того, клавиатура также прекратит работу — вы не сможете заставить работать два устройства с одним и тем же адресом I/O.