CMPSCI 201: Architecture and Assembly Language: Deepak Ganesan Computer Science Department

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

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

CMPSCI 201: Architecture and Assembly Language


Deepak Ganesan Computer Science Department

1-1

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

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 Accounts on EDLAB machines
www.cs.umass.edu/~dganesan/courses/cs201

Labs: URL: Text: Slides:

Introduction to Computing Systems: From bits and gates to C and beyond pdf on the course web page after lecture
1-2

Chapter 1 Welcome Aboard

Slides based on: Gregory T. Byrd, NCSU

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

What is a Computer?

1-4

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

Early Vacuum Tube

1-5

Accumulator
(28 vacuum tubes)

ENIAC at Moore School, University of Pennsylvania

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

First Transistor

1-9

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

First Integrated Circuit

1-10

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

Modern Computers

1-11

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

What are computers?

1-12

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

Moores 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 1980s.
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-13

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

Processor Performance Increase


Intel Pentium 4/3000 DEC Alpha 21264A/667 DEC Alpha 21264/600 Intel Xeon/2000 DEC Alpha 5/500 DEC Alpha 5/300

DEC Alpha 4/266 DEC AXP/500

IBM POWER 100

HP 9000/750 IBM RS6000 SUN-4/260 MIPS M2000 MIPS M/120

1-14

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

DRAM Capacity Growth


512M 256M 128M

64M 16M 4M 1M 256K 64K 16K

1-15

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

1987 vs. 2007

System Year Cost Form factor CPU Memory Storage Display Peripherals

IBM PC/AT 1987 $2000 desktop 12 MHz 80286 512KB 20MB hard disk, 1.2MB floppy 80x25 monochrome text Keyboard

Nokia 6682 Smartphone 2007 $150 Pocket 220MHz ARM 8MB 1GB mini-SD flash 176x208 pixel color Camera, phone, web

1-16

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

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 whats going on underneath. Approach:
Build understanding from the bottom up. Bits Gates Processor Instructions C Programming

1-17

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

Two Recurring Themes


Abstraction
Productivity enhancer dont need to worry about details Can drive a car without knowing how the internal combustion engine works. until something goes wrong! Wheres the dipstick? Whats a spark plug? Important to understand the components and how they work together.

Hardware vs. Software


Its 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

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 Workstation

=
Supercomputer

1-19

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

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. (Turings thesis)

a,b

Tadd

a+b

a,b

Tmul

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

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

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) Tadd, Tmul a,b,c

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

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

From Theory to Practice


In theory, computer can compute anything thats 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

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

Big Idea #2: Transformations Between Layers


Problems Algorithms Language Instruction Set Architecture Microarchitecture Circuits Devices
1-23

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 between layers of abstraction.

Problem Software Design: choose algorithms and data structures Algorithm Programming: use language to express design Program
Instr Set Architecture

Compiling/Interpreting: convert language to machine instructions


1-24

12

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

Deeper and Deeper


Instr Set Architecture

Processor Design: choose structures to implement ISA Microarch Logic/Circuit Design: gates and low-level circuits to implement components Process Engineering & Fabrication: develop and manufacture lowest-level components
1-25

Circuits

Devices

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 1-26

13

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

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

Many Choices at Each Level


Solve a system of equations
Red-black SOR Gaussian elimination C Intel x86 Pentium 4 C++ Jacobi iteration Java Atmel AVR Xeon Multigrid

FORTRAN PowerPC Centrino

Tradeoffs: cost performance power (etc.)

Ripple-carry adder CMOS Bipolar

Carry-lookahead adder GaAs

1-28

14

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

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

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

Midterms, Homeworks and Grading


Grading breakdown 1. Homeworks (5) 2. Programming Assignments (4-5) 3. Midterm (90 minutes) 4. Final (90 minutes) 20% 30% 25% 25%

Late Submission Policy: Upto 2 days late for 50% of grade Academic Dishonesty:
We really dont expect it to happen Please dont disappoint us 1-30

15

You might also like