
Microprocessors
are like... a handyman
by
Reggie Huff
To supplement my meager GI-Bill
funds during my college years, I hired myself out to do odd jobs, fix
stuff, install things, whatever I could manage to do for folks.
Eventually I evolved a little
handyman business focused on the wealthy-widow-with-big-house market in
Santa Barbara. I routinely charged $8/hour for stuff I knew how to do,
and dropped it to $6/hour if I'd never done it before.
I was a general-purpose, all-around
kind of fix-it guy. I learned painting, plumbing, carpentry, home electrical,
tile work, gardening, automotive repair Š whatever was needed. A typical
customer call might involve moving a medicine cabinet, installing closet
lights, repairing a broken door, fixing a leaky sink, or painting a wall.
The jobs I'd do varied wildly from day to day, and I often didn't know
what I'd actually be confronted with until I arrived and got the instructions
for the day.
Typically, microprocessors are
versatile, general-purpose machines capable of a vast variety of tasks
and routines. A microprocessor is the "brain" of each of our personal
computers. The job they do on any given day is determined by the list
of steps to perform (programs) they get when they start work. The programs
microprocessors follow are primarily stored in RAM (volatile memory) where
they can be easily and regularly changed. And frequently changed they
are.
When you load your spreadsheet
program on a PC, what's happening is that the list of instructions telling
the microprocessor to perform the spreadsheet job is copied from the disk
drive into RAM. When you start your Internet browser program, the application
program for acting like a browser is copied into RAM in the same fashion.
When you "quit" or "close" an
application program, its instruction list is simply voided and then overwritten
in RAM.
Much like a handyman, microprocessors
are typically given a wide variety of jobs to perform; just consider how
many PC software programs are available! Each program is a different and
unique.
Embedded Processors
In my senior year at university,
I got a "regular" job with a plumbing company. I drove the plumbing company
van to customer calls, and therefore became very limited in the scope
of jobs I would perform. I might clear a clogged drain, seal a leaky faucet,
or even install a sink, but gardening, painting, and electrical work were
no longer part of my available routine.
Even though I was capable of
doing those other jobs, in my plumber role the list of valid instructions
which could make up my jobs for the day (my plumber's instruction set)
ensured I would merely do the same plumbing tasks over and over. In short,
I was a general-purpose handyman embedded in a plumbing job.
The term Embedded Processor refers
to a system in which a microprocessor is given a fixed, unchanging program
to follow. To say a microprocessor is embedded means that its control
program is maintained in some non-volatile memory such as ROM, PROM, EPROM,
etc.
When the control program (software)
is never-changing and stored in non-volatile memory, it is referred to
as "firmware." Embedded processors usually perform the same task set,
the same instruction routine, eternally.
Theodore J. Kaczynski (better
known as the UnaBomber) was, allegedly, a brilliant mathematician (a powerful
processor) living in an isolated shack. Despite his renowned processing
capability, his daily routine was likely to be rather limited: fetch fire
wood, fetch water, sleep, make fire, write thoughts, plot crimes, water
garden. Kaczynski was a powerful processor embedded in isolated survival.
OK...So What's a Microcontroller?
Many systems can be successfully designed using either a microprocessor
or microcontroller, and so the distinction between the two may be subtle.
Being simple minded myself, I have an easy way to remember the difference
between them. I recall it as follows:
Processors are designed to Process stuff
Controllers are designed to Control stuff
Processing stuff is like: Find
all of the people in Nebraska between the ages of 30 and 34, find their
average income, and sort them by zip code. Processors use an instruction
set which is optimized for processing data.
Controlling stuff is like: Detect
current temperature and compare to the temperature dial setting. Turn
on the heater or turn on the cooler as required, then display the detected
temperature. Controllers have instruction sets optimized for control operations.
A microcontroller is simply a controller with RAM and ROM on-chip so that
the set of instructions that dictates its operation can be stored therein.
Microcontrollers often incorporate
a variety of special functions such as display drivers, A/D converters,
and/or D/A converters where functional blocks are specifically suited
for the job that controller will perform. Microcontrollers are typically
smaller and less expensive than their more versatile counterparts.
Microcontrollers seem to be in
almost everything we use, including TV remote-control units, crock pots,
automobile engines, elevators...the list is nearly endless. I believe
that more than 12 billion microcontrollers are in service today-that's
two for every man, woman and child on the planet!
Personified, a microcontroller
might equate to a worker whose job is extremely limited in scope and marked
by continuous repetition. This could include an assembly line employee
who installs the same one or two parts all day long, a shipper/receiver
who endlessly loads and unloads boxes... or the clerk at the "service"
window of any state or federal government office.
While these jobs do not require
much "processing," they often attract highly controlling personalities.
Now you know why.
"Microprocessors are
Like Š a Handyman" first appeared on EBNONLINE.COM on December 6,
1999.
©
Copyright 1999, 2000, 2001 Huff Communications. All Rights Reserved.
|