Re: CISC vs RISC concepts -- from an assembly view
- From: "randyhyde@xxxxxxxxxxxxx" <spamtrap@xxxxxxxxxx>
- Date: 1 May 2006 09:41:26 -0700
Jeffrey Schwab wrote:
Just my $.02...
RISC is better, hands down.
I guess that depends on whose hands you're using :-)
CISC is winning in the PC market because
CISC chips have become so cheap.
CISC is winning in the PC market because IBM chose the 8088 in their
original PC design and Intel took the effort to keep the x86
competitive. It didn't hurt that Microsoft's original OS (DOS) was
incapable of being ported in a realistic fashion to other CPUs. By the
time Windows appeared, the RISC vs. CISC war was already lost because
of the plethora of available software for the x86. Perfomance, CPU
cost, and other such issues had nothing to do with it.
In the late 1970s and early '80s, IBM decided to use Intel chips in
their first PCs, mostly because Intel agreed to allow other vendors (AMD
and Cyrix/VIA) to produce compatible chips.
Not at all. They chose the 8088 because it had an eight-bit (low-cost)
bus interface. In 1980 (when IBM was designing the PC), I believe AMD
was still running their ads about how "The AMZ8000 is better than the
8086". They were not doing x86 chips at the time. And Cyrix/VIA were
still a long ways away at that point. I don't recall who the
second-source for the 8086/8088 was at the time, but *all* chip
manufacturers had second sources. Indeed, one of the reasons AMD
switched to the 8086 later on (when it became clear that the Z8000 had
failed) was because Intel *needed* a respectable second-source for
their chip. IIRC, they *tried* to go it alone, but system
manufacturers at the time had zero interest in buying a chip that did
not have a second source (my how times have changed; today, people
don't care that there aren't second sources for chips like the
Pentium).
This gave IBM a feeling of
security that even if Intel went out of business, there would still be
x86 chips to be had at a reasonable price.
Nothing special there. This was true of all system manufacturers.
Indeed, as I mentioned already, I do believe that Intel *tried* to go
it alone for a while on the x86. Eventually (and this was long after
the IBM PC appeared), they brought AMD back on board as a second source
because too many people were demanding a second source.
BTW, note that "second source" means *exactly* the same part. That is,
Intel licensed their CPU masks to AMD. I believe this arrangement
continued through to the 486.
Because of the sheer
quantity of x86 chips sold for home use, the price dropped drastically,
so CISC is what most home users have.
I dunno. I remember paying $1,500 for my first 80386 *chip*.
The real reason most home users run CISC chips is because that's what
Microsoft's software (and third-party stuff running on MS OSes) ran on
back then. Granted, Microsoft *did* port their Windows to RISC CPUs,
but few Windows apps were ported and that was the death knell for RISC
as far as home users were concerned.
The battle is really not over, though. Consider:
- XBox uses RISC:
http://www.wired.com/news/games/0,2101,61065,00.html
- So does PlayStation:
http://www.us.playstation.com/pressreleases.aspx?id=252
- RISC, especially PowerPC, is still typically used in
high-end servers.
Yes, floating-point code is one area where RISCs still do a better job
than the x86.
- Modern x86 chips effectively include RISC back ends,
with microcode doing dynamic translation from the
x86 instruction set. As RISC chips continue to
shrink, x86 won't be able to keep up, because so
much of each core has to be wasted on the decoder.
The decoder is a small part of the entire CPU. This doesn't make sense.
People have been making this claim for RISC since RISC was first
invented. RISCs come and go (e.g., Alpha), but the x86 is still with
us. And in many areas, the x86 is currently leading the pack. It helps
having such a large base for a CPU that the manufacturer can afford to
throw a lot of research dollars at it.
- Even Intel tried to start moving the burden from the
microcode to the compiler by introducing a VLIW
architecture for Itanic.
And they failed miserably.
Of course, Apple recently switched to Intel hardware, so maybe I'm just
out of the loop. :)
Cheers,
Randy Hyde
.
- Prev by Date: Re: Variables on x86 Cache (L1 or L2) rather than Registers?
- Next by Date: Re: having problem to install/run HLA
- Previous by thread: Re: Variables on x86 Cache (L1 or L2) rather than Registers?
- Next by thread: Re: What's faster?
- Index(es):
Relevant Pages
|
|