Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno 1.4a: Hardware (Processore) Informatica Generale (Corso di Studio in Scienze della Comunicazione) Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno HARDWARE (PROCESSORE) Bibliografia Curtin, Foley, Sen, Morin “Informatica di base”, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 1.4a Audiovisivi e Società della conoscenza) Cooperazione di Agenti Informatici (Corso di Studio Specialistico di Informatica – Università di Roma II) 11 mag 2010 Web Data Design (Corso di Studio Magistrale in Comunicazione, 2 L’unità centrale di elaborazione (CPU) La CPU, o unità centrale di elaborazione o Processore, è un circuito integrato (Chip), costituito da una piccola piastra di silicio Sulla superficie della CPU sono presenti milioni di piccoli interruttori elettronici miniaturizzati, di tipo acceso/spento, i transistor, e altri componenti elettronici Quote di mercato delle CPU 3 4 11 mag 2010 Fonte: IDC Group Aprile 2010 HARDWARE (PROCESSORE) L’elaborazione avviene in accordo a sequenze di istruzioni (istruzioni macchina), scritte in un linguaggio di programmazione speciale, chiamato linguaggio macchina Una CPU è composta da due parti che implementano le due funzioni da essa svolte: Unità Aritmetico/Logica (Arithmetic/Logic Unit o ALU) esegue tutte le istruzioni in linguaggio macchina (che sono di tipo aritmetico, logico e di confronto) presenti in un programma Unità di controllo (Control Unit) 5 CPU server e workstation: Intel ha una quota del 90,2% AMD ha quota del 9,8% Compatibilità 1.4a CPU per notebook e netbook: Intel ha una quota pari all'87,8% AMD ha una quota del 12,1% VIA Technologies ha una quota dello 0,1% HARDWARE (PROCESSORE) Sovrintende alla corretta esecuzione dei programmi e coordina il lavoro degli altri componenti hardware e le attività dell’intero computer Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno CPU desktop: Intel ha una quota del 71,7% AMD ha una quota del 28% VIA Technologies una quota dello 0,3% L’unità centrale di elaborazione (CPU) 1.4a 11 mag 2010 Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno 11 mag 2010 1.4a 11 mag 2010 1.4a Il primo processore a larga diffusione, l’Intel 4004 (1971), conteneva circa 2.300 transistor Il primo processore montato sul primo PC di larga diffusione, i8088 conteneva circa 29.000 transistor Il Core 2 (2006) ne contiene oltre 291.000.000. HARDWARE (PROCESSORE) Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno HARDWARE (PROCESSORE) Cosa accade ai programmi quando si cambia il processore del computer (perché, magari, si sostituisce il computer)? La compatibilità è garantita, di norma, verso l’alto Un programma che gira su un processore di un produttore funziona sui modelli più recenti prodotti dalla stessa azienda Il viceversa non è sempre vero Non è garantita la compatibilità tra processori di aziende diverse, a meno che essa non sia esplicitamente dichiarata Ad esempio c’è un ottimo livello di compatibilità tra processori AMD e Intel Non c’è praticamente compatibilità tra processori Intel e processori Motorola 6 1 processori “specializzati” nel trattamento di particolari tipologie di dati (ad esempio immagini sul monitor o suoni). Un Coprocessore è un processore “dedicato” che, sotto il controllo della CPU e del Sistema Operativo svolge elaborazioni specialistiche che richiederebbero alla CPU un notevole dispendio di tempo E’ possibile, inoltre, dotare un computer di più processori che “collaborano” all’esecuzione di un programma. Ad esempio possono essere disposti più processori come in una catena di montaggio Oppure più processori possono lavorare contemporaneamente su parti diverse di uno stesso dato (nelle previsioni del tempo, ad esempio, ogni processore può dedicarsi ad una specifica zona geografica) 1.4a 11 mag 2010 Processore sulla scheda video Processore sulla scheda audio. 11 mag 2010 Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno HARDWARE (PROCESSORE) Multiprocessori Nei moderni computer la CPU è “coadiuvata” da altri 1.4a HARDWARE (PROCESSORE) Coprocessori 7 8 Microprocessori incorporati I microprocessori si trovano anche in Automobili Telefoni Termostati Schede telefoniche Carte di credito HARDWARE (PROCESSORE) Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno HARDWARE (PROCESSORE) Struttura e componenti della CPU Unità di controllo (Control Unit). ALU (Unità Aritmetico-Logica) Clock Registri Unità di controllo 9 10 Memoria Centrale o Periferiche Registro Registro HARDWARE (PROCESSORE) ALU L’unità logico-aritmetica (ALU – Arithmetic Logic Unit) esegue le istruzioni in linguaggio macchina corrispondenti alle operazioni matematiche, logiche e di confronto 1.4a 11 mag 2010 11 mag 2010 11 12 Legge i dati contenuti all'interno dei registri generali, esegue le operazioni e memorizza il risultato in uno dei registri generali Vi sono circuiti in grado di 1.4a ALU Registro HARDWARE (PROCESSORE) Unità di controllo (Control Unit). Sovrintende alla corretta esecuzione dei programmi e coordina il lavoro degli altri componenti hardware Clock BUS Unità di Controllo Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno 11 mag 2010 1.4a 11 mag 2010 1.4a eseguire la somma di due numeri binari contenuti in due registri e di depositare il risultato in un registro eseguire il confronto tra due numeri Ecc… 2 HARDWARE (PROCESSORE) Clock Dimensione della parola La CPU ha un orologio interno, detto clock, che emette con regolarità un determinato numero di impulsi ogni secondo, come una specie di metronomo che scandisce il tempo di lavoro della CPU La velocità del clock 1.4a indica il numero di “impulsi” (cicli) che il clock emette in un secondo. La velocità del clock è quel numero che viene normalmente associato ad ogni processore (es.: processore da 2 Giga) Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno HARDWARE (PROCESSORE) 1.4a 1 hertz (Hz) = 1 ciclo al secondo 1 megahertz (MHz) = 1 milione di cicli al secondo 1 gigahertz (GHz) = 1 miliardo di cicli al secondo 13 Corrisponde a quanti bit possono essere trasferiti simultaneamente tra processore e memoria. Corrisponde alla dimensione della singola cella di memoria RAM Corrisponde alla dimensione dei registri della CPU. Inizialmente la dimensione della parola era di 8 bit, cioè di 1 byte. Da allora si è cominciato a misurare la dimensione della memoria in byte. Attualmente la dimensione di parola varia da 32 a 64 bits, in base 11 mag 2010 11 mag 2010 La velocità del clock si misura in Hertz. E’ il numero di bit che un processore tratta simultaneamente. al tipo di processore e di architettura hardware. 14 Ogni CPU è in grado di eseguire solo poche istruzioni elementari quali: 1.4a 11 mag 2010 Somma di due numeri (già la somma di tre numeri viene effettuata tramite due somme elementari) Confronto tra due numeri con individuazione del fatto che ci sia o meno differenza (non tutti i processori sanno distinguere in modo immediato, invece, quale dei due precede l’altro) Spostamento dei bit all’interno di una parola di qualche posizione a destra o a sinistra. poche altre ancora … Istruzioni del Processore Inoltre, un’istruzione del processore è generalmente composta da più operazioni elementari che accedono in momenti successivi alle risorse del computer Quasi mai la singola istruzione del processore è eseguita in un solo ciclo di clock. Ad esempio, per effettuare la somma di due numeri 1.4a Bisogna leggere il primo addendo Bisogna leggere il secondo addendo Bisogna eseguire la somma Bisogna memorizzare la somma E potrebbe darsi che alcune di queste mini-operazioni richieda più cicli di clock per essere completata. Ogni “parte” di un’istruzione viene eseguita in corrispondenza ad un impulso di clock 16 HARDWARE (PROCESSORE) HARDWARE (PROCESSORE) Istruzioni del processore CISC e RISC Le istruzioni del processore sono il suo VOCABOLARIO: quanto più esso è povero tante più parole saranno necessarie per descrivere un concetto, ma tanto più esse saranno “corte” e quindi veloci da eseguire, in quanto richiedono pochi impulsi di clock per essere completate. La potenza di elaborazione di un processore è data dal numero di CISC = Complex Instruction Set Chip (300-400) RISC = Reduced Instruction Set Chip (100-200) Un processore CISC rispetto ad un processore RISC presenta molte più istruzioni che vengono eseguite tramite più operazioni elementari 1.4a 1.4a 11 mag 2010 istruzioni eseguite in un secondo (MIPS – milioni di istruzioni al secondo, MFLOPS – milioni di istruzioni in virgola mobile al secondo) 11 mag 2010 Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno 15 Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno codificato utilizzando un linguaggio di programmazione 11 mag 2010 Istruzioni del Processore La CPU esegue istruzioni che fanno parte di un programma, HARDWARE (PROCESSORE) Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno HARDWARE (PROCESSORE) 17 18 che quindi richiedono più cicli di clock per essere completate E che quindi sono più lente delle corrispondenti operazioni RISC D’altro canto, le istruzioni di un processore CISC che non sono presenti in un processore RISC vengono da questo simulate tramite più istruzioni ciò comporta tempi maggiori nei processori RISC, in media, ma solo per tali istruzioni da simulare, rispetto alle corrispondenti operazioni CISC 3 HARDWARE (PROCESSORE) Benchmark I processori RISC sono mediamente più veloci dei CISC su quasi tutte le applicazioni. I processori RISC non sono adatti per elaborazioni “complesse”, ad esempio quelle sui dati multimediali Attualmente la differenza tra CISC e RISC si sta riducendo Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno HARDWARE (PROCESSORE) CISC e RISC Batterie di test usate per confrontare le velocità dei computer. Non sono mai valori assoluti. Ma sono rapportati ad un insieme di programmi (che compongono tali batterie). Un computer può risultare più veloce di un altro relativamente ad un programma ma meno veloce relativamente ad un altro. Due grandi tipologie di programmi: CPU-consuming (usano molto la CPU). E tra queste: 1.4a 1.4a 11 mag 2010 11 mag 2010 19 20 Il più grosso incremento prestazionale può essere visto nella 1.4a 1.4a 11 mag 2010 codifica DivX (MPEG 4): la codifica di una breve scena impiega circa due ore con un Pentium 233 MMX, mentre un Pentium 4 impiega meno di due minuti. Praticamente un processore del 2005 è 65 volte più veloce del processore più veloce del 1997. Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno Confronto CPU 1997 - 2005 Pentium 233 MMX del 1997 Pentium 4 La velocità di clock è aumentata di circa 40 volte - dai 100 MHz del 1995 ai 3800 MHz del 2005 Integer-computing (calcoli su numeri interi o su pochi numeri) Floating-point computing (lavorano su numeri reali e molto grossi) I/O-consuming (usano molto le periferiche di I/O). HARDWARE (PROCESSORE) 11 mag 2010 Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università di Salerno HARDWARE (PROCESSORE) 21 22 Confronto CPU 1995 – 2005 Un altro esempio che possiamo riportare riguarda la codifica in MP3. Nel 1995, un Pentium 100 necessitava 77 minuti per 17 minuti di sequenza audio, mentre un moderno Athlon 64 FX-55 fa lo stesso lavoro in un minuto e mezzo, praticamente il processore del 2005 è 51 volte più veloce di quello di 11 anni prima. Nel 1994 un Pentium 100 era costituito da 3.3 milioni di transistor, mentre il Pentium 4 Extreme Edition (2005), conta 178 milioni di transistor. Circa 55 transistor sono ora presenti dove 11 anni prima ne era presente solo uno. 4