L’hardware del PC
Componenti dell’elaboratore

Hardware

Parte fisica del sistema


Dispositivi fisici
Software

Parte logica del sistema

Programmi e dati
2
Hardware dell’elaboratore
3
L'architettura del calcolatore
4
Il modello di Von Neumann
5
Il computer “moderno”
Unita' di elaborazione, processore, CPU (Central
Processing Unit)
Memoria centrale, RAM (Random Access Memory)
Memoria secondaria, memoria di massa
Bus di sistema (collega tutti gli altri componenti)
Periferiche di I/O (mouse, tastiera, terminali,
stampanti, scanner, ecc.)
6
Lo schema di un computer
La comunicazione fra le varie componenti avviene attraverso il bus di sistema. Tramite
il bus la CPU legge\scrive dati e istruzioni in memoria, trasferisce da\a la memoria ai
7
dispositivi di I/O, …
La struttura di un PC
8
Il bus

Il bus è una linea a cui sono contemporaneamente
connesse tutte le unità del calcolatore e che consente il
trasferimento di dati tra tali unità.

Cosa succede se mentre la CPU sta accedendo alla
memoria per leggere un dato contemporaneamente da
una interfaccia di ingresso/uscita arrivano dei dati che
devono transitare sullo stesso bus ?
9
Lo schema di riferimento
Schermo
Tastiera
Mouse
Altre
periferiche
Interfaccia
I/O
Interfaccia
I/O
Interfaccia
I/O
Interfacce
I/O
Memoria
centrale
CPU
Bus Dati
Bus Indirizzi
Bus di Controllo
10
Organizzazione di un calcolatore
“bus oriented”
Dispositivi di I/O
Unità di
controllo
Terminale
Unità
aritmetico
logica (ALU)
Registri
Memoria
centrale
Stampante
Unità disco
BUS
11
Caratteristiche
del collegamento a BUS
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
12
La scheda madre (motherboard)
Collega tra di loro tutte le componenti del
computer (CPU, RAM, hard disk, floppy disk,
etc.)
zoccoli o slot
per le schede
zoccolo per il processore
zoccolo per la memoria
13
case
motherboard
14
Slots per
interfacce
CPU
(Processore)
Plugs
per dispositivi I/O
Memoria
temporanea RAM
Unità di controllo
Memoria
di sistema permanente ROM
Motherboard
15
La CPU ha il ruolo di master

La CPU ha il compito di gestire (si dice che ha il
ruolo di master) l’intero sistema e in particolare
l’accesso al bus, impedendo alle unità periferiche la
possibilità di accedervi autonomamente.

Ogni trasferimento di dati attraverso il bus avviene
sotto la supervisione della CPU che sincronizza con
segnali di controllo i dispositivi che devono
colloquiare.
16
IL MICROPROCESSORE (CPU)
17
La CPU (o processore)
Si occupa di:
fare i calcoli
controllare le altre componenti
E' il cuore del computer!
Esistono diversi tipi di processore
(Pentium, Alpha, AMD (Athlon), etc.)
18
Come e' fatto il processore?
19
La struttura del processore

L’unità aritmetico-logica (Arithmetic-Logic Unit, ALU) effettua le
operazioni di tipo aritmetico e logico sugli operandi forniti ai suoi
ingressi.

I registri sono piccole celle di memoria interne alla CPU su cui
vengono memorizzate le informazioni necessarie per
l’esecuzione delle istruzioni (es., l’istruzione che il processore sta
elaborando, i dati su cui opera l’istruzione corrente, l’indirizzo
della prossima istruzione da eseguire, …)

L’unità di controllo coordina le varie unità nell’esecuzione dei
programmi, comandando opportunamente i segnali di controllo
dei registri, dell’ALU e dei bus che interfacciano la memoria.
20
Microprocessore

Con il termine microprocessore si intende un
processore realizzato interamente su un unico
chip (CPU integrata).

Un chip o circuito integrato è costituito da milioni di
transistor collegati da sottilissimi fili di alluminio, il tutto
all'interno di una piastrina di silicio.

Un transistor è un dispositivo elettronico a due stati,
una sorta di microscopico interruttore che può essere
acceso o spento.
21
Tutte le sue operazioni sono sincronizzate
da un clock.
Le varie componenti della CPU devono operare in modo
coordinato anche dal punto di vista della temporizzazione
degli eventi. Questo si ottiene grazie ad un orologio (clock)
che fornisce una cadenza temporale a cui tutte le attività
elementari sono sincronizzate.
22
Frequenza del clock

La frequenza del clock, cioè il numero delle attività
elementari che vengono eseguite nell’unità di tempo
(tale frequenza viene misurata in hertz, Hz),
determina la velocità di elaborazione della CPU.


Più alta è la frequenza di clock, maggiore è la velocità di
elaborazione del computer.
I calcolatori sono perciò caratterizzati non solo dal
tipo di CPU che adottano ma anche dalla frequenza
del loro clock: frequenze tipiche sono dell’ordine dei
100 MHz per i processori più lenti, sino ai calcolatori
più potenti che superano il GHz (1000 MHz).
23
Larghezza del bus

La velocità e la potenza di un computer dipendono
anche dalla larghezza del bus, ovvero dal numero di
bit (lunghezza del singolo dato) che il processore è
in grado di ricevere e di elaborare simultaneamente.



I primi processori potevano elaborare solo dati di 8 bit.
In breve si passò prima a 16 e poi a 32 bit.
Oggi tutti i processori sono in grado di elaborare dati
rappresentati con 64 bit.
24
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
25
Le memorie

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

26
Le memorie

I computer usano quindi supporti di
memorizzazione di più tipi :

una memoria centrale, RAM : contiene i
programmi durante la loro esecuzione ed i dati
relativi


altrimenti il processore sarebbe per la maggior parte
del tempo fermo in attesa di dati da/per la memoria
una o più memorie di massa (dischi etc.) : che
mantengono tutti i dati ed i programmi in attesa
di essere eseguiti in modo persistente, anche
dopo lo spegnimento del calcolatore
27
La memoria centrale
E' la RAM (Random Access Memory)
Memorizza:
 I programmi in esecuzione
 I dati dei programmi in esecuzione
Viene cancellata ogni volta che si spegne il
computer.
28
La notazione binaria
Tutte le informazioni vengono rappresentate mediante
sequenze di 0 e di 1
bit: binary digit
Per esigenze logico-costruttive, i bit tra RAM e CPU
fluiscono a gruppi di 8.
Altra unità di misura utilizzata: byte (sequenza di otto bit)
Un byte è la più piccola unità accessibilie singolarmente.
29
Quantità
in byte
Valore in base
10
Quantità
di informazioni testuali
1 byte
100
Un carattere
1 kilobyte
103
Una pagina di testo
1 megabyte
106
Due o tre racconti
1 gigabyte
109
Una biblioteca di facoltà
1 terabyte
1012
La biblioteca di una
grande Università
1 petabyte
1015
Tutto il materiale
stampato in tutte le
biblioteche degli USA
1 exabyte
1018
Tutte le parole stampate
nella storia dell’uomo
1 zattabyte
1021
…
1 yottabyte
1024
…
30
La struttura della memoria




I bit nella memoria sono raggruppati in celle
(o registri)
Tutte le celle sono formate dallo stesso
numero di bit
Ogni cella ha un indirizzo che serve per
accedere all’informazione contenuta nella
cella
La cella è l’unità indirizzabile più piccola
31
Uno schema della memoria
0
........
32 bit
Registri
32 bit
RAM
........
........
1023
32
Operazioni sulla memoria

Si possono eseguire solo due operazioni:
lettura e scrittura

Lettura: con questa operazione si accede al
contenuto di una cella di memoria che viene
trasferito, senza essere modificato, alla CPU.

Scrittura: con questa operazione il contenuto di
una cella di memoria viene modificato, e viene
sostituito con dati provenienti dalla CPU.
33
Caratteristiche della memoria RAM

Il nome random access (accesso casuale) deriva dal fatto che
in una memoria RAM si può accedere ai dati in qualunque
posizione si desideri, specificandone l’indirizzo.

La memoria RAM di un computer domestico può contenere
fino a qualche GigaByte, mentre nelle macchine professionali
si arriva anche a decine di GigaByte.

Il tempo di accesso è dell’ordine di pochi miliardesimi di
secondo.
34
Il ciclo fetch-decode-execute

Il processore esegue le istruzioni di un programma una alla volta
in sequenza: estrae le istruzioni dalla memoria, le interpreta e le
esegue una dopo l’altra.


Un programma indica la sequenza di istruzioni da eseguire per
ottenere la soluzione ad un dato problema.
Il processore esegue ogni istruzione mediante una sequenza ben
definita di operazioni detta ciclo di istruzione o ciclo macchina.




Estrazione di una istruzione (fase di fetch)
Decodifica dell’istruzione (fase di decode)
Esecuzione dell’istruzione (fase di execute)
Ripetendo questa semplice sequenza di operazioni, il processore
è in grado di eseguire programmi comunque complessi.
35
Il ciclo fetch-decode-execute
Per ogni istruzione da eseguire, il
processore estrae l'istruzione, la
decodifica, e la esegue.
36
Processore e RAM

La connessione tra memoria e processore rappresenta
un limite degli elaboratori di Von Neumann.



Limite architetturale: permette l’accesso ad una sola informazione
per volta (“collo di bottiglia”).
Limite tecnologico: la velocità con cui il processore ottiene le
informazioni dalla memoria centrale (velocità di accesso della
RAM) è inferiore alla velocità con cui è in grado di elaborarle.
Soluzioni:


Allargamento del bus di dati, in modo da poter estrarre più
istruzioni e/o dati per volta.
Superamento del limite tecnologico mediante l’introduzione di una
memoria intermedia tra memoria centrale e processore che
approssimi la velocità del processore.
37
La memoria Cache

Piccola RAM molto veloce, interposta tra
CPU e memoria principale per migliorare le
prestazioni del sistema.

Quando viene indirizzata una parola, quella
parola e alcune di quelle vicine vengono trasferite
dalla lenta memoria centrale nella più piccola e
veloce memoria cache, in modo che la parola
successiva sia accessibile più velocemente.
38
Memoria cache
Memoria piccola
e molto veloce
Processore
Cache
RAM
39
Memoria cache
Memoria piccola
e molto veloce
Processore
Cache
Copia dei dati usati
di recente
RAM
Tutti i dati
40
41
Memoria cache

I computer attuali hanno tutti uno o più livelli
di cache per ottimizzare le prestazioni della
CPU.

La memoria cache viene collegata
direttamente alla CPU, senza che i dati
debbano passare attraverso il bus.
42
Altre memorie elettroniche
43
Memorie secondarie o di massa

Le memorie secondarie o di massa sono utilizzate per
memorizzare grandi volumi di dati in modo permanente.



La caratteristica principale di tali memorie è la non volatilità.
Consentono la memorizzazione di dati e programmi che non
sono istantaneamente utilizzati ma che possono essere reperiti
nel momento in cui la CPU ne fa richiesta.
Tali memorie comprendono due elementi distinti:

il supporto di memorizzazione, ovvero il componente fisico su
cui vengono memorizzati i dati;


Dischetto, CD-Rom…
il drive, ovvero il relativo dispositivo di funzionamento e di
memorizzazione.

Unità floppy disk, masterizzatore…
44
Memorie secondarie o di massa
Le caratteristiche principali sono:


non volatilità: mantengono le informazioni anche a
computer spento
grande capacità
Le memorie secondarie o di massa sono basate
principalmente su tecnologie magnetiche e ottiche.
ES. Hard disk, floppy disk, CDROM, DVD, etc.
I dati sono organizzati in file e gestiti dal file system
45
Dischi magnetici


Un disco magnetico si compone di uno o più piatti di alluminio
rivestiti di un sottile strato di materiale ferromagnetico.
L’informazione viene registrata magnetizzando la superficie del
disco.



Ogni bit occupa una piccola area sulla superficie.
Il disco per funzionare deve essere affiancato da un dispositivo
chiamato controller, in genere presente sotto forma di scheda,
che si occupa di posizionare la testina sul disco e prelevare le
informazioni richieste.
Il disco deve essere formattato prima di essere usato.

La formattazione consiste nella suddivisione della superficie del
disco in tracce e settori.
46
47
Un hard disk
48
49
CDROM
50
Gerarchie di memorie
51
CPU, RAM e Hard Disk sono...
...componenti fisiche, fatte di circuiti e parti
meccaniche.
L'insieme di tutte le componenti fisiche
e' detto hardware
52
Quanto “potente” è il mio PC?






Frequenza del processore
Dimensione della RAM
Dimensione della memoria di massa
Velocità di accesso (bus)
Grandezza della cache
Numero e tipo di porte
53
Dispositivi di I/O

Le unità di ingresso/uscita, dette periferiche di
input/output permettono di realizzare l'interazione
tra l'uomo e la macchina.

La loro funzione primaria è quella di consentire
l'immissione dei dati all'interno dell'elaboratore (Input), o
l'uscita dei dati dall'elaboratore (Output).
54
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
55
Architettura di un computer
56
… come una cipolla
57
Mettendo assieme le cose...

I programmi che non sono in esecuzione sono memorizzati nella
memoria secondaria
Cache
CPU
RAM
Disk
App
SO
Bus
58
Software: SO

Il sistema operativo è caricato dalla memoria secondaria in
memoria principale quando viene acceso il computer, e vi
rimane finché non viene spento.
Cache
CPU
RAM
SO
Disk
App
SO
Bus



Il SO agisce come “manager” del sistema, garantendo che ogni
dispositivo hw dialoghi correttamente con gli altri dispositivi.
Offre l’interfaccia perché l’utente interagisca con il computer.
Esempi: MacOS, WindowsXP, UNIX, Linux, Solaris, ...
59
Lanciare un programma

Quando si lancia un programma il sistema operativo controlla la
CPU e carica il programma dalla memoria secondaria alla RAM.
SO
Disk
RAM
SO
App
Cache
CPU
App
SO
Bus
60
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.
App
Disk
RAM
SO
App
Cache
CPU
App
SO
Bus
61
Archittetture
non Von Neumann
Collo di bottiglia di Von Neumann: limite all’aumento della
velcità del processore.
1.
2.
Impossibilità fisiche di rimpicciolire i circuiti (ad oggi i transistor
sono separati da distanze inferiori a 0.0001 cm)
Il tempo richiesto per inviare segnali tra due parti del computer è
limitato dal fatto che i segnali elettronici non possono viaggiare
a velocità superiori a 299 792 458 metri al secondo (velocità
della luce)
Se è impossibile costruire qualcosa che lavori
due volte più veloce,
conviene costruire due cose per volta.
Il risultato sarà identico.
62
Elaborazione parallela
SIMD (Single Instruction stream/Multiple Data stream): esiste un
singolo programma le cui istruzioni sono
prelevate/decodificate/eseguite in modo sequenziale da una sola
unità di controllo. L’ALU è replicata più volte, con una propria
memoria locale. Quando l’unità di controllo legge un’istruzione la
distribuisce a ogni ALU che la esegue sui propri dati locali.
MIMD (Multiple Instruction stream/Multiple Data Stream): si replica
l’itero processore e ogni processore è in grado di eseguire il proprio
programma separato nella propria memoria separata. Ognuno dei
processori si occupa di una parte del problema complessivo.
63