Cuauhtémoc Carbajal Cuauhtémoc Carbajal
Reference:
Barry & Crowley, Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems, Morgan Kaufmann, 2012.
Cuauhtmoc Carbajal Cuauhtmoc Carbajal Reference: Barry & - - PowerPoint PPT Presentation
Cuauhtmoc Carbajal Cuauhtmoc Carbajal Reference: Barry & Crowley, Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems , Morgan Kaufmann, 2012. Introduction Most classes of electronics are becoming
Cuauhtémoc Carbajal Cuauhtémoc Carbajal
Reference:
Barry & Crowley, Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems, Morgan Kaufmann, 2012.
systems Consequences of this trend
There will be a great many more embedded systems in the future than there have been in the past, so skilled designers and programmers have a future of stable employment ahead of them. From a technical perspective, the nature of embedded systems design is changing to reflect the large numbers of systems that are connected and have rich media interfaces.
In this course, you will explore the design of modern embedded systems and learn many of the principles and skills needed to develop and program them effectively.
but is not itself a general-purpose computer. Embedded systems are stand alone computing devices usually dedicated to performing limited computing functions reliably, securely and with minimum upkeep costs.
The intended use of an embedded system drives many
consequence of a system’s intended use. Embedded systems have historically been designed with comparatively aggressive dynamic power management mechanisms. Embedded systems are typically designed and deployed with a relatively static and predetermined set of system resources and features. Most embedded systems are parts of devices or infrastructure and are expected to function reliably and deterministically.
electronics will be connected and software based. But why is this so? Technological progress in the presence of genuine commercial competition demands that, over time, new products increase in value while maintaining, or reducing, the price for those products.
Only economically sustainable if new features can be developed and deployed profitably. How? Reuse! No technology enables reuse quite like software.
Software-defined feature sets enable electronics of all kinds to exhibit qualitatively superior cost savings relative to hardware- based feature sets.
new features in deployed systems, communications-oriented activities; the command and control of deployed electronics.
Video: The Internet of Things http://www.youtube.com/watch?v=sfEbMV295Kk
Cell phone Printer Automobile: engine, brakes, dash, etc. Airplane: engine, flight controls, nav/comm. Digital television Household appliances
8
32-bit RISC CPU runs autofocus and eye control systems.
9
Today’s high-end automobile may have 100 microprocessors:
4-bit microcontroller checks seat belt; microcontrollers run dashboard devices; 16/32-bit microprocessor controls engine.
10
11
Embedding computing system design skills are useful for many types of systems.
12
TFLOPS = Trillion Floating Point Operations per Second UAV: Unmanned aerial vehicle SBR: Spectral band replication
High Performance Embedded Computing Handbook - A Systems Perspective - Martinez (2008)
13
Sophisticated functionality Real-time operation Low manufacturing cost Low power Designed to tight deadlines by small teams
14
Often have to run sophisticated algorithms or multiple algorithms.
Automobile engine control: performance optimization while minimizing pollution and fuel utilization
Often provide sophisticated user interfaces.
Moving maps in GPS
15
Must finish operations by deadlines.
Hard real time: missing deadline causes failure. Soft real time: missing deadline results in degraded performance.
Many systems are multi-rate: must handle
Prime example: multimedia
Audio and video run at very different rates
16
Many embedded systems are mass-market items that must have low manufacturing costs.
Limited memory, microprocessor power, etc.
Power consumption is critical in battery-powered devices.
Excessive power consumption increases system cost even in wall-powered devices.
17
Often designed by a small team of designers. Often must meet tight deadlines.
6 month market window is common. Can’t miss back-to-school window for calculator.
18
Alternatives: field-programmable gate arrays (FPGAs), custom logic, etc. Microprocessors are often very efficient: can use same logic to perform many different functions. Microprocessors simplify the design of families of products.
19
Microprocessors use much more logic to implement a function than does custom logic. But microprocessors are often at least as fast:
heavily pipelined; large design teams; aggressive VLSI technology.
CORTEX-A8 Processor Based Mobile Core
20
Modern microprocessors offer features to help control power consumption. Software design techniques can help reduce power consumption.
21
Embedded computing platform: hardware architecture + associated software. Many platforms are multiprocessors. Examples:
Single-chip multiprocessors for cell phone baseband. Automotive network + processors.
The cell phone may, in fact, be the next computing platform…
22
Computing is a physical act.
Software doesn’t do anything without hardware.
Executing software consumes energy, requires time. To understand the dynamics of software (time, energy), we need to characterize the platform on which the software runs.
23
How much hardware do we need?
How big is the CPU? Memory?
How do we meet our timing specifications?
Faster hardware or cleverer software?
How do we minimize power?
Turn off unnecessary logic? Reduce memory accesses? Reduce clock frequency?
24
Does it really work? The dependability issue
Is the specification correct? Does the implementation meet the spec? How do we test for real-time characteristics? How do we test on real data?
How do we work on the system?
Observability, controllability? What is our development platform?
25
In general-purpose computing, performance often means execution time or throughput, may not be well-defined. In real-time systems, performance means meeting deadlines.
Missing the deadline by even a little is bad. Finishing ahead of the deadline may not help.
26
We need to analyze the system at several levels of abstraction to understand performance:
CPU Platform Program Task Multiprocessor
27
A procedure for designing a system Understanding your methodology helps you ensure you didn’t skip anything. Compilers, software engineering tools, computer- aided design (CAD) tools, etc., can be used to:
help automate methodology steps; keep track of the methodology itself.
Make it much easier for members of a design team to communicate
28
Performance
Overall speed, deadlines
Functionality and user interface Manufacturing cost Power consumption Other requirements (physical size, etc.)
29