Genere
ND
Lingua
ND
PEGI
ND
Prezzo
ND
Data di uscita
20/11/2000

Pentium 4

Pentium 4 Aggiungi alla collezione

Datasheet

Produttore
Intel
Data di uscita
20/11/2000

Lati Positivi

  • Buone prestazioni in Quake III Arena
  • Alcune soluzioni tecnologiche interessanti
  • Bus a 400 MHz e SSE2
  • Banda di memoria ampissima con RDRAM

Lati Negativi

  • Pipeline a 20 stadi penalizzante
  • Prestazioni non all'altezza in molti applicativi
  • Prezzo della piattaforma
  • Il socket cambierà presto

Hardware

Il sistema Pentium 4 provato era così configurato: il processore da 1,7 GHz (Front Side Bus a 400 MHz) era montato su scheda madre Intel D850GB (chipset Intel 850), con scheda audio e scheda di rete integrata. Sono stati utilizzati due moduli da 128 MB di RDRAM di produzione Samsung (forniti in bundle con il processore) per un totale di 256 MB di memoria di sistema (in modalità dual channel, supportata dalla scheda madre). L'Athlon, in versione da 1,4 GHz con Front Side Bus a 266 MHz, è stato montato su una EPOX 8K7A+ con chipset AMD 760 (supporto per DDR RAM) e southbridge VIA 686B. La scheda madre integra la sezione audio ed anche un eccellente controller RAID Highpoint H370A, per un totale di 4 connettori EIDE, anche se per le prova abbiamo sfruttato solo i connettori gestiti dal southbridge VIA. Su questa scheda è stato montato un modulo da 256 MB di memoria RAM di tipo DDR (PC2100 con CAS, column address strofe, dalla latenza di 2,5 cicli di clock... il modulo cioè impiega 2,5 cicli di clock per individuare la colonna dove è posta la cella di memoria a cui accedere nell'organizzazione matriciale su cui si basa) con chip di produzione Hyundai. Su entrambi i sistemi sono stati utilizzati la stessa scheda video, la reference board GeForce 2 GTS di NVIDIA (con 32 MB di memoria DDR a 333 MHz), e lo stesso hard disk, un IBM DTLA da 30 GB, in grado di supportare Ultra DMA 100 (visto naturalmente da entrambe le schede madri). Il sistema operativo utilizzato per le prove è stato Windows Millennium, mentre i driver della scheda grafica erano i Detonator ufficiali di nVidia (versione 12.41)

Link

Recensione

Pentium 4 1,7 GHz vs Athlon 1,4 GHz: scontro ad alta frequenza

All'angolo destro, il Pentium 4 da 1,7 GHz. All'angolo sinistro, l'Athlon da 1,4 GHz. I due potenti processori si scontrano in una battaglia all'ultimo frame per secondo. Chi ne uscirà vincitore? Scopritelo con noi in questo entusiasmante recensione della nuova CPU Intel, che offre un'ampia panoramica sulla sua particolare architettura!

di Antonino Tumeo, pubblicato il

La parte successiva è costituita delle unità di esecuzione (più di una, in maniera tale da permettere, se possibile, l'esecuzione di più micro-ops in parallelo). Un'architettura con un numero così grande di stadi ha delle ripercussioni molto importanti. Aumentare il numero di stadi, significa ridurre il numero di operazioni compiute in ciascuno di essi (decodifica, operazioni aritmetiche nella ALU, lettura e scrittura nei registri, calcoli delle FPU), cosa che permette di aumentare facilmente la frequenza di clock (perchè ci sono meno latenze, vengono coinvolti meno componenti per ogni stadio e la realizzazione circuitale è molto più semplice) e aumentare il numero di micro-op stesse che possono essere gestite in ciascun ciclo di clock. Ciò però significa anche che una singola istruzione deve attraversare una pipeline più lunga, dunque perché siano compiute tutte le operazioni che essa coinvolge ci vuole "più tempo" (cioè, per dirla con il termine che scandisce il tempo nel processore, più cicli di clock). Dunque fossimo a parità di frequenza e a parità completa di tecnologia, una CPU con meno stadi come il Pentium III risulterebbe nettamente più veloce, perché per ogni singolo stadio (e quindi, idealmente, per ogni ciclo di clock) esegue più operazioni.
Bisogna anche sottolineare che le istruzioni che devono essere gestite da una CPU, soprattutto quelle in architettura x86, non sono così "elementari" (tutt'altro...), e riuscire a tenere la pipeline, e le unità di esecuzione, sempre piene è un'impresa, soprattutto quando ci sono i cosiddetti "salti condizionali". Per aiutare l'unità di decodifica in questa operazione, nell'architettura P6 (quella del Pentium III) intervengono dunque tre diverse tecniche: la branch prediction, la dynamic data flow analysis, e la speculative execution. Intel riassume queste tre tecniche nella sigla "Dynamic Execution Engine" che con il Pentium 4 diventa "Advanced Dynamic Execution Engine". Con branch prediction si intende quell'argoritmo tramite il quale si cerca di prevedere quale "direzione" prenderà una determinata istruzione (eventualmente analizzando le istruzioni precedenti e successive e analizzando su base statistica istruzioni simili già elaborate). Se la predizione è corretta, il lavoro della CPU prosegue senza intoppi: l'istruzione segue il percorso previsto, e si può andare avanti. I problemi sopraggiungono se la predizione risulta sbagliata: tutto il lavoro fatto deve essere "buttato via", e l'analisi dell'istruzione deve ripartire da capo. E farlo con una pipeline da 20 stadi è nettamente più oneroso che con una pipeline da 10. Per questo nel Pentium 4, è stato (a detta di Intel) ottimizzato nettamente l'algoritmo di branch prediction ed è stata incrementata la grandezza del buffer per salvare la storia dei precedenti salti condizionali (da 512 Byte a 4 KB), che dovrebbero aver ridotto del 33% gli errori di predizione rispetto al Pentium III.
Altra caratteristica che è stata migliorata rispetto al Pentium III per sopperire alla pipeline più lunga è il cosiddetto "motore" di esecuzione out-of-order. Nel flusso di micro-op lungo le unità di esecuzione, ce ne sono alcune che potrebbero mandare in stallo l'unità che dovrebbero impegnare perchè non sono state realizzate particolari condizioni, come la lettura da memoria, particolarmente onerose in termini di tempi di elaborazione (in rapporto alla velocità di esecuzione di un processore). La CPU cerca allora di porre queste operazioni in attesa che si verifichi la condizione e vede se nel frattempo è possibile proseguire nell'esecuzione di operazioni successive. Dunque, tramite la dataflow analysis il processore determina se le istruzioni possono essere poste in esecuzione subito o dipendono da altre condizioni, e la speculative execution si occupa di "ordinare" e "distribuire" nelle unità di esecuzione queste operazioni nella maniera più efficiente possibile. Nel Pentium 4 questi algoritmi, sempre nell'ottica di rendere più efficiente la lunga pipeline a 20 stadi, sono stati migliorati e si è passati dai 42 registri di micro-ops da cui scegliere quali eseguire del Pentium III a ben 126 (contro i 72 di Athlon), con 128 registri per i nomi.

CACHE, CACHE, E ANCORA CACHE

Nel Pentium III troviamo una cache di primo livello di 32 KB, divisa in 16 KB per i dati e 16 per le istruzioni. Nell'Athlon e nel Duron passiamo addirittura a 128 KB (64 KB per i dati, 64 per le istruzioni). Con il Pentium 4, invece, Intel ha pensato di inserire solo 8 KB di cache per i dati (un po' pochini, onestamente), ma ha inserito una innovativa "Execution Trace Cache", che va a sostituire la cache per le istruzioni. La scelta di inserire solo 8 KB per i dati è stata probabilmente determinata dalla volontà di avere una cache molto veloce (ed infatti ha una latenza di soli 2 cicli di clock, meno della metà di quella del Pentium III), pur contenendo i costi. Questa cache è 4 way-associative con linee da 64 bit (vengono cioè salvate 4 linee consecutive da 64 bit per blocco) ed è dual ported, presenta cioè la possibilità di eseguire nello stesso ciclo di clock operazioni di scrittura e lettura. Tuttavia, il bilanciamento prestazioni-dimensioni non è stato forse affrontato in maniera adeguata.
Ma passiamo a discutere il funzionamento, piuttosto interessante, della Execution Trace Cache. Abbiamo detto che le istruzioni macchina x86 ricevute dalla CPU, per divenire operative, devono essere decodificate in micro-ops (per Pentium III e Pentium 4) o in macro-ops (nel caso di una Athlon). Ora, sia con Athlon che con il Pentium III nella cache per le istruzioni vengono caricate le istruzioni macchina x86 di una determinata porzione di programma, nella classica maniera in cui operano le cache (richiesta dato dalla cache, eventuale cache miss se il dato non è presente con relativa lettura di un blocco istruzione da memoria). L'Execution Trace Cache, che è pur sempre una cache per le istruzioni, funziona in maniera leggermente differente. Il suo compito, infatti è quello di salvare fino a 12.000 micro-ops già decoficate. Ciò significa che se nelle pipeline entra un'istruzione x86 che risulta essere già presente nella Execution Trace Cache, la fase di decodifica (che occupa i primi cinque stadi nell'architettura del Pentium 4) può essere completamente saltata dal ciclo di esecuzione principale, in quanto le micro-ops sono già nella cache e devono semplicemente essere lette da lì, evitando le latenze dovute a questa fase. Per aiutare ulteriormente questa cache nel suo lavoro, interviene ancora l'algoritmo di branch prediction che salva le micro-ops nell'ordine previsto di esecuzione tagliando eventuali rami che potrebbero non essere mai eseguiti, in modo da ottimizzare ulteriormente le prestazioni. Naturalmente, se la predizione è sbagliata ci potrebbero essere delle penalizzazioni, ma Intel confida molto nell'efficacia del suo algoritmo di branch prediction.
Per l'Execution Trace Cache viene solo dichiarata la capacità in termini di micro-ops (12.000 come già accennato), ma da un confronto tra le dimensioni delle varie zone del die della CPU, Tomshardware ha stimato una capacità nell'ordine dei 92-96 KB. È un dato piuttosto verosimile, e possiamo dire che sono tanti, ma non troppi, se pensiamo che una micro-op può essere più lunga di una singola istruzione x86 e a volte per una singola istruzione sono necessarie più di una micro-op.
Passiamo adesso ad analizzare la cache di secondo livello. Nel Pentium 4 troviamo una cache 2L di 256 KB funzionante alla frequenza del core del processore, denominata Advanced Transfer Cache, evoluzione diretta di quella che troviamo nel Pentium III. Questa cache è 8-way associative (ogni blocco istruzioni è composto da 8 linee di cache consecutive) e usa linee da 128 byte divise in due pezzi da 64 byte (vengono cioè caricati almeno 64 byte in un'unica lettura, cosa che la rende molto efficace per letture burst di grandi quantità di dati, un po' meno se di quei 64 byte quello significativo è solo 1). Come nel Pentium III, la cache 2L del Pentium 4 presenta un'interfaccia interna da 256 bit (32 byte), ma a differenza del suo predecessore essa in grado di trasferire dati ad ogni ciclo di clock (invece che ogni due). Ciò significa che si possono raggiungere dei transfer rate nell'ordine dei 54 GB/s (32 byte * 1 * 1,7 GHz) contro i 16 GB/s del Pentium III da 1 GHz (32 byte * 0,5 * 1 GHz).

Voto None stelle su 5
Voto dei lettori
Il Pentium 4 risulta senza dubbio difficile da giudicare. La versione a 1,7 GHz riesce in qualche maniera, pur rimanendo inferiore alla soluzione a 1,4 GHz di AMD, grazie all'alta frequenza di clock, a sopperire ai limiti, nelle applicazioni che non sono ottimizzate per la sua architettura, creati dalla pipeline a 20 stadi e da certe scelte non particolarmente azzeccate, e si comporta in maniera discreta, pur senza brillare particolarmente (naturalmente stiamo sempre parlando di prestazioni di fascia alta). Nelle applicazioni che sono invece ottimizzate per la sua struttura, riusciamo a vedere degli spunti piuttosto interessanti, soprattutto con software di tipo multimediale e con i giochi (Quake 3 su tutti). Nel futuro, certamente, la situazione migliorerà ulteriormente, perché Intel tutto sommato, pur avendo perso consistenti posizioni, mantiene sempre un certo potere con il peso del suo marchio, ma non potrà forse appianarsi del tutto, perché naturalmente AMD continuerà a sviluppare la sua ottima architettura (e Palomino è già in arrivo...) e a renderla ancora più flessibile D'altra parte diventa determinante anche il discorso prezzo: la piattaforma Pentium 4, benché Intel si stia impegnando ampiamente per renderla più economica (ripetuti tagli ai prezzi, introduzione di chipset con supporto per memorie SDRAM notevolmente più economiche rispetto alle attualmente utilizzate RDRAM), rimane con prezzi ancora superiori rispetto alle soluzioni basate su chip Athlon, e non si può trascurare neanche il fatto che presto l'attuale socket da 423 pin sarà soppiantato da uno con 458 pin, riducendo di molto le possibilità di aggiornamento future. Tutto sommato, insomma, questo microprocessore si configura come una buona soluzione high end, seppure non eccezionale, che al momento presenta ancora qualche problemino di troppo ma che comunque si può considerare abbastanza interessante (soprattutto per i Quaker DOC).