The M16X is a 16-bit microcontroller which is software compatible with the Siemens C16x and STMicroelectronics ST10 families of microcontrollers.
The M16X is designed for high instruction throughput and rapid response to interrupts with minimal intervention from the CPU. It features a four-stage pipeline, a programmable external bus interface that can support either 8-bit or 16-bit data buses, an interrupt controller with support for 28 sources at 16 levels of interrupt priority, and an 8-channel PEC.
It has a 16Mbyte linear address space for code and data, and can be configured for a 1 or 2Kbyte internal RAM block and for up to 128Kbytes of internal ROM. It can also be configured to use a Bootstrap ROM after reset.