PDA

View Full Version : Core 2 Duo e 64bit


loperloper
01-05-2007, 16:25
Ma non ho capito: i Core 2 Duo sono dei 64bit nativi(come gli athlon 64) o emulati?Grazie

wamp88
01-05-2007, 16:36
Certo, i core 2 duo sono dei 64bit nativi. Se non sono nativi 64bit i core duo che sono le ultime cpu, quali sarebbero le cpu 64bit?

loperloper
01-05-2007, 17:22
no perchè l ETM64 di intel in teoria dovrebbe essere solo un espansione del 32bit e quindi in realtà non dovrebbe esserci un boost prestazionale...o sbaglio?

Dr House
01-05-2007, 17:23
nativi

dmanighetti
02-05-2007, 10:28
nativi

Mah, i datasheet Intel dicono semplicemente "64Bit capable".
Saluti.

checo
02-05-2007, 11:03
no perchè l ETM64 di intel in teoria dovrebbe essere solo un espansione del 32bit e quindi in realtà non dovrebbe esserci un boost prestazionale...o sbaglio?

dipende.

intanto secondo te che differenza c'è tra un estensione e 64bit nativi?
pure i k8 hanno un estensione dei registri da 32 a 64

loperloper
02-05-2007, 11:24
dipende.

intanto secondo te che differenza c'è tra un estensione e 64bit nativi?
pure i k8 hanno un estensione dei registri da 32 a 64

la differenza,imho, sta nel fatto che se fossero nativi allora l istruzione entra a 64bit e basta, mentre con estensione sarebbe una somma di 32+32 quindi in pratica va a calcolarsi i due valori e di conseguenza il guadagno di prestazioni non cè....poi magari mi sbaglio

checo
02-05-2007, 11:27
la differenza,imho, sta nel fatto che se fossero nativi allora l istruzione entra a 64bit e basta, mentre con estensione sarebbe una somma di 32+32 quindi in pratica va a calcolarsi i due valori e di conseguenza il guadagno di prestazioni non cè....poi magari mi sbaglio
non fa la somma 32+32 altrimenti non si avrebbero guadagni.

dmanighetti
02-05-2007, 14:20
Sono comunque tutte questioni di lana caprina se sia da ritenere "native" o "capable" o quel che è. La questione di fondo è che in presenza di SO a 64Bit le estensioni sono usate, in mancanza di esso non vengono attivate.
La rivoluzione vera si avrà con l'abbandono definitivo della retro compatiblità X86, a quel momento le architetture ibride odierne non avranno più senso.
Saluti.

loperloper
02-05-2007, 15:06
Sono comunque tutte questioni di lana caprina se sia da ritenere "native" o "capable" o quel che è. La questione di fondo è che in presenza di SO a 64Bit le estensioni sono usate, in mancanza di esso non vengono attivate.
La rivoluzione vera si avrà con l'abbandono definitivo della retro compatiblità X86, a quel momento le architetture ibride odierne non avranno più senso.
Saluti.
Si ma il punto non è l SO, perchè quello manda le istruzioni a 64bit e basta, quindi che tu abbia una cpu 64bit emulati o nativi riuscirai lo stesso a far girare quell OS, il punto della questione sono le prestazioni in presenza una di una cpu con 64bit emulati, che ovvimamente sarebbero alla pari di un os 32 bit.
Comunque anche a me ha lsciato perplesso "64bit Capable"...

dmanighetti
02-05-2007, 15:58
Si ma il punto non è l SO, perchè quello manda le istruzioni a 64bit e basta, quindi che tu abbia una cpu 64bit emulati o nativi riuscirai lo stesso a far girare quell OS, il punto della questione sono le prestazioni in presenza una di una cpu con 64bit emulati, che ovvimamente sarebbero alla pari di un os 32 bit.
Comunque anche a me ha lsciato perplesso "64bit Capable"...

Secondo me qui è anche questione di fare chiarezza, un conto è l'indirizzamento della memoria a 32bit o 64bit, e un conto sono i registri interni al processore, cioè l'utilizzo o meno di registri a 32bit o 64bit, da quello che ho capito l'architettura X86 è mista ma non ho chiaro se deve emulare i 32Bit per tenere la compatibilità con le vecchie istruzioni (probabile) oppure se è nativa a 32bit ed emula soltanto i 64Bit (con le estensioni). Per complicare ancora le cose interviene pure l'architettura ora mista fra Risc e Cisc, una differenziazione netta non è possibile allo stato attuale, solo con la cessazione della compatibilità X86 si avrà un'architettura finalmente pulita.
Saluti.

loperloper
02-05-2007, 16:28
Secondo me qui è anche questione di fare chiarezza, un conto è l'indirizzamento della memoria a 32bit o 64bit, e un conto sono i registri interni al processore, cioè l'utilizzo o meno di registri a 32bit o 64bit, da quello che ho capito l'architettura X86 è mista ma non ho chiaro se deve emulare i 32Bit per tenere la compatibilità con le vecchie istruzioni (probabile) oppure se è nativa a 32bit ed emula soltanto i 64Bit (con le estensioni). Per complicare ancora le cose interviene pure l'architettura ora mista fra Risc e Cisc, una differenziazione netta non è possibile allo stato attuale, solo con la cessazione della compatibilità X86 si avrà un'architettura finalmente pulita.
Saluti.

in pratica siamo lontani parecchio dalle prestazioni ottenibili con una cpu progettata a 64bit come per esempio l itanium...

incipit1970
04-05-2007, 02:12
Dal Prescott in su, i processori di Intel sono "64 bit capable", il che significa, in parole povere, che sono processori a 64 bit "nativi". Hanno i registri, i puntatori, lo spazio di indirizzi e l'aritmetica di interi a 64 bit.

Confrontare EM64T (o AMD64 o Intel64 o x86-64, in quanto tutte queste parole significano esattamente la stessa cosa) con l'Itanium è, per dirla breve, ingiusto... Itanium è un'architettura ad esecuzione in parallelo, lo stesso core esegue più di un'instruzione per ciclo (di solito, tre o quattro). Quindi, non si possono confrontare le prestazioni in modo lineare, come non si possono confrontare con un processore RISC come l'Alpha, il MIPS o lo SPARC. Per farvi avere un'idea, Itanium ha 128 GPR (registri generici), Core 2 ne ha 16...

Ma Itanium non è "più 64 bit" di EM64T, che si concentra sulla compatibilità con i binari a 32 e anche a 16 bit, mentre Itanium (o IA-64) se ne frega stratosfericamente (non ha neanche più una compatibilità con IA-32 a livello di hardware, ma solo un emulatore software). E questo è il motivo per il quale nessuno usa Itanium (altrimenti noto come "Itanic") eccetto sui server. C'è troppo codice a 32 bit in giro per ignorarlo e passare a 64 a occhi chiusi.

In una parola, x86-64 è ai 64 bit come il 386 era ai 32... ovvero, un processore a 64 bit in grado di eseguire binari a 32 (e pure 16) bit nativamente, senza emulazioni o ricompilazioni.

Il processore non emula i 32 bit... semplicemente, usa metà dei registri (il registro RAX è a 64 bit, il registro EAX è a 32, AX è a 16 e AH-AL sono a 8 bit). Esattamente come faceva IA-32. In pratica, il processore ha una modalità di esecuzione a 64 bit, una mista (la cosidetta IA-32E, ovvero funziona a 32 bit ma con indirizzi a 64 bit), ed una a 32, oltre al modo reale. L'executive (il sistema operativo) può indicare la modalità da utilizzare per eseguire il codice in una qualunque delle pagine della memoria virtuale, ed il processore si occupa di cambiare modalità quando esegue quella pagina. Non ci sono quindi penalità di sorta quando si lavora a 64 bit, rispetto alle performance ottenibili in 32 bit. Dato che il processore, in modalità 64 bit, ha 16 GPR mentre in modalità 32 bit ne ha 8, il modo a 64 bit può anzi essere più performante se quei registri in più si usano per mantenere valori che non devono poi essere letti da memoria.

Un processore 32+32 (se tale bestia effettivamente esistesse, e ci sono motivi ovvi per cui non può nemmeno esistere) avrebbe una penalità di oltre il 50% in modalità 64 bit! Per eseguire una istruzione a 64 bit, impiegherebbe oltre il doppio di tempo rispetto alla stessa istruzione a 32 bit! Insomma, ti servirebbe un quad core per far girare WinXP-64 decentemente...

In una parola, il Core 2 si può considerare un 64 bit "onesto". Non è performante come Itanium perché non costa come Itanium. Dire che "non è progettata per 64 bit" è falso, è meglio dire che Itanium è progettato per un livello di performance superiore (e a maggior costo).

L'architettura è "pulita", nel senso che se sei in modalità 64 bit e tutti i binari in memoria sono a 64 bit, il modo a 32 bit è come se non esistesse, e viceversa. Nel misto, ci potrebbe essere un impatto sulle performance. Ma, curiosamente, minore che se tenti di eseguire un programma a 32 bit su Itanium.

dmanighetti
04-05-2007, 09:13
Dal Prescott in su ... a 32 bit su Itanium.

Taglio solo per motivi di lunghezza del testo ma voglio quotare comunque per ringraziare l'utente incipit 1970 che si è preso la briga di fare chiarezza su questioni tecniche abbastanza difficili da comprendere, almeno per me, ma soprattutto ancora più difficili da spiegare in modo che sia comprensibile anche ai non addetti ai lavori.
Saluti.

loperloper
04-05-2007, 09:28
Taglio solo per motivi di lunghezza del testo ma voglio quotare comunque per ringraziare l'utente incipit 1970 che si è preso la briga di fare chiarezza su questioni tecniche abbastanza difficili da comprendere, almeno per me, ma soprattutto ancora più difficili da spiegare in modo che sia comprensibile anche ai non addetti ai lavori.
Saluti.
quoto...grazie incipit1970 per l'esaustiva risposta!