Anda di halaman 1dari 18

ECE3140 / CS3420

Embedded Systems

Lecture 1. Introduction

Professor G. Edward Suh

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

Today’s Computing Landscape

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

Cornell Lab of Ornithology


bird tags
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 5

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 are everywhere
 Electronics: smartphones, eBooks, cameras, . . .
 Cars
 Heating controls
 Home appliances
 Smart homes

 ECE 3140 questions:


 How does hardware and software work together?
 How does hardware and software interact with the
physical world?
 How do you handle real-time constraints?

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

 CS 4410: Operating Systems

 ECE 4750/CS 4420: Computer Architecture

 ECE 4760: Designing with Microcontrollers

ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 13

Course Context
higher levels of abstraction

Programming languages

Systems software (compilers, OS)


VLSI circuits Computer organization

Digital design

Fundamental circuits

Solid state devices

Physics of the atom

ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 14

7
How Do You Build Systems with >1G
Components?

Computer: Circuit Board: Integrated Circuit:


Hardware & Software 8 / system 8-16 / PCB Module:
1-2G devices .25M-16M devices 8-16 / IC
100K devices

MOSFET

Scheme for Cell:


representing 1K-10K / Module
information Gate: 16-64 devices
2-16 / Cell
8 devices
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 15

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.

– Major abstraction mechanism

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

IF/ID ID/EX EX/MEM MEM/WB

L2 Cache (MB)

Main Memory (GB)

ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 17

Instruction Set Architecture


 The ISA describes a set of instructions supported
by a family of machines

 Examples: x86, ARM, MIPS, PowerPC

 The ISA specification tells hardware and software


(compiler and operating system) developers
 Instruction formats
 Operation of each instruction
 Ways to form memory addresses
 Data formats
 Lots of other stuff

ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 18

9
Hardware for This Class

Freescale FRDM-K64F

Image from NXP, formerly Freescale Semiconductors

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

Python Overhead: Language Features


 Name resolution and function setup and cleanup
are largest contributors
 Existing name resolution optimizations target JIT

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)

 All lab assignments are done as a group of two

 No scheduled lab sessions


 You can do them at home
 Open lab hours to provide help

 Software required can be installed on Windows


 Mac/Linux: VirtualBox (free), Parallels, VMware
 Instructions will be released on CMS
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 30

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.

 Success in engineering depends critically on teamwork. I


invite and expect every student to engage in constructive
discourse, to bring their perspective, and to be
accepting of others’.

 Degrading, abusing, harassing, silencing, or dismissing


others in the process is not acceptable behavior. It is also
bad engineering.

 I invite and expect every student to maintain the highest


ethical standards.
ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 33

Academic Integrity
 Search for “Cornell AIC”
 http://cuinfo.cornell.edu/Academic/AIC.html

 You must read Cornell’s AIC carefully


 Discussions are encouraged
 Sharing solutions is not permitted
 Not submitting far better than cheating
 In case of doubt, refrain and ask

 Use discussion boards consistently with the AIC!

ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 34

17
Acknowledgements

 Professors Rajit Manohar, Jose Martinez, and


others

ECE 3140 / CS 3420 – Embedded Systems, Spring 2017. Unauthorized distribution prohibited. L1 – Introduction 35

18

Anda mungkin juga menyukai