cclist at sydex.com
Sun Jan 15 10:28:10 CST 2017
On 01/15/2017 07:35 AM, Paul Koning wrote:
> Dijkstra's objection wasn't to linkage via a register -- after all,
> his earlier machine (the Electrologica X1) does that too, or more
> precisely via one of 16 low core locations. The problem with the
> 1620 is that the link register is not readable -- it's an invisible
> register. And that's pretty much unique; all the other machines use
> a program-accessible register. So you can context switch the link
> address, but not on the 1620.
More precisely, as I've noted, the P-counter is a write-only
register--there is no way for a program to determine its contents. Why
IBM chose never to remedy this situation in later revisions is a mystery.
> The other obvious issue with the 1620 is that it has no interrupts,
> so it's hard to see how you would do multiprogramming.
If you wanted interrupts, you ordered the 1710 variant of the 1620;
complete with RTC. But the 1710 was used mostly for process control.
Akin to the 1130/1800 distinction.
> And one other, more obscure, objection is that while it has paper
> tape readers, it's incapable of reading paper tapes with arbitrary
> data. It only accepts tapes punched with the specific character
> coding it likes.
I suspect that the 1620 was not alone in this. After all, it's a
*decimal* machine, which means that alphamerically, it could represent
100 alphameric characters plus record mark, numeric blank and group
mark. That's short of the 128 characters that a 7-level paper tape can
represent. Dijkstra's objection to the record mark issue is that I/O on
the 1620 is value-delimited--on alphameric output, the delimiting record
mark is not punched. However, it's perfectly possible to punch a record
mark using a Write Numeric instruction. (I/O on the 1620 could be
numeric or alphameric; thus a two-digit value could be punched
alphamerically as a single character or numerically as two.
Dig around in the list of old decimal machines and I'm sure that this
behavior wasn't unique.
My own thoughts on the 1620 I/O was that it was unnecessarily complex in
the interests of keeping it variable-length. AFAIK, you couldn't read
just one column of a card on the 1130--you always got the whole shebang.
More information about the cctalk