CSC 2400 Computer Systems I Lecture 3 Big Ideas. 2 Big Idea: Universal Computing Device All computers, given enough time and memory, are capable of computing.

Post on 18-Dec-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

CSC 2400Computer Systems I

Lecture 3

Big Ideas

2

Big Idea: Universal Computing Device

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

= =PDA

WorkstationSupercomputer

Charles Babbage

1791 – 1871

English mathematician, philosopher, inventor and mechanical engineer

“Father of the Computer”

Invented first mechanical computer

3

Babbage’s Difference Engine

4

Ada Lovelace

1815 – 1852

English mathematician and writer

First computer programmer, worked on Difference Engine

Daughter of poet Lord Byron

5

Alan Turing

1912 – 1954

British mathematician, logician, cryptanalyst, and computer scientist

“Father of Computer Science and Artificial Intelligence”

Cracked the Enigma

6

Enigma machine

Electro-mechanical rotor cipher machine

Encrypt & decrypt secret messages

Select a combination of letters as a code

Type each letter of msg

Write down each coded letter

7

8

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

Tadda,b a+b

Turing machine that adds

Tmula,b ab

Turing machine that multiplies

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!

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

11

Computer System: Layers of Abstraction

Software

Hardware

Application Program

Language

Instruction Set Architecture (and I/O Interfaces)

Microarchitecture

Circuits

Devices

Algorithms

12

Big Idea: Transformations Between LayersHow do we solve a problem using a computer?A systematic sequence of transformations between layers of abstraction.

ProblemProblem

AlgorithmAlgorithm

ProgramProgram

Software Design:choose algorithms and data structures

Programming:use language to express design

Instr SetArchitecture

Instr SetArchitecture

Compiling/Interpreting:convert language to machine instructions

13

Deeper and Deeper…

Instr SetArchitecture

Instr SetArchitecture

MicroarchMicroarch

CircuitsCircuits

Processor Design:choose structures to implement ISA

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

DevicesDevices

Process Engineering & Fabrication:develop and manufacturelowest-level components

14

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

15

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

16

What is a Compiler?

• A compiler is a program• Its input is the text of a program in a particular

language, say C• The compiler translates the C code into the

instruction set understood by the computer• The translation is not a line by line transliteration.

Optimization.

17

Simple ExampleFrom a program we write:

sum = x + y + z;

How it might look using ISA-defined machine instructions:

ADD t1, x, y

ADD t2, t1, z

MOV sum, t2

18

What is the ISA?ISA = Instruction Set Architecture

•List of all instructions, or operations, the computer can do•Instruction: type of instruction, 0 or more operands•Instruction format: What do the instructions look like?•Example instruction: 1000 0004 0002

ADD 4 2•Types of instructions: ADD, MULT, LOAD, STORE•Types of operands: the data types, addressing modes

19

Levels of computer language

User: applications (Word, Excel, Netscape, etc.)

High-level: Java, C++, C (sort of medium-level)

Low-level: Assembly language (human-readable machine language)

ISA: instruction set, addressing modes ofa specific line of computers

Microarchitecture: bit settings that activate specific data flows

Hardware: understands voltages

MachineIndependent

MachineDependent

Moore's Law (1967) Noted that the

number of transistors per unit area had doubled every year from 1958 to 1965

Expected the trend to last “for at least ten years”

Gordon MooreCo-founder of Intel

Often misquoted as Often misquoted as “the speed will double “the speed will double

every 18 months”every 18 months”

Number of Transistors over Time

10 GHz

1 GHz

100 MHz

10 MHz

1 MHz

Processor vs. Memory Speed over Time

10 GHz

1 GHz

100 MHz

10 MHz

1 MHz

What’s the State-of-the-Art?•Fastest commercially available CPU: ~5GHz

•Fastest experimental CPU: 500Ghz– Need to cool it down to 4°K, though

•Fastest theoretical transistor: 1THz

The End of Moore’s Law?•Production limitations

•Physical limitations

•Bottleneck issues

•Market issues

1940sElectromagnetic

Relays

pre-1940sMechanical 1950s

VacuumTubes

1960sTransistors

since 1970sIntegrated

Circuits

Quantum Computers?

The Future

top related