Цитата(sqrt(2) @ Nov 3 2016, 12:13)

Здравствуйте.
До этого вычислял CRC в модели в Матлабе, и в целях понимания расписал всё сам, но через регистр сдвига и xor. И не заморачивался, ибо в этой модели было не важно время вычисления. С другой стороны, на практике такой подход не применим. Как я понял, основной алгоритм - это вычисление CRC при помощи таблиц поиска.
Все так, но немного не так...
Если данные появляются "мгновенно" и CRC нужна "мгновенно", то без сомнения..
Но обычно данные приходят либо последовательно, либо тетрадами, либо байтами... Вот, в темпе приема они и должны обрабатываться... Приходят последовательно - значит и обрабатываются последовательно. Приходят тетрадами - значит надо посмотреть, насколько внутренняя тактовая выше, чем частота приема. И если есть возможность, то принимать тетрадой, а обрабатывать опять же последовательно... А иначе - огромная потеря ресурса...
Цитата(sqrt(2) @ Nov 3 2016, 12:13)

Здравствуйте.
До этого вычислял CRC в модели в Матлабе, и в целях понимания расписал всё сам, но через регистр сдвига и xor. И не заморачивался, ибо в этой модели было не важно время вычисления. С другой стороны, на практике такой подход не применим. Как я понял, основной алгоритм - это вычисление CRC при помощи таблиц поиска.
Все так, но немного не так...
Если данные появляются "мгновенно" и CRC нужна "мгновенно", то без сомнения..
Но обычно данные приходят либо последовательно, либо тетрадами, либо байтами... Вот, в темпе приема они и должны обрабатываться... Приходят последовательно - значит и обрабатываются последовательно. Приходят тетрадами - значит надо посмотреть, насколько внутренняя тактовая выше, чем частота приема. И если есть возможность, то принимать тетрадой, а обрабатывать опять же последовательно... А иначе - огромная потеря ресурса...