ECE 511 Microprocessors - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

ECE 511 Microprocessors

Description:

Class participation required for various reasons. Grading ... It is a core class. You may actually do computer ... expect to get out of this class ... – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 34
Provided by: Sapn
Learn more at: http://mason.gmu.edu
Category:

less

Transcript and Presenter's Notes

Title: ECE 511 Microprocessors


1
ECE 511 Microprocessors
  • Subbaiah Venkata

2
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

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

4
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

5
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

6
Books
  • Primary Textbook
  • Modern Processor Design  Fundamentals of
    Superscalar Processors by John Paul Shen and
    Mikko H. Lipasti, 1st Edition, McGraw Hilll,
    2005.
  • Reference Textbook
  • Computer Organization Design The
    Hardware/Software Interface by 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

7
Introduction
  • Overview of Computer Systems

8
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

9
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

10
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

Big picture, high-level view
11
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.

12
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 todays most complex
    processors.
  • To gain experience designing a working CPU
    completely from scratch.
  • To learn experimental techniques used to evaluate
    advanced architectural ideas.

13
Which is faster?
  • load R1, addr1
  • store R1, addr2
  • add R0, R2 -gt R3
  • subtract R4, R3 -gt R5
  • add R0, R6 -gtR7
  • store R7, addr3
  • load R1, addr1
  • add R0, R2 -gt R3
  • add R0, R6 -gt R7
  • store R1, addr2
  • subtract R4, R3 -gt R5
  • store R7, addr3

Twice as fast on some machines and same on
others
  • Three ways to improve performance
  • Algorithm improvement
  • Compiler Generated Code improvement
  • Processor execution improvement

14
Instruction Set Architecture (ISA)
15
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
I/O system
Instr. Set Proc.
Digital Design
Hardware
Circuit Design
Understand the Power of Abstraction
16
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

17
What is Computer Architecture?
What the machine looks like
  • Computer Architecture Machine Organization
  • Instruction
    Set Architecture

How you talk to the machine
18
How to Speak Computer
High Level Language Program
temp vk vk vk1 vk1 temp
Need translation from application to physics
19
Stored Program Concept
  • Todays 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
20
The Five Classic Components of Computers
Computer
Control
Input
Memory
Output
Datapath
We will study these components in this class
21
Calculator vs Computer
Memory
Data Stream (output)
Data Stream (input)
Instructions/Control Stream (Input)
ALU
Registers
CPU
22
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

23
Key ISA decisions
operation
destination operand
  • 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
24
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
25
Price being paid
Always need to think about design in terms of
constraints
26
The Challenge of Computer Architecture
  • The industry changes faster than any other.
  • The ground rules change every year.
  • new problems
  • new opportunities
  • different tradeoffs
  • Its all about making programs run faster than
    the next guys machine. Or more efficiently.

27
Microprocessor Design
28
The Instruction Execution Cycle
Instruction Fetch
Obtain instruction from program storage
29
CPU Stages
30
CPU Blocks
Back End
Front End
31
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

32
Computer of the day
Input ears Output mouth Memory paper Datapath
eye-brain-pencil Control brain
Computers 4000 BC to 1940s
  • 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
    humans brainpower.
  • Assume each fire decision corresponds to
    computation of 100,000 transistors (one per
    connection) for one clock cycle.

33
Number Systems andBit Operations
  • Next
Write a Comment
User Comments (0)
About PowerShow.com