Sei sulla pagina 1di 42

Elementi di Informatica

Anno accademico 2021/2022


Docente: Roberto Riggi
r.riggio@univpm.it
o

L’ELABORATORE …dall’esterno

Componenti principal
• Unità centrale (“case”
• Video (“monitor”
• Tastiera e Mous
• Lettore C
• Dischetti (“floppy”
Componenti accessor
• Stampant
• Mode HARDWARE
• Scanne
• Tavolette grafich
Composto da un insieme
… di unità funzionali

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
m

ARCHITETTURA DI UN ELABORATORE

Ispirata al modello della Macchina di Von Neumann


(Princeton, Institute for Advanced Study, anni ’40).
Roberto Riggio - Elementi di Informatic
Anno accademico 2021/2022
a

MACCHINA DI VON NEUMANN

UNITÀ FUNZIONALI fondamentali


1. Processore (CPU, Central Processing Unit
2. Unità di I/O (Input / Output
3. Memoria Centrale (RAM & ROM
4. Bus di sistema

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

TECNOLOGIA DIGITALE

CPU, memoria centrale e dispositivi sono


realizzati con tecnologia elettronica digitale.
Dati ed operazioni vengono codificati a partire
da due valori distinti di grandezze elettriche
• tensione alta (VH, 5V)
• tensione bassa (VL, 0V
A tali valori vengono convenzionalmente
associate le due cifre binarie 0 e 1
• logica positiva: 1 ↔ VH , 0 ↔ VL
• logica negativa: 0 ↔ VH, 1 ↔ VL

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

TECNOLOGIA DIGITALE (segue)

Dati ed operazioni vengono codificati tramite


sequenze di bit (bit = Binary digIT)
01000110101 ....
CPU è in grado di operare soltanto in aritmetica
binaria, effettuando operazioni elementari
• somma e differenz
• scorrimento (shift
• ...
Lavorando direttamente sull’hardware, l’utente è
forzato a esprimere i propri comandi al livello
della macchina, tramite sequenze di bit.
Roberto Riggio - Elementi di Informatic
Anno accademico 2021/2022
a

CPU (Central Processing Unit)

Svolge le elaborazioni e il trasferimento


dei dati, cioè esegue i programmi.
E’ composta da:
• Cloc
• Registri
• ALU (Arithmetic & Logic Unit
• Unità di controllo

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
k

CPU …all’interno

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

CPU: CLOCK

Il clock dà la base dei tempi necessaria per mantenere


il sincronismo fra le operazioni imponendo che
l’esecuzione di ogni operazione impieghi un tempo al
massimo uguale al periodo di clock.

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

CPU: REGISTRI

• I registri sono locazioni usate per memorizzare dati,


istruzioni, o indirizzi all’interno della CPU.
• L’accesso ai registri è molto veloce.
• Numero e dimensione dei registri variano da
macchina a macchina.
• Due classi:
▪general purpose (A, B, C, …)
▪specializzati (PC, IR, RI, RD, RINT, FLAG)

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

I REGISTRI SPECIALIZZATI

Program Counter (PC


• Indica l’indirizzo della cella di memoria che contiene la prossima
istruzione da eseguire

Instruction Register (IR


• Contiene l’istruzione da eseguire.

Registro Indirizzi (RI


• Contiene l’indirizzo della cella di memoria da selezionare per il
trasferimento di un dato con la CPU

Registro Dati (RD) o Accumulator


• Contiene il dato attualmente oggetto di elaborazione e il risultato al
termine dell’esecuzione

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

ALTRI REGISTRI

Registro Interruzioni (RINT


• Serve per gestire le interruzioni (hw e sw).

Registro dei flag (FLAG


• Ogni flag indica la presenza/assenza di una proprietà nell’ultimo risultato
generato dalla ALU. Altri bit riassumono lo stato del processore.

Registri di uso generale (A,B,C,...


• Sono usati per contenere sia dati (in particolare, operandi di operazioni
aritmetico/logiche) sia indirizzi.

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

CPU: ALU (Arithmetic & Logic Unit)

Esegue operazioni aritmetiche, logiche e confronti sui dati


della memoria centrale o dei registri. Può essere semplice
oppure (più spesso) molto complessa e sofisticata.

ESEMPIO: ALU in grado di eseguire somma, sottrazione, prodotto,


divisione con due operandi contenuti nei registri A e B.
1. I due operandi vengono caricati nei registri A e B.
2. La ALU viene attivata da un comando inviato dalla CPU che specifica
il tipo di operazione.
3. Nel registro A viene caricato il risultato dell'operazione eseguita dalla ALU.
4. Il registro FLAG riporta sui suoi bit indicazioni sul risultato
dell'operazione (riporto, segno, etc.).

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

CPU: UNITÀ DI CONTROLLO

L'unità di controllo fa funzionare l’elaboratore

Da quando viene acceso a quando è spento,


essa esegue in continuazione il ciclo

prelievo / decodifica / esecuzione

( fetch / decode / execute )

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

IL CICLO fetch / decode / execute


FETC
• si accede alla prossima istruzione (cella il cui
indirizzo è contenuto nel registro PC) ..
• … e la si porta dalla memoria centrale, memo-
rizzandola nel Registro Istruzioni (IR)
DECOD
• si decodifica il tipo dell’istruzione in base al
suo OpCode (codice operativo)
EXECUT
• si individuano i dati usati dall’istruzion
• si trasferiscono tali dati nei registri opportun
• si esegue l’istruzione.

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
H

IL CICLO fetch / decode / execute

Eseguita un’istruzione si incrementa il PC di 1:


esecuzione sequenziale dei programmi

Attenzione: Istruzioni particolari possono alterare il


prelievo delle istruzioni da celle consecutive:
• istruzioni di salt
• istruzioni di chiamata a sotto-programm
• istruzioni di interruzione

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
o

MULTITASKING
E’ la possibilità che consente a un sistema operativo di
eseguire più compiti “allo stesso tempo”
Poiché i registri compendiano tutto lo stato
dell’elaborazione di un certo processo
• salvando in memoria il contenuto di tutti i registri è
possibile accantonare un processo per passare a
svolgerne un altro (salvataggio di contesto)
• ripristinando dalla memoria il contenuto di tutti i
registri precedentemente salvati è possibile ripristinare
lo stato di un processo accantonato, riprendendone
l’esecuzione come se nulla fosse accaduto.

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

TIME SHARING

• Un computer è in grado di eseguire più programmi


“contemporaneamente”
• In realtà il tempo di calcolo del processore è condiviso
da più processi in maniera velocissima (attraverso il
salvataggio e ripristino del contesto)
• .…dando l’impressione che più processi sono eseguiti
allo stesso tempo.

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

UNITA’ DI I/O

INTERFACCE
dispositivi che consentono
all’elaboratore di comunicare
con le periferica
Sono molto diverse tra loro
(dipendono dal tipo di unità
PERIFERICHE periferica da connettere).
• Tastiera e Mous
• Video e Stampant
• Scanner e tavoletta grafic
• Dispositivi di memoria di massa
• ...

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
e

LA MEMORIA DI MASSA

MEMORIA DI MASSA
• Disch
•C
• DV
• ...
• memorizza grandi quantità di informazion
• persistente (le informazioni non si perdono
spegnendo la macchina
• accesso molto meno rapido della memoria centrale
(millisecondi contro nanosecondi ⇒ differenza 106)

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
D

LA MEMORIA DI MASSA

Scopo: memorizzare grandi masse di dati in modo


persistente / permanente

Caratteristiche Tempo di accesso


• tempo di access
• capacità • SSD: ~0.1 m
• Disco fisso: ~10 m
Multipli del byte (=8 bit)
• CD-ROM: ~100 ms
Capacità
• Kbyte (210 =1.024 Byte)
• SSD: > 2TB • Mbyte (220 = 1.048.576 Byte
• Disco fisso: > 14 T • Gbyte (230 = 1.073.741.824 Byte
• CD-ROM: > 650 M •…
• DVD: > 1,4 GB
Roberto Riggio - Elementi di Informatic
Anno accademico 2021/2022
o

LA MEMORIA CENTRALE

• Dimensioni relativamente limitate


• Accesso molto rapido
• E’ composta da:
▪RAM (Random Access Memory) è volatile (perde il
suo contenuto quando si spegne il calcolatore)
▪ usata per memorizzare dati e programmi
▪ROM (Read Only Memory) è persistente (mantiene
il suo contenuto quando si spegne il calcolatore) ma il
suo contenuto è fisso e immutabile
• usata per memorizzare programmi di sistema

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

LA MEMORIA CENTRALE

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

INDIRIZZAMENTO

E’ l’attività con cui l’elaboratore seleziona una


particolare cella di memoria
• Per farlo, l’elaboratore pone l’indirizzo della cella
desiderata nel Registro Indirizzi (RI)
• se il RI è lungo N bit, si possono indirizzare 2N celle di memoria
(numerate da 0 a 2N — 1
• esempio: N=10 ⇒ 1024 celle

• Oggi, RI è lungo tipicamente 32 bit o 64 bit


→ SPAZIO INDIRIZZABILE di 4 GiB (232 bytes) o 16
EiB(264 bytes
• Vedi https://en.wikipedia.org/wiki/Exbibyte per la tabella
delle grandezze.
Roberto Riggio - Elementi di Informatic
Anno accademico 2021/2022
)

OPERAZIONI DI LETTURA

Lettura (Read): il contenuto della cella di memoria


indirizzata dal Registro Indirizzi è copiato nel
Registro Dati.
read
RI
RD
(N bit)

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

OPERAZIONI DI SCRITTURA

Scrittura (Write): il contenuto del Registro Dati è


copiato nella cella di memoria indirizzata dal
Registro Indirizzi.
0 write
1
RI
RD
(N bit)

N-1
2

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

BUS DI SISTEMA

ll Bus è un insieme di “linee di comunicazione” diverse:


• bus dati (data bus
• bus indirizzi (address bus
• bus comandi (command bus)

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

BUS DI SISTEMA (2)

CPU
Bus

DMA
Memoria I/O
centrale

Il Bus collega due unità funzionali alla volta


• una trasmette
•... e l’altra riceve.
Il trasferimento dei dati avviene o sotto il controllo della
CPU, o mediante accesso diretto alla memoria (DMA).

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

BUS DI SISTEMA (3)

BUS DAT
• bidirezional
• serve per trasmettere dati dalla memoria o viceversa.

BUS INDIRIZZ
• unidirezional
• serve per trasmettere il contenuto del registro indirizzi
alla memoria
(si seleziona una specifica cella su cui viene eseguita o
un’operazione di lettura o una operazione di scrittura)

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
I

BUS DI SISTEMA (4)

BUS COMAND
• bidirezional
• tipicamente usato per inviare comandi verso la
memoria (es: lettura o scrittura) o verso una
periferica (es. stampa verso la stampante →
interfaccia
• può essere usato per inviare comandi verso il
processore nel caso di DMA (o interfacce di I/O)

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
)

COMPUTER

• PC desktop e notebook
• Esempi di processori: Intel (x86, Celeron, Pentium,
…), AMD (x86, K5, K6, Duron, Athlon, …)

• Le prestazioni dipendono da:


▪ frequenza dell’orologio di sistema (clock
▪ dimensione della RA
▪ velocità/parallelismo del trasferimento dat
▪ scheda grafica

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

RETI DI CALCOLATORI

Reti Locali:
connettono elaboratori sicamente vicini (nello stesso uf cio o
stabilimento).
LAN (Local Area Network)

Router/
Stampante Stampante File server gateway WAN

Client Client Client Client


(desktop/ (desktop/ (desktop/ (desktop/
notebook) notebook) notebook) notebook)

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022

fi
fi
RETI DI CALCOLATORI

Reti geogra che:


collegano elabora-tori medio-grandi situati anche a grande distanza
WAN (Wide Area Network)

printer Rete geografica

Host terminali
Host remoti

PC

mini Host

Rete locale

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
fi
a

INTERNET

Internet: la rete risultante dalla interconnessione


mondiale di tutte le reti
Milioni di elaboratori (“siti”) collegati a ragnatel
World-Wide Web (WWW)

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

INTERNET: i servizi

• trasferimento di ipertesti (HTML http


• trasferimento l ftp
• posta elettronica mailto
• terminale remot telnet
• gruppi di discussion news
• transazioni sicur https

• … e tutto ciò che su questo


si può costruire!
(commercio elettronico, prenotazioni …)

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
fi
e
o
e

a

e
)

Trasmissione dei dati in rete

• Come vengono trasmessi i dati in rete


• Ad esempio per
• Spedire/ricevere una e-mai
• Visitare un sito we
• Il server (es.Youtube.com, Wikipedia.org) deve trasmettere
una pagina web contenente le multimediali (immagini, video,
etc
• Condividere un le in un instant messanger (es. whatsapp, skype
• In tutti questi casi una applicazione (quindi un programma in
esecuzione su un dato computer) scambia dati con altre
applicazioni in esecuzione su altri computer

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
)

fi
a

fi
?

Encapsulation/decapsulation

codifica dell’immagine

Payloa
contiene i dati da trasmettere
Destinatario, mittente, altre
informazioni 0101010101.....00111010
Heade
contiene informazioni per la trasmissione e l’instradamento dei dati
Roberto Riggio - Elementi di Informatic
Anno accademico 2021/2022
r

Protocolli di trasmissione

• Un protocollo è un insieme di regole e procedure standardizzat


• Le informazioni necessarie per trasferire i dati correttamente al
destinatario sono contenute in un header incollato ai dati da
trasferire

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

Protocolli di trasmissione

• Un protocollo è un insieme di regole e procedure standardizzat


• Le informazioni necessarie per trasferire i dati correttamente al
destinatario sono contenute in un header incollato ai dati da
trasferir
• Diversi protocolli per gestire diversi “aspetti” della
comunicazione da una applicazione ad un’altr
• Architettura a strati

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
e

ISO/OSI MODEL

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

TCP/IP MODEL

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

ISO/OSI MODEL

Alcune risorse consigliate:


Video consigliato (in inglese)
https://www.youtube.com/watch?v=3b_TAYtzuho

Roberto Riggio - Elementi di Informatic


Anno accademico 2021/2022
a

Potrebbero piacerti anche