Title: Overview of Embedded Computing Systems
1Overview of Embedded Computing Systems
- ECE 253 Winter 2007
- Lecture 1
- Ryan Kastner
- January 17, 2007
2What is an Embedded Computing System?
3Example Embedded Computing Systems
Slide courtesy of Mani Srivastava?
4Chips Everywhere!
Slide courtesy of Alberto Sangiovanni-Vincentelli?
5More Embedded Systems
Camera-on-chip (Bell Labs)
Solar-power Wireless Sensor (Berkeley)
Slide courtesy of Mani Srivastava?
6Electronics and the Car
- More than 30 of the cost of a car is now in
Electronics - 90 of all innovations will be based on
electronic systems
Slide courtesy of Alberto Sangiovanni-Vincentelli?
7More Examples...
- Signal processing systems
- radar, sonar, real-time video, set-top boxes, DVD
players, medical equipment, residential gateways - Mission critical systems
- avionics, space-craft control, nuclear plant
control - Distributed control
- network routers switches, mass transit systems,
elevators in large buildings - Small systems
- cellular phones, pagers, home appliances, toys,
smart cards, MP3 players, PDAs, digital cameras
and camcorders, sensors, smart badges
Slide courtesy of Mani Srivastava?
8Typical Characteristics of Embedded Systems
- Part of a larger system
- not a computer with keyboard, display, etc.
- HW SW do application-specific function not
G.P. - application is known a priori
- but definition and development concurrent
- Some degree of re-programmability is essential
- flexibility in upgrading, bug fixing, product
differentiation, product customization - Interact (sense, manipulate, communicate) with
the external world - Never terminate (ideally) fundamentally
different from TM - Operation is time constrained latency,
throughput - Other constraints power, size, weight, heat,
reliability etc. - Increasingly high-performance (DSP) networked
Slide courtesy of Mani Srivastava?
9Key Recent Trends
- Increasing computation demands
- e.g. multimedia processing in set-top boxes, HDTV
- Increasingly networked
- to eliminate host, and remotely monitor/debug
- embedded Web servers
- e.g. IQEye camera
- e.g. Mercedes car with web server
- embedded Java virtual machines
- e.g. Java ring, smart cards, printers
- cameras, disks etc. that sit directly on networks
- Increasing need for flexibility
- time-to-market under ever changing standards!
- Need careful co-design of h/w s/w!
Slide courtesy of Mani Srivastava?
10Why do we care? Some Market Tidbits...
- Specialized devices and information appliances
are replacing the generalist PC - variety of forms set-top boxes, fixed-screen
phones, smart mobile phones, PDAs, NCs, etc. - IDC predicted that by 2002 gt 50 of inter access
devices will be such into appliances and not PCs - In 1997, 96 of internet access devices sold in
the US were PCs - By 2004, unit shipments will exceed those of PCs
- Traditional systems becoming dependent on
computation systems - Modern cars up to 100 processors running
complex software - engine emissions control, stability traction
control, diagnostics, gearless automatic
transmission - http//www.howstuffworks.com/car-computer.htm
- An indicator where are the CPUs being used?
Slide courtesy of Mani Srivastava?
11Where are the CPUs?
- Estimated 98 of 8 Billion CPUs produced in 2000
used for embedded apps
12What are the Metrics to Optimize?
13Whats Important Shifts in Technology Metrics
- Display (human-computer interface)
- More ubiquitous I/Os (e.g., MEMS sensors
actuators) and modalities (speech, vision, image) - How to Quantify?
- Connectivity (computer-computer interface)
- Not bandwidth but scaled ubiquity
- Million accesses (wired and wireless) per day
- Computing (processing capacity)
- Unbounded capacity utility functionality (very
high mean time to unavailable, gracefully
degraded capability acceptable)
14Whats Important Shifts in User/Applications
Metrics
- Cost Human Effort
- Save time
- Reduce effort
- The Next Power Tools
- Leveraging other peoples effort/expertise
- e.g., What did Dave read about disk prices?
- e.g., What did people who buy this book also
buy?
15What kind of processor?
16Traditional Software Embedded Systems CPU
RTOS
Slide courtesy of Mani Srivastava?
17Many Types of Programmable Processors
- Past
- Microprocessor
- Microcontroller
- DSP
- Graphics Processor
- Now / Future
- Network Processor
- Sensor Processor
- Cryptoprocessor
- Game Processor
- Wearable Processor
- Mobile Processor
Slide courtesy of Mani Srivastava?
18Example Network Processor
- Good News
- Processor Power
- 2 years - 3 X
- Better News
- Optical Bandwidth
- 2 years - 10 X
- Bad News
- Handling increased complexity
Routing Switches Firewall Boxes Traffic
Shapers Aggregation Nodes Edge Routers Media
Servers
Slide courtesy of Mani Srivastava?
19Application-Specific Instruction Processors
(ASIPs)
- Processors with instruction-sets tailored to
specific applications or application domains - instruction-set generation as part of synthesis
- e.g. Tensilica
- Pluses
- customization yields lower area, power etc.
- Minuses
- higher h/w s/w development overhead
- design, compilers, debuggers
- higher time to market
Slide courtesy of Mani Srivastava?
20Traditional Hardware Embedded Systems ASIC
ASIC Features Area 4.6 mm x 5.1 mm Speed 20 MHz
_at_ 10 Mcps Technology HP 0.5 mm Power 16 mW -
120 mW (mode dependent) _at_ 20 MHz, 3.3 V Avg.
Acquisition Time 10 ms to 300 ms
- A direct sequence spread spectrum (DSSS) receiver
ASIC
Slide courtesy of Mani Srivastava?
21Reconfigurable Hardware
Main Entry configure Pronunciation
kn-'fi-gyr Function transitive verb to set
up for operation especially in a particular
way
Main Entry re- Function prefix 1 again anew
ltretellgt 2 back backward ltrecallgt
KEY ADVANTAGE Performance of Hardware,
Flexibility of Software
22FPGA
CLB
Switchbox
Routing Channel
IOB
Routing Channel
Configuration Bit
23FPGA
24Programmable Logic
Tracks
Logic Element
- Each logic element outputs one data bit
- Interconnect programmable between elements
- Interconnect tracks grouped into channels
25Lookup Table (LUT)
2-LUT
- Program configuration bits for required
functionality - Computes any 2-input function
In Out 00 0 01 0 10 0 11 1
A
CA ? B
B
Configuration Bit 0
Configuration Bit 1
C
Configuration Bit 2
Configuration Bit 3
A
B
26Lookup Table (LUT)
- K-LUT -- K input lookup table
- Any function of K inputs by programming table
- Load bits into table
- 2N bits to describe functions
- gt different functions
27Lookup Table (LUT)
K-LUT (typical k4) w/ optional output
Flip-Flop
28Lookup Table (LUT)
- Single configuration bit for each
- LUT bit
- Interconnect point/option
- Flip-flop select
29Configurable Logic Block (CLB)
30Programmable Interconnect
- Interconnect architecture
- Fast local interconnect
- Horizontal and vertical lines of various lengths
31Switchbox Operation
Before Programming
After Programming
- 6 pass transistors per switchbox interconnect
point - Pass transistors act as programmable switches
- Pass transistor gates are driven by configuration
memory cells
32Programmable Interconnect
33Programmable Interconnect
25
34Embedded Functional Units
- Fixed, fast multipliers
- MAC, Shifters, counters
- Hard/soft processor cores
- PowerPC
- Nios
- Microblaze
- Memory
- Block RAM
- Various sizes and distributions
35Embedded RAM
- Xilinx Block SelectRAM
- 18Kb dual-port RAM arranged in columns
- Altera TriMatrix Dual-Port RAM
- M512 512 x 1
- M4K 4096 x 1
- M-RAM 64K x 8
36Xilinx Virtex-II Pro
- 1 to 4 PowerPCs
- 4 to 16 multi-gigabit transceivers
- 12 to 216 multipliers
- 3,000 to 50,000 logic cells
- 200k to 4M bits RAM
- 204 to 852 I/Os
- Up to 16 serial transceivers
- 622 Mbps to 3.125 Gbps
PowerPCs
Logic cells
37Altera Stratix
38Modern Embedded Systems?
- Embedded systems employ a combination of
- application-specific h/w (boards, ASICs, FPGAs
etc.) - performance, low power
- s/w on prog. processors DSPs, ?controllers etc.
- flexibility, complexity
- mechanical transducers and actuators
Slide courtesy of Mani Srivastava?
39Complexity and Heterogeneity
controller processes
control panel
Real-time OS
ASIC
?controller
UI processes
DSP Assembly Code
Programmable DSP
Programmable DSP
DSP Assembly Code
CODEC
Dual-ported RAM
- Heterogeneity within H/W S/W parts as well
- S/W control oriented, DSP oriented
- H/W ASICs, COTS ICs
Slide courtesy of Mani Srivastava?
40Handling Heterogeneity
Slide courtesy of Edward Lee?
41Increasingly on the Same Chip System on a Chip
(SOC)
Slide courtesy of Mani Srivastava?
42Industrial Structure Shift (from Sony)
Slide courtesy of Mani Srivastava?
43Reconfigurable SoC
Other Examples Atmels FPSLIC(AVR
FPGA) Alteras Nios(configurable RISC on a PLD)
Slide courtesy of Mani Srivastava?
44Many Implementation Choices
- Microprocessors
- Domain-specific processors
- DSP
- Network processors
- Microcontrollers
- ASIPs
- Reconfigurable SoC
- FPGA
- Gatearray
- ASIC
Speed
Power
Cost
High Low Volume
Slide courtesy of Mani Srivastava?
45Hardware vs. Software Modules
- Hardware functionality implemented via a custom
architecture (e.g. datapath FSM) - Software functionality implemented in software
on a programmable processor - Key differences
- Multiplexing
- software modules multiplexed with others on a
processor - e.g. using an OS
- hardware modules are typically mapped
individually on dedicated hardware - Concurrency
- processors usually have one thread of control
- dedicated hardware often has concurrent datapaths
Slide courtesy of Mani Srivastava?
46Hardware-Software Architecture
- A significant part of the problem is deciding
which parts should be in software on programmable
processors, and which in specialized hardware - Today
- Ad hoc approaches based on earlier experience
with similar products, on manual design - HW-SW partitioning decided at the beginning, and
then designs proceed separately
Slide courtesy of Mani Srivastava?
47Embedded System Design
- CAD tools take care of hardware fairly well
- Although a productivity gap emerging
- But, software is a different story
- HLLs such as C help, but cant cope with
complexity and performance constraints - Holy Grail for Tools People H/W-like synthesis
verification from a behavior description of the
whole system at a high level of abstraction using
formal computation models
Slide courtesy of Mani Srivastava?
48Productivity Gap in Hardware Design
A growing gap between design complexity and
design productivity
Slide courtesy of Alberto Sangiovanni-Vincentelli?
49Situation Worse in S/W
DoD Embedded System Costs
Billion /Year
Slide courtesy of Mani Srivastava?
50Embedded System Design from a Design Technology
Perspective
- Intertwined subtasks
- Specification/modeling
- H/W S/W partitioning
- Scheduling resource allocations
- H/W S/W implementation
- Verification debugging
- Crucial is the co-design and joint optimization
of hardware and software
Slide courtesy of Mani Srivastava?
51Embedded System Design Flow
- Modeling
- the system to be designed, and experimenting
with algorithms involved - Refining (or partitioning)
- the function to be implemented into smaller,
interacting pieces - HW-SW partitioning Allocating
- elements in the refined model to either (1) HW
units, or (2) SW running on custom hardware or a
suitable programmable processor. - Scheduling
- the times at which the functions are executed.
This is important when several modules in the
partition share a single hardware unit. - Mapping (Implementing)
- a functional description into (1) software that
runs on a processor or (2) a collection of
custom, semi-custom, or commodity HW.
Slide courtesy of Mani Srivastava?
52On-going Paradigm Shift in Embedded System Design
- Change in business model due to SoCs
- Currently many IC companies have a chance to sell
devices for a single board - In future, a single vendor will create a
System-on-Chip - But, how will it have knowledge of all the
domains? - Component-based design
- Components encapsulate the intellectual property
- Platforms
- Integrated HW/SW/IP
- Application focus
- Rapid low-cost customization
Slide courtesy of Mani Srivastava?
53IP-based Design
Slide courtesy of Mani Srivastava?
54Map from Behavior to Architecture
Slide courtesy of Mani Srivastava?
55Behavior Vs. Architecture
Performance models Emb. SW, comm. and comp.
resources
Models of Computation
1
HW/SW partitioning, Scheduling
2
System Behavior
System Architecture
Mapping
Behavior Simulation
3
SW estimation
Performance Simulation
Synthesis
Communication Refinement
4
Flow To Implementation
Slide courtesy of Alberto Sangiovanni-Vincentelli?
56Course Plan
- Design Specification
- Models of Computation
- Design Languages
- Architecture optimization
- HW/SW partitioning
- Hardware compilation
- Embedded System Synthesis
57Class Projects