Os registradores de segmentação são um legado dos primeiros dias dos processadores x86, quando o offset
não era grande o suficiente para endereçar toda a memória que o processador poderia endereçar. O 8086 original tinha um espaço de endereçamento de 20 bits, mas só podia usar um deslocamento de 16 bits. Você tinha que usar os registradores de segmento para especificar quais 64 KB do espaço de endereço de 1024 KB desejado. Os registradores de segmento eram efetivamente registradores de 20 bits onde os 4 bits mais baixos eram forçados a 0. Carregando um registrador de segmento configurava os 16 bits superiores do registrador. Isso permitiu que segment + offset
cobrisse todo o espaço de endereço de 20 bits.
Os registros de segmento ainda existem, mas o Linux os define como 0, de modo que pode fingir que não. Os modernos processadores x86 (ou seja, o 80386 e mais recentes) podem usar um deslocamento grande o suficiente para cobrir todo o espaço de endereçamento, tornando a segmentação de memória uma complicação que não é mais necessária. Leia segmentação de memória x86 e o modelo de memória plana para mais detalhes.