computer architecture ece 4801 berk sunar erkay savas

18
Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Upload: hortense-hines

Post on 27-Dec-2015

232 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Computer Architecture

ECE 4801

Berk Sunar Erkay Savas

Page 2: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Outline

Brief OverviewHow is a computer program

executed?Computer organizationRoadmap for this class

Page 3: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Things You Learn in this Course

How computers work; the basic foundationHow to analyze their performance (and how not

to)Key technologies determining the performance

of modern processorsDatapath DesignPipeliningCache Systems Memory HierarchyI/OMultiprocessors

Page 4: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Instruction Set ArchitectureImportant abstraction

Interface between hardware and low-level software

Or features available to programmersinstructions set architecture (ISA)

e.g. does the processor have an multiply instruction?

instruction encodingData representationI/O mechanism.addressing mechanism

Modern instruction set architectures:80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS,

SPARC, HP, ARM.

Page 5: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Computer OrganizationComputer Organization is how features are

implemented in hardwareTransparent to programmersDifferent implementations are possible for the

same architecture (affects performance/price)Determines how memory, CPU, peripherals,

busses are interconnected and how control signals routed.

Has HUGE impact on performance.Performance of the organization is usually

application dependent. (e.g. I/O intensive, computation intensive, memory bound etc.)

Page 6: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

How to Program a Computer?A simple but universal interface Machine Code (binary images)Assembly language

Uses mnemonics that map directly to ISA e.g. addw, lb, jmp etc.

More readable than machine languagesError prone but excellent for low-level optimization

High-level languagesE.g. C/C++, Pascal, Fortran, Java, C#Much easier to use and program Promotes code portabilityNot as efficient as custom assembly

Page 7: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Processing a C Program

C compiler

Assembler

swap:

muli $2, $5, 4add $2, $4, $2lw $15, 0($2)lw $16, 4($2)sw $16,0($2)sw $15, 4($2)jr $31

Assembly language program for MIPS

High-level language program (in C)

00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000

Binary machinelanguage program for MIPS

swap (int v[], int k){ int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; }

Page 8: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Functions of a Computer

Data processing , e.g. sort entries of a spreadsheet

Data storage, e.g. personal files, applications, movies, music etc.

Data movement, e.g. play a music file, display a picture

Control, (applies to all examples above)

Page 9: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Five Classic ComponentsComputer

Processor

Datapath

Control

Input

Output

System Interconnection

Memory

Page 10: Computer Architecture ECE 4801 Berk Sunar Erkay Savas
Page 11: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Bridges

Page 12: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Inside the Processor Chip

integerdatapath

floating-pointdatapath

Bus

Control

branchpredictionInstruction

Cache

Data Cache

Page 13: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

An Actual View

22nm Intel Core CPUSource: Intel Corp.

https://computing.llnl.gov/tutorials/parallel_comp/

6 core CPU with L3 caches

Page 14: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

MemoryNonvolatile:

ROMHard disk, floppy disk, magnetic tape, CDROM, USB

MemoryFlash memory

VolatileDRAM used usually for main memory SRAM used mainly for on-chip memory such as

register and cacheDRAM is much cheaper than SRAMSRAM is much faster than DRAM

How about solid state drives?

Page 15: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

DRAM and Processor Characteristics

Page 16: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Solutions to Memory ProblemsIncrease number of bits retrieved at one

timeMake DRAM “wider” rather than “deeper”

Change DRAM interfaceCache

Reduce frequency of memory accessMore complex cache and cache on chip

Increase interconnection bandwidthHigh speed busesHierarchy of buses

Page 17: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Computer NetworksVery essential aspect of computer systems

CommunicationResource sharingRemote access

Ethernet is the most popular LANRange is limited to 1 kilometer10/100 Mbit/s

Wide Area Networks (WAN)Cross continents and backbone of the

Internet

Page 18: Computer Architecture ECE 4801 Berk Sunar Erkay Savas

RoadmapPerformance issues Instruction set of MIPSArithmetic and ALU Constructing a processor to execute our

instructions (datapath design)PipeliningMemory hierarchy: caches and virtual

memory I/O