Lecture 0: Introduction

79
Lecture 0: Introduction EEN 417: Embedded Microprocessor System Design Department of Electrical and Computer Engineering Fall 2012, Dr. Rozier (UM)

description

Lecture 0: Introduction. EEN 417: Embedded Microprocessor System Design. Department of Electrical and Computer Engineering Fall 2012, Dr. Rozier (UM). Welcome to EEN 417!. Professor Eric Rozier. ROSE-E-Ay. Who am I?. BS in Computer Science from William and Mary. Who am I?. - PowerPoint PPT Presentation

Transcript of Lecture 0: Introduction

Page 1: Lecture 0: Introduction

Lecture 0: Introduction

EEN 417: Embedded Microprocessor System Design

Department of Electrical and Computer Engineering

Fall 2012, Dr. Rozier (UM)

Page 2: Lecture 0: Introduction

Welcome to EEN 417!

Page 3: Lecture 0: Introduction

ROSE-E-AyProfessor Eric Rozier

Page 4: Lecture 0: Introduction

Who am I?

• BS in Computer Science from William and Mary

Page 5: Lecture 0: Introduction

Who am I?

• BS in Computer Science from William and Mary

• Studied models of agricultural pests (flour beetles).

Page 6: Lecture 0: Introduction

Who am I?

• BS in Computer Science from William and Mary

• Studied models of agricultural pests (flour beetles).

• And load balancing of super computers.

Page 7: Lecture 0: Introduction

Who am I?

• First job – NASA Langley Research Center

Page 8: Lecture 0: Introduction

Who am I?

• First job – NASA Langley Research Center

• Researched problems in aeroacoustics

Page 9: Lecture 0: Introduction

Who am I?

• First job – NASA Langley Research Center

• Researched problems in aeroacoustics– Primarily on the XV-15

Page 10: Lecture 0: Introduction

Who am I?

• First job – NASA Langley Research Center

• Researched problems in aeroacoustics– Primarily on the XV-15– Precursor to the better

known V-22

Page 11: Lecture 0: Introduction

Who am I?

• PhD in CS/ECE from the University of Illinois

Page 12: Lecture 0: Introduction

Who am I?

• PhD in CS/ECE from the University of Illinois

• Studied non-linear dynamics of transactivation networks in economically important species…

Page 13: Lecture 0: Introduction

Who am I?

Page 14: Lecture 0: Introduction

Who am I?

• PhD in CS/ECE from the University of Illinois

• Worked with the NCSA on problems in super computing, reliability, and big data.

Page 15: Lecture 0: Introduction

Who am I?

• PhD in CS/ECE from the University of Illinois

• Worked with the NCSA on problems in super computing, reliability, and big data.

• Research led to patented advances with IBM

Page 16: Lecture 0: Introduction

Who am I?

• Served as a visiting scholar and IBM Fellow at the IBM Almaden Research Center in San Jose, CA

• Helped advance state of the art in fault-tolerance, and our understanding of why systems fail

Page 17: Lecture 0: Introduction

Who am I?

• Postdoctoral work at the Information Trust Institute– Worked on Blue Waters

Super Computer, first sustained Petaflop machine

– Designed new fault-tolerant methods for data protection on large-scale systems

Page 18: Lecture 0: Introduction

Who am I?

• Assistant Professor at UM ECE

Page 19: Lecture 0: Introduction

Who am I?

• Assistant Professor at UM ECE– Head of the Trustworthy

Systems Lab

Page 20: Lecture 0: Introduction

Who am I?

• Assistant Professor at UM ECE– Head of the Trustworthy

Systems Lab– Working on problems in:

• Cloud computing• Big Data• Reliability• Security• Compliance

Page 21: Lecture 0: Introduction

How to get in touch with me?

• Office– Department of Electrical and Computer Engineering– Fifth Floor, Room 517

• Contact Information– Email: [email protected]– Phone: 8-9752

• Currently looking for motivated students– Research projects and papers

Page 22: Lecture 0: Introduction

Office Hours

• Office– Department of Electrical and Computer Engineering– Fifth Floor, Room 517

Day Hours

Monday 1:30p – 2:30p

Tuesday 11:00a – 12:00p

Or by appointment

Page 23: Lecture 0: Introduction

COURSE SUMMARY AND OVERVIEW

Page 24: Lecture 0: Introduction

EEN 417

• Embedded Microprocessor System Design– Class: MM 218– Lab: McArthur Engineering Building 402

• Class website– http://performalumni.org/erozier2/een417.html

Page 25: Lecture 0: Introduction

Active Learning

• After 2 weeks we tend to remember:– Passive learning

• 10% of what we read• 20% of what we hear• 30% of what we see• 50% of what we hear and see

– Active learning• 70% of what we say• 90% of what we say and do

Page 26: Lecture 0: Introduction

Bloom’s Taxonomy

EvaluationSynthesisAnalysis

ApplicationComprehension

Knowledge

Page 27: Lecture 0: Introduction

Training Good Engineers

• Embedded Systems isn’t our only goal– Critical Reading– Critical Reasoning

• Ask questions!• Think through problems!• Challenge assumptions!

Page 28: Lecture 0: Introduction

417

Page 29: Lecture 0: Introduction

417

414

315

218

Page 30: Lecture 0: Introduction

417

414

315

218

118

304

312

Page 31: Lecture 0: Introduction

Course overview

Page 32: Lecture 0: Introduction

QP: Modeling, Design, Analysis

Page 33: Lecture 0: Introduction

Textbook

Page 34: Lecture 0: Introduction

Textbook

Page 35: Lecture 0: Introduction

Textbook

Page 36: Lecture 0: Introduction

Textbook

• Available from the bookstore– Hardback: $65

• Available online– Hardback: ~$60 (Amazon)– Softback: ~$30 (LuLu.com)– PDF: No cost

• http://leeseshia.org/

Page 37: Lecture 0: Introduction

Textbook

• Available online– Hardback: ~$60 (Amazon)– Softback: ~$30 (LuLu.com)– PDF: No cost

• Midterms will be open book, but no electronic devices will be allowed.– Advantage of the print editions

Page 38: Lecture 0: Introduction

Textbook

Page 39: Lecture 0: Introduction

Grading

Grade Component Percentage

Midterm I 10%

Midterm II 10%

Laboratory Projects 30%

Final Project 20%

Assignments 10%

Final Exam 20%

Page 40: Lecture 0: Introduction

Final Project

• You will be required to undertake a semester project as a major part of your grade

• May be done in groups• Project Proposal is due by Midterm I• Status report is due by Miderm II• Final Presentations at end of semester• Final report (10-20 pages) due before final

exam

Page 41: Lecture 0: Introduction

Laboratories

Page 42: Lecture 0: Introduction

Laboratories

• TA – Qiusha Zhu• E-mail – [email protected]

• Lab Sections– Wednesday 2:30p – 4:50p– Thursday 5:00p – 7:20p

Page 43: Lecture 0: Introduction

Laboratories

• TA – Qiusha Zhu• E-mail – [email protected]

• Lab Sections– Wednesday 2:30p – 4:50p– Thursday 5:00p – 7:20p

Page 44: Lecture 0: Introduction

Arduino Uno r3

Page 45: Lecture 0: Introduction

Laboratory Procedure

• EB 402 is typically locked– Extra time beyond assigned labs is not guaranteed

• Laboratory projects will be completed in pairs– Help each other learn– Rearrange pairs for each lab

• Labs will have three sections each– Prelab, lab, postlab

Page 46: Lecture 0: Introduction

Modeling, Design, Analysis

Page 47: Lecture 0: Introduction

Logistics

• Examinations– Midterm I – 9/30 – 10/4– Midterm II – 11/11 – 11/15– Final Exam – 12/16 11a – 1:30p MM 218

Page 48: Lecture 0: Introduction

General Policies• University of Miami Honor Code is in effect

– Open hands policy on assignments

• Late policy– Late assignments are only accepted if

arrangements are made ahead of time

• Electronic device policy– Laptops and tablets are ok as long as they’re being

used for class– Silence cell phones please

Page 49: Lecture 0: Introduction

CYBERPHYSICAL SYSTEMS

Page 50: Lecture 0: Introduction

What are Embedded Systems?

Page 51: Lecture 0: Introduction

What are Embedded Systems?

•Computers whose job is not primarily information processing, but rather is interacting with physical processes.

•Examples: Automotive controllers Avionics Medical devices Industrial control Energy management and conservation

•A broader view is that of cyber-physical systems (CPS)

Page 52: Lecture 0: Introduction

What are Embedded Systems?•Computational systems

– but not first-and-foremost a computer•Integral with physical processes

– sensors, actuators, physical dynamics•Reactive

– at the speed of the environment (timing matters!)•Heterogeneous

– hardware/software/networks, mixed architectures•Networked

– concurrent, distributed, dynamic

Page 53: Lecture 0: Introduction

2001 National Research Council ReportEmbedded Everywhere

•“Information technology (IT) is on the verge of another revolution. Driven by the increasing capabilities and ever declining costs of computing and communications devices, IT is being embedded into a growing range of physical devices linked together through networks and will become ever more pervasive as the component technologies become smaller, faster, and cheaper... These networked systems of embedded computers ... have the potential to change radically the way people interact with their environment by linking together a range of devices and sensors that will allow information to be collected, shared, and processed in unprecedented ways. ... The use of [these embedded computers] throughout society could well dwarf previous milestones in the information revolution.”

Page 54: Lecture 0: Introduction

Courtesy of Kuka Robotics Corp.

Cyber-Physical Systems (CPS):Orchestrating networked computational

resources with physical systems

Courtesy of Doug SchmidtCourtesy of Doug Schmidt

Power generation and distribution

Courtesy of General Electric

Military systems:

E-Corner, Siemens

Transportation(Air traffic control at SFO)

Avionics

Telecommunications

Factory automation

Instrumentation(Soleil Synchrotron)

Daimler-Chrysler

Automotive

Building Systems

Page 55: Lecture 0: Introduction

Example: Medical Devices

•Emerging direction: Cell phone based medical devices for affordable healthcare

•e.g. “Telemicroscopy” project at Berkeley

•e.g. Cell-phone based blood testing device developed at UCLA

Page 56: Lecture 0: Introduction

CPS Example – Printing Press

• High-speed, high precision• Speed: 1 inch/ms• Precision: 0.01 inch

-> Time accuracy: 10us

• Open standards (Ethernet)• Synchronous, Time-Triggered• IEEE 1588 time-sync

protocol

• Application aspects• local (control)• distributed (coordination)• global (modes)

Bosch-Rexroth

Page 57: Lecture 0: Introduction

Example: Toyota autonomous vehicle technology roadmap, c. 2007

Source: Toyota Web site

Page 58: Lecture 0: Introduction

Where CPS Differs fromthe traditional embedded systems problem:

•The traditional embedded systems problem:Embedded software is software on small computers. The technical problem is one of optimization (coping with limited resources and extracting performance).

•The CPS problem:Computation and networking integrated with physical processes. The technical problem is managing dynamics, time, and concurrency in networked computational + physical systems.

Page 59: Lecture 0: Introduction

A Key Challenge on the Cyber Side:Real-Time Software

•Correct execution of a program in C, C#, Java, Haskell, etc. has nothing to do with how long it takes to do anything. All our computation and networking abstractions are built on this premise.

Timing of programs is not repeatable, except at very coarse granularity.

Programmers have to step outside the programming abstractions to specify timing behavior.

Page 60: Lecture 0: Introduction

Techniques Exploiting the Fact that Time is Irrelevant

•Programming languages•Virtual memory•Caches•Dynamic dispatch•Speculative execution•Power management (voltage scaling)•Memory management (garbage collection)•Just-in-time (JIT) compilation•Multitasking (threads and processes)•Component technologies (OO design)•Networking (TCP)•…

Page 61: Lecture 0: Introduction

Content of an Embedded Systems Course

• Traditional focus• Hardware interfacing• Interrupts• Memory systems• C programming• Assembly language• FPGA design• RTOS design• …

CPS focus• Modeling• Timing• Dynamics• Imperative logic• Concurrency• Verification• …

Page 62: Lecture 0: Introduction
Page 63: Lecture 0: Introduction

What About Safety?

Page 64: Lecture 0: Introduction

Model-Based Design

Page 65: Lecture 0: Introduction

Cyber Physical Systems:Computational +

Physical

CPS is Multidisciplinary

Computer Science:

Carefully abstracts the physical world

System Theory:

Deals directly with physical quantities

Page 66: Lecture 0: Introduction

Challenge

Page 67: Lecture 0: Introduction

What this course is about

• A principled and scientific approach to engineering embedded systems– Modeling, Design, Implementation, Testing,

Analysis– Not just hacking!

Page 68: Lecture 0: Introduction

Traditionally, embedded systems has been an industrial (not academic) problem, about resource limitations.

small memory small data word sizes relatively slow clocks

•When these are the key problems, emphasize efficiency: write software at a low level (in assembly code or C) avoid operating systems with a rich suite of services develop specialized computer architectures:

– programmable DSPs– network processors

develop specialized networks– Can, FlexRay, TTP/C, MOST, etc.

•This is how embedded SW has been designed for 30 years

Page 69: Lecture 0: Introduction

But embedded systems do have more fundamental differences from general-purpose computation:

•time matters– “as fast as possible” is not good enough

•concurrency is intrinsic– it’s not an illusion (as in time sharing), and– it’s not (necessarily) about exploiting parallelism

•processor requirements can be specialized– predictable, repeatable timing– support for common operations (e.g. FIR filters)– need for specialized data types (fixed point, bit vectors)

•programs need to run (essentially) forever– memory usage has to be bounded (no leaks!!)– rebooting is not acceptable

Page 70: Lecture 0: Introduction

What about “real time”?

Make it faster!What if you need “absolutely positively on time”?

Today, most embedded software engineers write code, build your system, and test for timing. Model-based design seeks to specify dynamic behavior (including timing) and “compile” implementations that meet the behavior.

Page 71: Lecture 0: Introduction

Prioritize and Pray!

Real-Time Multitasking?

All too often, real-time operating systems (RTOSs) are used in a rather ad hoc way. Without any particular principles, engineers tweak priorities until the prototype works under test.

The resulting system is brittle, meaning the small changes in the operating conditions (or in the design of the system) can cause big changes in behavior. For example, replacing the processor with a faster one can cause real-time failures.

Page 72: Lecture 0: Introduction

An engineer’s responsibility

Korean Air 747 in Guam, 200 deaths (1997) 30,000 deaths and 600,000 injuries from medical devices (1985-2005)

– perhaps 8% due to software?

•source: D. Jackson, M. Thomas, L. I. Millett, and the Committee on Certifiably Dependable Software Systems, "Software for Dependable Systems: Sufficient Evidence?," National Academies Press, May 9 2007.

Page 73: Lecture 0: Introduction

A Story

•A “fly by wire” aircraft, expected to be made for 50 years, requires a 50-year stockpile of the hardware components that execute the software.

•All must be made from the same mask set on the same production line. Even a slight change or “improvement” might affect timing and require the software to be re-certified.

Page 74: Lecture 0: Introduction

Abstraction Layers•The purpose for an abstraction is to hide details of the implementation below and provide a platform for design from above.

Page 75: Lecture 0: Introduction

Abstraction Layers•Every abstraction layer has failed for time-sensitive applications.

Page 76: Lecture 0: Introduction

Is the problem intrinsic in the technology?

•Electronics technology delivers highly repeatable and precise timing…

•… and the overlaying software abstractions discard it.

20.000 MHz (± 100 ppm)

Page 77: Lecture 0: Introduction

WRAP UP

Page 78: Lecture 0: Introduction

Industrial Connection

• Mr. Tony Kaap– Motion Picture Industry:

Motion Capture• Mr. Robert Zeh

– Financial Industry: Real-time systems

• Stanford University– Tagging of Pelagic Predators

• MBARI– Deep sea embedded systems

and data collection• Dr. Kristin Rozier

– NASA: Safety Critical Systems

Page 79: Lecture 0: Introduction

For next week

• Read Chapters 1 & 7

Many thanks to Drs. Lee and Seshia for their text and materials