CSE Introduction to Computer Architecture

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. Jeff Brown

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:

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

Instruction Set Architecture. "Speaking with the computer"

EECE 321: Computer Organization

Advanced Caching Techniques

Instruction Set Architectures. CS301 Prof. Szajda

Computer Architecture s Changing Definition

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

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

Computer Architecture. Fall Dongkun Shin, SKKU

CPS104 Computer Organization Lecture 1

Computer Architecture Today (I)

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

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

ECE232: Hardware Organization and Design

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

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

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

Chapter 2: Instructions How we talk to the computer

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

Computer Architecture

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

CpE 442 Introduction To Computer Architecture Lecture 1

Review of instruction set architectures

ECE 468 Computer Architecture and Organization Lecture 1

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

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

Computer Architecture

CPE300: Digital System Architecture and Design

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

CMSC 611: Advanced Computer Architecture

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

ECE232: Hardware Organization and Design

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

Advanced Caching Techniques

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

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

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

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

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

URL: Offered by: Should already know how to design with logic. Will learn...

14:332:331. Lecture 1

Instruction Set Architectures. Part 1

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

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

Instructors: Randy H. Katz David A. PaHerson hhp://inst.eecs.berkeley.edu/~cs61c/fa10. Fall Lecture #1. Agenda

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

Review: What is a Computer?

CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design

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

Computer Architecture. Introduction. Lynn Choi Korea University

CS64 Computer Organization

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

Computer Architecture

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

EC 413 Computer Organization

Instructors. ECE 152 Introduction to Computer Architecture. Undergrad Teaching Assistants. Course Website. Textbook.

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

EE382 Processor Design. Class Objectives

CSE : Introduction to Computer Architecture

Why Care About Memory Hierarchy?

Chapter 4. The Processor

Computer Hardware Generations

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

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

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

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

Computer Architecture

ECE 15B Computer Organization Spring 2011

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

ECE 154A. Architecture. Dmitri Strukov

EITF20: Computer Architecture Part2.2.1: Pipeline-1

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

Multiple Issue ILP Processors. Summary of discussions

Menu. Class 1: Introduction. Staff. Course Structure and Expectations. Contacting Us. Contacting You

ECE 252 / CPS 220 Advanced Computer Architecture I. Lecture 13 Memory Part 2

ECE 15B COMPUTER ORGANIZATION

CpE 442 Introduction to Computer Architecture. The Role of Performance

Lecture 4: Instruction Set Architecture

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

Handouts. (CSC-3501) Lecture 1 (15 Jan 2008) Seung-Jong Park (Jay) Class information. Schedule (check online frequently)

EEC170 Computer Architecture. Lecture 1: Introduction to Computer Architecture

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

Lecture 01: Basic Structure of Computers

ECE 154A Introduction to. Fall 2012

Agenda. Old School CS61c. Agenda. New School CS61c 8/26/10. CS 61C: Great Ideas in Computer Architecture (Machine Structures)

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

CS61C C/Assembler Operators and Operands Lecture 2 January 22, 1999 Dave Patterson (http.cs.berkeley.edu/~patterson)

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?

Computer Organization MIPS ISA

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

ECE 486/586. Computer Architecture. Lecture # 7

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

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

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

ECE 15B Computer Organization Spring 2011

Transcription:

-- Introduction to Computer Architecture What is Computer Architecture? (am I in the right class?) Hardware Designer thinks about circuits, components, timing, functionality, ease of debugging Computer Architect thinks about high-level components, how they fit together, how they work together to deliver performance. construction engineer 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 -- Dr. Administration Course webpages www.sdsc.edu/~allans/cse141.html TAs: Mrunal Kulkarni (teaches section) Vivek Manpuria Rahul Lahoti Lab Consultants: Tim Pevzner Grading 40% midterm, 10% class participation, 50% final Homework Relationship of lab and lecture 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 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 Examples of ISAs Alpha AXP Intel 80x86/pentium VAX MIPS SPARC IBM 360 Intel IA-64 (Itanium) 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. 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.

Performance Trends Technology: Microprocessor Logic Density 10000000 1000000 i8048 r4000 r4400 100000 i8028 i8038 r3010 10000 1000 i808 i800 i400 i808 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.