Corso di · –scheda madre (circuito stampato costituito da fili di rame, resistenze, ondensatori,...

43
Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II 1

Transcript of Corso di · –scheda madre (circuito stampato costituito da fili di rame, resistenze, ondensatori,...

Corso di

Sistemi di Elaborazione delle Informazioni

Dott. Francesco Rossia.a. 2017/2018

SCUOLA DI MEDICINA E CHIRURGIA

Università degli Studi di Napoli Federico II

1

Programma del corso

• Informatica di base A

• Informatica di base B

• Rappresentazione delle informazioni

• Rappresentazione delle informazioni multimediali

• Le reti

• Sistemi Operativi

• Privacy e sicurezza informatica A

• Privacy e sicurezza informatica B

• LAB Protezione dei dati personali

• Le basi di dati A

• Le basi di dati B

• LAB di basi di dati

2

Contatti

Dott. Francesco Rossie-mail: [email protected]

News, orario lezioni, materiale didattico: https://corsosei.wordpress.com

Libro di riferimento: L. Snyder, “Fluency, conoscere e usare l’informatica”, Pearson

SCUOLA DI MEDICINA E CHIRURGIA

Università degli Studi di Napoli Federico II

3

SCUOLA DI MEDICINA E CHIRURGIA

Università degli Studi di Napoli Federico II

4

SCUOLA DI MEDICINA E CHIRURGIA

Università degli Studi di Napoli Federico II

5

Cos’è un computer?

6

Architettura di von Neumann

Processore(CPU)

Bus Memoria

Periferiche

7

Processore

• E’ la parte del computer in cui avviene l’elaborazione, ed è coinvolto in tutte le attività del sistema– unità di controllo (CU) e unità logico aritmetica (ALU)

• Esegue operazioni elementari

8

Memoria Centrale

• 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

9

Memoria Centrale

• RAM = Random Access Memory

– si può accedere a qualsiasi elemento in memoria senza dover scorrere tutti gli elementi precedenti

10

Memoria

11

BUS

• Serve per collegare processore e memoria:

– scheda madre (circuito stampato costituito da fili di rame, resistenze, condensatori, …)

12

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 computersenza tastiera?

– Sì, ad esempio alcuni palmari.

13

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...

14

“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

15

L’hardware

• Le componenti viste fino ad ora (processore, memoria, bus, periferiche) sono componenti fisiche:

– vengono chiamate hardware

16

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

17

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, …

18

“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?

”19

Seconda Parte:Il processore e le istruzioni

elementari

“Se sono elementari non saranno poi così difficili da capire”

20

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 21

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 raggiungonovelocità superiori a1 GHz = 1000 MHz = 1 000 000 000 Hz

22

Come fa il processore a eseguire le istruzioni?

Il ciclo macchina (o ciclo fetch/execute):

Fetch = prendi qualcosa precedentemente immagazzinato

1.

2.

3.

4.

5.

23

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

24

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.

25

La memoria centrale

• 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

26

La memoria (come la immagino io)

0 1

2

01010101

11110000

3

27

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

28

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

29

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

1. ADD 4000 3000 2000 dopo istruzione PC=2

2. MULT 3000 2000 1000 dopo istruzione PC=3

3. JUMP 10 dopo istruzione PC=10

4. .....

10. ADD 4100 2100 1100

30

Come viene eseguita un’istruzione?

• Stiamo per eseguire un’istruzione ADD….

31

• 1° passo del ciclo macchina:

Come viene eseguita un’istruzione?

32

• 2° passo del ciclo macchina:

Come viene eseguita un’istruzione?

33

• 3° passo del ciclo macchina:

Come viene eseguita un’istruzione?

34

• 4° passo del ciclo macchina:

Come viene eseguita un’istruzione?

35

• 5° passo del ciclo macchina:

Come viene eseguita un’istruzione?

PC incrementato di 4 byte

= istruzione successiva

36

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)

37

“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’!”

38

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

39

Nella prossima lezione

• Come si scrivono i programmi

• Quali principi teorici esistono alla base dei programmi

40

Terza parte:Riepilogo

“Pesante, per essere la prima lezione!”41

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

42

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

43