15
1 1-1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. CMPSCI 201: Architecture and Assembly Language Deepak Ganesan Computer Science Department 1-2 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Course Administration Instructor: Deepak Ganesan ([email protected]) 250 CS Building Office Hrs: T 10:45 - 12:15, Tuesday TA: Jessica Krause [email protected] 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

CMPSCI 201: Architecture and Assembly Languagenone.cs.umass.edu/~dganesan/courses/fall09/handouts/… ·  · 2009-09-027 1-13 Copyright © The McGraw-HillCompanies, Inc. Permission

Embed Size (px)

Citation preview

1

1-1

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

CMPSCI 201: Architecture andAssembly Language

Deepak GanesanComputer Science Department

1-2

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Course AdministrationInstructor: Deepak Ganesan ([email protected])

250 CS BuildingOffice Hrs: T 10:45 - 12:15, Tuesday

TA: Jessica Krause [email protected] Office Hrs: posted on the course web page

Labs: Accounts on EDLAB machinesURL: www.cs.umass.edu/~dganesan/courses/cs201Text: Introduction to Computing Systems: From

bits and gates to C and beyondSlides: pdf on the course web page after lecture

2

Chapter 1Welcome Aboard

Slides based on:Gregory T. Byrd, NCSU

1-4

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

What is a Computer?

3

1-5

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Early Vacuum Tube

Accumulator(28 vacuum tubes)

4

ENIAC at Moore School, University ofPennsylvania

5

1-9

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

First Transistor

1-10

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

First Integrated Circuit

6

1-11

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Modern Computers

1-12

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

What are computers?

7

1-13

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Moore’s LawIn 1965, Gordon Moore predicted that the number oftransistors that can be integrated on a die woulddouble every 18 to 24 months (i.e., growexponentially with time).

Amazingly visionary – million transistor/chip barrierwas 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, 250mm2

die (Intel Pentium 4) - 2004• 140 Million transistor (HP PA-8500)

1-14

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Processor Performance Increase

SUN-4/260 MIPS M/120MIPS M2000

IBM RS6000

HP 9000/750

DEC AXP/500 IBM POWER 100

DEC Alpha 4/266DEC Alpha 5/500

DEC Alpha 21264/600

DEC Alpha 5/300

DEC Alpha 21264A/667Intel Xeon/2000

Intel Pentium 4/3000

8

1-15

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

DRAM Capacity Growth

16K

64K

256K

1M

4M

16M64M

128M256M

512M

1-16

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

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

9

1-17

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Introduction to the World of ComputingComputer: 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 Cand understand what’s going on underneath.

Approach:Build understanding from the bottom up.Bits ➨ Gates ➨ Processor ➨ Instructions ➨ C Programming

1-18

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Two Recurring ThemesAbstraction

• 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.

10

1-19

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Big Idea #1: Universal Computing Device

All computers, given enough time and memory,are capable of computing exactly the same things.

= =PDA

WorkstationSupercomputer

1-20

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Turing MachineMathematical model of a device that can performany 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 someTuring machine. (Turing’s thesis)

Tadda,b a+b

Turing machine that adds

Tmula,b ab

Turing machine that multiplies

For more info about Turing machines, seehttp://www.wikipedia.org/wiki/Turing_machine/

For more about Alan Turing, seehttp://www.turing.org.uk/turing/

11

1-21

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Universal Turing MachineA machine that can implement all Turing machines-- this is also a Turing machine!

• inputs: data, plus a description of computation (other TMs)

Ua,b,c c(a+b)

Universal Turing Machine

Tadd, Tmul

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-22

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

From Theory to PracticeIn theory, computer can compute anythingthat’s possible to compute

• given enough memory and time

In practice, solving problems involvescomputing under constraints.

• timeweather forecast, next frame of animation, ...

• cost cell phone, automotive engine controller, ...

• power cell phone, handheld video game, ...

12

1-23

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Big Idea #2: Transformations Between Layers

Problems

Language

Instruction Set Architecture

Microarchitecture

Circuits

Devices

Algorithms

1-24

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

How do we solve a problem using a computer?A systematic sequence of transformations betweenlayers of abstraction.

Problem

Algorithm

Program

Software Design:choose algorithms and data structures

Programming:use language to express design

Instr SetArchitecture

Compiling/Interpreting:convert language tomachine instructions

13

1-25

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Deeper and Deeper…

Instr SetArchitecture

Microarch

Circuits

Processor Design:choose structures to implement ISA

Logic/Circuit Design:gates and low-level circuits toimplement components

Devices

Process Engineering & Fabrication:develop and manufacturelowest-level components

1-26

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

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

14

1-27

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

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-28

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Many Choices at Each Level

Solve a system of equations

Gaussian elimination

JacobiiterationRed-black SOR Multigrid

FORTRAN C C++ Java

Intel x86PowerPC Atmel AVR

Centrino Pentium 4 Xeon

Ripple-carry adder Carry-lookahead adder

CMOS Bipolar GaAs

Tradeoffs:costperformancepower(etc.)

15

1-29

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Course OutlineBits 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-30

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Midterms, Homeworks and GradingGrading breakdown1. 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