To the 2901 bit slicers out there
jwsmail at jwsss.com
Thu Dec 28 13:47:03 CST 2017
On 12/27/2017 8:35 PM, Randy Dawson via cctalk wrote:
> Since I know there's tons of PDP/11 geniuses here, and other gurus with a NOVA 4, and a Tektronix 4052 guy (I have the 4051):
> What have you done, with microprogramming this part? In your architecture, have you changed the microcode, create an instruction to enhance your machine?
> I would be interested in any hardware projects, stories (or even in the FPGA, I hear its a popular thing to copy);
The Ultimate Corporation licensed the Pick system to run on Honeywell
hardware (among others). Initial implementation was on a DPS6 with WCS
written for the DPS6 in a firmware extension of the DPS6 firmware that
executed Pick directly. Parts of the DPS6 instructions routines were
used, as well as using a kernel written in DPS6 assembler to run the
peripherals, disk tape, and serial ports.
Very early a co-processor which was exclusive to Pick was designed and
it was implemented with 2901 hardware. The design for that board was a
32 bit wide arithmetic and logical system. it had only handshakes with
its host system and no I/O. It used host memory for the pick system
since the pick system is a virtual architecture.
The Honeywell incarnation of the co-processor was hosted on a disk
controller derived host board modified and supplied to Ultimate by
Honeywell. Another version was implemented for the PDP 11 qbus and had
a custom host adapter to couple the co-processor to the host.
The host in either case ran a kernel for I/O and other such tasks, as
well as being the main boot processor and control in both cases.
It was required that systems boot from either half inch tape or disk
The 2901 firmware was implemented with the Pick assembler which is table
driven. I don't think much of it would assemble on an AMD tool, as is
the case with most Pick assemblers. It is easy to get the pick system
to do your assembler if you use the conventions of the syntax they use.
However there was generally a desire on both honeywell and dec to have
all tools resident on Pick. there were no toolchains in the released
and production product that was not completely hosted on that system.
Debugging in all cases was done with tools from Hilevel of Irvine. Bjorn
Dahlberg, founder of Hilevel came up with a concept to integrate rom
simulation and hardware simulation tools, and assembler and tools into a
product, and had a very flexible tool that could accomodate most
variations for such as bitslice designs needed. Since the designer
specified all but the basic 4 bit width, the number of slices coupled,
the micro sequencing and other features as one might put into a
microprocessor system had to be dealt with.
Hilevel tools would allow you to simulate all eproms or proms in a
system, and load them dynamically. They also had a very powerful
assembler / linker / loader tool that they would use to provide a
working environment with a support computer attached to their rom simulator.
They also would allow you to add run control to the system, to allow
stepping tracing start / stop or any other controls you needed by
routing signals out to the Hilevel box, and then assigning commands to
control the signals.
For example instead of having to flip a bunch of bits to start or step
your system, you set up a macro to do something and could name it "step"
or "run" or whatever. There were comparators to allow one to do
breakpoints. Also I know of some cases where register examinations were
I think the Ultimate projects were probably a test case for them as far
as features. Mr. Dahlberg had previously worked @ Microdata as had most
of the Ultimate folks (others were Pick people), and that helped.
More information about the cctalk