From: Greg Pfister <pfister@us.NOibmSPAM.com>
Subject: Re: Is RISC dead? (was: Re: K7's FP performance inches past P-III's)
Date: Wed, 26 May 1999 16:18:17 -0400
Paul DeMone wrote:
> Piercarlo Grandi wrote:
> > dmoc> And I (dimly) remember the seminal VAX-inspired studies that
> > dmoc> kicked off the "RISC revolution", which concluded "If adding an
> > dmoc> instruction doesn't improve performance enough to justify the
> > dmoc> cost, then do not add it."
It looks like it might be time to post to comp.arch the
comp.sys.super post I did on the history of the 801, which for
me, at least, is the original "RISC" system. Fans of the CDC 6600
By 1975, John Cocke, acknowledged by the ACM, at least, as the
inventor of the RISC concept (but not inventor of the acronym)
had already started the "801 minicomputer" project in IBM Watson
labs, Yorktown. That's the year I read the paper that was the
internal IBM equivalent of the "Case for" paper from Berkeley.
Hardware design had already begun. The 801 was, actually, the
first system that was self-consciously following a RISC
philosophy. It wasn't publicly discussed until after publication
of the Patterson/Ditzel paper, at least partially in an attempt
to keep this technology secret. Secrecy turned out in the end to
be less of a problem than other issues in actually making a
product based on the idea. :-(
The 801 was actually originally conceived as an answer to this
question: "What do you do if you need to write a WHOLE LOT of
microcode? Like milluns & milluns of lines of the persnickety,
That question was posed by the ill-fated FS (Future System)
utterly ultraCISC architecture that was conceived in IBM in the
early 70s as the follow-on to the 360. I really mean
*ultra*CISC. FS had single instructions like "create database"
(really!), and the customer never had to deal with mucky things
like which disk or file system his data was on. Hence it had a
"WHOLE LOT" of microcode. Before FS collapsed for a variety of
good (and bad) reasons, some folks (probably including John)
wwere asking inconvenient questions like "How many lines of
microcode was that? How do you debug it all? Don't you
*engineers* need a *software* development plan?" (The latter was,
in those days, a real insult.)
The answer of the 801 to those questions was to use vertical, not
horizontal microcode. Not lots of ops per cycle, each bit running
a control line, hand-crafted in the traditional horizontal
microcode fashion, but instead more-or-less conventional but
(aha!) all single-cycle instructions that could be generated by a
suitably smart compiler, allowing you to write real microcode in
a genuine high level language. In other words, what's now known,
more or less, as RISC. Didn't have no steenkin' floatin' point,
neither; you do complex multicycle stuff like that *using* "the
microcode." (Yes, opinions changed for the RS/6000.) One could,
amusingly, consider VLIW the "horizontal" side of the answer.
FS never completely died, actually. It went part way West, to
Rochester, MN, and re-emerged somewhat modified as what's now the
AS/400, in which application code really does get to use single
instructions like "create database" (Really!!) -- and the
customer never has to deal with mucky things like which disk or
file system her data is on. The AS/400, to turn full circle,
recently gave up its unique heavily-layered microcoded processor
line and now implements its "internal code" (layers & layers of
effectively microcode) using a PowerPC (actually PowerAS, almost
the same) RISC engine it has in common with the RS/6000.
So a kind of FS finally did get implemented on a kind of 801,
after 28+ years.
It's more than possible that back in 1975 John Cocke was very
familiar with CDC, Burroughs, and Cray designs, among many
others. Was it an influence? Probably. So were lots of things.
The man had the most unfiltered mind I've ever encountered. Walk
down one of the short corridors at Yorktown with him, about 25
yards, and you'd get a dozen new ideas:
- 6 you could discard before the end of the corridor as obvious
- 3 would take you 5 minutes more thinking to realize they were
- 2 would take you several days or a week before you figured out
they were unworkable
- and 1 would be golden.
Of course, 1 golden idea out of 12 is an incredibly good batting
But figuring out which one it was could drive you nuts.
Whether the 6600 was an influence on the Berkeley RISC is, of
course, an entirely different question. I heard that the 801 was
an influence, official confidentiality notwithstanding, but I've
no proof of that.
By the way, the name "801" came from the internal IBM number for
the main research lab building in Yorktown. (One of IBM's more
compulsive activities is to give every last IBM building,
worldwide, a unique number.) At that time, thanks to a collective
fit of noncreativity, the various FS models were being named
after the number of the building in which they were conceived.
So, following the FS naming scheme, "801" became the name of the
ultimate anti-FS architecture.
<any resemblance to my employers' opinions is entirely your