Цитата(bav @ Jun 24 2009, 12:29)

тогда вопросы следующие:
Ваш девайс слал непрерывный поток? тогда как прога все проверялось? или пакеты? тогда какого размера?
на практике выделяется несколько буферов. в один закачиваются данные, в другом - обработка. так вот, во время переключения между буферами, в кеше проца остаются несохраненные данные. пока они не выгрузятся, к памяти нет доступа - вот одна из причин падения скорости. вот тут очень много зависит от сообразительности чипсета и работы кеша проца (разные показатели у интела и амд)
другой фактор - сколько портов у памяти. если к-л процесс постоянно долбится к памяти, скорость обмена тоже резко упадет. вот тут и движение мышки будет влиять.
есть еще некоторые ньюансы... убили на исследование пол года.
а исследование идеальных систем - на видяхе статическая картинка, выключены все процессы (или они вращаются в L1) - это можно оставить для менеджеров для рекламы. это все можно посмотреть на сайтах у производителей.
На нашей фирме накоплен уже большой опыт по быстрой передачи данных. Например для шины PCI 33 МГц, 32 бита типичная скорость передачи 110 МБайт/с, рекорд 129 МБайт/с. Это с использованием микросхем фирмы PLX PCI9056, PCI9656; Естественно эта скорость достигается только в режиме DMA. Причём DMA работает в режиме автоинициализации. Режим автоинициализации или SCATER-GATER, это когда в памяти задаётся цепочка декскрипторов и канал DMA считывает очередной дескриптор, определяет из него размер и адрес блока а также адрес следующего дескриптора. После передачи блока канал DMA считывает следующий дескриптор и т.д. Процессор в этом обмене вообще не задействуется. Точнее через прерывание он получает информацию о заполненных блоках.
Для PCI-Express я сделал подобный механизм. У меня выделяется 32 блока по 48 МБайт - т.е. 1536 МБайт. Плата формирует тестувую последовательность и её передаёт. Программа принимает и проверяет каждый блок. Всё это происходит непрерывно в течении многих часов. Это проверено. Вот например сейчас тест работает 213 минут, запущено два канала DMA - один на ввод, другой на вывод. Средняя скорость ввода 496 МБайт/с, вывода - тоже 496 МБайт/с. Движения мышки ну никак не влияют :-)
Пропускная способность памяти на порядок превосходит скорость обмена по PCI-Express, так что обращения процессора к памяти на скорость обмена тоже не влияют.