AMD K6-III vs Intel Pentium III

Confronto trai due processori x86, rispettivamente per Socket 7 e Slot 1, concorrenti sul mercato: la prima è basata su 256 Kbytes di memoria cache L2, integrata all'interno del Core del processore e operante alla frequenza di clock, mentre la seconda ha 512 Kbytes di memoria cache L2 operante alla metà della frequenza di clock.
di Paolo Corsini pubblicato il 03 Maggio 1999 nel canale ProcessoriIntelAMD
Introduzione
L'evoluzione del settore dei microprocessori, negli ultimi 2 anni, è stata caratterizzata da un tasso d'innovazione a dir poco repentino; a partire dalla primavera 1997, periodo nel quale sono state introdotte le cpu di sesta generazione (AMD K6 e Intel Pentium II), le frequenze di clock del processori sono via via aumentate, superando recentemente la soglia dei 500 Mhz. Si crede, erroneamente, che la frequenza di clock di un processore sia la determinante delle prestazioni complessive, mentre in realtà quello del clock è solo uno degli aspetti da tenere in considerazione, essendo altrettanto importanti l'architettura utilizzata da una parte, e l'ottimizzazione software dall'altra. A titolo di esempio, due differenti cpu entrambe a 400 Mhz di clock hanno prestazioni molto diverse con talune applicazioni, e pressochè identiche con altre; questo testimonia come il considerare la sola frequenza di clock come parametro di scelta sia la strada più sbagliata per valutare le prestazioni di un processore.
Ma allora quali sono gli elementi chiave per valutare una cpu? Oltre alla frequenza di clock, sono importanti parametri il tipo e il quantitativo di memoria cache installati; questa particolare memoria permette di velocizzare il trasferimento di dati dal processore alla memoria di sistema ed ha un impatto considerevole sulle prestazioni complessive; può essere di due tipi:
cache L1 o di primo livello: è contenuta all'interno del Core del processore e funziona alla frequenza di clock di quest'ultimo, pertanto in una cpu a 400 Mhz di clock essa opererà a 400 Mhz. Il suo quantitativo è in genere abbastanza ridotto: nelle cpu K6-2 e K6-III è pari a 64 Kbyte, mentre nelle cpu Pentium 2, Pentium III e Celeron è di 32 Kbytes. Generalmente la memoria cache L1 è divisa in due blocchi di dimensioni uguali, uno riservato ai dati e l'altro alle istruzioni.
cache L2 o di secondo livello: presente in quantitativo maggiore rispetto alla cache L1 e non divisa in blocchi per dati e istruzioni, può essere integrata all'interno del Core della cpu (come nei Celeron e nei K6-III), oppure esternamente al Core della cpu ma sempre sulla cpu (come nei Pentium 2 e Pentium III), oppure ancora sulla motherboard (come con i K6-2). Il quantitativo è variabile: 128 Kbytes per i Celeron; 256 Kbytes per i K6-III; 512 Kbytes per Pentium 2 e Pentium III; da 512 Kbytes a 2 Mbytes per il K6-2, a seconda del tipo di motherboard impiegata. Anche la frequenza di lavoro è differente da cpu a cpu: pari alla frequenza di clock per Celeron e K6-III, alla metà della frequenza di clock per Pentium 2 e Pentium III e pari alla frequenza di bus (100 Mhz) per le cpu K6-2.
Come vedremo più avanti, la cpu K6-III ha portato alla definizione di un nuovo tipo di cache, la L3 o di terzo livello; quest'ultima altro non è che la cache L2 montata sulle motherboard Socket 7, rinominata in L3 in quanto il K6-III integra la cache L2 all'interno del core della cpu.
![]() |
Si noti come il disabilitare la cache esterna al processore porti ad un notevole calo delle prestazioni complessive (il benchmark utilizzato è lo Ziff-Davis Business Winstone 99). Il K6-III ha un comportamento differente rispetto a K6-2 e Pentium II: essendo la sua cache L2 integrata nel Core della cpu è stato possibile disabilitare solo la cache L3, cioè quella saldata direttamente sulla motherboard; si noti come l'influenza della cache L3 sia marginale, con una diminuzione delle prestazioni di circa il 3,5%. |
![]() |
Passando ad applicazioni che fanno grosso uso dell'unità di calcolo in virgola mobile, come ad esempio 3D Studio Max 2, si nota molto facilmente come il disabilitare la cache L2 abbia un impatto più limitato sulle prestazioni complessive; questo a motivo del fatto che i calcoli in virgola mobile fanno poco utilizzo della cache L2. Si noti nuovamente come il K6-III subisca un impatto sulle prestazioni complessive del tutto trascurabile. |
Un secondo parametro da considerare è l'architettura interna del Core della cpu. Le tipologie di istruzioni che sono eseguite da un processore sono, in via generale, due:
calcoli interi: molto frequenti nelle cosiddette applicazioni Business (word processing, foglio elettronico, produttività personale, ecc...);
calcoli in virgola mobile: largamente utilizzati con applicazioni High-End (o professionali) e nei giochi 3D.
L'architettura scelta permette di ottenere prestazioni superiori rispetto ai concorrenti in una, o entrambe, le tipologie di calcoli eseguibili; non entro volutamente in dettagli tecnici, basti ricordare che il Core delle cpu AMD K6-2 e K6-III ha, a parità di frequenza di clock, prestazioni superiori rispetto a quelli delle cpu Intel Celeron, Pentium 2 e Pentium III nei calcoli interi, mentre la situazione si ribalta nettamente a favore delle cpu Intel con calcoli in virgola mobile. In dettaglio, la cache L2 ha una notevole influenza sulle prestazioni in calcoli interi, mentre pressoché nulla con calcoli in virgola mobile; la particolare architettura delle cpu K6-2, con cache L2 funzionante sempre alla frequenza di bus (100 Mhz) e non legata alla frequenza di clock, fa si che, oltre una certa frequenza di clock, le cpu Intel ottengano prestazioni superiori anche con calcoli interi, questo in quanto con le cpu Intel al crescere della frequenza di clock aumenta la frequenza di lavoro della cache L2, e con essa anche le prestazioni complessive. Questo non accade con la cpu K6-III, che ha cache L2 operante alla frequrenza di clock.
Dopo aver analizzato le caratteristiche generali dei moderni processori, passiamo allo studio delle prestazioni video 3D; ci si può domandare cosa questo abbia a che fare con i processori, e la risposta è che i legami tra video e cpu sono fortissimi. Partiamo con una premessa: nel processo di generazione di una scena 3D (pensiamo ad esempio ad un gioco) intervengono numerosi fattori, sia hardware che software; si è portati a pensare che la parte del leone sia svolta dalla scheda video, ed è vero, ma un ruolo importantissimo è svolto dal processore, al quale si deve il gran numero di calcoli che portano alla definizione della geometria dell'immagine. Ad esempio, se vogliamo visualizzare un cubo, il calcolo della posizione dei vertici della figura verrà svolto dal processore e non dalla scheda video; più la scena è complessa, pertanto più numerosi sono i vertici da calcolare, maggiore sarà il quantitativo di operazioni che il processore dovrà eseguire. Tali tipi di calcoli sono in virgola mobile, pertanto è messa particolarmente sotto stress l'FPU (Floating Point Unit, unità di calcolo in virgola mobile) del processore. Alla luce del fatto che la sempre maggiore ricerca di realismo e dettaglio nella riproduzione di scene 3D porta alla creazione di processori video più complessi e performanti, si avrà una sempre maggiori richiesta di performance in virgola mobile dal parte delle cpu, così da poter creare scene sempre più complesse (pertanto dotate di un gran numero di poligoni) e realistiche.
Intel e AMD, con i loro set di istruzioni proprietarie incorporate all'interno delle cpu Pentium III e K6-2 e K6-III, mirano ad aumentare le performances del processore nell'esecuzione di quelle operazioni che servono per generare la geometria di una scena 3D. Queste istruzioni, chiamate rispettivamente SSE e 3DNow!, sono tra di loro incompatibili e devono essere attivate dal software per poter entrare in funzione; all'atto pratico, sono un valido strumento per superare i limiti prestazionali dell'FPU dei processori, così da permettere al chip video di gestire un elevato numero di poligoni e di generare scene sempre più complesse.