Re: Thou shalt have no other gods before the ANSI C standard

From: Alan Balmer (albalmer_at_att.net)
Date: 02/09/05


Date: Wed, 09 Feb 2005 08:05:36 -0700

On Wed, 09 Feb 05 11:31:44 GMT, jmfbahciv@aol.com wrote:

>In article <tqmsm464su6.fsf@drizzle.com>,
> Patrick Scheible <kkt@drizzle.com> wrote:
>>"Roger Schlafly" <rogersc1@mindspring.com> writes:
>>
>>> "CBFalconer" <cbfalconer@yahoo.com> wrote:
>>> > The majority of machines do fit the 8 bit byte power of 2 sized
>>> > integer description. But not all.
>>>
>>> Yes, all machines that were designed at a time that anyone here
>>> can remember. You'd have to visit a museum to find a computer
>>> that does not match that description.
>>
>>Well, that's obviously not true.
>>
>>But a better question would be: why 8-bit bytes?
>
>That's how some people do extensibility. In this case, a
>little bit was added. We always had suggestions to extend
>a field by one bit to make room for a particular extension
>to the functionality. After the second time, the code had
>to "extend" a field, the commonest question at any design
>meeting would be, "Is this enough? Or should be extend it
>enough so we don't have to waste our time redesigning the
>world and our customers' code again?"
>
>
>
>> ..For ascii, you only
>>needed 7. Now ascii is being superceded by 16- and 32-bit characters.
>>8 bits is too small a counter to be useful for numeric representation,
>>and even where it could be used it rarely offers a performance
>>advantage over wider integers. Why would a designer of today's or
>>tomorrow's computers want to waste bits addressing arbitrary
>>8-bit-bytes everywhere memory is referenced?
>
>I never understood the 8 choice. I would have understood 9.
>
It's good to have a power of two, for several fairly obvious reasons.
The eighth bit was used for parity by some implementations. The
Varian/Sperry Univac 620 and V70 software used it to distinguish
between characters (high bit always on) and small numbers (0-255).
They were 16-bit machines and not byte addressable (except for some
fakery I implemented in the DASMR assembler to add fetch byte and
store byte functionality.)

If you got the parity memory version of these computers it was
actuallly 18-bit words, with one bit per octet for parity (still not
byte addressable). Later you could get ecc memory.

-- 
Al Balmer
Balmer Consulting
removebalmerconsultingthis@att.net

Loading