Le memorie

Transcript

Le memorie
LE MEMORIE
FONTE: HTTP://WWW.COMEFUNZIONA.NET/
La memoria Flash
INTRODUZIONE
Esistono vari formati di memorie, ognuna per uno scopo particolare. Le Flash Memory
vengono usate per memorizzare informazioni in modo veloce e semplice, in apparecchi come
fotocamere digitali o console di videogiochi. Sono usate più come dei piccoli hard disk piuttosto
che come RAM.
Ecco alcuni esempi di Flash Memory:
•
•
•
•
•
•
Il BIOS del tuo computer
Le CompactFlash (usate nelle fotocamere digitali)
Le Memory Stick (usate nelle fotocamere digitali)
Le PCMCIA di tipo I e II
Le Memory cards usate nelle console
La memoria ROM
La memoria di tipo ROM, anche conosciuta come firmware, è un circuito integrato
programmato con dati specifici in fase di costruzione. Come dice l'acronimo ( Read Only
Memory ), la ROM è una memoria che può solo essere letta ma non modificata o cancellata
visto che i dati che contiene sono stati scritti in modo permanente in fase di costruzione.
I TIPI DI ROM
Cominciamo con l'identificare i differenti tipi di ROM. Quelli fondamentali sono 5:
ROM
PROM
EPROM
EEPROM
Flash memory
Tutti e 5 i tipi di ROM hanno caratteristiche differenti, ma tutte hanno in comune due cose
molto importanti:
- I dati memorizzati sono permanenti e non vengono persi anche a computer spento.
- I dati memorizzati non possono essere modificati (a differenza delle RAM)
ROM AL LAVORO
Allo stesso modo delle RAM, anche i chips ROM contengono una griglia di righe e colonne.
All'intersezione delle righe e delle colonne però c'è la maggiore differenza tra questi 2 tipi di
Memorie pag. 1 di 25
memorie. Mentre la RAM usa i transistors per attivare o disattivare i condensatori posti alle
intersezioni, la ROM usa un diodo per far passare o meno la corrente e determinare quindi se
la cella (all'intersezione di riga e colonna) è attiva o meno.
Nei BIOS vengono usate ROM di tipo Flash Memory
Un diodo normalmente permette che la corrente entri in un senso soltanto e solo dopo aver
superato una determinata soglia, conosciuta come breakover, che determina quanta corrente
è richiesta prima che il diodo la faccia passare. Nei processori e nei circuiti integrati di memoria
(basati sul silicio), la tensione di breakover è circa 0,6 volt. Approfittando delle proprietà
uniche di un diodo, un chip ROM può trasmettere una carica che è sopra il breakover ad una
specifica colonna che ha la relativa riga collegata a terra.
•
•
Se un diodo è presente nella cella individuata dall'intersezone tra riga e colonna, la
carica arriverà fino alla terra e, secondo il sistema binario, la cellula sarà letta come
attiva (equivalente a 1).
Se in caso contrario non c'è alcun diodo, la corrente non arriverà sulla riga e sulla terra,
quindi la cella sarà interpretata come non attiva (equivalente a 0).
Come potrete immaginare, per far funzionare bene una ROM essa deve essere creata in modo
accurato e perfetto. Non potete riprogrammarla o riscrivere un circuito integrato standard della
ROM. Se è errato, o i dati devono essere aggiornati, dovete gettarla via e farne un altra.
La generazione della matrice originale per un circuito integrato della ROM è spesso un lavoro
laborioso pieno di fallimenti ed errori. Ma i benefici dei circuiti integrati della ROM superano gli
svantaggi. Una volta che la matrice è completata, i circuiti integrati reali prodotti su grande
scala possono arrivare a dei costi bassissimi (nell'ordine di qualche centesimo di Euro).
Hanno bisogno di poca energia, sono molto affidabili e in molti casi contengono tutto il
necessario per poter controllare un congegno elettronico (non solo un PC).
PROM
La generazione di chip ROM completamente da zero è molto costosa in termini di tempo e
denaro soprattutto quando se ne devono produrre quantità limitate. Per questo motivo,
pricipalmente, gli sviluppatori hanno generato un tipo di ROM conosciuto come PROM
(programmable read-only memory). I circuiti integrati PROM "vergini" possono essere
comprati a buon mercato ed essere codificati da chiunque con uno speciale congegno elettrico:
Memorie pag. 2 di 25
il programmatore.
Un chip PROM ha una griglia composta da righe e colonne come le ROM ordinarie. La differenza
è che ad ogni intersezione di riga e colonna c'è un fusibile.
Schema di una PROM
Una carica trasmessa attraverso una colonna attraverserà il fusibile in una cella ed arriverà ad
una riga collegata a terra indicando (come nelle ROM classiche) un valore di 1. Poiché tutte le
cellule hanno un fusibile, la condizione iniziale di un chip PROM è di tutti 1. Per cambiare il
valore di una cellula a 0, deve essere usato un programmatore per trasmettere una quantità
specifica di corrente alla cellula in modo da bruciare il relativo fusibile che da quel momento in
poi non lascerà passare più la corrente e setterà quella cella a 0.
Ovviamente una PROM può essere programmata solamente una volta (visto che una volta
bruciato un fusibile non c'è più modo di ripristinarlo), è molto più fragile di una ROM e basta un
sovraccarico di elettricità per bruciarne tutti i fusibili. Il loro grande vantaggio è però quello di
essere molto economiche ed infatti vengono usate spesso per costruire prototipi di vere ROM
prima che le stesse siano prodotte in larga scala.
EPROM
A differenza delle ROM e delle PROM le EPROM (Erasable programmable read-only
memory) sono dei chip cancellabili e riprogrammabili più volte. Per cancellarle è necessario
uno speciale apparecchio che deve emettere una precisa frequenza di raggiu ultravioletti. Per
programmarla invece serve un programmatore di EPROM con un voltaggio dipendente dal
tipo di chip che si vuole gestire.
Anche in questi chip abbiamo una griglia formata da righe e colonne. Le celle ad ogni
intersezione hanno due transistors deparati da un finissimo strado di ossido.
Uno dei transistor viene definito Control Gate mentre l'altro Floating Gate. Il Floating Gate è
collegato alle righe attraverso il Control Gate e fino al perdurare di questo stato il valore della
cella è 1. Per settare a 0 il valore della cella c'è bisogno di un curioso processo chiamato
Fowler-Nordheim Tunneling. In pratica facendo passare una carica elettrica (di 10 - 13
volts) lungo il Floating Gate, gli elettroni vengono spinti e intrappolati sullo strato di ossido
caricandolo negativamente e facendolo agire da barriere tra i due Gate.
Un sensore di cella viene usato per misurare la carica passante per il Floating Gate. Se il flusso
supera il 50% della carica si assume che la cella sia a 1, altrimenti a 0. Un EPROM allo stato
iniziale ha tutti i Gates aperti e quindi tutte le ceel impostate a 1.
Per riscrivere un EPROM è necessario prima cancellarla. Per farlo bisogna usare un livello
Memorie pag. 3 di 25
tale di energia che possa passare anche attraverso gli elettroni caricati negativamente che
bloccano il Floating Gate. Tutto questo viene realizzato togliendo il chip dal suo
alloggiamento e ponendolo sotto ad una luce ultravioletta ad una frequenza di 253.7
prodotta da un quarzo che cancella l'intera EPROM in alcuni minuti (senza alcuna
possibilità di selezione delle celle).
EEPROM
Come abbiamo visto nel capitolo precedente, le EPROM rappresentano un bel passo in avanti in
termini di riusabilità ma sono dei componenti che richiedono comunque dei macchinari dedicati
ed un particolare processo per rimuoverli e reinstallarli ogni volta che vengono cancellati e
riscritti. Oltre a questo, non è possibile nemmeno effettuare delle modifiche incrementali ma si
è costretti a cancellare e riprogrammare ogni volta l'intero chip anche per cambiamenti minimi.
Gran parte di questi problemi vengono risolti dalle EEPROM (Electrically erasable
programmable read-only memory) che possiedono le seguenti caratteristiche:
•
•
•
Non devono essere rimossi per poter essere riscritti
Possono essere modificati anche parzialmente
Non richiedono altri congegni per essere modificati
Invece di usare un luce ultravioletta, è possibile ripristinare lo stato degli elettroni in una cella
applicando un campo elettrico. In questo modo la cella viene cancellata e può essere riscritta.
Queste modifiche possono essere fatte un byte alla volta per cui il processo è molto versatile
ma anche molto lento.
Per ovviare a questo inconveniente, sono state crete le Flash Memory, un tipo di EEPROM in cui
è possibile applicare il campo elettrico ad intere zone della memoria (solitamente composte da
512 bytes).
La memoria RAM
INTRODUZIONE
La memoria ad accesso casuale (RAM) è il miglior tipo di memoria disponibile oggi per i
computers. La RAM è considerata ad "accesso casuale" perché è possibile accedere
direttamente ad ogni singola cella di memoria semplicemente conoscendo la riga e la colonna
che la intersecano.
L'opposto delle memoria ad accesso casuale è quella ad accesso seriale (SAM). In questo tipo
di memorie è possibile accedere ad una cella solamente scorrendo tutte le celle che la
precedono (come in un nastro su cassetta).
In questo capitolo di ComeFunziona.net, vedremo come è fatta una RAM, in quali
applicazioni è necessaria e i differenti tipi esistenti oggi in commercio.
NOZIONI DI BASE
Simile ad un microprocessore, un circuito integrato di memoria è un circuito integrato (IC)
Memorie pag. 4 di 25
fatto di milioni di transistori e di condensatori. Nella forma più comune di memoria ad accesso
diretto, dynamic random access memory (DRAM), un transistor ed un condensatore sono
accoppiati per generare una cella di memoria, che rappresenta un singol bit di dati. Il
condensatore mantiene il bit di informazione 0 o 1 (vedi Comefunzionano Bits e Bytes). Il
transistor funge invece da interruttore e permette di leggere il condensatore o di modificargli lo
stato.
Un condensatore è come un piccolo secchio che può immagazzinare gli elettroni. Per
immagazzinare un 1 nella cella di memoria, il secchio viene riempito di elettroni. Per
immagazzinare uno 0, viene invece svuotato. Il problema del condensatore è che ha una
perdita. Nel giro di alcuni millisecondi quindi il secchio da pieno diventa vuoto. Di conseguenza,
affinchè la memoria dinamica funzioni, la CPU o il controller della memoria devono intervenire
e ricaricare tutti i condensatori che contengono elettroni (ovvero il valore 1) prima che essi si
scarichino.
Per fare questo, il controller legge la memoria e la riscrive, migliaia di volte al secondo.
Il processo di refresh di una DRAM rappresentato con il nostro secchio bucato
La DRAM deve essere rinfrescata dinamicamente tutto il tempo o si dimentica che cosa sta
tenendo. Il lato negativo di questo tipo di RAM è che occorre tempo per compiere questi
continui refresh e questo rallenta la memoria.
Le cellule di memoria sono incise su una lastra di silicio in una griglia di colonne (bitlines) e
righe (wordlines). L'intersezione di un bitline e di un wordline costituisce l'indirizzo della cella di
memoria.
Le DRAM funzionano trasmettendo una carica attraverso la colonna appropriata (CAS) per
attivare il transistor ad ogni bit nella colonna. Nella scrittura, le righe contengono lo stato che il
condensatore deve mantenere. Nella lettura, altrimenti come uno 0.
Un contatore traccia la sequenza di refresh basata sull' ordine delle righe che sono state
processate. Il tempo necessario per fare questo è pressocchè istantaneo: 70 nanosecondi (1
nanosecondo = 1 miliardesimo di secondo).
Le celle di memoria da sole sarebbero inutilizzabili senza un modo per leggere e scrivere le
informazioni. Per questo motivo c'è un'infrastruttura intera di sostegno di altri circuiti
specializzati che si occupano di:
•
•
•
•
Identificare ogni riga e colonna
Tenere traccia della sequenza di refresh
Leggere e restorare il segnale in una cella
Stabilire se una cella può essere scritta o meno
Memorie pag. 5 di 25
La RAM statica usa una tecnologia completamente differente. Nella RAM statica, una forma
del flip-flop tiene ogni bit della memoria (vedi Come funziona la Logica Booleana per i
particolari sui flip-flop).
Un flip-flop per una cella di memoria prende quattro o sei transistori con alcuni collegamenti, e
non deve essere rinfrescato mai. Questo fa si che la RAM statica sia più veloce di quella
dinamica. Tuttavia, essendo composta da più parti, una cella di memoria statica prende molto
più spazio su un circuito integrato di una cella di memoria dinamica. Di conseguenza, su uno
stesso chip la memoria statica sarà minore e anche un pò più costosa.
Ricapitolando quindi la RAM statica è più veloce ma costosa, quella dinamica è più economica
ma più lenta. Le RAM statiche vengono usate per creare la velocissima cache della CPU mentre
la RAM dinamica per gestire la maggior parte della memoria di un PC.
MODULI DI MEMORIA
I chip di memoria nei computer desktop originariamente usavano una configurazione di pin
chiamata dual inline package (DIP). Questa configurazione di pin poteva essere saldata in
appositi fori sulla motherboard oppure inserita in uno zoccoletto sempre saldato su di essa.
Questo tipo di tecnologia ha funzionato benissimo quando i calcolatori avevano al massimo un
paio di mega di memoria ma con l'esigenza sempre crescente di aumentare la RAM, il numero
di circuiti che richiedevano spazio sulla motherboard è aumentato.
La soluzione fu di disporre i chip, con tutti i componenti di sostegno, su una circuito stampato
separato (PCB) che potesse essere inserito in uno speciale alloggiamento (banco di
memoria) sulla motherboard.
I chip di memoria sono normalmente soltanto disponibili come componenti di una scheda
denominata modulo. Probabilmente avrete visto memorie con diciture del tipo: 8x32 o 4x16.
Questi numeri rappresentano il numero dei circuiti integrati moltiplicati per la capienza di ogni
circuito integrato specifico, che è misurato in megabit. Prendendo il risultato e dividendolo per
otto si ottiene il numero di megabyte su quel modulo.
Per esempio, 4x32 significa che il modulo ha quattro circuiti integrati a 32-megabit.
Moltiplicando 4 per 32 otteniamo 128 megabit. Poiché sappiamo che un byte ha 8 bit,
dobbiamo dividere il nostro risultato per 8. Il nostro risultato è di 16 megabyte!
Il tipo di modulo e di connettore utilizzati per la RAM nei desktop si è evoluto durante questi
ultimi anni. I primi tipi erano proprietari, ovvero legati strettamenti al modello di computer e
incompatibili quindi con altri. Con la realizzazione delle SIMM (single in-line memory
module) questi tipi di incompatibilità sono caduti. Questo modulo di memoria usava un
connettore a 30 pin e misurava circa 9 x 2 centimetri. Nella maggior parte dei calcolatori, si
dovevano installare SIMM a coppie, di eguale capienza e velocità. Questo era legato al fatto
che la larghezza di banda del bus era molto più ampia di quella delle SIMM per cui ne
occorrevano 2. Le SIMM più attuali di grandezza superiore (circa 11 x 2.5 centimetri),
utilizzano connettori a 72 pin per aumentare la banda e possono alloggiare fino a 256
Megabytes.
Una classica SIMM
Memorie pag. 6 di 25
Con la crescita dei processori in termini di banda, un nuovo standard è stato introdotto
creando le DIMM (dual in-line memory module). Con un connettore a 168 pin ed una
grandezza di circa 14 x 2.5 cnetimetri, le DIMM hanno una capacità da 8 a 128 MegaButes per
modulo e possono essere installate singolarmente.
Una DIMM a 168 pin
Alcuni famosi produttori di computers portatili come gli iMac usano delle RAM di tipo SODIMM
(small outline dual in-line memory module). Di dimensioni ridotte (5 x 2.5 cm), hanno
144 pins ed una capacità da 16 a 512 MegaBytes.
Una SODIMM
CONTROLLARE LA MEMORIA
La maggior parte delle memorie in commercio oggi è altamente affidabile. Molti sistemi
effettuano un controllo degli errori nella fase di avvio e basta. I chip di memoria con il controllo
automatico degli errori usano un metodo conosciuto come Parity Bit check.
I chip di questo tipo hanno un bit aggiuntivo ogni 8 bit di dati. Il metodo è semplice. Quando
gli 8 bit vengono ricevuti, il chip conta tutti gli 1 presenti. Se il totale è pari, il parity bit
aggiuntivo viene impostato ad 1 altrimenti a 0.
Quando i dati vengono riletti, il totale degli uno viene sommato ancora una volta e confrontato
con il parity bit. Se il numero di 1 è pari ed il bit parity è 1 allora i dati sono validi, in caso
contrario c'è un errore. In questo modo il problema viene rilevato ma è importante sottolineare
come non sia possibile risolverlo in alcun modo.
Esistono comunque altri tipi di controlli automatici sui chip di memoria che permettono con
degli algoritmi particolari non solo di rilevare l'eventuale errore ma anche di ricostruire la
corretta sequenza di bit. Questi sono conosciuti con la sigla ECC error-correction code.
La maggior parte dei computer in commercio oggi usano dei chip senza il controllo errori
automatico e si affidano al controller della memoria per eventuali verifiche.
UN SEMPLICE ESEMPIO
Per capire che cosè la cache e come funziona facciamo un semplice esempio che usa un
bibliotecario per dimostrare il concetto di base. Supponiamo che abbia una bella scrivania
all'entrata della biblioteca e che spetti a lui cercare e consegnare i libri richiesti dai clienti.
Cominciamo da un bibliotecario senza cache.
Il primo cliente arriva e chiede di poter avere il libro Moby Dick. Il bibliotecario si alza, cerca il
libro nella stanza degli scaffali, torna dal cliente e glielo consegna. Dopo qualche tempo il libro
Memorie pag. 7 di 25
viene riconsegnato dal cliente, il bibliotecario torna nella stanza degli scaffali e lo ripone dove
lo aveva trovato l'ultima volta.
Qualche giorno dopo arriva un altro cliente che chiede ancora Moby Dick. Il bibliotecario si
alza, cerca il libro nella stanza degli scaffali, torna dal cliente e glielo consegna, proprio come
aveva fatto con il primo cliente. Con questo modo di lavorare, il bibliotecario è costretto a fare
sempre lo stesso iter, anche se alcuni libri (come Moby Dick) vengono richiesti più spesso di
altri.
C'è un modo per migliorare questo modo di lavorare ?
Un modo c'è ed è quello del bibliotecario con la cache. Supponiamo di dare al bibliotecario
uno scaffaletto vicino alla sua scrivania su cui può riporre fino a 10 libri. Rifacciamo l'esempio
precedente usando questa cache da 10 libri!
Arriva il primo cliente e chiede al bibliotecario Moby Dick. Il bibliotecario si alza, cerca il libro
nella stanza degli scaffali, torna dal cliente e gli consegna il libro, proprio come aveva fatto il
bibliotecario senza cache. Qualche giorno dopo il libro viene restituito ma il bibliotecario non lo
ripone nella stanza degli scaffali da cui lo aveva preso, ma nel suo nuovo scaffaletto da 10 libri.
Dopo un po arriva il secondo cliente che gli chiede ancora una volta Moby Dick. A questo punto
il bibliotecario prima di alzarsi ed andare nella stanza degli scaffali controlla se il volume si
trova nello scaffaletto al suo fianco. Lo trova, quindi lo consegna al cliente senza nemmeno
dover lasciare la sua scrivania, risparmiando il viaggio nell'altra stanza e servendo il cliente con
molta più efficienza.
L'esempio appena visto è un classico esempio di ottimizzazione delle prestazioni ottenibili con
la cache.
Cosa sarebbe successo però se il cliente avesse chiesto un volume non presente nello
scaffaletto? In quel caso il bibliotecario sarebbe stato meno efficiente perchè avrebbe
controllato a vuoto lo scaffaletto per poi finire col prendere il libro nell'altra stanza.
Il tempo perso per l'attività aggiuntiva (il controllo dello scaffaletto) è detto tempo di latenza
e nel caso del bibliotecario è comunque piccolissimo se comparato al tempo necessario per
alzarsi, andare nell'altra stanza e prendere il libro richiesto.
Dall'esempio è possibile dedurre alcune cose importanti riguardanti la cache.
•
•
•
•
La cache usa una memoria piccola ma veloce per accellerare una memoria grande ma
lenta
Qualsiasi tipo di ricerca deve essere effettuata prima nella cache. Se l'oggetto ricercato
viene trovato avremo un cache hit, in caso contrario un cache miss che ci costringerà
ad effettuare la ricerca nella memoria più grande (e più lenta)
Una cache ha un dimensione massima molto ma molto minore della memoria principale
Ci possono essere diversi livelli di cache. Nel nostro esempio del bibliotecario avevano
un solo livello (lo scaffaletto da 10 libri). Potremmo pensare ad una cache di secondo
livello fornendo al bibliotecario un ulteriore scaffale da 100 libri da controllare dopo lo
scaffaletto e prima di andare nella stanza dei libri.
INTRODUZIONE
Se ti è mai capitato di acquistare un PC avrai sicuramente sentito parlare della cache. Lo scopo
della cache è quello di accelerare il tuo computer e quindi di farti lavorare meglio. Esistono due
livelli di cache, primaria o secondaria (detta anche L1 e L2). Nelle pagine seguenti vedremo
come funziona, quali tipi esistono e perché è così importante.
Memorie pag. 8 di 25
CACHE SUL COMPUTER
Un computer è una macchina molto veloce. Quando il microprocessore accede alla memoria
principale (RAM) impiega circa 60 nanosecondi (1nanosecondo = 1 miliardesimo di secondo!).
E' un tempo piccolissimo per noi ma molto grande se lo vediamo dal punto di vista del
microprocessore che esegue un ciclo di clock in meno di 2 nanosecondi.
Cosa succederebbe se costruissimo una memoria più piccola ma molto veloce (diciamo con
accessi intorno ai 30 nanosecondi)? Avremmo una memoria cache di secondo livello detta
anche L2 cache. E se costruissimo un altra memoria ancora più veloce direttamente sopra al
processore ? In questo caso avremmo una cache di primo livello (detta L1 cache) che
potrebbe essere letta alla stessa velocità del processore. Su un Pentium a 233 MHz avremmo
ad esempio un accesso alla cache L1 3.5 volte più velode della L2 che era già acceduta ad una
velocità doppia rispetto alla normale RAM.
La cache comunque può essere differente e stratificata a seconda degli accessi che si vogliono
migliorare. Ecco un esempio: Il microprocessore ha una cache di livello 1, che fa da cache a
quella di livello 2 che fa a sua volta da cache alla memoria principale che a sua volta può
essere usata come cache di periferiche quali hard disk e CD-ROM. L'hard disk può inoltre
essere usato come cache di qualcosa ancora più lenta come ad esempio la connessione ad
internet.
Quando navighi sulla rete, il tuo browser usa l'hard disk per salvare i dati delle pagine HTML a
cui accedi, in una speciale cartella. La prima volta che vai su un sito, il tuo browser lo scarica,
te lo mostra a video e lo salva anche nella directory di cui abbiamo parlato. Le volte successive
in cui richiedi lo stesso sito, il browser prima di scaricare il file verifica (mediante la data) se è
lo stesso dell'altra volta oppure una versione aggiornata. Se la data è la stessa il browser userà
quello sull'hard disk invece di scaricarlo dalla rete ed impiegherà così molto meno tempo a
mostrarti la pagina a video.
La cache viene usata anche sulle periferiche. Gli hard disk ad esempio vengono costruiti con
una piccola memoria di circa 512 Kb che viene controllata direttamente dal controller dell'hard
disk. Quando viene richiesto di leggere un dato sul disco, il controller verifica prima se il dato
in questione è presente nella cache e nel caso lo fornisce immediatamente.
Ecco un test per vedere la cache all'opera. Il tuo computer usa la memoria principale come
cache di molte cose tra cui il floppy drive. Prova ad aprire un file abbastanza grande (almeno
Memorie pag. 9 di 25
400Kb) dal floppy per due volte consecutive. La prima volta vedrai la luce del floppy accendersi
e aspetterai per circa 20 secondi prima di avere a disposizione il file in questione.
La seconda volta ,il sistema operativo cercherà il file nella cache e trovandolo te lo mostrerà
quasi immediatamente (senza effettuare alcun accesso al floppy).
PERCHÉ COSÌ POCA?
Una delle domande più frequenti e logiche quando si parla di cache è la seguente: "Perchè si
usa così poca cache ? Perchè tutta la memoria del computer non può essere dello
stesso tipo di quella usata per la cache di livello 1 ?"
L'idea di base della cache è quella di usare una piccola quantità di memoria veloce (ma
purtroppo costosa) per velocizzare la memoria più grande (più lenta ma molto più economica).
In questo modo si riescono a produrre dei PC dai costi contenuti e dalla grandi prestazioni. Per
quanto possa sembrare strano comunque, bastano pochi Kilobytes di cache per ottenere
prestazioni di altissimo livello e sarebbe inutile dotare i computer della stessa memoria usata
per la cache, perchè questo non migliorerebbe le prestazioni più di tanto.
Nell'informatica infatti c'è un concetto denominato locality of reference secondo cui anche
nel più grande dei programmi, c'è solamente una piccola percentuale del codice che viene
eseguita con maggior fequenza e quindi basta usare la cache per essa ed il gioco è fatto.
LA MEMORIA VIDEO
La memoria video , chiamata anche frame buffer è qella che contiene le immagini da inviare al
monitor. Le vecchie schede usavano una memoria di tipo DRAM che come noto richiedono un
notevole e continuo refresh pena la perdita dei dati. A causa di questo, le schede in questione
erano molto limitate nelle prestazioni. Con gli anni, sono state introdotte nuove tipolgie di
memoria onboard quali SDRAM, DRDRAM ed EDO RAM che hanno permesso di migliorare
notevolmente molti aspetti delle schede e della grafica in generale.
A seconda dell memoria video infatti è stato possibile incrementare sia la risoluzione che il
numero di colori.
Memoria video
Risoluzione
Prof.Colore
1 MB
1024X768
800X600
8
16
BIT
1024X768
1280<1024
800X600
8
16
24
BIT
2 MB
BITS
256
65.536
16,7 MILIONI
4 MB
1024X768
24
BITS
16,7
MILIONI
6 MB
1280X1024
24
BITS
16,7
MILIONI
8 MB
1600X1200
24
BITS
16,7
MILIONI
BITS
BITS
LA RAMDAC
Num. Colori
256
65.536
LA RAMDAC ha un compito importantissimo in una scheda. Deve leggere il frame buffer, che è
una rappresentazione digitale di quello che deve essere mostrato sul monitor, e convertirlo in
un segnale analogico RGB che il monitor può comprendere.
Memorie pag. 10 di 25
La RamDac su una scheda ATI
Per realizzare la conversione viene usata una tabella interna in cui ad ogni colore corrisponde
un certo voltaggio. Visto che per rappresentare un singolo colore viene usata la combinazione
dei 3 segnali RGB (Rosso, Verde e Blu), ci sono 3 DAC (Digital to Analog Converter) che si
occupano di effettuare questa operazione. La frequenza con cui la transcodifica viene effettuata
è definita come refresh rate.
AGGIORNARE IL BIOS
Qualche volta, i computer hanno bisogno di versioni aggiornate del BIOS. Soprattutto i PC più
vecchi che con il loro BIOS un po datato non riconoscono magari i nuovi hardware.
Per cambiare il BIOS ovviamente c'è bisogno di un software particolare che solitamente si
scarica direttamente dal sito del produttore. Una volta effettuato il download, il programma
deve essere copiato su un floppy disk. Una volta effettuato il reboot del sistema con il floppy
inserito non resta che aspettare che il programma cancelli il vecchio BIOS e scriva il nuovo.
Prima di compiere questa operazione è buona regola controllare attentamente che la versione
che si sta caricando sia proprio quella giusta per il BIOS installato, altrimenti si rischia di
danneggiarlo seriamente e di compromettere l'avvio del PC.
I maggiori produttori di BIOS sono:
•
•
•
•
American Megatrends Inc. (AMI)
Phoenix Technologies
Acer Labs
Winbond
SRAM
Da Wikipedia, l'enciclopedia libera.
Vai a: Navigazione, cerca
Memorie pag. 11 di 25
Questa voce è solo un abbozzo (stub). Se puoi, contribuisci adesso a migliorarla secondo
le convenzioni di Wikipedia. Per l'elenco completo degli stub di informatica, vedi la relativa
categoria.
SRAM è un acronimo che sta per Static Random Access Memory,.
Questo tipo di RAM è costituito da un circuito circolare formato da due porte logiche non
collegato alle due estremità alle linee dei dati tramite due transistor.
Consentono di mantenere le informazioni per un tempo infinito, sono molto veloci,
consumano poco e quindi dissipano poca energia. La necessità di usare molti componenti,
però, le rende molto costose e difficili da impacchettare.
Sono solitamente usate per le memorie cache, dove elevate velocità e ridotti consumi
sono caratteristiche fondamentali.
La famiglia delle memorie SRAM può essere poi suddivisa in:
- async SRAM (SRAM asincrona) che lavora in modo asincrono rispetto al clock della
CPU, ciò comporta degli stati di attesa della CPU (wait state) per l'accesso, viene utilizzata
come cache di secondo livello
- sync SRAM (SRAM sincrona) che lavora in sincronia con il clock della CPU, si hanno
quindi dei tampi di attesa ridotti (o annullati)
- pipeline Burst SRAM ottimizzata per trasferimenti di pacchetti (burst) di dati
Pipeline
Da Wikipedia, l'enciclopedia libera.
Vai a: Navigazione, cerca
Questa è una pagina di chiarimento delle ambiguità: contiene un elenco di voci che altrimenti
potrebbero avere lo stesso nome. Se sei giunto qui passando da un link, puoi tornare indietro e
correggerlo in modo che punti direttamente alla voce appropriata.
•
Il termine pipeline in informatica e in elettronica si riferisce a un manufatto composto da
più elementi. Ogni elemento provvede a ricevere in ingresso un dato o un segnale, ad
Memorie pag. 12 di 25
elaborarlo e poi a trasmetterlo all'elemento successivo. Quindi il flusso di dato o di segnali
percorre tutti gli elementi fino all'ultimo elemento come quando una conduttura è
attraversato da un fluido infatti il termine pipeline in inglese indica una tubatura o una
conduttura. Esistono tre tipi di pipeline:
o La pipeline dati che viene utilizzata all'interno dei moderni microprocessori
o La pipeline grafica, che viene utilizzata dalle schede grafiche tridimensionali.
o La Pipeline software utilizzata da sistemi operativi Unix-like e da alcuni programmi
(vedi anche pipeline sul glossario informatico).
•
Nel senso corrente il termine inglese pipeline, che significa "linea di tubi", è sinonimo di
acquedotto, oleodotto o gasdotto, a seconda del fluido trasportato.
DRAM
Da Wikipedia, l'enciclopedia libera.
Vai a: Navigazione, cerca
DRAM è un acronimo che sta per Dynamic Random Access Memory. Essa è un tipo di
RAM che immagazzina ogni bit in un diverso condensatore. Il numero di elettroni presenti
nel condensatore determina se il bit è 1 o 0. Se il condensatore perde la carica,
l'informazione è perduta: nel funzionamento la ricarica avviene periodicamente. Da qui la
definizione di memoria dinamica, opposta alle memorie statiche come la SRAM. Per la
caratteristica di perdere le informazioni in mancanza di energia, la DRAM viene definita
anche volatile; è detta anche memoria solida.
Indice
[nascondi]
•
•
•
•
•
1 Principio di funzionamento della DRAM
2 Interfaccia DRAM
3 Speciali tipi di DRAM
o 3.1 Fast page mode DRAM
o 3.2 Extended data out (EDO) DRAM
o 3.3 Burst EDO (BEDO) DRAM
o 3.4 Synchronous dynamic RAM (SDRAM)
o 3.5 Double data rate (DDR) DRAM
o 3.6 Direct Rambus DRAM (DRDRAM)
o 3.7 Video DRAM (VRAM)
o 3.8 Synchronous graphics RAM (SGRAM)
o 3.9 Pseudostatic RAM (PSRAM)
4 Legge di crescita delle DRAM
5 Voci correlate
[modifica]
Memorie pag. 13 di 25
Principio di funzionamento della DRAM
La DRAM è generalmente organizzata in un insieme quadrato di condensatori, tipicamente
1024 x 1024. Durante la lettura di una cella, tutta la fila e la colonna cui appartiene
vengono lette e riscritte, in modo da essere ricaricate. In scrittura succede la stessa cosa:
vengono letti tutti questi dati e riscritti, col valore da cambiare modificato.
Le celle della DRAM sono più piccole e più economiche della SRAMm, che usano flip-flop
e non condensatori (un transistor e un condensatore occupano meno spazio che sei
transistor).
In genere i produttori indicano che ogni fila dovrebbe essere ricaricata ogni 64 ms o meno.
Questa operazione è comunemente automatizzata con una unità logica dedicata, che
complica il circuito, ma che non rende la DRAM meno conveniente rispetto alla SRAM.
Alcuni sistemi ricaricano tutte le file in un ciclo che dura circa 64 ms; altri ricaricano una fila
alla volta. Entrambi i metodi necessitano di un contatore per segnalare quale fila deve
essere rinfrescata nel ciclo successivo. Alcuni sistemi includono questo contatore; altri
richiedono una logica esterna (in alcune condizioni, l'informazione può essere recuperata
anche dopo diversi minuti senza ricaricamento).
Un'alternativa alla DRAM è la memoria flash. La memoria flash disponibile attualmente
costa leggermente meno della DRAM, non è volatile, ma è più lenta della DRAM in lettura
(e moooolto più lenta in scrittura).
Può accadere che, per interferenze interne al computer, un singolo bit della DRAM cambi
spontaneamente stato, passando a quello opposto. Alcune ricerche hanno dimostrato che
la maggior parte degli errori della DRAM contenuti in un singolo bit sono causati da raggi
cosmici, che possono cambiare il contenuto di una o più celle della memoria, o interferire
col circuito di lettura/scrittura. C'è la preoccupazione che con la miniaturizzazione di
questa memoria e la diminuzione della tensione dei suoi circuiti, questi eventi possano
accadere con frequenza sempre più alta, dato che particelle con minore energia
potrebbero riuscire a interferire e provocare errori. D'altro canto la miniaturizzazione rende
le celle "bersagli" meno facili per queste particelle, e la tecnologia SOI potrebbe renderle
meno suscettibili agli urti con queste e quindi compensare questo fenomeno.
Nei sistemi cui è richiesta altissima affidabilità (per esempio server) o che sono esposti in
modo particolare a radiazioni (satelliti) vengono usati moduli speciali di DRAM, che
includono bit extra di memoria: i controllori ECC possono così scansionare e quindi
Memorie pag. 14 di 25
correggere gli errori che possono capitare. Le versioni per PC di questi programmi
possono in genere correggere errori di un bit in una parola di 64 bit, e trovare, ma non
correggere, errori di più bit in una parola di tali dimensioni.
[modifica]
Interfaccia DRAM
Una caratteristica importante della DRAM è chiamata address multiplexing. Questa
tecnica divide l'indirizzo delle celle in due parti e le manda in successione al chip agli
stessi pin. Molti microprocessori includono il controllo logico della DRAM, evitando la
necessità di un controllo dedicato nella memoria.
Il chip possiede un gran numero di condensatori organizzati in righe e colonne. Per
leggere una cella dell'insieme, il circuito di controllo calcola per prima cosa il numero di
riga del dato, che manda ai pin del circuito di ingresso della memoria, quindi attiva il pin
RAS (Row Address select), che ordina al circuito di leggere l'indirizzo presente in entrata.
Internamente, la DRAM collega la fila ad una serie di amplificatori chiamati di senso, che
leggono il contenuto di tutti i condensatori della fila. Il circuito di controllo manda quindi il
numero di colonna agli stessi pin del circuito, ed attiva il CAS (Column Address Select),
facendo leggere al circuito l'indirizzo di colonna del dato. La DRAM lo usa per identificare il
dato necessario all'interno dell'output degli amplificatori. Dopo un intervallo di tempo
chiamato CAS access time, il dato viene trasmesso all'esterno tramite il pin I/O della
DRAM.
Per la scrittura il procedimento è lo stesso, ma il controllo invece di ricevere dalla DRAM il
dato alla fine, lo fornisce all'inizio.
Dopo un'operazione di lettura o scrittura, il controllo riporta i pin della memoria allo stato di
riposo, per prepararla all'operazione successiva. La DRAM necessita di un intervallo di
riposo tra un'operazione e la successiva, chiamato precharge interval.
Una volta che il circuito ha selezionato una riga, può scegliere vari dati in successione
comunicandone l'indirizzo di colonna ed attivando il CAS. Questo metodo è più veloce del
processo intero, e può essere usato soprattutto per le istruzioni del processore, che
tendono ad essere immagazzinate consecutivamente.
La descrizione fatta sopra riguarda le DRAM a singolo bit. Molte DRAM sono multibit
(spesso a quattro od otto), dato che possiedono più insiemi di celle che operano
contemporaneamente, ognuno fornito di un pin I/O, e permettono il trasferimento di più bit
Memorie pag. 15 di 25
contemporaneamente. Questo è grossomodo equivalente ad avere più DRAM che
operano insieme, ma permette di risparmiare spazio dato che condividono i pin di indirizzo
e di controllo.
[modifica]
Speciali tipi di DRAM
[modifica]
Fast page mode DRAM
La Fast page mode DRAM è anche chiamata FPM DRAM, Page mode DRAM, Fast page
mode memory, o Page mode memory.
In page mode una riga può essere mantenuta aperta, in modo da non dover soffrire di
precharge interval se il sistema torna su quella riga. Questo velocizza i procedimenti che
comportano grossi trasferimenti di dati.
La Static column è una variante della page mode in cui l'indirizzo di colonna non necessita
di essere introdotto.
La Nibble mode è un'altra variante con cui si può accedere a quattro indirizzi consecutivi
della stessa riga.
[modifica]
Extended data out (EDO) DRAM
La EDO DRAM (acronimo di Extended Data Output) è simile alla FPM DRAM, con
l'aggiunta che l'indirizzo di riga può essere introdotto mentre il dato precedente viene
comunicato in output. Questo permette un accavallarsi delle operazioni (pipelining) che
migliora le prestazioni. Era più veloce della FPM DRAM del 5% circa quando cominciò a
rimpiazzarla nel 1993. Le memorie EDO sono una stretta evoluzione delle memorie FP
alle quali aggiungono una "funzione" in grado di mantenere validi i dati anche dopo la fine
dell'impulso di richiesta. In questo modo il processore ottimizza il suo lavoro prelevando i
dati nella memoria dopo che sono stati resi disponibili dalla RAM senza aver tempi morti
per la ricerca dei dati nella ram stessa. Le memorie con tecnologia EDO sono state
costruite sia nel formato di SIMM a 72 contatti, sia che nel formato DIMM a 168 contatti;
hanno entrambi un tempo di accesso che varia dai 60ns ai 45ns, nel caso dei migliri
moduli, ed un'alimentazione d 5.0V. Le memorie EDO su zoccolo SIMM hanno un bus di
Memorie pag. 16 di 25
32 bit e una frequenza di lavoro di 8MHz per una banda passante di 32 milioni di Byte/Sec
(32MB/Sec) Le memorie EDO su zoccolo DIMM hanno un bus di 64 bit e una frequenza di
lavoro di 66MHz per una banda passante di 528milioni di Byte/sec (528MB/Sec)
[modifica]
Burst EDO (BEDO) DRAM
Evoluzione della precedente, la BEDO DRAM poteva elaborare quattro indirizzi in una
operazione, per un massimo di 5-1-1-1, risparmiando tre ulteriori cicli di clock rispetto ad
una EDO DRAM in condizioni ottimali. Ciò era ottenuto inserendo un contatore di indirizzo
che teneva traccia dell'indirizzo successivo. Inoltre introdusse una specie di pipeline che
permetteva di scomporre il ciclo di accesso in due stadi. Durante un'operazione di lettura,
il primo componente trasferiva il dato dalla memoria allo stadio di output. Questo lo
mandava all'appropriato livello logico. Dato che il dato è già nel buffer di output, il
processo avviene più velocemente (fino al 50% per grandi quantità di dati rispetto alla
EDO DRAM).
Nonostante la BEDO DRAM fosse migliorata rispetto alla EDO, nel momento in cui si rese
disponibile il mercato si stava muovendo significativamente verso la SDRAM.
[modifica]
Synchronous dynamic RAM (SDRAM)
La SDRAM è un tipo aggiornato di DRAM. Mentre la DRAM ha un'interfaccia asincrona,
cioè risponde immediatamente agli input, la SDRAM è sincrona, cioè attende il segnale di
clock successivo per rendere effettivi i cambiamenti ordinati. Il clock è usato per guidare
una macchina a stato finito che ha capacità di pipelining sui comandi in ingresso. Questo
le permette di avere un modo di operare più complesso rispetto alla semplice DRAM.
Grazie alla pipeline la memoria può accettare un comando in arrivo prima di aver
completato lo svolgimento del precedente. Così possono essere trasmessi in sequenza
più comandi di scrittura senza aspettarne il completamento. In lettura il dato compare dopo
un determinato numero di cicli di clock rispetto al comando, ma non è necessario
aspettare che appaia prima di mandare il comando successivo. Questo intervallo è definito
latenza ed è un fattore molto importante per le prestazioni della memoria.
La SDRAM fu introdotta nel 1997 e per il 2000 aveva sostituito la DRAM nei personal
computer per le sue migliori prestazioni. Il consorzio di produttori JEDEC sta sviluppando
Memorie pag. 17 di 25
lo standard per le memorie DDR SDRAM, le quali risultano al giorno d'oggi il migliore
compromesso fra prezzo e prestazioni.
[modifica]
Double data rate (DDR) DRAM
La DDR SDRAM è un ulteriore miglioramento della SDRAM, usata nei PC a partire dal
2000. Tutti i tipi di SDRAM usano come segnale di clock un'onda quadra: ciò significa che
il segnale cambia alternativamente tra due voltaggi (0 e 1), generalmente milioni di volte al
secondo. La tradizionale SDRAM, come la maggior parte dei circuiti sincroni, si attiva sul
fronte crescente del segnale ed ignora quello opposto. La DDR opera in entrambi gli
istanti, a volte raddoppiando la quantità di dati trasferiti nello stesso tempo.
Lo standard DDR si sta evolvendo, da DDR a DDR2 a DDR-3. Ci si aspetta che il DDR2
diventi lo standard più usato nel 2005, mentre è iniziato lo sviluppo del DDR-3 e la
standardizzazione con il JEDEC. La differenza tra DDR, DDR2, e DDR-3 è soprattutto nel
voltaggio, nella gamma di velocità, e in alcune particolarità nell'interfaccia.
•
•
•
DDR: 2,5 V
DDR2: 1,8 V
DDR-3: non ancora specificato (si ipotizza tra i 1,2 e 1,5 V)
Samsung sviluppa per prima chip DDR 400, banchi di memoria con frequenza di
funzionamento a 200 MHz (400 MHz effettivi). Altri tipi di DDR sono presenti:
•
•
•
•
DDR 200
DDR 266
DDR 333
DDR 400, il consorzio JEDEC rinomina questo tipo di memoria con il nome di PC3200 nei
tagli da 128, 256 e 512 MB. La caratteristica principare di queste memorie è una banda
passante pari a 3,2 GB/s, garantiranno prestazioni tre volte superiori a quelle fornite dalle
PC133 e il 50% superiori a quelle delle DDR 266.
[modifica]
Direct Rambus DRAM (DRDRAM)
La Direct Rambus DRAM, spesso chiamata DRDRAM, è internamente simile alla DDR
SDRAM, ma usa per il segnale una speciale tecnologia sviluppata da Rambus che
permette velocità di clock maggiori. I chip RDRAM sono divisi in moduli chiamati RIMM,
non compatibili con i DIMM della SDRAM. Intel ha ottenuto la licenza per la tecnologia e
Memorie pag. 18 di 25
ha sviluppato dei chipset con supporto per la RDRAM. I primi sistemi con Pentium 4
potevano usare solo RDRAM ma, dato che i prezzi della memoria rimanevano alti, alla fine
fu introdotto il supporto anche per la DDR (la compagnia VIA aveva già sviluppato un
chipset per Pentium 4 con supporto DDR, ma ne fu impedito l'utilizzo per vie legali, così
VIA decise di costruirci schede madri proprie, ma non ebbero molto successo). La
RDRAM quasi scomparì dai nuovi sistemi nel 2003, per la presenza del supporto di DDR
da parte del Pentium 4 e per il minor costo della SDRAM. Sony ha usato le memorie
RDRAM per la sua PlayStation 2 ed ha annunciato che userà le memorie XDR di Rambus
nella PlayStation 3.
[modifica]
Video DRAM (VRAM)
La VRAM è una memoria DRAM con doppio ingresso prima usata nelle schede video. Al
momento è praticamente obsoleta, sostituita da SDRAM e SGRAM. La VRAM possiede
due ingressi alla memoria che possono essere usati contemporaneamente. La prima porta
può essere usata come una normale DRAM. La seconda è di sola lettura e serve a fornire
al display un flusso continuo di dati. Per usarla il controllo video usa per prima cosa la
porta DRAM per selezionare una riga, che viene interamente copiata in un registro
principale. Il controllo può quindi continuare ad usare la porta DRAM per disegnare oggetti
sullo schermo. Nel frattempo fornisce alla porta video un segnale di clock chiamato shift
clock (SCLK). Ad ogni impulso di questo la VRAM fornisce i dati contenuti nel registro alla
porta video. Per semplicità le schede video sono programmate per fare in modo che una
linea contenuta nella memoria, e quindi nel registro, corrisponda ad una linea di pixel
completa nel display.
[modifica]
Synchronous graphics RAM (SGRAM)
La SGRAM è un tipo di SDRAM adattata per le schede video. Include funzioni quali quella
di bit masking (dà la possibilità di scrivere un bit specifico senza influire sugli altri) e quella
di block writing (permette di riempire un intero blocco di memoria con un solo colore).
[modifica]
Pseudostatic RAM (PSRAM)
Memorie pag. 19 di 25
La PSRAM è una DRAM con circuiti di controllo degli indirizzi e del ricaricamento integrati,
in modo tale da risultare analoga ad una SRAM. Essa combina l'alta capacità della DRAM
con la semplicità d'uso della SRAM. Alcune DRAM possiedono sia la modalità di autoricaricamento che quella normale con controllo esterno.
[modifica]
Legge di crescita delle DRAM
Dal 1977, questo componente ha avuto una notevole e costante crescita sia in termini di
capacità che (in misura minore) di velocità di accesso. L'industria delle DRAM ha
quadruplicato la capacità di memoria ogni 3 anni, con un incremento che si aggira attorno
al 60% annuo, in pratica "quattro volte ogni tre anni"; questa affermazione viene chiamata
la legge di crescita delle DRAM.
Questo rapporto è molto simile alla legge di Moore, l'osservazione empirica che
l'evoluzione elettronica porta a un raddoppio della capacità elaborativa (dei computer) ogni
18 mesi. Tale "legge" si è mantenuta vera fino ad oggi, ma arriverà un momento in cui si
andrà incontro al limite fisico dei materiali.
La crescita delle memorie è in parte dovuta all'utilizzo del silicio. Considerato come un
cattivo conduttore in forma grezza, il silicio, sottoposto a speciali processi chimici, può
comportarsi in 3 diversi modi:
•
•
•
Come un eccellente conduttore elettrico,
Come un eccellente isolante elettrico,
Come un'area che può condurre oppure non condurre sotto particolari condizioni
(drogaggio).
Sviluppando sempre più intensamente questo materiale, si sono raggiunti risultati sempre
maggiori, aumentando la densità di memoria del singolo chip.
Bisogna tener presente che nella valutazione generale delle prestazioni, anche il costo del
prodotto finito ha un peso molto importante: senza una diminuzione costante dei prezzi,
non avremmo avuto la crescita che si è vista in questi ultimi anni
Prendendo in esame il costo di 1 Mbyte di memoria DRAM abbiamo un fattore di:
•
•
•
•
5000 nel 1977
32 nel 1990
0.25 nel 2000
0.125 nel 2001
Memorie pag. 20 di 25
Il costo sta via via diminuendo, quasi a dimezzarsi ogni anno.
Se il progresso tecnologico è stato rapido, si deve anche al fatto che è stato incentivato
dalle richieste del mercato: sono aumentati i linguaggi di programmazione, gli stessi
programmi sono diventati più complessi e richiedono una CPU veloce, ma anche una
memoria in grado di caricare velocemente il codice in esecuzione.
Anche se la crescita della capacità di memoria è andata di pari passo con l'incremento
delle prestazioni dei processori, un problema grave è rimasto nel tempo di accesso: in
origine le CPU funzionavano a frequenze simili a quelle delle memorie, ma negli ultimi
anni il loro aumento di velocità è stato molto più rapido. Il risultato è che un processore
moderno funziona a frequenze anche 10 volte più elevate di quelle della RAM che gli
fornisce i dati, creando un ovvio collo di bottoglia nell'esecuzione dei programmi. Lo
sviluppo di grandi memoria cache ha permesso di risolvere, sebbene solo in parte, questo
problema.
Prendendo in considerazione questo aspetto, l'aumento delle prestazioni cala portandosi a
una crescita complessiva del 9% annuo, ovvero le prestazioni (intese come spazio della
memoria e velocità) raddoppiano ogni 10 anni Considerando questo nuovo punto di vista,
ogni anno abbiamo un divario tra prestazioni della CPU e memoria RAM che s'incrementa
del 50%
Dalle stime economiche del 2004, i dati sono più che positivi per il mercato delle DRAM,
che porta a casa un incremento del 20%, raggiungendo un fatturato di 6.7 miliardi di
dollari. Per gli analisti però il comparto avrebbe oramai raggiunto il suo massimo, e nel
corso del 2005 potrebbe già iniziare una fase di recessione. La maggior parte dei
produttori, sostengono gli analisti, sta investendo molto su nuove strutture produttive,
grazie ai profitti che stanno registrando, e questo porterà a un eccesso di produzione
verso la fine del 2005, inizio 2006. Ciò vuol dire che per il futuro si cercheranno altri
sistemi che possano prendere il posto delle odierne DRAM.
http://support.packardbell.com/it/memoryconfigurator/faq.php
Qual è la differenza tra SDRAM DDR ed SDRAM ?
SDRAM DDR è un'evoluzione diretta dell'attuale SDRAM SDR (single data rate). Le
SDRAM DDR, acronimo di Double Data Rate, raddoppiano la larghezza di banda
disponibile al sistema ed operano al doppio della velocità delle SDRAM standard. Ad
esempio, una SDRAM DDR a 266MHz (133MHz moltiplicato per 2) ha una larghezza di
banda di 2,1GB/sec e viene riferita con il termine PC2100.
Memorie pag. 21 di 25
La principale differenza tra SDRAM DDR ed SDRAM standard risiede nel fatto che DDR
legge i dati su entrambi i picchi (alto e basso) del segnale di clock. L'SDRAM standard, o
SDRAM SDR (single data rate), trasporta le informazioni soltanto sul picco alto del
segnale. In pratica, un modulo DDR è in grado di trasferire i dati al doppio della velocità di
una SDRAM SDR. Ad esempio, al posto di una velocità dati di 133MHz, la memoria DDR
trasferisce i dati a 266MHz.
Qual è la differenza in termini di prestazioni tra DDR ed RDRAM ?
DDR e Rambus DRAM sono due nuovi tipi di memoria studiati per rendere i computer più
veloci. Entrambi le tecnologie hanno ferventi sostenitori, e sono stati pubblicati svariati
benchmark che riportano risultati contrastanti su quale tra le due sia migliore in termini di
prestazioni.
Sebbene i moduli Rambus sembra possano trasferire i dati con maggiore velocità, hanno
apparentemente una latenza maggiore (la quantità di tempo da attendere per il flusso dei
dati) rispetto ad un sistema DDR. In altre parole, il primo dato trasferito con una
transazione Rambus richiede un tempo d'inizializzazione maggiore rispetto al primo dato
spostato in un sistema DDR. Inoltre la tecnologia DDR è significativamente meno costosa
rispetto a RDRAM.
Per maggiori informazioni sulle differenza tra DDR e RDRAM, consultate Memoria: La
nuova generazione.
Cosa significano i numeri nelle sigle PC100, PC133, PC1600, PC2100, PC2700, e
PC3200 ?
Per essere qualificato come PC100, PC133, ecc., un modulo di memoria deve soddisfare
degli standard industriali, relativi all'utilizzo in un particolare tipo di sistema. (Per maggiori
informazioni, consultate Le restrizioni da rispettare per soddisfare le specifiche PC100 e
PC133 .).
Nei moduli SDRAM, i numeri che seguono la sigla "PC" si riferiscono alla velocità del front
side bus del sistema. In un modulo DDR, i numeri che seguono la sigla "PC" indicano la
larghezza di banda complessiva del modulo stesso. Segue un breve descrizione di
ciascun tipo di memoria.
PC100 è una memoria SDRAM progettata per l'impiego in sistemi con front side bus a
100MHz. Viene utilizzata in molti sistemi Pentium II, Pentium III, AMD K6-III, AMD Athlon,
AMD Duron e Power Mac G4.
Memorie pag. 22 di 25
PC133 è una memoria SDRAM progettata per l'impiego in sistemi con front side bus a
133MHz. Viene utilizzata in molti sistemi Pentium III B, AMD Athlon e Power Mac G4.
PC1600 è una memoria DDR progettata per l'impiego in sistemi con front side bus a
100MHz (a 200HMz in modalità DDR). "1600" si riferisce alla larghezza di banda del
modulo (la quantità di dati spostati in un secondo), ossia 1,6GB al secondo. PC1600 ha
praticamente sostituito PC2100, ed è compatibile verso il basso.
PC2100 è una memoria DDR progettata per l'impiego in sistemi con front side bus a 133MHz (a 266HMz in
modalità DDR). "2100" si riferisce alla larghezza di banda del modulo (la quantità di dati
spostati in un secondo), ossia 2,1GB al secondo. PC2100 viene principalmente utilizzata
nei sistemi AMD Athlon, Pentium III e Pentium IV.
PC2700 è una memoria DDR progettata per l'impiego in sistemi con front side bus a
166MHz (a 333HMz in modalità DDR). "2700" si riferisce alla larghezza di banda del
modulo (la quantità di dati spostati in un secondo), ossia 2,7GB al secondo.
PC3200 è una memoria DDR progettata per l'impiego in sistemi con front side bus a
200MHz (a 400HMz in modalità DDR). "3200" si riferisce alla larghezza di banda del
modulo (la quantità di dati spostati in un secondo), ossia 3,2GB al secondo.
A cura di: Alessandro www.viziato.it
Che cosa è la memoria virtuale
Partiamo da una semplice domanda: cosa succede se tutte le applicazioni attivate del
nostro computer consumano tutte le risorse di memoria? Si potrebbe pensare che il
sistema si blocca, senza sapere, invece, che windows ricorre alla memoria virtuale. La
memoria virtuale possiamo considerarla come una emulazione, tramite software, della
presenza di memoria RAM superiore a quella fisica presente nel nostro sistema,
effettivamente installata. In parole semplici viene simulata la presenza di altra memoria
utilizzando il disco rigido e tecniche di compressione.
Con l'uso della memoria virtuale un software ha a disposizione un numero maggiore di
indirizzi (address) che servono per registrare istruzioni e dati che, al momento dell'utilizzo,
saranno poi trasferiti nella memoria reale (RAM). Quindi grazie alla memoria virtuale sarà
possibile lavorare con dei software che richiedono maggiore memoria di quella fisicamente
disponibile. Naturalmente, poiché il software non entra nella memoria fisica, è necessaria
una continua azione di trasferimento di istruzioni e dati dalla memoria virtuale a quella
reale. Questo trasferimento avviene in porzioni, suddividendo la memoria virtuale in tante
parti, chiamate 'pagine' (page) ognuna con un determinato numero di indirizzi. Questa
suddivisione si chiama 'paging'. Mentre il processo di trasferire le istruzioni ed I dati dalla
memoria virtuale alla memoria fisica e viceversa, si chiama 'swapping'. Per finire il
concetto, il file, registrato sul disco rigido, che ospita la memoria virtuale, si chiama 'swap
file'.
Inoltre dobbiamo sapere che Windows gestisce la memoria fisica disponibile nel nostro pc
in modo dinamico, in quanto trasferisce di volta in volta sull'hard disk in un file denominato
win386.swp blocchi di dati che non sono immediatamente necessari, per fare posto alle
Memorie pag. 23 di 25
diverse necessità delle applicazioni attivate. La differenza più evidente fra la memoria fisica
e quella virtuale è data dal fatto che quella fisica è costituita da un supporto
completamente elettronico, quindi con tempi di accesso misurabili in nanosecondi (inutile
dire che in questo caso è molto veloce). La seconda, quella virtuale, è invece gestita su
hard disk: supporto meccanico con tempi di accesso non paragonabili a quelli della
memoria fisica e molto condizionata da diversi fattori, fra cui la velocità di funzionamento
di tutti i componenti, lo stato di frammentazione del file di swap, ecc....
Viziato mi hai stancato con queste chiacchiere, dimmi dove si trova la memoria
virtuale
Vediamo da dove si gestisce la memoria virtuale. Clicchiamo con il destro del mouse
sull'icona Risorse del computer presente nel desktop, e selezioniamo Proprietà, spostiamoci
in Prestazioni
in basso a destra di questa finestra troviamo il pulsante Memoria virtuale, clicchiamoci
Adesso selezionando Impostazione manuale, è possibile stabilire quanto spazio dobbiamo
assegnare su disco.
Per aumentare le prestazioni della memoria virtuale vi sono diversi metodi:
1) è possibile creare una partizione riservata esclusivamente per il file di swap.
2) si potrebbe disattivare il file di swap, deframmentare tutto l’hard disk e riattivare la
memoria virtuale impostandola con una dimensione fissa (minima e massima).
Memorie pag. 24 di 25
3) Oppure, per finire possiamo impostare una dimensione fissa e usare un software, come
ad esempio Speed Disk delle Norton Utilities. Questo programma sposta il file di swap
all’inizio dell’unità disco, dove la velocità di lettura e scrittura dei dati (transfer rate) è
massima
Di tutti questi, il metodo che garantisce le migliori prestazioni è il terzo, ma in ogni caso
non dobbiamo dimenticare che la memoria virtuale dovrà pur sempre fare i conti con i
tempi di accesso tipici di un supporto meccanico, qual'è l'hard disk.
Dopo aver letto questo articolo fatevi dare un consiglio: lasciate la gestione della
memoria virtuale così come si trova di default (cioè la gestione automatica della
memoria virtuale). Ma allora questo articolo perchè l'ho scritto? Bho! evidentemente ho
problemi di memoria nel mio cervello e mi piacerebbe aggiungerne altra :-))
Memorie pag. 25 di 25