Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2010/2011
Lezione 2: Architettura del Calcolatore
CONOSCENZA
SUL DOMINIO
DEL PROBLEMA
ALGORITMO
{
ANALISTA
SVILUPPO
DELLA PROGRAMMATORE
SOLUZIONE
CONOSCENZA
PROGRAMMA LINGUAGGIO DI UTENTE
PROGRAMMAZIONE
ESECUZIONE
DEL
PROGRAMMA
2
{ COMPUTER
Architettura del calcolatore
Software
3
Architettura del calcolatore
L’architettura dell’hardware di un calcolatore reale è molto
complessa
La macchina di von Neumann è un modello semplificato
dei calcolatori moderni, composta da
Unità di calcolo
Una memoria che contiene programmi e dati dei programmi
4
Macchina di Von Neumann
5
Modello di Von Neumann (1)
Controllo
istruzioni
Le componenti fondamentali di un
moderno calcolatore elettronico
6
Modello di Von Neumann (2)
La Memoria centrale ha lo scopo di
conservare le istruzioni e i dati da Controllo
istruzioni
elaborare e i risultati ottenuti dalle
elaborazioni;
Le Interfacce collegano alle ALU dati
elaborare;
Unità di uscita (Output) che riceve le Ingresso
informazioni dalla memoria del calcolatore
per renderle pronte all’uso;
le unità di ingresso e uscita
sono anche dette periferiche Uscita
PERIFERICHE
comunicazione che consente ai dati di
transitare fra diversi componenti del
calcolatore. Le componenti fondamentali di un
moderno calcolatore elettronico
7
Modello di Von Neumann (3)
Per ogni istruzione del programma:
la CPU, tramite la sua parte Controllo, Controllo
istruzioni
ordina il prelevamento di una istruzione
dalla Memoria;
la decodifica, cioè la interpreta capendo ALU dati
coinvolte
durante l’esecuzione può: Ingresso
Segnali di controllo
usare la ALU
effettuare altri accessi in memoria per
leggere o scrivere dati Spostamento dati
e/o istruzioni
Uscita
effettuare operazioni di ingresso (per
es. leggi un dato dalla tastiera) o di uscita PERIFERICHE
(per es. visualizza il risultato sul video).
8
Macchina di Von Neumann,
uno schema
9
Macchina di Von Neumann (1)
10
Macchina di Von Neumann (2)
11
Memorizzazione
Un calcolatore memorizza
i dati, che rappresentano informazioni di interesse
i programmi per l’elaborazione dei dati
La memoria è l’unità responsabile della memorizzazione
dei dati
Una unità di memoria fornisce due sole operazioni
memorizzazione di un valore (scrittura)
accesso al valore memorizzato (lettura)
12
Elaborazione (1)
13
Elaborazione (2)
14
Trasferimento
15
Controllo
16
Il computer „moderno‟ segue il modello di
Von Neumann, con diversi tipi di memoria
17
Periferiche e memorie esterne
PC
scanner
stampante
Input Output
mouse
tastiera
video
Disks – flash cards – DVD - …
18 Memorie di massa
All‟interno: struttura di un PC
20
Bus: le caratteristiche
Vantaggi
Semplicità: unica linea di connessione implica costi ridotti
Estendibilità: aggiunta di nuovi dispositivi molto semplice
Standardizzabilità: regole precise di comunicazione tra
dispositivi diversi
Svantaggi
Lentezza: il bus è utilizzabile solo in mutua esclusione
Limitata capacità: al crescere del n. di dispositivi collegati
Sovraccarico del processore: la CPU funge infatti da
master sul controllo del bus
21
Componenti HW:
motherboard (scheda madre)
Piastra ricavata da un sandwich di strati di vetronite e rame: generalmente ha da
quattro a sei strati di rame;
Ha integrato il bus di sistema, composto da 50 a 100 fili in rame incisi su di essa
Dotata di connettori separati ad intervalli regolari per l’innesto dei moduli di
memoria e di I/O. Si tratta di una serie di connessioni elettriche ognuna delle quali
può trasmettere cifre binarie (0 o 1) in successione,
Vi sono montate le componenti del computer (CPU, RAM, hard disk, etc.)
zoccoli o slot
zoccolo per il processore
per le schede
22
Motherboard: componenti principali
Alloggiamento per la CPU: Socket, (es. zoccolo ZIF, Zero Insertion Force)
o SLOT1;
gli slot per l'installazione delle RAM;
la RAM CMOS, alimentata in permanenza da una pila o una piccola
batteria che memorizza i parametri di configurazione del BIOS;
Controller e Slot di espansione:
PCI (schede video, audio, scheda rete, modem, sintonizzatore TV,
controller firewire, USB…)
AGP, PCI Express (schede video);
Controller e slot IDE/ATA, SATA e/o SCSI per la gestione delle unità
disco (Hard Disk, CD e DVD), floppy;
Porte: parallela, seriale, USB, PS2,…
In molte Mainboard, specie se compatte, molte schede di espansione
possono trovarsi già integrate (es. la scheda video, la scheda audio,
interfacce di rete LAN o Ethernet e porte Firewire)
23
Componenti HW: la memoria
Supporto alla CPU: deve fornire alla CPU dati e istruzioni
il più rapidamente possibile
Archivio: deve consentire di archiviare dati e programmi
garantendone la conservazione e la reperibilità anche
dopo elevati periodi di tempo
Diverse esigenze:
Velocità per il supporto alla CPU
Non volatilità ed elevate dimensioni per l’archivio
24
Le memorie: diversi tipi
Cosa può fare la tecnologia ?
Memorie elettroniche relativamente piccole e veloci, volatili, a
costo medio alto
RAM : lettura e scrittura nell’ordine delle decine di nanosecondi per
parola
Memorie magnetiche e ottiche, grandi, molto capienti,
persistenti e lente
Dischi rigidi : lettura e scrittura nell’ordine di alcuni millisecondi per
blocco
CD ROM, DVD
25
Le memorie: diversi usi
26
Memoria centrale: RAM
RAM: Random Access Memory
Memorizza:
I programmi in esecuzione
I dati dei programmi in esecuzione
27
Notazione binaria
Tutte le informazioni vengono rappresentate mediante
sequenze di 0 e di 1
bit: BInary digiT
28
RAM: struttura
I bit nella memoria sono raggruppati in celle (o registri)
Tutte le celle sono formate dallo stesso numero di bit
Le celle sono numerate in sequenza: il numero di ogni
cella costituisce il suo indirizzo
L’indirizzo serve per accedere all’informazione contenuta
nella cella
Specificando l’indirizzo di una cella, la CPU e’ in grado di
leggere e/o modificare il valore dei bit memorizzato in
quella cella
La cella è l’unità indirizzabile più piccola
29
Perchè si chiama RAM
(Random Access Memory)?
Si può accedere direttamente alle varie celle, una volta noto il loro
indirizzo
Il tempo necessario per accedere ad una cella è lo stesso,
indipendentemente dalla posizione della cella nella sequenza
Il termine “random” (casuale) indica proprio il fatto che non vi sono
differenze nell’accesso alle varie celle della memoria
30
RAM: principali proprietà
Veloce: per leggere/scrivere una cella ci vuole un tempo di
accesso dell’ordine di poche decine di nanosecondi
(millesimi di milionesimi di secondo = 10-9 sec.)
Volatile: è fatta di componenti elettronici, togliendo
l’alimentazione si perde tutto
(Relativamente) costosa
Tutte le celle hanno uguale dimensione: 8, 16, 32, o 64 bit
Le operazioni che si eseguono sulla memoria sono
operazioni di lettura e scrittura
Una cella può contenere un dato o un’istruzione
31
Operazioni sulla memoria
Si possono eseguire solo due operazioni:
lettura e scrittura
32
Componenti HW:
CPU - Central Processing Unit
33
CPU: funzionamento
programma
CPU
programma
RAM
HARD DISK esegui le istruzioni del programma
34
Il set di istruzioni macchina
35
Legge di Moore
Osservazione fatta da Gordon Moore nel 1965:
il numero dei transistor per cm2
raddoppia ogni X mesi
10 000 000
1 000 000
100 000
1989 1991 1993 1995 1997 1999
Legge di Moore e progresso
Il progresso della tecnologia provoca un aumento del
numero di transistor per cm2 e quindi per chip.
Un maggior numero di transistor per chip permette
di produrre prodotti migliori (sia in termini di
prestazioni che di funzionalità) a prezzi ridotti.
I prezzi bassi stimolano la nascita di nuove
applicazioni (e.g. non si fanno video game per
computer da milioni di $).
Nuove applicazioni aprono nuovi mercati e fanno
nascere nuove aziende.
L’esistenza di tante aziende fa crescere la
competitività che, a sua volta, stimola il progresso
della tecnologia e lo sviluppo di nuove tecnologie.
Componenti HW: altre memorie
39
Memoria di sola lettura (ROM)
40
Memoria cache
L’accesso alla RAM è comunque più lento rispetto alla velocità
della CPU.
Si utilizza quindi una memoria che consenta accessi
estremamente veloci su istruzioni e dati utilizzati di recente.
Questa memoria è la cache memory: veloce, ma molto più
costosa della RAM quindi piccola.
41
Buffer
Piccole parti di RAM con funzioni di memoria temporanea
Usati per il passaggio delle informazioni da un programma o dispositivo ad
un altro
In Windows si parla di Clipboard, memoria temporanea usata per esempio per
le operazioni di Copia e Incolla
1
2
3
4
5
Clipboard
(buffer)
Foglio elettronico
Programma di videoscrittura
42
Componenti HW:
memorie secondarie o di massa
Caratteristiche principali:
non volatilità: mantengono le informazioni anche a computer
spento
grande capacità
43
Le memorie di massa
44
Hard disk
45
CD rom e DVD
46
Memorie Flash
Funzioni:
trasferimento dati;
archiviazione dati “sensibili”.
Tecnologia elettronica non
volatile
bassi consumi
piccole dimensioni
capacità dai 256MB ai 32GB
File system come per i
dischi
Il sistema operativo gestisce
l’accesso come se fossero
dischi;
47
Nastri Magnetici e unità DAT
Capacità di diversi GigaByte
Spazio tra record
(inter record gap) Record fisico
Traccia 1
Traccia 2
………
Traccia 8
Traccia 9
Accesso sequenziale
Molto lenti
Utili solo per operazioni di backup
Gerarchia delle memorie
Dimensioni Velocità Costo/bit
CPU Registri min max max
Cache
Memoria centrale
49
Componenti HW: porte di comunicazione
Porte seriali: trasportano 1 bit per volta, hanno velocità massima =
115 KB/sec e si usano per periferiche lente, come mouse e modem
esterni, non sopportano cablaggi superiori a 300 metri
Porte parallele: trasmettono 8 bit alla volta in parallelo, sono più
veloci delle seriali ma non sopportano cablaggi superiori a 30 metri,
adatte a collegare stampanti, o altri dispositivi di immagazzinamento
esterno delle informazioni. Hanno velocità massima = 150 KB/sec.
Porte SCSI (small computer system interface) permettono la
connessione di molti dispositivi in cascata, e sono usate per scanner
CD-ROM, ...
USB (Universal Serial BUS): seriali ad alta velocità
velocità = 12 Mbit/sec
collegano fino a 127 periferiche in cascata
alimentano direttamente periferiche a basso consumo
(tastiere, mouse) e sono completamente plug & play
la USB 2.0 del 1999 arrivano fino a 480 Mbps.
50
Quanto “potente” è il mio PC?
Parametri da considerare:
Frequenza del processore
Dimensione della RAM
Dimensione della memoria di massa
Velocità di accesso (bus)
Grandezza della cache
Numero e tipo di porte
51
Tassonomia dei calcolatori /1
Quantità vs. qualità:
Cambiare di un ordine di grandezza la quantità significa
cambiare anche la qualità:
un’auto in grado di raggiungere una velocità di 1000 km/h nel deserto
del Nevada è una macchina fondamentalmente diversa da un’auto
che fa 100 km/h sull’autostrada;
un grattacielo di 100 piani non è solo un edificio di 10 piani un po’ più
grande.
Nei computer le differenze sono di diversi ordini di grandezza.
I miglioramenti procurati dalla legge di Moore possono essere
utilizzati in modi diversi:
costruire calcolatori sempre più potenti a prezzo costante;
costruire lo stesso calcolatore a prezzi ogni anno più convenienti.
Tassonomia dei calcolatori /2
Tipo Prezzo (€) Applicazione tipica
Calcolatore monouso 1 Biglietti di auguri
Calcolatore dedicato 10 Orologi, automobili, …
Calcolatore per videogiochi 100 Videogiochi personali
Calcolatore per PC 1K PC da tavolo o portatile
Server 10 K Server di rete
Reti di workstation 100 K Centro di calc.
dipartimentale
Mainframe 1M Database di una banca
Supercalcolatore 10 M Previsioni del tempo
Mainframe
calcolatori grandi come una stanza, in uso fin dagli anni ’60;
non sono più veloci di server potenti, ma solitamente hanno più capacità
di I/O e sono dotate di grandi insiemi di dischi
sono macchine estremamente costose, che vengono spesso mantenute
per via dell’ingente investimento esistente in termini di software, dati,
procedure operative e personale.
Tassonomia dei calcolatori /6
Supercomputer
hanno CPU velocissime, molti gigabyte di memoria centrale,
dischi e reti molto veloci.
Recentemente molti supercomputer sono diventati
macchine altamente parallele non molto diverse dai COW,
ma con componenti più veloci e più numerosi.
I supercomputer vengono utilizzati per risolvere problemi di
calcolo molto complicati in campi scientifici e ingegneristici:
simulazione di uno scontro fra galassie,
sintesi di nuovi farmaci,
modelli del comportamento dell’aria attorno alle ali di un aereo.
Il concetto di macchina astratta
Alla base di un moderno computer c’è l’idea di
rappresentare i programmi in forma digitale. L'elaboratore
diviene una macchina “universale” in grado di eseguire
qualsiasi compito “calcolabile”, semplicemente inserendo
un nuovo programma.
Il progettista hw definisce il set di istruzioni
dell’elaboratore, ovvero un linguaggio minimo (L1)
mediante il quale l’elaboratore può essere programmato
A sua volta, anche L1 può essere limitato e difficile da
usare, ma si può usare per realizzare un nuovo linguaggio,
L2, che consente di eseguire operazioni più sofisticate di
L1, e quindi semplifica la programmazione dell’elaboratore
58
… come una cipolla
59
Mettendo assieme le cose…
I programmi che non sono in esecuzione sono
memorizzati nella memoria secondaria
Bus
60
Software: SO (Sistema Operativo)
Il sistema operativo è caricato dalla memoria secondaria in
memoria principale quando viene acceso il computer, e vi
rimane finché non viene spento.
CPU RAM
Cache
SO App SO
Bus
61
Lanciare un programma
Quando si lancia un programma il sistema operativo
controlla la CPU e carica il programma dalla memoria
secondaria alla RAM.
App
SO SO App SO
Bus
62
Esecuzione
Quando il programma è in esecuzione, carica ad ogni
passo una nuova istruzione (dalla memoria o dalla
cache), la esegue, e memorizza il risultato nella
memoria.
Disk
CPU RAM
Cache
SO
App
App SO App
Bus
63