Intel Core i7 975: ora a 3,33 GHz di clock

Intel presenta la prima evoluzione della propria serie di processori Core i7 con il modello 975 Extreme, nuova proposta top di gamma con clock di 3,33 GHz che prende il posto del modello 965 Extreme. Accanto a questa cpu il modello Core i7 950, che va a sovrapporsi per costo alla soluzione Core i7 940.
di Paolo Corsini pubblicato il 03 Giugno 2009 nel canale ProcessoriIntel
75 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoGrazie
Oltre che per l'articolo puntuale per l'aggiunta del test benchmark x264@jrambo92 :
Ma che dici?????QUesto è un Extreme Edition, non costerà MAI meno di 200euro, nemmeno a pregare in ginocchio mamma Intel in persona!
Saremo fortunati se arriverà a 500!
i950 sostituisce i940 allo stesso prezzo
ci si aspettava un i930 come sostituto del i920, se ne discute nei vari forum
Effettivamente non avevo considerato la fascia high-end(che non considero minimamente) ma nella fascia media io non vedo mai cali di prezzi...mah...
L1, L2 e L3 si riferiscono a diversi livelli della gerarchia delle cache, non a diverse tecnologie o altro: tutte quelle cache sono SRAM e on-chip (su questi processori, non e' vero in generale).
L'idea generale di avere una cache (cioe' una piccola e veloce memoria vicina al processore) e' che se il programma che gira ha localita' nell'accesso ai dati/istruzioni, cioe' riusa spesso gli stessi dati in istanti di tempi vicini (e quasi tutti i programmi si comportano cosi', altrimenti saremmo messi malissimo!), questi dati vengono caricati nella cache, e agli accessi successivi quei dati verranno dalla cache invece che dalla memoria centrale. Questo ha 3 effetti:
- i dati arrivano molto prima (bassa latenza)
- ne possono arrivare di piu' (banda on-chip maggiore)
- risparmi energia (andare off-chip fino alla RAM e tornare indietro costa parecchio in termini di energia dissipata)
Quindi: facciamo una cache, che chiameremo L1 (primo livello) che maschera alcuni accessi alla RAM.
Ma allora perche' non farne un'altra? Un secondo livello (L2), che ne mascheri ancora di piu'? Cosi' potremmo avere una L1 piccolissima ma velocissima, che ci fornisce in un attimo quei pochi dati piu' usati; una L2 piu' grande ma un po' piu' lenta, che ci fornisce altri dati un po' meno usati in un tempo un po' piu' lungo, ma cmq inferiore alla RAM.
Ma allora perche' non farne un'altra? Un terzo livello (L3), ancora piu' grosso (ma piu' lento) della L2, che .... eccetera
Il problema e' bilanciare tutti questi livelli. Ci sono molti parametri, i cui 2 principali sono:
- latenza: il numero di cicli di clock che la memoria ci mette a rispondere: meno sono meglio e'
- cache hit: la probabilita' di trovare nella cache quello che cerchi, piu' alta meglio e'
(altri fattori sono la set associativita', la dimensione della cache line, il banking, i pattern di accesso, la capacita' di gestire miss-under-miss e hit-under-miss, il protocollo di coerenza...)
Ovviamente, i fattori sono contrastanti: piu' grande fai la cache piu' alzi lo hit rate, ma la cache diventa piu' lenta, eccetera.
Quindi, con piu' livelli su cui giocare, puoi ottimizzarli congiuntamente per ottenere il massimo. Ecco che gli i7 hanno una L1 piccola (32 kB) e direct mapped, per avere il tempo d'accesso minore possibile. La L2 anche e' piccola (solo 256 kB), sempre per avere bassa latenza. E la L3 e' grossa, piu' lenta, per avere un alto hit rate e diminuire al minimo la probabilita' di dover andare fino alla RAM (che e' la cosa peggiore in termini di latenza, banda, e consumo di energia).
Il bilanciamento dei livelli, la loro architettura, eccetera e' roba molto delicata, si fanno anche anni di simulazioni al PC su benchmark specifici per capire come dimensionare il tutto.
Spero di averti dato una vaga idea!
Non e' vero, i vari livelli lavorano insieme per aumentare le prestazioni generali del sistema.
Quello che e' vero e' che la L1 e' sempre privata, e l'ultimo livello e' praticamente sempre condiviso -- ci sono dei buoni motivi per farli cosi', ma non e' che debba essere cosi' per forza. Il livello di mezzo puo' essere privato o condiviso, ci sono diversi tradeoff.
Quello che e' vero e' che la L1 e' sempre privata, e l'ultimo livello e' praticamente sempre condiviso -- ci sono dei buoni motivi per farli cosi', ma non e' che debba essere cosi' per forza. Il livello di mezzo puo' essere privato o condiviso, ci sono diversi tradeoff.
riportami una cpu con l2 e l3 condivisa
L'idea generale di avere una cache (cioe' una piccola e veloce memoria vicina al processore) e' che se il programma che gira ha localita' nell'accesso ai dati/istruzioni, cioe' riusa spesso gli stessi dati in istanti di tempi vicini (e quasi tutti i programmi si comportano cosi', altrimenti saremmo messi malissimo!), questi dati vengono caricati nella cache, e agli accessi successivi quei dati verranno dalla cache invece che dalla memoria centrale. Questo ha 3 effetti:
- i dati arrivano molto prima (bassa latenza)
- ne possono arrivare di piu' (banda on-chip maggiore)
- risparmi energia (andare off-chip fino alla RAM e tornare indietro costa parecchio in termini di energia dissipata)
Quindi: facciamo una cache, che chiameremo L1 (primo livello) che maschera alcuni accessi alla RAM.
Ma allora perche' non farne un'altra? Un secondo livello (L2), che ne mascheri ancora di piu'? Cosi' potremmo avere una L1 piccolissima ma velocissima, che ci fornisce in un attimo quei pochi dati piu' usati; una L2 piu' grande ma un po' piu' lenta, che ci fornisce altri dati un po' meno usati in un tempo un po' piu' lungo, ma cmq inferiore alla RAM.
Ma allora perche' non farne un'altra? Un terzo livello (L3), ancora piu' grosso (ma piu' lento) della L2, che .... eccetera
Il problema e' bilanciare tutti questi livelli. Ci sono molti parametri, i cui 2 principali sono:
- latenza: il numero di cicli di clock che la memoria ci mette a rispondere: meno sono meglio e'
- cache hit: la probabilita' di trovare nella cache quello che cerchi, piu' alta meglio e'
(altri fattori sono la set associativita', la dimensione della cache line, il banking, i pattern di accesso, la capacita' di gestire miss-under-miss e hit-under-miss, il protocollo di coerenza...)
Ovviamente, i fattori sono contrastanti: piu' grande fai la cache piu' alzi lo hit rate, ma la cache diventa piu' lenta, eccetera.
Quindi, con piu' livelli su cui giocare, puoi ottimizzarli congiuntamente per ottenere il massimo. Ecco che gli i7 hanno una L1 piccola (32 kB) e direct mapped, per avere il tempo d'accesso minore possibile. La L2 anche e' piccola (solo 256 kB), sempre per avere bassa latenza. E la L3 e' grossa, piu' lenta, per avere un alto hit rate e diminuire al minimo la probabilita' di dover andare fino alla RAM (che e' la cosa peggiore in termini di latenza, banda, e consumo di energia).
Il bilanciamento dei livelli, la loro architettura, eccetera e' roba molto delicata, si fanno anche anni di simulazioni al PC su benchmark specifici per capire come dimensionare il tutto.
Spero di averti dato una vaga idea!
grazie dell'ottima spiegazione
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".