View
216
Download
3
Embed Size (px)
Introduction toElectrical and Computer Engineering
Christopher Batten
Computer Systems LaboratorySchool of Electrical and Computer Engineering
Cornell University
ENGRG 1060 Explorations in Engineering SeminarSummer 2013
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 / 36
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 / 36
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 / 36
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, AppleI General Engineering Industry: GE, Lockheed Martin, RaytheonI Software Industry: Microsoft, Amazon, MathworksI Join a Startup: Achronix, Hillcrest LabsI Research Lab: Sandia National Labs, Draper Labs, NASAI Consulting: McKinsey, Accenture, Deloitte, Booz Allen HamiltonI Finance: Deutsche Bank, Capital One, UBS, BloombergI Graduate School: Law School, Business School, Med SchoolI Found a university!
ENGRG 1060 Intro to ECE Christopher Batten 5 / 36
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 Cornells investments created the fortunethat eventually enabled the founding of Cornell University
ENGRG 1060 Intro to ECE Christopher Batten 6 / 36
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 / 36
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 / 36
ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design
Computer Engineering Artifacts
ENGRG 1060 Intro to ECE Christopher Batten 9 / 36
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 engineering 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 / 36
ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design
The Computer Systems Stack
Register-Transfer Level
CircuitsDevices
Instruction Set Architecture
Programming LanguageAlgorithm
Microarchitecture
Com
pute
r Eng
inee
ring
Technology
Application
Operating System
Gate Level
Sort an array of numbers2,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 = 100; for ( int i = 0; i < n; i++ ) { if ( a[i] < min ) { min = a[i]; idx = i; } } b[k] = min; a[idx] = 100; }}
C implementation of insertion sort
ENGRG 1060 Intro to ECE Christopher Batten 10 / 36
ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design
The Computer Systems Stack
Register-Transfer Level
CircuitsDevices
Instruction Set Architecture
Programming LanguageAlgorithm
Microarchitecture
Com
pute
r Eng
inee
ring
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 / 36
ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design
The Computer Systems Stack
Register-Transfer Level
CircuitsDevices
Instruction Set Architecture
Programming LanguageAlgorithm
Microarchitecture
Com
pute
r Eng
inee
ring
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 / 36
ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design
Computer Systems: CS vs. EE vs. CE
Register-Transfer Level
CircuitsDevices
Instruction Set Architecture
Programming LanguageAlgorithm
Microarchitecture
Com
pute
r Eng
inee
ring
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 / 36
ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design
ENGRG 1060 Computer Systems Labs
Register-Transfer Level
CircuitsDevices
Instruction Set Architecture
Programming LanguageAlgorithm
Microarchitecture
Com
pute
r Eng
inee
ring
Technology
Application
Operating System
Gate LevelLab 2Hardware pushingtowards software(EE,CE)
Lab 4Software pushingtowards hardware(CS,CE)
ENGRG 1060 Intro to ECE Christopher Batten 12 / 36
ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design
Application Requirements vs. Technology Constraints
In its broadest definition, computer engineering 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
ineerin
g
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 / 36
ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design
Processors, Memories, and Networks
Register-Transfer Level
CircuitsDevices
Instruction Set Architecture
Programming LanguageAlgorit