The 68000 as PDP-11 Clone

COTTRELL, JAMES cottrell at nbs-vms.arpa
Tue Nov 19 07:49:09 AEST 1985


/* 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 at nbs
*/
------



More information about the Comp.lang.c mailing list