|
Быстрое вычисление CRC-8, Потенциальные возможности не табличных методов |
|
|
|
Sep 1 2006, 12:32
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Недавно поднимался вопрос об оптимизации сишного кода, в частности был представлен такой код (немного отрихтовал для приличия) Цитата(µµC @ Aug 25 2006, 14:26)  Приятный алгоритм, возьму на вооружение. IAR - 515 циклов. Код U8 crc8_3(U8 *buff, U8 num) { U8 i, crc=0; do { crc^=*buff++; i=8; do { if(crc&0x01) { crc>>=1; crc^=0x8C; } else crc>>=1; } } while(--i); } while(--num); return crc; } Для семи байтов ИАР-код выполняется за 525 циклов, т.е. вгрубе 75 циклов на байт. У меня весь ASM-код (не табличный) для 7 байт выполняется за 80 циклов. Может я чего не понимаю, или полиномы неправильные?
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Сообщений в этой теме
=GM= Быстрое вычисление CRC-8 Sep 1 2006, 12:32 IgorKossak =GM=, почитайте внимательно о методах оптимизации ... Sep 1 2006, 12:54 =GM= Цитата(IgorKossak @ Sep 1 2006, 11:54) =G... Sep 1 2006, 13:59  singlskv Цитата(=GM= @ Sep 1 2006, 17:59) Цитата(I... Sep 1 2006, 15:11 pitt Код для onewire от Texas Instruments avr-gcc. Пере... Sep 1 2006, 12:56 aaarrr Цитата(=GM= @ Sep 1 2006, 16:32) У меня в... Sep 1 2006, 14:08 =GM= Цитата(aaarrr @ Sep 1 2006, 13:08) Цитата... Sep 1 2006, 15:17  singlskv Цитата(=GM= @ Sep 1 2006, 19:17) Цитата(a... Sep 1 2006, 15:21   =GM= Цитата(singlskv @ Sep 1 2006, 14:21) Пере... Sep 1 2006, 16:33    singlskv Цитата(=GM= @ Sep 1 2006, 20:33) Но это т... Sep 1 2006, 20:37     =GM= Цитата(singlskv @ Sep 1 2006, 19:37) Ну н... Sep 3 2006, 08:55      Oldring Цитата(=GM= @ Sep 3 2006, 12:55) Код sbrc... Sep 3 2006, 10:16       pitt Цитата(Oldring @ Sep 3 2006, 06:16) Ускор... Sep 3 2006, 12:23        ivstech Вот мой код расчета CRC16,
не скажу, что я придум... Sep 4 2006, 05:11         Oldring Цитата(ivstech @ Sep 4 2006, 09:11) Вот м... Sep 4 2006, 11:07       =GM= Цитата(Oldring @ Sep 3 2006, 09:16) Цитат... Sep 3 2006, 20:31        Oldring Цитата(=GM= @ Sep 4 2006, 00:31) Oldring,... Sep 3 2006, 20:44         singlskv Цитата(Oldring @ Sep 4 2006, 00:44) Цитат... Sep 3 2006, 21:28          =GM= Цитата(Oldring @ Sep 4 2006, 00:44) Это т... Sep 5 2006, 12:28      _artem_ Цитата(=GM= @ Sep 3 2006, 11:55) Цитата(s... Sep 3 2006, 16:07 pitt Чего я не понял, так это мы о скорости говорим или... Sep 1 2006, 17:28 singlskv Цитата(pitt @ Sep 1 2006, 21:28) Или цена... Sep 1 2006, 20:10 aaarrr Цитата(_artem_ @ Sep 3 2006, 20:07) =GM=,... Sep 3 2006, 17:52 Oldring Цитата(aaarrr @ Sep 3 2006, 21:52) А если... Sep 3 2006, 19:13 _Bill Цитата(aaarrr @ Sep 3 2006, 20:52) В поря... Sep 4 2006, 07:41 Oldring Для тех кто интересуется добавлю, что рассматривае... Sep 3 2006, 22:22 aaarrr Цитата(_Bill @ Sep 4 2006, 11:41) Без вся... Sep 4 2006, 08:00 _Bill Цитата(aaarrr @ Sep 4 2006, 11:00) Цитата... Sep 4 2006, 10:22 aaarrr Цитата(_Bill @ Sep 4 2006, 14:22) Накладн... Sep 4 2006, 11:31 Oldring Цитата(aaarrr @ Sep 4 2006, 15:31) Цитата... Sep 4 2006, 11:51 _Bill Цитата(aaarrr @ Sep 4 2006, 14:31) Как эт... Sep 4 2006, 12:33 aaarrr Цитата(Oldring @ Sep 4 2006, 15:51) Завис... Sep 4 2006, 12:09 aaarrr Цитата(_Bill @ Sep 4 2006, 16:33) Поэтому... Sep 4 2006, 13:06 _Bill Цитата(aaarrr @ Sep 4 2006, 16:06) Цитата... Sep 4 2006, 13:13 Smen Дяденьки, подскажите, плиз!
Если у меня прини... Jul 1 2013, 13:37 zombi Цитата(Smen @ Jul 1 2013, 16:37) какой ал... Jul 1 2013, 19:01  Smen Цитата(zombi @ Jul 1 2013, 23:01) Считайт... Jul 2 2013, 06:02
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|