PDP 11/70 KB11C Microcode

374 views
Skip to first unread message

Ed Tottenham

unread,
Jun 14, 2022, 4:11:25 AM6/14/22
to [PiDP-11]
Hello,
I appreciate that this isn't really a PiDP-11 question but I wonder if anyone can help.

I worked with PDP 11s for about 30 years, mostly as what used to be called a Systems Programmer. I developed OSs and device drivers. The PiDP-11 has rekindled the flame and got me interested in PDP 11s again.

I've been looking through the engineering drawings of the PDP 11/70 and the flows of the microcode. They are downloadable from here: MP0KB11-C0_1170engDrw_Nov75.pdf (bitsavers.org) There is something that I can't quite figure out about the notation used in the flows.

In the Instruction fetch, for example (FET.10 on page 5) the first clock cycle does:
BA <- PCB  so, copy the PCB register into the Bus Address register (BA).

On the other hand, the first cycle of the MTP.00 state on the same page has:
<BA <- PCB> which appears to me to be doing exactly the same thing.

So, the question is... why the angle brackets around the operation in the second case?

As far as I can see (I haven't worked through all the flows), the angle brackets or only ever used on operations involving The Shifter (SHFR), the Bus Address (BA) or the B copy of the PC (PCB).

Many thanks if anyone can answer the question.
Ed

Sytse van Slooten

unread,
Jun 14, 2022, 6:35:06 AM6/14/22
to Ed Tottenham, [PiDP-11]
Ed,

it's in the ek-kb11c-tm-001_1170procman, on page II-1-7 (51th page in the pdf). 

'Angle brackets indicate operations that are executed for diagnostics purposes only and are not necessary to the operation performed by the cycle'

Cheers
Sytse

--
You received this message because you are subscribed to the Google Groups "[PiDP-11]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-11/e907fee6-406e-4c7a-be2f-baf17ddc8157n%40googlegroups.com.

Edward Tottenham

unread,
Jun 14, 2022, 9:27:20 AM6/14/22
to Sytse van Slooten, [PiDP-11]
Hi Syste,

Many thanks. I hadn't noticed that.

All the best
Ed
You received this message because you are subscribed to a topic in the Google Groups "[PiDP-11]" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/pidp-11/u1q5NTiPe6E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pidp-11+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-11/48680D06-F9AC-4D11-9B3D-EECB046A0151%40sytse.net.

Walter F.J. Müller

unread,
Jun 16, 2022, 6:54:14 AM6/16/22
to [PiDP-11]
Hi Ed,

just for curiosity: what is our specific interest:
  • to understand how the KB11-C worked in all gory detail
  • understand a specific detail of the PDP-11/70 semantics
  • rebuilding a 11/70 and stay as close as possible to the original
Cheers,   Walter

On Tuesday, June 14, 2022 at 10:11:25 AM UTC+2 edw...@tottenham.name wrote:
Hello,
I appreciate that this isn't really a PiDP-11 question but I wonder if anyone can help.
I worked with PDP 11s for about 30 years, mostly as what used to be called a Systems Programmer. I developed OSs and device drivers. The PiDP-11 has rekindled the flame and got me interested in PDP 11s again.
...

Edward Tottenham

unread,
Jun 16, 2022, 7:13:04 AM6/16/22
to Walter F.J. Müller, [PiDP-11]
Hi Walter,
In the mid 1980s I spent a year away from PDP-11s working on a system based around AMD's Am2900 bit-slice chipset which involved microcoding the Am2901.

I always thought it would be nice to understand how the PDP 11/70 worked. Now I've finally got the time to start looking at it.

If it looks feasible, I might get around to trying to write an emulator which would work with the PiDP-11 and would allow stepping through the microcode. But that is not yet a project.

Cheers
Ed
--
You received this message because you are subscribed to the Google Groups "[PiDP-11]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-11+u...@googlegroups.com.

isy...@gmail.com

unread,
Jun 17, 2022, 10:26:10 AM6/17/22
to [PiDP-11]
Dear Ed/All,

 Might be worth contacting Lars Brinkhoff about the possibility of a microcode implementation. See  GitHub - aap/pdp11: PDP-11 emulation.
 I am also moving in this direction to see if it is possible to run a 'reasonable' pdp11 emulation on the RP2040. GitHub - Isysxp/Pico_1140: A PDP11/40 emulator that will run Unix v5
 In this context, simh is not really an option for microcontrollers. With this in mind, I have taken a step on this path based on Dave Cheney's cpp1 (https://github.com/davecheney/cpp11).
 However, this implementation is merely a lightweight pdp11 emulation rather than a microcode app.
 Using microcode has some appeal and, the RP2040 has a hardware state machine which might be usable for this.

Regards, Ian.

a...@papnet.eu

unread,
Jun 17, 2022, 10:36:31 AM6/17/22
to [PiDP-11]
I attempted to write microcode emulators a few times, but the big problem is simply that they're extremely slow to execute. I had the basics of a PDP-11/40 emulator working (see ukd11a.c in the repo you linked above) but it was 4-5 times slower than the real thing on a raspi 3. I could probably have optimized it a bit more and maybe run on a pi4 instead, but i don't know if i'd gotten the necessary speedup. I had also attempted an 11/45 and a KL10 but quickly gave up because of the daunting complexity and resulting slowness.

I ended up doing an FPGA version instead, which can boot into RT-11 with TU58: https://github.com/aap/fpga11 still plan to do RK11 or similar eventually, but oh well....
Reply all
Reply to author
Forward
0 new messages