introduction - University of Florida
Download
Report
Transcript introduction - University of Florida
CDA 4630/5636: Embedded Systems
Introduction
Course Requirements
Grading Criteria
Course Policies
Textbook
Embedded Systems Basics
Course Outline
CDA 4630/CDA 5636 – Spring 2016
Copyright © 2016 Prabhat Mishra
1
Instructor: Dr. Prabhat Mishra
Associate Professor, CISE
http://www.cise.ufl.edu/~prabhat
Room: CSE 568
Email: [email protected]
Phone: 352 505 1880
Office hours: Wednesday 1:55 – 3:50 PM
Brief History
Since
2004 at University of Florida.
Held positions in Texas Instruments, Intel,
Motorola (Freescale), Synopsys, and …
Published four books, 100+ research articles, …
2
Teaching Assistant
Youlin Zhang
2nd year Ph.D. Student
http://www.cise.ufl.edu/~youlin
Room: CSE 309
Email: [email protected]
Office hours: Tue 1:55 – 3:50 PM
3
Teaching Assistant
Gokhan Kaya
6th year Ph.D. Student
http://www.cise.ufl.edu/~gkaya
Room: CSE 309
Email: [email protected]
4
Embedded Systems
Two types of computing
– produced millions/year
Embedded – billions/year
Desktop
Non-Embedded Systems
PCs,
servers, and notebooks
Embedded Systems – the future of computing!
Automobiles, entertainment, communication, aviation,
handheld devices, medical, ….
Embedded Systems
Automobiles
Medical
Entertainment
Handheld
Airplanes
Military
Why should I take this course?
To understand a new area
Intersection of architecture, OS and compilers
Includes software and hardware (digital + analog)
Covers a wide variety of optimization objectives
area, power, performance, energy, temperature
Analog/Digital
Architecture
Compiler
OS
Subject Areas
Hardware
Software
Domains
Embedded
Real-Time
Reconfigurable
Computing Paradigms
To pursue research in this field
Interdisciplinary – many job openings …
7
Lectures
Course Page
http://www.cise.ufl.edu/class/cda5636sp15/
Visit regularly for updates and announcements
Lectures
Mon, Wed and Fri 10:40 – 11:30 AM
NEB 102
Class participation – 5% of overall score
On campus students are expected to attend
classes and actively participate in discussions.
Please be on time
eLearning website will be used for assignments
https://lss.at.ufl.edu
8
Course Requirements
No graduate levels courses necessary
Required Courses
CDA 3101 - Computer Organization
Good programming knowledge in C, C++ or Java
Necessary to do well in the course projects
Each project can be approximately 500 lines of
code. Therefore, you should be comfortable
designing and debugging large programs.
Please check with the instructor if you do not
have the required pre-requisites
When to consider dropping it?
Subjective tests
You are not interested in learning!
Like to collaborate in individual assignments!
You do not have the required background
Courses: computer organization and programming
The name “software” or “hardware” scares you
Need a specific grade in this course to graduate
but not willing to put the required effort
Objective test
Do
not score at least 50% in the test (will be
provided)
10
Grading Criteria
Homeworks – 15%
Two HWs for CDA4630 and three for CDA5636
Projects – 20%
Two projects for CDA4630 and three for CDA5636
Two Exams
Midterm – 25%
Comprehensive Final – 35%
Participation – 5%
Grading will be on the curve
Separate
curves for CDA 4630 and CDA 5636
top 15-20% A, next 15-20% A-, …
How do I get an “A” grade?
Make sure you are in top 15-20% (overall 90+)
How to be in top 15-20% ?
Make
sure you have the required background
Attend
every lecture and actively participate in discussions
Come
prepared for the next lecture
Make sure you understood the previous lectures completely
Use
both TA and instructor office hours effectively
Use office hour for technical discussions (not for “re-grading only”)
Solve
homeworks and projects on your own
Another perspective:
Lectures + HWs + Projects
BB
Read Materials + Understand Examples
B+
A-
Discussions+ …
A
12
Course Policies
No grades for late submissions.
Complete homeworks/projects on your own.
“Zero
Tolerance” policy towards cheating
Exams are closed book/notes.
Crib
sheet allowed -- hand-written notes
Calculator
(cell phone not allowed)
Re-grading requests within a week.
One
week from when it is available (posted in eLearning).
Attendance, Cell Phones, …
http://www.cise.ufl.edu/class/cda5636sp16/
13
Tentative Schedule
Assigned
Homework 1:
Project 1:
Homework 2:
Midterm:
EDGE
Jan 27
Feb 03
Feb 17
Mar 14
Due
Feb 03 (11:30 PM)
Feb 17 (11:30 PM)
Feb 24 (11:30 PM)
10:40 – 11:30 PM in NEB 102
students can take the midterm between Mar 23 – 24
Homework 3:
Project 2:
Project 3:
Final:
Feb 24
Mar 09
Mar 30
Apr 28
Mar 09 (11:30 PM)
Mar 30 (11:30 PM)
Apr 13 (11:30 PM)
12:30 – 2:30 PM in NEB 102
students can take the final between Apr 28 – 29 so
that exam reaches the instructor by Apr 30, 4:00 PM (EST)14
EDGE
Textbook
No required textbooks
Materials will be from various books (approx. coverage )
P. Marwedel, Embedded System Design (40%)
W. Wolf, High Performance Embedded Computing (15%)
F. Vahid and T. Givargis, Embedded System Design (10%)
M. Chen …, System-Level Validation, (10%)
W. Wang …, Dynamic Reconfiguration in Real-Time Systems (10%)
Various sources (15%)
If you want to buy, try one of the first two books
References
Conferences/Journals
DAC, ICCAD, …, ACM TODAES/TECS, IEEE TCAD/TVLSI
Web Resources: www.embedded.com, www.eet.com, …
Motivation
Examples
Block Diagram
Characteristics
Major Challenges
Low Power
Design Complexity
Verification Complexity
Time-to-Market
Security and Reliability
Design Automation Opportunities
16
Example: Digital Camera
Components of Embedded Systems
Memory
Controllers
Interface
Software
(Application Programs)
Coprocessors
Processor
ASIC
Converters
Analog
Digital
Analog
Components of Embedded Systems
Analog Components
Sensors, Actuators, …
Digital Components
Processor, Coprocessors, Memories, Buses
Controllers, Application Specific Hardwares
Converters
Analog-to-Digital (A2D), D2A, …
Software
Operating systems
Middleware
Applications (MPEG-x, GSM-kernel, …)
Example: BMW 745i
2, 000, 000 LOC
Windows CE OS
53 8-bit P
11 32-bit P
7 16-bit P
Multiple Networks
Buggy!
Electronic Devices in Automobiles
Lee [Lee02b] © 2002 IEEE
© 2006 Elsevier
Motivation
Examples
Block Diagram
Characteristics
Major Challenges
Low Power
Design Complexity
Verification Complexity
Time-to-Market
Security and Reliability
Design Automation Opportunities
22
Simplified Block Diagram
Display
Analog Digital
Converter
Embedded Computing
(Processors, Memories, …)
Digital Analog
Converter
Actuators
Sensors
Environment
23
Motivation
Examples
Block Diagram
Characteristics
Major Challenges
Low Power
Design Complexity
Verification Complexity
Time-to-Market
Security and Reliability
Design Automation Opportunities
24
Characteristics
Application Specific
Applications are known a priori
Optimize for cost, area, power, and performance
Digital Signal Processing
Signals are represented digitally
Reactive
Reacts to changes in the system’s environment
Real-time
Compute certain tasks before deadline
Distributed, Networked, …
Characteristics
Reliability
Probability of system working correctly provided
that is was working at t=0
Maintainability
Probability of system working correctly d time
units after error occurred.
Safety
Not harmful for user
Security
Confidential and authentic communication
Traditional Design Challenges
Low cost
Digital/analog requirements
Light weight
Shrinking time-to-market
Reliability
Short product lifetime
Low power
Real-time processing
Portable
Inherent concurrency
Complexity
HW/SW co-design
Ease of use
Network friendly
Security
Reliability
Motivation
Examples
Block Diagram
Characteristics
Major Challenges
Low Power
Design Complexity
Verification Complexity
Time-to-Market
Security and Reliability
Design Automation Opportunities
28
Reducing Energy Consumption
Pentium
Running the same multimedia application.
Crusoe
[www.transmeta.com]
Infrared Cameras (FLIR) can be used to detect thermal distribution.
Motivation
Examples
Block Diagram
Characteristics
Major Challenges
Low Power
Design Complexity
Verification Complexity
Time-to-Market
Security and Reliability
Design Automation Opportunities
31
Design Complexity
Exponential Growth – doubling of transistors every couple of years
Design Complexity
1,000,000,000
Sony Graphic Synthesizer
IBM Power4
NVIDIA NV30 GPU
NVIDIA NV25 GPU
Sony Graphic Synthesizer
IntelPentium 4
IntelPentium III
100,000,000
Number of Transistors
NVIDIA NV40
10,000,000
IntelPentium II
IntelPentium
Intel486
1,000,000
Intel386
Intel286
100,000
Intel8086
NVIDIA NV20 GPU
Motorola G4
AMD Athlon XP
Intel Centrino
NVIDIA NV35 GPU
ATI Radeon X800
10,000
Intel8080
1000
Intel
4004
Intel8008
1970
1975
1980
1985
1990 1995
2000
2005
Use of Silicon Power
Technology and Demand
#of transistors are doubling every 2 years
Technology
Demand
Communication, multimedia, entertainment, networking
Exponential growth of design complexity
verification complexity
35
Who wants to be a Millionaire
You double your investment everyday
Starting investment - one cent.
How long it takes to become a millionaire
a)
b)
c)
d)
e)
20 days
27 days
37 days
365 days
Lifetime ++
Who wants to be a Millionaire
You double your investment everyday
Starting investment - one cent.
How long it takes to become a millionaire
a)
b)
c)
20 days
27 days
37 days
One million cents
Millionaire
Billionaire
Doubling transistors every 18 months
This growth rate is hard to imagine, most people
underestimate
Believe it or not
Each of us have more than a million ancestors in
last 20 generations.
Motivation
Examples
Block Diagram
Characteristics
Major Challenges
Low Power
Design Complexity
Verification Complexity
Time-to-Market
Security and Reliability
Design Automation Opportunities
38
North America Re-spin Statistics
1st Silicon Success
100%
48%
1999
44%
2002
39%
2004
Source: 2002 Collett International Research and Synopsys
North America Re-spin Statistics
1st Silicon Success
100%
48%
1999
44%
2002
39%
2004
Source: 2002 Collett International Research and Synopsys
71% SOC re-spins are due to logic bugs
Functional Validation of SOC Designs
2014
Trillions
2000
2007
1000B
200
2001
10B
20
1995
100M
1M
10M
Logic Gates
Source: Synopsys
100M
Billions
Simulation Vectors
Engineer Years
20000?
Motivation
Examples
Block Diagram
Characteristics
Major Challenges
Low Power
Design Complexity
Verification Complexity
Time-to-Market
Security and Reliability
Design Automation Opportunities
42
Time-to-Market
Time required to develop a
product to the point it can be
sold to customers
Revenues ($)
Market window
Period
during which the product
would have highest sales
Time (months)
Average time-to-market
constraint is about 8 months
Delays can be costly
Losses due to Delayed Market Entry
Simplified revenue model
Product
life = 2W, peak at W
Revenue = area of the triangle
Loss = difference between on-time and delayed triangle
areas (shaded region)
Area = 1/2 * base * height
Revenues ($)
Peak revenue
Peak revenue from
delayed entry
On-time
Market fall
Market rise
Delayed
Percentage revenue loss =
(D(3W-D)/2W2)*100%
Try some examples
1.
D
On-time
entry
Delayed
entry
On-time = 1/2 * 2W * W
Delayed = 1/2 * (2W-D)*(W-D)
W
2W
Time
2.
Lifetime 2W=52 wks, delay D=4 wks
Loss = (4*(3*26 –4)/2*262) = 22%
Lifetime 2W=52 wks, delay D=10 wks
Loss = (10*(3*26 –10)/2*262) = 50%
Design Productivity Gap
10,000
100,000
1,000
10,000
Logic transistors 100
10
per chip
(in millions)
1
1000
Gap
IC capacity
10
0.1
0.01
100
Productivity
(K) Trans./Staff-Mo.
1
Productivity
0.001
0.1
0.01
1981 leading edge chip required 100 man-months
10,000
transistors / 100 transistors/month
2002 leading edge chip requires 30K man-months
150,000,000
/ 5000 transistors/month
Designer cost increase from $1M to $300M
Mythical Man-Month
In theory, adding designers to team reduces project
completion time
In reality, productivity per designer decreases due to team
management complexity and communication overhead
In the software community, known as “the mythical manmonth” (Brooks 1975)
At some point, can actually lengthen project completion time!
1M transistors, one
designer=5000 trans/month
Each additional designer
reduces for 100 trans/month
So 2 designers produce 4900
trans/month each
60000
50000
40000
30000
20000
10000
16
15
Team
16
19
18
23
24
Months until completion
43
Individual
0
10
20
30
Number of designers
40
Motivation
Examples
Block Diagram
Characteristics
Major Challenges
Low Power
Design Complexity
Verification Complexity
Time-to-Market
Security and Reliability
Design Automation Opportunities
47
Attacks on Embedded Systems
Remote Software Attacks
(Worm, Virus, Trojans)
Promity-based Passive Hardware Attacks
(Power or EM analysis)
Irreversible Hardware Attacks
(Tampering)
Turbo Code
AES
Reversible Active
Proximity-based Attacks
(Fault injection)
uP
RAM
48
Security and Reliability
Reliable system design creates systems that work
even in the face of internal or external errors.
Design
errors, manufacturing defects, radiation hazards, …
To ensure security, countermeasures are required for
various types of malicious attacks.
power attack, network attack, trojans, virus, …
Safety-critical systems need to dynamically detect
errors or security attacks and repair/mitigate them.
Avizienis et al. [Avi04]
© 2006 Elsevier
Challenges versus Trade-offs
Multicore architectures ensures performance growth
without creating power disaster
One
core with frequency 2 GHz
Two cores with 1 GHz frequency (each)
Same performance
Two 1 GHz cores require half power/energy
– Power freq2
– 1GHz core needs one-fourth power compared to 2GHz core.
Creates
reliability concerns!
Assume that one core has mean-time-to-failure (MTTF) of 5 years
a system with 64 cores has MTTF approximately one month!
Design complexity and reduced time-to-market needs
integration of components from other companies.
Creates opportunity for malicious attacks
Motivation
Examples
Block Diagram
Characteristics
Major Challenges
Low Power
Design Complexity
Verification Complexity
Time-to-Market
Security and Reliability
Course Outline
51
Course Overview
Hardware Components
Hardware
Concept
Specification
HW/SW
Partitioning
Estimation Exploration
Software
Software Components
Validation and Evaluation
Course Outline
Introduction
Modeling and Specification
Embedded Systems Architecture
Real-Time Scheduling and OS
Compilation for Embedded Applications
Hardware-Software Co-Design
Control Systems
Recent Research Directions
Code
compression, design space exploration,
functional verification, dynamic reconfiguration
53