Article View: comp.arch
Article #1760Flash! 16 not power of 2!
From: David Wright
Date: Sat, 05 Aug 1989 02:14
Date: Sat, 05 Aug 1989 02:14
65 lines
3794 bytes
3794 bytes
In article <3050@blake.acs.washington.edu>, mrc@Tomobiki-Cho.CAC.Washington.EDU
(Mark Crispin) writes:
>Back in days long by, people would actually *do work* in a power-of-2-based
>number counting system. You would not believe how much easier it is to do
>arithmetic in octal instead of hex -- not to mention translating between
>octal and the values displayed in the lights or that you key in the switches!
This is either missing a smiley or is the dumbest thing I have ever read
on comp.arch. Listen carefully, bucko: hexadecimal is base 16. Last
time I looked into the matter, 16 was a power of two, and I have not had
much trouble translating it into binary, if you know what I mean and I
doubt you do.
(*flame off*)
[maybe he thinks hex is decimal??]
I used octal back when I was working on those good ol' Honeywell
mainframes. Octal is a very sensible radix for a 36-bit processor
that has lots of 18-bit and 6-bit fields, and uses either 6-bit or
9-bit characters. Unfortunately, I gather that Honeywell (and
therefore Prime, later) went ahead and used octal on their 16-bit
processors. This is like putting socks on a rooster. Octal is
incredibly inconvenient when trying to do something like figure out
what character is in the upper half of a 16-bit quantity.
I know Bill Davidsen is a Honeywell veteran, and I see Alex Colvin
posting every so often [Hi, Alex! when are you going to escape grad
school?] Anyone else? I admit that the Honeywell 600/6000/DPS lines
had some real drawbacks, e.g. single-accumulator, but I liked
programmming them, and the extended instruction set (EIS) was a wild
thing to work in once you got the hang of it. Being a systems
programmer on the Dartmouth Time-Sharing System was really the life
at times...
Honeywells were basically IBM ripoffs with a special Gray-to-binary
instruction added so they could work on radars on the DEW line.
They had some interesting features; not only did they have an
execute (XEC) instruction that would execute the instruction at the
effective address, they had execute double (XED) that would execute
the two instructions starting at the effective address. Since the
second of the pair could also be an XED, you could set up a chain
of these things. Such chains were not interruptable, but this was
handled by starting a timer when the processor entered an inhibited
state (you could also do this by setting bit 28 in each instruction)
and if the timer expired, the processor faulted. Such a fault could
occur in the middle of an instruction, making the process non-
restartable.
The other feature I've not seen elsewhere was the repeat instruction.
This had the effect of repeatedly executing the instruction following
the repeat (RPT), or the two instructions following (RPD) up to 256
times. You could specify condition code settings that would end
the iteration before the count ran out. There was even repeat-link,
which would follow a linked list. They were very fast when it was
all done in hardware, but now the machines are microcoded and it's
faster (as I hear it) to get rid of the RPT and do the iteration
yourself. Sigh. All that tuning for nothing.
-- David Wright, Stellar Computer, Inc
wright@stellar.stellar.com
"Whatever it is, just tell them 'no'. I'll fix it."
'The Man Who Sold the Moon', Robert A. Heinlein
Technical Details
Message-ID:
<38139@stellar.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!mcnc!decvax!ima!cfisun!stellar!wrightShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!mcnc!decvax!ima!cfisun!stellar!wright From: wright@stellar.UUCP (David Wright @stellar) Newsgroups: comp.arch Subject: Flash! 16 not power of 2! Message-ID: <38139@stellar.UUCP> Date: 5 Aug 89 02:14:14 GMT Reply-To: wright@sol.UUCP () Distribution: usa Organization: Stellar Computer, Newton MA Lines: 65