Products > Computers

The phasing out of 32 bit

(1/20) > >>

NiHaoMike:
Excluding embedded systems, that is.

Although that video focuses on ARM, just how much extra complexity in a modern 64 bit x86 CPU goes towards making it compatible with 32 bit? How much would there be to gain by making it compatible with 32 bit only at the app level (as ARM did with some of their CPUs) and how much by removing 32 bit compatibility from the hardware and moving it to software emulation?

SilverSolder:

64 bit can double the memory requirements in some applications...   64 bit isn't a universal "good"...

NiHaoMike:
There's a mode called "x32" that solves that problem, while still retaining most of the advantages of 64 bit. I don't think it's popular because not that many apps get enough of a performance boost to make it worthwhile, especially with RAM being much cheaper than it was when software support for it was being developed.
https://en.wikipedia.org/wiki/X32_ABI

bson:
I don't think there's that much complexity to support legacy 32-bit in x64.  Register save and load at traps and faults, MMU lookups, and some arithmetic ops.  The big complexity is in software, for things likes like fetch system call parameters - same system call, but different size parameters depending on whether the caller is 32 or 64-bit (in Unix this made things like ioctl exceedingly painful to get right due to its arguments going to a driver), different trap and VM operations, different context in an interrupt, etc.  At Sun we made the kernel 64-bit with 32-bit process support.  We had zero support for 32-bit kernel components like drivers or file systems.  But even then making it work was not a small undertaking.  (This in the mid/late 90s.)  We made the kernel SMP and run thread hot around the same time.

David Hess:

--- Quote from: NiHaoMike on June 06, 2021, 08:00:38 pm ---Although that video focuses on ARM, just how much extra complexity in a modern 64 bit x86 CPU goes towards making it compatible with 32 bit? How much would there be to gain by making it compatible with 32 bit only at the app level (as ARM did with some of their CPUs) and how much by removing 32 bit compatibility from the hardware and moving it to software emulation?
--- End quote ---

One of the features of x86 which allowed it to succeed is backwards compatibility.

The extra complexity represents a significant verification issue but once that is crossed, the physical cost is low compared to other things which must be included.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod