Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Introduction to Electrical and Computer Engineering, Study notes of Computer Networks

Computer Systems Laboratory. School of Electrical and Computer Engineering. Cornell University. ENGRG 1060 Explorations in Engineering Seminar. Summer 2013 ...

Typology: Study notes

2022/2023

Uploaded on 05/11/2023

thecoral
thecoral 🇺🇸

4.4

(28)

133 documents

1 / 40

Toggle sidebar

Related documents


Partial preview of the text

Download Introduction to Electrical and Computer Engineering and more Study notes Computer Networks in PDF only on Docsity! 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 2013 • ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Power Systems Computer Engineering Electrical Circuits Electrical Devices Signal Processing Telecomm ENGRG 1060 Intro to ECE – Christopher Batten 2 / 37 • 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 / 37 • ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Cornell was founded because of ECE! Samuel Morse invented the telegraph (a digital communication device), but needed help building the network Ezra Cornell built the first telegraph line (the beginning of telecommunications), and invested in the Western Union Telegraph Co "What hath God wrought?" Ezra Cornell’s investments created the fortune that eventually enabled the founding of Cornell University ENGRG 1060 Intro to ECE – Christopher Batten 6 / 37 • ECE Overview • What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design “Optional Homework” I Visit the statue of Ezra Cornell on the Arts Quad I Does something on the back of the statue relate to ECE? I Take a picture with your cellphone and send it to your friend! . Power systems . Computer engineering . Electrical circuits . Electrical devices . Signal processing . Telecommunications ENGRG 1060 Intro to ECE – Christopher Batten 7 / 37 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 the development of the abstraction/implementation layers that allow us to execute information processing applications efficiently using available manufacturing technologies ENGRG 1060 Intro to ECE – Christopher Batten 10 / 37 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 C o m p u te r E n g in e e ri n g 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 array 2. Move minimum number into output array 3. 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 / 37 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 C o m p u te r E n g in e e ri n g Technology Application Operating System Gate Level Mac OS X, Windows, Linux Handles low-level hardware management blez $a2, done move $a7, $zero li $t4, 99 move $a4, $a1 move $v1, $zero li $a3, 99 lw $a5, 0($a4) addiu $a4, $a4, 4 slt $a6, $a5, $a3 movn $v0, $v1, $a6 addiu $v1, $v1, 1 movn $a3, $a5, $a6 MIPS32 Instruction Set Instructions that machine executes ENGRG 1060 Intro to ECE – Christopher Batten 10 / 37 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 C o m p u te r E n g in e e ri n g Technology Application Operating System Gate Level Lab 2 Hardware pushing towards software (EE,CE) Lab 4 Software pushing towards hardware (CS,CE) ENGRG 1060 Intro to ECE – Christopher Batten 12 / 37 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 the development of the abstraction/implementation layers that allow us to execute information processing applications efficiently using available manufacturing technologies Register-Transfer Level Circuits Devices Instruction Set Architecture Programming Language Algorithm Microarchitecture C o m p u te r E n g in e e ri n 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 architects provide feedback to guide application and technology research directions ENGRG 1060 Intro to ECE – Christopher Batten 13 / 37 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 C o m p u te r E n g in e e ri n g Technology Application Operating System Gate Level Computer engineering basic building blocks • Processors for computation • Memories for storage • Networks for communication Network Processor Memory Input Data Output Data Compute data Move data Store data ENGRG 1060 Intro to ECE – Christopher Batten 14 / 37 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 C o m p u te r E n g in e e ri n g Technology Application Operating System Gate Level Traditional Application Requirements • As much processor compute as possible • As much memory capacity as possible • As much network bandwidth as possible Traditional Technology Constraints • Exponential scaling of resources ENGRG 1060 Intro to ECE – Christopher Batten 17 / 37 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 Intel Pentium 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 10 0 10 1 10 2 10 3 10 4 10 5 10 6 Sequential Processor Performance 10 7 ENGRG 1060 Intro to ECE – Christopher Batten 18 / 37 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 / 37 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 based on a new programming platform resulting in new usage and industries 10 3 10 4 10 5 10 6 10 7 10 8 10 2 10 1 P ri c e in D o lla rs 1950 1960 1970 1980 1990 2000 2010 G. Bell. "Bell's Law for the Birth and Death of Computer Classes." CACM, Jan 2008. Mainframes Minicomputers Workstations Personal Computers Handhelds Supercomputers Scalable Clusters Sensor Networks Internet of Things Cloud Computing ENGRG 1060 Intro to ECE – Christopher Batten 22 / 37 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 23 / 37 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 Life Electricity Bill Mobile Device Weight Chip Packaging Chip Cooling System Noise Case Temperature Data-Center Air Conditioning Power Energy Performance (Ops/Second) E n e rg y p e r O p e ra ti o n 100W Workstation Power Constraint 1W Handheld Power Constraint ENGRG 1060 Intro to ECE – Christopher Batten 24 / 37 ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design Trend 2: Energy and Performance of Multicores Performance (Tasks per Second) (Joules per Task) Simple Single Proc Processor Power Constraint A In cr easin g P ower Energy C B Superscalar w/ Deeper Pipelines Out-of-Order Superscalar Superpipelined D Multicore Manycore ENGRG 1060 Intro to ECE – Christopher Batten 27 / 37 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 Intel Pentium 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 10 0 10 1 10 2 10 3 10 4 10 5 10 6 Sequential Processor Performance 10 7 Number of Cores Parallel Proc Performance Intel 48-Core Prototype AMD 4-Core Opteron ENGRG 1060 Intro to ECE – Christopher Batten 28 / 37 ECE Overview What is Computer Engineering? • Trends in Computer Engineering • Computer Engineering Design Trend 3: Emerging Device Technologies ? Vertical MOSFETs Graphene Carbon Nanotubes Nanorelays Quantum Computing Molecular Computing Memristers Phase-Change Mem Spintronics 3D Integration Nanophotonics Adapted from R. Kurzweil. “The Singularity is Near.” Penguin Books, 2006. ENGRG 1060 Intro to ECE – Christopher Batten 29 / 37 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 Algorithm Communication Load Balancing Fault Tolerance Dataset Size ENGRG 1060 Intro to ECE – Christopher Batten 32 / 37 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 33 / 37 ECE Overview What is Computer Engineering? Trends in Computer Engineering • Computer Engineering Design • What do computer engineers actually do? Ask question about nature Construct hypothesis Test with experiment Analyze results and draw conclusions General Science Discover truths about nature Design and build initial system Ask question about system Modify system or build/design alternative Test with experiment to compare alternatives Analyze results and draw conclusions Computer Engineering Explore design space for a given system ENGRG 1060 Intro to ECE – Christopher Batten 34 / 37
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved