Oias! Aqui tou em casa
Primeiro: A familia 8086 tinha os 16 pinos de Data (dados( multilpexados com 16 pinos de Address (endereçamento), mas dispunha na realidade de 20 pinos de endereçamento. Estes ultimos 4 pinos eram adicionado automaticamente pelo compilador para escolher o Offset (ou segmento). Qd se acedia a uma posição de memoria de 16 bits, o compilador acrescentava os 4 bits que faltavam consoante a memoria acedida fosse de dados, de programa, de stack ou de ... falta uma... ora bem... vcs perceberam a ideia. Isto permitia ultrapassar o limite dos 16 bits de endereçamento. Eram na realidade 20.
Segundo: Multiplexagem é uma realidade inultrapassavel na arquitectura x86 moderna por motivos obvios (€€).
Agora vamos ao que interessa. Os 32 bits actuais só permitem aceder a 4 GBs de memoria. E daí? Nenhum desktop usa 4GBs de memoria, certo? Errado. Com programas pesados o tamanho do paging file pode levar a que o limite seja atingido.
Endereçar memoria fisica ou memoria virtual é exactamente igual do ponto de vista do programador. Quem descodifica tudo é o controlador de memoria. Tu acedes a uma de 4GBs de posiçoes de memoria e ela pode estar em RAM ou no disco. Qual a limitação no meio disto tudo? No meio de todos os programas acentes em memoria e do SO e todas essas cenas n será dificil atingir o limite dentro de pouco tempo. Dificilmente um programa poderá utilizar mais de 2GBs de memoria já que os 4 GBs tem de ser partilhados por todo o sistema. Aí entra a arquitectura AMD 64. Não só permite um acesso vasto À memoria para programas de 64 bits, mas tb permite aos actuais programas de 32 bits acederem cada um aos seus 4 GBs de memoria. É como ter vários processadores de 32 bits...
Quanto ao truque dos Xeons e outros X86-32 para acederem a mais de 32 bits de memoria, prende-se ao uso de registos para offset e subsequente acesso indexado à memoria. Digamos que cada acesso à memoria leva cerca de 3 vezes mais tempo. Isto é obviamente incomportavel e cria um bottleneck brutal.
Ficaram por referir as vantagens dos registos, a nova instruction set x86-64 (uma especie de MMX, SSE ou 3D Now!, dedicado a optimizar processos de 64 bits), o controlador de memoria integrado e outras coisas.
As vantagens são inumeras (bem mais do que as que referi) e eu já expliquei o que estava em discussão por isso fico por aqui.
Acrescento uma coisa que algumas pessoas ainda n se aperceberam. Controlador de memoria integrado é optimo em termos de performance. Em termos de conforto it sucks big time. Qts de vcs é que já pegaram nos velhinhos XP 1700+ e os chaparam numa nForce 2 com dual chanel DDR 400? Pois é... Acabou! Para usar DDR2 a AMD vai (quase de certeza... a n ser que tenham isso planeado de antemão - duvido) ter de trocar a Socket. Ou seja, a AMD que tem a tradiçao de manter uma Socket por bastante tempo (até nisso eles são mais fixes que os bois da Intel que te obrigam a upgrade de processador por tudo e por nada :p ) vai começar a trocar mais vezes. DDR 2 em meados de 2005 implica nova Socket.
N há necessidade de introduzir DDR2 mais cedo pk a largura de banda do processador está em 3200 e ainda pode ser alargada para 6400 com Dual channel DDR que o Athlon 64 vai permitir.
Não liguem às gafes que eu hoje n consigo escrever uma palavra sem erros.
Abraços.