Computer Organization CS224

Slides:



Advertisements
Similar presentations
CSE 340 Computer Architecture Spring 2014 MIPS ISA Review
Advertisements

TU/e Processor Design 5Z0321 Processor Design 5Z032 Computer Systems Overview Chapter 1 Henk Corporaal Eindhoven University of Technology 2011.
CS2100 Computer Organisation Introduction to Computer Organisation (AY2014/2015)
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.210 Computer Systems and Architecture and CS.305 Computer Architecture Recap and Re-introduction.
Fall 2001CS 4471 CS 447: Fall 2001 Chapter 1: Computer Abstraction and Technology (Introduction to the course)
EEM 486 EEM 486: Computer Architecture Lecture 1 Course Introduction and the Five Components of a Computer.
ENEE350 Spring07 1 Ankur Srivastava University of Maryland, College Park Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005.”
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
Computer Organization and Design David. Paterson and John L. Hennessy
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
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.
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.
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.
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 ( )
Introduction Course Overview and Basic understanding of Computer Architecture.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
1 Computer Systems. 2 Introduction – What is a Computer? This course is all about how computers work What do computer and computer system mean to you?
CPE232 Introduction1 CPE 335 Computer Organization Introduction Dr. Gheith Abandah [Adapted from the slides of Professor Mary Irwin (
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
Introduction CSE 410, Spring 2008 Computer Systems
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
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:
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Computer Organization & Assembly Language © by DR. M. Amer.
Computer Architecture CPSC 350
1 ECE3055 Computer Architecture and Operating Systems Lecture 1 Introduction Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia.
순천향대학교 정보기술공학부 이 상 정 1 1. Computer Abstractions and Technology.
Introduction.  This course is all about how computers work  But what do we mean by a computer?  Different types: desktop, servers, embedded devices.
CPSC 321 Computer Architecture Summer 2005 Lecture 1 Introduction and Five Components of a Computer Praveen Bhojwani Adapted from CS 152 Spring 2002 UC.
Computer Architecture Lec 06: Computer Architecture Introduction.
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.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 3 Computer Evolution.
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)
Computer Architecture Opening Yu-Lun Kuo 郭育倫 Department of Computer Science and Information Engineering Tunghai University Taichung, 40704, Taiwan R.O.C.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
New-School Machine Structures Parallel Requests Assigned to computer e.g., Search “Katz” Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Introduction CSE 410, Spring 2005 Computer Systems
Chapter 1 Computer Abstractions and Technology
ECE 3055: Computer Architecture and Operating Systems
CPE 232 Computer Organization Introduction
CSE 410, Spring 2006 Computer Systems
INTRODUCTION TO MICROPROCESSORS
CSCE330 Computer Architecture
INTRODUCTION TO MICROPROCESSORS
Computer Architecture CSCE 350
EEL 4713/EEL 5764 Computer Architecture
COMS 361 Computer Organization
CSC3050 – Computer Architecture
CS4100: 計算機結構 Course Outline
Presentation transcript:

Computer Organization CS224 Fall 2012 “Welcome to our course” Will Sawyer & Fazlı Can With thanks to M.J. Irwin, D. Patterson, and J. Hennessy for some lecture slide contents

CS224 Course Contents Overview of computer technologies, instruction set architecture (ISA), ISA design considerations, RISC vs. CISC, assembly and machine language, translation and program start-up. Computer arithmetic, arithmetic logic unit, floating-point numbers and their arithmetic implementations. Processor design, data path and control implementation, pipelining, hazards, pipelined processor design, hazard detection and forwarding, branch prediction and exception handling. Memory hierarchy, principles, structure, and performance of caches, virtual memory, segmentation and paging. I/O devices, I/O performance, interfacing I/O. Intro to multiprocessors, multicores, and cluster computing.

CS224 Policies Everything is on the Web site: found @ CS Dept > Course Home Pages > CS224 http://www.cs.bilkent.edu.tr/~will/courses/CS224/ Numerical average will be calculated from: 6 Problem Sets 10% 2 Projects 30% Midterm 25% Final exam 35% TO PASS, you must: have exam average > 40% (weighted average) not drop out (FX) : attend class sometimes, do projects & exams have overall course performance that is passing CS224 Spring 2012

Computer Organization & Design by Patterson & Hennessy Why learn this stuff? You want to call yourself a “computer engineer” You want to build software people use (need performance) You need to make a purchasing decision or offer “expert” advice Both Hardware and Software affect performance: Algorithm determines number of source-level statements Language/Compiler/Architecture determine machine instructions (Chapter 2 and 3) Processor/Memory determine how fast instructions are executed (Chapter 4 and 5) I/O and Number_of_Cores determine overall system performance (Chapter 6 and 7) CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 4

Organization of a Computer Five classic components of a computer – input, output, memory, datapath, and control datapath + control = processor (CPU) CS224 Spring 2012

AMD’s Barcelona Multicore Chip Four out-of- order cores on one chip 1.9 GHz clock rate 65nm technology Three levels of caches (L1, L2, L3) on chip Integrated Northbridge Core 1 512KB L2 512KB L2 Core 2 2MB shared L3 Cache Northbridge Core 3 512KB L2 512KB L2 Core 4 http://www.techwarelabs.com/reviews/processors/barcelona/ CS224 Spring 2012

Computer Organization & Design by Patterson & Hennessy Function Units in a Computer CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy

Computer Organization & Design by Patterson & Hennessy Magnetic Storage Source: Quantum Corp Disk capacity increasing 60%/year for common form factor CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 8

Classes of Computers Desktop computers: Designed to deliver good performance to a single user at low cost usually executing 3rd party software, usually incorporating a graphics display, a keyboard, and a mouse Servers: Used to run larger programs for multiple, simultaneous users typically accessed only via a network and that places a greater emphasis on dependability and (often) security Supercomputers: A high performance, high cost class of servers with hundreds to thousands of processors, terabytes of memory and petabytes of storage that are used for high-end scientific and engineering applications Embedded computers (processors): A computer inside another device used for running one predetermined application. Very often cost, power, and failure rate are more important than performance. CS224 Spring 2012

(embedded growth >> desktop growth !!!) Growth in Embedded Processor Sales (embedded growth >> desktop growth !!!) Cell phone sales exceeded PCs by only a factor of 1.4 in 1997, but the ratio grew to 4.5 in 2007. The total number in use in 2004 estimated to be about 2.0B televisions, 1.8B cell phones, and 0.8B PCs. As the worlds population was about 6.4B in 2004, that makes about 1PC, 2.2 cell phones, and 2.5 televisions for every 8 people on the planet. Where else are embedded processors found? CS224 Spring 2012

Dual Core Itanium with 1.7B transistors Moore’s Law In 1965, Intel’s Gordon Moore predicted that the number of transistors that can be integrated on single chip would double about every two years Dual Core Itanium with 1.7B transistors feature size & die size Courtesy, Intel ®

Computer Organization & Design by Patterson & Hennessy Moore’s Law for CPUs and DRAMs CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 12

Technology Scaling Road Map Year 2004 2006 2008 2010 2012 Feature size (nm) 90 65 45 32 22 Intg. Capacity (BT) 2 4 6 16 Fun facts about 22nm transistors 120 million can fit on the head of a pin You could fit more than 4,000 across the width of a human hair If car prices had fallen at the same rate as the price of a single transistor has since 1968, a new car today would cost less than 1 cent International Technology Roadmap for Semiconductors 13

Computer Organization & Design by Patterson & Hennessy Semiconductors 50 year old industry Still has continuous improvements, in each generation New generation every 2-3 years 30% reduction in dimension  50% in area 30% reduction in delay  50% speed increase Current generation: Reduce cost and increases performance Processors are fabricated on ingots cut into wafers which are then etched to create transistors Wafers are then diced to form chips, some of which have defects Yield is the measurement of the good chips Next generation: Larger with more functions CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 14

Computer Organization & Design by Patterson & Hennessy Main driver: device scaling ... . CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 15

Semiconductor Manufacturing Process for Silicon ICs After being sliced from the silicon ingot, blank wafers are put through 20 to 40 steps to create patterned wafers. These patterned wafers are then tested with a wafer tester, and a map of the good parts is made. Then, the wafers are diced into dies (see Figure 1.9). In this fi gure, one wafer produced 20 dies, of which 17 passed testing. (X means the die is bad.) The yield of good dies in this case was 17/20, or 85%. These good dies are then bonded into packages and tested one more time before shipping the packaged parts to customers. One bad packaged part was found in this final test CS224 Spring 2012

What Happened to Clock Rates? Clock rates hit a “power wall” Packaging issues for laptop and desktop PC set the “power” limit at 100 Watts.

Processor performance growth flattens! CS224 Spring 2012

The Latest Revolution: Multicores The power challenge has forced a change in the design of microprocessors Since 2002 the rate of improvement in the response time of programs on desktop computers has slowed from a factor of 1.5 per year to less than a factor of 1.2 per year Since 2006, all desktop and server companies are shipping microprocessors with multiple processors – cores – per chip Product AMD Barcelona Intel Nehalem IBM Power 6 Sun Niagara 2 Cores per chip 4 2 8 Clock rate 2.5 GHz ~2.5 GHz? 4.7 GHz 1.4 GHz Power 120 W ~100 W? 94 W Multicore issues Hard for programmers to write explicitly parallel programs - task scheduling with load balancing and minimal communication and synchronization overhead. The plan is to double the number of cores per chip per generation (about every two years) CS224 Spring 2012

Power as a Performance Metric Power consumption – especially in the embedded market where battery life is important For power-limited applications, the most important metric is energy efficiency The book has an example on page 50 of the new SPECpower_ssj2008 benchmark and how it is calculated.

Computer Organization & Design by Patterson & Hennessy Computer Architecture Application Operating System Compiler Firmware Instruction Set Architecture Instr. Set Proc. I/O system Computer Architecture Logic Design Implementation Circuit Design Layout CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 21

Computer Organization & Design by Patterson & Hennessy The Instruction Set: a Critical Interface instruction set software hardware CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 22

Computer Organization & Design by Patterson & Hennessy Instruction Set Architecture A very important abstraction interface between hardware and low-level software standardizes instructions, machine language bit patterns, etc. advantage: different implementations (cost, performance, power) of the same architecture disadvantage: sometimes prevents using new innovations Common instruction set architectures: IA-32, PowerPC, MIPS, SPARC, ARM, and others CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 23

Computer Organization & Design by Patterson & Hennessy Instruction Set Architecture ISA, or simply architecture – the abstract interface between the hardware and the lowest level software that encompasses all the information necessary to write a machine language program, including instructions, registers, memory access, I/O, … ISA Includes Organization of storage Data types Encoding and representing instructions Instruction Set (or opcodes) Modes of addressing data items/instructions Program visible exception handling Specifies requirements for binary compatibility across implementations (ABI) CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 24

Computer Organization & Design by Patterson & Hennessy Case Study: MIPS ISA Instruction Categories Load/Store Computational Jump and Branch Floating Point Memory Management Special R0 - R31 PC HI LO 3 Instruction Formats, 32 bits wide OP rs rt rd sa funct OP rs rt immediate OP jump target CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy

Computer Organization & Design by Patterson & Hennessy Execution Cycle Instruction Fetch Obtain instruction from program storage Instruction Decode Determine required actions and instruction size Operand Fetch Locate and obtain operand data Compute result value or status Execute Result Store Deposit results in storage for later use Next Instruction Determine successor instruction CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 26

Computer Organization & Design by Patterson & Hennessy Levels of Representation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; High Level Language Program Compiler lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) Assembly Language Program Assembler 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Machine Language Program Machine Interpretation Control Signal Specification ALUOP[0:3] <= InstReg[9:11] & MASK [i.e.high/low on control lines] ° CS224 Spring 2009 Computer Organization & Design by Patterson & Hennessy 27

Advantages of HLLs Higher-level languages (HLLs) 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, Java for web programming, …) Improve programmer productivity – more understandable code that is easier to debug and validate Improve program maintainability Allow programs 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) Emergence of optimizing compilers that produce very efficient assembly code optimized for the target machine Higher-level languages (HLLs) Compilers convert source code to object code Libraries simplify common tasks For lecture CS224 Spring 2012