
A brisk frisk
with CISC & RISC
by
Reggie Huff
This past weekend I found myself
sitting next to the cooler, watching my Brother Wildman navigate the flames
as he barbecued our dinner. He looked up at me and said "Brother, git
me beer, will ya?" (He's from Texas.)
Cleary a simple request to interpret.
A simple project to execute.
Neither of us noticed at the
time, but there was a true invisible complexity suffusing the entire matter.
Furthermore, that invisible complexity consisted of two very distinct
domains: Interpretation and Execution.
Interpretation was the easy part,
because Wildman and I share a pretty well established Background of Obviousness.
For example, I instantly concluded that:
He wanted the beer
cold not warm
He'd prefer it to be fresh and clean (not handed to him in the
half-filled glass with the cigarette butt in it) He sought a can, or bottle,
or glass of it (not a case, a keg, a palette, or a barrel of beer)
He wanted it to be delivered within the next few minutes (not in
the next few weeks or months)
Even though he IS from Texas,
I was quite confident that I had correctly interpreted his instruction
and that, if I could execute the task, the whole thing would be a success.
The hard part of navigating the
invisible complexity was in the Execution. What at first seemed to be
a very simple instruction-especially since I was already sitting next
to the cooler- was, as it turns out, far more complex than I had ever
imagined.
You see, this "Git beer" project
ultimately amounted to a very complex sequence of steps in which I would
send a single signal down a nerve to cause a muscle to contract or relax.
An extremely simplified beginning to the myriad steps might include rotating
my head to the left to view the cooler.
This in turn would have required
me to:
send a signal to contract the left horizontal control muscles for
each eye
send a signal to relax the right horizontal control muscles for
each eye
send a signal to contract the left neck muscles
send a signal to relax the right neck muscles
As I rotated my upper torso to
begin my lean toward the cooler, I would have needed to: send a signal
to my upper left back muscle Etc.
CISC is an acronym for Complex
Instruction-Set Computing. RISC is an acronym for Reduced Instruction-Set
Computing.
Both CISC and RISC instructions
must be interpreted and then broken down into a sequence of steps (like
"Turn this transistor on" or "Turn that transistor off") that will allow
the computer to perform its task.
"Turn this transistor on," and
"Turn that transistor off" are the computer equivalent of "Send a signal
to contract this muscle," and "Send a signal to relax that muscle." When
the original program finally gets translated all the way down to its basic
sequence of 1's and 0's, the format is called Machine Language.
CISC processors are designed
to accept very high level (Complex) instructions. They then break these
instructions down into the many constituent steps necessary to execute
the instruction...and that interpretation takes time.
Most available microprocessors
are CISC type:
| 8086 |
68000 |
| 286 |
68020 |
| 386 |
68030 |
| 486 |
68040 |
| Pentium |
Centurion |
RISC processors are optimized to accept less complex (Reduced) instructions.
Since these reduced instructions take less time to interpret down to machine
language, each instruction can be executed more quickly. The downside
is that it takes many more of these reduced instructions in the program
to accomplish the same task that you could specify with a single-line
complex instruction.
RISC processors you may be familiar
with include:
| Sun |
Sparc
|
| MIPS
|
HP PA
|
| Digital
Alpha |
IBM R6000
|
| Power
Series |
PowerPC
|
Wildman gave me a complex instruction
with his one liner "Brother, git me beer, will ya?" Had he been using
reduced instructions, he might have told me to:
Reach out to the cooler
with your left arm
Grasp the leading edge of the cooler top
Move the cooler top to its opened position
Reach into the ice water and locate a can
Grasp the can and retract your arm
Etc.
With CISC processors, the programs
are MUCH shorter and each line in the program takes MUCH longer to interpret
and execute. With RISC processors, the programs (sometimes called the
Application Program) require many, many more instruction lines but each
instruction gets executed much more quickly.
Until recently, all personal
computers utilized CISC processors, and RISC processors were reserved
for higher-performance workstations. That changed with the introduction
of the PowerPC processor. The PowerPC constitutes a family of RISC processors
that are inexpensive enough to integrate into personal computers.
You may have noticed that they
didn't really provide much performance improvement until application software
companies were able to provide the Native upgrade of their software. Once
they converted their program code from the Complex Instruction Set to
the Reduced Instruction Set, personal computer performance soared.
"A Brisk Frisk With CISC
& RISC" first appeared on EBNONLINE.COM on September 13, 1999.
©
Copyright 1999, 2000, 2001 Huff Communications. All Rights Reserved.
|