View Single Post
Old 23-12-2005, 09:45   #4
MaxArt
Senior Member
 
L'Avatar di MaxArt
 
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6611
Sezione 3 - le CPU più comuni

3.1 Le CPU AMD

La prima CPU AMD vide la luce nel 1975, e fu un clone dell'Intel 8080. La AMD divenne nel 1982 ufficialmente per 20 anni una second-source di processori per Intel, aiutando la compagnia di Santa Clara in termini produttivi con l'immissione sul mercato di cloni di processori 80286, 80386 e 80486. Di fatto, AMD spesso non si limitò all'opera di copiatura, ma introdusse spesso delle migliorie di vario genere che, unitamente alla vendita a prezzi molto più aggressivi, scatenarono il risentimento di Intel, che nel 1991 citò AMD alla Corte Suprema.

La controversia si risolse nel 1995, quando un mutuo accordo tra Intel e AMD (i cui termini precise sono tenuti segreti) permise a quest'ultima di continuare a sfruttare il microcodice x86 creato da Intel. Nel frattempo, AMD aveva cessato di essere una second-source, e dovette progettarsi da zero i processori con cui far fronte ai Pentium che Intel introdusse nel 1993.



3.1.1 Le varie CPU AMD

Dal 1995, come in molti sanno, tutti i nomi in codice delle varie famiglie di processori AMD sono contraddistinte dalla lettera K, ma quello che non tutti conoscono è il significato che AMD ha attribuito a quella lettera.
Originariamente stava per Kriptonite, il minerale che avrebbe potuto annientare i poteri di Superman, successivamente il nome venne mutato in Kripton-5 o K5, per evitare noie giudiziarie con la D.C. Comics.
AMD con questo stratagemma voleva presentare al mondo i nuovi processori (i primi ad essere sviluppati in proprio “partendo da zero”) come se fossero il corrispondente della Kriptonite per Superman, ove in questo caso la parte di Superman l'avrebbe interpretata il gigante Intel.

Si può dire che la storia dei processori totalmente AMD parta dal 1995, quindi, quando venne introdotto sul mercato il K5.



3.1.1.1 AMD K5/K6/K6-2/K6-3

Il lavori al progetto K5 iniziarono nel 1992 nei laboratori di Austin, il team di sviluppo era inizialmente composto da due sole persone, alle quali se ne aggiunse una terza in seguito. Per la cronaca passarono diversi mesi prima che il numero di ingegneri impegnati nel progetto superasse quello degli avvocati presenti nelle aule.

Quello che ne uscì fuori dopo due anni di lavoro fu un qualcosa di veramente nuovo e creativo, un qualcosa che AMD presentò come la prima famiglia di CPU x86 compatibile completamente libera da tutte le proprietà intellettuali di Intel, microcodice compreso (nonostante Intel avesse comunque intentato una causa).

Il processore AMD K5 (prima noto come 5x86 e 5k86) venne introdotto con grande ritardo rispetto ai progetti iniziali (soprattutto per motivi di clock), nel marzo 1996, ma AMD del resto deteneva ancora consistenti quote nel mercato 486. Il K5 era un progetto ambizioso, un processore molto potente sul calcolo intero ma debole su quello in virgola mobile, molto più lento dell'Intel Pentium ma meglio del Cyrix 6x86 (che comunque raggiungeva frequenze maggiori). In breve questi sono i dettagli:

- Quinta generazione di processori x86 (compatibile)
- Architettura superscalare a 4 vie
- Pipeline: 5 stadi
- 5 unità di esecuzione: ALU, ALU/Shifter, FPU, Salto, Load/Store
- Frequenza: da 75 MHz a 133 MHz (previste versioni a 150 MHz)
- Tensione core: 3.52 V
- Transistor: 4.1 milioni
- Cache L1: 24 KB (8 KB dati + 16 KB istruzioni)
- FSB: 50 MHz, 60 MHz, 66 MHz
- Processo produttivo: 0.5 e 0.35 micron con 3 strati di metallizzazione

Il K5 era pin-to-pin compatibile con il pentium P54C di Intel, per cui montava senza problemi sulle schede madri socket 5 e socket 7.

Il K6 sembra, dal nome, l'evoluzione del K5 ma così in realtà non fu. Nell'autunno 1995 AMD acquisì la NexGen ed il suo avveniristico progetto Nx586, che portò alla realizzazione di un processore CISC con un meccanismo di traduzione delle istruzioni in RISC. Tale tecnica viene usata ormai in tutti i processori x86 sul mercato.

Il processore AMD K6 venne introdotto nel marzo 1997, e rimase ancora compatibile con il socket 7, al pari dei Pentium di Intel. In più, acquisì le istruzioni MMX introdotte da Intel proprio col Pentium. AMD decise di rinunciare a nominare i propri processori col Performance Rating (PR), per identificarli nuovamente con la propria frequenza. Questi i dettagli dei K6:

- Sesta generazione di processori x86 (compatibile)
- Architettura superscalare a 4 vie
- Pipeline: 5/6 stadi
- 7 unità di esecuzione: ALU, ALU/Shifter, FPU, MMX, Branch, Load, Store
- Frequenza: da 166 MHz a 300 MHz
- Tensione core: 2.2 V, 2.9 V, 3.3 V
- Transistor: 8.8 milioni
- Cache L1: 64 KB (32 KB dati + 32 KB istruzioni)
- FSB: 66 MHz
- Processo produttivo: 0.35 e 0.25 micron

Evoluzione diretta del K6 fu invece il K6-2, introdotto nel maggio 1998. Fu un processore ancora una volta compatibile col socket 7, che in seguito venne modificato per tenere le nuove frequenze di bus a 100 MHz (e venne chiamato Super Socket 7). Dopo Intel con le MMX, anche AMD introdusse delle istruzioni SIMD proprietarie, le 3DNow.

- Pipeline: 8 stadi
- 7 unità di esecuzione: ALU, ALU/Shifter, FPU, MMX/3DNow, Branch, Load, Store
- Frequenza: da 200 MHz a 533 MHz
- Tensione core: 2.4 V, 2.2 V, 2.0 V
- Transistor: 9.3 milioni
- Cache L1: 64 KB (32 KB dati + 32 KB istruzioni)
- FSB: 66 MHz, 100 MHz (talvolta 95 e 97 MHz)
- Processo produttivo: 0.25 micron

Il K6-III fu l'ultimo processore di sesta generazione di AMD, e l'ultimo ad utilizzare il socket 7 seppur nella versione a 100 MHz di bus. Venne introdotta nel die la cache L2 full-speed da 256 KB, ed espanso il set di istruzioni 3DNow. Il primo K6-III fu immesso nel mercato nel febbraio 1999. Dal K6-III più che dal K6-2 derivò il K6-2+ per sistemi notebook, con 128 KB di cache L2 integrata nel die.

- Pipeline: 8 stadi
- 7 unità di esecuzione: ALU, ALU/Shifter, FPU, MMX/3DNow, Branch, Load, Store
- Frequenza: da 400 MHz a 575 MHz
- Tensione core: 2.4 V, 2.2 V, 2.0 V
- Transistor: 21.4 milioni
- Cache L1: 64 KB (32 KB dati + 32 KB istruzioni)
- Cache L2: 256 KB
- FSB: 100 MHz
- Processo produttivo: 0.25 micron

I processori K6-III e derivati vennero prodotti sino a tutto il 2000. C'è da dire che sino all'introduzione del K7 Athlon AMD ha riscosso un discreto successo nel mercato value, con processori performanti ed a prezzi abbordabili, posizionandosi a metà strada tra i Pentium ed i Celeron, costando più o meno quanto questi ultimi.

In tutti questi anni, i processori AMD hanno sempre mostrato grande potenza di calcolo sugli interi (maggiore rispetto ad un pari frequenza di fascia alta di Intel) ma debole sul calcolo a virgola mobile.



3.1.1.2 AMD Athlon

La grande evoluzione per AMD ci fu nel giugno 1999 con il lancio del K7 "Athlon", che a differenza dei progetti precedenti andò prepotentemente ad affermarsi nella fascia alta del mercato, competendo direttamente con i Pentium III di Intel.

Dopo tre anni rispetto ad Intel anche AMD abbandona il socket 7 e si converte ad un aggancio a slot, chiamato slot A: tuttavia, è una scelta che verrà presto abbandonata da entrambi i produttori.

Con l'Athlon, cambia drasticamente l'architettura dei sistemi Athlon. Si fa uso del bus EV6, progetto derivato del team di sviluppo Alpha che tanto ha contribuito al design dell'Athlon. Il bus diventa a 200 MHz double pumped. La cache L2 raddoppia in dimensioni e torna esterna al processore, operante a 1/3, 2/5 o 1/2 della frequenza del processore (a seconda del modello). Anche la cache L1 raddoppia, sia per i dati che per le istruzioni (a tutt'oggi i processori AMD hanno un tale quantitativo di cache L1).

Il processo produttivo, inizialmente a 0.25 micron con il core Argon, scenderà a 0.18 micron con i core Pluto e Orion. Grandi miglioramenti nella FPU, divenuta più performante di quella dei processori Intel (che però in certi casi si avvalgono del supporto delle istruzioni SSE, molto più sfruttate nel mondo software). Questi primi Athlon furono ottimi processori da overclock, e grazie a questa capacità di salire in frequenza nell'aprile 2000 AMD raggiunse per prima il traguardo di un gigahertz nel mondo delle CPU. Da notare la particolarità delle operazioni di overclock, che non potevano ancora dipendere molto dalla variazione del bus quanto dal moltiplicatore, che poteva essere variato tramite l'uso di un'apposita schedina da applicare alla basetta del processore.

Ulteriore evoluzione ci fu in seguito con il core Thunderbird. Pochi esemplari furono prodotti su slot A, ma contemporaneamente venne introdotto di nuovo un aggancio su zoccolo (il socket A), come Intel aveva fatto già da qualche tempo col socket FC-PGA 370. La cache L2 viene dimezzata ma torna ad essere full-speed integrata nel die del processore. Sparisce anche la placchetta protettiva dal package della CPU.

In seguito il bus verrà innalzato a 266 MHz (133 MHz double pumped) con il modello Athlon 'C', mettendo definitivamente in crisi la concorrenza Intel.

- Core: Argon (K7); Pluto, Orion (K75)
- Pipeline: 10 stadi interi, 15 stadi virgola mobile
- Frequenza: 500-700 MHz (K7), 750-1000 (K75)
- Tensione core: 1.6 V (K7), 1.6-1.8 V (K75)
- Transistor: 22 milioni
- Cache L1: 128 KB (64 KB dati + 64 KB istruzioni)
- Cache L2: 512 KB
- FSB: 200 MHz (100 MHz double pumped)
- Processo produttivo: 0.25 micron (K7), 0.18 micron (K75)

- Core: Thunderbird
- Pipeline: 10 stadi interi, 15 stadi virgola mobile
- Frequenza: 650-1000 MHz (slot A), 650-1400 MHz (socket A)
- Tensione core: 1.7-1.75 V
- Transistor: 37 milioni
- Cache L1: 128 KB (64 KB dati + 64 KB istruzioni)
- Cache L2: 256 KB (full speed)
- FSB: 200-266 MHz (100-133 MHz double pumped)
- Processo produttivo: 0.18 micron



3.1.1.3 AMD Duron

3.1.1.4 AMD Athlon XP/MP/XP-M

3.1.1.5 AMD Athlon 64/64 FX

3.1.1.6 AMD Sempron

3.1.1.7 AMD Opteron

3.1.1.8 AMD Turion 64

3.1.1.9 AMD Athlon 64 X2

3.1.2 Peculiarità delle CPU AMD

3.1.2.1 Le istruzioni 3DNow

3.1.2.2 La tecnologia PowerNow!

3.1.2.3 Le estensioni AMD64

3.1.2.4 La tecnologia Cool'n'Quiet

3.1.2.5 Il No-Execute bit


3.1.2.6 Il link Hypertransport

Si tratta di una tecnologia di collegamento punto a punto. Il FSB, usato sulle CPU Intel e su quelle AMD di generazione precedenti al K8, porta qualche scompenso quando si ha a che fare con grandi quantitativi di dati da trasferire (vedasi domanda 1.14)

Mentre Intel ha continuato a spingere sull'FSB, AMD ha deciso di tagliare i ponti con il passato in modo da eliminare alla radice i problemi di crescita di prestazioni causati dal FSB.

In primo luogo le CPU AMD K8 (Athlon64, Sempron ed Opteron) hanno un interfaccia diretta con i moduli di RAM (collegamento diretta tra CPU e RAM, nessun FSB di mezzo): in questo modo una lettura/scrittura con la RAM è "lenta" lo strettamente necessario e non ci sono né il FSB e neppure il northbridge ad aggiungere altri ritardi tra CPU e RAM.

Per connettere *tutto il resto* invece si usa un altro tipo di collegamento: il bus HyperTransport, che in realta è un collegamento punto a punto, ovvero tra due dispositivi e basta. Se si vogliono collegare piu cose bisogna usare piu collegamenti HT in parallelo oppure "a catena".

Il vantaggio del bus HT e' che è un collegamento *seriale* i dati viaggiano a pacchetti su linee differenziali (due collegamenti per linea per trasmettere un singolo bit, il vantaggio e' che usando un segnale differenziale si possono usare voltaggi piu bassi e frequenze piu elevate su distanze piu lunghe).

Ma a differenza di altri link seriali, nel bus HT e' previsto un metodo standard di "disassemblaggio/riassemblaggio" dei pacchetti che permette di usare piu linee seriali "mettendole insieme". Un blocco di dati che viaggia su un bus HT ad N bit (N linee seriali differenziali) viene spezzettato in N pacchetti piu piccoli inviati uno per linea (e viaggiando "fuori sincronia sulle linee") che poi all'altro capo vengono "riassemblati" nel blocco originale (ci pensa l'hardware a tener conto delle differenze di sincronia in arrivo). In questo modo un link HT ad N bit puo avere linee di lunghezza "elevata" e "non omogenea" (in lunghezza) e ruscire pure lavorare a frequenze impossibili per un FSB con linee simili.

Oltre a questo, lo stesso meccanismo funziona sia con bus HT a 2, che a 4, che ad 8, che a 16 bit (ci pensa sempre l'hardware a spezzettare/riassemblare) quindi se per certi tipi di applicazioni non serve molta banda e si vogliono risparmiare delle linee, si possono usare connessioni "meno ampie" senza dover fare modifiche al software.

Come se non bastasse, le linee del bus HT sono unidirezionali ovvero se c'e' un bus HT ad N bit tra il chip A ed il chip B ci sono N linee "orientate" da A a B (A scrive e B legge su esse) ed altre N linee "orientate" da B ad A (B scrive ed A legge da esse). Questo significa che un bus HT ad N bit e' *full duplex* (in ogni istante puo esserci un pacchetto che viaggia in un verso ed uno che viaggia in verso opposto).

Visto che le periferiche su bus AGP, PCI, ecc, ecc. sono *tante* ma sono pure piu *lente* della CPU, il fatto che il bus HT sia full duplex torna molto utile (mentre scrivi qualcosa ad una periferiche, puoi ricevere la risposta da un altra tenendole entrambe al lavoro e fornendo alla CPU molta piu roba da fare invece di "costringerla" ad attendere una risposta da roba piu lenta).

Un altro vantaggio del bus HT e' che puoi avere fino a due pacchetti in transito (uno in un senso e l'altro in quello opposto) *per ogni collegamento*. Quindi se si hanno tre dispositivi A, B, C collegati a catena con bus HT, si possono avere sino a 4 pacchetti in transito. Se invece si utilizza un collegamento FSB tra A e B e poi link dedicato tra B e C, hai al massimo 2 pacchetti in transito.

Questo significa che usando l'HT le linee vengono utilizzate in modo molto piu efficiente, con meno tempi morti e con più elementi "che lavorano" invece di girare i pollici in attesa che arrivi qualcosa.

Oltre a questo i link HT possono essere usati per collegare tra loro le CPU su sistemi multiprocessore o multicore (senza bisogno di chip "specializzati" o di dover condividere il FSB come fanno le attuali CPU Intel).

La tecnologia HyperTransport è stata sviluppata da un apposito consorzio, alla cui presidenza c'è stato, dalla fondazione sino al 2004, il "nostro" Gabriele Sartori, un tempo attivo anche su it.comp.hardware.cpu.
Lorenzo Micheletto



3.1.2.7 Il controller di memoria integrato

3.2 Le CPU Intel

3.2.1 Le varie CPU Intel

3.2.2.1 Intel Pentium II/Celeron

3.2.2.2 Intel Pentium III

3.2.2.3 Intel Xeon

3.2.2.4 Intel Pentium 4/4M

3.2.2.5 Intel Celeron II

3.2.2.6 Intel Pentium M/Celeron M

3.2.2.7 Intel Pentium 4 Extreme Edition

3.2.2.8 Intel Xeon DP/MP

3.2.2.9 Intel Pentium D

3.2.2 Peculiarità delle CPU Intel

3.2.2.1 Le istruzioni SSE/SSE2/SSE3

3.2.2.2 La tecnologia Speedstep

3.2.2.3 L'architettura Netburst

3.2.2.4 La tecnologia Hyperthreading (HT)

3.2.2.5 Il bus quad-pumped

3.2.2.6 La tecnologia EIST

3.2.2.7 Le estensioni EM64T

3.3 Le CPU VIA

3.3.1 VIA Eden

3.3.2 VIA C3 Nehemiah

3.3.3 VIA C7M

3.4 Perché il mio Athlon xxxx+ non va a xxxx MHz?

3.5 Cosa indica la sigla che segue il nome del mio Pentium?

3.6 Le CPU per sistemi embedded

3.6.1 AMD Geode GX/NX

3.6.2 Intel StrongARM/XScale

3.7 Come riconosco la mia CPU?

3.8 Le principali CPU per workstation

3.8.1 IBM PowerPC 620

3.8.2 Intel Itanium

3.8.4 Sun UltraSPARC

3.9 CPU uscite dal mercato ma degne di nota

3.9.1 IBM PowerPC G4/G5

3.9.2 Transmeta Crusoe/Efficeon
__________________
HWU Rugby Group :'( - FAQ Processori - Aurea Sectio - CogitoWeb: idee varie sviluppando nel web

Ultima modifica di MaxArt : 03-02-2006 alle 12:12.
MaxArt è offline   Rispondi citando il messaggio o parte di esso