NODE e7127262Re: questions about bits and bytes
jim bell <jimbell@pacifier.com>Sat, 13 Apr 1996 06:23:02 +0800
At 09:17 PM 4/11/96 -0500, Sten Drescher wrote:
>>>>>> jim bell writes:
>
>jb> At 06:29 PM 4/10/96 -0700, Simon Spero wrote:
>>> No, bytes are no always 8 bits - some machines use(d) 9-bit bytes.
>
>jb> I notice you gave no examples. Why is that?
>
> As I recall, the Honeywell H6000 used 6-bit bytes and 36-bit
>(6 byte) words.
Here's the problem with this kind of counter-example: You do not explain
whether or not these data structures were actually called "bytes" by the
manufacturer, or whether the term "byte" was inflicted later on by people
who didn't know better. Remember, in the absence of any name for a "6-bit
data object" I'm sure the temptation was probably very strong to misuse a
term, especially in hindsight.
See, I do not challenge the fact that there were plenty of data objects of
length other than 8-bits. The issue is whether or not the people back then
actually believed that a correct, official usage of the term "byte" included
lengths other than 8.
Dmitri Vulis at least acknowledged that when he looked back into the
documentation, he discovered that the term used for his counter-example was
"character", not byte. How many other of these counter-examples would show
this kind of thing?
NODE f15ed5f2Answer about bits and bytes
Jim Gillogly <jim@ACM.ORG>Sat, 13 Apr 1996 11:14:56 +0800
jim bell <jimbell@pacifier.com> writes:
>See, I do not challenge the fact that there were plenty of data objects of
>length other than 8-bits. The issue is whether or not the people back then
>actually believed that a correct, official usage of the term "byte" included
>lengths other than 8.
Reading from the PDP-10 Reference Handbook (DEC, 1971) page 2-30, we read:
To conserve memory, it is useful to store data in less than full
36-bit words. Bytes of any length, from 1 to 36 bits, may be
entered using a BYTE statement.
BYTE (N) X,X,X
The first operand is the byte size in bits. It is a decimal number
in the range 1-36, and must be enclosed in parentheses.
...
In the following statement, three 12-bit bytes are entered:
LABEL: BYTE (12)56,177,N
This assembles as...
and so on. The PDP-8 "Introduction to programming" (1970) has similar
remarks, though not as explicit. On page v in the introduction it says
o A six-bit byte swap instruction that provides much faster...
and in the description of special periph ops on page D 1-15:
VBA 6534 BYTE ADVANCE command requsts next twelve bits, data
ready flag is set.
I suggest you gracefully back off, if it's still possible.
Jim Gillogly
Sterday, 22 Astron S.R. 1996, 21:04
NODE 340abdb9Re: Answer about bits and bytes
dlv@bwalk.dm.com (Dr. Dimitri Vulis)Sat, 13 Apr 1996 13:57:16 +0800
Jim Gillogly <jim@ACM.ORG> writes:
> jim bell <jimbell@pacifier.com> writes:
> >See, I do not challenge the fact that there were plenty of data objects of
> >length other than 8-bits. The issue is whether or not the people back then
> >actually believed that a correct, official usage of the term "byte" included
> >lengths other than 8.
>
> Reading from the PDP-10 Reference Handbook (DEC, 1971) page 2-30, we read:
>
> To conserve memory, it is useful to store data in less than full
> 36-bit words. Bytes of any length, from 1 to 36 bits, may be
> entered using a BYTE statement.
>
> BYTE (N) X,X,X
...
_The Programmer's Guide to the 1802_ (Tom Swan, Hayden Books, 1981) says the
following on p. 19:
The eight binary digits or bits represented in Fig. 2-1 are commonly
given the name _byte, and in this book, one byte will always equal
eight bits. (This is a rather common convention in microcomputing, but
a byte does not always equal eight bits in much of the published
literature.) Some books also refer to computer "words," but, since a
"word" is even more loosely defined than a "byte," we will refrain from
using it as a label for binary numbers. In addition, to make things
come out right for eight-bit computers, leading zeros are usually
written in front of binary numbers so all numbers come out to even
multiples of eight-bit bytes.
_Assembler Reference Manual for the Sub Workstation, Version 1.0 of
30th November 1982_ (we're talking the Motorola 68K Sun 1 here!) says:
Many MC68000 machine instructions can operate upon byte (8-bit), word
(16-bit), or long word (32-bit) data.
They felt it necessary to specify this in a number of places.
A very important book that anyone who programs computers should read --
Donald Knuth, _The Art of Computer Programming_ (Addison Wesley, 1973), v. 1,
p. 120, says the following about the MIX language:
Words. The basic unit of information is a _byte. Each byte contains an
_unspecified amount of information, but it must be capable of holding
at least 64 distinct values. That is, we know that any number between 0
and 63, inclusive, can be contained in one byte. Furthermore, each byte
contains _at _most 100 distinct values. On a binary computer a byte
must therefore be composed of six bits; on a decimal computer we have
two digits per byte.
Programs written in the MIX language should be written so that no more
than sixty-four values are ever assumed for a byte. If we wish to treat
the number 80, we should always leave two adjacent bytes for expressing
it, even though one byte is sufficient on a decimal computer. _An
_algorithm _in _MIX _should _work _properly _regardless _of _how _big
_a _byte _is. Although it's quite possible to write programs which
depend on the byte size, this is an illegal act which will not be
tolerated; the only legitimate programs are those which would give
correct results with all byte sizes. It is usually not hard to abide by
these ground rule, and we will thereby find that programming a decimal
computer isn't so different from programming a binary one after all.
...
_A _computer _word _is _five _bytes _plus _a _sign. The sign position
has only two possible values, + and -.
Give it up, Jim -- I have more ancient writings than you can shake a dynamite
stick at. :-)
---
Dr. Dimitri Vulis
Brighton Beach Boardwalk BBS, Forest Hills, N.Y.: +1-718-261-2013, 14.4Kbps
NODE d7051b49Re: Answer about bits and bytes
Dan Harmon <harmon@tenet.edu>Sat, 13 Apr 1996 17:13:12 +0800
Just a note, Jim's attribution dates seem to be older than yours. Not
that it matters a whole hill of beans.
Dan
P.S. DEC referred to memory size on the 11 series prior to the 11/70 in
16 bit words, not 8 bit bytes.
On Fri, 12 Apr 1996, Dr. Dimitri Vulis wrote:
> Jim Gillogly <jim@ACM.ORG> writes:
> > jim bell <jimbell@pacifier.com> writes:
> > >See, I do not challenge the fact that there were plenty of data objects of
> > >length other than 8-bits. The issue is whether or not the people back then
> > >actually believed that a correct, official usage of the term "byte" included
> > >lengths other than 8.
> >
> > Reading from the PDP-10 Reference Handbook (DEC, 1971) page 2-30, we read:
> >
> > To conserve memory, it is useful to store data in less than full
> > 36-bit words. Bytes of any length, from 1 to 36 bits, may be
> > entered using a BYTE statement.
> >
> > BYTE (N) X,X,X
> ...
>
> _The Programmer's Guide to the 1802_ (Tom Swan, Hayden Books, 1981) says the
> following on p. 19:
>
> The eight binary digits or bits represented in Fig. 2-1 are commonly
> given the name _byte, and in this book, one byte will always equal
> eight bits. (This is a rather common convention in microcomputing, but
> a byte does not always equal eight bits in much of the published
> literature.) Some books also refer to computer "words," but, since a
> "word" is even more loosely defined than a "byte," we will refrain from
> using it as a label for binary numbers. In addition, to make things
> come out right for eight-bit computers, leading zeros are usually
> written in front of binary numbers so all numbers come out to even
> multiples of eight-bit bytes.
>
> _Assembler Reference Manual for the Sub Workstation, Version 1.0 of
> 30th November 1982_ (we're talking the Motorola 68K Sun 1 here!) says:
>
> Many MC68000 machine instructions can operate upon byte (8-bit), word
> (16-bit), or long word (32-bit) data.
>
> They felt it necessary to specify this in a number of places.
>
> A very important book that anyone who programs computers should read --
> Donald Knuth, _The Art of Computer Programming_ (Addison Wesley, 1973), v. 1,
> p. 120, says the following about the MIX language:
>
> Words. The basic unit of information is a _byte. Each byte contains an
> _unspecified amount of information, but it must be capable of holding
> at least 64 distinct values. That is, we know that any number between 0
> and 63, inclusive, can be contained in one byte. Furthermore, each byte
> contains _at _most 100 distinct values. On a binary computer a byte
> must therefore be composed of six bits; on a decimal computer we have
> two digits per byte.
>
> Programs written in the MIX language should be written so that no more
> than sixty-four values are ever assumed for a byte. If we wish to treat
> the number 80, we should always leave two adjacent bytes for expressing
> it, even though one byte is sufficient on a decimal computer. _An
> _algorithm _in _MIX _should _work _properly _regardless _of _how _big
> _a _byte _is. Although it's quite possible to write programs which
> depend on the byte size, this is an illegal act which will not be
> tolerated; the only legitimate programs are those which would give
> correct results with all byte sizes. It is usually not hard to abide by
> these ground rule, and we will thereby find that programming a decimal
> computer isn't so different from programming a binary one after all.
>
> ...
>
> _A _computer _word _is _five _bytes _plus _a _sign. The sign position
> has only two possible values, + and -.
>
> Give it up, Jim -- I have more ancient writings than you can shake a dynamite
> stick at. :-)
>
> ---
>
> Dr. Dimitri Vulis
> Brighton Beach Boardwalk BBS, Forest Hills, N.Y.: +1-718-261-2013, 14.4Kbps
>
NODE 482d3fd6Re: Answer about bits and bytes
dlv@bwalk.dm.com (Dr. Dimitri Vulis)Sun, 14 Apr 1996 05:43:26 +0800
Dan Harmon <harmon@tenet.edu> writes:
> Just a note, Jim's attribution dates seem to be older than yours. Not
> that it matters a whole hill of beans.
Nope, Jim sited a PDP-10 manual from 1971, and the first edition of _The Art of
Computer Programming_ came out in 1967. (I quoted the second edition, but I
know that the first edition had MIX too.)
The book _IBM's Early Computers_ by Bashe, Johnson, Palmer, Pugh says the
following about the STRETCH system developed in 1956 (akin to 704 and 705):
"In July, Stretch technical staff manager Buchholz wrote a report listing the
advantages of a word length of sixty-four bits. Assuming an _m-bit binary field
for addressing a sixty-four-bit memory-contained word, he noted, _m+1 bits
could address a half-word, _m+2 bits a quarter-word, _m+3 bits an eight-bit
segment, and so on until _m+6 bits could address a single bit. Using this
systematic addressing principle, one class of instructions could address words,
and other classes could address shorter operands by increasing the length of an
address field. By this time, the term "byte" had been coined as a way of
avoiding typographical confusion between bit and "bite", a term that project
personnel had been using to designate small, character-oriented word segments.
The sixty-four-bit format was adopted in September; like the previous format of
sixty bits, it was accompanied by redundant bits for use by error-detection and
-correction circuits."
They footnote: Also see W. Buchholz, January 1981: "Origin of the Word Byte",
_Annals _of _the _History _of _Computing 3, p. 72, which explains how "byte"
later came to imply eight bits.
P.S. The _Barron's Dictionary of Computer Terms_ says:
BYTE A byte is the amount of memory space needed to store one character,
which is normally 8 bits. ...
(Wondering what the cryptographic relevance of all this might possibly be...)
---
Dr. Dimitri Vulis
Brighton Beach Boardwalk BBS, Forest Hills, N.Y.: +1-718-261-2013, 14.4Kbps