Informatica per le discipline umanistiche 2 - lezione 3 In questa lezione entriamo dentro il computer per studiarne i componenti principali e le loro funzionalità. 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