67
Introduction to Computer Engineering ECE 203 Northwestern University Department of Electrical Engineering and Computer Science Teacher: Robert Dick Office: L477 Tech Email: [email protected] Phone: 467–2298 Webpage: http://www.ece.northwestern.edu/˜dickrp/ece203 Teaching Assistants Zh ` eny ˇ uG` u (L470) Debasish Das (M314) 1

Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Introduction to Computer Engineering

ECE 203

Northwestern University

Department of Electrical Engineering and Computer Science

Teacher: Robert DickOffice: L477 TechEmail: [email protected]: 467–2298Webpage: http://www.ece.northwestern.edu/˜dickrp/ece203Teaching Assistants Zhenyu Gu (L470)

Debasish Das (M314)

1

Page 2: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Homework index

1 How to get lab supplies . . . . . . . . . . . . . 15

2 Mailing list . . . . . . . . . . . . . . . . . . . 16

3 Reading assignment (for next class) . . . . . . 63

2

Page 3: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Today’s topics

• Reason for late start

• Brief course overview

• Majors

• Administrative stuff

– The fun stuff starts on Monday!

3

Page 4: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Reason for late start

• Advisee attending selective conference to present research

• Was student’s first research presentation

• Also needed to meet with corporate research supporters

• Knew lectures could be rescheduled

• Taking two Fridays from Zhenyu and Debashish

• Will make sure extra office hours available for HW help

4

Page 5: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Reason for late start

• For the curious, student invented method of doubling usable

memory on smartphones, PDAs, etc.,

• No hardware change

• No application change

• Little or no performance or power penalty

• Implemented as linux kernel module

• Plan to release for free personal use when patent clears

– Need to protect industrial partner commercial use

5

Page 6: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Reason for late start

6

Page 7: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Brief course overview

• Hardware design

• Low-level programming

• Computer geek culture

7

Page 8: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

What’s your major?

8

Page 9: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Computer geek already?

• Good!

• You’ll still probably see a lot of new things in this course

• Go ahead and ask questions that push beyond the basic material

• If you want to go beyond the normal labs, I’ll be happy to make

suggestions

• ECE 203 should lay the foundations for logic design and

understanding the connections between electrons and software

9

Page 10: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Not a computer geek yet? Good!

• You’re going to be working with computers in almost any field

• Understanding how they work at the lowest levels and knowing

how to build them will put you ahead your peers

• If you’re not a computer geek yet, sit in the front of the classroom

and ask questions!

– It’s the best way to keep the course’s pace sane

10

Page 11: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Backgrounds

• Different backgrounds

• ECE 203 can be a hard course

• However, if you work hard, I’m totally confident that you will learn

how to build useful computers

– TAs and I will help

• In the past, many Materials Science, BME, and IEMS did

absolutely amazing work

11

Page 12: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Rules

• If something in lecture doesn’t make sense, please ask

– If it doesn’t make sense to you, others have the same

question!

• Do you feel like there is a gap in your background, e.g., forgot

about resistance and capacitance?

– It’s O.K. I have handouts and office hours to help but don’t fall

behind!

• You’re paying a huge amount of money for this

• I expect a lot

• However, I’ll do whatever I can to make sure you get as much out

of this course as you put in

12

Page 13: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Core course goal

By the end of this course,

I want every one of you to be capable of

designing and building simple but useful

computer systems from integrated circuits, wires, and

assembly language instructions

In fact, it’s a requirement

13

Page 14: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Administrative stuff

• How to get lab supplies

• How to subscribe to mailing list

• Some good references

• Decide grading policies

• Plan office hours

• Course overview (if time permits)

14

Page 15: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

How to get lab supplies

• Each student is required to pay $20 for lab supplies

– Integrated circuits, wires, capacitors, resistors, etc.

• Make check to Northwestern University

• Take the check to the Bursar’s office

• Take the receipt to Albert Lyerla in EG27 to pick up lab kits after

class on Monday

15

Page 16: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Mailing list

• Please subscribe to the ECE203 mailing list by sending an email

to [email protected] with no subject and a

body of “SUBSCRIBE ECE203 Firstname Lastname”.

• I encourage you to use the mailing list for discussion.

• Please don’t hesitate to use the list. If anybody thinks the traffic is

too high, I’ll set up separate “Announce” and “Discuss” lists.

• In general, if I answer somebody’s question via email, I will also

post the answer to the mailing list (without including the person’s

name).

• Do this today! The mailing list is an important and required

component of the course – used for announcements.

16

Page 17: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

References

• Primary reference: M. M. Mano and C. R. Kime, Logic and

Computer Design Fundamentals. Prentice-Hall, Englewood

Cliffs, NJ, third ed., 2004

• Z. Kohavi, Switching and Finite Automata Theory. McGraw-Hill

Book Company, NY, 1978

• R. H. Katz, Contemporary Logic Design. The

Benjamin/Cummings Publishing Company, Inc., 1994

• J. Hennessy and D. Patterson, Computer Architecture: A

Quantitative Approach. Morgan Kaufmann Publishers, CA, 1995

17

Page 18: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Grading

• I’m open to reasonable options

• Class needs to agree on scheme within the first week

• Once an option is chosen, it’ll be my job to stick to it

• One possible option follows

18

Page 19: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Possible grading scheme

• 15% homeworks

• 35% labs

• 20% midterm exam

• 30% final exam

19

Page 20: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Late homework assignments

• After the class, on the due date: -5%

• After that, 10% per day penalty

• Three or more working days late: No credit

– I’ll hand out solutions

20

Page 21: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Late lab assignments

• Late lab verifications will be done at the discretion of the TAs

• In other words, although this will sometimes be possible, I’m not

going to force the TA to skip their classes, research work, or

meals to hold extra lab verification hours

• Late lab checks (without prior approval): -20%

• Three or more working days late: No credit

21

Page 22: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

When to start labs

• The TAs spend a huge amount of time checking labs

• Having them do lab checks outside of the scheduled hours

makes it difficult to keep up in their own classes and research

• Start labs early to see if you have questions

• The TAs and I will be happy to help

• Will need time to finish after pointed in right direction

22

Page 23: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Labs

• Open labs

• Tech EG27

• The TAs and I may leave a note and go from our offices to EG27

during office hours to answer lab questions

• You will need to sign up for a lab time slot

23

Page 24: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Lab check times

• Labs will be assigned on Fridays

• Can lab checks be held on Wednesday and Thursday throughout

the day?

• Thursday and Friday would give you more time but might make it

more difficult for those checked on Friday to attend the help

sessions

• First lab much quicker than others

• Need to get go to get kit by Monday, though

24

Page 25: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Office hours options

1. Tuesday/Thursday throughout day

2. Monday/Thursday throughout day

3. Every day in morning

4. Every day in evening

25

Page 26: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Course overview

• Know what is computer engineering is

• Know some reasons to learn computer engineering

• Understand course goals

• Know which future courses ECE 203 can prepare you for

• Know course topics

• Start learning basic logic definitions

26

Page 27: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

What is computer engineering?

• Design and implementation of computer systems

• Hardware and software design

• Related to electrical engineering and computer science with an

emphasis on digital circuits

• The best computer engineers are also good at electrical

engineers and computer science

• Knowing fundamentals helps in fields where computers are used

27

Page 28: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

What is computer engineering?

• You need something solid to stand on

• Applications make more sense if you understand programming

• Programming makes more sense if you understand processors

• Processor make more sense if you understand logic design

• Logic design makes more sense if you understand circuits and

discrete math

• Circuits make more sense if you understand transistors

• Every understanding rests on others

• Computer engineering requires understanding the many levels

and the ways they fit together

28

Page 29: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Why computer engineering

• Why are you taking this class?

• What do you want to learn?

• What kind of background do you have?

– When you see something cool do you reach for a screwdriver?

– Who was electrocuted as a young child trying to figure out

how something works?

– Who has written code?

– Who has designed something complicated for the fun of it?

29

Page 30: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Why computer engineering? Fun

• Computers are almost magical

– You’ll learn how they work and how to build new ones

• You’ll learn (discrete) math, semiconductor physics, and the

theory of algorithms

• You’ll be able to use your knowledge creatively

30

Page 31: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Why computer engineering? Fun

• In the end, your creations will be tested against unforgiving

physical laws in the real world

• There are many right ways (ways that work) to design a computer

but there are also many wrong ways (ways that don’t work)

– There are measurable and clear differences between the

quality of different designs

• You’ll spend a lot of time with hard-working people who share

your interest in designing machines that make life better

31

Page 32: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Why computer engineering? Flexible

Learn hardware and software design, can move in either direction

• Embedded system design

• Computer architecture

• VLSI design

• Digital circuit design

• Software engineering

• Algorithm design

• Information technology

If you finish a Ph.D., many other doors also open

32

Page 33: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Why computer engineering? Money

• According to a 2004 CNN survey, it’s the most lucrative degree,

and it’s improving

• Average starting salary: $53,117 with a 0.7% increase from

2003–2004

• Compare with business administration ($37,368) and psychology

($25,032)

• Of course, this is not a good reason to pick a major

• Do what you love!

– . . . but if you love computer engineering, the financial stuff

might make it easier to justify to your relatives

33

Page 34: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Future courses

• Advanced digital logic design

• Computer architecture

• Design and analysis of algorithms

• Fundamentals of computer system software

• Introduction to computer networks

34

Page 35: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Future courses

• Introduction to VLSI CAD

• Introduction to mechatronics

• Microprocessor system design

• Programming for computer engineers

• VLSI systems design

35

Page 36: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Course topics in context

• Logic gates

– Basic units of digital logic design

• Truth tables

– Simple Boolean function representation

• Boolean algebra

– Another way of representing and manipulating Boolean

functions

• Two-level logic forms

36

Page 37: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Course topics

• Logic minimization: Boolean algebra, Karnaugh maps, and

Quine-McCluskey’s method (if time permits)

– Reduce area, power consumption, or improve performance

• Hazards

• Implementation in CMOS

• Number systems: decimal, binary, octal, hex, and Gray codes

• Signed and unsigned numbers

37

Page 38: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Course topics

• Arithmetic circuits, decoders, encoders, and multiplexers

• Sequential logic: Latches, flip-flops

• Finite state machines

• Assembly language programming

38

Page 39: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Course topics

• Overview of compilation of higher-level languages

• Computer organization

• Microcontrollers

39

Page 40: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Software

• Easy to change and design

• Usually has low performance compared to hardware

implementation

• High power consumption

• General-purpose processor

• Digital signal processor (DSP)

• Field programmable gate array (FPGA)

• Application specific integrated circuit (ASIC)

40

Page 41: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Hardware

• Usually difficult to design and implement compared to software

– Hardware description languages can make this easier

• Necessary (all software runs on hardware)

• High performance

• Low power

41

Page 42: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Hardware/software rules of thumb

• If you can do it in software, do it in software

– However, some things can’t be done in a sane way with

software

• If you can’t do it in software but you can do it with an HDL, do it

with an HDL

– Sometimes the results of automation aren’t good enough

• If you’re tired, don’t do hardware implementation

– Software design errors usually mean wasted time

– Hardware design errors often mean fried chips

42

Page 43: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Embedded systems

• Special-purpose computers, computers within devices which are

generally not seen to be computers

• Larger market than general-purpose computers by volume and

monetary value

• Microcontrollers rule

• Cool application-specific optimizations

– Power

– Size

– Reliability

– Hard deadlines

43

Page 44: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Market

• How large is the semiconductor market?

• $164.4×109 for 2003 and growing fast

– Semiconductor Industry Association

• $213×109 in 2004

44

Page 45: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Market

• How large is the semiconductor market?

• $164.4×109 for 2003 and growing fast

– Semiconductor Industry Association

• $213×109 in 2004

45

Page 46: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Market

• How large is the semiconductor market?

• $164.4×109 for 2003 and growing fast

– Semiconductor Industry Association

• $213×109 in 2004

46

Page 47: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Digital and analog signals

+3.3

V

0

time (µs)

• Analog: Continuously varying signal

• Digital: Discrete values, assumed instantaneous transition

• In reality, digital assumption is approximation

• Use thresholds

47

Page 48: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Digital and analog signals

+3.3

V

0

time (µs)

• Analog: Continuously varying signal

• Digital: Discrete values, assumed instantaneous transition

• In reality, digital assumption is approximation

• Use thresholds

48

Page 49: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Digital and analog signals

+3.3

V

0

time (µs)

• Analog: Continuously varying signal

• Digital: Discrete values, assumed instantaneous transition

• In reality, digital assumption is approximation

• Use thresholds

49

Page 50: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Digital and analog signals

+3.3

V

0

high

low

undefined

time (µs)

• Analog: Continuously varying signal

• Digital: Discrete values, assumed instantaneous transition

• In reality, digital assumption is approximation

• Use thresholds

50

Page 51: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Digital voltage regeneration

VOUT

3.3

0VIN 3.30

51

Page 52: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Digital voltage regeneration

VOUT

3.3

0VIN 3.30

Error in input appears on output

52

Page 53: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Digital voltage regeneration

VOUT

3.3

0VIN 3.30

Voltage regeneration hides input variation

53

Page 54: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Boolean algebra

• The only values are 0 (or false) and 1 (or true)

• One can define operations/functions/gates

– Boolean values as input and output

• A truth table enumerates output values for all input value

combinations

54

Page 55: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

AND

a b a · b

0 0 0

0 1 0

1 0 0

1 1 1

ba a b

a AND b = a ∧ b = a · b = a b

55

Page 56: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

OR

a b a + b

0 0 0

0 1 1

1 0 1

1 1 1

ab a + b

a OR b = a ∨ b = a + b

56

Page 57: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

NOT

a a

0 1

1 0

a a

NOT a = a’ = a

57

Page 58: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Combinational vs. sequential logic

clock

plain old combinational logicq

D flip−flopsa b

a+ b+

• No feedback between inputs and outputs – combinational

– Outputs a function of the current inputs, only

• Feedback – sequential

58

Page 59: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Combinational vs. sequential logic

clock

plain old combinational logicq

D flip−flopsa b

a+ b+

• No feedback between inputs and outputs – combinational

– Outputs a function of the current inputs, only

• Feedback – sequential

59

Page 60: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Combinational vs. sequential logic

clock

plain old combinational logicq

D flip−flopsa b

a+ b+

• No feedback between inputs and outputs – combinational

– Outputs a function of the current inputs, only

• Feedback – sequential

60

Page 61: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Sequential logic

• Outputs depend on current state and (maybe) current inputs

• Next state depends on current state and input

• For implementable machines, there are a finite number of states

• Synchronous

– State changes upon clock event (transition) occurs

• Asynchronous

– State changes upon inputs change, subject to circuit delays

61

Page 62: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Summary

• Brief overview

• Administrative stuff

• Introduction and definitions

62

Page 63: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Reading assignment (for next class)

• M. M. Mano and C. R. Kime, Logic and Computer Design

Fundamentals. Prentice-Hall, Englewood Cliffs, NJ, third ed.,

2004

• Sections 1.1, 2.1, and 2.2

• CMOS handout from M. M. Mano and C. R. Kime, Web

supplements to Logic and Computer Design Fundamentals.

Prentice-Hall, Englewood Cliffs, NJ, 2004.

http://www.writphotec.com/mano/Supplements

• Read these by the next class

63

Page 64: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Computer geek culture references

• Zi+1 = Z2

i+K

64

Page 65: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Mandelbrot set display code

threshold = 1000

iter = 500

def f(c, iter):

a = (0 + 0j)

for i in xrange(iter):

a = a**2 + c

if abs(a) > threshold:

break

return a

desc = [[complex(x, y) for x in xfrange(-2, 2, 0.0015)]

for y in xfrange(1, -1, -0.0015)]

65

Page 66: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Mandelbrot set image produced by code

66

Page 67: Introduction to Computer Engineering ECE 203ziyang.eecs.umich.edu/~dickrp//eecs203/lectures/ece203-l...– It’s O.K. I have handouts and office hours to help but don’t fall behind!

Computers enabled many inventions

• Simulation, automation, knowledge discovery

• In astrophysics, chemistry, biology, medicine, etc.

67