[net.micro.68k] 68020 production samples announced

gnu@sun.uucp (John Gilmore) (07/12/84)

According to Electronics, July 12, page 46 and pg 130:

Motorola is offering 68020 samples that run at 12.5MHz and cost $487.
Initial production of 16.67MHz parts is expected in early 1985, with
volume production in the 2nd quarter.  At 16.67MHz, it runs 68000 code
at 2.5 MIPS continuously, or up to 8 MIPS in bursts, while drawing only
1W.  This is 3.25 times as fast as the 68000 and much faster than a Vax
780.  (They delayed it by 6 months to incorporate more high-speed CMOS,
reducing the power from 2.5W and upgrading the speed from 1.5 MIPS.)

The address and data buses are both 32 bits (it comes in a 114-pin
pin-grid array) and it deals on-the-fly with misaligned storage
references as well as 8-bit, 16-bit, and 32-bit memories and
peripherals.  On each access, the peripheral tells it how much data was
accepted or provided; if there is more, the 68020 will run further
cycles at higher addresses until it's all accepted.  The bus design
is very elegant and easy to interface with.

There is a 68020 User's Manual which, like the 68000 Fourth Edition
manual, is published by Prentice-Hall.  The instruction timings are out
of this world -- the charts are 20 pages, plus 8 pages of text which
explains with colored examples that because of the pipelining you can't
rely on the charts.  It has a 256-byte cache on-chip for instructions,
incurring no prefetch delays for instructions which are in the cache,
and overlapping their execution with bus cycles generated by previous
or following instructions.

The instruction set is a superset of the 68010, including full 32-bit
displacements everywhere, scaled indexing, and memory indirect
addressing modes.  There are 32x32->32 multiply and divide as well as
the traditional 32x32->64 variants.  Rational bit (and bit-field)
addressing instructions are included.  They threw in a few goodies for
ring-style protection systems and separate interrupt and supervisor
stacks, as well as a truly general coprocessor interface, unlike the
warts put out by Intel and National that hook up their float chip
and nothing else.  All in all, not a bad deal for $500.

henry@utzoo.UUCP (Henry Spencer) (07/15/84)

If Motorola can really deliver working chips to that sort of spec,
this is indeed pretty impressive.  (Emphasis on the word "working";
that means nothing serious on the bug list, guys!)  (Just because
a semiconductor company sells a chip, doesn't mean it works.  Often
the part will be "available" for some time before the bug lists get
down to the point where you can live with them.)

I do take exception to one comment of gnu's:

   ....... as well as a truly general coprocessor interface, unlike the
   warts put out by Intel and National that hook up their float chip
   and nothing else....

No argument about Intel... but National's slave-processor interface is
general enough that many people use the National floating-point chip on
non-National cpus like the 68000.  And as far as warts go, has Motorola
fixed that awful botch of having to save microcode state when the cpu
gets a page fault?
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry

mats@dual.UUCP (Mats Wichmann) (07/16/84)

Actually, official sampling of the 68020 is not due until 4th quarter
of this year. To get a chip anytime soon, you have to be on an `advance list',
which means either a VERY long-standing relationship with Motorola, or orders
in the megabuck range.

	    Mats Wichmann
	    Dual Systems Corp.
	    ...{ucbvax,amd,ihnp4,cbosgd,decwrl,fortune}!dual!mats

gnu@sun.uucp (John Gilmore) (07/17/84)

Replies to Henry Spencer's comments on 68020 announcement:

	If Motorola can really deliver working chips to that sort of spec,
	this is indeed pretty impressive.  (Emphasis on the word "working";
	that means nothing serious on the bug list, guys!)  (Just because
	a semiconductor company sells a chip, doesn't mean it works.  Often
	the part will be "available" for some time before the bug lists get
	down to the point where you can live with them.)
The 68020 has a bug list but we don't expect trouble from any of them,
as far as prototyping is concerned.

	I do take exception to one comment of gnu's:

	   ....... as well as a truly general coprocessor interface, unlike the
	   warts put out by Intel and National that hook up their float chip
	   and nothing else....

	No argument about Intel... but National's slave-processor interface is
	general enough that many people use the National floating-point chip on
	non-National cpus like the 68000.
Uh...that's great if you want to drive a National float chip from somewhere
else, but suppose you want to build a graphics chip into the instruction
set of a 16032 (or whatever it's called)?  The CPU knows exactly how to decode
each "co-processor" instruction, leaving precious little flexibility for
the co-processor designer.  S/he can say what each instruction does,
but not what operands it takes.

					   And as far as warts go, has Motorola
	fixed that awful botch of having to save microcode state when the cpu
	gets a page fault?
There are many ways to resume after page faults; National chose one way
(also chosen by several manufacturers, including IBM) and Motorola
chose another (also chosen by other mfr's, including DG).  Both
approaches have tradeoffs.  Motorola's way optimizes performance for
the non-pagefault case, but costs a lot to take a fault.  (Of course,
you have to wait for the disk arm to move anyway...)  It also leaves
them with no restrictions on the instruction set in terms of when you
can write to memory.  (The 16032 does not define what happens if you
use overlapping operands and take a page fault.)  Note that both IBM
and National had to put "micro state" (eg intermediate counter values)
in general registers so their long-running string instructions would be
interruptable by page faults.  The 68020 allows long-running CPU (and
co-processor) instructions to stop in mid-instruction and resume from
where they left off without complications in either the user program or
the page fault handler; the hardware handles it.  It also allows the
opsys to simulate access to devices that don't exist, which IBM could
only do in VM because I/O access was all thru privileged instructions
rather than thru normal memory references.

kds@intelca.UUCP (Ken Shoemaker) (07/17/84)

>   ....... as well as a truly general coprocessor interface, unlike the
>   warts put out by Intel and National that hook up their float chip
>   and nothing else....
>
>No argument about Intel... but National's slave-processor interface is
>general enough that many people use the National floating-point chip on
>non-National cpus like the 68000.  And as far as warts go, has Motorola

I do SO love it when people spout off about things they seem to know little
about.  I do suppose, however, that all of this really matters in how you
define "coprocessor."  WRT the 8086, I'm kinda at a loss how it could
be made much more general in that all the processor supplies is the data
address.  It is the coprocessor's responsibility to decode the instruction,
and run any required data cycles.  Thus, anyone if they wanted to could make
a special function coprocessor to do anything they wanted to.  That the
8087 connects specifically to the 8086 is a function that the processor
really does little work for the coprocessor, adding to the generality of
functionality possible in the coprocessor.
-- 
Ken Shoemaker, Intel, Santa Clara, Ca.
{pur-ee,hplabs,amd,scgvaxd,dual,idi,omsvax}!intelca!kds
---the above views are personal.  They may not represent those of Intel.

mwm@ea.UUCP (07/19/84)

#R:sun:-154300:ea:7400004:000:812
ea!mwm    Jul 18 16:29:00 1984

/***** ea:net.micro.68k / utzoo!henry /  2:02 pm  Jul 15, 1984 */
And as far as warts go, has Motorola
fixed that awful botch of having to save microcode state when the cpu
gets a page fault?
-- 
				Henry Spencer @ U of Toronto Zoology
				{allegra,ihnp4,linus,decvax}!utzoo!henry
/* ---------- */

That's not a wart, that's a *feature*. They call it "instruction
continuation," as opposed to the more conventional "instruction restart."
They designed it that way.

It's supposed to be a performance enhancement - you don't have to roll the
instruction back [for things like MOVE.W (A0)+,(A1)+], and you don't have
to redo the rolled-back part of the instruction when you continue the
faulted process.  Whether or not it works in practice, or the pain of
dealing with it is worth the gain, I don't know

	<mike

david@bragvax.UUCP (David DiGiacomo) (07/19/84)

>>>  ... as well as a truly general coprocessor interface, unlike the
>>>   warts put out by Intel and National that hook up their float chip
>>>   and nothing else....

>>I do SO love it when people spout off about things they seem to know little
>>about.  I do suppose, however, that all of this really matters in how you
>>define "coprocessor."  WRT the 8086, I'm kinda at a loss how it could
>>be made much more general ...

Ken, I love it when you spout off about things you know TOO much about!
In this case, you seem to be reacting to the keyword "general", which
should probably be read as "useful".  The 8086/8087 interface is a wart
because:
	1) It is not documented well enough to allow construction of
	additional coprocessors by third parties.

	2) Even if it was documented, it is not suited to MSI
	coprocessor implementation, due to its complexity and critical
	timing.

Anyway, how do YOU define "coprocessor"?  At Intel 3 (8089, 82586,
82730) out of 5 (+ 8087, 80287) "coprocessors" are what I would call
"channels", since they don't share the instruction stream of the CPU.

phil@amd.UUCP (Phil Ngai) (07/21/84)

Gee Dave, do you think you should have prefaced your comments with a
"As a former Intel employee..."?

-- 
 Just another valley guy
 Phil Ngai (408) 982-6554
 UUCPnet: {ucbvax,decwrl,ihnp4,allegra,intelca}!amd!phil
 ARPAnet: amd!phil@decwrl.ARPA