Computer Architecture s Changing Definition

Similar documents
ECE C61 Computer Architecture Lecture 2 performance. Prof. Alok N. Choudhary.

CpE 442 Introduction to Computer Architecture. The Role of Performance

Performance COE 403. Computer Architecture Prof. Muhamed Mudawar. Computer Engineering Department King Fahd University of Petroleum and Minerals

CISC 360. Computer Architecture. Seth Morecraft Course Web Site:

EE282 Computer Architecture. Lecture 1: What is Computer Architecture?

Outline Marquette University

Overview of Today s Lecture: Cost & Price, Performance { 1+ Administrative Matters Finish Lecture1 Cost and Price Add/Drop - See me after class

How What When Why CSC3501 FALL07 CSC3501 FALL07. Louisiana State University 1- Introduction - 1. Louisiana State University 1- Introduction - 2

Figure 1-1. A multilevel machine.

Review: What is a Computer?

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 1. Computer Abstractions and Technology

CS/COE1541: Introduction to Computer Architecture

Write only as much as necessary. Be brief!

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture

Computer Organization

Computer Architecture

Chapter 1. Computer Abstractions and Technology. Lesson 2: Understanding Performance

LECTURE 1. Introduction

CS3350B Computer Architecture CPU Performance and Profiling

ECE 468 Computer Architecture and Organization Lecture 1

Computers: Inside and Out

4. What is the average CPI of a 1.4 GHz machine that executes 12.5 million instructions in 12 seconds?

The Von Neumann Computer Model

CSE Introduction to Computer Architecture. Jeff Brown

Chapter 4. The Processor

Von Neumann architecture. The first computers used a single fixed program (like a numeric calculator).

Course web site: teaching/courses/car. Piazza discussion forum:

CHAPTER 1 Introduction

1.3 Data processing; data storage; data movement; and control.

MEASURING COMPUTER TIME. A computer faster than another? Necessity of evaluation computer performance

CS Computer Architecture

PERFORMANCE METRICS. Mahdi Nazm Bojnordi. CS/ECE 6810: Computer Architecture. Assistant Professor School of Computing University of Utah

CHAPTER 1 Introduction

Computer Systems Architecture

CSE : Introduction to Computer Architecture

ENIAC - background. ENIAC - details. Structure of von Nuemann machine. von Neumann/Turing Computer Architecture

ECE 2162 Intro & Trends. Jun Yang Fall 2009

Instructor Information

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 1. Computer Abstractions and Technology

Course Outline. Overview 1. I. Introduction II. Performance Evaluation III. Processor Design and Analysis. IV. Memory Design and Analysis

15-740/ Computer Architecture Lecture 4: Pipelining. Prof. Onur Mutlu Carnegie Mellon University

3/12/2014. Single Cycle (Review) CSE 2021: Computer Organization. Single Cycle with Jump. Multi-Cycle Implementation. Why Multi-Cycle?

Computer Architecture. What is it?

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from David Culler, UC Berkeley CS252, Spr 2002

Computer Organization. 8 th Edition. Chapter 2 p Computer Evolution and Performance

Course Outline. Introduction. Intro Computer Organization. Computer Science Dept Va Tech January McQuain & Ribbens

CPE300: Digital System Architecture and Design

The Role of Performance

VLSI Design Automation

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology

What is Computer Architecture? CSE Introduction to Computer Architecture. Why do I care? Which is faster? Allan Snavely

CpE 442 Introduction To Computer Architecture Lecture 1

Microarchitecture Overview. Performance

ECE 154A. Architecture. Dmitri Strukov

Fundamentals of Computer Design

Performance. CS 3410 Computer System Organization & Programming. [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon]

Advanced Computer Architecture (CS620)

CSE Introduction to Computer Architecture

CO Computer Architecture and Programming Languages CAPL. Lecture 15

Microprocessor. Dr. Rabie A. Ramadan. Al-Azhar University Lecture 1

Computer & Microprocessor Architecture HCA103

The Computer Revolution. Classes of Computers. Chapter 1

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

ECE 152 Introduction to Computer Architecture

Copyright 2012, Elsevier Inc. All rights reserved.

CS 352H Computer Systems Architecture Exam #1 - Prof. Keckler October 11, 2007

Microarchitecture Overview. Performance

Design Metrics. A couple of especially important metrics: Time to market Total cost (NRE + unit cost) Performance (speed latency and throughput)

Chapter 4. The Processor

Advanced Computer Architecture

ADVANCED FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 3 & 4

Introduction to Microprocessor

Cycles Per Instruction For This Microprocessor

CS/ECE 752: Advanced Computer Architecture 1. Lecture 1: What is Computer Architecture?

Lecture 2: Computer Performance. Assist.Prof.Dr. Gürhan Küçük Advanced Computer Architectures CSE 533

ECE232: Hardware Organization and Design

Computer Architecture CS372 Exam 3

Chapter 1 Introduction. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 2. Perkembangan Komputer

Processor Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

5DV118 Computer Organization and Architecture Umeå University Department of Computing Science Stephen J. Hegner. Topic 1: Introduction

EECS 322 Computer Architecture Superpipline and the Cache

ECE 486/586. Computer Architecture. Lecture # 2

EECS2021. EECS2021 Computer Organization. EECS2021 Computer Organization. Morgan Kaufmann Publishers September 14, 2016

VLSI Design Automation

Pipelining. CSC Friday, November 6, 2015

PERFORMANCE MEASUREMENT

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Computer Architecture Computer Architecture. Computer Architecture. What is Computer Architecture? Grading

CC312: Computer Organization

Computer Architecture A Quantitative Approach, Fifth Edition. Chapter 1. Copyright 2012, Elsevier Inc. All rights reserved. Computer Technology

Keywords and Review Questions

ELEC 5200/6200. Computer Architecture & Design. Victor P. Nelson Broun 326

Microelettronica. J. M. Rabaey, "Digital integrated circuits: a design perspective" EE141 Microelettronica

Introduction. Summary. Why computer architecture? Technology trends Cost issues

Processor Architecture

Computer Architecture Review. ICS332 - Spring 2016 Operating Systems

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.

Overview of Computer Organization. Chapter 1 S. Dandamudi

CPE/EE 421 Microcomputers

Transcription:

Computer Architecture s Changing Definition 1950s Computer Architecture Computer Arithmetic 1960s Operating system support, especially memory management 1970s to mid 1980s Computer Architecture Instruction Set Design, especially ISA appropriate for compilers Vector processing and shared memory multiprocessors 1990s Computer Architecture Design of CPU, memory system, I/O system, Multi-processors, Networks Design for VLSI 2000s Computer Architecture: Special purpose architectures, Functionally reconfigurable, Special considerations for low power/mobile processing, highly parallel structures 1

Levels of Representation High Level Language Program Compiler Assembly Language Program Assembler Machine Language Program temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Machine Interpretation Control Signal Spec ALUOP[0:3] <= InstReg[9:11] & MASK 2

Levels of Abstraction Application Programming System Programming Computer Design Processor Graphical Interface Application Libraries Operating System Programming Language Assembler Language Instruction Set Architecture - Machine Language Fabrication Firmware Datapath and Control Logic Design Circuit Design Semiconductors Materials IO System Microprogramming Digital Design Circuits and devices 3

This Course Focuses on General Purpose Processors A general-purpose computer system Uses a programmable processor Can run any application Potentially optimized for some class of applications Common names: CPU, DSP, NPU, microcontroller, microprocessor Unified main memory For both programs & data Von Neumann computer Busses & controllers to connect processor, memory, IO devices Processor Input Control Memory Datapath Output MIT Whirlwind, 1951 Computers are pervasive servers, standalone PCs, network processors, embedded processors, 4

Metrics of Efficiency - Examples Desktop computing Examples: PCs, workstations Metrics: performance (latency), cost, time to market Server computing Examples: web servers, transaction servers, file servers Metrics: performance (throughput), reliability, scalability Embedded computing Examples: microwave, printer, cell phone, video console Metrics: performance (real-time), cost, power consumption, complexity 5

Moore s Law Moore s Law - The observation made in 1965 by Gordon Moore, co-founder of Intel, that the number of transistors per square inch on integrated circuits had doubled every year since the integrated circuit was invented Moore predicted that this trend would continue for the foreseeable future In subsequent years, the pace slowed down a bit, but data density has doubled approximately every 18 months, and this is the current definition of Moore's Law, which Moore himself has blessed Most experts, including Moore himself, expect Moore's Law to hold for at least another two decades 6

Bits DRAM Evolution size 1000000000 100000000 10000000 1000000 100000 10000 1000 Year Capacity Access 1980 64 Kb 250 ns 1983 256 Kb 220 ns 1986 1 Mb 190 ns 1989 4 Mb 165 ns 1992 16 Mb 145 ns 1996 64 Mb 120 ns 1999 256 Mb 100 ns 2002 1Gb 80 ns 1970 1975 1980 1985 1990 1995 2000 Year 7

Performance Perspectives Purchasing perspective Given a collection of machines, which has the - Best performance? - Least cost? - Best performance / cost? Design perspective Faced with design options, which has the - Best performance improvement? - Least cost? - Best performance / cost? Both require basis for comparison metric for evaluation 8

Definitions Performance is typically in units-per-second bigger is better If we are primarily concerned with response time performance = 1 execution_time " X is n times faster than Y" means ExecutionTime ExecutionTime y x Performance Performance x y n 9

Benchmarks Micro-benchmarks Measure one performance dimension - Cache bandwidth - Memory bandwidth - Procedure call overhead Insight into the underlying performance factors Not a good predictor of application performance Macro-benchmarks Application execution time - Measures overall performance, but on just one application - Need application suite 10

Why Do Benchmarks? How we evaluate differences Different systems Changes to a single system Provide a target Benchmarks should represent large class of important programs Improving benchmark performance should help many programs For better or worse, benchmarks shape a field Good ones accelerate progress good target for development Bad benchmarks hurt progress help real programs v sell machines/papers? Inventions that help real programs don t help benchmark 11

Metrics of Processor Performance Application Programming Language Compiler ISA Datapath Control Function Units Transistors Wires Pins Seconds per program Useful Operations per second (millions) of Instructions per second MIPS (millions) of (FP) operations per second MFLOP/s Megabytes per second Cycles per second (clock rate) Instructions perform read/write/load/store operations in a series of clock cycles 12

Organizational Trade-offs Cycles-Per-Instruction (CPI) Application Programming Language Compiler ISA Datapath Control Function Units Transistors Wires Pins is a useful design measure relating the Instruction Set Architecture with the Implementation of that architecture, and the program measured eg Can we handle more Instruction Mix CPI Cycle Time than one instruction in one clock cycle? 13

Processor Cycles Clock Combination Logic Cycle Most computers have fixed, repeating clock cycles 14

CPU Performance CPI Clock rate 15

Cycles Per Instruction (Throughput) Cycles per Instruction CPI = (CPU Time * Clock Rate) / Instruction Count = Cycles / Instruction Count CPU time Cycle Time Instruction Frequency n CPI j I j 1 j Ij is the count of instruction-j in the total instruction set CPI n CPI j 1 j F j where F j I Instruction j Count 16

Example Typical Mix Op Freq Cycles CPI ALU 50% 1 05 Load 20% 5 10 Store 10% 3 03 Branch 20% 2 04 22 Remember: CPI is F x #cycles How much faster would the machine be if a better data cache reduced the average load time to 2 cycles? Load 20% x 2 cycles = 4 Total CPI 22 16 Relative performance is 22 / 16 = 138 faster How does this compare with reducing the branch instruction to 1 cycle? Branch 20% x 1 cycle = 2 Total CPI 22 20 Relative performance is 22 / 20 = 11 05 + 04 + 03 + 04 18

Evaluating Instruction Sets and Implementation Design-time metrics: Can it be implemented, in how long, at what cost? Can it be programmed? Ease of compilation? Static Metrics: How many bytes does the program occupy in memory? Dynamic Metrics: How many instructions are executed? How many bytes does the processor fetch to execute the program? How many clocks are required per instruction? Best Metric: Time to execute the program! CPI NOTE: Depends on instructions set, processor organization, and compilation techniques Inst Count Cycle Time 19

Clocking Methodology Clock Combination Logic All storage elements are clocked by the same clock edge Inputs are updated at each clock tick All outputs MUST be stable before the next clock tick 21

Critical Path & Cycle Time Clock Instructions follows various paths in these logic gates Critical path: the slowest path between any two storage devices Cycle time is a function of the critical path 22