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