Sei sulla pagina 1di 37

CdL in Ingegneria Informatica

Calcolatori Elettronici
Mod. Reti Logiche
Ing. Marco Ortolani
DIID (Ing Informatica, ed. 6, III piano)
marco.ortolani@unipa.it
BENVENUTI!
• Ingegneria
• Progettare, costruire e testare sistemi
• Evoluzione rapida, pratica è Costante studio ed aggiornamento!

RETI LOGICHE INTRODUZIONE 2


OBIETTIVI
Questo corso: CALCOLATORI ELETTRONICI
In questo semestre: RETI LOGICHE

“Al termine del corso lo studente conoscerà i concetti necessari alla comprensione della struttura dei
calcolatori elettronici e la loro evoluzione storica. Conoscera le principali nozioni sull'algebra di
Boole e sulle reti logiche. Avrà conoscenza delle problematiche inerenti le metodologie di
progettazione di reti logiche combinatorie e sequenziali.”

1. Conoscere la struttura di un calcolatore


2. Comprendere come hardware e software collaborano
3. Apprendere come un calcolatore rappresenta le informazioni
4. Apprendere le metodologie per progettare un sistema digitale

RETI LOGICHE INTRODUZIONE 3


Un concetto ricorrente…
• Astrazione
• Migliora la produttività – non fissarsi sui dettagli…
Esempio: Posso guidare una macchina senza conoscere i minimi dettagli sul funzionamento
del motore a combustione

RETI LOGICHE INTRODUZIONE 4


Un concetto ricorrente…
• Astrazione
• Migliora la produttività – non fissarsi sui dettagli…
Esempio: Posso guidare una macchina senza conoscere i minimi dettagli sul funzionamento
del motore a combustione

• … finché qualcosa non va male!


Cosa è una candela?
Come si misura il livello dell’olio?

RETI LOGICHE INTRODUZIONE 5


Un concetto ricorrente…
• Astrazione
• Migliora la produttività – non fissarsi sui dettagli…
Esempio: Posso guidare una macchina senza conoscere i minimi dettagli sul funzionamento
del motore a combustione

• … finché qualcosa non va male!


Cosa è una candela?
Come si misura il livello dell’olio?

È importante conoscere i diversi componenti di un sistema, come


essi siano correlati e lavorino insieme
RETI LOGICHE INTRODUZIONE 6
Un concetto ricorrente…
• Livelli di astrazione
• Tutte le componenti di un sistema sono importanti
• Anche se ci si specializza nello studio di una particolare componente, bisogna
conoscere capacità e limiti di tutte le altre
• Per esempio, i migliori programmatori conoscono perfettamente come un
calcolatore esegue i loro programmi

Un calcolatore è un vero e proprio ecosistema con diversi livelli di


astrazione

RETI LOGICHE INTRODUZIONE 7


Calcolatore

RETI LOGICHE
?
INTRODUZIONE 8
Calcolatore
• I primi calcolatori erano persone!

• “Calcolatore” era un lavoro:


• indicava quelle persone (principalmente donne) che effettuavano le ripetitive
operazioni necessarie per calcolare le tavole di navigazione, le posizioni dei
pianeti per gli almanacchi astronomici, etc.

• Compito molto noioso!


• Processo molto lento..

RETI LOGICHE INTRODUZIONE 9


Calcolatore
• I primi calcolatori erano persone!

• “Calcolatore” era un lavoro:


• indicava quelle persone (principalmente donne) che effettuavano le ripetitive
operazioni necessarie per calcolare le tavole di navigazione, le posizioni dei
pianeti per gli almanacchi astronomici, etc.

• Compito molto noioso!


• Processo molto lento..
Il diritto di contare
RETI LOGICHE INTRODUZIONE 10
Calcolatore
• I primi calcolatori erano persone!

• “Calcolatore” era un lavoro:


• indicava quelle persone (principalmente donne) che effettuavano le ripetitive
operazioni necessarie per calcolare le tavole di navigazione, le posizioni dei
pianeti per gli almanacchi astronomici, etc.

• Compito molto noioso!


• Processo molto lento..

RETI LOGICHE INTRODUZIONE 11


Computer: generazione 0

RETI LOGICHE INTRODUZIONE 12


Calcolatore
• Perché non tentare di meccanicizzare
queste operazioni?
• Inizia la storia del calcolo automatizzato…
The imitation game

RETI LOGICHE INTRODUZIONE 13


Quindi cosa è un computer?
“Il computer non è una macchina intelligente che aiuta le persone
stupide, anzi è una macchina stupida che funziona solo nelle mani delle
persone intelligenti.”
Umberto Eco, Come scrivere una tesi di laurea con il personal computer (Prefazione), 1986

RETI LOGICHE INTRODUZIONE 14


Personal Computer: vista d’insieme
• Componenti principali
• Unità centrale
• Video (“Monitor”)
• Tastiera e Mouse
• Lettore CD
• Dischi fissi
• Dischetti (“floppy”)

• Componenti perifierici
• Stampante
• Modem
• Scanner
• Tavolette grafiche

RETI LOGICHE INTRODUZIONE 15


Case
• Contenitore esterno
• Fattore di forma
• Tower
• Minitower
• Desktop
• Compact desktop
• Laptop
• Palmtop
• Contiene
• Unità di alimentazione
• Alloggiamenti per dischi
5-1/4” (5.25 pollici)
3-1/2” (3.5 pollici)
• Ventole di raffreddamento

RETI LOGICHE INTRODUZIONE 16


Case
• Alloggia la scheda madre
• Processore
• Memoria principale
(RAM, ROM, cache)
• Memoria Video
• Bus di sistema
• Batteria tampone

• Alloggiamenti da 5.25”
• CD-ROM, DVD, Masterizzatori
• Floppy disk drive, dischi fissi
(senza accesso esterno)

RETI LOGICHE INTRODUZIONE 17


Scheda madre (mother board)

RETI LOGICHE INTRODUZIONE 18


Il case oggi…

RETI LOGICHE INTRODUZIONE 19


Hardware e Software

Oxford Dictionary
hardware |ˈhärdˌwe(ə)r|,
noun

RETI LOGICHE INTRODUZIONE 20


Hardware e Software

Oxford Dictionary
hardware |ˈhärdˌwe(ə)r|, noun

1.tools, machinery, and other durable equipment: tanks


and other military hardware.
2.the machines, wiring, and other physical components of a
computer or other electronic system. Compare with
software.
3.tools, implements, and other items used in home life and
activities such as gardening.
RETI LOGICHE INTRODUZIONE 21
Hardware e Software

Oxford Dictionary
hardware |ˈhärdˌwe(ə)r|, noun

1.tools, machinery, and other durable equipment: tanks


and other military hardware.
2.the machines, wiring, and other physical components of a
computer or other electronic system. Compare with
software.
3.tools, implements, and other items used in home life and
activities such as gardening.
RETI LOGICHE INTRODUZIONE 22
Hardware

In informatica, l'insieme delle componenti fisiche, non


modificabili (alimentatori, elementi circuitali fissi, unità
di memoria, ecc.), di un sistema di elaborazione dati (in
contrapposizione a software)
RETI LOGICHE INTRODUZIONE 23
Hardware e Software
Oxford Dictionary
software |ˈsôftˌwe(ə)r|, noun

The programs and other operating information used by a computer. Compare


with hardware.
RETI LOGICHE INTRODUZIONE 24
Software

In informatica, l'insieme delle procedure e delle istruzioni in un sistema di


elaborazione dati; si identifica con un insieme di programmi (in
contrapposizione a hardware )

RETI LOGICHE INTRODUZIONE 25


Struttura di un calcolatore
• Architettura di von Neumann (ca. 1946)
• Prende nome dal matematico e
informatico John von Neumann, che la
ideò per l’EDVAC, uno dei primi computer
elettronici costruiti.
• Tutti i moderni sistemi, al più alto livello di
astrazione, sono conformi a tale
architettura

Non c’è più bisogno di ricablare per


eseguire un nuovo programma: i
programmi sono manipolabili come i dati

RETI LOGICHE INTRODUZIONE 26


Struttura di un calcolatore
• Componenti principali:
• Unità di controllo di processo (Control Process Unit)
• Memoria principale (Main memory)
• Memoria secondaria (Mass storage)
• Dispositivi di ingresso/uscita

RETI LOGICHE INTRODUZIONE 27


Struttura di un calcolatore
• Componenti principali:
• Unità di controllo di processo (Control Process Unit)
• Memoria principale (Main memory)
• Memoria secondaria (Mass storage)
• Dispositivi di ingresso/uscita
• Bus di comunicazione

CPU Memoria Memoria Dispositivo


principale secondaria I/O

Bus

RETI LOGICHE INTRODUZIONE 28


Struttura di un calcolatore
• CPU
• CPU (Central Processing Unit), o Processore
à svolge le elaborazioni e il trasferimento dei dati, cioè esegue i programmi.

CPU Memoria Memoria Dispositivo


principale secondaria I/O

Bus

RETI LOGICHE INTRODUZIONE 29


CPU (Central Process Unit)
• ALU
• Svolge le operazioni aritmetiche, logiche
• Registri
• Più veloci della memoria principale
• registro contatore
(PC = program counter)
• registro accumulatore (A)
• registro istruzione (IR)
• Un registro è in grado di contenere un
numero di bit diverso a seconda del tipo di
CPU.
Registri a 8, 16, 32 bit
• Unità di controllo
• Esegue le istruzioni secondo il ciclo: accesso,
decodifica, esecuzione

RETI LOGICHE INTRODUZIONE 30


Struttura di un calcolatore
• Memoria principale
• RAM (Random Access Memory)
è volatile (perde il suo contenuto quando si spegne il calcolatore) ed è 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
• Dimensioni relativamente limitate
CPU Memoria Memoria Dispositivo
• Accesso estremamente rapido
principale secondaria I/O

Bus
RETI LOGICHE INTRODUZIONE 31
Gerarchia di memoria
Gerarchia di memoria

• Per consentire al microprocessore di


lavorare alla velocità più alta Microprocessore

possibile, la memoria è organizzata Cache Dati Cache Istruzioni


in modo gerarchico I Livello
10-100 KB
II Livello
10-100 KB

Cache Unificata
• I diversi livelli della gerarchia II Livello
(procedendo dal microprocessore a 100-1000 KB
ON-CHIP
scendere) sono caratterizzati da
Memoria RAM
• Velocità decrescente (SIMM o DIMM)
16-256 MB
• Dimensione crescente
Memoria di massa
Disco Fisso
5-30 GB

Memoria rimuovibile

Floppy Disk Smart Card Zip Disk CD-ROM Nastri


1.44 MB 8-128 MB 100 MB 650 MB 100-1000 MB

RETI LOGICHE INTRODUZIONE 32


Struttura di un calcolatore
• Memoria secondaria (o di massa)
• Dischi, nastri, CD riscrivibili
• Memorizza grandi quantità di informazioni.
• Persistenti
Le informazioni non si perdono spegnendo la macchina
• Accesso molto meno rapido della memoria centrale
msec. contro nsec. - differenza 106
CPU Memoria Memoria Dispositivo
principale secondaria I/O

Bus

RETI LOGICHE INTRODUZIONE 33


Struttura di un calcolatore
• Dispositivi di ingresso-uscita (periferiche)
• Tastiera, mouse, video, stampante
• Sono usate per far comunicare il calcolatore con l'esterno (in particolare con
l’utente)

• Bus di sistema
• Linea di comunicazione che collega tutti gli elementi funzionali precedenti.
CPU Memoria Memoria Dispositivo
principale secondaria I/O

Bus

RETI LOGICHE INTRODUZIONE 34


Il programma
010000000010000
• Il programma è costituito da una 010000000010001
sequenza di istruzioni caricate nella 010000000010010
memoria centrale sotto forma di 010000000010011
parole (quindi sequenze di bit) Istruzioni
000000000010000
• Esecuzione di un’istruzione:
…………………..
• Fase di acquisizione (Fetch Phase)
…………………..
• Interpretazione (Decode)
110100000000000 halt
• Esecuzione (Execute)
000000000010001
000000000010010 Dati
000000000010000
…………………..
RETI LOGICHE INTRODUZIONE 35
Interfaccia tra hardware e software
• Nascondere all’utente i dettagli non necessari dell’hardware
• Presentare le informazioni
• Consentire all’utente un facile accesso alle risorse macchina
disponibili
• Prevenire danni accidentali o intenzionali ad hardware, programmi
e/o dati

• Analogia automobile: motore e cruscotto

RETI LOGICHE INTRODUZIONE 36


Gerarchia del software
Sei livelli di astrazione separano l’utente dall’hardware sottostante:
Programma applicativo
Linguaggio di programmazione
1.Microprogramma
Linguaggio assemblativo
2.Linguaggio macchina Nucleo del sistema operativo
3.Sistema operativo Linguaggio macchina
Microprogramma
4.Linguaggio assemblativo
5.Linguaggio di programmazione Logica
digitale
6.Programma applicativo

RETI LOGICHE INTRODUZIONE 37