Moving to COFF as this is less UNIX and more computer architecture and design style...

On Tue, Nov 30, 2021 at 3:07 AM <> wrote:
Given a random logic design it's efficient to organize the ISA encoding to maximize its regularity.
Probably also of some benefit to compilers in a memory-constrained environment?
To be honest, I think that the regularity of the instruction set is less for the logic and more for the compiler.  Around the time the 11 was being created Bill Wulf and I think Gordan as co-author, wrote a paper about how instruction set design, the regularity, lack of special cases, made it easier to write a code optimizer.  Remember a couple of former Bell and Wulf students were heavily involved in the 11 (Strecker being the main one I can think of off the top of my head).

Also remember that Gordan and the CMU types of those days were beginning to create what we now call Hardware Description Languages (HDL).  Gordon describes in "Bell and Newell" (the definitive Computer Structures book of the 1970s) his Processor-Memory-Switch (PMS) diagrams.   The original 11 (which would become the 11/20) was first described as a set of PMS diagrams.   PMS of course, beget the Instruction Set Processor Language (ISPL) that Mario created a couple of years later.   While ISPL was after the 11 had been designed, ISPL could synthesize a system using PDP-16 RTM modules.  A later version from our old friend from UNIX land, Ted Kowalski [his PhD thesis actually], that could spit out TTL from the later ISPS simulator and compiler [the S being simulation].   ISPS would beget VHDL, which beget today Verilog/System Verilog.

IIRC it was a lecture Gordon Gordan gave us WRT to microcode vs. direct logic.  He offered that microcode had the advantage that you could more easily update things in the field, but he also felt that if we could catch the errors before you released the HW to the world, and if we could then directly synthesize, that would be even better - no errors/no need to update.   That said, by the 11/40, DEC started to microcode the 11's, although as you point out the 11/34 and later 11/44, where more direct logic than the 11/40 - and of course Wulf would created the 11/40e - which writeable control store so they add some instructions and eventually build C.mmp.