CS35101 Computer Architecture Spring 2006 Week 1 Slides adapted from: Mary Jane Irwin (www.cse.psu.edu/~mji)www.cse.psu.edu/~mji Course url: www.cs.psu.edu/~cg331www.cs.psu.edu/~cg331.

Slides:



Advertisements
Similar presentations
CS3350B Computer Architecture Winter 2015 Lecture 4
Advertisements

CSE 340 Computer Architecture Spring 2014 MIPS ISA Review
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
CML CML CS 230: Computer Organization and Assembly Language Aviral Shrivastava Department of Computer Science and Engineering School of Computing and Informatics.
CSE331 W01.1 Irwin Fall 07 PSU CSE 331 Computer Organization and Design Fall 2007 Week 1 Section 1: Mary Jane Irwin (
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
CSE431 L01 Introduction.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 01: Introduction Mary Jane Irwin ( )
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
CS 61C L13 Combinational Logic (1) A Carle, Summer 2005 © UCB inst.eecs.berkeley.edu/~cs61c/su05 CS61C : Machine Structures Lecture #13: Combinational.
331 W01.1 Spring :332:331 Computer Architecture and Assembly Language Spring 2005 Lecture 1 [Adapted from Dave Patterson’s UCB CS152 slides and.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
מבנה מחשבים הרצאה 1 מבנה מחשבים Lecture 1 Course Introduction Eytan Ruppin and Alon Schclar Slides from Randy H. Katz, John Wawrzynek and Dan Garcia Berkeley.
ENEE350 Spring07 1 Ankur Srivastava University of Maryland, College Park Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005.”
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
CPEN Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall.
CS / Schlesinger Lec1.1 1/20/99©UCB Spring 1999 Computer Architecture Lecture 1 Introduction and Five Components of a Computer Spring, 1999 Arie Schlesinger.
CSE331 W01.1 Irwin Fall 06 PSU CSE 331 Computer Organization and Design Fall 2006 Week 1 Section 1: Mary Jane Irwin (
CS 61C L20 Introduction to Synchronous Digital Systems (1) Garcia, Fall 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
CS61C L20 Synchronous Digital Systems (1) Garcia, Spring 2007 © UCB Disk failures 15x specs!  A recent conference reveals that drives fail in real life.
CS61C L20 Introduction to Synchronous Digital Systems (1) Garcia © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
331 W10.1Spring :332:331 Computer Architecture and Assembly Language Spring 2005 Week 10 Building a Multi-Cycle Datapath [Adapted from Dave Patterson’s.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
Lecture 7: Instruction Set Architecture CSE 30: Computer Organization and Systems Programming Winter 2014 Diba Mirza Dept. of Computer Science and Engineering.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
Computer Organization CS224
Summary: Computer System Components Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks.
Digital Systems Design L01 Introduction.1 Digital Systems Design Lecture 01: Introduction Adapted from: Mary Jane Irwin ( )
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Irwin Fall 2006 PSU CSE331 Computer Organization and Design Fall 2007 Read Me Mary Jane Irwin ( Course url:
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Computer Organization and Design Computer Abstractions and Technology
Computer Architecture Mehran Rezaei
Cps-104 Intro.1 ©GK Spring 1999 CPS104 Computer Organization Lecture 1 January 14, 1999 Gershon Kedem Slides available on:
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
Computer Organization CS224 Fall 2012 Lesson 22. The Big Picture  The Five Classic Components of a Computer  Chapter 4 Topic: Processor Design Control.
Computer Architecture CPSC 350
CDA 3101 Fall 2013 Introduction to Computer Organization
ELEC Digital Logic Circuits Fall 2015 Introduction
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
Computer Organization Instructors Course By: Lecturer: Shimaa Ibrahim Hassan TA: Eng: Moufeda Hussien Lecture: 9:45 Address:
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
CS 61C L4.1.1 Combinational Logic (1) K. Meinz, Summer 2004 © UCB CS61C : Machine Structures Lecture Logic Gates and Combinational Logic
Lecture 1: Computer Architecture and Technology Professor Mike Schulte Computer Architecture ECE 201.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
CS61C L20 Synchronous Digital Systems (1) Beamer, Spring 2008 © UCB Scott Beamer, Guest Lecturer inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
Spring 2016, Jan 13 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Spring 2016 Introduction Vishwani D. Agrawal.
CSIE30300 Computer Architecture Unit 01: Introduction Hsin-Chou Chi [Adapted from material by and
Lecture 2: Instruction Set Architecture part 1 (Introduction) Mehran Rezaei.
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB CS152 Computer Architecture and Engineering Lecture 1 August 27, 1997 Dave Patterson (http.cs.berkeley.edu/~patterson)
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
CS 230: Computer Organization and Assembly Language
Microprocessor Systems Design I
Introduction CPU performance factors
Processor (I).
Computer Architecture CSCE 350
Instructions - Type and Format
T Computer Architecture, Autumn 2005
Guest Lecturer TA: Shreyas Chand
Systems Architecture I
CSC3050 – Computer Architecture
CS4100: 計算機結構 Course Outline
Computer Architecture
Presentation transcript:

CS35101 Computer Architecture Spring 2006 Week 1 Slides adapted from: Mary Jane Irwin ( Course url: [Adapted from Dave Patterson’s UCB CS152 slides]

Course Administration  Instructor:Paul J Durand  Labs:Accounts on loki or neptune  Texts:Computer Organization and Design: The Hardware/Software Interface, Third Edition, Patterson and Hennessy

Course Goals and Structure  Introduction to the major components of a computer system, how they function together in executing a program, how they are designed. l MIPS assembler programming using the spim system

spim Assembler and Simulator  spim is a self-contained assembler and simulator for the MIPS R2000/R3000 l It provides a simple assembler, debugger and a simple set of operating system services l It implements both a simple, terminal-style interface and a visual windowing interface  Available as l xspim on unix -installed on the CS unix machines loki, hermes, neptune, poseidon l PCSpim on Windows -can be downloaded and installed on your own PC from l Sorry, there is no Macintosh version of spim

Head’s Up  This week’s material l Course introduction -Reading assignment – PH 1.1 through 1.3 and A.9 through A.10 (on cd)  Reminders l Make sure your unix account is operational; change your password to something you can remember and that is secure (must be six to eight alphanumeric characters) l Check out the course homepage (  Next week’s material l Introduction to MIPS assembler -Reading assignment - PH 2.1 through 2.7, omit 2.6

What You Should Already Know  How to write, compile and run programs in a higher level language (C, C++, Java, …)  How to create, organize, and edit files and run programs on Unix  How to represent and operate on positive and negative numbers in binary form (two’s complement, sign magnitude, etc.)  Logic design l How to design combinational components (Boolean algebra, logic minimization, decoders and multiplexors)

Below the Program  High-level language program (in C) swap (int v[], int k) (int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; )  Assembly language program (for MIPS) swap:sll$2, $5, 2 add$2, $4,$2 lw$15, 0($2) lw$16, 4($2) sw$16, 0($2) sw$15, 4($2) jr$31  Machine (object) code (for MIPS)

Below the Program  High-level language program (in C) swap (int v[], int k) (int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; )  Assembly language program (for MIPS) swap:sll$2, $5, 2 add$2, $4,$2 lw$15, 0($2) lw$16, 4($2) sw$16, 0($2) sw$15, 4($2) jr$31  Machine (object) code (for MIPS) C compilerassembler

Advantages of Higher-Level Languages  Higher-level languages  As a result, very little programming is done today at the assembler level

Advantages of Higher-Level Languages  Higher-level languages  As a result, very little programming is done today at the assembler level l Allow the programmer to think in a more natural language and for their intended use (Fortran for scientific computation, Cobol for business programming, Lisp for symbol manipulation, …) l Improve programmer productivity – more understandable code that is easier to debug and validate l Improve program maintainability l Allow programmers to be independent of the computer on which they are developed (compilers and assemblers can translate high-level language programs to the binary instructions of any machine) l Emergence of optimizing compilers that produce very efficient assembly code optimized for the target machine

Machine Organization  Capabilities and performance characteristics of the principal Functional Units (FUs) l e.g., register file, ALU, multiplexors, memories,...  The ways those FUs are interconnected l e.g., buses  Logic and means by which information flow between FUs is controlled  The machine’s Instruction Set Architecture (ISA)  Register Transfer Level (RTL) machine description

Major Components of a Computer Processor Control Datapath Memory Devices Input Output

Impacts of Advancing Technology  Processor l logic capacity:increases about 30% per year l performance:2x every 1.5 years  Memory l DRAM capacity:4x every 3 years l memory speed:1.5x every 10 years l cost per bit:decreases about 25% per year  Disk l capacity:increases about 60% per year

Example: Growth in DRAM Chip Capacity

Below the Program C compilerassembler one-to-many one-to-one  High-level language program (in C) swap (int v[], int k)...  Assembly language program (for MIPS) swap: sll $2, $5, 2 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31  Machine (object) code (for MIPS)

Below the Program C compilerassembler one-to-many one-to-one  High-level language program (in C) swap (int v[], int k)...  Assembly language program (for MIPS) swap: sll $2, $5, 2 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31  Machine (object) code (for MIPS)

Input Device Inputs Object Code Processor Control Datapath Memory Devices Input Output

Object Code Stored in Memory Processor Control Datapath Memory Devices Input Output

Processor Fetches an Instruction Processor Control Datapath Memory Devices Input Output Processor fetches an instruction from memory Where does it fetch from?

Control Decodes the Instruction Processor Control Datapath Memory Devices Input Output Control decodes the instruction to determine what to execute

Datapath Executes the Instruction Processor Control Datapath Memory Devices Input Output contents Reg #4 ADD contents Reg #2 results put in Reg #2 Datapath executes the instruction as directed by control

Processor Organization  Control needs to have the l Ability to input instructions from memory l Logic and means to control instruction sequencing l Logic and means to issue signals that control the way information flows between datapath components l Logic and means to control what operations the datapath’s functional units perform  Datapath needs to have the l Components - functional units (e.g., adder) and storage locations (e.g., register file) - needed to execute instructions l Components interconnected so that the instructions can be accomplished l Ability to load data from and store data to memory Where does it load and store from and to?

What Happens Next? Processor Control Datapath Memory Devices Input Output

What Happens Next? Processor Control Datapath Memory Devices Input Output FetchDecodeExec

Output Data Stored in Memory Processor Control Datapath Memory Devices Input Output At program completion the data to be output resides in memory

Output Device Outputs Data Processor Control Datapath Memory Devices Input Output

The Instruction Set Architecture instruction set architecture software hardware The interface description separating the software and hardware. Stopped here 1/19

MIPS R3000 Instruction Set Architecture  Instruction Categories l Load/Store l Computational l Jump and Branch l Floating Point -coprocessor l Memory Management l Special R0 - R31 PC HI LO OP rs rt rdsafunct rs rt immediate jump target  3 Instruction Formats: all 32 bits wide Registers Q: How many already familiar with MIPS ISA?

How Do the Pieces Fit Together? I/O systemInstr. Set Proc. Compiler Operating System Application Digital Design Circuit Design Instruction Set Architecture Firmware  Coordination of many levels of abstraction  Under a rapidly changing set of forces  Design, measurement, and evaluation Memory system Datapath & Control