Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <62dff0b888855a31ec10c0597669423f@www.novabbs.org>
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.