|
Every time I turn around, Intel or AMD (Advanced
Micro
Devices) is releasing
their fastest processor to date. In addition, Apple has launched a significant
campaign for its G4 line of machines, inviting users to “make the switch”
to Macintosh. While having choices is good, having so many makes choosing
the right processor that much more difficult. I am constantly asked, “Which
architecture is better?” This month, we’re going to discuss the history
of these architectures, where these architectures are headed, and I’ll
close with my own personal opinion on the classic Intel vs. Apple debate.
CISC vs. RISC
Historically, processors are divided into two camps: one headed by
Intel and their clones and one based on Motorola’s technology, backed by
companies such as Apple and Sun Microsystems. These camps hold distinctive
design strategies to allow them to produce the “fastest” machines while
maintaining cost effectiveness. The crux of the debate has been balancing
the expense of system programming with the expense of hardware to reduce
overall system cost.
Let’s put the technology into perspective. In the 70’s and 80’s, when
these camps were forming, hardware was a premium. Storage and memory were
expensive, though it was believed prices would drop as technology matured.
Writing code for this hardware was high level and fairly complex, making
development time extensive and increasingly expensive as technology became
more complicated.
The Intel camp determined that to optimize performance, they needed
to move the complexity away from software and into hardware. They developed
a set of common functions that programmers often use and imbedded them
into the core logic of their processors. This allowed the hardware to break
down the predefined sets of functions and programmers to call these complex
instructions with a single command. By making programming easier, coding
took less time and kept overall costs down. This was the focus of processors
based on CISC (Complex
Instruction
Set
Computer)
architecture.
The Apple camp found that compiling CISC instructions required a lot
of hardware support, and that few programmers were actually using all the
imbedded complex instructions. Instead, programmers were using smaller,
simpler instructions to perform these complex functions. The RISC
(Reduced Instruction
Set
Computer) architecture
is based on providing a smaller set of imbedded functions in the hardware
(and thus, less hardware), but optimizing the way that code is compiled.
By using simpler code that can be compiled more efficiently, optimization
comes through software rather than hardware.
Modern Technology
Today’s processors don’t technically belong entirely to one camp or
the other. Intel, AMD, and Motorola are all taking advantage of falling
hardware costs. They are consistently shrinking the manufacturing process,
making their chips run more efficiently, while adding more transistors
to enable more complex operations to be handled by each chip. All are increasing
the amount of memory included on their processors (known as cache memory),
enabling faster handling of data between the processor and main system
memory (RAM). These processors are being combined with the fastest
system buses and beefier peripheral components to provide the most robust
systems to date.
And while each processor maintains core architectural differences, RISC
and CISC computers are moving closer together, with instruction sets becoming
more similar and equally complex. The CISC camp became divided with the
introduction of the Pentium with MMX (multimedia extensions) from Intel
and the K6 with 3D-Now! from AMD. Each introduced their own proprietary
multimedia extensions into the core instruction set. Apple responded with
the Velocity Engine, its own set of multimedia extensions. Each of these
extensions is based on SIMD (Single
Instruction, Multiple
Data) technology,
which allows a certain function to perform a single operation on several
pieces of data at once. For instance, an entire group of numbers can be
added together with a single SUM (X,Y,Z) command, instead of an ADD command
being called again and again to produce the end total of X+Y+Z. Since the
processor does not have to recompile a new command for each piece of data,
overall processing efficiency is increased. However, to take advantage
of these extensions, software must be written that explicitly uses them.
End the debate
The debate on which technology is better is nearly moot at this point.
It is far more a matter of marketing, or of opinion based on platform preference,
than actually based on any true benchmarks. A trip to nearly any vendor’s
Website will reveal tests performed that demonstrate the various strengths
and weaknesses of each respective technology. When placing any of these
processors in an otherwise equal environment, the top of the line Motorola
will handle itself just as admirably as the top of the line Intel or AMD.
In fact, it is far more a matter of optimizing the programs running
on each individual platform. As mentioned earlier, code must be written
to take advantage of the advances in technology that each processor takes.
If software is optimized to utilize Intel’s extended instruction set, it
will perform better on Intel. If the software is optimized to Apple’s technology,
then the G4-based systems will provide superior performance.
So which technology is better? It truly depends on what software you
run.
|