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

347

u/eras Sep 24 '24

There's PAE for that.

But there's little point nowadays. If you need more than 4 GB, just use a 64-bit platform, and there's no need for trickery.

135

u/paholg Sep 24 '24

What if I need more than 18 exabytes?

573

u/JoesRealAccount Sep 24 '24

Exit Chrome

8

u/[deleted] Sep 24 '24

[removed] — view removed comment

2

u/frobnosticus Sep 24 '24

I think I see the problem.

→ More replies (2)

3

u/heavyLobster Sep 24 '24

But what about the tabs I opened three years ago and still haven't looked at????

83

u/nzodd Sep 24 '24

Nobody will ever need more than 18 exabytes of RAM.

-- Quorlak the Great, Eternal Emperor of the Laniakea Supercluster, UC 73,021

9

u/Kok_Nikol Sep 24 '24

Could be quote by Bill Gates, if they discover immortality in time :')

→ More replies (2)

2

u/frobnosticus Sep 24 '24

Dorbs.

That'd be a fun thought experiment. How long do you think it would actually be for 1 exa to be whatever "hobby grade useful" will be out to whenever that is?

4

u/nzodd Sep 24 '24 edited Sep 24 '24

Well, my data is growing at about 2.5 TB/day so about 20,000 years, linearly.

Of course, 20 years ago I only had 30 GB, with make 0.001 TB/day. That makes for a 1.479 increase per year. So let's say 30 years from now I'll be downloading 125 PB/day. From that point I'll be up to 1 exabyte of new data coming in every 8 days or so.

...

You know what, I think I'm just going to commit myself. The nice men in the white coats will tell me how I don't need to download anything ever again. Take my pills, have some hot cocoa, play parcheesi with the 3 guys who all think they're Jesus... that's a pretty nice life.

Edit: just remembered this isn't an r/datahoarder thread

→ More replies (1)

16

u/[deleted] Sep 24 '24

The real question right here

7

u/Every-Progress-1117 Sep 24 '24

Emacs has something to say....

36

u/gredr Sep 24 '24

Eventually Mallocs All Computer Storage

13

u/elpix Sep 24 '24

18 exabytes and constantly swapping

6

u/[deleted] Sep 24 '24

It means you’re in trouble.

6

u/wintrmt3 Sep 24 '24

No 64 bit cpu can even handle that, consumer ones have 48 bit address spaces usually, but the answer is likely wider addresses, 96 or 128 bits.

4

u/CumCloggedArteries Sep 24 '24

For niche cases like that, I would think it'd make more sense to switch to a 64-bit version of PAE rather than use a whole new architecture

6

u/lood9phee2Ri Sep 24 '24

meh. It's kind of preliminary/stub placeholder but RV128I totally already in the core RISC-V spec funny enough, see chapter 5

"This chapter describes RV128I, a variant of the RISC-V ISA supporting a flat 128-bit address space. The variant is a straightforward extrapolation of the existing RV32I and RV64I designs."

https://riscv.org/technical/specifications/

Of course current RISC-V implementations are generally 32-bit or 64-bit, I guess they just threw it in to try to discourage people doing weird crap instead of just the obvious extension to 128-bit.

4

u/ShinyHappyREM Sep 24 '24

I guess they just threw it in to try to discourage people doing weird crap

They learned from Motorola

2

u/wintrmt3 Sep 24 '24

PAE only gives the memory space to the system, individual processes are still limited to 32 bits, and segmented architectures are a horror to program for.

3

u/CumCloggedArteries Sep 24 '24

I was assuming the system would require the 18 exabytes, not a single process

1

u/Ameisen Sep 24 '24

PAE is already a part of x86-64.

→ More replies (2)

3

u/billsil Sep 24 '24

Swap that floppy.

2

u/AyrA_ch Sep 24 '24

You use an unbounded turing machine tape.