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

Similar documents
CSE Introduction to Computer Architecture. Jeff Brown

CSE Introduction to Computer Architecture

Computer Architecture is...??? CSE Principles of Computer Architecture. Computer Architecture is...??? Computer Architecture is...???

Computer Architecture is...??? CSE 240A -- Principles of Computer Architecture. Computer Architecture is...??? Computer Architecture is...???

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

Instruction Set Architecture. "Speaking with the computer"

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro

Instruction Set Architectures. CS301 Prof. Szajda

Advanced Caching Techniques

Review of instruction set architectures

Computer Architecture s Changing Definition

ECE 468 Computer Architecture and Organization Lecture 1

ECE232: Hardware Organization and Design

CpE 442 Introduction To Computer Architecture Lecture 1

CS430 - Computer Architecture William J. Taffe Fall 2002 using slides from. CS61C - Machine Structures Dave Patterson Fall 2000

Computer Architecture Today (I)

Chapter 2: Instructions How we talk to the computer

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 1: Introduction

Announcements HW1 is due on this Friday (Sept 12th) Appendix A is very helpful to HW1. Check out system calls

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

Alternate definition: Instruction Set Architecture (ISA) What is Computer Architecture? Computer Organization. Computer structure: Von Neumann model

Computer Architecture. Fall Dongkun Shin, SKKU

Computer Architecture

CSE 141 Computer Architecture Spring Lecture 3 Instruction Set Architecute. Course Schedule. Announcements

Evolution of ISAs. Instruction set architectures have changed over computer generations with changes in the

Lecture 3 Machine Language. Instructions: Instruction Execution cycle. Speaking computer before voice recognition interfaces

ECE232: Hardware Organization and Design

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

CMSC 611: Advanced Computer Architecture

CPS104 Computer Organization Lecture 1

Administrative matters. EEL-4713C Computer Architecture Lecture 1. Overview. What is this class about?

Computer Organization MIPS ISA

CPE300: Digital System Architecture and Design

Instruction Set Architectures. Part 1

IT 252 Computer Organization and Architecture. Introduction. Chia-Chi Teng

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

CS222: Dr. A. Sahu. Indian Institute of Technology Guwahati

Computer Hardware Generations

CPE300: Digital System Architecture and Design. Fall 2011 MW 17:30-18:45 CBC C316

מבנה מחשבים Amar Lior Based on lectures notes from Arie Schlesinger

EECE 321: Computer Organization

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

CSE : Introduction to Computer Architecture

Advanced Caching Techniques

Lecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)

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

Computer Architecture

Computer Architecture

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

Computer Architecture

55:132/22C:160, HPCA Spring 2011

CpE 442 Introduction to Computer Architecture. The Role of Performance

Math 230 Assembly Programming (AKA Computer Organization) Spring 2008

CS 152 Computer Architecture and Engineering CS252 Graduate Computer Architecture. Lecture 7 Memory III

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Chapter 4. The Processor

Lecture 4: Instruction Set Architecture

ELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2)

Instruction Set Principles and Examples. Appendix B

CS 61C: Great Ideas in Computer Architecture Intro to Assembly Language, MIPS Intro

Instructions: Language of the Computer

CS 61C: Great Ideas in Computer Architecture Intro to Assembly Language, MIPS Intro

Chapter 2 Instruction: Language of the Computer

EC 413 Computer Organization

Computer Architecture!

CS61C Machine Structures. Lecture 8 - Introduction to the MIPS Processor and Assembly Language. 9/14/2007 John Wawrzynek

EE382 Processor Design. Class Objectives

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

CSEE 3827: Fundamentals of Computer Systems

Chapter 2. Instructions: Language of the Computer. HW#1: 1.3 all, 1.4 all, 1.6.1, , , , , and Due date: one week.

Chapter 4. The Processor

Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University. See P&H Appendix , and 2.21

15% lab participation webboard 85% various parts of the labs

CS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU

Chapter 2: Instructions:

URL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture

14:332:331. Lecture 1

ECE 15B Computer Organization Spring 2011

Instruction Set Architecture (ISA)

Chapter 2: Assembly Language Fundamentals. Oregon State University School of Electrical Engineering and Computer Science.

CS 61C: Great Ideas in Computer Architecture Introduction to Assembly Language and RISC-V Instruction Set Architecture

URL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture

Chapter 2A Instructions: Language of the Computer

MIPS Instruction Set Architecture (1)

CS61C Machine Structures. Lecture 13 - MIPS Instruction Representation I. 9/26/2007 John Wawrzynek. www-inst.eecs.berkeley.

CHAPTER 5 A Closer Look at Instruction Set Architectures

Review: What is a Computer?

CS222: MIPS Instruction Set

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

Typical Processor Execution Cycle

Forecast. Instructions (354 Review) Basics. Basics. Instruction set architecture (ISA) is its vocabulary. Instructions are the words of a computer

Lecture 5: Instruction Set Architectures II. Take QUIZ 2 before 11:59pm today over Chapter 1 Quiz 1: 100% - 29; 80% - 25; 60% - 17; 40% - 3

Computer Architecture 计算机体系结构. Lecture 2. Instruction Set Architecture 第二讲 指令集架构. Chao Li, PhD. 李超博士

CS61C Machine Structures. Lecture 1 Introduction. 8/25/2003 Brian Harvey. John Wawrzynek (Warznek) www-inst.eecs.berkeley.

CS3350B Computer Architecture MIPS Instruction Representation

Lecture 01: Basic Structure of Computers

MIPS Memory Access Instructions

Why Care About Memory Hierarchy?

CHAPTER 5 A Closer Look at Instruction Set Architectures

Chapter 4. The Processor

Transcription:

What is Computer Architecture? -- Introduction to Computer Architecture Hardware Designer thinks about circuits, components, timing, functionality, ease of debugging construction engineer Computer Architect thinks about high-level components, how they fit together, how they work together to deliver performance. building architect Why do I care? You may actually do computer architecture someday You may actually care about software performance someday The ability of application programs, compilers, operating systems, etc. to deliver performance depends critically on an understanding of the underlying computer organization. That becomes more true every year. Computer architectures become more difficult to understand every year. for (i=0; i<n; i=i+1) for (j=0; j<n; j=j+1) { r = 0; for (k=0; k<n; k=k+1) r = r + y[i][k] * z[k][j]; x[i][j] = r; } Which is faster? for (jj=0; jj<n; jj=jj+b) for (kk=0; kk<n; kk=kk+b) for (i=0; i<n; i=i+1) { for (j=jj; j<min(jj+b-1,n); j=j+1) r = 0; for (k=kk; k<min(kk+b-1,n); k=k+1) r = r + y[i][k] * z[k][j]; x[i][j] = x[i][j] + r; }

Which is faster? Which is faster? load R1, addr1 store R1, addr2 add R0, R2 -> R3 subtract R4, R3 -> R5 add R0, R6 ->R7 store R7, addr3 load R1, addr1 add R0, R2 -> R3 add R0, R6 -> R7 store R1, addr2 subtract R4, R3 -> R5 store R7, addr3 loop1: add... add... bne R1, loop1 loop2: add... bne R2, loop2 loop1: add... add... bne R1, loop1 nop nop loop2: add... bne R2, loop2 Administration Instructor -- Dr. TAs: XiaoFeng Gao Mevlet Kurul Alper Mizrak Lab Asst: Brian Chiu grading integrity the course workload What is Computer Architecture? Computer Architecture = Machine Organization + Instruction Set Architecture What the machine looks like How you talk to the machine

High Level Language Assembly Language How to Speak Computer Compiler 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) Assembler 1000110001100010000000000000000 Machine Language 1000110011110010000000000000100 1010110011110010000000000000000 1010110001100010000000000000100 Machine Interpretation The Instruction Set Architecture that part of the architecture that is visible to the programmer opcodes (available instructions) number and types of registers instruction formats storage access, addressing modes exceptional conditions Control Signal Spec ALUOP[0:3] <= InstReg[9:11] & MASK The Instruction Set Architecture is the agreed-upon interface between all the software that runs on the machine and the hardware that executes it. Examples of ISAs Application Compiler Operating System Instr. Set Proc. I/O system Digital Design Circuit Design Instruction Set Architecture Alpha AXP Intel 80x86/pentium VAX MIPS SPARC IBM 360 Intel IA-64 (Itanium) PowerPC

Computer Organization The Challenge of Computer Architecture Once you have decided on an ISA, you must decide how to design the hardware to execute those programs written in the ISA as fast as possible. This must be done every time a new implementation of the architecture is released, with typically very different technological constraints. The industry changes faster than any other. The ground rules change every year. new problems new opportunities different tradeoffs It s all about making programs run faster than the next guy s machine. Performance Trends Technology: Microprocessor Logic Density 1200 1100 1000 900 DEC Alpha 21264/600 10000000 1000000 i80486 r4000 r4400 Performance 800 700 600 500 DEC Alpha 5/500 400 300 DEC Alpha 5/300 200 DEC Alpha 4/266 SUN-4/ MIPS MIPS IBM 100 IBM POWER 100 260 M/120 M2000 RS6000 DEC AXP/500 HP 9000/750 0 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 Year 100000 10000 1000 i8080 i8008 i4004 i8086 i80286 i80386 r3010 1970 1975 1980 1985 1990 1995 2000

The five classic components of computers Computer Control Input Memory Datapath Output Course Outline I. Instruction Set Architecture II. Computer System Performance and Performance Metrics III. Computer Arithmetic and Number Systems IV. CPU Architecture V. Pipelining VI. Superscalars VII. The Memory/Cache Hierarchy VIII. Parallel Machines What you can expect to get out of this class to become conversant with computer architecture terms and concepts. to understand fundamental concepts in computer architecture and how they impact computer and application performance. to be able to read and evaluate architectural descriptions of even today s most complex processors. to gain experience designing a working CPU completely from scratch. to learn experimental techniques used to evaluate advanced architectural ideas. Key Points High-performance software requires a deep understanding of the underlying machine organization. The instruction set architecture defines how software is allowed to use the processor. Multiple computers with vastly different organizations and performance can share an ISA. Most every component in a computer system falls into one of five categories.