Byte sizes (was Re: 2.8M 3.5' floppy (was: three and a quarter loppy?)

Johnny Billquist bqt at Update.UU.SE
Mon Mar 14 06:26:23 CST 2005


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


More information about the cctalk mailing list