Top Banner
44

IS 139 Lecture 1 - 2015

Jul 15, 2015

Download

Technology

Aron Kondoro
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IS 139 Lecture 1 - 2015
Page 2: IS 139 Lecture 1 - 2015

Overview - 1

How does a computer work?

How components fit together

Control signals, signaling methods, memory types

How do I design a computer?

Structure and behavior of computer systems

ISA – instruction sets and formats, op codes, data

types, no. and type of registers, addressing modes,

memory access methods, I/O mechanisms

Page 3: IS 139 Lecture 1 - 2015

Overview - 2

It’s all about function & structure

Structure => the way in which components are

interrelated

Function => the operation of each individual

component

Page 4: IS 139 Lecture 1 - 2015

What is Computer Architecture

Computer Architecture is the science and art of

selecting and interconnecting hardware components

to create computers that meet functional,

performance and cost goals.” - WWW Computer

Architecture Page

Page 5: IS 139 Lecture 1 - 2015

What is Architecture

The role of a building architect:

Materials: Steel, Concrete, Brick, Wood, Glass

Goals: Function, Cost, Safety, Ease of Construction,

Energy Efficiency, Fast Build Time, Aesthetics

Buildings: Houses, Offices, Apartments, Stadiums,

Museums

Page 6: IS 139 Lecture 1 - 2015

What is Computer Architecture

The role of a computer architect:

Technology: Logic Gates, SRAM, DRAM, Circuit Techniques, Packaging, Magnetic Storage, Flash Memory

Goals: Function, Performance, Reliability, Cost/Manufacturability, Energy Efficiency, Time to Market

Computers: Desktops, Servers, Mobile Phones, Supercomputers, Game Consoles, Embedded

Page 7: IS 139 Lecture 1 - 2015

Architecture vs

Organization

Architecture vs organization

Architecture = attributes visible to programmers e.g.

instruction set, I/O mechanisms, addressing modes

Organization = units & their interconnections that

realize architectural specs e.g. control signals, I/O

interfaces, memory technology used

Manufacturers offer family of models => same

architecture but different organizations

Page 8: IS 139 Lecture 1 - 2015

Why study computer

architecture?

Program optimization – understanding why a

program/algorithm runs slow

for (int i = 0; i < n; i++) {

for (int j = 0; j < n; j++) {

/* operate on A[i][j] ... */

}

}

for (int j = 0; j < n; j++) {

for (int j = 0; i < n; i++) {

/* operate on A[i][j] ... */

}

}

Page 9: IS 139 Lecture 1 - 2015

Why study computer

architecture?

Understanding Floating Point arithmetic crucial for

large, real world systems

Javascript: 0.1 + 0.2 === 0.3 (True or False)?

1000 + 0.5 + 0.5 => (1000 + 0.5) +0.5 vs 1000 + (0.5

+ 0.5)

Page 10: IS 139 Lecture 1 - 2015

Why study computer

architecture?

Design of peripheral systems i.e. device drivers

How I/O is performed

Interrupt mechanism

Device interfaces

Page 11: IS 139 Lecture 1 - 2015

Why study computer

architecture?

Design tradeoffs of embedded systems

System on a Chip (SoC)

Performance vs Power

Cost

Size

Page 12: IS 139 Lecture 1 - 2015

Why study computer

architecture?

Benchmarking

http://www.howtogeek.com/177790/why-you-cant-use-cpu-clock-speed-to-compare-computer-performance/

http://en.wikipedia.org/wiki/Megahertz_myth

Intel Core i3-4360 (3.7GHz)

8GB DDR3-2133 RAM

Nvidia GeForce GTX 980

Samsung SSD 850 Pro 512GB SSD

$900

AMD FX-8320E (4.6GHz)

8GB DDR3-2133 RAM

Nvidia GeForce GTX 980

Samsung SSD 850 Pro 512GB SSD

$1200

VS

Page 13: IS 139 Lecture 1 - 2015

Why study computer

architecture?

Building better compilers, OS’s

Take advantage of new instructions

Avoid costly instructions

Better utilize memory/caches/registers

Page 14: IS 139 Lecture 1 - 2015

Why study computer

architecture?

Writing software that takes advantage of hardware

features – parallelism

Multi-threading

Page 15: IS 139 Lecture 1 - 2015

You should be able to

Understand how programs written in high level languages get translated & executed by the H/W

Determine the performance of programs and what affects them

Understand techniques used by hardware designers to improve performance

Evaluate and compare the performance of different computing systems

Page 16: IS 139 Lecture 1 - 2015

General purpose

computers

Software and hardware are interrelated

“Anything that can be done with software can also

been done with hardware, and anything that can be

done with hardware can be done with software” –

Principal of Equivalence of H/W and S/W

This observation allows us to construct general

purpose computing systems with simple instructions

Page 17: IS 139 Lecture 1 - 2015

Functions of general purpose

computer

Data processing

Data can take various forms

Data storage

Temporarily or long term

Data movement

Between itself & outside world

Control

Orchestrates the different parts

Page 18: IS 139 Lecture 1 - 2015

Computer Organization & architecture - Stallings

Page 19: IS 139 Lecture 1 - 2015

What makes a computer?

Processor – data path & control

Memory

Mechanism to communicate with the outside world

Input

Output

Page 20: IS 139 Lecture 1 - 2015

Organization of a

computer

Computer Organization & design - Patterson

Page 21: IS 139 Lecture 1 - 2015

Design Goals

Functional

Needs to be correct

Reliable

Does it continue to perform correctly?

Hard fault vs transient fault

Space satellites vs desktop vs server reliability

High performance

“Fast” is only meaningful in the context of a set of important tasks

Not just “Gigahertz” – truck vs sports car analogy

Impossible goal: fastest possible design for all programs

Page 22: IS 139 Lecture 1 - 2015

Design Goals

Low cost

Per unit manufacturing cost (wafer cost)

Cost of making first chip after design (mask cost)

Low power/energy

Energy in (battery life, cost of electricity)

Energy out (cooling and related costs)

Cyclic problem, very much a problem today

Challenge: balancing the relative importance of these goals

And the balance is constantly changing

No goal is absolutely important at expense of all others

Our focus: performance, only touch on cost, power, reliability

Page 23: IS 139 Lecture 1 - 2015

Classes of computers

Desktop computers

Familiar to most people i.e. Intel Core 2 Duo, Core i7, AMD Athlon

Features: good performance, single user, execution of third party software

Need: integer, memory bandwidth, integrated graphics/network?

Servers

Hidden from most users – accessible via a network – Cloud computing – in data centers

Features: handling large workloads, dependability, expandability

From cheap low ends to extreme super computers with thousands of processors used for forecasting, oil exploration

Embedded computers

The largest class – wide range of applications & performance

In cars, cell phones, video game consoles, planes

Need: low power, low cost

Page 24: IS 139 Lecture 1 - 2015

Tons of features

Page 25: IS 139 Lecture 1 - 2015

A look inside

Page 26: IS 139 Lecture 1 - 2015

How did we get here?

A lot has happened in the 60+ year life span

E.g. if transportation industry developed at same pace – here to London in 1 sec for a few cents

Different generations in the evolution of computers

Each generation defined by a distinct technology used to build a computer at that time

Why? – gives perspective & context into design decisions, understand why things are as they are

Page 27: IS 139 Lecture 1 - 2015

Generation 0: Mechanical

Calculating Machines - 1

Defining characteristic - mechanical

1500s

There was a need to make decimal calculations faster

Mechanical calculator (Pascaline) – Blaise Pascal No memory, not programmable

Used well into 20th century

Difference Engine – Charles Babbage “Father of Computing” Used method of difference to solve polynomial functions

Was still a calculator

Page 28: IS 139 Lecture 1 - 2015

Generation 0: Mechanical

Calculating Machines - 2

Analytical engine – an improvement over “Difference Engine” – It was a significant development

More versatile – capable of performing any math operation

Similar to modern computers – mill (processor), store (memory) & input/output devices

Conditioning branch op – next instruction depending on previous

Ada, Countess of Lovelace suggested a plan for how the machine should calculate numbers – The first programmer

Used punch cards for input & programming – this method survived for a long time

Page 29: IS 139 Lecture 1 - 2015
Page 30: IS 139 Lecture 1 - 2015

Generation 0

Drawbacks

Slow – limited by the inertia of moving parts (gears &

pulleys)

Cumbersome, unreliable & expensive

Page 31: IS 139 Lecture 1 - 2015

1st Generation: Vacuum Tube

Computers (1945 -1953)

Defining characteristic: use of vacuum tubes as switching

technology

Previous generations were mechanical but not electrical

Konrad Zuse – in 1930s added electrical tech & other

improvements to Babbage’s design

Z1 used electromechanical relays – was programmable,

had memory, arithmetic unit, control unit

Used discarded film for input

Page 32: IS 139 Lecture 1 - 2015

1st Generation

John Atanasoff, John Mauchly, J. Presper Eckert –credited with the invention of digital computers; However many others contributed

Their work resulted in ENIAC (Electronic numerical Integrator and Computer) in 1946 – the first all electronic, general purpose digital computer

Was built to facilitate weather prediction but ended up being financed & by the US army for ballistic trajection calculations

Page 33: IS 139 Lecture 1 - 2015
Page 34: IS 139 Lecture 1 - 2015

2nd Generation: Transistorized

Computers (1954 – 1965)

Defining characteristic: Use of transistor as switching technology

Vacuum tube tech was not very dependable – they tended to burn out

In 1948 at Bell Laboratories – John Bardeen, Walter Brattain & William Shockley invented the TRANSISTOR

Was a revolution – Transistors are smaller, more reliable, consume less power

Caused circuitry to become more smaller & more reliable

Emergence of companies such as IBM, DEC & Unisys

Page 35: IS 139 Lecture 1 - 2015

3rd Generation: Integrated Circuit

Computers (1965 – 1980)

Defining characteristic: Integration of dozens of transistors on a single silicon/germanium piece – “microchip” or “chip”

Kibly started with germanium, Robert Noyce eventually used silicon

Led to the silicon chip => “Silicon Valley”

Allowed dozens of transistors to exist on a single chip smaller than a single discrete transistor

Effect: Computers became faster, smaller & cheaper

E.g. IBM System/360, DEC’s PDP-8 and PDP-11

Page 36: IS 139 Lecture 1 - 2015
Page 37: IS 139 Lecture 1 - 2015

4th Generation: VLSI (1980 - )

Defining characteristic: Integration of very large numbers of transistors on a single chip

3rd generation had only multiple transistors on a chip

No. increased as manufacturing techniques improved: SSI (<100) => MSI (<1000) => LSI (<10,000) => VLSI (>10,000)

Led to the development of first microprocessor (4004) by Intel in 1971

Effect: allowed computers to be cheaper, smaller & faster – led to development of microprocessors

Computers for consumers: Altair 8800 => Apple I & II => IBM’s PC

Page 38: IS 139 Lecture 1 - 2015

5th Generation?

Quantum computing

Artificial Intelligence

Massively parallel machines

Non Von Neumann architectures

Page 39: IS 139 Lecture 1 - 2015

Common themes in evolution of

computers

The same underlying fundamental concepts

Obsession with

Increase in performance

Decrease in size

Decrease in cost

Page 40: IS 139 Lecture 1 - 2015

Moore’s Law

How small can we make transistors? How densely can we pack them

In 1965, Intel founder Gordon Moore stated “the density of transistors in an integrated circuit will double every year” –Moore’s Law

Ended up being every after every 18 months

Has hold up for almost 40 years

However cannot hold forever – physical & financial limits

Rock’s Law: “The cost of capital equipment to build semiconductors will double every for years”

Page 41: IS 139 Lecture 1 - 2015

Moore’s Law

Page 42: IS 139 Lecture 1 - 2015

Moore’s Law

Implications

Cost of a chip remained almost unchanged

Cost of components decreased

Higher packing density, shorter electrical paths

Higher speeds

Smaller size

Increased flexibility

Reduced power & cooling requirements

Fewer interconnections

Increased reliability

Page 43: IS 139 Lecture 1 - 2015

Uniprocessor to Multiprocessor

Because of physical limits – power limits

Clock rates cannot increase forever

Power = capacitive load x V^2 x frequency

Multiple processors per chip – “cores”

Programmers have to take advantage of multiple processors

Parallelism – similar to instruction level parallelism

Page 44: IS 139 Lecture 1 - 2015

Resources

Readings

Computer Organization and Architecture (Stallings) –

Chapter 1 & Chapter 2.1

Computer Architecture Lectures

https://www.youtube.com/watch?v=4TzMyXmzL8M&li

st=PL59E5B57A04EAE09C

https://www.youtube.com/watch?v=TS2odp6rQHU&in

dex=2&list=PL59E5B57A04EAE09C