gene@zeno.MN.ORG (Gene H. Olson) (09/02/88)
For some time now, I have been studying the available RISC architectures and have come to (what is to me) a startling and inescapable conclusion. The Japanese will win the RISC wars, they will win it with SPARC because SPARC will be cheaper, and will have equal or better performance than the others. The logic is as follows: * The Motorola, Intel, MIPS, SPARC, HP, and IBM RISC architectures are incredibly similar. In their basic instruction sets, none of them has any significant advantages over the other. All of them have a 32 bit register-to-register architecture. All of them have between 16 and 32 addressible registers. All of them are capable of 1.1 -> 1.5 cycles per instruction. All of them have similar virtual memory schemes for accessing the first 2 GB of user memory. Lets face it guys, you just can't do that much different with hardware instruction decoding. * What ultimately will make these machines faster is memory technology. Particularly cache memory technology. The Japanese know memory technology very well. * All of these architectures, except SPARC is proprietary. The US manufacturers who own the other architectures will attempt to take advantage of their propretary architectures to make high profits on their customers who are locked into those architectures. In particular they will not allow second source agreements until it is too late, and will milk their latest designs as cash cows to amuse stockholders, and justify development of the next generation. * No one will take a processor architecture seriously unless it has been designed in the US. This is a stupid and inane reality, like the reality that women are paid less than men, but it is true nonetheless. * The Japanese will embrace SPARC with a singular ferocity. The Japanese will realize that SPARC is their only opportunity to challenge the world market. They will sieze that opportunity captializing on their current advantage in memory technology. Their desire to cooperate within domestic industry, and their classic long-term outlook will cause them to produce a range of extremely compatible and price competitive products. * The US companies will do nothing. The US companies will see the awful truth in plenty of time to avoid it, but given the choice between high short-term profits, and intelligent long-term decisions will choose the former. * Driven by price realities in the market, OEMs throughout the world will choose Japanese SPARC processors. * Japanese SPARC will predominate. QED A word to the wise is sufficient. ----------- In case you are wondering, I have no affilitation with any of the above manufacturers. Gene H. Olson Smartware Consulting gene@zeno.mn.org amdahl!bungia!zeno!gene
rogerk@mips.COM (Roger B.A. Klorese) (09/02/88)
In article <58@zeno.MN.ORG> gene@zeno.UUCP (Gene H. Olson) writes: >* All of these (RISC) architectures, except SPARC is proprietary. > The US manufacturers who own the other architectures will > attempt to take advantage of their propretary architectures > to make high profits on their customers who are locked into > those architectures. In particular they will not allow > second source agreements until it is too late, and will > milk their latest designs as cash cows to amuse stockholders, > and justify development of the next generation. This displays a total lack of knowledge of the MIPS architecture and its availability. (Note: insert standard disclaimer here. I'm speaking for myself here.) The R3000 and R2000 processor series are *not* single-sourced, proprietary parts. They are not sold by MIPS, but rather, by several (currently three, and potentially more) semiconductor companies: Integrated Device Technology (IDT) LSI Logic Performance Semiconductor Unlike SPARC implementations, which are not all pin-compatible, all three implementations of the R3000 parts (and R2000 parts) are required by contract to be fully pin-compatible as well as opcode-compatible. That's not by choice, or by the convenience of the semiconductor vendors; it's in the very text of their license to manufacture. This competition is already driving prices down: some quoted prices are already down to half what they were at announcement in April. It seems that without pin-compatibility, there is no benefit to the builders of systems from mere opcode-compatibility. And without MMU compatibility (and, of course, SPARC offers your choice of two reference models), there is little benefit to systems software vendors. -- Roger B.A. Klorese MIPS Computer Systems, Inc. {ames,decwrl,prls,pyramid}!mips!rogerk 25 Burlington Mall Rd, Suite 300 rogerk@mips.COM (rogerk%mips.COM@ames.arc.nasa.gov) Burlington, MA 01803 I don't think we're in toto any more, Kansas... +1 617 270-0613
mash@mips.COM (John Mashey) (09/03/88)
In article <58@zeno.MN.ORG> gene@zeno.UUCP (Gene H. Olson) writes: Gene states a number of authoritative-sounding facts, followed by some strong prognostications. Some of the facts are wrong, and need correction. Prognostications about the future must await the future; the best way to treat them is to save a copy, and look at it after time has passed, and more data available. As a service to the net, I'll keep a copy, so others need not do so, and repost it, adding lists of design wins; maybe every 6 months or so. >For some time now, I have been studying the available RISC >architectures and have come to (what is to me) a startling >and inescapable conclusion. The Japanese will win the >RISC wars, they will win it with SPARC because SPARC will >be cheaper, and will have equal or better performance than >the others. You might want to study a little harder. You may not have noticed that the 16.7MHz R2000 in the M/120 generally runs real programs 1.5X faster than the 16.7MHz SPARC in the Sun-4/200; but then it costs less, too. That's the current state of the world. >The logic is as follows: > >* The Motorola, Intel, MIPS, SPARC, HP, and IBM RISC > architectures are incredibly similar. In their basic > instruction sets, none of them has any significant > advantages over the other. > > All of them have a 32 bit register-to-register architecture. > All of them have between 16 and 32 addressible registers. There's a difference between 16 and 32. > All of them are capable of 1.1 -> 1.5 cycles per instruction. There's also a difference between 1.1 and 1.5. > Lets face it guys, you just can't do that much different > with hardware instruction decoding. Wait and see. >* What ultimately will make these machines faster is memory > technology. Particularly cache memory technology. This is probably true. > The Japanese know memory technology very well. > >* All of these architectures, except SPARC is proprietary. You also may not have noticed that there are already 3 suppliers of pin-compatible MIPS chips. >* The Japanese will embrace SPARC with a singular ferocity. Wait and see. >* Driven by price realities in the market, OEMs throughout the > world will choose Japanese SPARC processors. Wait and see. >* Japanese SPARC will predominate. Wait and see. -- -john mashey DISCLAIMER: <generic disclaimer, I speak for me only, etc> UUCP: {ames,decwrl,prls,pyramid}!mips!mash OR mash@mips.com DDD: 408-991-0253 or 408-720-1700, x253 USPS: MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086
spp@zabriskie.uucp (Steve Pope) (09/03/88)
>> All of these (RISC) architectures, except SPARC is proprietary.
The government has chosen the MIPS architecture for several of its
programs partially based on the fact the architecture was not
proprietary. I can't visualize much commercial business developing
for a totally proprietary architecture either. You'd have to get
all your compiler writers to sign nondisclosures. Too much bother.
Is the Motorola 88000 architecture proprietary? What about the AMD
29000? In fact, could somebody name a RISC architecture that
*is* proprietary?
steve
johnl@ima.ima.isc.com (John R. Levine) (09/07/88)
In article <58@zeno.MN.ORG> gene@zeno.UUCP (Gene H. Olson) writes: >* The Japanese will embrace SPARC with a singular ferocity. > ... > Their desire to cooperate within domestic industry, and their > classic long-term outlook will cause them to produce a range > of extremely compatible and price competitive products. Given some of the extremely complicated and rather peculiar processor designs coming out of Japan these days under the auspices of the TRON project, I wouldn't hold my breath. The various TRON architectures aren't compatible with each other, either. See recent issues of IEEE Micro for details. -- John R. Levine, IECC, PO Box 349, Cambridge MA 02238-0349, +1 617 492 3869 { ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something Rome fell, Babylon fell, Scarsdale will have its turn. -G. B. Shaw
gene@zeno.MN.ORG (Gene H. Olson) (09/16/88)
Two weeks ago, I published the original article on this subject. The original was deliberately pompus to (sic) sparc controversy. I delayed in publishing a followup until I felt the ripples had died down. That article asserted that the Japanese would dominate the RISC markets because they would produce highly competetive non-proprietary SPARC products while US companies would cash in on customers locked into their proprietary architectures. There were some very helpful responses pointing out that the MIPS architecture is currently second and third sourced. They did not mention if MIPS was `open' in the sense that alternative competing implementations of the MIPS instruction set are welcomed. I assume not. The wide availability of second source chips seriously weakens my original argument. And I for one am encouraged that MIPS may continue to compete on price/performance in the marketplace. However: * The SPARC architecture is fully `open' in the sense that anyone may design a competitive processor or system of any sort without bothering to defeat architectural patents, and with the full co-operation of the original designers. So far as I know, this is a unique event in the history of computer design. It parallels (in my opinion) the openess of the UNIX operating system. Not that anyone cares, but I predicted the similar success of UNIX some 10 years ago. * So long as an architecture is kept proprietary, the owner of that architecture may choose at some point to cut off second sources, jack up prices, and go for profits. Intel chose to do this with the 386, and Motorola did so with the 68020 and 68030. Intel is currently engaged in a widely-publicised court battle with AMD to break their existing second source agreement covering the 386. * It is not terribly important who has the fastest current clock speed, instruction timings, or read/write cycle counts unless these features are locked in by the instruction set. All of the RISC chips are being sold on what they will be in a few years. Everyone is predicting 100 MIPs or so. Currently available chips are only hints of what is to come. * There was a heated discussion for awhile about register windows. No one pointed out that the SPARC architecture accesses register windows only with explicit instructions, that the architecture spec requires only two of them (one for user mode, one for software traps), and that they need not be otherwise used. SPARC offers you the option of register windows. If they don't help in some situations (they seem to work well in others) there is no reason you need use them. Since only two of them are required, there is no serious penalty if they are unused by an implementation. Its clearly a win-win situation. -------------- Bottom line Both manufactures and consumers of RISC chip products should be aware that we have dawned upon a new age in computer architectures. There will be at least one widely implemented, truly `open' standard. Any proprietary architecture (however well established) will be at a disadvantage to a well-informed consumer. DEC has been forced to loosten its grip on VMS and the VAX, IBM failed in promoting a PC-based 360 architecture (there was one), and Sperry (now UNISYS) is doing most of its expansion into UNIX. It happened in the operating system business. It *will* happen in the RISC processor business, and if you are foolish enough to ignore the trend, you will be left behind. The Japanese will be there in force. The USA can be there too. Its your choice. Gene H. Olson amdahl!bungia!zeno!gene Smartware Consulting gene@zeno.mn.org
andrew@jung.harlqn.uucp (Andrew Watson) (09/29/88)
In article <91@zeno.MN.ORG> gene@zeno.MN.ORG (Gene H. Olson) writes: [words about how SPARC, as a 'public domain' architecture, will sweep the board, just as unix, as semi-public domain software, has] * There was a heated discussion for awhile about register windows. No one pointed out that the SPARC architecture accesses register windows only with explicit instructions, that the architecture spec requires only two of them (one for user mode, one for software traps), and that they need not be otherwise used. SPARC offers you the option of register windows. If they don't help in some situations (they seem to work well in others) there is no reason you need use them. Since only two of them are required, there is no serious penalty if they are unused by an implementation. Its clearly a win-win situation. Just a small point from a compiler-writer who's been attempting to write a code generator for the SPARC that *does* ignore register windows - it's possible, but the architecture really doesn't support it. To explain - the whole point of windows is to minimise overall memory traffic by eliminating most stack read/writes. If the on-chip register file does overflow, then stack traffic is necessary, but the whole file can be dumped in one go, potentially using an efficient memory burst mode (on the 4/110, for instance). If you don't use windows, you have to emulate a stack yourself - not particularly difficult or slow, but it will cost you two instructions and a memory reference per push/pop, and three instructions for a call. A RISC without windows designed to use memory burst modes to boost performance is the Acorn ARM. It has a pair of instructions to push/pop an arbirary selection of its 16 (or is it 32?) registers in a single register-per-memory-cycle burst. Used in conjunction with a callee-saves calling convention, this allows one burst-mode access to the stack per call to save the return address, static link and all the registers that the callee wishes to use. -- Regards, Andrew. +-----------------------------------------------------------------------------+ | Andrew Watson, Harlequin Limited, andrew@uk.co.harlqn | | Barrington Hall, Barrington, Tel: +44 223 872522 | | Cambridge CB2 5RG, UK Fax: +44 223 872519 | +-----------------------------------------------------------------------------+
tim@crackle.amd.com (Tim Olson) (10/01/88)
In article <ANDREW.88Sep28160417@jung.harlqn.uucp> andrew@jung.harlqn.uucp (Andrew Watson) writes: | To explain - the whole point of windows is to minimise overall memory traffic | by eliminating most stack read/writes. If the on-chip register file does | overflow, then stack traffic is necessary, but the whole file can be dumped in | one go, potentially using an efficient memory burst mode (on the 4/110, for | instance). This is not the usual mode of operation. When a procedure call causes the stack cache to overflow, only the required amount of registers are saved to the stack (a single, fixed-sized frame for SPARC, or the exact number of registers required for Am29000) -- not the entire stack cache. This allows for a "hysterisis" effect whereby a "fill" is separated from the "spill" that caused it. For example, if the stack before a procedure call looked like: +-----+ | | | | Memory ~ ~ | | +-----+ <- rfb (register free boundary) | | | | Stack Cache (registers) |xxxxx| <- sp (current stack pointer) |xxxxx| +xxxxx+ <- rab (register allocate bound, == rfb - 512 bytes) xxxxx <- where sp needs to be after call (the xxxx marked area is the frame that needs to be allocated for the procedure we are calling). Since the allocation causes the sp to move below the rab, a "spill" occurs, moving enough registers from the rfb end of the stack cache into memory, and adjusting the rfb and rab pointers. After the call and spill, the stack looks like: +-----+ | | | | Memory ~ ~ <- old rfb pointed here | | +-----+ <- rfb (register free boundary) | | | | Stack cache (registers) | | | | +-----+ <- rab <- sp (both point to the same location) Now when we return from this procedure, we don't have to fill the spilled registers. In fact, we won't fill them until the sp crosses the rfb boundary. We can also now call this procedure again and not spill this time. This mechanism matches well with the typical call chain, which has a high degree of locality. Contrast this stack cache mechanism with a standard caller or callee saves convention -- there the registers are saved and restored from memory every time the procedure is called. -- Tim Olson Advanced Micro Devices (tim@crackle.amd.com)