Discussion about this post

User's avatar
Bruce Hoult's avatar

I read this soon after it was published. I started university, doing computer science, in February 1981. I saw the book in the "new arrivals" section of the university book store, glanced through, and instantly bought it. I've had to buy several more copies over the years when I've loaned mine to people and it hasn't come back.

We had DEC machines at university: a PDP-11/70 was the main computer when I arrived, supplemented in 1982 by a VAX-11/780 and then I think the year after by another 11/750. There was a PDP-11/34 with 256 KB RAM, 22 terminals, and two DECWriter dot matrix printers in the 1st year students' lab. In 1980 I was still at high school but visited a friend who skipped 7th form.

At the end of my 4th year (half way through a 2 year Masters') I got a summer holiday job working jointly for the business school's finance professor and one of his star ex-students now heading the research department at a large (by NZ standards) stockbroking company. I split my time between the university in Hamilton, using an MV/8000 at the nearby technical institute (via modem on a leased line), and the stockbroking company in Wellington which had the bigger MV/10000. I also spent time in the DG office, evaluating their database products and whether we should buy (for ~$20k I think) their COBOL, FORTRAN, or PL/I compiler for my work. I settled on PL/I as it was, if you squinted just right, able to substitute for Pascal or C.

I ended up not going back to university and worked at that and other stockbroking firms, on DG computers (and Macs connected to them), for the next decade.

Skip forward twenty five years and since 2017 I've been heavily involved in the new RISC-V microcomputers and microcontrollers. I've been involved in working with CPU core designers in a kind of ‘Hardy boys’ and ‘Microkids’ experience except that instead of microcode (which does not exist in RISC-V) I've been on the system software and runtime library side. RISC-V software such as the SBI running in Machine mode (more privileged than the operating system) is often used to do the same kinds of things that microcode was used for on older designs ... but using normal RISC instructions.

I was working on the committees designing the RISC-V Vector extension (RVV) and BitManip extension and cache control extension. Designing these new instructions involves a lot of the same trade-offs between doing something in hardware vs doing it in software as you see in "Soul". As one simple example, suppose you want to preload data in a range of addresses into cache from main memory. You could have an instruction that you give an upper and lower limit and have the hardware loop over all addresses between. Or you can provide an OS or SBI function with the same arguments, but have it do a software loop with each iteration loading one cache line of data.

One interesting thing on the RVV committee was that one of the other members was Steve Wallach who had been "Manager Advanced Development - Eclipse Systems" at Data General from 1975-1980 ... and is featured in "Soul".

So, in general, I'd say "Soul of a New Machine" was an inspiration to me and got me interested in low level computer design things, which I've always done a lot of reading and study of (e.g. the comp.arch group on usenet, from as soon as I had access to the internet in 1989) -- though it took me until thirty five years later to find work involving designing computers and instruction sets rather than merely using them.

Expand full comment
Dave Cline's avatar

I worked for Tom West when Soul was published. He was quite a character. When I first met him, he was firing his secretary as she had done his expense report for his last trip to Japan and had gotten the yen/dollar conversion backwards and had him owing DG hundreds of thousands of dollars. He didn’t suffer fools gladly. As a software manager in a hardware group, we got along well. Those were fun times.

Expand full comment
34 more comments...

No posts