CMPSCI 201: Architecture and Assembly Language

Similar documents
Chapter 1 Welcome Aboard

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

Chapter 1 Welcome Aboard

CS270 Computer Organization Fall 2017

Introduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison

CS Computer Architecture Spring Lecture 01: Introduction

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

CS 3410: Computer System Organization and Programming

Introduction. Summary. Why computer architecture? Technology trends Cost issues

EE382 Processor Design. Class Objectives

EEM 486: Computer Architecture

Figure 1-1. A multilevel machine.

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

Computer Organization + DIGITAL DESIGN

Computer Architecture. Fall Dongkun Shin, SKKU

Computer Architecture

HW Trends and Architectures

ECE484 VLSI Digital Circuits Fall Lecture 01: Introduction

CS 3410: Intro to Computer System Organization and Programming

1DT157 Digitalteknik och datorarkitekt. Digital technology and computer architecture, 5p

Computer Architecture

Computer Architecture!

EITF20: Computer Architecture Part1.1.1: Introduction

Computer Architecture. Introduction. Lynn Choi Korea University

CPS104 Computer Organization Lecture 1

Computer Architecture

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

Calendar Description

Computer Architecture!

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

Microelettronica. J. M. Rabaey, "Digital integrated circuits: a design perspective" EE141 Microelettronica

What Next? Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. * slides thanks to Kavita Bala & many others

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

Computer Architecture!

EECS 452 Advanced Computer Architecture - I

ELCT 503: Semiconductors. Fall Lecture 01: Introduction

CS/EE 6810: Computer Architecture

CSE : Introduction to Computer Architecture

CPE/EE 421 Microcomputers

Lecture 1: What is a Computer? Lecture for CPSC 2105 Computer Organization by Edward Bosworth, Ph.D.

EECE 321: Computer Organization

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

CS Computer Architecture

Fundamentals of Computer Design

ECE 468 Computer Architecture and Organization Lecture 1

CS 316: Multicore/GPUs

Review: Performance Latency vs. Throughput. Time (seconds/program) is performance measure Instructions Clock cycles Seconds.

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

Ms. Minerva A. Lagarde

ECE 2162 Intro & Trends. Jun Yang Fall 2009

EE3032 Introduction to VLSI Design

Computer Architecture

What is this class all about?

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th

Lecture 2: Technology Trends Prof. Randy H. Katz Computer Science 252 Spring 1996

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

CSSE232 Computer Architecture. Introduc5on

ECE 637 Integrated VLSI Circuits. Introduction. Introduction EE141

Chapter 1. Introduction To Computer Systems

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş

Computer System architectures

CS 3410 Computer System Organization and Programming

CS 3410 Computer System Organization and Programming

Inf2C - Computer Systems Lecture 1 Course overview & the big picture

What is this class all about?

Chapter 1 Introduction. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

CSE 141: Computer Architecture. Professor: Michael Taylor. UCSD Department of Computer Science & Engineering

2. Computer Evolution and Performance

CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I

Alex Milenkovich 1 CPE 323. CPE 323 Introduction to Embedded Computer Systems: Introduction. Instructor: Dr Aleksandar Milenkovic Lecture Notes

ECE 261: Full Custom VLSI Design

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

ECE 588/688 Advanced Computer Architecture II

CS101 Lecture 29: Brief History of Computing

CS 61C: Great Ideas in Computer Architecture. Direct Mapped Caches

Computer Architecture = CS/ECE 552: Introduction to Computer Architecture. 552 In Context. Why Study Computer Architecture?

Contents Slide Set 9. Final Notes on Textbook Chapter 7. Outline of Slide Set 9. More about skipped sections in Chapter 7. Outline of Slide Set 9

Alex Milenkovich 1. CPE/EE 421 Microcomputers. CPE/EE 421 Microcomputers U A H U A H U A H. Instructor: Dr Aleksandar Milenkovic Lecture Notes S01

ECE 154A. Architecture. Dmitri Strukov

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

Chapter 1 Basic Computer Organization

Chapter 2. OS Overview

Computer Organization & Assembly Language Programming. CSE 2312 Lecture 2 Introduction to Computers

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

Design Metrics. A couple of especially important metrics: Time to market Total cost (NRE + unit cost) Performance (speed latency and throughput)

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

PERFORMANCE MEASUREMENT

Computer & Microprocessor Architecture HCA103

o MAC (6/18 or 33%) o WIN (17/18 or 94%) o Unix (0/18 or 0%)

EEC170 Computer Architecture. Lecture 1: Introduction to Computer Architecture

Performance of Computers. EE365: Introduction to Digital Computer Design. So What? Ubiquity of Computers

7/28/ Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc.

Advanced Computer Architecture (CS620)

Lyman Briggs Lecture Series. Group Question. Discussion Questions. Definition of Computer. Definition of Modern Computer. Definition of a Computer

Basic Concepts COE 205. Computer Organization and Assembly Language Dr. Aiman El-Maleh

CHAPTER 1 Introduction

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

ECE 588/688 Advanced Computer Architecture II

ECE520 VLSI Design. Lecture 1: Introduction to VLSI Technology. Payman Zarkesh-Ha

ENIAC - background. ENIAC - details. Structure of von Nuemann machine. von Neumann/Turing Computer Architecture

Transcription:

CMPSCI 201: Architecture and Assembly Language Deepak Ganesan Computer Science Department 1-1 Course Administration Instructor: Deepak Ganesan (dganesan@cs.umass.edu) 250 CS Building Office Hrs: T 10:45-12:15, Tuesday TA: Jessica Krause jkrause@cs.umass.edu Office Hrs: posted on the course web page Labs: Accounts on EDLAB machines URL: www.cs.umass.edu/~dganesan/courses/cs201 Text: Introduction to Computing Systems: From bits and gates to C and beyond Slides: pdf on the course web page after lecture 1-2 1

Chapter 1 Welcome Aboard Slides based on: Gregory T. Byrd, NCSU What is a Computer? 1-4 2

Early Vacuum Tube 1-5 Accumulator (28 vacuum tubes) 3

ENIAC at Moore School, University of Pennsylvania 4

First Transistor 1-9 First Integrated Circuit 1-10 5

Modern Computers 1-11 What are computers? 1-12 6

Moore s Law In 1965, Gordon Moore predicted that the number of transistors that can be integrated on a die would double every 18 to 24 months (i.e., grow exponentially with time). Amazingly visionary million transistor/chip barrier was crossed in the 1980 s. 2300 transistors, 1 MHz clock (Intel 4004) - 1971 16 Million transistors (Ultra Sparc III) 42 Million transistors, 2 GHz clock (Intel Xeon) 2001 55 Million transistors, 3 GHz, 130nm technology, 250mm 2 die (Intel Pentium 4) - 2004 140 Million transistor (HP PA-8500) 1-13 Processor Performance Increase Intel Pentium 4/3000 DEC Alpha 21264A/667 DEC Alpha 21264/600 Intel Xeon/2000 DEC Alpha 5/500 DEC Alpha 4/266 DEC Alpha 5/300 DEC AXP/500 IBM POWER 100 IBM RS6000 MIPS M2000 SUN-4/260 MIPS M/120 HP 9000/750 1-14 7

DRAM Capacity Growth 4M 16M 128M 256M 512M 64M 1M 16K 64K 256K 1-15 1987 vs. 2007 System IBM PC/AT Nokia 6682 Smartphone Year 1987 2007 Cost $2000 $150 Form factor ½ desktop Pocket CPU 12 MHz 80286 220MHz ARM Memory 512KB 8MB Storage 20MB hard disk, 1.2MB floppy 1GB mini-sd flash Display 80x25 monochrome text 176x208 pixel color Peripherals Keyboard Camera, phone, web 1-16 8

Introduction to the World of Computing Computer: electronic genius? NO! Electronic idiot! Does exactly what we tell it to, nothing more. Goal of the course: You will be able to write programs in C and understand what s going on underneath. Approach: Build understanding from the bottom up. Bits Gates Processor Instructions C Programming 1-17 Two Recurring Themes Abstraction Productivity enhancer don t need to worry about details Can drive a car without knowing how the internal combustion engine works. until something goes wrong! Where s the dipstick? What s a spark plug? Important to understand the components and how they work together. Hardware vs. Software It s not either/or both are components of a computer system. Even if you specialize in one, you should understand capabilities and limitations of both. 1-18 9

Big Idea #1: Universal Computing Device All computers, given enough time and memory, are capable of computing exactly the same things. = = PDA Workstation Supercomputer 1-19 Turing Machine Mathematical model of a device that can perform any computation Alan Turing (1937) ability to read/write symbols on an infinite tape state transitions, based on current state and symbol Every computation can be performed by some Turing machine. (Turing s thesis) a,b T add a+b a,b T mul ab Turing machine that adds For more info about Turing machines, see http://www.wikipedia.org/wiki/turing_machine/ Turing machine that multiplies For more about Alan Turing, see http://www.turing.org.uk/turing/ 1-20 10

Universal Turing Machine A machine that can implement all Turing machines -- this is also a Turing machine! inputs: data, plus a description of computation (other TMs) T add, T mul a,b,c U c(a+b) Universal Turing Machine U is programmable so is a computer! instructions are part of the input data a computer can emulate a Universal Turing Machine A computer is a universal computing device. 1-21 From Theory to Practice In theory, computer can compute anything that s possible to compute given enough memory and time In practice, solving problems involves computing under constraints. time weather forecast, next frame of animation,... cost cell phone, automotive engine controller,... power cell phone, handheld video game,... 1-22 11

Big Idea #2: Transformations Between Layers Problems Algorithms Language Instruction Set Architecture Microarchitecture Circuits Devices 1-23 How do we solve a problem using a computer? A systematic sequence of transformations between layers of abstraction. Problem Algorithm Program Instr Set Architecture Software Design: choose algorithms and data structures Programming: use language to express design Compiling/Interpreting: convert language to machine instructions 1-24 12

Deeper and Deeper Instr Set Architecture Microarch Circuits Devices Processor Design: choose structures to implement ISA Logic/Circuit Design: gates and low-level circuits to implement components Process Engineering & Fabrication: develop and manufacture lowest-level components 1-25 Descriptions of Each Level Problem Statement stated using "natural language" may be ambiguous, imprecise Algorithm step-by-step procedure, guaranteed to finish definiteness, effective computability, finiteness Program express the algorithm using a computer language high-level language, low-level language Instruction Set Architecture (ISA) specifies the set of instructions the computer can perform data types, addressing mode 1-26 13

Descriptions of Each Level (cont.) Microarchitecture detailed organization of a processor implementation different implementations of a single ISA Logic Circuits combine basic operations to realize microarchitecture many different ways to implement a single function (e.g., addition) Devices properties of materials, manufacturability 1-27 Many Choices at Each Level Solve a system of equations Red-black SOR Gaussian elimination Jacobi iteration Multigrid FORTRAN C C++ Java PowerPC Intel x86 Atmel AVR Centrino Pentium 4 Xeon Tradeoffs: cost performance power (etc.) Ripple-carry adder Carry-lookahead adder CMOS Bipolar GaAs 1-28 14

Course Outline Bits and Bytes How do we represent information using electrical signals? Digital Logic How do we build circuits to process information? Processor and Instruction Set How do we build a processor out of logic elements? What operations (instructions) will we implement? Assembly Language Programming How do we use processor instructions to implement algorithms? How do we write modular, reusable code? (subroutines) I/O, Traps, and Interrupts How does processor communicate with outside world? C Programming How do we write programs in C? How do we implement high-level programming constructs? 1-29 Midterms, Homeworks and Grading Grading breakdown 1. Homeworks (5) 20% 2. Programming Assignments (4-5) 30% 3. Midterm (90 minutes) 25% 4. Final (90 minutes) 25% Late Submission Policy: Upto 2 days late for 50% of grade Academic Dishonesty: We really don t expect it to happen Please don t disappoint us 1-30 15