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
IL DATAPATH
Esempio di datapath
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
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
• 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 dedicato a
“particolari” attivita’ (anche
per il tempo libero!). 7
MQ
IL BIOS
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’hrdware 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
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
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
consumo dove vengono messi i dati di configurazione dei dispositivi presenti e
cheMQ
possono essere alterati dall'utente. Il chip CMOS e' alimentato da una 8
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.
batteria tampone per cui anche spegnendo il PC i dati non si perdono.
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 il 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
9
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
10
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
11
Dalla EPROM alla EEPROM
Ancora meglio delle EPROM è l’EEPROM
(Elettrically Erasable PROM).
Si puo’ cancellare ( un byte alla volta) tramite impulsi
elettrici e si puo’ riprogrammare sul posto senza
estrarla.
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
12
La memoria principale
• Un altro nome con cui viene indicata la
memoria principale è memoria 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
18
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
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 elementare di processore ( con registri generali)
IL PROCESSORE
A
B
T
MX
IR
PC
MD
Alla memoria
CONTR.
UNIT
MAR
clock
ALU
F
EAR
ED
Alle unita’
esterne
Schema elementare di processore ( senza registri generali)
con 2 accumulatori ( A e B)
MQ
21
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
22
CPU con registri generali
MQ
23
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
24
,lettura, attesa, pronto etc..
ARCHITETTTURA (semplificazione.)
MQ
25
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
26
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 dettagliatada una serie di
microistruioni che sono immagazinate in
particolari memorie ( Control Store)
MQ
27
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
29
FASE
DI
FETCH
Il termine FETCH indica la copia di un’informazione
dalla memoria all’interno della CPU
Il
contenuto del Program counter
„Il contenuto del Program counter
viene
vienespostato
spostatonel
nelregistro
registroindirizzi
indirizzi
„
1.
2.
3.
4.
(PC) Æ MAR
MEM(MAR) Æ MD
(MD) Æ IR
(PC) +1 Æ PC
Viene
prelevato dalla memoria il
„Viene prelevato dalla memoria il
contenuto
contenutodell’indirizzo
dell’indirizzopuntato
puntatoda
da
MAR
e
viene
posto
nel
registro
MD
MAR e viene posto nel registro MD
„
Il
contenuto di MD viene posto nel
„Il contenuto di MD viene posto nel
registro
registroistruzione
istruzionecorrente
corrente(IR)
(IR)
„
Il
contenuto del program counter PC
„Il contenuto del program counter PC
viene
vieneincrementato
incrementato. .
„
MQ
30
FASE DI PRELIEVO (FETCH)
MQ
31
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
32
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
33
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
35
di clock .
MQ
36
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 .
CISC o RISC
Codice assembler per l'operazione di moltiplicazione fra due valori
immagazzianti in memoria centrale:
Filosofia RISC
MOV A, %100; muovi (move) nel registro A il contenuto della cella 100
MOV B,%230; salva in un altro registro, detto B, il contenuto della cella 230
MUL C,A,B; moltiplica A per B e scrivi il risultato nel registro C
STR C, %300; scrivi (store) il valore di C nella cella numero 300
Osserviamo che, in totale, abbiamo 4 istruzioni in assembler.
Troppe per i progettisti, secondo la filosofia CISC.
Perchè non fare una singola istruzione di moltiplicazione che preveda tutte
queste operazioni una volta decodificata dal processore?
Se venisse aggiunta nell'ISA del processore, basterebbe scrivere:
MUL %300,%230,%100
per impartire l'ordine al processore di salvare il contenuto della memoria nei registri, fare la
moltiplicazione e scrivere il risultato nuovamente in memoria. Bel risparmio di mal di testa per
i programmatori in assembler! E bel risparmio per la ditta produttrice di software che
impiegherà molto meno tempo per correggere eventuali bachi nel programma, portando al
pubblico il prodotto finito in tempi più rapidi!
ISA (instruction set architecture ) Insieme delle istruzioni assembler che caratterizzano l’architettura del processore
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
40
STRUTTURA DI UNA MEMORIA
CENTRALE
MQ
41
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
42
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
43
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
44
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
MQ
45
di byte)
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 fetta di disco. 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 è 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.
• 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
55
I dischi magnetici
Per effettuare un'operazione di lettura (scrittura) su un blocco è
necessario che la testina raggiunga l'indirizzo desiderato (la testina è
ferma ed è il disco che si muove)
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 =
60
2 * n o rotazioni per min uto
I dischi magnetici (cont.)
– Tempo di trasmissione di un blocco: Il tempo
necessario affinchè un blocco cercato transiti
sotto la testina e dipende dalla velocita’ di
rotazione del disco, dalla densita’ di registrazione
e dalla dimensione in byte del blocco:
Ttrasmissione di un blocco
(byte per blocco)
=
* (Trotazione completa )
(byte per traccia)
ƒ 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
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 adiacente.
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).
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
61
DIFFERENZA TRA MEMORIA SECONDARIE E
(2)
MEMORIE CENTRALI
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
IN SINTESI
la memoria secondaria memorizza e conserva tutti i programmi e
i dati del calcolatore.
„
la memoria centrale memorizza i programmi in esecuzione e i dati
necessari per la loro esecuzione.
„
MQ
62
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
65
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
67
MQ
68
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
69
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
70
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
71
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
72
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
73
IL DISPOSITIVO DVD
MQ
74
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
75
Prestazioni memoria
Tipo
Dimensioni Tempo
MB/sec
Registro
< 1KB
< 0,5ns
20 000 ~ 100 000
Cache
< 2MB
< 10ns
5000 ~ 10 000
RAM
< 4GB
< 100ns
1000 ~ 5000
Dischi
> 50GB
< 10ms
20 ~ 80
Nastri
>10GB
~ 100ms
~1
MQ
76
DISPOSITIVI DI I/O
MQ
77
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
78
Funzioni del modulo I/O
•
•
•
•
•
Controllo & Temporizzazione
Comunicazione con CPU
Comunicazione con i dispositivi
Buffering dei dati
Rilevazione degli errori
MQ
79
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
80
MODULO DI I/O
MQ
81
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
82
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
83
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
84
Porte tipi
• Seriale: serve per il modem o alcuni tipi
di stampante 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
MQ
30 m
85
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
86
Porte tipi
•
•
1.
2.
3.
Firewire
Hanno le stesse caratteristiche di base delle USB
Sono però più veloci delle USB, 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
87
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
88
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
• 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 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
94
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
102
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
Protocolli, interfaccia( in nota)
103
GRANDEZZE caratteristiche di un BUS
• LARGHEZZA:
9 Numero di bit del bus dati ( ex: ISA 16 bit ;
PCI 32/64 bit)
• VELOCITA’:
9 Frequenza di lavoro del bus
9 Numero di byte per ciclo di clock
• TRANSFER RATE:
9 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
104
BUS
•
VANTAGGI
VERSATILITA’:
9 Nuovi dispositivi possono essere aggiunti facilmente
9 Le periferiche possono essere spostate facilmente
da un computer a un altro se utilizzano lo stesso tipo
di BUS
•
COSTI CONTENUTI:
9 Un singolo insieme di “fili” viene usato per collegare
piu’ periferiche
9 Numero di byte per ciclo di clock
•
Possibilita’ di realizzare dispositivi compatti
9 Si riduce drasticamente la complessita’ della rete di
interconnessione tra periferiche.
MQ
105
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
106
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
107
MQ
108
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
109
ARCHITETTURA DI UN PC MODERNO
MQ
110
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
111
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
112
MQ
113
GERARCHIA DELLE MEMORIE
MQ
114
MQ
115
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
100 ms ca.
No
10 ms ca
No
10 ms ca
No
Nastri
> 10 GB
CD-ROM
650 MB
CD-RW
DVD
17 GB
(Digital Versatile Disc)
MQ
116
MQ
117
MQ
118
ESERCIZIO
MQ
119
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 (Es. Pentium Vs.
PowerPC
MQ
120
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) 108 istruzioni corrispondono a 108*10 = 109 op.elem = 2sec
Caso B(400Mhz) 108 istruzioni corrispondono a 108*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
121