On Wednesday 22 September 2004 16:13, William Maddox wrote:
--- Lyle Bickley <lbickley(a)bickleywest.com>
wrote:
The IBM 7070 was modeled after the IBM 650 - so
the
7070 was a bi-quinary (2
out of 5) encoded machine.
Do you know why a bi-quinary encoding was used instead
of the more obvious 8-4-2-1 BCD encoding scheme? I've
been a bit curious about that.
--snip--
To the best of my knowledge, it was a leftover from punched cards. On a 650,
10 digits per word were used for storing data - and a punched card could hold
8 words of data (8x10=80 column punched card). "Instructions" had 2 digits
OP code, 4 digits data address, 4 digits next address and sign.
Given that most programmers were "graduating" from unit record machines (IBM
407, etc.) to program the 650 - they were used to "decimal everything". IBM
didn't want to change the paradyme - at least not in early commercial
systems. (Note that all of IBM's scientific computers [704, 709, Stretch,
709x, 704x, etc.] were pure binary).
Internally, the 650 used bi-quinary which only requires 6 bits to represent
one of 10 decimal digits. One bit (the "bi" in bi-quinary) represented
"0"
or "5" and what the other five bits represented was dependent on the state of
the "bi" bit; i.e.,
"bi" bit
---------
0 1
---------
0 5
1 6
2 7
3 8
4 9
Kinda shrewd - and helped early unit record folks in deal with simple binary
and "mostly" decimal ;-)
Lyle
--
Lyle Bickley
Bickley Consulting West Inc.
http://bickleywest.com
"Black holes are where God is dividing by zero"