/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
MIPS billig HASH/checksum algoritme
Fra : Christian Madsen


Dato : 30-03-04 16:46

Kære grupper,

I forbindelse med et projekt, har jeg brug for en MIPS billig algoritme
til at generere checksum/HASH over 8-64kb hvor minimum 16 bit nøgle er
påkrævet, men gerne 32 bit. Følgende krav gælder:

* Følsom overfor ombytning af bytes/words
* Min. 16 bit nøgle, men gerne 32

Indtil videre har jeg fundet en meget billig
implementation af CRC-16:
http://www.lawrencechitty.uklinux.net/wizardwiki/index.php?fast%20CRC
(c source nederst på siden), der kompilerer til 29 instruktioner på
arm7, men det er ca. 8 gange for lang tid. En simpel XOR checksum er ikke
god nok, da den ikke er overfølsom for ombytning af bytes.

Er der nogen, der har gode ideer/links til løsninger på problemet?

På forhånd tak,
Christian

 
 
Anders J. Munch (30-03-2004)
Kommentar
Fra : Anders J. Munch


Dato : 30-03-04 18:31

"Christian Madsen" <chr_madsen@doktormadsen.dk> skrev:
> Kære grupper,
>
> I forbindelse med et projekt, har jeg brug for en MIPS billig algoritme
> til at generere checksum/HASH over 8-64kb hvor minimum 16 bit nøgle er
> påkrævet, men gerne 32 bit. Følgende krav gælder:
>
> * Følsom overfor ombytning af bytes/words
> * Min. 16 bit nøgle, men gerne 32

Adler-32 er svaret på dine bønner.

For den sølle pris af en passende kreditering af forfatterne kan du
rippe Mark Adlers and Jean-loup Gaillys uhyggeligt effektive
implementation fra zlib.

mvh. Anders




Christian Madsen (31-03-2004)
Kommentar
Fra : Christian Madsen


Dato : 31-03-04 16:32

Anders, tak.

Har prøvet implementationen fra RFC1950 - den kørte gennem 64kb på 5ms.
på en ARM7@52MHz.

Jeg vil prøve Mark Adlers and Jean-loup Gaillys uhyggeligt effektive
implementation fra zlib og se om det gi'r noget.

Mvh,
Christian

On Tue, 30 Mar 2004 19:31:05 +0200, Anders J. Munch wrote:

> "Christian Madsen" <chr_madsen@doktormadsen.dk> skrev:
>> Kære grupper,
>>
>> I forbindelse med et projekt, har jeg brug for en MIPS billig algoritme
>> til at generere checksum/HASH over 8-64kb hvor minimum 16 bit nøgle er
>> påkrævet, men gerne 32 bit. Følgende krav gælder:
>>
>> * Følsom overfor ombytning af bytes/words
>> * Min. 16 bit nøgle, men gerne 32
>
> Adler-32 er svaret på dine bønner.
>
> For den sølle pris af en passende kreditering af forfatterne kan du
> rippe Mark Adlers and Jean-loup Gaillys uhyggeligt effektive
> implementation fra zlib.
>
> mvh. Anders


Ivar (02-04-2004)
Kommentar
Fra : Ivar


Dato : 02-04-04 23:20


Christian Madsen skrev:

> der kompilerer til 29 instruktioner på
> arm7, men det er ca. 8 gange for lang tid.

Brug tabelopslag!

Her er en billig CRC-rutine (igen nederst på siden)
http://www.modicon.com/techpubs/crc7.html

Den bruger 0xA001 som polynomium.
Du kommer dog ikke ned på 4 instruktioner. Hvis du ikke har
mere regnekraft til rådighed, må du klare dig med en simpel
32-bit sum eller ligende.



Ivar Magnusson



Stig Johansen (03-04-2004)
Kommentar
Fra : Stig Johansen


Dato : 03-04-04 09:02

Christian Madsen wrote:

> Er der nogen, der har gode ideer/links til løsninger på problemet?

Nu er det godt nok 100 år siden, jeg har kodet på det niveau, men derfor kan
det godt være, jeg kan bidrage med ideer.
Nu skriver du 'ideer/løsning på problemet', men hvad er problemet?
Er det kontrol af serialiseret datainput?
Er det kontrol af en ind/udgående datapakke?
Har du mulighed for at 'løfte sløret' over hvad du har gang i?

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408183
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste