On 11/28/21 6:35 PM, Adam Thornton wrote:
Getting a bit far afield from Unixes, but A Quick
Rundown Of
Instruction Sets I Have Known, more or less in the order I learned them:
6502: you never forget your first love, and, sure, it's constrained,
but it's elegant and concise and I still adore it.
68k: Lovely. I used it before I ever used the PDP-11, but in
retrospect it's like the PDP-11 but more so. Roomy, comfortable,
regular. Too bad it lost to x86 in the marketplace.
8051: I mean, OK, I get it, you need a low-cost embedded architecture
and it's the 1980s, but...yuck.
x86-and-descendents: the less said the better. Maybe I just don't
like Intel's designs?
SPARC: It's not bad. Having lots of registers is nice. But by the
time it came along compilers were good enough that I never actually
needed to use it in anger.
S/360-and-descendents: The S/360 is OK, even nice, in a very 1960s IBM
way. And then its evolution just KEPT adding ever more baroque
filigrees onto it. Don't get me wrong, I love SIE, because I love VM,
but even that is kind of a bag on the side, and by the time you get to
System z...this is what happens when you don't start over from a clean
sheet every so often.
PDP-11: There's a very good reason it was used as a model architecture
in coursework for decades. Also regular and comfortable.
TI-99/4A (more or less TI 9900): I like microcode as much as anyone
but honestly this is pretty silly here, folks.
When I was in high school, I loved reading about instruction sets. I
recommend the first five volumes of Annual Review in Automatic
Programming, if you are interested.
The DEC instructions sets were all quite elegant, from the minimal PDP-8
(nee PDP-5) 12-bit machine to the PDP-10 (nee 6). I maintained the BCPL
compiler at BBN for a while in the 1970's, and it was a pleasure to
figure out what machine code to generate.
Then there was RISC vs CISC, where the VAX was a major punching bag. I
was at Berkeley for RISC-I, and was a part of the small student group
that did its register windows scheme.