Autori: Francioso Maria Pellicani Francesca Appunti del corso Informatica di base Lezione del 20 Feb. 2017 Cos è l informatica? L informatica è lo studio teorico dell informazione, della computazione e degli strumenti di elaborazione automatica. Il computer è solo il mezzo dell informatica: esso permette di elaborare le informazioni in modo automatico, servendosi di 1. Riduzione dei tempi di calcolo; 2. Maggiore affidabilità; 3. Automazione del lavoro; 4. Diffusione dei metodi di elaborazione che richiedono competenze specifiche; Macchina di Von Neumann L obiettivo di John Von Neumann è quello di fornire una particolare architettura di calcolatori elettronici, in modo da renderli strumenti programmabili in grado di risolvere qualunque problema. Il calcolatore deve essere caratterizzato da 1. Presenza di un dispositivo di memorizzazione; 2. Possibilità di elaborazione ed esecuzione di eventuali elaborazioni; 3. Dispositivi di interfacciamento con il mondo esterno; 4. Aritmetica binaria; Il calcolatore è composto da 4 elementi: 1. Processore, o CPU; 2. Memoria; 3. Dispositivi di input e output; 4. BUS (o dispositivo di interconnessione); Modello di calcolo
Lo schema è valido per ogni dispositivo tecnologico (ES.: telefono cellulare o tablet) ed indica un elaboratore in sequenziale (un operazione alla volta). Il CPU (o processore) è l unità centrale di elaborazione. Il suo compito è quello di eseguire delle operazioni, e per far sì che ad essa arrivino delle istruzioni e degli operandi deve comunicare con la Memoria. Segue un programma definito, costituito dalle seguenti operazioni: - Fetch: lettura dell istruzione collente dalla memoria centrale; - Decode: decodifica dell istruzione letta; - Memory access: accesso in memoria per leggere i dati sui quali scegliere l operazione; - Execute: esecuzione dell operazione; - Write back: scrittura in memoria del risultato dell operazione; - Ritorno al punto 1 con la successiva istruzione da processare; Queste fasi di lavoro sono scandite in modo sincrono, e l orologio interno prende il nome di clock. La velocità, o frequenza di clock è il numero di trasformazioni tra i due livelli 0 e 1 che i circuiti all'interno di un processore sono in grado di eseguire nell'unità di tempo di un secondo, ed è espressa in Hertz. Potremmo dire che in tempi recenti ormai le fasi di esecuzione all interno di un processore avvengono in maniera sincrona: attraverso un meccanismo che prende il nome di Pipeline, il processore è in grado di eseguire contemporaneamente le fasi con un parallelismo interno: ogni singola istruzione verrà eseguita nello stesso tempo delle altre in un solo colpo di clock (es: possiamo assegnare alle varie fasi descritte sopra il nome di istruzione1,2,3,4 e 5. In un solo colpo di clock queste 5 istruzioni possono considerarsi finite, per poi tornare al punto uno, che prenderà il nome di istruzione 6, e proseguire il lavoro via dicendo). Frequenza di clock = Indica il numero di battiti al secondo, quindi una CPU di un Hz eseguirà 1 istruzione al secondo. Le istruzioni elaborate da un processore possono essere utili per le nostre applicazioni, ma non solo: esse possono anche servire alla gestione del nostro stesso dispositivo. La legge di Moore La velocità di un processore raddoppia ogni 18 mesi (e quadruplica quindi ogni 3 anni).
Tale legge è tratta da un osservazione empirica dello studioso Gordon Moore: è rimasta in vigore fino alla fine degli anni 90. Negli ultimi anni di studio la velocità può essere ritenuta stabile, e non più in costante aumento. Però bisogna considerare che essa aumenta se si svolgono gli algoritmi in parallelo. Per fare un esempio, un processore da 8 core svolge in un solo colpo di clock ben 8 elaborazioni diverse. La memoria centrale, o RAM (random access memory, memoria di accesso casuale) È il dispositivo in grado di memorizzare istruzioni e dati. Il termine casuale indica che per poter accedere ad una zona della memoria non è necessario attraversare le altre locuzioni. La RAM differisce dai dispositivi ad accesso sequenziale, ovvero da quelli in cui è necessario attraversare ogni locuzione per raggiungere la zona della memoria che ci interessa. La RAM funziona come un archivio pieno di cassetti, che possono essere presi singolarmente: ogni cassetto corrisponde ad una locazione di memoria, e ad ognuna di esse è assegnata a sua volta un etichetta, che prende il nome di indirizzo. La memoria funziona attraverso l alimentazione elettrica, ed è volatile: quando un dispositivo viene spento senza che venga compiuto un salvataggio non conserva alcun tipo di lavoro che si stava eseguendo prima dello spegnimento. La memoria volatile 1. È più veloce di quella permanente; 2. Funziona solo attraverso il BUS di sistema; 3. La sua capacità di memorizzazione si misura in Byte; 4. Esistono altri tipi di memoria a diversi livelli, ed essi costituiscono la Gerarchia; Dispositivi di Input e Output È vero che un calcolatore per funzionare potrebbe disporre soltanto di RAM e CPU, ma per poter eseguire un applicazione ha bisogno di un interfacciamento con il mondo esterno, che in questo caso è rappresentato dai dispositivi di input e output. I dispositivi di input sono quelli in cui il flusso di dati va dal dispositivo all unità centrale (es.: tastiera, mouse, webcam, microfono) I dispositivi di output sono quelli in cui il flusso di dati va dall unità centrale al dispositivo (es.: monitor, stampante, casse audio) I dispositivi di input-output sono quelli in cui il flusso di dati è bidirezionale (es.: monitor touch screen, pendrive, schede di rete)
Il BUS Rappresenta l interconnessione tra le diverse unità all interno del computer. Esistono vari esempi di BUS all interno del collaboratore: - Bus di sistema, ovvero l interfaccia Memoria RAM e CPU - Bus dati, ovvero per lo scambio di dati tra i diversi componenti del computer Esempi di BUS: USB (Universal Serial Bus); PCIe (Peripheral Component Interconnect Express); ISA (Industry Standard Architecture); SCSI (Small Computer System Interface); PCI (Peripheral Component Interconnect); La velocità di trasferimento si misura in Kilobit al secondo. La gerarchia di Memoria 1. La MEMORIA DI MASSA è la memoria permanente (pendrive, hard disk, CD-ROM). Ha una dimensione di 100/1000 GB, una velocità di accesso lenta e non è volatile; 2. La MEMORIA RAM. Ha una dimensione di 1/16 GB, è veloce e volatile; 3. La CACHE 3 4. La CACHE 2 5. La CACHE 1. Le Cache sono memorie dalle dimensioni di 1/4 MB, sono rapide e volatili; 6. I REGISTRI DEL PROCESSORE. Hanno la dimensione di 1KB, hanno velocità ultra rapida e sono volatili; Questa gerarchia ci mostra al primo posto una memoria molto ampia, ma molto poco veloce. Le memorie che succedono sono delle porzioni più piccole della memoria di massa, e di conseguenza il rapporto tra velocità e capienza è inversamente proporzionale. Perché la CPU non recupera direttamente le informazioni dall hard disk (o memoria di massa)? La RAM è circa 1000 volte più veloce dell hard disk, di conseguenza vi sarebbe uno spreco di tempo nel caso in cui si prelevassero dati direttamente dalla memoria più grande. La trasposizione di dati dalla memoria di massa alle memorie più piccole (RAM e Cache) avviene in maniera trasparente attraverso due politiche: località temporale e località spaziale dei dati. Località temporale: se il processore legge un dato dalla memoria è probabile (non è una legge universale) che negli istanti successivi accederà alla stessa cella per altre informazioni; Località spaziale: se il processore legge un dato dalla memoria è probabile che riprenderà altri dati dalle celle adiacenti a quella letta per prima; Secondo queste due politiche di spazio e tempo, noi potremmo accedere a tutta la linea di dati in cui si trova quello da noi richiesto.
La coerenza dei dati: tenendo conto del fatto che le memorie più piccole sono delle sottoparti della memoria di massa, dobbiamo agire in maniera coerente quando modifichiamo un determinato elemento contenuto in una sottoparte di memoria. Essendo i dati delle copie, nel caso in cui dovessimo modificare un eventuale dato nella memoria Cache1, dobbiamo garantire la modifica anche del dato contenuto nelle altre memorie. Le reti di calcolatori La rete è un sistema di interconnessione tra due o più computer. Le reti vengono classificate attraverso diversi parametri (in questo caso la loro capacità di estensione): LAN. Questa rete prevede il collegamento con fili. Si estende in spazi di piccole dimensioni (es.: campus universitari) e non è permesso dall esterno comunicare con l interno; W-LAN. Differisce dalla rete LAN soltanto perché prevede un collegamento senza fili; MAN. Può coprire un area metropolitana; WAN (o Wild Area Network). Può coprire un area regionale, nazionale o transnazionale; GAN. Può coprire un area globale; Perché un computer possa comunicare con un altro, necessitano due elementi: 1. Identificativo del nostro interlocutore, che è unico e irripetibile; 2. Stabilire il protocollo di comunicazione (per i computer, a differenza delle comunicazioni tra umani, è necessario codificare e specificare ogni passo della comunicazione); Quando due computer entrano in una comunicazione bisogna distinguere i CLIENT dai SERVER - Client: computer che compie una richiesta; - Server: computer che risponde a una richiesta; Internet Internet è una rete di reti, ovvero un reticolo globale in cui si collegano reti locali. Quando parliamo di internet, ci riferiamo alla sola grande infrastruttura, caratterizzata da applicazioni a loro volta più piccole. Il rapporto tra internet e le applicazioni (posta elettronica, pagine web, ecc ) non differisce assolutamente da quello che vi è tra Memoria di massa e memorie più piccole. Per fare un esempio concreto potremmo paragonare internet all hardware e le applicazioni ai software. Francioso Maria Pellicani Francesca