1 cda 4630/5636: embedded systems introduction course requirements grading criteria course policies...

51
1 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

Upload: bernice-higgins

Post on 18-Jan-2016

278 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

1

CDA 4630/5636: Embedded Systems

Introduction

Course Requirements

Grading Criteria

Course Policies

Textbook

Embedded Systems Basics

Course OutlineCDA 4630/CDA 5636 – Spring 2016 Copyright © 2016 Prabhat Mishra

Page 2: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Instructor: Dr. Prabhat MishraAssociate 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 HistorySince 2004 at University of Florida.Held positions in Texas Instruments, Intel,

Motorola (Freescale), Synopsys, and … Published four books, 100+ research articles, …

2

Page 3: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Embedded SystemsTwo types of computing

Desktop – produced millions/yearEmbedded – billions/year

Non-Embedded SystemsPCs, servers, and notebooks

Embedded Systems – the future of computing! Automobiles, entertainment, communication, aviation,

handheld devices, medical, ….

Page 4: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Embedded SystemsAutomobiles

Handheld

Medical

AirplanesMilitary

Entertainment

Page 5: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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

To pursue research in this fieldInterdisciplinary – many job openings …

6

OS

Architecture

Compiler

Subject Areas

Reconfigurable

Embedded

Real-Time

Computing Paradigms

Analog/Digital

Hardware

Software

Domains

Page 6: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

LecturesCourse 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

7

Page 7: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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

Page 8: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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 testDo not score at least 50% in the test (will be

provided) 9

Page 9: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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-, …

Page 10: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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 lectureMake sure you understood the previous lectures completely

Use both TA and instructor office hours effectivelyUse office hour for technical discussions (not for “re-grading only”)

Solve homeworks and projects on your own

Another perspective:

11

Lectures + HWs + Projects Read Materials + Understand Examples Discussions+ …AB+B A-B-

Page 11: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

12

Course PoliciesNo 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 notesCalculator (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/

Page 12: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

13

Tentative Schedule Assigned Due

Homework 1: Jan 27 Feb 03 (11:30 PM)

Project 1: Feb 03 Feb 17 (11:30 PM)

Homework 2: Feb 17 Feb 24 (11:30 PM)

Midterm: Mar 14 10:40 – 11:30 PM in NEB 102

EDGE students can take the midterm between Mar 23 – 24

Homework 3: Feb 24 Mar 09 (11:30 PM)

Project 2: Mar 09 Mar 30 (11:30 PM)

Project 3: Mar 30 Apr 13 (11:30 PM)

Final: Apr 28 12:30 – 2:30 PM in NEB 102

EDGE students can take the final between Apr 28 – 29 so that exam reaches the instructor by Apr 30, 4:00 PM (EST)

Page 13: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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

ReferencesConferences/Journals

DAC, ICCAD, …, ACM TODAES/TECS, IEEE TCAD/TVLSI Web Resources: www.embedded.com, www.eet.com, …

Page 14: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

15

MotivationMotivation Examples

Block Diagram

Characteristics

Major Challenges Low Power Design Complexity Verification Complexity Time-to-Market Security and Reliability

Design Automation Opportunities

Page 15: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Example: Digital Camera

Page 16: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Components of Embedded Systems

Analog Digital Analog

Memory

Coprocessors

Controllers

Converters

Processor

Interface

Software(Application Programs)

ASIC

Page 17: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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, …)

Page 18: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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!

Page 19: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

© 2006 Elsevier

Electronic Devices in Automobiles

Lee [Lee02b] © 2002 IEEE

Page 20: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

21

MotivationMotivation Examples

Block Diagram

Characteristics

Major Challenges Low Power Design Complexity Verification Complexity Time-to-Market Security and Reliability

Design Automation Opportunities

Page 21: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Simplified Block Diagram

22

Analog DigitalConverter

Embedded Computing (Processors, Memories, …)

Display

ActuatorsSensors

Digital AnalogConverter

Environment

Page 22: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

23

MotivationMotivation Examples

Block Diagram

Characteristics

Major Challenges Low Power Design Complexity Verification Complexity Time-to-Market Security and Reliability

Design Automation Opportunities

Page 23: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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, …

Page 24: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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

Page 25: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Traditional Design ChallengesLow cost

Light weight

Reliability

Low power

Portable

Complexity

Ease of use

Security

Digital/analog requirements

Shrinking time-to-market

Short product lifetime

Real-time processing

Inherent concurrency

HW/SW co-design

Network friendly

Reliability

Page 26: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

27

MotivationMotivation Examples

Block Diagram

Characteristics

Major Challenges Low Power Design Complexity Verification Complexity Time-to-Market Security and Reliability

Design Automation Opportunities

Page 27: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA
Page 28: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Reducing Energy Consumption

[www.transmeta.com]

Pentium Crusoe

Running the same multimedia application.

Infrared Cameras (FLIR) can be used to detect thermal distribution.

Page 29: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

30

MotivationMotivation Examples

Block Diagram

Characteristics

Major Challenges Low Power Design Complexity Verification Complexity Time-to-Market Security and Reliability

Design Automation Opportunities

Page 30: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Design Complexity

Exponential Growth – doubling of transistors every couple of years

Page 31: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

1,000,000,000

Nu

mb

er

of

Tra

nsi

sto

rs

100,000,000

10,000,000

1,000,000

100,000

10,000

10001970 1975 1980 1985 1990 1995 2000 2005

4004 8008

8080

8086

286

386

486

Pentium 4

Pentium II

Pentium

Pentium III

NVIDIA NV30 GPU

Sony Graphic SynthesizerNVIDIA NV40

Intel

Intel

Intel

Intel

Intel

Intel

Intel

Intel

IntelIntel

Intel

Sony Graphic Synthesizer

IBM Power4

NVIDIA NV25 GPU

NVIDIA NV20 GPU

AMD Athlon XP

Intel Centrino

NVIDIA NV35 GPU

ATI Radeon X800

Motorola G4

Design Complexity

Page 32: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Use of Silicon Power

Page 33: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

34

Technology and Demand

Technology Demand

#of transistors are doubling every 2 years

Communication, multimedia, entertainment, networking

Exponential growth of design complexity verification complexity

Page 34: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Who wants to be a Millionaire You double your investment everyday

Starting investment - one cent.

How long it takes to become a millionairea) 20 days

b) 27 days

c) 37 days

d) 365 days

e) Lifetime ++

Page 35: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Who wants to be a Millionaire You double your investment everyday

Starting investment - one cent. How long it takes to become a millionaire

a) 20 days One million centsb) 27 days Millionairec) 37 days 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.

Page 36: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

37

MotivationMotivation Examples

Block Diagram

Characteristics

Major Challenges Low Power Design Complexity Verification Complexity Time-to-Market Security and Reliability

Design Automation Opportunities

Page 37: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

North America Re-spin Statistics

1st

Sili

con

Suc

cess

100%

1999 2002 2004

48%44% 39%

Source: 2002 Collett International Research and Synopsys

Page 38: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

North America Re-spin Statistics

1st

Sili

con

Suc

cess

100%

1999 2002 2004

48%44% 39%

Source: 2002 Collett International Research and Synopsys

71% SOC re-spins are due to logic bugs

Page 39: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

2000 2007 1000B

100M

200 2001 10B

10M

Functional Validation of SOC Designs

Source: Synopsys

Trillions

Billions

20000? 2014

100M

Logic Gates

Sim

ulat

ion

Vec

tors

Eng

inee

r Y

ears

20 1995

1M

Page 40: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

41

MotivationMotivation Examples

Block Diagram

Characteristics

Major Challenges Low Power Design Complexity Verification Complexity Time-to-Market Security and Reliability

Design Automation Opportunities

Page 41: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Time-to-MarketTime required to develop a

product to the point it can be sold to customers

Market windowPeriod during which the product

would have highest sales

Average time-to-market constraint is about 8 months

Delays can be costly

Rev

enu

es (

$)

Time (months)

Page 42: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Losses due to Delayed Market EntrySimplified revenue model

Product life = 2W, peak at WRevenue = area of the triangleLoss = difference between on-time and delayed triangle

areas (shaded region)

On-time Delayedentry entry

Peak revenue

Peak revenue from delayed entry

Market rise Market fall

W 2W

Time

D

On-time

Delayed

Rev

enu

es (

$)

Area = 1/2 * base * height On-time = 1/2 * 2W * W Delayed = 1/2 * (2W-D)*(W-D)

Percentage revenue loss = (D(3W-D)/2W2)*100%

Try some examples1. Lifetime 2W=52 wks, delay D=4 wks

Loss = (4*(3*26 –4)/2*262) = 22%

2. Lifetime 2W=52 wks, delay D=10 wks Loss = (10*(3*26 –10)/2*262) = 50%

Page 43: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Design Productivity Gap

1981 leading edge chip required 100 man-months10,000 transistors / 100 transistors/month

2002 leading edge chip requires 30K man-months150,000,000 / 5000 transistors/month

Designer cost increase from $1M to $300M

10,000

1,000

100

10

1

0.1

0.01

0.001

Logic transistors per chip

(in millions)

100,000

10,000

1000

100

10

1

0.1

0.01

Productivity(K) Trans./Staff-Mo.

1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

2007

2009

IC capacity

Productivity

Gap

Page 44: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

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 man-month”

(Brooks 1975)At some point, can actually lengthen project completion time!

10 20 30 400

10000

20000

30000

40000

50000

60000

43

24

19

1615

1618

23

Team

Individual

Months until completion

Number of designers

1M transistors, one designer=5000 trans/month

Each additional designer reduces for 100 trans/month

So 2 designers produce 4900 trans/month each

Page 45: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

46

MotivationMotivation Examples

Block Diagram

Characteristics

Major Challenges Low Power Design Complexity Verification Complexity Time-to-Market Security and Reliability

Design Automation Opportunities

Page 46: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Attacks on Embedded Systems

47

Remote Software Attacks(Worm, Virus, Trojans)

Irreversible Hardware Attacks(Tampering)

Reversible ActiveProximity-based Attacks

(Fault injection)

Promity-based Passive Hardware Attacks(Power or EM analysis)

Turbo Code

RAM

uP

AES

Page 47: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Security and ReliabilityReliable 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

Page 48: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Challenges versus Trade-offsMulticore architectures ensures performance growth

without creating power disasterOne core with frequency 2 GHzTwo 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

Page 49: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

50

MotivationMotivation Examples

Block Diagram

Characteristics

Major Challenges Low Power Design Complexity Verification Complexity Time-to-Market Security and Reliability

Course Outline

Page 50: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Course Overview

ConceptSpecification

HW/SWPartitioning

Hardware Components

Software Components

Estimation -Exploration

Hardware

Software

Synthesis

Compilation

Validation and Evaluation

Page 51: 1 CDA 4630/5636: Embedded Systems Introduction Course Requirements Grading Criteria Course Policies Textbook Embedded Systems Basics Course Outline CDA

Course OutlineIntroduction

Modeling and Specification

Embedded Systems Architecture

Real-Time Scheduling and OS

Compilation for Embedded Applications

Hardware-Software Co-Design

Control Systems

Recent Research DirectionsCode compression, design space exploration,

functional verification, dynamic reconfiguration 52