The attribute shared by most embedded controllers is their ability to interact with the outside world. While this fact is generally accepted, the form this I/O takes includes everything from parallel and bitaddressable digital I/O, analog I/O, as well as complex functions such as a user interface panel. Furthermore, timing related activities such as pulse width modulation, pulse accumulation, frequency measurement, and duty cycle and phase determination are often lumped together under the heading of high speed I/O. Additionally, while not necessarily I/O related, many small systems will benefit from other functional extensions involving real time clocks, interval timers, and nonvolatile memories.