Introduction to Electrical and Computer Engineering



Similar documents
ECE 5745 Complex Digital ASIC Design Course Overview

Chapter 1 Computer System Overview

What will I learn as an Electrical Engineering student?

A bachelor of science degree in electrical engineering with a cumulative undergraduate GPA of at least 3.0 on a 4.0 scale

Logically a Linux cluster looks something like the following: Compute Nodes. user Head node. network

Design Cycle for Microprocessors

How To Compare Amazon Ec2 To A Supercomputer For Scientific Applications

GPU Computing. The GPU Advantage. To ExaScale and Beyond. The GPU is the Computer

Cray Gemini Interconnect. Technical University of Munich Parallel Programming Class of SS14 Denys Sobchyshak

How To Learn To Understand And Understand The Physics Of Chemistry

Chapter 7. Using Hadoop Cluster and MapReduce

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Introduction to Cloud Computing

SECOND YEAR. Major Subject 3 Thesis (EE 300) 3 Thesis (EE 300) 3 TOTAL 3 TOTAL 6. MASTER OF ENGINEERING IN ELECTRICAL ENGINEERING (MEng EE) FIRST YEAR

Lecture 1. Introduction to Embedded Computer Systems

High Performance Computing. Course Notes HPC Fundamentals

Hadoop Cluster Applications

What is a System on a Chip?

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems

RAMCloud and the Low- Latency Datacenter. John Ousterhout Stanford University

So#ware Tools and Techniques for HPC, Clouds, and Server- Class SoCs Ron Brightwell

Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps

How To Build A Cloud Computer

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

This Unit: Multithreading (MT) CIS 501 Computer Architecture. Performance And Utilization. Readings

Photonic Networks for Data Centres and High Performance Computing

Area 3: Analog and Digital Electronics. D.A. Johns

Digital Circuit Design

Understanding Network Video Security Systems

Multilevel Communication Aware Approach for Load Balancing

Introducción. Diseño de sistemas digitales.1

Trends in High-Performance Computing for Power Grid Applications

Why the Network Matters

Depth and Excluded Courses

PRIMERGY server-based High Performance Computing solutions

White Paper The Numascale Solution: Extreme BIG DATA Computing

Parallel Programming Survey

OpenFlow Based Load Balancing

ELECTRICAL ENGINEERING

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

NATIONAL SUN YAT-SEN UNIVERSITY

Big Data and Cloud Computing for GHRSST

Introduction. Chapter Scope of Electrical Engineering

Degree Requirements

Emerging Technology for the Next Decade

Big Data Systems CS 5965/6965 FALL 2015

numascale White Paper The Numascale Solution: Extreme BIG DATA Computing Hardware Accellerated Data Intensive Computing By: Einar Rustad ABSTRACT

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

The Shortcut Guide to Balancing Storage Costs and Performance with Hybrid Storage

Information Processing, Big Data, and the Cloud

Multi-core architectures. Jernej Barbic , Spring 2007 May 3, 2007

Big Data Technology Map-Reduce Motivation: Indexing in Search Engines

Project Plan. Project Plan. May Logging DC Wattmeter. Team Member: Advisor : Ailing Mei. Collin Christy. Andrew Kom. Client: Chongli Cai

Overview of HPC Resources at Vanderbilt

Performance, Reliability, and Operational Issues for High Performance NAS Storage on Cray Platforms. Cray User Group Meeting June 2007

Last time. Data Center as a Computer. Today. Data Center Construction (and management)

Enabling Technologies for Distributed and Cloud Computing

Graduation Check Off Sheet, Electrical Engineering, Year (Class of 2017)

Lecture 1 Introduction to Parallel Programming

Solid State Electronics and Photonics Electrical and Computer Engineering The Ohio State University

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

How To Understand The Concept Of A Distributed System

CSC 2405: Computer Systems II

PyMTL and Pydgin Tutorial. Python Frameworks for Highly Productive Computer Architecture Research

Principles and characteristics of distributed systems and environments

7 Real Benefits of a Virtual Infrastructure

David Rioja Redondo Telecommunication Engineer Englobe Technologies and Systems

Lecture 1: the anatomy of a supercomputer

Low Power AMD Athlon 64 and AMD Opteron Processors

Topics in Computer System Performance and Reliability: Storage Systems!

Cluster Computing at HRI

IT Infrastructure: Hardware and Software

Computer Engineering: Incoming MS Student Orientation Requirements & Course Overview

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

Efficient Parallel Graph Exploration on Multi-Core CPU and GPU

Building Clusters for Gromacs and other HPC applications

Price/performance Modern Memory Hierarchy

Supercomputing and Big Data: Where are the Real Boundaries and Opportunities for Synergy?

First 40 Giga-bits per second Silicon Laser Modulator. Dr. Mario Paniccia Intel Fellow Director, Photonics Technology Lab

StreamStorage: High-throughput and Scalable Storage Technology for Streaming Data

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Rethinking SIMD Vectorization for In-Memory Databases

Big Data Mining Services and Knowledge Discovery Applications on Clouds

How In-Memory Data Grids Can Analyze Fast-Changing Data in Real Time

DESIGN CHALLENGES OF TECHNOLOGY SCALING

White Paper: Pervasive Power: Integrated Energy Storage for POL Delivery

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? What s the Internet? What s the Internet?

The 50G Silicon Photonics Link

Scalability and Classifications

Introduction to Microprocessors

Datacenter Operating Systems

Transcription:

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

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design ower Systems Computer Engineering Electrical Circuits Electrical Devices Signal rocessing Telecomm ENGRG 1060 Intro to ECE Christopher Batten 2 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design ECE is the Study and Application of Electricity, icro-electronics, and Electro-agnetism Smart Grid and Smart Buildings Atmospheric Science Telecomm Information Theory Network rotocols and Optimization Image, Audio, Video rocessing Signal rocessing ower Systems ECE Fusion and lasma hysics Control Theory Computer Engineering Electrical Circuits Robotics Computer-Aided Design Analog and Digital Circuits Opto-Electrical Devices icro-electro-echanical Devices Electrical Devices Bio-Electrical Engineering Systems and Synthetic Biology ENGRG 1060 Intro to ECE Christopher Batten 3 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design ECE is everywhere! Data Centers Game Consoles Computing: From Handhelds to Servers Electric and Hybrid Vehicles Digital Cameras Internet Routers GS Devices and Satellites Humanoid Robots Unmanned Vehicles Automobiles Fiber Optic Networks edical Imaging ortable edical Devices Solar anels ENGRG 1060 Intro to ECE Christopher Batten 4 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design What can one do with a background in ECE? ECE Industry: Intel, AD, Analog Devices, NVIDIA, H, Apple General Engineering Industry: GE, Lockheed artin, Raytheon Software Industry: icrosoft, Amazon, athworks Join a Startup: Achronix, Hillcrest Labs Research Lab: Sandia National Labs, Draper Labs, NASA Consulting: ckinsey, Accenture, Deloitte, Booz Allen Hamilton Finance: Deutsche Bank, Capital One, UBS, Bloomberg Graduate School: Law School, Business School, ed School Found a university! ENGRG 1060 Intro to ECE Christopher Batten 5 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Cornell was founded because of ECE! Samuel orse 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 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Optional Homework Visit the statue of Ezra Cornell on the Arts Quad Does something on the back of the statue relate to ECE? Take a picture with your cellphone and send it to your friend! ower systems Computer engineering Electrical circuits Electrical devices Signal processing Telecommunications ENGRG 1060 Intro to ECE Christopher Batten 7 / 42

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

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

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design The Computer Systems Stack Application Gap too large to bridge in one step (but there are exceptions, e.g., a magnetic compass) Technology In its broadest definition, computer system design 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 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design The Computer Systems Stack Computer Engineering Application Algorithm rogramming Language Operating System Instruction Set Architecture icroarchitecture Register-Transfer Level Gate Level Circuits Devices Technology Sort an array of numbers 2,6,3,8,4,5 -> 2,3,4,5,6,8 Insertion sort algorithm 1. Find minimum number in input array 2. ove minimum number into output array 3. Repeat steps 1 and 2 until finished C implementation of insertion sort 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; } } ENGRG 1060 Intro to ECE Christopher Batten 10 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design The Computer Systems Stack Computer Engineering Application Algorithm rogramming Language Operating System Instruction Set Architecture icroarchitecture Register-Transfer Level Gate Level Circuits Devices Technology ac OS X, Windows, Linux Handles low-level hardware management IS32 Instruction Set Instructions that machine executes 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 ENGRG 1060 Intro to ECE Christopher Batten 10 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design The Computer Systems Stack Computer Engineering Application Algorithm rogramming Language Operating System Instruction Set Architecture icroarchitecture Register-Transfer Level Gate Level Circuits Devices Technology How data flows through system Boolean logic gates and functions Combining devices to do useful work Transistors and wires Silicon process technology Si Si Si Si Si Si ENGRG 1060 Intro to ECE Christopher Batten 10 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Computer Systems: CS vs. EE vs. CE Computer Engineering Application Algorithm rogramming Language Operating System Instruction Set Architecture icroarchitecture Register-Transfer Level Gate Level Circuits Devices Technology Traditional Computer Science Computer Engineering is at the interface between hardware and software and considers the entire system Traditional Electrical Engineering ENGRG 1060 Intro to ECE Christopher Batten 11 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design ENGRG 1060 Computer Systems Labs Computer Engineering Application Algorithm rogramming Language Operating System Instruction Set Architecture icroarchitecture Register-Transfer Level Gate Level Circuits Devices Technology Lab 4 Software pushing towards hardware (CS,CE) Lab 2 Hardware pushing towards software (EE,CE) ENGRG 1060 Intro to ECE Christopher Batten 12 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Application Requirements vs. Technology Constraints Computer Engineering Application Algorithm rogramming Language Operating System Instruction Set Architecture icroarchitecture Register-Transfer Level Gate Level Circuits Devices Technology Application Requirements Suggest how to improve architecture rovide revenue to fund development Computer engineers provide feedback to guide application and technology research directions Technology Constraints Restrict what can be done efficiently New technologies make new arch possible In its broadest definition, computer system design 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 13 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design rocessors, emories, and Networks Computer Engineering Application Algorithm rogramming Language Operating System Instruction Set Architecture icroarchitecture Register-Transfer Level Gate Level Circuits Devices Technology Input Data rocessor Network emory Output Data Compute data ove data Store data Computer engineering basic building blocks rocessors for computation emories for storage Networks for communication ENGRG 1060 Intro to ECE Christopher Batten 14 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Activity #1: Sorting with a Sequential rocessor Application: Sort 32 numbers Simulated Sequential Computing System rocessor: You! emory: Worksheet, read input data, write output data Network: assing/collecting the worksheets 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 rocessor Network emory ENGRG 1060 Intro to ECE Christopher Batten 15 / 42

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

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Application Requirements vs. Technology Constraints Computer Engineering Application Algorithm rogramming Language Operating System Instruction Set Architecture icroarchitecture Register-Transfer Level Gate Level Circuits Devices Technology 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 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Exponential Scaling for rocessor Computation 10 7 10 6 Transistors (Thousands) 10 5 10 4 10 3 10 2 10 1 10 0 DEC Alpha 21264 IS R2K Intel entium 4 Sequential rocessor erformance Frequency (Hz) Typical ower (Watts) 1975 1980 1985 1990 1995 2000 2005 2010 2015 Data partially collected by. Horowitz, F. Labonte, O. Shacham, K. Olukotun, L. Hammond ENGRG 1060 Intro to ECE Christopher Batten 18 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Exponential Scaling for emory Capacity Adapted from [Itoh 07] ENGRG 1060 Intro to ECE Christopher Batten 19 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Exponential Scaling for Network Bandwidth Network eak Bisection Bandwidth (B/s) 10 7 10 6 10 5 10 4 10 3 10 2 ulti-stage Interconnection Networks (100-1000's Nodes) Bus-Based Interconnection Networks (10's Nodes) 1985 1990 1995 2000 2005 ENGRG 1060 Intro to ECE Christopher Batten 20 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Exponential Scaling for rocessor Compute/Dollar Adapted from [Kurzweil 09] ENGRG 1060 Intro to ECE Christopher Batten 21 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Exponential Scaling of emory Capacity/Dollar Adapted from [Kurzweil 09] ENGRG 1060 Intro to ECE Christopher Batten 22 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Key trends in the application requirements and technology constraints over the past decade have resulted in a radical rethinking of the processors, memories, and networks used in modern computing systems Three Key Trends in Computer Engineering 1. Growing diversity in application requirements motivate growing diversity in computing systems 2. Energy and power constraints motivate transition to multiple processors integrated onto a single chip 3. Technology scaling challenges motivate new emerging processor, memory, and network device technologies ENGRG 1060 Intro to ECE Christopher Batten 23 / 42

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 8 rice in Dollars 10 7 10 6 10 5 10 4 10 3 Supercomputers ainframes inicomputers Workstations ersonal Computers Scalable Clusters 10 2 10 1 Handhelds Sensor Networks Internet of Things 1950 1960 1970 1980 1990 2000 2010 ENGRG 1060 Intro to ECE Christopher Batten 24 / 42

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

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Trend 2: Energy/ower Constrain All odern Systems ower = ower Energy Second Chip ackaging Chip Cooling System Noise Case Temperature Data-Center Air Conditioning = Energy Op Energy Ops Second Battery Life Electricity Bill obile Device Weight Energy per Operation 100W Workstation ower Constraint 1W Handheld ower Constraint erformance (Ops/Second) ENGRG 1060 Intro to ECE Christopher Batten 26 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Trend 2: ower Constrains Single-rocessor Scaling 10 7 10 6 Transistors (Thousands) 10 5 10 4 10 3 10 2 10 1 10 0 DEC Alpha 21264 IS R2K Intel entium 4 Sequential rocessor erformance Frequency (Hz) Typical ower (Watts) 1975 1980 1985 1990 1995 2000 2005 2010 2015 Data partially collected by. Horowitz, F. Labonte, O. Shacham, K. Olukotun, L. Hammond ENGRG 1060 Intro to ECE Christopher Batten 27 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Trend 2: Transition to ulticore rocessors Intel entium 4 Single monolithic processor Cray XT3 Supercomputer 1024 single-core processors N N AD Quad-Core Opteron Four cores on the same die N N IB Blue Gene Q Supercomputer Thousands of 18-core processors ENGRG 1060 Intro to ECE Christopher Batten 28 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Trend 2: Energy and erformance of ulticores Energy (Joules per Task) Out-of-Order Superscalar Superpipelined Superscalar w/ Deeper ipelines B C ulticore E FD D Increasing ower rocessor ower Constraint Simple Single roc A General-urpose anycores erformance (Tasks per Second) ENGRG 1060 Intro to ECE Christopher Batten 29 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Trend 2: ulticore erformance Scaling 10 7 10 6 10 5 10 4 10 3 10 2 10 1 10 0 DEC Alpha 21264 IS R2K Intel entium 4 AD 4-Core Opteron Intel 48-Core rototype Transistors (Thousands) arallel roc erformance Sequential rocessor erformance Frequency (Hz) Typical ower (Watts) Number of Cores 1975 1980 1985 1990 1995 2000 2005 2010 2015 Data partially collected by. Horowitz, F. Labonte, O. Shacham, K. Olukotun, L. Hammond ENGRG 1060 Intro to ECE Christopher Batten 30 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Trend 3: Emerging Device Technologies? Vertical OSFETs Graphene Carbon Nanotubes Nanorelays Quantum Computing olecular Computing emristers hase-change em Spintronics 3D Integration Nanophotonics Adapted from [Kurzweil 09] ENGRG 1060 Intro to ECE Christopher Batten 31 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Key trends in the application requirements and technology constraints over the past decade have resulted in a radical rethinking of the processors, memories, and networks used in modern computing systems Three Key Trends in Computer Engineering 1. Growing diversity in application requirements motivate growing diversity in computing systems 2. Energy and power constraints motivate transition to multiple processors integrated onto a single chip 3. Technology scaling challenges motivate new emerging processor, memory, and network device technologies ENGRG 1060 Intro to ECE Christopher Batten 32 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Activity #2: Sorting with a arallel rocessor Application: Sort 32 numbers Simulated arallel Computing System rocessor: Group of 2 8 students emory: Worksheet, scratch paper Network: Communicating between students 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. aster processor only raises hand 6. When everyone is finished, then analyze data N ENGRG 1060 Intro to ECE Christopher Batten 33 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Activity #2: Discussion unsorted Network Distribute roc/em Sort 4 Numbers Network roc/em erge hase 1 > merge 4+4 = 8 Network roc/em Network roc/em Network sorted Algorithm Communication Load Balancing Fault Tolerance Dataset Size erge hase 2 > merge 8+8 = 16 erge hase 3 > merge 16+16 = 32 ENGRG 1060 Intro to ECE Christopher Batten 34 / 42

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

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design What do computer engineers actually do? General Science Discover truths about nature Ask question about nature Construct hypothesis Test with experiment Analyze results and draw conclusions Computer Engineering Explore design space for a given system Design and build initial system Ask question about system odify system or build/design alternative Test with experiment to compare alternatives Analyze results and draw conclusions ENGRG 1060 Intro to ECE Christopher Batten 36 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design How do we design something so incredibly complex? Computer Engineering Explore design space for a given system Design and build initial system Ask question about system odify system or build/design alternative Test with experiment to compare alternatives Fighter Airplane: ~100,000 parts Intel Sandy Bridge E: 2.27 Billion transistors Analyze results and draw conclusions ENGRG 1060 Intro to ECE Christopher Batten 37 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Design rinciples 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 odularity 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 Design ethodologies Incremental design Test-driven design N ENGRG 1060 Intro to ECE Christopher Batten 38 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Incremental Design + Network Network Network Network ENGRG 1060 Intro to ECE Christopher Batten 39 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Test-Driven Design Test Types Unit tests Directed vs. random tests Whitebox vs. blackbox tests Integration tests Goal is to write tests first then implement design to pass these tests N Write tests for higher level of abstraction, refine implementation until passes tests, add new tests Capture design bugs with new tests ENGRG 1060 Intro to ECE Christopher Batten 40 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Single-Core to ulti-core Design Example Computer Engineering Explore design space for a given system Design and build initial system Ask question about system odify system or build/design alternative Test with experiment to compare alternatives Analyze results and draw conclusions N Our "experiments" during the previous activities illustrate the design process N ENGRG 1060 Intro to ECE Christopher Batten 41 / 42

ECE Overview What is Computer Engineering? Trends in Computer Engineering Computer Engineering Design Take-Away oints ECE is a broad field focused on the study and application of electricity, microelectronics, and electro-magnetism Computer engineering is the process of designing abstraction and implementation layers to meet application requirements within physical technology constraints We are entering an exciting new era of computer engineering with emerging applications and systems, a remarkable shift towards mainstream parallel processing, and significant technology challenges ENGRG 1060 Intro to ECE Christopher Batten 42 / 42