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