Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #5047 > unrolled thread

64-bit bytes

Started byfir <profesor.fir@gmail.com>
First post2015-01-05 01:38 -0800
Last post2015-01-13 23:57 -0800
Articles 20 on this page of 43 — 9 participants

Back to article view | Back to comp.programming


Contents

  64-bit bytes fir <profesor.fir@gmail.com> - 2015-01-05 01:38 -0800
    Re: 64-bit bytes robin.vowels@gmail.com - 2015-01-08 00:46 -0800
      Re: 64-bit bytes fir <profesor.fir@gmail.com> - 2015-01-08 00:53 -0800
        Re: 64-bit bytes robin.vowels@gmail.com - 2015-01-11 15:46 -0800
          Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-12 00:32 +0000
            Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-12 01:35 +0000
              Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-12 09:07 +0000
                Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-12 11:43 +0000
                  Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-12 11:59 +0000
                    Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-12 12:21 +0000
                      Re: 64-bit bytes Mark Carroll <mtbc@bcs.org> - 2015-01-12 12:36 +0000
                        Re: 64-bit bytes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-01-12 14:15 +0000
                          Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-12 14:34 +0000
                            Re: 64-bit bytes "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2015-01-12 16:35 +0100
                              Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-12 17:42 +0000
                                Re: 64-bit bytes "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2015-01-12 19:11 +0100
                                  Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-12 19:18 +0000
                                    Re: 64-bit bytes "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2015-01-12 21:34 +0100
                                      Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-12 22:01 +0000
                            Re: 64-bit bytes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-01-13 00:51 +0000
                      Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-12 13:18 +0000
                        Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-12 14:16 +0000
                          Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-12 14:48 +0000
                            Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-12 15:05 +0000
                            Re: 64-bit bytes Robert Wessel <robertwessel2@yahoo.com> - 2015-01-12 15:43 -0600
                Re: 64-bit bytes Kaz Kylheku <kaz@kylheku.com> - 2015-01-12 21:05 +0000
                  Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-12 22:12 +0000
              Re: 64-bit bytes "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2015-01-12 10:12 +0100
            Re: 64-bit bytes robin.vowels@gmail.com - 2015-01-11 20:56 -0800
              Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-12 09:19 +0000
                Re: 64-bit bytes robin.vowels@gmail.com - 2015-01-12 06:22 -0800
                  Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-12 14:51 +0000
                    Re: 64-bit bytes robin.vowels@gmail.com - 2015-01-12 15:46 -0800
                    Re: 64-bit bytes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-01-13 01:16 +0000
                      Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-13 01:53 +0000
                        Re: 64-bit bytes Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-01-13 13:28 +0000
                          Re: 64-bit bytes Richard Heathfield <invalid@see.sig.invalid> - 2015-01-13 13:57 +0000
                            Re: 64-bit bytes "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2015-01-13 15:32 +0100
                            Re: 64-bit bytes fir <profesor.fir@gmail.com> - 2015-01-13 06:33 -0800
                              Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-13 16:41 +0000
                                Re: 64-bit bytes fir <profesor.fir@gmail.com> - 2015-01-13 15:25 -0800
                                  Re: 64-bit bytes BartC <bc@freeuk.com> - 2015-01-13 23:49 +0000
                                    Re: 64-bit bytes fir <profesor.fir@gmail.com> - 2015-01-13 23:57 -0800

Page 2 of 3 — ← Prev page 1 [2] 3  Next page →


#5097

FromRichard Heathfield <invalid@see.sig.invalid>
Date2015-01-12 13:18 +0000
Message-ID<gQPsw.528585$gZ6.162597@fx40.am4>
In reply to#5095
BartC wrote:

> On 12/01/2015 11:59, Richard Heathfield wrote:

<snip>
 
>> I find it curious that many people are determined to restrict the term
>> "byte" to mean "exactly eight bits", when doing so (a) makes the term
>> redundant (because we already have "octet" to mean "exactly eight bits"),
> 
> Not as many people know about 'octet',

That's why we have the concept of education - to spread useful information 
around our society.

> and 'byte' is now too firmly
> established.

In your mind? Sure. In mine? No. In other people's minds? Some, yes. Others, 
no.

> Its abbreviation 'o' is also not as clear or as familiar as
> 'B' (actually, I only found out what it was a minute ago from Wikipedia!).

If we use the word 'octet' when we mean 'octet', and abbreviate it where 
appropriate, the abbreviation will become more clear and more familiar. The 
frequency or familiarity with which people Do The Wrong Thing is not an 
argument for Not Doing The Right Thing.

>> and (b) hampers our ability to describe alternative computer
>> architectures. What advantage does this restriction give us that
>> compensates for the loss of flexibility?
> 
> We already have 'word' for that,

For a great many people, 'word' means exactly 16 bits (because that's how 
Windows uses the term). So no, we don't already have 'word' for that.

> where you generally need to qualify its
> size, outside of a specific context such as a language.
> 
> (In the languages I create, a 'word' type was 16 bits, up to around
> 2002. Then it was upgraded to 32 bits (but is unlikely to be upgraded
> again to 64). A 'byte' type however has always been 8 bits.)

So your word is now twice as wide as the MS word. You don't seem to have a 
problem with this. Neither do I. But then, I don't have a problem with bytes 
being wider than 8 bits, either.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#5099

FromBartC <bc@freeuk.com>
Date2015-01-12 14:16 +0000
Message-ID<mHQsw.502065$fX6.163191@fx26.am4>
In reply to#5097
On 12/01/2015 13:18, Richard Heathfield wrote:
> BartC wrote:
>> On 12/01/2015 11:59, Richard Heathfield wrote:

>>> and (b) hampers our ability to describe alternative computer
>>> architectures. What advantage does this restriction give us that
>>> compensates for the loss of flexibility?
>>
>> We already have 'word' for that,
>
> For a great many people, 'word' means exactly 16 bits (because that's how
> Windows uses the term). So no, we don't already have 'word' for that.

Huh? Now you're using the same argument for 'word' as I'm using for 
'byte', and with much less justification.

For those who are technical, 'word' generally relates to the bit-width 
of a particular machine, and know it might currently be 8, 16, 32 or 64 
bits, that in the past it could have been anything, and in the future 
could also vary. It certainly isn't taken to mean exactly 16-bits 
outside of a specific context.

For the general public, 'word' means just means a word of a natural 
language.

Everyone however will have an idea what a 'byte' is.

>> where you generally need to qualify its
>> size, outside of a specific context such as a language.
>>
>> (In the languages I create, a 'word' type was 16 bits, up to around
>> 2002. Then it was upgraded to 32 bits (but is unlikely to be upgraded
>> again to 64). A 'byte' type however has always been 8 bits.)
>
> So your word is now twice as wide as the MS word. You don't seem to have a
> problem with this. Neither do I. But then, I don't have a problem with bytes
> being wider than 8 bits, either.

I don't care about how MS defines their words (and anyway it's 'WORD'; 
you should know that this is a macro that need not be the same as 
'word'. BTW in MS' C# language, 'byte' is an 8-bit wide type.).

I'm using 'word' in the private context of a programming language and 
means whatever I define it as. Currently, as an unsigned integer type 
likely to be 32-bits. I can also specify the exact width of a word. But 
I can't do that with 'byte' which is always 8-bits. That's because on 
all platforms this is implemented on, or likely to be, a byte /is/ 8-bits.

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#5102

FromRichard Heathfield <invalid@see.sig.invalid>
Date2015-01-12 14:48 +0000
Message-ID<D8Rsw.561175$812.167923@fx20.am4>
In reply to#5099
BartC wrote:

> On 12/01/2015 13:18, Richard Heathfield wrote:
>> BartC wrote:
>>> On 12/01/2015 11:59, Richard Heathfield wrote:
> 
>>>> and (b) hampers our ability to describe alternative computer
>>>> architectures. What advantage does this restriction give us that
>>>> compensates for the loss of flexibility?
>>>
>>> We already have 'word' for that,
>>
>> For a great many people, 'word' means exactly 16 bits (because that's how
>> Windows uses the term). So no, we don't already have 'word' for that.
> 
> Huh? Now you're using the same argument for 'word' as I'm using for
> 'byte', and with much less justification.

Actually, it's with the same justification - i.e. not very much. It is 
indeed a weak argument, QED.

> For those who are technical, 'word' generally relates to the bit-width
> of a particular machine, and know it might currently be 8, 16, 32 or 64
> bits, that in the past it could have been anything, and in the future
> could also vary. It certainly isn't taken to mean exactly 16-bits
> outside of a specific context.
> 
> For the general public, 'word' means just means a word of a natural
> language.

And where does MS fit into that scheme? For them, 'word' means 16 bits. So 
are MS people technical or not?

> Everyone however will have an idea what a 'byte' is.

Most people I know haven't got a clue what a byte is.

> 
>>> where you generally need to qualify its
>>> size, outside of a specific context such as a language.
>>>
>>> (In the languages I create, a 'word' type was 16 bits, up to around
>>> 2002. Then it was upgraded to 32 bits (but is unlikely to be upgraded
>>> again to 64). A 'byte' type however has always been 8 bits.)
>>
>> So your word is now twice as wide as the MS word. You don't seem to have
>> a problem with this. Neither do I. But then, I don't have a problem with
>> bytes being wider than 8 bits, either.
> 
> I don't care about how MS defines their words (and anyway it's 'WORD';

I thought you said you didn't care, so it's odd that you pick this 
particular nit. To out-pick it, however, I'll just point out that WORD is 
the way they spell the type in their programming language implementations, 
and 'word' is the concept that they are describing with that spelling. For 
them, 'word' means 16 bits. For other people (such as you and me), a more 
flexible definition is considered more appropriate.

> you should know that this is a macro that need not be the same as
> 'word'. BTW in MS' C# language, 'byte' is an 8-bit wide type.).

Is it, then, your claim that MS don't consider words to be exactly 16 bits 
wide?

> 
> I'm using 'word' in the private context of a programming language and
> means whatever I define it as.

Shades of Humpty Dumpty.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#5104

FromBartC <bc@freeuk.com>
Date2015-01-12 15:05 +0000
Message-ID<HoRsw.467020$8q6.453046@fx25.am4>
In reply to#5102
On 12/01/2015 14:48, Richard Heathfield wrote:
> BartC wrote:

>> I'm using 'word' in the private context of a programming language and
>> means whatever I define it as.
>
> Shades of Humpty Dumpty.

Yes, maybe. Because a word doesn't have a standard width associated with it.

A byte does however which is why it would be perverse to define it as 
anything else; better to use a different term.

But I also realise the only sorts of machines I am likely to program 
will have 32- or 64-bit word sizes, and be based on 8-bit bytes. Many 
languages have also made that decision including Java and C# (although 
they used signed and unsigned bytes respectively; I'm not getting into 
that argument!).

So has Knuth; his new made-up MMIX language uses a hypothetical 64-bit 
architecture based on 8-bit bytes, but takes account of real processors. 
His machine uses 64-bit words but 8-bit bytes.

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#5122

FromRobert Wessel <robertwessel2@yahoo.com>
Date2015-01-12 15:43 -0600
Message-ID<pmf8bahs3hc93cegc1vcpmaf6sumo70vqe@4ax.com>
In reply to#5102
On Mon, 12 Jan 2015 14:48:02 +0000, Richard Heathfield
<invalid@see.sig.invalid> wrote:

>BartC wrote:
>
>> On 12/01/2015 13:18, Richard Heathfield wrote:
>>> BartC wrote:
>>>> On 12/01/2015 11:59, Richard Heathfield wrote:
>> 
>>>>> and (b) hampers our ability to describe alternative computer
>>>>> architectures. What advantage does this restriction give us that
>>>>> compensates for the loss of flexibility?
>>>>
>>>> We already have 'word' for that,
>>>
>>> For a great many people, 'word' means exactly 16 bits (because that's how
>>> Windows uses the term). So no, we don't already have 'word' for that.
>> 
>> Huh? Now you're using the same argument for 'word' as I'm using for
>> 'byte', and with much less justification.
>
>Actually, it's with the same justification - i.e. not very much. It is 
>indeed a weak argument, QED.
>
>> For those who are technical, 'word' generally relates to the bit-width
>> of a particular machine, and know it might currently be 8, 16, 32 or 64
>> bits, that in the past it could have been anything, and in the future
>> could also vary. It certainly isn't taken to mean exactly 16-bits
>> outside of a specific context.
>> 
>> For the general public, 'word' means just means a word of a natural
>> language.
>
>And where does MS fit into that scheme? For them, 'word' means 16 bits. So 
>are MS people technical or not?


It's not like MS is alone with illogically sized "words".  It's
happened many times at the ISA level, where the natural size of a
"word" has changed over time, but the names were not changed. Consider
DEC's PDP-11 /-> VAX -> Alpha path.  "Words" were the natural (16 bit)
size on the PDP-11s, but they chose to retain that nomanclature on the
(32-bit) VAX and (64-bit) Alpha.  So the natural size object on the
Alpha was a quadword.  IBM, having started with 32-bit "fullwords" on
S/360 didn't get bitten by that issue until the 64-bit Z's, but again,
those still have 32 bit fullwords.  Intel and AMD, of course, have
done the same thing with 16/32/64-bit versions of x86, and the same is
true of of numerous other systems.

[toc] | [prev] | [next] | [standalone]


#5121

FromKaz Kylheku <kaz@kylheku.com>
Date2015-01-12 21:05 +0000
Message-ID<20150112125154.237@kylheku.com>
In reply to#5090
On 2015-01-12, Richard Heathfield <invalid@see.sig.invalid> wrote:
> BartC wrote:
>
>> On 12/01/2015 00:32, Richard Heathfield wrote:
>>> robin.vowels@gmail.com wrote:
>>>
>>> <snip>
>>>
>>>> A byte is a fixed-length field of 8 bits.
>>>
>>> ...except when it isn't. For example, some embedded systems
>>> ("freestanding implementations") use 32-bit bytes. At least one of the
>>> Analog SHARC chips uses 32-bit bytes.
>>>
>>> IEC 80000-13 defines the byte to be 8 bits, but there are other
>>> international standards that use more flexible definitions (e.g. ISO/IEC
>>> 9899, which requires only that a byte must be *at least* 8 bits).
>> 
>> Nonsense.
>
> Nonsense it may be. ISO/IEC 9899 it most certainly is.

Nobody but a few C language lawyers care that ISO 9899:XXXX defines "byte"
as corresponding to "char", which means that on some compilers, byte
refers to something that has 16 or 32 bits.

I actually from time to time maintain a code base, part of which is
compiled with such a compiler. Part of the code base runs on a DSP chip
block, and another part of the code base runs on the main host core,
communicating with the DSP using a kind of remote procedure call. They share
binary data such as structs, so things are carefully declared. When sizes are
passed, you have to be clear: is that the size in 16 bit units or 8 bit units?

Guess what: throughout the code, 8 bit units are called ... bytes. In all
function interfaces, "length in bytes" of an object means exactly twice of the
"sizeof" that object on the DSP side. Macros are used: SIZEOF_B and SIZEOF_W.
These macros do the right thing whether they are compiled on the DSP or the
host.  On the DSP, SIZEOF_W is just sizeof, and SIZEOF_B has to multiply by
two.  On the host, SIZEOF_W divides by two, rounding up, and SIZEOF_B is
native.

I.e. when you're actually working with systems like this is when you're
most likely to cause confusion by insisting on the ISO9899 terminology,
because you have multiple compilers and none agree on what a byte is.

It's easier to just call those things "char", and have them disagree on
what a char is, and use the term "byte" consistently.

The underlying hardware is a unified SoC. Parts of that chip know what
a byte is and can address it (like the host ARM core). It behooves that
unit to be called a byte, even if there is a DSP block on the same
internal bus which cannot address such a unit.

[toc] | [prev] | [next] | [standalone]


#5124

FromRichard Heathfield <invalid@see.sig.invalid>
Date2015-01-12 22:12 +0000
Message-ID<bFXsw.459856$P42.97980@fx24.am4>
In reply to#5121
Kaz Kylheku wrote:

<snip>

Major premise:

> Nobody but a few C language lawyers care that ISO 9899:XXXX defines "byte"
> as corresponding to "char", which means that on some compilers, byte
> refers to something that has 16 or 32 bits.

Minor premise:

I care.

Conclusion:

;-)

<snip>

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#5091

From"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Date2015-01-12 10:12 +0100
Message-ID<1jucyw4vuxxoy$.1ef44fonv7vu4.dlg@40tude.net>
In reply to#5088
On Mon, 12 Jan 2015 01:35:30 +0000, BartC wrote:

> On 12/01/2015 00:32, Richard Heathfield wrote:
>> robin.vowels@gmail.com wrote:
>>
>> <snip>
>>
>>> A byte is a fixed-length field of 8 bits.
>>
>> ...except when it isn't. For example, some embedded systems ("freestanding
>> implementations") use 32-bit bytes. At least one of the Analog SHARC chips
>> uses 32-bit bytes.
>>
>> IEC 80000-13 defines the byte to be 8 bits, but there are other
>> international standards that use more flexible definitions (e.g. ISO/IEC
>> 9899, which requires only that a byte must be *at least* 8 bits).
> 
> Nonsense. A byte is generally understood to be 8 bytes.
> 
> I have a memory stick plugged into my PC, and on it it says it's 4GB - 4 
> gigabytes. What are the chances of that being anything other 32G bits?

The chances are low, but possible.

> Be nice if it was perhaps 128G bits, but it isn't!

You wouldn't notice a difference because the file system like FAT would
likely be unable to use extra bits.

There is a confusion between two entities usually called byte:

1. Least addressable machine memory unit

2. Atomic encoding unit (e.g. octet in an I/O protocol, an item of a blob,
an element of file block)

Historically byte started as #1 which lead to a variety of byte sizes.
Presently it is more #2 than #1.

> The same goes for specifying the capacity of most types of memory.

Yes, but capacity /= number of bits. As an example consider the parity bit. 

If you define capacity as payload data then your memory stick is quite less
than 4GB, or, with compression, more. All depends on what you count as
payload and what as overhead. Now, returning to #1, ASCII character might
be 32 bits long, but its *capacity* would be still 7 bits.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

[toc] | [prev] | [next] | [standalone]


#5089

Fromrobin.vowels@gmail.com
Date2015-01-11 20:56 -0800
Message-ID<98fc37e8-b786-4f52-8524-6d692c35f916@googlegroups.com>
In reply to#5087
On Monday, January 12, 2015 at 11:32:42 AM UTC+11, Richard Heathfield wrote:
> r.nospam.vowels@gmail.com wrote:
> 
> <snip>
>  
> > A byte is a fixed-length field of 8 bits.
> 
> ...except when it isn't. For example, some embedded systems ("freestanding 
> implementations") use 32-bit bytes. At least one of the Analog SHARC chips 
> uses 32-bit bytes.

They are more appropriately called "words".

> IEC 80000-13 defines the byte to be 8 bits, but there are other 
> international standards that use more flexible definitions (e.g. ISO/IEC 
> 9899, which requires only that a byte must be *at least* 8 bits).

[toc] | [prev] | [next] | [standalone]


#5092

FromRichard Heathfield <invalid@see.sig.invalid>
Date2015-01-12 09:19 +0000
Message-ID<ckMsw.1258654$u67.1004769@fx08.am4>
In reply to#5089
robin.vowels@gmail.com wrote:

> On Monday, January 12, 2015 at 11:32:42 AM UTC+11, Richard Heathfield
> wrote:
>> r.nospam.vowels@gmail.com wrote:
>> 
>> <snip>
>>  
>> > A byte is a fixed-length field of 8 bits.
>> 
>> ...except when it isn't. For example, some embedded systems
>> ("freestanding implementations") use 32-bit bytes. At least one of the
>> Analog SHARC chips uses 32-bit bytes.
> 
> They are more appropriately called "words".

So what would you call the smallest addressable unit of memory, then? That's 
what "byte" is supposed to mean, after all. So if the smallest addressable 
unit in a system is 12 bits, presumably a byte is 12 bits wide on that 
system. (There was a Cray, I forget which, with actual genuine 64-bit bytes, 
and they had to jump through all kinds of hoops to fake 8-bit bytes, mainly 
because of people like you). Or, if you prefer to listen to Wikipedia, a 
"byte" is the number of bits used to encode a single character of text, in 
which case - given UTF-8 - we're going to need the size of the byte to 
*vary* between 8 and 32 bits, depending on the character. And /that/ is 
simply ridiculous.

Can you come up with a definition of "byte" that always comes out as "eight 
bits", but which doesn't have "eight bits" built into the definition?

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#5100

Fromrobin.vowels@gmail.com
Date2015-01-12 06:22 -0800
Message-ID<374f87c5-3ba9-48c3-8445-8ba4ab6af507@googlegroups.com>
In reply to#5092
On Monday, January 12, 2015 at 8:19:07 PM UTC+11, Richard Heathfield wrote:
> r.nospam@gmail.com wrote:
> 
> > On Monday, January 12, 2015 at 11:32:42 AM UTC+11, Richard Heathfield
> > wrote:
> >> r.nospam.vowels@gmail.com wrote:
> >> 
> >> <snip>
> >>  
> >> > A byte is a fixed-length field of 8 bits.
> >> 
> >> ...except when it isn't. For example, some embedded systems
> >> ("freestanding implementations") use 32-bit bytes. At least one of the
> >> Analog SHARC chips uses 32-bit bytes.
> > 
> > They are more appropriately called "words".
> 
> So what would you call the smallest addressable unit of memory, then? That's 
> what "byte" is supposed to mean, after all.

No it's not.  There are machines where the smallest addressable unit of
memory is the bit.

> So if the smallest addressable 
> unit in a system is 12 bits, presumably a byte is 12 bits wide on that 
> system.

That would be a word.

> (There was a Cray, I forget which, with actual genuine 64-bit bytes, 

They were 64-bit words.
Most of the early machines had words, of length 24 bits, 32, 36, 60 bits, etc etc.

> and they had to jump through all kinds of hoops to fake 8-bit bytes, mainly 
> because of people like you).

Some were unsatisfactory, like the 60-bit words of the CDC 6000 and 70 machines
that stored 6-bit characters, or 12-bit characters.

> Or, if you prefer to listen to Wikipedia, a 
> "byte" is the number of bits used to encode a single character of text, in 
> which case - given UTF-8 - we're going to need the size of the byte to 
> *vary* between 8 and 32 bits, depending on the character. And /that/ is 
> simply ridiculous.

[toc] | [prev] | [next] | [standalone]


#5103

FromRichard Heathfield <invalid@see.sig.invalid>
Date2015-01-12 14:51 +0000
Message-ID<fcRsw.841985$kK3.398507@fx10.am4>
In reply to#5100
robin.vowels@gmail.com wrote:

> On Monday, January 12, 2015 at 8:19:07 PM UTC+11, Richard Heathfield
> wrote:
>> r.nospam@gmail.com wrote:
>> 
>> > On Monday, January 12, 2015 at 11:32:42 AM UTC+11, Richard Heathfield
>> > wrote:
>> >> r.nospam.vowels@gmail.com wrote:
>> >> 
>> >> <snip>
>> >>  
>> >> > A byte is a fixed-length field of 8 bits.
>> >> 
>> >> ...except when it isn't. For example, some embedded systems
>> >> ("freestanding implementations") use 32-bit bytes. At least one of the
>> >> Analog SHARC chips uses 32-bit bytes.
>> > 
>> > They are more appropriately called "words".
>> 
>> So what would you call the smallest addressable unit of memory, then?
>> That's what "byte" is supposed to mean, after all.
> 
> No it's not.  There are machines where the smallest addressable unit of
> memory is the bit.

On such machines, bytes are 1 bit wide. (And yes, there are such machines. I 
designed a virtual machine with 1-bit bytes. I wrote four programs for it, 
three of which were rather dull.

> 
>> So if the smallest addressable
>> unit in a system is 12 bits, presumably a byte is 12 bits wide on that
>> system.
> 
> That would be a word.

Unless you work for MS.

> 
>> (There was a Cray, I forget which, with actual genuine 64-bit bytes,
> 
> They were 64-bit words.

You're just moving the problem on.

> Most of the early machines had words, of length 24 bits, 32, 36, 60 bits,
> etc etc.

And some had 9-bit bytes. Some even had 6-bit bytes.

<snip>

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#5125

Fromrobin.vowels@gmail.com
Date2015-01-12 15:46 -0800
Message-ID<aba94230-d777-435b-9713-51dc598824f0@googlegroups.com>
In reply to#5103
On Tuesday, January 13, 2015 at 1:51:58 AM UTC+11, Richard Heathfield wrote:
> r.nospam@gmail.com wrote:
> 
> > On Monday, January 12, 2015 at 8:19:07 PM UTC+11, Richard Heathfield
> > wrote:
> >> r.nospam@gmail.com wrote:
> >> 
> >> > On Monday, January 12, 2015 at 11:32:42 AM UTC+11, Richard Heathfield
> >> > wrote:
> >> >> r.nospam@gmail.com wrote:
> >> >> 
> >> >> <snip>
> >> >>  
> >> >> > A byte is a fixed-length field of 8 bits.
> >> >> 
> >> >> ...except when it isn't. For example, some embedded systems
> >> >> ("freestanding implementations") use 32-bit bytes. At least one of the
> >> >> Analog SHARC chips uses 32-bit bytes.
> >> > 
> >> > They are more appropriately called "words".
> >> 
> >> So what would you call the smallest addressable unit of memory, then?
> >> That's what "byte" is supposed to mean, after all.
> > 
> > No it's not.  There are machines where the smallest addressable unit of
> > memory is the bit.
> 
> On such machines, bytes are 1 bit wide.

Don't talk rot!

> (And yes, there are such machines.

That's what I said.

> I 
> designed a virtual machine with 1-bit bytes.

whatever they were, they weren't bytes.

> I wrote four programs for it, 
> three of which were rather dull.

As is your argument.

> >> So if the smallest addressable
> >> unit in a system is 12 bits, presumably a byte is 12 bits wide on that
> >> system.
> > 
> > That would be a word.

> Unless you work for MS.

That has nothing to do with MS.

> >> (There was a Cray, I forget which, with actual genuine 64-bit bytes,
> > 
> > They were 64-bit words.
> 
> You're just moving the problem on.
> 
> > Most of the early machines had words, of length 24 bits, 32, 36, 60 bits,
> > etc etc.
> 
> And some had 9-bit bytes. Some even had 6-bit bytes.

Even the early machines needed to store and manipulate characters.

[toc] | [prev] | [next] | [standalone]


#5127

FromBen Bacarisse <ben.usenet@bsb.me.uk>
Date2015-01-13 01:16 +0000
Message-ID<87vbkbqy3i.fsf@bsb.me.uk>
In reply to#5103
Richard Heathfield <invalid@see.sig.invalid> writes:

> robin.vowels@gmail.com wrote:
>
>> On Monday, January 12, 2015 at 8:19:07 PM UTC+11, Richard Heathfield
>> wrote:
>>> r.nospam@gmail.com wrote:
>>> 
>>> > On Monday, January 12, 2015 at 11:32:42 AM UTC+11, Richard Heathfield
>>> > wrote:
>>> >> r.nospam.vowels@gmail.com wrote:
>>> >> 
>>> >> <snip>
>>> >>  
>>> >> > A byte is a fixed-length field of 8 bits.
>>> >> 
>>> >> ...except when it isn't. For example, some embedded systems
>>> >> ("freestanding implementations") use 32-bit bytes. At least one of the
>>> >> Analog SHARC chips uses 32-bit bytes.
>>> > 
>>> > They are more appropriately called "words".
>>> 
>>> So what would you call the smallest addressable unit of memory, then?
>>> That's what "byte" is supposed to mean, after all.
>> 
>> No it's not.  There are machines where the smallest addressable unit of
>> memory is the bit.
>
> On such machines, bytes are 1 bit wide.

That's a very odd use of the term.  Is it just you?  In my experience
the term has always referred to an aggregate of multiple bits (usually
enough to store some system-dependent idea of a character).

> (And yes, there are such machines. I 
> designed a virtual machine with 1-bit bytes. I wrote four programs for it, 
> three of which were rather dull.

The only bit-addressed hardware I know (the famous Burroughs machines)
freely uses the term byte.  There are 8-bits wide.

<snip>
-- 
Ben.

[toc] | [prev] | [next] | [standalone]


#5128

FromRichard Heathfield <invalid@see.sig.invalid>
Date2015-01-13 01:53 +0000
Message-ID<9U_sw.1719$i7.620@fx20.am4>
In reply to#5127
Ben Bacarisse wrote:

> Richard Heathfield <invalid@see.sig.invalid> writes:
> 
>> robin.vowels@gmail.com wrote:
>>
>>> On Monday, January 12, 2015 at 8:19:07 PM UTC+11, Richard Heathfield
>>> wrote:
<snip>
>>>> 
>>>> So what would you call the smallest addressable unit of memory, then?
>>>> That's what "byte" is supposed to mean, after all.
>>> 
>>> No it's not.  There are machines where the smallest addressable unit of
>>> memory is the bit.
>>
>> On such machines, bytes are 1 bit wide.
> 
> That's a very odd use of the term.  Is it just you?

Probably. But it is perfectly logical if you think of "byte" as "smallest 
addressable unit of memory".

> In my experience
> the term has always referred to an aggregate of multiple bits (usually
> enough to store some system-dependent idea of a character).

I'd agree with that, if "multiple" can mean "one or more".

> 
>> (And yes, there are such machines. I
>> designed a virtual machine with 1-bit bytes. I wrote four programs for
>> it, three of which were rather dull.
> 
> The only bit-addressed hardware I know (the famous Burroughs machines)
> freely uses the term byte.  There are 8-bits wide.

Then they are using the term "byte" to mean something other than "smallest 
addressable unit of memory".

Like all disputes about terminology, this one will run for as long as we 
have the patience for it.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#5129

FromBen Bacarisse <ben.usenet@bsb.me.uk>
Date2015-01-13 13:28 +0000
Message-ID<87ppain71y.fsf@bsb.me.uk>
In reply to#5128
Richard Heathfield <invalid@see.sig.invalid> writes:

> Ben Bacarisse wrote:
>
>> Richard Heathfield <invalid@see.sig.invalid> writes:
>> 
>>> robin.vowels@gmail.com wrote:
>>>
>>>> On Monday, January 12, 2015 at 8:19:07 PM UTC+11, Richard Heathfield
>>>> wrote:
> <snip>
>>>>> 
>>>>> So what would you call the smallest addressable unit of memory, then?
>>>>> That's what "byte" is supposed to mean, after all.
>>>> 
>>>> No it's not.  There are machines where the smallest addressable unit of
>>>> memory is the bit.
>>>
>>> On such machines, bytes are 1 bit wide.
>> 
>> That's a very odd use of the term.  Is it just you?
>
> Probably. But it is perfectly logical if you think of "byte" as "smallest 
> addressable unit of memory".

If that's your private definition, have at it.  It may impede
communication, but the importance of that is for you to decide.

>> In my experience
>> the term has always referred to an aggregate of multiple bits (usually
>> enough to store some system-dependent idea of a character).
>
> I'd agree with that, if "multiple" can mean "one or more".

Well that's key.  You suggest here that your experience includes a use
I've never come across.  Are you using the term "my experience" to
include your experience of your own private meaning?

>>> (And yes, there are such machines. I
>>> designed a virtual machine with 1-bit bytes. I wrote four programs for
>>> it, three of which were rather dull.
>> 
>> The only bit-addressed hardware I know (the famous Burroughs machines)
>> freely uses the term byte.  There are 8-bits wide.
>
> Then they are using the term "byte" to mean something other than "smallest 
> addressable unit of memory".

Yes.  Like everyone else in the world apart, it seems, from you.

The Burroughs machines could address any arbitrary unit of store from
zero to 24 bits.  Calling a byte zero bits would stretch even your
definition, so that widely chose to use byte in a more conventional
way.

> Like all disputes about terminology, this one will run for as long as we 
> have the patience for it.

Why?  I just wanted to know if this is your own private usage.  If it's
more widely held than that, I'd like to know who by because I like to
know how words are used by various communities.  There does not need to
be any dispute.

-- 
Ben.

[toc] | [prev] | [next] | [standalone]


#5130

FromRichard Heathfield <invalid@see.sig.invalid>
Date2015-01-13 13:57 +0000
Message-ID<Zu9tw.854$gq5.687@fx46.am4>
In reply to#5129
Ben Bacarisse wrote:

> Richard Heathfield <invalid@see.sig.invalid> writes:
> 
>> Ben Bacarisse wrote:
>>
>>> Richard Heathfield <invalid@see.sig.invalid> writes:
>>> 
>>>> robin.vowels@gmail.com wrote:
>>>>
>>>>> On Monday, January 12, 2015 at 8:19:07 PM UTC+11, Richard Heathfield
>>>>> wrote:
>> <snip>
>>>>>> 
>>>>>> So what would you call the smallest addressable unit of memory, then?
>>>>>> That's what "byte" is supposed to mean, after all.
>>>>> 
>>>>> No it's not.  There are machines where the smallest addressable unit
>>>>> of memory is the bit.
>>>>
>>>> On such machines, bytes are 1 bit wide.
>>> 
>>> That's a very odd use of the term.  Is it just you?
>>
>> Probably. But it is perfectly logical if you think of "byte" as "smallest
>> addressable unit of memory".
> 
> If that's your private definition, have at it.  It may impede
> communication, but the importance of that is for you to decide.

Up until now, I've never thought of it as my private definition. In fact, 
most of the time, I don't use that definition myself, because I think of 
"byte" as "storage space exactly CHAR_BIT bits wide". But in the wider world 
outside the C and C++ languages, I think of "byte" as "smallest addressable 
unit of memory" not because I came up with that definition (I didn't), but 
because it seemed to me to be a sensible definition. I have no idea where I 
first read it. I have made a cursory search of my library, and found nothing 
to the point (Knuth is no help - and I never thought I'd write that 
particular phrase! - because he defines bytes in terms of how MIX thinks of 
them, i.e. at least 6 bits, rather than in terms of the wider world).

<snip>

>>> The only bit-addressed hardware I know (the famous Burroughs machines)
>>> freely uses the term byte.  There are 8-bits wide.
>>
>> Then they are using the term "byte" to mean something other than
>> "smallest addressable unit of memory".
> 
> Yes.  Like everyone else in the world apart, it seems, from you.

I didn't invent either the phrase or the definition - but since I am unable 
to produce any evidence to support my case, I will quietly fold my tents and 
slip away across the hot desert sands.

<snip>

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

[toc] | [prev] | [next] | [standalone]


#5131

From"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Date2015-01-13 15:32 +0100
Message-ID<sco8o8vv21di.vplnls5cmtva$.dlg@40tude.net>
In reply to#5130
On Tue, 13 Jan 2015 13:57:12 +0000, Richard Heathfield wrote:

> I didn't invent either the phrase or the definition - but since I am unable 
> to produce any evidence to support my case, I will quietly fold my tents and 
> slip away across the hot desert sands.

Wikipedia gives an account. It refers to IBM which used it to denote amount
of bits used for one character. Word was used for largest memory unit
accessed atomically (in one memory cycle).

From PLANNING A COMPUTER SYSTEM, PROJECT STRETCH (1962)

"Byte denotes a group of bits used to encode a character, or the number of
bits transmitted in parallel to and from input-output units. A term other
than character is used here because a given character may be represented in
different applications by more than one code, and different code may use
different numbers of bits (i.e., different byte size). In input-output
transmission the grouping of bits may be completely arbitrary and have no
relation to actual characters. (The term is coined from bite, but respelled
to avoid accidental mutation to bit.)"

Much later 8-bits appear. From DICTIONARY OF IBM & COMPUTING TERMINOLOGY
(1980)

"byte  1. n. A string that consists of a number of bits, treated as a
unit, and representing a
character. 2. n. A binary character operated upon as a unit and usually
shorter than a computer
word. 3. n. A group of 8 adjacent binary digits that represent one EBCDIC
character."

Here:

#1 tells that bit is character (the origin of the term)
#2 is least addressable unit AND character
#3 is 8-bits AND character, still

An unexpected conclusion from all this. In the era of Unicode characters,
we should stop using the term "byte" (:-))

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

[toc] | [prev] | [next] | [standalone]


#5132

Fromfir <profesor.fir@gmail.com>
Date2015-01-13 06:33 -0800
Message-ID<d71a2c8e-b095-4a64-82b1-6a839bb0b2b6@googlegroups.com>
In reply to#5130
W dniu wtorek, 13 stycznia 2015 14:57:16 UTC+1 użytkownik Richard Heathfield napisał:
> Ben Bacarisse wrote:
> 
> > Richard Heathfield <invalid@see.sig.invalid> writes:
> > 
> >> Ben Bacarisse wrote:
> >>
> >>> Richard Heathfield <invalid@see.sig.invalid> writes:
> >>> 
> >>>> robin.vowels@gmail.com wrote:
> >>>>
> >>>>> On Monday, January 12, 2015 at 8:19:07 PM UTC+11, Richard Heathfield
> >>>>> wrote:
> >> <snip>
> >>>>>> 
> >>>>>> So what would you call the smallest addressable unit of memory, then?
> >>>>>> That's what "byte" is supposed to mean, after all.
> >>>>> 
> >>>>> No it's not.  There are machines where the smallest addressable unit
> >>>>> of memory is the bit.
> >>>>
> >>>> On such machines, bytes are 1 bit wide.
> >>> 
> >>> That's a very odd use of the term.  Is it just you?
> >>
> >> Probably. But it is perfectly logical if you think of "byte" as "smallest
> >> addressable unit of memory".
> > 
> > If that's your private definition, have at it.  It may impede
> > communication, but the importance of that is for you to decide.
> 
> Up until now, I've never thought of it as my private definition. In fact, 
> most of the time, I don't use that definition myself, because I think of 
> "byte" as "storage space exactly CHAR_BIT bits wide". But in the wider world 
> outside the C and C++ languages, I think of "byte" as "smallest addressable 
> unit of memory" not because I came up with that definition (I didn't), but 
> because it seemed to me to be a sensible definition. I have no idea where I 
> first read it. I have made a cursory search of my library, and found nothing 
> to the point (Knuth is no help - and I never thought I'd write that 
> particular phrase! - because he defines bytes in terms of how MIX thinks of 
> them, i.e. at least 6 bits, rather than in terms of the wider world).
> 
> <snip>
> 
> >>> The only bit-addressed hardware I know (the famous Burroughs machines)
> >>> freely uses the term byte.  There are 8-bits wide.
> >>
> >> Then they are using the term "byte" to mean something other than
> >> "smallest addressable unit of memory".
> > 
> > Yes.  Like everyone else in the world apart, it seems, from you.
> 
> I didn't invent either the phrase or the definition - but since I am unable 
> to produce any evidence to support my case, I will quietly fold my tents and 
> slip away across the hot desert sands.
> 
> <snip>
> 

in present world byte seem to me be a byte obsolete
i would tend tu use yet other personal definition that this that come from ram storage granularity: more like portions of bits that are glued together;
for example i can imagine some bytecode
where virtual machine uses two kinds of bytes 
for example 6-bita and 23-bits, why no
I could even imagine other machine that uses
1-bit bytes or whole variety of bytes, why no
So i could use byte name for any size of that,
you would have small bytes large bytes

[toc] | [prev] | [next] | [standalone]


#5133

FromBartC <bc@freeuk.com>
Date2015-01-13 16:41 +0000
Message-ID<1Vbtw.2681$551.92@fx43.am4>
In reply to#5132
On 13/01/2015 14:33, fir wrote:

> in present world byte seem to me be a byte obsolete
> i would tend tu use yet other personal definition that this that come from ram storage granularity: more like portions of bits that are glued together;

Ram can be as narrow small as you like, even 1-bit. (I've used 4-bit and 
6-bits myself, although the latter was to save c. $10 on the extra 2 x 
1Kbit chips which I didn't need.)

> for example i can imagine some bytecode
> where virtual machine uses two kinds of bytes
> for example 6-bita and 23-bits, why no
> I could even imagine other machine that uses
> 1-bit bytes or whole variety of bytes, why no
> So i could use byte name for any size of that,
> you would have small bytes large bytes

Why you do have to make it confusing for 99.9% of people by adopting 
such an odd-ball definition of 'byte'?

Why not invent a new term?

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


Page 2 of 3 — ← Prev page 1 [2] 3  Next page →

Back to top | Article view | comp.programming


csiph-web