Sunteți pe pagina 1din 65

COSC3330 Computer Architecture

Lecture 0. Introduction

Instructor: Weidong Shi (Larry), PhD Computer Science Department University of Houston

Course Information
Web page:
cosc3330 http://i2c.cs.uh.edu/class/spring2014-

Will be constantly updated, so check it out regularly

Prerequisite: COSC 2410 and MATH 3336 Textbooks


Patterson and Hennessey, Computer Organization &

Design: The Hardware/Software Interface.

Objectives To Learn
Core concepts of computer logics
Numbers Logic gates Combinational logic Sequential logic

Core concepts of microprocessor architecture


ISA (instruction set architecture) Pipelining Hazards Cache/Memory hierarchy Multiprocessor

Grading Policy
3 Assignments: 35% (two with programming)
Individual work, no collaboration Due in the first 5 min before class starts No late turn-in will ever be accepted

Exams
2 in-class exams: 40% (20% each, dates TBD) Final: 20%

Class participation
5%

Final grade is relative to your peer in class

Happy Hacking
3 Exams 3 Homeworks 25%

Work in a team
Maximum team size five

Still have to do the three homework assignments, and the three exams
Maximum 15% bonus 10% risk

90%

Happy Hacking

FPGA Bitcoin Mining

Previous Years
Homebrew computer from microchips FPGA (embedded CPU)

Two Programming Assignments


Branch prediction

Cache analysis

Cache Timing Analysis


Break encryption software using cache timing analysis

Hack Iphone 5S

Things Apple doesnt want you to do.

Augmented Reality

Introduction

Introduction
Rapidly changing field: vacuum tube -> transistor -> IC -> VLSI (see section 1.4) doubling every 1.5 years:

memory capacity processor speed (Due to advances in technology and organization)

Things youll be learning: how computers work, a basic foundation how to analyze their performance issues affecting modern processors (caches, pipelines)
Why learn this stuff? you want to call yourself a computer expert

Why Learn This Stuff?


you need to make a purchasing decision or offer expert advice

Why Learn This Stuff?

you want to build software people use (need performance)

Why Computer Architecture?


Exploit advances in technology
Make things Faster, Smaller, Cheaper,

Which enables new applications


3D games 10 years ago?

Make things possible


Defeat world chess champion using your home computer Finance modeling Weather forecasting and disaster simulation Personalized medicine Large scale services The advancement of computer architecture is vital for the advancement of all other areas of computing!

The Growth Engine

Computing hardware with increased capabilities at the same cost (Moores Law)

Our abilities to leverage the new capabilities for innovations

Google Server Count

Who Owns The Most Servers

IBM Brain Simulation Project

What Is a Computer?
Components:
Processor(s) Co-processors (graphics, security) Memory (disk drives, DRAM, SRAM, CD/DVD) Input (mouse, keyboard, mic) Output (display, printer) Network

Our primary focus:


The processor (datapath and control)

implemented using millions of transistors Impossible to understand by looking at each transistor We need...

Abstraction
High Level Language
main() { int i,b,c,a[10]; for (i=0; i<10; i++) a[2] = b + c*i; }

Compiler

Delving into the depths reveals more information An abstraction omits unneeded detail, helps us cope with complexity What are some of the details

ISA

lw r2, mem[r7] add r3, r4, r2 st r3, mem[r8]

that appear in these familiar abstractions?

Assembler

Row-binary Card for IBM 701

Punched Cards for Computer Programs. by Douglas W. Jones

HP Basic Card

Punched Cards for Computer Programs. by Douglas W. Jones

Why Are Programs Not Written in Assembly?

Why Are Programs Not Written in Assembly?

Great Virtues of a Programmer

Great Virtues of a Programmer

Laziness: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs. Impatience: The anger you feel when the computer is being lazy.

Hubris: The quality that makes you write (and maintain) programs that other people won't want to say bad things about.

Who Still Writes in Assembly?

HP LaserJet Rootkit

FIRMWARE REVERSE ANALYSIS KONSOLE

32

33

High Speed Trading?

Inline Assembly GPU FPGA


34

Stack of A Computing Problem


Problems Algorithms

Programming Languages
Compilers ISA System Architecture Implementation MicroArchitecture

Architects Territory

Logic and Circuits Transistors Manufacturing

Quantum Computer
Quantum computer, a machine potentially far ahead of todays best supercomputers Makes use of such unusual properties of quantum physics as a particles ability to move in one direction and its opposite at the same time

A Typical PC System Architecture

A Typical PC Motherboard (D975XBX)

A Typical PC Motherboard (D975XBX)

Historical Perspective
ENIAC built in World War II was the first general purpose computer
Used for computing artillery firing tables 80 feet long by 8.5 feet high and several feet wide Each of the twenty 10 digit registers was 2 feet long Used 18,000 vacuum tubes Performed 1900 additions per second

First Reported Computer Bug

Transistors
Invented at Bell Laboratories in 1947. John Bardeen, Walter Brattain, and William Schockly received Nobel Prize in Physics in 1956 for Inventing Transistors.
First application: telephone signal amplification Replaced cumbersome and inefficient vacuum tubes Smaller Cheaper Less heat dissipation

Transistors
Model of First Transistor Silicon Wafer

Made from Silicon (Sand) Transistors can now be found on a single silicon wafer in most common electronic devices

IBM 701 to Intel Core I7

IBM 701

701 Pluggable Unit

701 - IBMs first stored program computer Scientific calculations IBM 701 Pluggable Unit 8 vacuum tubes one bit for each of the storage, accumulator and multiplier quotient registers. 274 similar electronic units

Intel Core i7 Die


731,000,000 Transistors 8-Core Xeon 2.3 Billion Transistors

Intel Founders
Robert Noyce (1927~1990)
Nicknamed Mayor of Silicon Valley Cofounded Fairchild Semiconductor in 1957 Cofounded Intel in 1968 Co-invented the integrated circuit (IC)

Gorden Moore (1929~)


Cofounded Intel in 1968 with Robert Noyce. Moores Law: the number of transistors on a computer chip doubles every year (observed in 1965) Since 1975, transistor counts have doubled every two years

Moores Law
1.7 billions Montecito

90 nm 596 mm2

10 m 3.5mm2

42millions

Exponential growth 2,250

Transistor count will be doubled every 18 months Gordon Moore, Intel co-founder

Integrated Circuits Capacity

Feature Size

Average Transistor Cost Per Year

Gamers Perspective
1976 Channel F 1984 NES 1989 SEGA GENESIS 1994 PS1 1999 PS2 2005 XBOX 360

CPU chip: Fairchild F8, 1.79 MHz RAM: 64 bytes, 2 kB VRAM

CPU chip: CPU chip: 8-bit processor Motorola 68K produced by Ricoh 16/32-bit PPU Processor RAM: 7.67 MHz 2KB RAM, RAM: 2KB VRAM 64KB RAM, 64KB VRAM

CPU chip: MIPS R3000 32-bit CPU at 33.8688 MHz Graphics engine RAM: 2MB

CPU chip: Emotion Engine clocked at 294.912 MHz Graphics Synthesizer RAM: 32 MB RDRAM

CPU chip: Triple-core 64bit PowerPC, at 3.2GHz. ATI GPU RAM: 512MB GDDR3

x86 History (as of 2008)

x86?
What is x86?
Generic term referring to processors from Intel, AMD and VIA Derived from the model numbers of the first few generations of processors: Now it generally refers to processors from Intel, AMD, and VIA
x86-16: 16-bit processor x86-32 (aka IA32): 32-bit processor x86-64: 64-bit processor * IA: Intel Architecture 8086, 80286, 80386, 80486 x86

Intel takes about 80% of the PC market and AMD takes about 20%

Apple also have been introducing Intel-based Mac from Nov. 2006

x86 History (Cont.)


4-bit 8-bit 16-bit 32-bit (i386)

32-bit (i586)

32-bit (i686)

64-bit (x86_64)

2009 Core i7

P6 Story
The Pentium Chronicles: The People, Passion, and Politics Behind Intel's Landmark Chips

Robert Colwell. Chief IA32 architect on the Pentium Pro, Pentium II, Pentium III, and Pentium 4 microprocessors.

ARM
ARM Holdings PLC, a technology company headquartered in England. ARM architecture
32 bit RISC processor Simple design and low power

The most widely-used 32bit microprocessor family in the world


ARM headquarters at Cambridge, UK

ARM History
1978: Cambridge Processor Unit

Founded in 1978 by Hermann Hauser & Chris Curry First contract was with ACE Coin Equipment to develop Fruit Machine hardware!

1979: Acorn Computer Ltd

Changed its name to Acorn Computer Ltd

ARM Founded in 1990

Joint venture between Apple, VLSI, and Acorn (IP and engineers)

First ARM Chip: 1985


1985: ARM1
3.0m 25K Transistors 6MHz 120mW 50mm2 65nm 100K Transistors 350MHz (60x speed) 9mW (1/780thenergy) 0.1mm2(1/500tharea)

2005: ARM7TDMIr4

Retrospective
ever worked with - brilliant; but when we decided to do a microprocessor on our own, I made two great decisions I gave them [Steve Furber and Sophie Wilson] two things which National, Intel and Motorola had never given Steve Furber. Principle their design teams: the first was no designer of ARM. money; the second was no people. The only way they could do it was to keep it really simple." -- Hermann Hauser The Founder of Acorn Computer Ltd.
Sophie Wilson. Designer of ARM ISA.

"Steve is one of the brightest guys I've

ARM Powered Mobile Devices


The ARM was designed to be small and cheap So low power was a happy accident! The need for low power was driven by battery powered mobile consumer electronics
1993 1993 2001 2005 2007 2008

2010

Active Book Newton Message Game Boy Advance Nintendo DS ARM2aS Pad, ARM610 ARM7TDMI ARM946E-S & ARM7TDMI

Kindle ARM1136J

iPhone3G iPad and Droid-X ARM1176JZ Cortex-A8

IP Licensing
ARM CPUs
Account for over 75% of all 32-bit embedded CPUs. 1.7 billion chips based on ARM design were manufactured in 2005. Use in portable devices, and computer peripherals
PDAs, mobile phones, media players, handheld gaming units, and calculators. Hard drives and desktop routers.

But none of the chips is manufactured by ARM Holdings PLC

Unlike Intel, AMD, etc. ARM only licenses its technology as IP (Intellectual Property)

Getting Smaller

Getting More Powerful

Where We Are Headed


Logic gates Combinational logic Sequential logic Arithmetic and how to build an ALU

Where We Are Headed


Performance issues Instruction set architecture Instructions pipelining to improve performance Superscalar processor Memory: caches and virtual memory

Where We Are Headed


VLIW Vector machine GPU I/O and bus Storage devices
Magnetic disk, flash, solid state drive

Virtualization Future trend I will try to cover as much as possible

S-ar putea să vă placă și