♦ исключена возможность подачи команд с помощью сигнала РIРЕ#;

♦ предпринимаются меры по обеспечению когерентности при обращениях к памяти, не лежащей в области GART;

♦ несколько изменены протоколы передачи данных, применяется динамическое инвертирование шины данных для минимизации переключений.

Дополнительно предполагается введение поддержки изохронных передач; возможность установки нескольких портов AGP; возможность поддержки разных размеров страниц, описанных в GART; обеспечение когерентности при обращениях к определенным страницам.

<p>6.4. Интерфейс LPC</p>

Интерфейс LPC (Low Pin Count — малое число выводов) предназначен для локального подключения устройств, ранее использовавших шину X-Bus или ISA: контроллеров НГМД, последовательных и параллельных портов, клавиатуры, аудиокодека, BIOS и т.п. Введение нового интерфейса обусловлено изживанием шины ISA с ее большим числом сигналов и неудобной асинхронностью. Интерфейс обеспечивает те же циклы обращения, что и ISA: чтение-запись памяти и ввода-вывода, DMA и прямое управление шиной (bus mastering). Устройства могут вырабатывать запросы прерываний. В отличие от ISA/X-Bus с их 24-битной шиной адреса, обеспечивающей адресацию лишь в пределах первых 16 Мбайт памяти, интерфейс LPC имеет 32-битную адресацию памяти, что обеспечивает доступ к 4 Гбайт памяти. 16-битная адресация портов обеспечивает доступ ко всему пространству 64 К портов. Интерфейс синхронизирован с шиной PCI, но устройства могут вводить произвольное число тактов ожидания. Интерфейс программно прозрачен — как и для ISA/X-Bus, не требует каких-либо драйверов. Контроллер интерфейса LPC является устройством-мостом PCI. По пропускной способности интерфейс практически эквивалентен этим шинам. В спецификации LPC 1.0 приводится расчет пропускной способности интерфейса и устройств, его использующих. При наличии буферов FIFO интерфейс наиболее выгодно использовать в режиме DMA. В этом случае главным потребителем будет LPT-порт — при скорости передачи данных 2 Мбайт/с он займет 47% полосы интерфейса. Следующим будет инфракрасный порт — 4 Мбит/с (11,4%). Остальным устройствам (контроллер НГМД, СОМ-порт, аудиокодек) требуются еще меньшие доли, в результате они занимают до 75% полосы при одновременной работе. Таким образом, перевод этих устройств с ISA/X-Bus на LPC не должен вызывать проблем производительности более острых, чем были на старых шинах.

Интерфейс имеет всего 7 обязательных сигналов:

♦ LAD[3:0] — двунаправленная мультиплексированная шина данных;

♦ LFRAME# — индикатор начала и конца цикла, управляемый хостом;

♦ LRESET# — сигнал сброса, тот же, что и RST# на шине PCI;

♦ LCLK — синхронизация (33 Мгц), тот же сигнал, что и CLK на шине PCI;

Дополнительные сигналы интерфейса LPC:

♦ LDRQ# — кодированный запрос DMA/Bus Master от периферии;

♦ SERIRQ — линия запросов прерывания (в последовательном коде), используется, если нет стандартных линий запросов IRQ в стиле ISA;

♦ CLKRUN# — сигнал, используемый для указания на остановку шины (в мобильных системах), требуется только для устройств, нуждающихся в DMA/BusMaster в системах, способных останавливать шину PCI;

♦ РМЕ# — событие системы управления потреблением (Power Management Event), может вводиться периферией, как и в PCI;

♦ LPCPD# — Power Down, указание от хоста устройствам на подготовку к выключению питания;

♦ LSMI# — запрос прерывания SMI# для повтора инструкции ввода-вывода.

Сигналы LFRAME# и LAD[3:0] синхронизированы (являются действительными) по фронту LCLK. По шине LAD[3:0] в каждом такте цикла передаются поля элементов протокола. Обобщенная временная диаграмма цикла обмена по LPC приведена на рис. 6.15. Начало каждого цикла хост отмечает сигналом LFRAME#, помещая на шину LAD[3:0] поле START. По сигналу LFRAME# все ПУ должны прекратить управление шиной LAD[3:0], а по коду поля START они должны декодировать последующие события как цикл шины. В следующем такте хост снимет сигнал LFRAME# и поместит на шину LAD[3:0] код типа цикла CYCTYPE. Сигнал LFRAME# может длиться и более одного такта, но признаком начала цикла (поля START) является последний такт перед снятием сигнала. С помощью сигнала LFRAME# хост может принудительно прервать цикл (например, по ошибке тайм-аута), выставив соответствующий код.

Рис. 6.15. Протокол LPC

В поле START возможны следующие коды:

♦ 0000 — начало цикла обращения хоста к устройству;

♦ 0010 — предоставление доступа ведущему устройству 0;

♦ 0011 — предоставление доступа ведущему устройству 1;

♦ 1111 — принудительное завершение цикла (abort).

Остальные коды зарезервированы.

Поле CYCTYPE задает тип и направление передачи. Бит 0 задает направление (0 — чтение, 1 — запись), биты [2:1] — тип обращения (00 — порт, 01 — память, 10 — DMA, 11 — резерв), бит 3 — резерв (0).

Перейти на страницу:

Все книги серии Наиболее полное и подробное руководство

Похожие книги