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
   217   218   219   220   221   222   223   224   225   226   227