martedì 18 marzo 2008

Impariamo a distinguere le memorie

Distinguiamo le ram:
Che cosa sono?
Prima di elencare e, successivamente specificare le caratteristiche dei differenti tipi di RAM, occorre fare qualche breve accenno alle loro funzioni.

RAM è la sigla di Random Access Memory (Memoria ad Accesso Casuale), in quanto allo spegnere del computer, quindi al cessare della tensione elettrica, i dati in essa contenuti vengono persi. Da questo punto, si possono distinguere due grandi categorie di RAM: le DRAM e le SRAM.

Le prime (Dynamic Random Access Memory), sono quelle normalmente utilizzate dai computer finalizzate a memorizzare i dati necessari per lo svolgimento di un'applicazione; esse sono leggibili e scrivibili dal sistema e, allo spegnimento di quest'ultimo, vengono "svuotate". Sono chiamate RAM "Dinamiche" perché i dati in esse contenuti non sono In grado di permanere immutati, ma necessitano di essere sempre aggiornati, allo scopo di rimanere nella cella di memoria per poi venir letti. Una cella di DRAM è composta da un condensatore e da un transistor. Poiché il condensatore può trattenere la carica solo per pochi millisecondi, il contenuto della DRAM deve essere continuamente aggiornato, vale a dire che il condensatore deve essere ricaricato frequentemente (centinaia di volte al secondo) in modo da non perdere l'informazione (bit) che vi è registrata. Per questo motivo le DRAM non sono memorie particolarmente "veloci" rispetto alle SRAM (Static Random Access Memory), che sono in grado, con una minima tensione elettrica, di far permanere i dati all'interno della loro cella. Un esempio di memoria SRAM è il BIOS stesso, tenuto "in vita" dalla batteria Installata sulla scheda madre, e caratterizzato da tempi di accesso minori. Inoltre le DRAM hanno costi di produzione molto ridotti e, in termini di energia elettrica, consumano notevolmente di più rispetto alle SRAM.

Per il momento, a noi interessano solo le caratteristiche delle memorie cosiddette "Dinamiche"

Prestazioni generiche:
La velocità delle RAM, dipende da molti fattori, il primo dei quali è sicuramente la loro frequenza di lavoro, espressa in Mhz. Ovviamente, più alta è la frequenza, più velocemente la memoria sarà accessibile. I tempi di accesso sono "misurati" in nanosecondi (ns) , e dipendono da moltissime variabili, quali il tipo di RAM, la loro frequenza, i timings ecc.; ma questi sono tutti dati che verranno analizzati uno per volta rispetto ai vari tipi e modelli di RAM.


Cenni Storici:
La prima vera RAM dinamica nasce nel 1971 (ad 1 Kbit, per opera della Intel). Quelle che vi proporremo, sono già dei modelli "avanzati" rispetto a quei tempi, introdotte con lo sviluppo dei primi processori 386/486.


Modelli e Caratteristiche:
Cominciamo subito col distinguere due differenti generazioni di memorie DRAM, le SIMM e le DIMM (e SODIMM).

Memorie SIMM (Single In-line Memory Module) - Modulo di Memoria a Singola linea di Contatto.

Modello a 30 pin:
Image Hosted by ImageShack.us


Modello a 72 pin:Image Hosted by ImageShack.us

Come suddetto, queste memorie sono state sviluppate con l'avvento dei processori 386/486 e dei primi Pentium (586) e Pentium Pro, perciò ci troviamo di fronte (anche in termini di tempo in campo informatico) a delle memorie "d'epoca". Probabilmente è ancora possibile vedere in commercio modelli da 72 pin (anche se molto raramente) ; ma veniamo ai dettagli tecnici:
le prime (quelle a 30 pin) sono memorie a 8 bit, erano necessari quindi quattro di questi moduli per raggiungere il bus che caratterizzava le schede madri di quel tempo, che era a 32 bit. Furono introdotti così i modelli a 72 pin, caratterizzati dal fatto di operare con bus a 32 bit, che quindi potevano essere montati anche in numero dispari. Con l'uscita in particolare dei primi Pentium, il bus aumentò fino a 64 bit, perciò le memorie dovevano ancora essere montate in numero pari.Queste memorie avevano un voltaggio pari a 5,0v e tempi d'accesso varianti dagli 80 ai 70 ns. Venivano montate su socket particolari che garantivano il perfetto contatto dei pin con la scheda madre.
Image Hosted by ImageShack.us

SIMM FPM (Fast Page Mode) - SIMM in modalità fast page.
Le memorie in modalità fast page, sono una "variante" del modello a 72 pin. La loro particolarità, è quella di consentire l'accesso a diversi bit che si trovano tutti sulla stessa riga di memoria, fornendoli uno dopo l'altro senza pause. Il loro tempo d'accesso, infatti, si aggira sui 60 ns, soprattutto per le memorie di questo tipo che riuscivano a compiere la fase di overhead (cicli impiegati per la gestione interna) in 6 cicli di clock, mentre per tutte le altre fasi in 3 cicli di clock.

SIMM EDO (Extended Data Out) - SIMM con flusso di dati esteso.
Le memorie EDO sono l'evoluzione delle memorie FPM, in quanto usano quasi lo stesso principio di funzionamento. Ma allora cos'hanno in più queste memorie? Il loro punto forte, è costituito dal fatto che, mentre le FPM disattivano la colonna e il buffer dopo la "memorizzazione", le memorie di tipo EDO mantengono il buffer attivo, pronte quindi finchè la colonna seguente si attiva o viene completato un altro ciclo di clock. Ciò accelera la memorizzazione dei dati, che viene eseguita in modo continuo e consecutivo.
I loro tempi d'accesso variano da 60 a 50 ns.



Abbiamo analizzato, quindi, i tipi di memoria che "caratterizzavano" il passato, ma passiamo ad esaminare ora in dettaglio quelle che fanno parte del presente.







Memorie DIMM (Dual In-line Memory Module) Modulo di Memoria a Doppia linea di Contatto:
Da qui in poi si apre una nuova generazione di memorie, destinate a permanere sino agli ultimissimi computers prodotti. Le memorie SODIMM sono delle normali DIMM "riadattate" per i notebook.


SDRAM (Synchronous DRAM) PC66
Questo tipo di memorie segna una nuova concezione nel campo delle DRAM. Le memorie cosiddette Synchronous, sono chiamate in questo modo perchè una loro notevole particolarità è quella di riuscire a operare alla stessa frequenza di clock del processore, sincronizzando quindi tutte le loro operazioni con quest'ultimo. Queste memorie in particolare, riescono a ragguingere una frequenza di 66Mhz (da qui PC66). Un'altra innovazione delle SDRAM è la possibilità di effettuare un accesso ancora prima di aver finito quello precedente (attivare una colonna mentre l'altra è ancora in uso), questo meccanismo è chiamato interleave (= sovrapposizione degli accessi) ; motivo per il quale i tempi d'accesso sono molto ridotti rispetto a EDO/FPM (15-10 ns) . Queste memorie sono provviste di ben 168pin per il contatto; tale quantità di pin facilita le operazioni di sincronizzazione
Image Hosted by ImageShack.us


SDRAM PC100:
Evoluzione della SDRAM PC66. Come potrete notare dalla sigla, questo tipo di memoria è in grado di svolgere le proprie funzioni con una frequenza pari a 100 Mhz. Probabilmente vi sono ancora moltissime macchine che montano questo tipo di memoria; infatti il suo bus è quello di PentiumII e PentiumIII e ovviamente di tutti gli AMD con bus a 100Mhz. Se ne può dedurre quindi che queste memorie sono supportate da tutti i chipset Slot1 o Socket370, anche se stanno pian piano scomparendo per lasciare libero spazio alle PC133. I loro chip hanno tempi d'accesso che variano dai 10 agli 8ns.
Image Hosted by ImageShack.us

SDRAM PC133:
L'ultima evoluzione delle SDRAM che, come potrete ben capire, opera ad una frequenza di 133Mhz, il bus che caratterizza praticamente tutte le Motherboards degli attuali pc. E' probabilmente una delle tipologie di RAM più vendute. I tempi d'accesso con queste memorie si abbassano ulteriormente: generalmente 7.5/7ns, ma è possibile trovare anche SDRAM con chip da 6.5/6ns (queste ultime più di rado)
Image Hosted by ImageShack.us

SDRAM ECC (Error Correcting Code), sicurezza e stabilità:
Le SDRAM ECC (con Codice di Correzione di Errore) sono un particolare tipo di SDRAM che permette il controllo dei dati ed un'eventuale correzione degli stessi nel caso presentassero errori di vario tipo; Ciò è consentito grazie ad un bit aggiuntivo agli otto tradizionali, il nono bit, detto anche bit di parità.

Questa funzione di controllo e correzione, permette a queste RAM di avere una maggiore stabilità e sicurezza rispetto alle RAM "tradizionali", infatti queste memorie sono utilizzate dalla maggiorparte dei server, che necessitano di rimanere operativi per molto tempo, e che quindi non possono "permettersi" alcun tipo di errore. C'è da dire però che queste memorie, a causa delle loro funzioni supplementari, sono un po' più lente delle memorie "tradizionali", esse hanno infatti tempi d'accesso maggiori rispetto a quest'ultime.
Una, per così dire, variante delle SDRAM ECC, sono le SDRAM ECC Registered, nelle quali l'affidabilità viene prima testata.

Infine, le RAM di tipo ECC, si contraddistinguono a prima vista dal momento che presentano sulla basetta tre chip aggiuntivi.
Image Hosted by ImageShack.us

DIMM SDRAM DDR (Double Data Rate):
Questo tipo di memorie è sicuramente il più utilizzato e il più venduto attualmente sul mercato.

Si tratta di un particolare tipo di memorie SDRAM, che, al contrario di quest'ultime, utilizzano entrambi i fronti di clock, ascendente e discendente. Si avrà quindi una bandwith doppia rispetto alle "normali" SDRAM: possiamo quindi affermare che, prese in esame memorie SDRAM e memorie DDR, pur operanti alla stessa frequenza, le seconde avranno bandwith raddoppiata.

La loro comparsa è avvenuta primariamente nelle schede video ma progressivamente hanno costituito e costituiscono tuttora il più diffuso tipo di memorie. Le nomenclature delle memorie DDR, non vengono più espresse secondo la rispettiva frequenza di lavoro, ma secondo la loro larghezza di banda, il tutto, ovviamente, per ragioni di marketing. Esistono DDR PC 1600 (200Mhz, 1.6GB/s, ormai rare), PC 2100 (266Mhz, 2.1GB/s), PC 2700 (333Mhz, 2.7GB/s), PC 3200 (400Mhz, 3.2GB/s) e infine esistono anche PC 3700 (466 Mhz, 3.7GB/s), anche se ancora poco diffuse dati i costi piuttosto elevati.
Image Hosted by ImageShack.us

DDR ECC (Registered):
Anche delle memorie DDR, esistono le versioni ECC ed ECC Registered, con funzione analoga alle SDRAM ECC (o ECC Registered).
Image Hosted by ImageShack.us

DDR Dual Channel:
Questa nuova tecnologia, viene già applicata alla schede madri di recente fattura. Essa permette di avere due canali "fisici" di accesso alle DDR. Ciò è molto vantaggioso, in quanto la banda passante raddoppia. Faccio un esempio: se ho due moduli idenetici (stessa marca e modello) DDR PC3200, disponendoli su due canali, avrò una banda passante con un picco massimo di 6.4GB/s. Questa tecnologia quindi, permette di eliminare il collo di bottiglia che non permetteva fino ad ora di sfruttare tutte le risorse del proprio pc.
Image Hosted by ImageShack.us

DDR-II SDRAM (Double Data Rate Two Synchronous Dynamic Random Access Memory):
Il vantaggio della DDR-II rispetto alla DDR-I è la sua capacità di funzionare con una velocità di clock maggiore. DDR-II raddoppia la velocità di clock rispetto a DDR, che a sua volta raddoppiò la velocità della SDRAM. Con una frequenza di clock di 100MHz, SDR trasferisce i dati ad ogni fronte di salita del clock, raggiungendo così una velocità di trasferimento di 100MHz effettivi. Come DDR, DDR-II trasferisce i dati ad ogni fronte di salita e di discesa, ottenenedo così una velocità di trasferimento di 200MHz. Altri miglioramenti sono ottenuti attraverso un aumento dei buffer, un miglioramento del prefetch, richieste elettriche ridotte e packaging migliorato. In controparte, però, la latenza aumenta in DDR-II rispetto a DDR-I. Il risparmio di energia è ottenuto principalmente dalle migliori tecnologie utilizzate per produrre i chip, ma anche con la più bassa frequenza di clock. Un prodotto con DDR-II può usare una frequenza di clock di 1/4 rispetto a SDR, mantenendo la stessa larghezza di banda. Una frequenza di clock più bassa è anche più facile da pilotare su un circuito, riducendo così la potenza dissipata, soprattutto quando il bus dei dati è inattivo.



Il caso RAMBUS:
La loro "storia" comincia con la comparsa del primo Pentium4 (core Willamette). A questo processore infatti, vennero abbinate questo tipo di memorie, assieme ai chipset Intel i820, i840 e i850. Questo nuovo standard di memorie fu introdotto proprio da Intel, e le memorie, sempre per una ragione di marketing, ebbero una nomenclatura ancora diversa, che si "forma" con la loro frequenza effettiva di lavoro moltiplicata per il fattore moltiplicatore 2x; esistono quindi RAMBUS PC600 (300Mhz effettivi), PC700 (356Mhz effettivi), PC800 (400Mhz effettivi) e anche di frequenze superiori.
Queste memorie però, erano disponibili a costi abbastanza alti, e questo fu una delle principali cause che non fecero ottenere al primo Pentium4 il successo preventivato; sempre le memorie in questione, poi, dovevano essere montate in coppia. Intel decise quindi di abbandonare RAMBUS per fare spazio alle sempre più crescenti DDR, e creò chipset e processori (Pentium4 con core Northwood) in grado di sfruttare appieno questo tipo di memorie.
Image Hosted by ImageShack.us

Analizzeremo ora, come accennato nella prima pagina di quest'articolo, i vari parametri di funzionamento delle memorie RAM...



Timings:
Esistono dei parametri riguardanti le DRAM che consentono (oltre allo stesso funzionamento) l'aumento delle prestazioni di queste memorie. I suddetti parametri sono conosciuti sotto il nome di Timings, e, come già detto, influiscono molto sulle prestazioni delle DRAM. Possiamo quindi osservare che non è la sola frequenza di lavoro a determinare le prestazioni velocistiche delle memorie RAM.

I principali parametri detti Timings sono:

CAS (Column Address Strobe) Latency Time: Diciamo pure che è il parametro forse più conosciuto; esso indica i cicli di clock necessari a attivare una colonna (tempo necessario per processare una richiesta). Contrariamente a quanto si potrebbe pensare, a valori inferiori corrispondono prestazioni più alte.

RAS (Row Address Strobe) to CAS Delay: Questo parametro riferisce quanti cicli di clock sono necessari per accedere ai dati contenuti nelle righe (row, appunto); si passa prima dalle righe, per poi arrivare alle colonne: quando i dati sono richiesti, il processore attiva il parametro RAS per specificare la riga dove i dati sono richiesti, quindi attiva il parametro CAS per specificarne la colonna. Anche qui, a valori minori corrispondono prestazioni maggiori.

RAS Precharge: Questo valore indica i cicli di clock richiesti dal parametro RAS prima che la memoria effettui il refresh e affinchè la memoria sia pronta ad una nuova memorizzazione di dati (cicli di clock impiegati per precaricae i condensatori della memoria.). Anche qui, caso analogo: valori minori, uguale a prestazioni maggiori.

Cycle Time (Tras-Trc): In questa fase vi sono due "tempi": il primo, Tras determina l'intervallo di tempo in cui vengono trasferiti i dati, e il secondo, il Trc, che è l'intervallo di tempo impiegato per "aspettare" il successivo trasferimento di dati.

Image Hosted by ImageShack.us

Tutti questi valori possono essere modificati per un aumento di prestazioni. La possibilità di fare ciò, però, dipende molto dal tipo di RAM utilizzate e da molti altri fattori. Nella maggior parte dei casi, le memorie necessitano di un leggero overvolt per eventuali Timings spinti. I Timings sono regolabili da BIOS.
Image Hosted by ImageShack.us

Per il resto, le prestazioni velocistiche sono determinate dalla frequenza di funzionamento nonchè dai tempi d'accesso.


... Compatibilità MainBoard:
Generalmente tutte le marche di DIMM sono compatibili con pressochè tutte le schede madri.
Ma si consiglia di leggere marche e modelli (compatibili e certificati QVL) nel manuale della vostra scheda madre o sul sito del produttore di essa scaricando il manuale in .PDF (se avete perso il manuale)!


Single e Double sided:
Le memorie DRAM possono essere Single o Double Sided. Nel primo caso le memorie hanno una sola "faccia", in pratica i chip sono disposti solo da un lato della basetta. Nel secondo caso invece, come facilmente deducibile, troveremo chip montati su entrambi i lati della basetta. Quando si acquistano più banchi di DRAM, è necessario informarsi preventivamente sul manuale della propria scheda madre, poichè i diversi chipset possono tollerare diverse configurazioni. Per esempio, con un determinato chipset potrò montare due banchi di DRAM Duoble-Sided e un solo banco di DRAM Single-Sided, mentre su un altro il contrario, e via dicendo.

lunedì 17 marzo 2008

La memoria del computer

Una componente fondamentale della scheda madre sulla quale vale la pena di soffermarsi è la memoria. I componenti del pc come il sistema operativo, il disco rigido, il processore, lavorano insieme come un gruppo di lavoro del quale la memoria costituisce la parte fondamentale.
La cpu usa costantemente la memoria. Non appena si accende il pc vengono lette le prime istruzioni sulla ROM e viene effettuato un test per verificare il funzionamento dei componenti più importanti: ad esempio, viene verificata dal controller tutta la memoria con operazioni di read/write su tutti gli indirizzi, viene caricato dalla ROM il BIOS, che fornisce informazioni relative all'hardware, alla sequenza di boot, alle periferiche plug & play, ecc…Il sistema operativo viene caricato dal disco rigido alla RAM di sistema; le applicazioni eseguite dall’utente vengono caricate nella RAM e se un’applicazione apre un file, questo viene conservato nella RAM. Quando l'applicazione salva i dati e termina, il file viene scritto sul disco rigido e cancellato dalla memoria: anche l'applicazione viene eliminata dalla memoria.
Il microprocessore possiede un’area per la memorizzazione dei dati, di dimensioni molto limitate, dove conserva le informazioni attualmente elaborate o i risultati intermedi di un’elaborazione: la memoria cache e i registri. Questa piccola area di memoria non è sufficiente per eseguire programmi, ha bisogno di memoria esterna sulla quale conservare (nel solito formato digitale) i dati di lavoro, le istruzioni dei programmi che sta eseguendo e così via.. La maggior parte dei dati letti dal disco rigido o dalla tastiera finiscono inizialmente nella RAM.
Qualsiasi sia l’informazione che si deve elaborare, deve essere innanzitutto memorizzata. A tal proposito, in un elaboratore sono presenti vari tipi di “memorie” le quali, qualsiasi sia la loro tipologia, possono essere immaginate come una sequenza finita di locazioni o celle contenenti ciascuna uno o più byte, ovvero uno o più caratteri e/o simboli. Tale locazione prende il nome di parola (word).
L’elemento base della memoria è il dispositivo bistabile (flip-flop). Ogni cella di memoria è caratterizzata da un indirizzo (le celle vengono numerate da 0 in poi per poter essere identificate in modo univoco) e da un contenuto (valore in essa memorizzato). Il contenuto è costituito da una sequenza di bit; le distinte sequenze di bit di lunghezza n sono 2n.
Image Hosted by ImageShack.us

L'unità di misura fondamentale dell'informazione è il bit, che corrisponde alla quantità di informazione convogliata dalla scelta fra due sole alternative. Con un solo bit di memoria si può rappresentare, ad esempio, lo stato di un singolo interruttore (acceso o spento) o un carattere di un linguaggio composto da due soli simboli. Il passo successivo è il byte, che corrisponde a una “parola'' composta da otto bit. Un byte può “informarci'' sulla scelta fra 28 = 256 diverse alternative. Può quindi rappresentare ad esempio un carattere scelto da un alfabeto di 256 simboli, un numero intero compreso fra 0 e 255, un colore scelto da una “tavolozza'' di 256 colori diversi e così via.
Le tabelle più diffuse di codifica dei caratteri, come la tabella ISO Latin 1, utilizzano proprio un byte per codificare un carattere. Un carattere di testo, dunque, “pesa'' normalmente un byte. Una cartella di testo che comprende circa 2000 battute, peserà dunque 2000 byte.
Bit e byte sono unità di misura della quantità di informazione e, dato che la capacità di una memoria corrisponde appunto alla quantità di informazione che in essa può essere immagazzinata, bit e byte sono anche le unità di misura di base per esprimere la capacità di immagazzinamento (la “dimensione'') di una memoria.
Man mano che le dimensioni delle memorie (e della quantità di informazione che vogliamo immagazzinarvi) crescono, diventa scomodo continuare a parlare utilizzando solo unità di misura “piccole'' come il bit e il byte.
Ecco allora che, proprio come accade per altre unità di misura, anche in questo caso si fa ricorso a nomi specifici per indicare i principali multipli delle nostre familiari unità di base. A differenza di quanto accade ad esempio nel caso della lunghezza o del peso, nel caso della quantità di informazione non si usa, per la costruzione di queste unità di misura di livello superiore, il sistema decimale. Abbiamo visto infatti che nel campo del digitale è la numerazione binaria, non quella decimale, a fare da padrona. Ecco allora che il Kilobyte (abbreviato come KB) non corrisponde a 1000 byte ma a 210= 1024 byte. 2 KB di testo corrispondono dunque non a 2000, ma a 2048 caratteri (siamo comunque sempre vicini alle dimensioni di una cartella standard). Proseguendo nella scala, troviamo il Megabyte (MB), che corrisponde a 1024 Kilobyte(KB), il Gigabyte (GB), che corrisponde a 1024 Megabyte, il Terabyte (TB) pari a 1024 GB e il Petabyte (PB) pari a 1024TB.
Image Hosted by ImageShack.us

I pc dispongono di vari tipi di memoria -una gerarchia di memorie- per poter ospitare i dati e il software che utilizzano. La memoria utilizzata dalla CPU può essere pertanto di vari tipi:
RAM;
CACHE;


MEMORIE DI MASSA (floppy disk, dischi rigidi, CD-ROM, DVD)




In questa sezione ci soffermiamo sulla memoria direttamente innestata nella scheda madre, la descrizione della memoria secondaria è fatta singolarmente per ciascun componente.




La memorie RAM (random access memory), memoria ad accesso casuale, è la memoria principale o memoria centrale del computer; contiene i dati e le istruzioni che devono essere elaborati dalla CPU. E’ costituita da componenti elettrici che, ai primordi dell’informatica, avevano costi molto elevati e quindi, per il contenimento dei costi, di capacità alquanto ridotte: proprio a causa delle dimensioni ridotte, i primi programmatori decisero di individuare l’anno utilizzando le ultime due cifre (2 byte) per risparmiare memoria, creando così i presupposti di quello che sembrava essere un disastro epocale provocato dal così detto baco del millennio (millennium bag) o “Problema Y2K (year 2000), in quanto il sistema non riusciva a distinguere il 2000 con altri anni di inizio secolo (1500 – 1800 – 1900) con le conseguenze facilmente immaginabili.
La RAM è una memoria di tipo volatile in quanto i suoi circuiti sono soggetti alla presenza o meno di alimentazione elettrica: è costituita da una serie di condensatori il cui stato carico-scarico rappresenta nella sequenza di 8 elementi il carattere che si vuol memorizzare; la mancanza di alimentazione (voluta se si elimina il carattere) o improvvisa (black out) scarica completamente la memoria dei suoi elementi, perdendo in questo caso i dati in essa memorizzati.
La funzionalità di questa memoria può essere paragonata ad un grande parcheggio in cui i veicoli si posizionano in modo casuale, senza cioè seguire un ordine prestabilito. Tale sistema permette di collocare nelle celle i vari caratteri in modo molto veloce e, tramite gli indirizzi assegnati dal sistema operativo, ritrovati al momento del bisogno rapidamente. Man mano che si “caricano” programmi, si creano file e si elaborano informazioni, la memoria si riempie, svuotandosi del tutto o in parte quando usciamo da un programma o abbandoniamo un file; in questo caso si dovrà memorizzare il file su un altro tipo di memoria (memoria di massa) costituita generalmente da supporti di tipo magnetico (hard-disk, floppy disk) o di tipo ottico (CD ROM). A causa delle differenze di velocità tra dischi, RAM e processori, viene utilizzata una memoria temporanea (memoria cache) che funge da contenitore di istruzioni e dati usati più frequentemente dalla CPU.
Quando si chiede al computer di eseguire un programma, il processore estrae dal disco rigido una copia, la “parcheggia” temporaneamente nella memoria RAM e quindi la esegue. La quantità di memoria RAM è cruciale per il buon funzionamento del pc (si misura in megabyte): quanto maggiore è la RAM, tanto meno frequentemente la CPU deve rivolgersi alle cosiddette memorie secondarie (disco rigido, floppy disk, CD-ROM) per lavorare.
Il processore sfrutta la velocità della RAM per elaborare dati e informazioni nei tempi più rapidi. La RAM infatti è molto più veloce di qualsiasi altro supporto: se per estrarre un dato da un disco rigido sono necessari alcuni millisecondi (1 millisecondo è uguale a un millesimo di secondo), per compiere un’operazione analoga della RAM di sistema bastano qualche decina di nanosecondi (1 nanosecondo è uguale a un miliardesimo di secondo).
Le tipologie di RAM attualmente disponibili sono tre: SDRAM che si dividono in SDR e DDR (queste ultime sono in grado leggere due dati per singolo clock invece di uno, raddoppiando in teoria la frequenza di bus rispetto alle prime). Il terzo tipo, differente a livello tecnologico dai primi due, è la RDRAM (PC800) che chiameremo Rambus.
La RAM SDRAM (syncronous dynamic random access memory) è la memoria dinamica ad accesso casuale sincrona, che sincronizza tutte le operazioni con il segnale di clock proveniente dal processore e che raggiunge una migliore efficienza nello scambio di dati tra memoria e processore, con tempo di accesso che variano tra i 10 ns e i 6 ns.
Le memorie SDRAM sono disponibili anche in versione DDR (double data rate random access memory); questa tecnologia, introdotta per la prima volta nelle memorie delle schede video, permette di raddoppiare la bandwidth della memoria a disposizione in quanto vengono utilizzati entrambi i fronti di clock (ascendente e discendente). All'atto pratico, si può dire che la memoria DDR ha bandwidth doppia rispetto a quella della memoria SDRAM operante alla stessa frequenza.
La RDRAM (rambus dinamic random access memory) è stata introdotta da Intel specificamente per l'impiego con i chipset i820-i840 e i850 e su sistemi basati su cpu Pentium IV.
I programmi odierni, sempre più complessi, richiedono sempre più memoria. I chip RAM sono installati su moduli (piccole schede): i principali tipi di moduli sono i seguenti:
SIMM (single in-line memory module), sono i vecchi moduli di memoria impiegati nei sistemi più datati, generalmente 386, 486 e Pentium. Questi moduli di memoria sono caratterizzati da una linea singola di contatti, che possono essere 30 o 72 pin (contatti).
DIMM (double in-line memory module), sono i moduli di memoria impiegati nei moderni sistemi, a partire da quelli di classe Pentium. Questi moduli di memoria sono caratterizzati da una linea doppia di contatti, che possono essere 168 o 184 pin. I moduli DIMM sono più lunghi dei moduli SIMM.
SODIMM (small outline dual in-line memory module), sono moduli di memoria con linea doppia di contatti e dimensioni ridotte. Vengono usate nei portatili.
RIMM (rambus in-line memory module), sono i moduli di memoria impiegati nei sistemi Pentium IV. Le RIMM sono dei moduli di memoria la cui architettura è basata sulle richieste elettriche del Direct Rambus channel, un bus che opera ad alta velocità.
Se si utilizza Windows 95 servono 16 MB, se si utilizza Windows 98, Windows NT oWindows 2000 sono consigliati 64 MB, mentre Windows XP ne richiede almeno 128 MB !




Storicamente, le CPU sono sempre state più veloci delle memorie. Quando la CPU invia una richiesta alla memoria, la parola che serve arriverà solo dopo molti cicli di CPU; più la memoria è lenta, più cicli dovrà aspettare la CPU. La tecnologia consente di costruire memorie veloci come la CPU, ma esiste un problema: per poter essere veloci come le CPU, queste memorie dovrebbero trovarsi sullo stesso chip della CPU (perché la connessione via bus alla memoria è lenta). Tale soluzione farebbe aumentare il volume del chip (CPU + memorie) e ne farebbe aumentare anche il costo. La soluzione per tale problema e’ un compromesso che prevede la presenza di una piccola memoria veloce nello stesso chip che contiene la CPU e una o più memorie lente all’esterno della CPU collegate tramite bus.
La memoria cache (dal francese cacher che significa nascosto) è una memoria di appoggio ad alta velocità posta fra il processore e la RAM che velocizza gli accessi ai dati e alle istruzioni. La cache è caratterizzata da un tempo di accesso molto minore di quello della RAM ed è in grado di fornire informazioni al processore più velocemente (alcuni nanosecondi), le sue dimensioni sono però molto inferiori a causa del maggior costo di fabbricazione. Può rispondere alle richiesta di lettura oppure filtrare le richieste di scrittura verso la memoria centrale senza imporre stati di attesa al processore (uno stato di attesa e’ un ciclo di clock durante il quale il processore sospende l’elaborazione e attende il completamento di una richiesta di lettura o scrittura sulla memoria). Quando la CPU deve accedere ad un indirizzo di memoria, accede prima alla cache: nel caso in cui questo non sia presente nella cache si verifica un fallimento di accesso, allora lo preleva dalla memoria centrale e lo ricopia nella memoria cache insieme ad un prefissato numero di locazioni contigue.
Il successo di tale soluzione (principio di località) dipende dal fatto che il più delle volte (tranne nei casi di salto) gli indirizzi di memoria successivamente generati durante l'esecuzione di un programma formano gruppi contigui.




LOCALITA' SPAZIALE:
quando si accede all’indirizzo A, è molto probabile che gli accessi successivi richiedano celle vicine ad A;
le istruzioni del codice vengono in genere lette da locazioni consecutive della memoria;
gli accessi ad array o a strutture dati sono “vicini”.
LOCALITA' TEMPORALE:
quando si accede all’indirizzo A, è molto probabile negli accessi successivi si richieda di nuovo la cella A.

La memoria cache è organizzata in due distinti livelli: quella inglobata all’interno del microprocessore (128-256 KB) è detta cache di 1° livello (L1) o interna, è accessibile in modo quasi istantaneo e risulta quindi la più veloce: garantisce un flusso continuo all’interno del processore; l’altra, incorporata sulla scheda madre (512 KB- 2 MB) è detta cache di 2° livello (L2) o esterna, risulta essere circa 5 volte più lenta della cache L1, serve per superare la lentezza della memoria centrale. La cache di 2° livello e’ detta anche RAM STATICA (SRAM). A causa della velocità degli attuali processori, la relativa lentezza della memoria RAM imporrebbe alla CPU di restare inattiva per più cicli di clock, pregiudicando così le prestazioni del sistema. Questo tipo di memoria può essere gestita in diversi modi: write back, che permette di leggere e scrivere i dati e write trough, che permette solo di leggerli, pertanto, maggiore è la dimensione della memoria cache e migliori saranno le prestazioni della CPU.




La memoria ROM (read only memory), costituita da componenti elettrici semplici, è adatta alla memorizzazione permanente delle informazioni costituite generalmente da istruzioni per l’avvio delle macchine, di programmi in linguaggio macchina per la gestione delle periferiche, di tabelle matematiche utilizzate dalla CPU per lo svolgimento di operazioni di base. La memoria ROM è detta di sola lettura proprio perché l’utilizzatore della macchina non è autorizzato a modificare il contenuto della stessa; in caso di danneggiamento o malfunzionamento della ROM il calcolatore è del tutto inservibile.
Le istruzioni di base che devono essere trasmesse alla CPU all’avvio del sistema sono contenute nei circuiti delle memoria ROM, una memoria permanente, sempre in funzione, anch’essa presente sulla scheda madre. Come dice il nome, è una memoria a sola lettura il cui contenuto è stato registrato in fase di costruzione del computer e quindi, come detto, non può essere modificato. Ogni volta che viene acceso, il computer esegue un piccolo programma contenuto nella ROM che gli permette di:
identificare il processore installato sulla scheda madre;
controllare la quantità di memoria RAM in dotazione e verificarne il funzionamento;
esaminare il disco rigido ed eventuali periferiche aggiuntive (ad esempio DVD, CD-ROM);
leggere la traccia, cioè il settore del disco rigido in cui sono contenute le istruzioni per l’avvio del sistema.
In particolare, la ROM che avvia il sistema è chiamata BIOS (basic input/output system); il BIOS è dunque un chip ROM che è specifico di una scheda madre. Le istruzioni e i dati in esso contenuti rimangono praticamente fisse per tutto il ciclo di vita del pc e sono utilizzate dalla CPU all'accensione del computer. Il programma nella ROM contiene in primo luogo le istruzioni per la partenza (start-up) del pc che si possono dividere in:
POST (power on self test), cioè le istruzioni per il controllo del funzionamento elettronico dei dispositivi all’accensione del pc;
SETUP, le istruzioni per la configurazione dei dispositivi dopo l’accensione e il post;
BIOS, le istruzioni per la configurazione verso il sistema operativo (CMOS); una batteria Ni-Cad permette di mantenere memorizzate all'interno del CMOS le informazioni sulla configurazione del computer impostate tramite BIOS. La batteria può essere cortocircuitata permettendo così l'azzeramento del CMOS spostando un Jumper sulla scheda madre (di solito vicino alla batteria stessa) in posizione clear CMOS.
BOOT, le istruzioni per la partenza del sistema operativo;
INPUT/OUTPUT: il BIOS raccoglie una serie di programmi software a basso livello (funzioni di base) che il sistema operativo sfrutta per interagire con l’hardware della macchina. Tra queste funzioni ritroviamo i caratteri digitati alla tastiera, l’invio dei caratteri alla stampante e l’accesso alla memoria, alle unità a disco e ad altri dispositivi di input/output. Non tutti i sistemi operativi utilizzano tutte le funzioni del BIOS (ad esempio UNIX).

domenica 9 marzo 2008

Rigassificatori, a Brindisi e Trinitapoli ancora proteste

Il rifiuto degli ambientalisti e una richiesta di compatibilità
Riferimento :Quotidianopuglia.it (9/03/2008)
Rigassificatori: gli ambientalisti brindisini rifiutano il confronto con la British Lng, il sindaco di Trinitapoli chiede se l’impianto di rigassificazione è compatibile con il territorio. BRINDISI – Per gli ambientalisti è una provocazione la scelta della Brindisi Lng di riproporre una campagna di comunicazione rivolta ai cittadini ed allo stesso tempo di avviare una consultazione territoriale, chiamando in causa i rappresentanti degli enti locali, delle organizzazioni sindacali ed imprenditoriali, le stesse associazioni ambientaliste e tutti coloro che, a vario titolo, svolgono un ruolo nella società civile brindisina. I principali movimenti ambientalisti hanno annunciato che non aderiranno all’invito della Brindisi Lng rifiutando il confronto. Allo stesso tempo chiedono ufficialmente a tutti i candidati nelle prossime consultazioni politiche di far sapere con chiarezza quale posizione assumono in riferimento al rigassificatore di Brindisi. TRINITAPOLI - Sul progetto di un impianto di rigassificazione, presentato dalla ditta Sorgenia di Milano, a Trinitapoli vogliono vederci chiaro. L’impianto sorgerebbe a cinque chilometri dalla costa, in campagna. In mare, distante altri 4 chilometri, sorgerebbe la piattaforma per le navi che portano il gas liquefatto. Il progetto è già stato presentato nella sede foggiana di Confindustria e a Trinitapoli. L’assessore regionale all’Ecologia Losappio nei giorni scorsi ha ribadito che Sorgenia non ha ancora depositato il progetto né alla Regione nè al Ministero dell’Ambiente. Secondo il sindaco, Ruggiero Di Gennaro, è necessario valutare le compatibilità della struttura con il territorio.

domenica 2 marzo 2008

Foggia come Napoli???

Image Hosted by ImageShack.us


Proprio una settimana fa l'Amica (società ex municipalizzata per la raccolta e smaltimento rifiuti) ha presentato il suo piano stategico sulla raccolta differenziata. Per il raggiungimento del 20% di raccolta nel 2008 e del 50% nel 2010, sarà utilizzato sistema porta a porta, e l’utilizzo delle isole ecologiche, già presenti in diversi quartieri.

L'Agecos, unìazienda che sta stoccando i rifiuti urbani nella nuova discarica, ha chiuso ieri l'impianto impedendo lo smaltimento. La causa di ciò è che la società dell'imprenditore Rocco Bonassisa vanta crediti di un milione di euro proprio dall'Amica. Nonostante la disponibilità dell'Amica a rateizzare l'importo attraverso una lettera dell’Agecos annuncia l’ interruzione del servizio di stoccaggio.
Una situazione di emergenza creatasi nonostante,e di fronte alla quale il Sindaco Ciliberti ha disposto la riapertura temporanea della discarica di Passo Breccioso, resa inagibile dopo un’incendio nel luglio scorso, questa situazione potrebbe durare uno o due mesi ammenocchè non ci sarà una mediazione del Governo.

Intanto la Regione Puglia con una nota urgente ha dichiarato che per ragioni di ordine pubblico la discarica non può essere bloccata in alcun modo.
La situazione è alquanto delicata, in quanto, se queste vicissitudini dovessero portarsi per le lunghe, in un’ipotetica chiusura dell’impianto di Passo Breccioso, le strade potrebbero, nei prossimi giorni, essere invase da sacchetti di immondizia , causando danni alla città e ai cittadini del capoluogo dauno.