Trends in Embedded Systems
Embedded systems were originally cost-sensitive control systems with a fixed
function—namely, to make the machine or mechanical parts operate in a specific
and safe way to meet real-time performance constraints for reasons such as safety
and usability. Embedded processors have the following characteristics:
A simple CPU optimized for code efficiency and low power.
Low and predictable interrupt latency to support real-time control.
Occasional use of application-specific processors such as digital signal proces-
sors and media processors.
Integration of on-chip ROM, RAM, and peripheral I/O devices to reduce system
Newer embedded systems are going to incorporate IT as well as control functions
[ 14 ], and heterogeneous multicore processors will be widely used in embedded sys-
tems soon because it is difficult for a single-processor architecture to support opera-
tion throughput for both IT functions and real-time response for control functions.
Automobiles are increasingly using embedded electronic subsystems to control
mechanical parts such as the engine, transmission, brakes, and steering. Each subsys-
tem has an electronic control unit (ECU) and a control application, which usually
have a one-to-one relationship. Manufacturers enhance and network these subsys-
tems together with the car area network (CAN) to implement new functions that
maximize control and safety, such as antilock braking systems, electronic stability
control, traction control, and automatic four-wheel drive. Furthermore, navigation
systems and telematics, which provide IT functions such as databases and network-
ing, will soon be integrated into car control systems, and control and IT functions
will cooperate to increase automobiles' safety, security, comfort, and usability.
Because of the dramatically increasing complexity and functionality of embed-
ded systems, their development could cost billions of dollars and take a decade to
complete. Through software reuse [ 15 ], organizations are attempting to save devel-
opment time and energy. Engineers have a library of software modules, many of
which they use in multiple applications. Modern embedded systems will be based
on two-domain system architectures: a real-time domain, consisting of real-time
control applications on a real-time operating system (RTOS) and an IT domain,
consisting of IT applications on versatile operating systems.
Programming Model on Multicore Processors
Figure 5.7 shows our multidomain system, built on a multicore processor. The system
architecture lets the designer assign domains to the different CPU cores and imple-
ment them independently in each core. Applications and operating systems in both
domains are largely unaware of each other. Domains might exchange information and