Anders Lindgren wrote: > I think the PDP-11 had eight 16 bit general purpose register. Yes, but at least one wasn't general purpose; it was the program counter (r6?). The fact that it was accessable as a general register made all kinds of nice tricks possible. IIRC the status register was special as well (r7?)... but I might be dreaming. The stack pointer could have been any of the others, but one was used by convention. > My guess is that PDP-11 influenced Motorolas 68000, Definitely. The 68K doubled the registers by separating some addressing vs arithmetic functions, which caused pain for the compiler-writers. > which is turn > influenced a lot of processors, including the MSP430. I doubt that's the sequence; the TMS9900 seems more likely as a path of influence. I have a TMS9900 microprocessor data sheet here somewhere :-). Nice architecture, pity the implementation was so appallingly slow, worse even than the minicomputer it integrated. My first paid programming job was on a PDP11, in 1981. I'd looked at its assembly in the form produced by our Pascal compiler, and even tried to tweak the code to solve the Knight's Tour faster, but I spent my first three days of paid programming employment writing position-independent code in MACRO-11 for an RT-11 device driver. It seemed quite a challenge at the time :-). Clifford Heath.
PDP-11 and MSP430
Started by ●April 20, 2006
Reply by ●April 20, 20062006-04-20
Reply by ●April 20, 20062006-04-20
----- Original Message -----
From: "Clifford Heath" <cjh@cjh@...>
To: <msp430@msp4...>
Sent: Thursday, April 20, 2006 10:41 AM
Subject: Re: [msp430] PDP-11 and MSP430
> Anders Lindgren wrote:
>> I think the PDP-11 had eight 16 bit general purpose register.
>
> Yes, but at least one wasn't general purpose; it was the program
> counter (r6?). The fact that it was accessable as a general register
> made all kinds of nice tricks possible. IIRC the status register
> was special as well (r7?)... but I might be dreaming.
>
> The stack pointer could have been any of the others, but one was
> used by convention.
>
>> My guess is that PDP-11 influenced Motorolas 68000,
>
> Definitely. The 68K doubled the registers by separating some
> addressing vs arithmetic functions, which caused pain for the
> compiler-writers.
>
> > which is turn
>> influenced a lot of processors, including the MSP430.
>
> I doubt that's the sequence; the TMS9900 seems more likely as a
> path of influence. I have a TMS9900 microprocessor data sheet
> here somewhere :-). Nice architecture, pity the implementation
> was so appallingly slow, worse even than the minicomputer it
> integrated.
>
I used the 9995 many years ago. I rather liked it and it was faster than
anything else available at the time for doing integer arithmetic, which was
why we used it (we needed something like three multiplies and a divide to be
done as fast as possible). We couldn't afford the TI assembler for it so I
wrote a cross-assembler using macros for the Microsoft Z80 assembler running
on a TRS-80 Model I, and debugged my code using a simple monitor/debugger
communicating with the TRS-80 via RS-232. It was interfaced to a Z80 which
handled all the I/O. The final version had three 9995s operating in parallel
for 3D position computation, with the Z80 displaying the co-ordinates on
three LED displays.
One of its features was *lots* of register banks in RAM with very fast
switching between them. That was very nice for doing things like passing
parameters to sub-routines and interrupt handling as they could be
overlapped.
Leon
Reply by ●April 20, 20062006-04-20
>> I used the 9995 many years ago. I rather liked it and it was
faster than
anything else available at the time for doing integer arithmetic, which was
why we used it
Yep, it was so fast it made the original 9900 chipset look like a heap of
junk.
I never understood why it didn't take off big time as a product.
I used the 9995 in process control work ... in fact, it was a network of
9995s.
(The app was coded in TI real-time Pascal, and I wrote a RPC library & tools
to allow real-time processes to be moved to any CPU with spare EPROM space
and/or spare processor time. I also wrote a FP maths package which ran on
just one of the CPU boards, fitted with a maths chip. The other CPUs
"posted" their maths requests to the maths processor CPU board.)
----- Original Message -----
From: "Leon Heller" <leon.heller@leon...>
To: <msp430@msp4...>
Sent: Thursday, April 20, 2006 11:27 AM
Subject: Re: [msp430] PDP-11 and MSP430
> ----- Original Message -----
> From: "Clifford Heath" <cjh@cjh@...>
> To: <msp430@msp4...>
> Sent: Thursday, April 20, 2006 10:41 AM
> Subject: Re: [msp430] PDP-11 and MSP430
>
>
>> Anders Lindgren wrote:
>>> I think the PDP-11 had eight 16 bit general purpose register.
>>
>> Yes, but at least one wasn't general purpose; it was the program
>> counter (r6?). The fact that it was accessable as a general register
>> made all kinds of nice tricks possible. IIRC the status register
>> was special as well (r7?)... but I might be dreaming.
>>
>> The stack pointer could have been any of the others, but one was
>> used by convention.
>>
>>> My guess is that PDP-11 influenced Motorolas 68000,
>>
>> Definitely. The 68K doubled the registers by separating some
>> addressing vs arithmetic functions, which caused pain for the
>> compiler-writers.
>>
>> > which is turn
>>> influenced a lot of processors, including the MSP430.
>>
>> I doubt that's the sequence; the TMS9900 seems more likely as a
>> path of influence. I have a TMS9900 microprocessor data sheet
>> here somewhere :-). Nice architecture, pity the implementation
>> was so appallingly slow, worse even than the minicomputer it
>> integrated.
>>
>
> I used the 9995 many years ago. I rather liked it and it was faster than
> anything else available at the time for doing integer arithmetic, which
> was
> why we used it (we needed something like three multiplies and a divide to
> be
> done as fast as possible). We couldn't afford the TI assembler for it
so I
> wrote a cross-assembler using macros for the Microsoft Z80 assembler
> running
> on a TRS-80 Model I, and debugged my code using a simple monitor/debugger
> communicating with the TRS-80 via RS-232. It was interfaced to a Z80 which
> handled all the I/O. The final version had three 9995s operating in
> parallel
> for 3D position computation, with the Z80 displaying the co-ordinates on
> three LED displays.
>
> One of its features was *lots* of register banks in RAM with very fast
> switching between them. That was very nice for doing things like passing
> parameters to sub-routines and interrupt handling as they could be
> overlapped.
>
> Leon
>
>
>
> .
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>
Reply by ●April 20, 20062006-04-20
>>> My guess is that PDP-11 influenced Motorolas 68000, Back in the late 70s my software colleagues always said that the PDP-11, M6800, M6809, M68000 were all designed by SOFTWARE engineers. It was clear to us that the Intel 8008, 8080, 8088, 8086 etc were designed by HARDWARE engineers ... just take a look at their architectures, instruction sets and opcode mnemonics! The Data General NOVA was a bit different ... non-orthogonal, but nice to program in a peverse sort of way. Perhaps it was designed by software engineers who had very little scope to request hardware features? (Both the PDP-11 and M68K could be microcoded - an advanced feature for the era. PDP-11 microcode was used to implement features such as image processing opcode. The M6K microcoding had to be done by Motorola: their Hong Kong branch marketed a 4 x microded 68K based chipset to emulate the IBM 370 ... but it disappeared without trace)
Reply by ●April 20, 20062006-04-20
On Thu, 20 Apr 2006 19:41:33 +1000, Clifford wrote: >Anders Lindgren wrote: >> I think the PDP-11 had eight 16 bit general purpose register. > >Yes, but at least one wasn't general purpose; it was the program >counter (r6?). R7 >The fact that it was accessable as a general register >made all kinds of nice tricks possible. IIRC the status register >was special as well (r7?)... but I might be dreaming. I think the status register was located at an address, 177776 in octal. >The stack pointer could have been any of the others, but one was >used by convention. Actually, there are instructions which use the SP (R6) implicitly. For example, JSR, RTS, MARK, interrupts and RTI, as well as various software traps like TRAP and EMT, as well as RTT. For those who haven't done so already, these are my early comments on the MSP-430 and the PDP-11 -- comparison-wise: http://users.easystreet.com/jkirwan/new/msp430.html For those interested in manuals or other related materials on the PDP-11 and/or DEC, I like this one: http://research.microsoft.com/users/GBell/Digital/DECMuseum.htm Jon