Embedded Systems
Lecture 1. Introduction
Instructor
Professor G. Edward Suh
Research area: computer architecture, security
Contact Information
338 Rhodes Hall
ece3140-instructor@csl.cornell.edu
(607) 255-6856
Office Hours: Tu 3-4:30pm and by appointment
If my door is closed, then knock!
Teaching
ECE 3140/CS 3420: Embedded Systems
ECE 5770: Resilient Computing Systems
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 2
1
Teaching Assistants
Graduate TAs
Mohamed Ismail (PhD, Head TA)
Amardeep Manak (MEng)
Mahantesh Salimath (Meng)
Ian Thompson (MEng)
Undergraduate TAs
Andrew Daley
Rohan Ghosh
Raghava Kumar
Han Li
Shaurya Luthra
Patrick Wang
Jeffrey Witz
Mark Zhao
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 3
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 4
2
What is an Embedded System
A computer system: Hardware + Software
Embedded in the physical world
Often has:
Real-time constraints
Fixed/limited functionality
Resource constraints
Challenge: Cost
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 6
3
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 7
Internet of Things
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 8
4
Cyber-Physical Systems (CPS)
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 9
Hardware-Software Integration
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 10
5
Hardware-Software Integration
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 11
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 12
6
Computer Engineering Curriculum
ENGRD 2300: Digital Logic and Computer
Organization
ENGRD 2300 is a prerequisite for this course
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 13
Course Context
higher levels of abstraction
Programming languages
Digital design
Fundamental circuits
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 14
7
How Do You Build Systems with >1G
Components?
MOSFET
What Do We See?
• Structure
– hierarchical design:
– limited complexity at each level
– reusable building blocks
• Interfaces Wait! I think
– Key elements of system engineering; I see a bug in
the DIV logic.
typically outlive the technologies they Got that
one off
interface the web.
Sure hope
– Isolate technologies, allow evolution it works.
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 16
8
ECE 2300 – Programmable Processor
Adder L1
+2 F m … F0 Data
M Cache
RF U M (KB)
M LD X
Decoder
U
P L1
SA X M
U Inst
M ALU
X C Cache SB
M
U U
(KB) DR X D_IN
U
X
M
U
X
PCJ X MB
D_in MD
PCL
SE
L2 Cache (MB)
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 17
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 18
9
Hardware for This Class
Freescale FRDM-K64F
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 19
Topics
Assembly language programming
Link to a high-level programming language: C
Interrupts and I/O
Managing interrupts: Concurrency
Concurrency models
Tasks/threads
Synchronization
Real-time constraints and scheduling
Communication
Data conversion
Case studies
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 20
10
Why Assembly and C?
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 21
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 22
11
Python Overhead: Interpreter Ops
C function calls and dispatch are largest contributors
C function calls are not considered in previous work
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 23
Popularity
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 24
12
Course Outcomes
Students will:
Understand role of assembly language
Comprehend how microprocessors communicate
with the external world
Reason about and apply concurrency techniques
Understand process scheduling, including real-time
Use some agile team programming techniques
Articulate one’s technical reasoning
Seek, appreciate, and incorporate everyone’s POV
Provide and receive constructive feedback
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 25
Class Overview
Lectures
TR 1:25-2:40pm in 101 Phillips
Sections
Help with material, lab
Supplementary material
Labs
Implementation of concepts covered in class
Problem sets
Review material, preparation for prelims
In-class quizzes
See if you are keeping up with the class
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 26
13
CMS and Grading
Resources: Everything through CMS
Office hours, announcements, errata, resources, etc.
Lecture notes (will be helpful to bring to lectures)
You are responsible for keeping up with it
Contact the staff if you do not have access
Grading
5%: Problem sets
5%: Instructor’s discretion
15%: Quizzes (25% participation, 75% performance)
35%: Two prelims (15%, 20%)
40%: Labs (5%, 5%, 7%, 7%, 6%, 10%), groups of two
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 27
Exams
Prelims
Prelim 1 (15%) - March 21st
Prelim 2 (20%) - May 2nd
Closed everything
No Final Exam
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 28
14
Problem Sets (Homework)
Assigned roughly every two weeks
Due Fridays @ 5pm
Checked for completeness, but not graded
Quizzes
Covers previous week’s lectures + problem sets
In-class (5-10 mins)
Use i-clicker
25% participation, 75% performance
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 29
Labs
Six labs: 5 fixed assignments and 1 project
We will suggest topics
Whatever you want (within reason)
15
Submission Rules
Late Policy
CMS marks submissions late the instant they are due
Late submissions = 0 points
But, you can submit up to two assignments up to 48 hours after
the deadline without penalty
No single assignment is heavily weighted
Lifelines cover minor illnesses or “crunch time”
If you have a serious illness or family emergency, contact me
Regrade Policy
Submit a regrade request on CMS if you feel a grading
mistake has been made
The regrade request must be received within one week
after a grade is released
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 31
Getting Help
Discussion board: Piazza
Use for material-related questions
Self-enroll (link on CMS)
Look up answers before posting a question
Email: @csl.cornell.edu
ece3140-staff or cs3420-staff
Things that could be inappropriate to post
ece3140-instructor or cs3420-instructor
Stuff that you’d rather not share with TAs
Do not send email if posting is appropriate
Do not use staff’s individual email addresses
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 32
16
Course Expectations
Engineering solves world problems by using technology
creatively. I invite and expect every student to contribute
creatively as part of their learning process.
Academic Integrity
Search for “Cornell AIC”
http://cuinfo.cornell.edu/Academic/AIC.html
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 34
17
Acknowledgements
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 35
18