Instruction set policy

No program is an island unto itself. Some decisions have to be made about the target environment, and its capabilities.

Some telecoms activities are so real time they really have to be implemented within the OS kernel. Echo-cancellation is a good example. Kernels don't generally like floating point. DSP doesn't like fixed point without saturation logic. These two competing issues must be resolved. Some telecoms functions should be portable to smaller machines, where floating point may not be a native feature of the instruction set. This may justify two versions - one floating point for machines like Pentiums and Athlons, and one fixed point for embedded ARMs.

There are various benefits in using:

Of course these only work with x86 processors, and only specific variants at that. This isn't too much of a problem, though. To process even a single E1 or T1 demands a reasonably fast machine, so only modern machines fit the bill. If your trusty old Pentium 200 MMX is too slow withouth SSE code, it hardly hurts that you can't use it with SSE code.