Sujet : Re: bits and bytes, Keeping other stuff with addresses
De : johnl (at) *nospam* taugh.com (John Levine)
Groupes : comp.archDate : 04. Dec 2024, 04:39:07
Autres entêtes
Organisation : Taughannock Networks
Message-ID : <vioisr$2raf$1@gal.iecc.com>
References : 1 2 3 4
User-Agent : trn 4.0-test77 (Sep 1, 2010)
It appears that Stefan Monnier <
monnier@iro.umontreal.ca> said:
Yes, but that was a misunderstanding. I'm not suggesting that
load/store instructions can access things at any bit position and any
bit size. Any load or store with a pointer whose last 3 bits is not 0 would
presumably signal en error.
Seems like an odd place to put what are in practice just flag bits.
>
It's a very natural one, tho.
I don't see why. We agree that nobody expects bit addressing to work, so
in fact those are flag bits. You can use them to point at bits if you want
but there's no architectural or practical reason to do so.
Byte addressing is somewhat arbitrary
(why 8 bits, why not 16 or 4 or 6 or 9 ...?), whereas bit-addressing has
some logic to it (fractional bit addressing would be hard to define).
On the PDP-10 you could have any byte size you wanted, but in fact it was always
7 bits since that was how many ASCII needed and five 7-bit characters fit in a
36 bit word with one bit left over that was used as a flag that the word
contained a five digit line number.
At this point the reason you use 8 bit bytes is that everyone else uses 8 bit
bytes. In about 1980 BBN had a 16 bit byte addressed machine called the C30 that
ran Unix and someone had the bright idea to expand the address space from 16 to
20 bits on the larger C70 by making the bytes 10 bits rather than 8. I talked to
someone who programmed it and told me that it was miserable because the C code
was full of implicit assumptions that bytes were 8 bits.
-- Regards,John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies",Please consider the environment before reading this e-mail. https://jl.ly