Lecture 1: Computer Architecture and Technology Professor Mike Schulte Computer Architecture ECE 201.

Slides:



Advertisements
Similar presentations
Slide 1Michael Flynn EE382 Winter/99 EE382 Processor Design Stanford University Winter Quarter Instructor: Michael Flynn Teaching Assistant:
Advertisements

CEG3420 L1 Intro.1 Copyright (C) 1998 UCB CEG3420 Computer Design Lecture 1 Philip Leong.
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 ( )
CPSC 321 Computer Architecture Fall 2006 Lecture 1 Introduction and Five Components of a Computer Adapted from CS 152 Spring 2002 UC Berkeley Copyright.
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
CMSC411/Computer Architecture These slides and all associated material are © 2003 by J. Six and are available only for students enrolled in CMSC411. Introduction.
CPSC 321 Computer Architecture Spring 2005 Lecture 1 Introduction and Five Components of a Computer Adapted from CS 152 Spring 2002 UC Berkeley Adapted.
EEM 486 EEM 486: Computer Architecture Lecture 1 Course Introduction and the Five Components of a Computer.
מבנה מחשבים הרצאה 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.”
מבנה מחשבים הרצאה 1 מבנה מחשבים Lecture 1 Course Introduction Yehuda Afek and Yossi Matias Slides from Randy H. Katz, and John Wawrzynek Berkeley.
Computer Organization: Introduction Spring 2006 Jen-Chang Liu ( )
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
CS472 COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE –Bruce D’Ambrosio Dearborn, –Text: Computer Organization and Design.
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.
1 CSE SUNY New Paltz Chapter 1 Introduction CSE-45432Introduction to Computer Architecture Dr. Izadi.
CIS 314 : Computer Organization Lecture 1 – Introduction.
ELEN 350 Computer Architecture Spring 2005 Introduction and Five Components of a Computer Adapted from CS 152 Spring 2002 UC Berkeley Adapted from CPSC.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
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.
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB ECE 366 Computer Architecture Lecture 1-2 Shantanu Dutt ( Adapted from (with adds.
Computer Architecture Lecture – 1.  Computer Organization and Design (third edition)  David A. Patterson  John L. Hennessy  Computer Organization.
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 ( )
ECE 4436ECE 5367 Introduction to Computer Architecture and Design Ji Chen Section : T TH 1:00PM – 2:30PM Prerequisites: ECE 4436.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
Patterson Fall 97 ©UCB CS/EE 362 Hardware Fundamentals Lecture 8 (Chapter 1: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
International Technology University CEN 951 Computer Architecture Lecture 2 Five Components of a Computer.
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
COMP3221 lec04--prog-model.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 4: Programmer’s Model of Microprocessors
Computer Organization and Design Computer Abstractions and Technology
Computer Architecture Mehran Rezaei
CS35101 Computer Architecture Spring 2006 Week 1 Slides adapted from: Mary Jane Irwin ( Course url:
Cps-104 Intro.1 ©GK Spring 1999 CPS104 Computer Organization Lecture 1 January 14, 1999 Gershon Kedem Slides available on:
CS152 / Fall 2002 Lec 1.1 Computer Organization Lecture 1 Course Introduction and the Five Components of a Computer Modified From the Lectures of Randy.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer System Design Lecture 1 Wannarat Suntiamorntut.
Computer Organization & Assembly Language © by DR. M. Amer.
by Computer System Design Lecture 1 Wannarat Suntiamorntut
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
Computer Architecture 2 nd year (computer and Information Sc.)
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
CPSC 321 Computer Architecture Summer 2005 Lecture 1 Introduction and Five Components of a Computer Praveen Bhojwani Adapted from CS 152 Spring 2002 UC.
S.J.Lee 1 컴퓨터 구조 강좌개요 순천향대학교 컴퓨터학부 이 상 정. S.J.Lee 2 교 재교 재 J.L.Hennessy & D.A.Patterson Computer Architecture a Quantitative Approach, Second Edition.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
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
Compsci Today’s topics l Operating Systems  Brookshear, Chapter 3  Great Ideas, Chapter 10  Slides from Kevin Wayne’s COS 126 course l Performance.
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)
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
CSE431 L01 Introduction.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 01: Introduction Mary Jane Irwin ( )
By Wannarat Computer System Design Lecture 1 Wannarat Suntiamorntut.
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Chapter 1 Computer Abstractions and Technology
Computer Architecture CSCE 350
EEL 4713/EEL 5764 Computer Architecture
T Computer Architecture, Autumn 2005
Welcome to Architectures of Digital Systems
COMS 361 Computer Organization
CS4100: 計算機結構 Course Outline
Presentation transcript:

Lecture 1: Computer Architecture and Technology Professor Mike Schulte Computer Architecture ECE 201

Today’s Lecture °Course Objectives, Format, and Grading °Course Prerequisites and Content °Introduction to Computer Architecture °Computer Technology °Computer Components

Course Objective °Course Objective : To give students a clear understanding of the architecture and organization of modern computers, and the cost and performance tradeoffs involved in there design. Technology Programming Languages Operating Systems History Applications Interface Design Measurement & Evaluation Parallelism Computer Architecture: Instruction Set Design Machine Organization Implementation

Class Goals °Show you how to understand modern computer architecture in its rapidly changing form - discuss fundamental ideas, plus real world examples. °Provide you with an understanding of current and future trends in computer architecture °Show you how to design by leading you through the process on challenging problems °Give you exposure to digital design tools °Make the class informative and enjoyable. So... ask questions offer feedback on the course come to lecture and office hours learn from those around you

Lecture Format °Lectures presented from Power Point slides & transparencies °Examples worked on the board °Copies of slides, homeworks and other information can be downloaded from the course home page at: °Readings from the book are assigned to complement the lectures. °Look over the notes and the material from the book before coming to class (not today :). °Class is designed to be interactive => ask and answer questions. °Office Hours: T, TH 12:00-1:00 or by appointment, PL 326.

Grading °Grading for the course is as follows: Homework and Quizzes : 25% Midterm Exam :20% Class Project :25% Final Exam :30% °Homework Due at the start of class Encouraged to work together, but make sure work is your own For some homeworks, you will be asked to work in teams °Exams Open book and open note (most likely) Makeup exams given only under extreme circumstances Final is comprehensive °Projects - Design and simulate a version of the MIPS processor Done in teams of 3 to 4 students Initial Proposal, Status Report, Final Report, Project Demo More details later

Prerequisites °The course prerequisite is ECE 33 or the equivalent. °You are expected to be familiar with: Boolean algebra Binary number systems 2’s complement arithmetic Combinational circuits (e.g., AND/OR gates) Sequential circuits (e.g. registers) Assembly language programming °If you do not have the above prerequisites, please talk to me after class.

Course Info °If it has been a long time since you have had ECE 33, it would be a good idea to look over your ECE 33 class notes and Appendix B. °This class will probably be lots of work, but hopefully you’ll also have fun and learn a lot. °For the class projects and some homeworks, you will be expected to work in teams - start forming you teams now. °Please give me feedback whenever you have questions/concerns - feedback form on web page or just stop by my office ° for course related questions:

Course Content °Text book:Computer Organization and Design: The Hardware/Software Interface, 2nd Ed., Patterson and Hennessy, Morgan Kaugman, °Topics covered include : Computer Architecture and Technology Computer Performance Computer Instruction Sets Computer Arithmetic Processor Design Pipelined Processors Memory System Design Input/Output System Design

Three Great Teaching Assistants Name: Tony Deliebro Office hours: TBD Name: Venkatram Muddhasani Name: Faisal Khan Offices and Offices hours coming soon!

Things We Hope You Will Learn from ECE201 °Keep it simple and make it work Fully test everything individually and then together Retest everything whenever you make any changes Last minute changes are big “no nos” °Group dynamics. Communication is the key to success: Be open with others of your expectations and your problems Everybody should be there on design meetings when key decisions are made and jobs are assigned °Planning is very important: Promise what you can deliver; deliver more than you promise Murphy’s Law: things DO break at the last minute -Don’t make your plan based on the best case scenarios -Freeze you design and don’t make last minute changes °Never give up! It is not over until you give up.

What is “Computer Architecture” °Computer Architecture is the design of the computer at the hardware/software interface. °Computer Architecture = Instruction Set Architecture + Machine Organization Computer Architecture Instruction Set DesignMachine Organization Computer InterfaceHardware Components Compiler/System ViewLogic Designer’s View

The Instruction Set: a Critical Interface instruction set software hardware

Instruction Set Architecture °Instruction set architecture is the attributes of a computing system as seen by the assembly language programmer or compiler. This includes Instruction Set (what operations can be performed?) Instruction Format (how are instructions specified?) Data storage (where is data located?) Addressing Modes (how is data accessed?) Exceptional Conditions (what happens if something goes wrong?) °A good understanding of computer architecture is important for compiler writers, operating system designers, and general computer programmers.

MIPS R3000 Instruction Set Architecture (Summary) °Instruction Categories Load/Store Computational Jump and Branch Floating Point Memory Management Special R0 - R31 PC HI LO OP rs rt rdsafunct rs rt immediate jump target 3 Instruction Formats: all 32 bits wide Registers

Machine Organization °Machine organization is the view of the computer that is seen by the logic designer. This includes Capabilities & performance characteristics of functional units (e.g., registers, ALU, shifters, etc.). Ways in which these components are interconnected How information flows between components Logic and means by which such information flow is controlled Coordination of functional units to realize the ISA °Typically the machine organization is designed to meet a given instruction set architecture. °However, in order to design good instruction sets, it is important to understand the how the architecture might be implemented.

Key considerations in “Computer Architecture” 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 Datapath & Control Layout Software Hardware

Levels of abstraction °An important concept in computer architecture is the use of various levels of abstractions. °Each level of abstraction consists of an interface (outside view of what it does), and an implementation (inside view of how it works) A B Y S 2 x 1 Mux A B S NAND Y Interface Implementation

Forces on Computer Architecture Computer Architecture Technology Programming Languages Operating Systems History Applications

Technology Trends °In 1985, the single-chip 32-bit processor and the single-board computer emerged °By 2002, we will have entire computer systems on a single chip. DRAM YearSize Kb Kb Mb Mb Mb Mb Mb Gb Microprocessor Logic DensityDRAM chip capacity

Technology trends °Processor logic capacity: increases about 30% per year clock rate: increases about 20% per year performance: increases about 50% per year °Memory DRAM capacity: increases about 60% per year (4x every 3 years) performance: increases about 3.4% per year °Disk capacity: about 60% per year performance: increases about 3.4% per year °Network Bandwidth Bandwidth increasing more than 100% per year! °What impact does this have on future computer systems? °What impact does this have on design decisions?

Technoloy Trends

Processor Performance RISC introduction performance now improves ­ 50% per year (2x every 1.5 years)

Levels of Representation High Level Language Program Assembly Language Program Machine Language Program Control Signal Specification Compiler Assembler 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) °°°° ALUOP[0:3] <= InstReg[9:11] & MASK

The Big Picture Control Datapath Memory Processor Input Output °Since 1946 all computers have had 5 main components

Components of a Computer °The functions of the different computer components are datapath - performs arithmetic and logic operations -e.g., adders, multipliers, shifters memory - holds data and instructions -e.g., cache, main memory, disk input - sends data to the computer -e.g., keyboard, mouse output - gets data from the computer -e.g., screen, sound card control - gives directions to the other components -e.g., bus controller, memory interface unit

Relative Cost of Computer Components Processor Computer Control Datapath MemoryDevices Input Output Workstation Design Target: 25% of cost on Processor 25% of cost on Memory Rest on I/O devices, power supplies, box

Computer System Components Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks °All have interfaces & organizations Controllers

Example Organization °TI SuperSPARC tm TMS390Z50 in Sun SPARCstation20 Floating-point Unit Integer Unit Inst Cache Ref MMU Data Cache Store Buffer Bus Interface SuperSPARC L2 $ CC MBus Module MBus L64852 MBus control M-S Adapter SBus DRAM Controller SBus DMA SCSI Ethernet STDIO serial kbd mouse audio RTC Boot PROM Floppy SBus Cards

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

Summary °Computer Architecture includes the design of the Instruction Set Architecture (progammer’s view) and the Machine Organization (logic designer’s view). °Levels of abstraction, which consist of an interface and an implementation are useful to manage designs. °Processor performance increases rapidly, but the speeds of memory and I/0 have not kept pace. °Computer systems are comprised on datapath, memory, input devices, output devices, and control. °By next class: Read fill out course survey read over all of Chapter 1 and Sections 2.1 to 2.3 Start finding teammates for project and homework