On Mon, 14 Mar 2005 Bj?rn <bv at norbionics.com> wrote:
On Sun, 13 Mar 2005 20:36:58 +0100, Eric Smith
<eric at brouhaha.com> wrote:
Ethan writes about bytes on the PDP-10:
On the -10,
one stores 6 6-bit characters in a machine word, and one speaks of
bytes that are 6 bits.
Not necessarily. On the PDP-10, the byte size could be anywhere from
zero (really!) to 36 bits. Seven bits was the most commonly used for
general ASCII text, with one leftover bit per word. In fact, this
was so common that the KS10 CPU has special dedicated hardware to make
the 7-bit byte case more efficient than the other supported byte sizes.
...
A byte is the smallest INDIVIDUALLY addressable unit of data on a system.
Nonsense! Where did you get that?
The PDP-10 is an excellent example of when this isn't true.
The smallest addressable unit is a word, which is 36 bits.
A byte is, as noted, anything between 0 and 36 bits. Bytes are stored in a
word, as many as can be fitted.
To access bytes on a PDP-10, you have a byte pointer, which consist of a
word address, and a bit pointer, and byte size. So it points to the
correct word, and then you have a bitfield in that word that a nice
instruction can extract, and also move the bitfield pointer ahead the
correct amount and move on the the next word, if the next byte would not
fit in this word.
A byte is simply a convenient number of bits enough to store a character.
No explicit definition of how many "convenient" is, nor what character set
we're talking about with "character". A byte is just that. A convenient
size typ for character data.
The fact that people today seem to believe that byte addressable is the
only possible thing, along with a byte being 8 bits, is plain and simply
because they haven't seen any other.
It was usual to speak of a character when a part of a
whole word was
extracted. I do not remember any details of the Univac 1107 (I only
programmed in FORTRAN and Simula on it), but I think the normal character
was six bits. I am fairly certain that was not a byte, it was extracted
from an 18-bit halfword or a 36-bit word. A byte is something you can load
and store to an individual address, and the hardware takes care of the
rest. A character needs some software or firmware mapping in order to read
or write just one of them.
Bah. A sixbit character can very well be a byte, it's just a question of
if you choose to call it that.
Byte addressable is not usable as a definition of a byte.
Johnny
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol