Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools