CSE Introduction to Computer Architecture. Jeff Brown

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

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"

Advanced Caching Techniques

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

Instruction Set Architectures. CS301 Prof. Szajda

Chapter 2: Instructions How we talk to the computer

Computer Architecture Today (I)

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

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

CPS104 Computer Organization Lecture 1

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

Computer Architecture s Changing Definition

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

Review of instruction set architectures

Computer Architecture

ECE232: Hardware Organization and Design

CPE300: Digital System Architecture and Design

Computer Architecture. Fall Dongkun Shin, SKKU

Instruction Set Architectures. Part 1

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

Computer Hardware Generations

Chapter 7. Microarchitecture. Copyright 2013 Elsevier Inc. All rights reserved.

ECE232: Hardware Organization and Design

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

Chapter 4. The Processor

Advanced Caching Techniques

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

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

Computer Architecture

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

CHAPTER 5 A Closer Look at Instruction Set Architectures

Computer Architecture

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

Chapter 4. The Processor

CSE : Introduction to Computer Architecture

ECE 486/586. Computer Architecture. Lecture # 7

Math 230 Assembly Programming (AKA Computer Organization) Spring 2008

Review: What is a Computer?

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

Computer Architecture

EITF20: Computer Architecture Part2.2.1: Pipeline-1

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

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

COMPUTER ORGANIZATION AND DESI

Computer Science and Engineering 331. Midterm Examination #1. Fall Name: Solutions S.S.#:

CHAPTER 5 A Closer Look at Instruction Set Architectures

ECE 468 Computer Architecture and Organization Lecture 1

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

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

Chapter 4. The Processor

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

ECE 154A Introduction to. Fall 2012

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

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

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

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

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

CSEE 3827: Fundamentals of Computer Systems

CPU Structure and Function

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

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

Understand the factors involved in instruction set

Computer Organization MIPS ISA

Chapter 2: Instructions:

The Processor: Instruction-Level Parallelism

Lecture 01: Basic Structure of Computers

EECS 151/251A Fall 2017 Digital Design and Integrated Circuits. Instructor: John Wawrzynek and Nicholas Weaver. Lecture 13 EE141

CpE 442 Introduction To Computer Architecture Lecture 1

Outline. A pipelined datapath Pipelined control Data hazards and forwarding Data hazards and stalls Branch (control) hazards Exception

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

COMPUTER ORGANIZATION AND DESIGN. The Hardware/Software Interface. Chapter 4. The Processor: A Based on P&H

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

Chapter 4. The Processor

CHAPTER 5 A Closer Look at Instruction Set Architectures

Chapter 5. A Closer Look at Instruction Set Architectures

I ve been getting this a lot lately So, what are you teaching this term? Computer Organization. Do you mean, like keeping your computer in place?

ECE 15B Computer Organization Spring 2011

In-order vs. Out-of-order Execution. In-order vs. Out-of-order Execution

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

EC 413 Computer Organization

Instructions: MIPS arithmetic. MIPS arithmetic. Chapter 3 : MIPS Downloaded from:

CMSC 611: Advanced Computer Architecture

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

Hardware Design I Chap. 10 Design of microprocessor

Complex Instruction Sets

EECE 321: Computer Organization

Page 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions

Hardware Level Organization

Chapter 4. The Processor Designing the datapath

Typical Processor Execution Cycle

Computer Organization

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

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

ΗΜΥ 656 ΠΡΟΧΩΡΗΜΕΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Εαρινό Εξάμηνο 2007

Topics/Assignments. Class 10: Big Picture. What s Coming Next? Perspectives. So Far Mostly Programmer Perspective. Where are We? Where are We Going?

Chapter 2. lw $s1,100($s2) $s1 = Memory[$s2+100] sw $s1,100($s2) Memory[$s2+100] = $s1

Transcription:

CSE 141-- Introduction to Computer Architecture

What is 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.

Which is faster? 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; } 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? 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

Which is faster? loop1: add... load... add... bne R1, loop1 loop2: add... load... bne R2, loop2 loop1: add... load... add... bne R1, loop1 nop nop loop2: add... load... bne R2, loop2

Instructor: Who are you? TAs: Will Chang Steve Checkoway Grading Integrity Course workload Administration

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 Program How to Speak Computer Compiler Assembly Language Program Assembler Machine Language Program Machine Interpretation 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) 1000110001100010000000000000000 1000110011110010000000000000100 1010110011110010000000000000000 1010110001100010000000000000100 Control Signal Spec ALUOP[0:3] <= InstReg[9:11] & MASK

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

The Instruction Set Architecture is the agreed-upon interface between all the software that runs on the machine and the hardware that executes it. Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design Circuit Design

The Instruction Execution Cycle Instruction Fetch Obtain instruction from program storage Instruction Decode Determine required actions and instruction size Operand Fetch Execute Locate and obtain operand data Compute result value or status Result Store Deposit results in storage for later use Next Instruction Determine successor instruction

Key ISA decisions operations how many? which ones operands how many? location types how to specify? instruction format size how many formats? destination operand y = x + b operation source operands (add r1, r2, r5)

Examples of ISAs Alpha AXP Intel IA-32 ("x86") VAX MIPS SPARC IBM 360 Intel IA-64 ("Itanium", "IPF") PowerPC

Computer Organization 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 (or as cheaply as possible, or using as little power as possible, ). This must be done every time a new implementation of the architecture is released, with typically very different technological constraints.

The Challenge of Computer Architecture 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. Or more efficiently.

Performance Trends

Technology: Microprocessor Logic Density 10000000 1000000 i8 0 4 8 6 r4000 r4400 i8 0 3 8 6 100000 i8 0 2 8 6 r3010 10000 i8 0 8 0 i8 0 0 8 i4 0 0 4 i8 0 8 6 1000 1970 1975 1980 1985 1990 1995 2000

Pentium 4

Pentium 4

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.