> On Mar 13, 2025, at 7:36 AM, Holm Tiffe via cctalk <cctalk@classiccmp.org> 
> wrote:
> 
> ...
> Ok, this is a full fledged mainframe CPU.. not really what I want todo first.
> That stuff tends to "explode" in sight of parts, needed power and space,
> I know that.
> On the other side I saw different controllers for PDP11/VAX stuff that
> used the 290x to control "hardware". That are microprogrammed computers
> w/o any system bus and macro-instructions. Even the controller of an DEC
> RX01 RX02 is build around two AM2901.

I can think of several places where DEC used 2901 designs.  One is the VAX 730. 
 One of the PostScript laser printers also used these, I think -- LPS20 
perhaps?  Not the LPS40, that was a microVAX running VaxELAN based firmware.

Another, and an interesting one, is the UDA50.  It has a 16 bit engine using 4 
2901s plus a 2910 sequencer.  My mentor Anton Chernoff worked on the microcode 
for it and showed me some of it.  I remember it had a specialized assembler 
where the ALU opcode (for the 2901) was in the left half of the line, and the 
sequencer opcode (for the 2910) in the right half, separated by a semicolon.  
The 2901 had condition codes, which were transferred to the 2910 for 
conditional branches, but with a one cycle delay at least in the UDA50.  So you 
could see weird stuff like this:

        clr r1 ; bne foo

because the conditional branch would act on the condition codes set by the 
preceding line's ALU part.

The UDA50 had an implementation, in a tiny amount of microcode, for a small 
16-bit microprocessor instruction set.  I think it was roughly a very much 
simplified PDP-11.  That was used for various downloadable diagnostics and 
service tools, like a disk formatter.  Richie Lary of PDP-8 fame wrote that 
part of the microcode.

        paul


Reply via email to