Informatica per la comunicazione" - lezione 3 Ora entriamo dentro il computer per studiarne i componenti principali e le loro funzionalità." Hardware Componenti di un computer" In questo contesto non intendiamo “computer” nell’accezione originale di persona che calcola di cui vogliamo astrarre le operazioni principali…! …ma proprio come calcolatore dei nostri giorni.! Il componente più importante è la CPU (Central Processing Unit), il processore in italiano. Nella metafora della persona che fa di conto, la CPU corrisponde al cervello, perché è la parte del computer che esegue le operazioni.! CPU" La CPU è un circuito elettronico costituito da un notevole numero di transistor. Ogni transistor, per come è costruito, reagisce a stimoli elettrici in ingresso con una specifica tensione elettrica in uscita (Vout in figura). Quando diciamo che la CPU esegue delle operazioni, intendiamo dire che le arrivano segnali elettrici in ingresso che rappresentano i dati e indicano l’operazione da eseguire.! I transistor della CPU reagiscono agli stimoli e mandano in uscita altri segnali elettrici, che rappresentano il risultato delle operazioni eseguite.! I transistor in una CPU sono molto numerosi (oggi arrivano ai 2 miliardi per processore), e hanno continuato a crescere di numero da quando le prime CPU sono state costruite. L’andamento è curiosamente costante, e prevede un raddoppio ogni anno e mezzo. Il primo ad accorgersi di questa tendenza è stato Gordon Moore, co-fondatore di Intel, una delle più grandi società prodruttrici di CPU, che ha quindi dato il nome a questo fenomeno, noto come “legge di Moore”.! Gordon E. Moore" 3" La CPU in realtà non è un blocco unitario, ma possiamo distinguere due parti in base alla loro funzione. La ALU (Arithmentic-Logical Unit, o unità aritmetico-logica) esegue le operazioni aritmetiche e logiche, appunto. ! +" 8" 5" ALU" stampa su schermo" La CU (Control Unit, o unità di controllo) è invece quella parte che comanda il trasferimento di informazione da una parte all’altra del computer. Di fatto, tutto ciò che avviene nel computer avviene perché dei segnali elettrici sono stati emessi dalla CU: anche l’ingresso di dati nella ALU, per esempio, è comandato dalla CU che esegue le istruzioni scritte nei programmi dati al computer.! “ciao”" CU" Ma da dove provengono i dati e le istruzioni che vengono elaborati dalla CPU?! 3" stampa" +" 5" “ciao”" ?" Riprendiamo la metafora della persona che fa di conto. I dati di un problema sono scritti sul suo quaderno.! Presentiamo il secondo componente del computer, che corrisponde al quaderno da cui chi fa di conto prende i dati, e su cui annota i passaggi intermedi e i risultati finali. Questo componente si chiama RAM (Random Access Memory), o memoria centrale in italiano.! RAM" Anche la RAM è costituita da circuiti elettronici con numerosi transistor. La configurazione appare più complessa perché lo scopo della RAM non è di rispondere a degli stimoli elettrici inviando segnali in uscita, ma di conservare al suo interno l’informazione che le viene inviata. Realizzare una memoria richiede una composizione di transistor più complessa.! Il nome in inglese della RAM vuole sottolineare la caratteristica del dispositivo di memoria che permette l’accesso alle informazioni in esso contenuti in qualunque posizione. Si può scegliere un punto di accesso casuale (random access), e la RAM è in grado di fornire il dato presente in quel punto. Il nome italiano, invece, sottolinea il ruolo centrale svolto dalla RAM all’interno del calcolatore: la RAM lavora in strettissimo contatto con la CPU.! operazioni, operandi " risultati" Dalla RAM provengono i dati e le operazioni che la CPU deve eseguire su di loro. ! I risultati ottenuti in uscita dalla CPU vengono a loro volta memorizzati sulla RAM.! 8" Vediamo ora le altre componenti che partecipano alle operazioni del computer: chiaramente con solo la CPU e la RAM non arriviamo a visualizzare il risultato di un’operazione sullo schermo.! 3" +" 5" Abbiamo detto che i dati e le operazioni da eseguire sono memorizzate nella RAM.! 3" +" 5" Dalla RAM, vengono trasferiti alla CPU, per ordine della CPU stessa (o meglio, della CU) che preleva istruzioni da eseguire dalla RAM in continuazione, dall’accesione del computer al suo spegnimento.! 8" Ottenuto il risultato in uscita dalla ALU, esso viene mandato alla RAM…! 8" …dove viene memorizzato.! stampa su schermo" 8" La CPU continua a prelevare istruzioni dalla RAM e caso vuole che la prossima comandi una stampa su schermo del risultato dell’operazione fatta in precedenza.! 8" La CU nella CPU recepisce il comando, e invia appositi segnali per far eseguire il trasferimento del risultato dalla RAM verso lo schermo.! Scheda grafica" 8" I segnali della CU fanno sì che il dato venga trasferito dalla RAM al componente che gestisce i segnali da inviare allo schermo: la scheda grafica (o graphic card in inglese)…! * 8" …e dalla scheda grafica allo schermo. Quest’ultimo trasferimento è più complesso degli altri perché dalla codifica digitale dell’informazione bisogna passare alla versione analogica adatta all’essere umano di fronte allo schermo: non più segnali elettrici, bensì onde luminose che rappresentano un segno.! La scheda grafica mostra di avere una ventola. In realtà, anche la CPU è sempre accompagnata da una ventola, che si accende non appena il lavorio dei calcoli alza la temperatura dei circuiti facendola avvicinare a una soglia d’allerta. Senza ventilazione, ogni processore fonderebbe a causa della sua stessa attività (spostare elettroni da una parte all’altra produce calore). Di fatto, la scheda grafica ha un suo processore, la GPU (Graphical Processing Unit), a cui la CPU centrale delega l’esecuzione di istruzioni legate alla visualizzazione su schermo. Per la visualizzazione di un semplice ‘8’ la CPU se la cava tranquillamente, ma nel caso di applicazioni grafiche più pesanti come i giochi elettronici, la CPU si appoggia alla GPU per potersi dedicare ad altro. ! GPU" E’ un po’ come se la mano del calcolatore umano avesse un piccolo cervello locale che la guida nella scrittura, senza impegnare il cervello principale. ! * C’è un altro motivo per porre un asterisco sul trasferimento di informazione dalla scheda graficha allo schermo.! Questo è il primo trasferimento che esce dai confini della scatola che racchiude i componenti interni del computer.! Periferica" I componenti esterni del computer si chiamano periferiche. Lo schermo è, appunto, una periferica del computer.! Periferiche di input" Le periferiche di input sono quelle che permettono il flusso di informazioni dall’esterno verso l’interno del computer.! Periferiche di output" Le periferiche di output, viceversa, sono quelle che permettono il flusso di informazioni dall’interno verso l’esterno del computer.! Avete notato che il Wii controller era in entrambi i gruppi di periferiche? Questo perché esistono periferiche che permettono il flusso di informazione in entrambe le direzioni. Nel caso del Wii controller, esso permette all’utente di muovere il cursore nel menu della Wii oppure di controllare il gioco (input), ma, in determinate situazioni di gioco o quando il cursore passa sopra una voce selezionabile del menu, esso vibra, fornendo informazione all’utente (output).! Nel seguente lucido il Wii controller è mostrato con altre periferiche che sono sia di input sia di output.! Wii controller (Nintendo)! PS3 Dual Shock controller (Sony)! Touch screen dell’iPhone (Apple)! Chiavetta USB (Lacie)! Hard Disk esterno (WD)! In particolare, focalizziamoci sulla chiavetta USB e l’hard disk esterno…! …anch’essi, come la RAM, sono dispositivi di memoria.! In realtà esiste un altro dispositivo di memoria interno al computer: l’hard disk, o hard drive, noto anche come disco fisso o disco rigido, in italiano.! HD" Confrontiamo la RAM con l’HD. Hanno caratteristiche complementari che fanno sì che entrambi siano necessari per il buon funzionamento di un computer.! E’ un dispositivo elettronico fatto di transistor. ! E’ un dispositivo magnetico fatto da dischi e una testina di lettura e scrittura.! E’ volatile: mantiene il contenuto memorizzato solo mentre è alimentata dall’elettricità. Una volta spento il computer, senza elettricità perde il suo contenuto. ! Memorizza i dati sotto forma di domini magnetici orientati nei suoi dischi. Come le calamite, essi non si esauriscono mai, e conservano l’informazione, anche senza elettricità. E’ non volatile.! E’ molto veloce e riesce quindi a lavorare in sincronia con la CPU.! E’ molto lento, quindi viene usato per conservare l’informazione a computer spento o per fare spazio nella RAM.! SSD" Recentemente, in alternativa al classico HD magnetico, viene offerto un nuovo tipo di HD, detto SSD (Solid State Disk), che ha la stessa caratteristica di non volatilità, ma è basato su tecnologia elettronica, quindi senza parti meccaniche (dischi, testine) che possono guastarsi, e più veloce.! Viene da chiedersi perché l’SSD non venga proposto come alternativa alla RAM volatile. In realtà, l’SSD, come le altre memorie elettroniche non volatili (chiavette USB, schede SD “Secure Digital” tipiche delle macchine fotografiche digitali), pur essendo più veloci dell’HD magnetico, sono comunque molto più lente della RAM, e non riuscirebbero a lavorare in sincronia con la CPU (che arriva a lavorare a frequenze di 3 GHz, ossia a compiere 3 miliardi di operazioni al secondo).! L’HD magnetico rimane ancora la soluzione più diffusa per la conservazione di informazione a computer spento, perché decisamente la più conveniente dal punto di vista dei costi. La tecnologia SSD è relativamente nuova, ed ancora molto cara.! Di fatto, l’HD è dove tutta l’informazione deve essere memorizzata prima dello spegnimento del computer. Quando “salvate” un documento, ciò che state facendo è ordinarne la memorizzazione nell’HD. L’HD è l’origine dei dati e delle istruzioni che dalla RAM vanno alla CPU. Prima di tutto vengono trasferiti dall’HD alla RAM. Questo è quello che succede quando accendete un computer: per un po’ di tempo dovete attendere perché sta avvenendo questo trasferimento.! Tutti i componenti di un computer sono collegati tra di loro attraverso un canale che trasporta segnali elettrici che rappresentano i dati, le operazioni su tali dati, e i comandi della CPU alle varie parti del computer. Il canale prende il nome di bus. Quando collegate una perifericha al computer (la stampante o una chiavetta USB “Universal Serial Bus”), la state in realtà connettendo al bus per renderla parte del sistema.! Bus"