ken@gatech.edu (Ken Seefried III) (06/02/88)
I have seen all the talk about putting a 68020 in a 68000 socket, but is it similarly possible to put a 68020 in a 68010 socket? What software problems would be expected (as the priviledged opcodes on the '020 are also on the '010, no?). my conception of an '020 daughtercard (for my own system) includes a nice heafty portion of 32-bit RAM...I don't really see a good reason to do it otherwise. now this might be a really silly, but what are the prospects of putting a 68030 in a 68000 (or '010 or '020) socket (with plenty of 32-bit RAM...) ken seefried iii ...!{akgua, allegra, amd, harpo, hplabs, ken@gatech.edu inhp4, masscomp, rlgvax, sb1, uf-cgrl, ccastks@gitvm1.bitnet unmvax, ut-ngp, ut-sally}!gatech!ken soon to be open: ...!gatech!spooge!ken (finally ;'})
michael@mcdchg.UUCP (Michael Bodine) (06/04/88)
> I have seen all the talk about putting a 68020 in a 68000 socket, but is it > similarly possible to put a 68020 in a 68010 socket? What software problems > would be expected (as the priviledged opcodes on the '020 are also on the > '010, no?). As the 68000 and 68010 are pin compatible, there are no mechanical or electrical problems with using the same hardware in either socket. The 010 software is upward compatible with the 020, as opposed to the 000 which is MOSTLY upward compatible with the 020, so software gotchas should be fewer. Not to be construed as a commitment that there won't be any! > now this might be a really silly, but what are the prospects of putting a > 68030 in a 68000 (or '010 or '020) socket (with plenty of 32-bit RAM...) There are, in fact, internal ap notes and products from vendors like CSA which detail placing 030's in 020 sockets. I haven't seen anything that gives a design for an 030 into a 000 socket...although you COULD plug the 020 daughter board into the 000 socket and the 030 into the 020 socket on the daughter board. B-) A do-able thing. If you've lots of spare time and are in love with your soldering iron. By the time you were done, tho', you could probably go out and buy some small existing 030 hardware with lots less hassle and not much more money. Without a cache architecture for your local RAM, the performance enhancements seen with these kinds of add-ins are usually not that significant except for certain algorithms that run out of the on-chip cache. The limiting factor is the access path from the original socket to the original memory, which is usually far slower than the new chip wants to take it, so the new chip ends up starved for instructions most of the time. Still a fun exercise for the home-brew fanatic and a great learning experience for a designer. But the 030 comes in a 128 pin grid array package -- a lot of hair pulling to get that baby all wired up! Have fun... -- [ Michael Bodine, michael@mcdchg.UUCP Opinions expressed are mine and haven't ] [ been seen, commented on or in any way approved or even allowed by Motorola ] [ MicroComputer Division, Motorola General Systems Group or Motorola, Inc. ] [ No one else agrees with me; why should my employer? ]
thad@cup.portal.com (06/04/88)
You should have no major problems operating a suitably adapted daughter carded 68020 in a "68010 socket". I've used both 68010s and 68020s in Amigas since 1985, and several weeks ago operated a 68030 on the same machine. There are commercially available cards facilitating such conversion, with provision for 32-bit-wide RAM (static) cards attached "locally". Software changes require enabling the cache(s) and cognizance of the different stack frames. Operating systems such as that on the Amiga handle the different processors with ease, and Motorola publishes AppNotes detailing these steps in the general sense.
jbn@glacier.STANFORD.EDU (John B. Nagle) (06/04/88)
I'd like to suggest to Motorola that they bring out a 68020 in a form pin-compatible with the 68010 and 68000. The object is software compability; it's annoying that one can't run the same software on all machines of, say, the Apple line. This causes trouble in the retail software market, since multiple versions have to be manufactured, distributed, and stocked. As the IBM market fragments into the DOS market, the OS/2-286 market, and the OS/?-386 market, one of Motorola's edges is its consistent architecture. Now that Intel is coming out with a 386 in 286 packaging, Motorola needs to catch up. John Nagle
hase@netmbx.UUCP (Hartmut Semken) (06/05/88)
In article <17206@gatech.edu> ken@gatech.edu (Ken Seefried III) writes: >I have seen all the talk about putting a 68020 in a 68000 socket, but is it >similarly possible to put a 68020 in a 68010 socket? What software problems Yes. No problem: the 67999 (for my opinion the 010 is the 'real' 68000) and the 010 are pin-compatible and have the same bus timing. The problem is not the hardware (the PAK68 board made by a german computer magazine called c't will do) but the software (as you said). If the system and application software can deal with the greater stack frame of the 020, everything should work. hase -- Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP High on a rocky promontory sat an Electric Monk on a bored horse. (D. Adams)
thad@cup.portal.com (06/06/88)
Why do you feel there's such a software incompatibility between the various 680x0 processors? I've been operating 68000, 68010 and 68020/68881 combinations in my Amigas for over two years now with impugnity. There are fewer than 10 commercial software products (of the more than 700+ available), and fewer than five public domain (of the thousands available) that don't function properly on the '020 Amigas, and the reason are simple: 1. Some earlier commercial software releases were produced using a C compiler that generated (or whose library utilized) the dreaded `MOVE SR,<ea>' instruction. Fixes for this are distributed by Motorola (as described in App Notes, etc.) and are also user- installable by running the DeciGEL program in the background (this program traps privilege violations, examines the opcode at the offending location, and patches it to be MOVE CCR, then re-executes the instruction) 2. self-modifying code (which wreaks havoc with the '020 when the instruction cache is enabled). Both the problems above are due to software producers who chose to ignore Amiga programming guidelines issued in May 1985 The Amiga's OS has supported all 680x0 variants since 1986 (with release 1.2), and it automatically enables the 020's cache if an '020 is detected upon system boot and startup. The Amiga OS release 1.3 automatically vectors to a 68881 if one is present, thus permitting all existing programs the use of the math chip. Guidelines for implementing compatibility are available from Motorola who claims, in their App Notes, that any operating system can be fixed in just a matter of hours (ref: Motorola's MICRO MINUTES MM-444-02). As a matter of interest, the 68030/68882 combination also operates fine on the Amiga. Products (e.g. piggyback *AND* plug-in boards) exist commercially today. Several manufacturers' boards (both '020 and '030) were demonstrated and available for purchase recently at the Santa Clara Convention Center, and one or two different types are usually shown in the Hacker's Kitchen room during the FAUG (First Amiga Users' Group) meetings at the Palo Alto Hyatt Hotel (about 1,000 members usually in attendance, along with a wet bar! :-) whose next meeting is this Tuesday, June 7, at 7PM. You're welcome to attend. Finally, attempting to "shoe-horn" a 68020 into an 68000-size package is not reasonable, since you'd lose the 32-bit wide data path and other niceties of the 68020's design. Piggyback adapter cards permitting an '020 to be used as a replacement for an '000 or '010 are readily available at 'reasonable' cost. Without wishing to start another "my computer is better than yours" debate, I respectfully suggest that you express your concerns to the manufacturer of your computer system and to the software producers. There is NO need to produce multiple versions, packaging, etc. of commercial software releases IF the system software and hardware was thoughtfully and intelligently designed and implemented. One example: on the Amiga, the user's tasks and processes run non-privileged; if they NEED the processor's condition codes, a system call (GetCC() for C, JSR _LVOGetCC(A6) for assembler) provides the codes in a processor-indepedent manner. The MC68000 has been "out" since 1978, and the 68010 and 68020 were not exactly born yesterday. These issues have been understood and addressed years ago, so I'm sorry to hear you are burdened with a system that doesn't permit expansion flexibility and processor upgrade.
alan@pdn.UUCP (Alan Lovejoy) (06/06/88)
In article <17479@glacier.STANFORD.EDU> jbn@glacier.UUCP (John B. Nagle) writes: >I'd like to suggest to Motorola that they bring out a 68020 in a >form pin-compatible with the 68010 and 68000. The object is software >compability; it's annoying that one can't run the same software on all >machines of, say, the Apple line. This causes trouble in the retail software Pin compatibility has nothing whatever to do with software compatibility. The software incompatibiliites between the '000, the '010 and the '020 are caused by the fact that some instructions do not have the same privilege status on the '010 and '020 as they do on the '000 (which should normally only affect operating system code), by the fact that the '020 has an instruction cache which invalidates some "dirty tricks" involving self-modifying code which Motorola warned everyone would not be portable and by the fact that the chips may operate at different clock speeds and execute instructions in a different number of cycles, causing problems for code which tries to mark time by executing a known number of instructions with a known number of cycles. Pin compatibility means that two different chips can be plugged into the same socket and both will work--it does not mean that both chips are necessarily software compatible in any way! -- Alan Lovejoy; alan@pdn; 813-530-8241; Paradyne Corporation: Largo, Florida. Disclaimer: Do not confuse my views with the official views of Paradyne Corporation (regardless of how confusing those views may be). Motto: Never put off to run-time what you can do at compile-time!
jbn@glacier.STANFORD.EDU (John B. Nagle) (06/06/88)
In article <6276@cup.portal.com> thad@cup.portal.com writes: >Why do you feel there's such a software incompatibility between the various >680x0 processors? > The problem is, of course, the multiply hardware. The 68000 and 68010 lack hardware for a 32x32 bit multiply, while the 68020 and 68030 have such hardware and a new opcode. Compilers for the 68000 and 68010 typically call a subroutine for every multiply. Some of the smarter compilers handle multiplies by constants in special ways (typically using addition and shifting) to avoid the overhead of the multiply subroutine whenever possible. This speeds up subscript calculations considerably. On Sun machines, software is generated for the 68020 or 68010 based on a compiler switch. Much new software built for the 68020 will not run on the older Sun II machines, which have 68010 processors. The Sun II is considered obsolete in the Sun world, having been superseded by the Sun III more than two (three?) years ago. This history will repeat itself at the low end, on the Mac and Amiga lines. As the mainstream products become 68020-based, more software will be built that assumes a 68020 platform. This software will not run on the smaller machines of the product line. There are already Mac II only products, including CAD systems. There will be more. But there will be 16-bit Macs for a long time to come; there are manufacturing economies, and not all users need the power of a 32-bit machine. What will be needed is a part that the manufacturers can use in later versions of their low-end machines that handles the instruction set of the 68020 but is electrically compabible with the 68010. A microcode subroutine for multiply would probably be sufficient to provide compatibility across the product line. This part should not be significantly more expensive than the 68010 in volume, or it will not achieve its purpose. Motorola need not be the vendor here. Other vendors make 68010-like parts, including Siemens and Signetics. The latter has its own design, the 68070, now going into volume production. But if Motorola does it, the part may achieve greater acceptance, and should, in time, supersede the 68000/68010. John Nagle
ford@elgar.UUCP (Mike "Ford" Ditto) (06/11/88)
In article <17482@glacier.STANFORD.EDU> jbn@glacier.UUCP (John B. Nagle) writes: >In article <6276@cup.portal.com> thad@cup.portal.com writes: >>Why do you feel there's such a software incompatibility between the various >>680x0 processors? >> > The problem is, of course, the multiply hardware. The floating-point instructions are far more significant, followed by the new addressing modes and the 32-bit instructions. > [ description of new, faster, better software that won't run on the > older CPU's ] ... > This history will repeat itself at the low end, on the Mac and Amiga >lines. As the mainstream products become 68020-based, more software will >be built that assumes a 68020 platform. This software will not run on the >smaller machines of the product line. > > What will be needed is a part that the manufacturers can use in later >versions of their low-end machines that handles the instruction set of the >68020 but is electrically compabible with the 68010. This part already exists, it's Motorola part number MC68010. A relatively simple change to the operating system is required to use it (if the O.S. was written for 68000-only), but then the full 68020 (and '030, and '040, ...) instruction sets can be executed by adding an emulation package. This software can be upgraded as Motorola adds new instructions to the 68000 family, and it will allow normal 68000 code to run at full speed. The emulated instructions will run slower than they would if done in microcode, but they will work. In other words, Motorola has done their part, now Apple, etc., can do their part... if they feel there is a need. At this time, I think it's best for Mac and Amiga software to be distributed in 68000- acceptable form since the 68000-to-68020 ratio is still pretty high. It will change, of course, especially now that Apple and CBM have 68020 and 030 products. -=] Ford [=- "Once there were parking lots, (In Real Life: Mike Ditto) now it's a peaceful oasis. ford%kenobi@crash.CTS.COM This was a Pizza Hut, ...!sdcsvax!crash!kenobi!ford now it's all covered with daisies." -- Talking Heads