2 ms·
Never done any DSP. How does it change the paradigms ? > At least. that was the theoretical practice. The actual practice was a mess. :( This another big probl
by mackwic 12y ago
Never done any DSP. How does it change the paradigms ?
> At least. that was the theoretical practice. The actual practice was a mess.
:(
This another big problem yet to solve...
- vonmoltke 12y agoThere were two big architectural differences that created some weird (to developers used to conventional processors) code. First was that the chips were fixed-point. That mainly changed the arithmetic of the individual algorithm steps, but it led to some really strange number packing schemes[1] that affected memory layout and added a bunch of code just for dealing with them. Second was the concept of "on-chip" and "off-chip" memory. The chips did not have a conventional memory bus. Instead, the program had to manually make a DMA request to move data on-chip for processing. This was basically a stack memory space local to the DSP core. It was the only memory space the core could access directly, though. Thus, algorithms had to be implemented such that they moved memory on-chip in blocks, processed the data, then moved it back off-chip. Since these movements were expensive, the implementation also tried to chain as many things together on the core in order to minimize the DMA transactions. Needless to say, these make for extremely inefficient code in some cases when you try to recompile on a real processor or controller that actually has an FPU and memory controller. [1] If you have never tried working with complex numbers on a fixed-point processor, don't.