To perform the simple arithmetic required, DSP processors need special high speed arithmetic units. Most DSP operations require additions and multiplications together. The hardware multiply and add work in parallel so that in the space of a single instruction, both an add and a multiply can be completed.
Delays require that intermediate values be held for later use.
This may also be a requirement, for example, when keeping a running total - the total can be kept within the processor to avoid wasting repeated reads from and writes to memory. Array handling requires that data can be fetched efficiently from consecutive memory locations. This involves generating the next required memory address. The ability to generate new addresses efficiently is a characteristic feature of DSP processors. Usually, the next needed address can be generated during the data fetch or store operation, and with no overhead.