Цитата(zltigo @ Nov 20 2006, 12:29)

А свой тему топика поднятую Вами помните?
Да. Напоминаю:
Я: спросил, как можно быстрее передать данные, чем через memcpy(), и еще посетовал на отсутствие PDC для этого процесса.
Мне: PDC- это фигня по сравнению с FIFO.
Я: не вижу, чем FIFO лучше чем PDC.
Цитата(zltigo @ Nov 20 2006, 12:29)

Что-то мне подсказывает, что DMA положил Вам
куда-то совсем сырой поток данных, потом Вы захотели с ним слегка разобраться, ну там фреймы выделить, контрольные суммы подсчитать, битые пакеты выринуть, перезапросы сделать....
Как? Где Вы экономите? Я так и не понял. Конкретный пример приведите, как FIFO экономит пересылки при подсчете контрольной суммы? Или как FIFO помогает определить битый пакет?
Цитата(zltigo @ Nov 20 2006, 12:29)

А уж только после этого положить не тольлько куда надо, но и то, что надо. Обработка сырого потока
так или иначе нужна почти всегда, с DMA получаете дополнительные пересылки память-память буквально на ровном месте.
Так уж получилось, что я постоянно решаю задачи, в которых обработка сырого потока до момента его полного приема бессмысленна. То есть есть критерии завершения, которые я могу описать контроллеру PDC до начала обмена, и просто ждать прерывания по событию "конец приема". У Вас же, наверное, ситуация обратная.
Цитата(zltigo @ Nov 20 2006, 12:29)

Реально много работал с AMD186CC, тот-же UART (кстати много более продвинутый нежели от
Intel и 32bit интерфейсом и прочими вкусностями) имеет и FIFO и DMA. Пробовал, думал....
в результате работает с FIFO. Причины изложены выше.
Ну что ж. А у меня ситуация обратная. Мой протокол хорошо ложится на PDC, вот и все. И FIFO ну никак не облегчит мне жизнь.
Цитата(zltigo @ Nov 20 2006, 16:05)

Далеко и ходить не надо - SLIP - хороший, стандартный и правильный пакетный протокол и будет "туши свет".....
Ну а если у меня постоянно MODBUS-RTU, который хорошо ложится на имеющийся PDC? Что мне теперь, протокол менять, чтобы неудобно было?

Цитата(zltigo @ Nov 20 2006, 16:05)

Повторюсь :-( Ни FIFO, ни DMA сами по себе не лучше и не хуже, просто довольно часто приходится слышать о DMA (в случае простых контроллеров!) как о чем-то абсолютно прекрасном, так вот это не так, к сожалению.
Это да. Нет в мире совершенства. Кому что нравится. Мне- PDC, Вам- FIFO.