In general-purpose computing, the variety of instruction set architectures today is limited, with the Intel x86 architecture overwhelmingly dominating all. There is no such
dominance in embedded computing. On the contrary, the variety of processors can be
daunting to a system designer. Our goal in this chapter is to give the reader the tools and
vocabulary to understand the options and to critically evaluate the properties of processors. We particularly focus on the mechanisms that provide concurrency and control over
timing, because these issues loom large in the design of cyber-physical systems.