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

Introduction to Computer Organization - pages.cs.wisc.edupages.cs.wisc.edu/~rrahulnayar/cs252/Spring2017/lectures/Lecture1.pdf · Introduction to Computer Engineering ... All computers,

  • Upload
    vuduong

  • View
    217

  • Download
    2

Embed Size (px)

Citation preview

Introduction to Computer

Engineering

CS/ECE 252, Spring 2017

Rahul Nayar

Computer Sciences Department

University of Wisconsin – Madison

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

If Still on Waitlist

• your name

• your student ID number

• your major(s);

• your year (fresh, sr, jr, soph)

• mail [email protected]

• HW 1 is due on WED no extension

• Post all questions in Piazza

• Read Chapters before Class

1-2

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

1-3

Chapter 1

Welcome Aboard

Slides based on set prepared by

Gregory T. Byrd, North Carolina State University

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

1-5

Computer System: Layers of Abstraction

Software

Hardware

Application Program

Language

Instruction Set Architecture(and I/O Interfaces)

Microarchitecture

Circuits

Devices

Algorithms

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

1-6

Big Idea #1: Universal Computing Device

All computers, given enough time and memory,

are capable of computing exactly the same things.

= =

PDAWorkstation

Supercomputer

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

1-7

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

1-8

Turing Machine

Mathematical 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 some Turing machine. (Turing’s thesis)

Tadda,b a+b

Turing machine that adds

Tmula,b ab

Turing machine that multiplies

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

1-9

Universal Turing Machine

Turing described a Turing machine that could implementall other Turing machines.

• inputs: data, plus a description of computation (Turing machine)

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,

and vice versa

Therefore, a computer is a universal computing device!

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

1-10

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

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

Go to the link

• Is calculator a computer ?

• Are computers predictable ?

• What factors do you need to make the computer

predictable ?

• Is “Turing Machine” is computer ?

1-11

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

1-12

Big Idea #2: Transformations Between Layers

How do we solve a problem using a computer?A systematic sequence of transformations between

layers of abstraction.

Problem

Algorithm

Program

Software Design:

choose algorithms and data structures

Programming:

use language to express design

Instr Set

Architecture

Compiling/Interpreting:

convert language to

machine instructions

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

1-13

Deeper and Deeper…

Instr Set

Architecture

Microarch

Circuits

Processor Design:

choose structures to implement ISA

Logic/Circuit Design:

gates and low-level circuits to

implement components

Devices

Process Engineering & Fabrication:

develop and manufacture

lowest-level components

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

Go to the link

1-14

• Can we do away with any/multiple instruction layer?

• Does you want to continue this form of class interaction

in future classes?

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

1-15

Iron Law

Processor Performance = ---------------Time

Program

Architecture --> Implementation --> Realization

Compiler Designer Processor Designer Chip Designer

Instructions Cycles

Program Instruction

Time

Cycle

(code size)

= X X

(CPI) (cycle time)

Mikko Lipasti -- University of Wisconsin 15

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

Who used this Phrase ?

1-16

… the attributes of a [computing] system as seen by the

programmer. I.e. the conceptual structure and functional

behavior, as distinct from the organization of the data flows

and controls, the logic design, and the physical

implementation.

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

1-17

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

Go to the link

1-18

• Does you want to continue this form of class interaction

in future classes?

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

1-19

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

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

1-20

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

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

1-21

Many Choices at Each Level

Solve a system of equations

Gaussian

elimination

Jacobi

iterationRed-black SOR Multigrid

FORTRAN C C++ Java

Intel x86Sun SPARC Compaq Alpha

Pentium II Pentium III AMD Athlon

Ripple-carry adder Carry-lookahead adder

CMOS Bipolar GaAs

Tradeoffs:

cost

performance

power

(etc.)

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

1-22

What’s Next

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?