./Prime-Lezioni
Ho iniziato il mio primo anno di universita’ cira un mese fa e le materie che affrontero’ nel primo semestre sono Analisi 1, Geometria e algebra Lineare ed infine Fondamenti di informatica. In questo primo post cerchero’ di riassumere le prime lezioni di informatica, la materia che mi piace di piu’. Siamo partiti da zero parlando di cosa e’ un calcolatore e dei suo compontenti. Abbiamo definito cosa e’ l’informatica e parlato di procedure e algoritmi iniziando a programmare in c. Questo blog sara’ un modo per ripassare e consolidare i concetti visti a lezione scrivendo piccoli post, ma in futuro ho intenzione di scrivere anche riguardo ad altri progetti.
L’informatica non e’ solo la scienza e la tecnologia dei calcolatori ma si occupa di organizzare, rappresentare e del trattare in maniera automatica le informazioni per risolvere i problemi. Il calcolatore e’ una macchina che memorizza ed elabora e distribuisce l’informazione.
istruzione e dati —> computer —> risultati
input —> memoria e elaborazione —> output

L’informatica permette di risolvere problemi attraverso una procedura, che viene convertita in una sequenza di istruzioni eseguita dal calcolatore. La procedura viene chiamata “algoritmo” e l’insieme di istruzioni “programma”.
Il calcolatore e’ una macchina programmabile ossia in grado di eseguire programmi. A livello fisico, “hardware, e’ formato da diversi componenti che interagiscono tra loro. Per spiegare il funzionamento e i componenti di un calcolatore non possiamo non citare prima la macchina di Von Neumann. Non e’ una macchina reale ma un modello semplificato del funzionamento di un calcolatore, valido per capire i calcolatori moderni. I vari componenti sono:
- memoria
- memorizza e fornisce l’accesso a dati e programmi.
- cpu o processore
- esegue le istruzioni per l’elaborazione dei dati. Inoltre controlla e coordina il funzionamento delle altre parti.
- interfacce i/o
- componenti di collegamento con le periferiche del calcolatore.
- bus
- trasferisce dati e informazioni di controllo tra le altre componenti. ![Immagine della macchina di Von Neumann]
La memoria centrale, “ram”, permette di memorizzare in modo temporaneo dati e programmi, con due tipi di operazioni lettura e scrittura. Il processore vi accede tramite il bus e solitamente e’ presente il random access ossia una funzionalita’ che riguarda la randomizzazione degli indirizzi di memoria che comporta un ordine non sequenziale per la memorizzazione dei programmi e dei dati.
La ram e’ costituita da uno o piu’ chip che contengo un elevato numero di “bit”. Il “bit” e’ l’elemento base della memoria e puo’ rappresentare due valori (0 o 1) (1 byte = 8 bit). I bit sono raggruppati in celle o locazioni di memoria che hanno dimensione fissa tra 32 e 64 bit ed hanno un indirizzo con cui il processore puo’ indentificarle. In lettura il processore invia sul “bus indirizzi” l’indirizzo della cella da leggere e la memoria restituisce sul “bus dati” il valore della cella richiesta. In scrittura il processore invia sul “bus indirizzi” l’indirizzo della cella su cui scrivere e sul “bus dati” il valore da scrivere. La memoria effettua tale scrittura.
Il bus e’ dedicato al trasferimento di indirizzi, di dati e di informazioni di controllo fra i componenti del calcolatore (bus indirizzi, bus dati, bus di controllo).
Il processore, “cpu” (central processing unit), e’ responsabile della elaborazione dei dati e del coordinamento fra i componenti del calcolatore. E’ costituito da due parti:
- l’unita’ aritmetico-logica (alu-arithmetic logic unit), responsabile dell’esecuzione delle istruzioni.
- l’unita’ di controllo (cu-contrl unit), responsabile del cordinamento dei compontenti. Nei moderni computer la cpu e’ dotata da diversi core.
Il processore esegue le varie istruzioni attraverso 3 fasi:
- FETCH (lettura): legge la prossima istruzione da eseguire.
- DECODE (decodifica): viene determinato il tipo della successiva istruzione da eseguire.
- EXCUTE (esecuzione): richiede lo svolgimento di tutte le azioni necessarie per l’esecuzione dell’istruzione.
Le attivita’ del processore sono scandite da un “clock”, un segnale che e’ usato come metronomo per coordinare e sincronizzare le operazioni delle varie parti della cpu.
Le memorie di massa sono anche dette secondarie o ausilarie ma sono piu’ capienti, permanenti, piu’ economiche e piu’ lente rispetto alla ram.
Ci sono anche le interfacce i/o che permettono il collegamento a periferiche di input come mouse, tastiera, microfono ma anche di output come monitor, stampanti, altoparlanti. Hanno il compito di tradurre i segnali interni al calcolatore in un formato comprensibile alla perifierica e vice versa.
Il software ; Da finire…