[net.lang.c] The 68000 as PDP-11 Clone

cottrell@nbs-vms.arpa (COTTRELL, JAMES) (11/19/85)

/* Key: >>> Me, >> ???, > Dick Dunn
> > > ...It all started with the PDP-11,
> > > which defined the basic instruxion set architexure for practically all
> > > new machines. Take a look at the 68000 & say, `this is a pdp-11.'
> 
> If I say that, I quickly argue with myself.  "No it's not--the PDP-11 had
> one kind of register, not two.  It didn't have eleventeen different
> combinations of addressing modes.  The addressing modes of two-address
> instructions were distinct, so that it could do memory-memory operations.
> Position-independent code was easy.  It had a comparatively small address
> space."  What are the similarities?

Of course there are *some* differences. And of course the 68000 is a 
32-bit machine (crammed onto a 16-bit bus) while the pdp is a 16-bit one.
Axually it is kind of like the VAX, altho the NS32032 is more like a VAX
than the 6800 is. The 68000 has 12 modes by my count, not eleventeen.
The pdp had eight. Some of these are due to the fact that other 
manufacturers just don't get the idea that the PC can be just another
general register, thereby `eliminating' immediate & PC relative
addressing as modes of their own. Other modes come from the ability
to specify different displacement sizes, again more like a VAX.

But take a look at the instruxion set itself. The standard four
CVNZ PSR bits with the corresponding 16 conditional branches, the
dyadic operators add, sub, mul, div, cmp, and, or, [xe]or; the
monadic operators clr, com (not), neg, tst, asl, asr, lsl, lsr, rol, 
ror. True, they did do the bit operators differently (inferior).
On the pdp, those operators come in two sizes: byte, & word.
On the 68000, they also come in the long flavor.

As far as relative code, the pdp is missing something. How do you
load the address of a variable relative to the PC? This way:

		mov	pc,r0			; address of `here'
	here:	add	#foobar-here,r0		; make relative

On the 68000 you can use the `lea' instruxion directly:

		lea	foobar			; pc-relative, of course

Of more concern is the vendor's software. DEC let you use *any*
combination of address computation in it's loaders while others did not.
So an expression like `foobar-here' could be evaluated even if neither
was known to the assembler at that time.

And yes, DEC has been generous in that most operations could operate
from memory to memory, while others mostly require at least one 
register.
 
> > PDP-11's?  The IBM 360 series was commercially introduced in 1965,...
> > ...  I'm not a big fan of IBM's,
> > nor the architecture of the 360/370/303x/308x/309x machines, but in terms
> > of "defining architectures" for new machines, they have NO competition
> > by just about any measure (number of machines installed [in the appropriate
> > class], quantity of installed-base code [$375 Billion+, is the current
> > estimate], etc.)

To ge back to my original article, the word `it' (take THAT, Knights who
say `Ni' :-) meant `architectural standardization of processors'. While
the IBM standardization of its OWN line may have been A Good Thing, I 
doubt it had the effect on design that the PDP-11 had.

> I know of no basis for claiming that commercial success has any relation to
> the definition of computer architecture.  The single notable architectural
> concept of the 360... series is having essentially the same instruction set
> spanning a wide price and performance range of machines.  In terms of
> useful architectural concepts (and particularly in terms of characteristics
> of interest in implementing programming languages) the whole IBM mainframe
> line is architecturally right where it started--in the mid-'60's.  That
> they have such a huge installed base in spite of a crippled architecture
> (like a 4K forward-only offset in instructions) is a tribute to IBM's
> marketing, sales, and support organizations--certainly not to the
> architecture of their machines.
> -- 
> Dick Dunn	{hao,ucbvax,allegra}!nbires!rcd		(303)444-5710 x3086
>    ...Simpler is better.

Yes. The best thing IBM ever did is `You make the call'.

	jim		cottrell@nbs
*/
------

ron@brl-sem.ARPA (Ron Natalie <ron>) (11/19/85)

> 
> Of course there are *some* differences. And of course the 68000 is a 
> 32-bit machine (crammed onto a 16-bit bus) while the pdp is a 16-bit one.

And it has the bytes in the wrong order.

> As far as relative code, the pdp is missing something. How do you
> load the address of a variable relative to the PC? This way:
> 
> 		mov	pc,r0			; address of `here'
> 	here:	add	#foobar-here,r0		; make relative
> 
Bad example, now what are you going to do with this loaded
address?  PDP-11 instructions allow things like

		tst	foobar(pc)

which is exactly equivalent to
		
		tst	foobar

peter@baylor.UUCP (Peter da Silva) (01/18/86)

Actually, the 68000 looks more like a Honeywell minicomputer then a PDP-11.
I don't remember the Honeywell designation (they kept changing them), but
their minicomputers as of the late '70s (6000 series?) were very much like
the 68000, including the stack frame stuff and the two sets of registers.
-- 
-- Peter da Silva
-- UUCP: ...!shell!{baylor,graffiti}!peter; MCI: PDASILVA; CIS: 70216,1076

eugen@clan.UUCP (Eugen Bacic) (01/27/86)

I believe that you're thinking of the Honeywell Front End Processors (FEPs).
These were modelled after the PDP-11 series and are very similar in
architecture.  The Intel chips, not the Motorola, are *very*, and I mean
*very*, similar in design to the Honeywell mainframes.  Right down to
the linkage segment philosophy, etc.  Since you were confused about the
numbering scheme used by Honeywell here's how it stands now:

The Level 6000 has become the Level 66.  These are outdated pieces of 
hardware and the current hardware is called DPS 8/xx.  These are firmware
driven machines and have led to the next series the DPS/90, a super
computer more commonly known to all as the NEC 1000.  The FEPs that I 
mentioned earlier are called Level 6 computers and the newest series
are called Datanet 8s.  

In case you were wondering how I know this, we run 3 Honeywell systems here
at Carleton under the CP-6 operating system.  Two dual systems with 3 and
2 feps respectively (A dual Level 66B and a dual DPS 8/49) as well as a
research machine (DPS 8/47) with one FEP.

							emb