1. A method of generating a checksum for a data string, comprising the steps of: generating a first partial checksum by accumulating a plurality of first sub-partial checksums associated with a data string, and storing the plurality of first sub-partial checksums in a first integer registers of a processor; generating a second partial checksum by accumulating a plurality of second sub-partial checksums associated with the data string, and storing the plurality of second sub-partial checksums in a second integer registers of the processor, using the stored second sub-partial checksums to generate a Single Instruction Multiple Data (SIMD) second partial checksum, scaling the SIMD second partial checksum using a shift operation to obtain a scaled SIMD second partial checksum, and correcting the scaled SIMD second partial checksum, using the accumulated first sub-partial checksums; and combining the first and second partial checksums to generate a checksum for the data string.