lecture 0: introduction
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 PresentationTRANSCRIPT
Lecture 0: Introduction
EEN 417: Embedded Microprocessor System Design
Department of Electrical and Computer Engineering
Fall 2012, Dr. Rozier (UM)
Welcome to EEN 417!
ROSE-E-AyProfessor Eric Rozier
Who am I?
• BS in Computer Science from William and Mary
Who am I?
• BS in Computer Science from William and Mary
• Studied models of agricultural pests (flour beetles).
Who am I?
• BS in Computer Science from William and Mary
• Studied models of agricultural pests (flour beetles).
• And load balancing of super computers.
Who am I?
• First job – NASA Langley Research Center
Who am I?
• First job – NASA Langley Research Center
• Researched problems in aeroacoustics
Who am I?
• First job – NASA Langley Research Center
• Researched problems in aeroacoustics– Primarily on the XV-15
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
Who am I?
• PhD in CS/ECE from the University of Illinois
Who am I?
• PhD in CS/ECE from the University of Illinois
• Studied non-linear dynamics of transactivation networks in economically important species…
Who am I?
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.
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
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
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
Who am I?
• Assistant Professor at UM ECE
Who am I?
• Assistant Professor at UM ECE– Head of the Trustworthy
Systems Lab
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
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
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
COURSE SUMMARY AND OVERVIEW
EEN 417
• Embedded Microprocessor System Design– Class: MM 218– Lab: McArthur Engineering Building 402
• Class website– http://performalumni.org/erozier2/een417.html
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
Bloom’s Taxonomy
EvaluationSynthesisAnalysis
ApplicationComprehension
Knowledge
Training Good Engineers
• Embedded Systems isn’t our only goal– Critical Reading– Critical Reasoning
• Ask questions!• Think through problems!• Challenge assumptions!
417
417
414
315
218
417
414
315
218
118
304
312
Course overview
QP: Modeling, Design, Analysis
Textbook
Textbook
Textbook
Textbook
• Available from the bookstore– Hardback: $65
• Available online– Hardback: ~$60 (Amazon)– Softback: ~$30 (LuLu.com)– PDF: No cost
• http://leeseshia.org/
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
Textbook
Grading
Grade Component Percentage
Midterm I 10%
Midterm II 10%
Laboratory Projects 30%
Final Project 20%
Assignments 10%
Final Exam 20%
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
Laboratories
Laboratories
• TA – Qiusha Zhu• E-mail – [email protected]
• Lab Sections– Wednesday 2:30p – 4:50p– Thursday 5:00p – 7:20p
Laboratories
• TA – Qiusha Zhu• E-mail – [email protected]
• Lab Sections– Wednesday 2:30p – 4:50p– Thursday 5:00p – 7:20p
Arduino Uno r3
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
Modeling, Design, Analysis
Logistics
• Examinations– Midterm I – 9/30 – 10/4– Midterm II – 11/11 – 11/15– Final Exam – 12/16 11a – 1:30p MM 218
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
CYBERPHYSICAL SYSTEMS
What are Embedded Systems?
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)
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
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.”
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
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
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
Example: Toyota autonomous vehicle technology roadmap, c. 2007
Source: Toyota Web site
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.
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.
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)•…
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• …
What About Safety?
Model-Based Design
Cyber Physical Systems:Computational +
Physical
CPS is Multidisciplinary
Computer Science:
Carefully abstracts the physical world
System Theory:
Deals directly with physical quantities
Challenge
What this course is about
• A principled and scientific approach to engineering embedded systems– Modeling, Design, Implementation, Testing,
Analysis– Not just hacking!
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
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
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.
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.
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.
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.
Abstraction Layers•The purpose for an abstraction is to hide details of the implementation below and provide a platform for design from above.
Abstraction Layers•Every abstraction layer has failed for time-sensitive applications.
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)
WRAP UP
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
For next week
• Read Chapters 1 & 7
Many thanks to Drs. Lee and Seshia for their text and materials