Re: What is an N-bit machine?

Liste des GroupesRevenir à c arch 
Sujet : Re: What is an N-bit machine?
De : anton (at) *nospam* mips.complang.tuwien.ac.at (Anton Ertl)
Groupes : comp.arch
Date : 29. Nov 2024, 09:03:39
Autres entêtes
Organisation : Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID : <2024Nov29.090339@mips.complang.tuwien.ac.at>
References : 1
User-Agent : xrn 10.11
jgd@cix.co.uk (John Dallman) writes:
In early computer designs, arithmetic registers were much longer than
addresses, the classic examples being machines with 36-bit words and 15-
to 18-bit addresses.
>
Large logical address spaces started with the IBM 360, which had 32-bit
arithmetic registers and 32-bit address registers. You couldn't put
32-bits worth of physical memory in a machine for over a decade after it
appeared, but it was allowed for in the architecture.
>
Nowadays, the bit-ness of a machine seems to be the *smaller* of the
arithmetic registers and the address space. This became true in the early
1970s, as far as I can see, and the terminology became confused around
then. A few examples from that period:
>
Classic "8-bit" microprocessors, such as the 8080 or 6800 have 8-bit
arithmetic and 16-bit addressing.
>
The PDP-11 has 16-bit arithmetic and 16-bit addressing, plus
bank-switching.

In the early 1980s the width of the data bus of the main
implementation of an architecture was considered to be defining the
bitness of the architecture.  This is especially noticable in the
68000, which was usually described as 16-bit CPU, despite having
32-bit address and 32-bit data registers, because it has a 16-bit data
bus.  I think that even Motorola called it a 16-bit CPU. With low-cost
variants such as the 8088, the 68008, and later the 386SX, that idea
was not kept up.

And later, when the bus sizes outgrew the address sizes (IIRC the
Pentium has a 64-bit data bus; these days desktop processors have
128-bit wide memory interfaces (but they are 4x32 bits with DDR5) plus
24 lanes or more of PCIe or alternatives), this concept was not kept
up, and we arrived at today's architecture-oriented concept of making
the address register size determine the bitness.  This works pretty
well also for what is considered to be the bitness of the S/360, the
PDP-11, and the VAX.  But it means that the 68000 is a 32-bit
processor, and I think that's the current general opinion.

Where this concept does not work:

For the earlier 36-bit architectures with registers that hold two
15-bit or 18-bit addresses, this concept does not really work.

The CDC-6600, which has 60-bit X (data) registers and 18-bit A and B
(address) registers, this concept does not work well, either.  We do
not consider it to be an 18-bit architecture.  And I expect that the
18-bit limitation is not deeply rooted in the architecture, and it
could be expanded up to 60 bits without big problems, because the
addreses take 60 bits in memory just as the data.

For 8-bit CPUs, at least for the 6502 16-bit addresses never exists in
architectureal registers (apart from the very implicit PC), only as
effective addresses and in the PC.  However, it's parent 6800 has a
16-bit index register and a 16-bit stack pointer, and the 8008 has the
H and L registers which together form a 16-bit address.  So for these
architectures the address size does not determine what is generally
considered the bitness of these CPUs.

The original 8086 has 16-bit arithmetic and a strange 20-bit addressing
scheme.

But, as the protected mode of the 80286 shows, the intent was to use
16-bit addresses in programs (possibly in multiple segments), not
20-bit addresses.  Software did not follow this intent, though.  In
any case the instruction set makes addressing beyond 16-bit addresses
so cumbersome that calling it a 16-bit architecture is justified even
with the newer, architectural concept of bitness.

Modern architectures have arithmetic and address registers that are the
same size.

There was a movement from specialized registers such as the 68000s
address and data registers to general-purpose registers (e.g., in the
386 and the original RISCs).  But then SIMD extensions were introduced
starting in the mid-1990s, and they introduced wider SIMD registers
that usually only contain data, not addresses (but Intel introduced
scatter/gather instructions that also use SIMD registers for
addressing).  We still use the size of the proper address registers
when we consider the bitness of an architecture.

OTOH, we also talk about the bitness of the SIMD extension: SSE and
ARMv8 Neon uses 128 bits.  But the tendency towards making the
SIMD-width an implementation option as in ARM SVE and AFAIK the RISC-V
V extension means that we will not use the width of the SIMD extension
as an architectural concept, but it will probably increase the usage
of the width of the SIMD extension for describing particular
implementations.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
  Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Date Sujet#  Auteur
28 Nov 24 * What is an N-bit machine?89John Dallman
28 Nov 24 +* Re: What is an N-bit machine?66Michael S
30 Nov 24 i`* Re: What is an N-bit machine?65John Levine
30 Nov 24 i +* Re: What is an N-bit machine?11Stephen Fuld
30 Nov 24 i i`* Re: What is an N-bit machine?10John Levine
30 Nov 24 i i +* Re: What is an N-bit machine?2Michael S
1 Dec 24 i i i`- Re: What is an N-bit machine?1Paul A. Clayton
1 Dec 24 i i `* Re: What is an N-bit machine?7MitchAlsup1
1 Dec 24 i i  +* Re: What is an N-bit machine?2Thomas Koenig
1 Dec 24 i i  i`- Re: What is an N-bit machine?1Anton Ertl
2 Dec 24 i i  `* Re: What is an N-bit machine?4Terje Mathisen
3 Dec 24 i i   +* Re: What is an N-bit machine?2Brian G. Lucas
3 Dec 24 i i   i`- Re: What is an N-bit machine?1Stephen Fuld
15 Dec 24 i i   `- Re: What is an N-bit machine?1Waldek Hebisch
30 Nov 24 i `* Keeping other stuff with addresses (was: What is an N-bit machine?)53Anton Ertl
30 Nov 24 i  +* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)22Anton Ertl
30 Nov 24 i  i`* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)21Thomas Koenig
30 Nov 24 i  i `* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)20Anton Ertl
30 Nov 24 i  i  `* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)19Michael S
30 Nov 24 i  i   `* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)18Anton Ertl
30 Nov 24 i  i    +* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)12Michael S
1 Dec 24 i  i    i`* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)11Anton Ertl
1 Dec 24 i  i    i `* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)10Thomas Koenig
1 Dec 24 i  i    i  +* Re: Keeping other stuff with addresses4David Schultz
1 Dec 24 i  i    i  i`* Re: Keeping other stuff with addresses3Thomas Koenig
4 Dec 24 i  i    i  i `* Re: Keeping other stuff with addresses2MitchAlsup1
4 Dec 24 i  i    i  i  `- Re: Keeping other stuff with addresses1John Levine
1 Dec 24 i  i    i  `* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)5Tim Rentsch
1 Dec 24 i  i    i   +* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)3Thomas Koenig
1 Dec 24 i  i    i   i+- Re: Keeping other stuff with addresses (was: What is an N-bit machine?)1Michael S
1 Dec 24 i  i    i   i`- Re: Keeping other stuff with addresses (was: What is an N-bit machine?)1Brett
2 Dec 24 i  i    i   `- Re: Keeping other stuff with addresses1Terje Mathisen
30 Nov 24 i  i    +* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)3John Levine
1 Dec 24 i  i    i`* What is an N-bit machine?2Anton Ertl
16 Dec23:39 i  i    i `- Re: What is an N-bit machine?1Waldek Hebisch
1 Dec 24 i  i    `* Re: Keeping other stuff with addresses (was: What is an N-bit machine?)2Thomas Koenig
1 Dec 24 i  i     `- Re: Keeping other stuff with addresses (was: What is an N-bit machine?)1Anton Ertl
1 Dec 24 i  +- Re: Keeping other stuff with addresses (was: What is an N-bit machine?)1Anton Ertl
2 Dec 24 i  +* Re: Keeping other stuff with addresses27Chris M. Thomasson
2 Dec 24 i  i`* Re: Keeping other stuff with addresses26MitchAlsup1
2 Dec 24 i  i `* Re: Keeping other stuff with addresses25Chris M. Thomasson
3 Dec 24 i  i  `* Re: Keeping other stuff with addresses24Chris M. Thomasson
3 Dec 24 i  i   `* Re: Keeping other stuff with addresses23Stefan Monnier
3 Dec 24 i  i    +* Re: Keeping other stuff with addresses20John Levine
3 Dec 24 i  i    i+* Re: Keeping other stuff with addresses17Stefan Monnier
4 Dec 24 i  i    ii`* Re: Keeping other stuff with addresses16John Levine
4 Dec 24 i  i    ii `* Re: Keeping other stuff with addresses15Stefan Monnier
4 Dec 24 i  i    ii  +* Re: Keeping other stuff with addresses12MitchAlsup1
4 Dec 24 i  i    ii  i+- Re: Keeping other stuff with addresses1Thomas Koenig
4 Dec 24 i  i    ii  i+* Re: Keeping other stuff with addresses3Stefan Monnier
4 Dec 24 i  i    ii  ii+- Re: Keeping other stuff with addresses1MitchAlsup1
5 Dec 24 i  i    ii  ii`- Re: Keeping other stuff with addresses1Keith Thompson
5 Dec 24 i  i    ii  i+- Re: bytes, Keeping other stuff with addresses1John Levine
22 Dec00:22 i  i    ii  i`* unaligned load/store (was: Re: Keeping other stuff with addresses)6Jonathan Thornburg
22 Dec02:27 i  i    ii  i +* Re: unaligned load/store4MitchAlsup1
22 Dec11:01 i  i    ii  i i`* Re: unaligned load/store3Thomas Koenig
22 Dec12:06 i  i    ii  i i +- Re: unaligned load/store1Anton Ertl
22 Dec12:42 i  i    ii  i i `- Re: unaligned load/store1John Dallman
22 Dec11:33 i  i    ii  i `- Re: unaligned load/store (was: Re: Keeping other stuff with addresses)1Anton Ertl
4 Dec 24 i  i    ii  `* Re: bits and bytes, Keeping other stuff with addresses2John Levine
4 Dec 24 i  i    ii   `- Re: bits and bytes, Keeping other stuff with addresses1Stefan Monnier
3 Dec 24 i  i    i`* Re: Keeping other stuff with addresses2MitchAlsup1
4 Dec 24 i  i    i `- Re: Keeping other stuff with addresses1Chris M. Thomasson
4 Dec 24 i  i    `* Re: Keeping other stuff with addresses2Chris M. Thomasson
4 Dec 24 i  i     `- Re: Keeping other stuff with addresses1Stefan Monnier
4 Dec 24 i  `* Re: Keeping other stuff with addresses2Keith Thompson
4 Dec 24 i   `- Re: Keeping other stuff with addresses1MitchAlsup1
28 Nov 24 +* Re: What is an N-bit machine?18Thomas Koenig
28 Nov 24 i+* Re: What is an N-bit machine?2MitchAlsup1
28 Nov 24 ii`- Re: What is an N-bit machine?1Brett
28 Nov 24 i`* Re: What is an N-bit machine?15Lawrence D'Oliveiro
29 Nov 24 i `* Re: What is an N-bit machine?14John Dallman
29 Nov 24 i  +* Re: What is an N-bit machine?9Lynn Wheeler
29 Nov 24 i  i+- Re: What is an N-bit machine?1John Dallman
29 Nov 24 i  i`* IBM and Amdahl history (Re: What is an N-bit machine?)7Anton Ertl
29 Nov 24 i  i +- Re: IBM and Amdahl history (Re: What is an N-bit machine?)1Lynn Wheeler
29 Nov 24 i  i +- Re: IBM and Amdahl history (Re: What is an N-bit machine?)1Lynn Wheeler
29 Nov 24 i  i `* Re: IBM and Amdahl history (Re: What is an N-bit machine?)4Lawrence D'Oliveiro
30 Nov 24 i  i  `* Re: IBM and Amdahl history (Re: What is an N-bit machine?)3Anton Ertl
1 Dec 24 i  i   +- Re: IBM and Amdahl history (Re: What is an N-bit machine?)1John Dallman
1 Dec 24 i  i   `- Re: IBM and Amdahl history (Re: What is an N-bit machine?)1Lawrence D'Oliveiro
29 Nov 24 i  `* Re: What is an N-bit machine?4Lawrence D'Oliveiro
30 Nov 24 i   +- Re: What is an N-bit machine?1Brett
30 Nov 24 i   +- Re: market power, What is an N-bit machine?1John Levine
30 Nov 24 i   `- Re: What is an N-bit machine?1Lynn Wheeler
28 Nov 24 +- Re: What is an N-bit machine?1MitchAlsup1
28 Nov 24 +- Re: What is an N-bit machine?1Lynn Wheeler
29 Nov 24 `* Re: What is an N-bit machine?2Anton Ertl
29 Nov 24  `- Re: What is an N-bit machine?1Thomas Koenig

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal