https://hackaday.com/2026/05/25/just-how-bad-was-the-intel-iapx432/
The ever-dependable RetroBytes channel did a post-mortem a few years
ago <https://www.youtube.com/watch?v=4o4MXV-d-jQ>.
My favorite misfeature was using bit-addressing instead of byte
addressing.
On Mon, 25 May 2026 15:39:58 -0700, Peter Flass wrote:
My favorite misfeature was using bit-addressing instead of byte
addressing.
Now that 64-bit architectures are commonplace, I wonder why we canrCOt
have bit addressing instead of byte addressing. It would only cost
3 bits at the bottom of the address, and we have plenty to spare.
For performance, not every instruction would need to support
bit-aligned memory accesses -- regular loads/stores could either be
defined to demand those bits be zero, or to ignore them. You would
need special bit-aligned load/store instructions to take advantage of
them.
On Mon, 25 May 2026 15:39:58 -0700, Peter Flass wrote:
My favorite misfeature was using bit-addressing instead of byte addressing.
Now that 64-bit architectures are commonplace, I wonder why we can't have bit addressing instead of byte addressing. It would only cost 3 bits at the bottom of the address, and we have plenty to spare.
For performance, not every instruction would need to support bit-aligned memory accesses -- regular loads/stores could either be defined to demand those bits be zero, or to ignore them. You would need special bit-aligned load/store instructions to take advantage of them.
Lawrence =?iso-8859-13?q?D=FFOliveiro?= <ldo@nz.invalid> writes:
On Mon, 25 May 2026 15:39:58 -0700, Peter Flass wrote:
My favorite misfeature was using bit-addressing instead of byte addressing.
Now that 64-bit architectures are commonplace, I wonder why we can't have bit
addressing instead of byte addressing. It would only cost 3 bits at the
bottom of the address, and we have plenty to spare.
For performance, not every instruction would need to support bit-aligned
memory accesses -- regular loads/stores could either be defined to demand
those bits be zero, or to ignore them. You would need special bit-aligned
load/store instructions to take advantage of them.
Congratulations.
You have just re-invented PDP-6 byte pointers.
From 1964.
Plenty to spare? Not really. CXL and other technologies have made
even a 64-bit address space limiting.
Rich Alderson <news@alderson.users.panix.com> writes:
Lawrence =?iso-8859-13?q?D=FFOliveiro?= <ldo@nz.invalid> writes:
On Mon, 25 May 2026 15:39:58 -0700, Peter Flass wrote:
My favorite misfeature was using bit-addressing instead of byte addressing.
Now that 64-bit architectures are commonplace, I wonder why we can't have bit
addressing instead of byte addressing. It would only cost 3 bits at the
bottom of the address, and we have plenty to spare.
Plenty to spare? Not really. CXL and other technologies have made
even a 64-bit address space limiting.
Wasting three bits of the address for bit addressing, which outside
of specialized applications is not useful, would be silly.
I'd be happy to see instructions that used bit pointers. In most
cases RISC is fine, but working with unaligned bit strings, for
example BITBLT, is just horrible. There's so much shifting and
masking that would be much more efficient at the hardware level.
On Wed, 27 May 2026 18:59:52 GMT
scott@slp53.sl.home (Scott Lurndal) wrote:
Plenty to spare? Not really. CXL and other technologies have made
even a 64-bit address space limiting.
...I'm mildly curious in which applications an address space of 16 EB
would be considered "limiting" o_O
On 5/27/26 11:59, Scott Lurndal wrote:
Rich Alderson <news@alderson.users.panix.com> writes:
Lawrence =?iso-8859-13?q?D=FFOliveiro?= <ldo@nz.invalid> writes:
On Mon, 25 May 2026 15:39:58 -0700, Peter Flass wrote:
My favorite misfeature was using bit-addressing instead of byte addressing.
Now that 64-bit architectures are commonplace, I wonder why we can't have bit
addressing instead of byte addressing. It would only cost 3 bits at the >>>> bottom of the address, and we have plenty to spare.
Plenty to spare? Not really. CXL and other technologies have made
even a 64-bit address space limiting.
Wasting three bits of the address for bit addressing, which outside
of specialized applications is not useful, would be silly.
I'd be happy to see instructions that used bit pointers. In most cases
RISC is fine, but working with unaligned bit strings, for example
BITBLT, is just horrible. There's so much shifting and masking that
would be much more efficient at the hardware level.
https://hackaday.com/2026/05/25/just-how-bad-was-the-intel-iapx432/
Peter Flass <Peter@Iron-Spring.com> wrote:
https://hackaday.com/2026/05/25/just-how-bad-was-the-intel-iapx432/
The benchmark result is the interesting part. The 432 beat an 8086
at the same clock speed doing the same algorithm in hand-written
code. That's not what you'd expect from a chip everyone agrees
was a disaster.
Mark's speculation that the problem was compiler optimization rather
than hardware design is worth taking seriously. The 432 had over 200 operators, built-in object-oriented programming, capability-based
addressing - all of which are nightmares for a compiler writer in
1981. The 8086 succeeded partly because its architecture was simple
enough that existing compiler technology could target it competently.
The pattern repeats with Itanium: a chip designed around the idea
that compilers could do instruction scheduling better than hardware,
which turned out to be true in theory and catastrophically wrong in
practice, because writing those compilers was harder than anyone
anticipated.
Both cases suggest that processor design has a social component.
It's not enough for hardware to be capable in principle. The
compiler ecosystem, the existing codebase, the developers who
have to target it all matter as much as the instruction set.
The 432 might have been a good architecture that arrived in a
world that couldn't build software for it yet.
Rich Alderson's point about PDP-6 byte pointers is apt too.
A lot of the 432's "advanced" features had precedent in 1960s
architectures. What was new was cramming all of them into one
chip at once.
Lev
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 70 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 37:49:11 |
| Calls: | 948 |
| Calls today: | 2 |
| Files: | 1,325 |
| Messages: | 280,561 |