• Please review our updated Terms and Rules here

About re-producing PDP-11/70

I worked at Intel on the P II and the BX chipset. Are you thinking of creating something similar to the instruction decoder that translated CISC into RISC (ROB aka 're-order buffer') with a "retire unit" used to ensure in-order behavior at the end?
Yes, compared to x86, the instruction length of pdp11 is 16 bits, and instruction decoding is even simpler. For instructions with operands in memory, it can actually be considered to split uOPs in the reservation station.
I am currently an engineer in a team of OoO processors. P6 is one of my favorite two micro-architectures, and the other is MIPS R10000, which has given me a lot of inspiration
 
Yes, compared to x86, the instruction length of pdp11 is 16 bits, and instruction decoding is even simpler. For instructions with operands in memory, it can actually be considered to split uOPs in the reservation station.
I am currently an engineer in a team of OoO processors. P6 is one of my favorite two micro-architectures, and the other is MIPS R10000, which has given me a lot of inspiration

I have to admit I'd be extremely interested in any such attempt like this.

Yeah, I was also thinking about the reservation station. Just didn't bother mentioning it. I also go back a long ways with MIPS. I worked on a PC board using the MIPS R2000 and had a chance to get two full afternoons of private 1:1 time with Hennessey in early 1986. Got the first class presentation from him, comparing the design choices made with the huge 68020 IC die he had blown up and placed on a wall behind his desk! I fell in love with R2000 (I still appreciate the choice not to stall on register conflicts, for example.) And I remain so impressed with what they were able to achieve without access to better FABs, performance wise. Caches ran hot and expensive. But it performed!

Just last week I was teasing myself with the idea of committing the time required. I don't take such things lightly. Completion is everything. (Not completing means might as well not bother in the first place.) So commitment has to be 100%. I don't have the time to waste, otherwise. Hadn't decided, yet. Still mulling it over.

But if you decide to move forward, if nothing else I will be a big cheering section for you. (I know that getting others involved can drag things out more than they help.)

Best wishes!! And I hope (for my sake ;) ) that you find the commitment and energy to move on this.
 
Last edited:
Hi all, I think the way to go to replicate a PDP-11 (as somebody said before me in this thread), is to try to replicate the 11/20, as it is the simplest model. I think it would be a nice project to try to replicate a PDP-11 with easily obtainable parts, as nowadays its getting difficult to find one (or at least i'm not getting lucky). If the 11/20 gets done, somebody can use it as a base in order to try to build an 11/34 or a more complex machine.

So I have started to try to achieve this as a "side project" for me. Right now, I'm trying to replicate the a "simple" 11/20-like CPU in logisim, trying to follow the wikipedia architecture page (not trying to clone it from the maintenance manuals on bitsavers). I'm not trying to make a perfect replica right now, as it is just a proof of concept, but I'm trying to follow wikipedia's specification. If I suceed, I would try to "fine tune" the design in order to get a proper "clone" of a 11/20. Eventually from that I could try to assemble it with real hardware (but I'm designing it with that purpose in sight)

The ideas i have with this project are:
  • Easy to find parts (74LSXX series, the "rarest" parts i'm planning to use are 74181, 74182 and 74170), no proms or EPROMS (I maybe need to use one for the microcode)
  • Modular, 2-3 PCB, data path, control and console (to keep the cost low, as i think that making two medium size boards is cheaper than a really big one)
  • Trying to use as less parts as I can, always that it doesn't affect the performance a lot.
Right now I'm designing the data path board (i still have to make the rotate and the flags logic) and the aproximated IC count is 28 (of course this number will only go up). If I end my logisim design and if it looks that i'm going to go serious with this, i post an update to get some feedback about the design.
 
Hi all, I think the way to go to replicate a PDP-11 (as somebody said before me in this thread), is to try to replicate the 11/20, as it is the simplest model. I think it would be a nice project to try to replicate a PDP-11 with easily obtainable parts, as nowadays its getting difficult to find one (or at least i'm not getting lucky). If the 11/20 gets done, somebody can use it as a base in order to try to build an 11/34 or a more complex machine.

So I have started to try to achieve this as a "side project" for me. Right now, I'm trying to replicate the a "simple" 11/20-like CPU in logisim, trying to follow the wikipedia architecture page (not trying to clone it from the maintenance manuals on bitsavers). I'm not trying to make a perfect replica right now, as it is just a proof of concept, but I'm trying to follow wikipedia's specification. If I suceed, I would try to "fine tune" the design in order to get a proper "clone" of a 11/20. Eventually from that I could try to assemble it with real hardware (but I'm designing it with that purpose in sight)

The ideas i have with this project are:
  • Easy to find parts (74LSXX series, the "rarest" parts i'm planning to use are 74181, 74182 and 74170), no proms or EPROMS (I maybe need to use one for the microcode)
  • Modular, 2-3 PCB, data path, control and console (to keep the cost low, as i think that making two medium size boards is cheaper than a really big one)
  • Trying to use as less parts as I can, always that it doesn't affect the performance a lot.
Right now I'm designing the data path board (i still have to make the rotate and the flags logic) and the aproximated IC count is 28 (of course this number will only go up). If I end my logisim design and if it looks that i'm going to go serious with this, i post an update to get some feedback about the design.

The 11/20 was the only member of the series that was NOT microcoded. I don't believe there is even one PROM in the 11/20 design. Just logic ICs.

An 11/04 or 11/05 is a simpler/smaller design, but the tradeoff is they are microcoded and make heavy use of small PROMs for decode logic.

Also none of these implement memory management for memory above 64Kb. You need to go to the 11/34 design to get memory management as a feature.
 
  • Like
Reactions: arf
If I were going to build an iconic, fully featured PDP-11 recreation I would choose the 11/45. It was the second PDP-11 introduced after the 11/20 and remained the highest performance model until 11/70 was introduced. It has memory management, supervisor mode, separate I/D space etc. and should be able to run any OS ever written for the PDP-11.

The 11/45 and 11/70 cpus are nearly, if not completely identical. The difference is that the 11/70 adds cache memory and 22 bit addressing. Both of those additions add significant complexity and probably aren't worth it for a hobby project. Cache would be redundant since the slowest memories available now are faster than the cache memories in a real 11/70. If you can live with 256K of memory you don't need 22 bit addressing. That doesn't sound like a lot of RAM nowadays but on a PDP-11 it goes a long way. 22-bit addressing on a Unibus machine is complicated because you have to have mapping hardware to allow Unibus peripherals to access the full memory. Also the 11/70 can have Massbus controllers but unless you have an old RP06 lying around you're not going to need those either.

Building anything with a unibus (or qbus) is going to be difficult due to the lack of suitable open-collector driver chips. The more modern favorites AM26S10C and 75138 which were not completely spec-compliant to start with, have been discontinued. Also many logic parts of that era like 74S181 ALUs and fusible-link proms are only available NOS and have no assured supply going forward. You can replace these with programmable logic but once you start heading down that road you might as well put the entire processor into a $20 FPGA.

Machines without MMUs like the 11/20, 11/05 etc. will only run RT11 and not the more interesting operating systems like RSX and RSTS. 11/34 has no blinkenlights. I would think that would make it a non-starter. You could just find and 11/23 or 11/73 on Ebay and get pretty much the same result. (or use a simulator)
 
Also many logic parts of that era like 74S181 ALUs and fusible-link proms are only available NOS and have no assured supply going forward. You can replace these with programmable logic but once you start heading down that road you might as well put the entire processor into a $20 FPGA.
For me, this kind of project is only worthwhile if it's carried out using vintage components otherwise, you might as well switch to FPGA.
Finding the necessary components is part of the challenge.
I can recommend a seller who has 200 x MC26S10P at 0.9€ in stock or another who has 40 x MH8641 at 0.2€ (in Europe, not fakes from China)
 
Machines without MMUs like the 11/20, 11/05 etc. will only run RT11 and not the more interesting operating systems like RSX and RSTS. 11/34 has no blinkenlights. I would think that would make it a non-starter. You could just find and 11/23 or 11/73 on Ebay and get pretty much the same result. (or use a simulator)

The KT11-B MMU lets the PDP-11/20 run UNIX.
 
PDP-11 recreation I would choose the 11/45.
I chose the 11/20 because I think its a good starting point for me (as i'm new using this architecture), if it works properly (at least the simulation in logisim), it shouldn't be a lot of trouble to modify it design to work as a 11/45.

Building anything with a unibus (or qbus) is going to be difficult due to the lack of suitable open-collector driver chips.
Yeah, I wasn't aware about that problem, I think the solution would be to make a logical-compatible (but not electrically) unibus to avoid this kind of problems (i don´t know if this is really feasible, I guess that if in the original Unibus could have been done with less parts and simpler it would be done that way).

About the 74S181, I think using that component is a compromise i have to make, at least in my design, because while being NOS, they are quite available (and well, in aliexpress you can find a lot of ripp-offs, but i don´t know it they are "fake chips" or they would work properly). As I see it, not using an 74S181 would rise the IC count by a lot (unless you use an adder and clever logic like the 11/20).
I'm finishing the data path of my design in logisim (its 90% done by now), but I still have to make the control unit and the microcode. If i get it running, I'll pload the project to github just in case someone who knows this architecture better than me wants to make some improvements to it.
 
About the 74S181, I think using that component is a compromise i have to make, at least in my design, because while being NOS, they are quite available (and well, in aliexpress you can find a lot of ripp-offs, but i don´t know it they are "fake chips" or they would work properly). As I see it, not using an 74S181 would rise the IC count by a lot (unless you use an adder and clever logic like the 11/20).

Jameco has 74S181's for $2.65 each. Get em while you can :)
 
Back
Top