Page 222 - Embedded Microprocessor Systems Real World Design
P. 222
Multiprocessor Systems 8
The preceding chapters focused on single-processor systems and subsystems. Many
embedded designs, especially in industrial or commercial systems, use multiple
processors. The design of multiprocessor systems allows computing power to be
distributed among different processors for redundancy, speed, modularity, or to
simpllfy coding.
This book is about embedded systems, so this chapter does not address
processor arrays used for high-speed computation nor will it cover multiple pro-
cessors used in redundant voting or backup schemes. This chapter focuses on
systems in which multiple processors are used for distributed control of real-time
events.
Multiple processors might be used in a project for a number of reasons. One
reason is modularity. For example, a particular processor-based subsystem needs
to be installed only if a particular option is installed. Distributed processors may
simpllfy coding. Instead of one huge, complex, difficult-todebug-and-maintain
piece of code, the software is broken into much more manageable independent
functions on different CPUs.
Although it seems counterintuitive, distributed processors may decrease costs.
The processing horsepower to operate two tasks independently on separate proces-
sors may be considerably less than if one processor must do everything. For
example, a system may have to simultaneously handle high-speed events that
require little processing but need extremely fast response and message-level inter-
rupts that occur less often but require extensive processing. An example of a
high-speed event might be a motor shaft encoder interrupt. An example of a
message-level interrupt might be a message packet from an E232 interface or
message passing in an RTOS environment. A single processor solution must be fast
enough that the overhead of the message-level functions does not affect perfor-
mance of the high-speed events and the repetition rate of the fast events does not
slow down the more processing-intensive message functions.
A multiprocessor solution to this problem might involve a singlechip micro-
controller for the motor control and a more powerful embedded processor for the
203