# EM64T

EM64T, acronimo di Extended Memory 64 Technology è una particolare architettura 64 bit sviluppata da Intel per portare alcuni benefici del calcolo a 64 bit in tutti i processori a 32 bit. Ha alcuni nomi alternativi, tra cui IA-32e, Intel CT (che sta per Clackamas Technology), e prima ancora con il nome Yamhill.

## Progetto

La tecnologia EM64T è stata implementata a partire dai primi mesi del 2005 all'interno delle CPU Xeon basate sul core Nocona e in seguito anche Pentium 4 con core Prescott della serie 6xx, e Pentium D. Tale tecnologia è stata definita uno dei "segreti peggio conservati" da parte di Intel. L'azienda infatti nel corso degli ultimi due anni ha più volte smentito quello che trapelava attraverso alcune voci sullo sviluppo di una tecnologia concorrente a quella AMD64 implementata nei processori AMD Athlon 64 e Opteron, dicendo di non essere interessata ai possibili vantaggi. In realtà la stava incorporando nei suoi processori per non "perdere il passo" rispetto alla concorrente.
Il motivo è evidente. Intel ha investito molti fondi nello sviluppo e nella promozione della propria architettura IA-64 alla base di Itanium e Itanium 2, e consentire a tutti di sfruttare, almeno in parte, i vantaggi dei 64 bit, avrebbe provocato un ulteriore freno alle già scarse vendite di tale architettura. Intel si è dunque vista "costretta" a sviluppare e implementare tale tecnologia in tutti i segmenti di mercato, a causa dell'improvviso successo della scelta di AMD.
Le indiscrezioni succedutesi nel corso degli anni sono state anche spesso errate e controverse, basti pensare che nel corso del 2002 sembrava che Intel avesse cancellato completamente il programma a favore dell'ulteriore sviluppo dell'architettura IA-64. Nel 2003 si tornò a parlare di questa tecnologia Yamhill ma, in alcuni casi, in un contesto esattamente duale, vale a dire come un potente emulatore IA-32 da utilizzare con CPU IA-64, quali la famiglia Itanium.
Una volta delineato il vero scopo della tecnologia EM64T, vale a dire, la risposta all'architettura AMD64, venne comunque annunciato che essa sarebbe arrivata solo a partire dal core Tejas per i Pentium 4. Tejas doveva essere il successore di Prescott (che quindi non avrebbe dovuto avere supporto a tale tecnologia) il cui sviluppo però venne interrotto a causa di vari problemi di stabilità operativa, primo fra tutti l'enorme dissipazione termica.

## Primi processori con EM64T

Nei Pentium 4 la tecnologia è stata implementata nella revisione E0 del core Prescott, che sul mercato è arrivata come "Pentium 4, model F". Lo step E0 ha aggiunto anche il supporto "eXecute Disable bit" (XD-bit), che è il nome scelto da Intel per la tecnologia di sicurezza analoga implementata nei processori AMD NX-bit.
Tutti i processori su Socket 478 sono a 32-bit, ma anche alcuni modelli su Socket 775 (tra cui i Pentium 4 530) sono sprovvisti di supporto alla tecnologia EM64T.

## Funzionamento

Grazie all'utilizzo di queste estensioni i processori Intel pensati per architettura a 32 bit possono indirizzare un superiore quantitativo di memoria, oltre che utilizzare codice a 64 bit scritto specificamente per questo genere di implementazione.
La tecnologia Intel Extended Memory 64 Technology (EM64T) implementata nelle CPU Xeon, funziona nel seguente modo: Intel, al pari di AMD, ha inserito una speciale modalità di funzionamento del processore chiamata "64-bit sub mode", nella quale sono disponibili indirizzamenti a 64 bit, 8 nuovi registri general purpose, 8 registri per estensioni SIMD (SSE, SSE2 e SSE3) e GPR a 64 bit di ampiezza. Un processore Intel dotato di estensioni a 64 bit EM64T può comunque operare anche in modalità a 32 bit, e in questo caso utilizzerà la modalità IA-32.
In modalità IA-32e (extended) mode, la CPU utilizzerà un sistema operativo a 64 bit e in questo caso potrà presentare due differenti condizioni:
* 64 bit mode
* Compatibility mode.
Queste tipologie di utilizzo sono le stesse implementate per le cpu AMD64 (Athlon 64 e Opteron).
Anche se sussistono differenze, gli approcci a 64 bit di Intel e di AMD sono sostanzialmente sovrapponibili: entrambe le tipologie di processori, quindi, sono capaci di operare con software a 64 bit scritto specificamente per questo genere di sistemi. In particolare, entrambi gli approcci supportano la versione per estensioni a 64 bit del sistema operativo "Microsoft Windows XP x64 Edition", arrivata sul mercato alla fine di aprile 2005. I primi processori Intel con tecnologia Intel Extended Memory 64 Technology (EM64T) sono stati quelli Xeon DP (dual processor), per sistemi biprocessore, basati sul core Nocona a 90 nm, in commercio dal secondo trimestre 2004.
La tecnologia Extended Memory 64 Technology (EM64T) permette ai sistemi Xeon, e Pentium 4, di superare le limitazioni proprie delle architetture a 32 bit.

## Una tecnologia complementare all'architettura IA-64

EM64T non rappresenta un elemento di diretta concorrenza per le piattaforme Itanium, soluzioni puramente a 64 bit destinate ad impieghi critici in termini di pura potenza di calcolo, oltre che per fascia di prezzo ben lontane dalle soluzioni Xeon a 2 o più vie.