Обычно используем DMA и скорость записи/чтения в режиме completer не замеряли. Но недавно полез с чипскопом в pci-ный модуль и заметил следующее.
Раньше, на старых материнских платах, начиная с P4 до Core2Duo под Win2k/2003Server, обмен процессора с девайсом производился всегда строго по одному слову (4 байта). Правда, программную часть толком не копали.
На современных же системах: Core i7/Win7 обмен идёт уже блоками по 16 слов (64 байта). Встречаются транзакции и меньшей длины, но основной поток всё же 16DW.
И ещё один момент. Есть такое мнение, существенный вклад тут и чипсета. В системе на i7 ещё под Win2003 наблюдались пересылки по 2-3-4DW. Вероятно, хост-контроллер сам уже умеет склеивать последовательные транзакции.
Сообщение отредактировал Eugenius - Jul 31 2011, 17:52
|