I used to design hardware in those days, and had a soldering iron and
a PDP 11/45 board on the same bench, unsuccessfully, so here goes.
It's interesting to consider the PDP-8 and -11, and the progression of
hardware. The -11 was way different than the -8: I still have some -8
boards, on which you can see the transistors and such needed to
implement state and gates. The -11s had TTL. At the time, a package
with four logic elements was a big deal.
so the -8 had "a gate per 2x3 inch card" or so. The -11 had about 8x11
boards with, by my count on the 11/20, around 100+ gates (I've got
some cards still ...). Again, multiple logic elements in a 14-dip were
an amazing step forward.
If you look at those boards, you see lots of 14-DIP with quad NAND,
AND, NOR, 2 flops per package, and that's about it. In this world,
where a gate costs about $1, you think about everything. Look
carefully, and you can see the traces were laid out by hand; some of
us remember the rooms full of light panels and the red tape you used
to lay out the board.
Not that I designed CPUs, but having used this gear, lived in the
culture, I'd argue that bit layouts of instructions did in fact
matter. The TTL MUX parts were yet to appear. The board layout,
package design, cost of a wire, instruction format: all to some extent
intertwined. You could look at the hardware design and draw a
connection right back to instruction coding. It was all of a piece.
The luxury of a ROM or MUX that picked instructions apart for you? Not
at that time.
As for random logic ... the things we did back then. The discipline of
design for test, which we take for granted today as JTAG, was some
time in the future. And some of you no doubt remember the unibus ...
and the practice of "margining the bus." I.e., slow it the hell down
so maybe it would not get data errors. Or maybe, even, "let's put a
cap here to add some delay constant" -- people really did that stuff.
It's amazing anything worked. But when a gate costs a buck, you do
what you do.
On Tue, Nov 30, 2021 at 10:30 PM <pbirkel(a)gmail.com> wrote:
Said Jon:
" In a microcoded machine, the same hardware is used for every
microinstruction. In random logic, custom designed circuitry is used for
each special case."
Best way to get a handle on the distinction is to read up on the originator
of the concept, Maurice Wilkes:
https://en.wikipedia.org/wiki/Maurice_Wilkes
https://amturing.acm.org/info/wilkes_1001395.cfm
The original paper:
http://www.cs.princeton.edu/courses/archive/fall09/cos375/BestWay.pdf
"The Best Way to Design an Automatic Calculating Machine" (1951)
-----