45
Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School of Electrical and Computer Engineering Cornell University ENGRG 1060 Explorations in Engineering Seminar Summer 2012

Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

Introduction toElectrical and Computer Engineering

Christopher Batten

Computer Systems LaboratorySchool of Electrical and Computer Engineering

Cornell University

ENGRG 1060 Explorations in Engineering SeminarSummer 2012

Page 2: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

• ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design

PowerSystems

ComputerEngineering

ElectricalCircuits

ElectricalDevices

SignalProcessing

Telecomm

ENGRG 1060 Intro to ECE – Christopher Batten 2 / 42

Page 3: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

• ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design

ECE is the Study and Application ofElectricity, Micro-Electronics, and Electro-Magnetism

ECE

Power Systems

Computer Engineering

ElectricalCircuits

Electrical Devices

Signal Processing

Telecomm

Bio-Electrical Engineering

Micro-Electro-Mechanical Devices

Opto-Electrical Devices

Fusion and Plasma Physics

Image, Audio, VideoProcessing

Information Theory

Smart Grid and Smart Buildings

Systems and Synthetic Biology

Atmospheric Science Control Theory

Robotics

Network Protocolsand Optimization

Analog and DigitalCircuits

Computer-AidedDesign

ENGRG 1060 Intro to ECE – Christopher Batten 3 / 42

Page 4: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

• ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design

ECE is everywhere!

Data Centers

Solar PanelsMedical ImagingPortable Medical Devices

Internet Routers

Humanoid RobotsUnmanned Vehicles

GPS Devicesand Satellites

Electric andHybrid Vehicles

Fiber OpticNetworks

Automobiles

DigitalCameras

Computing: From Handhelds to Servers

GameConsoles

ENGRG 1060 Intro to ECE – Christopher Batten 4 / 42

Page 5: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

• ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design

What can one do with a background in ECE?

I ECE Industry: Intel, AMD, Analog Devices, NVIDIA, HP, Apple

I General Engineering Industry: GE, Lockheed Martin, Raytheon

I Software Industry: Microsoft, Amazon, Mathworks

I Join a Startup: Achronix, Hillcrest Labs

I Research Lab: Sandia National Labs, Draper Labs, NASA

I Consulting: McKinsey, Accenture, Deloitte, Booz Allen Hamilton

I Finance: Deutsche Bank, Capital One, UBS, Bloomberg

I Graduate School: Law School, Business School, Med School

I Found a university!

ENGRG 1060 Intro to ECE – Christopher Batten 5 / 42

Page 6: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

• ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design

Cornell was founded because of ECE!

Samuel Morse invented thetelegraph (a digital communicationdevice), but needed help buildingthe network

Ezra Cornell built the firsttelegraph line (the beginning oftelecommunications), and investedin the Western Union Telegraph Co

"What hathGod wrought?"

Ezra Cornell’s investments created the fortunethat eventually enabled the founding of Cornell University

ENGRG 1060 Intro to ECE – Christopher Batten 6 / 42

Page 7: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

• ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design

“Optional Homework”

I Visit the statue of Ezra Cornellon the Arts Quad

I Does something on the back ofthe statue relate to ECE?

I Take a picture with your cellphoneand send it to your friend!. Power systems. Computer engineering. Electrical circuits. Electrical devices. Signal processing. Telecommunications

ENGRG 1060 Intro to ECE – Christopher Batten 7 / 42

Page 8: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

• ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design

Talk Outline

ECE Overview

What is Computer Engineering?

Trends in Computer Engineering

Computer Engineering Design

ENGRG 1060 Intro to ECE – Christopher Batten 8 / 42

Page 9: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

Computer Engineering Artifacts

ENGRG 1060 Intro to ECE – Christopher Batten 9 / 42

Page 10: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

The Computer Systems Stack

Technology

Application

Gap too large to bridge in one step(but there are exceptions, e.g., a magnetic compass)

In its broadest definition, computer system design is thedevelopment of the abstraction/implementation layers that allow us to

execute information processing applications efficientlyusing available manufacturing technologies

ENGRG 1060 Intro to ECE – Christopher Batten 10 / 42

Page 11: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

The Computer Systems Stack

Register-Transfer Level

Circuits

Devices

Instruction Set Architecture

Programming Language

Algorithm

Microarchitecture

Com

pute

r E

ng

ineeri

ng

Technology

Application

Operating System

Gate Level

Sort an array of numbers

2,6,3,8,4,5 -> 2,3,4,5,6,8

1. Find minimum number in input array2. Move minimum number into output array3. Repeat steps 1 and 2 until finished

Insertion sort algorithm

void isort( int b[], int a[], int n ) { for ( int idx, k = 0; k < n; k++ ) { int min = 99 for ( int i = 0; i < n; i++ ) { if ( a[i] < min ) { min = a[i]; idx = i; } } b[k] = min; a[idx] = 99; }}

C implementation of insertion sort

ENGRG 1060 Intro to ECE – Christopher Batten 10 / 42

Page 12: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

The Computer Systems Stack

Register-Transfer Level

Circuits

Devices

Instruction Set Architecture

Programming Language

Algorithm

Microarchitecture

Com

pute

r E

ng

ineeri

ng

Technology

Application

Operating System

Gate Level

Mac OS X, Windows, LinuxHandles low-level hardware management

blez $a2, donemove $a7, $zeroli $t4, 99move $a4, $a1move $v1, $zeroli $a3, 99lw $a5, 0($a4)addiu $a4, $a4, 4slt $a6, $a5, $a3movn $v0, $v1, $a6addiu $v1, $v1, 1movn $a3, $a5, $a6

MIPS32 Instruction SetInstructions that machine executes

ENGRG 1060 Intro to ECE – Christopher Batten 10 / 42

Page 13: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

The Computer Systems Stack

Register-Transfer Level

Circuits

Devices

Instruction Set Architecture

Programming Language

Algorithm

Microarchitecture

Com

pute

r E

ng

ineeri

ng

Technology

Application

Operating System

Gate Level

Silicon processtechnology

Si Si Si

SiSiSi

Transistors and wires

Combining devicesto do useful work

Boolean logic gatesand functions

How data flowsthrough system

ENGRG 1060 Intro to ECE – Christopher Batten 10 / 42

Page 14: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

Computer Systems: CS vs. EE vs. CE

Register-Transfer Level

Circuits

Devices

Instruction Set Architecture

Programming Language

Algorithm

Microarchitecture

Com

pute

r E

ng

ineeri

ng

Technology

Application

Operating System

Gate Level

TraditionalComputer Science

TraditionalElectrical Engineering

Computer Engineering is at theinterface between hardware and softwareand considers the entire system

ENGRG 1060 Intro to ECE – Christopher Batten 11 / 42

Page 15: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

ENGRG 1060 Computer Systems Labs

Register-Transfer Level

Circuits

Devices

Instruction Set Architecture

Programming Language

Algorithm

Microarchitecture

Com

pute

r E

ng

ineeri

ng

Technology

Application

Operating System

Gate Level

Lab 2Hardware pushingtowards software(EE,CE)

Lab 4Software pushingtowards hardware(CS,CE)

ENGRG 1060 Intro to ECE – Christopher Batten 12 / 42

Page 16: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

Application Requirements vs. Technology Constraints

In its broadest definition, computer system design is thedevelopment of the abstraction/implementation layers that allow us to

execute information processing applications efficientlyusing available manufacturing technologies

Register-Transfer Level

Circuits

Devices

Instruction Set Architecture

Programming Language

Algorithm

Microarchitecture

Com

pute

r E

ng

ineeri

ng

Technology

Application

Operating System

Gate Level

Application Requirements • Suggest how to improve architecture • Provide revenue to fund development

Technology Constraints • Restrict what can be done efficiently • New technologies make new arch possible

Computer engineers provide feedback to guideapplication and technology research directions

ENGRG 1060 Intro to ECE – Christopher Batten 13 / 42

Page 17: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

Processors, Memories, and Networks

Register-Transfer Level

Circuits

Devices

Instruction Set Architecture

Programming Language

Algorithm

Microarchitecture

Com

pute

r E

ng

ineeri

ng

Technology

Application

Operating System

Gate Level

Computer engineering basic building blocks

• Processors for computation

• Memories for storage

• Networks for communication

Network

Processor

Memory

InputData

OutputData

Computedata

Movedata

Storedata

ENGRG 1060 Intro to ECE – Christopher Batten 14 / 42

Page 18: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview • What is Computer Engineering? • Trends in Computer Engineering Computer Engineering Design

Activity #1: Sorting with a Sequential Processor

Network

Processor

Memory

I Application: Sort 32 numbers

I Simulated Sequential Computing System. Processor: You!. Memory: Worksheet, read input data, write output data. Network: Passing/collecting the worksheets

I Activity Steps. 1. Discuss strategy with neighbors. 2. When instructor starts timer, flip over worksheet. 3. Sort 32 numbers as fast as possible. 4. Lookup when completed and write time on worksheet. 5. Raise hand. 6. When everyone is finished, then analyze data

ENGRG 1060 Intro to ECE – Christopher Batten 15 / 42

Page 19: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Talk Outline

ECE Overview

What is Computer Engineering?

Trends in Computer Engineering

Computer Engineering Design

ENGRG 1060 Intro to ECE – Christopher Batten 16 / 42

Page 20: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Application Requirements vs. Technology Constraints

Register-Transfer Level

Circuits

Devices

Instruction Set Architecture

Programming Language

Algorithm

Microarchitecture

Com

pute

r E

ng

ineeri

ng

Technology

Application

Operating System

Gate Level

TraditionalApplication Requirements • As much processor compute as possible • As much memory capacity as possible • As much network bandwidth as possible

TraditionalTechnology Constraints • Exponential scaling of resources

ENGRG 1060 Intro to ECE – Christopher Batten 17 / 42

Page 21: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Exponential Scaling for Processor Computation

Transistors(Thousands)

Frequency(MHz)

Typical Power(Watts)

MIPS R2K

IntelPentium 4

DEC Alpha 21264

Data partially collected by M. Horowitz, F. Labonte, O. Shacham, K. Olukotun, L. Hammond

1975 1980 1985 1990 1995 2000 2005 2010 2015

100

101

102

103

104

105

106

SequentialProcessorPerformance

107

ENGRG 1060 Intro to ECE – Christopher Batten 18 / 42

Page 22: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Exponential Scaling for Memory Capacity

Adapted from [Itoh’07]

ENGRG 1060 Intro to ECE – Christopher Batten 19 / 42

Page 23: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Exponential Scaling for Network BandwidthN

etw

ork

Pea

k B

ise

ctio

n B

an

dw

idth

(M

B/s

)

1985 1990 1995 2000 2005

103

104

105

106

107

102

Bus-BasedInterconnection

Networks(10's Nodes)

Multi-StageInterconnection

Networks(100-1000's Nodes)

ENGRG 1060 Intro to ECE – Christopher Batten 20 / 42

Page 24: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Exponential Scaling for Processor Compute/Dollar

Adapted from [Kurzweil’09]

ENGRG 1060 Intro to ECE – Christopher Batten 21 / 42

Page 25: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Exponential Scaling of Memory Capacity/Dollar

Adapted from [Kurzweil’09]

ENGRG 1060 Intro to ECE – Christopher Batten 22 / 42

Page 26: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Key trends in the application requirements andtechnology constraints over the past decade have

resulted in a radical rethinking of theprocessors, memories, and networksused in modern computing systems

Three Key Trends in Computer Engineering

1. Growing diversity in application requirements motivategrowing diversity in computing systems

2. Energy and power constraints motivate transition tomultiple processors integrated onto a single chip

3. Technology scaling challenges motivate new emergingprocessor, memory, and network device technologies

ENGRG 1060 Intro to ECE – Christopher Batten 23 / 42

Page 27: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Trend 1: Bell’s Law

Roughly every decade a new, lower priced computer class forms basedon a new programming platform resulting in new usage and industries

103

104

105

106

107

108

102

101

Pri

ce in

Dolla

rs

1950 1960 1970 1980 1990 2000 2010

Supercomputers

Mainframes

Minicomputers

Workstations

Personal Computers

Handhelds

Sensor NetworksInternet of Things

ScalableClusters

ENGRG 1060 Intro to ECE – Christopher Batten 24 / 42

Page 28: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Trend 1: Growing Diversity in Apps & Systems

ENGRG 1060 Intro to ECE – Christopher Batten 25 / 42

Page 29: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Trend 2: Energy/Power Constrain All Modern Systems

Power =Energy

Second

Energy

Op=

Ops

Second

Battery LifeElectricity BillMobile Device Weight

Chip PackagingChip CoolingSystem NoiseCase TemperatureData-Center Air Conditioning

Power Energy

Performance (Ops/Second)

En

erg

y p

er

Op

era

tio

n

100W Workstation Power Constraint

1W Handheld Power Constraint

ENGRG 1060 Intro to ECE – Christopher Batten 26 / 42

Page 30: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Trend 2: Power Constrains Single-Processor Scaling

Transistors(Thousands)

Frequency(MHz)

Typical Power(Watts)

MIPS R2K

IntelPentium 4

DEC Alpha 21264

Data partially collected by M. Horowitz, F. Labonte, O. Shacham, K. Olukotun, L. Hammond

1975 1980 1985 1990 1995 2000 2005 2010 2015

100

101

102

103

104

105

106

SequentialProcessorPerformance

107

ENGRG 1060 Intro to ECE – Christopher Batten 27 / 42

Page 31: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Trend 2: Transition to Multicore Processors

P

M

N

P

M

N

P

M

P

M

Intel Pentium 4Single monolithic processor

Cray XT3 Supercomputer1024 single-core processors

P

M

P

M

P

M

P

M

N

AMD Quad-Core Opteron Four cores on the same die

P

M

P

M

N

IBM Blue Gene QSupercomputer Thousands of 18-core processors

P

M

P

M

ENGRG 1060 Intro to ECE – Christopher Batten 28 / 42

Page 32: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Trend 2: Energy and Performance of Multicores

Performance (Tasks per Second)

(Joulesper

Task)

SimpleSingle Proc

Processor PowerConstraint

A

Incr

easing P

ower

AAA

Energy

C

B

AAAA

Superscalarw/ Deeper

Pipelines

Out-of-Order Superscalar

Superpipelined

D

D

EEMulticoreF

Multicore E

General-PurposeManycores

F

ENGRG 1060 Intro to ECE – Christopher Batten 29 / 42

Page 33: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Trend 2: Multicore Performance Scaling

Transistors(Thousands)

Frequency(MHz)

Typical Power(Watts)

MIPS R2K

IntelPentium 4

DEC Alpha 21264

Data partially collected by M. Horowitz, F. Labonte, O. Shacham, K. Olukotun, L. Hammond

1975 1980 1985 1990 1995 2000 2005 2010 2015

100

101

102

103

104

105

106

SequentialProcessorPerformance

107

Numberof Cores

Parallel ProcPerformance

Intel 48-CorePrototype

AMD 4-CoreOpteron

ENGRG 1060 Intro to ECE – Christopher Batten 30 / 42

Page 34: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Trend 3: Emerging Device Technologies

?Vertical MOSFETsGrapheneCarbon NanotubesNanorelaysQuantum ComputingMolecular ComputingMemristersPhase-Change MemSpintronics3D IntegrationNanophotonics

Adapted from [Kurzweil’09]

ENGRG 1060 Intro to ECE – Christopher Batten 31 / 42

Page 35: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Key trends in the application requirements andtechnology constraints over the past decade have

resulted in a radical rethinking of theprocessors, memories, and networksused in modern computing systems

Three Key Trends in Computer Engineering

1. Growing diversity in application requirements motivategrowing diversity in computing systems

2. Energy and power constraints motivate transition tomultiple processors integrated onto a single chip

3. Technology scaling challenges motivate new emergingprocessor, memory, and network device technologies

ENGRG 1060 Intro to ECE – Christopher Batten 32 / 42

Page 36: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Activity #2: Sorting with a Parallel Processor

P

M

P

M

P

M

P

M

N

I Application: Sort 32 numbers

I Simulated Parallel Computing System. Processor: Group of 2–8 students. Memory: Worksheet, scratch paper. Network: Communicating between students

I Activity Steps. 1. Discuss strategy with group. 2. When instructor starts timer, master processor flips over worksheet. 3. Sort 32 numbers as fast as possible. 4. Lookup when completed and write time on worksheet. 5. Master processor only raises hand. 6. When everyone is finished, then analyze data

ENGRG 1060 Intro to ECE – Christopher Batten 33 / 42

Page 37: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design

Activity #2: Discussion

unsorted

sorted

Distribute

Sort 4 Numbers

Merge Phase 1 > merge 4+4 = 8

Merge Phase 2 > merge 8+8 = 16

Merge Phase 3 > merge 16+16 = 32

Proc/Mem

Proc/Mem

Network

Network

Network

Proc/Mem

Proc/Mem

Network

Network

AlgorithmCommunicationLoad BalancingFault Tolerance

Dataset Size

ENGRG 1060 Intro to ECE – Christopher Batten 34 / 42

Page 38: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? Trends in Computer Engineering • Computer Engineering Design •

Talk Outline

ECE Overview

What is Computer Engineering?

Trends in Computer Engineering

Computer Engineering Design

ENGRG 1060 Intro to ECE – Christopher Batten 35 / 42

Page 39: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? Trends in Computer Engineering • Computer Engineering Design •

What do computer engineers actually do?

Ask questionabout nature

Constructhypothesis

Test withexperiment

Analyze results anddraw conclusions

Design and buildinitial system

Ask questionabout system

Modify system or build/design alternative

Test with experiment to compare alternatives

Analyze results anddraw conclusions

General Science Computer Engineering

Discover truthsabout nature

Explore design space for a given system

ENGRG 1060 Intro to ECE – Christopher Batten 36 / 42

Page 40: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? Trends in Computer Engineering • Computer Engineering Design •

How do we design something so incredibly complex?

Design and buildinitial system

Ask questionabout system

Modify system or build/design alternative

Test with experiment to compare alternatives

Analyze results anddraw conclusions

Computer Engineering

Explore design space for a given system

Fighter Airplane: ~100,000 parts

Intel Sandy Bridge E: 2.27 Billion transistors

ENGRG 1060 Intro to ECE – Christopher Batten 37 / 42

Page 41: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? Trends in Computer Engineering • Computer Engineering Design •

I Design Principles. Abstraction – Hide low-level details to create higher-level models

. Hierarchy – Structurally decompose design; e.g., net → router → queues

. Regularity – Structural and physical regularity; e.g., uniform tiles

. Modularity – Well-defined interfaces; e.g., latency insensitive net interface

. Encapsulation – Hide implementation details; e.g., processor microarch

. Extensibility – Design for future extensions; e.g., new network topo

I Design Methodologies. Incremental design

. Test-driven designP

M

P

M

P

M

P

M

N

ENGRG 1060 Intro to ECE – Christopher Batten 38 / 42

Page 42: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? Trends in Computer Engineering • Computer Engineering Design •

Incremental Design

+P M Network

P

M

P

Network

P P P

M

Network

M M M

P

Network

P P P

M M M M

ENGRG 1060 Intro to ECE – Christopher Batten 39 / 42

Page 43: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? Trends in Computer Engineering • Computer Engineering Design •

Test-Driven Design

P

M

P

M

P

M

P

M

N

I Test Types. Unit tests. Directed vs. random tests. Whitebox vs. blackbox tests. Integration tests

I Goal is to write tests firstthen implement design topass these tests

I Write tests for higher level ofabstraction, refine implementation until passes tests, add new tests

I Capture design bugs with new tests

ENGRG 1060 Intro to ECE – Christopher Batten 40 / 42

Page 44: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? Trends in Computer Engineering • Computer Engineering Design •

Single-Core to Multi-Core Design Example

Design and buildinitial system

Ask questionabout system

Modify system or build/design alternative

Test with experiment to compare alternatives

Analyze results anddraw conclusions

Computer Engineering

Explore design space for a given system

Our "experiments" during

the previous activities

illustrate the design process

P

M

N

P

M

P

M

P

M

P

M

N

ENGRG 1060 Intro to ECE – Christopher Batten 41 / 42

Page 45: Introduction to Electrical and Computer Engineeringcbatten/misc/batten-ece...Introduction to Electrical and Computer Engineering Christopher Batten Computer Systems Laboratory School

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design

Take-Away Points

I ECE is a broad field focused on the studyand application of electricity, micro-electronics, and electro-magnetism

I Computer engineering is the process ofdesigning abstraction and implementationlayers to meet application requirementswithin physical technology constraints

I We are entering an exciting new era ofcomputer engineering with emergingapplications and systems, a remarkable shifttowards mainstream parallel processing,and significant technology challenges

ENGRG 1060 Intro to ECE – Christopher Batten 42 / 42