Architettura dei computer
• In un computer possiamo distinguere le
seguenti unità funzionali:
– il processore
– la memoria principale
– la memoria secondaria
– i dispositivi di input/output
– Le linee di comunicazione (BUS)
• Il processore e la memoria principale sono
le due componenti del computer e
costituiscono l’unità centrale
IL processore
Il datapath: un insieme di circuiti che
sono in grado di operare e manipolare dati


Il controller: un insieme di circuiti che
sono in grado di interpretare un
programma e fare eseguire alle
altre componenti del calcolatore,
le istruzioni in essi contenute
MQ
2
ELABORATORI CON DIFFERENTI ARCHITETTURA HANNO
DATAPATH DIFFERENTI
due datapath
differenti
MQ
3
Componenti principali di un computer
Unità centrale
Processore
Memoria
principale
(centrale)
Bus
Controller
Stampante
Terminale
Periferiche di input/output
Memorie di massa
(secondarie)
COMPONENTI DI UN PC
Si distinguono facilmente le cinque parti principali dello schema di Von Neumann con la
CPU,
l' Input e l' Output, nonche' la memoria volatile (Memory) e la memoria permanente
(Drives).
MQ
5
Vista interna di un PC
MQ
6
Scheda madre di Pentium IV
MQ
7
Scheda madre di Pentium IV
MQ
8
Dentro al PC
• SLOT: e’ un connettore dove vengono inserite delle
schede che contengono particolari dispositivi
I piu' importanti tipi di slot sono:
o PCI Peripheral Component Interface
o AGP Advanced Graphic Port
o SATA “Serial Advanced Technology Attachment"
• CHIPSET: E' un insieme di circuiti integrati che
"aiuta" la CPU nel controllo di tutti i dispositivi. Si
occupa del BUS PCI, controllo dei dischi e
periferiche. Un determinato chipset puo' supportare
diversi tipi di CPU.
• JOYSTICK : connettore per
un dispositivo dedicato9 a
MQ
“particolari” attivita’ (anche per il tempo libero!).
Tipica architettura di un personal computer
MQ
10
IL BIOS (BASIC INPUT OUTPUT SYSTEM )
Il BIOS e' un chip ROM che e' specifico di una data piastra madre. Le istruzioni e dati in esso
contenuti rimangono praticamente fisse per tutto il ciclo di vita del PC e sono utilizzate dalla
CPU all'accensione del PC. Il programma nella ROM contiene in primo luogo le istruzioni per la
partenza (start-up) del PC che si possono dividere in:
Il BIOS e' un chip ROM che e' specifico di una data piastra madre. Le istruzioni e dati
in POST (Power On Self Test) = Istruzioni per il controllo del funzionamento elettronico
dei dispositivi all’accensione del PC
1) SETUP: Istruzioni per la configurazione dei dispositivi dopo l’accensione e il post
2) BIOS : Istruzioni per la configurazione verso il Sistema Operativo(CMOS)
3) BOOT : Istruzioni per la partenza del Sistema Operativo
4) INPUT/OUTPUT : Il Bios raccoglie una serie di programmi software a basso livello,
(funzioni di base) che il sistema operativo sfrutta per interagire con l’hardware della
macchina. Tra queste funzioni ritroviamo i caratteri digitati alla tastiera, l’invio dei
caratteri alla stampante e l’accesso alla memoria, alle unita’ a disco e ad altri dispositivi
di Input/output. Non tutti i sistemi operativi utilizzano tutte le funzioni del BIOS ( vedi
UNIX)
Il CMOS e' una tecnologia elettronica con cui si costruiscono dispositivi a
basso consumo. In un PC con CMOS si intende una memoria RAM a basso
consumo dove vengono messi i dati di configurazione dei dispositivi presenti e
che possono essere alterati dall'utente. Il chip CMOS e' alimentato da una
batteria tampone per cui anche spegnendo il PC i dati non si perdono.
MQ
11
UEFI come sostituto del BIOS
• Arriva UEFI
UEFI è l'acronimo di Unified Extensible Firmware
Interface. Lo scopo di EFI dovrebbe essere quello di
sostituire gradualmente gli attuali BIOS delle schede
madri . A cosa serve il BIOS? Inizialmente il sistema
operativo funzionava con un solo tipo di HW. Quindi un
"PC" doveva essere fatto solo in un modo. Il BIOS ha
cambiato le cose: non importa che HW ci sia, il BIOS lo
"virtualizza" in modo che risponda alle chiamate del
Sistema Operativo sempre allo stesso modo, anche se
sotto è tutto diverso. Secondo Intel, quando verrà
adottata in maniera consistente, EFI consentirà ai
produttori di integrare nel firmware del computer
applicazioni e nuove funzionalità, fra cui strumenti per la
diagnostica e il ripristino dei dati, servizi di crittografia e
funzionalità per la gestioneMQ
dei consumi.
12
Memoria ROM, caratteristiche:
La ROM e’ un memoria atta a contenere informazioni memorizzate
dal costruttore del dispositivo, ma nella quale non e’ possibile
scrivere nulla. Nella ROM troviamo un tipo di software che
difficilmente sara’ soggetto a variazioni (come I vecchi BIOS del
PC, schede di controllo di periferiche, cartucce per I giochi,
programmi applicativi di alcuni palmari e altre apparecchiature
programmabili).
Al pari delle RAM le ROM sono ad accesso casuale.
La non modificabilita’ della ROM ha costretto molti utenti a
chiedere la sostituzione della ROM nel caso in cui bisognasse
aggiornare I dati o il software.
Tempo di accesso dell’ordine dei nanosecondi ( 1ns=10 –9 sec)
NON VOLATILE
MQ
13
Dalla ROM alla PROM
La PROM (Programmable ROM) e’ stata
inventata per sopperire alle forti restrizioni
che le ROM imponeva. Qualora fosse stato
necessario aggiornare I programmi o I dati
contenuti nella ROM, bisognava sostituirla
(doveva essere fornita dal costruttore). La
PROM ha il vantaggio di poter essere
programmata una sola volta dall’utente
tramite
dispositivi
particolari
chiamati
programmatori di PROM.
NON VOLATILE
MQ
14
Dalla PROM alla EPROM
Un ulteriore miglioramento in questo settore
delle memorie fu l’EPROM ( Erasable PROM)
che puo’ essere non solo programmata
dall’utente ma anche cancellata. Queste
EPROM hanno una finestra di quarzo a
contatto con il chip; se la finestra viene
esposta ad una forte luce ultravioletta per 15
minuti tutti i bit sono messi a 1 . Questi tipi di
memorie si possono riutilizzare .
NON VOLATILE
MQ
15
Dalla EPROM alla EEPROM
La successiva evoluzione delle EPROM sono state le
EEPROM (Elettrically Erasable PROM).
Si possono cancellare ( un byte alla volta) tramite
impulsi elettrici e si riprogrammano sul posto senza
estrarle.
Svantaggi: Più costose delle RAM e meno veloci delle
RAM.
Le EEPROM piu’ recenti si chiamano FLASH
(si cancellano per blocchi di byte )
Le FLASH sono usate anche come memorie portatili (USB key).
NON VOLATILE
MQ
16
La memoria principale
Le RAM dinamiche sono basate
principalmente sul principio di funzionamento
di carica e scarica di un condensatore in un
circuito con la presenza di una resistenza
(circuito RC - che nel disegno non e’
raffigurata esplicitamente ma e’ inclusa nel
transistor .
Il loro caricamento avviene lentamente; il
processo di lettura ne causa lo scaricamento;
inoltre, anche in condizioni di riposo, la carica
si disperde anche in presenza di tensione,
pertanto hanno bisogno di un dispositivo di
refresh temporizzato da un clock.
La memoria principale
• RAM (Random Access Memory)
• Questa definizione indica che il tempo di
accesso ad una cella è lo stesso
indipendente dalla posizione della cella
• Le operazioni che un processore può
effettuare sulla memoria sono le
operazioni di lettura e scrittura di
informazioni nelle celle
VOLATILE
La memoria principale
• Una parola di memoria è, a seconda del tipo
di computer, un aggregato di due, quattro o
addirittura otto byte, sul quale si può operare
come su un blocco unico
• Per eseguire le operazioni di lettura e scrittura
sulla memoria, si deve specificare l’indirizzo
della parola su cui si vuole operare
• L’indirizzo di una parola è un numero intero e
quindi lo si può codificare in binario
• Il numero di parole di memoria determina il
numero di bit necessari a rappresentare
l’indirizzo
La memoria principale
• Le dimensioni della memoria principale variano
a seconda del tipo di computer e vengono
espresse mediante le seguenti unità di misura:
–
–
–
–
1 Kilobyte (KB) corrisponde a 1024 byte (210)
1 Megabyte (MB) corrisponde a 1024 Kbyte (220)
1 Gigabyte (GB) corrisponde a 1024 Mbyte (230)
1 Terabyte (TB) corrisponde a 1024 Gbyte (240)
• Nei computer attuali le dimensioni tipiche della
memoria principale vanno dai 512MB a vari GB
( e oltre)
La memoria principale
• Ogni cella è caratterizzata da:
– Un indirizzo che e’ un numero che ne identifica la cella e
ne consente l’accesso
– Un valore, che è la sequenza di bit memorizzata dalla
cella.
• Un altro aspetto che caratterizza la memoria è il
tempo di accesso (tempo necessario per leggere o
scrivere un’informazione in una parola)
CICLO DI MEMORIA ( definizione)
Tempo minimo che intercorre
tra 2 accessi in memoria
• Le memorie principali dei computer attuali hanno
tempi di accesso dell’ordine di nanosecondi
(1 nanosecondo =un miliardesimo di secondo)
• La memoria principale perde ogni suo contenuto
quando si interrompe l’alimentazione elettrica.
Questa caratteristica viene chiamata volatilità
• È quindi necessario per conservare le informazioni
(programmi e dati) avere altri tipi di memoria che
conservano il contenuto anche senza alimentazione
elettrica
RAM TIPOLOGIE
. I moduli di memoria sono attualmente disponibili in tre tipologie principali:
moduli SIMM (Single sided Inline Memory Module) a 30 e 72 contatti; sono
oramai scomparsi dal mercato.
moduli DIMM (Double sided Inline Memory Module) a 168 contatti; sono
attualmente i più diffusi e sono disponibili a differenti velocità (da 15
nanosecondi ad accesso fino ai 7.5 nanosecondi). Recentemente sono
apparse sul mercato nuove DIMM basate su chip SDRAM DDR (Double
Data Rate) a 184 contatti con le quali è stata raddoppiata, a parità di
frequenza, la quantità di dati trasferita.
moduli RIMM (Rambus Inline Memory Module) fanno riferimento a nuovi
moduli che hanno velocità e frequenze maggiori di 800MHz, ma canale più
stretto (16 bit di larghezza contro i 32/64 delle DIMM).
MQ
23
Il Processore
• Il processore è la componente dell’unità
centrale che fornisce la capacità di
elaborazione delle informazioni contenute
nella memoria principale
• L’elaborazione avviene in accordo a
sequenze di istruzioni (istruzioni
macchina)
• Il linguaggio in cui si scrivono queste
istruzioni viene chiamato linguaggio
macchina
• Il ruolo del processore è quello di eseguire
programmi in linguaggio macchina
Componenti di un processore
Bus
Interno
REGISTRI
Program Counter (PC)
Registro di Stato (PSW)
Unità di
Controllo
Registro Istruzioni (IR)
Registri Generali (8 o 16)
Unità
AritmeticoLogica
Registro Indirizzi Memoria (MAR)
Registro Dati Memoria (MD )
Registro di Controllo (RC)
Schema semplificato di processore ( con registri generali)
IL PROCESSORE
A
B
T
M
X
clock
ALU
IR
PC
MD
Alla memoria
CONTR.
UNIT
MAR
F
EAR
ED
Alle unita’
esterne
Schema elementare di processore ( senza registri generali)
con 2 accumulatori ( A e B)
MQ
26
Macchina ad accumulatore , in questo caso due (A e B).
I REGISTRI
I registri A,B,T contengono dati su cui e’ possibile eseguire
operazioni elementari da parte dell’ ALU .
Il registro IR contiene l’informazione relativa alla operazione da
eseguire ed e’ percio’ chiamato registro dell’istruzione corrente.
Il registro PC, chiamato contatore di programma
(Program Counter), fornisce l’indirizzo di memoria in cui e’ contenuta
l’istruzione successiva del programma; pertanto in ogni istante si ha:
Le dimensioni di un registro sono di pochi byte (2, 4,8)
Le macchine con architetture moderne sono caratterizzate da un
insieme di registri di uso generale, mediante i quali e’ possibile operare
sui dati in modo molto piu’ efficiente
MQ
27
CPU con registri generali
MQ
28
I REGISTRI
•MDR (o MD) Memory Data Register serve a scambiare dati tra la CPU e la
memoria, mentre il registro ED e’ utilizzato per scambiare i dati tra la CPU e le
unita’ esterne di ingresso e di uscita.
•MAR ( Memory Address Register) e’ caricato di volta in volta con l’indirizzo
della locazione di memoria che in un certo istante la CPU vuole leggere o scrivere,
mentre il registro EAR e’ caricato con il numero della porta di I/O con cui
scambiare i dati.
•ED serve allo scambio dati con le unita’ esterne di INGR./USCITA.
•PSW (Program Status Word) e’ il registro dei flag che che memorizza particolari
condizioni quali: riporto, traboccamento, risultato positivo/negativo, parita’ e
altro.
•RC e’ il registro per i segnali di controllo da e verso le altre unita’ ( scrittura
MQ
29
,lettura, attesa, pronto etc..
ARCHITETTTURA (semplificazione.)
MQ
30
UNITA’ DI CONTROLLO (U.C.)
La U.C. svolge due funzioni fondamentali:
• Controllo della sequenza delle istruzioni
• Controllo della esecuzione delle istruzioni,
ogni istruzione scatena una sequenza di
comandi che nel loro insieme svolgono la
singola istruzione.
MQ
31
TIPI DI UNITA’ di CONTROLLO
DUE TIPI DI U.C.
• CABLATE
Dotate di circuiti specializzati che
realizzano le funzioni desiderate
• MICROPROGRAMMATE
Ogni operazione che la U.C. deve
eseguire viene dettagliata da una serie di
microistruzioni che sono immagazinate in
particolari memorie ( Control Store)
MQ
32
Il Processore: l’unità di controllo
• L’Unità di Controllo (UC) si occupa di
coordinare le diverse attività che vengono
svolte all’interno del processore;
• Il processore svolge la sua attività in
modo ciclico;
• Ad ogni ciclo vengono svolte diverse
attività controllate e coordinate dalla UC
 Ciclo istruzione
CICLO ISTRUZIONE
Il ciclo di una istruzione e’ essenzialmente
composto dai seguenti passi
1. PRELIEVO ( FETCH)
2. DECODIFICA (DECODE)
3. ESECUZIONE (EXECUTE)
4. RITORNO AL PASSO 1
MQ
34
FASE
DI
FETCH
Il termine FETCH indica la copia di un’informazione
dalla memoria all’interno della CPU
Il contenuto del Program counter
viene spostato nel registro indirizzi

1.
2.
3.
4.
(PC)  MAR
MEM(MAR)  MD
(MD)  IR
(PC) +1  PC
Viene prelevato dalla memoria il
contenuto dell’indirizzo puntato da
MAR e viene posto nel registro MD

Il contenuto di MD viene posto nel
registro istruzione corrente (IR)

Il contenuto del program counter PC
viene incrementato .

MQ
35
FASE DI PRELIEVO (FETCH)
MQ
36
FASE DI DECODIFICA
Estrazione dal registro istruzione (IR) del tipo operatore
presente (OPCODE):
Istruzioni per lo spostamento dati
Istruzioni aritmetiche:
add,mul,sub…
Istruz. di tipo logico
(NAND,OR, NOT..
Istruz. Di rotazione e shift :
SHL, SHR..
Istruz. di controllo programma
( JUMP, JNZ,JZERO.. ..
Istruz. Di controllo Macchina
(halt,nop..
MQ
37
FASE DI ESECUZIONE
Estrazione degli operandi:
INDIRIZZO/I
DATI IMMEDIATI
REGISTRI
In base al microprogramma o al circuito specializzato
verra’ eseguita l’istruzione presente nell’IR
MQ
38
Il Processore: l’unità di controllo
• La frequenza con cui vengono eseguiti i cicli di
esecuzione è scandita da una componente detta clock
• Ad ogni impulso di clock la U.C. esegue un’istruzione
macchina ( o meglio ad ogni ciclo di clock cambia lo
stato interno della macchina)
• La velocità di elaborazione di un processore dipende
dalla frequenza del suo clock
• I processori attuali hanno valori di frequenza di clock che
variano tra i 100 MHz e 3 GHz (tra 100 milioni di impulsi
al secondo a 3 miliardi di impulsi al secondo )
IL CLOCK
• E’ un segnale periodico, costituito da una sequenza
alternata di uni e zeri, che viene distribuito a tutti i
circuiti sequenziali sincroni per sincronizzarne il
funzionamento. L’intervallo di tempo che intercorre
tra due successivi impulsi e detto periodo di clock.
La frequenza viene misurata in Mhz (megahertz,
milioni di cicli al secondo). Un ciclo della durata di
1 ns(nanosecondo) equivale a 1000Mhz (1 Ghz).
Maggiore e’ la frequenza , maggiore e’ la velocita’
del processore, che tuttavia non puo’ essere
aumentata a piacere in quanto i circuiti devono
avere il tempo di completare la propagazione dei
nuovi valori logici prima che arrivi un nuovo impulso
MQ
40
di clock .
L’Unità Aritmetico-Logica
• L'Unità Aritmetico-Logica (ALU) è costituita da un insieme di
circuiti in grado di svolgere le operazioni di tipo aritmetico e
logico
• La ALU legge i dati contenuti all'interno dei registri generali,
esegue le operazioni e memorizza il risultato in uno dei
registri generali
• Vi sono circuiti in grado di eseguire la somma di due numeri
binari contenuti in due registri e di depositare il risultato in un
registro, circuiti in grado di eseguire il confronto tra due
numeri binari.
• In alcuni elaboratori oltre alla ALU si può avere un
processore specializzato per effettuare operazioni
matematiche particolari, il coprocessore matematico
CISC o RISC
• Fino all’inizio degli anno ’80 la quasi totalita’ degli
elaboratori era basata su processori con pochi registri ma
con unita’ di controllo molto complesse in grado di
eseguire istruzioni anche molto articolate. Le architetture
di questo tipo venivano chiamate CISC ( COMPLEX
INSTRUCTION SET COMPUTER) ovvero computer con set
di istruzioni complesse ( a loro volta composte da
microistruzioni) .
• Successivamente a fianco di questa tipologia di CPU e’
comparso un altro approccio detto RISC ( REDUCED
INSTRUCTION SET COMPUTER). L’idea di base prevede
di dotare il processore di un numero ridotto di istruzioni,
ma di renderle estremamente efficienti, in modo che
combinando queste semplici istruzioni si potranno
ottenere programmi estremamente complessi che
vengono eseguiti a velocita’ molto elevate. L’obiettivo
seguito per passare da architetture CISC a RISC, e’ stato
certamente quello di minimizzare il tempo macchina di
esecuzione di una istruzione .
RISC VS CISC
La vera differenza tra RISC e CISC è la filosofia di funzionamento. In una
macchina RISC le uniche operazioni in grado di accedere alla memoria sono le
operazioni di LOAD e di STORE, tutte le altre utilizzano solo i registri, mentre in
una macchina CISC le operazioni possono accedere ai registri e alla memoria
indifferentemente. Questo non è possibile direttamente, quindi una macchina
CISC quando un'operazione richiede di accedere alla memoria il processore
carica il dato lo salva temporaneamente in un registro (spesso nascosto) esegue
le operazioni e poi salva il risultato in memoria. In sostanza: una macchina CISC
mette in piedi un teatro illusorio per fornire al programmatore un ambiente
comodo; una macchina RISC non fornisce questo teatro illusorio al
programmatore dato che questo comunque non programma quasi mai in
assembly e dato che queste operazioni nascoste in realtà rallentano il
processore nell'eseguire le altre operazioni. Spesso le architetture RISC
vengono definite anche architetture load/store per evidenziare la differenza
fondamentale con le architetture CISC ed evitare fraintendimenti.
MQ
45
STRUTTURA DI UNA MEMORIA
CENTRALE
MQ
46
Memoria cache
Storicamente le CPU sono sempre state più veloci delle memorie. Man
mano che sono migliorate le memorie sono migliorate anche le CPU e
quindi si è mantenuta la differenza. Quando la CPU ha inviato una
richiesta alla memoria, la parola che serve non arrivera’ se non dopo molti
cicli di CPU. Più la memoria e’ lenta, più cicli dovrà aspettare la CPU.
PERCHE NON COSTRUIRE MEMORIE VELOCI COME LA CPU?
In effetti la tecnologia lo permette, ma esiste un problema: per poter
essere veloci come le CPU, queste memorie dovrebbero trovarsi sullo
stesso CHIP della CPU (perché la connessione via bus alla memoria è
lenta). Tale soluzione inoltre farebbe aumentare il volume del chip (CPU +
memorie) e ne farebbe aumentare anche il costo. La soluzione per tale
problema e’ un compromesso che prevede la presenza di una piccola
memoria veloce nello stesso CHIP che contiene la CPU e una o piu’
memorie lente all’esterno della CPU collegate tramite bus .
MQ
47
Memoria cache I
Questo tipo di memoria veloce si chiama cache (dal francese cacher che significa
nascosto) di transito tra RAM e CPU, che velocizza gli accessi ai dati e alle
istruzioni.
Si tratta di una memoria ad alta velocita’ (alcuni nanosecondi) che puo’ rispondere
alle richiesta di lettura oppure filtrare le richieste di scrittura verso la memoria
centrale senza imporre stati di attesa al processore. Uno stato di attesa e’ un ciclo
di clock durante il quale il processore sospende l’elaborazione e attende il
completamento di una richiesta di lettura o scrittura sulla memoria.
Pertanto quando la CPU deve accedere ad un indirizzo di memoria, accede prima
alla cache; nel caso in cui questo non sia presente nella cache si verifica un
fallimento di accesso, allora lo preleva dalla memoria centrale e lo ricopia nella
memoria cache insieme ad un prefissato MQ
numero di locazioni contigue
48
MEMORIA STATICA (LATCH SR)
Circuito sequenziale che ha la capacita’ di
memorizzare un bit.
S= SET
S=1
R = RESET
pone Q =1
R=1 pone Q=0
S R Previous Q
Current Q
Current Q'
0
0
0
0 (non cambia)
1
0
0
1
1 (non cambia)
0
0
1
0
0 (non cambia)
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1 (non cambia)
0
1
1
0
0 (Restricted, Q and Q' would not be complements)
0
1
1
1
0 (Restricted, Q and Q' would not be complements)
0
MQ
49
ACCESSO IN MEMORIA
Ta : Tempo medio di accesso ad un dato in memoria
Ta = Th*Ph + Tm*(1-Ph)
Th = tempo di accesso ad un dato presente in cache
Tm = tempo medio di accesso ad un dato non in cache
(funzione della dimensione del blocco)
Ph = probabilità di hit(successo)
(funzione della dimensione del blocco e della politica di
gestione)
MQ
50
Memoria cache
II
Il successo di tale soluzione( Principio di localita’) dipende dal fatto che il più delle
volte (tranne nei casi di salto) gli indirizzi di memoria successivamente generati
durante l'esecuzione di un programma formano gruppi contigui.
-La cache di primo livello o interna: garantisce un flusso continuo all’interno del
processore;
(La capacità tipica della cache di primo livello è di circa 32-64 KB).
- La cache di secondo livello o esterna che serve per superare la lentezza della
memoria centrale
(La capacità tipica della cache di secondo livello è di 128K- 2MB).
Dimensioni tipiche in un PC-2002
•Registri 16,32,64 bit
•Cache di primo livello 64 KB
•Cache 512 KB si secondo livello
•Ram 256MB
• HD 40GB
La memoria cache e’ detta anche SRAM ( RAM STATICA). E’composta da un
numero maggiore di transistor ed e’ quindi piu’ voluminosa (a parita’ di numero di
byte)
MQ
51
La memoria secondaria
• La memoria principale non può essere troppo
grande a causa del suo costo elevato .
• Non consente la memorizzazione permanente
dei dati (volatilità)
• Per questi motivi sono stati introdotti due tipi
di memoria:
– Memoria principale veloce, volatile, di dimensioni
relativamente piccole;
– Memoria secondaria, più lenta e meno costosa,
con capacità di memorizzazione maggiore ed in
grado di memorizzare i dati in modo permanente
La memoria secondaria
• La memoria secondaria viene utilizzata per
mantenere tutti i programmi e tutti i dati che
possono essere utilizzati dal computer
• La memoria secondaria viene anche detta
memoria di massa
• Quando si vuole eseguire un certo
programma, questo dovrà essere copiato
dalla memoria di massa a quella principale
(caricamento)
La memoria secondaria
• La memoria secondaria deve avere
capacità di memorizzazione permanente e
quindi per la sua realizzazione si utilizzano
tecnologie basate sul magnetismo (dischi
e nastri magnetici) o tecnologie basate
sull'uso dei raggi laser (dischi ottici)
• Nel primo caso si sfrutta l’esistenza di
sostanze che possono essere
magnetizzate.
La memoria secondaria
• La magnetizzazione è permanente fino a quando non
viene modificata per effetto di un agente esterno.
• I due diversi tipi di magnetizzazione corrispondono alle
due unità fondamentali di informazione (bit).
• Le tecnologie dei dischi ottici sono completamente
differenti e sono basate sull'uso di raggi laser.
• Il raggio laser è un particolare tipo di raggio luminoso
estremamente focalizzato che può essere emesso in
fasci di dimensioni molto ridotte.
•
•
•
•
Caratteristiche dei vari tipi di memoria secondaria
I supporti di memoria di massa sono molto più lenti
rispetto alla memoria principale (presenza di
dispositivi meccanici).
Le memorie di massa hanno capacità di
memorizzazione (dimensioni) molto maggiori di
quelle delle tipiche memorie principali
Il processore non può utilizzare direttamente la
memoria di massa per l'elaborazione dei dati
Il programma in esecuzione deve essere in
memoria principale e quindi le informazioni
devono essere trasferite dalla memoria
secondaria a quella principale ogni volta che
servono
Caratteristiche dei vari tipi di memoria
secondaria
• Nel caso della memoria principale si ha
sempre l'accesso diretto ai dati, nel caso
della memoria secondaria solo alcuni
supporti consentono l'accesso diretto mentre
altri supporti permettono solo l'accesso
sequenziale.
• La memoria principale consente di indirizzare
il singolo byte di informazione, nelle memorie
di massa le informazioni sono organizzate in
blocchi di dimensioni più grandi, di solito da 1
KByte in su.
I dischi magnetici
• I dischi magnetici sono i dispositivi di
memoria secondaria più diffusi
• Sono dei supporti di plastica o vinile, su cui è
depositato del materiale magnetizzabile
• Nel corso delle operazioni i dischi vengono
mantenuti in rotazione a velocità costante e
le informazioni vengono lette e scritte da
testine del tutto simili a quelle utilizzate nelle
cassette audio/video
• Entrambi i lati di un disco possono essere
sfruttati per memorizzare le informazioni
I dischi magnetici
• I dischi sono suddivisi in tracce concentriche e settori, ogni settore è una
frazione di traccia. I settori suddividono ogni traccia in porzioni di
circonferenza dette blocchi (o record fisici). Piu’ settori rappresentano un
cluster.
I dischi magnetici
• La suddivisione della superficie di un disco in
tracce e settori viene detta formattazione
• Il blocco (o il cluster) è dunque la minima unità
indirizzabile in un disco magnetico e il suo
indirizzo è dato da una coppia di numeri che
rappresentano il numero della traccia e il
numero del settore ( o del cluster).
• I dischi magnetici consentono l'accesso diretto
in quanto è possibile posizionare direttamente la
testina su un qualunque blocco senza dover
leggere quelli precedenti
Struttura di un settore
preambolo
dati
dati
ECC
Codici correttori di errore :
dati in più per accorgersi se
la lettura è andata bene
Permette alla testina di capire che
sta iniziando un nuovo settore, fornisce
il numero del cilindro, traccia,settore ,etc
MQ
61
•
I
dischi
magnetici
Per effettuare un'operazione di lettura (scrittura) su un blocco è
necessario che la testina raggiunga l'indirizzo desiderato
(cilindro,traccia,settore)
• Il tempo di accesso alle informazioni sul disco è dato dalla somma di tre
tempi dovuti a:
– Tempo di posizionamento(seek time) : spostamento della testina in
senso radiale fino a raggiungere il cilindro e quindi la traccia
interessata (seek time);
I valori di seek time variano in funzione della traccia di partenza e
quella di destinazione; per questo motivo il costruttore dovrebbe
fornire il tempo minimo e il tempo medio di posizionamento;
I valori di seek time minimo e medio dipendono dalla qualita’
elettromeccanica del dispositivo .
Esempio: Disco per portatili seek time minimo= 1,0 ms
seek time medio
= 9,5 ms
Disco SCSI 12000 rpm
seek time minimo
seek time medio
= 0,3 ms
= 3,6 ms
I dischi magnetici (cont.)
– Tempo di latenza :attesa che il settore
desiderato si trovi a passare sotto la
testina; tale tempo dipende dalla
velocità di rotazione del disco:
Latency time =
Per esempio: se un disco effettua 12000 giri al minuto, il suo tempo di
latenza e’ = 60/(2*12000) secondi ovvero 2,5 millisecondi.
I dischi magnetici (cont.)
Tempo di trasmissione di un blocco: Il tempo
necessario affinchè un blocco cercato transiti
sotto la testina dipende dalla velocita’ di rotazione
del disco, dalla densita’ di registrazione e dalla
dimensione in byte del blocco:
(byte per blocco)
Ttrasmissione diunblocco 
* (Trotazionecompleta )
(byte per traccia )
Transfer Time (cont.)
Tempo di trasferimento : Se conosciamo il
numero di byte ( b) da trasferire Il tempo
necessario per il trasferimento e’:
Ttrasmissione di b bytes 
b
rN
Dove T = tempo di trasferimento
b = numero di byte da trasmettere
N = numero di byte in una traccia
r = numero di rotazioni al secondo
 Esiste anche un tempo di overhead del controller, ovvero il tempo che intercorre tra la richiesta
al controller e l’inizio della esecuzione del comando da parte del controller. Questo tempo è di
circa 0,2 millisecondi e spesso si trascura nei calcoli.
I dischi magnetici
(cont.)
Esempio
Conoscendo la velocita’ di rotazione di un disco
VRPM
Conoscendo la quantita’ di byte per settore
Bps
Conoscendo il numero di settori in una traccia
NSpt
Calcolando il numero di byte per traccia
NBpt
( giri al minuto )
Possiamo calcolare il tempo necessario per la lettura di X byte nell’ ipotesi che si
trovino tutti su settori consecutivi e su tracce adiacenti.
Conviene trasformare VRPM ( giri al minuto) in
giri al secondo VRPs = (VRPM /60)
Nel caso di
Bps = 512
VRPM = 10000
VRPs =10000/60  166 giri/sec
NSpt = 300
T(trasmissione di X byte)
NBpt 153600
X = 300K = 307200 byte
(X )

(VRPs ) * ( N Bpt )
otteniamo il valore di 12 ms (millisecondi) per leggere 300K byte
 NOTA: trascuriamo, per semplificare, il tempo di passaggio da una traccia all’altra consecutiva.
I dischi magnetici (cont.)
• Le testine dei dischi rigidi volano vicinissime alle
superfici dei piatti ( altezza di volo  0,1 m dove 1
m = 10-6metri).
[Un capello umano , per un raffronto ha un diametro di circa 100 m ]
• Sono generalmente racchiusi in contenitori sigillati in
modo da evitare qualunque contatto con la polvere
• I dischi rigidi hanno capacità di memorizzazione
elevata, ordine di decine di Gbyte
• Il tempo di accesso ad un disco è dell’ordine dei
millisecondi (10-3sec).
Difficolta’ costruttive di un Hard Disk
L'altezza di volo della testina è strettamente connessa
alla densità di registrazione: minore è la distanza,
migliore è la possibilità di rilevare le variazioni di
campo magnetico, maggiore è la densità possibile.
MQ
68
Registrazione di un bit sul disco rigido
Fino al 2005 circa la memorizzazione di un bit veniva effettuata tramite un
campo magnetico di intensità adeguata per poter allineare, in senso
longitudinale, i domini magnetici del materiale magnetizzabile.
Una nuova tecnica chiamata Perpendicular recording permette di
magnetizzare il supporto di registrazione in senso perpendicolare.
Questa tecnica è in grado di aumentare fino a dieci volte la capacità di
memorizzazione di un hard disk.
MQ
69
Memorie a stato solido(ssd)
SSD dal termine inglese Solid-State Drive
• Negli ultimi anni sono andate sempre più
diffondendosi le memorie a stato solido o flash
memory come supporto di memoria secondaria.
• Questo tipo di memoria è usato per
implementare la memoria di massa nei
dispositivi mobili, come gli smart phone e
i tablet .
• Più di recente, le memorie flash vengono anche
usate nei computer, ad integrazione (ed anche
in sostituzione) del disco rigido.
MQ
70
Memorie a stato solido (..)
- Tecnicamente,
sono particolari tipi di EEPROM
(Electronically Erasable Programmable Read-Only
Memory): possono non solo essere lette, ma anche
riscritte. Tuttavia, la riscrittura avviene a livello di interi
blocchi di dati, ossia anche i dati non modificati del blocco
vanno riscritti.
- Sono memorie permanenti ma con una limitazione circa
il numero di riscritture per blocco (attualmente si parla di
200.000 riscritture ma tale valore tende ad aumentare
grazie ai progressi tecnologici)
- Prima di essere riscritto, il blocco deve essere cancellato
(appunto con un processo di “flashing”, da cui il nome
delle memorie). Questo rende le memorie flash più lente
in scrittura che in lettura.
MQ
71
Vantaggi per gli ssd
I vantaggi di un SSD, nei confronti di un HDD sono:
-Maggiore Velocità: Non c'è paragone, gli SSD risultano
essere molto più veloci degli HDD. I tempi di accesso alle
informazioni sono notevolmente minori e le velocità di
lettura e scrittura passano da circa 40-50 MB/s (HDD) a
300-500 MB/s (SSD).
In questa maniera i tempi di accensione di un computer e
di avvio dei programmi si dimezzano, in molti casi i risultati
sono anche migliori.
-Silenziosità: Non avendo parti meccaniche gli SSD non
generano affatto rumori.
-Consumi: Consumano pochissimi Watt a differenza delle
decine di Watt consumati dagliMQ
HDD.
72
Vantaggi per gli ssd ..
-Minore produzione di calore: Dovuta all'assenza di parti
in movimento e al ridotto consumo elettrico.
-Maggiore robustezza: Dovuta all'assenza di parti
meccaniche.
-Insensibilità alla frammentazione dei dati: Il tempo di
accesso a un blocco di memoria è uguale ovunque esso
sia, negli Hard Disk, invece, se i blocchi di uno stesso file
sono distanti tra loro la testina impiega più tempo per
raggiungerli.
Per questo motivo è importante, quando si utilizza un SSD,
disabilitare la deframmentazione che sarebbe inutile e
inoltre dannosa perché sprecherebbe parecchi cicli di
riscrittura (leggere gli svantaggi).
MQ
73
SSD e HD
Una memoria a Stato Solido
UN hard disk classico
MQ
74
Svantaggi per gli ssd
-Costo maggiore: A parità di capienza un SSD costa molto
più di un HDD, anche 10 volte di più.
-Limite di scritture delle memorie flash: Le celle delle
memorie Flash possono essere riscritte solo un numero
limitato di volte, che va da 100.000 a un 1 milione di cicli di
scrittura, che comunque garantiscono decine di anni di vita
con un utilizzo normale.
L'utilizzo di nuovi materiali sta permettendo di aumentare
notevolmente il numero di cicli di riscrittura a disposizione.
MQ
75
DIFFERENZA TRA MEMORIA SECONDARIE E
MEMORIE CENTRALI
Una
memoria
secondaria
ha
le
seguenti
caratteristiche fondamentali, che la differenziano dalla
memoria centrale:
Non volatilità: i dati memorizzati non vengono persi allo
spegnimento del calcolatore (perché memorizzati in forma
magnetica o ottica e non elettronica

Grande capacità :una unità di memoria secondaria ha
capacità maggiore (anche di diversi ordini di grandezza)
rispetto alla memoria centrale

Bassi costi: il costo per bit di una memoria secondaria è
minore (di diversi ordini di grandezza) rispetto alla memoria
centrale

MQ
76
DIFFERENZA TRA MEMORIA SECONDARIE E
MEMORIE CENTRALI
(2)
Altre caratteristiche delle memorie secondarie rispetto
alle memorie centrali.

Minore velocita’ di accesso.
I tempi di accesso a una memoria secondaria sono
maggiori (millisecondi ) rispetto alla
memoria principale (nanosecondi).

I dati di una memoria secondaria per essere acceduti dal
processore devono comunque transitare nella memoria
centrale
MQ
77
I dischi magnetici-FLOPPY
• I floppy disk (dischetti flessibili) sono supporti
rimovibili non rigidi di materiale plastico e ricoperti
da un piccolo strato di sostanza magnetizzabile.
• Hanno tempi di accesso di circa 500ms ( la testina
tocca la superficie , questo crea problemi di surriscaldamento)
• Velocita’ di rotazione : circa 300 rpm ( tenere
presente che i floppy sono soggetti a continue
variazioni di velocita’ poiche’ si fermano quando la
trasmissione dati finisce)
• I comuni floppy disk da 3.5" hanno capacità di
memorizzazione di 1.4 Mbyte ( 80 tracce 18 settori
per traccia su ogni faccia)
1 settore=512 bytes
I dischi ottici
• I dischi ottici sono basati sull’uso di un raggio
laser per le operazioni di lettura;
• Quasi tutte le unità per dischi ottici consentono
solamente operazioni di lettura poiché la
scrittura è un'operazione complicata, che
richiede delle modifiche fisiche del disco.
• Quando le unità consentono la scrittura, i dischi
ottici generalmente possono essere scritti una
sola volta perché le modifiche fisiche che
avvengono durante la fase di scrittura sono
irreversibili
DISCO OTTICO
MQ
80
I dischi ottici
• I dischi ottici vengono usati solitamente
per la distribuzione dei programmi e come
archivi di informazioni che non devono
essere modificate;
• Le dimensioni tipiche per i dischi ottici
utilizzati oggi vanno dai 500 MByte in su,
fino a uno o più GByte
• I dischi ottici hanno costo inferiore e sono
molto più affidabili e difficili da rovinare.
I dischi ottici (…continua)
Il dispositivo è costituito da un piatto rigido su cui viene
proiettato un raggio laser la cui potenza (ordine dei
milliwatt) dipende dal tipo di operazione effettuata
(lettura, scrittura, cancellazione per riscrittura). La
riflessione cambia quando si incontrano piccole
depressioni nel substrato (PIT < 1) rispetto alla
superficie (LAND).
ATTENZIONE! Non bisogna identificate il PIT con 0 e
il LAND con 1 . Il valore digitale 1 viene associato
ad una variazione tra PIT e LAND oppure tra LAND e
PIT, mentre il valore 0 significa nessuna variazione.
MQ
82
MQ
83
I dischi ottici (…continua)
Le possibili organizzazioni sono fondalmente due:
CD (Compact Disc)
• L’informazione è memorizzata in un’unica traccia a spirale
lungo la quale la densità di scrittura è costante (1,66/micron
pari a 42 kbit/pollice), in questo modo la superficie è sfruttata
al massimo. La distanza tra 2 giri successivi della
spirale(track pitch) e’ di 1,6 micron.
Il disco ruota a velocita’ lineare costante (CLV). A
seconda della posizione dei dati da leggere la velocita’ di
rotazione varia da 200 a 500 giri al minuto (1x velocita’ di
base
1,2 m/s).Tale velocita’ e’ determinata dal bit rate
necessario per la riproduzione dei brani musicali
(~150KB/sec). Ma per applicazioni digitali tale velocita’ risulta
troppo bassa. Sono presenti ormai da molti anni dispositivi
con velocita’ multipla indicati con 2X, 4X,.. 30X..40X..
MQ
84
I dischi ottici CAV (…continua)
 Il disco ruota a velocita’ angolare costante
CAV(Constant Angular Velocity )
 La superficie del disco e’ suddivisa in settori ,
separati tra loro da gap
Il numero di bit per settore è costante, quindi la
densita’ di scrittura e’ maggiore in corrispondenza
del centro del disco.
Naturalmente la superficie esterna risulta sotto
utilizzata.
MQ
85
I CD-Recordable
Sono CD registrabili solo una volta. Due strati
di policarbonato racchiudono un sottilissimo
foglio dorato ricoperto di pittura traslucida che
si comporta come la parte LAND dei CD. La
registrazione consiste nel bruciare punti nello
strato di pittura. E’ possibile effettuare
registrazioni in piu’ sessioni, anche se le
sessioni sono separate da spazi detti GAP,
che sprecano tuttavia una grande quantita’ di
spazio.
MQ
86
I CD-RW (rewritable)
Sono CD cancellabili e riscrivibili. Usano la
tecnologia del phase change( con potenze
laser differenti 8 o 18 milliwatt si trasforma
una zona da cristallina ad amorfa e
viceversa). La lettura avviene proiettando un
raggio laser di bassa potenza che viene
riflesso in modo diverso a seconda che il
punto si trovi in uno stato cristallino o amorfo.
MQ
87
DVD
• DVD (Digital Versatile Disk) o (Digital
Video Disk)
– Capacità attuale di ~5GB
– I PIT sono piu’ piccoli ( 0.4)
– Possono essere a due strati e a due facce.
• DVD-R scrivibili solo una volta
• DVD-RAM leggibili e scrivibili ( hanno
bisogno di un supporto in cui sono inseriti)
• Possono impiegare dispositivi sia CAV che
CLV
MQ
88
IL DISPOSITIVO DVD
MQ
89
confronto DVD E CD-ROM
DVD
CD
Diametro del disco
120 mm
120 mm
Spessore del disco
1.2 mm (0.6 mm x 2)
1.2 mm
Numero di superfici
1 or 2
1
Numero di strati
1 or 2
1
Dimensione min.piazzole
0.4 micron
0.834 micron
Larghezza traccia
0.74 micron
3.058 micron
Vel. media di trasf.
4.7 Mbyte/sec
0.15 Mbyte/sec
Capacità (1 strato,1 sup.) 5 Gbyte
0.682 Gbyte
Capacità (2 strati, 2 sup.) 17 Gbyte
Laser wavelength
640 nanometri
780 nanometri
MQ
90
Prestazioni memoria
Tipo
Registro
Cache
RAM
EEprom
Dischi
Nastri
Dimensioni
< 1KB
< 2MB
< 4GB
1G .. 128GB
> 50GB
>10GB
Tempo
< 0,5ns
< 10ns
< 50ns
< 100ns
< 10ms
~ 100ms
MQ
MB/sec
20 000 ~ 100 000
5000 ~ 10 000
1000 ~ 5000
2 ~ 1000
20 ~ 80
~1
91
DISPOSITIVI DI I/O
MQ
92
I dispositivi di
I/O
I dispositivi di I/O rappresentano l’interfaccia del calcolatore verso l’ambiente esterno
Possiamo classificare i dispositivi esterni in tre grandi categorie:
1) DISPOSIT. DECIFRABILI DALL’UOMO:
adatti alla comunicazione con l’utente del calcolatore
(es: terminali e stampanti)
2) DISPOSIT. DECIFRABILI DALLA MACCHINA: :
adatti alla comunicazione con le apparecchiature
(es: dischi, nastri, sensori, attuatori etc..)
3) DISPOSITIVI DI COMUNICAZIONE:
adatti alla comunicazione con i dispositivi remoti.
(es. schede di rete, disp wireless, infrarossi etc..)
Anche la memoria secondaria viene considerata come un
dispositivo di I/O. Da un punto di vista funzionale i dischi fanno parte della gerarchia di memoria,
ma da un punto di vista strutturale sono controllati da moduli di Input/Output.
Ogni periferica è costituita da 3 componenti:
1 - Una componente visibile, il dispositivo in senso lato detto device
2 - Una componente elettronica di controllo chiamato device controller
3 - Una componente software device driver
MQ
93
Funzioni del modulo I/O
•
•
•
•
•
Controllo & Temporizzazione
Comunicazione con CPU
Comunicazione con i dispositivi
Buffering dei dati
Rilevazione degli errori
MQ
94
Passi di I/O (versione semplificata)
• CPU interroga il modulo I/O sullo stato del
dispositivo connesso
• Il modulo I/O restituisce lo stato del dispositivo
• Se dispositivo pronto a trasmettere, CPU richiede
il trasferimento dei dati, tramite comando a
modulo I/O
• Il modulo I/O ottiene una unità di dati dal
dispositivo esterno
• Il modulo I/O trasferisce i dati alla CPU
MQ
95
MODULO DI I/O
MQ
96
Il CONTROLLER



Riceve gli ordini dal microprocessore e li
impartisce al dispositivo fisico;
Risiede su un circuito stampato ed è solitamente
esterno all’unità periferica ed all’interno dello
chassis;
Il collegamento tra il controller e la periferica
avviene attraverso opportuni connettori.
MQ
97
Il device driver
• Componente
sw necessaria per la gestione
della periferica
• Ogni periferica ha un proprio driver che viene
consegnato su un disco all’atto dell’acquisto
della periferica
• Prima di utilizzare la periferica è necessario
installare il driver corrispondente
MQ
98
Porte
Le periferiche sono collegate fisicamente
al computer attraverso opportune prese
(porte).
La modalità di collegamento può essere
seriale (trasferito un bit alla volta) oppure
parallela (trasferito più di un bit alla volta).
MQ
99
Porte tipi
• Seriale: serve per il modem o alcuni tipi
di stampanti che non richiedono una
elevata velocità di trasmissione. I cavi
possono avere lunghezza anche di 300 m.
• Parallela: per stampanti e alcuni
dispositivi di memoria di massa. La
lunghezza massima consentita ai cavi è di
30 m
MQ
100
Porte tipi
• SCSI (Small Computer Standard Interface)
•
•
•
Permettono di collegare più componenti alla stessa porta
Garantiscono una elevata velocità di trasmissione
Utilizzate per disco fisso, lettore CD-ROM, scanner.
• USB (Universal Serial Bus, a modalità di trasmissione seriale)
1. Trasmissione molto più veloce rispetto alla seriale (RS232)
2. Utilizzano cavi sottili facilitando così i collegamenti.
3. Permettono il collegamento in serie di dispositivi diversi (fino a 127
dispositivi)
4. Distribuiscono la corrente (per dispositivi a basso consumo )
5. Permettono di aggiungere e rimuovere dispositivi a computer acceso (hot
plugging)
MQ
101
Porte tipi
•
•
1.
2.
3.
Firewire
Hanno le stesse caratteristiche di base delle USB
Sono però più affidabili delle USB1 e usb2, ma anche
più costose
Collegamento a raggi infrarossi.
Lo scambio di dati avviene in assenza di fili (wireless)
attraverso un raggio infrarosso emesso dall’unità
La traiettoria del raggio è una retta e quindi le porte
dei dispositivi devono essere perfettamente allineate.
Il raggio infrarosso non può essere interrotto, quindi
non ci devono essere ostacoli tra le due porte.
MQ
102
PORTE
Collegamento radio (wireless)
• Lo scambio di dati avviene in assenza di
fili (wireless) attraverso onde radio
emesse dall’unità
• La traiettoria delle onde è a 360°, quindi le
porte wireless dei dispositivi non devono
necessariamente essere allineate.
MQ
103
I dispositivi di input/output
• Una caratteristica comune a tutti i dispositivi di
I/O è quella di operare in modo asincrono
rispetto al processore
– Consideriamo una tastiera che produce dei dati di
input. Il processore non è in grado di prevedere e di
controllare il momento in cui un dato di input sarà a
disposizione
– Allo stesso modo, il processore non può prevedere il
momento in cui un dispositivo in output avrà terminato
di produrre i dati in uscita
• Sono pertanto necessarie delle forme di
sincronizzazione tra i dispositivi e il processore
I dispositivi di input/output
• Un dispositivo di input deve avvertire il
processore quando un dato di input è disponibile
• Un dispositivo di output deve avvertire il
processore quando ha terminato di produrre dati
in uscita
• Le operazioni di sincronizzazione delle attività
sono fondamentali nell'interazione tra il
processore e i dispositivi
• I dispositivi che hanno terminato un'operazione
inviano al processore un segnale, detto
interrupt, per richiedere l'attenzione del
processore stesso
I dispositivi di input/output
• Ad ogni ciclo di clock, l'unità di controllo, prima di
iniziare l'esecuzione della prossima istruzione del
programma in corso, verifica se è arrivato un
segnale di interrupt da parte di qualche dispositivo
• Se non c'è nessun segnale di interrupt il processore
prosegue normalmente, altrimenti puo’ decidere di
sospendere l'esecuzione del programma attivo ed
eseguire le operazioni richieste dal dispositivo (
interrupt routine)
I dispositivi di input/output:
• Il terminale è il più comune strumento di
interazione tra l'uomo e la macchina
• È costituito da due dispositivi indipendenti: uno
di input, la tastiera, e uno di output, il video
• La tastiera è il principale dispositivo di input nei
moderni sistemi di elaborazione
• I tasti possono essere così raggruppati :
– tasti alfanumerici;
– tasti speciali (il tasto ENTER, il tasto BACK SPACE, il
tasto LINE FEED ecc.);
– frecce direzionali;
– tasti funzione
I dispositivi di input/output: tastiera
• La tastiera non ha capacità di elaborazione,
l'unica cosa che è in grado di fare è di avvertire il
processore ogni volta che un carattere è
disponibile in ingresso;
• Si tratta quindi di un dispositivo di ingresso a
carattere;
• È compito del sistema quello di prelevare il
carattere, depositarlo in una memoria
temporanea ed infine, al termine
dell'immissione, passare i dati di input raccolti
nella memoria temporanea al programma cui
erano destinati
LA TASTIERA
MQ
109
I dispositivi di input/output: tastiera
• La tastiera è un dispositivo di input cieco, nel
senso che l'utente non può vedere i dati immessi
nel calcolatore
• Per questa ragione la tastiera è utilizzata
insieme ad un dispositivo di output su cui
vengono visualizzate le informazioni fornite
tramite tastiera
• La tastiera e il video non sono direttamente
collegati tra loro: è compito del processore
riprodurre sul video tutte le informazioni
fornite in input tramite la tastiera
I dispositivi di input/output: il
terminale
• Dal punto di vista fisico, un video può
essere visto come una matrice di punti
illuminati con diversa intensità
• Ogni punto sullo schermo prende il nome
di pixel e un'immagine viene quindi
composta accendendo o spegnendo i pixel
sullo schermo
• Ci sono video in bianco e nero o a colori e
inoltre si deve distinguere tra video a
carattere, e video grafici
I dispositivi di input/output: il
terminale
• Oggi sono comuni video con un numero di colori che
vanno da 256 (8 bit) fino a 16 milioni(24 bit).
• Esistono video a diversi livelli di risoluzione, cioè con
diverse densità di pixel; nei personal sono oggi comuni
video con risoluzioni che vanno da 640X480 fino a
4096X3300 pixel (altissima risoluzione)
• La dimensione di un video viene misurata in pollici e fa
riferimento alla lunghezza della diagonale
• Ad esempio, quando si parla di un video a 14 pollici,
indicati come 14", si intende un video con una diagonale
lunga 14 pollici (1 pollice vale circa 2,54 cm )
I dispositivi di input/output: il mouse
• Oggi quasi tutti i computer hanno un dispositivo di
puntamento detto mouse .
• Benche’ i mouse si possano organizzare in vari modi, quello
più diffuso è un dispositivo che invia 3 byte ( a volte 6) al
calcolatore ogni volta che si sposta di una distanza minima
( per esempio 0,01 pollici detta michey) .
Il primo byte consiste in un numero che definisce di quante
unita’ il mouse si e’ spostato nella direzione dell’asse x negli
ultimi 100 millisecondi; il secondo byte e’ la stessa
informazione per lo spostamento y; il terzo byte contiene
informazioni sullo stato dei pulsanti del mouse. Il software di
controllo (device driver) sovrintende alla comunicazione con
l’unita’ centrale.
Mouse Ottico
La microcamera in un mouse ottico che ha il compito di
"fotografare" la superficie sottostante
piu’ di 1500 volte al secondo.
In questo tipo di Mouse non c'è praticamente nessuno dei
componenti del mouse elettromeccanico, e tutto il lavoro
viene svolto da una luce a infrarossi che viene emessa e che
rimbalzando sulla superficie di appoggio del mouse viene
catturata da un sensore.
Il sensore invia i dati ad un DSP ( Digital Signal Processor )
che costruisce l'immagine della superficie sottostante.
Compiendo questa operazione migliaia di volte al secondo
(più di 1500!), il DPS riesce a capire mediante il confronto
delle immagine inviate dal sensore i movimenti fatti e ad
inviare le relative coordinate al PC.
I dispositivi di input/output:
le stampanti
• La stampante è un dispositivo di output che consente la
stampa su carta delle informazioni
• La velocità di stampa, che viene solitamente misurata in
linee al minuto o in caratteri al secondo, e la risoluzione
(qualità) di stampa, che indica quanto precisa è la
riproduzione dei simboli, sono parametri in base ai quali
si valutano le prestazioni di una stampante
I dispositivi di input/output: le stampanti
• Esistono diversi tipi di stampanti; i più
comuni sono:
– Stampanti a margherita o a testina rotante
– Stampanti a catena ( in disuso)
– Stampanti ad aghi
– Stampanti a getto di inchiostro.
– Stampanti laser
FUNZIONAMENTO DI UNA STAMPANTE LASER
Il tamburo viene caricato elettricamente
(circa 1000V) Una luce laser riflessa su uno
specchietto rotante viene fatta scorrere su tutta
la lunghezza del tamburo. Il raggio di luce viene
modulato per produrre una configurazione di
punti chiari e scuri. I punti colpiti dal raggio
perdono la loro carica elettrica. Dopo aver
eseguito la scansione su una riga il tamburo
ruota di una frazione di grado per poter esporre
la linea seguente . Infine la prima riga di punti
raggiunge il toner. Il toner viene attirato dai
puntini che sono ancora carichi e così si forma
un’immagine della riga. Un po’ più avanti nel
percorso, il tamburo ricoperto di toner viene
premuto contro il foglio di carta e ne trasferisce
il toner. La carta viene poi fatta passare
attraverso dei rulli riscaldati che fissano
permanentemente il toner sulla carta. Più avanti
nella rotazione, il rullo viene scaricato e ripulito
di eventuali residui.
MQ
117
BUS
• UN BUS E’ UN CANALE DI COMUNICAZIONE
CONDIVISO FRA PIU’ PERIFERICHE
• I COMPONENTI DI UN COMPUTER
(CPU, memorie, dispositivi di I/O)
COMUNICANO TRA LORO MEDIANTE UNO O
PIU’ BUS.
• LE PRESTAZIONI DEI BUS INFLUENZANO IN
MANIERA DETERMINANTE LE PRESTAZIONI
DEL SISTEMA.
MQ
118
GRANDEZZE caratteristiche di un BUS
• LARGHEZZA:
 Numero di bit del bus dati ( ex: ISA 16 bit ;
PCI 32/64 bit)
• VELOCITA’:
 Frequenza di lavoro del bus
 Numero di byte per ciclo di clock
• TRANSFER RATE:
 Numero di byte trasmessi sul bus in
MB/sec
(esempio Bus PCI a 32 bit a 66MHz e’ in grado di reggere
trasferimenti pari a 264 MB/sec.
MQ
119
BUS
•
VANTAGGI
VERSATILITA’:
 Nuovi dispositivi possono essere aggiunti facilmente
 Le periferiche possono essere spostate facilmente
da un computer a un altro se utilizzano lo stesso tipo
di BUS
•
COSTI CONTENUTI:
 Un singolo insieme di “fili” viene usato per collegare
piu’ periferiche
 Numero di byte per ciclo di clock
•
Possibilita’ di realizzare dispositivi compatti
 Si riduce drasticamente la complessita’ della rete di
interconnessione tra periferiche.
MQ
120
BUS SVANTAGGI
• Possono diventare il collo di bottiglia delle
comunicazioni ( La banda di un bus limita i
trasferimenti di INPUT/OUTPUT)
• La velocita’ massima e’ limitata da:
– La lunghezza del Bus
– Il numero di dispositivi sul Bus
– La necessita’ di poter gestire dispositivi con
prestazioni e velocita’ di trasferimento fra loro
diverse( ex: dischi veloci, lettori CD, scheda
video etc.)
MQ
121
GERARCHIA DEI BUS
• I Bus di un computer sono organizzati
gerarchicamente come la memoria
• In un Personal computer troviamo:
– Processor Bus
– Cache Bus
– Memory Bus
– Local I/O Bus
– Bus di espansione
MQ
122
MQ
123
I BUS PIU’ DIFFUSI
ISA = Industry Standard Architecture
|
USB = Universal Serial Bus
| IDE= Integrated Device Electronics
EISA = Extended ISA
|
VESA = Video Electronics Standards Association
PCI = Peripheral component interconnect | SCSI= Small Computer Standard Interface
AGP= Accelerated Graphics Port
| PCMCIA = Personal Computer Memory Card International Association
MQ
124
ARCHITETTURA DI UN PC MODERNO
MQ
125
BUS SINCRONI E ASINCRONI
(NOTA
I Bus sincroni prevedono una linea che trasporta il segnale di sincronismo
(clock). Il segnale e’ costituito da un’onda quadra con frequenza che va
da pochi MHz ad alcune decine .
Tutte le attivita’ del bus avvengono in un numero intero di cicli e tutti i
dispositivi connessi al bus operano in un numero intero di cicli, anche se
certe attivita’ possono richiedere solo frazioni di ciclo.
Questi tipi di bus sono tecnologicamente piu’ semplici, dal punto di vista
costruttivo, rispetto a quelli asincroni, ma hanno la limitazione legata al
fatto che tutti i dispositivi sono legati al rispetto della durata prevista per i
cicli. Cio’ nonostante, i bus piu’ diffusi tra i PC ed i Macintosh sono di
questo tipo
TRASMISSIONE SINCRONA: Se l’unita’ A1
stabilisce in un certo istante la fine dell’operazione
richiesta all’unita’ A2, l’operazione si dice
SINCRONA
MQ
126
BUS SINCRONI e ASINCRONI
(NOTA)
I Bus asincroni non prevedono un clock e i cicli possono
essere di lunghezza arbitraria e diversa tra dispositivi diversi.
Questi tipi di bus, a costo di una maggiore complessita’
progettuale, ovviano al problema del vincolo della velocita’ di
ciascun dispositivo alla frequenza di temporarizzazione del
bus.
Tutte le attivita’ del bus asincrono si svolgono tramite segnali
tra la parte richiedente (MASTER) e la parte servente
(SLAVE), senza dipendere dal ritmo imposto da qualche
dispositivo di riferimento.
Se l’unita’ A1 deve fornire informazioni all’unita’ A2, nel caso in cui
quest’ultima(A2) segnala alla precedente (A1) la fine della operazione,
allora si dira’ che l’operazione si e’ svolta in maniera ASINCRONA

MQ
127
MQ
128
GERARCHIA DELLE MEMORIE
MQ
129
MQ
130
Sommario memorie
Tipo
Dimensioni
T. accesso
Volatile?
Registri
< 1KB
< .5 ns
si
Cache
< 1MB
< 10ns
si
RAM
< 1GB
< 100ns
si
Dischi
> 50 GB
10 ms ca.
No
Nastri
> 10 GB
100 ms ca.
No
10 ms ca
No
10 ms ca
No
CD-ROM
650 MB
CD-RW
DVD
17 GB
(Digital Versatile Disc)
MQ
131
MQ
132
MQ
133
ESERCIZIO
MQ
134
PRESTAZIONI
Il processore
• Dati 2 processori con lo stesso linguaggio
macchina, risulterà più veloce quello con
frequenza di clock maggiore
• Non è possibile dire nulla su processori con
linguaggi macchina diversi come ad esempio
Pentium e PowerPC
MQ
135
PRESTAZIONI
Esempio
• 2 calcolatori A e B, il clock di A è 500MHz, quello di B
400MHz. Il linguaggio macchina di A richiede che A esegua
10 operazioni elementari per ogni istruzione, quello di B, 6
operazioni elementari per ogni istruzione. Supponiamo che
entrambi debbano eseguire un programma di 100M istruzioni
di linguaggio macchina.
A impiegherà 2s
B impiegherà 1,5s
Caso A(500Mhz) 10^8 istruzioni corrispondono a 10^8*10 = 10^9 op.elem = 2sec
Caso B(400Mhz) 10^8 istruzioni corrispondono a 10^8*6 op.elem = 6/4 sec = 1,5sec
La frequenza di clock non è quindi un indice assoluto per
quanto riguarda la bontà di un microprocessore.
MQ
136
Scarica

PPT - Benvenuti da poincare.unile.it