Qualcuno può spiegare se c'è qualche differenza tra le architetture intel64 e amd64?
Qualcuno può spiegare se c'è qualche differenza tra le architetture intel64 e amd64?
Risposte:
Da quello che ho letto Extended Memory 64-bit Technology (EM64T) è l'implementazione di Intel AMD64 di AMD e le differenze tra Intel64 e AMD64 sono:
Le istruzioni BSF e BSR di EM64T agiscono diversamente quando l'origine è 0 e la dimensione dell'operando è 32 bit. Il processore imposta il flag zero e lascia indefiniti i 32 bit superiori della destinazione.
AMD64 supporta 3DNow! Istruzioni. Ciò include il prefetch con il codice operativo 0x0F 0x0D e PREFETCHW, utili per nascondere la latenza della memoria.
EM64T non ha la possibilità di salvare e ripristinare una versione ridotta (e quindi più veloce) dello stato in virgola mobile (che comprende le istruzioni FXSAVE e FXRSTOR).
EM64T manca di alcuni registri specifici del modello considerati architetturali rispetto a AMD64. Questi includono SYSCFG, TOP_MEM e TOP_MEM2.
EM64T supporta l'aggiornamento del microcodice come nella modalità a 32 bit, mentre i processori AMD64 utilizzano un diverso formato di aggiornamento del microcodice e controllano gli MSR.
Le istruzioni CPUID di EM64T sono molto specifiche del fornitore, come è normale per i processori in stile x86.
EM64T supporta le istruzioni MONITOR e MWAIT, utilizzate dai sistemi operativi per gestire meglio l'hyper-threading.
I sistemi AMD64 consentono l'uso dell'apertura AGP come IO-MMU. I sistemi operativi possono trarne vantaggio per consentire alla normale memoria DMA dei dispositivi PCI di superare i 4 GiB. I sistemi EM64T richiedono l'uso di buffer di rimbalzo, che sono più lenti.
SYSCALL e SYSRET sono supportati anche in modalità IA-32e (non in modalità compatibilità) su EM64T. SYSENTER e SYSEXIT sono supportati in entrambe le modalità.
I rami vicini con il prefisso 0 × 66 (dimensione dell'operando) si comportano diversamente. Un tipo di CPU cancella solo i primi 32 bit, mentre l'altro tipo cancella i primi 48 bit.
Alla pagina x86 di Wikipedia puoi leggere
Nel 1999-2003, AMD ha esteso questa architettura a 32 bit a 64 bit e l'ha definita come x86-64 nei primi documenti e successivamente come AMD64. Intel ha presto adottato le estensioni architettoniche di AMD con il nome IA-32e che è stato successivamente ribattezzato EM64T e infine Intel 64.
In altre parole, il differenziatore è principalmente marketing. Esistono estensioni specifiche per Intel e AMD nel set di istruzioni, ma finché si scrivono programmi nello spazio utente, in genere non è necessario conoscere la differenza.
you don't generally need to know the difference
Sbagliato: anche una piccola differenza nelle istruzioni generiche è molto importante bugs.chromium.org/p/nativeclient/issues/detail?id=2010