Corsi di Laurea in Biotecnologie (primo anno interfacoltà) Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università degli Studi di Milano
Prima lezione Cos’è e come funziona un computer? (Capitoli 1 e 7) Informatica di base – Linea 1
Prima Parte: Cos’è un computer? “Bando alle ciance!” Informatica di base – Linea 1
Informatica di base – Linea 1 Cos’è un computer? Informatica di base – Linea 1
Informatica di base – Linea 1 Cos’è un computer? Informatica di base – Linea 1
Informatica di base – Linea 1 Cos’è un computer? Informatica di base – Linea 1
Informatica di base – Linea 1 Cos’è un computer? Informatica di base – Linea 1
Informatica di base – Linea 1 Cos’è un computer? Informatica di base – Linea 1
Architettura di von Neumann Processore (CPU) Bus Memoria Periferiche CPU=Central Processing Unit Informatica di base – Linea 1
Informatica di base – Linea 1 Processore E’ la parte del computer in cui avviene l’elaborazione, ed è coinvolto in tutte le attività del sistema unità di controllo e unità operativa Esegue operazioni elementari Informatica di base – Linea 1
Informatica di base – Linea 1 Memoria E’ la parte del computer dove si trovano i programmi e i dati usati durante l’elaborazione: memorizza le operazioni che devono essere eseguite dal processore memorizza i dati intermedi della computazione E’ volatile: se non è alimentata, la memoria viene persa! quando si spegne o si riavvia il computer, i dati in memoria vengono persi Informatica di base – Linea 1
Informatica di base – Linea 1 Memoria RAM = Random Access Memory si può accedere a qualsiasi elemento in memoria senza dover scorrere tutti gli elementi precedenti Informatica di base – Linea 1
Informatica di base – Linea 1 Memoria Esempi di memoria RAM Informatica di base – Linea 1
Informatica di base – Linea 1 Bus Serve per collegare processore e memoria: scheda madre (circuito stampato costituito da fili di rame, resistenze, condensatori, …) Informatica di base – Linea 1
Informatica di base – Linea 1 Le periferiche Diverse periferiche possono essere collegate ad un computer. Si collegano attraverso il bus. Possono essere collegate ad un computer, ma non fanno parte di esso. Esempio: esistono computer senza tastiera? Sì, ad esempio alcuni palmari. Informatica di base – Linea 1
Informatica di base – Linea 1 Esempi di periferiche Periferiche di input: Tastiera, mouse, etc... Periferiche di output: Monitor, stampante, etc... Periferiche di input-output: Hard disk, scheda di rete, etc... Informatica di base – Linea 1
“Ma l’hard disk non è una memoria?!” Tecnicamente, non è una parte del computer ma una “periferica di memorizzazione persistente ad alta capacità” memoria non volatile! Tiene in memoria i programmi e i dati quando non sono utilizzati direttamente Il processo di salvataggio permette di copiare i dati (in modo permanente) dalla RAM all’hard disk durante l’esecuzione di un programma Informatica di base – Linea 1
Informatica di base – Linea 1 L’hardware Le componenti viste fino ad ora (processore, memoria, bus, periferiche) sono componenti fisiche: vengono chiamate hardware Informatica di base – Linea 1
Informatica di base – Linea 1 Il software Quando un computer è in esecuzione, esegue dei programmi: insiemi di istruzioni finalizzate a risolvere un problema I programmi sono le componenti software di un sistema Informatica di base – Linea 1
Informatica di base – Linea 1 Tipologie di software Software di sistema permette di gestire il computer: ha l’obiettivo di rendere il sistema: semplice da usare, sicuro, efficiente... esempio: sistema operativo (Windows, UNIX (Linux), OS X) Software applicativo permette agli utenti di svolgere i loro compiti: esempi: programmi di scrittura, browser, il programma che stiamo usando per leggere le slides, … Informatica di base – Linea 1
Informatica di base – Linea 1 “Ho una domanda” “Ok, ho capito cosa compone un computer, e cosa sono hardware e software, ma c’è una cosa che non ho mai capito: come fa a funzionare un computer? Come fa a decidere cosa deve fare? Chi glielo ha insegnato?” Informatica di base – Linea 1
Seconda Parte: Il processore e le istruzioni elementari “Se sono elementari non saranno poi così difficili da capire” Informatica di base – Linea 1
Da cosa è composto un processore? AND C Da circuiti elettronici. Es: A e B sono segnali in ingresso al circuito: impulso elettrico: valore 1 niente impulso elettrico: valore 0 C è il segnale in uscita dal circuito: il circuito “AND” garantisce che C ha un impulso elettrico se sia A che B hanno l’impulso elettrico A, B e C sono valori booleani o “bit” hanno due valori possibili: 0 o 1 B Informatica di base – Linea 1
Qual è lo scopo di un processore? Esegue istruzioni che sono: deterministiche possono avere una sola interpretazione elementari operazioni algebriche o logiche (come l’AND) o poco di più Le istruzioni sono sequenze di 0 e di 1 sono memorizzate nella memoria Informatica di base – Linea 1
Quanto è veloce un processore? Quante operazioni esegue il processore in un secondo? cioè: qual è la frequenza del processore? La frequenza si misura in Hertz 1 Hz = 1 volta al secondo 1 MHz = 1 000 000 volte al secondo Processori moderni raggiungono velocità superiori a 1 GHz = 1000 MHz = 1 000 000 000 Hz Informatica di base – Linea 1
Come fa il processore a eseguire le istruzioni? Il ciclo macchina (o ciclo fetch/execute): Fetch = prendi qualcosa precedentemente immagazzinato Informatica di base – Linea 1
Istruzioni e parti del computer I computer sono costituiti da cinque parti: memoria, unità di controllo, unità aritmetico/logica (ALU), unità di input e unità di output Informatica di base – Linea 1
Dove sono memorizzate le istruzioni? Nella memoria, sotto forma di sequenze di bit La memoria contiene anche i dati su cui le istruzioni operano, cioè sequenze di bit che possono rappresentare: numeri interi, decimali, ecc. lettere (a, b, c, ...., A, B, C) immagini, audio, filmati, ecc. Informatica di base – Linea 1
Informatica di base – Linea 1 La memoria Insieme ordinato di locazioni: ogni locazione contiene 8 bit = 1 byte ogni locazione ha un indirizzo (un numero che la distingue dagli altri) l’insieme è finito Informatica di base – Linea 1
La memoria (come la immagino io) 1 2 01010101 11110000 3 Informatica di base – Linea 1
L’utilizzo della memoria Con 1 byte si possono memorizzare un numero limitato di informazioni (vedremo più avanti quante) esempio: un’istruzione occupa 4 byte 10011111 00101000 00000011 01110100 Come facciamo a rappresentare dati che occupano più di un byte in memoria? usiamo locazioni consecutive ci riferiamo a loro usando l’indice della prima locazione Informatica di base – Linea 1
Come sono fatte le istruzioni? ADD 4000, 2000, 2080 cosa fa: addiziona il valore contenuto all’indirizzo 2000 con il valore contenuto all’indirizzo 2080 e mette il risultato all’indirizzo 4000 Informatica di base – Linea 1
Quale istruzione viene letta? Il numero della prossima istruzione da eseguire è memorizzato nel Program Counter Il PC viene incrementato automaticamente quando si finisce di interpretare un’istruzione …a meno che l’istruzione non sia un salto. Esempio: inizio con PC=1 ed eseguo la prima istruzione Add 4000 3000 2000 dopo istruzione PC=2 Mult 3000 2000 1000 dopo istruzione PC=3 Jump 10 dopo istruzione PC=10 ..... Add 4100 2100 1100 Informatica di base – Linea 1
Come viene eseguita un’istruzione? Stiamo per eseguire un’istruzione ADD…. Informatica di base – Linea 1
Come viene eseguita un’istruzione? 1° passo del ciclo macchina: Informatica di base – Linea 1
Come viene eseguita un’istruzione? 2° passo del ciclo macchina: Informatica di base – Linea 1
Come viene eseguita un’istruzione? 3° passo del ciclo macchina: Informatica di base – Linea 1
Come viene eseguita un’istruzione? 4° passo del ciclo macchina: Informatica di base – Linea 1
Come viene eseguita un’istruzione? 5° passo del ciclo macchina: PC incrementato di 4 byte = istruzione successiva Informatica di base – Linea 1
Quali istruzioni esegue il processore? Istruzioni aritmetiche: add, mult, div Istruzioni logiche: AND, OR Shift: spostamento di bit verso destra o sinistra Istruzioni di controllo del flusso: salti Spostamento di dati tra aree di memoria Ricezione di segnali dai dispositivi (periferiche) Informatica di base – Linea 1
“Mmm, allora mi sa che non sto capendo” “C’è qualcosa che non mi convince: ora stai usando delle slides, e se schiacci il tasto giusto, passi alla slide dopo. Quindi deve esistere l’istruzione ‘passa alla slide dopo’!” Informatica di base – Linea 1
Informatica di base – Linea 1 I programmi Non esiste l’istruzione ‘passa alla slide dopo’: il processore non “sa” neanche cosa sia una slide! Esiste una serie (lunga) di istruzioni elementari il cui effetto è quello di passare alla slide successiva La serie di istruzioni fa parte di un programma il programma si chiama PowerPoint, nel nostro esempio delle slide Informatica di base – Linea 1
La prossima volta vedremo Come si scrivono i programmi Quali principi teorici esistono alla base dei programmi Informatica di base – Linea 1
Terza parte: Riepilogo “Pesante, per essere la prima lezione!” Informatica di base – Linea 1
Informatica di base – Linea 1 Abbiamo visto Cos’è un computer Macchina di von Neumann Differenza tra hardware e software e tra software applicativo e di sistema Cos’è un processore e quali istruzioni esegue Cos’è la memoria e cosa contiene Informatica di base – Linea 1
Informatica di base – Linea 1 Glossario Processore, bus, memoria Periferiche (di input, output, di input e output) Hardware e software software di sistema e applicativo Bit, Byte Indirizzo di memoria Informatica di base – Linea 1
Informatica di base – Linea 1 Sul libro di testo Questa lezione è spiegata nei capitoli 1 e 7 del testo di L.Snyder (“Fluency”) Le seguenti sezioni fanno riferimento a concetti non ancora studiati e possono essere evitate: “La tecnologia dei semiconduttori” “Dall’applicazione degli elettroni” La sezione “Software” verrà trattata nella prossima lezione Informatica di base – Linea 1