Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

KL microcode

59 views
Skip to first unread message

Scott Hemphill

unread,
Jan 12, 2024, 10:14:28 AMJan 12
to
Does anyone know if source code has been preserved for the KL10 or KL20
microcode? I'm curious. Do any of the emulators actually use microcode?

And if I actually get to tinkering, does any of the system software
actually use the extended instructions on a -20? I seem to recall
support for string instructions. Is there documentation on the extended
instruction set?

When I look at the way the x86 architecture has evolved, it seems that
the -20 could have benefited from some of the mathematical extensions.
But it might have been fun to extend it in other ways, too. Like chess
move generation?

Scott
--
Scott Hemphill hemp...@alumni.caltech.edu
"This isn't flying. This is falling, with style." -- Buzz Lightyear

Lars Brinkhoff

unread,
Jan 12, 2024, 11:23:48 AMJan 12
to
Scott Hemphill wrote:
> Does anyone know if source code has been preserved for the KL10 or KL20
> microcode?

Yes, here and elsewhere:
https://github.com/PDP-10/microcode

The KL10 microcode is assembled from sources as part of the ITS build
script.

> Do any of the emulators actually use microcode?

No. Several attempts to do this were started, so far no one made it to
the finish line. Alan Mimms has probably got furthest:
https://github.com/alanmimms?tab=repositories

> Is there documentation on the extended instruction set?

Yes, it's in the Processor Reference Manual:
http://www.bitsavers.org/pdf/dec/pdp10/1982_ProcRefMan.pdf

David Bridgham

unread,
Jan 12, 2024, 4:26:15 PMJan 12
to
Scott Hemphill <hemp...@hemphills.net> writes:

> Do any of the emulators actually use microcode?

Rob Doyle's FPGA implementation of the PDP-10 was intended to be
microcode compatible with the KS10, as I recall.

And my FPGA implementation of the PDP-10 is microcoded but it's my own
micro-architecture, not intended at that level to be compatible with
anything else.

Dave

Scott Hemphill

unread,
Jan 12, 2024, 6:16:16 PMJan 12
to
Thanks for your help!

Scott Hemphill

unread,
Jan 12, 2024, 6:16:42 PMJan 12
to
Thanks for the info!

Rob Doyle

unread,
Jan 12, 2024, 6:29:36 PMJan 12
to
On 1/12/2024 4:16 PM, Scott Hemphill wrote:
> David Bridgham <d...@froghouse.org> writes:
>
>> Scott Hemphill <hemp...@hemphills.net> writes:
>>
>>> Do any of the emulators actually use microcode?
>>
>> Rob Doyle's FPGA implementation of the PDP-10 was intended to be
>> microcode compatible with the KS10, as I recall.
>>
>> And my FPGA implementation of the PDP-10 is microcoded but it's my own
>> micro-architecture, not intended at that level to be compatible with
>> anything else.
>
> Thanks for the info!
>
> Scott

If you're interested:

https://github.com/KS10FPGA/KS10FPGA

Rob.

fishtoprecords

unread,
Jan 14, 2024, 1:53:11 PMJan 14
to
On Friday, January 12, 2024 at 10:14:28 AM UTC-5, Scott Hemphill wrote:
> And if I actually get to tinkering, does any of the system software
> actually use the extended instructions on a -20? I seem to recall
> support for string instructions. Is there documentation on the extended
> instruction set?

I did a fair amount of exploring the extended instruction in 76 at First Data.
I remember there being a fair number of string move and string conversion (string to int, int to string)
instructions. My guess at the time was that they were created to help COBOL performance.

I don't remember seeing any of them being used by any DEC software. (other than maybe the output of COBOL
or the COBOL run time system.

I also don't remember them as being a huge performance improvmemt.

I do remember finding some bugs in them. One caused the CPU to halt (we were running Tops-10) while
running a normal user-space program. I remember it mostly because it was assigned as a hardware
field service folks rather than the software SPR.

Phil Budne

unread,
Jan 15, 2024, 2:36:19 PMJan 15
to
On Sunday, January 14, 2024 at 1:53:11 PM UTC-5, fishtoprecords wrote:

> I don't remember seeing any of them being used by any DEC software. (other than maybe the output of COBOL
> or the COBOL run time system.

FORTRAN-10/20 version 7 (FORTRAN-77) used the string instructions for the CHARACTER type in the run-time system (FOROTS):
http://pdp-10.trailing-edge.com/BB-4157F-BM_1983/01/fortran/ots-debugger/forchr.mac.html

And generated G-float (extended exponent range) instructions in-line:
http://pdp-10.trailing-edge.com/BB-4157F-BM_1983/01/fortran/compiler/opgnta.mac.html

Sadly, Sara Murphy (z"l) original author of the code generator, and my manager when I was on the F10/20 team, passed away late last year.
Phil Budne
BUDNE@MRFORT/KL2137
[31,5732] @ KL1026
0 new messages