II MODULO - HARDWARE PRATICO - 3° parte

(rielaborazione dei contenuti tratte dai siti:
http://it.kioskea.net/contents/pc/ram.php3
http://www.itis.mn.it/italiano/corsi/lavori4bin/ - Classe 1B) 
http://db.accomazzi.net/TarticoliI1021.html)

Memoria centrale (RAM)
 

E' la memoria di lavoro del computer ed è di tipo RAM (Random Access Memory). Quindi funziona solo a computer acceso. E' un insieme di circuiti elettronici miniaturizzati. Maggiore è la sua quantità e migliori saranno le prestazioni del computer.

Si distinguono generalmente due grandi categorie di memorie RAM:

•Le memorie dinamiche (DRAM, Dynamic Random Access Module), poco costose. Sono principalmente utilizzate per la memoria centrale del computer;
•Le memorie statiche (SRAM, Static Random Access Module), rapide ma costose. Sono soprattutto utilizzate per le memorie cache del processore ;

La memoria dinamica DRAM è costituita da centinaia di migliaia di piccoli condensatori (sorta di serbatoio elettrico) che immagazzinano delle cariche. Una volta caricato, lo stato software del condensatore è pari a 1, in caso contrario è a 0, il che significa che ogni condensatore rappresenta un bit della memoria.

Dato che i condensatori si scaricano, bisogna costantemente ricaricarli (il termine esatto è refresh) ad un intervallo di tempo regolare detto ciclo di refresh. Le memorie DRAM hanno ad esempio bisogno di cicli di refresh ogni 15 nanosecondi (ns) circa.

Ogni condensatore è accoppiato ad un transistor (di tipo MOS) che permette di "recuperare" (leggere) o di modificare lo stato del condensatore. Questi transistor sono disposti sotto forma di tabella (matrice). I punti di memoria vengono indicati con una linea e una colonna.

Ogni punto memoria è quindi caratterizzato da un indirizzo, corrispondente ad un numero di linea (in inglese row) e un numero di colonna (in inglese column). Ora questo accesso non è istantaneo e richiede un periodo detto tempo di latenza. Di conseguenza, il tempo di accesso (o di trasferimento) ad un dato in memoria è uguale al tempo di ciclo (relativo all'istruzione di lettura/scrittura in memoria) al quale bisogna aggiungere il tempo di latenza.

Ad esempio un tempo di accesso è di 60 nanosecondi potrebbe essere relativo a 35ns di tempo di ciclo e 25 ns di tempo di latenza.
In un computer, il tempo di ciclo corrisponde al contrario della frequenza dell'orologio (clock), ad esempio per un computer cadenzato a 200 MHz (106 hertz), il tempo di ciclo è di 5 ns {1/(200*106)= 1/2*10-8)=0,5*10-8 = 5x10-9}.

Di conseguenza, un computer con una frequenza elevata e che utilizza delle memorie il cui tempo di latenza è molto più lungo del tempo di ciclo del processore deve effettuare dei cicli di attesa (in inglese wait state) per accedere alla memoria. Nel caso di un computer cadenzato a 200 MHz che utilizza delle memorie di tipo DRAM il cui tempo di accesso è di 60ns (di cui 5ns di ciclo +55ns di latenza) avremo ben 11 cicli di attesa per ogni ciclo di trasferimento. Le performance del computer diminuiscono con l'aumento dei cicli di attesa. Si consiglia dunque l'utilizzo di memorie più rapide.

L'altra tipologia di memorie RAM ovvero quelle statiche (SRAM - acronimo di Static Random Access Memory), sono sempre volatili ma non necessitano di refresh. I banchi di memorie SRAM consentono di mantenere le informazioni per un tempo teoricamente infinito, hanno bassi tempi di lettura e bassi consumi, specialmente in condizioni statiche. La necessità di usare molti componenti per ogni cella di memoria le rende però più costose delle DRAM. Le celle di una SRAM sono costituite da un circuito retroazionato formato da due invertitori logici le cui uscite sono collegate alle due estremità alle linee dei dati tramite due transistor detti porte di trasmissione. Le singole coppie di porte di trasmissione vengono abilitate a seconda della cella su cui deve essere effettuata la lettura o scrittura. Vengono rese disponibili sia il bit memorizzato che la sua negazione per un migliore controllo dei margini di rumore. Sono solitamente usate per le memorie cache, dove elevate velocità e ridotti consumi sono caratteristiche fondamentali.

Le primissime memorie erano a nucleo (core) magnetico: in altri termini erano lente, grosse e costosissime. Un esempio di memoria di questo tipo è visibile in figura ( l'uomo tiene in mano un 'modulo di memoria' da qualche centinaio di byte costituito da piccoli toroidi di materiale ferromagnetico e dai fili che ne alteravano lo stato di magnetizzazione tramite corrente elettrica).



Successivamente le memorie vennero inserite in un chip detto DIP (Dual Inline Package).
 

Primo tipo di memoria DRAM prodotto da Intel nel 1970

Ormai le memorie si trovano generalmente sotto forma di barrette (moduli), cioè delle schede inseribili in connettori disposti sulla motherboard e preposti a questo compito.

FORMATI PER LA MEMORIA RAM

Esistono numerosi tipi di moduli di memoria RAM. 

Le barrette di formato SIMM (Single Inline Memory Module): si stratta di circuiti stampati in cui solo un lato ha dei chip di memoria.


Esistono due tipi di barrette SIMM a secondo del numero di connettori :

•Le barrette SIMM da 30 connettori (le cui dimensioni sono 89x13 mm) sono delle memorie a 8 bits che dotavano le prime generazioni di PC (286, 386).
SIMM - 30 pin

•Le barrette SIMM a 72 connettori (le cui dimensioni sono 108x25 mm) sono delle memorie capaci di gestire 32 bits di dati simultaneamente. Queste memorie dotano dei PC che vanno dal 386DX ai primi Pentium. Su questi ultimi il processore lavora con un bus di dati di una larghezza di 64 bits, per cui era necessario assolutamente dotare questi computer di due moduli SIMM. Non è possibile installare delle barrette di 30 PIN su postazioni a 72 connettori a causa di una sporgenza presente all'interno dell'attacco del connettore (ENCOCHE al centro dei connettori) che ne impedisce l'inserimento.
SIMM - 72 pin

Le barrette di formato DIMM (Dual Inline Memory Module) sono delle memorie a 64 bits, cosa che spiega perché non è necessario accoppiarle. Le barrette DIMM hanno dei chip di memoria da una parte all'altra del circuito stampato e hanno anche 84 connettori da ogni parte, per arrivare così ad un totale di 168 PIN. Oltre alle loro dimensioni più grandi rispetto alle barrette SIMM (130x25 mm) queste barrette hanno un secondo blocco per evitare la confusione.

SDRAM 168 pin  - 5,375x1 inch

Questi moduli vanno inseriti negli appositi slot presenti sulla scheda madre (D).
 

Può essere interessante notare che i connettori DIMM sono stati migliorati per facilitare il loro inserimento grazie a delle leve poste ai due lati del connettore.
Esistono inoltre dei moduli più piccoli, detti SO DIMM (Small Outline DIMM), destinati ai computer portatili.
 

MEMORIE PER PORTATILI

SO DIMM DDR3 - 204 pin (36+66)x2sides - 66,7mm SO DIMM DDR2 - 200 pin (20+80)x2sides - 66,7mm
SO DIMM DDR - (20+80)x2sides - 66,7mm Nelle DDR la rientranza è a 15,35mm mentre nelle DDR2 a 16,25mm - Nelle DDR3 a 24,8mm
SO DIMM SDRAM - 144pin - 2,625x1inch - La rientranza è a 29mm SO DIMM EDO - 72pin

Le barrette in formato RIMM (Rambus Inline Memory Module, dette ancheRD-RAM o DRD-RAM) sono delle memorie a 64 bits sviluppati dalla società Rambus. Le più recenti hanno 184 PIN. Queste barrette hanno due ENCOCHE di rilevamento (blocchi), per evitare ogni rischio di confusione con i moduli precedenti.
Tenendo conto della loro elevata velocità di trasferimento, le barrette RIMM hanno un film termico incaricato di migliorare la dispersione del calore.
 

MEMORIE RAMBUS

Rambus RDRAM - 184 pin - 5,25x1,25 inch
Rambus RDRAM - 232 pin - 5,25x1,37 inch

Come nel caso delle DIMM, esistono dei moduli di dimensioni ridotte, dette SO RIMM (Small Outline RIMM), destinati ai computer portatili.
Le barrette SO RIMM hanno unicamente 160 PIN.
 
Rambus SO RIMM RDRAM - 160 pin - 67.6mm x 33.25mm

TIPOLOGIE DI DRAM

La DRAM (Dynamic RAM, RAM dinamica) è quindi il tipo di memoria più diffuso. Come precedentemente detto si tratta di una memoria i cui transistor sono sistemati in una matrice secondo delle linee e delle colonne. Un transistor, accoppiato ad un condensatore da l'informazione di un bit. 1 byte che comprende 8 bits, una barretta di memoria DRAM da 256 Mb conterrà quindi 256 * 210 * 210 = 256 * 1024 * 1024 = 268 435 456 bytes = 268 435 456 * 8 = 2 147 483 648 bits = 2 147 483 648 transistor. Queste memorie hanno un tempo di accesso non superiore a 90 ns.

Gli accessi in memoria si fanno generalmente su dati disposti in modo consecutivo in RAM. La modalità di accesso a raffica (burst mode) permette di accedere ai tre dati consecutivi al primo senza tempo di latenza supplementare. Con questa modalità a raffica, il tempo di accesso al primo dato è pari al tempo di ciclo più il tempo di latenza, mentre il tempo di accesso agli altri 3 dati è pari solo al tempo di ciclo. I tempi di accesso si annotano sotto la forma X-Y-Y-Y. Ad esempio l'annotazione 5-3-3-3 indica una memoria per cui sono necessari 5 cicli di orologio per accedere al primo dato e poi ai tre seguenti.

Analizziamo ora diverse tipologie di DRAM

DRAM FPM

Per accelerare gli accessi alla DRAM, esiste una tecnica, detta impaginazione che consiste nell'accedere ai dati posti su una stessa colonna modificando unicamente l'indirizzo della linea, cosa che permetta di evitare la ripetizione del numero di colonna tra la lettura di ciascuna delle linee. Si parla allora di DRAM FPM (Fast Page Mode). La FPM permette di ottenere dei tempi di accesso nell'ordine da 70 a 80 nanosecondi per una frequenza di funzionamento che può andare da 25 a 33 Mhz.

DRAM EDO

La DRAM EDO (Extended Data Out, detta anche "hyper-page") è comparsa nel 1995. La tecnica utilizzata con questo tipo di memoria consiste nell'indirizzare la colonna successiva durante la lettura dei dati di una colonna. Questo permette di guadagnare tempo su ogni ciclo. Il tempo di accesso alla memoria EDO va quindi da 50 a 60 nanosecondi circa per una frequenza di funzionamento che va da 33 a 66 Mhz.

Così, la RAM EDO, quando utilizzata in modalità a raffica permette di ottenere dei cicli di forma 5-2-2-2, ossia un risparmio di 4 cicli sull'accesso a 4 dati. Poichè la memoria EDO non accetta frequenze superiori a 66 Mhz, è scomparsa a beneficio della SDRAM.

SDRAM

La SDRAM (Synchronous DRAM, tradotta RAM sincrona), comparsa nel 1997, permette una lettura sincronizzata dei dati con il bus della scheda madre, contrariamente alle memorie EDO e FPM (qualificate come asincrone) aventi un proprio orologio. La SDRAM permette quindi di liberarsi dei tempi di attesa dovuti alla sincronizzazione con la scheda madre. Questa permette di ottenere un ciclo in modalità a raffica in forma 5-1-1-1, cioè un guadagno di 3 cicli rispetto alla RAM EDO. In questo modo la SDRAM è capace di funzionare con una cadenza che arriva fino a 150 Mhz, permettendogli di ottenere dei tempi di accesso di circa 10 ns. Nelle SDRAM l'accesso è sincrono, ovvero governato dal clock del bus.

DR-SDRAM (Rambus DRAM)

La DR-SDRAM (Direct Rambus DRAM o ancora RDRAM) è un tipo di memoria che permette di trasferire i dati su un bus a 16 bit di larghezza ad una cadenza di 800Mhz, cosa che gli conferisce una banda passante di 1,6 Gb/s. Come per la SDRAM, questo tipo di memoria è sincronizzata con l'orologio del bus per migliorare gli scambi di dati. D'altra parte, la memoria RAMBUS è una tecnologia proprietaria, il che significa che ogni azienda che vuole costruire delle barrette di RAM con questa tecnologia deve pagare dei diritti (royalties) alle società RAMBUS e Intel. 
La Direct Rambus DRAM è 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 le DIMM della SDRAM. Intel ha ottenuto la licenza per la tecnologia e 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, fu introdotto il supporto anche per la DDR  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 e usa le memorie XDR DRAM di Rambus (X sta per eXtreme) nella PlayStation 3.

DDR-SDRAM (double data rate)

La DDR-SDRAM (Double Data Rate SDRAM) ha una larghezza di banda maggiore rispetto alla SDRAM poiché trasmette i dati sia sul fronte di salita che sul fronte di discesa del ciclo di clock. Questa tecnica consente di raddoppiare la velocità di trasferimento senza aumentare la frequenza interna del modulo di memoria. Quindi un sistema DDR ha un transfer rate effettivo doppio rispetto a quello di uno SDRAM.

Le DDR si differenziano dalle SDRAM tradizionale per il fatto che consentono il trasferimento dei dati sia sul fronte positivo del clock sia su quello negativo, consentendo così di raddoppiare la banda teorica. Sono ottenute organizzando la memoria in due banchi separati, uno contiene le posizioni pari, a cui si accede sul fronte positivo del clock, e l'altro le posizioni dispari, alle quali si accede sul fronte negativo del clock. Ha quindi una larghezza di banda maggiore rispetto alla SDRAM. Questa tecnica consente di raddoppiare la velocità di trasferimento senza aumentare la frequenza della memoria. Quindi un sistema DDR ha un clock effettivo ad esempio di 200MHz se comparato con un equivalente SDRAM.

Core frequency=frequenza di lavoro del bus interno alla ram

Clock freq = frequenza di lavoro del bus esterno (FSB)

Data Freq=Transfer rate sul bus dati

Il buffer di I/O lavora alla stessa velocità del bus esterno

Poiché i dati sono trasferiti 8 byte per volta (il bus è sempre a 64 bit) una RAM DDR dà una velocità di trasferimento VT di:

VT = BM · 2 · 8
 

dove BM è la velocità di clock del bus di memoria, 2 è il numero di invii per ciclo di clock, 8 è il numero di byte trasferiti ad ogni invio. Quindi con una frequenza di clock di 100 MHz, una DDR SDRAM dà una velocità massima di trasferimento di quasi 1526 MB/s.

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 raddoppia la velocità della SDRAM. Con una frequenza di clock di 100MHz DDR II trasferisce i dati ad ogni fronte di salita e di discesa, ottenendo così una velocità di trasferimento di 200MHz. 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 una memoria 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.

Core frequency=frequenza di lavoro del bus interno alla ram

Clock freq = frequenza di lavoro del bus esterno (FSB)

Data Freq=Transfer rate sul bus dati

Il buffer di I/O lavora alla stessa velocità del bus esterno ma doppia rispetto a quella del bus  interno

Lo standard DDR è stato oramai sostituito con gli standard DDR-II e DDR-III, che adottano alcune modifiche per permettere frequenze di clock del buffer I/O superiori, ma operano con lo stesso principio del Double Data Rate. Per il 2012 è inoltre previsto il debutto dei primi esemplari dello standard DDR4.

DDR3 SDRAM - 240 pin - 5,25x1,18 inch
DDR2 SDRAM - 240 pin - 5,25x1,18 inch
DDR SDRAM - 184 pin - 5,375x1 inch Confronto tra le diverse tipologie di DDR

Riporto qui le tabelle che identificano le sigle con cui vengono venduti i banchi di memoria DDR. Si noti che la sigla utilizzata è del tipo PCv-XXXX dove v indica la versione della DDR mentre XXXX corrisponde alla  capacità di banda passante. Ad esempio PC2-3200 indica una DDR2 che ha una banda passante di 3,2 Gb/s

DDR I

Velocità (MHz) Sigla
200 PC1600
266 PC2100
333 PC2700
400 PC3200
433 PC3500
466 PC3700
500 PC4000
533 PC4300
550 PC4400
566 PC4600
600 PC4800

Nota: in effetti le memorie di tipo DDR I sono state commercializzate fino alla frequenza di 400MHz. Non c'è alcuna differenza di architettura tra le stesse DDR SDRAM con diverse velocità di clock: ad esempio tra una PC-1600 (progettata per una frequenza di 200 MHz) e una PC2100 (progettata per funzionare a 266MHz). La sigla indica semplicemente la velocità a cui quel chip è garantito come funzionante. Quindi una DDR SDRAM può essere fatta funzionare a velocità inferiori rispetto a quella per cui è stata progettata (underclocking) o a velocità superiori (overclocking). Da notare che l'overclocking dovrebbe essere fatto solo con memorie di alta qualità e da chi sa cosa sta facendo.

DDR II

Velocità (MHz) Sigla
400 PC2-3200
533 PC2-4200
666 PC2-5300
800 PC2-6400
1066 PC2-8500

DDR III

Velocità (MHz) Sigla
800 PC3-6400
1066 PC3-8500
1333 PC3-10600
800 PC3-6400
1600 PC3-12600

DDR III – Formati non standard

Velocità (MHz) Sigla
1800 PC3-14400
1866 PC3-14900
2000 PC3-16000
2400 PC3-19200

Estendiamo ora l'elenco delle UM per la memoria:

SINCRONIZZAZIONE (timing)

Non è raro vedere delle annotazioni tipo 3-2-2-2 o 2-3-3-2 per descrivere il parametraggio della memoria viva. Questa serie di quattro cifre descrive la sincronizzazione della memoria (in inglese timing), cioè la successione di cicli d'orologio necessari per accedere ad un dato immagazzinato nella memoria ram. Queste quattro cifre corrispondono generalmente, nell'ordine, ai seguenti valori :

CAS delay o CAS latency (CAS significa Column Address Strobe): si tratta del numero di cicli di orologio che passano fra l'invio del comando di lettura e l'arrivo effettivo del dato. Detto in un altro modo, è il tempo di accesso ad una colonna (misurato in numero di cicli).
RAS Precharge Time (sigla tRP, RAS significa Row Address Strobe): si tratta del numero di cicli di orologio tra due istruzioni RAS, cioè tra due accessi ad una linea.
RAS to CAS delay (siglato a volte tRCD): si tratta del numero di cicli di orologio corrispondenti al tempo di accesso da una linea a una colonna.
RAS active time (siglato a volte tRAS): si tratta del numero di cicli d'orologio corrispondenti al tempo di accesso a una linea.

Le schede di memoria sono dotate di un dispositivo detto SPD (Serial Presence Detect), che permette al BIOS di conoscere i valori nominali del settaggio definito dal produttore. Si tratta di una EEPROM (PROM cancellabile) i cui dati saranno caricati dal BIOS se l'utente sceglierà il settaggio "auto"

I singoli valori possono essere modificabili dal BIOS e il risultato finale sarà un overclock delle memorie RAM.


OVERCLOCK

Solitamente le frequenze più comuni a cui lavorano le schede RAM sono 400, 667, 800, 1066 MHz. L'overclock delle RAM porta la frequenza di lavoro dei singoli moduli a frequenze inusuali come ad esempio 900 o 1150 MHz e potrebbe causare instabilità del sistema.

DUAL CHANNEL

La modalità Dual Channel determina un incremento di prestazioni a patto che si monti una coppia di banchi di memoria RAM caratterizzati dalla stessa capacità, stessa frequenza di lavoro e addirittura la stessa marca. Per sapere come inserirli negli slot occorre consultare il manuale.
La suddetta tecnologia tende a raddoppiare il flusso dei dati (in pratica viene raddoppiata la Banda) verso il North Bridge (Chip di intercomunicazione tra Ram e Cpu, il nome gli è stato associato per il semplice motivo che è sito nella zona alta delle Main Board a differenza del Southbridge che si trova nella zona bassa delle Main Board).

AMPLIAMENTO DELLA RAM

I programmi odierni, sempre più complessi, richiedono sempre più memoria. 

Ampliare la memoria RAM è la soluzione più economica e più pratica per ottenere un aumento di prestazioni ma spesso non è così ovvia, soprattutto nella scelta dei moduli da installare e delle loro caratteristiche tecniche.

Espandere la RAM generalmente non è una forte spesa. Aggiornando i moduli RAM si ottengono miglioramenti di prestazioni significativi. La quantità massima di memoria RAM ammessa dipende dal BIOS e dalla scheda madre.

L'operazione di aggiornamento della memoria RAM è semplicissima: basta sfilare i moduli RAM vecchi (o quelli che si vogliono cambiare), e inserire i nuovi. Durante quest'ultima fase, bisogna fare attenzione alle rientranze presenti sui moduli, che si devono incastrare perfettamente negli slot della scheda madre.

Una volta installato i nuovi banchi di memoria RAM, bisogna riavviare il computer e vedere se nella fase di POST la capacità totale della RAM è aumentata rispetto a prima.

Spesso l'espansione della RAM costituisce la migliore forma di aggiornamento per aumentare le prestazioni di un PC troppo lento.

Step per aggiornare la ram

Aggiungere i moduli di memoria non comporta particolari problemi, e con un po' di attenzione si può effettuare nel giro di 10 minuti. Ricordiamo di seguire le istruzioni del manuale della scheda madre per il tipo e la configurazione dei banchi. Poi procedere come segue:

Posso accoppiare due memorie dello stesso formato ma a frequenza differente?

Per quanto riguarda l’accoppiamento tra 2 memorie di stessa tipologia ma a frequenza differente questo può avvenire senza pericoli, esempio: vogliamo montare insieme un banco di memoria DDR2 con 1gB PC6400(800mHz) e un banco di memoria DDR2 1gB PC5300(667mHz) , è tranquillamente possibile farlo senza rischi. Si avranno (in questo caso preso come esempio) 2gB complessivi, che lavoreranno però entrambi alla frequenza di 667mHz, ciò avviene perché il sistema deve adattarsi alla frequenza inferiore dell’accoppiamento. Motivo: qualsiasi memoria è concepita per essere retroattiva il che facilita proprio questi tipi di accoppiamenti con clock differente. Ovviamente tale discorso vale anche per le DDR I e via dicendo, anche per le SO-Dimm DDR I e DDR II (ovvero le memorie destinate ai notebook) vale la stessa regola.

C’è un’unico appunto da fare riguardo al montaggio di memorie con clock differente: effettuando questo tipo di miscelazione anche se alla fine si avrà una frequenza unica, non sarà possibile utilizzare la tecnica Dual Channel. In pratica per far lavorare le memorie in modalità Dual Channel è necessario che i due banchi di memoria siano assolutamente identici in tutto e per tutto (capacità, clock, tempi di latenza e marca).

LA MEMORIA CACHE

La cache è una particolare memoria che contiene i dati utilizzati più frequentemente dal processore, viene utilizzata con lo scopo di velocizzare le operazioni e i calcoli della CPU. E' organizzata in due distinti livelli: la memoria integrata sul chip di silicio che ospita il processore stesso è detta cache di primo livello (L1); la memoria incorporata sulla scheda madre è detta cache esterna o di secondo livello (L2 Cache). La cache L1 essendo integrata nel microprocessore è accessibile in modo quasi istantaneo e risulta quindi la più veloce. La cache L2 (anch'essa piuttosto costosa) risulta 4 o 5 volte più lenta della cache L1 mentre la RAM lo è addirittura 20 o 30 volte.
Poiché gli attuali processori sono molto veloci, la relativa lentezza delle RAM imporrebbe alla CPU di restare inattiva per più cicli di clock, pregiudicando le prestazioni del sistema. Maggiore è la dimensione della memoria cache e migliori saranno le prestazioni della CPU.


TEMPO DI LATENZA

Il tempo di latenza, misura il numero di cicli necessari per leggere un bit di informazione. Una memoria che lavora a 800MHz dovrebbe restituire un bit in un tempo di 1/800 = 0,00000000125 secondi (ovvero 125 nanosecondi=10-9). In realtà per iniziare il ciclo di trasferimento devono trascorre una manciata di nanosecondi (5/7 ns): il tempo di latenza appunto. La ram quindi riceve il segnale di inizio trasferimento, passano questi nanosecondi (tempo di latenza) e poi inizia il trasferimento. (per cui ci si rende conto che al tempo reale di trasferimento di una memoria concorrono anche questi “tempi morti”). Per diminuire i tempi di latenza (che si verificano proprio per le caratteristiche costruttive/tecnologiche dei moduli di memoria), alcuni produttori utilizzano tecniche chiamate Burst Mode (una sorta di invio continuo di dati senza aspettare il segnale di conferma, questa tecnica non viene utilizzata soltanto per le memorie, ma in genere per tutti i dispositivi che trasferiscono informazioni). In alcuni casi accade che una scheda madre non riconosca un banco di memoria aggiuntivo perché ha un tempo di latenza differente dal banco di memoria già montato, in questi casi si smanetta nella BIOS impostando i tempi di latenza a mano, mettendoli in pratica sul valore uguale al tempo di latenza più alto tra i due banchi di memoria

BUS

Il BUS semplificato visto nella macchina di Von Neumann nella realtà si traduce in una serie di bus specializzati il cui obbiettivo è quello di mettere in comunicazione le varie componenti installate sulla scheda madre o in comunicazione con essa.

1) IL CHIPSET

Il chipset è un gruppo di chip di controllo che governa tali comunicazioni. Solitamente, su una motherboard il chipset è composto da due chip denominati Northbridge (ponte-nord chiamato anche Memory Countroller Hub o MCH) e Southbridge (ponte-sud chiamato anche I/O Controller Hub o ICH).
 
Le comunicazioni tra la CPU e la memoria RAM passano attraverso un bus dati dedicato, denominato FSB (Front Side Bus), detto anche bus di sistema. Su ogni scheda madre esiste un chip specializzato, denominato clock generator, adibito a generare la frequenza del bus di sistema (FSB). Il chip Northbridge, per la sua funzione di gestore delle comunicazioni tra processore e memoria,  è anche chiamato memory-controller. Nel caso di memorie DDR2 e DDR3 la velocità del memory bus, detta Bus-Speed, è pari rispettivamente al doppio e al quadruplo a quella del FSB.
Il Northbridge governa anche il trasferimento dei dati sul bus specializzato destinato alla comunicazioni con la scheda video

Il Northbridge è altresì collegato attraverso un bus specializzato ad alta velocità (Intel utilizza la Direct Media Interface o DMI, SiS la MuTIOL e VIA la Ultra V-Link) al più piccolo Southbridge.
 
Al Southbridge sono delegate le funzioni di gestore delle comunicazioni verso:
- gli slot di espansione PCI
- le unità disco ATA/Atapi/SATA,
- le periferiche esterne attraverso le porte di comunicazione USB, Parallela, Seriale, Firewire… che risultano eventualmente integrate sulla scheda madre.

Il south bridge è sostanzialmente un controller DMA (Direct Memory Access) che permette alle periferiche connesse al southbridge di accedere direttamente alla memoria principale senza tirare in ballo la CPU
Il DMA permette ad alcuni sottosistemi hardware (periferiche in genere) di accedere direttamente alla memoria di sistema (RAM) senza chiamare in causa la CPU per ogni byte trasferito tramite il meccanismo usuale dell'interrupt e la successiva richiesta di operazione desiderata, ma generando un singolo interrupt per blocco trasferito.
Il DMA, tramite il rispettivo elemento hardware, ha quindi il compito di gestire i dati passanti nel BUS permettendo a periferiche che lavorano a velocità diverse di comunicare senza assoggettare la CPU a un enorme carico di interrupt che ne interromperebbero continuamente il rispettivo ciclo di elaborazione.
Il DMA è usato da molti sistemi hardware come controller di unità a disco, schede grafiche e schede audio.

.

2) I BUS DI ESPANSIONE

BUS PCI

La scheda madre prevede un certo numero di slot di espansione di colore bianco di tipo PCI (Peripheral Component Interconnect) sui quali posso installare dell'hardware aggiuntivo come schede audio, modem interni, schede per il video-editing, e cosi via. Questo bus a 32 bit, introdotto da Intel nel 1990, opera a 33 MHz e può trasmettere fino a 133 MB/sec. Nei primi sistemi Pentium sullo slot PCI andava installata anche la scheda video, ma con l'evoluzione dei giochi in 3D si vide presto che l'hardware video mandava in saturazione il PCI. Il trasferimento dei dati nel Bus PCI è di tipo parallelo

BUS AGP

Fu cosi introdotto il bus AGP (Accelerated Graphic Port), uno slot di colore marrone che troviamo ancora su un discreto numero di schede madri. L'AGP nella versione 1x, operando a 66 MHz, era capace di trasmettere 266 MB/sec. La successiva versione 2.0, grazie a tecniche DDR e QDR applicate al bus, ha consentito di raggiungere i 1.066 MB/sec, mentre nella versione 3.0 abbiamo l'attuale AGP 8x che può trasmettere dati fino a 2.133 MB/sec. Gli slot AGP 4x e 8x operano a 1.5 Volt, contro i 3.3 Volt delle vecchie versioni 1x e 2x, e i pettini di innesto delle relative schede video sono pertanto meccanicamente incompatibili.



BUS PCI-EXPRESS

Verso la fine del 2004 Intel ha voluto introdurre il PCI-Express. Questo nuovo tipo di bus, che ha soppiantato i bus di precedente generazione, è basato su un trasferimento di dati di tipo seriale punto-punto ad alta velocità. Un singolo canale PCI-Express 1x è capace di una bandwidth di 266 MB/sec, mentre per la scheda video è stato realizzato il connettore specifico PCI-Express 16x, in grado di trasferire dati a 4 GB/sec, il doppio di AGP. Lo slot PCI-Express 16x è in grado di fornire fino a 75 Watt di alimentazione alle recenti schede video 3D, contro i 40 Watt di AGP. Usando questi bus, la GPU (processore grafico) della scheda video può accedere direttamente a un'area riservata della memoria RAM per lo stoccaggio delle Texture (Texture in computer grafica è  un'immagine di qualsiasi tipo utilizzata per rivestire la superficie di un oggetto virtuale).

3) I BUS ATA

BUS P-ATA

ll bus EIDE (Enhanced IDE) era l'interfaccia standard di tipo parallelo per il collegamento tra il computer e le memorie di massa. Fisicamente sulla motherboard si presenta come una coppia di connettori (a 40 pin) a cui si deve collegare un apposito
cavo a piattina. Le periferiche che usano il bus EIDE comunicano ad una determinata velocità che viene solitamente indicata tramite delle sigle che identificano il tipo di tecnologia usato e la velocità. Queste sigle sono identificate con ATA (Advanced Technology Attachment) seguito dal trattino ed  un numero che indica la quantità massima in Mbps (megabit per secondo) di trasferimento dati. In realtà il nome ufficiale di EIDE è sempre stato "ATA", ma per esigenze di marketing è stato prima denominato (IDE - Integrated Drive Electronics) e nella successiva versione Enhanced IDE (EIDE).

Inizialmente l'interfaccia EIDE funzionava soltanto per i dischi fissi. Solo in un secondo momento è stata realizzata un'estensione allo standard  per permettere il funzionamento con una varietà di dispositivi più ampia. In linea di massima, tali dispositivi comprendono: unità removibili, lettori CD-ROM, unità a nastro magnetico (ormai obsolete utilizzate per il backup), etc .... Queste estensioni prendono il nome Advanced Technology Attachment Packet Interface (ATAPI).

La versione ATA-133 è nota anche con il nome di UltraDMA o Parallel ATA (PATA). Gli standard PATA permettono collegamenti con lunghezze di cavo comprese tra 45 e 90 cm, quindi l'utilizzo prevalente per tale tecnologia è per memorie di massa all'interno dei personal computer. Tale soluzione rappresenta nelle implementazioni dei personal computer esistenti fino al 2004 l'interfaccia più comune e la meno costosa.

PATA raggiunge un transfert-rate di 133 MB/sec teorici (104 MB/sec effettivi). Ogni connettore Parallel-ATA può collegare al massimo due unità disco. Se sullo stesso connettore metto due dischi devo definire una configurazione Master/Slave (vedere + avanti) . L'unità master generalmente viene elencata prima di quella slave da parte del sistema operativo. L'unità master gestisce l'accesso ai dispositivi collegati su quel canale. Gran parte degli HD Ide posseggono un'ulteriore possibilità di configurazione alternativa a quella Master/Slave denominata cable select. In questa modalità, l'unità si configura automaticamente come master o come slave.
 
connettore IDE sulla Motherboard Connettore IDE e Molex (maschi) sul retro dell'harddisk
Cavo piatto EIDE connettore di alimentazione MOLEX

Ogni canale, che può collegare due periferiche diverse, ha bisogno di conoscere quale è master e quale è slave, vale a dire quale delle due ha la precedenza sull'altra.

Collegare una periferica EIDE

Per installare una periferica EIDE (esempio un Hard Disk)  occorre procedere in questo modo:
a) sulla periferica:
- sul retro di ogni periferica c'è una presa (molex) di alimentazione da collegare con l'apposito cavo uscente dall'alimentatore
- collegare un cavo EIDE al corrispondente connettore (maschio) presente sulla periferica.
- occorre settare i jumper per decidere se impostare la periferica come master o slave. Generalmente sull'HD abbiamo delle sigle che ci illustrano come effettuare tale configurazione.

Le periferiche EIDE, usano i Jumpers invece per settare una certa periferica Master (con precedenza), Slave (Subordinata al Master), o Cable select (Il computer decide all'avvio come settare la periferica). Il settaggio dei jumper è fondamentale per il funzionamento delle periferiche, poiché determina le impostazioni del dispositivo. Un settaggio sbagliato impedisce l'avvio del computer che, quando deve riconoscere le varie periferiche collegate al bus EIDE, si blocca.
Il settaggio sulla periferica interessata del jumper è un'operazione molto semplice:
- individuare sul manuale della periferica la posizione del jumper, o leggerla direttamente sulla periferica dove è generalmente segnalata con una sigla (MA per master, SL per slave, CS per cable select)
- Inserire il jumper a cavallo dei due piedini interessati per effettuare il settaggio (vedi figura).
- Come si può vedere il jumper (in blu) è a cavallo dei due piedini sotto MASTER, quindi la periferica è settata come master.

b) sulla scheda madre:
- localizzare la coppia di connettori identici a quello che si trova su ogni periferica EIDE. Sono spesso di colore diverso, e generalmente quello blu indica il primario; per non sbagliarsi, comunque vicino ad ogni connettore c'è scritto "EIDE" o "IDE" seguito da 1 o 2 per distinguere il primario dal secondario. Collegare il connettore con un cavo piatto con 2 o 3 connettori(femmina) da 40 contatti.
N.B. Il connettore ha un senso di connessione, quindi girando di 180 gradi lo spinotto, la periferica non funziona, anche se il connettore può attaccarsi lo stesso. Infatti non tutti i cavi hanno nella parte centrale superiore un rilievo, in modo da incastrarsi nella scanalatura del connettore maschio sulla periferica o sulla scheda madre, ma hanno sicuramente delle scanalature su uno dei  lati (quello lungo) del connettore. Bisogna considerare queste scanalature come se, sullo stesso lato, ci fosse il segmento centrale di incastro.

Un jumper è simile ad un interruttore, cioè serve ad aprire o chiudere circuiti. È un ponticello di rame che va inserito a cavallo di due piedini per collegarli insieme. È usato per effettuare dei settaggi di vario tipo su molti dispositivi: sulla scheda madre servono per vari scopi, come abilitare dispositivi (porte logiche, periferiche), o effettuare settaggi di vario tipo, come il clock del processore, o per resettare il BIOS;

BUS SATA

Per supplire alle maggiori esigenze in termini di transfer-rate dei dati dei moderni hard disk da 7.200 e 10.000 rpm (rotazioni per minuto), verso i primi del 2004 sono state introdotte le porte Serial-ATA. Si tratta di un canale di comunicazione punto-punto seriale ad alta velocità capace nella prima versione di 1,5 Gbit/sec (150Mb/s), che diventano 3 Gbit/sec (300Mb/s) nel Serial-ATA II (anno 2005). La 3ª generazione arriva a 6 Gbit/s (anno 2009); tutte e tre le versioni risultano compatibili tra di loro. Con Serial-ATA ogni hard disk ha il suo specifico cavo dati di connessione, sparendo quindi il concetto di Master/Slave. Il cavo, non più realizzato in forma di piattina, è costituito da 7 contatti per la connessione dati e trasmette i dati in formato seriale. Il Serial ATA riduce anche le tensioni di riferimento per i segnali dai 5 volt utilizzati nel PATA a 0,5 volt. Questo riduce l'assorbimento di potenza e le interferenze elettriche consentendo ai cavi SATA dimensioni più lunghe.
 
Connettori Dati ed Alimentazione SATA Connettori SATA sull'HARD DISK
Cavo SATA Connettore Dati SATA Attacchi SATA sulla Motherboard

Il Serial ATA presenta tre principali vantaggi:
- maggiore velocità,
- cavi meno ingombranti
- possibilità di hot swap (rimozione della periferica a caldo).

Gli hard disk e i masterizzatori Serial ATA prevedono un tipo di connettore di alimentazione diverso dal connettore Molex presente ormai da molti anni nei dispositivi non SATA. Simile al cavo di trasmissione dei dati, risulta più largo ed è costituito da 15 conduttori, che trasportano le tre tensioni di alimentazione: 3,3 V (normalmente non usata), 5 V e 12 V.

Durante la transizione tra l'interfaccia IDE ed il Serial ATA sono previsti diversi convertitori per rendere compatibili i due standard. Per quanto riguarda l'alimentazione, ai cavi che escono dall'alimentatore e che terminano con i connettori Molex utilizzati dai dispositivi IDE vengono aggiunti dei cavi di adattamento dotati di connettore Molex maschio da un lato e connettore Serial ATA maschio all'altra estremità. Per quanto riguarda le linee dati non esiste una soluzione altrettanto semplice in quando i dati paralleli dell'interfaccia IDE dovrebbero essere serializzati per essere inviati ad un dispositivo SATA. La soluzione migliore consiste nell'aggiungere alla scheda madre del computer non dotato nativamente di interfaccia SATA un controller SATA su scheda di espansione PCI.

Esiste una particolare versione di SATA chiamata eSATA (abbreviazione dell'inglese "External Serial Advanced Technology Attachment"), che permette di connettere al PC dispositivi esterni come HD esterni. Risulta peraltro più veloce ed efficiente rispetto all'USB e al Firewire e può arrivare ad una velocità di 3 Gigabit per secondo (Gb/s). Nell'eSATA il profilo interno del connettore non è a L ma piatto (nella figura un connettore SATA e eSATA a confronto).

PERIFERICHE INTEGRATE

Per esigenze economiche alcune schede madri possono integrare, oltre a un chip audio, anche un chip video. Quest'ultimo, dotato di funzioni 3D di base, è spesso integrato nella microcircuiteria del Chipset, al fine di realizzare un PC pensato per l'uso in ufficio dove la potenza grafica 3D risulta non rilevante. Sono spesso integrati anche chip ethernet LAN da 100 e 1.000 MBit, mentre nelle motherboard più recenti troviamo talvolta chip per la gestione Wireless 802.11G, nonché chip per la gestione di porte IEEE1394 Firewire.

  
Connettore per l'interfaccia audio digitale connettore per Firewire scheda ethernet on board scheda video integrata