[comp.arch] Sun/3 and Sun/4 - Email summary

john@geac.UUCP (John Henshaw) (01/29/88)

A short while ago, I posed the following query to comp.arch readers.
This is the summary of Email responses I received. My thanks to all
that took the time and trouble to reply. You are good net.citizens!

The query:
>
>What are the differences between a Sun/3 and a Sun/4 system?
>
>Which is better? My criteria for an answer to this question would
>revolve around architectural issues, available software, and general
>compatibility. My understanding to date is that the Sun/3 uses one
>of the Motorola 680x0 microprocessors while the Sun/4 is implemented
>using a specialized hardware.
>
>When Motorola arrives with their promised 68040 microprocessor, can we
>expect there to be the creation of of Sun/x system using that
>technology? (It seems to me that the creation and sale of non-680x0
>based hardware represents an important step elsewhere.)
>
>-john-

--------------------
From: guy@Sun.COM (Guy Harris)

> What are the differences between a Sun/3 and a Sun/4 system?

One has a 68020, the other doesn't?  That probably sums it up.

The current top-of-the-line Sun-4 (which is the only Sun-4), with a 16.67 MhZ
SPARC chip, is about twice as fast as the current top-of-the-line Sun-3, with a
25MhZ 68020 chip.

The Sun-3 allows you to reference 2-byte or 4-byte quantities on any
memory boundary, since the 68020 does.  The Sun-4 requires 2-byte quantities to
be on 2-byte boundaries, 4-byte quantities to be on 4-byte boundaries, and
8-byte quantities ("double"s) to be on 8-byte boundaries, since the SPARC does.

You can play fast and loose with functions that take a variable-length argument
list, by having that function get a pointer to one of the arguments and using
that to point to the argument list, on the Sun-3, because the Sun-3 calling
sequence puts arguments onto the stack.  You can't do that on a Sun-4 because
some arguments are passed in registers.

The Sun-3 runs 68020 and 68010 code; the Sun-4 doesn't.

The Sun-3 and Sun-4 C compilers have different alignment rules for 4-byte
quantities and for structures; this is an unfortunate historical accident.  The
proper rules for the 680x0 were probably the same rules that were used on the
VAX: 4-byte alignment for 4-byte quantities, 2-byte alignment for 2-byte
quantities, and no alignment restrictions for structures other than the
strictest of the alignment rules for all the structure's members.  These are
the rules used by the SPARC, as well.  However, the MIT C compiler was
68010-oriented; it did not impose 4-byte alignment for 4-byte quantities (which
didn't make a difference for the '010, but did slow down the '020), and
required that structures be aligned on at least a 2-byte boundary (which may
have made life *slightly* easier for the compiler when generating code for
structure copies, as it could generate "dbra" loops that moved 4 bytes at a
time, but made the alignment rules different and probably didn't save much -
most structures probably contain at least one 2-byte quantity, and thus the
compiler could use those loops most of the time anyway, and do byte copies in
the few exceptional cases).

> Which is better? My criteria for an answer to this question would
> revolve around architectural issues, available software, and general
> compatibility. My understanding to date is that the Sun/3 uses one
> of the Motorola 680x0 microprocessors while the Sun/4 is implemented
> using a specialized hardware.

As noted above, this is correct.  The microprocessor in the Sun-3 series is the
68020.  The Sun-4 series will continue to be faster than the Sun-3 series, if
we can keep the SPARC chips running faster than 680x0 chips.  If you have a
large pile of Sun-3 binaries, though, *or* data files written out by directly
dumping data structures to the file, you'll have a compatibility problem with
the Sun-4.

> When Motorola arrives with their promised 68040 microprocessor, can we
> expect there to be the creation of of Sun/x system using that
> technology?

I can't speak for Sun; I don't know if *anybody* in Sun would make such a
commitment, as the '040 probably won't be here for a while.  I believe we
showed up when the 68030 was announced and indicated that we didn't plan to cut
the Sun-3 series off quite yet.  It's certainly not inconceivable that we'd
offer an '040 machine, which would probably be called a Sun-3 unless there were
some truly radical chance between the '020/'030 and the '040.  However, I know
of no plans to do such a machine.

------------------
From: linus!genrad!jpn (John P. Nelson)

>What are the differences between a Sun/3 and a Sun/4 system?

Sun3 is 68020 based.  Sun4 is RISC (reduced instruction set computer).
RISC technology currently produces significantly faster processors
than standard microcoded (like motorola) single-chip microprocessors.

>Which is better? My criteria for an answer to this question would
>revolve around architectural issues, available software, and general
>compatibility.

Sun4 is much faster.  I don't know about available software, but they
are supposedly "source code compatible", anything that can be compiled
for one can be compiled for the other.  I've never tried porting anything,
so I don't know.

So little software is written in assembly language these days that the
underlying processor is much less important than it used to be.
Besides, RISC machines lend themselves to highly optimizing compilers.

>When Motorola arrives with their promised 68040 microprocessor, can we
>expect there to be the creation of of Sun/x system using that
>technology? (It seems to me that the creation and sale of non-680x0
>based hardware represents an important step elsewhere.)

I wouldn't count on it.  In fact, Sun has wangled themselves into a
pretty good position:  It's SPARC processor will be used by AT&T and
several others.  Sun is making the SPARC technology widely available
(much like they did with NFS).  Motorola is single-sourcing its
newest 680X0 family processors.  I wouldn't be surprised to see SPARC
become more of a standard than the 680X0.

--------------------
From: rutgers!rochester!olson

The Sun3 series are based on 68020 CPUs, the Sun4 on the custom SPARC
design.  Which is better?  I dunno.  I *think* that Sun intends the
4 series as heavy-numeric workstations - something to use against
Apollo and the mini-super makers, who have them beat in that dept.  I do
know that it is significantly faster than the fastest sun3, and I believe
it is designed to work with (or maybe already has) a vector coprocessor.
Against that, there's the fact the the 4's are much more expensive.  Here
at UR we just bought a bunch of the new 3/60's and are delighted with them.
Our workload consists of a lot of medium-scale C hacking, some hellacious
TeX and troff jobs and some medium-sized non-numeric simulations (queuing
etc.).  We'd rather avoid the 4's now, because we use a single shared
network file system. The 4's are not binary compatible and hence would
need separate /usr partitions, and would also create confusion for users
who use both types of machine.

My understanding is that Sun intends to continue to support the sun3 line
and develop new products for it.  The 3/60s are new and are a big
improvement over the old 3/50s.  However, Motorola's new designs seem to
be heading toward more and more on-board MMU and cache, which Sun may
not like.  I don't know if they have a 68030 machine in serious development,
for example.

Please do post if somebody comes up with more definite information about
the future of the sun3 family.

--Tom Olson

---------------
From: webber@brandx.rutgers.edu (Webber)

I regularly run on both Sun/3-280's and Sun/4's.  Both provide a quite
pleasant Berkeley Unix environment.  Many ad hoc studies have been
locally run and everyone agrees that the Sun 4 is the faster, high end
machine.  However, clearly the Sun 4 is a computer with a new cpu that
has been generally available for less a year.  If you are interested
in the specific problems Sun 4 (and 3) users have been having, you
should check out comp.sys.sun (the Sun Spots digest that is
distributed by Sun-Spots-Request@RICE.EDU (William LeFebvre) who
also maintains an archive of same).  Sun is also on the net and can
doubtless answer questions about availability of specific software.
Given the connections between Sun and various other computer companies
plus the licensing of the SPARC chip implementation to many different
companies, the Sun 4 is clearly a machine with a good future.  Of
course, now a days, there are lots of interesting machines...
-------------

End of summary

-john-
-- 
John Henshaw,			(mnetor, yetti, utgpu !geac!john)
Geac Computers Ltd.		"Life is just another Prototype.
Markham, Ontario, Canada, eh?	 When are we going to get the Real Thing?"

henry@utzoo.uucp (Henry Spencer) (01/31/88)

> The Sun-3 runs 68020 and 68010 code; the Sun-4 doesn't.

This advantage is largely illusory, however, unless you program in assembler
a lot.  There are so many variations in system-call and function-call
conventions among different 680x0 implementations that your favorite 680x0
binary from another system is most unlikely to run unmodified on a Sun 3.
If you have to recompile anyway, the only big advantage of using the same
underlying processor is that you don't have to immediately rush in and fix
all the portability problems in your code.  This assumes that the compilers
are similar enough that *they* don't provoke these problems.  This is not
to be taken for granted, especially (!) in assembler (since there is no
consensus on 680x0 assembler syntax either).
-- 
Those who do not understand Unix are |  Henry Spencer @ U of Toronto Zoology
condemned to reinvent it, poorly.    | {allegra,ihnp4,decvax,utai}!utzoo!henry