Searching \ for '[TECH] PDP-11 (was: why do you prefer PIC over AVR' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/devices.htm?key=pic
Search entire site for: 'PDP-11 (was: why do you prefer PIC over AVR'.

Exact match. Not showing close matches.
PICList Thread
'[TECH] PDP-11 (was: why do you prefer PIC over AVR'
2009\03\22@232203 by Vitaliy

flavicon
face
"William "Chops" Westfield wrote:
> What it amounts to is that the PIC is an "accumulator based"
> architecture extended with a bunch of operations that work directly on
> memory (including IO space), while the AVR is a multiple-register
> based machine with some exceptions.  I find the AVR architecture
> generally more "pleasant" to use in assembler, but it in now way
> reaches the heights of elegance of (say) a PDP-11 or PDP-10...

You worked on a PDP-11? Wow! :-)

I'm kind of curious why there doesn't seem to be (from my non-expert POV) as
much reuse of old proven concepts as one would expect. After all, the same
problems had to be solved for mainframes, minicomputers, PCs, and
microcontrollers -- one would have thought that by now there would be The
One Best Way of doing certain things. Like, if you say that PDP-11's
architecture was so great, why couldn't someone take it, and build a
microcontroller based on it? What would be the tradeoff?

Vitaliy

2009\03\22@234029 by Harold Hallikainen

face
flavicon
face

> You worked on a PDP-11? Wow! :-)
>
> I'm kind of curious why there doesn't seem to be (from my non-expert POV)
> as
> much reuse of old proven concepts as one would expect. After all, the same
> problems had to be solved for mainframes, minicomputers, PCs, and
> microcontrollers -- one would have thought that by now there would be The
> One Best Way of doing certain things. Like, if you say that PDP-11's
> architecture was so great, why couldn't someone take it, and build a
> microcontroller based on it? What would be the tradeoff?
>
> Vitaliy

I used to teach assembly language classes on the PDP-8 and the PDP-11. The
PDP-11 was a very clever architecture. As I recall, I think it was
register 7 that was the program counter, and register 6 was the stack
pointer. Each instruction specified a source and destination register and
a mode for each. A push onto the stack just had a destination of register
6 and a mode of post decrement. An immediate operand (like the PIC movlw)
had a source of register 7 and a mode of post increment. So, the
instruction was read, the PC was incremented, the immediate data was read
from the next location, then the PC was incremented (post increment) to
point to the next instruction. It was VERY clever!

The PDP-8 was an interesting machine. It did not have a stack. When you
did a subroutine call, the return address was put in the first location in
the subroutine. Execution would start at the next address. A return
instruction was an indirect jump to the first location in the subroutine.
So, the processor would get the contents of that location, put it in the
PC, and continue on from after the subroutine call. Clever, but pretty
limiting. Stacks are a great invention!

Anyway, I was very impressed with the PDP-11 architecture!

Harold


--
FCC Rules Updated Daily at http://www.hallikainen.com - Advertising
opportunities available!

2009\03\23@001204 by Michael Algernon

flavicon
face
I worked on a PDP-11 and VAX and I can say that the reason good ideas  
from the past are not used is ....
1) NIH
2) no appreciation of history

The Apple Newton had a great way of doing cut and paste ...... that  
the iPhone has not adopted.
MA
{Quote hidden}

2009\03\23@002720 by Sean Breheny

face picon face
I am under the impression that the 68xx series of microcontrollers
(e.g. 68HC11) are based on the architecture of the PDP series. If so,
this would be an example of reuse of proven ideas. However, I've never
worked with either the PDP or the 68xx so I am not sure to what extent
this is true. Can anyone provide more info?

Sean


On Sun, Mar 22, 2009 at 11:21 PM, Vitaliy <spam_OUTspamTakeThisOuTspammaksimov.org> wrote:
{Quote hidden}

>

2009\03\23@032441 by William \Chops\ Westfield

face picon face

On Mar 22, 2009, at 8:21 PM, Vitaliy wrote:

> You worked on a PDP-11? Wow! :-)

Well, no.  I learned to program a PDP-11 in assembler class.
I did work on PDP10s rather a lot.


> I'm kind of curious why there doesn't seem to be (from my non-expert  
> POV) as much reuse of old proven concepts as one would expect.

We've learned things since then.  One of the things we've learned (a  
large part of the whole RISC architecture fallout) was that "elegant"  
machine-language architectures aren't necessarily what makes for a  
good overall system.  For all it's elegance, I wouldn't want to be  
thrown back on a 7-register (plus the PC), 64k machine like the PDP11  
to do actual work.  And the things added to it for more memory, or  
floating point, or whatever probably lacked the elegance (I never had  
to deal with it.)

As an obvious example, microcontrollers are expected to have  
instructions for bit manipulation in minimal space.  No such thing on  
the PDP11.


> Like, if you say that PDP-11's architecture was so great, why  
> couldn't someone take it, and build a microcontroller based on it?  
> What would be the tradeoff?

In the early days of microprocessors, EVERYONE was claiming "PDP11-
like architecture."  The 6502 claimed such, as did the 6800, and  
almost everyone else.  AFAIK, the PDP11 originated concepts like  
autoincrement and decrement addressing, and using the PC as an index  
register to utilize "immediate" values, for example.  And of course  
DEC owned the architecture and was fumbling around with it (there was  
a single-chip LSI-11 equivalent, for example.)  By the time chip  
technology had reached the stage where a PDP11 microcontroller would  
have been practical (relatively recently, I would think; you wouldn't  
want any less than 16k flash for sure...), and the licensing was less  
encumbered (if it IS less encumbered), the architecture may have been  
"elegant, but rather quaint and old fashioned.)

The PDP10 is another example.  No one is likely to be implementing a  
36bit non-byte-addressable CPU any time soon.

Although, I continue to be surprised that someone with a lot of time  
on their hands doesn't throw up an  implementation on freecores.org or  
similar.  The PDP6 (predecessor to the PDP10) was supposed to have  
been implemented in about 3000 gates.

(I guess the OTHER issue is that although these may have been "widely"  
loved in their day, the number of people actually familiar with the  
architectures is very small compared with the number of java  
programmers, in absolute terms.)

BillW

2009\03\23@045743 by Alan B. Pearce

face picon face
>Like, if you say that PDP-11's architecture was so great,
>why couldn't someone take it, and build a microcontroller
>based on it? What would be the tradeoff?

They did. IIRC TI made a processor chip that was very much like the PDP-11,
called the 9900 I think.

2009\03\23@071743 by olin piclist

face picon face
Vitaliy wrote:
> I'm kind of curious why there doesn't seem to be (from my non-expert
> POV) as much reuse of old proven concepts as one would expect. After
> all, the same problems had to be solved for mainframes, minicomputers,
> PCs, and microcontrollers -- one would have thought that by now there
> would be The One Best Way of doing certain things.

Many reasons.

There are many different objectives.  Microcontrollers need to be cheap and
small and self contained.  Things like harvard architecture can lead to
efficiencies there, but get in the way of general purpose computing such as
machines like the PDP-11 were designed for.

Then there is the wide range of logic speed to memory speed that machines
were designed for.  The PDP-11 was designed when core memory was common for
main memory.  You could have many gate delays in a single memory cycle, so
CISC made sense.  Or put another way, it made sense to compress the stored
instruction stream and spend a few gate delays decompressing it.

RISC became all the rage around the late 1980s when memory speeds took a
large jump but logic speeds only kept going faster at their regular pace.
That got us architectures like MIPS, Steller, Ardent, Apollo Prism, and
Sparc at about the same time.

Since then things have gotten more complicated with multi-level caches, and
multi-core processors.  The "best" architecture is even more up to the
specific objectives than it ever was.  Then of course you can't ignore the
substantial investment in tools and learning by users and cores and IP by
the chip makers that makes abandoning any existing architecture difficult.

> Like, if you say
> that PDP-11's architecture was so great, why couldn't someone take it,
> and build a microcontroller based on it?

The micro-11 was sortof that.

> What would be the tradeoff?

The PDP-11 is Von Neuman and the height of CISC, which may not make sense in
with today's technologies for many objectives.


********************************************************************
Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products
(978) 742-9014.  Gold level PIC consultants since 2000.

2009\03\23@072525 by olin piclist

face picon face
Harold Hallikainen wrote:
> The PDP-8 was an interesting machine. It did not have a stack. When you
> did a subroutine call, the return address was put in the first location
> in the subroutine. Execution would start at the next address.

That was quite common for machines of that era.  Most of the contemporaries
of the PDP-8 worked the same way, such as the DG Nova, the Varian 620, a
small Honeywell I forget the name of, etc.  Hardware stacks became popular
in minicomputers (microcontrollers in rack mount boxes for you young-uns)
only later.

Note that even the IBM 360 architecture wasn't really based on a hardware
stack.  The common subroutine call instruction was BALR (branch and link
register).  The return address was stuffed in a register.  At least that
allowed recursion if the register was handled correctly.


********************************************************************
Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products
(978) 742-9014.  Gold level PIC consultants since 2000.

2009\03\23@073054 by olin piclist

face picon face
Michael Algernon wrote:
> I worked on a PDP-11 and VAX and I can say that the reason good ideas
> from the past are not used is ....
> 1) NIH
> 2) no appreciation of history

That's nonsense, of course, and only shows someone that is trying to look
smart by dissing something, but forgot to actually learn something about it
first.

Everyone since the late 1970s has been stupid and just wanted to design
their own architecture for the fun of it?  It never occurred to you that
just maybe there were smart people looking at this that were faced with
different tradeoffs, requirements, and technology as time went on?


********************************************************************
Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products
(978) 742-9014.  Gold level PIC consultants since 2000.

2009\03\23@074931 by Vitaliy

flavicon
face
William "Chops" Westfield wrote:
>> I'm kind of curious why there doesn't seem to be (from my non-expert
>> POV) as much reuse of old proven concepts as one would expect.
>
> We've learned things since then.  One of the things we've learned (a
> large part of the whole RISC architecture fallout) was that "elegant"
> machine-language architectures aren't necessarily what makes for a
> good overall system.

Good point. Although it seems that some of the non-human-friendly features
of PICs (like banked memory) were not absolutely necessary, even though I'm
sure the designers knew that these low-end microcontrollers would be
programmed in assembly, without the benefit of a compiler to hide the
ugliness.

Vitaliy

2009\03\23@075157 by Vitaliy

flavicon
face
Olin Lathrop wrote:
>> What would be the tradeoff?
>
> The PDP-11 is Von Neuman and the height of CISC, which may not make sense
> in
> with today's technologies for many objectives.

I guess one could make the old RISC argument that it's better to have a
handful of highly optimized commands, and let compilers replace the
microcode.

Vitaliy

2009\03\23@075751 by Vitaliy

flavicon
face
Olin Lathrop wrote:
>> I worked on a PDP-11 and VAX and I can say that the reason good ideas
>> from the past are not used is ....
>> 1) NIH
>> 2) no appreciation of history
>
> That's nonsense, of course, and only shows someone that is trying to look
> smart by dissing something, but forgot to actually learn something about
> it
> first.
>
> Everyone since the late 1970s has been stupid and just wanted to design
> their own architecture for the fun of it?  It never occurred to you that
> just maybe there were smart people looking at this that were faced with
> different tradeoffs, requirements, and technology as time went on?

I read Michael's post to mean that *in general* those are the reasons why
*some* good ideas are not used.

Russell's comments regarding SpaceX's three consequitive failed attempts to
put a rocket in orbit come to mind.

Vitaliy

2009\03\23@080254 by Howard Winter

face
flavicon
picon face
Vitaliy,

On Sun, 22 Mar 2009 20:21:34 -0700, Vitaliy wrote:

>...
> one would have thought that by now there would be The
> One Best Way of doing certain things

You may think that - my opinion is that there is (almost) never a One Best Way of doing *anything*!

If there was we would all be driving the same car, wearing the same clothes, eating the same food, living in the same design of house, etc. etc.

I reckon that one reason that Humans have got where we are today is because we are always thinking of ways to improve what went before.  Sometimes the
improvements result in something better... :-)

Cheers,


Howard Winter
St.Albans, England


2009\03\23@091213 by olin piclist

face picon face
Vitaliy wrote:
> Although it seems that some of the non-human-friendly
> features of PICs (like banked memory) were not absolutely necessary,

Maybe not necessary, but everything has its tradeoff and priorities.
Banking was a common scheme used by minicomputers of long ago to access more
memory with a small instruction word.  It works, but of course has its
drawbacks too.  Banking is also often the only reasonable compromise to
increase the memory addressing range beyond what a architecture was
originally intended for.

Banking is more widespread than you probably think, although the name
varies.  PICs certainly weren't the first and surely won't be the last to
employ it.  Even the Intel x86 architecture is technically banked (they call
banks "segments" if I remember right).  Banking was definitely a issue on
the original 8088 and 8086.  Over time, Intel grew the bank sizes so that a
whole program could use a single bank and look like it had a linear address
space, but underneath the system was still banked.

Banking is also not that hard to deal with in PICs if you consider this up
front in your coding.  My DBANKIF and related facilities make this a pretty
minor issue.


********************************************************************
Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products
(978) 742-9014.  Gold level PIC consultants since 2000.

2009\03\23@091313 by Russell McMahon

face
flavicon
face
> One Best Way of doing certain things. Like, if you say that PDP-11's
> architecture was so great, why couldn't someone take it, and build a
> microcontroller based on it? What would be the tradeoff?

A microprocessor WAS buiolt based on the PDP8 :-).

Storing the subroutine return addresses in memory at the call(ed?) location
did rather limit the choice of program memory types :-).


           Russell


2009\03\23@091710 by olin piclist

face picon face
Vitaliy wrote:
> I guess one could make the old RISC argument that it's better to have a
> handful of highly optimized commands, and let compilers replace the
> microcode.

One could, but that would be missing the point.  A compiler insulates you
from the instruction set, whether it is RISC or CISC or something in
between.

The real driver for RISC versus CISC is the relative speed and cost of logic
gates versus instruction memory.  RISC and CISC have gone back and forth as
this ratio has changed.  I'm sure new technologies will continue to change
the tradeoff and RISC versus CISC will be with us for a long time.  There is
nothing inherently better about either, only that one may be a better fit
for the technology and objectives of a particular processor.


********************************************************************
Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products
(978) 742-9014.  Gold level PIC consultants since 2000.

2009\03\23@092043 by Bob Ammerman

picon face
> Note that even the IBM 360 architecture wasn't really based on a hardware
> stack.  The common subroutine call instruction was BALR (branch and link
> register).  The return address was stuffed in a register.  At least that
> allowed recursion if the register was handled correctly.

Hey Olin, just curious: did you take Prof. Hollingsworth's IBM 360 assembly
language course at RPI? I just realized you may have been in my class in
Fall of 75.

-- Bob Ammerman
RAm Systems

2009\03\23@100359 by olin piclist

face picon face
Bob Ammerman wrote:
> Hey Olin, just curious: did you take Prof. Hollingsworth's IBM 360
> assembly language course at RPI? I just realized you may have been in
> my class in Fall of 75.

Wow!  Yes I did, and it may have even been in the fall of 1975.

Prof Hollingsworth was a great guy, and I liked his classes.  I didn't want
to take the mandatory introduction to Fortran course freshman year, and it
was Prof Hollingsworth who I had to convince I knew enough Fortran already
to skip it.  He asked me a bunch of questions and in the end agreed I didn't
have to take the course and let me take computing languages instead.  I took
assembler partly because he was teaching it.


********************************************************************
Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products
(978) 742-9014.  Gold level PIC consultants since 2000.

2009\03\23@101748 by Bob Ammerman

picon face

----- Original Message -----
From: "Olin Lathrop" <.....olin_piclistKILLspamspam@spam@embedinc.com>
To: "Microcontroller discussion list - Public." <piclistspamKILLspammit.edu>
Sent: Monday, March 23, 2009 10:06 AM
Subject: Re: [TECH] PDP-11 (was: why do you prefer PIC over AVR?)


{Quote hidden}

I took computing languages from him too, I believe in Spring 1975!

He is actually the only professor I remember by name (except
Halliday/Resnick for physics) from RPI.

I took those two (senior level) courses my freshman year and to this day
they are the only formal education I've had in programming.

-- Bob Ammerman
RAm Systems

2009\03\23@112513 by Russell McMahon

face
flavicon
face
> He is actually the only professor I remember by name (except
> Halliday/Resnick for physics) from RPI.

We had to be content with their book.


        Russell

2009\03\23@120652 by olin piclist

face picon face
Bob Ammerman wrote:
> I took computing languages from him too, I believe in Spring 1975!

I took it either then or fall of '74.  If you were a freshman for spring of
'75, that would make you class of '78 just like me.  I stuck around another
two years and got my masters in EE in 1980.  If you were class of '78 then
you must have been in my Elementary Engineering class fall of '74 too, and
probably in the big chemistry lecture and F-tests.

> He is actually the only professor I remember by name (except
> Halliday/Resnick for physics) from RPI.

There were a few other particularly good ones, like McDonald of EE, DiCesare
of civil engineering, and a few others in the EE department whos faces I can
picture but names I can't remember.


********************************************************************
Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products
(978) 742-9014.  Gold level PIC consultants since 2000.

2009\03\23@131419 by Michael Algernon

flavicon
face
{Quote hidden}

Well.....  at least I have moved up from "silly"
MA

2009\03\23@132315 by Bob Ammerman

picon face

----- Original Message -----
From: "Olin Lathrop" <.....olin_piclistKILLspamspam.....embedinc.com>
To: "Microcontroller discussion list - Public." <EraseMEpiclistspam_OUTspamTakeThisOuTmit.edu>
Sent: Monday, March 23, 2009 12:08 PM
Subject: Re: [TECH] PDP-11 (was: why do you prefer PIC over AVR?)


{Quote hidden}

Oops... off by one year. I was a freshmen in Fall of '75 (assembler) and
Spring '76 (languages).

And yes, I remember F-Tests.

-- Bob Ammerman
RAm Systems

More... (looser matching)
- Last day of these posts
- In 2009 , 2010 only
- Today
- New search...