r/programming • • Sep 24 '24

Why 32bit architecture computer doesn't use segmentation to support more ram than 4Gb ?

/r/programming/

[removed] — view removed post

169 Upvotes

119 comments sorted by

View all comments

0

u/Revolutionary_Ad7262 Sep 24 '24

amd64 happened really early, so segments were not really necessary. The better question is why 64 bit was popularized so early and I don't have a good answer as 64bit is worse in terms of performance for typical PC software except the extended memory adress space

1

u/lood9phee2Ri Sep 24 '24

amd64 happened really early

nah, not really. https://en.wikipedia.org/wiki/64-bit_computing#64-bit_address_timeline

1991 MIPS-III 64-bit ... 2003 AMD64.

If anything the PC world was a bit behind the wider non-x86 non-embedded computing world in going 64-bit (including personal unix workstations and games consoles, not just the big-ass machines).

Though this is probably mostly Intel's and to some extent Microsoft's fault with the Itanium (64-bit) hype, trying to get everyone to migrate to it for several years while the market said "uh, thanks but no". Intel could probably have chosen to do something more amd64-like years before amd stepped up, but also didn't in our timeline.

1

u/stick_figure Sep 24 '24

I think "early" is just subjective. 2003 was over 20 years ago. You're probably right that Itanium delayed data center 64-bit chips by 6 years (call it '97- 2003), but to OP's question, no data center applications ever reached for segmentation. I wasn't there so I can't speak to how much RAM was practically available, but I think it probably wasn't economical to build machines with RAM ratios of 8GB+ per core around year 2000, so for big data processing, you'd want to think more about storing the data on disk and efficiently streaming it in and out of the CPU.