On 2022-02-07 21:10, Thomas DeBellis wrote:
Now that I've pondered the below a bit, I must say
that this is a rather
interesting bug. I don't recollect hearing anything that would cause an
instruction to get skipped unintentionally.
It's a rather serious bug in the microcode. I would hope that such
things wouldn't slip through normally.
The PDP-10 is interesting (or strange) in that it uses
skips to convey
the result of various tests and comparisons. You don't use tests to set
PC flags and do conditional jumps on them (like nearly every other
architecture that comes to mind immediately).
I don't know if it's true, but it has certainly been claimed that the
condition codes solution originated in the PDP-11.
That, along with having I/O done through normal instructions, to devices
on the same bus and address space as normal memory.
In the context of making code more compact, it's a pretty nice idea.
Memory was expensive, and having to add extra skip instructions adds to
the size. Code analysis for common problems on PDP-8 and PDP-11 showed
some significant improvement on the PDP-11, which in general used less
memory to accomplish the same work.
The PDP-10 is nicer in that there you have more than just skips that are
conditional. But the PDP-10 on the other hand have rather wide
instruction words, which allows such richness. But it again means that
in the end you consume plenty of memory for your code.
Looking at it in the end, the PDP-11 would have benefited from two more
bits in that this would have allowed the instruction set to be more
fully orthogonal and a bit richer. The core instruction set is very
nice, but the later extensions are slightly looking like warts.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol