Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you...

28
Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn in this course 3. A wild prediction of the best possible outcome if your expectations are met. 1. Steven Bell 2. How to build a microprocessor. 3. Tim Cook calls me personally and asks me to design the next- generation iPhone processor.

Transcript of Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you...

Page 1: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Welcome to EE 201!Please fill out a name tent with the name you prefer to go by.

On your notecard write:

1. Your name

2.What you hope to learnin this course

3. A wild prediction of the bestpossible outcome if yourexpectations are met.

1. Steven Bell

2. How to build a microprocessor.

3. Tim Cook calls me personallyand asks me to design the next-generation iPhone processor.

Page 2: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

EE 201: The magic of microprocessorsSteven Bell17 January 2019

Page 3: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

About me

Bachelor's inComputer Engineering

MS/PhD inElectrical Engineering

Two summer-long internships

Page 4: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

My research

Avnet UltraZed EGwith PCIe carrier card

4-cameracustom FMC

breakoutCustom IMX219 camera boards with:- Focus- Configurable clock- 9-axis IMU

COTS Sony IMX219 image sensors

LED flash

Page 5: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn
Page 6: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn
Page 7: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Warning!

EE 201 is a brand-new course!

There will be problems - please be patient.And let us know how we can improve!

BUMPSAHEAD

Page 8: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

About you

1. Your name2. Somewhere interesting you have been in the last year

Page 9: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

What will we learn in EE 201?

Circuits Programming

int main(int argc, char* argv[]){

for(int i = 0; i < 100; i++){

printf("i: %d\n", i);

}

return(0);

}

Page 10: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

What will we learn in EE 201?

Circuits Programming

int main(int argc, char* argv[]){

for(int i = 0; i < 100; i++){

printf("i: %d\n", i);

}

return(0);

}

Digital design(EE 201)

Page 11: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Why should you care?

Page 12: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Why should you care?(one example)

Page 13: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

CPU<100 MHash/sec

GPU~1 GHash/sec

FPGA~500 MHash/sec

ASIC~10 THash/sec

0.5 MHash/J

https://en.bitcoin.it/wiki/Mining_hardware_comparison

2 MHash/J 10,000 MHash/J20 MHash/J

Page 14: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Wearables

Neural-network hardware

Network routers

Other applications

Gene matching

"Big data" analytics

Page 15: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Custom hardware in the datacenter

Google TensorProcessing Unit

Microsoft CatapultIntel FPGA cloud

Amazon EC2 F1FPGA instances

In a power-constrained system,performance per watt is performance.

Page 16: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Topic Reading HomeworkJan 17 Thursday 1 Welcome and introductionJan 22 Tuesday 2 Boolean equations, truth tables, and circuits 1.5, 2.1-2.2Jan 24 Thursday 3 Manipulating boolean equations & minimizing logic 2.3-2.7Jan 29 Tuesday 4 Multiplexers and FPGAs 2.8 HW 1 dueJan 31 Thursday 5 Timing combinational logic 2.9Feb 05 Tuesday 6 VHDL for combinational logic 4.1-4.2 HW 2 dueFeb 07 Thursday 7 Testing and testbenches 4.3, 4.9Feb 12 Tuesday 8 Latches and flip-flops 3.1-3.3 HW 3 dueFeb 14 Thursday 9 Basic sequential circuits 4.4-4.5, 5.4Feb 19 Tuesday 10 State machines 3.4 HW 4 dueFeb 21 Thursday No class; Monday schedule due to holidayFeb 26 Tuesday 11 Timing sequential logic 3.5-3.7 HW 5 dueFeb 28 Thursday 12 Testing sequential logicMar 05 Tuesday 13 Snow day / review for exam HW 6 dueMar 07 Thursday 14 Midterm examMar 12 Tuesday 15 Adders and other combinational circuits 5.1-5.2Mar 14 Thursday 16 Memory: registers, RAM, and ROM 5.5Mar 19 Tuesday No class, spring breakMar 21 Thursday No class, spring breakMar 26 Tuesday 17 ARM assembly programming 6.1-6.3 HW 7 dueMar 28 Thursday 18 From assembly to 0s and 1s 6.4-6.9Apr 02 Tuesday 19 Building a single-cycle processor 7.1-7.3 HW 8 dueApr 04 Thursday 20 A more efficient multi-cycle processor 7.4Apr 09 Tuesday 21 Even faster: pipelined processors 7.5 HW 9 dueApr 11 Thursday 22 Processor catch-up dayApr 16 Tuesday 23 Techniques for modern processors 7.7-7.8 HW 10 dueApr 18 Thursday 24 Digital peripherals and protocols 9.1-9.3.4.1Apr 23 Tuesday 25 Caching 8.1-8.3 HW 11 dueApr 25 Thursday 26 Virtual memory 8.4-8.5

May 09 Thursday Final exam, 3:30-5:30pm

Combinational logic

VHDL and FPGAs

Sequential logic

Going faster

Building a computer

Page 17: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Device policy

Please put away laptops and cell phones except when you need themto solve a problem or answer a poll.

Duncan et al., 2012Digital Devices, Distraction, and Student Performance:Does In-Class Cell Phone Use Reduce Learning?http://casa.colorado.edu/~dduncan/wp/wp-content/uploads/AER010108.pdf

Ravizza et al., 2014Non-academic internet use in the classroom is negatively related to classroom learningregardless of intellectual abilityhttps://www.sciencedirect.com/science/article/pii/S0360131514001298

Page 18: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Office hours

OH are for everyone!Walking office hours are an experiment - come join!

Page 19: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

I want everyone to succeed in this class!

We're going to cover a lot of ground, and it will be challenging,but you have what it takes!

If you're falling behind, change something!

Rarely does "working harder" solve the problem.

We'll evaluate your learning based on what you can do,not on a curve against each other.

Page 20: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

A word on stereotypes

Page 21: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

The digital abstraction

We handle complexity with abstraction.

And we enable abstractions by making restrictions.

The first fundamental one is the "digital abstraction"

Page 22: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

By the end of class today, you should be able to:

Add numbers in binary

Write a positive decimal number in binary and vice-versa

Represent negative numbers using 2's complement

Page 23: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

Decimal to binary (one of several ways)

If the number is odd, write a 1 and subtract 1 from the numberIf the number is even, write a 0Divide the number by 2 and repeat

Page 24: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn
Page 25: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

0000

0011

0001

0010

0100

0101

0110

011110001001

0

1010

1011

1100

1101

1110

1111

12

3

4

5

6789

1011

12

13

1415

binaryinteger

overflow!

Page 26: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

0000

0011

0001

0010

0100

0101

0110

011110001001

00

1010

1011

1100

1101

1110

1111

12

3

4

5

6789

1011

12

13

1415

12

345

67

-1-2

-3-4-5

-6-7 -8

binaryunsigned

signed

signed overflow

unsigned overflow

Page 27: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

To write a negative number in 2's complement:

Write the positive number in binary

Flip all the bits (1→0, 0→1)

Add 1 (with all the appropriate carries)

To convert negative 2's complement to decimal,

Flip all the bits (1→0, 0→1)

Add 1 (with all the appropriate carries)

Write the number in decimal

Page 28: Welcome to EE 201! · 2019-01-18 · Welcome to EE 201! Please ll out a name tent with the name you prefer to go by. On your notecard write: 1. Your name 2. What you hope to learn

1. Read the book (1.5, 2.1-2.2) and complete the pre-class quiz

For next Tuesday

Quiz is due at 9AM the day of class, so I can review it

cp /ee/201/public_html/quizzes/quiz_01.txt ./

provide ee201 q1 quiz_01.txt

www.ece.tufts.edu/ee/201/