408.995.0900 Fax 408.995.0933 info@huffcomm.com www.huffcomm.com

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.