ECE 3534
Microprocessor System
Design
Prof. P. Athanas
[email protected]
Blackboard Site: http://learn.vt.edu
What we expect of you . . .
An understanding of the basics of
• Combinational and sequential logic
• Binary representations and arithmetic
• Assembly language
• Computer organization
A desire to do some work:
• Laboratory assignments
• Technical content and “Writing intensive” content
• Homework
• Online quizzes
• A mid-semester exam
• A final exam
What you can expect from us . . .
Develop an in-depth understanding of the operation
and design of microprocessors in general, to
include:
Hardware
Software
Integrated systems
Develop a thorough understanding of the Xilinx
MicroBlaze microcontroller as a learning vehicle
Ultimate goal: be able to apply this knowledge to
more advanced microprocessors
Major, Measurable Learning Objectives
Compare alternative microprocessor and
microcontroller features and select
features appropriate for a given
application task.
Major, Measurable Learning Objectives
Design hardware and software, and
compare alternative designs for one or
more specific microprocessors and/or
microcontrollers considering:
address, data, and control signals
input/output hardware and control
software
interrupt hardware and control software
external read-only and read/write memory
system buses
external device addressing
Major, Measurable Learning Objectives
Implement microprocessor-based
systems, including both hardware and
software, using a specific microprocessor
or microcontroller considering
application-oriented software
hardware interfaces
Major, Measurable Learning Objectives
Write and revise technical reports
Course Logistics
ECE3534
QOTD
MWF
Today’s QOTD
QUESTION:
The Sony Playstation 3 features the IBM Cell processor, which has
234 million transistors, measures 235 square millimeters (mm2) in
size, can run at speeds of more than 4 gigahertz (GHz), has a
memory bandwidth of 25.6 gigabytes per second (GBps), and has
an input/output (I/O) bandwidth of 76.8 Gbps.This is a multi-core
processor featuring nine separate processors. One of the processor
cores is most similar to which of the following processors:
a) ARM
b) PowerPC
c) Motorola HC11 GOTO
d) Intel Core Solo BLACKBOARD
e) PIC18 TO ENTER YOUR
f) Intel 8051 ANSWER EVERY
MWF
CHECK
BLACKBOARD
ANNOUNCEMENTS
REGULARLY
EMAIL
ETIQUETTE
Course Introduction
ECE3534
Common Computer Organization
CPU
ALU
Memory I/O
Control
to peripheral
devices
Memory - Stores programs and data
CPU - Central Processing Unit
ALU - Arithmetic & Logic Unit
Control Unit - Sequences data transfers and
other operations
I/O Unit - Communicates with the
“outside world”
Computer Architecture
Classic von Neumann computer organization:
Store programs as codes that can be changed
easily, rather than using special wiring
“General-purpose”
Instructions and data can share the same memory
space
One instruction is executed at a time
A system's architecture is determined by both its
hardware and its software
Computer Programming before
von Neumann
Course Focus
SOFTWARE HARDWARE
Course Focus
ECE3534
Micro
SOFTWARE HARDWARE
Course Focus
ECE4534
Embedded
Systems
ECE3534
Micro
SOFTWARE HARDWARE
Course Focus
ECE4534
ECE4514
Embedded
Digital II
Systems
ECE3534
Micro
SOFTWARE HARDWARE
Course Focus
ECE4534
ECE4514
Embedded
Digital II
Systems
ECE3534
Micro
SOFTWARE HARDWARE
ECE4530
CoDesign
Hardware Design Levels
HARDWARE
Hardware Design Levels
SYSTEM:
Processors, memory, I/O
HARDWARE
Hardware Design Levels
SYSTEM:
Processors, memory, I/O
PROCESSOR:
Instruction sets, interfaces,
data representation
HARDWARE
Hardware Design Levels
SYSTEM:
Processors, memory, I/O
PROCESSOR:
Instruction sets, interfaces,
data representation
REGISTER:
HARDWARE
ALUs, data path
control
Hardware Design Levels
SYSTEM:
Processors, memory, I/O
PROCESSOR:
Instruction sets, interfaces,
data representation
REGISTER:
HARDWARE
ALUs, data path
control
GATE:
Boolean equations, timing,
fanout, etc.
Software Design Levels
SOFTWARE
Software Design Levels
APPLICATION:
Excel, Matlab, Spice
SOFTWARE
Software Design Levels
APPLICATION:
Excel, Matlab, Spice
HIGH-LEVEL LANGUAGE:
C, C++, Java, FORTRAN
Efficiency and Portability
SOFTWARE
Software Design Levels
APPLICATION:
Excel, Matlab, Spice
HIGH-LEVEL LANGUAGE:
C, C++, Java, FORTRAN
Efficiency and Portability
SOFTWARE ASSEMBLY:
Access to machine-specific
resources.
Software Design Levels
APPLICATION:
Excel, Matlab, Spice
HIGH-LEVEL LANGUAGE:
C, C++, Java, FORTRAN
Efficiency and Portability
SOFTWARE ASSEMBLY:
Access to machine-specific
resources.
MACHINE:
Not meant for human
consumption
Microprocessor Progression (Intel)
Name Date Transistors Microns Clock speed Data width MIPS
8080 1974 6,000 6 2 MHz 8 bits 0.64
8086 1978 29,000 3 5 MHz 16 bits
80286 1982 134,000 1.5 6 MHz 16 bits 1
80386 1985 275,000 1.5 16 MHz 32 bits 5
80486 1989 1,200,000 1 25 MHz 32 bits 20
32 bits
Pentium 1993 3,100,000 0.8 60 MHz 100
64-bit bus
32 bits
Pentium II 1997 7,500,000 0.35 233 MHz ~300
64-bit bus
32 bits
Pentium III 1999 9,500,000 0.25 450 MHz ~510
64-bit bus
32 bits
Pentium 4 2000 42,000,000 0.18 1.5 GHz ~1,700
64-bit bus
Pentium 4 32 bits
2004 125,000,000 0.09 3.6 GHz ~7,000
"Prescott" 64-bit bus
Source: http://computer.howstuffworks.com/microprocessor2.htm
(Compiled from The Intel Microprocessor Quick Reference Guide and TSCP Benchmark Scores )
Putting 0.065 Microns in Perspective
What happened to the 10 GHz Goal?
1. Why did Pentiums stall out at about 4 GHz?
2. How is performance being addressed now?
Answers:
1. 2.
Microprocessors
Microprocessor
ALU
Peripheral
Memory I/O
Functions
Control
Address
Data
Control
High performance, general purpose “brains” for PCs and
workstations
Instruction decode and control, arithmetic/logic operations,
registers, timing, external control
Typical cost: $75 -- $500
Annual demand: 10s of millions
Microcontrollers
ALU Microcontroller
Peripheral
Memory I/O
Functions
Control
Address
Data
Control
Devices with high levels of integration for embedded control
Microprocessor functions plus on-chip memory and peripheral
functions (e.g. ports, timers)
"Swiss army knife" of the technology
Typical cost: $1-- $25
Annual demand: billions!
Typical Baseline Microcontroller
Texas Instruments DaVinci
Processor
Toshiba TX4939XBG-400
Faraday Technology StructuredC
Performance vs. functionality
Microprocessors have evolved in two directions
High-end
Microprocessors
Architectural
Complexity
Increasing
circuit
integration
Microcontrollers
On-chip
Functions
Microprocessor vs. Microcontroller
Not always a clear distinction
Today’s microprocessor may be tomorrow’s
microcontroller
Microprocessor
Includes memory management unit
Lots of cache
Performance is most important feature
(cost is important, but secondary)
Used mainly in desktop machines
Microprocessor vs. Microcontroller
Microcontroller
Integrated RAM and ROM
No cache
Includes lots of peripherals
Used mainly in “embedded” applications
Often involves real-time control
Important features include
Low cost
Low power consumption
Number of integrated peripherals
Interrupt response time
Amount of RAM and ROM
Some Microcontroller Applications
"When we sell it we have no idea whether it will end up in a toaster or the
space shuttle” [article in Financial World, 1995]
Pocket pagers
(low-power, interprets characters, user interface)
Cameras
(low-power, exposure and focus control, user interface)
Keyboard controllers
(scanning, debounce, autorepeat, diagnostics)
Modems
(one for data transmission, on for command processing)
Printers / copiers
(paper positioning, color exposure, sensors)
Charge card pay phones
(card reading, dialing, carrier access)
Lawn sprinkler controller
(timer, valve control, user interface)
Instrumentation
(user interface, GPIB interface)
Higher-level View
Sensors Actuators
Microcontroller
User Processing User
Input Output
Timing
Storage
Other Other
Sources Output
The Instruction Cycle
FETCH DECODE EXECUTE
Fetch
Control unit gets next instruction from memory
Decode
Control unit figures out what instruction it has
Execute
Control unit carries out the instruction
by transferring data to/from appropriate places, possibly specifying
ALU micro-operations and
possibly involving I/O hardware.
Coming Soon . . .
MicroBlaze hardware
MicroBlaze software