Каналы прямого доступа к памяти (DMA) используются устройствами, осуществляющими высокоскоростной обмен данными. Последовательный и параллельный порты, например, не используют DMA, в отличие от звуковой платы или адаптера SCSI. Один канал DMA может использоваться разными устройствами, но не одновременно. Например, канал DMA 1 может использоваться как сетевым адаптером, так и накопителем на магнитной ленте, но вы не сможете записывать информацию на ленту при работе в сети. Для этого каждому адаптеру необходимо выделить свой канал DMA.
Адреса портов ввода-вывода
Через порты ввода-вывода к компьютеру можно подключать разнообразные устройства для расширения его возможностей. Принтер, подключенный к одному из параллельных портов LPT, позволяет вывести на бумагу результаты работы. Модем, соединенный с одним из последовательных портов СОМ, обеспечивает связь по телефонным линиям с другими компьютерами, находящимися за тысячи километров от вас. Сканер, подключенный к порту LPT или адаптеру SCSI, позволяет ввести в компьютер графические изображения или текст непосредственно с листа бумаги и преобразовать их в необходимый формат для дальнейшей обработки.
В большинстве компьютеров имеется хотя бы два последовательных порта и один параллельный. Последовательные порты обозначаются как СОМ1 и СОМ2, а параллельный — LPT1. В принципе в компьютере можно установить до четырех последовательных (СОМ1-СОМ4) и трех параллельных (LPT1-LPT3) портов.
Порты ввода-вывода позволяют установить связь между устройствами и программным обеспечением в компьютере. Они подобны двусторонним радиоканалам, так как обмен информацией в ту и другую сторону происходит по одному и тому же каналу.
В отличие от прерываний IRQ и каналов прямого доступа к памяти, в персональных компьютерах множество портов ввода-вывода. Существует 65 535 портов, пронумерованных от 0000h до FFFFh, и это, пожалуй, самый удивительный артефакт в процессоре Intel. Хотя многие устройства используют до восьми портов, все равно их количество более чем достаточное. Самая большая проблема состоит в том, чтобы двум устройствам случайно не назначить один и тот же порт.
Современные системы, поддерживающие спецификацию Plug and Play, автоматически разрешают любые конфликты из-за портов, выбирая альтернативные порты для одного из конфликтующих устройств.
Хотя порты ввода-вывода обозначаются шестнадцатеричными адресами, подобными адресам памяти, они не являются памятью, они — порты. Различие состоит в том, что данные, посланные по адресу памяти 1000h, будут сохранены в модуле памяти SIMM или DIMM. Если вы посылаете данные по адресу 1000h порта ввода-вывода, то они попадают на этот "канал" шины и любое устройство, прослушивающее канал, может принять их. Если никакое устройство не прослушивает этот адрес порта, то данные достигнут конца шины и будут поглощены ее нагрузочными резисторами.
Специальные программы — драйверы — взаимодействуют прежде всего с устройствами, используя различные адреса портов. Драйвер должен знать, какие порты использует устройство, чтобы работать с ним. Обычно это не проблема, поскольку и драйвер и устройство, как правило, поставляются одним и тем же производителем.
Системная плата и набор микросхем системной логики обычно используют адреса портов ввода-вывода от 0h до FFh, а все другие устройства — от 100h до FFFFh.
Чтобы выяснить, какие адреса порта используются в вашей системной плате, загляните в прилагаемую к ней документацию или же воспользуйтесь диспетчером устройств Windows.
Устройства на шине, как правило, используют адреса, начиная с 100h.
Чтобы точно выяснить, какие адреса используют ваши устройства, настоятельно рекомендую обратиться к документации или просмотреть информацию об устройстве в диспетчере устройств Windows.
В действительности все устройства на системных шинах используют адреса портов ввода-вывода. Большинство из них стандартизировано, поэтому, как правило, не возникает каких-либо конфликтов или проблем с адресами портов для этих устройств.
суббота, 27 сентября 2008 г.
Подписаться на:
Комментарии к сообщению (Atom)
0 коммент.:
Отправить комментарий