ece 511 microprocessors l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
ECE 511 Microprocessors PowerPoint Presentation
Download Presentation
ECE 511 Microprocessors

Loading in 2 Seconds...

play fullscreen
1 / 33

ECE 511 Microprocessors - PowerPoint PPT Presentation


  • 548 Views
  • Uploaded on

ECE 511 Microprocessors Subbaiah Venkata Class Introduction About the Lecturer No TA for the class About Students: need some info CS vs ECE vs Other Software vs Hardware Programmers vs Non-Programmers Full-timve vs Part-time New vs Old Students Course Webpage

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ECE 511 Microprocessors' - jaden


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ece 511 microprocessors

ECE 511 Microprocessors

Subbaiah Venkata

class introduction
Class Introduction
  • About the Lecturer
    • No TA for the class
  • About Students: need some info
    • CS vs ECE vs Other
    • Software vs Hardware
    • Programmers vs Non-Programmers
    • Full-timve vs Part-time
    • New vs Old Students
  • Course Webpage
    • http://mason.gmu.edu/~svenkata/ECE511
    • Keep looking for all course-related information

ECE 511 Microprocessors

beautiful computer courses
Beautiful Computer Courses
  • Algorithms – CS 583
  • Operating Systems – CS 571
  • Microprocessors – ECE 511
  • Language Processors/Compilers – CS 540
  • Computer Networks – ECE 542

ECE 511 Microprocessors

course outline
Course Outline
  • Computer Organization, Design and Architecture
  • Number systems and computer arithmetic
  • Assembly language programming
  • ISA and instruction encoding
  • Performance evaluation and metrics
  • Microprocessor design
    • Data path
    • Control path
    • Pipelining
    • Superscalar
    • Out-of-order execution
  • Memory hierarchy
  • I/O subsystem

ECE 511 Microprocessors

grading
Grading
  • Exams - 60%
    • Midterm - 30%
    • Final - 30%
  • Projects - 30%
    • Project I - 15%
    • Project II - 15%
  • Homeworks - 10%
  • Class participation – required for various reasons
  • Grading policy: relative

ECE 511 Microprocessors

books
Books
  • Primary Textbook
    • Modern Processor Design:  Fundamentals of Superscalar Processorsby John Paul Shen and Mikko H. Lipasti, 1st Edition, McGraw Hilll, 2005.
  • Reference Textbook
    • Computer Organization & Design: The Hardware/Software Interfaceby David A. Patterson and John L. Hennessy, 3rd Edition, June 2007.
  • Additional references are in the course webpage
  • Lectures will not follow any book directly

ECE 511 Microprocessors

introduction

Introduction

Overview of Computer Systems

overview
Overview
  • Applications & Developers
    • Apple vs Microsoft
    • Browser, Email, Blog, Calculator, Office, Games, …
  • Languages & Compilers
    • Assembly, C, C++, Java, C#, Perl, Python, Ruby …
  • Operating Systems
    • Unix (BSD, Linux, Solaris, MacOS) vs Windows
  • Communication & Network Systems
    • LAN, MAN, WAN and Wireless
    • TCP/IP
  • Computer Systems
    • Apple, Microsoft, Intel, IBM, HP, Google, Dell …
  • Microprocessors
    • General purpose - Pentium vs AMD vs PowerPC
    • Special purpose – Embedded, Cell and Network Processors

ECE 511 Microprocessors

history of microprocessor
History of Microprocessor
  • A CPU that is manufactured as a single integrated circuit is usually known as a microprocessor.
  • Inventors
    • Intel vs Texas Instruments (TI)
    • Microprocessor vs Microcontroller (single chip calculator)
    • Jack Kilby, Nobel Prize laureate in physics in 2000 for his invention of the integrated circuit in 1958 while working at TI. He is also the inventor of handheld calculator and thermal printer.
    • Gary Boone, TI was awarded U.S. Patent 3,757,306 for the single-chip microprocessor architecture on September 4, 1973
  • So many pioneers…

ECE 511 Microprocessors

hardware designer vs computer architect
Hardware Designer thinks about circuits, components, timing, functionality, ease of debugging

“construction engineer”

Computer Architect thinks about high-level components, how they fit together, how they work together to deliver performance.

“building architect”

Hardware Designer vs Computer Architect

Big picture, high-level view

ECE 511 Microprocessors

why do i care
Why do I care?
  • It is a core class
  • You may actually do computer architecture someday
  • You may actually care about software performance someday
    • The ability of application programs, compilers, operating systems, etc. to deliver performance depends critically on an understanding of the underlying computer organization.
    • That becomes more true every year.
    • Computer architectures become more difficult to understand every year.

ECE 511 Microprocessors

what you can expect to get out of this class
What you can expect to get out of this class
  • To become conversant with computer architecture terms and concepts.
  • To understand fundamental concepts in computer architecture and how they impact computer and application performance.
  • To be able to read and evaluate architectural descriptions of even today’s most complex processors.
  • To gain experience designing a working CPU completely from scratch.
  • To learn experimental techniques used to evaluate advanced architectural ideas.

ECE 511 Microprocessors

which is faster
load R1, addr1

store R1, addr2

add R0, R2 -> R3

subtract R4, R3 -> R5

add R0, R6 ->R7

store R7, addr3

load R1, addr1

add R0, R2 -> R3

add R0, R6 -> R7

store R1, addr2

subtract R4, R3 -> R5

store R7, addr3

Which is faster?

Twice as fast on some

machines and same on others

  • Three ways to improve performance
  • Algorithm improvement
  • Compiler Generated Code improvement
  • Processor execution improvement

ECE 511 Microprocessors

the instruction set architecture
The Instruction Set Architecture
  • Is the agreed-upon interface between all the software that runs on the machine and the hardware that executes it.

Application

Software

Operating

System

Compiler

Instruction Set

Architecture

Instr. Set Proc.

I/O system

Digital Design

Hardware

Circuit Design

Understand the Power of Abstraction

ECE 511 Microprocessors

computer organization
Computer Organization
  • Once you have decided on an ISA, you must decide how to design the hardware to execute those programs written in the ISA as fast as possible (or as cheaply as possible, or using as little power as possible, …).
  • This must be done every time a new implementation of the architecture is released, with typically very different technological constraints

ECE 511 Microprocessors

what is computer architecture
What is Computer Architecture?

Computer Architecture = Machine Organization +

Instruction Set Architecture

What the machine looks like

How you talk to the machine

ECE 511 Microprocessors

how to speak computer

Compiler

lw $15, 0($2)

lw $16, 4($2)

sw $16, 0($2)

sw $15, 4($2)

Assembly Language Program

Assembler

1000110001100010000000000000000

1000110011110010000000000000100

1010110011110010000000000000000

1010110001100010000000000000100

Machine Language Program

ISA

Machine Interpretation

Control Signal Spec

ALUOP[0:3] <= InstReg[9:11] & MASK

How to Speak Computer

High Level Language Program

temp = v[k];

v[k] = v[k+1];

v[k+1] = temp;

Need translation from application to physics

ECE 511 Microprocessors

stored program concept

Memory

Game

Accounting

Program

Editor

Program

C compiler

Students Data

Book text

C code

Stored Program Concept
  • Today’s computers are build on two key principles:
    • Instructions are represented as numbers
    • Programs are stored in memory to be read or written, just like numbers

I/O

Subsystem

Address &

Data Bus

CPU

ECE 511 Microprocessors

the five classic components of computers
The Five Classic Components of Computers

Computer

Control

Input

Memory

Output

Datapath

We will study these components in this class

ECE 511 Microprocessors

calculator vs computer
Calculator vs Computer

Memory

Data

Stream

(output)

Data

Stream

(input)

Instructions/Control

Stream (Input)

ALU

Registers

CPU

ECE 511 Microprocessors

the instruction set architecture22
The Instruction Set Architecture
  • That part of the architecture that is visible to the programmer
    • opcodes (available instructions)
    • number and types of registers
    • instruction formats
    • storage access, addressing modes
    • exceptional conditions

ECE 511 Microprocessors

key isa decisions
Key ISA decisions

destination operand

operation

  • operations
    • how many?
    • which ones

y = x + b

source operands

  • operands
    • how many?
    • location
    • types
    • how to specify?

(add r1, r2, r5)

  • instruction format
    • size
    • how many formats?

We will learn in this course how to make these decisions

ECE 511 Microprocessors

processor performance with time
Processor Performance with Time

Technology

shift

towards

multi-cores

[Multiple processors on the same chip]

Performance

Scalar

Superscalar

Out-of-order

SMT

Year of introduction

We will study the various kinds of processors

ECE 511 Microprocessors

price being paid
Price being paid

Always need to think about design in terms of constraints

ECE 511 Microprocessors

the challenge of computer architecture
The Challenge of Computer Architecture
  • The industry changes faster than any other.
  • The ground rules change every year.
    • new problems
    • new opportunities
    • different tradeoffs
  • It’s “all” about making programs run faster than the next guy’s machine. Or more efficiently.

ECE 511 Microprocessors

the instruction execution cycle

Determine required actions and instruction size

Instruction

Decode

Locate and obtain operand data

Operand

Fetch

Compute result value or status

Execute

Deposit results in storage for later use

Result

Store

Determine successor instruction

Next

Instruction

The Instruction Execution Cycle

Obtain instruction from program storage

Instruction

Fetch

ECE 511 Microprocessors

cpu stages
CPU Stages

ECE 511 Microprocessors

cpu blocks
CPU Blocks

Back End

Front End

ECE 511 Microprocessors

cpu elements
CPU Elements
  • Program Counter or PC contains the address of the instruction that will be executed next
  • Stack – a data structure of last in first out type
    • A stack is described by a special register – stack pointer
    • It can be used explicitly to save/restore data
    • It is used implicitly by procedure call instructions (if available in the instruction set)
  • IR – instruction register that holds the current instruction being processed by the microprocessor; it is not exposed through the instruction set architecture; just an organization element

ECE 511 Microprocessors

computer of the day
Computer of the day

Input: ears

Output: mouth

Memory: paper

Datapath: eye-brain-pencil

Control: brain

  • Human brain has about 10 billion neurons.
  • Each is connected to about 100,000 other neurons.
  • A neuron can “fire” about 1000 times/sec.
  • Estimate when microprocessors will exceed a human’s brainpower.
    • Assume each “fire” decision corresponds to computation of 100,000 transistors (one per connection) for one clock cycle.

Computers:

4000 BC to 1940’s

ECE 511 Microprocessors