1
play

1 How are embedded systems different Timing and Concurrency than - PDF document

What is an Embedded System? Definition of an embedded computer system: Embedded Systems is a digital system. Introduction uses a microprocessor (usually). runs software for some or all of its functions. frequently used as a


  1. What is an Embedded System? ● Definition of an embedded computer system: Embedded Systems ■ is a digital system. Introduction ■ uses a microprocessor (usually). ■ runs software for some or all of its functions. ■ frequently used as a controller. 02-Embedded-intro 1 2 02-Embedded-intro What an embedded system is Examples of Embedded NOT. Systems ● Not a computer system that is used primarily for processing. ● Not a software system on a PC or Unix box. ● Not a traditional business or scientific application. Automotive systems: Medical instrument’s electronic controls: dashboards, ABS brakes, CAT scanners, implanted transmission controls. heart monitors, etc. Controls for digital equipment: CD players, TV remote, programmable sprinklers, household appliances, etc. 3 4 02-Embedded-intro 02-Embedded-intro Why ‘embedded’? Special Characteristics ● Because the processor is ‘inside’ some other hardware and software (in one system) system. ● A microprocessor is ‘embedded’ into your TV, car, concurrency (several or appliance. processes working at same time) ● The consumer does not think about performing timing processing, sensors and (often real time) actuators ● Considers running a machine or `making (for inputs something work’. synchronization (this process and outputs) ● Considered “part of” the thing rather than the must complete before this process begins) thing 5 6 02-Embedded-intro 02-Embedded-intro 1

  2. How are embedded systems different Timing and Concurrency than traditional software? Fire Spark Engine ● Responding to sensors (Was this button shaft angle pushed?) Fire Injectors ● Turning on actuators (Turn on power to the boiler.) ● Real-time (Respond to temperature change Watch Emissions within 3 seconds.) 7 8 02-Embedded-intro 02-Embedded-intro Differences between ES and traditional Small and Many! software development ● Not dealing with only sequential code. ● Most embedded systems use 4-, 8-, or 16-bit processors. 32-bit used for intensive applications like printer controls. ● Routine can stop at completion or in response to ● 8-bit processors have about 64K of memory, that limits an external event. amount of code. ● Many parts of system might be running ● “By 1990 a total of about 45 million recognizable computers (i.e., PCs, concurrently. Macintosh, even CP/M systems) were in place. Yet over 1 billion microprocessors and microcontrollers were shipped in that year ● Safety-critical component of many systems. alone!” Ganssle, J. The Art of Programming Embedded Systems Academic Press, 1992, San Diego, Cal. 9 10 02-Embedded-intro 02-Embedded-intro hardware / software Codesign or �✂✁☎✄✝✆✂✞✠✟☛✡✌☞ ? hardware or ‘Codesign’ ● Where to place functionality? ● Model the hardware and the software system in a ■ ex: A Sort algorithm unified approach. ◆ Faster in hardware, but more expensive. ● Use similar design models. ◆ More flexible in software but slower. ● Need for ‘model continuity’ spanning levels of the ◆ Other examples? design process. ● Must be able to explore these various trade-offs: ■ Cost. ■ Speed. ■ Reliability. ■ Form (size, weight, and power constraints.) 11 12 02-Embedded-intro 02-Embedded-intro 2

  3. Traditional Embedded System Increased Complexity Development Approach ● Decide on the hardware ● Systems are becoming more and more complex. ● Give the chip to the software people. ● Harder to think about total design. ● Software programmer must make software ‘fit’ on ● Harder to fix ‘bugs.’ the chip and only use that hardware’s capabilities. ● Harder to maintain systems over time. ● Therefore, the traditional development process has to change, 13 14 02-Embedded-intro 02-Embedded-intro Less Time to Develop Solutions to Complexity: ● Need to keep design process abstract for a longer ● In embedded electronics, the total design cycle must period of time. decrease. ● Decomposable hierarchy (object-oriented). ● Historically, design for automotive electronic systems ● Reuse previous designs: takes 3-5 years to develop. ■ When a design changes, reuse similar sections. ● Must become a 1-3 year development cycle. ■ Don’t throw away last year’s design and start from scratch! ● Automated verification systems. ● Must still be reliable and safe. B. Wilkie, R. Frank and J. Suchyta - Motorola Semiconductor Products Sectors, ‘Silicon or Software: The Foundation of Automotive Electronics’, IEEE Vehicular Tech., August 95. 15 16 02-Embedded-intro 02-Embedded-intro Fly-by-Wire Airplane Example: Fly-by-Wire Airplane Continued ● How would you start to think about developing this ● What would be the sensors and actuators of this complex/large system? system? ● What are potential problems with deciding on the ● How concerned should developers be about the hardware right away? safety of the system? ● What are possible concurrent systems needs? ● Would testing be enough? ● What type of timing constraints might be needed? 17 18 02-Embedded-intro 02-Embedded-intro 3

Recommend


More recommend