Why doesn't x86-64 long mode need segmentation?

operating-system

Solution

CPU in X86_64 long mode uses PAE (Physical Address Extension) technology to control memory.

So segment selector is not necessary.

I recommend you read this pdf manual `AMD64 Architecture Programmer’s Manual Volume 2: System Programming`.

Google `amd64 volume 2`, the first result is the pdf manual.

See Chapter 5.3 `Long-Mode Page Translation`, and you will understand.

Problem

X86_64 long mode(64bit) does not need segmente selector. Why is segmentation necessary in 32bit but useless in 64bit? Thanks,

Original source