Цитата(savigm @ May 23 2009, 21:10)

Инересует обращения и PCI-VME и VME-PCI. Какой мост наверно не очень важно, принцип ведь один и тот же, или нет?
Здравствуйте.
Попробую пояснить на примере Tundra.
Со стороны шины PCI в микросхеме моста есть 8 так называемых окон. Каждому окну соответствует ряд регистров внутри моста. В число регистров входят:
- адресные регистры границ окна (начального и конечного адреса на шине PCI);
- регистр смещения адреса;
- регистр управления окном.
Пусть в регистры границ окна записаны адреса А1 и А2 (А1 – начальный адрес окна, А2 – конечный адрес окна), а регистр смещения адреса записано число В, в регистр управления записано, что на шине VME режим адресов типа А24. Тогда любое обращение процессора PC к ячейки памяти (обращения в пространстве ввода/вывода на шине PCI в обращения на шину VME не ретранслируются) с адресом А (в интервале между А1 и А2) будет ретранслировано мостом в обращение на шине VME с адресом (А+В) & 0xFFFFFF.
На шине PCI и на шине VME адресация байтовая.
Кроме этого, в микросхеме моста есть два режима обращений – прямые и так называемые «отложенные» запись/чтение. При прямом обращении цикл на шине PCI не завершается до тех пор, пока не завершится соответствующий ему цикл на шине VME. При «отложенном» обращении команда на шине PCI (например, запись данных) помещается в FIFO моста и исполняется по мере рассупонивания этого FIFO. Команда чтения данных при «отложенных» обращениях имеет вид предварительного чтения (только при работе DMA моста), предварительно считанные данные тоже помещаются в FIFO.
И еще одна особенность мостов Tundra – при «раскрутке» системы PCI BIOSом требуемые ресурсы на шине VME не могут быть заданы, как ресурсы в адресном пространстве памяти шины PCI. То есть, после отработки PCI BIOS необходимо «вручную» искать свободные окна в адресном пространстве шины PCI и переадресовывать их на шину VME.
Все это применимо и к обратным обращениям – от VME на PCI.
Если не совсем понятно, то спрашивайте.