Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini...

39
Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini ي ن ي س ح له ل ا ع ي ط م د ي سComputer Science Department Umm Al-Qura University - Makkah

Transcript of Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini...

Page 1: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Introduction to

Computer Architecture

1401215-3– Computer Architecture

Syed MutiAllah Hussaini حسيني الله مطيع سيد

Computer Science Department

Umm Al-Qura University - Makkah

Page 2: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Welcome to CA

Instructor:Syed MutiAllah Hussaini الله مطيع سيد

حسيني

Office : CS New Building, 2nd Floor Room #2122

Office Phone: # 0508334623

Schedule and Office Hours:

3 x 50 mins lectures, 0 lab hours

Office Hrs: MON 1-3 PM & THU12-2 PM

Or By appointment

Email:

[email protected] & [email protected] Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

قولي يفقهوا لساني من عقدة احلل أمري ويسري صدري لي اشرح رب

يا م الله� ، نستعين بالخيروبك تّم�م رب� ر تعس� وال ر يس� رب�الباب خير لنا إفتح األبواب مفتح

Page 3: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Grading Policy

Quizzes 20%

Midterm Exam I 20%

Assignment 15%

C.P 5%

Final Exam 40%

Total 100%

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 4: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Late Policy, Attendance, & Makeup

Late Assignment is accepted up to 2 days late

But will be penalized 5% for each late day

Attendance will be taken at the beginning of each lecture

Official / medical excuses must be presented within one week

Late attendance is counted as half presence

Two late attendances are counted as one absence

No makeup exam will be given for missing exam or quiz

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 5: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Software Tools

MIPS Simulators

MARS: MIPS Assembly and Runtime Simulator

Runs MIPS-32 assembly language programs

Website: http://courses.missouristate.edu/KenVollmar/MARS/

CPU Design and Simulation Tool

Logisim

Educational tool for designing and simulating CPUs

Website: http://ozark.hendrix.edu/~burch/logisim/

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 6: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Why Study Computer Architecture? You want to be called “Computer Engineer or Scientist”

You want to become an “expert” on computer hardware

You want to become a “computer system designer”

You want to become a “software designer” and need to understand how to improve code performance

Technology is improving rapidly new opportunities

Has never been more exciting!

Impacts Electrical Engineering and Computer Science

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 7: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Which Books will be Used? Computer Organization & Design

The Hardware/Software Interface David Patterson and John Hennessy (4th edition)

Morgan Kaufmann Publishers

Fourth Edition

Read the textbook in addition to the course slides

References: MIPS32 Architecture Volumes I, II, and III are available online

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 8: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Course Objectives Understand modern computers, their evolution, and

trade-offs at the HW/SW interface Instruction Set Architecture (ISA)

Computer Arithmetic

Performance and Metrics

Pipelining

Understand the design of a modern computer system Datapath design

Control design

Memory System Design

I/O System Design

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 9: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Course Learning Outcomes (CLOs) 1. Ability to compare the performances of different

computers 2. Ability to understand the implementation of

instructions 3. An understanding of how pipelining can improve

the computer performance 4. An understanding of how memory hierarchy can

improve the computer performance 5. Ability to understand the I/O and storage devices

performance 6. Ability to understand the design and principles of

multicore processor architecturesIntroduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 10: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Major Topics Covered in the Course Introduction to computer architecture and computer

performance Revision of Instruction set architecture (for MIPS) How instructions are executed (Data path and Control) Pipelining I/O and storage devices Memory hierarchy Multiprocessor architectures

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 11: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 12: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

You should:

Review definitions and theorems before each class Practice with some exercises before each class Test your skill and knowledge in the checklist for each chapter Consult me with any of your problems before exam (Nothing can

be done once you take the exam)

12BY Syed Mutiullah Hussaini- Sr.Faculty Memeber CS Dept., @UQU

Page 13: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

You must NOT:

Copy the homeworkTry (or even thinking about) cheating on any

quizzes or examsThink that you can pass without study !!!

13BY Syed Mutiullah Hussaini- Sr.Faculty Memeber CS Dept., @UQU

Page 14: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Five Classic Components Since the 1940’s, computers have 5 classic components Input devices

Keyboard, mouse, …

Output devices Display, printer, …

Storage devices Volatile memory devices: DRAM, SRAM, … Permanent storage devices: Magnetic, Optical, and Flash disks, …

Datapath Control Newly added 6th component: Network

Essential component for communication in any computer system

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Together, they are called the Processor

ProcessorComputer

Control

Datapath

Memory

Devices

Input

Output

Page 15: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Fetch - Execute Cycle

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Fetch instruction

Compute address of next instruction

Generate control signals for instruction

Read operands from registers

Compute result value

Writeback result in a register

Instruction Decode

Instruction Fetch

Execute

Writeback Result

Infi

nit

e C

ycle

imp

lem

ente

d in

Har

dw

are

Memory Access Read or write memory (load/store)

Page 16: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

CPU Clocking

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Clock period: duration of a clock cycle e.g., 250 ps = 0.25 ns = 0.25 ×10–9 sec

Clock frequency (rate) = 1 / clock period e.g., 1/ 0.25 ×10–9 sec = 4.0×109 Hz = 4.0 GHz

Clock (cycles)

Data transferand computation

Update state

Clock period

Operation of digital hardware is governed by a clock

Page 17: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

What is “Computer Architecture” ? Computer Architecture =

Instruction Set Architecture +

Computer Organization

Instruction Set Architecture (ISA) WHAT the computer does (logical view)

Computer Organization HOW the ISA is implemented (physical view)

We will study both in this course

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 18: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Instruction Set Architecture (ISA) Is a subset of Computer Architecture Definition by Amdahl, Blaaw, and Brooks – 1964

“… 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.”

An ISA encompasses … Instructions and Instruction Formats Data Types, Encodings, and Representations Programmable Storage: Registers and Memory Addressing Modes: Accessing Instructions and Data Handling Exceptional Conditions

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 19: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Instruction Set Architecture – cont’d

Critical interface between hardware and software Standardizes instructions, machine language bit patterns, etc. Advantage: different implementations of the same architecture Disadvantage: sometimes prevents using new innovations

Examples (versions) Introduced in

Intel (8086, 80386, Pentium, ...) 1978 IBM Power (Power 2, 3, 4, 5) 1985 HP PA-RISC (v1.1, v2.0) 1986 MIPS (MIPS I, II, III, IV, V) 1986 Sun Sparc (v8, v9) 1987 Digital Alpha (v1, v3) 1992 PowerPC (601, 604, …) 1993

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 20: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Overview of the MIPS ISA All instructions are 32-bit wide Instruction Categories

Load/Store Integer Arithmetic Jump and Branch Floating Point Memory Management

Three Instruction Formats

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

R0 - R31

PC

HI

LO

Registers

Op6 Rs5 Rt5 Rd5 funct6sa5

Op6 Rs5 Rt5 immediate16

Op6 immediate26

R-type

I-type

J-type

Page 21: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Computer Organization Realization of the Instruction Set Architecture

Characteristics of principal components

Registers, ALUs, FPUs, Caches, ...

Ways in which these components are interconnected

Information flow between components

Means by which such information flow is controlled

Register Transfer Level (RTL) description

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 22: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Microprocessor Organization

Intel NetBusrt Micro-Architecture

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Fetch &Decode

Trace CacheMicrocode ROM

ExecutionOut-of-Order Core

Retirement

BTBs / Branch PredictionBranch History Update

D-Cache4-way

2nd Level Cache8-way

Front End

Bus Unit Frequently used paths

Less frequently used paths

Front Side Bus

Page 23: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Abstraction Layers

Abstraction hides implementation details between levels Helps us cope with enormous complexity ISA is at the interface between software and hardwareIntroduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Sof

twar

e Application

Operating SystemCompiler

Assembler

Linker Loader

Processor Memory I/O System

Datapath & Control Design

Digital Logic Design

Circuit Design

Physical (IC Layout) Design

Scheduler Device Drivers

Instruction Set Architecture (Interface SW/HW)

Har

dwar

e

Page 24: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Technology Improvements

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Processor transistor count: about 30% to 40% per year

Memory capacity: about 60% per year (4x every 3 years)

Disk capacity: about 60% per year

Opportunities for new applications

Better organizations and designs

Year Technology Relative performance/cost

1951 Vacuum tube 1

1965 Transistor 35

1975 Integrated circuit (IC) 900

1995 Very large scale IC (VLSI) 2,400,000

2005 Ultra large scale IC 6,200,000,000

Page 25: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Growth of Capacity per DRAM Chip

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

DRAM capacity quadrupled almost every 3 years 60% increase per year, for 20 years

Page 26: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Processor Performance (1978-2005)

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Almost 10000x improvement between 1978 and 2005

Slowed down by power and memory latency

Page 27: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Microprocessor Sales (1998 – 2002)

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

ARM processor sales exceeded Intel IA-32 processors, which came second

ARM processors are used mostly in cellular phones

Most processors today are embedded in cell phones, digital TVs, video games, and a variety of consumer devices

Page 28: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

MP Sales 2012

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 29: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Classes of ComputersDesktop / Notebook Computers

General purpose, variety of software

Subject to cost/performance tradeoff

Server ComputersNetwork based

High capacity, performance, reliability

Range from small servers to building sized

Embedded ComputersHidden as components of systems

Stringent power/performance/cost constraints

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 30: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Computer Sales (1998 – 2002)

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 31: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Computers Sales in US (Forecast)

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 32: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

The Processor Market (1997-2007)

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Mil

lio

ns

of

Un

its

Page 33: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Chip Manufacturing Process

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Silicon ingot

Slicer

Blank wafers

Hundreds of Steps

30 cm diameter 1 mm thick

Patterned wafer

Dicer

Individual dies

DieTester

Tested dies

Bond die topackage

Packaged dies

PartTester

Tested Packaged dies

Ship toCustomers

Page 34: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Wafer of Pentium 4 Processors 8 inches (20 cm) in diameter Die area is 250 mm2

About 16 mm per side

55 million transistors per die 0.18 μm technology Size of smallest transistor Improved technology uses

0.13 μm and 0.09 μm

Dies per wafer = 169 When yield = 100% Number is reduced after testing Rounded dies at boundary are useless

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 35: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

CPU Transistor Count (1971 – 2008)

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

10-Core Xeon Westmere-EX introduced in 2011 has 2.6 billion transistors and uses a 32 nm process on a die size = 512 mm2

Page 36: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Effect of Die Size on Yield

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Dramatic decrease in yield with larger dies

Yield = (Number of Good Dies) / (Total Number of Dies)

Defective Die

Good Die

120 dies, 109 good 26 dies, 15 good

(1 + (Defect per area Die area / 2))2

1Yield =

Die Cost = (Wafer Cost) / (Dies per Wafer Yield)

Page 37: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Inside a Multicore Processor Chip

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

AMD Barcelona: 4 Processor Cores

3 Levels of Caches

Page 38: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Course Roadmap Instruction set architecture

Computer arithmetic

Performance issues

Constructing a processor

Pipelining to improve performance

Memory: caches and virtual memory

Introduction to Parallel Architectures

Key to obtain a good grade: Read the Textbook & class Participation + Hard work الزم !جهد

Introduction to Computer Architecture © Syed MutiAllah Hussaini – CS Dept., UQU

Page 39: Introduction to Computer Architecture 1401215-3– Computer Architecture Syed MutiAllah Hussaini سيد مطيع الله حسيني Computer Science Department Umm Al-Qura.

Hope you enjoy this course !Best of Luck

39BY Syed Mutiullah Hussaini- Sr.Faculty Memeber CS Dept., @UQU