Microprocessor
–
Intro!
Md. Atiqur Rahman Ahad
Introduction to Microcontrollers
Parts of computer: CPU, memory, I/O
•
CPU: Control and data path
•
Memory: Stores instruction and data
•
Input/output: Interact with the outside of
computers
Why Study Microprocessor
Design?
Why Study Microprocessor Design?
°
(as reported in Microprocessor Report, Vol 13, No. 5)
•
Emotion Engine: 6.2 GFLOPS, 75 million polygons per second
•
Graphics Synthesizer: 2.4 Billion pixels per second
•
Claim:
Toy Story
realism brought to games!
Sony Playstation 2000
Why Study Microprocessor Design?
Wireless Sensor Networks Platform
Power Metering Application
Microcontrollers vs Microprocessors
•
A microprocessor is a
CPU on a single
chip.
•
If a microprocessor, its associated support
circuitry, memory and peripheral I/O
components are implemented
on a single
chip
, it is a
microcontroller
.
What is an Embedded System?
•
A combination of computer hardware and
software, and perhaps additional mechanical
or other parts, designed to perform a dedicated
function.
•
In some cases, embedded systems are part of a
larger system or product, as is the case of an
anti
-
lock braking system in a car. Contrast
with general
-
purpose computer.
•
Examples range from washing machines,
cellular phones to missiles and space shuttles.
•
Embedded Systems
–
Operations managed behind the scenes by a
microcontroller
•
Microcontroller (MCU)
–
An integrated electronic computing device that
includes three major components on a single
chip
•
Microprocessor (MPU)
•
Memory
•
I/O (Input/Output) ports
What is an Embedded System?
•
Electronic devices that incorporate a
computer (usually a microprocessor) within
their implementation.
•
A computer is used in such devices
primarily as a means to simplify the system
design and to provide flexibility.
•
Often the user of the device is not even
aware that a computer is present.
Killer
apps!
•
Communications
network routers, switches,
hubs.
•
Children’s toys
•
Fuel injection control, passenger environmental
controls, anti
-
lock braking systems,
•
Air bag controls,
•
GPS mapping.
•
Automotive Navigation systems, automatic landing
systems, flight attitude controls,
•
Engine controls, space exploration ……..
Where are the embedded devices?
•
Instrumentations: Data collection, oscilloscopes,
signal generators, signal analyzers, power supplies.
•
Industrial: Elevator controls, surveillance systems,
robots.
•
Home: Dishwashers, microwave ovens, VCRs,
televisions, stereos, fire/security alarm systems,
lawn sprinkler controls, thermostats, cameras, clock
radios, answering machines.
•
Printers, scanners, keyboards, displays,
modems,
hard disk drives, CD
-
ROM drives.
Embedded Rocks!
•
Embedded processors account for 100% of
worldwide microprocessor production!
•
Embedded:desktop = 100:1
•
Embedded Systems is a big, fast growing industry
$ 40 billions in 2000
$92.0 billion in 2008
$112.5 billion (estimated) by the end of 2013
•
Embedded hardware
was worth $89.8 billion in
2008 and is expected to reach $109.6 billion in
2013
•
Embedded software
generated $2.2 billion in
2008. This should increase to $2.9 billion in 2013
•
Microprocessors/Microcontrollers
are the
core
of embedded systems.
http://www.bccresearch.com/report/embedded
-
systems
-
technologies
-
markets
-
ift016c.html
Computer Technology
Dramatic Change
•
Processor
–
2X in speed every 1.5 years;
100X performance in last decade
•
Memory
–
DRAM capacity: 2X / 2 years;
64X size in last
decade
–
Cost per bit: improves about 25% per year
•
Disk
–
capacity: > 2X in size every 1.0 years
–
Cost per bit: improves about 100% per year
–
250X size in last decade
Computer Technology
Dramatic Change!
•
State
-
of
-
the
-
art PC (at least…)
–
Processor clock speed:
5000
Mega
Hertz
(5.0
Giga
Hertz)
–
Memory capacity:
4000
Mega
Bytes
(4.0
Giga
Bytes)
–
Disk capacity:
2000
Giga
Bytes
(2.0
Tera
Bytes)
–
New units!
Mega
=>
Giga
,
Giga
=>
Tera
(Kilo, Mega,
Giga
,
Tera
,
Peta
,
Exa
,
Zetta
,
Yotta = 10
24
)
Kilo, Mega, etc. are incorrect Terminologies!
Microprocessors
are everywhere
in our life.
Microcontroller Components
–
Memory
•
Each memory location has
a specific address
•
We must supply an address
to access the corresponding
location
•
R/W allows us to select
reading or writing
•
Various types of memory
for different functions and
speeds
Memory location 0
Memory location 1
Memory location n
-
1
Memory location n
-
2
address
data
r/w
Microcontroller Components
–
Memory
•
Read Only Memory
-
Memory that can only be read
–
Holds the program code for a microprocessor used in an embedded
system where the code is always the same and is executed every
time the system is switched on
–
Computer BIOS, boot
-
up information
•
Other types of Read Only Memory
–
Erasable Programmable Read Only Memory (EPROM)
–
Similar
to ROM but can be erased (exposure to ultraviolet light) and
reprogrammed
–
Electrically Erasable Programmable Read Only Memory
(EEPROM)
–
more common that EPROM because it can be erased
by the microprocessor
–
Flash Memory, Ferroelectric RAM (FRAM), Magnetic Random
Access Memory (MRAM)
Microcontroller Components
–
Memory
•
Random Access Memory
–
used to store dynamic data when processor
is running
–
Holds program code and data during execution
–
Can be accesses in any random order
–
unlike takes or disks
•
Some types of RAM
–
Static RAM (SRAM)
–
Uses transistors to store bits, fast SRAM is used
for cache
–
Dynamic RAM (DRAM)
–
Uses capacitors to store bits, must be
refreshed, smaller and cheaper than SRAM
•
Fast Page Mode (FPM), Extended Data Out (EDO)
•
Synchrounous DRAM (SDRAM)
–
introduced in 1997 and replaced most
DRAM in computers by 2000
•
Double Data Rate (DDR SDRAM)
–
uses both clock edges found today in
most computers
•
Direct Rambus DRAM (RDRAM)
–
somewhat of a flop
Microcontroller Components
–
CPU
•
Smart part
–
Processes instructions and data
–
All the parts of a microprocessor
•
Registers
–
fast memory used to
store operands and other
information
–
Condition register
–
positive/negative result
–
Exception register
–
overflow
condition
–
Loop count register
•
Load
-
store architecture
Register 0
Register 1
Register n
-
1
data
address
r/w
CPU
ALU
inst
Microcontroller Components
–
I/O
•
Connection to the outside world
•
Examples
–
Analog to Digital Converter
–
Temperature Sensor
–
Display
–
Communications Circuit
Microcontroller Components
–
BUS
•
Group of wires used to transport information
•
CPU to Memory
–
Address bus
–
Data bus
•
CPU to I/O
–
Port mapped I/O
–
used when address space is limited,
special instructions are needed for I/O
–
Memory mapped I/O
–
I/O looks like memory
locations, easier to use and common in Reduced
Instruction Set Computing (RISC)
MPU
-
Based Systems
•
System hardware
–
Discrete components
•
Microprocessor, Memory, and I/O
–
Components connected by buses
•
Address, Data, and Control
•
System software
–
A group of programs that monitors the
functions of the entire system
MPU
-
Based Time
and Temperature System
MCU
-
Based Systems
•
Includes microprocessor, memory, I/O
ports, and support devices (such as timers)
on a single semiconductor chip
•
Buses are generally not available to a
system designer
•
I/O ports are generally multiplexed and can
be programmed to perform different
functions
MCU
-
Based Time
and Temperature System
Read
--
Computer Architectures
•
Princeton versus Harvard Architecture
•
CISC versus RISC processors
•
Microprocessors and Microcontrollers
Processor Performance
CPU Time
= # Cycles
×
Cycle Time
= # Instructions
×
CPI
×
Cycle Time
CPI: Cycles per instruction
Embedded System Programming
•
Key factors in embedded programming
–
Speed
–
timing constraints, limited processing power
–
Code size
–
limited memory, power
•
Programming methods
–
Machine Code
–
bits
–
Low level language
–
assembly
–
High level language
–
C, C++, Java
–
Application level language
–
Visual Basic, Access
•
Levels of abstraction
–
factor out details to focus
on few concepts at a time
Embedded System Programming
•
Why use C in embedded programming?
–
Ease of management of large embedded projects
–
Provides an additional level above assembly
programming
–
Fairly efficient
–
Supports access to I/O
•
Why use assembly?
–
High speed, low code size
–
However, difficult to do a large project in assembly
•
From various sources
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο