[comp.arch] The CPU with 3 brains

mark@mips.COM (Mark G. Johnson) (11/04/90)

Sometimes RISC evangelists will tell you is that if you choose a
simplified instruction set, you can build a fast CPU, using relatively
little hardware, on an aggressive schedule.  That's why, (they say), the
first CPU chips in newly-available semiconductor technologies are likely
to be RISCs.  For example, the first 32b uP's in Gallium Arsenide were
RISCs -- it was a good way to quickly crank out a fast machine while
staying within a constrained gate-budget, at a time when VLSI GaAs was
still slightly out-of-reach.  {Disclaimer: occasionally, I propound
these views myself.}

RISCs, even 32-bit ones, were simple: the Acorn ARM is about 10K gates,
the Fujitsu SPARC is 20K gates + register file, the first MIPS ("R2000")
is 110K transistors {about 30K gates}, and the MC88000's integer CPU
was small enough that, even in the first implementation, there was
enough room on the chip to include floating point hardware.  Call it
30K gates for the 88000's integer CPU.

Now, perhaps, today's world is different.  Lots of ASIC vendors are
glad to sell you sea-of-gates gate arrays which contain well over
100,000 usable gates.  These are available in CMOS, BiCMOS, BiCMOS-ECL,
and recently, Gallium Arsenide.  If you're willing to limit your options
to straight CMOS, the number is closer to 200K usable, wireable gates.

A little bit of trivial finger-counting reveals that 100K+ gates is
enough to do something potentially interesting.  Therefore I put
forward the idea that a multiple-CPU-on-the-same-chip processor is
now feasible, practical, and (controversy coming:) useful.  How about
spending the gate budget as follows:

       SPARC CPU:   30K gates   }     all of these reside on the
       MIPS CPU:    30K gates   }     same die, a 100K gate array
       i286 CPU:    30K gates   }     in BiCMOS technology

If this chip were finished, complete, debugged, and available today,
imagine the cool things you could do with it.  Also imagine the
Budzillions of dollars' worth of software already written for your
machine.  Also imagine the frolic and fun of porting the O/S's and
other system software onto this three-brained, schizophrenic machine.
"An excellent source of thesis topics," as they say at 6100 Main in
Houston.

Of course you could pick other CPUs if you like; the slick thing is
that the reduced instruction set ones enable you to slap several of
em on the same die and still have room "left over" for a 286, a Z80,
and a couple of 6502's.  How about a 200Kgate CMOS array having an
Am29000, a CRISP, 2 Transputers, an 88k, and a 286?  Or how about
6 SPARCs and MMUs on the same chip?

Given the obvious desirability and superiority of this idea :-),
why are some folks instead using millions of gates, spread across
several chips, to implement a single CPU (e.g. NexGen, Metaflow,
SpEc, Edge)?  :-)
-- 
 -- Mark Johnson	
 	MIPS Computer Systems, 930 E. Arques M/S 2-02, Sunnyvale, CA 94086
	(408) 524-8308    mark@mips.com  {or ...!decwrl!mips!mark}

henry@zoo.toronto.edu (Henry Spencer) (11/04/90)

In article <42737@mips.mips.COM> mark@mips.COM (Mark G. Johnson) writes:
>spending the gate budget as follows:
>
>       SPARC CPU:   30K gates   }     all of these reside on the
>       MIPS CPU:    30K gates   }     same die, a 100K gate array
>       i286 CPU:    30K gates   }     in BiCMOS technology

Actually, I suggested something like this quite a while ago, when some
Intel bigshot had mumbled in public about soon being able to put four
CPUs on a single chip and what can we possibly do with it all.  If you're
Intel, it's obvious:  one 860, one 486, one 80960, and fill up the last
slot with odds and ends like 8080, 8008, 4004, 2920, etc.  Then you at
last have compatibility among Intel CPUs:  one chip runs software for
any of them!
-- 
"I don't *want* to be normal!"         | Henry Spencer at U of Toronto Zoology
"Not to worry."                        |  henry@zoo.toronto.edu   utzoo!henry

pcg@cs.aber.ac.uk (Piercarlo Grandi) (11/05/90)

On 3 Nov 90 22:46:12 GMT, mark@mips.COM (Mark G. Johnson) said, somwhat
tongue in cheek:

mark> Sometimes RISC evangelists will tell you [ ... that RISC CPUs need
mark> ridiculously low gate counts, 10k to 30k and that this means that
mark> one can build RISC cpus with very advanced, low density
mark> technologies ... ]

Note that the gate counts of some non RISC chips were also low; the
original 68k, the 286, the Z8000.

mark> Now, perhaps, today's world is different.  Lots of ASIC vendors are
mark> glad to sell you sea-of-gates gate arrays which contain well over
mark> 100,000 usable gates.

mark> A little bit of trivial finger-counting reveals that 100K+ gates is
mark> enough to do something potentially interesting.  Therefore I put
mark> forward the idea that a multiple-CPU-on-the-same-chip processor is
mark> now feasible, practical, and (controversy coming:) useful.

Ahem. This was the subject of some of my earlier postings: why not have
multiple RISC CPUs on a chip instead of a single superscalar one. Nobody
bothered to reply... Sigh sigh...

But now you add a perverse twist to this idea:

mark> How about spending the gate budget as follows:

mark>        SPARC CPU:   30K gates   }     all of these reside on the
mark>        MIPS CPU:    30K gates   }     same die, a 100K gate array
mark>        i286 CPU:    30K gates   }     in BiCMOS technology

mark> If this chip were finished, complete, debugged, and available
mark> today, imagine the cool things you could do with it.  Also imagine
mark> [ ... other similar perversions ... ]

Your idea is crazy, but not crazy enough to be marketable :-). Given
that the main attraction of the greatest commercial successes in
computer architecture, the 370 and 80x86 lines, is protection of
software investment, I think that the best idea would not be to have a
chip with multiple RISC souls, because the RISC instruction sets are too
recent and too few dusty decks run on them.

What about a chip with the 1100, 6000, 370, 6502, 8080, 80286, 68000,
instruction sets on it? I don't think that a simple implementation (with
some instructions trapped) of any of these would take a lot of gates.

mark> Given the obvious desirability and superiority of this idea :-),
mark> why are some folks instead using millions of gates, spread across
mark> several chips, to implement a single CPU (e.g. NexGen, Metaflow,
mark> SpEc, Edge)?  :-)

Now let's instead switch to very serious mode:

What about the IBM RS/6000 that is a 3-4-5 way superscalar and takes 6
million transistors and is not ROMP compatible? Are superscalable
instruction sets necessarily different from currently existing ones? Do
you need millions of transistors to build a superscalar?

Again, is it better to spend a large transistor budget on a superscalar
CPU, with a new, superscalar oriented instruction set, or on multiple
CPUs on a chip with an existing RISC instruction set?
--
Piercarlo "Peter" Grandi           | ARPA: pcg%uk.ac.aber.cs@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcsun!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk

pcg@cs.aber.ac.uk (Piercarlo Grandi) (11/06/90)

On 4 Nov 90 01:49:01 GMT, henry@zoo.toronto.edu (Henry Spencer) said:

henry> In article <42737@mips.mips.COM> mark@mips.COM (Mark G. Johnson) writes:
henry> Actually, I suggested something like this quite a while ago, when some
henry> Intel bigshot had mumbled in public about soon being able to put four
henry> CPUs on a single chip and what can we possibly do with it all.  If you're
henry> Intel, it's obvious:  one 860, one 486, one 80960, and fill up the last
henry> slot with odds and ends like 8080, 8008, 4004, 2920, etc.  Then you at
henry> last have compatibility among Intel CPUs:  one chip runs software for
henry> any of them!

Except for oddities like the 860 and 960, isn't the 486 still designed
to be almost binary compatible with the 8008? Sigh!
--
Piercarlo "Peter" Grandi           | ARPA: pcg%uk.ac.aber.cs@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcsun!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk

davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) (11/06/90)

In article <PCG.90Nov5195229@odin.cs.aber.ac.uk> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes:

| Except for oddities like the 860 and 960, isn't the 486 still designed
| to be almost binary compatible with the 8008? Sigh!

  As far as I know the 80486 and 8008 are completely compatible at the
level of the first two digits of the part number. The instruction set is
100% diferent, so the only binary compatibility is that they both will
read ones and zeros.
-- 
bill davidsen	(davidsen@crdos1.crd.GE.COM -or- uunet!crdgw1!crdos1!davidsen)
      The Twin Peaks Halloween costume: stark naked in a body bag

andras@alzabo.uucp (Andras Kovacs) (11/07/90)

    I would like to invite everyone to read the "IBM Research Journal"
describing the POWER architecture (what a name, eh? Performance Optimization
With Enhanched RISC - the prototype's codename was AMERICA).
    Anyway, I enjoyed the hardware overview of the chip very much. Previously
I thought that "this must be an over-engineered chip if they used 6 million
transistors". But after reading about it, I feel that the RISC 6000 is a true
state-of-the art chip which incorporates the latest research technology.
(I am not an EE, sadly).
    So I am not convinced that the right thing is to put multiple processors
on the same die. I believe the solution will be some very fast VLIW chip
with minimum instruction set which will be able to emulate all today's CISC
chips (and probably RISC ones as well) at a reasonable speed. My 4 MIPS ARM
can emulate an 8086 + the PC hardware (which is a bitch) at a ratio of 1.4
to the original 4.77 MHz IBM PC. Apparently the (roughly) 12 MIPS ARM3 can
emulate at the speed of a PC AT (even at the original 6 MHz, that's not bad
for me). So I expect that a 100-150-200+ MIPS VLIW MISC chip could do a
beautiful job of emulating ANY of today's chips at a reasonable rate.

This was my $0.02's worth :-)
-- 
Andras Kovacs
andras@alzabo.UUCP

jbuck@galileo.berkeley.edu (Joe Buck) (11/07/90)

In article <2841@crdos1.crd.ge.COM>, davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) writes:
> In article <PCG.90Nov5195229@odin.cs.aber.ac.uk> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes:
> 
> | Except for oddities like the 860 and 960, isn't the 486 still designed
> | to be almost binary compatible with the 8008? Sigh!
> 
>   As far as I know the 80486 and 8008 are completely compatible at the
> level of the first two digits of the part number. The instruction set is
> 100% diferent, so the only binary compatibility is that they both will
> read ones and zeros.

Well, they are pretty much compatible at the assembly language level.
When the 8086 was first announced, one of Intel's big claims was that,
although the binary encoding had changed, you could reassemble your
8080 programs and they would run on the 8086.  Since the 8080 is the
8008 plus some extra instructions, and since the 80486 supports 8086
instructions, it therefore follows that yes, you can run your 8008
assembly language programs on the 80486; however, you need a 8008
(or 8080) disassembler followed by an 80486 (or 8086) assembler to do
it.  So Piercarlo is essentially correct.

--
Joe Buck
jbuck@galileo.berkeley.edu	 {uunet,ucbvax}!galileo.berkeley.edu!jbuck	

moliver@shadow.pyramid.com (Mike Oliver) (11/07/90)

In article <39409@ucbvax.BERKELEY.EDU> jbuck@galileo.berkeley.edu (Joe Buck) writes:
>In article <2841@crdos1.crd.ge.COM>, davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) writes:
>> In article <PCG.90Nov5195229@odin.cs.aber.ac.uk> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes:
>> 
>> |                                       ... isn't the 486 still designed
>> | to be almost binary compatible with the 8008? Sigh!
>> 
>>                                                   The instruction set is
>> 100% diferent, so the only binary compatibility is that they both will
>> read ones and zeros.
>
>Well, they are pretty much compatible at the assembly language level.
>When the 8086 was first announced, one of Intel's big claims was that,
>although the binary encoding had changed, you could reassemble your
>8080 programs and they would run on the 8086.

Nope.  Intel claimed that large chunks of your ASM80 code could be
massaged into ASM86 with the assistance of some program (I forget its
name; it ran on the blue-box MDS's), but that some human intervention
would probably be necessary.  For anything of any complexity it was
faster and ultimately more reliable to recode by hand.

>                                               Since the 8080 is the
>8008 plus some extra instructions, and since the 80486 supports 8086
>instructions, it therefore follows that yes, you can run your 8008
>assembly language programs on the 80486; however, you need a 8008
>(or 8080) disassembler followed by an 80486 (or 8086) assembler to do
>it.  So Piercarlo is essentially correct.

Piercarlo is wrong, possibly pending some better definition of what
"almost binary compatible" means.  Even if the translation from ASM80
to ASMx86 were completely automated and 100% reliable, that would
establish only source (and not binary) compatibility.

To put it another way: I have some C code that will compile and run on
680x0, 80x86 and a number of other architectures.  Does this mean that
the 680x0 is binary compatible with the 8008 ?

Cheers, Mike.

moliver@pyramid.com
{allegra,decwrl,hplabs,munnari,sun,utai,uunet}!pyramid!moliver

davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) (11/07/90)

In article <39409@ucbvax.BERKELEY.EDU> jbuck@galileo.berkeley.edu (Joe Buck) writes:

| Well, they are pretty much compatible at the assembly language level.
| When the 8086 was first announced, one of Intel's big claims was that,
| although the binary encoding had changed, you could reassemble your
| 8080 programs and they would run on the 8086.  

  Just isn't so. The claim was that you could run your 8080 assembler
through a compiler (they sad translator) which generated the 8086
assembler source. It did this by actual flow analysis as well as just
changing the mnemonics. The resulting program will only use a total of
64k code and data, rather than take advantage of any of the capability
of the 8086.

  The product is XLT-86, runs on CP/M-86, and I ran about 100k lines of
code through my copy at work.
-- 
bill davidsen	(davidsen@crdos1.crd.GE.COM -or- uunet!crdgw1!crdos1!davidsen)
      The Twin Peaks Halloween costume: stark naked in a body bag

andras@alzabo.uucp (Andras Kovacs) (11/08/90)

In article <2841@crdos1.crd.ge.COM> davidsen@crdos1.crd.ge.com (bill davidsen) writes:
>In article <PCG.90Nov5195229@odin.cs.aber.ac.uk> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes:
>
>| Except for oddities like the 860 and 960, isn't the 486 still designed
>| to be almost binary compatible with the 8008? Sigh!
>
>  As far as I know the 80486 and 8008 are completely compatible at the
>level of the first two digits of the part number. The instruction set is
>100% diferent, so the only binary compatibility is that they both will
>read ones and zeros.

    Although Mr. Grandi was somewhat lax in his wording, it is a fact that the
8086 was designed to be 'object level compatible' with the 8080 - I don't know
about the 8008. The term means that a programmer (coder? software engineer? :-))
who had experience with the 8080 (supposedly in an embedded-controller context)
would be able to 'translate' any existing code to the 8086 rather quickly + be
able to use the added benefits of the 16-bit architecture. (Think about
dedicated registers: A-AX (accu.), B-BX/C-CX (pointer, counter), D-DX/E-???
(gen. purpose 16bit reg.), HL/BP-SI-DI (dedicated pointer regs.)). So in this
sense, the 486 indeed propagates an outdated programming model which was
intended primarily for the controller market - and kept certain compatibility
with the 8080. The problem did come with the IBM PC and its 8088 - an IBM
dude said in Byte's 15th anniversary issue that they picked the 8088 as the
CPU for the IBM PC 'cause THEY HAD DEVELOPMENT EXPERIENCE WITH THE 8080 AND
IT'S 8 BIT PERPHERALS! (NB the IBM PC was done by Entry Systems Division
of IBM - they basically wanted an 'intelligent RJE' which can run programs
on it's own). How comes that IBM doesn't try to conquer the workstation market
based on Intel 486/586/??????86 ? Because they know (I assume) that the
486/386/286/8086/8080 programmer's model SUCKS, and although with better
manufacturing technology they can speed it up (386/486), it's doesn't really
worth the effort except providing blindingly fast f*****g DOS machines!
Which is fine by me, I would like to see all the world's x86es recalculating
huge Lotus 1-2-3 spreadsheets in 1 zillionth of a second and let me fiddle
with my cute RISC processor to solve 'real problems'! (Which are real problems?
I don't know, I am just an immigrant... :-))
    I am not damning the emergence of the IBM PC - that sucker indeed did give
power to the people. But I loathe the x86 line after meeting Miss RISC and I
would like to quote someone's .signature (can't recall whose):

    "To understand and appreciate a 386 is mutually exclusive."

(Sorry for the long article :-))
-- 
Andras Kovacs
andras@alzabo.UUCP

cik@l.cc.purdue.edu (Herman Rubin) (11/08/90)

In article <42737@mips.mips.COM>, mark@mips.COM (Mark G. Johnson) writes:

			....................

|        SPARC CPU:   30K gates   }     all of these reside on the
|        MIPS CPU:    30K gates   }     same die, a 100K gate array
|        i286 CPU:    30K gates   }     in BiCMOS technology
 
> If this chip were finished, complete, debugged, and available today,
> imagine the cool things you could do with it.  Also imagine the
> Budzillions of dollars' worth of software already written for your
> machine.  Also imagine the frolic and fun of porting the O/S's and
> other system software onto this three-brained, schizophrenic machine.
> "An excellent source of thesis topics," as they say at 6100 Main in
> Houston.

So you would have 3 highly limited CPUs with largely similar capabilities.
Big deal.  Or by intelligently designing the operations so that different
operations could use the same gates, you could get most, if not all, of
the operations suggested by posters to this net, as well as other things
which can be done quickly in hardware but are slow in software.
-- 
Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907
Phone: (317)494-6054
hrubin@l.cc.purdue.edu (Internet, bitnet)   {purdue,pur-ee}!l.cc!hrubin(UUCP)

brent@uwovax.uwo.ca (Brent Sterner) (11/08/90)

In article <2722@l.cc.purdue.edu>, cik@l.cc.purdue.edu (Herman Rubin) writes:
> In article <42737@mips.mips.COM>, mark@mips.COM (Mark G. Johnson) writes:
> 
> 			....................
> 
> |        SPARC CPU:   30K gates   }     all of these reside on the
> |        MIPS CPU:    30K gates   }     same die, a 100K gate array
> |        i286 CPU:    30K gates   }     in BiCMOS technology

	Sorry if this has been suggested before, but why not:

	   3 of	SPARC CPU:   30K gates		or
	   3 of	MIPS CPU:    30K gates		or
	   3 of	i286 CPU:    30K gates

	ie, 3 different dies.  Integrate each with a symmetric
	multi-processing os (ooops, my s/w background is showing :-)
	to really exploit the capacity of the chip.  Most people I
	know have a favourite system, and do *not* switch among
	systems like the above (necessity excepted).  Could be a screamer
	in a ws environment, provided you could handle the io.
--
Brent Sterner                     Technical Support Manager, Academic Systems
Fast:  <BRENT@uwo.ca>             <BRENT@UWOVAX.BITNET>
       <129.100.2.13>             Telephone  (519)661-2151 x6036
Slow:  Computing & Communications Services, Natural Sciences Building
       The University of Western Ontario, London, Ontario, Canada  N6A 5B7

pcg@cs.aber.ac.uk (Piercarlo Grandi) (11/08/90)

On 6 Nov 90 23:05:22 GMT, moliver@shadow.pyramid.com (Mike Oliver) said:

moliver> In article <39409@ucbvax.BERKELEY.EDU>
moliver> jbuck@galileo.berkeley.edu (Joe Buck) writes:

jbuck> In article <2841@crdos1.crd.ge.COM>, davidsen@crdos1.crd.ge.COM
jbuck> (Wm E Davidsen Jr) writes:

davidsen> In article <PCG.90Nov5195229@odin.cs.aber.ac.uk>
davidsen> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes:

pcg> ... isn't the 486 still designed to be almost binary compatible
pcg> with the 8008? Sigh!

davidsen> The instruction set is 100% diferent, so the only binary
davidsen> compatibility is that they both will read ones and zeros.

Well, the *encoding* of the instruction set is 100% different, but the
flavour of the register level architecture has been carefully preserved
-- the 8008 architecture is actually a *subset* of the 486 one. It is
much the same story as the HP1000 line of machines, or the Pr1me series
50 one. Backwards compatibility at any cost.

jbuck> Well, they are pretty much compatible at the assembly language
jbuck> level.  When the 8086 was first announced, one of Intel's big
jbuck> claims was that, although the binary encoding had changed, you
jbuck> could reassemble your 8080 programs and they would run on the
jbuck> 8086.

moliver> Nope.  Intel claimed that large chunks of your ASM80 code could
moliver> be massaged into ASM86 with the assistance of some program [...
moliver> but in the end ... ] it was faster and ultimately more reliable
moliver> to recode by hand.

Well, isn't the distance between claim and reality always a bit large?
Still:

moliver> Piercarlo is wrong, possibly pending some better definition of what
moliver> "almost binary compatible" means.

Well, I stretched things a bit here :-), "almost" is used in a less
usual qualitative sense, not the more common quantitative one. "Almost
binary" was indeed meant to be "at the assembler/architecture level".

The 8086 was consciously and unconsciously designed as the successor to
the 8080, and effort was expended to make it feel as familiar as
possible to 8080 programmers, for obvious commercial reasons.

Consider: NEC sells a processor that can run both 8080 and 8086 programs
(the V20). I doubt that apart from the decoder there is much difference
between the implementations of two modes. I think that it would not have
been that easy to haven 8086/6502 chip instead. And indeed note that you
cannot (I am not that usre on this) run concurrently 8080 and 8086
programs on the chip, i.e. it does not have two fully distinct CPUs.

Incidentally: this shows that Mark Johnson's perverse idea on multiple
CPUs on a chip is not entirely new...

My point was the same that is repeated here and there in the Isaacson
et. al. book on the 386 - the 80386 was designed to be broadly
backwards compatible with the 8086, which was designed to be broadly
backwards compatible with the 8080, which was designed to be broadly
backwards compatible with the 8008.

This bible like lineage still is apparent in many architectural aspects
of the 80386 architecture, which indeed does still uncannily resemble
that of the 8008 -- a matter of degree, of course, but strong enough.

In a private e-mail message (still thinking over it) I received a claim
that the 80x86 architecture is the best micro CISC around, the argument
being that the essential flavour of its architecture is uniquely suited
by design to be implemented as a micro -- for example dedicated
registers (a feature that I like, incidentally). Whatever the merit of
this claim, it is essentially based on the idea that the
8008/8080/8086/80386 lineage is the right one. This may be disputed, but
it is intriguing to note the argument.
--
Piercarlo Grandi                   | ARPA: pcg%uk.ac.aber.cs@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcsun!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@cs.aber.ac.uk

hamilton@dg-rtp.dg.com (Eric Hamilton) (11/09/90)

In article <7692.27393066@uwovax.uwo.ca>, brent@uwovax.uwo.ca (Brent
Sterner) writes:
|> In article <2722@l.cc.purdue.edu>, cik@l.cc.purdue.edu (Herman Rubin)
writes:
|> > In article <42737@mips.mips.COM>, mark@mips.COM (Mark G. Johnson)
writes:
|> > 
|> > 			....................
|> > 
|> > |        SPARC CPU:   30K gates   }     all of these reside on the
|> > |        MIPS CPU:    30K gates   }     same die, a 100K gate
array
|> > |        i286 CPU:    30K gates   }     in BiCMOS technology
|> 
|> 	Sorry if this has been suggested before, but why not:
|> 
|> 	   3 of	SPARC CPU:   30K gates		or
|> 	   3 of	MIPS CPU:    30K gates		or
|> 	   3 of	i286 CPU:    30K gates
|> 
|> 	ie, 3 different dies.  Integrate each with a symmetric
|> 	multi-processing os (ooops, my s/w background is showing :-)
|> 	to really exploit the capacity of the chip.  Most people I
|> 	know have a favourite system, and do *not* switch among
|> 	systems like the above (necessity excepted).  Could be a screamer
|> 	in a ws environment, provided you could handle the io.
|> --

Well, yeah, but how are you going to feed this beast?  It wants data
and instructions in vast quantities.....  Somehow you have to
deliver three instructions per clock cycle, and at least one
data transaction....

Put a unified cache in the chip with the three processors, and then
you'll have a system with no snooping/intervention/writeback
penalties.  That will run your favorite symmetrical multiprocessor
OS fast, if the cache is big enough.  But we're chewing up space at
a most discouraging rate.

You won't like the consequences of putting the cache outside.

 

przemek@liszt.helios.nd.edu (Przemek Klosowski) (11/10/90)

In article <PCG.90Nov8151919@odin.cs.aber.ac.uk> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes:
>Consider: NEC sells a processor that can run both 8080 and 8086 programs
>(the V20). I doubt that apart from the decoder there is much difference
>between the implementations of two modes. I think that it would not have
>been that easy to haven 8086/6502 chip instead. And indeed note that you
>cannot (I am not that usre on this) run concurrently 8080 and 8086
>programs on the chip, i.e. it does not have two fully distinct CPUs.
>
Of course you cannot run concurrently 8080 and 8086: how do you suppose
they will share the bus? on the other hand, the 8086 binary code can 
be called from 8080 code (but it can't nest). 

I would suggest to slowly wind down the discussion of the
compatibility between 8086 and 8080. I feel that all relevant
arguments were stated, sometimes redundantly. Just to show you that I
too have an opinion, I will say that I believe most microprocessor
architectures fall into small number of flavors, and within each
flavor translation between the ASSEMBLY languages is automatic in 95%
and possibly highly nontrivial in 5%. It is source code compatibility
in any case. C has the better of it.



--
			przemek klosowski (przemek@ndcva.cc.nd.edu)
			Physics Dept
			University of Notre Dame IN 46556

feustel@netcom.UUCP (David Feustel) (11/10/90)

I got hooked on the 8086 family in part because character string
operations are done so much better there than in any other machine
I've looked at and also because the 8086 followed the Multics hardware
model documented by Organik in his book on Multics.
-- 
David Feustel, 1930 Curdes Ave, Fort Wayne, IN 46805, (219) 482-9631

ingoldsb@ctycal.UUCP (Terry Ingoldsby) (11/16/90)

> In article <PCG.90Nov5195229@odin.cs.aber.ac.uk> pcg@cs.aber.ac.uk (Piercarlo Grandi) writes:
> 
> | Except for oddities like the 860 and 960, isn't the 486 still designed
> | to be almost binary compatible with the 8008? Sigh!

I think what you are remembering is that when the 808(6/8) first came out,
Intel made available a tool that would convert most 8080 code to 8086
code.  As I recall, it sort of assigned certain 8080 registers to match
8086 registers, and either used instructions that performed the same
operation or a sequence of instructions to get the same effect.  I don't
believe it was 100% effective, but was intended to assist software
developers in getting their code converted quickly.  I may be wrong.



-- 
  Terry Ingoldsby                ctycal!ingoldsb%cpsc.ucalgary.ca
  Land Information Services                 or
  The City of Calgary       ...{alberta,ubc-cs,utai}!calgary!ctycal!ingoldsb