Deutsch English Français Italiano |
<62dff0b888855a31ec10c0597669423f@www.novabbs.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: mitchalsup@aol.com (MitchAlsup1) Newsgroups: comp.arch Subject: Re: Byte Addressability And Beyond Date: Wed, 1 May 2024 03:02:07 +0000 Organization: Rocksolid Light Message-ID: <62dff0b888855a31ec10c0597669423f@www.novabbs.org> References: <v0s17o$2okf4$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="2888397"; mail-complaints-to="usenet@i2pn2.org"; posting-account="65wTazMNTleAJDh/pRqmKE7ADni/0wesT78+pyiDW8A"; User-Agent: Rocksolid Light X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8 X-Rslight-Site: $2y$10$rTjJ2YiR4JkwEqJ4SxIbGeSk2vjcUbLqMQ3gfKzUsIuhzMIlPcMrW Bytes: 3917 Lines: 65 Lawrence D'Oliveiro wrote: > Byte addressing was invented by IBM for the System/360, introduced in > 1964. At least as I understand it. Up to that time, and indeed for a long > time after, machines had a “word length” which was the smallest > addressable unit of memory. This could have a range of sizes, e.g. > 12 -- DEC PDP-5/8 > 18 -- DEC PDP-1/4/7/9 > 36 -- DEC PDP-6/10 > 60 -- CDC 6000-series > 64 -- Cray CDC had a number of machines with 12-bit times k words. k element {1,2,3,5} > I’m sure there were also 24- and 48-bit machines. Note the popularity of > numbers with a range of different integer divisors, including powers of > both 2 and 3. The byte-addressable machines chucked away everything other > than powers of 2, which was a step backwards in this respect. ;) I would make the argument that 2^k was a step forward not backwards. Perhaps another day... > (Interesting that the microprocessor world made byte addressing--and ASCII > character encoding--universal right from the beginning. Starting from a > clean slate, I guess.) 4004 anyone ?!? > Why was byte addressing invented? I think it was for easy handling of > strings and other binary data. But why stop there? I guess the idea of > going all the way down to bit-level addressing was considered a bit > extreme? It was certainly a reason Intel's 432 died. {but there were lots} > Certainly if you only had 32 (or, on those early IBMs, 24) > address bits, then using 3 of them to address within a byte would have > substantially cut down the available size of your address space. > I think the move to 64-bit architectures missed a trick, though: it could > have introduced bit-level addressing at the same time, given that we still > have plenty of address bits to spare. That would simplify bit-field > manipulations, too. I don't see what is wrong with loading a container with the field and then extracting or inserting into the container. You loose atomicity but avoid doubling the number of LD/ST instructions. > One side-effect of byte addressing has been the “endian wars”: the > inconsistency, between different machine architectures, of how to order > the bytes making up multibyte objects, particularly numbers. Big-endian > supposedly had the advantage of making memory dumps easier to read, but > little-endian always made more logical sense. BE means you can read the strings in a core dump LE means the bytes arrive in the order for on-line arithmetic LE allows one to make 8-bit wide data paths and still implement a full width architecture {but then so did 360/30) > Nowadays, all the common CPU architectures are at least available in > little-endian form, if not exclusively so. But we still have legacy > oddities, like the TCP/IP network stack where integer fields are laid out > in big-endian ordering. I have a BITR instruction that rearranges BE<->LE for these reasons.