ROM, RAM, cache, hard disk

Transcript

ROM, RAM, cache, hard disk
iirst*
LEZIONE
La memoria RAM
La memoria
iii:l:f'
Vediamo una prima definizione: Ia memoria di un computer è costituiLa dall'insieme dei dispositiviche conservano i dati e i programmi.
La memoria di un computer si divide in due grandi categorie: memoria centrale
(o primaria) e memoria di massa (o secondaria). La prima e una memoria veloce,
diretiamente utllizzabtle dalla CPU per eseguire le operazioni richieste dal pro,
gramma, mentre la seconda è una memoria piu lenta sulla quale la cpu non può
lavorare direttamente, ma sulla quale immagazzina grandi quantità di dati.
Ci soffermeremo piu avanti sulla memoria secondaria, per ora concentriamoci
su quella centrale, che è lormara da rre tipi di memoria: RAM, RoM e cACHE.
La RAM
Nello speciiico la memoria RAM (Random Access Memory) è il supporto di
memoria su cui la cPU puo leggere e scrivere inlormazioni con un accesso
casuale, ovvero in cui e possibile accedere direttamenre a ogni singola cella
semplicemente conoscenàot-re I' indirizzo.
Mentre usiamo i1 compurer. sulla RAM viene conservata, momento per momento, la gran parte dei dari sui quali stiamo lavorando e delte istruzioni relative ai
programmi che stiamo usando. Rappresenta, quindi, il "banco di lavoro,, del
computer, nel senso che rurti i programmi, per potere essere eseguiti, devono
risiedere nella memoria R\\1. Se un programma si trova su una memoria di massa, occorre dapprima rrasferirlo in memoria RAM, per poterlo eseguire. pensa a
un CD contenente un videogioco. per poter giocare, non fai altro che inserire il
cD nel drive e, evenrualmenre. fare doppio clic sull'icona che lo rappresenta. ln
questo modo il videogioco sara prelevato dal CD e portato in memoria centrale e
solo dopo questo rrasfertr:renro si poffà ufilizzare.
La RAM presenta l'inccri.'enlenre di essere una memofia volatile, ossia perde il
suo contenuto quando r-iene spenro il computer. per questo motivo, quàndo la,
vori con un'applicazione. è s.;ona regola salvare con lrequenzalllavoío latto: in
caso conffario, se venisse a iì ratcare I'energia eletÍica perderesti tutti i tuoi dati.
Gome si misura la memoria: bit e byte
Alf interno del compurer i car: r.on sono composti da numeri o lettere, cosi
come noi li digitiamo da rasle:a. Supponiamo che il computer debba eseguire i1
prodotto di 10 per 4. I due r,::: e:r saranno introdotti daila tastiera e il riéultato
saràvisualizzato sul monir::. i::ase a cio che abbiamo detto, il numero 10 e il
numero 4 devono essere ;:ie::.-::::a:i nella memorla RAM, perché solo lì la cpU
può svolgere ilsuo lavoro. l- :::::l::er "comprende" solo impulsi eletrrici, per cui
tuttii datiche inserisci (nur:Le:-. -:::=:e. segni diinterpunzioàe e cosi vÌa) devono
essere convertiti in impulsr e-e:::_:- alilnché possano essere memorizzati. o$ni
impulso elettrico si delinisce bit :::;-,' c,igit : cilra binaria) e può essere imriaginato come una lampadina cne. :::- j cen sai, ha solo due stati: accesa e spenta.
Nel primo caso, il bit si rrova i:.;--: s:a:o 1 (che signilica passaggio di corrente
forte), mentre nel secondo caso s: ::-,,'a nello stato o (che signiiicà*non passaggio
dicorrente). Pertanto, gliunici sir:'::.- ::: ii computer ricoÀosce sono.'quindìlle
cifre 0 e 1. Potrà sembrarti strano. ::a .j-:e,e meravigliose cose che un computer
sa fare sono solo frutto di cornbina:_::_ :- - c di 1.
Non passa corrente: lampada spenta
Fassa corrente: lampada accesa
à.
Emissione
6
BLOCCO TEMATICO
A
Il sistema computer
La memotia RAM
Per rappresentare un qualsiasi simbolo, pero, il singolo bit non basta; per questo
si usa un raggruppamento di otto bit: il byte, che corrisponde a una "parola"
composta da otto bit. 11 byte assume particolare importanza in quanto permette
di rappresentare qualsiasi carattere allabetico, cifra o simbolo speciaie. Per esempio, ia lettera A corrisponde'al byte 10OOO0i0, la lettera B al byte 11000010 ecc.
.
:
I
---€-€--€--+{-
L_l
q
ry
T
+--r: <--
L__l t___l l__,1 l__lj____t \
P
_
I
\____l
Pertanto, una parola di dieci lettere occuperà dieci byte in memoria, una di quattro ne occuperà quattro e così via. Con un byte, quindi, è possibile codilicare
28 =256 diverse alternative; può quindi rappresentare un carattere scelto da un
alfabeto dl256 simboli, un numero intero compreso fra 0 e 255,un colore scelto
da una "favolozza" di256 colori diversi, e così via.
Le tabelle piu difiuse di codilica dei caratteri, come ia tabella del codice ASCII, utiIizzano proprio un byte per codilicare un carattere. Un carattere di testo, dunque,
"pesa" normalmente un byte.
Bit e byte sono, quindi, le unità di misura di base per esprimere 1a
capacità (la "dimensione") di una memoria. Con 1'aumento delle
dimensioni, occorre uttlizzaîe multipli delbyte. Però, a dilferenza
di quanto accade negli altri sistemi di numerazione (lunghezza,
peso e cosi via), per la costruzione delle unità di misura di livello
superiore non si usa il sistema decimale; nel campo del digitale è
la numerazione binaria a lare da padrona. Ecco allora che ii kilobyte non corrisponde a 1 000 byte, ma a 210 = 1024 byte. Dai uno
sguardo alla tabella con le unità di misura della memoria.
La memoria RAM è contenuta in piccole schede hardware dalle varie capacità dette SIMM (Single Inline Memory Module) o sulle nuove DIMM (DuaI Inline Memory
Modute) che vengono inserite in appositi alloggiamenti (slor) nella scheda madre.
rNDrRrzzo
t-t-l t.-l
La parola di memoria
La memoria è lormata da un insieme di celle numerate progressivamente parten-
do da zero. 11 numero che le contraddistingue, espresso come sequenza di bit, è
detto indirizzo ed è molto importante, perché a un'informazione contenuta nella
memoria si può fare riferimento solo tramite f indirizzo della cella che la contiene.
l1 concetto di cella è strettamente coilegato con quello di parola, che e una configurazione di uno o piu byte. Pertanto, lalunShezza della parola (cioè i1 numero di
blr dt cui è composta) definisce 1a dimensione della cella e quella dei registti della
CPI-. Le parole sono composte da un numero dibit multiplo di otto (32,64 e così
|iar e si parla di "sistemi a 32 bit" , "sistemi a 64 bit" e così via. Piu alto è il numero
ci bir che compongono la parola, maggiore è, in genere, la velocità del computer.
Architettura del computer uNlTÀ Dl APPRENDIMENTO 1
7
La memoria ROM
e la memoria cache
LEZIONE
La ROM
il suo compito, la cpu ha bisogno anche di una parte di memoria
non volatile, contenente una serie di informazioni fondamentali per il funzionamento del computer. Per esempio, le informazioni su quali siano i dispositivi
presenti sulla scheda madre e su come comunicare con essì.
eueste informazioni
non possono essere date "dall'esterno", perché senza di esse la stessa comunicazione con I'esterno e impossibile. Non possono nemmeno essere volatili, perché
se lo lossero scomparirebbero nel momento in cui si spegne il computer, e alla
successiva riaccenslone non sapremmo piu come reinseiirle, dato che il computer stesso non "ricorderebbe" piu come fare per comunicare con l,esterno.
Devono, pertanto, essere a portata di mano, sulla scheda madre, e conservate
da una memoria non volatile. Si tratta del cosiddetto BIOS (Basic Input-Output
System). La memoria non volatile che conserva questi dati e in genere considérata memoria a sola lettura, o memoria RoM (Read only Memory\, anche se ormai
questa denominazione è inesatta: si usano inlatti sémpre piu sp"rro a questo
scopo moduli di memoria non volatile "aggiornabill" in cas-o di necessità
ilas6
memory). Nella memoria RoM è memorizzato I'instruction set che, come abbiamo visto, e I'insieme di isffuzioni elementari direttamente eseguibili dalla CpU.
Per svolgere
ryru
rlr
ll,:l!9urre tlPÈ.159:d9lJ4.$aechina,' dato c h e n o n se rvo no d s pos itivi
!!a ir,0 ua f a$rim,p,,{{îuegti,progra m m i d évre b b e ro e s se re ca ri c at i .
i
Le memorie RoM si classilicano in base al loro grado di programmabilità.
Seguendo una classificaztone storica abbiamo:
' lR9M (Programmable Read. only Memory): si possono scrivere una sola volra.
La_loro programmazione
deve essere fatta con un dispositivo apposito prima
dell'installazione sulla scheda o nel personale non è pru modifiódnite. La pro,
grammazione, infatti, viene ellettuata
fisiiamente i circuiti intérni.
o EPROM (Erasable programmable Read.bruciando
only Memory): sr possono scrivere e
cancellare per essere riutllizzate esponendóle ai raggl ultravioletti. La sua programmazione, inlatti, viene elfettuata con un raggio ultravioletto uttruuà.ro
una finestrella trasparente presente sul chip.
o EEPROM (Electronically Erasable programmable
Read only Memo4y). sono re
Ro_M di tipo programmabile che hanno sostituiro le EpRoi\,{.
conrengono il
BIOS' i1 lirmware o. altro software per il caricamento rapido in memoria.
Sono
presenti in molti dispositivi e schede. La loro programmazione Viene
effettuata con un impulso elettromagnetico, pertanto é possibile rnodificarne il
contenuto anche quando sono già installate sulla scheda rr,adre del computer,
senza alcuna necessità di estrazÌone o di intervento hardn-a:e- ::-.a semplicemente via software. euelle presenti nei modem, per esen-.p-r_ crnsenrono
I'implementazione di standard di trasmissione lveiocità. cor:.p:css-one) successivi alla costruzione dell'apparecchio, rendendolo quindi agg-or-nabile e
soggetto all'invecchiamento tecnologico
I Teng
Flash-EPROM: simili alle ÉEPROM, si programmano elerrricarnerie direttamente sulla plastra, sono piu veloci e sono programmabili per seiori, per le
loro prestazioni possono anche essere usate come memorie a lerrura-scrittura.
Quando vengono usate come RoM sono anche delinite Flash-Ro\I. La memoria flash e particolarmente indicata per la trasportabilità. proprio perche
non richiede alimentzzione elettrica per mantenere i dati e occupa poco spazio' E comune nelle fotocamere Oigitàtl, nei lettori di musica portatili, nei cel-
8
BLOCCO TEMATICO
A
ll sistema computer
La memoria ROM e la memoria cache
lulari, nelle pendrive (chiavette), nei palmari, nei moderni computer portatili
e in molti altri dispositivi che richiedono un'elevata portabilità e una buona
capacità di memoria per il salvataggio dei dati. Memorie llash dalle dimensioni ridotte utilizzate in tali dispositivi sono le micto flash.
La cache
La memoria cache e una particolare memoria caratterizzata da un'elevatissima
velocità. E frapposta, quindi, tra la CPU e la memoria centrale, per aumentare le
prestazioni del computer. In questa memoria vengono trasferiti i dati della memoria centrale maggiormente richiesti dalla CPU ln un certo periodo ditempo. Di
conseguenza, aumenta 1a velocità di elaborazione, perché moltissimi accessi alla
memoria cenlrale vengono sostituiti con accessi alla memoria CACHE che, come
abbiamo detto, è di gran lunga piu rapida.
Memoria
centrale
I bus
Parlando della memoria RAM abbiamo detto che i dati provenienti dall'esterno
devono essere memorizzati in questa memoria aiiinché la CPU possa compiere
1'elaborazione. Ma come fanno idati a raggiungere la CPU? Come viaggiano le
inlormazioni all'interno de11a macchina? Il collegamento lisico tra le varie unità
lunzionali è realizzaLo da un insieme di linee dette bus.
ri:l:1.
ll bus è costituito da una serie dl collegamenti hardware (come se fossero un
gruppo di fili), uno per bit, su cuiviaggiano tutte le inlormazioni che vengono
scambiate tra I'unità cenffale, la memoria e le unità di input/output.
In un sistema di elaborazione si trovano tre bus principali: il bus degli indirizzi
(address bus), il bus dei dati (databus) e i1 bus di controllo (controlbus).
o ll bus degli indirizzi trasporta l'indirizzo
necessarìo per reperire una cella di
memoria o una unità di l/O. L'unico dispositivo abilitato a inviare inlormazioni
su questo bus e la CPU e, per tale motivo, questo bus è unidirezionale. Il bus
degli indirizzi è logicamente composto da tanti iili quanti sono i bit che compongono I'indirizzo.
Ilbus deidativiene utllizzafo per lo scambio diinformazioni tra ivaridisposi'
tivi. E bidirezionale in quanto I'invio di dati non è di sola pertinenza della CPU
e inoltre è logicamenre composto da tanti iili quanti sono i bit che compongono la parola uftlizzata come unirà di rraslerimento (per esempio 16,32 bit).
Il bus di controllo, anch'esso bidirezionale, è utllizzato per sincronizzare la tra'
smissione (qualunque inlormazione deve arrivare in un preciso e determinato
momento) e per permettere 1o scambio di particolari segnali di controllo tra le
rzarie unità (segnali di lettura o scrirrura. segnale di inizio o fine trasmissione,
segnale diunÌtà libera o occupata e così r'ia). Ilsuo scopo principale e, pertan'
ro. di coordinare e controllare il tralfico di rutte le inlormazioni viaggianti sugli
a;:ri due bus. Il numero di lili componenri questo bus è variabile: piu linee lo
com.pongono, maggiore è il numero dt rnformazioni che puo trasportare.
Architettura del computer UNITÀ Dl APPRENDIMENTO 1
La memoria di massa:
LEZIONE
I'hard disk
Le memorie, di massa
Nei moderni computer la quantità di informazioni che occorre avere in memoria
milioni o di miliardi di byte. Non è possibile conrenere
questa montagna di informazioni nella memoria centrale per due importantissimi motivigià esaminati in precedenza:
e molto alta, dell'ordine di
o
r
la memoria centrale è un componente molto costoso per cui non è possibile
costruire computer dotati di grosse quantità di questa memoria,
la memoria centrale, come $ià sappiamo, è una memoria volatile e quindi non
è adatta a contenere permanentemente tutte le informazioni.
Per questi motivi vengono utilizzati altri dispositivi di memoria, le cosidderte
*... memorie di massa o memorie ausiliarie sulle quali è solo possibile conservare
' permanenremente dati e programmi: da esse, pero, non puo dipendere alcun
tipo di elaborazione.
Quindi, per poter elaborare dati o per poter eseguire programmi registrati su
una memoria di massa occorre dapprima trasferirli in memoria centrale, unica
memoria sulla quale la CPU è in grado di operare. Queste memorie presentano
1e
.
o
o
seguenti caratteristiche:
possono contenere grandissime quantità di informazioni;
sono memorie traspoÉabili;
sono meno costose e più lente della memoria centrale.
I dispositivi di memoria di massa più comunemente utllizzati sono le memorie
magnetiche e le memorie ottiche.
I dispositivi magnetici sono costituiti da un supporto piano ricoperto di materiale
ferromagnetico sul quale è possibile memorizzare le inlorm azioni magnetizzando apposite areole ('equivalente delle celle di memoria). Questo fenomeno lisico
ben si presta alla memorizzazione di segnali digitali in quanto puÒ assumere due
stati in base alla direzione del campo magnetico: pertanto, uno stato rappresenterà 1' 1 , l'alÍo lo 0- ta registrazione e la lettura dei dati avviene grazie a una
testina di lettura/scrittura composta da un traferro sul quale è awolro a spirale
un filo conduttore. Tutte le memorie di massa magneriche hanno in comune le
seguenti caratteristiche:
o
o
o
vefocità di movimento del suppono di memoriz zazione- misurara in pollici/sec;
densità di memorizzazione, misurara tnbiúoollice.
velocità di trasferimento, misurata in biilyc e dara daì prodotro dei due parametri precedenti.
I dischi magnetici
Il disco è un supporto di memorizzazione di massa ad accesso diretto costitu,
ito da un piatto accuratamente levigato le cui facce sono ricoperte di materiale
magnetico. I1 dispositivo di memori>zaziotre (chia-rraro anche drive) è, invece,
composto da un'apparecchiatura dotata di tesrine" ai cui interno il disco ruota
velocemente attorno a un asse.
La superficie del disco è composta da tantissime areole magnetizzabili nelle quali
vengono memorizzati i dati binari tramite la testina di lernrra/scrittura. Più piccole sono le areole, maggiore è la capacità del dÍsco- L.e areole si trovano su pisie
circolari concentriche denominate tracce, su cui i dari vengono memorizzafi sequenzialmente, cioè uno di seguito all'alro. Ogni raccia è suddivisa in un nume,
ro fisso di settori, separati dazone neutre dette gap- L'operazione che provvede
alla suddivisione del disco in tracce e settori viene defia formattazione del disco.
10
BLOCCO TEMATICO
A
ll sistema computer
La memoria di massa: I'hard disk
Hard disk
Capacità e tempo di accesso
,,,,,,
r:r:]:]:
capacità di un supporto di memorizzaztone di massa la quantità di
dati che esso puo contenere. L'unità di misura della capac 1tà è il byú.
Si delinisce
Nelle operazioni di accesso al disco, ossia nel1e operazioni di lettura/scrittura,
il settore rappresenta I'unita minima di memoria che puÒ essere letta o scritta. Il
tempo di accesso varia da dispositivo a dispositivo (negli hard disk e rnleriore ai
10 millisecondi) ed è dato dalla somma dei seguenri tempi:
.
.
.,,,,,.
'r::lr:f
tempo di posizionamento (o tempo diseek), cioè il tempo necessario aiiinché
la testina si posizioni sulla ffaccia contenente il settore interessato;
tempo di latenza, ossia il tempo di attesa necessario affinché il settore interessato passi sotto 1a testina di lettura/scrittura. Questo tempo dipende dalla
velocità di rotazione dei dlschi.
velocità di trasferimento è la quantltà dibyte rasferiti da o per la memoria
di massa misurata 1n MB/sec.
La
Cilindro
I dischi magnetici fissi (hard disk)
L'hard disk è costituito da una pila di dischi di alluminio (disk-pack), disposti
uno sopra I'altro a un'opportuna distanza, che ruotano intorno a uno stesso asse
verticale con velocità uniforme (dell'ordine di circa 7200 Sirilmin). I dischi sono
rinchiusi all'interno di un contenitore ermetico nel quale si trova un braccio a
forma di pettine sulle cui esffemità si trovano le testine di lettura/scrittura. Sono
carafterizzati da una capacità di memorizzazione molto elevata (dell'ordine di
molti GB). L'lnsieme di tutte le tracce equidistanti dall'asse di rotazione viene
detto cilindro.
+
La cache
Per migliorare le prestazioni del sistema, e in particolare per velocizzare l'accesso
ai dati, la CPU slrutta la cosiddetta cache di disco, ossia un'area dell'hard disk
all'interno della quale vengono memorizzati i dati che la CPU sta per uÍilizzare.
Quando viene letto un settore, i dati contenuti nei settorivicinivengono trasferiti
nel,a cache: in questo modo si evita di rimettere in funzione il disco lisso per reperire dati che, presumibilmente, saranno letti in un secondo momento.
L'iard dÌsk, inoltre, viene utrlizzato dalla CPU per estendere 1a memoria RAM:
qua:do devono essere tenuti aperti piu programmi contemporaneamente, op,
pure :lando si manipolano grosse quantità di dati che non possono essere tutti
conr::-:.:i nella RAM, 1a CPU slrutta parte del disco come memoria centrale. A
quest'a::a viene assegnato il nome di memoria virtuale.
Architettura del computer UNITÀ Dl APPRENDIMENTO 1
LL