Sei sulla pagina 1di 64

Fondamenti di informatica

e calcolo numerico

Parte 1. Introduzione

Lucio Pancheri

Laurea Triennale in Ingegneria Industriale


Università di Trento

Fondamenti di informatica e calcolo numerico 1


▪ Partizione del corso:
• 40 ore teoria: introduzione ai sistemi informatici
docente: Lucio Pancheri
• 40 ore programmazione in laboratorio:
programmazione in linguaggio Ruby
docente: Martin Brugnara
• 40 ore calcolo numerico:
docente: Marco Frego

Fondamenti di informatica e calcolo numerico 2


Materiale

▪ Manuale di riferimento:
Sciuto, Buonanno, Mari, «Introduzione ai
sistemi informatici», V edizione, McGraw Hill,
2014
▪ Sito: https://classroom.google.com
Iscriversi con codice corso: dvc2k5y
▪ Sul sito sono disponibili l’orario, le regole
dettagliate per l’esame e il materiale fornito
dai docenti

Fondamenti di informatica e calcolo numerico 3


Modalità d’esame

▪ Parte teorica: test a risposta multipla in aula


PC (a fine corso)
▪ Laboratorio: test di programmazione
(in aula PC)
▪ Calcolo numerico: prova scritta

Fondamenti di informatica e calcolo numerico 4


Teoria

▪ Architettura dei sistemi di calcolo


▪ Natura e rappresentazione dell’informazione
▪ Sistemi operativi
▪ Algoritmi
▪ Paradigmi e linguaggi di programmazione
▪ Strutture di dati
▪ Trasmissione dell’informazione

Fondamenti di informatica e calcolo numerico 5


Sistemi di calcolo

Fondamenti di informatica e calcolo numerico 6


Problema: come realizzare la somma di due
numeri in modo automatico?

Ovvero: possiamo realizzare una macchina


(automa) che esegue l’operazione somma?

Fondamenti di informatica e calcolo numerico 7


Soluzione I: meccanica

Pascal e Leibniz, XVII secolo:

Pascalina

Fondamenti di informatica e calcolo numerico 8


Pascalina
▪ Cifre decimali rappresentate con ruote dentate a 10
posizioni (stati)
▪ Ruote usate sia come dispositivo di ingresso dei dati
(input) che di uscita (output)
▪ Può eseguire sia somme
che sottrazioni
▪ Meccanismo del riporto
1 1
2 8 8+
167
455 www.scuolemarconi.it

Fondamenti di informatica e calcolo numerico 9


▪ Calcolatori meccanici moderni: in uso fino agli
anni ‘70

http://public.beuth-hochschule.de

https://www.youtube.com/watch?v=YXMuJco8onQ
Fondamenti di informatica e calcolo numerico 10
Soluzione II: elettro-meccanica

Ingredienti:
▪ Input: interruttori: 2 stati – ON e OFF
▪ Output: lampadine: 2 stati – ON e OFF
▪ Batterie: danno energia alla macchina

Fondamenti di informatica e calcolo numerico 11


Rappresentazioni dei numeri

Con soli due stati a disposizione devo usare una


rappresentazione binaria dei numeri interi
Decimale Binaria
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
….

Fondamenti di informatica e calcolo numerico 12


Calcolatore elettro-meccanico: interfaccia
Input 1

Input 2

Output

Fondamenti di informatica e calcolo numerico 13


Riusciamo a fare un circuito che esegue
l’operazione di somma binaria?

Fondamenti di informatica e calcolo numerico 14


A B OUT
OFF OFF OFF
A B

OUT

Fondamenti di informatica e calcolo numerico 15


A B OUT
OFF OFF OFF
A B OFF ON OFF

OUT

Fondamenti di informatica e calcolo numerico 16


A B OUT
OFF OFF OFF
A B OFF ON OFF
ON OFF OFF

OUT

Fondamenti di informatica e calcolo numerico 17


A B OUT
OFF OFF OFF
A B OFF ON OFF
ON OFF OFF
ON ON ON

OUT

Che significato possiamo attribuire a ON e OFF?

Fondamenti di informatica e calcolo numerico 18


Tabella di verità (Truth table) A B OUT
F F F
A B F T F
T F F
T T T

OUT
Operazione
logica AND:

OUT = A AND B

OUT è TRUE solo se sia A che B sono TRUE

Fondamenti di informatica e calcolo numerico 19


A B OUT
0 0 0
A B 0 1 0
1 0 0
1 1 1

OUT
Operazione
binaria AND:

OUT = A AND B

Equivale al prodotto di due numeri binari da 1 cifra

Fondamenti di informatica e calcolo numerico 20


Interruttori in parallelo
A B OUT
A 0 0 0

OUT

Fondamenti di informatica e calcolo numerico 21


Interruttori in parallelo
A B OUT
A 0 0 0
0 1 1
B

OUT

Fondamenti di informatica e calcolo numerico 22


Interruttori in parallelo
A B OUT
A 0 0 0
0 1 1
B 1 0 1

OUT

Fondamenti di informatica e calcolo numerico 23


Interruttori in parallelo
A B OUT
A 0 0 0
0 1 1
B 1 0 1
1 1 1

OUT
Operazione
logica OR:

OUT = A OR B

Fondamenti di informatica e calcolo numerico 24


Somma di due numeri binari
A B OUT
0 0 0
0 1 1

? 1
1
0
1
1
0

OUT Con riporto di 1

Addizione
binaria

Esiste una combinazione di interruttori che


fornisce la somma di due numeri binari?

Fondamenti di informatica e calcolo numerico 25


Bisogna introdurre un nuovo componente:
il relé (interruttore elettromagnetico)

commons.wikimedia.org

Fondamenti di informatica e calcolo numerico 26


Bisogna introdurre un nuovo componente:
il relè (interruttore elettromagnetico)

commons.wikimedia.org

C. Petzold, «CODE, the hidden language of computer hardware and software»,


Microsoft Press, 2009

Fondamenti di informatica e calcolo numerico 27


A OUT Circuito secondario
0 0
OUT

Primario aperto,
Circuito primario
Secondario aperto

Fondamenti di informatica e calcolo numerico 28


A OUT Circuito secondario
0 0
OUT
1 1

Buffer
A

Primario chiuso,
Circuito primario
secondario chiuso

Fondamenti di informatica e calcolo numerico 29


A OUT Circuito secondario
0 1
OUT

Primario aperto,
Circuito primario
secondario chiuso

Fondamenti di informatica e calcolo numerico 30


A OUT Circuito secondario
0 1
OUT
1 0

Operazione
logica: NOT
A
Inverter

Primario chiuso,
Circuito primario
secondario aperto

Fondamenti di informatica e calcolo numerico 31


A B OUT
0 0 0
OUT

A B

Fondamenti di informatica e calcolo numerico 32


A B OUT
0 0 0
OUT
0 1 1

A B

Fondamenti di informatica e calcolo numerico 33


A B OUT
0 0 0
OUT
0 1 1
1 0 1

A B

Fondamenti di informatica e calcolo numerico 34


Operazione logica XOR: OUT = A XOR B A B OUT
Somma binaria senza riporto 0 0 0
OUT 0 1 1
1 0 1
1 1 0

A B

Fondamenti di informatica e calcolo numerico 35


Si può utilizzare una sola batteria

A B

OUT

Fondamenti di informatica e calcolo numerico 36


Due linee (rail): una per il polo – (GND, massa) e una per
l’alimentazione (+V)

+V

A B

OUT

GND

Fondamenti di informatica e calcolo numerico 37


Notazione semplificata:
- Etichetta +V = collegamento al polo + della batteria
- Simbolo di massa = collegamento al polo -

+V
+V A B +V

OUT

Fondamenti di informatica e calcolo numerico 38


Circuiti logici elementari
▪ Un circuito elementare si chiama PORTA logica (GATE)
▪ Livelli logici in ingresso e uscita rappresentati da livelli di
tensione: +V = 1 logico, GND = 0 logico

+V OUT
XOR GATE
A B

Fondamenti di informatica e calcolo numerico 39


Circuiti logici elementari
▪ Se gli ingressi (A, B) sono al livello 1 logico (+V) nel relè
circola corrente
▪ Se l’uscita OUT è al livello 1 logico (+V) connettendo una
lampada tra uscita e GND questa si illumina

+V OUT
XOR GATE
A B

Fondamenti di informatica e calcolo numerico 40


Circuiti logici complessi
▪ Connettendo l’uscita di un circuito con l’ingresso del circuito
successivo si possono formare circuiti complessi.
▪ Esempio: XOR + INVERTER

+V
+V
+V A B +V

OUT

Fondamenti di informatica e calcolo numerico 41


Rappresentazione semplificata
▪ E’ utile rappresentare le porte logiche in forma semplificata:
▪ Si concentra l’attenzione sulla funzione logica
▪ La rappresentazione diventa indipendente dalla
realizzazione fisica del circuito: astrazione

+V OUT
XOR GATE
A B
A OUT
B

Fondamenti di informatica e calcolo numerico 42


Rappresentazione semplificata
▪ La funzione logica della porta è definita completamente
dalla relazione tra ingressi e uscite: tabella di verità

A B OUT
XOR GATE
0 0 0
A OUT 0 1 1

B 1 0 1
1 1 0

Fondamenti di informatica e calcolo numerico 43


Circuiti logici elementari: AND gate
A B OUT
0 0 0
0 1 0
1 0 0
1 1 1

+V OUT
AND GATE
A B

Fondamenti di informatica e calcolo numerico 44


Circuiti logici elementari: OR gate
A B OUT
0 0 0
0 1 1
1 0 1
1 1 1

+V OUT
OR GATE
A B
A OUT
B

Fondamenti di informatica e calcolo numerico 45


Circuiti logici elementari: OR gate
A B OUT
0 0 0

+V OUT
OR GATE
A=0 B=0
A OUT
B

Fondamenti di informatica e calcolo numerico 46


Circuiti logici elementari: OR gate
A B OUT
0 0 0
0 1 1

+V OUT
OR GATE
A=0 B=1
A OUT
B

Fondamenti di informatica e calcolo numerico 47


Circuiti logici elementari: OR gate
A B OUT
0 0 0
0 1 1
1 0 1

+V OUT
OR GATE
A=1 B=0
A OUT
B

Fondamenti di informatica e calcolo numerico 48


Circuiti logici elementari: OR gate
A B OUT
0 0 0
0 1 1
1 0 1
1 1 1

+V OUT
OR GATE
A=1 B=1
A OUT
B

Fondamenti di informatica e calcolo numerico 49


Circuiti logici elementari: NOT gate

A OUT
0 1
1 0

+V OUT=1
NOT GATE
A=0
A OUT

OUT = A

Fondamenti di informatica e calcolo numerico 50


Circuiti logici elementari: buffer

A OUT
0 0
1 1

+V OUT=1 BUFFER
A=1
A OUT

OUT = A

Fondamenti di informatica e calcolo numerico 51


E’ possibile creare dei circuiti arbitrariamente
complessi usando combinazioni di porte AND, OR e
NOT

AND GATE OR GATE NOT GATE

Fondamenti di informatica e calcolo numerico 52


Esempio: XOR gate
Soluzione alternativa:
A
una stessa funzione OUT
logica si può ottenere
in più modi B

OUT = (A AND B) OR (B AND A)

A B A B A AND B B AND A OUT


0 0 1 1 0 0 0
0 1 1 0 0 1 1
1 0 0 1 1 0 1
1 1 0 0 0 0 0

Fondamenti di informatica e calcolo numerico 53


Sommatore (adder)
▪ Considero anche il riporto A B C S
0 0 0 0
(carry) 0 1 0 1
1 0 0 1
1 1 1 0
A C

B ? S

Qual è la combinazione di gate che fornisce


la somma di due numeri binari (S) con riporto (C)?

Fondamenti di informatica e calcolo numerico 54


Half Adder
▪ Considero anche il riporto A B C S
0 0 0 0
(carry) 0 1 0 1
1 0 0 1
A S 1 1 1 0

B
A C
C
B HA S

Questo circuito si chiama semi-sommatore (Half Adder)

Fondamenti di informatica e calcolo numerico 55


Somma di numeri a più cifre
1 1 1 1
1101011+
0100001
10001100

Per ogni colonna è necessario sommare 3 numeri:


serve un sommatore a 3 ingressi: A, B e Carry IN (CIN)

A S
Full Adder B
FA COUT
CIN

Fondamenti di informatica e calcolo numerico 56


Full Adder
A B CIN COUT S
A S 0 0 0 0 0
0 0 1 0 1
B
FA COUT 0 1 0 0 1
CIN 0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
Circuito logico 1 1 0 1 0
1 1 1 1 1
A
A C
HA COUT
B
B S A C

CIN HA S
B S

Fondamenti di informatica e calcolo numerico 57


Sommatore a 4 bit

A3-0 B3-0
4 Full Adder in cascata
4-bit Adder
CO S3-0 CI

A3 B3 A2 B2 A1 B1 A0 B0

A B A B A B A B

FA FA FA FA
CO CO CI CO CI CO CI CO CI 0
S S S S

S3 S2 S1 S0
Fondamenti di informatica e calcolo numerico 58
Sommatore a 8 bit

2 sommatori a 4 bit oppure 8 Full Adder in cascata


A7-4 B7-4 A3-0 B3-0

A3-0 B3-0 A3-0 B3-0


4-bit Adder 4-bit Adder
CO CO S3-0 CI CO S3-0 CI 0

S7-4 S3-0

Sommatori a più bit si possono ottenere mettendo


in cascata sommatori elementari
Fondamenti di informatica e calcolo numerico 59
Sommatore a 8 bit
Collegamento con l’interfaccia utente
+V

A7-0 B7-0
8-bit Adder
CO S7-0 CI

Fondamenti di informatica e calcolo numerico 60


Sommatore a 8 bit: interfaccia
Input 1: A7-0

Input 2: B7-0

Output: CO - S7-0

Fondamenti di informatica e calcolo numerico 61


Evoluzione dei dispositivi che possono
funzionare come interruttore pilotati da un
segnale elettrico

Relè: Tubo a vuoto: Transistor:


- Consumo elevato - Consumo elevato - Basso consumo
- Lento (parti in (filamento caldo) - Ancora più veloce
movimento) - Più veloce
Fondamenti di informatica e calcolo numerico 62
Circuiti integrati

Basati su più transistor realizzati su uno stesso


substrato, connessi in modo da realizzare circuiti
logici.

Esempio: integrato con 4 AND gate


Fondamenti di informatica e calcolo numerico 63
Circuiti sommatori integrati
Esempio: sommatore a 4 bit 74LS83

Fondamenti di informatica e calcolo numerico 64

Potrebbero piacerti anche