The Embedded C Extension to C
Embedded C adds fixed-point data types, named address spaces and hardware I/O to C. Fixed-point primitives give the programmer direct access to a processor's fixed-point functionality. Named address spaces can be used to give control over multiple memory banks, which are typically present in DSP processors to increase the effective bandwidth to the ALU. The hardware I/O specification provides a standardized abstraction layer for accessing I/O hardware registers.
Fixed-point primitives and named address spaces are performance increasing features. They are motivated by a practical and economic need to program DSP processors in a high level language instead of assembly. The hardware I/O specification improves portability, allowing the same (driver) source code to run on multiple platforms.