Hardware
• Che cos’è un computer
• Hardware dei personal computer (pc)
• Perché il binario?
• La memoria del computer
• Il processore
• Gestione dell’input/output
Hardware
Software
Il computer è una
macchina programmabile,
cioè può essere “istruita” ad
eseguire compiti differenti.
Informatica Generale (CdL in E&C), A.A. 2000-2001
2
1
Hardware e software
• Hardware: parti fisiche del computer,
costituite di componenti meccaniche ed
elettroniche
• Software: programmi e dati, intangibili, che
dirigono le operazioni svolte dall’hardware
• Programma: lista di istruzioni per il
computer (processore)
• Dato: qualunque informazione che serve ad
un programma: numero, carattere, suono
immagine, ...
Informatica Generale (CdL in E&C), A.A. 2000-2001
3
I “compiti” generali di un elaboratore
Trasmissione dati
Dischi
Unità centrale
(elaborazione
e controllo)
Video
Trasferimento dati
Stampante
RAM
Memorizzazione permanente e temporanea
Informatica Generale (CdL in E&C), A.A. 2000-2001
4
2
Classi di computer
• Mainframe (es. IBM 3090)
– Grandi sistemi informativi (∼ 100
terminali)
• Supercomputer (es. CRAY T3E)
– Calcolo scientifico intensivo
• Minicomputer/server (es. IBM AS/400)
– Sistemi informativi aziendali
medio/piccoli (∼ 10 terminali)
• Workstation (es. Sparcstation SUN)
– Applicazioni ingegneristiche, grafica
• Personal computer
Informatica Generale (CdL in E&C), A.A. 2000-2001
5
HARDWARE DEI
PERSONAL COMPUTER (PC)
Informatica Generale (CdL in E&C), A.A. 2000-2001
6
3
Famiglie di Personal Computer
• A “torretta” (tower e minitower)
• Da scrivania (desktop)
• Portatile (notebook o laptop)
Informatica Generale (CdL in E&C), A.A. 2000-2001
7
Architettura logica di un PC
Informatica Generale (CdL in E&C), A.A. 2000-2001
8
4
Scheda madre (main board o motherboard)
• CPU (microprocessore)
• Memoria RAM
• Circuiti di collegamento per il trasporto dei dati
(data bus)
• Circuiteria per le funzioni base di I/O (disk
controller
• “Slot” per schede di espansione (scheda grafica,
scheda audio, scheda LAN e modem interno)
Informatica Generale (CdL in E&C), A.A. 2000-2001
•
•
•
•
•
9
Processore
Un quadratino di plastica di circa un pollice
di lato con all’interno un quadratino ancora
più piccolo di silicio contenente più di 100
milioni di transistor (attualmente)
È il “cervello” del computer
Svolge le fondamentali funzioni di calcolo
Reperisce dati dalla RAM o dai dispositivi
periferici
Invia dati alla RAM o ai dispositivi periferici
Informatica Generale (CdL in E&C), A.A. 2000-2001
10
5
Memoria centrale o primaria (RAM)
• Diversamente dal cervello umano, un processore ha
internamente poca memoria
⇒ funzione svolta da altri componenti
• Vi sono due tipi fondamentali di memoria
– memoria centrale (o RAM): contiene programmi
in corso di esecuzioni con relativi dati
– memoria secondaria: deposito “permanente” di
dati e programmi
• Dati e programmi sono memorizzati allo stesso
modo
Informatica Generale (CdL in E&C), A.A. 2000-2001
11
Caratteristiche della RAM
• Strettamente collegata al processore
(milioni di interazioni al secondo)
• Utilizzata per contenere i programmi in
esecuzione con i relativi dati
• Contenuto facilmente modificabile
• Volatile (il contenuto si perde in assenza di
alimentazione)
• Veloce (7÷70 ns per accedere ad un dato),
ma relativamente poco capiente
Informatica Generale (CdL in E&C), A.A. 2000-2001
12
6
Memoria secondaria (o di massa)
• Contiene programmi e dati organizzati in file
• Collegata alla memoria centrale ma non
(direttamente) al processore
⇒ per essere eseguiti i programmi devono
essere copiati nella RAM
• Utilizzabile per memorizzazione permanente
• Enorme capacità rispetto alla RAM ma
elevato tempo di accesso ai dati (dell’ordine
dei millisecondi)
Informatica Generale (CdL in E&C), A.A. 2000-2001
13
Dispositivi di memoria secondaria
• Dischi magnetici (hard disk)
→ Memorizzazione permanente di
programmi e dati
• Dischi magnetici (floppy disk)
→ Trasferimento dati fra computer
• Nastri magnetici
→ Backup dei dati
• Dischi ottici (CD ROM)
→ Distribuzione di programmi, giochi, ecc.
Informatica Generale (CdL in E&C), A.A. 2000-2001
14
7
Dischi rigidi (hard disk)
• L’hard disk registra i
byte su una superficie
magnetica
• La registrazione e la
lettura sono effettuate
da una testina di
lettura/scrittura
• La lettura/scrittura da
disco richiede “molto”
tempo poiché coinvolge
movimenti meccanici
Informatica Generale (CdL in E&C), A.A. 2000-2001
15
Dischi rigidi (2)
• Velocità di rotazione: 5400 ÷ 10000
giri/min
• Formato a tracce e settori (valori tipici: 400
tracce, 32 settori)
• Testina di lettura a movimento radiale
• Tempo di accesso (5 ÷ 10 msec) vicino al
limite fisico
• Capacità elevate (> 4 GB)
• Costo contenuto (< 100 lire/MB)
Informatica Generale (CdL in E&C), A.A. 2000-2001
16
8
Dischetti rimovibili (floppy disk)
• Supporti circolari (diametro 3.5 o 5.25
pollici) magnetizzati, in rotazione solo al
momento dell’accesso
• Velocità di rotazione bassa (300 ÷ 360
giri/min
• Tempo di accesso elevato (decimi di sec.)
• Capacità limitata (1.44 MB)
• Costo unità contenuto (poche decine di
migliaia di lire)
Informatica Generale (CdL in E&C), A.A. 2000-2001
17
Streamer
• Unità zip (da 100MB e 250MB)
• Costo ormai inferiore a 200K lire
• Unità jazz (fino a 2GB)
• Costo inferiore a 500K lire
Informatica Generale (CdL in E&C), A.A. 2000-2001
18
9
Nastri magnetici
• Organizzazione sequenziale con blocchi (detti
record fisici) multitraccia
→ Accesso sequenziale
• Densità di registrazione 800 ÷ 6250 Byte per
pollice (bpi)
• Tempo di accesso molto elevato (può essere
dell’ordine dei minuti)
→ Uso per copie di sicurezza (backup)
• Costo relativamente elevato (∼ 2 Mlire per unità
DAT)
Informatica Generale (CdL in E&C), A.A. 2000-2001
•
•
•
•
•
•
19
Lettori ottici (CD ROM)
Supporti circolari non riscrivibili
Memorizzazione dei dati a spirale
Lettura mediante raggio laser
Velocità misurata come Nx (cioè N volte la
velocità del tradizionale CD musicale)
Capacità elevate in rapporto ai floppy disk
(∼ 650 MB)
Costo unità contenuto (100 ÷ 500 Mlire)
Informatica Generale (CdL in E&C), A.A. 2000-2001
20
10
CD- RW (masterizzatori) e DVD
• Un CD-RW consente la scrittura (write
once) di un CD
• Il costo di un buon CD-RW può superare, di
poco, il milione di lire
• Un DVD (Digital Versatile Disk) ha una
capacità molto superiore ad un normale CD
(> 4GB)
→ possibilità di memorizzare filmati
• Il costo di una unità DVD varia tra 500K e
1M lire
Informatica Generale (CdL in E&C), A.A. 2000-2001
21
Dispositivi di I/O (periferiche)
•
•
•
•
•
•
•
Tastiera
Mouse
Microfono
Scanner
Monitor
Altoparlante
Stampante
Dispositivi di Input
Dispositivi di Output
Informatica Generale (CdL in E&C), A.A. 2000-2001
22
11
Stampanti (prestazioni)
Risoluzione Velocità Uso tipico
100÷200 dpi 200÷400 Modulo
car/sec continuo,
copie cc
Personal
Ink jet 300÷720 dpi 1÷6
pag/min Computing
Professional
Laser Da 600 dpi 4÷20
jet
pag/min Computing
Aghi
Informatica Generale (CdL in E&C), A.A. 2000-2001
Colore
Bassa
qualità
Buona
qualità
Costo
elevato
23
Modem
• Modulatore/demodulatore
• Effettua conversioni digitale/analogico e
viceversa per trasmissioni su linea telefonica
• Velocità tipica attuale 56Kbit/sec
Informatica Generale (CdL in E&C), A.A. 2000-2001
24
12
Caratteristiche dell’architettura dei PC
• Modularità
– scheda “madre”
– bus e schede di espansione
• Scalabilità
• Standardizzazione
– grande disponibilità di componenti
– economicità, basso rapporto
costo/prestazioni
Informatica Generale (CdL in E&C), A.A. 2000-2001
25
PERCHÉ IL BINARIO?
Informatica Generale (CdL in E&C), A.A. 2000-2001
26
13
Dispositivi binari
• Dispositivo binario = che può essere in uno di due
stati possibili, variamente indicati con 0/1,
falso/vero, off/on
• Un bit è un singolo valore 0/1
• Sono dispositivi binari?
– un’interruttore della luce “tradizionale”
– l’interruttore di avviamento di una macchina
– la lancetta delle ore di un orologio
– un tasto su una calcolatrice tascabile
– il pomello di controllo del volume di una radio
Informatica Generale (CdL in E&C), A.A. 2000-2001
27
Perché i computer usano dispositivi
e segnali binari
• I dispositivi binari sono più semplici da
costruire
• I segnali binari sono non ambigui
• Si possono fare “copie” fedeli dei segnali
binari
• Tutto ciò che si può rappresentare come
sequenza di simboli si può rappresentare
come sequenza di simboli binari
Informatica Generale (CdL in E&C), A.A. 2000-2001
28
14
Segnale
binario
Segnale
analogico
Informatica Generale (CdL in E&C), A.A. 2000-2001
29
Trasmissione
imperfetta
Rigenerazione
fedele
Informatica Generale (CdL in E&C), A.A. 2000-2001
30
15
L’orologio del computer (clock)
• Lo stato dei dispositivi binari all’interno di
un computer richiede un certo tempo per
cambiare (0 → 1 o 1 → 0)
• Quindi la lettura dei valori binari (0/1) può
avvenire solo a determinati istanti
• Questo è il motivo per cui i computer hanno
un “orologio” (generatore di impulsi)
• Orologio più veloce implica computer più
veloce (a parità di altre condizioni)
Informatica Generale (CdL in E&C), A.A. 2000-2001
31
LA MEMORIA DEL
COMPUTER
Informatica Generale (CdL in E&C), A.A. 2000-2001
32
16
Bit
• In memoria (centrale o secondaria) l’informazione è
immagazzinata sotto forma di sequenze di bit
• Un bit è un singolo valore 0/1 (off/on)
• Un bit può essere implementato in molti modi
– un commutatore elettromeccanico
– la tensione agli estremi di un conduttore
– un transistor
– un piccola superficie magnetizzata su disco/nastro
– una piccola superficie riflettente su un CD
Informatica Generale (CdL in E&C), A.A. 2000-2001
33
L’informazione si può copiare
• Non cambia quando è copiata da un mezzo
ad un altro
• Si possono fare quante copie si vuole
• Esempio: download di un brano musicale da
un sito Web: disco magnetico del sito web
→ memoria centrale → interfaccia di rete
→ rete → … → vostro modem → memoria
centrale → scheda audio →
• L’informazione rappresentata non cambia
Informatica Generale (CdL in E&C), A.A. 2000-2001
34
17
Byte
• Un bit è così poca informazione che la memoria è
organizzata in gruppi di 8 bit, detti byte
• Gruppi di N byte (N dipende dal particolare
computer) vengono detti word
• Sugli attuali PC, N=4
• Per rappresentare i dati sono spesso richiesti molto
più di 8 bit, a volte milioni o anche miliardi di
byte
Informatica Generale (CdL in E&C), A.A. 2000-2001
35
Potenze di due
Informatica Generale (CdL in E&C), A.A. 2000-2001
36
18
Un’immagine della memoria centrale
• La memoria consiste di una
lunga lista di byte
• Ogni byte ha un indirizzo
• Ogni rettangolo in figura
rappresenta una locazione di
memoria
• Ogni locazione di memoria
contiene un byte
• L’indirizzo di ogni locazione
NON è parte della memoria
I
n
d
i
r
i
z
z
i
Memoria centrale
Informatica Generale (CdL in E&C), A.A. 2000-2001
37
Il contenuto della memoria
I
n
d
i
r
i
z
z
i
Memoria centrale
• Ciò che una sequenza
rappresenta dipende dal
“contesto” (cioè dal modo in
cui un programma usa la
sequenza)
• Esempio: il byte 01010001
(memorizzato all’indirizzo 2)
può rappresentare il carattere
Q o il numero 81 o altro
ancora
Informatica Generale (CdL in E&C), A.A. 2000-2001
38
19
Lettura e scrittura
Il processore può fare due cose fondamentali
con la memoria:
• Può scrivere un byte ad un dato indirizzo
– il contenuto precedente è perduto
– il nuovo contenuto rimane per un uso
futuro
• Può leggere un byte
– il processore ottiene la sequenza di bit
– il contenuto della particolare locazione
rimane inalterato
Informatica Generale (CdL in E&C), A.A. 2000-2001
39
Programmi e memoria
• Una sezione della memoria contiene i dati
elaborati da un programma in esecuzione: il
contenuto di questa porzione di memoria
viene generalmente modificato
• Un’altra sezione contiene le istruzioni del
programma: il contenuto rimane
(generalmente) inalterato
• Usando linguaggi di programmazione ad
alto livello (C, Java, …), non è necessario
tenere traccia del contenuto della memoria
Informatica Generale (CdL in E&C), A.A. 2000-2001
40
20
Organizzazione dei dati sulle
memorie di massa
• Ogni “entità referenziabile ” su disco è un file
– un programma
– un insieme di dati utilizzati da un
programma
– un archivio di dati
– un grafico
• I file sono identificati da un nome (filename)
– nome
Esempi: tesi.doc, sort.java, sort.class
– estensione
Informatica Generale (CdL in E&C), A.A. 2000-2001
41
Una classificazione dei file
• File eseguibili
– contengono istruzioni per il computer
– appaiono in formato non comprensibile
all’utente
– sono eseguiti su richiesta dell’utente o di altri
programmi
• File di dati
– contengono parole, numeri, immagini che
possono essere visti, modificati, stampati
– sono creati utilizzando software applicativo
(tipicamente)
Informatica Generale (CdL in E&C), A.A. 2000-2001
42
21
IL PROCESSORE (CPU)
Informatica Generale (CdL in E&C), A.A. 2000-2001
43
Che cosa c’è nel processore?
• Unità aritmetico logica (detta ALU)
→ esegue le operazioni
• Unità di controllo
→ controlla l’ordine di esecuzione delle
istruzioni del programma
• Registri generali
→ sono la (piccola) memoria del processore
• Registri speciali
Informatica Generale (CdL in E&C), A.A. 2000-2001
44
22
Ciclo base di un computer
• Programmi e dati risiedono nella RAM
• La CPU esegue ciclicamente la seguente
procedura:
– Recupera un’istruzione dalla RAM
– Decodifica l’istruzione
– Recupera dalla RAM gli eventuali dati
specificati dall’istruzione
– Esegue l’istruzione (può comportare il
trasferimento da/verso i disp. periferici)
– Scrive nella RAM gli eventuali risultati
Informatica Generale (CdL in E&C), A.A. 2000-2001
45
Operazioni di macchina
• Il processore è in grado di eseguire
operazioni semplici e molto dettagliate, come
– sommare due numeri
– illuminare un certo punto sul video
– spostare un byte da una posizione ad
un’altra della memoria
– verificare se un bit ha il valore 1
• Sembra davvero poco!
Informatica Generale (CdL in E&C), A.A. 2000-2001
46
23
La forma delle istruzioni macchina
• Ogni istruzione consiste di più byte
• Ogni istruzione specifica:
– un codice operativo, che individua
un’operazione di macchina
– uno o più operandi, che specificano i dati
su cui agire
• Un programma eseguibile è una sequenza
di istruzioni macchina
Informatica Generale (CdL in E&C), A.A. 2000-2001
47
Un esempio (non necessariamente reale)
8 bit
8 bit
Codice operativo Operando1
16bit
Operando2
- 256 possibili codici operativi (quindi 256 istruzioni)
- Operando1 indica uno fra 256 possibili registri della CPU
- Operando2 denota un indirizzo fra 0 e 216-1
Esempio: 103
102
101
100
00101000
00000001
00000001
00000101
il byte all’indirizzo 296
nel registro 1…
Carica...
Informatica Generale (CdL in E&C), A.A. 2000-2001
48
24
Un frammento di programma
• Carica nel registro 1 il byte all’indirizzo 296
• Carica nel registro 2 il byte all’indirizzo 300
• Somma i contenuti dei registri 1 e 2 e metti
il risultato nel registro 3
• Memorizza il contenuto del registro 3 nella
posizione di memoria di indirizzo 296
00000101
00000101
00001101
00101000
00000001
00000010
00000011
00000011
00000001
00000001
00000001
00000001
00101000
00101100
00000010
00101000
Informatica Generale (CdL in E&C), A.A. 2000-2001
49
Processori diversi
• Processori differenti hanno differenti
istruzioni ed operazioni di macchina
• Un programma in linguaggio macchina di
un Pentium non ha senso per un processore
Apple
tuttavia
• un processore è comunque in grado di fare
ciò che fa l’altro, usando un codice
macchina differente
Informatica Generale (CdL in E&C), A.A. 2000-2001
50
25
Fattori che incidono sulla velocità della CPU
• Frequenza dell’orologio interno (clock)
• Complessità del set di istruzioni (processori
RISC vs CISC)
• Presenza di coprocessore matematico
• Presenza di una memoria cache
• Velocità di trasferimento dei dati sul bus
• Dimensione della parola (word size)
Informatica Generale (CdL in E&C), A.A. 2000-2001
51
Data bus
• Collega i componenti sulla scheda madre
• Trasporta i dati fra il processore e gli altri
componenti (in particolare, la RAM)
• Consiste di
– linee per il trasporto di indirizzi
– linee per il trasporto di dati
Informatica Generale (CdL in E&C), A.A. 2000-2001
52
26
Memoria cache
Memoria veloce (tempo di accesso ∼ 4 ns)
che consente un più rapido accesso ai dati da
parte della CPU
• Il computer “prevede” quali sono i dati che
verranno richiesti dal programma e li carica
nella cache
→ principi di località spaziale e temporale
• La CPU prima controlla se i dati siano nella
cache prima di richiederli alla RAM
Informatica Generale (CdL in E&C), A.A. 2000-2001
53
Gerarchie di memoria
Velocità
Registri
Costo/bit
Cache
RAM
Memorie di massa
Informatica Generale (CdL in E&C), A.A. 2000-2001
54
27
Memoria ROM (Read-only memory)
Memoria permanente che contiene le istruzioni
che consentono (fra l’altro) l’avviamento
del computer (bootstrap o semplicemente boot)
Basic I/O System (ROM BIOS)
Insieme di istruzioni che istruiscono il
computer sul modo di accedere ai dischi
magnetici
Informatica Generale (CdL in E&C), A.A. 2000-2001
55
GESTIONE
DELL’INPUT/OUTPUT
Informatica Generale (CdL in E&C), A.A. 2000-2001
56
28
Interfaccia di I/O
• Scheda di interfaccia (fra bus e periferica)
• Modalità di trasferimento
– seriale: mouse, tastiera (standard RS232C)
– parallelo: stampante (standard centronics)
• Gestione dell’I/O
– a controllo di programma
– mediante interruzione
– con accesso diretto alla memoria (Direct
Memory Address, o DMA)
Informatica Generale (CdL in E&C), A.A. 2000-2001
57
Esempio di gestione della stampa di una riga
• A controllo di programma
→ Il processore invia un carattere alla scheda di
interfaccia, attende che questa segnali l’avvenuta stampa,
quindi invia il carattere successivo.
• Mediante interruzione
→ Il processore invia un carattere alla scheda, quindi si
“occupa d’altro”. Quando la stampa termina, l’interfaccia
manda un segnale di interruzione al processore per
segnalare la nuova disponibilità dell’unità periferica.
• Con accesso diretto alla memoria
→ Il processore invia ad una opportuna unità DMA
l’indirizzo di memoria e la lunghezza del blocco dati da
stampare. L’unità DMA gestisce quindi l’I/O.
Informatica Generale (CdL in E&C), A.A. 2000-2001
58
29