Какова реальная скорость передачи данных по шине PCI 32-бит/33 МГц? Нам необходимо передать 32-килобайтные 32-битные сэмплы с PCI-карты на процессор Intel под управлением Windows. Я бы подумал, что блок будет передаваться в 1 мсек, но он принимает 40 мсек. Плата PCI имеет PLX PCI-9056. Мы обращаемся к карточной памяти с виртуальным адресом, но наш процессор затенен, что заставляет меня думать, что скорость передачи данных задерживается при участии ЦП. Если мы перейдем к DMA, перейдем ли мы ближе к 1 мсек? Причина, по которой я сомневаюсь, заключается в том, что в Руководстве пользователя PXI SDK указано:Реалистичная скорость передачи данных по шине PCI с использованием DMA?
«Чтение/запись в пространстве памяти BAR, как правило, медленное относительное число. Читает, как правило, только 2-4 МБ/с».
Передача с использованием PIO? Если это так, я обнаружил с помощью анализатора шины PCI в системе intel, что шина использовалась только примерно в 1/8 раза. В эквиваленте AMD такого ограничения не было найдено. При этом использование процессора звучит как узкое место. DMA должен помочь тогда - даже если загрузка ЦП не связана с самой передачей. – ash
Устройство с шинным устройством должно получить наилучшую производительность. Это вариант? – ash
Другая мысль - если процессор привязан, он, скорее всего, не сидит на инструкциях ввода-вывода. Может быть, что-то еще происходит там, на что стоит смотреть. – ash